@charset "UTF-8";
/*//////////PCサイズ///////////*/
@media screen and (min-width: 768px) {}
/*//////////SPサイズ///////////*/
@media screen and (max-width:767px) {}
/*//////////PCサイズ///////////*/
@media screen and (min-width: 768px) {
  /** ==============================
 * PageIntroセクション start
 * ============================== **/
  .PageIntroSection {
    width: 100vw;
    height: 50vw;
    background: #fff; /* 背景色：落ち着いたライトグレー */
    position: relative;
  }
  .PageIntroSection__inner {
    width: 100vw;
  }
  .PageIntroSection__title-wrap {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-family: 'Noto Serif JP', serif;
    font-size: 1.8rem;
    letter-spacing: 0.2em;
    width: 25vw;
    height: 50vw;
    color: #222;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 3;
  }
  .PageIntroSection__title {
    margin: auto;
    z-index: 3;
  }
  .PageIntroSection__image-wrap {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .PageIntroSection__image {
    position: absolute;
    top: 10vw;
    right: 0;
    width: 75vw;
    height: auto;
    display: block;
    z-index: 2;
  }
  .PageIntroSection__image img {
    width: 75vw;
  }
  .PageIntroSection__backbar {
    position: absolute;
    background: #f2f2ef;
    bottom: 0;
    right: 0;
    width: 100vw;
    height: 15vw;
    z-index: 1;
  }
  /** ==============================
 * PageIntroセクション end
 * ============================== **/
  /* ==============================
 * バーガーメニュー style start
 * ============================== */
  .BurgerMenu {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
    transition: opacity 0.4s ease, transform 0.4s ease;
  }
  .BurgerMenu.is-open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
/* 通常スタイル（高さ600pxを超えるとき） */
.BurgerMenu__main {
  list-style: none;
  padding: 2vh;
  margin: 0;
  width: 50%;
  max-height: 80vh;
  text-align: left;
font-size: clamp(1.2rem, 1.8vh, 1.6rem);
  font-weight: 300;
  color: #fff;
  box-sizing: border-box;
  overflow-y: auto;
}

/* 高さ677px以下のときだけ適用 */
@media screen and (max-height: 677px) {
  .BurgerMenu__main {
    max-height: 90vh;   /* 全体をさらに低くする */
    font-size: 2.1vh;  /* 文字を小さくして収まりを優先 */
    padding: 1.5vh;     /* 余白を詰めて表示領域を確保 */
  }
}

  .BurgerMenu__main > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }
  .BurgerMenu__main > li:last-child {
    border-bottom: none;
  }
  .BurgerMenu__main a {
    color: #fff;
    text-decoration: none;
    display: block;
    padding: 1vh 0 1vh 0.5rem; /* ← これだけでOK */
  }
  .BurgerMenu__main a:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
  }
  .BurgerMenu__main .has-sub > span {
    display: block;
    font-weight: 300;
    margin: 0.5vh 0 0.5rem;
    padding-left: 0.5rem;
    color: #E4E4E4;
    letter-spacing: 0.1rem;
  }
  .BurgerMenu__sub {
    list-style: none;
    padding-left: 2vh;
    margin-top: 0vh;
  }
  .BurgerMenu__sub li {
    margin-bottom: 0;
  }
  .BurgerMenu__sub li a {
    padding: 0.5vh 0 0.5vh 0.5rem; /* ← これだけでOK */
  }
  .BurgerMenu__close {
    position: absolute;
    top: 2vh;
    right: 2vh;
    font-size: 2.5rem;
    color: #fff;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 10000;
  }
  /* ==============================
 * バーガーメニュー style end
 * ============================== */
  /* ===== HEADER ===== */
  .MainVisualHeader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 70px;
    z-index: 1000;
    transition: transform 0.5s, background 0.4s, backdrop-filter 0.4s;
    background: rgba(255, 255, 255, 0.0);
    backdrop-filter: none;
    display: flex;
    align-items: center;
  }
  .MainVisualHeader__inner {
    margin: 0 auto;
    width: 100%;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 32px;
  }
  .MainVisualHeader__logo img {
    height: 40px;
  }
  .MainVisualHeader__controls {
    display: flex;
    align-items: center;
    gap: 2vw;
  }
  /* ==============================
  言語セレクトカスタムUI start
============================== */
  .custom-select-wrapper, .custom-select-wrapper2 {
    position: relative;
    width: 15vw;
    font-size: 1rem;
    user-select: none;
  }
  .custom-select-trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 1rem;
    border: 1px solid #6C6C6C; /* 枠線：黒に */
    border-radius: 5px;
    background: transparent;
    color: #6C6C6C; /* 文字色：黒に */
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
  }
  .trigger-text {
    flex: 1;
    color: #6C6C6C; /* 明示的に文字色指定 */
  }
  .trigger-icon {
    margin-left: auto;
    color: #6C6C6C; /* 三角の色も黒に */
  }
  .custom-select-trigger2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 1rem;
    border: 1px solid #6C6C6C; /* 枠線：黒に */
    border-radius: 5px;
    background: transparent;
    color: #6C6C6C; /* 文字色：黒に */
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
  }
  .trigger-text2 {
    flex: 1;
    color: #6C6C6C; /* 明示的に文字色指定 */
  }
  .trigger-icon2 {
    margin-left: auto;
    color: #6C6C6C; /* 三角の色も黒に */
  }
  /* ▼ 修正箇所：縦並びにするためflexをblockに変更 */
  .custom-options {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.9); /* 白 80% 不透明 */
    color: #333;
    border: 1px solid #ddd;
    border-radius: 4px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
    /* 縦並びのため display: block; を指定 */
    display: block;
  }
  .custom-select-wrapper.open .custom-options {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
  .custom-option {
    display: block; /* 確実に1行1項目で表示 */
    width: 100%;
    padding: 0.6rem 1rem;
    cursor: pointer;
    transition: background 0.2s ease;
    box-sizing: border-box;
  }
  .custom-option:hover {
    background: #eee;
  }
  /* ==============================
  言語セレクトカスタムUI end
============================== */
  .MainVisualHeader__burger, .MainVisualHeader__burger2 {
    width: 42px;
    height: 42px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    padding: 6px;
  }
  .MainVisualHeader__burger span {
    display: block;
    width: 35px;
    height: 1px;
    background: #6C6C6C;
    border-radius: 1px;
  }
  .MainVisualHeader__burger2 span {
    display: block;
    width: 35px;
    height: 1px;
    background: #6C6C6C;
    border-radius: 1px;
  }
  /* 背景帯の透明度・blur制御（JSでクラス付与） */
  .MainVisualHeader.is-solid {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 12px 0 rgba(50, 60, 70, 0.06);
  }
  .MainVisualHeader.is-hidden {
    transform: translateY(-100%);
    pointer-events: none;
  }
  /* ==============================
  ヘッダー配色：スクロール対応 start
============================== */
  /* バーガー三本線 */
  body:not(.scrolled) .MainVisualHeader__burger span {
    background-color: #ffffff;
  }
  body.scrolled .MainVisualHeader__burger span {
    background-color: #6C6C6C;
  }
  /* カスタムセレクト トリガーの文字色と枠線 */
  body:not(.scrolled) .custom-select-trigger {
    border-color: #ffffff;
    color: #ffffff;
  }
  body.scrolled .custom-select-trigger {
    border-color: #6C6C6C;
    color: #6C6C6C;
  }
  /* Language内のテキストとアイコン */
  body:not(.scrolled) .trigger-text, body:not(.scrolled) .trigger-icon {
    color: #ffffff;
  }
  body.scrolled .trigger-text, body.scrolled .trigger-icon {
    color: #6C6C6C;
  }
  /* ==============================
  ヘッダー配色：スクロール対応 end
============================== */
  /** ==============================
 * Footerセクション start
 * ============================== **/
  .FooterSection {
    background-color: #162421;
    color: #fff;
    padding: 4vw 0;
    font-family: 'Noto Sans JP', sans-serif;
  }
  .FooterSection__inner {
    position: relative;
    width: 100vw;
    margin: 0 auto;
  }
  .FooterSection__logo {
    width: 18vw;
    height: auto;
    margin-bottom: 1.5vw;
  }
  .FooterSection__head {
    margin-bottom: 2vw;
    padding: 0 5vw;
  }
  .FooterSection__address {
    font-size: 0.85rem;
    line-height: 1.8;
    font-weight: 300;
  }
  .FooterSection__contact_inner {
    padding: 0 5vw;
  }
  .FooterSection__contact-label {
    color: #ab925f;
    font-size: 1rem;
    margin-bottom: 0.5vw;
  }
  .FooterSection__separator {
    border: none;
    border-top: 1px solid #ab925f;
    margin-bottom: 1.5vw;
  }
  .FooterSection__contact-buttons {
    display: flex;
    gap: 2vw;
    margin-bottom: 2vw;
    flex-wrap: wrap;
  }
  .FooterSection__phone-btn, .FooterSection__web-btn {
    display: flex;
    align-items: center;
    background: #ab925f;
    color: #fff;
    width: 38vw;
    padding: 0.5vw 2vw;
    text-decoration: none;
    font-size: 1.2rem;
    gap: 1vw;
    min-width: 300px;
    justify-content: space-between; /* ← これで右端に配置される */
  }
  .FooterSection__phone-number {
    font-size: 1.8rem;
    font-weight: bold;
  }
  .FooterSection__time {
    font-size: 0.8rem;
    margin-left: 1vw;
  }
  .FooterSection__web-label {
    font-size: 1.3rem;
    font-weight: bold;
  }
  .FooterSection__icon, .FooterSection__icon-link {
    width: 3vw;
    height: auto;
  }
  .FooterSection__nav {
    display: flex;
    gap: 3vw;
    margin-bottom: 2vw;
    flex-wrap: wrap;
    padding: 0 5vw;
  }
  .FooterSection__nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .FooterSection__nav li {
    margin-bottom: 0.5em;
    font-size: 0.95rem;
    padding-right: 3vw;
  }
  .FooterSection__nav a {
    color: #D4D4D4; /* 例：白文字 */
    text-decoration: none;
  }
  .FooterSection__nav a:hover {
    text-decoration: underline;
  }
  .FooterSection__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.75rem;
    border-top: 1px solid #888;
    padding-top: 1vw;
    flex-wrap: wrap;
  }
  .FooterSection__policies {
    padding: 0 2vw;
  }
  .FooterSection__copyright {
    padding: 0 2vw;
  }
  .FooterSection__policies a {
    margin-right: 2vw;
    color: #ccc;
    text-decoration: none;
    font-size: 0.75rem;
  }
  .FooterSection__policies a:hover {
    text-decoration: underline;
  }
  .linksub::before {
    content: "└ ";
    padding-left: 0.2rem;
  }
  .PageTop {
    position: absolute;
    top: 0;
    right: 2vw;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .PageTop a {
    writing-mode: vertical-rl;
    color: #fff;
    text-decoration: none;
    font-size: 0.75rem;
  }
  .PageTop img {
    width: 16px;
    height: auto;
    margin-bottom: 0.5rem;
  }
  /** ==============================
 * Footerセクション end
 * ============================== **/
}
/*//////////SPサイズ///////////*/
@media screen and (max-width:767px) {
  /** ==============================
 * PageIntroセクション start
 * ============================== **/
.PageIntroSection {
  width: 100vw;
  background: #fff;
  position: relative;
  margin-top: 4.5rem;   /* ← セクション全体を下げる */
  height: auto;         /* 高さは中身に応じる */
}
  .PageIntroSection__inner {
    width: 100vw;
  }
.PageIntroSection__title-wrap {
  position: relative;  /* ← これが重要 */
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.8rem;
  letter-spacing: 0.2em;
  width: 25vw;
  height: 50vw;
  color: #222;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 3;
}
  .PageIntroSection__title {
    margin: auto;
	font-size:1.6rem;
	line-height:120%;
  }
  .PageIntroSection__image-wrap {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }
.PageIntroSection__image {
  position: absolute;
  top: 10vw;
  right: 0;
  width: 75vw;
  height: auto;
  display: block;
  z-index: 2;
}
  .PageIntroSection__image img {
    width: 75vw;
  }
.PageIntroSection__backbar {
  position: absolute;
  background: #f2f2ef;
  bottom: 0;
  right: 0;
  width: 100vw;
  height: 15vw;
  z-index: 0;   /* さらに背面に回す */
}
  /** ==============================
 * PageIntroセクション end
 * ============================== **/
  /* ==============================
 * バーガーメニュー style start
 * ============================== */
  .BurgerMenu {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
    transition: opacity 0.4s ease, transform 0.4s ease;
  }
  .BurgerMenu.is-open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
  .BurgerMenu__main {
    list-style: none;
    padding: 2vh;
    margin: 0;
    width: min(80vw, 380px);
    max-height: 90vh;
    text-align: left;
    font-size: 2vh; /* 高さ基準のフォントサイズ */
    font-weight: 300;
    color: #fff;
    box-sizing: border-box;
    overflow: hidden;
  }
  .BurgerMenu__main > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }
  .BurgerMenu__main > li:last-child {
    border-bottom: none;
  }
  .BurgerMenu__main a {
    color: #fff;
    text-decoration: none;
    display: block;
    padding: 1vh 0 1vh 0.5rem; /* ← これだけでOK */
  }
  .BurgerMenu__main a:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
  }
  .BurgerMenu__main .has-sub > span {
    display: block;
    font-weight: 300;
    margin: 0.5vh 0 0.5rem;
    padding-left: 0.5rem;
    color: #E4E4E4;
    letter-spacing: 0.1rem;
  }
  .BurgerMenu__sub {
    list-style: none;
    padding-left: 2vh;
    margin-top: 0vh;
  }
  .BurgerMenu__sub li {
    margin-bottom: 0;
  }
  .BurgerMenu__sub li a {
    padding: 0.5vh 0 0.5vh 0.5rem; /* ← これだけでOK */
  }
  .BurgerMenu__close {
    position: absolute;
    top: 2vh;
    right: 2vh;
    font-size: 2.5rem;
    color: #fff;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 10000;
  }
  /* ==============================
 * バーガーメニュー style end
 * ============================== */
  /* ===== HEADER ===== */
  .MainVisualHeader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 70px;
    z-index: 1000;
    transition: transform 0.5s, background 0.4s, backdrop-filter 0.4s;
    background: rgba(255, 255, 255, 0.0);
    backdrop-filter: none;
    display: flex;
    align-items: center;
  }
  .MainVisualHeader__inner {
    margin: 0 auto;
    width: 100%;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 3vw;
  }
  .MainVisualHeader__logo img {
    width: 33vw;
  }
  .MainVisualHeader__controls {
    display: flex;
    align-items: center;
    gap: 3vw;
  }
  /* ==============================
  言語セレクトカスタムUI start
============================== */
  .custom-select-wrapper, .custom-select-wrapper2 {
    position: relative;
    width: 33vw;
    font-size: 0.9rem;
    user-select: none;
  }
  .custom-select-trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.3rem 1rem;
    border: 1px solid #6C6C6C; /* 枠線：黒に */
    border-radius: 5px;
    background: transparent;
    color: #6C6C6C; /* 文字色：黒に */
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
  }
  .trigger-text {
    flex: 1;
    color: #6C6C6C; /* 明示的に文字色指定 */
  }
  .trigger-icon {
    margin-left: auto;
    color: #6C6C6C; /* 三角の色も黒に */
  }
  .custom-select-trigger2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 1rem;
    border: 1px solid #6C6C6C; /* 枠線：黒に */
    border-radius: 5px;
    background: transparent;
    color: #6C6C6C; /* 文字色：黒に */
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
  }
  .trigger-text2 {
    flex: 1;
    color: #6C6C6C; /* 明示的に文字色指定 */
  }
  .trigger-icon2 {
    margin-left: auto;
    color: #6C6C6C; /* 三角の色も黒に */
  }
  /* ▼ 修正箇所：縦並びにするためflexをblockに変更 */
  .custom-options {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.9); /* 白 80% 不透明 */
    color: #333;
    border: 1px solid #ddd;
    border-radius: 4px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
    /* 縦並びのため display: block; を指定 */
    display: block;
  }
  .custom-select-wrapper.open .custom-options {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
  .custom-option {
    display: block; /* 確実に1行1項目で表示 */
    width: 100%;
    padding: 0.3rem 0.5rem;
    cursor: pointer;
    transition: background 0.2s ease;
    box-sizing: border-box;
  }
  .custom-option:hover {
    background: #eee;
  }
  /* ==============================
  言語セレクトカスタムUI end
============================== */
  .MainVisualHeader__burger, .MainVisualHeader__burger2 {
    width: 42px;
    height: 42px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    padding: 6px;
  }
  .MainVisualHeader__burger span {
    display: block;
    width: 35px;
    height: 1px;
    background: #6C6C6C;
    border-radius: 1px;
  }
  .MainVisualHeader__burger2 span {
    display: block;
    width: 35px;
    height: 1px;
    background: #6C6C6C;
    border-radius: 1px;
  }
  /* 背景帯の透明度・blur制御（JSでクラス付与） */
  .MainVisualHeader.is-solid {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 12px 0 rgba(50, 60, 70, 0.06);
  }
  .MainVisualHeader.is-hidden {
    transform: translateY(-100%);
    pointer-events: none;
  }
  /* ==============================
  ヘッダー配色：スクロール対応 start
============================== */
  /* バーガー三本線 */
  body:not(.scrolled) .MainVisualHeader__burger span {
    background-color: #ffffff;
  }
  body.scrolled .MainVisualHeader__burger span {
    background-color: #6C6C6C;
  }
  /* カスタムセレクト トリガーの文字色と枠線 */
  body:not(.scrolled) .custom-select-trigger {
    border-color: #ffffff;
    color: #ffffff;
  }
  body.scrolled .custom-select-trigger {
    border-color: #6C6C6C;
    color: #6C6C6C;
  }
  /* Language内のテキストとアイコン */
  body:not(.scrolled) .trigger-text, body:not(.scrolled) .trigger-icon {
    color: #ffffff;
  }
  body.scrolled .trigger-text, body.scrolled .trigger-icon {
    color: #6C6C6C;
  }
  /* ==============================
  ヘッダー配色：スクロール対応 end
============================== */
  /* ==============================
 * Footerセクション（SP） start
 * ============================== */
  .FooterSection {
    background-color: #162421;
    color: #fff;
    padding: 10vw 0;
    font-family: 'Noto Sans JP', sans-serif;
  }
  .FooterSection__inner {
    width: 100vw;
    margin: 0 auto;
  }
  .FooterSection__logo {
    width: 40vw;
    height: auto;
    margin: 0 auto 5vw auto;
    display: block;
  }
  .FooterSection__head {
    margin-bottom: 8vw;
    padding: 0 6.5vw;
    text-align: center;
  }
  .FooterSection__address {
    font-size: 0.8rem;
    line-height: 1.8;
    font-weight: 300;
    text-align: left;
  }
  .FooterSection__contact_inner {
    padding: 0 6.5vw;
    text-align: center;
  }
  .FooterSection__contact-label {
    color: #ab925f;
    font-size: 1.1rem;
    margin-bottom: 3vw;
  }
  .FooterSection__separator {
    border: none;
    border-top: 1px solid #ab925f;
    margin: 0 auto 6vw auto;
    width: 100%;
  }
  .FooterSection__contact-buttons {
    display: flex;
    flex-direction: column;
    gap: 5vw;
    margin-bottom: 8vw;
  }

 /* ==============================
 * 電話ボタン調整（SP・縦2行レイアウト） start
 * ============================== */
  .FooterSection__phone-btn {
    gap: 0;
    background: #ab925f;
    padding: 1rem 1.2rem;
    border-radius: 0.2rem;
    text-decoration: none;
    color: #fff;
  }
  /* アイコン */
  .FooterSection__phone-btn .FooterSection__icon {
    width: 12vw;
    max-width: 48px;
    height: auto;
    float: left;
  }
  /* テキスト部分を縦並びに */
  .FooterSection__phone-btn .text-block {
    flex-direction: column;
    line-height: 1;
  }
  /* 電話番号 */
  .FooterSection__phone-number {
    font-size: 1.4rem;
	line-height: 120%;
    font-weight: bold;
    display: block;
    text-align: left;
    padding: 0 0 0 14vw;
  }
  /* 営業時間 */
  .FooterSection__time {
    font-size: 0.85rem;
    font-weight: 300;
    margin-top: 0.2rem;
    display: block;
    text-align: left;
    padding: 0 0 0 14vw;
  }
  /* ==============================
 * 電話ボタン調整（SP・縦2行レイアウト） end
 * ============================== */
 
 /* ==============================
 * Webボタン調整（SP・左揃え） start
 * ============================== */
.FooterSection__web-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;  /* 左端と右端に配置 */
  background: #ab925f;
  color: #fff;
  width: 100%;
  padding: 1rem 1.2rem;
  text-decoration: none;
  border-radius: 0.3rem;
  gap: 3vw; /* 左アイコンとテキストの間隔 */
}

