@charset "utf-8";
/* =====================================================================
  汎用コンポーネント
  ===================================================================== */

/* 見出しスタイル */
.c-h2 {
  font-size: var(--fs-xxl);
  font-weight: 700;
  text-align: left;
  line-height: 1.4;
  color: var(--txt);
  padding-left: var(--s8);
  background: url("img/icon-tit.svg") left top var(--s2) / var(--s6) auto no-repeat;
}

.c-h3 {
  font-size: var(--fs-l);
  font-weight: bold;
  color: var(--txt);
  text-align: center;
}

.c-h4 {
  font-size: var(--fs-m);
  font-weight: bold;
  padding: var(--s2) var(--s3);
  background: var(--sub);
  color: white;
}

.c-h5 {
  display: flex;
  align-items: center;
  gap: var(--s3);
  margin: var(--s4) 0 0;
  font-size: var(--fs-l);
  font-weight: 700;
  color: var(--txt);
  text-align: center;
}

.c-h5::before,
.c-h5::after {
  content: "";
  flex: 1;
  height: 0.1rem;
  background-color: var(--sec);
}

/* 見出し内リンク */
.c-hlink {
  color: inherit;
  text-decoration: none;
  display: inline-block;
  padding: 0 var(--s9) 0 0;
  background: url("img/arrow-right.svg") no-repeat center right 0.1em / 1em auto;
  transition: opacity 0.2s ease, background-position 0.2s ease;
}

.c-hlink:hover {
  text-decoration: none;
  opacity: 0.6;
  background-position: center right;
}

.c-lead {
  padding: 0 var(--s8);
}

/* カードコンポーネント */
.c-card {
  background: var(--white);
  padding: var(--s3);
}

.c-card--large {
  padding: var(--s4);
}

.c-cardTitle {
  font-size: var(--fs-l);
  font-weight: 700;
  color: var(--pri);
}

/* バッジコンポーネント */
.c-badge {
  --badge-icon: none;
  position: relative;
  background-image: url("img/tit-bg.svg");
  background-position: left top;
  background-size: cover;
  background-repeat: no-repeat;
  padding: var(--s2);
  text-align: center;
  color: white;
  font-size: var(--fs-xl);
  font-weight: bold;

  /* ギャップなしの縦積みのため */
  line-height: 1.4;
}

.c-badge--egress {
  --badge-icon: url("img/ico-egress.svg");
}

.c-badge--monumental {
  --badge-icon: url("img/ico-monumental.svg");
}

.c-badge--dock {
  --badge-icon: url("img/ico-dock.svg");
}

.c-badge::before {
  content: "";
  position: absolute;
  left: 0;
  top: -2.2rem;
  width: 6rem;
  height: 6.8rem;
  background-image: var(--badge-icon);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}

/* テーブルコンポーネント */
.c-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}

.c-table th,
.c-table td {
  padding: var(--s2);
  text-align: left;
  border-bottom: 1px solid var(--ln);
}

.c-table tr:last-child th,
.c-table tr:last-child td {
  border-bottom: none;
}

.c-table th {
  background: var(--c2);
  font-weight: bold;
  color: var(--txt);
  width: 20%;
}

/* c-featureCard コンポーネント*/
.c-featureCard {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: var(--s2);
  padding: var(--s2);
  background: var(--c1);
}

.c-featureCard__lead {
  font-weight: 700;
  color: var(--txt);
  font-size: var(--fs-m);
}

/* =============================================================
  MV（main visual）エリア
============================================================= */

.c-hero {
  position: relative;
  color: var(--white);
  overflow: hidden;
}

.c-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.c-hero__bg--left {
  background: url("img/mv-left.webp") left center / cover no-repeat;
  width: 60%;
  clip-path: polygon(100% 0, 0 0, 0 100%, 80% 100%);
  overflow: hidden;
  z-index: 1;
}

.c-hero__bg--right {
  width: 60%;
  height: 90%;
  margin-left: auto;
  background: none;
  position: absolute;
  inset: 0 0 0 auto;
  overflow: hidden;
  z-index: 0;
}

.c-heroSlider {
  position: relative;
  width: 100%;
  height: 100%;
}

