/**
 * 支給ヘッダー/フッター/追従ボタン専用CSS。
 * 出典: 外部新規追加/assets/css/style.css (+business.cssの.p-floating-cta)。
 *
 * 注意: 元のstyle.cssには *{box-sizing} / body{opacity:0の初期非表示フェードイン} /
 * button・a・imgタグの汎用リセット / .container / .font-en / .l-main / .p-placeholder
 * など、ヘッダー/フッターと無関係な「支給元サイト全体の共通CSS」が混在しており、
 * そのまま読み込むと既存の他ページ(ニュース一覧・会社情報等)のボタンやmain要素の
 * 高さなどに意図せず影響していた。そのため、ヘッダー/フッター/追従ボタンの
 * 表示に直接必要な部分だけをここに残している。
 */

:root {
  --color-black: #222222;
  --color-dark: #30333a;
  --color-gray: #bdbdbd;
  --color-light-gray: #f4f4f4;
  --color-white: #ffffff;
  --color-primary: #ffef20;
  --color-secondary: #f1b300;
  --color-yellow: #ffef20;
  --color-menu-bg: #222222;
  --color-menu-child: #151515;
  --color-menu-line: #595758;
  --font-sans: "Noto Sans JP", sans-serif;
  --font-en: "Josefin Sans", sans-serif;
  --font-poppins: "Poppins", sans-serif;
  --header-height: 100px;
}

/* SP版ハンバーガーメニューを開いている間、背面スクロールを止める */
body.is-menu-open {
  overflow: hidden !important;
}

/* footer.php・header.phpのマークアップが使用するPC/SP出し分けユーティリティ */
.sp {
  display: none;
}
@media (max-width: 767px) {
  .sp {
    display: block;
  }
}

.sp-inline {
  display: none;
}
@media (max-width: 767px) {
  .sp-inline {
    display: inline;
  }
}

@media (max-width: 767px) {
  .sp-none {
    display: none;
  }
}

@media (max-width: 767px) {
  .\!sp-none {
    display: none !important;
  }
}

.page-wrapper {
  min-width: 320px;
  padding-top: var(--header-height);
  overflow: clip;
}
@media (max-width: 767px) {
  /* 下部に固定表示する.p-sp-menu__cta（高さ16vw）ぶん、
     ページ末尾のコンテンツ（フッター含む）が隠れないようにする */
  .page-wrapper {
    padding-bottom: 16vw;
  }
}

.c-site-logo {
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.c-site-logo__image {
  width: 100%;
}

.c-site-logo__image--white {
  display: none;
}

.l-site-header {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: min(100px, 7.4626865672vw);
  background: var(--color-white);
}
@media (max-width: 767px) {
  .l-site-header {
    height: 16vw;
  }
}

.l-site-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding-left: min(50px, 3.7313432836vw);
}
@media (max-width: 767px) {
  .l-site-header__inner {
    padding-left: 5.3333333333vw;
  }
}

.l-site-header__logo {
  width: min(203px, 15.1492537313vw);
}
@media (max-width: 767px) {
  .l-site-header__logo {
    width: 33.2vw;
  }
}

.l-site-header__nav {
  margin-left: auto;
}
@media (max-width: 767px) {
  .l-site-header__nav {
    display: none;
  }
}

.p-global-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2em;
  font-size: min(16px, 1.1940298507vw);
}

.p-global-nav__link {
  min-height: min(100px, 7.4626865672vw);
  font-size: min(16px, 1.1940298507vw);
  color: var(--color-black);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.p-global-nav__link:hover {
  opacity: 0.55;
}

.c-cta-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(480px, 35.8208955224vw);
  height: min(80px, 5.9701492537vw);
  background: var(--color-black);
  font-weight: 500;
  color: #fff;
  position: relative;
}

.c-cta-button:before {
  content: "";
  display: block;
  width: min(38px, 2.8358208955vw);
  height: min(38px, 2.8358208955vw);
  background: url(../images/business/icon_doc_yellow.webp) 50% no-repeat;
  background-size: min(27px, 2.0149253731vw);
  position: absolute;
  top: 50%;
  left: min(30px, 2.2388059701vw);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}

.c-cta-button--contact {
  background: var(--color-yellow);
  color: var(--color-black);
}

