@charset "UTF-8";

/* ============================================================
 * app.css 超ざっくり地図
 * ------------------------------------------------------------
 * このファイルは「全ページで使う共通部品置き場」。
 * 1ページだけの特別な見た目は、ここではなく各ページの css/style.css に書く。
 *
 * どこを見ればいいか:
 *  - 色を変えたい       -> :root の --ta-color-* を見る。
 *  - 文字を変えたい     -> --ta-type-* / .ta-text-body / .ta-h2-4 を見る。
 *  - 余白を変えたい     -> --ta-space-* / .ta-content を見る。
 *  - 横幅をそろえたい   -> .ta-content を使う。
 *  - 背景を画面端まで   -> .ta-section--full を使う。
 *  - 青いページタイトル -> .ta-hero を使う。
 *
 * やらないこと:
 *  - ページCSSで同じ font-size / color / line-height を何度も直書きしない。
 *  - 共通値を軽い気持ちで変えない。ここを変えると他ページにも効く。
 *  - /assets/css/app.css だけ直して /triauto/assets/css/app.css を放置しない。
 * ============================================================ */
a {
  color: var(--ta-color-primary-light);
}
img {
  height: auto;
  max-width: 100%;
}
body.--menu-active {
  overflow: hidden; }

.btn {
  align-items: center;
  display: flex;
  justify-content: center;
  cursor: pointer; }
  .btn.--ripple {
    border: 1px solid #FF6B00;
    overflow: hidden;
    padding: 0 8px;
    position: relative;
    text-decoration: none;
    transition-duration: .8s;
    z-index: 2; }
    .btn.--ripple::after {
      background: #fff;
      border-radius: 50%;
      content: "";
      display: block;
      height: 0;
      left: 0;
      margin: auto;
      opacity: 0;
      padding-top: 100%;
      pointer-events: none;
      position: absolute;
      top: 50%;
      transform: translateY(-50%) scale(0.1);
      transition: opacity .5s, transform 0s, color .2s;
      transition-delay: 0s, .4s, 0s;
      right: 0;
      width: 100%;
      z-index: -1; }
    .btn.--ripple:hover {
      background-color: #fff;
      color: #FF6B00; }
      .btn.--ripple:hover::after {
        opacity: 1;
        transform: translateY(-50%) scale(1.2);
        transition-delay: 0s;
        transition: opacity .8s, transform .4s ease-in-out; }

.btn-outline {
  align-items: center;
  display: flex;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.5);
  display: inline-flex;
  height: 50px;
  min-height: 50px;
  padding: 0 16px;
  text-decoration: none;
  transition: opacity .2s ease-in-out; }
  .btn-outline:hover {
    opacity: .7;
    text-decoration: none; }
  .btn-outline .btn-text {
    align-items: center;
    display: flex;
    font-size: 14px; }
    .btn-outline .btn-text.--arrow:before {
      background-position: center center;
      background-repeat: no-repeat;
      background-size: contain;
      align-items: center;
      display: flex;
      justify-content: center;
      background-image: url("/triauto/assets/css/img/icon/icon-nav-arrow.svg");
      content: "";
      height: 6px;
      margin-right: 8px;
      width: 6px; }

/* =====================================================================
   本文テキストの共通クラス (.ta-text-body)
   ---------------------------------------------------------------------
   使う場所: 説明文、カード本文、フォーム補足などの通常本文。
   見た目: PC/SP とも 16px、font-weight 500、line-height 1.7。
   触り方: ページCSSで font-size や color を直書きせず、
           HTMLに .ta-text-body を付けるか --ta-type-body 系 token を使う。
   ===================================================================== */
.ta-text-body {
  font: var(--ta-type-body, 500 16px/1.7 var(--ta-font-family-ja));
  color: var(--text);
  letter-spacing: var(--ta-letter-spacing-ja, 1px); }
@media (max-width: 939px) {
  .ta-text-body {
    font: var(--ta-type-body-sp, 500 16px/1.7 var(--ta-font-family-ja)); } }

/* 注記・脚注・データ出典用の共通クラス (.ta-text-caption)
   PC: 500 12px/1.4 / SP: 400 12px/1.4 / color: 本文と同色 (--text)
   ※注記の文字色は薄いグレー(--ta-color-sub-text)ではなく本文色に統一
     (ユーザー指定 2026-07-06。サイズ12pxはそのまま、色だけ本文と同一) */
.ta-text-caption {
  font: var(--ta-type-caption, 500 12px/1.4 var(--ta-font-family-ja));
  color: var(--text);
  letter-spacing: var(--ta-letter-spacing-ja); }
@media (max-width: 939px) {
  .ta-text-caption {
    font: var(--ta-type-caption-sp, 400 12px/1.4 var(--ta-font-family-ja)); } }

/* 見出し用の共通クラス (.ta-h1 / .ta-h2 / .ta-h3 / .ta-h4)
 * h2タグでなくても、見た目をH1/H2/H3/H4相当にしたい時に使う。
 * PC/SP の文字サイズ切替はここで済ませる。ページCSSに同じ指定を書かない。 */
.ta-h1 {
  font: var(--ta-type-h1-sp);
  color: var(--ta-color-primary);
  letter-spacing: var(--ta-letter-spacing-ja);
  margin: 0;
}

.ta-h2 {
  font: var(--ta-type-h2-sp);
  color: var(--ta-color-primary);
  letter-spacing: var(--ta-letter-spacing-ja);
  margin: 0;
}

.ta-h3 {
  font: var(--ta-type-h3-sp);
  color: var(--ta-color-primary);
  letter-spacing: var(--ta-letter-spacing-ja);
  margin: 0;
}

.ta-h4 {
  font: var(--ta-type-h4-sp);
  color: var(--ta-color-primary);
  letter-spacing: var(--ta-letter-spacing-ja);
  margin: 0;
}

.ta-card-title {
  font: var(--ta-type-card-title-sp);
  color: var(--ta-color-primary);
  letter-spacing: var(--ta-letter-spacing-ja);
  margin: 0;
}

@media (min-width: 940px) {
  .ta-h1 { font: var(--ta-type-h1-pc); }
  .ta-h2 { font: var(--ta-type-h2-pc); }
  .ta-h3 { font: var(--ta-type-h3-pc); }
  .ta-h4 { font: var(--ta-type-h4-pc); }
  .ta-card-title { font: var(--ta-type-card-title-pc); }
}

/* テキストリンク（矢印付き / Figma: text_link）
 * 用途: CTA 的な目立つテキストリンク。color は --ta-color-main（#1e5fad）。
 * 基本リンク色（--ta-color-primary-light）とは別。 */
.ta-link {
  align-items: center;
  border-bottom: 1px solid var(--ta-color-main);
  color: var(--ta-color-main);
  display: inline-flex;
  font: 700 16px/1.7 var(--ta-font-family-ja);
  gap: 16px;
  letter-spacing: var(--ta-letter-spacing-ja);
  text-decoration: none;
}
.ta-link::after {
  content: "→";
  flex-shrink: 0;
  font: 500 16px/1.7 var(--ta-font-family-ja);
}
/* hover で見た目を変えない。旧CSS（各ページ src/styles/app.css）のグローバル
 * a:hover { text-decoration: underline } が border-bottom と二重下線になるため打ち消す。 */
.ta-link:hover {
  text-decoration: none;
}
@media (min-width: 940px) {
  .ta-link {
    font: 700 20px/1.7 var(--ta-font-family-ja);
  }
}

/* 塗りつぶし CTA ボタン（Figma node 497:416）
 * 用途: ページ内メインアクションの呈示。色 = --ta-color-main。 */
.ta-btn--primary {
  align-items: center;
  background: var(--ta-color-main);
  border-radius: 20px;
  color: #fff;
  display: inline-flex;
  flex-direction: column;
  font: 700 20px/1.7 var(--ta-font-family-ja);
  justify-content: center;
  letter-spacing: var(--ta-letter-spacing-ja);
  padding: 20px 50px;
  text-align: center;
  text-decoration: none;
  transition: opacity .2s ease;
}
/* hover 共通「薄く白く光る」(.ta-hover-glow)
 * ヘッダー口座開設ボタンの hover（ふわっと明るくなる）をサイト共通のボタン挙動として class 化（2026-07-08）。
 * 白の半透明レイヤーを ::after で重ねてフェードインするため、opacity 減衰方式と違い
 * 背景が透けず、どの色・どの背景のボタンでも一様に「白く光る」見え方になる。
 * 使い方: ボタン要素に class を併記するだけ（例: <a class="ta-btn--primary ta-hover-glow">）。
 * 角丸は border-radius: inherit で親ボタンに追従。クリックは pointer-events: none で阻害しない。
 * ※2026-07-08 ユーザー指示「サイト内の全ボタンに適用」により、共通ボタン
 *   (.ta-btn--primary / ヘッダー .cta-button / .cta-text-wrapper) はセレクタ同居で常時適用
 *   （旧 opacity 減衰 hover は廃止）。ページ固有ボタンは HTML に .ta-hover-glow を併記する。 */
.ta-hover-glow,
.ta-btn--primary,
.header-for-triauto .navigation .cta-button,
.header-for-triauto .navigation .cta-text-wrapper {
  position: relative;
}

.ta-hover-glow::after,
.ta-btn--primary::after,
.header-for-triauto .navigation .cta-button::after,
.header-for-triauto .navigation .cta-text-wrapper::after {
  background: #fff;
  border-radius: inherit;
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 0.25s ease;
}

.ta-hover-glow:hover::after,
.ta-hover-glow:focus-visible::after,
.ta-btn--primary:hover::after,
.ta-btn--primary:focus-visible::after,
.header-for-triauto .navigation .cta-button:hover::after,
.header-for-triauto .navigation .cta-button:focus-visible::after,
.header-for-triauto .navigation .cta-text-wrapper:hover::after,
.header-for-triauto .navigation .cta-text-wrapper:focus-visible::after {
  opacity: 0.25;
}

/* 共通カード (.ta-card)
 * 色・線・影・角丸だけを共通化する土台。
 * 中の余白や並びはページやコンポーネントごとに違うため、ここでは決めない。 */
