:root{--paper:#fbf8f5;--paper-2:#f4ede5;--mist:#efe6dc;--beige:#e2d8cc;--greige:#a89684;--ink:#4a3f3a;--ink-2:#6b5d56;--ink-3:#9b8a80;--pink:#d4a8b0;--pink-soft:#e8d0d2;--lavender:#b8a8c0;--lavender-soft:#d4c8d8;--sage:#a8b09a;--sage-soft:#c8cdb8;--gold:#b89870;--gold-soft:#d8c0a0;--hair:#e2d8cc;--serif:"Cormorant Garamond", "Shippori Mincho B1", serif;--mincho:"Shippori Mincho B1", "Cormorant Garamond", serif;--body:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", "Meiryo", system-ui, sans-serif;--sans:"Jost", -apple-system, sans-serif;--fs-body: 16px}@media(width <= 720px){:root{--fs-body: 14px }}@media(width <= 320px){:root{--fs-body: 10px }}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--body);font-weight:500;line-height:1.9;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-feature-settings:"palt"}a{text-decoration:none;color:inherit}.nav{position:fixed;top:0;right:0;left:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--hair);background:rgba(251,248,245,.82);transition:border-color .4s ease;backdrop-filter:blur(14px)}.nav.scrolled{border-color:var(--hair)}.nav .brand{font-family:var(--serif);font-size:22px;font-weight:400;font-style:italic;line-height:1.1;letter-spacing:.14em;white-space:nowrap}.nav .brand span{display:block;margin-top:2px;font-size:10px;font-style:normal;text-transform:uppercase;letter-spacing:.3em;color:var(--ink-3)}.nav ul{display:none;gap:24px;margin:0;padding:0;list-style:none}.nav ul a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 0}.nav ul a .jp{font-family:var(--mincho);font-size:15px;font-weight:500;letter-spacing:.14em;color:var(--ink)}.nav ul a .en{font-family:var(--sans);font-size:9.5px;text-transform:uppercase;letter-spacing:.28em;color:var(--ink-3)}.nav ul a:hover .jp,.nav ul a:hover .en{color:var(--greige)}.nav ul a.current .jp,.nav ul a.current .en{color:var(--greige)}.nav-right{display:flex;align-items:center;gap:18px}.nav-right .cart{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.nav-right .cart .jp{display:none;font-family:var(--mincho);font-size:13px;letter-spacing:.14em;color:var(--ink)}.nav-right .cart .en{margin-top:4px;font-family:var(--sans);font-size:9.5px;text-transform:uppercase;letter-spacing:.28em;color:var(--ink-3)}.menu-btn{display:flex;flex-direction:column;gap:5px;padding:6px;border:none;background:none;cursor:pointer}.menu-btn span{display:block;width:22px;height:1px;background:var(--ink)}@media(width >= 980px){.nav ul{display:flex;gap:32px}.menu-btn{display:none}.nav{padding:24px 48px}.nav-right .cart .jp{display:block}}.page-head{max-width:1100px;margin:40px auto 0;padding:96px 40px 48px;text-align:center}.page-head .label{margin-bottom:22px;font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.4em;color:var(--ink-3)}.page-head h1{margin:0 0 18px;font-family:var(--serif);font-size:clamp(32px,6vw,64px);font-weight:300;line-height:1.1;color:var(--ink)}.page-head h1 em{font-style:italic;color:var(--greige)}.page-head .jp-sub{margin:0;font-family:var(--mincho);font-size:var(--fs-body);letter-spacing:.08em;color:var(--ink-2)}.page-head .hair{width:40px;height:1px;margin:40px auto 0;background:var(--greige)}.page-head.with-bg{position:relative;display:flex;justify-content:center;align-items:center;max-width:none;min-height:70vh;margin:0;padding:0;color:var(--paper);overflow:hidden}.page-head.with-bg .page-head-bg{position:absolute;z-index:0;inset:0}.page-head.with-bg .page-head-bg img{display:block;width:100%;height:100%;object-fit:cover}.page-head.with-bg .page-head-bg::after{position:absolute;background:linear-gradient(180deg, rgba(74, 63, 58, 0.5) 0%, rgba(74, 63, 58, 0.62) 100%);content:"";inset:0}.page-head.with-bg .page-head-inner{position:relative;z-index:1;max-width:820px;padding:140px 24px 80px;text-align:center}.page-head.with-bg .breadcrumb{margin-bottom:36px;font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.3em;color:rgba(251,248,245,.8)}.page-head.with-bg .breadcrumb a{color:rgba(251,248,245,.95)}.page-head.with-bg .breadcrumb a:hover{color:var(--pink-soft)}.page-head.with-bg .breadcrumb span{margin:0 8px}.page-head.with-bg .label{color:rgba(251,248,245,.85)}.page-head.with-bg h1{color:var(--paper);text-shadow:0 2px 14px rgba(0,0,0,.18)}.page-head.with-bg h1 em{color:var(--pink-soft)}.page-head.with-bg .jp-sub{color:rgba(251,248,245,.85)}.page-head.with-bg .hair{background:rgba(251,248,245,.6)}@media(width <= 720px){.page-head.with-bg{min-height:56vh}.page-head.with-bg .page-head-inner{padding:110px 20px 60px}}.intro{max-width:820px;margin:0 auto;padding:80px 40px;text-align:center}.intro p{margin:0 0 14px;font-size:var(--fs-body);line-height:2.2;color:var(--ink-2)}.steps-sec{padding:96px 40px;background:var(--paper-2)}.steps-inner{max-width:1100px;margin:0 auto}.sec-label{margin-bottom:18px;font-family:var(--sans);font-size:10px;text-align:center;text-transform:uppercase;letter-spacing:.4em;color:var(--ink-3)}.sec-title{margin:0 0 64px;font-family:var(--serif);font-size:clamp(32px,4vw,48px);font-weight:300;line-height:1.15;text-align:center;color:var(--ink)}.sec-title em{font-style:italic;color:var(--greige)}.steps{display:grid;gap:0;grid-template-columns:1fr;max-width:900px;margin:0 auto;padding:0;list-style:none}.steps li{display:grid;align-items:start;gap:32px;grid-template-columns:80px 180px 1fr;padding:32px 0;border-bottom:1px solid var(--hair)}.steps li:first-child{border-top:1px solid var(--hair)}.steps .no{font-family:var(--serif);font-size:42px;font-style:italic;line-height:1;color:var(--greige)}.steps .ttl{font-family:var(--mincho);font-size:var(--fs-body);letter-spacing:.1em;color:var(--ink)}.steps .ttl small{display:block;margin-top:8px;font-family:var(--sans);font-size:9px;text-transform:uppercase;letter-spacing:.3em;color:var(--ink-3)}.steps p{margin:0;font-size:var(--fs-body);line-height:2.1;color:var(--ink-2)}@media(width <= 640px){.steps li{gap:20px;grid-template-columns:60px 1fr}.steps .ttl{grid-column:2}.steps p{grid-column:1/-1;padding-left:80px}}.price-sec{max-width:1100px;margin:0 auto;padding:96px 40px}.price-grid{display:grid;gap:0;grid-template-columns:repeat(3, 1fr);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}.price-grid>div{padding:40px 28px;border-right:1px solid var(--hair);text-align:center}.price-grid>div:last-child{border-right:none}.price-grid .cat{margin-bottom:16px;font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.4em;color:var(--ink-3)}.price-grid .name{margin-bottom:12px;font-family:var(--serif);font-size:26px;font-weight:400;color:var(--ink)}.price-grid .jp-name{margin-bottom:24px;font-family:var(--mincho);font-size:var(--fs-body);letter-spacing:.1em;color:var(--ink-2)}.price-grid .amount{margin-bottom:8px;font-family:var(--serif);font-size:22px;font-style:italic;color:var(--greige)}.price-grid .note{font-size:12px;letter-spacing:.05em;color:var(--ink-3)}.price-note{margin-top:28px;font-size:var(--fs-body);text-align:center;letter-spacing:.05em;color:var(--ink-3)}@media(width <= 720px){.price-grid{grid-template-columns:1fr}.price-grid>div{border-right:none;border-bottom:1px solid var(--hair)}.price-grid>div:last-child{border-bottom:none}}.form-sec{padding:96px 40px;background:var(--mist)}.form-inner{max-width:820px;margin:0 auto;padding:72px 64px;border:1px solid var(--hair);background:var(--paper)}.form-lead{margin:0 0 48px;font-size:var(--fs-body);line-height:2.1;text-align:center;color:var(--ink-2)}.field{display:block;margin-bottom:28px}.field label{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-family:var(--body);font-size:var(--fs-body);letter-spacing:.15em;color:var(--ink)}.field label .en{font-family:var(--sans);font-size:9px;text-transform:uppercase;letter-spacing:.3em;color:var(--ink-3)}.field label .req{padding:2px 8px;border-radius:2px;font-family:var(--sans);font-size:8px;letter-spacing:.2em;color:#c47b86;background:var(--pink-soft)}.field input,.field textarea,.field select{width:100%;padding:12px 0;border:none;border-bottom:1px solid var(--hair);font-family:var(--body);font-size:var(--fs-body);color:var(--ink);background:rgba(0,0,0,0);transition:border-color .3s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--greige);outline:none}.field textarea{min-height:120px;resize:vertical}.field-row{display:grid;gap:32px;grid-template-columns:1fr 1fr}@media(width <= 640px){.form-inner{padding:48px 28px}.field-row{gap:0;grid-template-columns:1fr}}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{padding:10px 18px;border:1px solid var(--hair);border-radius:999px;font-family:var(--body);font-size:var(--fs-body);letter-spacing:.1em;color:var(--ink-2);background:rgba(0,0,0,0);cursor:pointer;transition:all .25s}.chip:hover{border-color:var(--greige);color:var(--ink)}.chip.active{border-color:var(--lavender);color:var(--ink);background:var(--lavender-soft)}.submit-row{display:flex;justify-content:center;margin-top:48px}.btn{display:inline-block;padding:18px 48px;border:1px solid var(--ink);font-family:var(--sans);font-size:12px;text-transform:uppercase;letter-spacing:.3em;color:var(--ink);background:rgba(0,0,0,0);cursor:pointer;transition:all .3s}.btn:hover{color:var(--paper);background:var(--ink)}.btn-gold{border-color:var(--gold);color:var(--gold)}.btn-gold:hover{color:var(--paper);background:var(--gold)}.faq{max-width:900px;margin:0 auto;padding:96px 40px}.faq details{padding:24px 0;border-top:1px solid var(--hair)}.faq details:last-child{border-bottom:1px solid var(--hair)}.faq summary{display:flex;align-items:start;gap:20px;font-family:var(--body);font-size:var(--fs-body);letter-spacing:.05em;color:var(--ink);cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::before{width:24px;font-family:var(--serif);font-size:22px;font-style:italic;line-height:1;color:var(--greige);content:"Q";flex-shrink:0}.faq summary::after{margin-left:auto;font-family:var(--sans);font-size:20px;color:var(--ink-3);transition:transform .3s;content:"+"}.faq details[open] summary::after{transform:rotate(45deg)}.faq .ans{padding:18px 0 8px 44px;font-size:var(--fs-body);line-height:2.1;color:var(--ink-2)}.alt-cta{padding:72px 40px;border-top:1px solid var(--hair);text-align:center;background:var(--paper-2)}.alt-cta h3{margin:0 0 12px;font-family:var(--serif);font-size:28px;font-weight:300}.alt-cta p{margin:0 0 28px;font-size:var(--fs-body);color:var(--ink-2)}footer{padding:100px 24px 36px;color:var(--paper);background:var(--ink)}.foot-inner{max-width:1320px;margin:0 auto}.foot-top{display:grid;gap:56px;grid-template-columns:1fr;padding-bottom:64px;border-bottom:1px solid rgba(251,248,245,.12)}.foot-brand .mark{margin-bottom:14px;font-family:var(--serif);font-size:36px;font-style:italic;letter-spacing:.12em}.foot-brand .tag{margin-bottom:28px;font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:.32em;color:rgba(251,248,245,.55)}.foot-brand p{max-width:36em;margin:0;font-family:var(--mincho);font-size:var(--fs-body);line-height:2.1;color:rgba(251,248,245,.92)}.foot-col h5{margin:0 0 20px;font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:.32em;color:rgba(251,248,245,.7)}.foot-col ul{margin:0;padding:0;list-style:none}.foot-col li{margin-bottom:12px;font-family:var(--mincho);font-size:var(--fs-body);color:rgba(251,248,245,.95)}.foot-col a:hover{color:#e8d0d0}.foot-news input{width:100%;padding:12px 0;border:none;border-bottom:1px solid rgba(251,248,245,.3);font-family:var(--mincho);font-size:var(--fs-body);color:var(--paper);background:rgba(0,0,0,0);outline:none}.foot-news input::placeholder{color:rgba(251,248,245,.4)}.foot-news .row{display:flex;align-items:flex-end;gap:14px}.foot-news button{padding:12px 0;border:none;font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:.32em;color:rgba(232,208,210,.95);background:none;cursor:pointer}.foot-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:32px;font-family:var(--sans);font-size:10.5px;text-transform:uppercase;letter-spacing:.24em;color:rgba(251,248,245,.5)}@media(width >= 920px){.foot-top{gap:56px;grid-template-columns:2fr 1fr 1fr 1.4fr}}@media(width <= 900px){.nav ul{display:none}.menu-btn{display:flex}.nav{padding:16px 20px}.page-head{padding:64px 24px 32px}.steps-sec,.form-sec,.faq,.price-sec{padding-right:20px;padding-left:20px}}