.c-heroSlide {
  position: absolute;
  inset: 0;
  background: url("img/mv1.webp") center center / 120% auto no-repeat;
  opacity: 0;
  animation: heroFade 12s infinite, heroZoom 12s infinite linear;
  transform-origin: right top;
}

.c-heroSlide:nth-child(2) {
  background-image: url("img/mv2.webp");
  animation-delay: 4s;
}

.c-heroSlide:nth-child(3) {
  background-image: url("img/mv3.webp");
  animation-delay: 8s;
}

@keyframes heroFade {
  0% {
    opacity: 0;
  }

  3% {
    opacity: 1;
  }

  28% {
    opacity: 1;
  }

  33.33% {
    opacity: 1;
  }

  40% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

@keyframes heroZoom {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.05);
  }
}

.c-hero__inner {
  position: relative;
  z-index: 1;
  padding-block: var(--s12);
}

.c-hero__head {
  margin-bottom: var(--s6);
}

.c-hero__logo {
  max-width: 22.4rem;
}

.mv-title {
  font-size: var(--fs-xxl);
  font-weight: 700;
  text-align: left;
  color: var(--white);
  line-height: 1.4;
}

.mv-title__label {
  display: block;
  margin-bottom: var(--s1);
  font-size: var(--fs-xl);
  font-weight: bold;
}

.mv-text {
  margin-top: var(--s4);
  max-width: 80rem;
  font-size: var(--fs-m);
  line-height: 1.8;
}

/* =============================================================
  mainvisual-lower
============================================================= */
.mainvisual-lower {
  background-image: url("img/mv-low.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: var(--s4) 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mainvisual-lower .mv-logo {
  display: block;
}

.mainvisual-lower .mv-logo img {
  max-width: 26rem;
  height: auto;
}

/* =====================================================================
  簡易訴求セクション
  ===================================================================== */
.c-sec-simple {
  background: url("img/bg-rec.svg") left bottom / 50% auto no-repeat,
    linear-gradient(to bottom, var(--c1) 20%, var(--sub) 100%);
}

/* カードラッパー（バッジ + カード）の縦積みレイアウト */
.c-card-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 0;
  /* バッジとカードの間のギャップを除去 */
}

/* カード自体を縦フレックスにして汎用化（可変要素対応） */
.c-card--grid {
  display: flex;
  flex-direction: column;
  gap: var(--s2);
  flex: 1;
  /* 残りの高さを全て使用 */
}

.c-cardList li {
  position: relative;
  list-style: none;
  padding-left: var(--s3);
  margin-top: var(--s2);
}

.c-cardList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;
  width: var(--s2);
  height: var(--s2);
  background: url("./img/icon-check.svg") no-repeat center / contain;
}

.c-cardBtns {
  display: grid;
  gap: var(--s1);
}

/* カード高さ統一のためのグリッド調整 */
.c-sec-simple .l-grid-3 {
  align-items: stretch;
  /* カードラッパーの高さを統一 */
}

/* subgrid 対応: カード要素の行整列 */
@supports (grid-template-rows: subgrid) {

  /* 6行のsubgrid設定（バッジ1行 + カード要素5行） */
  .c-sec-simple .l-grid-3 {
    grid-template-rows: repeat(6, auto);
  }

  /* カードラッパーとカードをsubgridに設定 */
  .c-sec-simple .l-grid-3>.c-card-wrapper,
  .c-sec-simple .c-card--grid {
    display: grid;
    grid-template-rows: subgrid;
  }

  .c-sec-simple .l-grid-3>.c-card-wrapper {
    grid-row: 1 / span 6;
  }

  .c-sec-simple .c-card--grid {
    grid-row: 2 / span 5;
    gap: var(--s2);
  }

  /* 行マッピング */
  .c-sec-simple .c-card-wrapper>.c-badge {
    grid-row: 1;
  }

  .c-sec-simple .c-card-wrapper>.c-card--grid>.c-cardTitle {
    grid-row: 1;
    text-align: center;
    font-size: var(--fs-l);
  }

  .c-sec-simple .c-card-wrapper>.c-card--grid>.c-cardMedia {
    grid-row: 2;
    width: 100%;
    min-width: 0;
  }

  .c-sec-simple .c-card-wrapper>.c-card--grid>.c-cardList {
    grid-row: 3;
  }

  .c-sec-simple .c-card-wrapper>.c-card--grid>table {
    grid-row: 4;
  }

  .c-sec-simple .c-card-wrapper>.c-card--grid>.c-cardBtns {
    grid-row: 5;
  }
}
 .c-sec-simple .caption.l-center{
   color: var(--lig);
 }