.ta-card {
  background: var(--ta-color-bg, #fff);
  border: 1px solid var(--ta-color-card-border, #EBF3FC);
  border-radius: var(--ta-radius-s, 6px);
  box-shadow: var(--ta-shadow-card, 0 4px 14px rgba(235, 243, 252, 0.48));
}
.--note {
  font: var(--ta-type-body, 500 16px/1.7 var(--ta-font-family-ja));
  letter-spacing: var(--ta-letter-spacing-ja, 1px); }
@media (max-width: 939px) {
  .--note {
    font: var(--ta-type-body-sp, 500 16px/1.7 var(--ta-font-family-ja)); } }

.header {
  align-items: center;
  display: flex;
  background-color: #fff;
  font-family: var(--ta-font-family-ja, "Noto Sans JP", Meiryo, sans-serif);
  font-size: 14px;
  letter-spacing: 1px;
  line-height: normal;
  height: 70px;
  left: 0;
  padding: 0;
  position: fixed;
  transition: all 0.2s ease-in-out;
  text-decoration: none;
  top: 0;
  width: 100%;
  z-index: 1001;
  animation: headerGrowDown 0.6s cubic-bezier(0.22, 1, 0.36, 1) both; }
  @media (min-width: 940px) {
    .header {
      height: 90px;
      padding: 0; } }

nav.gnav-faqs {
  padding: 20px !important;
}

/* 共通ヘッダー：上端を起点に上から下へ「にょきっと」生えてくるアニメーション */
@keyframes headerGrowDown {
  0% {
    opacity: 0;
    transform: translateY(-100%); }
  60% {
    opacity: 1;
    transform: translateY(6%); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@media (prefers-reduced-motion: reduce) {
  .header {
    animation: none; } }

.header__inner {
  align-items: center;
  display: flex;
  color: #333;
  height: 100%;
  transition: background-color 0.2s ease-in-out;
  width: 100%; }
  @media screen and (max-width: 939px) {
    .header__inner {
      justify-content: flex-start; } }
  @media screen and (min-width: 940px) {
    .header__inner {
      width: inherit; } }

.header__logo,
.header__logo-invast {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("/triauto/assets/css/img/logo/logo-sp.svg");
  height: 32px;
  margin-left: 12px;
  min-width: 147px;
  width: 147px;
  z-index: 5; }
    @media screen and (min-width: 940px) {
    .header__logo,
    .header__logo-invast {
      background-image: url("/triauto/assets/css/img/logo/logo-pc.svg");
      height: 70px;
      margin-left: 24px;
      min-width: 87px;
      width: 87px; }
    .header__logo-invast {
      display: block; }
    }
  .header__logo img,
  .header__logo-invast img {
    height: 56px; }

.header__nav {
  display: flex;
  flex: 1;
  flex-direction: column;
  height: 0;
  opacity: 0;
  overflow: hidden;
  transition: height 0.4s cubic-bezier(0.9, 0.12, 0.66, 0.49), opacity 0.6s ease-in-out; }
  @media screen and (max-width: 939px) {
    .header__nav:not(.--active) {
      flex: 0 0 auto;
      min-width: 0;
      width: 0; } }
  @media screen and (max-width: 939px) {
    .header__nav.--active {
      align-items: center;
      background-color: #F1F1F1;
      flex: 1;
      height: calc(100vh - 70px);
      max-height: calc(100vh - 70px);
      left: 0;
      opacity: 1;
      padding: 56px 12px 80px;
      position: absolute;
      right: 0;
      top: 70px;
      transform: translateX(0); }
      .header__nav.--active .header__nav--list {
        display: block;
        max-width: 450px;
        overflow-y: auto;
        width: 100%; }
        .header__nav.--active .header__nav--list .nav__item--header,
        .header__nav.--active .header__nav--list .nav__item--header-no-js {
          align-items: center;
          display: flex;
          border-bottom: 1px solid #ddd;
          color: #333;
          font-size: 20px;
          justify-content: space-between;
          padding: 24px 16px; }
          .header__nav.--active .header__nav--list .nav__item--header::after {
            background-position: center center;
            background-repeat: no-repeat;
            background-size: contain;
            align-items: center;
            display: flex;
            justify-content: center;
            background-image: url("/triauto/assets/css/img/icon/icon-add.svg");
            content: "";
            content: none !important;
            height: 20px;
            width: 20px; }
          .header__nav.--active .header__nav--list .nav__item--header.--active::after {
            background-image: url("/triauto/assets/css/img/icon/icon-remove.svg"); } }
  .header__nav .nav__nest-list {
    padding: 16px 16px 32px; }
    @media screen and (min-width: 940px) {
      .header__nav .nav__nest-list {
        align-items: center;
        display: flex;
        padding: 0; } }
    .header__nav .nav__nest-list li {
      align-items: center;
      display: flex;
      flex: 1;
      font-size: 18px;
      height: 48px; }
      @media screen and (min-width: 940px) {
        .header__nav .nav__nest-list li {
          flex: unset;
          font-size: 14px; }
          .header__nav .nav__nest-list li:not(:last-of-type) {
            margin-right: 24px; } }
      .header__nav .nav__nest-list li a {
        align-items: center;
        display: flex;
        color: #333;
        height: 100%;
        flex: 1; }
        .header__nav .nav__nest-list li a.active {
          color: #FF6B00;
          text-decoration: none; }
          .header__nav .nav__nest-list li a.active::before {
            background-image: url("/triauto/assets/css/img/icon/icon-circle-arrow-right-on.svg"); }
        .header__nav .nav__nest-list li a:hover {
          color: #FF6B00;
          text-decoration: none; }
          .header__nav .nav__nest-list li a:hover::before {
            background-image: url("/triauto/assets/css/img/icon/icon-circle-arrow-right-on.svg"); }
        @media screen and (min-width: 940px) {
          .header__nav .nav__nest-list li a {
            flex: unset; } }
        .header__nav .nav__nest-list li a::before {
          background-position: center center;
          background-repeat: no-repeat;
          background-size: contain;
          align-items: center;
          display: flex;
          background-image: url("/triauto/assets/css/img/icon/icon-circle-arrow-right.svg");
          content: "";
          height: 16px;
          margin-right: 12px;
          width: 16px; }
          @media screen and (min-width: 940px) {
            .header__nav .nav__nest-list li a::before {
              margin-top: 1px; } }
  @media screen and (min-width: 940px) {
    .header__nav {
      align-items: flex-end;
      display: flex;
      flex-direction: row;
      height: inherit;
      margin-left: 32px;
      opacity: 1;
      transform: initial; } }
  .header__nav .header__nav--list {
    display: none; }
    @media screen and (min-width: 940px) {
      .header__nav .header__nav--list {
        display: grid;
        grid-template-columns: repeat(5, auto); } }
    .--active .header__nav .header__nav--list {
      display: block;
      max-width: 450px;
      width: 100%; }
    .header__nav .header__nav--list .nav__items--item {
      padding: 0 24px; }
      @media screen and (min-width: 940px) {
        .header__nav .header__nav--list .nav__items--item {
          max-width: 147px;
          padding: 0;
          text-align: center; }
          .header__nav .header__nav--list .nav__items--item:not(:first-of-type) {
            padding: 0 0 0 50px; }
          .header__nav .header__nav--list .nav__items--item .nav__item--header,
          .header__nav .header__nav--list .nav__items--item .nav__item--header-no-js {
            position: relative; }
          .header__nav .header__nav--list .nav__items--item .nev__item--body {
            align-items: center;
            display: flex;
            justify-content: center;
            background-color: #f7f7f7;
            height: 106px;
            left: 0;
            opacity: 1;
            position: absolute;
            top: 100%;
            visibility: visible;
            width: 100vw;
            z-index: 1004; } }
    .header__nav .header__nav--list .nav__item--header,
    .header__nav .header__nav--list .nav__item--header-no-js {
      color: #333;
      text-decoration: none; }
      @media screen and (min-width: 940px) {
        .header__nav .header__nav--list .nav__item--header,
        .header__nav .header__nav--list .nav__item--header-no-js {
          align-items: center;
          display: flex;
          justify-content: center;
          color: #333;
          line-height: 90px;
          position: relative;
          text-decoration: none;
          white-space: nowrap;
          width: 100%; }
          .header__nav .header__nav--list .nav__item--header::before {
            background: #FF6B00;
            bottom: 0;
            content: "";
            content: none !important;
            height: 2px;
            left: 0;
            position: absolute;
            transform: scale(0, 1);
            transform-origin: center top;
            transition: transform 0.2s ease-in-out;
            width: 100%; }
          .header__nav .header__nav--list .nav__item--header:hover::before {
            transform: scale(1, 1); }
          .header__nav .header__nav--list .nav__item--header.active,
          .header__nav .header__nav--list .nav__item--header-no-js.active {
            color: #FF6B00; }
            .header__nav .header__nav--list .nav__item--header.active::before {
              transform: scale(1, 1); }
          .header__nav .header__nav--list .nav__item--header.--active::before {
            transform: scale(1, 1); } }

.header__btn--list {
  align-items: center;
  display: flex;
  font-size: 12px;
  height: 46px;
  margin-left: auto; }
  @media screen and (max-width: 939px) {
    .header__btn--list {
      flex: 0 0 auto;
      margin-left: auto;
      position: relative;
      z-index: 1002; } }
  @media screen and (min-width: 940px) {
    .header__btn--list {
      font-size: 14px;
      height: 100%; } }
  .header__btn--list .btn {
    color: #fff;
    height: 100%;
    overflow: hidden;
    position: relative;
    transition-duration: 0.4s;
    width: 70px;
    z-index: 2; }
    .header__btn--list .btn a {
      align-items: center;
      display: flex;
      justify-content: center;
      color: #fff;
      height: 100%;
      padding: 0 8px; }
    @media screen and (min-width: 940px) {
      .header__btn--list .btn {
        width: 80px; } }
    .header__btn--list .btn::after {
      background: #fff;
      border-radius: 50%;
      content: "";
      display: block;
      height: 0;
      left: 0;
      margin: auto;
      opacity: 0;
      padding-top: 100%;
      pointer-events: none;
      position: absolute;
      top: 50%;
      transform: translateY(-50%) scale(0.1);
      transition: opacity 0.5s, transform 0s;
      transition-delay: 0s, 0.4s;
      right: 0;
      width: 100%;
      z-index: -1; }
    .header__btn--list .btn:hover a {
      text-decoration: none; }
    .header__btn--list .btn:hover::after {
      opacity: 1;
      transform: translateY(-50%) scale(1.2);
      transition-delay: 0s;
      transition: opacity 0.8s, transform 0.4s ease-in-out; }
    @media screen and (min-width: 940px) {
      .header .header__btn--list .btn {
        width: 105px; } }
    @media screen and (min-width: 1010px) {
      .header .header__btn--list .btn {
        width: 140px; } }
    .header__btn--list .btn.btn__account {
      background-color: #FF6B00;
      border: 1px solid #FF6B00; }
      .header__btn--list .btn.btn__account:hover a {
        color: #FF6B00; }
    .header__btn--list .btn.btn__login {
      background-color: #777;
      border: 1px solid #777; }
      .header__btn--list .btn.btn__login:hover a {
        color: #777; }

.header__nav--icon {
  align-items: center;
  display: flex;
  justify-content: center;
  background-color: #1E5FAD;
  border-color: #1E5FAD;
  cursor: pointer;
  flex-direction: column;
  height: 100%;
  min-width: 48px;
  padding: 0 12px;
  width: 48px;
  z-index: 9999; }
  @media screen and (max-width: 939px) {
    .header__nav--icon {
      flex: 0 0 auto; } }
  @media screen and (min-width: 940px) {
    .header__nav--icon {
      display: none; } }
  .header__nav--icon.--active span {
    background-color: #FFFFFF; }
    .header__nav--icon.--active span:nth-child(1) {
      top: 8px;
      transform: rotate(45deg); }
    .header__nav--icon.--active span:nth-child(2) {
      opacity: 0;
      transform: translateX(150%); }
    .header__nav--icon.--active span:nth-child(3) {
      top: -12px;
      transform: rotate(-45deg); }
  .header__nav--icon span {
    background-color: #FFFFFF;
    display: block;
    height: 2px;
    position: relative;
    transition: transform ease-in-out 0.2s, opacity 0.1s ease-in-out;
    width: 100%; }
    .header__nav--icon span:nth-child(1) {
      top: 0; }
    .header__nav--icon span:nth-child(2) {
      background-color: #FFFFFF;
      margin: 8px 0; }
    .header__nav--icon span:nth-child(3) {
      top: 0; }

.nav__items {
  display: none; }
  @media screen and (min-width: 940px) {
    .nav__items {
      align-items: center;
      display: flex;
      height: initial; } }
  .nav__items .nav__items--item {
    display: flex;
    flex-direction: column; }
    @media screen and (min-width: 940px) {
      .nav__items .nav__items--item:not(:last-of-type) {
        margin-right: 16px; } }
    .nav__items .nav__items--item.--has-child {
      cursor: pointer; }
      .nav__items .nav__items--item.--has-child::after {
        background-color: rgba(245, 245, 245, 0.6);
        content: "";
        height: 0;
        left: 0;
        opacity: 0;
        position: absolute;
        top: 100%;
        transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
        visibility: hidden;
        width: 100%; }
      @media screen and (min-width: 940px) {
        .nav__items .nav__items--item.--has-child:hover::after {
          height: 28px;
          opacity: 1;
          visibility: visible; }
        .nav__items .nav__items--item.--has-child:hover .nav__items--item-header::before {
          transform: scale(1, 1); }
        .nav__items .nav__items--item.--has-child:hover .nav__items--item-body {
          opacity: 1;
          visibility: visible; } }
    .nav__items .nav__items--item .nav__items--item-header {
      line-height: 68px;
      padding: 0 16px;
      position: relative; }
      @media screen and (min-width: 940px) {
        .nav__items .nav__items--item .nav__items--item-header {
          line-height: 28px; } }
      .nav__items .nav__items--item .nav__items--item-header::after {
        align-items: center;
        display: flex;
        content: "\e5cc";
        font-family: "Material Icons";
        position: absolute;
        top: 0;
        right: 16px; }
      .nav__items .nav__items--item .nav__items--item-header.--active {
        background-color: #f5f5f5;
        font-weight: bold; }
        .nav__items .nav__items--item .nav__items--item-header.--active::after {
          content: "\e5cf"; }
      @media screen and (min-width: 940px) {
        .nav__items .nav__items--item .nav__items--item-header::before {
          background: #f15a24;
          bottom: -1px;
          content: "";
          height: 2px;
          left: 0;
          position: absolute;
          transform: scale(0, 1);
          transform-origin: center top;
          transition: transform 0.3s;
          width: 100%; }
        .nav__items .nav__items--item .nav__items--item-header::after {
          display: none; } }
    .nav__items .nav__items--item .nav__items--item-body {
      align-items: center;
      display: flex;
      height: 0;
      left: 0;
      opacity: 0;
      padding: 0 16px;
      top: 100%;
      visibility: hidden;
      width: 100%; }
      @media screen and (min-width: 940px) {
        .nav__items .nav__items--item .nav__items--item-body {
          height: 28px;
          justify-content: flex-end;
          padding: 0 56px;
          position: absolute;
          transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out; } }
      .nav__items .nav__items--item .nav__items--item-body.--active {
        background-color: #f5f5f5;
        height: auto;
        opacity: 1;
        visibility: visible; }
      .nav__items .nav__items--item .nav__items--item-body .nav__items--item-list {
        color: #333;
        width: 100%;
        z-index: 100; }
        .nav__items .nav__items--item .nav__items--item-body .nav__items--item-list li {
          align-items: center;
          display: flex; }
          .nav__items .nav__items--item .nav__items--item-body .nav__items--item-list li::before {
            align-items: center;
            display: flex;
            content: "・";
            margin-right: 8px; }
            @media screen and (min-width: 940px) {
              .nav__items .nav__items--item .nav__items--item-body .nav__items--item-list li::before {
                display: none; } }
        @media screen and (min-width: 940px) {
          .nav__items .nav__items--item .nav__items--item-body .nav__items--item-list {
            align-items: center;
            display: flex;
            justify-content: flex-end; }
            .nav__items .nav__items--item .nav__items--item-body .nav__items--item-list li {
              align-items: center;
              display: flex;
              justify-content: center;
              transition: all 0.1s ease-in-out; }
              .nav__items .nav__items--item .nav__items--item-body .nav__items--item-list li:hover {
                color: #FF6B00; }
              .nav__items .nav__items--item .nav__items--item-body .nav__items--item-list li:not(:last-child) {
                margin-right: 32px; } }

.header__hamburger {
  align-items: center;
  display: flex;
  justify-content: center;
  flex-direction: column;
  height: 100%;
  margin-right: 16px;
  min-width: 32px;
  width: 32px; }

.hamburger {
  background-color: transparent;
  border-color: transparent;
  margin-left: 16px;
  z-index: 9999; }
  @media screen and (min-width: 940px) {
    .hamburger {
      display: none; } }
  .hamburger.--active span {
    background-color: #333; }
    .hamburger.--active span:nth-child(1) {
      top: 5px;
      transform: rotate(45deg); }
    .hamburger.--active span:nth-child(2) {
      opacity: 0; }
    .hamburger.--active span:nth-child(3) {
      top: -13px;
      transform: rotate(-45deg); }
  .hamburger span {
    background-color: #fff;
    display: block;
    height: 1px;
    position: relative;
    transition: ease .4s;
    width: 100%; }
    .--minify .hamburger span {
      background-color: #333; }
    .hamburger span:nth-child(1) {
      top: 0; }
    .hamburger span:nth-child(2) {
      margin: 8px 0; }
    .hamburger span:nth-child(3) {
      top: 0; }

.footer {
  background-color: #0A2463;
  color: #F7F9FC;
  font-family: var(--ta-font-family-ja, "Noto Sans JP", Meiryo, sans-serif);
  font-size: 14px;
  letter-spacing: 1px;
  line-height: normal;
  padding: 0; }
  .footer .footer__contents {
    padding: 60px 20px 30px; }
    @media screen and (min-width: 940px) {
      .footer .footer__contents {
        margin: 0 auto;
        max-width: 940px;
        padding: 60px 0 64px;
        width: 100%; } }
  .footer a {
    color: #F7F9FC; }

/* パンくずリスト（Figma: パンくずリスト node 456:18196を基に、リクエストに応じて文字サイズは全項目統一）
 * 背景 --ta-color-primary-light(#3a82d4)・非カレント項目は白文字12px、リンク(<a>)のみ underline・
 * 末尾（現在ページ、リンクなしのプレーンテキスト）は --ta-color-primary-pale(#ebf3fc) 太字12px（他項目と同じサイズ）・underlineなし。
 * 区切りは Material "arrow_forward_ios" 相当の CSS シェブロン（画像アセット不使用、左右均等8px）。
 * 太字/通常のウェイト差で下端が微妙にずれうるため、box端そろえ(flex-end)ではなく
 * テキストのベースラインそろえ(align-items: baseline)を使う。li 自体は入れ子flexにせず通常のインライン
 * テキストフローにして、li が公開する baseline が実テキストの baseline になるようにする。 */
.breadcrumbs__nav {
  align-items: center;
  display: flex;
  background-color: var(--ta-color-primary-light);
  padding: 12px 20px;
  position: relative;
  /* SP でもパンくずを勝手に改行させない。1行を保ち、稀に長い場合だけ横スクロールで逃がす
     （ページ全体の横スクロールは発生させない）。スクロールバーは非表示で見た目を保つ。 */
  overflow-x: auto;
  scrollbar-width: none; }
  .breadcrumbs__nav::-webkit-scrollbar {
    display: none; }
  @media screen and (min-width: 940px) {
    .breadcrumbs__nav {
      margin: 0 auto;
      padding: 12px 0;
      width: 100%; } }
  .breadcrumbs__nav .breadcrumbs__nav--list {
    align-items: baseline;
    display: flex;
    flex-wrap: nowrap;
    height: 100%;
    list-style: none;
    margin: 0;
    padding: 0; }
    @media screen and (min-width: 940px) {
      .breadcrumbs__nav .breadcrumbs__nav--list {
        margin: 0 auto;
        max-width: var(--content-width);
        width: 100%; } }
    .breadcrumbs__nav .breadcrumbs__nav--list .breadcrumbs__nav--list-item {
      color: #fff;
      font: 500 12px/1.4 var(--ta-font-family-ja);
      letter-spacing: var(--ta-letter-spacing-ja);
      white-space: nowrap; }
      .breadcrumbs__nav .breadcrumbs__nav--list .breadcrumbs__nav--list-item a {
        color: #fff;
        text-decoration: underline;
        text-underline-position: from-font; }
        .breadcrumbs__nav .breadcrumbs__nav--list .breadcrumbs__nav--list-item a:hover {
          text-decoration: none; }
      .breadcrumbs__nav .breadcrumbs__nav--list .breadcrumbs__nav--list-item:last-child,
      .breadcrumbs__nav .breadcrumbs__nav--list .breadcrumbs__nav--list-item:last-child a {
        color: var(--ta-color-primary-pale);
        font: 700 12px/1.4 var(--ta-font-family-ja); }
      .breadcrumbs__nav .breadcrumbs__nav--list .breadcrumbs__nav--list-item + .breadcrumbs__nav--list-item::before {
        border: solid #e3e3e3;
        border-width: 0 1.5px 1.5px 0;
        content: "";
        display: inline-block;
        vertical-align: middle;
        height: 7px;
        margin: 0 8px;
        transform: rotate(-45deg);
        width: 7px; }

.footer__logo {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("/triauto/assets/css/img/logo/logo-footer.svg");
  cursor: pointer;
  display: block;
  height: 108px;
  margin-bottom: 40px;
  width: 132px; }
  .footer__logo:hover {
    opacity: .7; }
  @media screen and (min-width: 940px) {
    .footer__logo {
      margin-bottom: 56px; } }

.footer__link {
  display: grid;
  gap: 32px 0; }
  @media screen and (min-width: 940px) {
    .footer__link {
      font-size: 14px;
      gap: 56px 32px;
      grid-template-columns: 1fr 1fr 1fr !important;
      grid-template-rows: repeat(3, auto);
      justify-content: space-between;
      justify-items: stretch;
      margin: 0 auto; } }
  .footer__link + .footer__note {
    margin-top: 48px; }

.footer__link--col {
  display: flex;
  flex-direction: column;
  gap: 32px; }
  @media screen and (min-width: 940px) {
    .footer__link--col {
      display: grid;
      grid-row: 1 / -1;
      grid-template-rows: subgrid;
      align-content: start; } }

.footer__link--stack {
  display: flex;
  flex-direction: column;
  gap: 32px; }
  @media screen and (min-width: 940px) {
    .footer__link--stack {
      gap: 56px; } }

@media screen and (max-width: 939px) {
  .footer__link--col,
  .footer__link--stack {
    display: contents; }
  .footer__link--invast { order: 1; }
  .footer__link--fx { order: 2; }
  .footer__link--cfd { order: 3; }
  .footer__link--services { order: 4; }
  .footer__link--beginner { order: 5; }
  .footer__link--support { order: 6; }
  .footer__link--campaign { order: 7; }
  .footer__link--market { order: 8; }
  .footer__link--official { order: 9; }
  .footer__link--policy { order: 10; }
  .footer__link--other { order: 11; } }

@media screen and (min-width: 940px) {
  .footer__link--stack-compact {
    gap: 32px; } }

.footer__link--nav-header {
  color: #FF6800;
  font-weight: 700;
  line-height: 19px;
  margin-bottom: 16px; }
  .footer__link--nav-header:nth-child(n+2) {
    margin-top: 1.6rem; }

.footer__link--nav-header a {
  color: inherit;
  text-decoration: none;
  transition: opacity .2s ease-in-out; }
  .footer__link--nav-header a:hover {
    opacity: .7; }

.footer__link--nav-body .footer__link--nav-list {
  list-style: none;
  margin: 0;
  padding: 0; }

.footer__link--nav-body .footer__link--nav-list li a {
  align-items: flex-start;
  display: inline-flex;
  font-size: 14px;
  line-height: 28px;
  text-decoration: none;
  transition: opacity .2s ease-in-out; }
  .footer__link--nav-body .footer__link--nav-list li a:hover {
    opacity: .7; }
  .footer__link--nav-body .footer__link--nav-list li a:before {
    background-image: url("/triauto/assets/css/img/icon/icon-nav-arrow.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    flex-shrink: 0;
    height: 6px;
    line-height: 1;
    margin-right: 8px;
    margin-top: 11px;
    width: 6px; }

.footer__link--nav-body .footer__link--nav-list li.footer__link--nav-heading {
  font-size: 14px;
  font-weight: 700;
  line-height: 28px; }

.footer__pc-break {
  display: none; }
  @media screen and (min-width: 940px) {
    .footer__pc-break {
      display: block; } }

.footer__note + .footer__attention {
  margin-top: 24px; }

.footer__note--list {
  margin-top: 12px; }
  .footer__note--list .note__list--item {
    display: flex;
    flex-direction: column;
    font-size: 12px;
    line-height: 22px; }
    @media screen and (min-width: 940px) {
      .footer__note--list .note__list--item {
        align-items: center;
        flex-direction: row; } }

.footer__attention {
  background-color: rgba(255, 255, 255, 0.05);
  padding: 24px; }
  .footer__attention h2 {
    font-size: 14px;
    font-weight: 700;
    line-height: 19px;
    margin-bottom: 12px; }
  .footer__attention .attention__note {
    font-size: 12px;
    line-height: 22px; }
    .footer__attention .attention__note + h2 {
      margin-top: 24px; }

.footer__btn--row {
  display: flex;
  flex-direction: column;
  margin-top: 15px; }
  @media screen and (min-width: 940px) {
    .footer__btn--row {
      align-items: center;
      flex-direction: row; } }
  .footer__btn--row .btn-outline {
    flex: 1;
    justify-content: flex-start; }
    .footer__btn--row .btn-outline + .btn-outline {
      margin-top: 12px; }
      @media screen and (min-width: 940px) {
        .footer__btn--row .btn-outline + .btn-outline {
          margin-left: 12px;
          margin-top: 0; } }
  @media screen and (min-width: 940px) {
    /* リスク費用ボタンはCFD分割で4個。PCで1行に収めるため font 12px / 左右padding 10px（2026-07-10 ユーザー指定） */
    .footer__btn--row .btn-outline {
      padding: 0 10px; }
    .footer__btn--row .btn-outline .btn-text {
      font-size: 12px; } }

.footer__copy {
  align-items: center;
  display: flex;
  font-size: 12px;
  letter-spacing: .5px;
  line-height: 22px;
  margin-top: 32px;
  width: 100%; }
  @media screen and (min-width: 940px) {
    .footer__copy {
      margin-top: 55px; } }

main {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding-top: 0; }
  @media screen and (min-width: 940px) {
    main {
      padding-top: 0; } }

.contents {
  display: flex;
  flex-direction: column;
  height: 100%; }

/*# sourceMappingURL=app.css.map */

/*----------------------------------------------------
 maimate header
----------------------------------------------------*/
@media screen and (min-width: 940px) {
  .header-maimate .header__inner {
    margin-left: auto;
    margin-right: auto;
    min-width: 940px;
    padding-left: 1em;
    padding-right: 1em;
    width: 66%;
  }
}

/* header__logo */
.header-maimate .header__logo {
    background-image: url("/triauto/assets/css/img/logo/logo-maimate.svg");
    height: 44px;
    margin-left: 12px;
    min-width: 77px;
    width: 77px;
}
@media screen and (min-width: 940px) {
    .header-maimate .header__logo {
        background-image: url("/triauto/assets/css/img/logo/logo-maimate.svg");
        height: 56px;
    }
}
/* header__btn */
.header-maimate .header__btn--list {
  margin-right: 8px;
}
.header-maimate .header__btn--list li {
  padding-left: 16px;
}

/* header__nav */
.header-maimate .header__nav--icon span:nth-child(2) {
  background-color: #FFFFFF;
}

@media screen and (max-width: 939px) {
  .header-maimate .header__nav.--active .header__nav--list .nav__item--header::after {
    background-image: none;
  }
}
@media screen and (min-width: 940px) {
  .header-maimate .header__nav {
    margin-left: 100px;
  }
  .header-maimate .header__nav .header__nav--list .nav__items--item:not(:first-of-type) {
    padding-left: 25px;
  }
}

/*----------------------------------------------------
 triauto header
----------------------------------------------------*/
/* header__logo */
.header-for-triauto .header__logo {
  background-image: url("/triauto/assets/css/img/logo/logo-triauto.png");
  height: 44px;
  margin-left: 12px;
  min-width: 120px;
  width: 120px;
}
@media screen and (min-width: 940px) {
  .header-for-triauto {
    font-size: 11px;
  }
  .header-for-triauto .header__logo {
      height: 56px;
      min-width: 150px;
      width: 150px;
  }
  .header-for-triauto .header__nav {
    flex: 1 1 auto;
    min-width: 0;
  }
  .header-for-triauto .header__nav .header__nav--list {
    align-items: center;
    display: flex;
    gap: 10px;
    grid-template-columns: none;
    min-width: 0;
  }
  .header-for-triauto .header__nav .header__nav--list .nav__items--item {
    max-width: none;
    min-width: 0;
    padding: 0;
  }
  .header-for-triauto .header__nav .header__nav--list .nav__items--item:not(:first-of-type) {
    padding: 0;
  }
  .header-for-triauto .header__btn--list .btn {
    width: 96px;
  }
}
@media screen and (min-width: 1100px) {
  .header-for-triauto {
    font-size: 12px;
  }
  .header-for-triauto .header__btn--list .btn {
    width: 110px;
  }
}
@media screen and (min-width: 1280px) {
  .header-for-triauto {
    font-size: 14px;
  }
  .header-for-triauto .header__nav .header__nav--list {
    gap: 12px;
  }
  .header-for-triauto .header__btn--list .btn {
    width: 120px;
  }
}

@media screen and (min-width: 1350px) {
  .header-for-triauto .header__logo {
    min-width: 225px;
    width: 225px;
  }
  .header-for-triauto .header__nav .header__nav--list {
    gap: 16px;
  }
  .header-for-triauto .header__btn--list .btn {
    width: 130px;
  }
}
@media screen and (min-width: 1500px) {
  .header-for-triauto .header__nav .header__nav--list {
    gap: 20px;
  }
  .header-for-triauto .header__btn--list .btn {
    width: 140px;
  }
}


/*----------------------------------------------------
 click365 header
----------------------------------------------------*/
/* header__logo */
.header-click365 .header__logo {
  background-image: url("/triauto/assets/css/img/logo/logo-click365.png?20240830") !important;
  height: 44px;
  margin-left: 12px;
  min-width: 120px;
  width: 120px;
}
@media screen and (min-width: 940px) {
  .header-click365 .header__logo {
      height: 56px;
      min-width: 130px;
      width: 130px;
      }
}

/*----------------------------------------------------
 default header
----------------------------------------------------*/
/* header__logo */
.header-default .header__logo,
.header-click365 .header__logo-invast {
  background-image: url("/triauto/assets/css/img/logo/logo-invast.png?20240830");
  height: 44px;
  margin-left: 12px;
  min-width: 120px;
  width: 120px;
}
.header-click365 .header__logo {
  display: none;
}
@media screen and (min-width: 940px) {
  .header-click365 .header__logo {
    display: block;
  }
  .header-default .header__nav {
    flex: 1 1 auto;
    margin-left: 12px;
    min-width: 0;
  }
  .header-default .header__nav .header__nav--list {
    align-items: center;
    display: flex;
    gap: 10px;
    grid-template-columns: none;
    min-width: 0;
  }
  .header-default .header__nav .header__nav--list .nav__items--item {
    max-width: none;
    min-width: 0;
    padding: 0;
  }
  .header-default .header__nav .header__nav--list .nav__items--item:not(:first-of-type) {
    padding: 0;
  }
  .header-default .header__nav .header__nav--list li {
    font-size: 10px;
  }
  .header-default .header__btn--list .btn {
    width: 92px;
  }
}
@media screen and (min-width: 1024px) {
  .header-default .header__nav {
    margin-left: 16px;
  }
  .header-default .header__nav .header__nav--list {
    gap: 10px;
  }
  .header-default .header__btn--list .btn {
    width: 100px;
  }
}
@media screen and (min-width: 1180px) {
  .header-default .header__logo,
  .header-click365 .header__logo-invast {
    height: 56px;
    min-width: 225px;
    width: 225px;
  }
  .header-default .header__nav {
    margin-left: 20px;
  }
  .header-default .header__nav .header__nav--list {
    gap: 12px;
  }
  .header-default .header__btn--list .btn {
    width: 112px;
  }
}
@media screen and (min-width: 1300px) {
  .header-default .header__nav .header__nav--list li {
    font-size: 13px;
  }
  .header-default .header__nav .header__nav--list {
    gap: 14px;
  }
  .header-default .header__btn--list .btn {
    width: 126px;
  }
}
@media screen and (min-width: 1440px) {
  .header-default .header__nav .header__nav--list li {
    font-size: 14px;
  }
  .header-default .header__nav .header__nav--list {
    gap: 18px;
  }
  .header-default .header__btn--list .btn {
    width: 140px;
  }
}

/*----------------------------------------------------
 pc/sp
----------------------------------------------------*/
.pc {
  display: none;
}

.pc-i {
  display: none;
}

.sp {
  display: block;
}

.sp-i {
  display: inline;
}

@media (min-width: 940px) {
  .pc {
      display: block;
  }

  .pc-i {
      display: inline;
  }

  .sp,
  .sp-i {
      display: none;
  }
}

/* ============================================================
 * 共通 token 一覧
 * ------------------------------------------------------------
 * token は「名前付きの値」。同じ色や文字サイズを何度も直書きしないためのもの。
 * 例: color: #1e5fad; と書かず、color: var(--ta-color-main); と書く。
 *
 * 名前の読み方:
 *  - --ta-color-*  : 色。青、オレンジ、文字色など。
 *  - --ta-font-*   : フォントの種類。日本語は Noto Sans JP。
 *  - --ta-type-*   : font 一式。太さ、サイズ、行間、フォントをまとめたもの。
 *  - --ta-space-*  : 余白。margin / padding / gap に使う。
 *  - --ta-radius-* : 角丸。カードやボタンに使う。
 *  - --ta-shadow-* : 影。カードや浮くUIに使う。
 *
 * 古い --mane-color などは昔のCSSとの互換用。
 * 新しくCSSを書く時は、なるべく --ta-* を使う。
 * ============================================================ */
:root {
  /* 色: 古い名前は互換用。新規CSSでは下の --ta-color-* を優先する。 */
  --mane-color: #1e5fad;
  --primary-dark: #0a2463;
  --primary-light: #3a82d4;
  --primary-pale: #ebf3fc;
  --accent: #ff6800;
  --accentlite: #ffa54f;
  --text: #1a1a2e;
  --color-text: #1a1a2e;
  --font-size-base: 16px;
  --line-height-base: 1.75;
  --sub-text: #5a6a85;
  --bg-01: #fff;
  --bg-02: #f7f9fc;
  --border: #d4dce8;
  --radius: 8px;
  --content-width: 1000px;
  --content-gutter: 20px;
  --content-gutter-pc: 40px;
  --success: #18a558;
  --e-5-3e-3e: #e53e3e;
  --cardborder: #f2f5f9;
  --card: 0 4px 14px 0 rgba(235, 243, 252, 0.48);
  --card-02: 0 4px 10px 0 rgba(138, 151, 165, 0.4);
  --ta-color-main: var(--mane-color);
  --ta-color-primary: var(--primary-dark);
  --ta-color-primary-light: var(--primary-light);
  --ta-color-primary-pale: var(--primary-pale);
  --ta-color-accent: var(--accent);
  --ta-color-accent-light: var(--accentlite);
  --ta-color-text: var(--text);
  --ta-color-sub-text: var(--sub-text);
  --ta-color-bg: var(--bg-01);
  --ta-color-bg-light: var(--bg-02);
  --ta-color-border: var(--border);
  --ta-color-success: var(--success);
  --ta-color-error: var(--e-5-3e-3e);
  --ta-color-card-border: var(--cardborder);
  /* フォント: 日本語UIは Noto Sans JP。ヒラギノなど旧フォントは増やさない。 */
  --ta-font-family-ja: "Noto Sans JP", "Noto Sans", sans-serif;
  --ta-font-family-en: "DIN 2014 Narrow", "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
  --ta-letter-spacing-ja: 1px;
  /* 文字サイズ: header / hero / footer 以外は固定px。本文はPC/SPとも16px。 */
  --ta-ja-pc-h1-bold: 700 40px/1.7 var(--ta-font-family-ja);
  --ta-ja-pc-h2-bold: 700 28px/1.7 var(--ta-font-family-ja);
  --ta-ja-pc-h3-bold: 700 24px/1.7 var(--ta-font-family-ja);
  --ta-ja-pc-body-medium: 500 16px/1.7 var(--ta-font-family-ja);
  --ta-ja-pc-caption-medium: 500 12px/1.4 var(--ta-font-family-ja);
  --ta-ja-pc-title-bold: 700 15px/normal var(--ta-font-family-ja);
  --ta-ja-sp-h1-bold: 700 28px/1.7 var(--ta-font-family-ja);
  --ta-ja-sp-h2-bold: 700 24px/1.7 var(--ta-font-family-ja);
  --ta-ja-sp-h3-bold: 700 18px/1.7 var(--ta-font-family-ja);
  --ta-ja-sp-body-medium: 500 16px/1.7 var(--ta-font-family-ja);
  --ta-ja-sp-caption-regular: 400 12px/1.4 var(--ta-font-family-ja);
  --ta-en-pc-display-bold: 700 40px/1.7 var(--ta-font-family-en);
  --ta-en-pc-h2-bold: 700 32px/1.7 var(--ta-font-family-en);
  --ta-en-pc-h3-regular: 400 32px/1.7 var(--ta-font-family-en);
  --ta-en-pc-body-highlight-regular: 400 20px/1.7 var(--ta-font-family-en);
  --ta-en-pc-caption-regular: 400 12px/1.4 var(--ta-font-family-en);
  --ta-en-sp-display-bold: 700 32px/1.7 var(--ta-font-family-en);
  --ta-en-sp-h2-bold: 700 24px/1.7 var(--ta-font-family-en);
  --ta-en-sp-heading-regular: 400 18px/1.7 var(--ta-font-family-en);
  --ta-en-sp-body-highlight-regular: 400 16px/1.7 var(--ta-font-family-en);
  --ta-en-sp-caption-regular: 400 12px/1.4 var(--ta-font-family-en);
  --ta-type-h1-pc: var(--ta-ja-pc-h1-bold);
  --ta-type-h2-pc: var(--ta-ja-pc-h2-bold);
  --ta-type-h3-pc: var(--ta-ja-pc-h3-bold);
  --ta-type-h4-pc: 700 16px/1.7 var(--ta-font-family-ja);
  --ta-type-h5-pc: var(--ta-ja-pc-title-bold);
  --ta-type-h6-pc: var(--ta-ja-pc-caption-medium);
  --ta-type-h1-sp: var(--ta-ja-sp-h1-bold);
  --ta-type-h2-sp: var(--ta-ja-sp-h2-bold);
  --ta-type-h3-sp: var(--ta-ja-sp-h3-bold);
  --ta-type-h4-sp: 700 16px/1.7 var(--ta-font-family-ja);
  --ta-type-h5-sp: 700 15px/normal var(--ta-font-family-ja);
  --ta-type-h6-sp: var(--ta-ja-sp-caption-regular);
  --ta-type-card-title-pc: 700 20px/1.7 var(--ta-font-family-ja);
  --ta-type-card-title-sp: 700 16px/1.7 var(--ta-font-family-ja);
  --ta-type-body: var(--ta-ja-pc-body-medium);
  --ta-type-body-sp: var(--ta-ja-sp-body-medium);
  --ta-type-body-sm: 500 14px/1.7 var(--ta-font-family-ja);
  --ta-type-caption: var(--ta-ja-pc-caption-medium);
  --ta-type-caption-sp: var(--ta-ja-sp-caption-regular);
  --ta-type-en-display: var(--ta-en-pc-display-bold);
  --ta-type-en-display-sp: var(--ta-en-sp-display-bold);
  --ta-type-en-h2: var(--ta-en-pc-h2-bold);
  --ta-type-en-h2-sp: var(--ta-en-sp-h2-bold);
  --ta-type-en-heading: var(--ta-en-pc-h2-bold);
  --ta-type-en-body-highlight: var(--ta-en-pc-body-highlight-regular);
  --ta-type-en-body-highlight-sp: var(--ta-en-sp-body-highlight-regular);
  /* 余白: 小さい部品は 4/8/12/16/20px、大きな区切りは 40/80px を使う。 */
  --ta-space-2xs: 4px;
  --ta-space-xs: 8px;
  --ta-space-s: 12px;
  --ta-space-m: 16px;
  --ta-space-l: 20px;
  --ta-space-xl: 24px;
  --ta-space-2xl: 40px;
  --ta-space-3xl: 56px;
  --ta-space-4xl: 80px;
  --ta-space-block: 40px;
  --ta-space-text-gap: 28px;
  --ta-section-padding-sp: 40px;
  --ta-section-padding-pc: 80px;
  --ta-heading-accent-bar-width: 100px;
  --ta-heading-accent-bar-height: 2px;
  --ta-heading-accent-bar-color: var(--ta-color-accent-light, #ffa54f);
  /* レイアウト: 中身幅は1000px基準。左右余白はSP 20px / PC 40px。 */
  --ta-layout-content-width: var(--content-width);
  --ta-layout-gutter-sp: var(--content-gutter);
  --ta-layout-gutter-pc: var(--content-gutter-pc);
  --ta-radius-s: 6px;
  --ta-radius-m: 8px;
  --ta-radius-l: 12px;
  --ta-shadow-card: var(--card);
  --ta-shadow-floating: var(--card-02);
  --header-ui-primary: var(--ta-color-main);
  --header-ui-primary-dark: var(--ta-color-primary);
  --header-ui-accent: var(--ta-color-accent);
  --header-ui-text: var(--ta-color-text);
  --header-ui-border: var(--ta-color-border);
}

/* Header visual refresh: style-only overrides, preserving the existing DOM and behavior. */
.header {
  background: rgba(255, 255, 255, 0.92);
  box-shadow: none;
}

.header__nav .header__nav--list .nav__item--header,
.header__nav .header__nav--list .nav__item--header-no-js,
.header__btn--list .btn a {
  letter-spacing: 0;
}

.header__nav .header__nav--list .nav__item--header,
.header__nav .header__nav--list .nav__item--header-no-js {
  font-weight: 500;
}

.header__btn--list .btn {
  border-radius: 6px;
}

.header__btn--list .btn a {
  font-weight: 500;
}

.header__nav--icon span {
  background-color: #FFFFFF;
}

.header__nav--icon span:nth-child(2) {
  background-color: #FFFFFF;
}

@media screen and (max-width: 939px) {
  .header__nav.--active {
    background-color: #f7f9fc;
  }

  .header__nav.--active .header__nav--list .nav__item--header,
  .header__nav.--active .header__nav--list .nav__item--header-no-js {
    border-bottom-color: var(--header-ui-border);
    color: var(--header-ui-text);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
  }
}

@media screen and (min-width: 940px) {
  .header {
    background: transparent;
    height: 76px;
    padding: 8px 28px 0;
  }

  .header__inner {
    background-color: rgba(255, 255, 255, 0.86);
    border: 1px solid #fff;
    border-radius: 0.5rem;
    width: 100%;
  }

  @supports ((-webkit-backdrop-filter: blur(12px)) or (backdrop-filter: blur(12px))) {
    .header__inner {
      -webkit-backdrop-filter: blur(12px);
      backdrop-filter: blur(12px);
    }
  }

  .header__logo,
  .header__logo-invast {
    height: 20px;
    margin-left: 0;
    min-width: 112px;
    width: 112px;
  }

  .header__nav {
    align-items: center;
    flex: 1 1 auto;
    height: 56px;
    margin-left: 26px;
    min-width: 0;
  }

  .header__nav .header__nav--list,
  .header-default .header__nav .header__nav--list {
    align-items: center;
    display: flex;
    gap: clamp(10px, 1.4vw, 28px);
    grid-template-columns: none;
  }

  .header__nav .header__nav--list .nav__items--item,
  .header-default .header__nav .header__nav--list .nav__items--item,
  .header__nav .header__nav--list .nav__items--item:not(:first-of-type) {
    max-width: none;
    padding: 0;
  }

  .header__nav .header__nav--list .nav__item--header,
  .header__nav .header__nav--list .nav__item--header-no-js {
    color: var(--header-ui-text);
    font-size: 11px;
    justify-content: flex-start;
    line-height: 1.4;
    transition: color 0.2s ease;
    width: auto;
  }

  .header__nav .header__nav--list .nav__item--header:hover,
  .header__nav .header__nav--list .nav__item--header-no-js:hover,
  .header__nav .header__nav--list .nav__item--header.active,
  .header__nav .header__nav--list .nav__item--header-no-js.active {
    color: var(--header-ui-accent);
  }

  .header__btn--list {
    gap: 12px;
    height: auto;
    margin-left: 22px;
  }

  .header .header__btn--list .btn,
  .header-default .header__btn--list .btn {
    height: auto;
    min-width: 0;
    overflow: visible;
    width: auto;
  }

  .header__btn--list .btn::after {
    content: none;
  }

  .header__btn--list .btn a {
    min-width: 78px;
    padding: 8px 18px;
  }

  .header__btn--list .btn.btn__account {
    background-color: var(--header-ui-accent);
    border-color: var(--header-ui-accent);
  }

  .header__btn--list .btn.btn__account:hover {
    background-color: #e85f00;
    border-color: #e85f00;
  }

  .header__btn--list .btn.btn__account:hover a,
  .header__btn--list .btn.btn__account a {
    color: #fff;
  }

  .header__btn--list .btn.btn__login {
    background-color: #fff;
    border-color: var(--header-ui-primary);
  }

  .header__btn--list .btn.btn__login:hover {
    background-color: #ebf3fc;
  }

  .header__btn--list .btn.btn__login:hover a,
  .header__btn--list .btn.btn__login a {
    color: var(--header-ui-primary);
  }
}

@media screen and (min-width: 940px) and (max-width: 1160px) {
  .header {
    padding-left: 16px;
    padding-right: 16px;
  }

  .header__inner {
    padding-left: 20px;
    padding-right: 16px;
  }

  .header__nav {
    margin-left: 18px;
  }

  .header__logo,
  .header__logo-invast {
    min-width: 100px;
    width: 100px;
  }

  .header__nav .header__nav--list,
  .header-default .header__nav .header__nav--list {
    gap: 10px;
  }

  .header__nav .header__nav--list .nav__item--header,
  .header__nav .header__nav--list .nav__item--header-no-js {
    font-size: 11px;
  }

  .header__btn--list {
    gap: 8px;
    margin-left: 12px;
  }

  .header__btn--list .btn a {
    min-width: 66px;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* ========================================
   Triauto Navigation Redesign (2026-05-14)
   ======================================== */

/* CSS Custom Properties */
:root {
  --nav-mane-color: rgba(30, 95, 173, 1);
  --nav-accent: rgba(255, 104, 0, 1);
  --nav-text: rgba(26, 26, 46, 1);
  --nav-bg-01: rgba(255, 255, 255, 1);
  --nav-border: rgba(212, 220, 232, 1);
}

/* Override base .header styles for triauto */
.header-for-triauto {
  align-items: stretch;
  background-color: transparent;
  display: block;
  height: 48px;
  min-height: 48px;
  padding: 0;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}

.header.header-for-triauto {
  animation: none;
  background-color: transparent;
  transform: none;
  transition: none;
}

@media (max-width: 768px) {
  .header-for-triauto,
  .header-for-triauto .navigation,
  .header-for-triauto .navigation .nav-frame {
    background: rgba(255, 255, 255, 0.60);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
  }

  .header-for-triauto {
    height: 48px;
    min-height: 48px;
  }

  .header-for-triauto .navigation {
    min-height: 48px;
  }

  .header-for-triauto .navigation .nav-frame {
    height: 48px;
    min-height: 48px;
  }
}

@media (min-width: 769px) {
  .header-for-triauto {
    /* pill floats over content; header bar background is transparent */
    background-color: transparent;
    height: 106px; /* 16px top gap + 90px pill height */
    min-height: 106px;
    overflow: visible;
    padding: 0;
  }
}

/* Navigation pill container */
.header-for-triauto .navigation {
  background-color: transparent;
  border: 0;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: flex-start;
  justify-content: flex-start;
  margin: 0 auto;
  max-width: 100%;
  padding: 0;
  position: relative;
  width: 100%;
  z-index: 1000;
}

@media (min-width: 769px) {
  .header-for-triauto .navigation {
    /* pill style — Figma 1567:14240 */
    align-items: flex-start;
    background: rgba(255, 255, 255, 0.60);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    border: 1px solid #FFF;
    border-radius: 8px;
    box-sizing: border-box;
    /* centering inside fixed header */
    display: flex;
    flex-direction: column;
    gap: 10px;
    left: 50%;
    margin: 0;
    max-width: calc(100vw - 48px);
    padding: 10px 48px;
    position: absolute;
    top: 16px;
    transform: translateX(-50%);
    width: min(1200px, calc(100vw - 48px));
  }
}

/* Frame row: logo + CTA + hamburger */
.header-for-triauto .navigation .nav-frame {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 48px;
  padding: 0 16px;
  width: 100%;
}

.header-for-triauto .navigation .nav-frame > a {
  display: inline-flex;
  align-items: center;
}

/* Logo image */
.header-for-triauto .navigation .element {
  display: block;
  height: 30px;
  width: auto;
  max-width: none;
}

@media (max-width: 768px) {
  .header-for-triauto .navigation .element {
    height: 24px;
    width: auto;
    max-width: 160px;
  }
}

@media (min-width: 769px) {
  .header-for-triauto .navigation .nav-frame {
    padding: 0;
    gap: 24px;
  }

  /* pill内ロゴ */
  .header-for-triauto .navigation .nav-logo {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
  }
  .header-for-triauto .navigation .nav-logo img {
    display: block;
    height: 26px;
    width: auto;
  }
}

/* モバイル: nav-logo */
.header-for-triauto .navigation .nav-logo {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.header-for-triauto .navigation .nav-logo img {
  display: block;
  height: 20px;
  width: auto;
}

@media (min-width: 769px) {
  .header-for-triauto .navigation .nav-logo img {
    height: 26px;
  }
}

/* CTA area */
.header-for-triauto .navigation .cta-area {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  margin-left: 0;
}

/* SP用アクションポータル（body直下・中立コンテナ）
   position:fixed ヘッダーへ position:fixed 子をネストすると iOS Safari で
   固定基準がヘッダーに奪われるため、SP時のみ CTA/ハンバーガーをここへ移動する。
   ポータル自体は静的・無背景にして、既存セレクタ(.header-for-triauto .navigation ...)を
   そのまま再利用する。 */
.header-for-triauto--portal {
  position: static;
  height: auto;
  min-height: 0;
  background: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  z-index: auto;
  display: block;
}
.header-for-triauto--portal .navigation {
  position: static;
  transform: none;
  background: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
  min-height: 0;
  width: auto;
  max-width: none;
  display: block;
}
@media (min-width: 769px) {
  .header-for-triauto--portal {
    display: none;
  }
}

@media (max-width: 768px) {
  .header.header-for-triauto .navigation .cta-area {
    visibility: hidden;
  }

  .header-for-triauto--portal .navigation .cta-area {
    visibility: visible;
  }

  .header-for-triauto .navigation .cta-area {
    align-items: stretch;
    background: #ffffff;
    bottom: 0;
    box-shadow: 0 -2px 12px rgba(18, 36, 58, 0.08);
    display: grid;
    gap: 0;
    grid-template-columns: 1fr 1fr;
    left: 0;
    margin: 0;
    padding: 0;
    position: fixed;
    right: 0;
    width: 100%;
    z-index: 1002;
  }
}

/* 口座開設ボタン */
.header-for-triauto .navigation .cta-button {
  align-items: center;
  background-color: var(--nav-accent, #ff6800);
  border-radius: 6px;
  display: inline-flex;
  justify-content: center;
  padding: 10px 24px;
  text-decoration: none;
  transition: opacity 0.2s;
}

@media (max-width: 768px) {
  .header-for-triauto .navigation .cta-button {
    border-radius: 6px 0 0 0;
    height: 48px;
    min-height: 48px;
    padding: 7px 12px;
    width: 100%;
  }
}

.header-for-triauto .navigation .cta-button:hover {
  /* opacity 減衰は廃止。hover は共通の白グロー（.ta-hover-glow 同居セレクタ）が担当（2026-07-08） */
  text-decoration: none;
}

.header-for-triauto .navigation .cta-text {
  color: #ffffff;
  font-family: "Noto Sans JP", Helvetica;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1.4;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .header-for-triauto .navigation .cta-text {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.7;
  }
}

/* ログインボタン */
.header-for-triauto .navigation .cta-text-wrapper {
  align-items: center;
  background-color: #ffffff;
  border: 1px solid var(--nav-mane-color, #1e5fad);
  border-radius: 6px;
  display: inline-flex;
  justify-content: center;
  padding: 10px 24px;
  text-decoration: none;
  transition: opacity 0.2s;
}

@media (max-width: 768px) {
  .header-for-triauto .navigation .cta-text-wrapper {
    border-color: var(--nav-mane-color, #1e5fad);
    border-radius: 0 6px 0 0;
    height: 48px;
    min-height: 48px;
    padding: 7px 12px;
    width: 100%;
  }
}

.header-for-triauto .navigation .cta-text-wrapper:hover {
  /* opacity 減衰は廃止。hover は共通の白グロー（.ta-hover-glow 同居セレクタ）が担当（2026-07-08）。
     白背景ボタンでは白グローがほぼ見えないため、境界線側をわずかに強調 */
  border-color: var(--nav-mane-color, #1e5fad);
  box-shadow: 0 0 0 1px var(--nav-mane-color, #1e5fad) inset;
  text-decoration: none;
}

.header-for-triauto .navigation .text-wrapper {
  color: var(--nav-mane-color, #1e5fad);
  font-family: "Noto Sans JP", Helvetica;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1.4;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .header-for-triauto .navigation .text-wrapper {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.7;
  }
}

/* Hamburger icon (mobile only) */
.header-for-triauto .navigation .header__nav--icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  border-color: transparent;
  cursor: pointer;
  flex-direction: column;
  min-width: 36px;
  width: 36px;
  padding: 4px;
  z-index: 9999;
  height: 36px;
}

@media (max-width: 768px) {
  .header-for-triauto .navigation .header__nav--icon {
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    background: #1E5FAD;
    border: 1px solid #1E5FAD;
    border-radius: 8px;
    bottom: 64px;
    box-shadow: 0 10px 24px rgba(18, 36, 58, 0.24), 0 3px 8px rgba(30, 95, 173, 0.22);
    box-sizing: border-box;
    height: 48px;
    min-width: 48px;
    padding: 16px 14px;
    position: fixed;
    right: 20px;
    /* メニュー開閉時の右下⇔右上スライド移動＋箱の消え/戻り用（ドロワーと同じ時間） */
    transition: background-color .28s ease, box-shadow .28s ease, transform .28s ease;
    width: 48px;
    z-index: 1003;
  }

  .header-for-triauto .navigation .header__nav--icon:active {
    box-shadow: 0 6px 16px rgba(18, 36, 58, 0.2), 0 2px 6px rgba(30, 95, 173, 0.2);
  }

  .header-for-triauto .navigation .header__nav--icon span {
    background-color: #FFFFFF;
    height: 2px;
    top: 0;
    /* 白⇔青の線色フェードをボタンの移動・箱の消えと同じ時間で行う */
    transition: transform ease-in-out .2s, opacity .1s ease-in-out, background-color .28s ease;
    width: 20px;
  }

  .header-for-triauto .navigation .header__nav--icon span:nth-child(2) {
    background-color: #FFFFFF;
    margin: 5px 0;
  }

  .header-for-triauto .navigation .header__nav--icon.--active span {
    background-color: #FFFFFF;
  }

  .header-for-triauto .navigation .header__nav--icon.--active span:nth-child(1) {
    top: 0;
    transform: translateY(7px) rotate(45deg);
  }

  .header-for-triauto .navigation .header__nav--icon.--active span:nth-child(2) {
    opacity: 0;
    transform: none;
  }

  .header-for-triauto .navigation .header__nav--icon.--active span:nth-child(3) {
    top: 0;
    transform: translateY(-7px) rotate(-45deg);
  }
}

@media (min-width: 769px) {
  .header-for-triauto .navigation .header__nav--icon {
    display: none;
  }
}

/* Navbar: nav links — hidden on mobile, 2nd row on PC */
.header-for-triauto .navigation .ta-header-navbar {
  display: none;
  width: 100%;
}

@media (min-width: 769px) {
  .header-for-triauto .navigation .ta-header-navbar {
    align-items: center;
    background-color: transparent;
    display: flex;
    flex-wrap: nowrap;
    gap: 36px;
    padding: 0;
    white-space: nowrap;
  }
}

/* Nav links
 * :not(.global-nav) — 現行マークアップでは .header-for-triauto 配下の .ta-header-navbar は
 * 常に .global-nav (nav-global.php の ta-header-nav-item 構造) であり、この古いフラット構造向け
 * ルールは実際には使われていない。だが `.ta-header-navbar .link` は子孫セレクタのため
 * .ta-header-navbar.global-nav .ta-header-nav-item > .link にも波及し、SP でリンクの border-bottom と
 * ta-header-nav-item 自身の border-bottom が二重に表示される原因になっていた。
 * :not(.global-nav) で明示的に除外し、新しい ta-header-nav-item 側のボーダーのみが効くようにする。 */
.header-for-triauto .navigation .ta-header-navbar:not(.global-nav) .link {
  color: var(--nav-text, #1a1a2e);
  font-family: "Noto Sans JP", Helvetica;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1.4;
  position: relative;
  text-decoration: none;
  transition: color 0.2s;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .header-for-triauto .navigation .ta-header-navbar:not(.global-nav) .link {
    border-bottom: 1px solid var(--nav-border, rgba(212, 220, 232, 1));
    font-size: 16px;
    padding: 14px 0;
    white-space: normal;
    width: 100%;
  }
}

@media (min-width: 769px) {
  .header-for-triauto .navigation .ta-header-navbar:not(.global-nav) .link::after {
    background-color: var(--nav-accent, #ff6800);
    bottom: -7px;
    content: "";
    height: 2px;
    left: calc((min(1200px, calc(100vw - 48px)) - 100vw) / 2 + 7px);
    opacity: 0;
    position: absolute;
    right: 0;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.2s ease, opacity 0.2s ease;
  }
}

.header-for-triauto .navigation .ta-header-navbar:not(.global-nav) .link:hover,
.header-for-triauto .navigation .ta-header-navbar:not(.global-nav) .link.active {
  color: var(--nav-text, #1a1a2e);
  text-decoration: none;
}

@media (min-width: 769px) {
  .header-for-triauto .navigation .ta-header-navbar:not(.global-nav) .link:hover::after,
  .header-for-triauto .navigation .ta-header-navbar:not(.global-nav) .link.active::after {
    opacity: 1;
    transform: scaleX(1);
  }
}

/* Accessibility: focus styles */
.header-for-triauto .navigation .cta-button:focus-visible,
.header-for-triauto .navigation .cta-text-wrapper:focus-visible,
.header-for-triauto .navigation .ta-header-navbar:not(.global-nav) .link:focus-visible,
.header-for-triauto .navigation .nav-frame > a:focus-visible {
  outline: 2px solid #4a90e2;
  outline-offset: 2px;
}

/* --- end of triauto navigation styles --- */

/* ============================================================
 * Common @font-face  (added 20260526)
 * ------------------------------------------------------------
 * 既に --ta-font-family-en として参照されている DIN 2014 Narrow
 * の実体宣言。src は local() のみで、未インストール環境では
 * 何もダウンロードされず副作用ゼロ。
 * もともと /renewal-data/open-account-pc/globals.css に
 * 書かれていた共通基準の宣言を、共通CSS側に集約した。
 * ============================================================ */
@font-face {
  font-family: "DIN 2014 Narrow";
  src: local("DIN 2014 Narrow");
}

/* ============================================================
 * Top 共通レイアウト  (merged 20260526)
 * ------------------------------------------------------------
 * 旧 /renewal-data/top common CSS を共通レイヤーに統合。
 * 対象ページ:
 *   - /cfd/index.php          (.cfd-top-content .cfd-cfd)
 *   - /triauto/index.php      (.triauto-top-content .frame)
 * いずれも Figma エクスポートを zoom で原寸→ビューポート縮小
 * しているトップページ専用スコープ。
 * セレクタが .triauto-top-content / .cfd-top-content
 * の子孫に閉じているため他ページへの副作用はない。
 * (元コメント・構造は維持)
 * ============================================================ */

/* ===== html/body リセット (該当ページのみに限定) =====
 * 旧 top common CSS では `html, body { margin: 0; overflow-x: clip; }`
 * をグローバルに当てていたが、全 277 ページへ波及するのを避けるため
 * 該当ページ (body クラス: cfd-top / triauto-top) にスコープした。
 * html 側は :has() で body クラスから判定 (モダンブラウザは普遍サポート)。 */
html:has(> body.cfd-top),
html:has(> body.triauto-top),
body.cfd-top,
body.triauto-top {
  margin: 0;
  overflow-x: clip;
}

/* ===== メインビジュアル共通ズーム変数 ===== */
:root {
  --mv-zoom: 0.7778; /* MV zoom = 510px設計 → 視覚高さ ≈ 397px */
}

/* ===== ズームラッパー共通設定 ===== */
.triauto-top-content .frame,
.cfd-top-content .cfd-cfd {
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
  display: block !important;
  margin: 0 auto;
  overflow: hidden;
  padding-top: 0 !important;
  /* ▼ 1か所変更すれば対象トップページに反映 */
  width: 1440px;
  zoom: calc(100vw / 1440px);
}

/* Figma エクスポートHTML内の <main> タグに app.css の
   padding-top が適用されないよう上書き */
.cfd-top-content .cfd-cfd main {
  padding-top: 0 !important;
}

.triauto-top-content .frame *,
.cfd-top-content .cfd-cfd * {
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}

/* ===== コンテンツ外枠 ===== */
.triauto-top-content,
.cfd-top-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow-x: clip;
  padding-top: 0;
}

@media (min-width: 940px) {
  .triauto-top-content,
  .cfd-top-content {
    padding-top: 0;
  }
}

/* ===== リンクのデフォルト装飾をリセット ===== */
.triauto-top-content .frame a,
.cfd-top-content .cfd-cfd a {
  text-decoration: none;
}

/* ===== 背景付きセクション共通処理 =====
 * Figma snapshot は section 幅と背景幅が別管理になりやすいため、
 * top-bg-section を付けた直下セクションだけ背景を viewport 端まで拡張する。
 * 背景色は各セクションの computed background を継承するため、色変更は元セクション側だけでよい。
 */
.triauto-top-content .frame > .top-bg-section,
.cfd-top-content .cfd-cfd > main > .top-bg-section {
  position: relative;
  isolation: isolate;
}

.triauto-top-content .frame > .top-bg-section::before,
.cfd-top-content .cfd-cfd > main > .top-bg-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: -100vmax;
  bottom: 0;
  left: -100vmax;
  background: inherit;
  pointer-events: none;
}
/* ============================================================
 * Global nav megamenu (moved from header.php 20260527)
 * ============================================================ */
/* ===== Global nav megamenu ===== */
.global-header-reserve {
  display: block;
  height: 70px;
  pointer-events: none;
}

/* ページ共通の body 背景はデフォルト白 */
body {
  background-color: #fff;
}

/* 全ページ共通: SP/PC 両方で横スクロールを固定で防止
   100vw フルブリードやはみ出し要素由来の横スクロールを抑止する。
   overflow-x: clip は内部の overflow-x:auto/scroll 領域(表・カルーセル)を壊さない。 */
html,
body {
  overflow-x: clip;
}

/* 遷移時のカクツキ防止: DOMが短い初期描画から縦スクロールバー分の幅を確保する。
   scrollbar-gutter: stable だけでは overflow-y: visible の初期状態に幅が確保されないため、
   常時スクロール領域を生成してヘッダー・hero・本文の中央位置を固定する。 */
html {
  overflow-y: scroll;
}

body:has(.global-header-reserve) {
  margin: 0;
  padding-top: 0 !important;
  color: var(--ta-color-text);
  font-family: var(--ta-font-family-ja);
}

body.--news-list main,
body.blog #main,
body.triauto-blog .main {
  margin-top: 0;
  padding-top: 0;
}

/* /triauto/blogs/ - remove header-title gap */
body.triauto-blog .header-triauto-blog {
  padding-top: 0;
}

/* /blogs/fx_news/ - 為替予想ヒーロー帯: WP側 .gnav-fx_news の padding-top:90px は旧WP固定ヘッダー用。
   新共通ヘッダーでは reserve が高さを確保するため純粋な空白になる → 0 に(faqs帯の nav.gnav-faqs 補正と同じ扱い。
   WPバンドルCSSがapp.cssより後に読まれるため !important が必要) */
nav.gnav-fx_news {
  padding-top: 0 !important;
}

/* /blogs/ 配下全ページ - remove gnav padding-top (header-title gap) */
#gnav {
  padding-top: 0;
  margin-top: 24px;
}

/* サブナビ展開時の背景暗転(黒36%オーバーレイ)は廃止 (ユーザー指定 2026-07-09
   「ヘッダーにカーソルをかざした時に後ろが薄暗くなるのを消す」)。
   body.has-global-nav-overlay クラス自体は global-nav.js が引き続き付与するので、
   暗転を復活させる場合はここに ::before オーバーレイを再定義する。 */

.header-for-triauto + .global-header-reserve {
  height: 48px;
}

/* 共通ヘッダー直下の予約領域は初回描画から固定する。
   ページ固有CSSの旧値(0/100/106px等)やJS実測による後追い更新で本文を動かさない。 */
.header.header-for-triauto + .global-header-reserve,
.header-for-triauto + .global-header-reserve.global-header-reserve--stable {
  height: 48px !important;
}

.header-for-triauto .navigation .ta-header-navbar.global-nav { display: none; width: 100%; }
@media (min-width: 769px) {
  .global-header-reserve {
    height: 90px;
  }

  .header-for-triauto + .global-header-reserve {
    /* ピル実高の最大値(下端108.2px @ font-size clamp上限)より下に本文を開始させる。
       104〜108px だとピル下端が .ta-hero 等の先頭全幅要素に接触/乗り上げる(2026-07-18 実測) */
    height: 112px;
  }

  .header.header-for-triauto + .global-header-reserve,
  .header-for-triauto + .global-header-reserve.global-header-reserve--stable {
    height: 112px !important;
  }

  .header-for-triauto {
    height: 100px;
    min-height: 100px;
  }
  .header-for-triauto .navigation {
    gap: 8px;
    padding: 9px clamp(18px, 3.6vw, 46px);
    top: 14px;
  }
  .header-for-triauto .navigation .nav-frame {
    min-height: 44px;
  }
  .header-for-triauto .navigation .nav-logo-group {
    align-items: center;
    display: inline-flex;
    gap: 14px;
    flex-shrink: 0;
  }
  .header-for-triauto .navigation .nav-logo img {
    height: 25px;
  }
  .header-for-triauto .navigation .nav-logo .nav-logo__service {
    height: 22px;
    width: auto;
  }
  .header-for-triauto .navigation .nav-logo .nav-logo__service--cfd {
    width: 172px;
  }
  .header-for-triauto .navigation .cta-button,
  .header-for-triauto .navigation .cta-text-wrapper {
    padding: clamp(7px, 0.65vw, 10px) clamp(12px, 1.5vw, 24px);
  }
  .header-for-triauto .navigation .cta-area {
    gap: clamp(10px, 1.3vw, 18px);
  }
  .header-for-triauto .navigation .cta-text,
  .header-for-triauto .navigation .text-wrapper {
    font-size: clamp(11px, 1.05vw, 13px);
    line-height: 1.35;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: clamp(10px, 1.75vw, 26px);
    padding: 0;
    position: relative;
  }
  .header-for-triauto .navigation:has(.ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .submenu) {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
}
.header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item { position: relative; }
.header-for-triauto .navigation .nav-logo .nav-logo__service { display: none; }
.header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item > .link {
  color: var(--nav-text, #1a1a2e);
  font-family: "Noto Sans JP", Helvetica;
  font-size: clamp(11px, 1.05vw, 13px);
  font-weight: 500;
  letter-spacing: .2px;
  line-height: 1.4;
  text-decoration: none;
  transition: color .25s ease; /* オレンジ⇔通常色の切替を急に変えず目にやさしくフェード (2026-07-09) */
  white-space: nowrap;
  display: inline-block;
  padding: 2px 0;
  position: relative;
}
.header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item > .link[role="button"] {
  cursor: pointer;
}
.header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item > .link[role="button"]:focus-visible {
  outline: 2px solid var(--nav-accent, #ff6800);
  outline-offset: 4px;
}
.header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item > .link::before {
  background-color: var(--nav-accent, #ff6800);
  bottom: -7px;
  content: "";
  height: 2px;
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item > .link::after {
  content: none;
}
.header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-current > .link,
.header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item > .link:hover,
.header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .link { color: #ff6800; }
.header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-current > .link::before,
.header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item:hover > .link::before,
.header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .link::before,
.header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item:focus-within > .link::before {
  opacity: 1;
  transform: scaleX(1);
}

/* chevron toggle button (mobile / small) */
.header-for-triauto .navigation .ta-header-navbar.global-nav .nav-toggle,
.header-for-triauto .navigation .ta-header-navbar.global-nav .sub-toggle {
  background: none; border: 0; padding: 8px; margin-left: auto; cursor: pointer; line-height: 0;
}
.header-for-triauto .navigation .ta-header-navbar.global-nav .nav-chevron {
  display: inline-block; width: 8px; height: 8px;
  border-right: 2px solid #1a1a2e; border-bottom: 2px solid #1a1a2e;
  transform: rotate(45deg); transition: transform .2s ease;
}
.header-for-triauto .navigation .ta-header-navbar.global-nav [aria-expanded="true"] .nav-chevron { transform: rotate(-135deg); }

/* submenu hidden by default */
.header-for-triauto .navigation .ta-header-navbar.global-nav .submenu,
.header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__sublist { display: none; }

/* ===== PC: dropdown ===== */
@media (min-width: 769px) {
  /* 初回表示はヘッダー側から少しゆっくり下へスライドする */
  @keyframes globalNavSlideDown {
    0% {
      opacity: 0;
      transform: translateY(-12px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes globalNavGooeyItems {
    0% {
      opacity: 0;
      transform: translateY(8px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .header-for-triauto .navigation .nav-logo .nav-logo__service { display: block; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav { position: static; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item { position: static; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.has-children {
    margin-bottom: -14px;
    padding-bottom: 14px;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .nav-toggle { display: none; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .sub-toggle { display: none; }

  /* 現在ページ項目(is-current)のオレンジは、他の項目にカーソルが乗っている/他のサブナビが
     開いている間は維持しない(通常色に戻す)。色が付くのはホバー中の項目だけにする (ユーザー指定 2026-07-09) */
  .header-for-triauto .navigation .ta-header-navbar.global-nav:has(.ta-header-nav-item:hover) .ta-header-nav-item.is-current:not(:hover):not(.is-submenu-open) > .link,
  .header-for-triauto .navigation .ta-header-navbar.global-nav:has(.ta-header-nav-item.is-submenu-open) .ta-header-nav-item.is-current:not(.is-submenu-open) > .link {
    color: var(--nav-text, #1a1a2e);
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav:has(.ta-header-nav-item:hover) .ta-header-nav-item.is-current:not(:hover):not(.is-submenu-open) > .link::before,
  .header-for-triauto .navigation .ta-header-navbar.global-nav:has(.ta-header-nav-item.is-submenu-open) .ta-header-nav-item.is-current:not(.is-submenu-open) > .link::before {
    opacity: 0;
    transform: scaleX(0);
  }

  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu {
    background: #fff;
    border: 0;
    border-bottom: 1px solid var(--nav-mane-color, #1e5fad);
    border-top: 1px solid var(--nav-mane-color, #1e5fad);
    border-radius: 0 0 8px 8px;
    box-shadow: none;
    box-sizing: border-box;
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 24px;
    left: -1px;
    margin: 0;
    max-width: none;
    min-height: 197px;
    overflow: hidden;
    padding: 42px 72px 50px 24px;
    position: absolute;
    right: -1px;
    top: calc(100% - 1px);
    transform-origin: top center; /* にょきっと生える起点はヘッダー下端 */
    width: auto;
    will-change: opacity, transform;
    z-index: 1200;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu::before {
    align-self: start;
    color: var(--nav-text, #1a1a2e);
    content: attr(data-title);
    display: block;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.5;
    padding-right: 56px;
    padding-top: 9px;
    white-space: nowrap;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu > .submenu__list::before {
    content: "";
    display: block;
    height: 32px;
    left: 0;
    position: absolute;
    right: 0;
    top: -32px;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu::after {
    content: none;
  }
  /* ✕(閉じる)ボタンは廃止 — PCはホバーで開閉する (ユーザー指定 2026-07-09) */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .submenu {
    animation: globalNavSlideDown .48s cubic-bezier(.22, .61, .36, 1) both;
    display: grid;
  }

  /* メニューを開いたまま隣の項目へ横移動したとき (.is-submenu-switching は global-nav.js が付与) は、
     バー面を表示したまま、見出しとリンク群だけを短くフェードさせる */
  @keyframes globalNavSubmenuContentSwap {
    from {
      opacity: 0;
      transform: translateY(4px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav.is-submenu-switching .ta-header-nav-item.is-submenu-open > .submenu {
    animation: none;
    opacity: 1;
    transform: translateY(0);
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav.is-submenu-switching .ta-header-nav-item.is-submenu-open > .submenu::before,
  .header-for-triauto .navigation .ta-header-navbar.global-nav.is-submenu-switching .ta-header-nav-item.is-submenu-open > .submenu > .submenu__list {
    animation: globalNavSubmenuContentSwap .22s ease both;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav.is-submenu-switching .ta-header-nav-item.is-submenu-open > .submenu .submenu__item {
    animation: none; /* 項目の時間差アニメも切替時は再生しない */
  }

  /* OSの「動きを減らす」設定ではアニメーションを止め、即時表示にする */
  @media (prefers-reduced-motion: reduce) {
    .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .submenu,
    .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .submenu .submenu__item,
    .header-for-triauto .navigation .ta-header-navbar.global-nav.is-submenu-switching .ta-header-nav-item.is-submenu-open > .submenu::before,
    .header-for-triauto .navigation .ta-header-navbar.global-nav.is-submenu-switching .ta-header-nav-item.is-submenu-open > .submenu > .submenu__list {
      animation: none;
    }
    .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item > .link {
      transition: none;
    }
  }

  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__list {
    align-content: flex-start;
    column-gap: clamp(10px, 4vw, 56px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: none;
    row-gap: 14px;
    list-style: none;
    margin: 0;
    padding: 0 100px 0 20px;
    position: relative;
    z-index: 1;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .submenu::before {
    position: relative;
    z-index: 1;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .submenu .submenu__item {
    animation: globalNavGooeyItems .22s ease-out both;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .submenu .submenu__item:nth-child(2) { animation-delay: .025s; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .submenu .submenu__item:nth-child(3) { animation-delay: .05s; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .submenu .submenu__item:nth-child(4) { animation-delay: .075s; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .submenu .submenu__item:nth-child(5) { animation-delay: .1s; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .submenu .submenu__item:nth-child(6) { animation-delay: .125s; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .submenu .submenu__item:nth-child(7) { animation-delay: .15s; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .submenu .submenu__item:nth-child(8) { animation-delay: .175s; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-submenu-open > .submenu .submenu__item:nth-child(9) { animation-delay: .2s; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__item { position: relative; display: flex; align-items: flex-start; }

  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="トライオートFX"] .submenu__list,
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="トライオートCFD"] .submenu__list,
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="その他サービス"] .submenu__list,
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="マーケット情報"] .submenu__list,
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__list,
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="はじめての方へ"] .submenu__list {
    column-gap: clamp(8px, 2.8vw, 24px);
    grid-template-columns: repeat(3, auto);
  }

  /* 4項目。並び順はユーザー指定 2026-07-14: 取引概要/取扱通貨ペア一覧/スワップポイントカレンダー/スプレッド */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="トライオートFX"] .submenu__item:nth-child(1) { grid-column: 1; grid-row: 1; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="トライオートFX"] .submenu__item:nth-child(2) { grid-column: 2; grid-row: 1; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="トライオートFX"] .submenu__item:nth-child(3) { grid-column: 3; grid-row: 1; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="トライオートFX"] .submenu__item:nth-child(4) { grid-column: 1; grid-row: 2; }

  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="トライオートCFD"] .submenu__list {
    column-gap: clamp(8px, 2.8vw, 40px);
    grid-template-columns: repeat(3, auto);
    width: 100%;
  }
  /* 3項目1行。並び順はユーザー指定 2026-07-14: 取扱CFD銘柄一覧/金利配当相当額カレンダー/取引概要 */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="トライオートCFD"] .submenu__item:nth-child(1) { grid-column: 1; grid-row: 1; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="トライオートCFD"] .submenu__item:nth-child(2) { grid-column: 2; grid-row: 1; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="トライオートCFD"] .submenu__item:nth-child(3) { grid-column: 3; grid-row: 1; }

  /* 「自動売買とは」は 2026-07-10 に項目ごと廃止。グリッド指定も削除済み */

  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="その他サービス"] {
    padding-right: 100px;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="その他サービス"] .submenu__list {
    column-gap: clamp(8px, 2.8vw, 40px);
    grid-template-columns: repeat(3, auto);
  }
  /* DOM順: くりっく365 / －取引概要 / インヴァストカード / 社会貢献。SPは縦リストで取引概要をくりっく365直下に置くための順。
     PCは取引概要(nth-child(2))をくりっく365の真下(col1 row2)に固定し、従来の見た目を維持する。 */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="その他サービス"] .submenu__item:nth-child(1) { grid-column: 1; grid-row: 1; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="その他サービス"] .submenu__item:nth-child(2) { grid-column: 1; grid-row: 2; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="その他サービス"] .submenu__item:nth-child(3) { grid-column: 2; grid-row: 1; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="その他サービス"] .submenu__item:nth-child(4) { grid-column: 3; grid-row: 1; }
  /* 互換: 旧blogs用JS(20260715-2)では「取引概要」がくりっく365の子リストで出力される。
     旧DOMでも見た目を崩さないため、PCでは旧4項目目(Torche)を隠し、取引概要を1列目2段目へ配置する。 */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="その他サービス"] .submenu__item.has-children {
    grid-column: 1;
    grid-row: 1;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="その他サービス"] .submenu__item.has-children > .sub-toggle {
    display: none;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="その他サービス"] .submenu__item.has-children > .submenu__sublist {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 14px 0 0;
    padding: 0;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="その他サービス"] .submenu__item.has-children > .submenu__sublist a {
    align-items: center;
    color: #215cb8;
    display: inline-flex;
    font-size: clamp(11px, 1.1vw, 14px);
    font-weight: 500;
    line-height: 1.4;
    min-height: 28px;
    padding-right: 20px;
    position: relative;
    text-decoration: none;
    white-space: nowrap;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="その他サービス"] .submenu__item.has-children > .submenu__sublist a::after {
    border-right: 1.5px solid currentColor;
    border-top: 1.5px solid currentColor;
    content: "";
    height: 8px;
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="その他サービス"] .submenu__item.has-children + .submenu__item { grid-column: 2; grid-row: 1; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="その他サービス"] .submenu__item.has-children + .submenu__item + .submenu__item { grid-column: 3; grid-row: 1; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="その他サービス"] .submenu__item.has-children + .submenu__item + .submenu__item + .submenu__item {
    display: none;
  }

  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="マーケット情報"] .submenu__list {
    column-gap: clamp(8px, 2.8vw, 40px);
    grid-template-columns: repeat(3, auto);
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="マーケット情報"] .submenu__item:nth-child(1) { grid-column: 1; grid-row: 1; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="マーケット情報"] .submenu__item:nth-child(2) { grid-column: 2; grid-row: 1; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="マーケット情報"] .submenu__item:nth-child(3) { grid-column: 3; grid-row: 1; }

  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__list {
    column-gap: clamp(8px, 2.8vw, 40px);
    grid-template-columns: repeat(3, auto);
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__link {
    font-size: clamp(11px, 1.1vw, 14px);
    letter-spacing: 0.5px;
    white-space: nowrap;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(1) { grid-column: 1; grid-row: 1; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(2) { grid-column: 2; grid-row: 1; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(3) { grid-column: 3; grid-row: 1; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(4) { grid-column: 1; grid-row: 3; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(5) { grid-column: 1; grid-row: 2; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(6) { grid-column: 2; grid-row: 2; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(7) { grid-column: 3; grid-row: 2; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(8) { grid-column: 3; grid-row: 3; }

  /* はじめての方へ: 3列構成（ユーザー指定 2026-07-14）
     1列目=まんがでわかる(非リンク見出し)＋マンガ4ページ / 2列目=トライオートガイド・オートセレクトとは / 3列目=Torche。
     DOM順（nav-global.php）と下記グリッド配置を対で更新すること */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="はじめての方へ"] .submenu__list {
    column-gap: clamp(8px, 2.8vw, 40px);
    grid-template-columns: repeat(3, auto);
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="はじめての方へ"] .submenu__item:nth-child(1) { grid-column: 1; grid-row: 1; } /* まんがでわかる（見出し） */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="はじめての方へ"] .submenu__item:nth-child(2) { grid-column: 1; grid-row: 2; } /* 口座開設方法 */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="はじめての方へ"] .submenu__item:nth-child(3) { grid-column: 1; grid-row: 3; } /* 入金方法 */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="はじめての方へ"] .submenu__item:nth-child(4) { grid-column: 1; grid-row: 4; } /* オートセレクトのはじめかた */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="はじめての方へ"] .submenu__item:nth-child(5) { grid-column: 1; grid-row: 5; } /* 運用チェック */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="はじめての方へ"] .submenu__item:nth-child(6) { grid-column: 2; grid-row: 1; } /* トライオートガイド */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="はじめての方へ"] .submenu__item:nth-child(7) { grid-column: 2; grid-row: 2; } /* オートセレクトとは */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="はじめての方へ"] .submenu__item:nth-child(8) { grid-column: 3; grid-row: 1; } /* 学習コミュニティ Torche */
  /* submenu__item--sub: arrows remain visible, same as other items */

  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__item.has-children {
    background: transparent;
    border-left: 0;
    border-radius: 0;
    padding: 0;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__link,
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__sublist a {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--nav-primary-pale, #EBF3FC);
    border-radius: 0;
    color: var(--nav-mane-color, #1E5FAD);
    display: flex;
    gap: 4px;
    width: 100%;
    font-size: clamp(11px, 1.1vw, 14px);
    font-weight: 500;
    letter-spacing: 0.5px;
    line-height: 1.4;
    min-height: 28px;
    padding: 0;
    position: relative;
    text-decoration: none;
    white-space: nowrap;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__link::after,
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__sublist a::after {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
    flex: 0 0 auto;
    height: 7px;
    margin-left: auto;
    margin-top: 0;
    transform: rotate(45deg);
    width: 7px;
  }
  /* 非リンクのグループ見出し（例: はじめての方へ「まんがでわかる」）。
     .submenu__link と同じ見た目だが、遷移なし＝「>」矢印なし・hoverオレンジなし。
     span要素のため global-nav.js の .submenu__link 現在地判定(pathname参照)にも掛からない */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__heading {
    align-items: center;
    border-bottom: 1px solid var(--nav-primary-pale, #EBF3FC);
    color: #1a1a2e;
    display: flex;
    font-size: clamp(11px, 1.1vw, 14px);
    font-weight: 500;
    letter-spacing: 0.5px;
    line-height: 1.4;
    min-height: 28px;
    white-space: nowrap;
    width: 100%;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__item.has-children > .submenu__link {
    font-weight: 500;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__link:hover,
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__link:focus-visible,
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__sublist a:hover,
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__sublist a:focus-visible {
    background: transparent;
    color: var(--nav-accent, #ff6800);
    outline: none;
  }

  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__item.has-children > .submenu__link::after {
    content: "";
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__item.has-children .submenu__sublist {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
    left: auto;
    list-style: none;
    margin: 14px 0 0;
    min-width: 0;
    padding: 0;
    position: static;
    top: auto;
    z-index: 1101;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__item.has-children .submenu__sublist::before {
    content: none;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(6) > .submenu__sublist {
    grid-column: 2;
    grid-row: 1 / span 2;
    margin: 0;
  }

  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__sublist--nested {
    position: static !important; box-shadow: none !important; border: 0 !important;
    padding: 2px 0 4px 12px !important; display: block !important;
    margin: 2px 0 0 8px !important;
    background: rgba(247,249,252,.74) !important;
    border-left: 1px solid rgba(30,95,173,.18) !important;
    border-radius: 6px !important;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__sublist--nested a {
    font-size: 12px; color: #555; padding: 4px 6px;
    white-space: normal;
  }

}

/* ===== SP: accordion ===== */
@keyframes spNavSubmenuSlideIn {
  from {
    clip-path: inset(0 0 100% 0);
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    clip-path: inset(0 0 0% 0);
    opacity: 1;
    transform: none;
  }
}
@media (max-width: 768px) {
  /* パネル本体の位置・サイズ・開閉アニメーションは
     「SP: hamburger panel」セクション（本ファイル内・後方）に一本化している。
     ここでは ta-header-nav-item / submenu の中身のレイアウトのみを定義する。 */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item {
    border-bottom: 1px solid #e6ebf2;
    display: flex; flex-wrap: wrap; align-items: center;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item > .link {
    flex: 1 1 auto; font-size: 15px; font-weight: 600; padding: 13px 0;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .sub-toggle { display: none; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu { width: 100%; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu.--open { display: block; padding: 0 0 10px 0; animation: spNavSubmenuSlideIn .28s ease-out both; overflow: hidden; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__list { list-style: none; margin: 0; padding: 0; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__item { display: block; border-top: 0; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__item.has-children {
    background: #f7f9fc;
    border-left: 3px solid rgba(30,95,173,.24);
    border-radius: 6px;
    margin-top: 6px;
    padding: 2px 0 6px;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__link {
    align-items: center;
    background: transparent;
    border-bottom: 1px solid #d5d5d5;
    border-radius: 0;
    color: #1a1a2e;
    display: flex;
    font-size: 14px;
    justify-content: space-between;
    margin-top: 0;
    min-height: 40px;
    padding: 0 6px 8px 0;
    position: relative;
    text-decoration: none;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__link::after {
    border-right: 1.5px solid currentColor;
    border-top: 1.5px solid currentColor;
    content: "";
    flex: 0 0 auto;
    height: 8px;
    margin-left: 18px;
    transform: rotate(45deg);
    width: 8px;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__item.has-children > .submenu__link {
    background: transparent;
    font-weight: 600;
    margin-top: 0;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu.--open .submenu__sublist { display: block; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__sublist {
    width: auto;
    list-style: none;
    margin: 0 10px 0 14px;
    padding: 2px 0 2px 12px;
    border-left: 1px solid rgba(30,95,173,.18);
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__sublist a {
    align-items: center;
    border-bottom: 1px solid #d5d5d5;
    color: #1a1a2e;
    display: flex;
    font-size: 14px;
    justify-content: space-between;
    min-height: 40px;
    padding: 0 6px 8px 0;
    text-decoration: none;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__sublist a::after {
    border-right: 1.5px solid currentColor;
    border-top: 1.5px solid currentColor;
    content: "";
    flex: 0 0 auto;
    height: 8px;
    margin-left: 18px;
    transform: rotate(45deg);
    width: 8px;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__sublist--nested { padding-left: 12px; margin-left: 8px; }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__sublist--nested a { font-size: 12px; color: #666; }

  /* お客様サポート: SPのみ表示順を変更（PCのgrid配置=@media(min-width:769px)は据え置き。ユーザー指定 2026-07-17）
     DOM順(nav-global.php) 1:お問い合わせ 2:よくあるご質問｜総合案内 3:お客様へのお知らせ
       4:システムメンテナンス 5:リモートサポート 6:よくあるご質問｜トライオート 7:パスキー 8:フィッシング
     SP表示順 お問い合わせ / リモートサポート / システムメンテナンス / よくあるご質問｜総合 /
       よくあるご質問｜トライオート / お客様へのお知らせ / パスキー / フィッシング */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__list {
    display: flex;
    flex-direction: column;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(1) { order: 1; } /* お問い合わせ */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(2) { order: 4; } /* よくあるご質問｜総合案内 */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(3) { order: 6; } /* お客様へのお知らせ */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(4) { order: 3; } /* システムメンテナンス */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(5) { order: 2; } /* リモートサポート */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(6) { order: 5; } /* よくあるご質問｜トライオート */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(7) { order: 7; } /* パスキー認証について */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu[data-title="お客様サポート"] .submenu__item:nth-child(8) { order: 8; } /* フィッシング詐欺への対策 */
}

/* ===== SP: hamburger panel — 左からスライドインするドロワー ===== */
@media (max-width: 768px) {
  /* ---- 背景の半透明オーバーレイ（ドロワーの下に敷く暗幕） ---- */
  body.--menu-active::before {
    background: rgba(10, 36, 99, 0.45);
    content: "";
    inset: 0;
    position: fixed;
    z-index: 1003;
  }
  /* ドロワー表示中は背面のスクロールを止める */
  body.--menu-active {
    overflow: hidden;
  }

  /* ---- パネル本体: 右から出て半透明オーバーレイの上に重なるドロワー (Figma 3365-27941) ---- */
  /* backdrop-filter が containing block を作るため、パネル開放時は header / navigation の
     backdrop-filter を外してビューポート基準の fixed 配置にする */
  body.--menu-active .header-for-triauto,
  body.--menu-active .header-for-triauto .navigation {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  /* .header-for-triauto は position:fixed;z-index:1000 で独立したスタッキング
     コンテキストを作る。そのため内側のドロワー(.ta-header-navbar.global-nav, z-index:1004)は
     root 直下の暗幕(body.--menu-active::before, z-index:1003)より背面に沈み、
     メニュー項目・トグルへのタップが暗幕に奪われていた（＝開いた後に操作できない）。
     メニュー展開中はヘッダーごと暗幕より前面へ引き上げ、暗幕を本来の「ドロワーの下」に戻す。 */
  body.--menu-active .header-for-triauto {
    z-index: 1005;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav {
    background-color: #ffffff;
    box-shadow: -6px 0 24px rgba(18, 36, 58, 0.2);
    display: flex;
    flex-direction: column;
    gap: 0;
    height: 100dvh;
    left: 0;
    overflow-y: auto;
    padding: 36px 20px 20px;
    position: fixed;
    top: 0;
    transform: translateX(100%); /* 右からスライドイン（2026-07-08 ユーザー指定） */
    transition: transform .28s ease;
    width: 100%;
    z-index: 1004;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav.--active {
    transform: translateX(0);
  }

  /* ---- SP-only elements: always hidden unless panel is open ---- */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .sp-nav-header {
    display: none;
  }

  /* ---- sp-nav-header: ロゴのみ (Figma 3365-27941。旧・パネル上部の細い✕ボタンは廃止し、
          閉じる操作は右下のハンバーガー✕形態が担う) ---- */
  .header-for-triauto .navigation .ta-header-navbar.global-nav.--active .sp-nav-header {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    justify-content: space-between;
    margin-bottom: 20px;
    padding: 0 16px;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .sp-nav-logo img {
    display: block;
    height: 26px;
    width: auto;
  }

  /* ---- ナビ項目の区切り線 ---- */
  .header-for-triauto .navigation .ta-header-navbar.global-nav.--active .sp-nav-header + .ta-header-nav-item {
    border-top: 1px solid #d4dce8;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item {
    border-bottom-color: #d4dce8;
  }

  /* ---- 親ナビリンク: 青 / 12px / Bold ---- */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item > .link {
    color: var(--nav-mane-color, #1e5fad);
    flex: 1 1 auto;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    /* 指で押しやすいよう行の高さを48px確保（推奨タップ領域） */
    align-items: center;
    display: flex;
    min-height: 48px;
    padding: 0 2px;
  }
  /* SPの現在地表示は「今開いているページと完全一致する項目」だけをオレンジにする (ユーザー指定 2026-07-09)。
     .is-current はPHPがセクション前方一致で親項目に付けるPC用のクラスで、SPでは親をオレンジにしない。
     そのため基本スタイル(メディア外)の is-current オレンジをここで青へ戻し、
     完全一致時に global-nav.js が付ける .is-current-page でのみ光らせる。 */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-current > .link {
    color: var(--nav-mane-color, #1e5fad);
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-current-page > .link {
    color: var(--nav-accent, #ff6800);
  }
  /* ＋/− トグルも48pxの正方形タップ領域にする */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .nav-toggle {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 48px;
    min-width: 48px;
    padding: 8px;
  }
  /* 現在ページと完全一致する親項目は、区切り線(1px)そのものをオレンジにして現在地を示す。
     旧: border 1px＋inset shadow 2px の計3px帯 → 細い1px線に変更 (ユーザー指定 2026-07-09「オレンジの線細くして」)。
     (セクション一致だけの .is-current には付けない。ユーザー指定 2026-07-09) */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-current-page {
    border-bottom-color: #ff6800;
  }
  /* アコーディオン展開中は ta-header-nav-item 下端がサブメニューの下に落ちるため、そのままだと
     オレンジ線が「通貨ペア一覧」等の下に見えてしまう。展開中は ta-header-nav-item 側の線を通常色に戻し、
     ラベル行とサブメニューの境目（.submenu 上端の inset shadow 1px）でオレンジを光らせて
     「トライオートFX」等のラベル行直下に固定する (ユーザー指定 2026-07-09)。 */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-current-page:has(> .submenu.--open) {
    border-bottom-color: #d4dce8;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item.is-current-page > .submenu.--open {
    box-shadow: inset 0 1px 0 #ff6800;
  }
  /* SP: link::before の浮いた下線（bottom:-7px）は境界線とズレて二重に見えるため無効化 */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item > .link::before {
    display: none;
  }

  /* ---- 子なし項目（トップ / キャンペーン）: 「>」アイコン ---- */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item:not(.has-children) > .link {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item:not(.has-children) > .link::after {
    /* currentColor=リンク文字色に追従。通常は青、現在地(is-current-page)ではオレンジ
       (ユーザー指定 2026-07-09「> もオレンジに」) */
    border-right: 1.5px solid currentColor;
    border-top: 1.5px solid currentColor;
    content: "";
    flex: 0 0 auto;
    height: 7px;
    margin-left: 18px;
    /* 「>」の中心を +/− トグル(48px幅・アイコン中心=行右端から24px)と同じ縦ラインに統一
       (Figma 3365-27941)。右端から 24px − 矢印box中心3.5px − link右padding2px ≒ 18px */
    margin-right: 18px;
    transform: rotate(45deg);
    width: 7px;
  }

  /* ---- 子あり項目: + / − トグルアイコン ---- */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .nav-toggle .nav-chevron {
    border: 0;
    height: 12px;
    position: relative;
    transform: none;
    width: 12px;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .nav-toggle .nav-chevron::before,
  .header-for-triauto .navigation .ta-header-navbar.global-nav .nav-toggle .nav-chevron::after {
    background-color: var(--nav-mane-color, #1e5fad);
    content: "";
    position: absolute;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .nav-toggle .nav-chevron::before {
    height: 2px;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .nav-toggle .nav-chevron::after {
    bottom: 0;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 2px;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav [aria-expanded="true"] .nav-chevron {
    transform: none;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav [aria-expanded="true"] .nav-chevron::after {
    opacity: 0;
  }

  /* ---- サブメニュー展開時 ---- */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu.--open {
    padding: 0 0 4px 0;
  }

  /* ---- サブ項目リンク: インデント 40px / 青 / 12px / Bold ---- */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__link,
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__sublist a {
    border-bottom-color: #d4dce8;
    color: var(--nav-mane-color, #1e5fad);
    font-size: 12px;
    font-weight: 700;
    justify-content: space-between;
    letter-spacing: 1px;
    min-height: 0;
    padding: 8px 2px 8px 40px;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__link::after,
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__sublist a::after {
    /* currentColor=リンク文字色に追従。通常は青、現在地(is-current)ではオレンジ
       (ユーザー指定 2026-07-09「> もオレンジに」) */
    border-color: currentColor;
    height: 7px;
    margin-left: auto;
    /* サブ項目の「>」も親項目の +/− と同じ縦ライン(右端から24px中心)に統一 (Figma 398-14212) */
    margin-right: 18px;
    width: 7px;
  }
  /* サブナビ最終項目の下線は、直後に来る親項目(ta-header-nav-item)の下線と二重に見えるため消して1本にする（2026-07-08） */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__item:last-child > .submenu__link {
    border-bottom: 0;
  }
  /* 非リンクのグループ見出し（例: はじめての方へ「まんがでわかる」）: サブ項目リンクと同じ
     インデント・文字だが、遷移なし＝「>」矢印なし。PC版の定義は本ファイル前方のメガメニュー節にある */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__heading {
    align-items: center;
    border-bottom: 1px solid #d4dce8;
    color: #1a1a2e;
    display: flex;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 8px 2px 8px 40px;
  }

  /* 現在表示中のページに完全一致するサブ項目はオレンジ文字＋オレンジの細い下線(1px)で現在地を示す
     (ユーザー指定 2026-07-09。親項目はセクション一致ではオレンジにせず、開いているページの項目だけを光らせる。
     .is-current の付与は global-nav.js が location.pathname と href の一致で行う。
     下線は親項目(is-current-page)と同じ「区切り線1pxの色替え」方式 (「オレンジの線細くして」で旧2px shadow廃止)。
     右端の「>」矢印も currentColor 経由でオレンジに追従 (ユーザー指定 2026-07-09「> もオレンジに」) */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__link.is-current,
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__sublist a.is-current {
    border-bottom-color: #ff6800;
    color: var(--nav-accent, #ff6800);
  }
  /* 現在地が最終項目の場合は、リンク下のborderを消し、アコーディオン末端の親項目borderを
     オレンジにする。.submenu.--open の下padding 4pxより上に線が浮くのを防ぐ。 */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .submenu__item:last-child > .submenu__link.is-current {
    border-bottom: 0;
    box-shadow: none;
  }
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item:has(.submenu__item:last-child > .submenu__link.is-current) {
    border-bottom-color: #ff6800;
  }

  /* 旧・パネル下部の sp-nav-cta(口座開設/ログイン)は Figma 3365-27941 に無いため削除（2026-07-08） */
}

/* トップ項目は SP 専用（PC メガメニューには出さない） */
@media (min-width: 769px) {
  .header-for-triauto .navigation .ta-header-navbar.global-nav .ta-header-nav-item--sp-only { display: none; }
  /* SP専用パネル要素は PC では常に非表示 */
  .header-for-triauto .navigation .ta-header-navbar.global-nav .sp-nav-header { display: none; }
}

/* SP: メニュー開放時は下部固定CTAバーのみ隠す。ハンバーガーは --active で✕に変形し、
   右下から右上（パネルのロゴ行の高さ）へスライド移動して閉じるボタンになる。
   閉じると transform が戻り右下の定位置へスライドで復帰する（2026-07-08 ユーザー指定）。
   ドロワー(z-index:1004)・暗幕(1003)・ヘッダー(1005)より前面。
   translateY の 136px = bottom 64px + ボタン高 48px + 目標 top 24px。
   100dvh 前提はドロワー本体(height:100dvh)と同じ */
@media (max-width: 768px) {
  body.--menu-active .cta-area { display: none !important; }
  /* 開放中は青い箱を消して「パネルと同じ白背景＋青✕」にする（2026-07-08 ユーザー指定。
     白背景にするのは、パネルをスクロールしてもメニュー項目が✕の下に透けないようにするため） */
  body.--menu-active .header-for-triauto .navigation .header__nav--icon {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: #ffffff;
    border-color: transparent;
    box-shadow: none;
    transform: translateY(calc(136px - 100dvh));
    z-index: 1006;
  }
  /* ✕のバランス調整: 線をわずかに延長し端を丸める（交差は中心のまま） */
  body.--menu-active .header-for-triauto .navigation .header__nav--icon span {
    background-color: #1E5FAD;
    border-radius: 2px;
    width: 22px;
  }
}

/* ============================================================
 * 共通レイアウトユーティリティ (全幅 / インナーライン)
 * ------------------------------------------------------------
 * よくある構造:
 *   <section class="ta-section ta-section--full">  背景を画面端まで伸ばす箱
 *     <div class="ta-content">                     中身を1000pxに収める箱
 *       ここに見出し、本文、カード、ボタンを入れる
 *     </div>
 *   </section>
 *
 * つまり、背景は広く、中身は読みやすい幅にするためのセット。
 * ============================================================ */
.ta-section {
  width: 100%;
}

.ta-section--full {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
}

.ta-content {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--content-width);
  padding-left: var(--content-gutter);
  padding-right: var(--content-gutter);
  padding-top: 40px;
  padding-bottom: 40px;
  width: 100%;
}

@media (min-width: 940px) {
  .ta-content {
    padding-left: var(--content-gutter-pc);
    padding-right: var(--content-gutter-pc);
    padding-bottom: 80px;
  }
}

/* ============================================================
 * 見出しの棒 (オレンジ縦棒 / 横棒)
 * ------------------------------------------------------------
 * 縦棒: .ta-section-heading  Figma node 1600:16504 基準。
 *   左に accent-light #ffa54f の 2px 縦棒、内側 20px、
 *   eyebrow(20px bold #1e5fad) + title(28px bold #0a2463)、gap 16px。
 *   margin-top/bottom PC80/SP40。
 * 横棒: .ta-heading-bar / .ta-heading--bar  見出し下の 100x2px
 *   accent-light #ffa54f ライン。Figma node 2851:26217 基準。
 * ============================================================ */
.ta-section-heading {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: var(--ta-space-2xl);    /* SP 40px */
  margin-bottom: var(--ta-space-2xl); /* SP 40px */
  padding-left: var(--ta-space-l);
  border-left: 2px solid var(--ta-color-accent-light);
  word-break: break-word;
}

.ta-section-heading__eyebrow {
  font: 700 20px/1.7 var(--ta-font-family-ja);
  color: var(--ta-color-main);
  letter-spacing: var(--ta-letter-spacing-ja);
  margin: 0;
}

.ta-section-heading__title {
  font: var(--ta-type-h2-sp);
  color: var(--ta-color-primary);
  letter-spacing: var(--ta-letter-spacing-ja);
  margin: 0;
}

@media (min-width: 940px) {
  .ta-section-heading {
    margin-top: var(--ta-space-4xl);    /* PC 80px */
    margin-bottom: var(--ta-space-block); /* 40px 固定 */
  }

  .ta-section-heading__title {
    font: var(--ta-type-h2-pc);
  }
}

/* hero 下の最初のコンテンツは ta-content の padding-top が上余白を担うため margin-top 不要 */
.ta-content > *:first-child {
  margin-top: 0;
}
.ta-content > section:first-child .ta-section-heading {
  margin-top: 0;
}

/* 横棒 : 独立要素として置く版 */
.ta-heading-bar {
  display: block;
  width: var(--ta-heading-accent-bar-width); /* 100px */
  height: var(--ta-heading-accent-bar-height); /* 2px */
  margin: 12px auto 0;
  background-color: var(--ta-heading-accent-bar-color); /* #ffa54f */
  border: 0;
}

/* 横棒 : 中央寄せ見出しに付ける修飾子版 */
.ta-heading--bar {
  margin-bottom: 40px;
  text-align: center;
}

.ta-heading--bar::after {
  content: "";
  display: block;
  width: var(--ta-heading-accent-bar-width);
  height: var(--ta-heading-accent-bar-height);
  margin: 12px auto 0;
  background-color: var(--ta-heading-accent-bar-color);
}

/* ============================================================
 * 共通FAQコンポーネント (.ta-faq)
 * ------------------------------------------------------------
 * 基準デザイン: Triauto トップ FAQ (.feat-right / top-base.html)。
 * 白カード + 左 3px 青ライン + Q(青見出し) / A(本文) の共通FAQ。
 * リスト・リンク・「もっと見る」は open-account FAQ を基準に共通化。
 * トークンは --ta-* を使用 (旧 Figma token / Inter は使わない)。
 *
 * 標準マークアップ:
 *   <div class="ta-faq">
 *     <div class="ta-faq__item">
 *       <div class="ta-faq__inner">
 *         <div class="ta-faq__q">
 *           <span class="ta-faq__label">Q</span>
 *           <h3 class="ta-faq__q-text">質問</h3>
 *         </div>
 *         <div class="ta-faq__a">
 *           <span class="ta-faq__label ta-faq__label--a">A</span>
 *           <div class="ta-faq__a-body"><p>回答</p></div>
 *         </div>
 *       </div>
 *     </div>
 *   </div>
 * ============================================================ */
.ta-faq {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 100%;
}

.ta-faq__item {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--ta-space-l);
  background: var(--ta-color-bg);
}

.ta-faq__inner {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  flex: 1 1 auto;
  gap: 10px;
  padding-left: var(--ta-space-l);
  border-left: 3px solid var(--ta-color-main);
}

.ta-faq__q,
.ta-faq__a {
  display: flex;
  align-items: flex-start;
  gap: var(--ta-space-m);
  width: 100%;
}

.ta-faq__label {
  flex: 0 0 auto;
  font-family: var(--ta-font-family-ja);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.7;
  color: var(--ta-color-main);
  white-space: nowrap;
}

.ta-faq__label--a {
  color: var(--ta-color-sub-text);
}

.ta-faq__q-text {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font: var(--ta-type-h3-pc);
  letter-spacing: var(--ta-letter-spacing-ja);
  color: var(--ta-color-main);
}

.ta-faq__a-body {
  flex: 1 1 auto;
  min-width: 0;
  font: var(--ta-type-body);
  letter-spacing: var(--ta-letter-spacing-ja);
  color: var(--ta-color-text);
}

.ta-faq__a-body p {
  margin: 0;
}

.ta-faq__a-body p + p,
.ta-faq__a-body .ta-faq__section + .ta-faq__section {
  margin-top: 27px;
}

.ta-faq__a-body strong,
.ta-faq__a-body .ta-faq__subtitle {
  font-weight: 700;
  color: var(--ta-color-primary);
}

.ta-faq__ol {
  margin: 4px 0 4px 1.5em;
  padding: 0;
  font: var(--ta-type-caption);
  letter-spacing: var(--ta-letter-spacing-ja);
  color: var(--ta-color-sub-text);
  text-align: left;
}

.ta-faq__ol--alpha {
  list-style-type: lower-alpha;
}

.ta-faq .ta-faq__item .ta-faq__a-body .--note-list.--number {
  margin: 4px 0 4px 1.5em;
  padding: 0;
  list-style: decimal;
}

.ta-faq .ta-faq__item .ta-faq__a-body .--note-list.--number,
.ta-faq .ta-faq__item .ta-faq__a-body .--note-list.--number > li,
.ta-faq .ta-faq__item .ta-faq__a-body .--note-list.--number .--list-title,
.ta-faq .ta-faq__item .ta-faq__a-body .--note-list.--number .--list-note {
  font: var(--ta-type-caption);
  letter-spacing: var(--ta-letter-spacing-ja);
  color: var(--ta-color-sub-text);
}

.ta-faq .ta-faq__item .ta-faq__a-body .--note-list.--number .--list-note {
  margin-top: 4px;
  padding-left: 0;
}

.ta-faq__links {
  display: flex;
  flex-direction: column;
  gap: var(--ta-space-m);
  margin-top: var(--ta-space-m);
}

.ta-faq__link-row {
  display: flex;
  align-items: center;
  gap: var(--ta-space-m);
}

.ta-faq__pdf-icon {
  display: block;
  flex-shrink: 0;
}

.ta-faq__link {
  font: var(--ta-type-body);
  letter-spacing: var(--ta-letter-spacing-ja);
  color: var(--ta-color-main);
  text-decoration: none;
  border-bottom: 1px solid var(--ta-color-main);
  white-space: nowrap;
}

@media (max-width: 768px) {
  .ta-faq__link {
    font-size: 12px;
    white-space: nowrap;
  }
}

.ta-faq__link:hover {
  opacity: 0.8;
}

.ta-faq__more {
  display: inline-flex;
  align-items: center;
  gap: var(--ta-space-m);
  color: var(--ta-color-main);
  text-decoration: none;
  border-bottom: 1px solid var(--ta-color-main);
  letter-spacing: var(--ta-letter-spacing-ja);
  white-space: nowrap;
}

.ta-faq__more-text {
  font-family: var(--ta-font-family-ja);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.7;
}

.ta-faq__more-arrow {
  font-family: var(--ta-font-family-ja);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}

@media (max-width: 939px) {
  .ta-faq__q-text {
    font: var(--ta-type-h3-sp);
    letter-spacing: var(--ta-letter-spacing-ja);
  }

  .ta-faq__a-body {
    font: var(--ta-type-body-sp);
    letter-spacing: var(--ta-letter-spacing-ja);
  }

  .ta-faq__ol {
    font: var(--ta-type-caption-sp);
    letter-spacing: var(--ta-letter-spacing-ja);
  }

  .ta-faq .ta-faq__item .ta-faq__a-body .--note-list.--number,
  .ta-faq .ta-faq__item .ta-faq__a-body .--note-list.--number > li,
  .ta-faq .ta-faq__item .ta-faq__a-body .--note-list.--number .--list-title,
  .ta-faq .ta-faq__item .ta-faq__a-body .--note-list.--number .--list-note {
    font: var(--ta-type-caption-sp);
    letter-spacing: var(--ta-letter-spacing-ja);
  }
}

/* =====================================================
   共通ページヒーロー (.ta-hero)
   -----------------------------------------------------
   これは「青いページタイトル帯」。
   使うページ: 通常の下層ページ。例: キャンペーン、メンテナンス、404など。
   使わないページ: TOP、LP、商品メインビジュアルなど独自の絵があるページ。

   hero文字で迷ったら見る場所:
   - 高さ          -> .ta-hero の min-height
   - 文字サイズ    -> .ta-hero__title の font-size
   - 1行固定/改行  -> .ta-hero__title の white-space
   - SPだけの調整   -> 下のSP用media (max-width: 939px)

   注意:
   今はタイトルを1行に寄せる設計。長いタイトルを自然改行させたい時は、
   white-space / overflow / font-size をセットで見直す。1つだけ触ると崩れやすい。
   ===================================================== */
.ta-hero {
  align-items: center;
  background: linear-gradient(180deg, #3A82D4 0%, #3270C0 100%);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* PCのhero高さ。タイトル帯を低く/高くしたい時はここ。 */
  min-height: 140px;
  overflow: hidden;
  padding: 0 20px;
  position: relative;
  /* 背景を画面いっぱいにする指定。親の幅が狭くても青帯は端まで伸びる。 */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.ta-hero__title {
  color: #fff;
  font-family: var(--ta-font-family-ja);
  /* PC側の文字サイズ。clamp(最小, 画面幅に応じた値, 最大)。最大40px。 */
  font-size: clamp(20px, 2.78vw, 40px);
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.7;
  margin: 0;
  /* タイトル文字の横幅。本文と同じ1000px基準にそろえる。 */
  max-width: var(--content-width, 1000px);
  text-align: center;
  /* nowrap = 1行固定。2行にしたい場合は normal にする。 */
  white-space: nowrap;
}

.ta-hero__lead {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 40px 20px;
  width: 100%;
}

.ta-hero__lead-text {
  color: var(--primary-dark, #0A2463);
  font-family: var(--ta-font-family-ja);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.7;
  margin: 0;
  max-width: 800px;
  text-align: center;
}

/* SP */
@media screen and (max-width: 939px) {
  .ta-hero {
    /* SPのhero高さ。スマホで帯が窮屈ならここを見る。 */
    min-height: 113px;
    padding: 0 20px;
  }

  .ta-hero__title {
    /* SP: (100vw - 40px padding) / 16chars — 実在する最長タイトル「リモートサポートサービスについて」に合わせた式 */
    /* SP側の文字サイズ。長いタイトルを画面幅に合わせて少し縮める式。最大28px。 */
    font-size: clamp(20px, calc((100vw - 40px) / 16), 28px);
    white-space: nowrap;
    max-width: 100%;
    /* 1行固定で入りきらない文字を隠す指定。改行させるならここも見直す。 */
    overflow: hidden;
  }

  .ta-hero__lead {
    padding: 40px 20px;
  }

  .ta-hero__lead-text {
    font-size: 18px;
    max-width: none;
    text-align: left;
  }
}

/* ============================================================
 * Site app baseline and migrated legacy dependencies
 * ------------------------------------------------------------
 * リニューアル共通CSS用。旧CSS全体は読まず、移行済みページが
 * 既存デザイン維持に必要としている最小範囲だけをここに集約する。
 * ============================================================ */
html {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.description__note--block {
  font-size: 14px;
  line-height: 2.8;
}

@media screen and (min-width: 940px) {
  .description__note--block {
    font-size: 16px;
  }
}

.link__orange {
  color: var(--ta-color-accent, #ff6800);
  text-decoration: underline;
}

.link__orange:hover {
  text-decoration: none;
}

.--maintenance {
  color: var(--ta-color-text, #1a1a2e);
  font-family: var(--ta-font-family-ja, "Noto Sans JP", "Noto Sans", sans-serif);
}

.--maintenance .contents {
  background: #fff;
}

.--maintenance main {
  padding-top: 0;
}

.--maintenance .section__contents--block.--pages {
  background: #fff;
  padding: 40px 20px 80px;
}

@media screen and (min-width: 940px) {
  .--maintenance .section__contents--block.--pages {
    max-width: unset;
    padding: 40px 20px 80px;
  }
}

.--maintenance .section__contents--block.--pages .contents__block {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin: 0 auto;
  max-width: 860px;
  width: 100%;
}

.--maintenance .contents__block--title {
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: center;
  margin-bottom: 0;
  padding: 0;
  text-align: center;
}

.--maintenance .contents__block--title::after {
  background-color: var(--ta-heading-accent-bar-color, #ffa54f);
  content: "";
  display: block;
  height: var(--ta-heading-accent-bar-height, 2px);
  margin: 12px auto 0;
  width: var(--ta-heading-accent-bar-width, 100px);
}

.--maintenance .contents__block--title .--title-label {
  display: block;
  margin: 0;
}

.--maintenance .contents__block--title .--title-label span {
  color: var(--ta-color-primary, #0a2463);
  display: block;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.7;
}

.--maintenance .contents__block--note {
  color: var(--ta-color-text, #1a1a2e);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1.7;
  margin: 0;
}

.--maintenance .contents__block--note + .maintenance-table-scroll {
  margin-top: 0;
}

.contents__block--note + .pages__section--block {
  margin-top: 48px;
}

.contents__block--note.--pc-center br {
  display: none;
}

@media screen and (min-width: 940px) {
  .contents__block--note.--pc-center {
    text-align: center;
  }

  .contents__block--note.--pc-center br {
    display: block;
  }
}

.pages__section--block:not(:last-of-type) {
  margin-bottom: 60px;
}

.pages__section--block-title {
  display: flex;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.27;
  margin-bottom: 24px;
}

@media screen and (min-width: 940px) {
  .pages__section--block-title {
    margin-bottom: 36px;
  }

  .pages__section--block-title br {
    display: none;
  }
}

.pages__section--block-title::before {
  background-color: var(--ta-color-accent, #ff6800);
  content: "";
  display: block;
  height: 2px;
  margin: 15px 10px 15px 0;
  min-width: 9px;
  width: 9px;
}

.--notfound .pages__section--block-title {
  color: var(--ta-color-primary, #0a2463);
}

.--notfound .pages__section--block-title::before {
  content: none;
  display: none;
}

.--notfound .--title-primary,
.--notfound .--note-primary {
  color: var(--ta-color-primary, #0a2463);
}

.--notfound .link__orange {
  color: var(--ta-color-main, #1e5fad);
}

.--maintenance .maintenance-table-scroll {
  filter: drop-shadow(0 4px 7px rgba(235, 243, 252, 0.48));
  overflow-x: auto;
  width: 100%;
}

.--maintenance .maintenance-table {
  border: 1px solid var(--ta-color-border, #d4dce8);
  border-collapse: separate;
  border-radius: 6px;
  border-spacing: 0;
  color: var(--ta-color-text, #1a1a2e);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  min-width: 820px;
  overflow: hidden;
  table-layout: fixed;
  width: 100%;
}

.--maintenance .maintenance-table th,
.--maintenance .maintenance-table td {
  border: 0;
  border-right: 1px solid var(--ta-color-border, #d4dce8);
  border-top: 1px solid var(--ta-color-border, #d4dce8);
  box-sizing: border-box;
  padding: 16px 24px;
  vertical-align: middle;
}

.--maintenance .maintenance-table th:last-child,
.--maintenance .maintenance-table td:last-child {
  border-right: 0;
}

.--maintenance .maintenance-table thead th {
  background: var(--ta-color-main, #1e5fad);
  border-color: rgba(255, 255, 255, 0.75);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  height: 56px;
  line-height: 1.4;
  text-align: center;
}

.--maintenance .maintenance-table thead th.column-title-cell,
.--maintenance .maintenance-table thead th.time-cell-01,
.--maintenance .maintenance-table thead th.time-cell-02 {
  background: var(--ta-color-primary, #0a2463);
}

.--maintenance .maintenance-table thead tr:first-child th {
  border-top: 0;
}

.--maintenance .maintenance-table tbody th {
  background: #f2f5f9;
  color: var(--ta-color-primary, #0a2463);
  font-size: 15px;
  font-weight: 700;
  height: 68px;
  line-height: 1.4;
  text-align: left;
}

.--maintenance .maintenance-table tbody tr:nth-child(even) th {
  background: var(--ta-color-primary-pale, #ebf3fc);
}

.--maintenance .maintenance-table tbody td {
  background: #fff;
  text-align: center;
}

.--maintenance .maintenance-table tbody td.time-cell-01,
.--maintenance .maintenance-table tbody td.time-cell-02 {
  color: var(--ta-color-primary-light, #3a82d4);
  font-weight: 700;
}

.--maintenance .maintenance-table th.column-title-cell,
.--maintenance .maintenance-table td.column-title-cell,
.--maintenance .maintenance-table th.time-cell-01,
.--maintenance .maintenance-table td.time-cell-01,
.--maintenance .maintenance-table th.time-cell-02,
.--maintenance .maintenance-table td.time-cell-02 {
  width: calc(100% / 3);
}

.--maintenance .maintenance-table th.empty-cell,
.--maintenance .maintenance-table td.empty-cell {
  text-align: center;
}

@media screen and (max-width: 939px) {
  .--maintenance .section__contents--block.--pages {
    padding: 32px 20px 60px;
  }

  .--maintenance .section__contents--block.--pages .contents__block {
    gap: 32px;
  }

  .--maintenance .contents__block--title .--title-label span {
    font-size: 24px;
  }

  .--maintenance .contents__block--note {
    font-size: 14px;
    letter-spacing: 0;
  }

  .--maintenance .maintenance-table-scroll {
    filter: none;
  }

  .--maintenance .maintenance-table {
    font-size: 14px;
    min-width: 640px;
  }

  .--maintenance .maintenance-table th,
  .--maintenance .maintenance-table td {
    padding: 12px;
  }

  .--maintenance .maintenance-table thead th,
  .--maintenance .maintenance-table tbody th {
    font-size: 13px;
  }
}

/* ================================================================
   WPテーマ triauto-blog（/triauto/blogs/）の記事コンテンツ保護（2026-07-18）
   このテーマは app.css を自前の<link>で先に読み込み、テーマ style.css の
   「後勝ち」上書きを前提に設計されている（common.js も app.css を再注入しない。
   /triauto/assets/js/common.js・/src/js/common.js の同期ブロック参照）。
   それでも app.css のグローバル素地のうち、テーマ側に同一詳細度の上書きが無い
   下記2点は記事表示を変えてしまうため、このテーマに限り既定へ戻す:
   - main { display:flex } のレイアウト化 → block へ復元
   - body:has(.global-header-reserve) の文字色/フォント（詳細度 0-1-1 で
     テーマの body 指定に勝ってしまう）→ UA既定へ復元（このブロックは
     body:has(...) ルールより後方に置くこと。同詳細度のため後勝ちで復元している）
   共通ヘッダー/フッター/パンくずは直後のルールで色/フォントを自前確保する。
   ================================================================ */
body.triauto-blog main {
  display: block;
  flex: none;
}

body.triauto-blog {
  color: initial;
  font-family: initial;
}

/* 共通パーツ側は上の復元の影響を受けないよう、通常ページと同じ色/フォントを明示する
   （.header-for-triauto--portal もこのスコープに含まれる） */
body.triauto-blog .header-for-triauto {
  color: var(--ta-color-text);
  font-family: var(--ta-font-family-ja);
}

/* フッターの文字色は .footer 自身の配色（濃紺地に近白 #f7f9fc、オレンジ見出し等）が
   担っているため、ここで color を再指定してはいけない（再指定すると継承系の
   テキスト＝登録番号・費用リスク・コピーライト等が濃色化する）。
   body 復元(font-family: initial)の影響を受けないようフォントだけ明示する。
   （.breadcrumbs__nav（footer内）もこのスコープに含まれる） */
body.triauto-blog .footer {
  font-family: var(--ta-font-family-ja);
}
