
*,*::before,*::after{box-sizing:border-box}
:root{--bg:#fbfaf7;--paper:#fff;--ink:#1c2236;--ink2:#5a6274;--line:#e3e0d7;--navy:#1f3a66;--navy2:#2b4f8a;--gold:#b8912f;--gold-soft:#f5efdd;--wrap:1080px}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Noto Sans JP",-apple-system,"Hiragino Sans","Yu Gothic",YuGothic,Meiryo,sans-serif;font-size:16px;line-height:1.8;color:var(--ink);background:var(--bg);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;line-height:1.35;margin:0;text-wrap:balance}
h1{font-size:30px;font-weight:900}
h2{font-size:24px;font-weight:700;color:var(--navy)}
h3{font-size:18px;font-weight:700}
p{margin:0 0 .8em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.sec{padding:56px 0}
.sec-soft{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.eyebrow{display:block;font-size:12px;letter-spacing:.14em;color:var(--gold);font-weight:700;margin-bottom:6px}
.lead{color:var(--ink2);max-width:40em}
.hd{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.hd-in{max-width:1200px;margin:0 auto;padding:0 16px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.hd-logo img{height:44px;width:auto}
.gnav{display:flex;gap:18px;align-items:center}
.gnav a{font-weight:700;font-size:14px;color:var(--ink);white-space:nowrap;padding:6px 2px;border-bottom:2px solid transparent}
.gnav a[aria-current=page]{border-bottom-color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--navy);color:#fff;font-weight:700;border-radius:6px;padding:12px 22px;border:2px solid var(--navy);font-size:15px;line-height:1.2}
.btn:hover{background:var(--navy2);border-color:var(--navy2)}
.btn-ghost{background:transparent;color:var(--navy)}
.btn-gold{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}
.hero{position:relative;background:#111;color:#fff;isolation:isolate}
.hero img{width:100%;height:min(62vh,560px);object-fit:cover;opacity:.55}
.hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:var(--wrap);margin:0 auto;padding:0 20px}
.hero-copy h1{font-size:38px;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.6)}
.hero-copy p{font-size:17px;max-width:32em;margin:14px 0 20px;text-shadow:0 1px 10px rgba(0,0,0,.7)}
.hero-copy .btn{background:var(--gold);border-color:var(--gold);color:#1c2236}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.grid>*{min-width:0}
.card{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.card .ph{aspect-ratio:16/10;overflow:hidden;background:#eee}
.card .ph img{width:100%;height:100%;object-fit:cover}
.card .bd{padding:14px 16px 16px}
.card h3{color:var(--navy);margin-bottom:6px}
.card p{font-size:14px;color:var(--ink2);margin:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-block;border:1px solid var(--navy);color:var(--navy);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700;background:var(--paper)}
.genres{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.genres>div{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--gold);padding:12px 14px;border-radius:6px}
.genres b{display:block;color:var(--navy)}
.genres span{font-size:13px;color:var(--ink2)}
.note{background:var(--gold-soft);border-radius:6px;padding:12px 16px;font-size:14px}
.tgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.tcard{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden;cursor:pointer;text-align:left;padding:0}
.tcard img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top}
.tcard .nm{font-weight:700;font-size:14px;padding:8px 10px 2px;color:var(--navy)}
.tcard .nt{font-size:12px;color:var(--ink2);padding:0 10px 10px;line-height:1.5}
.badge{display:inline-block;font-size:11px;background:var(--gold-soft);color:#6b5210;border-radius:4px;padding:1px 6px;margin-left:4px}
dialog{border:0;border-radius:10px;padding:0;max-width:720px;width:calc(100% - 32px);box-shadow:0 20px 60px rgba(0,0,0,.35)}
dialog::backdrop{background:rgba(0,0,0,.55)}
.dlg{display:grid;grid-template-columns:240px 1fr}
.dlg img{width:100%;height:100%;object-fit:cover;object-position:top}
.dlg .bd{padding:20px 22px}
.dlg h3{font-size:22px;color:var(--navy)}
.dlg table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:10px}
.dlg th{text-align:left;width:7em;color:var(--ink2);font-weight:700;vertical-align:top;padding:5px 6px 5px 0;border-bottom:1px solid var(--line)}
.dlg td{padding:5px 0;border-bottom:1px solid var(--line)}
.dlg .close{position:absolute;top:8px;right:10px;background:#fff;border:1px solid var(--line);border-radius:999px;width:34px;height:34px;cursor:pointer;font-size:18px}
.price{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line)}
.price th,.price td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.price th{width:9em;color:var(--navy);white-space:nowrap;font-variant-numeric:tabular-nums}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.steps>div{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:16px 18px}
.steps .n{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:900;font-size:26px;color:var(--gold);line-height:1}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:0 16px;margin-bottom:8px}
.faq summary{cursor:pointer;font-weight:700;padding:12px 0;color:var(--navy)}
.faq p{padding:0 0 12px;margin:0;color:var(--ink2);font-size:14.5px}
.ctable{list-style:none;margin:0;padding:0;background:var(--paper);border:1px solid var(--line)}
.ctable li{display:grid;grid-template-columns:8em 1fr;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:15px}
.ctable li:last-child{border-bottom:0}
.ctable li span:first-child{color:var(--ink2);font-weight:700}
.small{font-size:13px;color:var(--ink2)}
.cta{background:var(--navy);color:#fff;text-align:center;padding:48px 20px}
.cta h2{color:#fff;margin-bottom:8px}
.cta p{color:#d9e0ee;margin-bottom:18px}
.cta .btn{background:var(--gold);border-color:var(--gold);color:#1c2236}
.form{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:22px}
.frow{display:grid;grid-template-columns:200px 1fr;gap:12px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line)}
.frow:last-of-type{border-bottom:0}
.frow label{font-weight:700;font-size:14.5px;padding-top:8px}
.req{color:#b3261e;font-size:12px;margin-left:6px}
.frow input[type=text],.frow input[type=email],.frow input[type=tel],.frow input[type=date],.frow select,.frow textarea{width:100%;border:1px solid #c9c5b8;border-radius:6px;background:#fff;padding:10px 12px;font-size:16px;font-family:inherit;color:var(--ink)}
.frow textarea{min-height:120px;resize:vertical}
.checks{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14.5px;padding-top:8px}
.checks label{display:flex;align-items:center;gap:6px;font-weight:400}
.fsubmit{text-align:center;margin-top:22px}
.ft{padding:36px 0 90px;font-size:13.5px;color:var(--ink2)}
.ft-in{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start}
.ft nav a{display:inline-block;margin:0 14px 6px 0;font-weight:700;color:var(--navy)}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;padding:10px 14px;background:rgba(251,250,247,.97);border-top:1px solid var(--line)}
.sticky-cta .btn{width:100%}
.article{max-width:720px}
.article h2{font-size:21px;margin:28px 0 8px}
.article p{color:var(--ink);margin-bottom:.9em}
.guide-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px;margin-top:36px}.guide-item{display:block;border-top:1px solid var(--line);padding-top:18px;min-width:0}.guide-item .ph{aspect-ratio:4/3;overflow:hidden;background:#e8e6df;margin-bottom:18px}.guide-item .ph img{width:100%;height:100%;object-fit:cover}.guide-item h2{font-size:22px;margin-bottom:8px}.guide-item p{font-size:14.5px;color:var(--ink2);margin-bottom:12px}.guide-item .more{font-size:14px;font-weight:700;color:var(--navy);border-bottom:1px solid var(--gold)}.guide-item:hover h2{text-decoration:underline}
.guide-invite{display:flex;gap:32px;align-items:center;justify-content:space-between}.guide-invite .lead{max-width:40em}.guide-invite>.btn{flex-shrink:0}.article-fig{margin:28px 0 8px}.article-fig img{width:100%;aspect-ratio:16/9;object-fit:cover}.article-fig figcaption,.img-note{font-size:12px;color:var(--ink2);margin-top:8px}.guide-back{display:inline-block;color:var(--navy);font-size:14px;margin-bottom:22px;text-decoration:underline;text-underline-offset:4px}.guide-next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:16px}.guide-next a{border-top:2px solid var(--gold);padding:12px 0;font-weight:700;font-size:14px;color:var(--navy)}
.viewer-bar{background:#183b49;color:#e5ecee;padding:7px 20px;text-align:center;font-size:12px;line-height:1.5}
.pg .hd{top:0}
@media(max-width:900px){.g3,.g4,.genres{grid-template-columns:repeat(2,1fr)}.tgrid{grid-template-columns:repeat(3,1fr)}.steps{grid-template-columns:1fr}.dlg{grid-template-columns:1fr}.dlg img{max-height:320px}}
@media(max-width:640px){
 .gnav{position:fixed;inset:64px 0 auto 0;background:var(--bg);flex-direction:column;gap:0;padding:6px 0 12px;border-bottom:1px solid var(--line);display:none}
 .gnav.open{display:flex}.gnav a{width:100%;padding:12px 20px;border-bottom:1px solid var(--line)}.burger{display:block}.hd-cta{display:none}
 .hero-copy h1{font-size:26px}.hero img{height:56vh}.g2,.g3,.g4,.genres{grid-template-columns:1fr}.tgrid{grid-template-columns:repeat(2,1fr)}
 .frow{grid-template-columns:1fr;gap:4px}.sticky-cta{display:block}.sec{padding:40px 0}h2{font-size:21px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* 2026-09-18: portrait-led editorial layout; existing page structure retained. */
:root{--bg:#f6f4ee;--ink:#192535;--ink2:#536071;--navy:#183b49;--navy2:#245466;--gold:#d1ad67;--gold-soft:#f1e8d6;--wrap:1160px}
body{overflow-x:visible}h1{font-size:clamp(30px,4vw,48px)}h2{font-size:clamp(24px,3vw,34px)}
.sec{padding:76px 0}.eyebrow{color:#79602f;letter-spacing:.2em;margin-bottom:12px}
.hd-in{height:76px;max-width:1440px;padding:0 32px}.gnav a{min-height:44px;display:flex;align-items:center}.burger{min-width:44px;min-height:44px}
.btn{min-height:48px;border-radius:3px;padding:15px 25px;transition:background .15s}.btn-ghost:hover{color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a76609;outline-offset:4px}
.hero{min-height:680px;height:calc(100svh - 76px);max-height:850px;background:#10252d;overflow:hidden}
.hero-mosaic{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:3px}
.hero .hero-mosaic img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:50% 20%;opacity:.64;filter:saturate(.72)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,25,33,.83),rgba(9,25,33,.25) 70%),linear-gradient(0deg,rgba(9,25,33,.75),transparent 55%);z-index:0;pointer-events:none}
.hero-copy{z-index:1;padding:50px 20px}.hero-kicker{font-size:13px;letter-spacing:.12em;color:#f1d89b;font-weight:700}
.hero-copy h1{font-size:clamp(38px,4.4vw,66px);line-height:1.4;letter-spacing:.04em;margin-top:20px;max-width:15em;text-shadow:0 2px 20px #12232b}
.hero-copy p{font-size:17px;max-width:33em;line-height:2;margin:24px 0;color:#fff}.hero-copy p.hero-genres{font-size:15px;margin:0 0 26px;color:#f5ead6;font-weight:700}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-copy .btn{background:#ebc988;border-color:#ebc988;color:#172935}.hero-copy .btn-ghost{background:rgba(12,28,36,.4);border-color:#d2dadd;color:#fff}
.hero-caption{position:absolute;bottom:18px;right:24px;z-index:1;color:#e0e7e8;font-size:11px}
.promise-strip{background:var(--navy);color:white}.promise-strip .wrap{display:grid;grid-template-columns:repeat(3,1fr);padding-top:25px;padding-bottom:25px}.promise-strip div div{padding:0 28px;border-left:1px solid #52717c}.promise-strip div div:first-child{border-left:0}.promise-strip b{display:block;font-size:18px}.promise-strip span{font-size:13px;color:#dbe6e9}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px}.section-head .lead{max-width:30em}
.genres{grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}.genres>div{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:24px 18px;background:transparent}.genres b{font-size:17px;margin-bottom:7px}
.card{border-radius:3px}.card .bd{padding:22px}.card:hover .ph img{filter:brightness(1.08)}
.tgrid{gap:28px 18px}.tcard{border:0;border-radius:0;background:transparent;font-family:inherit;position:relative}.tcard img{aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;background:#e8e6df}.tcard .nm{padding:12px 0 4px;font-size:16px}.tcard .nt{padding:0;font-size:12px;min-height:1.5em}.tcard:hover .nm{text-decoration:underline}.tcard .view-profile{position:absolute;right:7px;top:7px;background:#fff;color:var(--navy);padding:4px 7px;font-size:11px;border-radius:2px}
.note{border-radius:0;border-left:3px solid var(--gold);padding:24px;line-height:1.9}.note b{display:block;font-size:18px;margin-bottom:7px;color:var(--navy)}
dialog{max-height:90svh;overflow:auto;border-radius:4px}.dlg{grid-template-columns:260px minmax(0,1fr)}.dlg img{height:auto;max-height:460px;object-fit:contain;align-self:start;background:#f3f2ef}.dlg .bd{padding:58px 24px 24px}.dlg th{width:6em}.dlg td{overflow-wrap:anywhere}.dlg-source{overflow-wrap:anywhere}
dialog>.close{position:sticky;display:block;margin:8px 8px -52px auto;top:8px;z-index:2;background:#fff;border:1px solid #bbb;width:44px;height:44px;border-radius:50%;font-size:24px;cursor:pointer}
.price th{font-size:19px}.price td{padding:22px}.price th{padding:22px}.steps>div{border-radius:0;padding:26px}.steps .n{font-size:36px;margin-bottom:18px}.steps h3{margin-bottom:10px}.faq details{border-radius:0}.faq summary{padding:18px 0}.cta{padding:64px 20px}.cta .btn{background:#ebc988;border-color:#ebc988}
.form{border-radius:0;padding:28px}.checks label{min-height:44px}.frow input[type=checkbox]{width:20px;height:20px;flex-shrink:0}.contact-note{display:flex;gap:24px;flex-wrap:wrap;margin-top:20px;font-size:14px;color:var(--navy)}
.viewer-bar{position:relative;background:#183b49}.viewer-bar button{min-height:36px}.preview-notice{background:#fff1ce;color:#44330d;padding:10px 20px;font-size:13px;text-align:center}.skip-link{position:absolute;top:-100px;left:20px;z-index:1000;background:white;color:var(--navy);padding:10px}.skip-link:focus{top:8px}
@media(max-width:1000px){.hd-in{padding:0 20px}.gnav{gap:10px}.hd-cta{display:none}.genres{grid-template-columns:repeat(2,1fr)}.tgrid{grid-template-columns:repeat(3,1fr)}.hero{min-height:630px;max-height:760px}.promise-strip div div{padding:0 18px}.dlg{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:640px){
 .hd-in{height:66px}.hd-logo img{height:38px}.gnav{inset:66px 0 auto 0}.hero{height:700px;min-height:0;max-height:none}.hero-mosaic{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,1fr)}.hero .hero-mosaic img{height:100%;opacity:.66}.hero::after{background:linear-gradient(0deg,rgba(9,25,33,.93),rgba(9,25,33,.30) 85%)}
 .hero-copy{justify-content:flex-end;padding:40px 22px 65px}.hero-copy h1{font-size:30px;line-height:1.55;margin-top:14px;letter-spacing:0;text-wrap:initial}.hero-copy p{font-size:15px;margin:18px 0;line-height:1.9}.hero-copy p.hero-genres{font-size:13px;margin-bottom:20px}.hero-kicker{font-size:12px}.hero-actions{width:100%;gap:10px}.hero-actions .btn{padding:14px 17px;font-size:14px}.hero-caption{font-size:10px;right:20px;bottom:20px}.hero-genres span{display:block}
 .promise-strip .wrap{grid-template-columns:1fr;padding:10px 22px}.promise-strip div div{padding:14px 0;border-left:0;border-bottom:1px solid #52717c}.promise-strip div div:last-child{border-bottom:0}.promise-strip b{font-size:16px}.promise-strip span{font-size:12px}.section-head{display:block}.section-head .lead{margin-top:15px}.sec{padding:48px 0}.genres{grid-template-columns:repeat(2,minmax(0,1fr))}.genres>div{padding:19px 9px}.genres b{font-size:14px}.genres span{font-size:12px}
 .tgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.tcard .nm{font-size:14px}.note{padding:18px;font-size:14px}.note b{font-size:16px}.dlg{display:block}.dlg img{width:100%;height:260px;max-height:none;object-fit:contain}.dlg .bd{padding:20px}.price th{width:7em;font-size:15px;padding:16px 10px}.price td{font-size:13px;padding:16px 10px}.ctable li{grid-template-columns:1fr;gap:4px}.form{padding:18px}.frow{padding:15px 0}.ft{padding-bottom:100px}.cta h2{font-size:25px}.viewer-bar{gap:5px}.viewer-bar button{font-size:11px;padding:5px 8px}.sticky-cta{padding:8px 16px max(8px,env(safe-area-inset-bottom))}
}

@media(min-width:641px) and (max-width:1000px){.gnav{position:fixed;inset:76px 0 auto;background:var(--bg);flex-direction:column;gap:0;padding:6px 0 12px;border-bottom:1px solid var(--line);display:none}.gnav.open{display:flex}.gnav a{width:100%;padding:12px 20px;border-bottom:1px solid var(--line)}.burger{display:block}}
@media(max-width:640px){.guide-list,.guide-next{grid-template-columns:1fr}.guide-list{gap:28px}.guide-item{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px}.guide-item .ph{aspect-ratio:1;margin:0}.guide-item h2{font-size:18px}.guide-item p{font-size:13px;line-height:1.7}.guide-invite{display:block}.guide-invite>.btn{margin-top:20px}.article h1{font-size:28px}.guide-next{gap:6px}}

:root{--bg:#f7f5f1;--paper:#fff;--ink:#11110f;--ink2:#656159;--line:#ddd6c8;--navy:#161512;--navy2:#2b2822;--gold:#bd9148;--gold-soft:#f2e7d2;--champagne:#e8d2a4;--black:#090908;--wrap:1160px}
body{background:var(--bg);color:var(--ink)}
h1,h2{font-family:"Noto Serif JP","Yu Mincho",YuMincho,serif;color:var(--ink);font-weight:700;letter-spacing:.035em}
h3{color:var(--ink)}
.lead,.small{color:var(--ink2)}
.eyebrow{display:flex;align-items:center;gap:12px;color:#8d682e;font-family:"Cormorant Garamond",serif;font-size:14px;font-weight:700;letter-spacing:.24em}
.eyebrow::before{content:"";width:38px;height:1px;background:linear-gradient(90deg,var(--gold),var(--champagne))}
.sec-soft{background:#fff;border-color:var(--line)}
.hd{background:rgba(255,255,255,.96);border-bottom:1px solid #d7c9ad;box-shadow:0 10px 35px rgba(25,20,12,.06)}
.hd-in{height:84px;max-width:1440px;padding:0 28px}
.hd-logo{width:76px;height:76px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}
.hd-logo img{width:76px;height:76px;object-fit:contain}
.gnav{gap:20px}.gnav a{color:#1a1916;font-size:13px;letter-spacing:.04em;border-bottom:1px solid transparent}
.gnav a[aria-current=page]{color:#8a6329;border-bottom-color:var(--gold)}
.btn{background:linear-gradient(135deg,#d5b36e,#ac7d35);border-color:#b88d47;color:#111;border-radius:2px;box-shadow:0 8px 22px rgba(125,88,33,.14);letter-spacing:.03em}
.btn:hover{background:linear-gradient(135deg,#e3c685,#b98c45);border-color:#c79c55;color:#111}
.btn-ghost{background:transparent;border-color:#312e28;color:#171612;box-shadow:none}
.btn-ghost:hover{background:#171612;border-color:#171612;color:#fff}
.btn-gold{border-color:#b88d47;box-shadow:0 0 0 1px rgba(232,210,164,.7),0 8px 22px rgba(125,88,33,.12)}
.hero{height:calc(100svh - 84px);min-height:700px;max-height:880px;background:#080807}
.hero .hero-mosaic img{opacity:.48;filter:grayscale(.3) sepia(.08) saturate(.78) contrast(1.08)}
.hero::after{background:linear-gradient(90deg,rgba(4,4,3,.94) 0%,rgba(8,8,7,.73) 46%,rgba(8,8,7,.30) 72%,rgba(4,4,3,.68) 100%),linear-gradient(0deg,rgba(4,4,3,.82),transparent 55%)}
.hero-copy{padding:55px 430px 55px 20px;max-width:var(--wrap)}
.hero-kicker{color:#e7cc94;font-family:"Cormorant Garamond","Noto Serif JP",serif;font-size:15px;letter-spacing:.16em}
.hero-copy h1{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(40px,4.4vw,67px);font-weight:700;letter-spacing:.055em;line-height:1.42;color:#fff;text-shadow:0 4px 30px #000}
.hero-copy p{color:#f6f2e9}.hero-copy p.hero-genres{color:#e7d1a7}
.hero-copy .btn{background:linear-gradient(135deg,#e1c37e,#b38237);border-color:#c89b50;color:#111}
.hero-copy .btn-ghost{background:rgba(0,0,0,.28);border-color:rgba(232,210,164,.7);color:#fff}
.hero-brand{position:absolute;z-index:2;right:max(24px,calc((100vw - var(--wrap))/2 + 20px));top:50%;width:min(31vw,370px);aspect-ratio:1;transform:translateY(-50%);background:#fff;border:1px solid rgba(232,210,164,.85);box-shadow:0 28px 90px rgba(0,0,0,.48),0 0 0 7px rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center}
.hero-brand::before{content:"";position:absolute;inset:-18px;border:1px solid rgba(214,177,103,.44);border-radius:50%;transform:rotate(-17deg) scaleY(.48);pointer-events:none}
.hero-brand::after{content:"";position:absolute;right:-14px;top:-14px;width:58px;height:58px;background:radial-gradient(circle,#fff 0 3%,#e1b85f 7%,transparent 34%),linear-gradient(90deg,transparent 48%,#d4aa58 49% 51%,transparent 52%),linear-gradient(0deg,transparent 48%,#d4aa58 49% 51%,transparent 52%);clip-path:polygon(50% 0,57% 39%,100% 50%,59% 58%,50% 100%,42% 59%,0 50%,40% 42%);filter:drop-shadow(0 0 8px #e4bd6b);pointer-events:none}
.hero-brand img{width:100%;height:100%;object-fit:contain;opacity:1;filter:none}
.hero-caption{color:#d9d3c8}
.promise-strip{background:#0d0d0b;border-top:1px solid #7f602f;border-bottom:1px solid #7f602f}
.promise-strip div div{border-left-color:#65502e}.promise-strip b{font-family:"Noto Serif JP",serif;color:#f3e5c6}.promise-strip span{color:#cfc7ba}
.genres{border-top-color:#cdb98e}.genres>div{border-bottom-color:var(--line);position:relative}.genres>div::before{content:"";position:absolute;left:0;top:24px;width:2px;height:28px;background:linear-gradient(var(--champagne),var(--gold))}.genres b{color:#171612}
.card{border-color:#d8cfbf;background:#fff;box-shadow:0 14px 34px rgba(42,34,20,.06)}
.card .ph{background:#e9e4da}.card h3{color:#171612}.card .bd{border-top:2px solid transparent;border-image:linear-gradient(90deg,var(--gold),transparent) 1}
.tcard .nm{color:#171612}.tcard .view-profile{background:rgba(9,9,8,.86);color:#f3dfb6;border:1px solid rgba(232,210,164,.6)}
.badge{background:#f1e5cd;color:#704f1e}.tcard img{background:#e8e1d6}
.price,.steps>div,.faq details,.ctable,.form{background:#fff;border-color:#d8cfbf}.price th,.faq summary,.dlg h3,.note b,.ft nav a,.guide-item .more,.guide-back,.guide-next a{color:#171612}
.price th{border-right:1px solid #e6ded0}.steps>div{border-top:3px solid var(--gold)}.steps .n{font-family:"Cormorant Garamond",serif;color:#a77832}
.note{background:#f5ecdc;border-left-color:var(--gold)}
.cta{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 76% 32%,#44341e 0,transparent 30%),linear-gradient(130deg,#080807,#181611);color:#fff;border-top:1px solid #7c5d2c;border-bottom:1px solid #7c5d2c}
.cta::before{content:"";position:absolute;width:720px;height:250px;border:1px solid rgba(222,184,108,.35);border-radius:50%;right:-210px;top:-60px;transform:rotate(-13deg);z-index:-1}.cta h2{color:#fff}.cta p{color:#d9d0c1}.cta .btn{background:linear-gradient(135deg,#e1c37e,#ae7d35);border-color:#c69a4c;color:#111}
.article h2{border-left:3px solid var(--gold);padding-left:14px}.article-fig{border:1px solid #d7c9ad;background:#fff;padding:7px}.guide-item{border-top-color:#b99456}.guide-item h2{color:#171612}.guide-item .more{border-bottom-color:var(--gold)}
.ft{background:#0b0b0a;color:#c8c0b2;border-top:1px solid #7d6030}.ft .wrap{padding-top:4px}.ft-brand{display:inline-flex;background:#fff;border:1px solid #8e6b34;padding:2px;margin-bottom:14px}.ft-brand img{width:174px;height:174px;object-fit:contain}.ft .small{color:#9e978c}.ft nav a{color:#ddd4c5}
.viewer-bar{background:#090908;color:#e8d7b7;border-bottom:1px solid #7c5d2c}.preview-notice{background:#f4e6c8;color:#3c2b12}
dialog{border:1px solid #b99456}.dlg .bd{background:#fff}.dlg th,.dlg td{border-color:#e4ddd1}
.sticky-cta{background:rgba(255,255,255,.97);border-top-color:#c7ae7b}
@media(max-width:1000px){.hero-copy{padding-right:330px}.hero-brand{width:270px;right:30px}.gnav{background:#fff}}
@media(max-width:640px){
 .hd-in{height:70px;padding:0 14px}.hd-logo{width:62px;height:62px}.hd-logo img{width:62px;height:62px}.gnav{inset:70px 0 auto 0;background:#fff}.hero{height:790px;min-height:0}.hero::after{background:linear-gradient(0deg,rgba(4,4,3,.97) 0%,rgba(5,5,4,.76) 57%,rgba(5,5,4,.35) 100%)}
 .hero-brand{top:28px;left:50%;right:auto;width:174px;transform:translateX(-50%)}.hero-brand::before{inset:-10px}.hero-brand::after{width:42px;height:42px;right:-10px;top:-10px}
 .hero-copy{justify-content:flex-end;padding:260px 22px 66px}.hero-copy h1{font-size:30px;line-height:1.52}.hero-kicker{font-size:12px}.hero-copy p{font-size:14px}.hero-caption{bottom:14px}
 .promise-strip .wrap{padding-top:10px;padding-bottom:10px}.promise-strip div div{border-bottom-color:#59482c}.genres>div::before{top:19px;height:22px}.ft-brand img{width:132px;height:132px}
}

.hd-in{gap:20px}
.brand-lockup{display:flex;align-items:center;min-width:224px;height:70px;flex:none}
.brand-mark{width:64px;height:64px;display:grid;place-items:center;overflow:hidden;background:#fff}
.brand-mark img{width:64px;height:64px;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;justify-content:center;min-height:43px;margin-left:11px;padding-left:13px;border-left:1px solid #c49a55;line-height:1.15;white-space:nowrap}
.brand-copy strong{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:17px;letter-spacing:.08em;color:#111;font-weight:700}
.brand-copy small{margin-top:6px;font-family:"Cormorant Garamond",serif;font-size:10px;letter-spacing:.11em;color:#75562b;text-transform:none}
.burger{align-items:center;justify-content:center;gap:10px;width:auto;min-width:104px;height:44px;padding:0 13px;border:1px solid #b28a47;background:#111;color:#f0d6a2;border-radius:2px}
.burger .burger-label{display:block;width:auto;height:auto;margin:0;background:transparent;color:inherit;font-size:13px;font-weight:700;line-height:1;letter-spacing:.06em}
.burger .burger-icon{display:flex;width:21px;height:16px;margin:0;background:transparent;flex-direction:column;justify-content:space-between}
.burger .burger-icon i{display:block;width:21px;height:1px;background:#e5c98f;transition:transform .15s,opacity .15s}
.burger[aria-expanded="true"] .burger-icon i:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger[aria-expanded="true"] .burger-icon i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] .burger-icon i:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.hero-copy{padding:55px 20px;max-width:var(--wrap)}
.hero-copy>*{max-width:680px}
.hero-copy .hero-actions{max-width:none}
@media(min-width:1001px){.burger{display:none}}
@media(max-width:1000px){
 .hd-in{height:76px}.brand-lockup{height:68px}.brand-mark,.brand-mark img{width:62px;height:62px}.hd-cta{display:none}
 .burger{display:inline-flex;flex:none}.gnav{position:fixed;inset:76px 16px auto auto;width:min(360px,calc(100vw - 32px));padding:8px;background:#fff;border:1px solid #cbb88f;box-shadow:0 24px 55px rgba(19,15,9,.22);gap:0}
 .gnav.open{display:flex}.gnav a{width:100%;min-height:48px;padding:12px 15px;border-bottom:1px solid #e5dfd3;color:#171612}.gnav a:last-child{margin-top:7px;border:1px solid #b58a43;background:#111;color:#f0d6a2;justify-content:center}.gnav a[aria-current=page]{border-left:3px solid var(--gold);border-bottom-color:#e5dfd3;padding-left:12px}
}
@media(max-width:640px){
 .hd-in{height:70px;padding:0 12px;gap:8px}.brand-lockup{min-width:0;height:64px;flex:1}.brand-mark,.brand-mark img{width:56px;height:56px}.brand-copy{margin-left:7px;padding-left:9px;min-height:37px}.brand-copy strong{font-size:15px;letter-spacing:.05em}.brand-copy small{font-size:8px;letter-spacing:.07em;margin-top:5px}
 .burger{min-width:94px;height:42px;padding:0 10px;gap:8px}.burger .burger-label{font-size:12px}.gnav{inset:70px 12px auto 12px;width:auto}
 .hero{height:700px}.hero-copy{padding:42px 22px 68px}.hero-copy>*{max-width:580px}.hero::after{background:linear-gradient(0deg,rgba(4,4,3,.96) 0%,rgba(5,5,4,.66) 63%,rgba(5,5,4,.28) 100%)}
}
@media(max-width:390px){.brand-copy small{display:none}.brand-copy strong{font-size:14px}.burger{min-width:88px}.burger .burger-label{font-size:11px}}

.hero .hero-mosaic img{opacity:.62;filter:grayscale(.18) sepia(.06) saturate(.86) contrast(1.04)}
@media(min-width:1001px){
 .hero-mosaic img{order:var(--desktop-order)}
 .hero::after{background:linear-gradient(90deg,rgba(4,4,3,.94) 0%,rgba(8,8,7,.73) 46%,rgba(8,8,7,.18) 72%,rgba(4,4,3,.42) 100%),linear-gradient(0deg,rgba(4,4,3,.82),transparent 55%)}
}
@media(max-width:640px){
 .hero::after{background:linear-gradient(0deg,rgba(4,4,3,.96) 0%,rgba(5,5,4,.66) 63%,rgba(5,5,4,.22) 100%)}
}