.c-cta-button--contact:before {
  background: url(../images/business/icon_mail_black.webp) 50% no-repeat;
  background-size: min(36px, 2.6865671642vw);
}

.c-cta-button:after {
  content: "";
  display: block;
  width: min(18px, 1.3432835821vw);
  height: min(18px, 1.3432835821vw);
  background: url(../images/business/icon_arrow_white.webp) 50% no-repeat;
  background-size: min(16px, 1.1940298507vw);
  position: absolute;
  top: 50%;
  right: min(30px, 2.2388059701vw);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}

.c-cta-button--contact:after {
  background-image: url(../images/business/icon_arrow_black.webp);
}

.c-blank::after {
  content: "";
  display: inline-block;
  width: 0.875em;
  height: 0.875em;
  margin-left: 0.875em;
  background: url(../images/business/icon_blank_gray.webp) 50% no-repeat;
  background-size: 0.875em;
}
@media (max-width: 767px) {
  .c-blank::after {
    width: 3.2vw;
    height: 3.2vw;
    margin-left: 1.6vw;
    background-size: 3.2vw;
  }
}

.l-site-header__contact {
  margin-left: min(40px, 2.9850746269vw);
}
@media (max-width: 767px) {
  .l-site-header__contact {
    display: none;
  }
}

.c-header-contact {
  display: -ms-grid;
  display: grid;
  width: min(200px, 14.9253731343vw);
  height: min(100px, 7.4626865672vw);
  place-items: center;
  color: var(--color-black);
  font-size: min(15px, 1.1194029851vw);
  font-weight: 800;
  background: var(--color-yellow);
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
@media (max-width: 767px) {
  .c-header-contact {
    display: none;
  }
}
.c-header-contact:hover {
  opacity: 0.75;
}

.l-site-header__menu-button {
  display: none;
}
@media (max-width: 767px) {
  .l-site-header__menu-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: auto;
  }
}

@media (max-width: 767px) {
  .c-menu-button {
    position: relative;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 16vw;
    height: 16vw;
    background: var(--color-yellow);
	  border: 0;
  }
}

@media (max-width: 767px) {
  .c-menu-button:hover {
    opacity: 1;
  }
}

.c-menu-button__line-wrap {
  display: block;
  width: 6.6666666667vw;
  height: 4.8vw;
  position: relative;
}

