/* 日本のお客様向けの日本語ページ（このページだけ日本語のまま。1ページにまとめる） */
.hero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;color:#fff;background:var(--dark)}
.hero img{object-position:62% 45%;animation:hero-zoom 14s ease-out both}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,12,.38) 0%,rgba(20,16,12,0) 24%,rgba(20,16,12,0) 40%,rgba(20,16,12,.72) 100%),linear-gradient(90deg,rgba(20,16,12,.32) 0%,rgba(20,16,12,0) 60%)}
.hero .copy{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(56px,11vh,120px);z-index:1;text-shadow:0 1px 18px rgba(20,16,12,.35)}
.hero .eyebrow{color:#e6d6bb;margin-bottom:22px}
.hero h1{font-weight:400;font-size:clamp(30px,4.4vw,56px);line-height:1.6;letter-spacing:.12em}
.hero .lead{margin-top:18px;font-size:clamp(14px,1.3vw,16px);letter-spacing:.14em;opacity:.92}

/* 作品 */
.works{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,24px)}
.works a{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--beige)}
.works img{transform:scale(var(--z,1));transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.works a:hover img{transform:scale(calc(var(--z,1) * 1.04))}
@media (max-width:860px){ .works{grid-template-columns:1fr 1fr} }

/* 作品の欄の下の、人が着た写真（横幅いっぱい） */
.worn{aspect-ratio:16/10;overflow:hidden;background:var(--beige)}
.worn img{object-position:50% 36%}
@media (max-width:860px){ .worn{aspect-ratio:4/3} }

/* 歴史 */
.history{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,32px);margin-top:clamp(56px,7vw,88px)}
.history figure{aspect-ratio:1;overflow:hidden;background:var(--beige);margin-bottom:18px}
.history .y{font-family:var(--serif-en);font-weight:300;font-size:clamp(36px,3.6vw,48px);line-height:1;border-top:1px solid var(--gold);padding-top:16px}
.history h3{font-weight:400;font-size:17px;letter-spacing:.12em;margin:12px 0 8px}
.history p{color:var(--sub);font-size:13.5px;line-height:2}
.history p a{border-bottom:1px solid var(--gold)}

/* 私たちについて */
.people{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);max-width:960px;margin:0 auto}
.people .pic{aspect-ratio:3/4;overflow:hidden;background:var(--beige)}
.people .role{font-family:var(--serif-en);color:var(--gold);letter-spacing:.24em;font-size:13px;margin-top:24px}
.people .rel{font-family:var(--serif-ja);letter-spacing:.14em;color:var(--sub);margin-left:14px;padding-left:14px;border-left:1px solid var(--line)}
.people .name{font-size:clamp(24px,2.4vw,30px);letter-spacing:.16em;line-height:1.5;margin-top:8px}
.people .roman{font-family:var(--serif-en);font-size:17px;letter-spacing:.16em;color:var(--sub);margin-bottom:16px}
.people p{color:var(--sub);font-size:14.5px}
.people p + p{margin-top:12px}
@media (max-width:860px){ .people{grid-template-columns:1fr;gap:56px;max-width:420px} }

/* ヨーロッパの技と素材 */
.europe .point{border-top:1px solid rgba(239,232,221,.16);padding:20px 0 4px}
.europe .point h3{font-weight:400;font-size:17px;letter-spacing:.1em;color:var(--on-dark);margin:0 0 6px}
.europe .point .n{font-family:var(--serif-en);font-style:italic;font-weight:300;color:#c9b391;font-size:22px;margin-right:14px}
.europe .point:first-child{border-top:0;padding-top:0}
.europe .point p{color:#b9b0a4;font-size:14.5px;line-height:2}

/* クチュール */
.badge-jp{display:inline-block;border:1px solid var(--gold);color:var(--gold);font-size:12px;padding:2px 14px;letter-spacing:.14em;margin-bottom:6px}
.price{max-width:600px;margin:clamp(56px,7vw,88px) auto 0;background:var(--ivory);padding:clamp(32px,4vw,48px) clamp(20px,4vw,48px)}
.price h3{font-weight:400;font-size:18px;letter-spacing:.12em;text-align:center;margin-bottom:24px}
.price h3 small{display:block;font-size:12px;color:var(--sub);margin-top:4px}
.price table{width:100%;border-collapse:collapse}
.price th,.price td{border-bottom:1px solid var(--line);padding:14px 4px;font-size:15px;font-weight:400}
.price th{text-align:left;letter-spacing:.1em}
.price td{text-align:right;font-family:var(--serif-en);font-size:18px;letter-spacing:.04em}
.price td.jp{font-family:var(--serif-ja);font-size:14px}
.price p{font-size:12.5px;color:var(--sub);margin-top:16px;line-height:2}
.menu2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,32px);margin-top:clamp(40px,5vw,64px)}
.menu2 div{border-top:1px solid var(--gold);padding-top:18px}
.menu2 h4{font-weight:400;font-size:17px;letter-spacing:.1em;margin-bottom:6px}
.menu2 p{color:var(--sub);font-size:14px}
.lace{margin-top:clamp(72px,9vw,120px);background:var(--dark);color:var(--on-dark)}
.lace .split{gap:0}
.lace .txt{padding:clamp(40px,5vw,72px)}
.lace .txt p{color:#b9b0a4}
.lace .badge-jp{border-color:#c9b391;color:#c9b391}
.lace .btn{border-color:var(--on-dark);color:var(--on-dark)}
.lace .btn:hover{background:var(--on-dark);color:var(--dark)}

/* 体験 */
.exps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px)}
.exps a{display:block}
.exps .pic{aspect-ratio:4/5;overflow:hidden;background:var(--beige)}
.exps .pic img{transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.exps a:hover .pic img{transform:scale(1.04)}
.exps .en{font-size:24px;letter-spacing:.06em;text-transform:none;margin-top:18px;line-height:1.3}
.exps .jp{font-size:13px;color:var(--gold);letter-spacing:.14em;margin-bottom:10px}
.exps p{color:var(--sub);font-size:14px}
.exps .meta{font-size:13px;color:var(--sub);margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.note-box{max-width:760px;margin:clamp(48px,6vw,72px) auto 0}

/* サロン */
.private{margin:clamp(72px,9vw,120px) auto 0;border-top:1px solid var(--line);padding-top:clamp(56px,7vw,88px)}
.private h3{font-weight:400;font-size:20px;letter-spacing:.12em;margin:10px 0 16px}
.private p{color:var(--sub);font-size:14.5px}
.private .btn{margin-top:24px}
.map{margin-top:clamp(48px,6vw,72px)}
.map iframe{display:block;width:100%;height:400px;border:0;filter:grayscale(.6) sepia(.12)}

/* よくあるご質問 */
.faq{max-width:820px;margin:0 auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;position:relative;font-size:16px;letter-spacing:.06em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:14px;height:1px;background:var(--gold)}
.faq summary::before{content:"";position:absolute;right:14.5px;top:calc(50% - 6.5px);width:1px;height:14px;background:var(--gold);transition:transform .3s}
.faq details[open] summary::before{transform:scaleY(0)}
.faq details p{color:var(--sub);font-size:14.5px;line-height:2.1;padding:0 0 24px}

@media (max-width:860px){
  .history{grid-template-columns:1fr 1fr;gap:40px 16px}
  .menu2,.exps{grid-template-columns:1fr}
  .exps{max-width:440px;margin:0 auto;gap:56px}
  .lace .txt{padding:36px 20px}
  .map iframe{height:320px}
}