/* =====================================================================
  簡易訴求セクション（下層ページ訴求用）
  ===================================================================== */

/* カード高さ統一のためのグリッド調整 */
.low-recommend {
  align-items: stretch;
  /* カードラッパーの高さを統一 */
  margin-block: var(--s8);
}

/* バッジサイズの書き分け */
.low-recommend .c-badge::before {
  width: 4.8rem;
  height: 5.4rem;
  top: -1.5rem;
}

/* subgrid 対応: カード要素の行整列 */
@supports (grid-template-rows: subgrid) {

  /* 6行のsubgrid設定（バッジ1行 + カード要素5行） */
  .low-recommend {
    grid-template-rows: repeat(6, auto);
  }

  /* カードラッパーとカードをsubgridに設定 */
  .low-recommend>.c-card-wrapper,
  .low-recommend .c-card--grid {
    display: grid;
    grid-template-rows: subgrid;
  }

  .low-recommend>.c-card-wrapper {
    grid-row: 1 / span 6;
  }

  .low-recommend .c-card--grid {
    grid-row: 2 / span 5;
    gap: var(--s2);
    background: var(--c2);
  }

  /* 行マッピング */
  .low-recommend .c-card-wrapper>.c-badge {
    grid-row: 1;
  }

  .low-recommend .c-card-wrapper>.c-card--grid>.c-cardTitle {
    grid-row: 1;
    text-align: center;
    font-size: var(--fs-l);
  }

  .low-recommend .c-card-wrapper>.c-card--grid>.c-cardMedia {
    grid-row: 2;
  }

  .low-recommend .c-card-wrapper>.c-card--grid>.c-cardList {
    grid-row: 3;
  }

  .low-recommend .c-card-wrapper>.c-card--grid>table {
    grid-row: 4;
    margin-block: 0;
  }

  .low-recommend .c-card-wrapper>.c-card--grid>.c-cardBtns {
    grid-row: 5;
  }
}

/* =====================================================================
  まとめ見出しコンポーネント
  ===================================================================== */
.c-summary {
  position: relative;
  padding-left: var(--s10);
  padding-bottom: var(--s1);
  padding-top: var(--s2);
  margin-block: var(--s6) var(--s3);
  font-size: var(--fs-m);
  font-weight: bold;
  color: var(--txt);
  line-height: 1.6;
  background: url("img/icon-smr.svg") left center / var(--s9) auto no-repeat;
  border-bottom: 0.1rem solid var(--ln);
}

/* =====================================================================
  詳細訴求セクション
  ===================================================================== */
.c-sec--detail {
  background: url("img/bg-l.webp") left top / 100% auto no-repeat scroll,
    url("img/bg-r.webp") right top 15rem / 100% auto repeat scroll,
    url("img/bg-c.webp") 0 0 / auto repeat fixed;
}

.c-sec--detail .c-card--large {
  padding: var(--s4) calc((100% - 110rem) / 2) var(--s6);
  background: #fff;
}

.c-sec--detail .c-badge {
  font-size: var(--fs-2xl);
  background-image: url(img/det-tit-bg.svg);
}

.c-sec--detail .c-cardTitle {
  font-size: var(--fs-xl);
  text-align: center;
}

.c-sec--detail .l-grid-3 {
  grid-template-rows: auto 1fr;
  align-items: stretch;
}

.c-sec--detail .c-featureCard {
  grid-row: span 2;
  grid-template-rows: subgrid;
  gap: var(--s2);
  padding: var(--s3) var(--s2);
  background: var(--c2);
  position: relative;
}

.c-sec--detail .c-featureCard::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: var(--s3);
  aspect-ratio: 2 / 3;
  background-color: var(--pri);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

.c-sec--detail .c-featureCard__lead {
  color: var(--sec);
  font-size: var(--fs-m);
  text-align: center;
  align-content: center;
  line-height: 1.4;
}

.c-sec--detail .c-slider__head {
  text-align: center;
  margin-bottom: var(--s3);
}