.c-menu-button__line {
  width: 6.6666666667vw;
  height: 1px;
  background: var(--color-black);
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translate(0%, 0%);
          transform: translate(0%, 0%);
  z-index: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.c-menu-button__line:nth-child(2) {
  width: 5.3333333333vw;
  top: 50%;
  -webkit-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
}
.c-menu-button__line:nth-child(3) {
  top: auto;
  bottom: 0;
}

.c-menu-button[aria-expanded=true] .c-menu-button__line:nth-child(1) {
  width: 8vw;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.c-menu-button[aria-expanded=true] .c-menu-button__line:nth-child(2) {
  opacity: 0;
}
.c-menu-button[aria-expanded=true] .c-menu-button__line:nth-child(3) {
  width: 8vw;
  bottom: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, 50%) rotate(45deg);
          transform: translate(-50%, 50%) rotate(45deg);
}

.p-sp-menu {
  display: none;
}
@media (max-width: 767px) {
  .p-sp-menu {
    width: 100%;
    height: calc(100dvh - 16vw);
    position: fixed;
    z-index: 1200;
    top: 16vw;
    display: block;
    overflow-y: auto;
    background: var(--color-menu-bg);
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
}

@media (max-width: 767px) {
  .p-sp-menu.is-open {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

.p-sp-menu__header {
  display: none;
}
@media (max-width: 767px) {
  .p-sp-menu__header {
    position: sticky;
    z-index: 1;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 16vw;
    padding-left: 5.3333333333vw;
    background: var(--color-white);
  }
}

.p-sp-menu__logo {
  width: 33.2vw;
}

.p-sp-menu__close {
  margin-left: auto;
}

.c-menu-close {
  position: relative;
  width: 16vw;
  height: 16vw;
  background: var(--color-yellow);
}

.c-menu-close__line {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7.7333333333vw;
  height: 2px;
  background: var(--color-black);
}
.c-menu-close__line:nth-child(1) {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.c-menu-close__line:nth-child(2) {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

@media (max-width: 767px) {
  .p-sp-menu__body {
    padding: 13.3333333333vw 5.3333333333vw;
  }
}

.p-sp-menu__item {
  border-top: 1px solid var(--color-menu-line);
}
.p-sp-menu__item:last-child {
  border-bottom: 1px solid var(--color-menu-line);
}

.p-sp-menu__link {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 12.2666666667vw 1fr 6.6666666667vw;
  grid-template-columns: 12.2666666667vw 1fr 6.6666666667vw;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  min-height: 19.7333333333vw;
  color: var(--color-white);
  text-align: left;
}

@media (max-width: 767px) {
  .p-sp-menu__link:hover {
    opacity: 1;
  }
}

.p-sp-menu__number {
  margin-top: 1.3333333333vw;
  margin-left: 4vw;
  font-family: var(--font-en);
  color: var(--color-yellow);
  font-size: 3.7333333333vw;
  font-weight: 800;
  line-height: 1;
  -webkit-transform: translateY(-0.6666666667vw);
          transform: translateY(-0.6666666667vw);
}

.p-sp-menu__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.4vw;
  margin-top: 1.6vw;
  margin-left: 3.7333333333vw;
  -webkit-transform: translateY(-0.6666666667vw);
          transform: translateY(-0.6666666667vw);
}

.p-sp-menu__name {
  color: var(--color-white);
  font-size: 5.3333333333vw;
  font-weight: 700;
  line-height: 1.08;
}

.p-sp-menu__label {
  font-family: var(--font-en);
  color: var(--color-menu-line);
  font-size: 3.2vw;
  font-weight: 600;
  line-height: 1;
}

.p-sp-menu__toggle {
  position: relative;
  width: 4vw;
  height: 2.4vw;
  -ms-grid-column-align: end;
      justify-self: end;
  margin-right: 4vw;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.p-sp-menu__toggle::before, .p-sp-menu__toggle::after {
  position: absolute;
  bottom: 0.2666666667vw;
  width: 2.8vw;
  height: 1px;
  content: "";
  background: var(--color-gray);
}
.p-sp-menu__toggle::before {
  left: -0.8vw;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: right center;
          transform-origin: right center;
}
.p-sp-menu__toggle::after {
  right: -0.8vw;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: left center;
          transform-origin: left center;
}

.p-sp-menu__item--has-children.is-open .p-sp-menu__toggle {
  -webkit-transform: translateY(-0.2666666667vw) scaleY(-1);
          transform: translateY(-0.2666666667vw) scaleY(-1);
}
.p-sp-menu__item--has-children.is-open .p-sp-menu__child-list {
  display: block;
}

.p-sp-menu__item--has-children.is-open + .p-sp-menu__item {
  border-top: 0;
}

.p-sp-menu__child-list {
  display: none;
  margin-inline: 0;
  color: var(--color-white);
  background: var(--color-menu-child);
  border-top: 1px solid var(--color-menu-line);
  border-bottom: 1px solid var(--color-menu-line);
}

.p-sp-menu__child-item + .p-sp-menu__child-item {
  border-top: 1px dotted var(--color-menu-line);
}

.p-sp-menu__child-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 16.9333333333vw;
  padding-left: 16vw;
  font-size: 4.5333333333vw;
  font-weight: 500;
  line-height: 1;
}

.p-sp-menu__link.c-blank::after {
  position: absolute;
  right: 4vw;
  top: 50%;
  width: 4vw;
  height: 4vw;
  margin-left: 0;
  background-size: 4vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.p-sp-menu__link.c-blank:after {
  position: absolute;
  right: 4vw;
  top: 50%;
  width: 4.2666666667vw;
  height: 4.2666666667vw;
  margin-left: 0;
  background: url(../images/business/sp_menu_icon_blank.webp) 50% no-repeat;
  background-size: 4vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.p-sp-menu__cta {
  display: none;
}
@media (max-width: 767px) {
  .p-sp-menu__cta {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    height: 16vw;
    border-top: 1px solid var(--color-white);
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 1200;
  }
}
	.p-sp-menu__link--toggle {
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
}

.p-sp-menu__cta-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.6666666667vw;
  font-size: 3.4666666667vw;
  font-weight: 600;
  line-height: 1;
}

.p-sp-menu__cta-link--download {
  color: var(--color-white);
  background: #212121;
}

.p-sp-menu__cta-link--contact {
  color: #212121;
  background: var(--color-yellow);
}

.p-sp-menu__cta-icon {
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.p-sp-menu__cta-icon--document {
  position: relative;
  width: 3.3333333333vw;
  height: 4.2666666667vw;
  background: url(../images/business/icon_doc_yellow.webp) 50% no-repeat;
  background-size: 3.0666666667vw;
}

.p-sp-menu__cta-icon--mail {
  position: relative;
  width: 4.2666666667vw;
  height: 3.2vw;
  background: url(../images/business/icon_mail_black.webp) 50% no-repeat;
  background-size: 4vw;
}

/* ==============================
.l-footer-contact
============================== */
.l-footer-contact {
  border-top: 1px solid var(--color-black);
/*   margin-top: min(100px, 7.4626865672vw); */
}
@media (max-width: 767px) {
  .l-footer-contact {
/*     margin-top: 13.3333333333vw; */
	  margin-top:0;
  }
}

.l-footer-contact__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 767px) {
  .l-footer-contact__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.l-footer-contact__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50%;
  height: min(500px, 37.3134328358vw);
  text-align: center;
}
@media (max-width: 767px) {
  .l-footer-contact__content {
    width: 100%;
    height: 80vw;
  }
}

.l-footer-contact__content--download {
  background: #fff;
}
.l-footer-contact__content--contact {
  background: var(--color-yellow);
}
.l-footer-contact__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: min(34px, 2.5373134328vw);
  letter-spacing: min(60px, 4.4776119403vw);
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .l-footer-contact__title {
    font-size: 5.8666666667vw;
    line-height: 8vw;
  }
}

.l-footer-contact__title-en {
  font-family: var(--font-en);
  font-size: min(18px, 1.3432835821vw);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-top: min(6px, 0.447761194vw);
}
@media (max-width: 767px) {
  .l-footer-contact__title-en {
    font-size: 3.7333333333vw;
    margin-top: 1.6vw;
  }
}

.l-footer-contact__text {
  font-size: min(18px, 1.3432835821vw);
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  margin-top: min(24px, 1.7910447761vw);
}
@media (max-width: 767px) {
  .l-footer-contact__text {
    font-size: 3.7333333333vw;
    margin-top: 2.6666666667vw;
  }
}

.l-footer-contact__button {
  width: min(350px, 26.1194029851vw);
  height: min(60px, 4.4776119403vw);
  background: var(--color-black);
  color: #fff;
  margin-top: min(42px, 3.1343283582vw);
}
@media (max-width: 767px) {
  .l-footer-contact__button {
    width: 73.3333333333vw;
    height: 16vw;
    font-size: 3.4666666667vw;
    margin-top: 5.8666666667vw;
  }
}

.l-footer-contact__button:before {
  width: min(26px, 1.9402985075vw);
  height: min(26px, 1.9402985075vw);
  background-size: min(19px, 1.4179104478vw);
}
@media (max-width: 767px) {
  .l-footer-contact__button:before {
    width: 4.8vw;
    height: 4.8vw;
    background-size: 3.4666666667vw;
    left: 5.3333333333vw;
  }
}

.l-footer-contact__button--contact:before {
  background-image: url(../images/business/icon_mail_yellow.webp);
  background-size: min(24px, 1.7910447761vw);
}
@media (max-width: 767px) {
  .l-footer-contact__button--contact:before {
    background-size: 4.5333333333vw;
  }
}

.l-footer-contact__button:after {
  width: min(14px, 1.0447761194vw);
  height: min(14px, 1.0447761194vw);
  background: url(../images/business/icon_arrow_white.webp) 50% no-repeat;
  background-size: min(12px, 0.8955223881vw);
  right: min(20px, 1.4925373134vw);
}
@media (max-width: 767px) {
  .l-footer-contact__button:after {
    width: 3.4666666667vw;
    height: 3.4666666667vw;
    background-size: 3.2vw;
    right: 4vw;
  }
}

/* ==============================
.l-site-footer
============================== */
.l-site-footer {
  min-height: min(500px, 37.375vw);
  padding-inline: min(20px, 1.4925373134vw);
  color: var(--color-white);
  background: var(--color-black) url("../images/business/footer_bg_pc.webp") center/cover no-repeat;
}
@media (max-width: 767px) {
  .l-site-footer {
/*     min-height: 137.2vw; */
	  min-height:unset;
    padding-inline: 0;
    background-image: url("../images/business/footer_bg_sp.webp");
    background-position: center top;
    background-size: 100% 100%;
  }
}

.l-site-footer__inner {
  position: relative;
  width: min(1300px, 97.0149253731vw);
  padding-top: min(140px, 10.447761194vw);
  padding-bottom: min(100px, 6.25vw);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .l-site-footer__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
/*     min-height: 137.2vw; */
    padding: 20vw 5.3333333333vw 13.3333333vw;  
	}
}

.l-site-footer__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (max-width: 767px) {
  .l-site-footer__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.l-site-footer__contact {
  width: min(600px, 44.776119403vw);
  padding-bottom: min(3px, 0.223880597vw);
}
@media (max-width: 767px) {
  .l-site-footer__contact {
    width: 100%;
    margin-top: 15.7333333333vw;
    text-align: center;
  }
}

.l-site-footer__lead {
  font-size: min(18px, 1.3432835821vw);
  font-weight: 700;
  line-height: 1;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
}
@media (max-width: 767px) {
  .l-site-footer__lead {
    font-size: 3.7333333333vw;
    line-height: 1;
  }
}

.l-site-footer__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(28px, 2.0895522388vw);
  margin-top: min(23px, 1.7164179104vw);
}
@media (max-width: 767px) {
  .l-site-footer__heading {
    display: block;
    margin-top: 4vw;
  }
}

.l-site-footer__heading-en {
  font-family: var(--font-en);
  font-size: min(60px, 4.4776119403vw);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .l-site-footer__heading-en {
    font-size: 9.3333333333vw;
  }
}

.l-site-footer__heading-ja {
  font-size: min(24px, 1.7910447761vw);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .l-site-footer__heading-ja {
    font-size: 4.5333333333vw;
    margin-top: 1.8666666667vw;
  }
}

.l-site-footer__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(20px, 1.4925373134vw);
  margin-top: min(26px, 1.9402985075vw);
}
@media (max-width: 767px) {
  .l-site-footer__buttons {
    gap: 2.6666666667vw;
    margin-top: 5.3333333333vw;
  }
}

.l-site-footer__button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(290px, 21.6417910448vw);
  height: min(60px, 4.4776119403vw);
  padding-left: min(10px, 0.7462686567vw);
  border: 1px solid #fff;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.l-site-footer__button:hover {
  opacity: 0.65;
}
@media (max-width: 767px) {
  .l-site-footer__button {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 43.3333333333vw;
    height: 24.5333333333vw;
    padding: 0;
    padding-top: 0.5333333333vw;
  }
}

.l-site-footer__button-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: min(56px, 4.1791044776vw);
  height: min(26px, 1.9402985075vw);
}
@media (max-width: 767px) {
  .l-site-footer__button-icon {
    width: 4.8vw;
    height: 4.8vw;
    margin-right: 0;
    margin-bottom: 3.2vw;
  }
}

.l-site-footer__button-icon--document {
  background: url(../images/business/icon_doc_yellow.webp) 50% no-repeat;
  background-size: min(19px, 1.4179104478vw);
  margin-right: min(4px, 0.2985074627vw);
}
@media (max-width: 767px) {
  .l-site-footer__button-icon--document {
    background-size: 3.4666666667vw;
    margin-right: 0;
  }
}

.l-site-footer__button-icon--mail {
  background: url(../images/business/icon_mail_yellow.webp) 50% no-repeat;
  background-size: min(24px, 1.7910447761vw);
  margin-right: min(8px, 0.5970149254vw);
}
@media (max-width: 767px) {
  .l-site-footer__button-icon--mail {
    background-size: 4.5333333333vw;
  }
}

.l-site-footer__button-text {
  padding-bottom: 0.1em;
  font-size: min(16px, 1.1940298507vw);
  font-weight: 500;
  line-height: 1;
  text-align: left;
}
@media (max-width: 767px) {
  .l-site-footer__button-text {
    font-size: 3.4666666667vw;
    line-height: 4.8vw;
    white-space: normal;
    text-align: center;
  }
}

.l-site-footer__nav-area {
  width: min(402px, 30vw);
  margin-left: auto;
}
@media (max-width: 767px) {
  .l-site-footer__nav-area {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    margin-left: 0;
  }
}

.l-site-footer__logo {
  display: block;
  width: min(203px, 15.1492537313vw);
}
@media (max-width: 767px) {
  .l-site-footer__logo {
    width: 46.9333333333vw;
    margin-left: 5.2vw;
  }
}

.l-site-footer__nav {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: min(150px, 11.1940298507vw) min(59px, 4.4029850746vw) min(192px, 14.328358209vw);
  grid-template-columns: min(150px, 11.1940298507vw) min(192px, 14.328358209vw);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: min(59px, 4.4029850746vw);
  margin-top: min(36px, 2.6865671642vw);
}
@media (max-width: 767px) {
  .l-site-footer__nav {
    -ms-grid-columns: 32vw 5.3333333333vw 42.6666666667vw;
    grid-template-columns: 32vw 42.6666666667vw;
    gap: 5.3333333333vw;
    margin-top: 8vw;
    padding-inline: 5.2vw;
  }
}

.l-site-footer__nav-list {
  display: -ms-grid;
  display: grid;
  -ms-flex-line-pack: start;
      align-content: start;
  gap: min(16px, 1.1940298507vw);
}
@media (max-width: 767px) {
  .l-site-footer__nav-list {
    gap: 4.6666666667vw;
  }
}

.l-site-footer__nav-item {
  line-height: 1;
}

.l-site-footer__nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: min(16px, 1.1940298507vw);
  line-height: 1;
  white-space: nowrap;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.l-site-footer__nav-link:hover {
  opacity: 0.65;
}
@media (max-width: 767px) {
  .l-site-footer__nav-link {
    font-size: 3.4666666667vw;
  }
}

.l-site-footer__copyright {
  color: rgba(255, 255, 255, 0.48);
  font-size: min(12px, 0.8955223881vw);
  font-weight: 300;
  line-height: 1;
  text-align: center;
  margin-top: min(80px, 5.9701492537vw);
}
@media (max-width: 767px) {
  .l-site-footer__copyright {
    font-size: 2.9333333333vw;
    margin-top: 12.2666666667vw;
  }
}

/* ====================================================================
   追従ボタン（資料ダウンロード・お問い合わせ）
   出典: 外部新規追加/assets/css/business.css の .p-floating-cta ブロック。
   footer.php で全ページ共通表示するため、ここに移設した。
   ==================================================================== */
.p-floating-cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(20px, 1.4925373134vw);
  position: fixed;
  z-index: 900;
  top: min(200px, 14.9253731343vw);
  right: 0;
}

