:root{--sumi:#1A1A1A;--kinari:#F4EFE6;--kinari-deep:#ECE4D2;--shu:#C8472D;--ki:#A47551;--matcha:#7A9269;--suna:#D0C8B8;--mincho:"Yu Mincho","游明朝","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;--gothic:"Yu Gothic","游ゴシック","YuGothic","Hiragino Kaku Gothic ProN",sans-serif;--serif-en:Georgia,"Cormorant Garamond","Times New Roman",serif}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--kinari);color:var(--sumi);font-family:var(--mincho);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}main{max-width:720px;margin:0 auto;padding:0 24px}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px 60px;position:relative}.hero .mark{font-family:var(--serif-en);font-size:13px;color:var(--shu);margin-bottom:64px}.hero .kanji,.hero .mark{letter-spacing:.5em;text-indent:.5em}.hero .kanji{font-size:clamp(64px,14vw,140px);line-height:1.2;margin-bottom:32px}.hero .kanji,.hero h1{font-family:var(--mincho);font-weight:500}.hero h1{font-size:clamp(22px,4vw,32px);letter-spacing:.2em;margin-bottom:24px;line-height:1.6}.hero p{font-size:clamp(13px,2vw,15px);color:#444;letter-spacing:.1em;line-height:2.2;max-width:28em}.hero .scroll-hint{position:absolute;bottom:32px;font-family:var(--gothic);font-size:10px;letter-spacing:.4em;color:#888}section{padding:96px 0;border-top:1px solid var(--suna)}section:first-of-type{border-top:none}.personas{text-align:center;font-family:var(--mincho);font-size:clamp(15px,2.4vw,18px);line-height:2.2;letter-spacing:.1em}.personas p{margin:0 0 8px}.personas .muted{color:#888;margin-top:24px;font-size:14px}.personas .lead{margin-top:40px;font-size:clamp(16px,2.6vw,19px);letter-spacing:.15em;color:var(--sumi)}.boundaries{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px;margin-top:48px}@media (min-width:720px){.boundaries{grid-template-columns:repeat(3,1fr)}}.boundary{background:var(--kinari-deep);border:1px solid var(--suna);padding:32px 24px}.boundary.off{border-top:3px solid #888}.boundary.choose{border-top:3px solid var(--shu)}.boundary.on{border-top:3px solid var(--matcha)}.boundary .b-label{font-family:var(--mincho);font-size:16px;letter-spacing:.25em;font-weight:500;margin-bottom:4px}.boundary .b-sub{font-family:var(--gothic);font-size:10px;letter-spacing:.3em;color:#888;margin-bottom:20px}.boundary ul{list-style:none;margin:0;padding:0;font-size:13px;line-height:2;color:#444}.boundary ul li:before{content:"— ";color:#aaa}.day-note{text-align:center;font-family:var(--gothic);font-size:11px;letter-spacing:.3em;color:#888;margin-bottom:32px}.day-timeline{list-style:none;padding:0;max-width:480px;margin:0 auto}.day-timeline li{display:grid;grid-template-columns:64px 1fr;grid-gap:16px;gap:16px;padding:12px 0;border-bottom:1px dotted var(--suna);font-size:13px;line-height:1.8}.day-timeline li:last-child{border-bottom:none}.day-timeline .t{font-family:var(--serif-en);font-size:14px;color:var(--shu);letter-spacing:.05em}.day-timeline .d{font-family:var(--mincho);color:var(--sumi)}.day-after{text-align:center;margin-top:40px;font-size:13px;color:#666;letter-spacing:.1em;line-height:2}.about-card{max-width:480px;margin:0 auto;text-align:center}.about-name{font-family:var(--mincho);font-size:22px;letter-spacing:.2em;margin-bottom:4px}.about-title{font-family:var(--gothic);font-size:11px;letter-spacing:.3em;color:var(--shu);margin-bottom:32px}.about-bio{font-size:14px;line-height:2;color:#333;text-align:justify;margin-bottom:32px}.about-bio p{margin:0 0 12px}.about-org{border-top:1px solid var(--suna);padding-top:24px;font-size:12px;text-align:left;max-width:340px;margin:0 auto}.o-row{display:grid;grid-template-columns:96px 1fr;grid-gap:12px;gap:12px;padding:4px 0}.o-key{font-family:var(--gothic);font-size:10px;letter-spacing:.3em;color:#888}.o-val{font-family:var(--mincho);color:var(--sumi)}.section-label{font-family:var(--gothic);font-size:10px;letter-spacing:.5em;color:var(--shu);text-align:center;margin-bottom:32px}.section-title{font-family:var(--mincho);font-size:clamp(20px,3.5vw,28px);text-align:center;letter-spacing:.15em;font-weight:500;margin-bottom:48px;line-height:1.6}.story p{font-size:15px;line-height:2.2;margin-bottom:24px;text-align:justify}.story p:last-child{margin-bottom:0}.pull-quote{font-family:var(--mincho);font-size:clamp(22px,4vw,32px);text-align:center;letter-spacing:.2em;margin:64px 0;line-height:1.6}.program{display:grid;grid-template-columns:1fr;grid-gap:48px;gap:48px;margin-top:32px}@media (min-width:720px){.program{grid-template-columns:repeat(3,1fr);gap:32px}}.program-item{text-align:center}.program-item .num{font-family:var(--serif-en);font-size:12px;letter-spacing:.4em;color:var(--shu);margin-bottom:12px}.program-item .title{font-family:var(--mincho);font-size:16px;letter-spacing:.2em;font-weight:500;margin-bottom:12px}.program-item .desc{font-size:13px;color:#555;line-height:2}.plans{display:grid;grid-template-columns:1fr;grid-gap:24px;gap:24px;margin-top:32px}@media (min-width:640px){.plans{grid-template-columns:1fr 1fr}}@media (min-width:900px){.plans.plans-3{grid-template-columns:1fr 1fr 1fr}}.plan.recommended{background:var(--sumi);position:relative;border-color:var(--sumi);transform:translateY(-8px)}.plan.recommended,.plan.recommended .name,.plan.recommended .price-note{color:var(--kinari)}.plan.recommended .sub{color:var(--shu)}.plan.recommended .badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--shu);color:var(--kinari);font-family:var(--gothic);font-size:10px;letter-spacing:.3em;padding:4px 16px}.plan.recommended ul li:before{color:var(--shu)}.plan{background:var(--kinari-deep);padding:48px 32px;text-align:center;border:1px solid var(--suna)}.plan .name{font-family:var(--mincho);font-size:18px;letter-spacing:.2em;margin-bottom:8px}.plan .sub{font-family:var(--gothic);font-size:10px;letter-spacing:.3em;color:var(--shu);margin-bottom:24px}.plan .price{font-family:var(--serif-en);font-size:28px;letter-spacing:.05em;margin-bottom:4px}.plan .price-note{font-size:11px;color:#777;margin-bottom:24px}.plan ul{list-style:none;text-align:left;font-size:13px;line-height:2;max-width:14em;margin:0 auto}.plan ul li:before{content:"— ";color:var(--shu)}.voices{display:flex;flex-direction:column;gap:32px;align-items:center}.voice{font-family:var(--mincho);font-size:18px;letter-spacing:.15em;text-align:center;color:#1A1A1A}.voice-note{font-family:var(--gothic);font-size:11px;color:#888;margin-top:32px;letter-spacing:.2em}.faq{display:flex;flex-direction:column;gap:24px;margin-top:16px}.faq details{border-bottom:1px solid var(--suna);padding:16px 0}.faq summary{cursor:pointer;list-style:none;font-family:var(--mincho);font-size:15px;letter-spacing:.1em;display:flex;justify-content:space-between;align-items:center}.faq summary:after{content:"＋";font-family:var(--gothic);color:var(--shu);font-size:14px}.faq details[open] summary:after{content:"−"}.faq summary::-webkit-details-marker{display:none}.faq .a{font-size:13px;line-height:2;color:#444;padding:16px 0 0}.signup{background:var(--sumi);margin-top:64px;padding:80px 24px;text-align:center}.signup,.signup .section-title,.signup h2{color:var(--kinari)}.signup .section-label{color:var(--shu)}.signup .signup-note{font-size:12px;color:#aaa;letter-spacing:.15em;margin-bottom:32px}.signup form{display:flex;flex-direction:column;gap:12px;max-width:420px;margin:0 auto}@media (min-width:560px){.signup form{flex-direction:row}}.signup input[type=email]{flex:1 1;background:transparent;border:1px solid var(--kinari);color:var(--kinari);padding:14px 16px;font-family:var(--mincho);font-size:14px;letter-spacing:.05em;outline:none}.signup input[type=email]::placeholder{color:#888}.signup button{background:var(--shu);color:var(--kinari);border:1px solid var(--shu);padding:14px 32px;font-family:var(--gothic);font-size:12px;letter-spacing:.4em;cursor:pointer;transition:background .2s}.signup button:hover{background:#b03c25}.signup button:disabled{opacity:.5;cursor:not-allowed}.signup .msg{margin-top:24px;font-size:12px;color:var(--kinari);letter-spacing:.15em}.signup .msg.error{color:#ff8d76}.tool{max-width:640px;margin:0 auto;padding:48px 24px 64px;min-height:100vh}.tool-header{text-align:center;margin-bottom:48px}.tool-header .t-mark{font-family:var(--serif-en);font-size:11px;letter-spacing:.5em;color:var(--shu);margin-bottom:16px}.tool-header .t-kanji{font-family:var(--mincho);font-size:clamp(48px,10vw,80px);letter-spacing:.5em;text-indent:.5em;line-height:1.2;margin-bottom:16px}.tool-header .t-sub{font-family:var(--gothic);font-size:11px;letter-spacing:.3em;color:#888}.progress{height:2px;background:var(--suna);margin:0 0 32px;overflow:hidden}.progress span{display:block;height:100%;background:var(--shu);transition:width .4s ease}.q-num{font-family:var(--serif-en);font-size:11px;letter-spacing:.4em;color:var(--shu);margin-bottom:16px;text-align:center}.q-title{font-family:var(--mincho);font-size:clamp(20px,3.8vw,26px);font-weight:500;line-height:1.6;margin-bottom:8px}.q-sub,.q-title{letter-spacing:.1em;text-align:center}.q-sub{font-size:12px;color:#888;margin-bottom:32px}.q-options{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.q-options button{width:100%;text-align:left;background:var(--kinari-deep);border:1px solid var(--suna);padding:18px 20px;font-family:var(--mincho);font-size:15px;color:var(--sumi);cursor:pointer;letter-spacing:.05em;line-height:1.6;transition:background .15s,border-color .15s}.q-options button:hover{background:#e6dcc4;border-color:var(--ki)}.q-options button.selected{background:#1a1a1a;color:var(--kinari);border-color:var(--sumi)}.q-options.multi button .check{display:inline-block;width:18px;height:18px;border:1px solid var(--sumi);margin-right:12px;text-align:center;line-height:18px;font-size:12px;vertical-align:middle}.q-options.multi button.selected .check{background:var(--shu);border-color:var(--shu);color:var(--kinari)}.multi-next{margin-top:24px;text-align:center}.next-btn{background:var(--shu);color:var(--kinari);border:1px solid var(--shu);padding:12px 32px;font-family:var(--gothic);font-size:12px;letter-spacing:.4em;cursor:pointer}.next-btn:disabled{opacity:.4;cursor:not-allowed}.back{margin-top:24px;text-align:center}.back button{background:none;border:none;color:#888;font-family:var(--gothic);font-size:11px;letter-spacing:.3em;cursor:pointer}.tool-result{padding-top:8px}.r-label{font-family:var(--serif-en);font-size:11px;letter-spacing:.5em;color:var(--shu);text-align:center;margin-bottom:12px}.r-title{font-family:var(--mincho);font-size:clamp(24px,4vw,32px);text-align:center;letter-spacing:.2em;font-weight:500;margin-bottom:32px}.severity{background:var(--kinari-deep);border:1px solid var(--suna);padding:24px;text-align:center;margin-top:32px}.severity .s-label{font-family:var(--gothic);font-size:10px;letter-spacing:.4em;color:#888;margin-bottom:8px}.severity .s-score{font-family:var(--mincho);font-size:22px;letter-spacing:.25em;margin-bottom:8px}.severity .s-desc{font-size:13px;line-height:1.9;color:#444}.recommend{background:var(--sumi);color:var(--kinari);padding:32px 24px;text-align:center;margin:24px 0}.recommend .rec-label{font-family:var(--gothic);font-size:10px;letter-spacing:.4em;color:var(--shu);margin-bottom:8px}.recommend .rec-name{font-family:var(--mincho);font-size:18px;letter-spacing:.2em;margin-bottom:4px}.recommend .rec-price{font-family:var(--serif-en);font-size:24px;margin-bottom:16px}.recommend .rec-cta{display:inline-block;padding:10px 24px;border:1px solid var(--kinari);color:var(--kinari);font-family:var(--gothic);font-size:11px;letter-spacing:.3em;text-decoration:none}.recommend .rec-cta:hover{background:var(--kinari);color:var(--sumi)}.capture{background:var(--kinari-deep);padding:32px 24px;margin:24px 0;text-align:center;border:1px solid var(--suna)}.capture h3{font-family:var(--mincho);font-size:16px;letter-spacing:.15em;margin-bottom:8px;font-weight:500}.capture .cap-note{font-size:11px;color:#888;margin-bottom:20px;letter-spacing:.05em}.capture form{display:flex;flex-direction:column;gap:10px;max-width:380px;margin:0 auto}@media (min-width:480px){.capture form{flex-direction:row}}.capture input[type=email]{flex:1 1;background:#fff;border:1px solid var(--suna);color:var(--sumi);padding:12px 14px;font-family:var(--mincho);font-size:13px;outline:none}.capture button{background:var(--shu);color:var(--kinari);border:1px solid var(--shu);padding:12px 24px;font-family:var(--gothic);font-size:11px;letter-spacing:.3em;cursor:pointer;white-space:nowrap}.capture button:disabled{opacity:.4;cursor:not-allowed}.capture .msg{margin-top:16px;font-size:11px;color:var(--matcha);letter-spacing:.1em}.capture .msg.error{color:var(--shu)}.r-actions{text-align:center;margin-top:24px}.r-actions .ghost{background:none;border:1px solid var(--suna);color:#666;padding:10px 24px;font-family:var(--gothic);font-size:11px;letter-spacing:.3em;cursor:pointer}.tool-footer{text-align:center;padding-top:48px;margin-top:48px;border-top:1px solid var(--suna);font-family:var(--gothic);font-size:10px;letter-spacing:.4em;color:#888}.tool-footer .seal{display:inline-block;background:var(--shu);color:var(--kinari);font-family:var(--mincho);font-size:13px;width:24px;height:24px;line-height:24px;letter-spacing:0;margin-right:10px;vertical-align:middle}.beta-hero{background:var(--kinari)}.beta-hero h1{font-family:var(--mincho);font-size:clamp(20px,3.6vw,28px);font-weight:500;letter-spacing:.25em;margin-bottom:24px}.beta-hero .price-now{color:var(--shu);font-size:1.1em}.beta main{max-width:720px}.included ul{list-style:none;padding:0;max-width:520px;margin:24px auto;font-size:14px;line-height:2.2}.included ul li:before{content:"— ";color:var(--shu)}.price-display{background:var(--kinari-deep);border:1px solid var(--suna);padding:40px 24px;text-align:center;margin-top:32px}.price-display .price-old{font-family:var(--gothic);font-size:13px;color:#888;text-decoration:line-through;letter-spacing:.2em}.price-display .price-now-large{font-family:var(--serif-en);font-size:clamp(32px,5vw,44px);color:var(--shu);margin:12px 0 8px;letter-spacing:.05em}.price-display .price-note{font-family:var(--gothic);font-size:11px;color:#666;letter-spacing:.3em}.schedule{list-style:none;padding:0;margin:32px auto 0;max-width:520px}.schedule li{display:grid;grid-template-columns:110px 1fr;grid-gap:16px;gap:16px;padding:14px 0;border-bottom:1px dotted var(--suna);font-size:13px;line-height:1.8}.schedule li:last-child{border-bottom:none}.schedule .s-date{font-family:var(--serif-en);color:var(--shu);font-size:12px;letter-spacing:.1em}.schedule .s-text{font-family:var(--mincho);color:var(--sumi)}.beta-form{max-width:520px;margin:0 auto;gap:20px}.beta-form,.beta-form label{display:flex;flex-direction:column}.beta-form label{gap:6px}.beta-form .label{font-family:var(--gothic);font-size:11px;letter-spacing:.2em;color:#555}.beta-form .label em{color:var(--shu);font-style:normal;font-size:9px;margin-left:8px}.beta-form input[type=email],.beta-form input[type=text],.beta-form select,.beta-form textarea{background:#fff;border:1px solid var(--suna);padding:12px 14px;font-family:var(--mincho);font-size:14px;color:var(--sumi);outline:none}.beta-form textarea{resize:vertical;min-height:100px;font-family:var(--mincho)}.beta-form input:focus,.beta-form select:focus,.beta-form textarea:focus{border-color:var(--shu)}.beta-form .row-2{display:grid;grid-template-columns:1fr;grid-gap:20px;gap:20px}@media (min-width:520px){.beta-form .row-2{grid-template-columns:1fr 1fr}}.beta-form label.agree{flex-direction:row;align-items:flex-start;gap:10px;font-family:var(--mincho);font-size:12px;color:#555;line-height:1.8;margin-top:8px}.beta-form label.agree input{margin-top:4px}.beta-form label.agree a{color:var(--shu);text-decoration:underline}.beta-form .submit{background:var(--shu);color:var(--kinari);border:1px solid var(--shu);padding:16px 32px;font-family:var(--gothic);font-size:12px;letter-spacing:.4em;cursor:pointer;margin-top:16px}.beta-form .submit:hover{background:#b03c25}.beta-form .submit:disabled{opacity:.5;cursor:not-allowed}.beta-form .form-msg{margin-top:16px;font-size:12px;letter-spacing:.1em;padding:12px 16px}.beta-form .form-msg.success{background:#ecf3e0;color:#2a5a1a;border-left:4px solid var(--matcha)}.beta-form .form-msg.error{background:#fbeee8;color:var(--shu);border-left:4px solid var(--shu)}footer{text-align:center;padding:48px 24px 32px;font-family:var(--gothic);font-size:10px;letter-spacing:.4em;color:#888}footer .seal{display:inline-block;background:var(--shu);color:var(--kinari);font-family:var(--mincho);font-size:14px;width:28px;height:28px;line-height:28px;letter-spacing:0;margin-right:12px;vertical-align:middle}