:root{--bg:#f7f2e8;--bg-soft:#efe8d8;--card:#fcfaf3;--line:#ddd2bd;--gold:#7d5a1c;--gold-soft:#5e4718;--ink:#09112d;--text:#2a251d;--muted:#6a6050;--danger:#a8482f;--ok:#5e7d52}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);line-height:1.75;-webkit-font-smoothing:antialiased}.sans,body{font-family:Helvetica Neue,Hiragino Sans,Arial,sans-serif}.serif{font-family:var(--serif)}:root{--serif:var(--font-display,"Fraunces"),"Hiragino Mincho ProN","Yu Mincho",Georgia,"Times New Roman",serif}.logo,h1,h2,h3{font-family:var(--serif)}.eyebrow{font-family:Helvetica Neue,Hiragino Sans,Arial,sans-serif;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:block}.card p a,.legal article a,.notice a{color:var(--gold-soft);text-decoration:none;border-bottom:1px solid var(--line);transition:border-color .2s}.card p a:hover,.legal article a:hover,.notice a:hover{border-color:var(--gold)}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}.container{max-width:960px;margin:0 auto;padding:0 24px}header.site{border-bottom:1px solid var(--line);padding:20px 0;position:-webkit-sticky;position:sticky;top:0;background:rgba(247,242,232,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}header.site .container{display:flex;justify-content:space-between;align-items:center}.logo{font-size:18px;letter-spacing:.18em;color:var(--gold-soft);text-transform:uppercase}.logo,nav a{text-decoration:none}nav a{color:var(--muted);margin-left:24px;font-size:13px;letter-spacing:.08em;padding:8px 0;display:inline-block}nav a.active,nav a:hover{color:var(--gold-soft)}nav a.active{border-bottom:1px solid var(--gold)}.hero{padding:104px 24px 72px;text-align:center}.hero h1{font-size:clamp(36px,6vw,62px);font-weight:500;letter-spacing:.03em;line-height:1.3}.hero h1 em{color:var(--gold);font-style:normal}.hero p.lead{color:var(--text);max-width:560px;margin:28px auto 0;font-size:18px;line-height:1.8}.badges{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:36px}.badge{border:1px solid var(--line);background:var(--card);padding:10px 20px;font-size:13px;color:var(--gold-soft);letter-spacing:.04em;border-radius:2px}.step-num{font-family:Georgia,serif;font-size:44px;color:var(--gold);line-height:1;margin-bottom:14px}.stat-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line)}.stat-band>div{background:var(--bg-soft);padding:38px 22px;text-align:center;display:flex;flex-direction:column;justify-content:center}.stat-band .big{font-family:var(--serif);font-size:40px;font-weight:400;color:var(--ink);line-height:1}.stat-band .small{font-size:13px;color:var(--muted);margin-top:12px;line-height:1.5}.btn{display:inline-block;margin-top:40px;padding:15px 44px;border:1px solid var(--gold);color:var(--gold-soft);text-decoration:none;letter-spacing:.14em;font-size:14px;text-transform:uppercase;transition:all .25s;background:transparent;cursor:pointer}.btn:hover{background:var(--gold);color:#fcfaf3}.btn.small{padding:9px 20px;margin-top:0;font-size:12px}.btn.danger{border-color:var(--danger);color:var(--danger)}.btn.danger:hover{background:var(--danger);color:#fcfaf3}.btn:disabled{opacity:.45;cursor:not-allowed}section.block{padding:80px 0;border-top:1px solid var(--line)}section.block h2{font-size:clamp(27px,3.4vw,40px);letter-spacing:.01em;color:var(--ink);margin-bottom:30px;font-weight:400;line-height:1.2}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:20px;gap:20px}.card{background:var(--card);border:1px solid var(--line);padding:30px}a.card{transition:border-color .2s,transform .2s,box-shadow .2s}a.card:hover{border-color:var(--gold);box-shadow:0 6px 24px rgba(94,71,24,.09);transform:translateY(-2px)}.card h3{font-size:18px;margin-bottom:12px;color:var(--gold-soft);font-weight:500}.card p{color:var(--muted);font-size:14px;line-height:1.6}.name-ja{font-family:var(--serif);font-size:20px;font-weight:400;color:var(--ink);line-height:1.3}.card-genre{font-size:12px;letter-spacing:.06em;color:var(--gold)}.card-genre,.name-en{font-family:Helvetica Neue,Hiragino Sans,sans-serif;margin-top:4px}.name-en{font-size:12.5px;letter-spacing:.04em;color:var(--muted)}.card .price{color:var(--text);font-size:15px;margin-top:14px}table.policy{width:100%;border-collapse:collapse;margin-top:8px}table.policy td,table.policy th{border:1px solid var(--line);padding:12px 16px;text-align:left;font-size:14px}table.policy th{color:var(--gold-soft);font-weight:500;background:var(--bg-soft)}table.policy td{color:var(--muted)}footer.site{border-top:1px solid var(--line);padding:64px 0 48px;margin-top:56px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;grid-gap:32px;gap:32px}.footer-grid h4{font-family:Helvetica Neue,Hiragino Sans,sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;font-weight:600}.footer-grid>div{display:flex;flex-direction:column}.footer-grid a,.footer-grid span{color:var(--muted);font-size:13px;line-height:1.4;margin-bottom:9px;text-decoration:none}.footer-grid a:hover{color:var(--gold-soft)}.footer-brand p{color:var(--muted);font-size:13px}@media (max-width:640px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}form.panel{max-width:560px;margin:0 auto}.field{margin-bottom:22px}.field label{display:block;font-size:13px;letter-spacing:.08em;color:var(--gold-soft);margin-bottom:8px}.field input,.field select,.field textarea{width:100%;padding:12px 14px;background:var(--bg-soft);border:1px solid var(--line);color:var(--text);font-size:15px;font-family:inherit}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold-soft);outline-offset:2px;border-color:var(--gold)}.notice{background:var(--bg-soft);border:1px solid var(--line);padding:18px 20px;font-size:13px;color:var(--muted);margin:26px 0}.notice strong{color:var(--gold-soft)}.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin:20px 0}.check input{width:auto;margin-top:4px}.error{color:var(--danger);font-size:14px;margin-top:14px}.success-box{text-align:center;padding:80px 0}.success-box h1{color:var(--gold-soft);font-size:30px;margin-bottom:18px}.filterbar{margin-bottom:22px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chip{font-family:Helvetica Neue,Hiragino Sans,sans-serif;font-size:12.5px;letter-spacing:.03em;padding:7px 15px;border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:2px;cursor:pointer;transition:all .18s;white-space:nowrap}.chip:hover{border-color:var(--gold);color:var(--gold-soft)}.chip.on{background:var(--ink);border-color:var(--ink);color:#f7f2e8}.filter-row{display:flex;flex-wrap:wrap;gap:10px}.filter-search,.filter-select{font-size:14px;padding:9px 12px;background:var(--bg-soft);border:1px solid var(--line);color:var(--text);border-radius:2px}.filter-select{min-width:180px}.filter-search{flex:1 1;min-width:200px}.filter-search:focus,.filter-select:focus{outline:2px solid var(--gold-soft);outline-offset:2px}.linklike{background:none;border:none;padding:0;color:var(--gold-soft);cursor:pointer;font:inherit;text-decoration:underline}.journal-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:16px;gap:16px}.journal-item h3{color:var(--gold-soft)}.journal-item p{color:var(--muted)}.tldr{border-left:3px solid var(--gold);background:var(--bg-soft);padding:18px 22px;margin:26px 0 8px;font-size:16px;line-height:1.7;color:var(--text)}.tldr-label{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-weight:600}.faq{max-width:680px;margin:48px 0 8px}.faq h2{font-family:var(--serif);font-size:25px;font-weight:400;color:var(--ink);margin-bottom:16px}.faq details{border-top:1px solid var(--line);padding:16px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-family:Helvetica Neue,Hiragino Sans,sans-serif;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;list-style-position:inside}.faq details p{font-size:16px;line-height:1.7;color:var(--text);margin-top:12px}.photo-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:10px;gap:10px}.photo-gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border:1px solid var(--line)}.legal{padding:60px 24px;max-width:760px;margin:0 auto}.legal h1{font-size:26px;margin-bottom:8px}.legal h1,.legal h2{color:var(--gold-soft);font-weight:500}.legal h2{font-size:18px;margin:36px 0 12px;letter-spacing:normal;text-transform:none}.legal li,.legal p{color:var(--muted);font-size:14px;margin-bottom:10px}.legal ol,.legal ul{padding-left:22px}.legal .ja{border-top:1px solid var(--line);margin-top:48px;padding-top:40px}.legal article{line-height:1.85;max-width:680px}.legal article,.legal article p{font-size:17px;color:var(--text)}.legal article p{margin-bottom:20px}.legal article h2{font-family:var(--serif);font-size:25px;font-weight:400;margin:46px 0 14px;color:var(--ink)}.legal article h3{font-size:19px;font-weight:600;margin:32px 0 10px;color:var(--gold-soft)}.legal article li{font-size:17px;color:var(--text);margin-bottom:8px}.legal article strong{color:var(--ink);font-weight:600}.legal article blockquote{border-left:2px solid var(--gold);padding-left:22px;margin:28px 0;font-style:italic;color:var(--gold-soft);font-size:19px;line-height:1.7}.admin{padding:40px 0}.admin h1{font-size:22px;margin-bottom:24px;color:var(--gold-soft)}table.admin-list{width:100%;border-collapse:collapse;font-size:13px}table.admin-list td,table.admin-list th{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}table.admin-list th{background:var(--bg-soft);color:var(--gold-soft)}.status{padding:2px 10px;font-size:11px;letter-spacing:.06em;border:1px solid}.status.pending{color:var(--gold-soft);border-color:var(--gold)}.status.confirmed{color:var(--ok);border-color:var(--ok)}.status.cancelled,.status.declined{color:var(--danger);border-color:var(--danger)}.status.completed{color:var(--muted);border-color:var(--muted)}.admin-actions{display:flex;flex-direction:column;gap:8px;min-width:170px}.admin-actions input{padding:6px 8px;background:var(--bg-soft);border:1px solid var(--line);color:var(--text);width:100%}@media (max-width:720px){header.site{padding:14px 0}header.site .container{flex-direction:column;align-items:flex-start;gap:10px}.logo{font-size:16px}header.site nav{display:flex;flex-wrap:wrap;gap:4px 20px}nav a{margin-left:0;padding:4px 0}.hero{padding:52px 22px 40px}.hero p.lead{font-size:16px;margin-top:20px}section.block{padding:52px 0}section.block h2{margin-bottom:22px}.container{padding:0 22px}.grid3{gap:16px}.stat-band{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.kanji-accent{display:none}}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/f3deaf8281908ff2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/c62081b071647022-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/6ba5f591ae6c56f6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/f3deaf8281908ff2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/c62081b071647022-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/6ba5f591ae6c56f6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_4df21b{font-family:Fraunces,Fraunces Fallback}.__variable_4df21b{--font-display:"Fraunces","Fraunces Fallback"}