/* =====================================================================
   ftj.theme_ui_footer_2026.css
   新テーマ（styles2026.css）用フッタースタイル
   既存の ftj.theme_ui_footer.css + ftj.theme_ui_footer_add.css を統合。
   ※ 全セレクタを .footer 等のフッター要素配下にスコープし、フッター内のみで有効。
      本文へは影響しません（.frk-sky / .br-container-box には依存しません）。
   ===================================================================== */

/* ---------------------------------------------------------------------
   0. layout & spacing tokens
   旧 ftj.theme_ui_grid_2026.css からフッターで実際に使用していた
   レイアウト／余白のみを移植し、コンポーネント専用クラスへ再編。
   （汎用グリッド grid / row / col は廃止）
   --------------------------------------------------------------------- */
.footer,
.goto-sitenav,
.page-container__back-to-top,
.globalSiteModal,
.otherSiteModal,
.modal-country__container {
  --space-unit: 1rem;
  --space-xs: calc(0.25 * var(--space-unit));
  --space-sm: calc(0.5 * var(--space-unit));
  --space-md: calc(1 * var(--space-unit));
  --space-lg: calc(1.5 * var(--space-unit));
  --space-xl: calc(2 * var(--space-unit));
  --space-xxl: calc(3.5 * var(--space-unit));
  --space-xxxl: calc(7 * var(--space-unit))
}

@media (min-width:1200px) {
  .footer,
  .goto-sitenav,
  .page-container__back-to-top,
  .globalSiteModal,
  .otherSiteModal,
  .modal-country__container {
    --space-xs: calc(0.5 * var(--space-unit));
    --space-sm: calc(1 * var(--space-unit));
    --space-md: calc(1.5 * var(--space-unit));
    --space-lg: calc(2 * var(--space-unit));
    --space-xl: calc(3.5 * var(--space-unit));
    --space-xxl: calc(4.5 * var(--space-unit));
    --space-xxxl: calc(9 * var(--space-unit))
  }
}

/* ---------------------------------------------------------------------
   1. color & typography tokens
   旧 ftj.theme_ui_color_2026.css からフッターで実際に使用していた
   トークンのみを移植。styles2026.css は別命名体系（--color-std-* 等）
   のため名称衝突は無い。未使用トークンは移植せず破棄。
   共通基盤（色プリミティブ／フォント／panel／title／icon／alert 等）と
   フッター固有トークン（--footer-*）をまとめてフッター要素配下にスコープする。
   --------------------------------------------------------------------- */
.footer,
.goto-sitenav,
.page-container__back-to-top,
.globalSiteModal,
.otherSiteModal,
.modal-country__container {
  /* font families / weights */
  --font-regular: "TTCommonsProRegular","Noto Sans JP Regular", arial, sans-serif;
  --font-medium: "TTCommonsProMedium","Noto Sans JP Medium", arial, sans-serif;
  --font-semibold: "TTCommonsProDemiBold","Noto Sans JP Bold", arial, sans-serif;
  --font-bold: "TTCommonsProBold","Noto Sans JP Black", arial, sans-serif;
  --font-weight-regular: normal;
  --font-weight-medium: normal;
  --font-weight-semibold: normal;
  --font-weight-bold: normal;
  /* color primitives */
  --ft-sky-blue: #3769ff;
  --ft-sky-blue-rgb: 55, 105, 255;
  --ft-sky-blue-1: #ddeaff;
  --ft-sky-blue-2: #91b9ff;
  --ft-sky-blue-3: #5291ff;
  --ft-sky-blue-4: #1446e1;
  --ft-sky-blue-5: #345edd;
  --ft-teal: #00bfb3;
  --ft-teal-2: #72dbd5;
  --ft-teal-3: #00a096;
  --ft-teal-4: #00847d;
  --ft-purple: #6730e3;
  --ft-orange-2: #ff9665;
  --ft-berry-4: #dc0546;
  --ft-morningstar-yellow: #f7bc00;
  --ft-light-grey: #f4f4f4;
  --ft-grey-1: #e6e6e6;
  --ft-grey-2: #bfbfbf;
  --ft-grey-3: #8c8c8c;
  --ft-grey-4: #595959;
  --transparent: transparent;
  --white: #ffffff;
  --black: #212121;
  /* derived / semantic */
  --brand-1: var(--ft-sky-blue);
  --brand-2: var(--ft-sky-blue);
  --brand-3: var(--ft-sky-blue-1);
  --greyscale-1: var(--ft-grey-4);
  --greyscale-2: var(--ft-grey-3);
  --greyscale-3: var(--ft-grey-2);
  --greyscale-4: var(--ft-grey-1);
  --greyscale-5: var(--ft-light-grey);
  --body-copy: var(--black);
  --border: var(--ft-grey-1);
  --focus-outline: var(--black);
  --focus-outline-size: 3px;
  --link-text: var(--ft-sky-blue-4);
  --info-alert: var(--ft-sky-blue);
  --success-confirm: var(--ft-teal-4);
  --caution-warning: var(--ft-orange-2);
  --error-alert: var(--ft-berry-4);
  --icon-fill: var(--ft-sky-blue);
  --icon-hover: #345edd;
  --morningstar-ratings: var(--ft-morningstar-yellow);
  --transition-basic: 0.4s ease-out all;
  --modal-background: var(--black);
  --z-index-highest-2: 5;
  --z-index-highest-3: 6;
  --z-index-modal-basic: 10;
  --z-index-modal-higher: 11;
  --box-shadow-basic: 0 0.5rem 0.6875rem -0.5rem rgba(var(--ft-sky-blue-rgb), 0.2);
  --btn-border-radius: 9999px;
  --btn-font-family: var(--font-semibold);
  --btn-tertiary-bg: var(--ft-teal-2);
  --btn-tertiary-bg-hover: #55c3bd;
  --btn-tertiary-text: var(--black);
  --btn-tertiary-text-hover: var(--black);
  --btn-tertiary-border: var(--ft-teal-2);
  --btn-tertiary-border-hover: #55c3bd;
  --title-text-basic: inherit;
  --title-text-primary: var(--ft-sky-blue);
  --title-text-secondary: var(--brand-1);
  --title-text-dark: var(--ft-sky-blue);
  --title-text-search: var(--ft-sky-blue);
  /* panel */
  --panel-basic-bg: none;
  --panel-basic-text: var(--body-copy);
  --panel-primary-bg: var(--ft-sky-blue);
  --panel-primary-bg-text: var(--white);
  --panel-dark-bg: var(--brand-2);
  --panel-dark-bg-text: var(--white);
  --panel-light-bg: var(--ft-sky-blue-1);
  --panel-light-text: var(--black);
  --panel-white-bg: var(--white);
  --panel-white-bg-text: var(--black);
  --panel-grey-bg: var(--ft-light-grey);
  --panel-dark-grey-bg: var(--ft-light-grey);
  --panel-grey-bg-text: var(--black);
  --panel-dark-grey-text: var(--body-copy);
  --panel-highlight-bg: var(--ft-sky-blue-1);
  --panel-highlight-bg-text: var(--black);
  --panel-secondary-a-bg: var(--white);
  --panel-digital-theme-teal-bg: #1b676b;
  --panel-digital-theme-teal-bg-text: var(--white);
  --panel-fund-header: var(--ft-sky-blue-1);
  --panel-fund-header-text: var(--black);
  --panel-hover-border: var(--ft-sky-blue);
  --panel-compact-hover-border: var(--ft-sky-blue);
  --panel-notification-alert: var(--info-alert);
  --panel-notification-confirm: var(--success-confirm);
  --panel-notification-warning: var(--caution-warning);
  --panel-notification-error: var(--error-alert);
  /* footer 固有 */
  --footer-bg: var(--ft-light-grey);
  --footer-link: inherit;
  --footer-border: var(--greyscale-3);
  --footer-country-bg: var(--ft-grey-1);
  --footer-country-link: var(--ft-sky-blue-4);
  --footer-country-select-link: var(--ft-sky-blue-4);
  --footer-country-mobile-text: var(--greyscale-1);
  --footer-site-nav-bg: var(--transparent);
  --footer-site-nav-text: var(--ft-sky-blue-4);
  --footer-site-nav-title-link: inherit;
  --footer-global-nav-bg: var(--transparent);
  --footer-global-nav-text: var(--ft-sky-blue-4);
  --footer-copyright-bg: var(--ft-sky-blue);
  --footer-copyright-text: var(--white)
}