.c-sec--detail .c-slider__sub {
  font-size: var(--fs-m);
  font-weight: 700;
  color: var(--pri-dark);
  text-align: center;
  margin-block: var(--s3);
}

.c-sec--detail .c-slider__body {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--s3);
}

.c-sec--detail .c-slider__track {
  position: relative;
  width: 100%;
  max-width: 60rem;
  overflow: hidden;
}

.c-sec--detail .c-slider__item {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateX(0);
}

.c-sec--detail .c-slider__item img {
  display: block;
  max-width: 100%; 
  width: auto;
  height: auto;
  margin-inline: auto;
}

.c-sec--detail .c-slider__item.is-active {
  position: relative;
  opacity: 1;
  animation: c-slider-send 0.8s ease;
}

@keyframes c-slider-send {
  from {
    opacity: 0;
    transform: translateX(var(--s8));
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.c-sec--detail .c-slider__arrow {
  width: var(--s6);
  height: var(--s6);
  border: none;
  padding: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.c-sec--detail .c-slider__arrow:hover {
  opacity: 0.6;
}

.c-sec--detail .c-slider__arrow--prev {
  background-image: url("img/slider-arrow-left.svg");
  margin-right: var(--s3);
}

.c-sec--detail .c-slider__arrow--next {
  background-image: url("img/slider-arrow-right.svg");
  margin-left: var(--s3);
}

.c-sec--detail .c-slider__dots {
  display: flex;
  justify-content: center;
  gap: var(--s2);
}

.c-sec--detail .c-slider__dot {
  width: var(--s6);
  height: 0.6rem;
  border-radius: 999rem;
  border: none;
  background: var(--c3);
  cursor: pointer;
}

.c-sec--detail .c-slider__dot.is-active {
  background: #7f96b4;
}

/* ヒーロー */
.c-sec--detail .c-detailHero {
  align-items: center;
}

.c-sec--detail .c-detailHero img {
  display: block;
}

.c-sec--detail .c-detailHero th {
  width: 12rem;
}



/* =============================================================
  州別セクション（会社一覧）
============================================================= */

/* 州セクションの背景設定 */
.c-state-section {
  padding: var(--s4);
  background: var(--sec);
}

.c-state-section .c-h2 {
  background: transparent;
  padding-left: 0;
}

.is-first {
  padding-top: var(--s14);
}

.is-last {
  padding-bottom: var(--s14);
}

/* l-containerをカード化（角丸・シャドウなし） */
.c-state-section .l-container {
  padding: var(--s5);
  background: var(--white);
  text-decoration: none;
  color: inherit;
  transition: all 0.2s ease;
  gap: var(--s2);
}

/* 州コンテンツ（地形画像 + 説明文） */
.c-state-content {
  align-items: center;
  grid-template-columns: 1fr 3fr;
  display: grid;
}

.c-state-content .l-stack-s {
  flex-direction: row;
  flex-wrap: wrap;
}

#index .c-state-content .l-stack-s .btn-internal {
  margin: 0 0;
  max-width: calc((100% - var(--s2)) / 2);
}

.c-state-content img {
  display: block;
  max-width: 100%;
  height: auto;
}

.c-state-content p {
  font-size: var(--fs-m);
  line-height: 1.8;
  margin: 0;
}


/* =============================================================
  フッターバナー
============================================================= */

.footer-banner {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.footer-banner.js-show {
  opacity: 1;
}

.pc-fix-banner01 {
  width: 24rem;
  background-image: url("img/bg-bnr.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--txt);
  position: fixed;
  right: 0;
  bottom: var(--s2);
  z-index: 50;
}

.pc-fix-banner01 a {
  color: var(--white);
  text-decoration: none;
  display: block;
}

.pc-fix-banner01 a:hover {
  opacity: 0.7;
}

.pc-fix-banner01-img {
  width: 100%;
}

.pc-fix-banner01-img img {
  max-width: 100%;
  height: auto;
  display: block;
}

.pc-fix-banner01-text {
  padding: var(--s2);
  color: var(--white);
  position: relative;
}

.pc-fix-banner01-text::after {
  content: "";
  width: 0.1rem;
  height: 0.1rem;
  border-top: var(--s1) solid transparent;
  border-left: var(--s1) solid transparent;
  border-right: var(--s1) solid var(--white);
  border-bottom: var(--s1) solid var(--white);
  position: absolute;
  right: var(--s1);
  bottom: var(--s1);
}

.pc-fix-banner01-text p {
  margin: 0;
  font-size: var(--fs-s);
  text-align: left;
  font-weight: bold;
  line-height: 1.6;
}

.pc-fix-banner01-text p.text-small {
  font-size: 0.9em;
  line-height: 1.6;
  margin-bottom: 0.3em;
}

.sp-fix-banner01 {
  display: none;
}

/* =============================================================
  レスポンシブ（SP用）
============================================================= */

@media screen and (max-width: 767px) {

  /* 見出しスタイル */
  .c-h2 {
    padding-left: var(--s5);
    background-size: var(--s4) auto;
    background-position: left top var(--s1);
  }

  .c-lead {
    padding: 0 var(--s2);
  }

  .c-hlink {
    padding: 0 var(--s5) 0 0;
    background-position: center right 0.1em;
  }

  .c-hlink:hover {
    background-position: center right;
  }

  .c-h5 {
    gap: var(--s1);
    margin: var(--s3) 0 0;
  }

  .c-h5::before,
  .c-h5::after {
    min-width: var(--s2);
  }

  .c-h4 {
    padding: var(--s1) var(--s2);
  }

  .c-sec-simple {
    background: linear-gradient(to bottom, var(--c1) 0%, var(--sub) 100%);
  }

  /* カードコンポーネント */
  .c-card {
    padding: var(--s2);
  }

  .c-card--large {
    padding: var(--s3) var(--s2);
  }

  .c-cardList li {
    padding-left: var(--s3);
  }

  /* バッジコンポーネント */
  .c-badge {
    padding: var(--s1);
  }

  .c-badge::before {
    width: 5rem;
    height: 5.5rem;
    top: -1.5rem;
  }

  /* 簡易訴求 */
  .c-sec-simple .l-grid-3 {
    display: flex;
    flex-direction: column;
  }

  .c-sec-simple .l-grid-3>.c-card-wrapper,
  .c-sec-simple .c-card--grid {
    display: flex !important;
    flex-direction: column;
    grid-row: none;
  }

  .c-sec-simple .c-cardBtns {
    display: grid;
    gap: var(--s2);
    margin-top: auto;
  }

  /* 簡易訴求（low-recommend） */
  .low-recommend {
    display: flex;
    flex-direction: column;
  }

  .low-recommend>.c-card-wrapper,
  .low-recommend .c-card--grid {
    display: flex !important;
    flex-direction: column;
    grid-row: none;
  }

  .low-recommend .c-cardBtns {
    display: grid;
    gap: var(--s2);
    margin-top: auto;
  }

  /* c-sec--detail */
  .c-sec--detail {
    background: url("img/bg-l.webp") left top / auto 45rem no-repeat scroll, var(--bor);
  }

  .c-sec--detail .c-badge {
  background-image: 
    url("img/tit-bg.svg"),
    linear-gradient(to right, transparent 75%, #0f2c52 75%),
    linear-gradient(to bottom, transparent 60%, #0f2c52 60%);
  background-size: 75%, 100%, 100%;
}

  .c-sec--detail .c-badge::before {
    width: 4rem;
    height: 4.5rem;
  }

  .c-sec--detail .c-card--large {
    padding: var(--s4) var(--s2);
  }

  .c-sec--detail .c-detailHero {
    gap: var(--s2);
  }

  .c-sec--detail .c-detailHero>div {
    width: 100%;
  }

  .c-sec--detail .c-detailHero table {
    width: 100%;
  }

  .c-sec--detail .c-slider {
    margin-top: var(--s4);
  }

  .c-sec--detail .c-slider__track {
    max-width: 100%;
  }

  .c-sec--detail .c-slider__arrow {
    width: var(--s5);
    height: var(--s5);
  }

  .c-sec--detail .c-slider__arrow--prev {
    margin-right: var(--s2);
  }

  .c-sec--detail .c-slider__arrow--next {
    margin-left: var(--s2);
  }

  .c-sec--detail .c-slider__dot {
    width: var(--s5);
    height: 0.5rem;
  }

  .c-sec--detail .c-slider__dots {
    gap: var(--s1);
  }

  .c-sec--detail .c-slider__sub {
    margin-block: var(--s2);
  }

  .c-sec--detail .c-slider__body {
    margin-bottom: var(--s2);
  }

  @keyframes c-slider-send {
    from {
      opacity: 0;
      transform: translateX(var(--s4));
    }

    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

  .c-sec--detail .c-detailHero th {
    width: 30%;
  }

  .c-sec--detail .c-featureCard {
    padding: var(--s2);
  }

  .c-sec--detail .c-featureCard::before {
    inline-size: var(--s2);
  }

  /* テーブル調整 */
  .c-table th,
  .c-table td {
    padding: var(--s1) var(--s2);
    font-size: var(--fs-s);
  }

  .c-table th {
    width: 30%;
  }

  /* 画像調整 */
  .c-cardMedia img,
  .c-sec--detail .c-detailHero img {
    max-width: 100%;
    height: auto;
  }

  .c-cardMedia {
    margin: var(--s2) 0;
  }

  /* キャプション調整 */
  .caption {
    font-size: 1.1rem;
    margin-top: 0.6em;
  }

  /* 会社一覧 */
  .l-sec:has(.c-company-card) .l-grid-3 {
    display: flex;
    flex-direction: column;
  }

  .c-company-card {
    display: flex !important;
    flex-direction: column;
    grid-row: none;
  }

  /* MV */
  .c-hero {
    display: flex;
    flex-direction: column;
  }

  .c-hero__bg--left {
  width: 100%;
  height: 62%;
  clip-path: border-box;
  }

  .c-hero__bg--right {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 50%;
    margin-left: 0;
    z-index: 0;
    bottom: 0;
    margin-top: auto;
    background: #00000080;
  }

  .c-heroSlider {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
  }

  .c-heroSlide {
    background-size: cover;
    background-position: center center;
  }

  .c-hero .l-center {
    position: relative;
    z-index: 1;
    width: 100%;
    padding-right: var(--s2);
    padding-left: var(--s2);
    box-sizing: border-box;
  }

  .c-hero__inner {
    padding-block: var(--s6);
    padding-inline: 0;
  }

  .c-hero__head {
    margin-bottom: var(--s3);
  }

  .c-hero__logo {
    max-width: 16rem;
    width: 100%;
  }

  .c-hero__logo img {
    max-width: 100%;
    height: auto;
    display: block;
  }

  .mv-title {
    margin-bottom: var(--s2);
  }

  .mv-title__label {
    margin-bottom: var(--s1);
  }

  .mv-text {
    max-width: 100%;
    margin-top: var(--s3);
    padding: 0;
  }

  /* 州セクション */
  .c-state-section .l-container {
    padding: var(--s3);
  }

  .c-state-content {
    display: flex;
    flex-direction: column;
    gap: var(--s1);
  }

  .c-state-content img {
    max-width: 80%;
    margin: 0 auto;
  }

  .c-state-section {
    padding: var(--s3);
  }

  .is-first {
    padding-top: var(--s8);
  }

  .is-last {
    padding-bottom: var(--s8);
  }

  #index .c-state-content .l-stack-s .btn-internal {
    margin: 0 auto;
    max-width: 95%;
  }

  .c-case-buttons {
    gap: var(--s2);
  }

  /* まとめ見出し */
  .c-summary {
    padding-left: var(--s8);
    background-size: var(--s6) auto;
  }

  /* フッターバナー */
  .pc-fix-banner01 {
    display: none;
  }

  .sp-fix-banner01 {
    display: block;
    width: 100%;
    background-color: var(--pri);
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 50;
  }

  .sp-fix-banner01-text {
    padding: var(--s2);
    color: var(--white);
    position: relative;
    font-weight: bold;
  }

  .sp-fix-banner01-text p {
    margin: 0;
    font-size: var(--fs-s);
    display: inline;
  }

  .sp-fix-banner01-text a {
    padding-right: var(--s2);
    color: var(--white);
    text-decoration: none;
    background: url("./img/arrow-01-wht-right.svg") no-repeat right center / var(--s1) auto;
    display: block;
  }

  .sp-fix-banner01-text a:hover {
    opacity: 0.7;
  }
}