/* 左アイコン */
.FooterSection__web-btn .FooterSection__icon {
  width: 10vw;
  max-width: 40px;
  height: auto;
  flex-shrink: 0;
}

/* テキスト（左寄せ） */
.FooterSection__web-label {
  font-size: 1.1rem;
  font-weight: bold;
  text-align: left;  /* ← 左揃え */
  flex: 1;           /* 余白を広げて右アイコンを押し出す */
}

/* 右アイコン */
.FooterSection__web-btn .FooterSection__icon-link {
  width: 8vw;
  max-width: 32px;
  height: auto;
  flex-shrink: 0;
}
/* ==============================
 * Webボタン調整（SP・左揃え） end
 * ============================== */


  .FooterSection__nav {
    display: flex;
    flex-direction: column;
    gap: 6vw;
    margin-bottom: 8vw;
    padding: 0 6.5vw;
  }
  .FooterSection__nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .FooterSection__nav li {
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    padding-right: 0;
  }
  .FooterSection__nav a {
      font-size: 1rem;
    color: #D4D4D4;
    text-decoration: none;
  }
  .FooterSection__nav a:hover {
    text-decoration: underline;
  }
  .linksub::before {
    content: "└ ";
    padding-left: 0.2rem;
    color: #ab925f; /* PCと同じく金色で装飾 */
  }
  .FooterSection__bottom {
    display: flex;
    flex-direction: column;
    gap: 3vw;
    font-size: 0.8rem;
    border-top: 1px solid #888;
    padding-top: 5vw;
    text-align: center;
  }
  .FooterSection__policies {
    padding: 0;
  }
  .FooterSection__policies a {
    margin: 0 2vw;
    color: #ccc;
    text-decoration: none;
    font-size: 0.8rem;
  }
  .FooterSection__policies a:hover {
    text-decoration: underline;
  }
  .FooterSection__copyright {
    padding: 0;
  }
  /* ==============================
 * PageTop（SP配置修正版） start
 * ============================== */
  .FooterSection__inner {
    position: relative; /* PageTopの基準にする */
  }
  .PageTop {
    position: absolute;
    right: 6vw;
    bottom: 25vw; /* フッター下端から少し上 */
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .PageTop a {
    writing-mode: vertical-rl;
    font-size: 0.75rem;
    color: #fff;
    text-decoration: none;
  }
  .PageTop img {
    width: 18px;
    height: auto;
    margin-bottom: 0.3rem;
  }
  /* ==============================
 * PageTop（SP配置修正版） end
 * ============================== */
  /* ==============================
 * Footerセクション（SP） end
 * ============================== */
}
/* フォント未ロード時は、仮フォントや透過/非表示でFOUTを見せない */
.font-loading body {
  opacity: 0;
  /* もしくはフォールバックフォント指定やtransitionでふんわり見せるなど */
  /* font-family: 'メイリオ', 'ＭＳ Ｐゴシック', sans-serif; など */
}
/* フォントロード完了時に表示 */
.font-loaded body {
  opacity: 1;
  transition: opacity 0.2s;
}
/** ==============================
 * ローディング画面スタイル start
 * ============================== **/