/* typography tokens（title--h6 等の解決用。webフォントは styles2026.css 側で読込済み） */
.footer,
.goto-sitenav,
.page-container__back-to-top,
.globalSiteModal,
.otherSiteModal,
.modal-country__container {
  --fonts-base-font-size-mobile: 1rem;
  --fonts-base-font-size-tablet: calc( 1rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-base-font-size-small-desktop: calc( 1rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-base-font-size-desktop: calc( 1rem + 0.125 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-base-font-size-large-desktop: 1.125rem;
  --fonts-base-font-family: var(--font-regular);
  --fonts-base-font-weight: var(--font-weight-regular);
  --fonts-base-line-height: ;
  --fonts-xxl-font-size-mobile: 3.0517578125rem;
  --fonts-xxl-font-size-tablet: calc( 3.0517578125rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-xxl-font-size-small-desktop: calc( 3.0517578125rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-xxl-font-size-desktop: calc( 3.0517578125rem + 0.3814697266 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-xxl-font-size-large-desktop: 3.4332275391rem;
  --fonts-xxl-font-family: var(--font-bold);
  --fonts-xxl-font-weight: var(--font-weight-semibold);
  --fonts-xxl-line-height: 1.25;
  --fonts-xl-font-size-mobile: 2.44140625rem;
  --fonts-xl-font-size-tablet: calc( 2.44140625rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-xl-font-size-small-desktop: calc( 2.44140625rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-xl-font-size-desktop: calc( 2.44140625rem + 0.3051757813 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-xl-font-size-large-desktop: 2.7465820313rem;
  --fonts-xl-font-family: var(--font-bold);
  --fonts-xl-font-weight: var(--font-weight-bold);
  --fonts-xl-line-height: 1.25;
  --fonts-h1-font-size-mobile: 2.44140625rem;
  --fonts-h1-font-size-tablet: calc( 2.44140625rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-h1-font-size-small-desktop: calc( 2.44140625rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-h1-font-size-desktop: calc( 2.44140625rem + 0.3051757813 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-h1-font-size-large-desktop: 2.7465820313rem;
  --fonts-h1-font-family: var(--font-bold);
  --fonts-h1-font-weight: var(--font-weight-bold);
  --fonts-h1-line-height: 1.25;
  --fonts-h1--reg-font-size-mobile: 2.44140625rem;
  --fonts-h1--reg-font-size-tablet: calc( 2.44140625rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-h1--reg-font-size-small-desktop: calc( 2.44140625rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-h1--reg-font-size-desktop: calc( 2.44140625rem + 0.3051757813 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-h1--reg-font-size-large-desktop: 2.7465820313rem;
  --fonts-h1--reg-font-family: var(--font-bold);
  --fonts-h1--reg-font-weight: var(--font-weight-bold);
  --fonts-h1--reg-line-height: 1.25;
  --fonts-h2-font-size-mobile: 1.953125rem;
  --fonts-h2-font-size-tablet: calc( 1.953125rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-h2-font-size-small-desktop: calc( 1.953125rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-h2-font-size-desktop: calc( 1.953125rem + 0.244140625 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-h2-font-size-large-desktop: 2.197265625rem;
  --fonts-h2-font-family: var(--font-bold);
  --fonts-h2-font-weight: var(--font-weight-bold);
  --fonts-h2-line-height: 1.25;
  --fonts-h2--reg-font-size-mobile: 1.953125rem;
  --fonts-h2--reg-font-size-tablet: calc( 1.953125rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-h2--reg-font-size-small-desktop: calc( 1.953125rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-h2--reg-font-size-desktop: calc( 1.953125rem + 0.244140625 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-h2--reg-font-size-large-desktop: 2.197265625rem;
  --fonts-h2--reg-font-family: var(--font-bold);
  --fonts-h2--reg-font-weight: var(--font-weight-bold);
  --fonts-h2--reg-line-height: 1.25;
  --fonts-h3-font-size-mobile: 1.5625rem;
  --fonts-h3-font-size-tablet: calc( 1.5625rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-h3-font-size-small-desktop: calc( 1.5625rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-h3-font-size-desktop: calc( 1.5625rem + 0.1953125 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-h3-font-size-large-desktop: 1.7578125rem;
  --fonts-h3-font-family: var(--font-medium);
  --fonts-h3-font-weight: var(--font-weight-medium);
  --fonts-h3-line-height: 1.25;
  --fonts-h3--reg-font-size-mobile: 1.5625rem;
  --fonts-h3--reg-font-size-tablet: calc( 1.5625rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-h3--reg-font-size-small-desktop: calc( 1.5625rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-h3--reg-font-size-desktop: calc( 1.5625rem + 0.1953125 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-h3--reg-font-size-large-desktop: 1.7578125rem;
  --fonts-h3--reg-font-family: var(--font-medium);
  --fonts-h3--reg-font-weight: var(--font-weight-medium);
  --fonts-h3--reg-line-height: 1.25;
  --fonts-h4-font-size-mobile: 1.25rem;
  --fonts-h4-font-size-tablet: calc( 1.25rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-h4-font-size-small-desktop: calc( 1.25rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-h4-font-size-desktop: calc( 1.25rem + 0.15625 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-h4-font-size-large-desktop: 1.40625rem;
  --fonts-h4-font-family: var(--font-semibold);
  --fonts-h4-font-weight: var(--font-weight-semibold);
  --fonts-h4-line-height: 1.25;
  --fonts-h4--reg-font-size-mobile: 1.25rem;
  --fonts-h4--reg-font-size-tablet: calc( 1.25rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-h4--reg-font-size-small-desktop: calc( 1.25rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-h4--reg-font-size-desktop: calc( 1.25rem + 0.15625 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-h4--reg-font-size-large-desktop: 1.40625rem;
  --fonts-h4--reg-font-family: var(--font-regular);
  --fonts-h4--reg-font-weight: var(--font-weight-regular);
  --fonts-h4--reg-line-height: 1.25;
  --fonts-h5-font-size-mobile: 1rem;
  --fonts-h5-font-size-tablet: calc( 1rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-h5-font-size-small-desktop: calc( 1rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-h5-font-size-desktop: calc( 1rem + 0.125 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-h5-font-size-large-desktop: 1.125rem;
  --fonts-h5-font-family: var(--font-semibold);
  --fonts-h5-font-weight: var(--font-weight-semibold);
  --fonts-h5-line-height: 1.25;
  --fonts-h5--reg-font-size-mobile: 1rem;
  --fonts-h5--reg-font-size-tablet: calc( 1rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-h5--reg-font-size-small-desktop: calc( 1rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-h5--reg-font-size-desktop: calc( 1rem + 0.125 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-h5--reg-font-size-large-desktop: 1.125rem;
  --fonts-h5--reg-font-family: var(--font-bold);
  --fonts-h5--reg-font-weight: var(--font-weight-bold);
  --fonts-h5--reg-line-height: 1.25;
  --fonts-h6-font-size-mobile: 1rem;
  --fonts-h6-font-size-tablet: calc( 1rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-h6-font-size-small-desktop: calc( 1rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-h6-font-size-desktop: calc( 1rem + 0.125 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-h6-font-size-large-desktop: 1.125rem;
  --fonts-h6-font-family: var(--font-bold);
  --fonts-h6-font-weight: var(--font-weight-bold);
  --fonts-h6-line-height: 1.25;
  --fonts-p--b-font-size-mobile: 1rem;
  --fonts-p--b-font-size-tablet: calc( 1rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-p--b-font-size-small-desktop: calc( 1rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-p--b-font-size-desktop: calc( 1rem + 0.125 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-p--b-font-size-large-desktop: 1.125rem;
  --fonts-p--b-font-family: var(--font-semibold);
  --fonts-p--b-font-weight: var(--font-weight-semibold);
  --fonts-p--b-line-height: 1.5;
  --fonts-p-font-size-mobile: 1rem;
  --fonts-p-font-size-tablet: calc( 1rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-p-font-size-small-desktop: calc( 1rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-p-font-size-desktop: calc( 1rem + 0.125 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-p-font-size-large-desktop: 1.125rem;
  --fonts-p-font-family: var(--font-regular);
  --fonts-p-font-weight: var(--font-weight-regular);
  --fonts-p-line-height: 1.5;
  --fonts-small-font-size-mobile: 0.8rem;
  --fonts-small-font-size-tablet: calc( 0.8rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-small-font-size-small-desktop: calc( 0.8rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-small-font-size-desktop: calc( 0.8rem + 0.1 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-small-font-size-large-desktop: 0.9rem;
  --fonts-small-font-family: var(--font-regular);
  --fonts-small-font-weight: var(--font-weight-regular);
  --fonts-small-line-height: 1.5;
  --fonts-small--b-font-size-mobile: 0.8rem;
  --fonts-small--b-font-size-tablet: calc( 0.8rem + 0 * ( ( 100vw - 768px) / 432 ) );
  --fonts-small--b-font-size-small-desktop: calc( 0.8rem + 0 * ( ( 100vw - 1200px) / 400 ) );
  --fonts-small--b-font-size-desktop: calc( 0.8rem + 0.1 * ( ( 100vw - 1600px) / 300 ) );
  --fonts-small--b-font-size-large-desktop: 0.9rem;
  --fonts-small--b-font-family: var(--font-semibold);
  --fonts-small--b-font-weight: var(--font-weight-semibold);
  --fonts-small--b-line-height: 1.5
}
.footer {
  background: var(--footer-bg);
  width: 100%
}
.footer a {
  text-decoration: none;
}
.footer div, .footer span, .footer h3, .footer p, .footer a, .footer img, .footer nav, .footer section {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
.footer nav, .footer section {
  display: block;
}
.footer img {
  border: 0;
  -ms-interpolation-mode: bicubic;
}
.footer ::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}
.footer ::selection {
  background: #b3d4fc;
  text-shadow: none;
}
.footer img {
  vertical-align: middle;
}

/** 新スタイル上書き用 **/
.footer ul li {
  margin-left: 0;
  padding: 0;
  list-style-type: none;
}
.footer .footer__grid {
  margin: 0 .5rem
}

.footer .footer__row {
  display: flex;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  justify-content: space-between
}

.footer .footer__col {
  box-sizing: border-box;
  padding: 0 .5rem;
  min-height: 1px;
  width: 100%
}

/* サイトナビ見出し（旧 spacing--sm / padding-top--lg） */
.footer .footer__eds-title {
  margin-bottom: var(--space-sm)
}

.footer .footer__site-nav-heading--gap {
  padding-top: var(--space-lg)
}

/* 国選択エリアのリンク（旧 padding-left--xl / padding-right--md） */
.footer .country-user-role .footer__country-role-link {
  padding-left: var(--space-xl);
  padding-right: var(--space-md)
}

@media (min-width:768px) {
  .footer .footer__grid {
    margin: 0 .25rem
  }

  .footer .footer__col {
    padding: 0 .75rem
  }

  /* 著作権（旧 copyright__legal m6 / copyright__logo m2） */
  .footer .footer__row .footer__col--legal {
    width: 75%
  }

  .footer .footer__row .footer__col--logo {
    width: 25%
  }
}

@media (min-width:1200px) {
  /* 国表示（旧 country-disclaimer l7 / country-dropdowns l5） */
  .footer .footer__row .footer__col--disclaimer {
    width: 58.3333333333%
  }

  .footer .footer__row .footer__col--dropdowns {
    width: 41.6666666667%
  }

  /* 著作権（旧 copyright__legal l10 / copyright__logo l2） */
  .footer .footer__row .footer__col--legal {
    width: 83.3333333333%
  }

  .footer .footer__row .footer__col--logo {
    width: 16.6666666667%
  }
}

@media (min-width:1600px) {
  .footer .footer__grid {
    margin: 0 3rem
  }

  .footer .footer__col {
    padding: 0 1rem
  }
}

@media (min-width:1900px) {
  .footer .footer__grid {
    margin: 0 5rem
  }

  .footer .footer__col {
    padding: 0 1rem
  }
}

/* ---------------------------------------------------------------------
   1. footer base
   --------------------------------------------------------------------- */


/* ---------------------------------------------------------------------
   1-1. typography (title--h6 base)
   frk-sky.theme_font.css / ftj.theme.css の .title--h6 基本タイポグラフィを移植。
   ※ 後段の footer 固有 font-size 上書き（--fonts-small-*）より前に配置し、
      該当ブレークポイントでは上書き側が優先されるようにする。
   --------------------------------------------------------------------- */
.footer .footer__title--h6 {
  font-family: var(--fonts-h6-font-family);
  font-weight: var(--fonts-h6-font-weight);
  line-height: var(--fonts-h6-line-height);
  font-size: var(--fonts-h6-font-size-mobile)
}

@media (min-width:768px) and (max-width:1200px) {
  .footer .footer__title--h6 {
    font-size: var(--fonts-h6-font-size-tablet)
  }
}

@media (min-width:1200px) and (max-width:1600px) {
  .footer .footer__title--h6 {
    font-size: var(--fonts-h6-font-size-small-desktop)
  }
}

@media (min-width:1600px) and (max-width:1900px) {
  .footer .footer__title--h6 {
    font-size: var(--fonts-h6-font-size-desktop)
  }
}

@media (min-width:1900px) {
  .footer .footer__title--h6 {
    font-size: var(--fonts-h6-font-size-large-desktop)
  }
}

.footer .country {
  font-size: 1rem;
  margin-bottom: var(--space-lg)
}

.footer .country .footer__grid {
  margin: 0
}

.footer .country-disclaimer {
  background: var(--footer-country-bg);
  line-height: 150%;
  padding: 1rem 2rem
}

.footer .country-dropdowns {
  text-align: left;
  padding: 0
}

.footer .country-select-hub {
  border: .0625rem solid transparent;
  padding: 1rem 2rem 0;
  display: inline-block
}

.footer .country-select-hub a {
  color: var(--footer-country-link);
  background-color: transparent;
  text-align: left;
  box-sizing: border-box;
  text-decoration: none
}

.footer .country-select-hub .md {
  font-family: var(--fonts-p-font-family);
  font-weight: var(--fonts-p-font-weight);
  line-height: var(--fonts-p-line-height);
  font-size: var(--fonts-p-font-size-mobile)
}

@media (min-width:768px) and (max-width:1200px) {
  .footer .country-select-hub .md {
    font-size: var(--fonts-p-font-size-tablet)
  }
}

@media (min-width:1200px) and (max-width:1600px) {
  .footer .country-select-hub .md {
    font-size: var(--fonts-p-font-size-small-desktop)
  }
}

@media (min-width:1600px) and (max-width:1900px) {
  .footer .country-select-hub .md {
    font-size: var(--fonts-p-font-size-desktop)
  }
}

@media (min-width:1900px) {
  .footer .country-select-hub .md {
    font-size: var(--fonts-p-font-size-large-desktop)
  }
}

.footer .site-nav {
  display: none
}

.footer .global-nav {
  background: var(--footer-global-nav-bg)
}

.footer .global-nav__list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0 1rem 3.5rem;
  border: 0;
  list-style: none
}

.footer .global-nav__list--item {
  font-family: var(--fonts-small-font-family);
  font-weight: var(--fonts-small-font-weight);
  line-height: var(--fonts-small-line-height);
  font-size: var(--fonts-small-font-size-mobile);
  color: var(--footer-global-nav-text);
  margin-bottom: var(--space-md)
}

@media (min-width:768px) and (max-width:1200px) {
  .footer .global-nav__list--item {
    font-size: var(--fonts-small-font-size-tablet)
  }
}

@media (min-width:1200px) and (max-width:1600px) {
  .footer .global-nav__list--item {
    font-size: var(--fonts-small-font-size-small-desktop)
  }
}

@media (min-width:1600px) and (max-width:1900px) {
  .footer .global-nav__list--item {
    font-size: var(--fonts-small-font-size-desktop)
  }
}

@media (min-width:1900px) {
  .footer .global-nav__list--item {
    font-size: var(--fonts-small-font-size-large-desktop)
  }
}

.footer .global-nav__list--item a {
  color: var(--footer-link);
  text-decoration: none;
}

.footer .global-nav__list--link {
  font-family: var(--fonts-small-font-family);
  font-weight: var(--fonts-small-font-weight);
  line-height: var(--fonts-small-line-height);
  font-size: var(--fonts-small-font-size-mobile);
  text-decoration: underline
}

@media (min-width:768px) and (max-width:1200px) {
  .footer .global-nav__list--link {
    font-size: var(--fonts-small-font-size-tablet)
  }
}

@media (min-width:1200px) and (max-width:1600px) {
  .footer .global-nav__list--link {
    font-size: var(--fonts-small-font-size-small-desktop)
  }
}

@media (min-width:1600px) and (max-width:1900px) {
  .footer .global-nav__list--link {
    font-size: var(--fonts-small-font-size-desktop)
  }
}

@media (min-width:1900px) {
  .footer .global-nav__list--link {
    font-size: var(--fonts-small-font-size-large-desktop)
  }
}

.footer .global-nav__list--link:hover {
  text-decoration: none;
  background-color: transparent
}

.footer .global-nav__list--link:focus {
  outline: var(--focus-outline-size) solid var(--focus-outline);
  text-decoration: none
}

.footer .global-nav__list--link:active, .footer .global-nav__list--link:active:focus {
  text-decoration: none;
  outline: none
}

.footer .global-nav__list--link:focus:not(:focus-visible) {
  outline: none
}

.footer .global-nav .social-media__link {
  padding: 0 0 0 .5rem
}

.footer .global-nav .social-media__link:focus, .footer .global-nav .social-media__link:hover {
  background-color: transparent
}

.footer .copyright {
  background: var(--footer-copyright-bg);
  padding-top: 2rem;
  padding-bottom: 2rem
}

.footer .copyright__legal {
  font-family: var(--fonts-small-font-family);
  font-weight: var(--fonts-small-font-weight);
  line-height: var(--fonts-small-line-height);
  font-size: var(--fonts-small-font-size-mobile);
  line-height: 150%;
  color: var(--footer-copyright-text);
  order: 2;
  padding: 0 1.75rem
}

@media (min-width:768px) and (max-width:1200px) {
  .footer .copyright__legal {
    font-size: var(--fonts-small-font-size-tablet)
  }
}

@media (min-width:1200px) and (max-width:1600px) {
  .footer .copyright__legal {
    font-size: var(--fonts-small-font-size-small-desktop)
  }
}

@media (min-width:1600px) and (max-width:1900px) {
  .footer .copyright__legal {
    font-size: var(--fonts-small-font-size-desktop)
  }
}

@media (min-width:1900px) {
  .footer .copyright__legal {
    font-size: var(--fonts-small-font-size-large-desktop)
  }
}

.footer .copyright__logo {
  text-align: left;
  order: 1;
  padding: 0 1.75rem 1.5rem
}

.footer .copyright__logo--img {
  height: 1.9375rem;
  width: auto;
  max-width: 100%
}

@media (min-width:768px) {
  .footer .global-nav__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap
  }

  .footer .global-nav__list--item {
    width: 50%
  }

  .footer .copyright {
    background: var(--footer-copyright-bg)
  }

  .footer .copyright__legal {
    align-self: center;
    display: block;
    color: var(--footer-copyright-text);
    order: 1;
    padding: 0 1.75rem
  }

  .footer .copyright__logo {
    order: 2;
    text-align: right;
    padding: 0 1.75rem
  }

  .footer .copyright__logo--img {
    height: 1.625rem;
    width: auto
  }
}

@media (min-width:1024px) {
  .footer .country {
    background: var(--footer-country-bg)
  }

  .footer .country .footer__grid {
    margin: 0 auto
  }

  .footer .country-user-role {
    text-align: right;
    font-family: var(--fonts-small-font-family);
    font-weight: var(--fonts-small-font-weight);
    line-height: var(--fonts-small-line-height);
    font-size: var(--fonts-small-font-size-mobile)
  }
}

@media (min-width:1024px) and (min-width:768px) and (max-width:1200px) {
  .footer .country-user-role {
    font-size: var(--fonts-small-font-size-tablet)
  }
}

@media (min-width:1024px) and (min-width:1200px) and (max-width:1600px) {
  .footer .country-user-role {
    font-size: var(--fonts-small-font-size-small-desktop)
  }
}

@media (min-width:1024px) and (min-width:1600px) and (max-width:1900px) {
  .footer .country-user-role {
    font-size: var(--fonts-small-font-size-desktop)
  }
}

@media (min-width:1024px) and (min-width:1900px) {
  .footer .country-user-role {
    font-size: var(--fonts-small-font-size-large-desktop)
  }
}

@media (min-width:1024px) {
  .footer .country-dropdowns {
    text-align: right;
    padding: 1rem;
    flex-grow: 1
  }

  .footer .country-disclaimer {
    width: auto;
    flex-grow: 0;
    padding: 1rem
  }

  .footer .country-select-hub {
    padding: .5rem 0
  }

  .footer .country-select-hub:hover {
    text-decoration: underline
  }

  .footer .country-select-hub .md {
    font-family: var(--fonts-small-font-family);
    font-weight: var(--fonts-small-font-weight);
    line-height: var(--fonts-small-line-height);
    font-size: var(--fonts-small-font-size-mobile)
  }
}

@media (min-width:1024px) and (min-width:768px) and (max-width:1200px) {
  .footer .country-select-hub .md {
    font-size: var(--fonts-small-font-size-tablet)
  }
}

@media (min-width:1024px) and (min-width:1200px) and (max-width:1600px) {
  .footer .country-select-hub .md {
    font-size: var(--fonts-small-font-size-small-desktop)
  }
}

@media (min-width:1024px) and (min-width:1600px) and (max-width:1900px) {
  .footer .country-select-hub .md {
    font-size: var(--fonts-small-font-size-desktop)
  }
}

@media (min-width:1024px) and (min-width:1900px) {
  .footer .country-select-hub .md {
    font-size: var(--fonts-small-font-size-large-desktop)
  }
}

@media (min-width:1024px) {
  .footer .country-user-role {
    width: auto;
    flex-grow: 0;
    display: inline-block
  }

  .footer .site-nav {
    color: var(--footer-site-nav-text);
    background: var(--footer-site-nav-bg);
    display: flex;
    flex-direction: row;
    margin-bottom: var(--space-lg)
  }

  .footer .site-nav__col {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0;
    padding-right: 2rem
  }

  .footer .site-nav__col:last-child {
    padding-right: 0;
    margin-bottom: 0
  }

  .footer .site-nav__list {
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none
  }

  .footer .site-nav__list--item {
    margin-bottom: var(--space-sm)
  }

  .footer .site-nav__list--link {
    font-family: var(--fonts-small-font-family);
    font-weight: var(--fonts-small-font-weight);
    line-height: var(--fonts-small-line-height);
    font-size: var(--fonts-small-font-size-mobile);
    text-decoration: none;
    color: var(--footer-site-nav-text);
    line-height: 150%;
    padding: 0
  }
}

@media (min-width:1024px) and (min-width:768px) and (max-width:1200px) {
  .footer .site-nav__list--link {
    font-size: var(--fonts-small-font-size-tablet)
  }
}

@media (min-width:1024px) and (min-width:1200px) and (max-width:1600px) {
  .footer .site-nav__list--link {
    font-size: var(--fonts-small-font-size-small-desktop)
  }
}

@media (min-width:1024px) and (min-width:1600px) and (max-width:1900px) {
  .footer .site-nav__list--link {
    font-size: var(--fonts-small-font-size-desktop)
  }
}

@media (min-width:1024px) and (min-width:1900px) {
  .footer .site-nav__list--link {
    font-size: var(--fonts-small-font-size-large-desktop)
  }
}

@media (min-width:1024px) {
  .footer .site-nav__list--link:hover {
    text-decoration: underline;
    background-color: transparent
  }

  .footer .site-nav__list--link:focus {
    outline: var(--focus-outline-size) solid var(--focus-outline);
    text-decoration: underline
  }

  .footer .site-nav__list--link:active, .footer .site-nav__list--link:active:focus {
    text-decoration: underline;
    outline: none
  }

  .footer .site-nav__list--link:focus:not(:focus-visible) {
    outline: none
  }

  .footer .global-nav__list {
    display: flex;
    flex-direction: row;
    padding: 0 0 .5rem
  }

  .footer .global-nav__list--item {
    width: auto;
    margin-right: 1.5rem;
    margin-bottom: var(--space-xs)
  }

  .footer .global-nav__list--link {
    text-decoration: none;
    padding: 0
  }

  .footer .global-nav__list--link:hover {
    text-decoration: underline
  }

  .footer .copyright__legal {
    padding: 0 .75rem;
    order: 1
  }

  .footer .copyright__logo {
    text-align: right;
    order: 2;
    padding: 0 .75rem
  }

  .footer .copyright__logo--img {
    height: 1.9375rem;
    width: auto
  }
}

@media (min-width:1200px) {
  .footer .global-nav__list {
    padding: 0 0 1.5rem
  }

  .footer .site-nav__list--link {
    font-family: var(--fonts-p-font-family);
    font-weight: var(--fonts-p-font-weight);
    line-height: var(--fonts-p-line-height);
    font-size: var(--fonts-p-font-size-mobile)
  }
}

@media (min-width:1200px) and (min-width:768px) and (max-width:1200px) {
  .footer .site-nav__list--link {
    font-size: var(--fonts-p-font-size-tablet)
  }
}

@media (min-width:1200px) and (min-width:1200px) and (max-width:1600px) {
  .footer .site-nav__list--link {
    font-size: var(--fonts-p-font-size-small-desktop)
  }
}

@media (min-width:1200px) and (min-width:1600px) and (max-width:1900px) {
  .footer .site-nav__list--link {
    font-size: var(--fonts-p-font-size-desktop)
  }
}

@media (min-width:1200px) and (min-width:1900px) {
  .footer .site-nav__list--link {
    font-size: var(--fonts-p-font-size-large-desktop)
  }
}

@media (min-width:1600px) {
  .footer .country {
    margin-bottom: var(--space-xxl)
  }

  .footer .country .footer__grid {
    margin: 0 3rem
  }

  .footer .country-disclaimer {
    padding: 1.5rem 2rem
  }

  .footer .country-dropdowns {
    padding: 1.5rem 1rem
  }

  .footer .site-nav {
    margin-bottom: var(--space-xl)
  }

  .footer .copyright {
    padding: 1.5rem 0
  }
}

@media (min-width:1900px) {
  .footer .country {
    margin-bottom: var(--space-xxl)
  }

  .footer .country .footer__grid {
    margin: 0 5rem
  }

  .footer .site-nav {
    margin-bottom: var(--space-xl)
  }

  .footer .copyright {
    padding: 1.5rem 0
  }
}

@media print {
  .footer {
    margin-top: 1rem;
    border-top: .0625rem solid #333;
    background: none;
    height: 0
  }

  .footer .footer__row {
    display: block
  }

  .footer .copyright__logo, .footer .country, .footer .global-nav__wrapper, .footer .site-nav__wrapper {
    display: none
  }

  .footer .copyright {
    background: #fff
  }

  .footer .copyright__legal {
    color: #000;
    padding-left: 0
  }
}

/* ---------------------------------------------------------------------
   2. footer add（追加・上書きスタイル）
   --------------------------------------------------------------------- */

.footer .country-disclaimer p {
  margin-bottom: 0;
}
@media (min-width:768px) {
  .footer .country .country-dropdowns {
    flex-grow: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
}
@media (max-width: 1024px) {
  .footer .country .country-dropdowns {
    justify-content: flex-start;
  }
}
.footer .country-user-role {
  padding-top: var(--space-lg);
}

@media (min-width: 1024px) {
  .footer .country-user-role {
    padding: 0.5rem 0;
  }
}


.footer .global-nav {
  display: flex;
  flex-direction:column;
  align-items: stretch;
}
@media (min-width:768px) {
  .footer .global-nav {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: baseline;
  }
}
@media (min-width: 1024px){
  .footer .site-nav__col:nth-child(2){
    flex-grow: 0.9;
  }
  .footer .site-nav__col:nth-child(3){
    flex-grow: 1.8;
  }
  .footer .site-nav__col:nth-child(4){
    flex-grow: 0.7;
  }
  .footer .site-nav__col:nth-child(5){
    flex-grow: 1.6;
  }
}

/* trade-name */
.footer .trade-name {
  font-family: var(--fonts-small-font-family);
  font-weight: var(--fonts-small-font-weight);
  line-height: var(--fonts-small-line-height);
  line-height: 150%;
  color: var(--footer-copyright-text);
  order: 2;
  padding: 0 1.75rem;
  margin-bottom: var(--space-xl);
}
.footer .trade-name p {
  font-size: var(--fonts-small-font-size-mobile);
  margin-bottom: 0;
  line-height: var(--fonts-p-line-height);
}
@media (min-width:768px) and (max-width:1200px) {
  .footer .trade-name p {
    font-size: var(--fonts-small-font-size-tablet)
  }
}

@media (min-width:1200px) and (max-width:1600px) {
  .footer .trade-name p {
    font-size: var(--fonts-small-font-size-small-desktop)
  }
}

@media (min-width:1600px) and (max-width:1900px) {
  .footer .trade-name p {
    font-size: var(--fonts-small-font-size-desktop)
  }
}

@media (min-width:1900px) {
  .footer .trade-name p {
    font-size: var(--fonts-small-font-size-large-desktop)
  }
}

@media (min-width:768px) {
  .footer .trade-name {
    align-self: center;
    display: block;
    color: var(--footer-copyright-text);
    order: 1;
    padding: 0 1.75rem;
    margin-bottom: var(--space-md);
  }
}
@media (min-width:1024px) {
  .footer .trade-name {
    padding: 0 .75rem;
    order: 1
  }
}
@media print {
  .footer .trade-name{
    color: #000;
    padding-left: 0
  }
}
/*---------------------------------------------*/
/* goto-sitenav */
.goto-sitenav {
  display: none;
}
@media (min-width:768px) {
  .goto-sitenav {
    /*position: sticky;*/
    position:fixed;
    display: block;
    z-index: 999999;
    top: 680px;
    right:0;
    width: 100%;
    height: 0
    }
  .goto-sitenav > a {
    position: absolute;
    right: 0;
    display: block;
    background: var(--ft-sky-blue-1);
    padding: 10px;
    font-size: 15px;
    text-decoration: none;
    writing-mode: vertical-rl;
    white-space: nowrap;
    font-weight: var(--fonts-base-font-weight);
  }
  .goto-sitenav > a:link,
  .goto-sitenav > a:visited,
  .goto-sitenav > a:hover,
  .goto-sitenav > a:active,
  .goto-sitenav > a:focus {
    text-decoration:none;
  }
}

/* back-to-top */
.page-container__back-to-top {
  position: fixed;
  right: 0;
  z-index: var(--z-index-modal-higher);
  visibility: hidden;
  opacity: 0;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.page-container__back-to-top.active {
  visibility: visible;
  opacity: 1;
}

.page-container__back-to-top--mobile-padding {
  padding-bottom: 16px;
  padding-right: 16px
}

.page-container__back-to-top .page-container__back-to-top-button {
  display: inline-flex;
  align-items: center;
  border-width: .0625rem;
  border-style: solid;
  font-size: .83125rem;
  line-height: 1.5rem;
  padding: .4375rem 1rem;
  border-radius: var(--btn-border-radius);
  cursor: pointer;
  font-family: var(--btn-font-family);
  background-color: var(--btn-tertiary-bg);
  border-color: var(--btn-tertiary-border);
  box-shadow: var(--box-shadow-basic)
}
@media (min-width:1200px) {
  .page-container__back-to-top .page-container__back-to-top-button {
    font-size: 1rem;
  }
}
@media (hover: hover) {
  .page-container__back-to-top .page-container__back-to-top-button:hover {
    background-color: var(--btn-tertiary-bg-hover);
    color: var(--btn-tertiary-text-hover);
    border-color: var(--btn-tertiary-border-hover);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15)
  }
}
.page-container__back-to-top .page-container__back-to-top-button,
.page-container__back-to-top .page-container__back-to-top-button:active,
.page-container__back-to-top .page-container__back-to-top-button:hover,
.page-container__back-to-top .page-container__back-to-top-button:visited {
  text-decoration: none;
  color: var(--btn-tertiary-text);
  gap: 0.25rem;
}

/* ---------------------------------------------------------------------
   3. ftj theme overrides (footer) - ftj.theme.css 末尾より移植
   --------------------------------------------------------------------- */
.footer {
    background: #001e62;
    width: 100%;
}

@media (min-width: 1024px) {
    .footer .site-nav__list--link {
  color: #fff;
    }
}
.footer .footer__title--basic,
.footer .site-nav__wrapper a,
.footer .global-nav__list--item,
.footer .global-nav__list--item a {
    color: #fff;
}

.footer .copyright {
        background: #00081f
    }
@media (min-width:1200px) and (min-width:1200px) and (max-width:1600px) {
  .footer .site-nav__list--link,
  .footer .footer__title--h6 {
            font-size: var(--fonts-small-font-size-small-desktop);
  }
}

@media (min-width:1200px) and (min-width:1600px) and (max-width:1900px) {
  .footer .site-nav__list--link,
  .footer .footer__title--h6 {
        font-size: var(--fonts-small-font-size-desktop);
  }
}
@media (min-width: 1024px) and (min-width: 768px) and (max-width: 1200px) {
  .footer .footer__title--h6 {
        font-size: var(--fonts-small-font-size-tablet);
    }
}
@media (min-width:1200px) and (min-width:1900px) {
  .footer .site-nav__list--link,
  .footer .footer__title--h6 {
        font-size: var(--fonts-small-font-size-desktop);
  }
}
@media (min-width: 1024px) {
    .footer .site-nav__list--item {
        margin-bottom: var(--space-xs);
    }
}

    .footer .country-disclaimer,
    .footer .country-user-role a,
    .footer .country-select-hub a {
    color: #fff;
    }

    .footer .country {
        background: transparent;
    }
  .footer .country-disclaimer {
        background: transparent;

}
.footer .site-nav {
    border-bottom: .0625rem solid var(--white);
    margin-bottom: var(--space-md) !important;
    padding-bottom: var(--space-lg);
}
@media (max-width: 1024px) {
.footer .footer__row:nth-child(2) .global-nav {
    border-top: .0625rem solid white;
    padding-top: 1rem;
}}

/* ---------------------------------------------------------------------
   4. コンポーネント基本スタイル（back-to-top のアイコン）
   旧 ftj.theme_ui_icon.css から back-to-top で使用される分のみを移植・リネーム。
   back-to-top は .footer の外（兄弟要素）のため .page-container__back-to-top 配下にスコープ。
   --------------------------------------------------------------------- */
.page-container__back-to-top .footer__eds-icon {
  display: inline-flex;
}

.page-container__back-to-top .footer__eds-icon .footer__icon {
  width: 2rem;
  height: 2rem;
  stroke-width: 0;
  fill: currentColor;
  stroke: currentColor;
}

.page-container__back-to-top .footer__eds-icon .footer__icon--small {
  width: 1rem;
  height: 1rem;
}
