  /* sp.css： max-width: 767px */

  /* #region nav */

  /* ヘッダー（SP用） */
  header {
      height: 55px;
      background: var(--white);
      position: fixed;
      top: 0;
      right: 0;
      width: 100%;
  }

  .header_logo {
      position: absolute;
      top: 50%;
      transform: translate(0, -50%);
      left: 3%;
      width: 160px;
      padding-top: 15px;
  }

.header_logo img{
	width:50%
}

  .header_logo {
      position: absolute;
      top: 50%;
      transform: translate(0, -50%);
      left: 3%;
      width: 160px;

      /* ▼ 追加：SPでもフェードするようにする */
      opacity: 1;
      visibility: visible;
      transition: opacity .8s ease, visibility .8s ease;
  }

  /* ▼ 追加：nav-faded 時にロゴだけ消える */
  body.nav-faded .header_logo {
      opacity: 0;
      visibility: hidden;
  }

  /* ドロワーナビ本体 */
  .global-nav {
      position: fixed;
      right: -500px;
      top: 0;
      width: 90%;
      max-width: 500px;
      height: 100vh;
      background-color: var(--white);
      transition: all .6s;
      z-index: 2000;
      overflow-y: auto;
  }

  .global-nav__list {
      padding: 5em .5em 2em;
      list-style: none;
      overflow-y: auto;
  }

  .global-nav__item {
      width: 100%;
      padding: 1em;
      border-bottom: 1px solid #ccc;
      font-size: 1em;
  }

  .global-nav__item>a {
      text-decoration: none;
      color: white;
      letter-spacing: 1px;
      line-height: 1.3em;
  }

  .global-nav__item a:hover {
      opacity: .8;
  }

  /* ハンバーガー */
  .hamburger {
      cursor: pointer;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: center;
      position: absolute;
      top: 50%;
      right: 0;
      width: 55px;
      height: 100%;
      transform: translate(0, -50%);
      background: white;
  }

  .hamburger__line {
      position: absolute;
      left: 50%;
      transform: translate(-50%, 0);
      width: 25px;
      height: 1px;
      background-color: var(--color-darkblue);
      transition: all .6s;
  }

  .hamburger__line--1 {
      top: calc(50% - 10px);
  }

  .hamburger__line--2 {
      top: 50%;
  }

  .hamburger__line--3 {
      top: calc(50% + 10px);
  }

  /* 背景の黒幕 */
  .black-bg {
      position: fixed;
      left: 0;
      top: 0;
      width: 100%;
      height: 100vh;
      z-index: 100;
      background-color: var(--color-blue);
      opacity: 0;
      visibility: hidden;
      transition: all .6s;
      cursor: pointer;
  }

  /* nav-open */
  .nav-open .global-nav {
      right: 0;
  }

  .nav-open .black-bg {
      opacity: .8;
      visibility: visible;
  }

  .nav-open .hamburger {
      background: none;
      box-shadow: none;
      z-index: 9998;
      right: .5em;
  }

  .nav-open .hamburger__line {
      top: 50%;
      background: var(--color-black);
      z-index: 9999;
  }

  .nav-open .hamburger__line--1 {
      transform: rotate(-45deg);
  }

  .nav-open .hamburger__line--2 {
      width: 0;
      left: 50%;
  }

  .nav-open .hamburger__line--3 {
      transform: rotate(45deg);
  }

  /* #endregion nav */

  /* #region title */

  .title1 {
      margin-bottom: 30px;
      margin-top: 10px;

      h2 {
          font-size: 24px;
          line-height: 1.4em;
      }

      .title1__supplement {
          margin-bottom: .7em;
      }
  }

  .title2 {
      margin: 0 auto 10px 20px;

      h2 {
          font-size: 50px;
          line-height: 1;
      }
  }

  .title2__subhead {
      font-size: var(--text-small);
      line-height: 1.1;
  }


  /* #endregion title */

  /* #region header */

  .top-header {
      position: relative;
      isolation: isolate;
      z-index: 0;

      width: 100%;
      margin: 0;
      padding: 70px 0 80px;
      overflow: hidden;

      background-image: url("../img/bg/mainbg-b.png");
      background-repeat: no-repeat;
      background-size: auto 105%;
      background-position: center;
  }

  .top-header::after {
      content: "";
      position: absolute;
      inset: 0;
      background: url("../img/bg/wave.png") no-repeat center / cover;
      opacity: 0.5;
      z-index: 2;
      pointer-events: none;
  }

 .top-header.pageTy02{
    background-image: url("../img/bg/mainbg02.png");
 }

 .top-header.pageTy03{
    background-image: url("../img/bg/mainbg03.png");
 }

 .top-header.pageTy04{
    background-image: url("../img/bg/mainbg04.png");
 }

 .top-header.pageTy05{
    background-image: url("../img/bg/mainbg05.png");
 }

 .top-header.pageTy06{
    background-image: url("../img/bg/mainbg06.png");
 }
  .header__inner {
      position: relative;
      z-index: 3;

      display: flex;
      flex-direction: column;
      justify-content: space-around;
      align-items: center;

      height: 100%;
  }

  .header__achievements {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      gap: .5rem;

      padding: 0;
      flex-wrap: nowrap;
      z-index: 3;
  }

  .header__achievements img {
      display: block;
      width: auto;
      height: clamp(42px, 8vw, 88px);
  }

  .header__title {
      position: relative;
      z-index: 3;
      padding: 1rem 0;
  }

  .header__title p {
      margin-bottom: .5em;
      white-space: nowrap;
  }

  .header__title h1 {
      display: inline-block;
      width: 100%;

      font-size: clamp(30px, 7vw, 64px);
      font-weight: 900;
      line-height: 1.2;
      color: #fff;
      text-align: center;
  }

  .header__body {
      font-weight: 900;
      color: #fff;
      font-size: var(--text-small);
      text-shadow: 0 0 10px var(--color-darkblue);
  }

  .header__body-big {
      font-size: 18px;
  }

  .header__mainimg {
      display: none;
  }

  .header__button {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 30px;
  }

  /* #endregion header */

  /* #region top-choice */

  .top-choice {
      z-index: 1;

      width: 100%;
      margin-top: -41px;
      padding: 40px 0 50px;

      background-position: center;
  }

  .top-choice::after {
      content: "";
      position: absolute;
      inset: 0;

      background-image: url("../img/bg/choice-filter.png");
      background-repeat: no-repeat;
      background-position: bottom center;
      background-size: auto 80%;
      bottom: -15px;

      border-radius: inherit;
      z-index: 2;
  }

  .choice__achievements {
      position: relative;
      z-index: 3;

      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;

      width: 100%;
      padding: 10px 0;
      gap: 1.2rem .8rem;
  }

  .choice__achievements img {
      height: 75px;
  }

  /* #endregion top-choice */

  /* #region top-voice */

  .top-voice {
      z-index: 0;

      margin: 0;
      margin-top: -40px;
      padding: 80px 0 90px;
  }

  .voice__inner {
      width: 95%;
      margin: 0 auto;
  }

  .voice__card {
      display: grid;
      grid-template-columns: 1fr;
      gap: 2em;
      align-items: center;
      justify-content: center;

      padding: 20px;
      margin-bottom: 40px;
  }

  .voice__card h3 {
      font-size: 24px;
      font-weight: 900;
      margin-bottom: 1em;
      color: var(--color-blue);
  }

  .voice__card-img {
      width: 100%;
      margin: 0 auto;
      overflow: hidden;
      text-align: center;
  }

  .voice__card-img img {
      display: block;
      width: 100%;
      height: auto;
      margin: 0 auto;
  }

  .voice__card-orgname,
  .voice__card-text {
      font-size: var(--text-small);
      color: var(--color-blueblack);
      line-height: 2;
  }

  /* #endregion top-voice */

  /* #region top-entrust */

  .top-entrust {
      z-index: 1;

      margin: 0;
      margin-top: -80px;
      padding: 50px 0 40px;
  }

  .top-entrust::before {
      content: "";
      position: absolute;
      top: -180px;
      right: -100px;

      width: 700px;
      aspect-ratio: 1;

      background-image: url(../img/bg/figure-1.png);
      background-repeat: no-repeat;
      background-size: 130%;
      background-position: center;
      opacity: 0.9;
      z-index: 2;
  }

  .top-entrust::after {
      content: "";
      position: absolute;
      bottom: 10%;
      left: -180px;

      width: 400px;
      aspect-ratio: 1;

      background-image: url(../img/bg/figure-2.png);
      background-repeat: no-repeat;
      background-size: auto;
      background-position: center;
      z-index: 2;
  }

  .entrust__flow-item {
      position: relative;
      z-index: 3;

      background-color: transparent;
      background-image: url(../img/bg/bg-blue-grd.png);
      background-repeat: no-repeat;
      background-size: 200% 300%;
      overflow: hidden;

      padding: 20px;
      margin-bottom: 2em;
  }

  .entrust__flow-item:nth-of-type(1) {
      background-position: center 100%;
  }

  .entrust__flow-item:nth-of-type(2) {
      background-position: center 20%;
  }

  .entrust__flow-item:nth-of-type(3) {
      background-position: center 0%;
  }

  :root {
      --flow-item-title-font: 24px;
  }

  .entrust__flow-item-inner {
      margin: 0 auto;
  }

  .entrust__flow-item-title {
      display: flex;
      color: #fff;
      margin-bottom: 15px;
  }

  .flow-item-title-num {
      font-size: 26px;
      line-height: 1;
      font-family: var(--font-num-oswald);
  }

  .flow-item-title-text {
      padding: 0 .2em;
      font-size: var(--flow-item-title-font);
      line-height: 1.8;
      background-color: var(--color-darkblue);
  }

  .entrust__flow-card-wrap {
      display: flex;
      flex-direction: column;
      gap: 2em;
      margin: 0;
  }

  .entrust__flow-card {
      display: flex;
      flex-direction: column;
      gap: 1em;

      min-width: 0;
      background-color: transparent;
  }

  .entrust__flow-card-img {
      border-radius: 16px;
      overflow: hidden;
  }

  .entrust__flow-card-img img {
      display: block;
      width: 100%;
      height: auto;
  }


  .entrust__flow-card-body {
      color: #fff;
  }

  .entrust__flow-card-body h4 {
      margin-bottom: .7em;
      font-size: var(--text-medium);
  }

  .entrust__flow-card-body p {
      font-size: var(--text-small);
  }

  
  .entrust__flow-card-body h4 span {
      position: relative;
      display: inline-block;

      margin-right: 1.2em;
      padding-left: .5em;

      font-size: var(--text-medium);
      color: var(--color-darkblue);
      z-index: 0;
  }

  .entrust__flow-card-body h4 span::before {
      content: "";
      position: absolute;
      left: 0;
      top: 50%;

      width: 30px;
      height: 30px;
      transform: translateY(-50%);
      border-radius: 50%;
      background-color: var(--color-skyblue);

      z-index: -1;
  }

  /* #endregion top-entrust */

  /* #region top-reason */

  .top-reason {
      z-index: 0;
      margin: 0;
      margin-top: -40px;
      padding: 70px 0 90px;
  }

  .reason__table {
      --table-cell-height: auto;

      font-weight: 900;
      display: block;
      width: fit-content;
      height: 500px;
      margin: 60px auto 40px;

      overflow-x: auto;
      -webkit-overflow-scrolling: touch;

      font-size: 11px;
      border-collapse: collapse;
  }

  .reason__table th,
  .reason__table td {
      border: 1px solid #fff;
  }

  .reason__table thead {
      color: #fff;
      font-size: var(--text-small);
      line-height: 1;
  }

  .reason__table thead th {
      padding: 8px 4px;
      font-size: 11px;
      white-space: nowrap;
  }

  .reason__table .table__text--cr-head {
      background-color: #06187C;
      border-radius: 16px 16px 0 0;
      width: 29%;
      height: var(--table-cell-height);
  }

  /* Fleet ヘッダ */
  .reason__table .table__text--freet-head {
      position: relative;
      background: none;
      color: #fff;
      padding: 12px 8px;
      font-size: 14px;
      z-index: 1;
  }

  /* グラデ背景 */
  .reason__table .table__text--freet-head::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      background: linear-gradient(90deg, #0346D3, #0B98FF);
      border-radius: 16px 16px 0 0;
      z-index: -1;
  }

  /* A社 / B社 ヘッダ */
  .reason__table .table__text--column-head {
      background-color: #80A3BA;
      color: #fff;
      border-radius: 16px 16px 0 0;
  }

  .reason__table .table__text--row-head {
      color: #fff;
      background-color: #737791;
      font-size: 11px;
      padding: 8px 6px;
      white-space: normal;
  }

  .reason__table tbody tr:nth-child(even) .table__text--row-head {
      background-color: #9DA1BC;
  }

  /* セル内レイアウト */
  .reason__table td .cell-inner {
      display: grid;
      grid-template-columns: 1fr;
      column-gap: .4em;
      align-items: center;
      height: var(--table-cell-height);
      white-space: nowrap;
      padding: 0 6px;
  }

  .reason__table td .cell-inner>span {
      font-size: 16px;
      display: flex;
      justify-content: center;
      align-items: center;
      line-height: var(--table-cell-height);
  }

  .reason__table td .cell-inner>.table__text {
      font-size: 11px;
      line-height: var(--table-cell-height);
  }

  /* Fleet 列 */
  .reason__table tbody tr .table__text--freet {
      color: var(--color-blueblack);
  }

  .reason__table tbody tr .table__text--freet .table__text {
      font-size: 12px;
      line-height: 1.3;
      align-items: center;
      text-align: center;
  }

  .reason__table tbody tr:nth-child(odd) .table__text--freet {
      background-color: #D8EEFF;
  }

  .reason__table tbody tr:nth-child(even) .table__text--freet {
      background-color: #BAE3FF;
  }

  /* 3列目 */
  .reason__table tbody tr td:nth-child(3) {
      color: #626B71;
      width: 19%;
  }

  .reason__table tbody tr td:nth-child(3) span {
      color: #80A3BA;
  }

  .reason__table tbody tr:nth-child(odd) td:nth-child(3) {
      background-color: #D2E0EB;
  }

  .reason__table tbody tr:nth-child(even) td:nth-child(3) {
      background-color: #E2ECF4;
  }

  /* 4列目 */
  .reason__table tbody tr td:nth-child(4) {
      color: #626B71;
      width: 19%;
  }

  .reason__table tbody tr td:nth-child(4) span {
      color: #80A3BA;
  }

  .reason__table tbody tr:nth-child(odd) td:nth-child(4) {
      background-color: #E2ECF4;
  }

  .reason__table tbody tr:nth-child(even) td:nth-child(4) {
      background-color: #D2E0EB;
  }


  @media screen and (min-width: 480px) {
      .reason__table {
          --table-cell-height: 55px;
      }

      .reason__table td .cell-inner {
          grid-template-columns: 1fr 3fr;
          height: var(--table-cell-height);
      }

      .reason__table tbody tr .table__text--freet .table__text {
          text-align: left;
      }
  }

  .reason__list {
      display: grid;
      grid-template-columns: 1fr;
      padding: 20px;
      gap: 15px;
  }

  .reason__list-img {
      margin: 0 auto;
  }

  .reason__list-img img {
      display: block;
      border-radius: var(--card-radius);
  }

  .reason__list-text {
      font-size: 20px;
      color: var(--color-blueblack);
      font-weight: 900;
      align-items: center;
  }

  .reason__list-text ul {
      margin-top: 2em;
      font-size:16px;
  }

  
  .reason__list-text ul li{
      padding-left:20px;
  }

  /* #endregion top-reason */

  /* #region top-trouble */

  .top-trouble {
      position: relative;
      isolation: isolate;
      background-image: url(../img/bg/bg-trouble.png);
      background-repeat: no-repeat;
      background-position: top center;
      background-size: cover;
      overflow: hidden;

      padding: 40px 0 90px;
      margin-top: -30px;
      border-radius: 40px 40px 0 0;
      z-index: 0;
  }

  .trouble__list-wrap {
      max-width: 1200px;
      margin: 0 auto 40px;
      display: grid;
      grid-template-columns: 1fr;
      padding: 16px;
      gap: 2em;
  }

  .trouble__list-card {
     
      display: grid;
      grid-template-rows: 65fr 35fr;
      align-items: center;
      overflow: hidden;
  }

  .trouble__list-card-img {
      border-radius: var(--card-radius) var(--card-radius) 0 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
  }

  .trouble__list-card-img img {
      display: block;
      width: 100%;
      height: auto;
      object-fit: cover;
      border-radius: var(--card-radius) var(--card-radius) 0 0;
      transform: scale(1.08);
  }

  .trouble__list-card-body {
      padding: .7em .5em;
  }

  .trouble__list-card-body h3 {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: var(--text-medium);
      font-weight: 900;
      color: var(--color-blue);
      margin: 0 0 1em;
      padding-left: 0;
  }

  .trouble__list-card-body h3::before {
      content: "";
      width: 30px;
      height: 30px;
      margin-right: .5em;
      background-image: url(../img/icon/attention.png);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
  }

  .trouble__list-card-body ul {
      font-size: var(--text-small);
      line-height: 2.2;
      white-space: nowrap;
      text-align: center;
      margin: 0;
  }

  /* 解決ブロック */

  .trouble__solution-deco {
      width: 70%;
      margin: 0 auto 50px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
  }

  .trouble__solution-deco img {
      width: 100%;
      height: auto;
      display: block;
      object-fit: contain;
  }

  .trouble__solution-block {
      background-image: linear-gradient(90deg, #0786FA, #15D4FF);
      padding: 20px;
      display: block;
      border-radius: 16px;
      height: auto;
      align-items: center;
  }

  .trouble__solution-block-text p {
      position: relative;
      color: #fff;
      font-weight: 900;
      font-size: 16px;
      padding-left: 2em;
      margin: 0;
  }

  /* チェックアイコン */
  .trouble__solution-block-text p::before {
      position: absolute;
      content: "";
      width: 30px;
      height: 30px;
      left: 0;
      top: 25px;
      transform: translateY(-50%);
      background-image: url(../img/icon/icon-check--white.png);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
  }

  .trouble__solution-block-img {
      margin: 0 auto;
      width: fit-content;
  }

  @media screen and (min-width: 480px) {
      .trouble__list-card {
          grid-template-rows: 1fr;
          grid-template-columns: 55fr 45fr;
          overflow: hidden;
      }

      .trouble__list-card-img {
          border-radius: var(--card-radius) 0 0 var(--card-radius);
      }

      .trouble__list-card-img img {
          border-radius: var(--card-radius) 0 0 var(--card-radius);
      }

      .trouble__solution-block {
          padding: 20px 30px;
      }
  }

  /* #endregion top-trouble */

  /* #region top-contact */

  .top-contact {
      position: relative;
      padding: 40px 10px 60px;
      margin: 0;
      margin-top: -40px;
      z-index: 2;

      color: var(--color-blueblack);
      text-align: center;
  }

  .top-contact:nth-last-of-type(1) {
      padding: 40px 10px 50px;
      border-radius: 40px 40px 0 0;
  }

  /* 見出し内の調整 */
  .top-contact .title2 {
      text-align: center;
  }

 
  .contact--big {
      font-size: var(--text-medium);
      font-weight: 900;
  }

 
  .contact__feature {
      backdrop-filter: blur(4px) brightness(1.07);
      border-radius: 16px;
      margin-top: 30px;
      padding: 30px 20px;
      width: 100%;
  }

  .contact__feature p {
      margin-bottom: .5em;
      font-weight: 900;
      font-size: var(--text-medium);
      line-height: 1.5em;
  }

  .contact__feature p span {
      margin: 0 .3em .5em;
  }

  /* ボタン縦並び */
  .contact__feature-btns {
      display: flex;
      flex-direction: column;
      gap: 40px;
      margin-top: 30px;
  }

  /* #endregion top-contact */

  /* #region top-platform */

  .top-platform {
      padding: 70px 0;
      margin: 0;
      margin-top: -30px;
      z-index: 0;
  }

  .platform__able {
      margin: 20px 16px 40px;
      font-size: var(--text-medium);
      text-align: center;
      color: var(--color-black);
      padding: 16px;
      align-items: center;
  }

  .platform__able-medias {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      text-align: center;
      font-size: var(--text-small);
      font-weight: bold;
      width: fit-content;
      margin: 40px auto;
  }

  .platform__able p.platform__note {
      position: relative;
      margin: 0 auto .8em;
      font-weight: bold;
     
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-align: left;
     
  }

  .platform__able p.platform__note::before {
      content: "";
      position: static;
      display: inline-block;
      width: 1.1em;
      height: 1.1em;
      margin-right: .4em;

      background-image: url(../img/icon/icon-check.png);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;

      /* 既存の transform などを打ち消す */
      transform: none;
  }


 
  .platform__able-media {
      width: 100px;
      display: grid;
      grid-template-rows: 100px 1fr;
      text-align: center;
      align-items: center;
  }

  .platform__able-media img {
      display: block;
      width: 80%;
      height: auto;
      margin: 0 auto;
  }

  .platform__able-media span {
      display: block;
      margin: 0 auto;
  }

  /* #endregion top-platform */

  /* #region top-flow */
  .top-flow {
      position: relative;
      isolation: isolate;
      background-image: url(../img/bg/bg-blue-grd.png);
      background-repeat: no-repeat;
      background-position: top center;
      background-size: cover;
      overflow: hidden;
      padding: 40px 0 50px;
      z-index: 1;
      margin-top: -30px;
      border-radius: 40px;
  }

  .flow__card-wrap {
      display: flex;
      flex-direction: column;
      gap: 20px;
  }

  /* 1件ごとの事例カード */
  .flow__card {
      position: relative;
      background-image: url(../img/bg/bg-blue-grd.png);
      background-repeat: no-repeat;
      background-size: 200% 300%;
      background-position: 10% 10%;
      overflow: hidden;
      border-radius: 16px;
      padding: 20px 16px;
      margin-bottom: 2em;
      z-index: 2;
      border: 1px solid rgba(255, 255, 255, 0.4);

      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;

      h3 {
          font-size: 22px;
          margin-bottom: 1em;
      }

      p {
          font-weight: bold;
          color: white;
          font-size: calc(var(--text-small) + 2px);
      }
  }

  .flow__card-img {
      width: 100%;
      height: 100%;

      img {
          display: block;
          width: 100%;
          height: 100%;
          object-fit: cover;
          border-radius: 16px;
      }
  }

  /* タグ（#同時通訳 など） */
  .flow__card-body-tags {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      gap: 8px;
      margin-top: 20px;
  }

  .flow__card-tag {
      backdrop-filter: blur(4px);
      background-color: rgba(24, 37, 111, 0.3);
      border-radius: 50%;
      width: 92px;
      height: 92px;
      display: flex;
      align-items: center;
      border: 1px solid rgba(255, 255, 255, 0.5);
  }

  .flow__card-tag span {
      color: white;
      font-weight: bold;
      font-size: 14px;
      position: relative;
      margin-left: 1.5em;
  }

  .flow__card-tag span::before {
      content: "#";
      position: absolute;
      left: -1em;
      top: 0;
      font-size: 1.08em;
      color: var(--color-skyblue);
  }

  /* 使用機材一覧 */
  .flow__equipment {
      margin-top: 50px;

      h3 {
          display: inline-block;
          font-size: 28px;
          border-bottom: 3px solid white;
          color: white;
          margin-bottom: 1.4em;
      }
  }

  .flow__equipment-card-wrap {
      display: grid;
      grid-template-columns: 1fr;
      gap: 16px;
  }

  .flow__equipment-card {
      backdrop-filter: blur(4px) brightness(1.07);
      background-color: rgba(100, 100, 255, 0.12);
      border-radius: 16px;
      display: grid;
      grid-template-columns: 42fr 58fr;
      gap: 16px;
      border: 1px solid rgba(255, 255, 255, 0.6);
      padding: 22px;
  }

  .flow__equipment-card-img {
      img {
          display: block;
          width: 100%;
          height: auto;
          aspect-ratio: 1;
          border-radius: 16px;
      }
  }

  .flow__equipment-card-body {
      color: white;
      font-weight: bold;

      h4 {
          font-size: var(--text-medium);
          margin-bottom: 1em;
      }

      p {
          font-size: var(--text-small);
          line-height: 2;
      }
  }

  /* #endregion top-flow */

  /* #region top-layout */
  .top-layout {
      position: relative;
      background-image: url(../img/bg/bg-line.png);
      background-repeat: repeat-y;
      background-position: top center;
      background-size: 100% auto;
      padding: 60px 0 70px;
      margin: 0;
      margin-top: -30px;
  }

  .layout__inner {
      display: flex;
      flex-direction: column-reverse;
      gap: 20px;
      margin-top: 20px;
  }

  .layout__img {
      z-index: 3;
  }

  .layout__body {
      color: var(--color-blueblack);

      span {
          display: inline-block;
          font-size: 20px;
          font-weight: 900;
          margin-bottom: 1em;
      }

      p {
          line-height: 2;
          font-size: var(--text-small);
      }
  }

  .layout__body ul {
      margin-top: 2em;
      line-height: 1.6;
      font-size: var(--text-medium);
      font-weight: 900;
      z-index: 3;

      li {
          margin-left: 1em;
          margin-bottom: .8em;

          .blue {
              margin-bottom: 0;
          }
      }
  }

  .layout__body ul li::before {
      content: url(../img/icon/icon-check.png);
      color: var(--color-skyblue-dark);
      display: inline-block;
      width: 1em;
      transform: translateX(-1em) scale(.7);
      font-size: 16px;
      position: relative;
      top: 0.2em;
  }

  .layout-price-wrap {
      position: relative;
      overflow: hidden;
  }

  .layout-decoration {
      position: absolute;
      width: 170px;
      aspect-ratio: 1;
      top: 6%;
      right: -70px;
      background-image: url(../img/bg/figure-3.png);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      z-index: 2;
      opacity: 0.8;
  }

  /* #endregion top-layout */

  /* #region top-price */
  .top-price {
      position: relative;
      background-color: var(--color-lightgray);
      padding: 40px 0 70px;
      margin-top: -40px;
      border-radius: 40px;
      z-index: 1;
      text-align: center;
      align-items: center;
  }

  .price__inner {
      display: grid;
      grid-template-columns: 1fr;
      gap: 20px;
      margin-top: 30px;
  }

  .price__card {
      background-color: white;
      border-radius: 16px;
      padding: 20px 0;
      border: rgba(24, 37, 111, 0.2) 1px solid;
      align-items: center;
      text-align: center;
      margin-bottom: 20px;

      img {
          width: 95%;
          display: block;
          margin: 0 auto 1em;
          border-radius: 16px;
      }
  }

  .price__card .price__card-title {
      font-size: var(--text-medium);
      font-weight: bold;
      color: white;
      margin-bottom: 1em;
      background-color: var(--color-skyblue-dark);
      border-radius: 50px;
      margin: 0 1.5em 1em;
      text-align: center;
  }

  .price__card:nth-of-type(2) .price__card-title {
      background-color: var(--color-blue);
  }

  .price__card:nth-of-type(3) .price__card-title {
      background-color: var(--color-darkblue);
  }

  .price__card-price {
      display: block;
      text-align: center;
      margin: 1rem auto;
  }

  .price__card-price-num {
      font-size: 42px;
      font-weight: 900;
      color: var(--color-blue);
      margin-bottom: 0.3em;
      font-family: var(--font-num-oswald);
  }

  .price__card-price-unit {
      font-size: var(--text-medium);
      font-weight: bold;
      color: var(--color-blue);
  }

  .price__card-options {
      margin: .5em 0 1em;
      width: 100%;
      --price-option-height: 60px;
  }

  .price__card-options tbody tr {
      display: flex;
      justify-content: space-between;
      padding: 0 1.5em;
      background-color: white;
      height: var(--price-option-height);
      line-height: var(--price-option-height);
  }

  .price__card-options tbody tr:nth-child(odd) {
      background-color: #E7F3FC;
  }

  .price__card-options-item {
      position: relative;
      font-size: 14px;
      color: var(--color-blueblack);
      margin-left: .8em;
  }

  .price__card-options-item::before {
      content: url(../img/icon/icon-check-blue.png);
      display: inline-block;
      width: 1em;
      transform: translateX(-1.1em) scale(0.8);
      font-size: 16px;
      position: relative;
      top: 0.2em;
  }

  .price__card-options-price {
      font-size: 26px;
      font-family: var(--font-num-oswald);
      color: var(--color-blueblack);

      span {
          font-size: 12px;
          font-weight: bold;
          font-family: var(--font-ja);
      }
  }

  .price__card-examples {
      font-size: var(--text-small);
      width: 100%;
      padding: 0 1.8em 0.5em;

      tr {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 2em;
          padding-bottom: .6em;
      }
  }

  .price__card-examples-item {
      span {
          display: inline-block;
          background-color: var(--color-blueblack);
          border-radius: 50px;
          color: white;
          width: 100%;
          padding: .3em 1em;
          text-align: center;
      }
  }

  .price__card-examples-detail {
      color: var(--color-blueblack);
      text-align: left;
  }

  /* ボタンの矢印差し替え */
  .top-price .btn1__body span::after {
      background-image: url(../img/icon/arrow3.png);
  }

  /* #endregion top-price */

  /* #region top-staff */
  .top-staff {
      isolation: isolate;
      background-image: url(../img/bg/bg-line.png);
      background-repeat: repeat-y;
      background-position: top center;
      background-size: 100% auto;
      overflow: hidden;
      padding: 60px 0 90px;
      margin: 0;
      z-index: 0;
      margin-top: -30px;
  }

  .staff__card-wrap {
      display: flex;
      flex-wrap: wrap;
      gap: 2.5em 3em;
  }

  @media screen and (min-width: 550px) {
      .staff__card-wrap {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
      }
  }

  /* カード */
  .staff__card {
      background-color: #fff;
      border-radius: 16px;
      display: grid;
      grid-template-rows: auto 1fr;
      align-items: start;
      padding: 20px 10px;
      text-align: left;
      box-shadow: var(--shadow-f-b);
      min-width: 0;
      color: var(--color-blueblack);
      margin: 0 auto;
  }

  .staff__card-img {
      min-width: 0;
      min-height: 0;
      display: flex;
      justify-content: center;
      align-items: center;

      img {
          display: block;
          border-radius: 50%;
          aspect-ratio: 1;
          height: 100%;
          width: auto;
          max-width: 100%;
      }
  }

  .staff__card-text {
      height: fit-content;
      padding-top: 15px;

      p {
          line-height: 2;
          font-size: var(--text-small);
      }
  }

  .staff__card-id {
      position: relative;
      font-size: var(--text-small);
      color: var(--color-blue);
      padding-left: 1.2em;
      font-family: var(--font-en);
  }

  .staff__card-id::before {
      content: "●";
      position: absolute;
      left: 0;
      top: 0.1em;
      font-size: 1em;
      color: var(--color-blue);
  }

  .staff__card-name {
      font-size: 22px;
      font-weight: bold;
      margin: .6em 0;
  }

  .staff__card-role {
      display: inline-block;
      font-size: var(--text-medium);
      font-weight: bold;
      margin-bottom: .4em;
  }

  /* #endregion top-staff */

  /* #region top-customer-flow */
  .top-customer-flow {
      position: relative;
      isolation: isolate;
      background-image: url(../img/bg/bg-blue-grd.png);
      background-repeat: no-repeat;
      background-position: top center;
      background-size: cover;
      overflow: hidden;
      padding: 30px 0 40px;
      z-index: 1;
      border-radius: 40px;
      margin-top: -30px;
      text-align: center;

      p {
          font-weight: 900;
          color: #fff;
      }
  }

  .customer-flow__inner {
      width: 95%;
      margin: 25px auto;
      display: flex;
      flex-direction: column;
      gap: 16px;
  }

  .customer-flow__step {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
      background-image: url(../img/bg/bg-customer-flow__step.png);
      background-repeat: no-repeat;
      background-size: 105% 105%;
      background-position: center;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.3);
      border-radius: 16px;
      padding: 10px 16px 16px;
      color: #fff;
      font-weight: 900;
      align-items: center;
      text-align: center;
  }

  .customer-flow__step-icon {
      max-height: 120px;
      margin: 0 auto;

      img {
          height: 100%;
          width: auto;
          min-height: 0;
          object-fit: contain;
          display: block;
      }
  }

  .customer-flow__step-text {
      text-align: center;
      justify-content: center;

      p {
          font-size: 16px;

          a {
              color: var(--color-yellow);
              text-decoration: underline;
          }
      }
  }

  .customer-flow__step-text-line {
      display: flex;
      gap: 15px;
      justify-content: center;
      align-items: center;
      margin-bottom: 15px;
  }

  .customer-flow__step-text-line span {
      display: inline-block;
      background-color: var(--color-blueblack);
      border-radius: 50px;
      padding: 0.2em 1.5em;
      font-size: var(--text-small);
      font-family: var(--font-en);
      line-height: 1.2;
      color: #fff;
  }

  /* STEP 見出し */
  .customer-flow__step-text-line h3 {
      font-size: 24px;
      margin: 0;
  }

  /* #endregion top-customer-flow */


  /* #region top-faq */
  .top-faq {
      isolation: isolate;
      background-color: #E2ECF4;
      z-index: 0;
      margin-top: -40px;
      padding: 70px 0 60px;
      overflow: hidden;

      /* SP 用のアイコンサイズ */
      --faq-icon-size: 30px;
  }

  .faq__inner {
      width: 95%;
      margin: 25px auto;
  }

  .faq__item {
      border-radius: 16px;
      background-color: #fff;
      box-shadow: rgba(2, 39, 195, 0.2) 0px 8px 20px 0px;
      margin-bottom: 20px;
      overflow: hidden;
  }

  .faq__question,
  .faq__answer {
      display: block;
      width: 100%;
      background-color: #E7F3FC;
      padding: 20px 16px 25px;
	  box-sizing: border-box;
  }

  .faq__question p,
  .faq__answer p {
	   --faq-icon-size: 30px;
      color: var(--color-blueblack);
      position: relative;
      padding-left: calc(var(--faq-icon-size) + 25px);
      text-align: left;
  }

  .faq__question p {
      font-size: 19px;
      font-weight: 900;
  }

  .faq__answer p {
      font-size: var(--text-small);
      font-weight: normal;
  }

  .faq__question p::before,
  .faq__answer p::before {
      position: absolute;
      left: 0;
      top: 0;
  }

  .faq__question p::before {
      content: url(../img/icon/icon-question.png);
      transform: scale(.7);
  }

  .faq__answer p::before {
      content: url(../img/icon/icon-answer.png);
      transform: translateY(5px) scale(.7);
  }

  .faq__answer {
      background-color: #fff;
      padding: 20px 16px 25px;
	  box-sizing: border-box;
  }

  /* #endregion top-faq */