#loading-screen {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(60deg, #2b6d56, #2b6d56, #2b6d56);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 1s ease;
}
.loading-logo {
  width: 120px;
  height: auto;
  opacity: 1;
  transition: opacity 1s ease;
}
/* フェードアウト用クラス */
.fade-out {
  opacity: 0;
  pointer-events: none;
}
/* 本文初期状態（非表示） */
#main-content {
  visibility: hidden;
  opacity: 0;
  min-height:100vh;
}
/* 本文フェードイン用 */
#main-content.fade-in {
  visibility: visible;
  animation: fadeIn 1s ease forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/** ==============================
 * ローディング画面スタイル end
 * ============================== **/
/* =========================================
 * common.css（初期設定・汎用スタイル）
 * ========================================= */
/* ボックスサイズをborder-boxに統一 */
*, *::before, *::after {
  box-sizing: border-box;
}
/* ベースリセット */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5要素をブロックとして扱う（古いブラウザ対応） */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
/*//////////PCサイズ///////////*/
@media screen and (min-width: 768px) {
  /* ボディの初期設定 */
  html {
    font-size: 1vw; /* 1280px時に約16px */
    font-feature-settings: "palt";
  }
}
/*//////////SPサイズ///////////*/
@media screen and (max-width:767px) {
  /* ボディの初期設定 */
  html {
    font-size: 4.103vw; /* 390px時に約16pxになる */
    font-feature-settings: "palt";
  }
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  line-height: 1.75;
  color: #333;
}
/* ゴシック体用クラス */
.gothic {
  font-family: 'Noto Sans JP', sans-serif;
}
/* 明朝体用クラス */
.serif {
  font-family: 'Noto Serif JP', serif;
}
/* 英文用クラス（Jost） */
.jost {
  font-family: 'Jost', sans-serif;
}
/* リスト初期化 */
ol, ul {
  list-style: none;
}
/* リンクの初期設定 */
a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s ease;
}
a:hover {
  opacity: 0.7;
}
/* 画像の基本スタイル */
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
/* 見出しタグの初期フォントウェイト */
h1, h2, h3, h4, h5, h6 {
  font-size: inherit; /* ← bodyの値を使う */
}
/* 汎用ユーティリティクラス（必要に応じて） */
.text-center {
  text-align: center;
}
.inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}
/*//////////PCサイズ///////////*/
@media screen and (min-width: 768px) {
  .PC {}
  .SP {
    display: none;
    max-width: 0%;
    max-height: 0%;
  }
}
/*//////////SPサイズ///////////*/
/*//////////SPサイズ///////////*/
@media screen and (max-width:767px) {
  .PC {
    display: none;
    max-width: 0%;
    max-height: 0%;
  }
  .SP {}
}