.p-floating-cta__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: min(60px, 4.4776119403vw);
  padding-inline: min(30px, 2.2388059701vw);
  letter-spacing: 0.075em;
  line-height: 1;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.p-floating-cta__link:hover {
  opacity: 0.78;
}

.p-floating-cta__link--download ,.p-floating-cta__link--contact{
  color: var(--color-white);
  border-top: 1px solid #737373;
  border-bottom: 1px solid #737373;
  border-left: 1px solid #737373;
  background: var(--color-black);
}

.p-floating-cta__text{
	padding-right:2.3%;
}

@media (max-width: 767px) {
 .p-floating-cta__text{
	padding-right:0;
}
}

.p-floating-cta__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: min(22px, 1.6417910448vw);
  height: min(22px, 1.6417910448vw);
  margin-bottom: min(15px, 1.1194029851vw);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.p-floating-cta__icon--document {
  width: min(18px, 1.3432835821vw);
  height: min(22px, 1.6417910448vw);
  background-image: url("../images/business/icon_doc_yellow.webp");
  background-size: min(16px, 1.1940298507vw);
}

.p-floating-cta__icon--mail {
  width: min(22px, 1.6417910448vw);
  height: min(17px, 1.2686567164vw);
  background-image: url("../images/business/icon_mail_yellow.webp");
  background-size: min(20px, 1.4925373134vw);
}

