@charset "UTF-8";

/* Base Setting Css ----------------------- */
*, *::before, *::after {box-sizing: border-box;margin: 0;padding: 0;}
html {height: 100%; font-size: 62.5%;overflow-x: hidden; scroll-behavior: smooth;}
body {position: relative;font-family: "Noto Serif JP", serif;font-size: 1.6rem;line-height: 1.0em;letter-spacing: 0em;background: #ffffff;overflow-x: hidden;overflow-y: scroll;word-wrap: break-word; height: auto;}
h1,h2,h3,h4,h5,h6,p,a,ul,li,ol,dl,dt,dd,table,tr,th,td,span,strong {line-height: 1.3em;letter-spacing: 0em;font-weight: 400;font-feature-settings : "palt";margin: 0;padding: 0;color:#28283D; font-family: "Noto Serif JP", serif;}
main {display: block;}
hr {box-sizing: content-box;height: 0;overflow: visible;}
ul {list-style: none;}
a, a:visited {color:#28283D;text-decoration: none;background-color: transparent;}
a:hover, a:active { color:#4c4c4c; }
abbr[title] {border-bottom: none;text-decoration: underline;text-decoration: underline dotted;}
b, strong {font-weight: bolder;}
code, kbd, samp {font-family: monospace, monospace;font-size: 1em;}
small {font-size: 80%;}
sub, sup {font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;}
sub {bottom: -0.25em;}
sup {top: -0.5em;}
img {border-style: none;width: auto;height: auto;max-width: 100%;max-height: 100%;}
button, input, optgroup, select,textarea {font-size: 100%;line-height: 1.15;margin: 0;}
button, input {overflow: visible;}
button, select {text-transform: none;}
button, [type="button"], [type="reset"], [type="submit"] {-webkit-appearance: button;}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {border-style: none;padding: 0;}
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {outline: 1px dotted ButtonText;}
fieldset { padding: 0.35em 0.75em 0.625em;}
legend {box-sizing: border-box;color: inherit;display: table;max-width: 100%;padding: 0;white-space: normal;}
progress {vertical-align: baseline;}
textarea {overflow: auto;}
[type="checkbox"], [type="radio"] {box-sizing: border-box; padding: 0;}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {height: auto;}
[type="search"] {-webkit-appearance: textfield; outline-offset: -2px;}
[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}
::-webkit-file-upload-button {-webkit-appearance: button; font: inherit;}
details { display: block;}
summary {display: list-item;}
template {display: none;}
[hidden] {display: none;}
section {width: 100%; padding: 0; margin: 0 auto; display: block; position: relative; overflow: hidden;}
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1024px) {
}




/* Color library----------------------- */
:root { --cl-bs-01:#28283D; --cl-bs-02: ; --cl-wh-01:#ffffff; --bs-bc-01:#28283D; --bs-bc-02:; --bs-gl-01: #E0E5E9; --bs-gl-02: ; --bs-rd-01: ; --bs-bl-01: ; --bs-gr-01: ; --bs-br-01: #9A8065;}



/* Common Parts ----------------------- */
#contents{width: 100%;padding: 0;margin: 0;z-index: 0;visibility: visible; overflow: hidden;}
.inbox{width: 100%;padding: 60px 20px;margin: 0;display: block;}
h2{font-size: 7vw;color:var(--cl-bs-01);font-weight: bold;text-align: left;margin-bottom: 30px; line-height: 2em;}
h2 + p {font-size: 1.6rem; margin-bottom: 4rem;line-height: 2.4em;}
.sp-none {display: none;}.tb-none{display: block;}.tbl-none{display: block;}.pc-none{display: block;}.sp-tb-none{display: none;}.tbl-pc-none{display: block;}.sp-block{display: block;}.tbl-pc-block{display: none;}.pc-block{display: none;}
p {line-height: 1.6em;}
@media screen and (min-width: 768px) {
  h2 {font-size: 3rem;}
  .sp-none {display: block;}.tb-none{display: none;}.sp-tb-none{display: none;}.sp-block{display: none;}
}
@media screen and (min-width: 1024px) {
  #contents{padding: 0;}
  .inbox {padding: 90px 20px;}
  h2 + p {font-size: 1.8rem;}
  .sp-tb-none{display: block;}.tbl-pc-none{display: none;}.tbl-pc-block{display: block;}
}
@media screen and (min-width: 1025px) {
  h2 {font-size: 2.4vw;}
  h2 + p {font-size: 1.3vw;}
  .pc-block{display: block;}
}
@media screen and (min-width: 1200px) {
  .inbox {width: 90%;max-width: 1200px;padding: 100px 0;margin: 0 auto;}
  .sp-none {display: block;}.tb-none{display: block;}.pc-none{display: none;}
}

/* Button */
.btn-base, .btn-base:visited {width: fit-content;display: inline-block;padding: 1.6rem 4rem;color: var(--cl-wh-01);background-color: var(--bs-bc-01); font-size: 1.6rem;font-weight: 400;text-decoration: none;transition: 1s; position: relative; border-radius: 2px;}
.btn-base:active, .btn-base:hover {color: var(--cl-wh-01);}
.btn-arrow { display: flex; align-items: center; width: fit-content; font-weight: bold;}
.btn-arrow::after {content: url(../images/btn-arrow.svg); margin-left: 20px; transition: .5s;}
.btn-arrow:hover::after {margin-left: 30px;}
.btn-move, .btn-move:visited {color: var(--cl-wh-01); display: flex; align-items: center; width: fit-content; font-weight: bold; padding: 1.6rem 3rem; background: var(--bs-bc-01); border-radius: 2px;}
.btn-move::after {content: url(../images/link-note-icon.svg); margin-left: 20px; display: block; margin-top: 3px; }
.btn-move:hover {color: var(--cl-wh-01);}
.btn-wrap {display: block; width: fit-content; margin: 60px auto 0;}
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1024px) {
  .btn-move, .btn-move:visited {padding: 1.4rem 4rem; }
  .btn-base, .btn-base:visited {padding: 1.4rem 6rem;font-size: 2rem;}
}
@media screen and (min-width: 1200px) {
}


/* Form */
input {padding: .5rem 1rem;}
button, input, optgroup, select, textarea {font-size: 1.6rem;}



@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 1100px) {
}



/* Animation ----------------------- */
/* 汎用アニメーションの基本設定 */
.mv-left-in-pt1,.mv-left-in-pt2,.mv-right-in-pt1,.mv-right-in-pt2,.mv-bottom-in-pt1,.mv-bottom-in-pt2,.mv-scale-in-pt1,.mv-scale-in-pt2 { opacity: 0;will-change: transform, opacity;}
.mv-scale-in {opacity: 0;transform: scale(0.8);}
/* 左から右へ表示 */
.reveal-lr {clip-path: inset(0 100% 0 0);will-change: clip-path;transform: translateZ(0);backface-visibility: hidden;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
/* 上から下へ表示 */
.reveal-tb {clip-path: inset(100% 0 0 0);will-change: clip-path;transform: translateZ(0);backface-visibility: hidden;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
/* 右から左へ表示 */
.reveal-rl {clip-path: inset(0 0 0 100%);will-change: clip-path;transform: translateZ(0);backface-visibility: hidden;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
/* 下から上へ表示 */
.reveal-bt {clip-path: inset(0 0 100% 0);will-change: clip-path;transform: translateZ(0);backface-visibility: hidden;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
/* 中央から外側へ表示 */
.reveal-center {clip-path: inset(50% 50% 50% 50%);will-change: clip-path;transform: translateZ(0);backface-visibility: hidden;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
/* パララックス要素の基本設定 */
.parallax-up,
.parallax-down,
.parallax-fade-left,
.parallax-fade-right {
    /* パフォーマンス最適化 */
    will-change: transform, opacity;
    transform: translateZ(0); /* ハードウェアアクセラレーション */
    backface-visibility: hidden; /* 描画最適化 */
}

/* 上方向パララックス */
.parallax-up {
    /* JavaScript側で yPercent: -30 が適用される */
}

/* 下方向パララックス */
.parallax-down {
    /* JavaScript側で yPercent: 30 が適用される */
}

/* 左からフェードインパララックス */
.parallax-fade-left {
    /* 初期状態（JavaScript側で設定されるが、フォールバック用） */
    opacity: 0.3;
    transform: translateX(-100px);
}

/* 右からフェードインパララックス */
.parallax-fade-right {
    /* 初期状態（JavaScript側で設定されるが、フォールバック用） */
    opacity: 0.3;
    transform: translateX(100px);
}
@media (max-width: 768px) {
    /* パララックス効果を完全に無効化（特別なクラスがない限り） */
    .parallax-up:not(.parallax-mobile-enabled),
    .parallax-down:not(.parallax-mobile-enabled),
    .parallax-fade-left:not(.parallax-mobile-enabled),
    .parallax-fade-right:not(.parallax-mobile-enabled) {
        transform: none !important;
        opacity: 1 !important;
        will-change: auto !important;
    }
    
    /* モバイルでもパララックスを有効にしたい場合の例外クラス */
    .parallax-mobile-enabled {
        will-change: transform, opacity;
        transform: translateZ(0);
    }
    
    /* 一般的なパフォーマンス最適化 */
    .parallax-up,
    .parallax-down,
    .parallax-fade-left,
    .parallax-fade-right {
        /* モバイルでのパフォーマンス向上 */
        will-change: auto;
    }
}

/* タブレット対応 */
@media (min-width: 769px) and (max-width: 1024px) {
    .parallax-up,
    .parallax-down,
    .parallax-fade-left,
    .parallax-fade-right {
        /* タブレットでの最適化 */
        transform: translateZ(0);
    }
}

/* パララックス効果を一時的に無効化 */
.parallax-disabled {
    transform: none !important;
    opacity: 1 !important;
    will-change: auto !important;
}

/* パララックス効果の強度調整 */
.parallax-subtle {
    /* JavaScript側で調整が必要な場合のマーカークラス */
}

.parallax-strong {
    /* JavaScript側で調整が必要な場合のマーカークラス */
}

/* 奥行き感を演出するための補助クラス */
.parallax-layer-back {
    z-index: 1;
}

.parallax-layer-middle {
    z-index: 2;
}

.parallax-layer-front {
    z-index: 3;
}
/* オプション：JavaScriptロード前の一瞬の表示を防ぐ場合 */
.mv-fade-in-pt1,
.mv-fade-in-pt2,
.mv-fade-in-slow-pt1,
.mv-fade-in-slow-pt2,
.mv-fade-in-fast-pt1,
.mv-fade-in-fast-pt2 {
    opacity: 0;
}

/* JavaScriptが読み込まれた後に有効化 */
.gsap-loaded .mv-fade-in-pt1,
.gsap-loaded .mv-fade-in-pt2,
.gsap-loaded .mv-fade-in-slow-pt1,
.gsap-loaded .mv-fade-in-slow-pt2,
.gsap-loaded .mv-fade-in-fast-pt1,
.gsap-loaded .mv-fade-in-fast-pt2 {
    opacity: 1; /* GSAPが制御するまでの一時的な表示 */
}





/*---------------------------------------------
  Header
---------------------------------------------*/
.header {width: 95%; position: fixed;top: 10px;left: 0;right: 0;margin: auto; background: rgba(255, 255, 255, 0.95);backdrop-filter: blur(10px);z-index: 1000;padding: 0 20px;transition: all 0.3s ease; border-radius: 6px;}
.header-container {margin: 0 auto;display: flex;align-items: center;justify-content: space-between;height: 60px;}
.h-logo {width: 50%;  display: flex;align-items: center;}
.h-logo img {width: auto; max-height: 50px;}

/* PC版メニュー */
.nav-menu {display: none;list-style: none;margin: 0;padding: 0;}
.nav-menu li {display: inline-block;margin: 0 15px;}
.nav-menu a {font-size: 1.2vw; text-decoration: none;color: var(--bs-bc-01);padding: 10px 0;position: relative;transition: color 0.3s ease;}
.nav-menu a:visited {color: var(--bs-bc-01);}
.nav-menu a:hover {color: var(--bs-bc-01);}
.nav-menu a::after {content: '';position: absolute;bottom: 5px;left: 0;width: 0;height: 1px;background: var(--bs-bc-01);transition: width 0.3s ease;}
.nav-menu a:hover::after {width: 100%;}

/* 特別ボタンスタイル */
.contact-btn {background: var(--bs-bc-01);color: var(--cl-wh-01) !important;padding: 16px 24px !important;border-radius: 2px;transition: all 0.3s ease;}
.contact-btn::after {display: none;}
.contact-btn:hover {background: var(--bs-bc-01);transform: translateY(-1px);}
.contact-btn:visited {color: var(--cl-wh-01);}

/* ハンバーガーメニューボタン */
.hamburger {display: block;width: 30px;height: 30px;cursor: pointer;position: relative;z-index: 1001;}
.hamburger span {display: block;width: 100%;height: 2px;background: var(--bs-bc-01);margin: 6px 0;transition: all 0.3s ease;transform-origin: center;}
.hamburger.active span:nth-child(1) {transform: rotate(45deg) translate(4px, 4px);}
.hamburger.active span:nth-child(2) {opacity: 0;}
.hamburger.active span:nth-child(3) {transform: rotate(-45deg) translate(8px, -7px);}

/* 背景オーバーレイ */
.mobile-menu-backdrop {position: fixed;top: 0;left: 0;width: 100%;height: 100vh;background: rgba(0, 0, 0, 0.5);z-index: 998;opacity: 0;visibility: hidden;transition: all 0.4s cubic-bezier(0.77, 0, 0.175, 1);}

.mobile-menu-backdrop.active {opacity: 1;visibility: visible;}

/* モバイルメニューオーバーレイ */
.mobile-menu-overlay {position: fixed;top: 0;left: 50%;width: 95%;background: rgba(255, 255, 255, 0.98);backdrop-filter: blur(10px);border-radius: 12px;z-index: 999;display: flex;align-items: center;justify-content: center;transform: translate(-50%, -60%) scale(0.8);opacity: 0;visibility: hidden;transition: all 0.4s cubic-bezier(0.77, 0, 0.175, 1);box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);}

.mobile-menu-overlay.active {transform: translate(-50%, 0) scale(1);opacity: 1;visibility: visible;top: 30px;}
.mobile-menu {text-align: center;width: 100%;padding: 60px 30px 30px 30px;}
.mobile-menu li {list-style: none;margin: 0;border-bottom: 1px solid var(--bs-br-01);transform: translateY(20px);opacity: 0;transition: all 0.3s ease;}
.mobile-menu-overlay.active .mobile-menu li {transform: translateY(0);opacity: 1;}
.mobile-menu-overlay.active .mobile-menu li:nth-child(1) { transition-delay: 0.1s; }
.mobile-menu-overlay.active .mobile-menu li:nth-child(2) { transition-delay: 0.2s; }
.mobile-menu-overlay.active .mobile-menu li:nth-child(3) { transition-delay: 0.3s; }
.mobile-menu-overlay.active .mobile-menu li:nth-child(4) { transition-delay: 0.4s; }
.mobile-menu-overlay.active .mobile-menu li:nth-child(5) { transition-delay: 0.5s; }
.mobile-menu-overlay.active .mobile-menu li:nth-child(6) { transition-delay: 0.6s; margin-top: 20px;}
.mobile-menu-overlay.active .mobile-menu li:nth-child(7) { transition-delay: 0.7s; }
.mobile-menu li:first-child {border-top: 1px solid var(--bs-br-01);}
.mobile-menu li:last-child, .mobile-menu li:nth-last-of-type(2) {border-bottom: none;}
.mobile-menu a {display: block;padding: 1.8rem 0;text-decoration: none;color: var(--cl-bs-01);font-size: 4.2vw;transition: color 0.3s ease;}
.mobile-menu a:visited {color: var(--cl-bs-01);}
.mobile-menu .contact-btn {background: var(--bs-bc-01);color: var(--cl-wh-01) !important;margin: 0 !important;border-radius: 2px;display: block;padding: 1.4rem 0;}
/* ボディがメニュー開いてる時のスクロール制御 */
body.menu-open {overflow: hidden; position: fixed; width: 100%;}

@media screen and (min-width: 768px) {
  .header-container {height: 70px;}
  .h-logo {width: 34%;}
  .mobile-menu a {font-size: 2.2vw;}
}
/*
@media screen and (min-width: 1024px) {
  .header-container {height: 7rem;}
  .hamburger {display: block;}
  .nav-menu {display: none;}
  .mobile-menu-overlay {top: 21%;}
  .mobile-menu-overlay.active {top: 21%;}
  .mobile-menu .contact-btn {width: 60%; margin: 0 auto !important;padding: 1.4rem 0;}
}
*/
@media screen and (min-width: 1024px) {
  .header {box-shadow: 0px 2px 11px -4px #ababab;}
  .header-container {height: 80px;}
  .h-logo {width: 22vw;}
  .hamburger {display: none;}
  .nav-menu {display: flex;align-items: center;}
  .mobile-menu-overlay {width: 80%;max-width: 600px;}
  .contact-btn {padding: 1rem 4rem !important;}
}
@media screen and (min-width: 1100px) {
  .h-logo {width: 14vw;}
}



/*---------------------------------------------
  Footer
---------------------------------------------*/
.footer {display: block;}
.footer .footer-in { display: block; width: 100%; background-color: var(--bs-bc-01); padding: 6rem 2rem;}
.footer .footer-in h2 {font-size: 7vw; text-align: center; color: var(--cl-wh-01);}
.footer .footer-in h2 + p {font-size: 3.3vw; color: var(--cl-wh-01); text-align: center; margin-bottom: 2rem;}
.footer .footer-in .fl-box {display:block; padding: 4rem 0 0;}
.footer .footer-in .fl-box .item {width: 100%; display: flex; justify-content: center; align-items: center; flex-flow: column; padding: 2rem 0 2rem; background-color: var(--cl-wh-01); margin: 0 auto 5rem; position: relative;}
.footer .footer-in .fl-box .item:last-child {margin-bottom: 0;}
.footer .footer-in .fl-box .item h3 {font-size: 4.6vw; margin-bottom: 1rem; text-align: center;}
.footer .footer-in .fl-box .item .list-block {display: block; width: fit-content; padding-left: 6rem; margin-bottom: 1rem; position: relative;}
.footer .footer-in .fl-box .item:nth-of-type(1) .list-block::before {content: ''; width: 4rem; height: 4rem; display: block; position: absolute; top: 2.3vw; left: 0; background: url('../images/phone-icon.svg') 50% 50%/cover no-repeat;}
.footer .footer-in .fl-box .item .list-block p:first-child {font-size: 5.8vw; font-weight: bold;}
.footer .footer-in .fl-box .item .list-block p:nth-of-type(2) {font-size: 3.8vw;}
.footer .footer-in .fl-box .item:nth-of-type(3) .list-block::before {content: ''; width: 4rem; height: 4rem; display: block; position: absolute; top:0; left: 0; background: url('../images/mail-icon.svg') 50% 50%/cover no-repeat;}
.footer .footer-in .fl-box .item .list-block .btn-base {width: 100%; text-align: center; padding: 3vw 12vw;}
.footer .footer-in .fl-box .item .list-block:last-child {margin-bottom: 0;}
.footer .footer-in .fl-box .item .list-block + p {font-size: 3.3vw; text-align: center;}
.footer .footer-in .fl-box .item:nth-of-type(2) h3 { margin-bottom: 2rem;}
.footer .footer-in .fl-box .item:nth-of-type(3) h3 + p { font-size: 3.3vw; text-align: center; margin-bottom: 1rem;}
.footer .footer-in .fl-box .item a img {display: block; width: 80%; margin: 0 auto;}
.copyright {display: block; background-color: var(--cl-wh-01); padding: 1rem 0;}
.copyright p {text-align: center; color:var(--cl-bs-01); font-size: 1.2rem; }


@media screen and (min-width: 768px) {
  .footer .footer-in h2 { font-size: 4vw;}
  .footer .footer-in h2 + p {font-size: 2.4vw;}
  .footer .footer-in .fl-box .item {width: 70%;}
  .footer .footer-in .fl-box .item h3 {font-size: 3vw; margin-bottom: 2rem;}
  .footer .footer-in .fl-box .item .list-block {display: block; width: 70%; padding-left: 10vw; margin-bottom: 1rem;}
  .footer .footer-in .fl-box .item .list-block p:first-child {font-size: 3.8vw;}
  .footer .footer-in .fl-box .item:nth-of-type(1) .list-block::before {width: 7vw; height: 7vw; }
  .footer .footer-in .fl-box .item:nth-of-type(3) .list-block::before {width: 7vw; height: 7vw;}
  .footer .footer-in .fl-box .item:nth-of-type(2) h3 { margin-bottom: 2.6rem;}
  .footer .footer-in .fl-box .item .list-block + p {font-size: 2.3vw;}
  .footer .footer-in .fl-box .item .list-block p:nth-of-type(2) {font-size: 2.6vw;}
  .footer .footer-in .fl-box .item:nth-of-type(3) h3 + p { font-size: 2.3vw;}
  .footer .footer-in .fl-box .item .list-block .btn-base {padding: 2.3vw 12vw;}
}
@media screen and (min-width: 1024px) {
  .footer .footer-in h2 + p {font-size: 2.4vw;}
  .footer .footer-in .fl-box {display:flex; justify-content: center; padding: 4rem 0 2rem; }
  .footer .footer-in .fl-box .item {width: 30rem; padding: 2.4vw 0 2vw; margin: 0 3rem 0 0; justify-content: flex-start;}
  .footer .footer-in .fl-box .item:nth-of-type(2) h3 {margin-bottom: 4rem;}
  .footer .footer-in .fl-box .item:nth-of-type(3) h3 {margin-bottom: 3rem;}
  .footer .footer-in .fl-box .item:last-child {margin: 0;}
  .footer .footer-in .fl-box .item h3 {font-size: 2vw;}
  .footer .footer-in .fl-box .item .list-block {width: 94%; padding-left: 7vw;}
  .footer .footer-in .fl-box .item .list-block p:first-child {font-size: 2.2vw;}
  .footer .footer-in .fl-box .item .list-block + p {font-size: 1.4vw;}
  .footer .footer-in .fl-box .item:nth-of-type(3) h3 + p {font-size: 1.4vw;}
  .footer .footer-in .fl-box .item:nth-of-type(1) .list-block::before {width: 5vw; height: 5vw; top: .8vw;}
  .footer .footer-in .fl-box .item:nth-of-type(3) .list-block::before {width: 5vw; height: 5vw;}
  .footer .footer-in .fl-box .item  a.out-link {width: 100%; display: block;}
  .footer .footer-in .fl-box .item  a.out-link img {width: 80%; display: block; margin: 0 auto;}
  .footer .footer-in .fl-box .item .list-block .btn-base {padding: 1.1vw 2vw;}
  .footer .footer-in .fl-box .item .list-block p:nth-of-type(2) {font-size: 1.3vw;}
}
@media screen and (min-width: 1100px) {
  .footer .footer-in h2 { font-size: 2.4vw;}
  .footer .footer-in h2 + p {font-size: 1.2vw;}
  .footer .footer-in .fl-box .item {width: 30%; margin: 0 3vw 0 0; }
  .footer .footer-in .fl-box .item h3 {font-size: 1.3vw; margin-bottom: 1.6rem;}
  .footer .footer-in .fl-box .item:nth-of-type(3) h3 {margin-bottom: 1.6rem;}
  .footer .footer-in .fl-box .item:nth-of-type(3) h3 + p {margin-bottom: 1.6rem;}
  .footer .footer-in .fl-box .item .list-block {width: 85%; padding-left: 5vw; margin-bottom: .6vw;}
  .footer .footer-in .fl-box .item .list-block p:first-child {font-size: 1.5vw;}
  .footer .footer-in .fl-box .item  a.out-link img {width: 70%;}
  .footer .footer-in .fl-box .item .list-block + p {font-size: 1vw;}
  .footer .footer-in .fl-box .item:nth-of-type(3) h3 + p {font-size: 1vw;}
  .footer .footer-in .fl-box .item:nth-of-type(1) .list-block::before {width: 3.6vw; height: 3.6vw; top: .8vw;}
  .footer .footer-in .fl-box .item:nth-of-type(3) .list-block::before {width: 3.6vw; height: 3.6vw;}
  .footer .footer-in .fl-box .item .list-block .btn-base {padding: 1vw 2vw;}
}









/*---------------------------------------------
  Top page
---------------------------------------------*/
/* Main - 動画版 */
.main {position: relative;width: 100%;height: 80vw;overflow: hidden;background-color: #ffffff;}
.main video {position: absolute;top: 0;left: 0;width: 100%;height: 100%;object-fit: cover;opacity: 0;transition: opacity 1s ease-in-out;z-index: 1;}
.main video.fade-in {opacity: 1;}
.main .inbox {width: 100%;max-width: auto;display: block;position: absolute;top: 94vw;left: 50%;transform: translate(-50%, -70vw);z-index: 10;padding: 0 5vw;}
.main .inbox h2 {font-size: 7vw;color: var(--cl-wh-01);line-height: 1.6em;margin-bottom: 20px;text-align: left;text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.1);}
.main .inbox p {font-size: 3vw;color: var(--cl-wh-01);line-height: 1.6em;text-align: left;text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.1);margin-bottom: 0;}
.main .inbox h2,
.main .inbox p {opacity: 0;transform: translateY(30px) scale(0.95);}

@media screen and (min-width: 768px) {
  .main {height: 70vh;}
  .main .inbox h2 {font-size: 7vw;margin-bottom: 40px;}
  .main .inbox p {font-size: 3vw;}
}

@media screen and (min-width: 1024px) {
  .main {height: 60vh;}
  .main .inbox {top: auto;bottom: 25%;left: auto;right: 0;transform: none;}
  .main .inbox h2 {font-size: 4.6vw;text-align: right;}
  .main .inbox h2 br {display: none;}
  .main .inbox p {font-size: 2vw;text-align: right;margin-right: 28px;}
}

@media screen and (min-width: 1025px) {
  .main {width: 100%;height: 100vh;}
  .main .inbox {padding: 0;max-width: none;}
  .main .inbox h2 {font-size: 3.6vw;}
  .main .inbox p {font-size: 1.4vw;}
}



/* top vision */
.tp-vision {background: var(--cl-wh-01);}
.tp-vision .inbox h2 {font-size: 7vw; line-height: 1.2em; text-align: center; margin-bottom: 0;}
.tp-vision .inbox p {font-size: 3.3vw; line-height: 2.4em; text-align: center;}
.tp-vision .inbox h2 + p {font-size: 4.2vw;}
@media screen and (min-width: 768px) {
  .tp-vision .inbox h2 {font-size: 4vw;}
  .tp-vision .inbox p {font-size: 2.2vw;}
  .tp-vision .inbox h2 + p {font-size: 2.6vw;}
}
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 1100px) {
  .tp-vision .inbox h2 {font-size: 2.4vw;}
  .tp-vision .inbox p {font-size: 1.2vw;}
  .tp-vision .inbox h2 + p {font-size: 1.3vw;}
}









@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 1100px) {
}


/* Low page ----------------------- */

/* Low common parts */
.low-title-wrap {display: block; width: 100%; padding: 30vw 0 20vw; margin: 0 0 6vw;}
.low-title-wrap h2 {font-size: 8vw; margin-bottom: .5rem; font-weight: 400; color: var(--cl-wh-01); text-align: center;}
.low-title-wrap h2 + span { display: block; color: var(--cl-wh-01); font-size: 4vw; margin: 0 auto; width: fit-content; }
.low-tl {font-size: 5vw; text-align: center; font-weight: bold; position: relative; margin-bottom: 5rem;}
.low-tl::after {content: ''; position: absolute; bottom: -1rem; left: 0; right: 0; margin: auto; width: 3em; height: 2px; background: #9A8065;}
@media screen and (min-width: 768px) {
  .low-title-wrap {padding: 25vw 0 18vw; margin: 0 0 4vw;}
  .low-title-wrap h2 {font-size: 4.6vw; margin-bottom: .5rem;}
  .low-title-wrap h2 + span { font-size: 3vw; }
  .low-tl {font-size: 3.4vw; margin-bottom: 5rem;}
}
@media screen and (min-width: 1024px) {
  .low-title-wrap {padding: 18vw 0 12vw; margin: 0 0 2vw;}
  .low-title-wrap h2 {font-size: 3.4vw;}
  .low-title-wrap h2 + span { font-size: 2.4vw; }
  .low-tl {font-size: 2.8vw; margin-bottom: 5rem;}
}
@media screen and (min-width: 1100px) {
  .low-title-wrap {padding: 10vw 0 8vw; margin: 0 0 1vw;}
  .low-title-wrap h2 {font-size: 2.4vw;}
  .low-title-wrap h2 + span { font-size: 1.2vw; }
  .low-tl {font-size: 1.8vw; margin-bottom: 5rem;}
}



/* Company page */
.company-bg {background: url('../images/company-top-img.jpg') 20% 50%/cover no-repeat;}
.company-wrap {display: block; width: 95%; margin: 0 auto 5rem;}
.company-wrap ul {width: 95%; padding: 2rem 0 0; margin: 0 auto; display: block; border-bottom: 1px solid var(--bs-br-01);}
.company-wrap ul:last-child {border-bottom: none;}
.company-wrap ul li {display: block; width: 100%; padding: 0 1rem 3rem; line-height: 2em; font-size: 4.2vw;}
.company-wrap ul li:first-child {width: 100%; font-weight: bold; padding: 1rem 1rem 2rem;}
.company-wrap + iframe { width: 95%; display: block; margin: 0 auto 10rem;}
@media screen and (min-width: 768px) {
  .company-wrap ul {width: 90%; padding: 2rem 0 0; display: flex; }
  .company-wrap ul li { width: calc( 100% - 12em); padding: 1rem 1rem 3rem; font-size: 2.6vw;}
  .company-wrap ul li:first-child {width: 12em; font-weight: bold; padding: 1rem 1rem 3rem; border-bottom: none;}
  .company-wrap + iframe { width: 90%;}
}
@media screen and (min-width: 1024px) {
  .company-bg {background: url('../images/company-top-img.jpg') 50% 50%/cover no-repeat;}
  .company-wrap ul li {font-size: 2.4vw;}
}
@media screen and (min-width: 1025px) {
  .company-wrap { width: 100%; margin: 6vw auto 3vw;}
  .company-wrap ul {width: 70%; }
  .company-wrap ul li { width: calc( 100% - 16em); padding: 1rem 1rem 3rem; font-size: 1.1vw;}
  .company-wrap ul li:first-child {width: 16em; font-weight: bold; padding: 1rem 1rem 3rem; border-bottom: none;}
  .company-wrap + iframe { width: 70%;}
}


/* Facilities page */
.facilities-bg {background: url('../images/facilities-top-img.jpg') 20% 50%/cover no-repeat;}
.facilities-upper .inbox h2 + p {font-size: 5vw; text-align: center; margin-bottom: 3rem;}
.facilities-upper .inbox p { font-size: 4.2vw; text-align: center;}
.facilities-upper .inbox .type {display: block; margin: 6rem auto;}
.facilities-upper .inbox h3 {font-size: 5vw; text-align: center; font-weight: bold; margin-bottom: 3rem;}
.facilities-upper .inbox .type .flex-wrap {display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2rem 0; margin: 0 auto 1rem; }
.facilities-upper .inbox .type .flex-wrap .item {display: flex; justify-content: center; align-items: center; width: 48%; background: #9A8065; padding: 2rem .6rem; color: var(--cl-wh-01); text-align: center; line-height: 1.6em; font-size: 4.2vw;}
.facilities-upper .inbox .type .flex-wrap + p {color: #737373; font-size: 3vw; text-align: right;}
.facilities-upper .inbox .achievements {display: block; margin-bottom: 5rem;}
.facilities-upper .inbox .achievements p {font-size: 5vw; padding: 1rem; color: #9A8065; border: 1px solid #9A8065; text-align: center;}
.facilities-upper .inbox .area p {font-size: 4vw; padding: 1rem; color: #9A8065; border: 1px solid #9A8065; text-align: center;}
.facilities-list {display: block; width: 95%; padding: 5rem 0 2rem; margin: 0 auto;}
.facilities-list .categoly {font-size: 5vw; color: #9A8065; padding-bottom: .5rem; border-bottom: 1px solid #9A8065; margin-bottom: 4rem; font-weight: bold;}
.hotels-item {width: 100%; display: block; position: relative; margin: 0 auto 10rem;}
.hotels-item img {width: 100%; height: auto; margin: 0 auto 1rem;}
.hotels-item .details {display: block; width: 100%; }
.hotels-item .details .img-box {display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 2rem;}
.hotels-item .details .img-box img {width: 48%; display: block; margin-bottom: 0;}
.hotels-item .details .tx-box {display: block; width: 100%;}
.hotels-item .details .tx-box h3 {font-size: 5vw; font-weight: bold; margin-bottom: 1.5rem;}
.hotels-item .details .tx-box h3 + span {width: fit-content; font-size: 4.2vw; color: var(--cl-wh-01); padding: .8rem 2rem; display: block; background: var(--bs-br-01); margin-bottom: 2rem;}
.hotels-item .details .tx-box p {font-size: 4vw; line-height: 2em;}
.hotels-item .details .tx-box p.tl {font-weight: bold; font-size: 4.6vw;}
.hotels-item .details .tx-box .btn-wrap {width: 100%; display: flex; justify-content:flex-end; margin: 5px 0 0 0;}
.hotels-item .details .tx-box .btn-wrap a {font-size: 4.2vw;}
.hotels-item .details .tx-box .btn-wrap .btn-move::after {margin-left: 10px;}

@media screen and (min-width: 768px) {
  .facilities-upper .inbox h2 + p {font-size: 3.2vw; margin-bottom: 3rem;}
  .facilities-upper .inbox p { font-size: 2.6vw;}
  .facilities-upper .inbox h3 {font-size: 3.2vw;}
  .facilities-upper .inbox .type .flex-wrap + p {font-size: 2vw;}
  .facilities-upper .inbox .achievements p {font-size: 3vw;}
  .facilities-upper .inbox .area p {font-size: 2.6vw;}
  .facilities-upper .inbox .type .flex-wrap .item {padding: 2rem .6rem; font-size: 2.8vw;}
  .facilities-list .categoly {font-size: 3.4vw; margin-bottom: 4rem;}
  .hotels-item {margin: 0 auto 6rem;}
  .hotels-item .details .tx-box h3 {font-size: 3.4vw; margin-bottom: 1.5rem;}
  .hotels-item .details .tx-box h3 + span {font-size: 3vw; padding: .8rem 2rem;}
  .hotels-item .details .tx-box p.tl {font-size: 3.2vw;}
  .hotels-item .details .tx-box p {font-size: 3vw;}
  .hotels-item .details .tx-box .btn-wrap a {font-size: 3vw;}
  .hotels-item .details .tx-box .btn-wrap .btn-move::after {margin-left: 20px;}
}



/*
@media screen and (min-width: 1024px) {
  .facilities-bg {background: url('../images/facilities-top-img.jpg') 50% 50%/cover no-repeat;}
  .facilities-upper .inbox h2 + p {font-size: 3vw; margin-bottom: 3rem;}
  .facilities-upper .inbox .type .flex-wrap .item {width: 32%; padding: 2rem 1rem;line-height: 1.6em;}
  .facilities-upper .inbox .type .flex-wrap + p {font-size: 1.6vw;}
  .facilities-upper .inbox .achievements p {font-size: 2.6vw;}
  .facilities-upper .inbox .area p {font-size: 1.6vw;}
  .facilities-list .categoly {font-size: 2.4vw; margin-bottom: 4rem;}
}*/
@media screen and (min-width: 1024px) {
  .facilities-upper .inbox h2 + p {font-size: 2.8vw; margin-bottom: 3rem;}
  .facilities-upper .inbox h3 {font-size: 3vw;}
  .facilities-upper .inbox p { font-size: 2.4vw;}
  .facilities-upper .inbox .type .flex-wrap .item {width: 32%; padding: 1.6rem 1rem; font-size: 2.4vw;}
  .facilities-upper .inbox .type .flex-wrap + p {font-size: .9vw;}
  .facilities-upper .inbox .achievements p {font-size: 2.6vw;}
  .facilities-upper .inbox .area p {font-size: 2.4vw;}
  .facilities-list { width: 90%; margin: 0 auto;}
  .facilities-list .categoly {font-size: 3vw; margin-bottom: 4rem;}
  .hotels-item {width: 100%; display: flex; margin: 0 auto 10rem; justify-content: space-between;}
  .hotels-item img {width: 50%; height: auto; margin: 0;}
  .hotels-item .details {display: flex; width: 47%; flex-direction: column; }
  .hotels-item .details .img-box { margin-bottom: 0; order: 2;}
  .hotels-item .details .tx-box {position: relative; margin-bottom: 2rem;}
  .hotels-item .details .tx-box h3 {font-size: 2.8vw; margin-bottom: 1.2rem;}
  .hotels-item .details .tx-box h3 + span {font-size: 2.2vw; padding: .8rem 2rem; margin-bottom: 1.4rem;}
  .hotels-item .details .tx-box p.tl {font-size: 2.6vw;}
  .hotels-item .details .tx-box p {font-size: 2.2vw;}
  .hotels-item .details .tx-box .btn-wrap {width: fit-content; display: block; margin: 0; position: absolute; bottom: 0; right: 0;}
  .hotels-item .details .tx-box .btn-wrap .btn-move, .hotels-item .details .tx-box .btn-wrap .btn-move .btn-move:visited {padding: 1.2rem 2rem;}
  .hotels-item .details .tx-box .btn-wrap a {font-size: 2.2vw;}
  .hotels-item .details .tx-box .btn-wrap .btn-move::after {margin-left: 10px;}
}
@media screen and (min-width: 1025px) {
  .facilities-upper .inbox h2 + p {font-size: 1.8vw; margin-bottom: 3rem;}
  .facilities-upper .inbox p { font-size: 1.2vw;}
  .facilities-upper .inbox h3 {font-size: 1.8vw;}
  .facilities-upper .inbox .type .flex-wrap .item {font-size: 1.2vw;}
  .facilities-upper .inbox .achievements p {font-size: 1.8vw;}
  .facilities-upper .inbox .area p {font-size: 1.2vw;}
  .facilities-list .categoly {font-size: 1.6vw;}
  .hotels-item .details .tx-box h3 {font-size: 1.6vw;}
  .hotels-item .details .tx-box h3 + span {font-size: 1.2vw; padding: .8rem 2rem; }
  .hotels-item .details .tx-box p.tl {font-size: 1.2vw;}
  .hotels-item .details .tx-box p {font-size: 1.1vw;}


  .hotels-item img {width: 48%;}

  .hotels-item .details {width: 48%;}
  .hotels-item .details .tx-box .btn-wrap .btn-move, .hotels-item .details .tx-box .btn-wrap .btn-move .btn-move:visited { padding: 1.4rem 4rem;}
  .hotels-item .details .tx-box .btn-wrap a {font-size: 1.1vw;}
}




/* Service page */
.service-bg {background: url('../images/service-top-img.jpg') 20% 50%/cover no-repeat;}

.low-service-wrap {display: block; width: 95%; margin: 0 auto 10rem;}
.low-service-wrap .inbox {padding: 60px 10px;}
.low-service-wrap h2 + p {font-size: 4vw; text-align: left; margin-bottom: 5rem;}
.low-service-wrap h2 + p br {display: none;}

.low-service-wrap .fl-block {display: block; position: relative; width: 100%;}
.low-service-wrap .fl-block .item {display: block; margin-bottom: 7rem;}
.low-service-wrap .fl-block .item:last-child {margin-bottom: 0;}
.low-service-wrap .fl-block .item h2 {font-size: 4.6vw; color: var(--cl-wh-01); font-weight: bold; width: fit-content; background: var(--bs-br-01); padding: .6em 2em; position: relative; z-index: 1; margin: 0; text-align: center;}
.low-service-wrap .fl-block .item h2 + img {display: block; width: 95%; margin-left: 5%; margin-top: -3rem;}
.low-service-wrap .fl-block .item .detail {width: 100%; margin: 2rem auto; background-color: rgba(255, 255, 255, 0.8); border: 1px solid var(--bs-bc-01);}
.low-service-wrap .fl-block .item .detail h3 {display: block; color: var(--cl-wh-01); background: var(--bs-bc-01); font-size: 4.2vw; font-weight: bold; padding: 1rem 2rem; margin-bottom: 0; border: 1px solid var(--bs-bc-01);}
.low-service-wrap .fl-block .item .detail p {font-size: 4vw; padding: 1.4rem; line-height: 1.8em; font-weight: bold;}
.low-service-wrap .fl-block .item p {font-size: 4vw; line-height: 2em;}
.low-service-wrap .fl-block .item .under {width: 100%; margin-top: 2rem; margin-left: 0; }
@media screen and (min-width: 768px) {
  .low-service-wrap .inbox {padding: 60px 20px;}
  .low-service-wrap h2 + p {font-size: 2.2vw; text-align: center;}
  .low-service-wrap h2 + p br {display: block;}
  .low-service-wrap .fl-block .item h2 {font-size: 3vw; padding: .6em 2em;}
  .low-service-wrap .fl-block .item h2 + img {display: block; width: 95%; margin-left: 5%; }
  .low-service-wrap .fl-block .item .detail h3 {font-size: 2.6vw;padding: 1rem 2rem;}
  .low-service-wrap .fl-block .item .detail p {font-size: 2.4vw; padding: 1.4rem;}
  .low-service-wrap .fl-block .item p {font-size: 2.2vw;}
  .low-service-wrap .fl-block .item .under {width: 94%; margin-top: 2rem; margin-left: 6%; }
}
@media screen and (min-width: 1024px) {
  .service-bg {background: url('../images/service-top-img.jpg') 50% 50%/cover no-repeat;}
  .low-service-wrap .inbox {padding: 90px 20px;}
  .low-service-wrap .inbox h2 + p {font-size: 2vw; margin-bottom: 3rem;}
  .low-service-wrap .fl-block {display: flex; justify-content: space-between; width: 90%; flex-wrap: wrap; }
  .low-service-wrap .inbox:nth-of-type(2) .fl-block {justify-content: center; margin: 0 auto;}
  .low-service-wrap .fl-block .item {width: 43%; margin-bottom: 7rem;}
  .low-service-wrap .fl-block .item h2 {font-size: 2rem; width: 72%; padding: 1.4rem 0;}
  .low-service-wrap .fl-block .item h2 + img {display: block; width: 95%; margin-left: 5%; }
  .low-service-wrap .fl-block .item .detail {width: 94%; margin: -14rem 0 3rem 11rem; position: relative; z-index: 2;}
  .low-service-wrap .fl-block .item .detail h3 {display: block; color: var(--cl-wh-01); background: var(--bs-bc-01); font-size: 1.6rem; }
  .low-service-wrap .fl-block .item .detail p {font-size: 1.8vw;}
  .low-service-wrap .fl-block .item p {font-size: 1.8vw;}
  .low-service-wrap .inbox + .inbox {padding-bottom: 0;}
  .low-service-wrap .inbox + .inbox .fl-block .item {margin-bottom: 0;}
  .low-service-wrap .fl-block .item .under {width: 95%; margin-top: 2rem; margin-left: 5%; }
}
@media screen and (min-width: 1025px) {
  .low-service-wrap {width: 80%; margin: 0 auto 10rem;}
  .low-service-wrap .inbox {padding: 100px 0;}
  .low-service-wrap .inbox h2 + p {font-size: 1.2vw; margin-bottom: 5rem;}
  .low-service-wrap .fl-block {width: 100%; }
  .low-service-wrap .fl-block .item {width: 45%; margin-bottom: 7rem;}
  .low-service-wrap .fl-block .item h2 {width: 60%;}
  .low-service-wrap .fl-block .item .detail {width: 68%; margin: -12rem 0 3rem 19rem; }
  .low-service-wrap .fl-block .item .detail p {font-size: 1vw;}
  .low-service-wrap .fl-block .item .detail + p br {display: none;}
  .low-service-wrap .fl-block .item p {font-size: 1vw;}
  .low-service-wrap .fl-block .item .under br {display: none;}
  .low-service-wrap .fl-block .item .detail.large {width: 73%; margin: -12rem 0 3rem 17rem; }
}



/* Recruit page */
.recruit-bg {background: url('../images/recruit-top-img.jpg') 20% 50%/cover no-repeat;}
.recruit-wrap {display: block; width: 95%; margin: 20vw auto 10rem;}
.recruit-wrap h2 {font-size: 5vw; text-align: center; color: var(--cl-bs-01); font-weight: bold; margin-bottom: 5rem;}
.recruit-wrap ul {width: 100%; padding: 2rem 0 0; margin: 0 auto; display: block; border-bottom: 1px solid var(--bs-br-01);}
.recruit-wrap ul:last-child {border-bottom: none;}
.recruit-wrap ul li {display: block; width: 100%; font-size: 4.2vw; padding: 0 1rem 3rem; line-height: 2em;}
.recruit-wrap ul li:first-child {width: 100%; font-size: 4.6vw; font-weight: bold; padding: 1rem 1rem 2rem;}
@media screen and (min-width: 768px) {
  .recruit-wrap {margin: 12vw auto 10rem;}
  .recruit-wrap h2 {font-size: 3.4vw; margin-bottom: 3rem;}
  .recruit-wrap ul {width: 90%; padding: 2rem 0 0; display: flex; }
  .recruit-wrap ul li { width: calc( 100% - 11em); font-size: 2.6vw; padding: 1rem 1rem 3rem;}
  .recruit-wrap ul li:first-child {width: 11em; font-size: 2.8vw; font-weight: bold; padding: 1rem 1rem 3rem; border-bottom: none;}
}
@media screen and (min-width: 1024px) {
  .recruit-wrap h2 {font-size: 2.8vw;}
  .recruit-bg {background: url('../images/recruit-top-img.jpg') 50% 50%/cover no-repeat;}
  .recruit-wrap {margin: 8vw auto 10rem;}
  .recruit-wrap ul li { width: calc( 100% - 11em); font-size: 2.4vw;}
  .recruit-wrap ul li:first-child {width: 11em; font-size: 2.4vw;}
}
@media screen and (min-width: 1025px) {
  .recruit-wrap h2 {font-size: 1.8vw;}
  .recruit-wrap ul {width: 80%; }
  .recruit-wrap ul li { width: calc( 100% - 16em); padding: 1rem 1rem 3rem; font-size: 1.2vw;}
  .recruit-wrap ul li:first-child {width: 16em; font-size: 1.2vw;}
}




/* Contact page */
.contact-bg {background: url('../images/contact-top-img.jpg') 20% 50%/cover no-repeat;}
.top-txt {font-size: 4vw; text-align: center; margin: 20vw auto 3rem;}
.contact-wrap {display: block; width: 95%; margin: 0 auto;}
.form-container { max-width: 1000px; display: block; margin: 0 auto;background-color: var(--cl-wh-01);}
.form-group {margin-bottom: 4rem;}
.form-label {display: block;margin-bottom: 8px;font-size: 1.6rem;color: var(--cl-bs-01);font-weight: 500;}
.required {background-color: var(--bs-br-01);color: var(--cl-wh-01);padding: 2px 6px;font-size: 1.2rem;margin-left: 8px;font-weight: normal;}
.form-input, .form-select, .form-textarea {width: 100%;padding: 12px 15px;border: 1px solid #ddd;font-size: 1.6rem;background-color: #F5F5F5;transition: border-color 0.3s ease;}
.form-input:focus, .form-select:focus, .form-textarea:focus {outline: none;border-color: var(--bs-br-01);background-color: var(--cl-wh-01);}
.form-select {appearance: none;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position: right 12px center;background-repeat: no-repeat;background-size: 16px;padding-right: 40px;}
.form-textarea {min-height: 120px;resize: vertical;}
.checkbox-container {display: flex;align-items: anchor-center;margin: 30px 0;gap: 10px;}
.checkbox {width: 18px;height: 18px;margin-top: 2px;accent-color: var(--bs-br-01);}
.checkbox-label {font-size: 1.6rem;color: var(--cl-bs-01);line-height: 1.5;}
.checkbox-label a {color: var(--bs-br-01);text-decoration: underline;}
.submit-button {width: 100%;max-width: 200px;margin: 0 auto;display: block;background-color: var(--bs-bc-01);color: var(--cl-wh-01);padding: 15px 30px;border: none;border-radius: 2px;font-size: 1.6rem;cursor: pointer;transition: background-color 0.3s ease;}
.submit-button:hover {background-color: var(--bs-bc-01);}
.submit-button:active {transform: translateY(1px);}

/* 確認画面用スタイル */
.confirm-value {width: 100%;padding: 12px 15px;border: 1px solid #ddd;font-size: 1.6rem;background-color: #fafafa;color: var(--cl-bs-01);line-height: 1.6;}
.button-group {display: flex;gap: 20px;justify-content: center;flex-wrap: wrap;margin-top: 20px;}
.button-group .submit-button {margin: 0;}
.back-button {background-color: #888 !important;}
.back-button:hover {background-color: #666 !important;}

/* Base styles - mobile first */
.form-container { padding: 2rem 1rem 10rem; margin: 10px; }
.submit-button { max-width: 100%; }

@media screen and (min-width: 768px) {
  .top-txt {font-size: 2vw; text-align: center; margin: 12vw auto 0;}
  .form-container { padding: 2rem 1rem 10rem; margin: 20px auto; }
  .submit-button { max-width: 200px; }
}
@media screen and (min-width: 1024px) {
    .top-txt {font-size: 1.6vw; margin: 8vw auto 2vw;}
    .contact-bg {background: url('../images/contact-top-img.jpg') 50% 50%/cover no-repeat;}
    .form-container { padding: 2rem 1rem 10rem; margin: 0 auto; }
    .form-input, .form-select, .form-textarea { padding: 15px; }
    .form-label { font-size: 15px; }
}
@media screen and (min-width: 1100px) {
    .top-txt {font-size: 1.2vw; margin: 6vw auto 0;}
    .contact-wrap {width: 80%; margin: 0 auto 10rem;}
    .form-container { max-width: 1000px; padding: 50px; }
    .form-label { font-size: 1.6rem; }
    .form-input, .form-select, .form-textarea { font-size: 1.6rem; }
}


/* Privacy-policy page */

.policy-wrap {display: block; width: 95%; margin: 0 auto 3vw;}
.policy-wrap.low-bg-parts-right::before {top:20%;}
.policy-wrap p {font-size: 4.2vw; color: var(--bs-bc-01); line-height: 1.6em; margin-bottom: 4%;}
.policy-wrap p.bl {font-size: 4.2vw; font-weight: bold; color: var(--bs-bc-01); margin-bottom: 10px; margin-top: 20px;}
.policy-wrap a:link, .policy-wrap a:visited { text-decoration: underline; }
@media screen and (min-width: 768px) {
  .policy-wrap p {font-size: 2.6vw;}
  .policy-wrap p.bl {font-size: 2.6vw;}
}
@media screen and (min-width: 1024px) {
  .policy-wrap {display: block; width: 100%; margin: 0 auto;}
  .policy-wrap .inbox {max-width: 1100px;}
  .policy-wrap p {font-size: 2.4vw; color: var(--bs-bc-01); line-height: 1.6em; margin-bottom: 30px;}
  .policy-wrap p.bl {font-size: 2.4vw; font-weight: bold; color: var(--bs-bc-01); margin-bottom: 10px;}
}
@media screen and (min-width: 1025px) {
  .policy-wrap p {font-size: 1.2vw; color: var(--bs-bc-01); line-height: 1.6em; margin-bottom: 30px;}
  .policy-wrap p.bl {font-size: 1.2vw; font-weight: bold; color: var(--bs-bc-01); margin-bottom: 10px;}
}


@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 1200px) {
}


/* Thanks page (送信完了ページ) */
.thanks-section {padding: 10vw 0 15vw;}
.thanks-container {display: block; width: 90%; max-width: 700px; margin: 0 auto; background: var(--cl-wh-01); padding: 3rem 2rem; text-align: center;}
.thanks-title {font-size: 6vw; font-weight: bold; color: var(--bs-br-01); margin-bottom: 3rem; padding-bottom: 1.5rem; border-bottom: 2px solid var(--bs-br-01);}
.thanks-message {margin-bottom: 3rem;}
.thanks-message p {font-size: 4vw; line-height: 2em; margin-bottom: 2rem; color: var(--cl-bs-01);}
.thanks-message .thanks-name {font-size: 5vw; font-weight: bold; margin-bottom: 2.5rem;}
.thanks-message .thanks-note {font-size: 3.5vw; color: #666; margin-top: 3rem;}
.thanks-button-wrap {margin-top: 3rem;}
.thanks-button {display: inline-block; background: var(--bs-bc-01); color: var(--cl-wh-01); padding: 1.5rem 4rem; font-size: 1.6rem; text-decoration: none; border-radius: 2px; transition: opacity 0.3s;}
.thanks-button:hover {opacity: 0.8; color: var(--cl-wh-01);}
.thanks-button:visited {color: var(--cl-wh-01);}

@media screen and (min-width: 768px) {
  .thanks-section {padding: 8vw 0 12vw;}
  .thanks-container {padding: 4rem 3rem;}
  .thanks-title {font-size: 3.4vw;}
  .thanks-message p {font-size: 2.4vw;}
  .thanks-message .thanks-name {font-size: 3vw;}
  .thanks-message .thanks-note {font-size: 2vw;}
}
@media screen and (min-width: 1024px) {
  .thanks-section {padding: 6vw 0 10vw;}
  .thanks-container {padding: 5rem 4rem;}
  .thanks-title {font-size: 2.4vw; margin-bottom: 4rem;}
  .thanks-message p {font-size: 1.6vw;}
  .thanks-message .thanks-name {font-size: 2vw;}
  .thanks-message .thanks-note {font-size: 1.4vw;}
}
@media screen and (min-width: 1100px) {
  .thanks-section {padding: 4vw 0 8vw;}
  .thanks-title {font-size: 1.8vw;}
  .thanks-message p {font-size: 1.2vw;}
  .thanks-message .thanks-name {font-size: 1.4vw;}
  .thanks-message .thanks-note {font-size: 1vw;}
  .thanks-button {padding: 1.5rem 5rem;}
}




