@charset "UTF-8";
/*@import "variables";*/
/* デバイスサイズ */
/* ====================================================================== */
/* ベースの値 */
/* ====================================================================== */
/*1.5px*/
/* デバイス */
/* ====================================================================== */
/* フォント */
/* ====================================================================== */
@font-face { font-family: "canto"; src: url("../assets/fonts/CantoPen-Light.ttf") format("truetype"), url("../assets/fonts/canto-roman.woff2") format("woff2"), url("../assets/fonts/canto-roman.woff") format("woff"); }
/* flex */
/* ====================================================================== */
/* absolute */
/* ====================================================================== */
/* filter */
/* ====================================================================== */
/* 基本的な共通クラス */
/* ====================================================================== */
body { font-family: "Shippori Mincho B1", serif; color: #5E5946; line-height: 1.6; letter-spacing: 1px; text-align: left; font-weight: 400; background-color: #FFFFFF; }

h2 { font-family: "canto","Cormorant Garamond", serif; color: #5E5946; font-size: clamp(25px, 3.5vw, 49px); font-weight: 300; line-height: 1; }

p { font-size: 11px; font-weight: 500; }
@media (min-width: 768px) { p { font-size: min(1.5vw, 15px); } }

.jump { display: block; padding-top: 70px; margin-top: -70px; }

@media (min-width: 768px) { .sp_only { display: none; } }

.sp_none { display: none; }
@media (min-width: 768px) { .sp_none { display: inline-block; } }

/* 臨時_共通クラス（全ページ共通c-、topページ共通p-） */
/* ====================================================================== */
body::before { content: ""; position: fixed; inset: 0; /* 全画面 */ background: url("../img/kotei_bg.png") no-repeat bottom center; background-size: cover; /* or contain */ z-index: -2; /* すべての要素の背面 */ pointer-events: none; /* クリックを邪魔しない */ }

.c-heading { position: relative; display: flex; flex-wrap: no-wrap; justify-content: flex-start; align-items: center; }
@media (min-width: 768px) { .c-heading { display: block; } }
.c-heading span { font-size: 8px; position: absolute; top: -10px; left: -25px; letter-spacing: 2px; font-family: "canto","Cormorant Garamond", serif; }
@media (min-width: 768px) { .c-heading span { font-size: 15px; letter-spacing: 3px; top: -24px; left: -35px; } }
.c-heading::before { content: ""; display: block; width: 0.5px; height: 15px; background-color: #5E5946; transform: rotate(50deg); position: absolute; background-color: #707070; top: -7px; left: -9px; }
@media (min-width: 768px) { .c-heading::before { height: 20px; top: -14px; left: -6px; } }
.c-heading p { font-size: clamp(9px, 2vw, 15px); font-weight: 600; opacity: 0.6; padding-left: 10px; padding-bottom: 8px; }
@media (min-width: 768px) { .c-heading p { padding-left: 3px; padding-bottom: 0px; } }

.c-staff-photo--size { width: 216px; transition: .3s; }
@media (min-width: 768px) { .c-staff-photo--size { width: 300px; } }
.c-staff-photo--size img { width: 100%; filter: drop-shadow(5px 5px 8px rgba(190, 178, 164, 0.6)); }

.c-menu__list { width: 100%; margin-top: 25px; }
@media (min-width: 768px) { .c-menu__list { margin-top: 0px; width: min(47vw, 677px); } }
.c-menu__list li { border-bottom: solid 0.5px #A29F96; transition: .3s; }
@media (min-width: 768px) { .c-menu__list li { border-bottom: solid 1px #A29F96; margin-bottom: 15px; } }
.c-menu__list li:hover { opacity: 0.6; }
.c-menu__list li a { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; }
.c-menu__list li p { font-family: "canto","Cormorant Garamond", serif; line-height: 2; font-size: clamp(19px, 3vw, 42px); }
@media (min-width: 768px) { .c-menu__list li p { line-height: 1.7; } }
.c-menu__list li img { display: block; width: clamp(26px, 4vw, 44px); }

@media (min-width: 768px) { .p-top__flex { display: flex; flex-wrap: no-wrap; justify-content: space-between; align-items: flex-start; } }

.p-top-section { padding: 0 0 0 46px; max-width: 1440px; margin: auto; }
@media (min-width: 768px) { .p-top-section { padding: 0 100px 0 100px; } }
@media (min-width: 1280px) { .p-top-section { padding: 0 100px 0 150px; } }

/* btn */
.c-button__hover { transition: .3s; }
.c-button__hover:hover { opacity: 0.8; }

.c-button__border { border: solid 0.5px #5E5946; padding: 10px 40px 7px 40px; }

.p-top-button--viewdetail { font-family: "canto","Cormorant Garamond", serif; font-size: 11px; }

/*kotei */
/* ====================================================================== */
.kotei { position: fixed; display: block; bottom: 16px; right: 20px; }
@media (min-width: 768px) { .kotei { bottom: 33px; right: 33px; } }
.kotei__btn { background-color: rgba(255, 255, 255, 0.3); border-radius: 50%; width: 30px; height: 30px; }
@media (min-width: 768px) { .kotei__btn { width: 50px; height: 50px; } }
.kotei__btn img { width: 100%; }

.slow { opacity: 0; transform: translateY(30px); transition: opacity 1.5s ease-out, transform 1.5s ease-out; }

.slow.is-show { opacity: 1; transform: translateY(0); }

.slow:nth-child(1) { transition-delay: 0s; }

.slow:nth-child(2) { transition-delay: 0.3s; }

.slow:nth-child(3) { transition-delay: 0.6s; }

.slow:nth-child(4) { transition-delay: 0.9s; }

.slow:nth-child(5) { transition-delay: 1.2s; }

.slow:nth-child(6) { transition-delay: 1.5s; }

.slow:nth-child(7) { transition-delay: 1.8s; }

.slow:nth-child(8) { transition-delay: 2.1s; }

.slow:nth-child(9) { transition-delay: 2.4s; }

.slow:nth-child(10) { transition-delay: 2.7s; }

/* header */
/* ====================================================================== */
.menu-toggle { position: fixed; top: 37px; right: 28px; color: #5E5946; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 10px; z-index: 99; font-family: "canto","Cormorant Garamond", serif; }
@media (min-width: 768px) { .menu-toggle { top: 45px; right: 55px; color: #fff; mix-blend-mode: difference; } }
.menu-toggle__open-dot { width: 4px; height: 4px; border-radius: 50%; background: #5E5946; display: inline-block; }
@media (min-width: 768px) { .menu-toggle__open-dot { width: 5px; height: 5px; background: #FFFFFF; } }
.menu-toggle__open-text { letter-spacing: 0.18em; font-size: 13px; }
@media (min-width: 768px) { .menu-toggle__open-text { font-size: 18px; } }

/* menu-overlay */
/* ====================================================================== */
.menu-overlay { position: fixed; inset: 0; /* 親要素いっぱいに広がる */ background-image: url("../img/nav_bg.png"); background-repeat: no-repeat; background-size: cover; color: #fff; z-index: 9999; transform: translateY(0); visibility: hidden; /* 入退出アニメ用 */ opacity: 0; transition: .5s; /* 左カラム */ /* 中央カラム */ /* 右下：予約ボタン */ /* 右上：閉じるボタン */ }
.menu-overlay__inner { position: relative; min-height: 100dvh; }
@media (min-width: 768px) { .menu-overlay__inner { padding-left: 7vw; } }
.menu-overlay__flex { display: flex; flex-wrap: nowrap; align-content: center; align-items: center; justify-content: flex-start; height: 100vh; position: relative; }
@media (min-width: 768px) { .menu-overlay__flex { gap: 8vw; } }
.menu-overlay__left { padding: 30px 0px 30px 30px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; height: 100vh; }
@media (min-width: 768px) { .menu-overlay__left { padding: 80px 60px; justify-content: center; } }
.menu-overlay__logo img { max-width: 138px; height: auto; display: block; margin-bottom: 28px; }
@media (min-width: 1080px) { .menu-overlay__logo img { max-width: 178px; margin-bottom: 38px; } }
.menu-overlay__info { color: rgba(255, 255, 255, 0.95); line-height: 1.9; padding: 0 0 10px 10px; }
@media (min-width: 768px) { .menu-overlay__info { padding: 0px; } }
.menu-overlay__brand { font-size: 10px; font-weight: 700; margin-bottom: 14px; font-family: "canto","Cormorant Garamond", serif; }
@media (min-width: 768px) { .menu-overlay__brand { font-size: 18px; } }
.menu-overlay__address { font-size: clamp(9px, 1.5vw, 15px); margin: 18px 0; font-style: normal; }
.menu-overlay__map a { font-size: clamp(8px, 1.5vw, 15px); color: rgba(255, 255, 255, 0.9); text-decoration: underline; font-family: "canto","Cormorant Garamond", serif; }
.menu-overlay__sns { width: clamp(11px, 1.5vw, 17px); margin-top: clamp(10px, 1.5vw, 30px); }
.menu-overlay__sns img { width: 100%; }
.menu-overlay__nav { padding: 0px; display: flex; align-items: center; justify-content: center; }
@media (min-width: 1280px) { .menu-overlay__nav { padding: 0 20px; } }
.menu-overlay__list { list-style: none; padding: 0; margin: 0; padding-bottom: 200px; }
@media (min-width: 768px) { .menu-overlay__list { padding: 0px; } }
.menu-overlay__item { margin: 15px 0; }
.menu-overlay__item a { color: #fff; text-decoration: none; font-size: clamp(23px, 3vw, 32px); letter-spacing: 0.12em; display: inline-block; padding: 6px 10px; font-family: "canto","Cormorant Garamond", serif; }
.menu-overlay__cta { position: relative; grid-column: 3; z-index: 20; }
.menu-overlay__cta .menu-cta { position: fixed; right: 20px; bottom: 20px; width: 117px; height: 117px; font-size: 15px; border-radius: 50%; border: 0.5px solid #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; text-align: center; padding: 12px; font-family: "canto","Cormorant Garamond", serif; }
@media (min-width: 1080px) { .menu-overlay__cta .menu-cta { right: 40px; bottom: 40px; width: 200px; height: 200px; font-size: 23px; } }
.menu-overlay__cta .menu-cta small { font-family: "Shippori Mincho B1", serif; font-size: 8px; }
@media (min-width: 1080px) { .menu-overlay__cta .menu-cta small { font-size: 13px; } }
.menu-overlay__close { position: absolute; top: 37px; right: 28px; color: #fff; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 10px; font-family: "canto","Cormorant Garamond", serif; z-index: 29; }
@media (min-width: 768px) { .menu-overlay__close { top: 45px; right: 55px; } }
.menu-overlay__close-line { width: 24px; height: 2px; background: rgba(255, 255, 255, 0.8); display: inline-block; }
.menu-overlay__close-text { letter-spacing: 0.18em; font-size: 13px; }
@media (min-width: 768px) { .menu-overlay__close-text { font-size: 18px; } }

/* 開いたときに付与されるクラス */
.is-open { visibility: visible; opacity: 1; }

/* 微調整: リンク hover */
.menu-overlay__item a:hover, .menu-overlay__maplink:hover, .menu-cta:hover { opacity: 0.8; transform: translateY(-2px); transition: transform .2s ease, opacity .2s ease; }

/* -----anime----- */
.menu-overlay__item { opacity: 0; transform: translateY(20px); /* 下に少しずらしておく */ transition: opacity 0.6s ease, transform 0.6s ease; }

/* メニューが開いたときに表示 */
.menu-overlay.is-open .menu-overlay__item { opacity: 1; transform: translateY(0); }

/* 順番に表示（n番目にディレイをつける） */
.menu-overlay.is-open .menu-overlay__item:nth-child(1) { transition-delay: .1s; }

.menu-overlay.is-open .menu-overlay__item:nth-child(2) { transition-delay: .2s; }

.menu-overlay.is-open .menu-overlay__item:nth-child(3) { transition-delay: .3s; }

.menu-overlay.is-open .menu-overlay__item:nth-child(4) { transition-delay: .4s; }

.menu-overlay.is-open .menu-overlay__item:nth-child(5) { transition-delay: .5s; }

/* top_mv */
/* ====================================================================== */
.top-mv__inner { padding-top: 110px; }
@media (min-width: 768px) { .top-mv__inner { padding-top: 0px; } }
.top-mv__video--sp { width: 100%; }
@media (min-width: 768px) { .top-mv__video--sp { display: none; } }
.top-mv__video--pc { display: none; }
@media (min-width: 768px) { .top-mv__video--pc { display: block; width: 100vw; height: 100vh; object-fit: cover; } }
.top-mv__heading { position: fixed; top: 30px; left: 30px; z-index: 99; }
@media (min-width: 768px) { .top-mv__heading { top: 45px; left: 55px; mix-blend-mode: difference; } }
.top-mv__heading h1 { width: 136px; }
@media (min-width: 768px) { .top-mv__heading h1 { width: 256px; } }
.top-mv__heading h1 img { width: 100%; }
@media (min-width: 768px) { .top-mv__heading--logobrown { display: none; } }
.top-mv__heading--logowhite { display: none; }
@media (min-width: 768px) { .top-mv__heading--logowhite { display: block; } }
.top-mv__desc { font-family: "canto","Cormorant Garamond", serif; width: 60%; max-width: 480px; padding-left: 25px; margin-top: 20px; }
@media (min-width: 768px) { .top-mv__desc { color: #FFFFFF; position: absolute; left: 40px; bottom: 40px; mix-blend-mode: difference; padding-left: 0px; margin-top: 0px; } }
.top-mv__desc span { font-size: 20px; line-height: 1.4; position: relative; }
@media (min-width: 768px) { .top-mv__desc span { font-size: 30px; } }
.top-mv__desc span::after { content: ""; display: block; width: 37px; height: 0.5px; background-color: #5E5946; position: absolute; top: 10px; right: -55px; }
@media (min-width: 768px) { .top-mv__desc span::after { height: 1px; background-color: #FFFFFF; width: 135px; top: 18px; right: -160px; } }
.top-mv__desc p { font-size: 19px; line-height: 1.4; }
@media (min-width: 768px) { .top-mv__desc p { font-size: 30px; } }
.top-mv__desc small { font-size: 8px; line-height: 1.5; padding-right: 15px; display: block; margin-top: 10px; }
@media (min-width: 768px) { .top-mv__desc small { font-size: 15px; padding-right: 0px; margin-top: 20px; } }
.top-mv__cta .top-cta { background-color: #5E5346; transition: .3s; }
@media (min-width: 768px) { .top-mv__cta .top-cta { background-color: rgba(221, 221, 221, 0.26); } }
.top-mv__cta .is-inverted { background-color: #5E5346; }

/* top_concept */
/* ====================================================================== */
.top-concept { padding: 88px 0 0 0; }
@media (min-width: 768px) { .top-concept { padding: 144px 60px 0 0; } }
.top-concept__inner { padding: 0 50px; }
@media (min-width: 768px) { .top-concept__inner { padding: 0px; } }
.top-concept__flex { display: flex; flex-wrap: no-wrap; justify-content: space-between; align-items: flex-start; flex-direction: column; gap: 30px 0; }
@media (min-width: 768px) { .top-concept__flex { flex-direction: row; align-items: center; gap: 0 9vw; } }
.top-concept__header { display: contents; }
@media (min-width: 768px) { .top-concept__header { display: block; order: 2; width: 70%; } }
.top-concept__header .c-heading { order: 1; position: relative; }
@media (min-width: 768px) { .top-concept__header .c-heading { order: 0; } }
.top-concept__header .c-heading::after { content: ""; background-image: url("../img/top/top-concept_bgimg.png"); background-repeat: no-repeat; background-size: contain; width: 625px; height: 750px; z-index: -1; pointer-events: none; position: absolute; opacity: .8; top: -262px; left: -390px; }
@media (min-width: 768px) { .top-concept__header .c-heading::after { width: 750px; height: 900px; top: -320px; left: -460px; } }
.top-concept__header p { order: 3; line-height: 2.3; }
@media (min-width: 768px) { .top-concept__header p { order: 0; margin-top: 56px; } }
.top-concept__img { order: 2; width: 88%; margin: auto; }
@media (min-width: 768px) { .top-concept__img { order: 1; width: 30%; margin: 0; } }
.top-concept__img img { width: 100%; max-height: 688px; object-fit: cover; }
@media (min-width: 768px) { .top-concept__img img { height: 688px; } }

/* top_staff */
/* ====================================================================== */
.top-staff { padding-top: 60px; padding-left: 0px; }
@media (min-width: 768px) { .top-staff { padding: 100px 0px 0 100px; } }
@media (min-width: 1280px) { .top-staff { padding: 230px 0px 0 150px; } }
.top-staff__inner .c-heading { margin-left: 46px; }
@media (min-width: 768px) { .top-staff__inner .c-heading { margin-left: 0px; } }
.top-staff__inner ul { display: flex; flex-wrap: no-wrap; justify-content: flex-start; align-items: flex-start; gap: 0 35px; padding-left: 46px; overflow-x: scroll; /* 横スクロールを可能にする */ white-space: nowrap; /* 子要素を折り返さない */ -webkit-overflow-scrolling: touch; /* Chrome, Safari, Edge (WebKit) */ /* Firefox */ scrollbar-width: none; /* IE and Edge (レガシー) */ -ms-overflow-style: none; overflow-y: hidden; margin-top: 30px; }
.top-staff__inner ul::-webkit-scrollbar { width: 0; height: 0; display: none; }
@media (min-width: 768px) { .top-staff__inner ul { padding: 0px; gap: 0 44px; width: 58%; margin-top: 0px; padding-right: 40px; } }
.top-staff__inner ul li:hover img { opacity: 0.8; }
.top-staff__inner ul li .staff_name { letter-spacing: 1.8px; }
.top-staff__inner ul li .staff_name p { font-size: 15px; margin-top: 15px; }
@media (min-width: 768px) { .top-staff__inner ul li .staff_name p { font-size: 22px; margin-top: 20px; } }
.top-staff__inner ul li .staff_name span { display: block; font-weight: 13px; }
@media (min-width: 768px) { .top-staff__inner ul li .staff_name span { font-size: 15px; } }
.top-staff__inner ul li .staff_name small { display: block; font-size: 8px; text-align: right; position: relative; }
.top-staff__inner ul li .staff_name small::before { content: ""; display: block; width: 3.5px; height: 3.5px; border-radius: 50%; background-color: #6F7070; position: absolute; top: 7px; right: 66px; }
@media (min-width: 768px) { .top-staff__inner ul li .staff_name small::before { width: 5px; height: 5px; top: 9px; right: 84px; } }
@media (min-width: 768px) { .top-staff__inner ul li .staff_name small { font-size: 12px; } }
.top-staff--margin { margin-right: 40px; }
@media (min-width: 768px) { .top-staff--margin { margin-right: 0px; } }

/* top_menu */
/* ====================================================================== */
.top-menu { padding-top: 70px; padding-right: clamp(30px, 7vw, 100px); }
@media (min-width: 768px) { .top-menu { padding-top: 125px; } }

/* top_access */
/* ====================================================================== */
.top-access { padding-top: 70px; padding-right: clamp(30px, 7vw, 100px); }
@media (min-width: 768px) { .top-access { padding-top: 125px; } }
.top-access__contents { width: 100%; margin-top: 25px; }
@media (min-width: 768px) { .top-access__contents { width: min(47vw, 677px); margin-top: 0px; } }
.top-access__row { margin-bottom: 20px; }
@media (min-width: 1280px) { .top-access__row { display: flex; flex-wrap: no-wrap; justify-content: flex-start; align-items: center; } }
.top-access__address { line-height: 1.3; }
@media (min-width: 768px) { .top-access__address { line-height: 1.6; } }
@media (min-width: 1280px) { .top-access__address { margin-right: 20px; } }
.top-access__postal { font-family: "canto","Cormorant Garamond", serif; font-size: 13px; }
@media (min-width: 768px) { .top-access__postal { font-size: min(1.5vw, 20px); } }
.top-access__addrline { font-size: 11px; }
@media (min-width: 768px) { .top-access__addrline { font-size: min(1.5vw, 20px); } }
.top-access__route { font-size: 11px; }
@media (min-width: 768px) { .top-access__route { font-size: min(1.5vw, 18px); margin-top: 4px; display: inline-block; } }
.top-access__map a { font-family: "canto","Cormorant Garamond", serif; font-size: 10px; font-weight: 500; border-bottom: solid 0.5px #A29F96; }
@media (min-width: 768px) { .top-access__map a { font-size: 15px; } }

/* top_insta */
/* ====================================================================== */
.top-insta { padding-top: 60px; padding-left: 0px; }
@media (min-width: 768px) { .top-insta { padding: 100px 0px 0 100px; } }
@media (min-width: 1280px) { .top-insta { padding: 230px 0px 0 150px; } }
.top-insta__heading { margin-left: 46px; }
@media (min-width: 768px) { .top-insta__heading { margin-left: 0px; } }
.top-insta__heading h2 { font-size: clamp(25px, 2.8vw, 42px); }
.top-insta__heading p { font-size: clamp(9px, 2vw, 15px); font-weight: 600; vertical-align: middle; }
.top-insta__heading p img { width: 7px; margin-right: 5px; position: relative; vertical-align: middle; }
@media (min-width: 768px) { .top-insta__heading p img { width: 10px; } }
.top-insta__list { width: 100%; margin-top: 25px; display: flex; flex-wrap: no-wrap; justify-content: flex-start; align-items: flex-start; gap: 0 11px; padding-left: 46px; overflow-x: scroll; /* 横スクロールを可能にする */ -webkit-overflow-scrolling: touch; /* Chrome, Safari, Edge (WebKit) */ /* Firefox */ scrollbar-width: none; /* IE and Edge (レガシー) */ -ms-overflow-style: none; overflow-y: hidden; }
.top-insta__list::-webkit-scrollbar { width: 0; height: 0; display: none; }
@media (min-width: 768px) { .top-insta__list { margin-top: 0px; gap: 0 13px; padding: 0px; width: 71.5%; } }
.top-insta__item { width: clamp(180px, 20.8vw, 300px); flex: 0 0 auto; }
.top-insta__item img { width: 100%; }

/* top_reservation */
/* ====================================================================== */
.top-reservation { margin-top: clamp(74px, 10vw, 140px); background-image: url("../img/top/top-reservation_bg_sp.png"); background-repeat: no-repeat; background-size: cover; background-position: center; text-align: center; padding: 40px 20px 50px 20px; }
@media (min-width: 768px) { .top-reservation { background-image: url("../img/top/top-reservation_bg_pc.png"); padding-top: 70px; padding-bottom: 100px; } }
.top-reservation__heading span { font-size: 10px; font-weight: 500; color: #FFFFFF; }
@media (min-width: 768px) { .top-reservation__heading span { font-size: 11px; } }
.top-reservation__heading h2 { font-size: 20px; color: #FFFFFF; margin-top: 5px; }
@media (min-width: 768px) { .top-reservation__heading h2 { font-size: 40px; margin-top: 15px; } }
.top-reservation__button { margin: 20px; }
.top-reservation__button p { font-size: 11px; font-weight: 500; color: #FFFFFF; margin-bottom: 15px; }
@media (min-width: 768px) { .top-reservation__button p { font-size: 15px; margin-bottom: 35px; margin-top: 40px; } }
.top-reservation__button a { color: #FFFFFF; border-color: #FFFFFF; padding: 0px 30px 9px 30px; }
@media (min-width: 768px) { .top-reservation__button a { padding: 15px 160px 16px 160px; } }
.top-reservation__button a span { font-family: "canto","Cormorant Garamond", serif; font-size: 11px; }
@media (min-width: 768px) { .top-reservation__button a span { font-size: 20px; } }

/* top_recruit */
/* ====================================================================== */
.top-recruit { padding-top: clamp(85px, 14vw, 210px); padding-right: 30px; }
@media (min-width: 768px) { .top-recruit { padding-left: 100px; padding-right: 100px; } }
@media (min-width: 768px) { .top-recruit__inner { text-align: center; } }
@media (min-width: 768px) { .top-recruit__heading { display: inline-block; margin: auto; } }
@media (min-width: 768px) { .top-recruit__heading small { position: absolute; transform: translate(-50%, 0); left: 50%; top: -37px; } }
@media (min-width: 768px) { .top-recruit__row { text-align: left; display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; gap: min(5vw, 88px); margin-top: min(6vw, 80px); } }
.top-recruit__img { position: relative; margin-top: 30px; }
@media (min-width: 768px) { .top-recruit__img { width: 47%; } }
.top-recruit__img img { width: 65%; max-width: 375px; }
@media (min-width: 768px) { .top-recruit__img img { width: 100%; } }
.top-recruit__img--front { position: relative; z-index: 2; }
@media (min-width: 768px) { .top-recruit__img--front { left: -40px; top: -90px; } }
.top-recruit__img--back { position: absolute; z-index: 1; top: 95px; right: 0px; }
@media (min-width: 768px) { .top-recruit__img--back { top: min(6vw, 95px); right: 0px; } }
@media (min-width: 768px) { .top-recruit__text { width: 53%; } }
.top-recruit__text p { margin-top: 135px; line-height: 2.3; margin-bottom: 40px; }
@media (min-width: 768px) { .top-recruit__text p { margin-top: 0px; } }

/* footer */
/* ====================================================================== */
footer { inset: 0; /* 親要素いっぱいに広がる */ background-image: url("../img/nav_bg.png"); background-repeat: no-repeat; background-size: cover; color: #fff; margin-top: 80px; padding: 40px 15px 23px 30px; position: relative; z-index: 99; }
@media (min-width: 768px) { footer { padding: 74px 0px 67px 0px; margin-top: 200px; } }
footer .footer__row { display: flex; flex-wrap: nowrap; align-items: flex-start; flex-direction: column; }
@media (min-width: 768px) { footer .footer__row { width: 85%; margin: auto; flex-direction: row; align-items: flex-end; justify-content: space-between; } }
footer .footer__row-right { width: 100%; }
@media (min-width: 768px) { footer .footer__row-right { width: 420px; } }
@media (min-width: 1080px) { footer .footer__address-row { display: flex; flex-wrap: nowrap; justify-content: center; align-items: flex-end; } }
@media (min-width: 768px) { footer .footer__address-row .menu-overlay__address { margin-bottom: 0px; margin-right: 40px; } }
@media (min-width: 768px) { footer .footer__address-row .menu-overlay__map { margin-top: 18px; } }
footer .footer__list { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; line-height: 0; }
footer .footer__item { display: none; }
@media (min-width: 768px) { footer .footer__item { display: block; font-size: 18px; font-family: "canto","Cormorant Garamond", serif; } }
footer .footer__item-insta { padding-left: 10px; }
@media (min-width: 768px) { footer .footer__item-insta { padding-left: 0px; } }
footer .footer__item-insta a { display: block; width: clamp(11px, 1.5vw, 17px); margin-top: clamp(10px, 1.5vw, 30px); }
@media (min-width: 768px) { footer .footer__item-insta a { margin-top: 0px; } }
footer .footer__item-insta img { width: 100%; }
footer .footer__item-name { font-family: "canto","Cormorant Garamond", serif; font-size: 10px; }
@media (min-width: 768px) { footer .footer__item-name { display: none; } }

/* 微調整: リンク hover */
.footer__item a:hover, .footer-item-insta a:hover { opacity: 0.8; transition: transform .2s ease, opacity .2s ease; }

/* 下層 lower */
/* ====================================================================== */
.lower-heading { mix-blend-mode: normal; }
.lower-heading .top-mv__heading--logobrown { display: block; }

.lower-section__padding { padding: 145px 30px 80px 30px; }
@media (min-width: 768px) { .lower-section__padding { padding: 252px 0px 100px 0px; } }
@media (min-width: 1280px) { .lower-section__padding { padding-left: 230px; } }

/* staff */
/* ====================================================================== */
.lower-staff { padding-right: 46px; padding-left: 46px; padding-bottom: 0px; }
@media (min-width: 768px) { .lower-staff { padding-left: 100px; } }
@media (min-width: 1280px) { .lower-staff { padding-left: 150px; } }
.lower-staff__inner { max-width: 1440px; margin: auto; }
.lower-staff__list { margin-top: 25px; }
@media (min-width: 768px) { .lower-staff__list { margin: auto; margin-top: 88px; width: min(80%, 962px); } }
.lower-staff__item { display: block; margin-bottom: 70px; }
@media (min-width: 768px) { .lower-staff__item { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; gap: 10%; margin-bottom: 100px; } }
.lower-staff__item .c-staff-photo--size { margin: auto; }
@media (min-width: 768px) { .lower-staff__item .c-staff-photo--size { width: 36%; margin: 0px; } }
.lower-staff__item-desc { margin-top: 40px; }
@media (min-width: 768px) { .lower-staff__item-desc { width: 64%; margin-top: 20px; } }
.lower-staff__item-desc > p { line-height: 2; margin-top: 20px; }
@media (min-width: 1280px) { .lower-staff__item-desc > p { line-height: 2.3; margin-top: 30px; } }
.lower-staff__name p { font-size: 15px; }
@media (min-width: 768px) { .lower-staff__name p { font-size: 27px; } }
.lower-staff__name span { font-size: 10px; }
@media (min-width: 768px) { .lower-staff__name span { font-size: 16px; } }

/* menu */
/* ====================================================================== */
.lower-menu { /*  lower-menu__wrap-small */ /* ====================================== */ /*  lower-menu__bridal-charde */ /* ====================================== */ /*  lower-menu__other */ /* ====================================== */ /*  lower-menu__early */ /* ====================================== */ }
.lower-menu__mv { max-width: 1440px; margin: auto; padding-right: 30px; padding-left: 30px; padding-bottom: 10px; }
@media (min-width: 768px) { .lower-menu__mv { padding-left: 100px; padding-right: 13vw; } }
@media (min-width: 1280px) { .lower-menu__mv { padding-left: 150px; padding-right: 250px; } }
@media (min-width: 768px) { .lower-menu__mv { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; } }
.lower-menu__mv .c-heading { margin: 0 16px; }
@media (min-width: 768px) { .lower-menu__mv .c-heading { margin: 0px; } }
.lower-menu__mv .c-menu__list { padding-left: 16px; }
@media (min-width: 768px) { .lower-menu__mv .c-menu__list { padding-left: 0px; width: min(47vw, 547px); } }
.lower-menu__mv .c-menu__list p { font-size: clamp(19px, 3vw, 35px); }
.lower-menu__hair { padding-right: 30px; padding-left: 30px; margin-top: 75px; }
@media (min-width: 768px) { .lower-menu__hair { padding: 0px; display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: flex-start; gap: 7vw; margin-top: 200px; } }
.lower-menu__make { display: flex; flex-direction: column; }
@media (min-width: 768px) { .lower-menu__make { justify-content: flex-end; flex-direction: row; } }
.lower-menu__hair-img { text-align: center; }
@media (min-width: 768px) { .lower-menu__hair-img { width: 33%; text-align: left; } }
.lower-menu__hair-img img { width: 68%; }
@media (min-width: 768px) { .lower-menu__hair-img img { width: 100%; height: 640px; object-fit: cover; object-position: left; } }
.lower-menu__make-img { order: 1; }
@media (min-width: 768px) { .lower-menu__make-img { order: 2; } }
@media (min-width: 768px) { .lower-menu__make-img img { object-position: top left; } }
@media (min-width: 768px) { .lower-menu__hair-contents { width: 67%; } }
.lower-menu__hair-contents h3 { font-size: 25px; margin-top: 45px; font-family: "canto","Cormorant Garamond", serif; }
@media (min-width: 768px) { .lower-menu__hair-contents h3 { font-size: 35px; margin-top: 15px; } }
.lower-menu__make-contents { order: 2; }
@media (min-width: 768px) { .lower-menu__make-contents { order: 1; max-width: 912px; padding-left: min(10%, 130px); } }
@media (min-width: 768px) { .lower-menu__make-list { margin: 0 0 0 auto; } }
.lower-menu__item-large { border-bottom: solid 1px #A29F96; padding-bottom: 15px; margin-top: 20px; }
@media (min-width: 768px) { .lower-menu__item-large { width: 90%; max-width: 664px; padding-bottom: 30px; margin-top: 30px; } }
.lower-menu__item-heading { display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center; }
.lower-menu__item-title { font-size: 14px; line-height: 2.5; }
@media (min-width: 768px) { .lower-menu__item-title { font-size: 20px; } }
.lower-menu__item-title--en { font-size: 10px; font-family: "canto","Cormorant Garamond", serif; padding: 3px 0 0 16px; }
@media (min-width: 768px) { .lower-menu__item-title--en { font-size: 13px; } }
@media (min-width: 768px) { .lower-menu__item-desc-wrap { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: flex-end; } }
@media (min-width: 768px) { .lower-menu__item-desc-wrap > p { width: 445px; line-height: 2; } }
.lower-menu__item--right { text-align: right; line-height: 1; }
@media (min-width: 768px) { .lower-menu__item--right { display: inline-block; } }
.lower-menu__item-time { font-family: "canto","Cormorant Garamond", serif; font-size: 13px; display: inline-block; }
@media (min-width: 768px) { .lower-menu__item-time { font-size: 20px; } }
.lower-menu__item-price { font-family: "canto","Cormorant Garamond", serif; font-size: 18px; display: inline-block; margin-left: 10px; }
@media (min-width: 768px) { .lower-menu__item-price { font-size: 25px; margin-left: 19px; margin-top: 6px; } }
@media (min-width: 768px) { .lower-menu__make-item { width: 100%; max-width: 782px; } }
@media (min-width: 768px) { .lower-menu__make-desc { width: 560px; } }
@media (min-width: 768px) { .lower-menu__item-make-desc-wrap > p { width: 560px; } }
.lower-menu__title-acce { position: relative; }
.lower-menu__title-acce::before { content: ""; display: block; background-image: url("../img/lower/menu-bgimage.png"); background-repeat: no-repeat; background-size: contain; width: 175px; height: 135px; position: absolute; top: -60px; left: -84px; opacity: 0.8; z-index: -1; }
.lower-menu__wrap-small { max-width: 1440px; margin: auto; margin-top: 60px; padding-right: 30px; padding-left: 30px; padding-bottom: 10px; }
@media (min-width: 768px) { .lower-menu__wrap-small { margin-top: 120px; width: 80%; padding-left: 8vw; padding-right: 8vw; } }
@media (min-width: 1440px) { .lower-menu__wrap-small { width: 100%; padding-left: 250px; padding-right: 250px; } }
.lower-menu__title-small { font-family: "canto","Cormorant Garamond", serif; display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center; padding-bottom: 10px; }
.lower-menu__title-small h3 { font-size: 25px; margin-right: 20px; }
@media (min-width: 768px) { .lower-menu__title-small h3 { font-size: 35px; margin-right: 30px; } }
.lower-menu__title-small span { font-size: 13px; display: block; }
@media (min-width: 768px) { .lower-menu__title-small span { font-size: 20px; } }
.lower-menu__item-small { border-bottom: solid 1px #A29F96; padding-bottom: 10px; margin-top: 20px; }
@media (min-width: 768px) { .lower-menu__item-small { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; padding-bottom: 20px; margin-top: 30px; } }
.lower-menu__item-small-title { font-size: 14px; }
@media (min-width: 768px) { .lower-menu__item-small-title { font-size: 18px; } }
.lower-menu__item-small--right { text-align: right; line-height: 1; margin-left: 15px; }
@media (min-width: 768px) { .lower-menu__item-small--right { display: inline-block; margin-left: 30px; } }
.lower-menu__item-small-time { font-family: "canto","Cormorant Garamond", serif; font-size: 13px; }
@media (min-width: 768px) { .lower-menu__item-small-time { font-size: 18px; } }
.lower-menu__item-small-price { font-family: "canto","Cormorant Garamond", serif; font-size: 18px; margin-left: 10px; }
@media (min-width: 768px) { .lower-menu__item-small-price { font-size: 23px; margin-left: 19px; } }
@media (min-width: 1080px) { .lower-menu__bridal-charge { justify-content: flex-end; } }
.lower-menu__bridal-charge .lower-menu__item-small-title { font-size: 11px; }
@media (min-width: 768px) { .lower-menu__bridal-charge .lower-menu__item-small-title { font-size: 15px; padding-bottom: 5px; } }
.lower-menu__item-other { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; }
.lower-menu__other-btn { display: inline-block; border: solid 1px #A29F96; font-size: 9px; padding: 8px 23px 9px 23px; }
@media (min-width: 768px) { .lower-menu__other-btn { font-size: 14px; padding: 10px 40px 12px 40px; } }
.lower-menu__early-heading { margin-top: 36px; }
@media (min-width: 768px) { .lower-menu__early-heading { margin-top: 54px; display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center; } }
.lower-menu__early-heading h4 { font-size: 15px; }
@media (min-width: 768px) { .lower-menu__early-heading h4 { font-size: 20px; } }
.lower-menu__early-heading span { display: block; font-size: 11px; margin-top: 10px; }
@media (min-width: 768px) { .lower-menu__early-heading span { font-size: 15px; margin-top: 0px; padding-left: 40px; } }
.lower-menu__early-list { margin-top: 10px; }
@media (min-width: 768px) { .lower-menu__early-list { margin-top: 15px; } }
.lower-menu__early-item { font-size: 13px; position: relative; margin-left: 13px; line-height: 2; }
@media (min-width: 768px) { .lower-menu__early-item { font-size: min(1.5vw, 15px); margin-left: 18px; } }
.lower-menu__early-item::before { content: ""; display: block; width: 2px; height: 2px; border-radius: 50%; position: absolute; top: 50%; left: -10px; background-color: #5E5946; }
@media (min-width: 768px) { .lower-menu__early-item::before { width: 3px; height: 3px; left: -12px; } }
.lower-menu__early-text { margin-top: 10px; line-height: 2; }
@media (min-width: 768px) { .lower-menu__early-text { margin-top: 15px; max-width: 516px; } }
.lower-menu__early-hr { border: none; display: block; width: 100%; height: 1px; background-color: #A29F96; margin-top: 54px; }

/* access */
/* ====================================================================== */
.lower-access { padding-left: 46px; padding-right: 46px; padding-bottom: 0px; }
@media (min-width: 768px) { .lower-access { width: 100%; padding-left: 8vw; padding-right: 8vw; } }
@media (min-width: 1440px) { .lower-access { padding-left: 200px; padding-right: 200px; max-width: 1440px; margin: auto; } }
@media (min-width: 1440px) { .lower-access__inner .c-heading { margin-left: -70px; } }
.lower-access__wrap { display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; flex-direction: column; }
@media (min-width: 768px) { .lower-access__wrap { flex-direction: row; column-gap: 5vw; margin-top: 100px; } }
.lower-access__map { order: 2; width: 100%; }
@media (min-width: 768px) { .lower-access__map { order: 1; width: 50%; } }
.lower-access__map iframe { width: 100%; height: 214px; }
@media (min-width: 768px) { .lower-access__map iframe { height: 396px; } }
.lower-access__info { order: 1; margin-top: 25px; margin-bottom: 25px; line-height: 1.8; }
@media (min-width: 768px) { .lower-access__info { order: 2; margin-top: 0px; margin-bottom: 0px; width: 50%; } }
.lower-access__postal { font-size: clamp(13px, 2vw, 20px); font-family: "canto","Cormorant Garamond", serif; }
.lower-access__addrline { font-size: clamp(11px, 2vw, 20px); }
.lower-access__route { font-size: clamp(11px, 2vw, 18px); }
@media (min-width: 768px) { .lower-access__route { margin-top: 60px; max-width: 427px; } }
.lower-access__desc { font-size: 11px; margin-top: 40px; line-height: 1.8; }
@media (min-width: 768px) { .lower-access__desc { font-size: 18px; margin-top: 80px; } }
.lower-access__heading { margin-bottom: 8px; }
@media (min-width: 768px) { .lower-access__heading { margin-bottom: 12px; } }
.lower-access__hours-row { display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center; }
.lower-access__label { font-weight: 400; margin-right: 10px; }
@media (min-width: 768px) { .lower-access__label { margin-right: 20px; } }
.lower-access .lower-menu__early-hr { margin-top: 25px; margin-bottom: 25px; }
.lower-access .lower-menu__early-item { font-size: 11px; }
@media (min-width: 768px) { .lower-access .lower-menu__early-item { font-size: 18px; } }

/* recruit */
/* ====================================================================== */
.lower-recruit { max-width: 1440px; margin: auto; padding-left: 30px; padding-bottom: 10px; }
@media (min-width: 768px) { .lower-recruit { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; padding-left: min(10%, 130px); } }
.lower-recruit .c-heading { margin: 0 16px; }
@media (min-width: 768px) { .lower-recruit .c-heading { margin: 0px; } }
.lower-recruit__mv { padding-right: 30px; padding-left: 30px; margin: auto; margin-top: 45px; display: flex; flex-direction: column; max-width: 1440px; }
@media (min-width: 768px) { .lower-recruit__mv { padding: 0px; padding-right: 7vw; margin-top: 88px; flex-wrap: nowrap; justify-content: flex-start; flex-direction: row; align-items: center; } }
@media (min-width: 1280px) { .lower-recruit__mv { padding-right: 160px; } }
.lower-recruit__mv-text { order: 2; }
@media (min-width: 768px) { .lower-recruit__mv-text { width: 61%; order: 1; max-width: 912px; padding-left: min(10%, 130px); } }
.lower-recruit__mv-heading { margin-top: 40px; }
@media (min-width: 768px) { .lower-recruit__mv-heading { margin-top: 0px; } }
.lower-recruit__mv-heading span { font-size: clamp(11px, 1.5vw, 15px); }
.lower-recruit__mv-heading h3 { font-size: clamp(25px, 3.5vw, 35px); margin-top: 10px; font-family: "canto","Cormorant Garamond", serif; }
@media (min-width: 768px) { .lower-recruit__mv-heading h3 { margin-top: 15px; } }
.lower-recruit__mv-heading p { font-size: clamp(13px, 2vw, 20px); line-height: 2.3; margin-top: 10px; }
@media (min-width: 768px) { .lower-recruit__mv-heading p { margin-top: 20px; } }
.lower-recruit__mv-desc { line-height: 2; margin-top: 30px; }
@media (min-width: 768px) { .lower-recruit__mv-desc { line-height: 2.3; margin-top: 70px; } }
.lower-recruit__mv-img { text-align: center; order: 1; }
@media (min-width: 768px) { .lower-recruit__mv-img { order: 2; width: 39%; text-align: left; position: absolute; right: 0px; } }
.lower-recruit__mv-img img { width: 68%; }
@media (min-width: 768px) { .lower-recruit__mv-img img { width: 100%; height: 748px; object-fit: cover; object-position: bottom right; } }
.lower-recruit__job, .lower-recruit__flow { max-width: 1440px; margin: auto; margin-top: 60px; padding-right: 30px; padding-left: 30px; padding-bottom: 10px; }
@media (min-width: 768px) { .lower-recruit__job, .lower-recruit__flow { margin-top: 120px; width: 80%; padding-left: 8vw; padding-right: 8vw; } }
@media (min-width: 1440px) { .lower-recruit__job, .lower-recruit__flow { width: 100%; padding-left: 250px; padding-right: 250px; } }
.lower-recruit__job h3, .lower-recruit__flow h3 { font-size: clamp(15px, 2vw, 25px); }
.lower-recruit__job span, .lower-recruit__flow span { font-family: "canto","Cormorant Garamond", serif; font-size: clamp(13px, 1.5vw, 18px); color: #A29F96; }
.lower-recruit__job-heading h3 { font-size: clamp(15px, 2vw, 25px); }
.lower-recruit__job-heading span { font-size: clamp(13px, 1.5vw, 18px); font-family: "canto","Cormorant Garamond", serif; color: #A29F96; }
@media (min-width: 768px) { .lower-recruit__job-desc { padding-top: 40px; } }
.lower-recruit__job-desc-dl { border-bottom: solid 1px #A29F96; margin-top: 30px; padding-bottom: 30px; }
.lower-recruit__job-desc-dl:last-child { border-bottom: none; }
@media (min-width: 768px) { .lower-recruit__job-desc-dl { display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: flex-start; } }
.lower-recruit__job-desc-dl dt { font-size: clamp(13px, 1.5vw, 18px); font-weight: 500; margin-bottom: 15px; }
@media (min-width: 768px) { .lower-recruit__job-desc-dl dt { width: 30%; } }
.lower-recruit__job-desc-dl dd { font-size: clamp(11px, 1.5vw, 15px); line-height: 2; }
@media (min-width: 768px) { .lower-recruit__job-desc-dl dd { width: 70%; } }
@media (min-width: 768px) { .lower-recruit__job-desc-dl--row { display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: flex-start; } }
.lower-recruit__job-desc-dl--row dt { margin-bottom: 0px; }
.lower-recruit__job-desc-dl-sub { margin-top: 30px; }
.lower-recruit__flow-heading { margin-bottom: 10px; }
@media (min-width: 768px) { .lower-recruit__flow-heading { margin-bottom: 50px; } }
.lower-recruit__flow-item { position: relative; margin-bottom: 55px; }
@media (min-width: 768px) { .lower-recruit__flow-item { margin-bottom: 80px; } }
.lower-recruit__flow-item-title { font-size: clamp(15px, 2vw, 20px); }
.lower-recruit__flow-item-title span { font-family: "canto","Cormorant Garamond", serif; color: #5E5946; font-size: clamp(25px, 3vw, 35px); padding-right: 10px; }
@media (min-width: 768px) { .lower-recruit__flow-item-title span { padding-right: 20px; } }
.lower-recruit__flow-item-desc { line-height: 2; }
.lower-recruit__flow-item-desc a { border-bottom: solid 1px #5E5946; padding-bottom: 2px; }
.lower-recruit__flow-item::after { content: ""; background-image: url("../img/lower/recruit_flow.svg"); background-repeat: no-repeat; background-size: contain; width: 3px; height: 23px; z-index: -1; pointer-events: none; position: absolute; bottom: -40px; left: 5px; }
@media (min-width: 768px) { .lower-recruit__flow-item::after { width: 6px; height: 41px; bottom: -65px; left: 3px; } }
.lower-recruit__flow-item:last-child::after { background-image: none; }
.lower-recruit__flow-cta--row { display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center; }
.lower-recruit__flow-cta--row span { display: block; font-family: "Shippori Mincho B1", serif; color: #5E5946; }
.lower-recruit__flow-cta--row img { width: 10px; position: relative; top: 1px; left: 4px; }
@media (min-width: 768px) { .lower-recruit__flow-cta--row img { width: 15px; left: 6px; } }
.lower-recruit__flow-cta a { display: inline-block; border: solid 0.5px #5E5946; padding: 8px 0px; font-size: clamp(11px, 2vw, 20px); width: 75%; text-align: center; margin-top: 10px; font-family: "canto","Cormorant Garamond", serif; }
@media (min-width: 768px) { .lower-recruit__flow-cta a { padding: 13px 0px; width: 50%; } }
