*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--paper:#f9f6f0;--paper2:#f1ebde;--ink:#2a2419;--sub:#7a6e54;--accent:#8b6e3d;--accent2:#5e4925;--cream:#e8dec4;--line:#d8c9a8}
html{scroll-behavior:smooth}
body{font-family:"Noto Sans JP",sans-serif;background:var(--paper);color:var(--ink);line-height:1.85;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block} a{color:inherit;text-decoration:none}
.nobr{white-space:nowrap;display:inline-block}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:50;padding:18px 40px;display:flex;justify-content:space-between;align-items:center;background:rgba(249,246,240,.85);backdrop-filter:blur(12px);border-bottom:1px solid rgba(216,201,168,.4);transition:background .3s}
.brand-mini{font-family:"Playfair Display",serif;font-size:22px;font-weight:700;letter-spacing:.04em;color:var(--ink)}
.brand-mini sup{font-size:9px;font-family:"Inter",sans-serif;font-weight:500;letter-spacing:.3em;color:var(--accent);margin-left:6px;vertical-align:8px}
.nav-mini{display:flex;gap:32px;font-family:"Inter",sans-serif;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--sub);align-items:center}
.nav-mini a{transition:color .15s}
.nav-mini a:hover,.nav-mini a.active{color:var(--accent)}
.nav-mini .cta{background:var(--ink);color:var(--paper);padding:10px 20px;letter-spacing:.15em}
.nav-mini .cta:hover{background:var(--accent);color:#fff}
@media(max-width:760px){.nav-mini{display:none}header{padding:14px 24px}}

/* HERO (Top page) */
.hero{position:relative;height:100vh;min-height:680px;display:flex;align-items:flex-end;overflow:hidden;background:#1a1208}
.hero-slides{position:absolute;inset:0;z-index:0}
.hero-slide{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;animation:hero-fade 24s infinite}
.hero-slide:nth-child(1){background-image:url("/images/01.jpg");animation-delay:0s}
.hero-slide:nth-child(2){background-image:url("/images/02.jpg");animation-delay:6s}
.hero-slide:nth-child(3){background-image:url("/images/03.jpg");animation-delay:12s}
.hero-slide:nth-child(4){background-image:url("/images/04.jpg");animation-delay:18s}
@keyframes hero-fade{
  0%{opacity:1}
  20%{opacity:1}
  25%{opacity:0}
  95%{opacity:0}
  100%{opacity:1}
}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(42,36,25,.15) 0%,rgba(42,36,25,.65) 100%);pointer-events:none}
.hero-dots{position:absolute;left:0;right:0;bottom:30px;z-index:3;display:flex;justify-content:center;gap:8px}
.hero-dots span{width:36px;height:2px;background:rgba(255,255,255,.3);transition:background .3s}
.hero-dots span.active{background:rgba(255,255,255,.95)}
.hero-content{position:relative;z-index:2;padding:0 40px 80px;color:#fff;width:100%}
@media(prefers-reduced-motion:reduce){.hero-slide{animation:none;opacity:1}.hero-slide:nth-child(n+2){display:none}}
.hero-content .meta{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.4em;color:rgba(255,255,255,.85);margin-bottom:24px;text-transform:uppercase}
.hero-content .meta::before{content:"";display:inline-block;width:48px;height:1px;background:#fff;vertical-align:middle;margin-right:16px}
.hero-content h1{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(48px,9vw,120px);line-height:1;letter-spacing:-.02em;margin-bottom:24px;font-style:italic;color:#fff;word-break:keep-all}
.hero-content h1 .ja{display:block;font-family:"Noto Sans JP",sans-serif;font-style:normal;font-size:clamp(20px,2.6vw,32px);font-weight:300;letter-spacing:.1em;margin-top:14px;word-break:keep-all}
.hero-content .lead{max-width:580px;font-size:15px;line-height:2;color:rgba(255,255,255,.92);margin-bottom:32px;font-weight:300;word-break:keep-all}
.hero-content .scroll-mark{font-family:"Inter",sans-serif;font-size:10px;letter-spacing:.4em;color:rgba(255,255,255,.7);text-transform:uppercase}
@media(max-width:760px){.hero-content{padding:0 24px 60px}.hero-content h1{font-size:clamp(40px,12vw,68px)}}

/* SUBHERO (Subpage) */
.subhero{position:relative;padding:160px 40px 80px;background:var(--paper2);border-bottom:1px solid var(--line);text-align:center}
.subhero .meta{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.4em;color:var(--accent);text-transform:uppercase;margin-bottom:18px;display:inline-block}
.subhero h1{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(40px,7vw,80px);line-height:1.1;font-style:italic;color:var(--ink);letter-spacing:-.01em;margin-bottom:20px}
.subhero h1 .ja{display:block;font-family:"Noto Sans JP",sans-serif;font-style:normal;font-size:clamp(15px,2vw,20px);font-weight:700;letter-spacing:.1em;margin-top:14px;color:var(--accent2);word-break:keep-all}
.subhero p{max-width:720px;margin:0 auto;font-size:14px;color:var(--sub);line-height:2;word-break:keep-all}
.crumb{font-family:"Inter",sans-serif;font-size:10px;letter-spacing:.3em;color:var(--sub);text-transform:uppercase;margin-bottom:18px}
.crumb a{color:var(--sub);transition:color .15s}
.crumb a:hover{color:var(--accent)}
.crumb .sep{margin:0 10px;color:var(--line)}

/* CLIENTS */
.clients{padding:50px 40px;background:#fff;border-bottom:1px solid var(--line)}
.clients-inner{max-width:1300px;margin:0 auto;text-align:center}
.clients .meta{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.4em;color:var(--accent);text-transform:uppercase;margin-bottom:20px}
.clients .names{font-family:"Noto Sans JP",sans-serif;font-size:clamp(14px,2vw,20px);font-weight:700;color:var(--ink);letter-spacing:.05em;line-height:2}
.clients .names .sep{color:var(--accent);margin:0 14px;font-weight:400}
.clients .sub{font-family:"Noto Sans JP",sans-serif;font-size:12px;color:var(--sub);margin-top:14px;letter-spacing:.05em}
.invoice-badge{display:inline-block;margin-top:8px;padding:3px 10px;border:1px solid var(--accent);color:var(--accent2);font-size:11px;font-weight:700;letter-spacing:.05em;border-radius:2px}

/* SHOWCASE */
.showcase{padding:120px 0 80px}
.showcase-h{max-width:1300px;margin:0 auto 80px;padding:0 40px;display:grid;grid-template-columns:auto 1fr;gap:50px;align-items:end}
.showcase-h .label{font-family:"Inter",sans-serif;font-size:12px;letter-spacing:.4em;color:var(--accent);text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);align-self:start}
.showcase-h h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(40px,5vw,80px);line-height:1.1;font-style:italic;letter-spacing:-.01em;color:var(--ink)}
.showcase-h h2 .accent{color:var(--accent)}
.project{max-width:1300px;margin:0 auto 100px;padding:0 40px;display:grid;grid-template-columns:5fr 4fr;gap:60px;align-items:center;position:relative}
.project.reverse{grid-template-columns:4fr 5fr}
.project.reverse .project-img{order:2}
.project.reverse .project-info{order:1}
.project-img{aspect-ratio:4/5;background:url("/images/02.jpg") center/cover;box-shadow:30px 30px 0 var(--cream)}
.project:nth-of-type(2) .project-img{background-image:url("/images/03.jpg");box-shadow:-30px 30px 0 var(--cream)}
.project:nth-of-type(3) .project-img{background-image:url("/images/04.jpg");box-shadow:30px 30px 0 var(--cream)}
.project-info .num{font-family:"Playfair Display",serif;font-style:italic;font-size:140px;color:var(--cream);line-height:.8;margin-bottom:14px;letter-spacing:-.04em}
.project-info .cat{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.4em;color:var(--accent);text-transform:uppercase;margin-bottom:14px}
.project-info h3{font-family:"Playfair Display",serif;font-weight:500;font-size:34px;line-height:1.3;font-style:italic;letter-spacing:-.01em;margin-bottom:18px;word-break:keep-all}
.project-info h3 .ja{display:block;font-family:"Noto Sans JP",sans-serif;font-style:normal;font-size:18px;font-weight:700;letter-spacing:.04em;margin-top:8px;color:var(--accent2);word-break:keep-all}
.project-info p{font-size:14px;color:var(--sub);line-height:2;margin-bottom:24px;max-width:440px;word-break:keep-all}
.project-info .specs{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-family:"Inter",sans-serif;font-size:12px;border-top:1px solid var(--line);padding-top:18px}
.project-info .specs dt{color:var(--accent);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.project-info .specs dd{color:var(--ink);font-family:"Noto Sans JP",sans-serif}
@media(max-width:900px){.project,.project.reverse{grid-template-columns:1fr;gap:30px}.project.reverse .project-img,.project.reverse .project-info{order:initial}.project-info .num{font-size:80px}.project-img{box-shadow:none !important}}

/* STRENGTHS */
.strengths{padding:120px 40px;background:var(--paper2)}
.strengths-inner{max-width:1300px;margin:0 auto}
.strengths-h{text-align:center;margin-bottom:70px}
.strengths-h .meta{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.4em;color:var(--accent);text-transform:uppercase;margin-bottom:14px}
.strengths-h h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(36px,5vw,64px);line-height:1.1;font-style:italic;color:var(--ink)}
.strengths-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.strength{background:#fff;padding:36px 24px;border:1px solid var(--line);text-align:center}
.strength .num{font-family:"Playfair Display",serif;font-style:italic;font-size:42px;color:var(--accent);font-weight:500;line-height:1;margin-bottom:18px}
.strength h3{font-family:"Noto Sans JP",sans-serif;font-size:16px;font-weight:900;color:var(--ink);margin-bottom:12px;letter-spacing:.04em;line-height:1.5;word-break:keep-all}
.strength p{font-size:12px;color:var(--sub);line-height:1.85;word-break:keep-all}
@media(max-width:900px){.strengths-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.strengths-grid{grid-template-columns:1fr}}

/* MATERIALS */
.materials{background:var(--ink);color:var(--paper);padding:120px 0}
.materials-h{max-width:1300px;margin:0 auto 60px;padding:0 40px}
.materials-h .meta{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.4em;color:var(--accent);text-transform:uppercase;margin-bottom:14px}
.materials-h h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(40px,5vw,72px);line-height:1.1;font-style:italic;color:#fff}
.materials-h p{font-family:"Noto Sans JP",sans-serif;color:#bdb5a0;font-size:14px;line-height:2;max-width:580px;margin-top:16px;word-break:keep-all}
.swatch-grid{max-width:1300px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.swatch{aspect-ratio:1/1.3;position:relative;background:#1a1208 center/cover no-repeat;overflow:hidden;cursor:pointer;transition:transform .3s}
.swatch:hover{transform:translateY(-6px)}
.swatch:nth-child(1){background-image:url("/images/material-01.jpg")}
.swatch:nth-child(2){background-image:url("/images/material-02.jpg")}
.swatch:nth-child(3){background-image:url("/images/material-03.jpg")}
.swatch:nth-child(4){background-image:url("/images/material-04.jpg")}
.swatch:nth-child(5){background-image:url("/images/material-05.jpg")}
.swatch:nth-child(6){background-image:url("/images/material-06.jpg")}
.swatch:nth-child(7){background-image:url("/images/material-07.jpg")}
.swatch:nth-child(8){background-image:url("/images/material-08.jpg")}
.swatch:nth-child(9){background-image:url("/images/material-09.jpg")}
.swatch:nth-child(10){background-image:url("/images/material-10.jpg")}
.swatch:nth-child(11){background-image:url("/images/material-11.jpg")}
.swatch:nth-child(12){background-image:url("/images/material-12.jpg")}
.swatch::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.55) 100%);pointer-events:none}
.swatch .info{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;color:#fff;font-size:10px;font-family:"Inter",sans-serif;font-weight:500;letter-spacing:.15em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:end;z-index:2}
.swatch .info strong{font-family:"Playfair Display",serif;font-style:italic;font-size:14px;font-weight:500;letter-spacing:.04em;text-transform:none;display:block;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.5)}
@media(max-width:900px){.swatch-grid{grid-template-columns:repeat(3,1fr)}}
.gallery-cta{max-width:1300px;margin:60px auto 0;padding:0 40px;text-align:center}
.gallery-cta a{display:inline-block;background:transparent;color:#fff;padding:18px 44px;font-family:"Inter",sans-serif;font-size:13px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;border:1px solid var(--cream);transition:background .2s,color .2s}
.gallery-cta a:hover{background:var(--cream);color:var(--ink)}
.gallery-cta .note{display:block;margin-top:18px;font-family:"Noto Sans JP",sans-serif;font-size:12px;color:#bdb5a0;letter-spacing:.05em;line-height:1.85}
.gallery-cta .lock{font-family:"Inter",sans-serif;font-size:10px;letter-spacing:.4em;color:var(--accent);text-transform:uppercase;margin-bottom:14px;display:block}

/* PROCESS */
.process{padding:120px 0;background:var(--paper2)}
.process-inner{max-width:1100px;margin:0 auto;padding:0 40px}
.process-h{text-align:center;margin-bottom:80px}
.process-h .meta{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.4em;color:var(--accent);text-transform:uppercase;margin-bottom:14px}
.process-h h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(40px,5vw,72px);line-height:1.1;font-style:italic;color:var(--ink)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;position:relative}
.process-grid::before{content:"";position:absolute;left:5%;right:5%;top:30px;height:1px;background:var(--accent);z-index:0}
.pstep{text-align:center;background:var(--paper2);padding:0 14px;position:relative;z-index:2}
.pstep .num{font-family:"Playfair Display",serif;font-weight:500;font-size:40px;color:var(--accent);font-style:italic;line-height:1;margin-bottom:14px;background:var(--paper2);padding:0 12px;display:inline-block}
.pstep .num::before{content:"—— ";color:var(--accent);font-style:normal;font-size:.5em;vertical-align:middle}
.pstep h3{font-family:"Noto Sans JP",sans-serif;font-size:16px;font-weight:900;color:var(--ink);margin-bottom:8px;letter-spacing:.04em}
.pstep p{font-size:12px;color:var(--sub);line-height:1.85;word-break:keep-all}
@media(max-width:760px){.process-grid{grid-template-columns:1fr;gap:30px}.process-grid::before{display:none}}

/* LEAD TIME */
.leadtime{padding:80px 40px;background:var(--paper)}
.leadtime-inner{max-width:900px;margin:0 auto}
.leadtime-h{text-align:center;margin-bottom:40px}
.leadtime-h .meta{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.4em;color:var(--accent);text-transform:uppercase;margin-bottom:12px}
.leadtime-h h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(28px,4vw,44px);font-style:italic;color:var(--ink)}
.leadtime-table{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}
.lt-cell{background:#fff;border:1px solid var(--line);padding:30px 20px;text-align:center}
.lt-cell .qty{font-family:"Noto Sans JP",sans-serif;font-size:14px;font-weight:700;color:var(--sub);letter-spacing:.05em;margin-bottom:10px}
.lt-cell .days{font-family:"Playfair Display",serif;font-style:italic;font-size:42px;color:var(--accent);font-weight:500;line-height:1}
.lt-cell .days small{font-family:"Noto Sans JP",sans-serif;font-style:normal;font-size:14px;color:var(--ink);font-weight:700;margin-left:4px;letter-spacing:.04em}
.leadtime-note{text-align:center;font-size:12px;color:var(--sub);line-height:1.85}
@media(max-width:600px){.leadtime-table{grid-template-columns:1fr}}

/* PRICING */
.pricing{padding:120px 0;background:var(--paper2)}
.pricing-inner{max-width:1100px;margin:0 auto;padding:0 40px}
.pricing-h{text-align:center;margin-bottom:30px}
.pricing-h .meta{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.4em;color:var(--accent);text-transform:uppercase;margin-bottom:14px}
.pricing-h h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(40px,5vw,72px);line-height:1.1;font-style:italic;color:var(--ink);margin-bottom:14px}
.pricing-h .sub{font-family:"Noto Sans JP",sans-serif;font-size:13px;color:var(--sub);letter-spacing:.04em}
.price-lead{max-width:780px;margin:0 auto 50px;text-align:center;font-size:14px;color:var(--ink);line-height:2;background:#fff;padding:24px 30px;border-left:3px solid var(--accent)}
.price-lead strong{color:var(--accent2)}
.price-list{border-top:1px solid var(--ink);max-width:920px;margin:0 auto;background:#fff}
.price-row{display:grid;grid-template-columns:auto 1fr auto;gap:24px;padding:28px 32px;border-bottom:1px solid var(--line);align-items:baseline}
.price-row .num{font-family:"Playfair Display",serif;font-style:italic;font-size:24px;color:var(--accent);min-width:50px}
.price-row .desc h4{font-family:"Noto Sans JP",sans-serif;font-size:16px;font-weight:900;color:var(--ink);margin-bottom:4px;letter-spacing:.04em;word-break:keep-all;line-height:1.5}
.price-row .desc p{font-size:12px;color:var(--sub);font-family:"Noto Sans JP",sans-serif;word-break:keep-all}
.price-row .price{font-family:"Playfair Display",serif;font-style:italic;font-size:22px;font-weight:700;color:var(--ink);text-align:right;letter-spacing:.02em;white-space:nowrap}
.price-row .price small{display:block;font-family:"Inter",sans-serif;font-style:normal;font-size:10px;color:var(--sub);font-weight:400;letter-spacing:.1em;margin-top:4px}
.price-notes{max-width:920px;margin:30px auto 0;background:#fff;padding:24px 30px;border-left:3px solid var(--accent);font-size:13px;color:var(--ink);line-height:2}
.price-notes strong{color:var(--accent2)}
@media(max-width:600px){.price-row{padding:22px 18px;grid-template-columns:auto 1fr;gap:14px}.price-row .price{grid-column:1/-1;text-align:right;font-size:18px}}

/* FAQ */
.faq{padding:120px 0;background:var(--paper)}
.faq-inner{max-width:900px;margin:0 auto;padding:0 40px}
.faq-h{text-align:center;margin-bottom:60px}
.faq-h .meta{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.4em;color:var(--accent);text-transform:uppercase;margin-bottom:14px}
.faq-h h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(36px,5vw,56px);line-height:1.1;font-style:italic;color:var(--ink)}
.faq-list{display:grid;gap:20px}
.faq-item{background:#fff;border:1px solid var(--line);padding:28px 32px}
.faq-item .q{font-family:"Noto Sans JP",sans-serif;font-size:15px;font-weight:900;color:var(--ink);margin-bottom:14px;letter-spacing:.02em;line-height:1.6}
.faq-item .q::before{content:"Q.";font-family:"Playfair Display",serif;font-style:italic;font-size:18px;color:var(--accent);margin-right:10px;font-weight:700}
.faq-item .a{font-family:"Noto Sans JP",sans-serif;font-size:14px;color:var(--sub);line-height:2;padding-left:34px;word-break:keep-all}
.faq-item .a::before{content:"A.";font-family:"Playfair Display",serif;font-style:italic;font-size:16px;color:var(--accent2);margin-right:10px;font-weight:700;margin-left:-34px}

/* COMPANY INFO TABLE */
.companyinfo{padding:120px 0;background:var(--paper2)}
.companyinfo-inner{max-width:900px;margin:0 auto;padding:0 40px}
.companyinfo-h{text-align:center;margin-bottom:60px}
.companyinfo-h .meta{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.4em;color:var(--accent);text-transform:uppercase;margin-bottom:14px}
.companyinfo-h h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(36px,5vw,56px);line-height:1.1;font-style:italic;color:var(--ink)}
.cinfo-table{background:#fff;border:1px solid var(--line)}
.cinfo-row{display:grid;grid-template-columns:200px 1fr;gap:0;border-bottom:1px solid var(--line)}
.cinfo-row:last-child{border-bottom:none}
.cinfo-row dt{padding:22px 28px;background:var(--paper);font-family:"Noto Sans JP",sans-serif;font-size:13px;font-weight:900;color:var(--ink);letter-spacing:.04em;border-right:1px solid var(--line)}
.cinfo-row dd{padding:22px 28px;font-family:"Noto Sans JP",sans-serif;font-size:14px;color:var(--ink);line-height:1.85}
@media(max-width:600px){.cinfo-row{grid-template-columns:1fr}.cinfo-row dt{padding:14px 22px;border-right:none;border-bottom:1px solid var(--line)}}

/* ACCESS */
.access{padding:80px 40px;background:var(--paper)}
.access-inner{max-width:900px;margin:0 auto;text-align:center}
.access-h .meta{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.4em;color:var(--accent);text-transform:uppercase;margin-bottom:12px}
.access-h h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(28px,4vw,44px);font-style:italic;color:var(--ink);margin-bottom:24px}
.access-info{font-family:"Noto Sans JP",sans-serif;font-size:14px;color:var(--ink);line-height:2;margin-bottom:24px}
.access-info strong{font-weight:900}
.access-map{aspect-ratio:16/9;background:var(--paper2);border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;font-family:"Noto Sans JP",sans-serif;color:var(--sub);font-size:13px}
.access-map iframe{width:100%;height:100%;border:0}

/* ORDER FORM */
.order{padding:120px 0;background:var(--paper);border-top:1px solid var(--line)}
.order-inner{max-width:920px;margin:0 auto;padding:0 40px}
.order-h{text-align:center;margin-bottom:60px}
.order-h .meta{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.4em;color:var(--accent);text-transform:uppercase;margin-bottom:14px}
.order-h h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(36px,5vw,64px);line-height:1.1;font-style:italic;color:var(--ink);margin-bottom:14px}
.order-h h2 .ja{display:block;font-family:"Noto Sans JP",sans-serif;font-style:normal;font-size:.4em;font-weight:300;color:var(--sub);margin-top:14px;letter-spacing:.1em;word-break:keep-all}
.order-form{background:#fff;border:1px solid var(--line);padding:48px 56px}
.order-form .form-lead{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.4em;color:var(--accent);text-align:center;font-weight:700;margin-bottom:30px;text-transform:uppercase;padding-bottom:18px;border-bottom:1px solid var(--line)}
.field{margin-bottom:28px}
.field-label{display:block;font-family:"Noto Sans JP",sans-serif;font-size:13px;font-weight:900;color:var(--ink);margin-bottom:12px;letter-spacing:.04em}
.field-label .req{color:var(--accent);font-size:10px;margin-left:8px;font-family:"Inter",sans-serif;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
.field-label .opt{color:var(--sub);font-size:10px;margin-left:8px;font-weight:500;font-family:"Inter",sans-serif;letter-spacing:.15em;text-transform:uppercase}
.opt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.opt-grid.two{grid-template-columns:repeat(2,1fr)}
.opt-grid.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:600px){.opt-grid,.opt-grid.two,.opt-grid.four{grid-template-columns:1fr 1fr}}
.opt-grid label{display:flex;align-items:center;justify-content:center;padding:12px 8px;border:1px solid var(--line);background:#fff;cursor:pointer;font-family:"Noto Sans JP",sans-serif;font-size:12px;font-weight:700;color:var(--ink);transition:all .15s;text-align:center;line-height:1.4}
.opt-grid label:hover{border-color:var(--accent);background:var(--paper)}
.opt-grid input[type=radio]{display:none}
.opt-grid label:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea{width:100%;padding:14px 16px;border:1px solid var(--line);background:#fff;font-family:"Noto Sans JP",sans-serif;font-size:14px;color:var(--ink);transition:border-color .15s;font-weight:400;border-radius:0}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent)}
.field textarea{min-height:100px;resize:vertical;line-height:1.7}
.file-area{border:1px dashed var(--line);background:var(--paper);padding:22px 18px;text-align:center;transition:border-color .15s}
.file-area:hover{border-color:var(--accent)}
.file-area input[type=file]{display:block;margin:8px auto 0;font-family:"Noto Sans JP",sans-serif;font-size:12px;color:var(--ink)}
.file-area .file-icon{font-family:"Playfair Display",serif;font-style:italic;font-size:24px;margin-bottom:8px;color:var(--accent)}
.file-area .file-hint{font-family:"Noto Sans JP",sans-serif;font-size:12px;color:var(--ink);font-weight:700;margin-bottom:4px}
.file-area .file-sub{font-family:"Inter",sans-serif;font-size:10px;color:var(--sub);letter-spacing:.1em}
.submit-row{margin-top:36px;padding-top:24px;border-top:1px solid var(--ink);text-align:center}
.submit-btn{display:inline-block;background:var(--ink);color:#fff;border:none;padding:18px 60px;font-family:"Inter",sans-serif;font-weight:700;font-size:12px;letter-spacing:.3em;cursor:pointer;transition:background .2s;border-radius:0;text-transform:uppercase}
.submit-btn:hover{background:var(--accent)}
.submit-row .submit-note{margin-top:14px;font-family:"Playfair Display",serif;font-style:italic;font-size:13px;color:var(--sub);letter-spacing:.1em}
@media(max-width:600px){.order-form{padding:32px 22px}}

/* SECTION CTA (page→page) */
.section-cta{padding:80px 40px;background:var(--paper);text-align:center;border-top:1px solid var(--line)}
.section-cta h3{font-family:"Playfair Display",serif;font-style:italic;font-weight:500;font-size:clamp(24px,3vw,32px);color:var(--ink);margin-bottom:18px}
.section-cta p{font-size:14px;color:var(--sub);margin-bottom:30px;line-height:1.85}
.section-cta .btn-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.section-cta a{display:inline-block;padding:16px 36px;font-family:"Inter",sans-serif;font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;border:1px solid var(--ink);color:var(--ink);transition:all .2s}
.section-cta a:hover{background:var(--ink);color:#fff}
.section-cta a.primary{background:var(--ink);color:#fff}
.section-cta a.primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}

/* FINAL */
.final{padding:120px 0;background:url("/images/02.jpg") center/cover;position:relative;text-align:center}
.final::before{content:"";position:absolute;inset:0;background:rgba(42,36,25,.85)}
.final-inner{position:relative;z-index:2;max-width:780px;margin:0 auto;padding:0 40px;color:#fff}
.final .meta{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.4em;color:var(--cream);text-transform:uppercase;margin-bottom:20px}
.final h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(36px,5vw,64px);line-height:1.2;font-style:italic;margin-bottom:20px;word-break:keep-all}
.final h2 .ja{display:block;font-family:"Noto Sans JP",sans-serif;font-style:normal;font-size:.4em;font-weight:300;color:var(--cream);margin-top:14px;letter-spacing:.1em;word-break:keep-all}
.final p{color:rgba(255,255,255,.9);font-size:15px;line-height:2;max-width:560px;margin:0 auto 36px;word-break:keep-all}
.final-cta{display:inline-block;background:#fff;color:var(--ink);padding:18px 44px;font-family:"Inter",sans-serif;font-size:13px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;transition:background .2s,color .2s}
.final-cta:hover{background:var(--accent);color:#fff}
.final-tel{display:block;margin-top:30px;font-family:"Playfair Display",serif;font-style:italic;font-size:32px;color:var(--cream);font-weight:500}

/* FOOTER */
footer{background:var(--ink);color:var(--cream);padding:50px 40px 28px;font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.1em}
.footer-top{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding-bottom:30px;border-bottom:1px solid #3a3221}
.footer-top .left{font-family:"Playfair Display",serif;font-style:italic;font-size:24px;font-weight:500;color:#fff;letter-spacing:.04em}
.footer-top .left small{display:block;font-family:"Noto Sans JP",sans-serif;font-style:normal;font-size:11px;letter-spacing:.05em;color:var(--cream);margin-top:8px;line-height:1.85}
.footer-top .left .badge{display:inline-block;margin-top:10px;padding:4px 10px;background:var(--accent);color:#fff;font-family:"Noto Sans JP",sans-serif;font-style:normal;font-size:10px;font-weight:700;letter-spacing:.1em;border-radius:2px}
.footer-sns{display:flex;gap:14px;align-items:center}
.footer-sns a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--cream);color:var(--cream);transition:all .2s;border-radius:50%}
.footer-sns a:hover{background:var(--cream);color:var(--ink)}
.footer-sns a svg{width:18px;height:18px;fill:currentColor}
.footer-bottom{max-width:1300px;margin:24px auto 0;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#9a8d70;letter-spacing:.1em}
@media(max-width:760px){.footer-top{grid-template-columns:1fr;text-align:center}.footer-sns{justify-content:center}.footer-bottom{flex-direction:column;gap:12px;text-align:center}}
