:root{--pink:#cc1554;--purple:#772c60;--tint:#faf2f6;--ink:#29242a;--muted:#635860;--line:#e4d6df;--green:#079847;--max:1060px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:"Noto Sans CJK JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:17px;line-height:2}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700}h2{font-size:34px;line-height:1.55}h3{font-size:26px;line-height:1.7}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}a:focus-visible,summary:focus-visible{outline:3px solid #692b87;outline-offset:5px}.wrap{width:calc(100% - 48px);max-width:var(--max);margin:auto}.skip{position:fixed;left:15px;top:-80px;background:#fff;padding:10px;z-index:99}.skip:focus{top:10px}.preview{text-align:center;background:#f1edef;color:#635860;font-size:11px;line-height:28px}.header{position:sticky;top:0;z-index:30;background:white;border-bottom:1px solid #f1e9ee}.header-row{height:86px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand img{width:36px;height:35px}.brand b{font:700 27px Arial,sans-serif;letter-spacing:.1em}.brand small{display:block;font-size:11px;line-height:1.6;white-space:nowrap}.nav{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:700}.nav a{white-space:nowrap}.nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:62px;padding:16px 24px;background:var(--green);border:2px solid var(--green);color:#fff;border-radius:3px;font-weight:700;font-size:18px;line-height:1.5}.btn img{width:29px;height:29px;flex-shrink:0}.btn:hover{background:#06763a;border-color:#06763a}.btn.small{font-size:14px;min-height:46px;padding:10px 17px}.btn.pink{background:var(--pink);border-color:var(--pink)}
.hero{position:relative;min-height:730px;background:#eee7e2}.hero-room{position:absolute;inset:0;margin:0;overflow:hidden}.hero-room>img{width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero-room figcaption{position:absolute;right:25px;bottom:17px;background:#ffffffeb;padding:5px 13px;font-size:13px;color:#443943}.hero-inner{position:relative;padding:62px 0 68px}.hero-copy{width:550px;max-width:54%;background:#ffffffef;padding:35px 34px 30px}.target{font-size:15px;line-height:1.8;font-weight:700;color:var(--purple);margin-bottom:19px}.hero h1{font-size:40px;line-height:1.55;letter-spacing:-.035em}.hero h1 span{color:var(--pink)}.hero-copy>p:not(.target){font-size:17px;line-height:2;margin-top:22px}.hero-copy .btn{margin-top:27px;width:100%;font-size:18px}.hero-copy small{display:block;font-size:14px;line-height:1.8;margin-top:12px;color:var(--muted)}.scope-band{background:var(--purple);color:white}.scope-band .wrap{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:28px;padding:25px 0}.scope-band p{line-height:1.7}.scope-band p+p{border-left:1px solid #ad7298;padding-left:28px}.scope-band b{display:block;font-size:26px}.scope-band span{display:block;font-size:15px;color:#f8eaf1;margin-top:3px}
.section{padding:90px 0}.section.tint{background:var(--tint)}.title{text-align:center;margin-bottom:24px}.title span{color:var(--pink)}.intro{max-width:710px;margin:0 auto 36px;text-align:center;color:var(--muted);font-size:17px;line-height:2}.eyebrow{font-size:15px;color:#954c71;font-weight:700;letter-spacing:.03em;margin-bottom:16px}.text-link{display:inline-block;color:#a52a5b;text-decoration:underline;text-underline-offset:6px;font-size:15px;font-weight:500;line-height:1.9}.clinic-section{padding:90px 0 80px}.clinic-story{display:grid;grid-template-columns:1.05fr 1fr;gap:58px;width:calc(100% - 48px);max-width:1200px;margin:auto;align-items:center}.staff-photo{margin:0}.staff-photo img{width:100%;height:auto}.staff-photo figcaption,.clinic-story-copy{max-width:535px;min-width:0}.clinic-story-copy h2{font-size:34px;line-height:1.55;margin-bottom:25px}.clinic-story-copy p:not(.eyebrow){font-size:17px;line-height:2;margin-top:18px}.clinic-story-copy .text-link{margin-top:26px}.worries-section{background:#fbf8fa;padding:76px 0}.worry-images{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;margin-top:34px}.worry-images img{width:100%}.answer{text-align:center;font-size:27px;line-height:1.7;margin-top:35px;color:var(--purple)}.answer p{font-size:17px;font-weight:400;line-height:2;color:var(--muted);margin-top:16px}.mobile-break{display:none}
.opening-editorial{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px}.opening-heading .title{text-align:left;font-size:34px;line-height:1.65}.opening-heading>p:last-of-type{font-size:17px;line-height:2;color:var(--muted)}.consult-list{margin:0;padding:0;border-top:2px solid #964b70}.consult-list>div{padding:26px 0 29px;border-bottom:1px solid var(--line)}.consult-list dt{font-size:26px;font-weight:700;line-height:1.7}.consult-list dt small{display:block;font-size:14px;font-weight:400;color:#954c71;margin:3px 0 14px}.consult-list dd{margin:0;font-size:17px;line-height:2}.opening-checklist{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;padding:35px;background:var(--tint);margin-top:48px}.opening-checklist h3{font-size:26px;color:var(--purple);line-height:1.7;margin-bottom:18px}.opening-checklist p{font-size:16px;line-height:2}.opening-checklist ol{margin:0;padding-left:24px}.opening-checklist li{padding:0 0 17px 5px;color:#9a5074}.opening-checklist li:last-child{padding-bottom:0}.opening-checklist b{display:block;font-size:17px;color:var(--ink);line-height:1.8}.opening-checklist span{display:block;font-size:15px;color:var(--muted);line-height:1.9;margin-top:3px}
.digital-eyebrow{text-align:center}.support-lead{display:grid;grid-template-columns:.7fr 1.3fr;gap:45px;align-items:center;margin:42px 0 32px}.support-lead h3{font-size:26px;line-height:1.7;margin-bottom:20px}.support-lead p{font-size:17px;line-height:2}.booking-evidence{background:white;padding:9px}.booking-evidence img{width:100%}.booking-evidence figcaption{font-size:14px;line-height:1.8;color:var(--muted);padding:11px 7px 5px}.photography-note{display:grid;grid-template-columns:320px 1fr;gap:35px;margin:35px 0 44px;padding:25px 28px;background:#fff;border-left:3px solid #b45780}.photography-note h3{font-size:25px;color:var(--purple)}.photography-note p{font-size:16px;line-height:2}.service-grid{display:block;border-top:1px solid #d9c5d0}.service{display:grid;grid-template-columns:320px 1fr;gap:0 35px;padding:28px 0;border-bottom:1px solid #d9c5d0}.service h3{grid-column:1;grid-row:1 / 3;font-size:25px;line-height:1.7}.service-number{display:block;font:400 17px Arial,sans-serif;color:#a95379;margin-bottom:10px}.service>p{grid-column:2;grid-row:1;font-size:17px;line-height:2}.service ul{grid-column:2;grid-row:2;margin:14px 0 0;padding-left:20px}.service li{font-size:16px;line-height:1.9;margin:3px 0}.feature-note{font-size:14px;line-height:1.9;color:var(--muted);margin-top:22px}.service-contact{margin-top:30px;text-align:right;font-size:16px;line-height:1.9;color:#9f325e}.service-contact a{text-decoration:underline;text-underline-offset:6px}
.heading-bar{font-size:34px;line-height:1.6;margin-bottom:30px}.steps{max-width:100%;display:block}.step{display:grid;grid-template-columns:35px 270px 1fr;gap:25px;padding:26px 0;border-top:1px solid #dccbd5}.step small{font-size:15px;color:#a24e76;padding-top:5px}.step h3{font-size:22px;line-height:1.7}.step p{font-size:17px;line-height:2}.fee-box{display:grid;grid-template-columns:.9fr 1.2fr;gap:40px;background:white;border-top:3px solid #aa4a76;padding:36px;margin-top:40px}.fee-box h3{font-size:27px;line-height:1.7;color:var(--purple)}.fee-box p{font-size:17px;line-height:2}.fee-box .eyebrow{font-size:15px;margin-bottom:15px}.fee-scope{margin:24px 0;border-top:1px solid var(--line)}.fee-scope>div{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.fee-scope dt{font-size:16px;font-weight:700;color:var(--purple)}.fee-scope dd{font-size:16px;line-height:1.9;margin:0}.fee-box .fee-note{font-size:14px;color:var(--muted);line-height:1.9}.faqs{max-width:900px;margin:auto;border-top:1px solid var(--line)}.faq{border-bottom:1px solid var(--line)}.faq summary{position:relative;list-style:none;padding:25px 42px 25px 35px;font-size:18px;font-weight:700;line-height:1.9;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:'Q';position:absolute;left:0;top:28px;color:var(--pink);font:500 20px Arial,sans-serif}.faq summary:after{content:'＋';position:absolute;right:1px;top:23px;font-size:23px;font-weight:400;color:#a24e76}.faq[open] summary:after{content:'−'}.faq p{padding:0 38px 26px 35px;font-size:17px;line-height:2;color:var(--muted)}.contact{background:var(--purple);color:white;padding:60px 0}.contact h2{text-align:center;font-size:34px;line-height:1.7}.contact-lead{text-align:center;font-size:17px;line-height:2;margin:20px 0 30px}.contact-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:42px;max-width:930px;margin:auto;align-items:center}.contact-panel .btn{width:100%;font-size:18px}.contact-panel p{font-size:14px;line-height:1.8;margin-top:12px;color:#f5e2ed}.phone{text-align:center;border-left:1px solid #b57e9e;padding-left:30px}.phone small{display:block;font-size:16px}.phone a{font-size:33px;font-weight:700;line-height:1.7}.footer{padding:40px 0 28px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-text{text-align:right;font-size:14px;line-height:2}.footer-text a{text-decoration:underline;text-underline-offset:5px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:32px;border-top:1px solid #eee5eb;padding-top:20px;font-size:12px;color:var(--muted)}.mobile-cta{display:none}
@media(max-width:1100px){.nav{font-size:12px;gap:15px}.hero-copy{max-width:58%;padding:30px}.hero h1{font-size:35px}.clinic-story{gap:38px}.opening-editorial{gap:40px}.service{grid-template-columns:280px 1fr;gap:0 28px}.photography-note{grid-template-columns:280px 1fr;gap:28px}.step{grid-template-columns:28px 230px 1fr;gap:20px}}
@media(max-width:800px){.nav>a:not(.btn){display:none}.hero{min-height:690px}.hero-copy{max-width:68%}.hero h1{font-size:33px}.scope-band .wrap{gap:20px}.scope-band p+p{padding-left:20px}.scope-band b{font-size:23px}.scope-band span{font-size:13px}.clinic-story{grid-template-columns:1fr;max-width:650px;gap:30px}.clinic-story-copy{max-width:100%}.opening-editorial{grid-template-columns:1fr;gap:35px}.opening-checklist{grid-template-columns:1fr;gap:25px}.support-lead{grid-template-columns:1fr;gap:25px}.support-lead>div{max-width:550px}.photography-note{grid-template-columns:1fr;gap:16px}.service{grid-template-columns:1fr;display:block}.service h3{margin-bottom:17px}.step{grid-template-columns:30px 1fr;gap:5px 18px}.step h3,.step p{grid-column:2}.fee-box{grid-template-columns:1fr;gap:25px}.contact-panel{grid-template-columns:1fr;gap:28px;max-width:550px}.phone{border-left:0;border-top:1px solid #b57e9e;padding:25px 0 0}}
@media(max-width:540px){body{font-size:17px;line-height:1.95}.wrap{width:calc(100% - 48px)}h2{font-size:29px;line-height:1.55}h3{font-size:24px;line-height:1.7}.preview{font-size:10px;line-height:25px}.header-row{height:72px;gap:10px}.brand{gap:7px}.brand img{width:28px;height:29px}.brand b{font-size:22px}.brand small{font-size:10px}.btn.small{font-size:12px;min-height:42px;padding:10px 13px}.hero{min-height:0;background:#fff}.hero-room{position:relative;inset:auto;overflow:visible}.hero-room>img{width:100%;height:325px;object-fit:cover;object-position:center 57%}.hero-room figcaption{position:static;background:#f4efec;padding:10px 24px;font-size:12px;line-height:1.8}.hero-inner{padding:29px 0 35px}.hero-copy{width:100%;max-width:100%;padding:0;background:transparent}.target{font-size:13px;line-height:1.8;margin-bottom:17px}.hero h1{font-size:30px;line-height:1.65;letter-spacing:-.045em}.hero-copy>p:not(.target){font-size:17px;line-height:1.95;margin-top:22px}.hero-copy>p br{display:none}.hero-copy .btn{font-size:16px;min-height:60px;padding:16px 12px;margin-top:24px}.hero-copy small{font-size:13px;line-height:1.9;margin-top:13px}.scope-band .wrap{grid-template-columns:1fr;gap:0;padding:10px 0}.scope-band p{display:flex;align-items:baseline;gap:18px;padding:13px 0}.scope-band p+p{padding-left:0;border-left:0;border-top:1px solid #b07799}.scope-band b{font-size:22px;flex:0 0 86px}.scope-band span{font-size:14px;line-height:1.8;margin:0}.section{padding:55px 0}.title{font-size:29px;line-height:1.65;text-align:left;margin-bottom:22px}.intro{text-align:left;font-size:17px;line-height:1.95;margin-bottom:28px}.intro br{display:none}.eyebrow{font-size:14px;line-height:1.8;margin-bottom:14px}.clinic-section{padding:48px 0 54px}.clinic-story{width:100%;gap:27px}.staff-photo img{width:100%}.staff-photo figcaption{padding:0 24px;font-size:13px;margin-top:12px}.clinic-story-copy{padding:0 24px}.clinic-story-copy h2{font-size:29px;line-height:1.65;margin-bottom:23px}.clinic-story-copy p:not(.eyebrow){font-size:17px;line-height:1.95;margin-top:18px}.clinic-story-copy .text-link{font-size:14px;margin-top:24px}.worries-section{padding:50px 0}.worry-images{grid-template-columns:1fr;gap:26px;margin-top:29px}.worry-images figure:first-child{display:none}.answer{text-align:left;font-size:25px;line-height:1.7;margin-top:29px}.answer p{font-size:17px;line-height:1.95;margin-top:17px}.answer br{display:none}.mobile-break{display:inline}.opening-editorial{gap:29px}.opening-heading .title{font-size:29px;line-height:1.7}.opening-heading>p:last-of-type{font-size:17px;line-height:1.95}.opening-heading p br{display:none}.consult-list>div{padding:24px 0 27px}.consult-list dt{font-size:25px;line-height:1.7}.consult-list dt small{font-size:14px;margin:3px 0 15px}.consult-list dd{font-size:17px;line-height:1.95}.opening-checklist{display:block;padding:26px 21px;margin-top:32px}.opening-checklist h3{font-size:24px;line-height:1.65;margin-bottom:17px}.opening-checklist p{font-size:16px;line-height:1.95;margin-bottom:23px}.opening-checklist ol{padding-left:22px}.opening-checklist b{font-size:17px;line-height:1.8}.opening-checklist span{font-size:14px;line-height:1.9;margin-top:5px}.opening-checklist li{padding:0 0 20px 4px}.digital-eyebrow{text-align:left}.support-lead{margin:30px 0;gap:25px}.support-lead h3{font-size:25px;line-height:1.7;margin-bottom:20px}.support-lead p{font-size:17px;line-height:1.95}.booking-evidence{padding:5px;margin:0 -13px}.booking-evidence figcaption{font-size:13px;padding:10px 8px 6px}.photography-note{display:block;padding:23px 18px;margin:28px 0 33px}.photography-note h3{font-size:23px;line-height:1.7;margin-bottom:16px}.photography-note p{font-size:16px;line-height:1.95}.service{display:block;padding:26px 0}.service h3{font-size:24px;line-height:1.7;margin-bottom:18px}.service-number{font-size:15px;margin-bottom:8px}.service>p{font-size:17px;line-height:1.95}.service ul{margin-top:17px;padding-left:20px}.service li{font-size:16px;line-height:1.9;margin:5px 0}.feature-note{font-size:13px;line-height:1.9;margin-top:22px}.service-contact{text-align:left;font-size:16px;line-height:1.95;margin-top:28px}.heading-bar{font-size:29px;line-height:1.65;margin-bottom:28px}.step{grid-template-columns:24px 1fr;gap:7px 13px;padding:25px 0}.step small{font-size:14px}.step h3{font-size:21px;line-height:1.7}.step p{font-size:17px;line-height:1.95}.fee-box{display:block;padding:28px 21px;margin-top:32px}.fee-box .eyebrow{font-size:14px;margin-bottom:15px}.fee-box h3{font-size:25px;line-height:1.7;margin-bottom:23px}.fee-box p{font-size:17px;line-height:1.95}.fee-scope{margin:23px 0}.fee-scope>div{grid-template-columns:75px 1fr;gap:12px;padding:14px 0}.fee-scope dt{font-size:14px;line-height:1.9}.fee-scope dd{font-size:15px;line-height:1.9}.fee-box .fee-note{font-size:13px;line-height:1.95}.faq summary{font-size:17px;line-height:1.85;padding:23px 27px 23px 27px}.faq summary:before{top:28px;font-size:17px}.faq summary:after{top:23px;font-size:21px}.faq p{font-size:17px;line-height:1.95;padding:0 8px 26px 27px}.contact{padding:42px 0}.contact h2{font-size:28px;text-align:left;line-height:1.7}.contact-lead{font-size:17px;text-align:left;line-height:1.95;margin:22px 0 27px}.contact-lead br{display:none}.contact-panel{gap:25px}.contact-panel .btn{font-size:16px;padding:16px 12px}.contact-panel p{font-size:13px;line-height:1.9}.phone small{font-size:15px}.phone a{font-size:31px}.footer{padding:34px 0 105px}.footer-top{display:block}.footer-text{text-align:left;font-size:14px;margin-top:24px}.footer-bottom{display:block;font-size:11px;line-height:1.9;margin-top:26px}.footer-bottom span{display:block;margin-top:7px}.mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;align-items:center;gap:10px;background:#fff;border-top:1px solid #e0d2da;padding:10px 15px calc(10px + env(safe-area-inset-bottom))}.mobile-cta small{font-size:11px;line-height:1.65;flex:1}.mobile-cta .btn{flex:1.6;min-height:47px;font-size:14px;padding:9px 12px}.mobile-cta .btn img{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.header{position:static}.mobile-cta{display:none}.faq,.service,.step{break-inside:avoid}}
@media(max-width:540px){.scope-band b{flex:0 0 98px;white-space:nowrap}.scope-band p{gap:12px}}

@media(max-width:540px){.hero-room>img{height:250px;object-position:center 48%}.section{padding-top:48px;padding-bottom:48px}}
/* v1.5: official black logo and eight original outline pictograms. */
.brand{gap:17px}.brand .official-logo{width:128px;height:54px;object-fit:contain;flex-shrink:0}.brand-description{display:block;font-size:12px;font-weight:500;line-height:1.7;color:#40373d;white-space:nowrap}.pictogram{display:inline-block;width:40px;height:40px;flex-shrink:0;color:var(--purple);vertical-align:middle;overflow:visible}.scope-band p{position:relative;padding-left:53px}.scope-band p+p{padding-left:79px}.scope-band p>.pictogram{position:absolute;top:5px;left:0;width:37px;height:37px;color:#fff}.scope-band p+p>.pictogram{left:27px}.scope-band b{font-size:24px}.scope-band span{font-size:14px}.icon-title{display:flex;align-items:center;gap:14px}.icon-title .pictogram{width:38px;height:38px}.icon-heading .pictogram{display:block;width:42px;height:42px;margin-bottom:15px}.icon-heading>span{display:block}.consult-list dt small{margin-left:52px}.photography-note .icon-heading .pictogram{width:38px;height:38px;margin-bottom:12px}
@media(max-width:1100px){.brand-description{display:none}.scope-band b{font-size:22px}.scope-band span{font-size:13px}.scope-band p{padding-left:44px}.scope-band p+p{padding-left:62px}.scope-band p>.pictogram{width:32px;height:32px}.scope-band p+p>.pictogram{left:18px}}
@media(max-width:800px){.brand-description{display:block}.scope-band b{font-size:21px}.scope-band span{font-size:12px}}
@media(max-width:540px){.brand{gap:0}.brand .official-logo{width:105px;height:auto;max-height:47px}.brand-description{display:none}.scope-band p,.scope-band p+p{display:grid;grid-template-columns:32px 1fr;gap:0 12px;align-items:center;padding:14px 0}.scope-band p>.pictogram,.scope-band p+p>.pictogram{position:static;grid-column:1;grid-row:1 / 3;width:30px;height:30px}.scope-band b{grid-column:2;grid-row:1;display:block;font-size:22px;line-height:1.5;white-space:nowrap}.scope-band span{grid-column:2;grid-row:2;display:block;font-size:14px;line-height:1.8;margin-top:4px}.icon-title{gap:11px}.icon-title .pictogram{width:34px;height:34px}.consult-list dt small{margin-left:45px}.icon-heading .pictogram{width:39px;height:39px;margin-bottom:16px}.photography-note .icon-heading .pictogram{width:36px;height:36px;margin-bottom:12px}}
.brand .official-logo{width:96px;height:54px}
@media(max-width:540px){.brand .official-logo{width:88px;height:auto;max-height:50px}.scope-band p,.scope-band p+p{display:block;padding:14px 0 14px 44px}.scope-band p>.pictogram,.scope-band p+p>.pictogram{position:absolute;top:21px;left:0;width:30px;height:30px}.scope-band b,.scope-band span{display:block}}

.company-link{text-decoration:underline;text-underline-offset:4px}
.representative-section{background:#fff}.representative{display:grid;grid-template-columns:.8fr 1.2fr;gap:66px;align-items:center}.representative-photo{max-width:400px;margin:auto}.representative-photo>img{width:100%;height:auto}.representative-photo figcaption{font-size:14px;line-height:1.9;padding:19px 0 0;text-align:center}.representative-photo figcaption>span{display:block;margin-top:6px;font-size:15px}.representative-photo figcaption b{font-size:24px;letter-spacing:.04em;margin-left:10px}.representative-copy{min-width:0;max-width:570px}.representative-copy h2{font-size:34px;line-height:1.65;margin-bottom:25px}.representative-copy h2 span{color:var(--pink)}.representative-copy>p:not(.eyebrow){font-size:17px;line-height:2;margin-top:18px}.representative-copy .text-link{margin-top:24px}
@media(max-width:800px){.representative{grid-template-columns:1fr;gap:30px;max-width:650px}.representative-photo{max-width:320px}.representative-copy{max-width:100%}}
@media(max-width:540px){.representative{display:flex;flex-direction:column;gap:27px}.representative-photo{max-width:275px;width:85%}.representative-photo figcaption{font-size:13px;padding-top:15px}.representative-photo figcaption>span{font-size:14px}.representative-photo figcaption b{font-size:23px;margin-left:8px}.representative-copy h2{font-size:28px;line-height:1.7;margin-bottom:22px}.representative-copy>p:not(.eyebrow){font-size:17px;line-height:1.95}.representative-copy .text-link{font-size:15px;margin-top:23px}}
/* v1.13: semantic list pictograms, genuine-store voices and a restrained photographic CTA. */
.opening-checklist ol{list-style:none;padding:0}.opening-checklist li{position:relative;padding-left:38px}.opening-checklist li>.pictogram{position:absolute;left:0;top:5px;width:25px;height:25px}.service ul{list-style:none;padding-left:0}.service li{position:relative;padding-left:32px;margin:9px 0}.service li>.pictogram{position:absolute;left:0;top:4px;width:23px;height:23px}.service li>span{display:block}.contact{position:relative;overflow:hidden;background:#4b1d40}.contact-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}.contact-shade{position:absolute;inset:0;background:rgba(66,20,53,.94)}.contact>.wrap{position:relative;z-index:1}.contact-lead,.contact h2{color:#fff}.contact-panel p{color:#fff2fa}.voices-section{background:#fff;border-bottom:1px solid #eee2e9}.voices-section .eyebrow{text-align:center}.voices-intro{max-width:680px;margin:0 auto 36px;text-align:center;color:var(--muted);font-size:17px;line-height:2}.voices-list{border-top:1px solid #dac7d2}.voice{display:grid;grid-template-columns:330px 1fr;gap:45px;padding:32px 0;border-bottom:1px solid #dac7d2}.voice-person{display:flex;align-items:flex-start;gap:18px}.voice-person>img{width:76px;height:76px;flex-shrink:0;border-radius:50%;object-fit:cover}.voice-person h3{font-size:18px;line-height:1.8;margin:0}.voice-person p{font-size:14px;line-height:1.9;margin:7px 0 0;color:var(--muted)}.voice-content h4{font-size:20px;line-height:1.7;margin:0 0 13px;color:var(--purple)}.voice-content blockquote{font-size:18px;line-height:2;margin:0;font-weight:500}.voice-source{font-size:12px;color:var(--muted);line-height:1.9;margin-top:14px}.voices-note{font-size:14px;line-height:1.95;color:var(--muted);max-width:900px;margin:25px auto 0}
@media(max-width:800px){.voice{grid-template-columns:1fr;gap:23px}.voice-person{align-items:center}.voice-person h3{font-size:20px}}
@media(max-width:540px){.opening-checklist ol{padding:0}.opening-checklist li{padding-left:34px}.opening-checklist li>.pictogram{width:23px;height:23px;top:4px}.service ul{padding-left:0}.service li{padding-left:29px;margin:11px 0}.service li>.pictogram{width:21px;height:21px;top:5px}.contact-bg{object-position:45% center}.contact-shade{background:rgba(65,19,52,.95)}.voices-section .eyebrow{text-align:left}.voices-intro{text-align:left;font-size:17px;margin-bottom:28px}.voice{display:block;padding:28px 0}.voice-person{gap:15px;margin-bottom:22px;align-items:center}.voice-person>img{width:66px;height:66px}.voice-person h3{font-size:18px;line-height:1.8}.voice-person p{font-size:13px;line-height:1.9;margin-top:5px}.voice-content h4{font-size:20px;line-height:1.75;margin-bottom:13px}.voice-content blockquote{font-size:17px;line-height:1.95}.voice-source{font-size:12px;margin-top:14px}.voices-note{font-size:13px;line-height:1.95;margin-top:24px}}

@media(max-width:540px){.contact h2>span{display:block}}

/* 紹介欄は既存の美容ルーム写真を淡く背景に使用 */
.representative-section{position:relative;overflow:hidden;background:#faf7f8}.representative-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%}.representative-shade{position:absolute;inset:0;background:rgba(255,251,253,.91)}.representative-section>.wrap{position:relative;z-index:1}

.capacity-note{max-width:760px;margin:28px auto 30px;padding:19px 24px;border-top:1px solid rgba(255,255,255,.38);border-bottom:1px solid rgba(255,255,255,.38);text-align:center}.capacity-note p{margin:0;color:#fff;font-size:17px;line-height:1.9}.capacity-note strong{font-weight:700;white-space:nowrap}.capacity-note p+p{font-size:15px;margin-top:5px;color:#fff2fa}@media(max-width:540px){.capacity-note{margin:25px 0 28px;padding:17px 0;text-align:left}.capacity-note p{font-size:17px}.capacity-note p+p{font-size:15px}}

/* 写真撮影の案内：実例写真と本文を同じ高さで読み進める構成 */
.photography-note{display:grid;grid-template-columns:42% 1fr;gap:44px;align-items:center;padding:38px 0;margin:40px 0 45px;border:0;border-top:1px solid #dbc8d4;border-bottom:1px solid #dbc8d4;background:transparent}.photography-image{margin:0;min-width:0}.photography-image img{width:100%;height:300px;object-fit:cover;object-position:center}.photography-image figcaption{font-size:13px;line-height:1.8;color:var(--muted);margin-top:10px}.photography-copy{min-width:0}.photography-label{display:flex;align-items:center;gap:12px;color:var(--purple);font-weight:700;margin:0 0 18px!important}.photography-label .pictogram{width:30px;height:30px;flex-shrink:0}.photography-note h3{font-size:27px;line-height:1.7;color:var(--ink);margin:0 0 18px}.photography-note p{font-size:17px;line-height:1.95}.photography-note .photography-terms{font-size:14px;line-height:1.95;color:var(--muted);margin-top:19px}.photography-terms br{display:none}@media(max-width:800px){.photography-note{grid-template-columns:1fr;gap:25px}.photography-image img{height:330px}.photography-note h3{font-size:26px}}@media(max-width:540px){.photography-note{display:flex;flex-direction:column;gap:25px;padding:28px 0;margin:32px 0}.photography-image,.photography-copy{width:100%}.photography-image img{height:235px}.photography-image figcaption{font-size:12px}.photography-note h3{font-size:23px;line-height:1.65;margin-bottom:16px}.photography-label{font-size:15px!important;gap:10px;margin-bottom:15px!important}.photography-label .pictogram{width:27px;height:27px}.photography-note p{font-size:17px}.photography-note .photography-terms{font-size:14px}}

.service-title-unit{display:block}@media(max-width:800px){.service-title-unit{display:inline-block}}
.pricing-section{background:#fff}.pricing-status{text-align:center;color:var(--purple);font-size:15px;margin:12px 0}.pricing-intro{text-align:center;max-width:750px;margin:0 auto 40px;line-height:1.95}.price-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:3px solid var(--purple);border-bottom:1px solid #d8c5d0}.price-plan{padding:28px 25px;min-width:0;border-right:1px solid #d8c5d0}.price-plan:last-child{border-right:0}.plan-purpose{font-size:13px;color:var(--muted);line-height:1.8;min-height:48px;margin:0 0 8px}.price-plan h3{font-size:23px;line-height:1.7;color:var(--purple);margin:0 0 23px}.plan-price{margin:0}.plan-price small{display:block;font-size:14px;margin-bottom:8px}.plan-price strong{display:block;font-size:38px;line-height:1.3;letter-spacing:-.025em;color:var(--ink)}.plan-price strong span{font-size:20px;margin-left:3px}.plan-tax{font-size:17px;margin:10px 0 24px}.price-plan ul{list-style:none;margin:0;padding:0;min-height:190px}.price-plan li{font-size:16px;line-height:1.9;padding:6px 0;border-bottom:1px solid #eee5ea}.plan-total{margin-top:24px;padding-top:18px;border-top:1px solid #d8c5d0;font-size:14px;line-height:1.9}.plan-total b{font-size:15px}.plan-total p{margin:8px 0 0}.pricing-details{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;padding:35px 0}.pricing-details h3{font-size:21px;line-height:1.65;margin:0 0 15px}.pricing-details p{font-size:15px;line-height:1.95;margin:12px 0}.pricing-details .later-price{font-size:19px;color:var(--purple)}.plan-bonus{background:var(--tint);padding:30px 35px;margin:10px 0 25px}.plan-bonus h3{font-size:27px;line-height:1.65;margin:8px 0 16px}.plan-bonus>p{font-size:16px;line-height:1.9}.bonus-items{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:25px}.bonus-items>div{border-top:1px solid #c6a3b9;padding-top:16px}.bonus-number{color:var(--purple);font-size:14px}.bonus-items h4{font-size:22px;line-height:1.7;margin:8px 0}.bonus-items p,.plan-bonus .bonus-note{font-size:14px;line-height:1.9}.plan-bonus .bonus-note{margin:20px 0 0}.pricing-extra{font-size:14px;line-height:1.95;color:var(--muted);margin:0}@media(max-width:800px){.price-plans{grid-template-columns:1fr}.price-plan{border-right:0;border-bottom:1px solid #d8c5d0;padding:27px 0}.price-plan:last-child{border-bottom:0}.plan-purpose{min-height:0}.price-plan ul{min-height:0}.price-plan h3{font-size:25px;margin-bottom:18px}.pricing-details{grid-template-columns:1fr;gap:22px}.bonus-items{gap:25px}}@media(max-width:540px){.pricing-section .title{font-size:27px;line-height:1.65}.pricing-status,.pricing-intro{text-align:left}.pricing-intro{font-size:17px;margin-bottom:30px}.plan-price strong{font-size:39px}.price-plan ul{margin-top:22px}.plan-total{font-size:15px}.pricing-details{padding:28px 0}.pricing-details h3{font-size:22px}.plan-bonus{padding:24px 21px}.plan-bonus h3{font-size:24px}.bonus-items{grid-template-columns:1fr;gap:22px}.bonus-items h4{font-size:21px}.plan-bonus .eyebrow{font-size:13px}.pricing-extra{font-size:14px}}

.operation-price-note{font-size:13px;line-height:1.8;color:var(--muted);margin:-12px 0 16px}
.pricing-common{display:grid;grid-template-columns:160px 1fr;gap:28px;padding:23px 28px;background:#f6f1f4;margin:0 0 25px;align-items:center}.pricing-common h3{font-size:20px;color:var(--purple);margin:0}.pricing-common p{font-size:16px;line-height:1.95;margin:0}.plan-comparison{width:100%;border-collapse:collapse;table-layout:fixed}.plan-comparison caption{text-align:left;font-size:16px;color:var(--muted);padding:0 0 14px}.plan-comparison th,.plan-comparison td{padding:21px 17px;border-bottom:1px solid #d8c8d2;vertical-align:middle;text-align:center;font-size:16px;line-height:1.9}.plan-comparison thead th{border-top:3px solid #c7acbd;font-size:22px;color:var(--purple);font-weight:700;padding:26px 16px}.plan-comparison th:first-child{width:22%;text-align:left;font-size:15px;color:var(--ink);font-weight:500}.plan-comparison .basic-column{background:#fcf4f8}.plan-comparison thead .basic-column{border-top-color:var(--pink)}.table-month{display:block;font-size:13px;font-weight:400;color:var(--ink);margin-top:22px}.plan-comparison strong{display:block;font-size:34px;color:var(--ink);line-height:1.4;margin:5px 0}.plan-comparison strong small{font-size:18px}.table-tax{display:block;font-size:15px;color:var(--ink);font-weight:400}.plan-comparison td small{font-size:13px;color:var(--muted)}.pricing-table-mobile{display:none}.mobile-plan{padding:26px 0;border-top:2px solid #c7acbd;margin:0 0 24px}.mobile-plan h3{font-size:25px;color:var(--purple);margin:0 0 18px}.mobile-price{font-size:14px;margin:0}.mobile-price strong{display:block;font-size:36px;line-height:1.4;color:var(--ink);margin-top:5px}.mobile-price strong span{font-size:19px}.mobile-plan>p{font-size:16px;line-height:1.9;margin:8px 0}.mobile-plan dl{margin:22px 0 18px}.mobile-plan dl>div{display:grid;grid-template-columns:95px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #e5d8df;font-size:16px;line-height:1.8}.mobile-plan dt{font-weight:500}.mobile-plan dd{margin:0}.mobile-plan .mobile-contract{font-size:15px;font-weight:700}.mobile-plan .mobile-total{font-size:15px}.mobile-plan small{font-size:14px}.mobile-basic{border-top-color:var(--pink);background:#fcf4f8;padding:26px 20px;margin-left:-20px;margin-right:-20px}@media(max-width:800px){.pricing-table-desktop{display:none}.pricing-table-mobile{display:block}.pricing-common{display:block;padding:23px}.pricing-common h3{margin-bottom:12px}.pricing-common p{font-size:16px}.pricing-intro{margin-bottom:25px}}@media(max-width:540px){.pricing-common{padding:20px;margin-bottom:28px}.pricing-common p{font-size:15px}.mobile-plan h3{font-size:24px}.pricing-details{padding-top:5px}}

.pricing-common ul{list-style:none;display:grid;grid-template-columns:1fr 1.3fr;gap:7px 24px;padding:0;margin:0}.pricing-common li{font-size:16px;line-height:1.9}@media(max-width:800px){.pricing-common ul{display:block}.pricing-common li{font-size:15px;margin:5px 0}}

.table-price-note{display:block;font-size:13px;line-height:1.7;color:var(--muted);font-weight:400;margin-top:9px}.mobile-plan .mobile-price-note{font-size:14px;color:var(--muted);line-height:1.8;margin-top:10px}

.plan-comparison thead th{vertical-align:top}
.plan-name{display:flex;align-items:center;justify-content:center;gap:10px}.plan-name>.pictogram{width:30px;height:30px;flex-shrink:0}.mobile-plan .plan-name{justify-content:flex-start}.opening-gift{margin:20px 0 25px;background:#fff9fc;border:1px solid #ddb8cc}.gift-header{display:flex;align-items:center;justify-content:center;gap:23px;background:#772c60;color:#fff;padding:27px 30px;position:relative}.gift-header>.pictogram{width:69px;height:69px;stroke:#fff}.gift-header h3{font-size:36px;letter-spacing:.09em;line-height:1.4;margin:6px 0;color:#fff}.gift-header p{font-size:16px;line-height:1.7;margin:0;color:#fff}.gift-header span{font-size:14px;line-height:1.7;color:#f7dce9}.gift-body{display:grid;grid-template-columns:1.5fr 65px 1fr;align-items:center;gap:12px;padding:32px 35px 27px}.gift-label{margin:0 0 20px;text-align:center;font-size:17px;font-weight:700;color:var(--purple)}.gift-label b{display:inline-block;font-size:13px;background:#f0d8e5;padding:3px 10px;margin-left:10px}.gift-options{display:grid;grid-template-columns:1fr 62px 1fr;align-items:center;gap:8px;text-align:center}.gift-options>div>.pictogram,.gift-video>.pictogram{width:66px;height:66px;margin:0 auto 10px}.gift-options h4,.gift-video h4{font-size:24px;line-height:1.6;margin:0;color:var(--ink)}.gift-options h4 span,.gift-video h4 span{display:block;font-size:20px;color:var(--purple);font-weight:700;margin-top:4px}.gift-or{font-size:15px;color:var(--muted)}.gift-plus{font-size:40px;font-weight:400;color:#b44d82;text-align:center}.gift-video{text-align:center}.gift-terms{margin:0 35px 25px;padding-top:18px;border-top:1px solid #e5cbd9;font-size:14px;line-height:1.9;color:var(--muted)}@media(max-width:800px){.gift-body{grid-template-columns:1fr;gap:20px}.gift-plus{font-size:32px}.gift-video{padding-top:0}.gift-label{margin-bottom:18px}.gift-video>.pictogram{width:62px;height:62px}}@media(max-width:540px){.plan-name>.pictogram{width:28px;height:28px}.mobile-plan .plan-name{gap:10px;font-size:23px}.gift-header{padding:24px 20px;gap:15px;justify-content:flex-start}.gift-header>.pictogram{width:46px;height:46px;flex-shrink:0}.gift-header h3{font-size:31px}.gift-header p{font-size:14px}.gift-header span{font-size:12px}.gift-body{padding:26px 20px 23px;gap:20px}.gift-options{grid-template-columns:1fr 45px 1fr;gap:2px}.gift-options>div>.pictogram{width:52px;height:52px}.gift-options h4,.gift-video h4{font-size:21px}.gift-options h4 span,.gift-video h4 span{font-size:18px}.gift-label{font-size:17px}.gift-label b{font-size:12px;margin-left:7px;padding:3px 7px}.gift-or{font-size:13px}.gift-terms{margin:0 20px 22px;font-size:13px}}

.gift-header>div{min-width:0}.gift-target-break{display:none}@media(max-width:540px){.gift-target-break{display:inline}.gift-header p{font-size:13px}}

.plan-recommend{display:inline-block;padding:3px 10px;background:#f3dce7;color:#772c60;font-size:13px;line-height:1.7;margin-top:12px;font-weight:700}.recommend-reason{display:block;font-size:12px;color:var(--muted);line-height:1.7;font-weight:400;margin-top:5px}.mobile-plan .recommend-reason{font-size:14px}

/* v1.14: editorial rhythm, one use of the room photograph, quiet portrait backdrop */
.worries-section .worry-heading{font-size:30px;color:var(--ink)}
.opening-heading .opening-title{font-size:36px;line-height:1.55;border-left:4px solid var(--purple);padding-left:23px;margin-bottom:24px}
.digital-title{font-size:38px;line-height:1.5;margin-bottom:36px}
.digital-title span{color:var(--ink)}
.photography-note{display:block;padding:29px 32px;margin:38px 0 36px;background:#fff;border:0;border-left:3px solid #a85c83}
.photography-copy{display:grid;grid-template-columns:1fr 1.2fr;gap:0 34px}
.photography-label{grid-column:1;grid-row:1}
.photography-note h3{grid-column:1;grid-row:2;font-size:25px}
.photography-note .photography-copy>p:not(.photography-label):not(.photography-terms){grid-column:2;grid-row:1 / 3;align-self:center}
.photography-note .photography-copy>.photography-terms{grid-column:1 / 3;grid-row:3;margin-top:10px}
.voices-section .title{text-align:left;margin-bottom:38px}
.representative-section{background:#f5f0ec;padding:88px 0}
.representative-backdrop{position:absolute;inset:0;background:linear-gradient(110deg,#eee2e5 0%,#f5eeeb 45%,#fbf8f4 100%);border-top:1px solid #e5d7dc;border-bottom:1px solid #e5d7dc}
.representative-photo{position:relative}
.representative-photo::before{content:"";position:absolute;width:82%;height:68%;left:9%;top:4%;border:1px solid #d9beca;border-radius:180px 180px 3px 3px;z-index:-1}
.representative-copy h2{font-size:32px;line-height:1.65;margin-bottom:27px}
@media(max-width:800px){.photography-copy{display:block}.photography-note .photography-copy>.photography-terms{margin-top:16px}.representative-copy h2{font-size:30px}}
@media(max-width:540px){.worries-section .worry-heading{font-size:27px;line-height:1.65}.opening-heading .opening-title{font-size:31px;padding-left:18px}.digital-title{font-size:31px;line-height:1.65;margin-bottom:24px}.photography-note{display:block;padding:24px 22px;margin:30px 0}.photography-note h3{font-size:23px}.photography-label{font-size:14px!important}.voices-section .title{margin-bottom:30px}.representative-section{padding:50px 0}.representative-copy h2{font-size:27px;line-height:1.65}.representative-backdrop{background:linear-gradient(160deg,#eee2e5 0%,#f7f1ec 48%,#fbf8f4 100%)}}

/* Quiet original paper texture, with the supplied portrait unmodified. */
.representative-backdrop{width:100%;height:100%;object-fit:cover;background:none}.representative-photo::before{display:none}

/* v1.15: practical setup support, integrated with the real booking example. */
.setup-support{margin:38px 0 28px;padding:30px 0 25px;border-top:2px solid #9d547c;border-bottom:1px solid #dbc8d4}
.setup-intro{display:grid;grid-template-columns:.85fr 1.3fr;gap:45px;align-items:center}
.setup-intro h3{font-size:28px;line-height:1.65;margin:0;color:var(--ink)}
.setup-intro>p{font-size:17px;line-height:1.95;margin:0}
.setup-features{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:28px}
.setup-feature{min-width:0}
.setup-feature h4{display:flex;align-items:flex-start;gap:11px;font-size:22px;line-height:1.7;margin:0 0 12px;color:var(--purple)}
.setup-feature h4>.pictogram{width:27px;height:27px;flex-shrink:0;margin-top:5px}
.setup-feature p{font-size:17px;line-height:1.95;margin:0}
.setup-note{font-size:14px;line-height:1.9;color:var(--muted);margin:21px 0 0}
@media(max-width:800px){.setup-intro{grid-template-columns:1fr;gap:18px}.setup-intro h3 br{display:none}.setup-features{gap:30px}}
@media(max-width:540px){.setup-support{padding:26px 0 24px;margin:30px 0}.setup-intro h3{font-size:26px;line-height:1.65}.setup-intro h3 br{display:inline}.setup-features{grid-template-columns:1fr;gap:25px;margin-top:25px}.setup-feature h4{font-size:20px;gap:10px;margin-bottom:12px}.setup-feature h4>.pictogram{width:24px;height:24px}.setup-note{font-size:13px;margin-top:20px}}

/* v1.16: one responsive three-choice price layout */
.simple-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:36px 0 30px}
.simple-plan{border:1px solid #d9c6d1;border-top:3px solid #baa2b1;padding:28px 25px 25px;background:#fff;min-width:0}
.simple-plan-featured{border-top-color:var(--purple);background:#faf4f7}
.simple-plan-heading{display:flex;align-items:center;gap:13px;color:var(--purple)}
.simple-plan-heading>.pictogram{width:34px;height:34px;flex-shrink:0}
.simple-plan-heading h3{font-size:25px;line-height:1.5;margin:0}
.simple-plan-purpose{font-size:16px;line-height:1.8;margin:18px 0 0}
.simple-plan-price{margin:25px 0 23px}
.simple-plan-price>span{display:block;font-size:14px;margin-bottom:6px}
.simple-plan-price strong{font-size:40px;line-height:1.25;letter-spacing:-.025em;white-space:nowrap}
.simple-plan-price small{font-size:19px;letter-spacing:0;margin-left:2px}
.simple-plan-scope{font-size:15px;line-height:1.85;margin:0;padding-top:18px;border-top:1px solid #ded0d8}
.pricing-common{grid-template-columns:220px 1fr;padding:24px 28px;margin-bottom:0}
.pricing-common h3{font-size:19px;line-height:1.75}
.price-timeline{display:grid;grid-template-columns:1fr 45px 1fr;gap:25px;margin:35px 0 0;align-items:center;padding:26px 0;border-top:1px solid #dbcbd5;border-bottom:1px solid #dbcbd5}
.price-timeline h3{font-size:20px;line-height:1.6;margin:0 0 10px}
.price-timeline p{font-size:18px;line-height:1.65;margin:0 0 6px}
.price-timeline strong{font-size:30px;line-height:1.4;color:var(--purple)}
.price-timeline small{font-size:19px}
.price-timeline div>span{font-size:14px;line-height:1.8;color:var(--muted)}
.price-timeline-arrow{font-size:30px;color:#a77794;text-align:center}
.price-conditions{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin:28px 0 20px}
.price-conditions h3{font-size:19px;line-height:1.65;margin:0 0 10px}
.price-conditions p{font-size:15px;line-height:1.9;margin:8px 0}
.price-before-contract{font-size:14px;line-height:1.9;color:var(--muted);margin:18px 0 30px}
@media(max-width:1000px){.simple-plans{gap:15px}.simple-plan{padding:24px 17px}.simple-plan-heading h3{font-size:22px}.simple-plan-price strong{font-size:36px}}
@media(max-width:800px){.simple-plans{grid-template-columns:1fr;gap:18px;margin-top:28px}.simple-plan{padding:25px}.simple-plan-heading h3{font-size:25px}.simple-plan-price strong{font-size:40px}.simple-plan-purpose{margin-top:13px}.simple-plan-price{margin:18px 0}.pricing-common{display:block}.price-conditions{grid-template-columns:1fr;gap:19px}.price-timeline{gap:12px;grid-template-columns:1fr 25px 1fr}.price-timeline h3{font-size:18px}}
@media(max-width:540px){.pricing-section .title{font-size:28px;text-align:left;line-height:1.6}.simple-plan{padding:24px}.simple-plan-heading{gap:12px}.simple-plan-heading h3{font-size:25px}.simple-plan-scope{font-size:15px}.pricing-common{padding:22px}.pricing-common h3{font-size:19px}.price-timeline{grid-template-columns:1fr;gap:13px;padding:25px 0;margin-top:28px}.price-timeline-arrow{display:none}.price-timeline>div+div{padding-top:16px}.price-timeline>div:last-child{border-top:1px dashed #d9c6d1;padding-top:19px}.price-timeline h3{font-size:20px}.price-conditions h3{font-size:20px}.price-conditions p{font-size:15px}}

.price-keep{white-space:nowrap}

/* v1.17: conditional five-year continuation and subordinate daily reference */
.pricing-status{font-size:16px;line-height:1.9;color:var(--muted)}
.initial-contract{text-align:center;font-size:16px;font-weight:700;line-height:1.8;margin:16px 0 0}
.simple-plan-price{margin-bottom:8px}
.daily-reference{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 20px}
.daily-reference span{display:block;font-size:12px}
.daily-note{font-size:13px;line-height:1.85;color:var(--muted);margin:-14px 0 24px}
.price-conditions{display:block;margin-top:24px}
.price-conditions p{max-width:960px}
.price-timeline .renewal-choice{font-size:16px;font-weight:700;margin-bottom:8px}
@media(max-width:540px){.initial-contract{text-align:left;font-size:16px;margin-top:14px}.daily-reference{font-size:14px;margin-bottom:18px}.daily-reference span{display:inline;font-size:12px;margin-left:4px}.daily-note{font-size:13px;margin-top:-4px}.pricing-status .mobile-break{display:none}}

/* v1.18: shared scope first, compact comparable rows, then benefits and renewal choices. */
.pricing-common{margin:26px 0 24px;padding:21px 26px}
.initial-contract{text-align:left;margin:0 0 16px;font-size:15px}
.plan-choices{border-top:1px solid #d9c6d1}
.choice-row{display:grid;grid-template-columns:275px 1fr 230px;gap:20px;align-items:center;padding:24px 20px;border-bottom:1px solid #d9c6d1}
.choice-heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap;min-width:0}
.choice-heading>.pictogram{width:31px;height:31px;flex-shrink:0}
.choice-heading h3{font-size:25px;line-height:1.5;color:var(--purple);margin:0}
.choice-badge{font-size:12px;line-height:1.7;padding:3px 9px;color:#772c60;background:#ecd7e3;margin-left:43px}
.choice-purpose{font-size:18px;line-height:1.8;margin:0}
.choice-recommended{background:#faf3f7;border-left:3px solid #8b3a6f;padding-left:17px}
.choice-amount{min-width:0}
.choice-amount p{margin:0;line-height:1.4}
.choice-amount p>span{font-size:13px;margin-right:9px}
.choice-amount strong{font-size:34px;line-height:1.4;letter-spacing:-.025em;white-space:nowrap}
.choice-amount small{font-size:17px;margin-left:2px;letter-spacing:0}
.choice-daily{display:block;font-size:12px;line-height:1.8;color:var(--muted);margin-top:5px}
.daily-note{margin:14px 0 26px}
.opening-gift{margin-top:25px}
.renewal-section{margin:35px 0 25px;padding:29px 0 25px;border-top:1px solid #dbcbd5;border-bottom:1px solid #dbcbd5}
.renewal-section>h3{font-size:25px;line-height:1.7;margin:0 0 8px}
.renewal-intro{font-size:16px;line-height:1.9;margin:0 0 22px}
.renewal-options{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.renewal-options>div{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}
.renewal-options h4{font-size:19px;line-height:1.7;margin:0}
.renewal-options p{font-size:14px;line-height:1.7;margin:0}
.renewal-options strong{font-size:28px;color:var(--purple);line-height:1.5}
.renewal-options small{font-size:17px}
.renewal-note{font-size:14px;line-height:1.9;color:var(--muted);margin:18px 0 0}
@media(max-width:1000px){.choice-row{grid-template-columns:240px 1fr 210px;gap:15px;padding-left:15px;padding-right:15px}.choice-heading h3{font-size:23px}.choice-amount strong{font-size:31px}.choice-purpose{font-size:17px}.choice-recommended{padding-left:12px}}
@media(max-width:800px){.choice-row{grid-template-columns:1fr 180px;gap:10px 20px;padding:22px 15px}.choice-heading{grid-column:1 / 3;gap:10px}.choice-heading h3{font-size:24px}.choice-badge{margin-left:0}.choice-purpose{grid-column:1;grid-row:2}.choice-amount{grid-column:2;grid-row:2;text-align:right}.choice-amount p>span{display:block;margin:0}.choice-amount strong{font-size:32px}.choice-recommended{padding-left:12px}.renewal-options{grid-template-columns:1fr;gap:18px}.renewal-options>div{justify-content:space-between;gap:10px}.renewal-options>div+div{padding-top:17px;border-top:1px dashed #dbcbd5}}
@media(max-width:540px){.pricing-common{padding:20px;margin-top:22px;margin-bottom:21px}.initial-contract{font-size:15px}.choice-row{grid-template-columns:1fr 145px;gap:10px 10px;padding:19px 0}.choice-recommended{padding-left:12px;padding-right:9px}.choice-heading h3{font-size:22px}.choice-heading>.pictogram{width:27px;height:27px}.choice-heading{gap:9px}.choice-badge{font-size:11px;padding:2px 7px}.choice-purpose{font-size:16px;line-height:1.75}.choice-amount strong{font-size:30px}.choice-amount small{font-size:16px}.choice-amount p>span{font-size:12px}.choice-daily{font-size:11px;margin-top:3px}.daily-note{font-size:12px;margin:13px 0 23px}.renewal-section{margin-top:29px;padding:25px 0}.renewal-section>h3{font-size:23px}.renewal-options h4{font-size:18px}.renewal-options strong{font-size:28px}.renewal-intro{font-size:15px}.renewal-note{font-size:13px}}

/* v1.19: LINE is primary; telephone and AI notice remain available below. */
.contact-panel{display:block;max-width:560px}
.contact-panel>div:first-child{text-align:center}
.contact-panel .phone{border-left:0;border-top:1px solid rgba(255,255,255,.28);padding:20px 0 0;margin:25px 0 0;text-align:center}
.contact-panel .phone small{font-size:14px;line-height:1.8;color:#fff2fa}
.contact-panel .phone .phone-ai{font-size:15px;line-height:1.9;margin:7px 0 5px;color:#fff}
.contact-panel .phone a{display:inline-block;font-size:23px;line-height:1.8;font-weight:600;color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
@media(max-width:540px){.contact-panel .phone{margin-top:23px;padding-top:18px}.contact-panel .phone .phone-ai{font-size:14px}.contact-panel .phone a{font-size:22px}}

/* v1.20: concrete handover scope and two source-labelled opening cases. */
.print-delivery{margin:0 0 35px;padding:0 0 30px;border-bottom:1px solid #d9c5d0}
.print-delivery h3{font-size:27px;line-height:1.7;margin:0 0 20px}
.print-delivery>div{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.print-delivery p{font-size:17px;line-height:1.95;margin:0}
.print-delivery b{font-weight:700}
.print-delivery .delivery-note{font-size:14px;color:var(--muted);margin-top:17px}
.opening-cases{background:#fff;padding-bottom:55px}
.cases-heading{max-width:830px;margin-bottom:40px}
.cases-heading h2{font-size:34px;line-height:1.6;margin:0 0 20px}
.cases-heading>p:last-child{font-size:17px;line-height:1.95;margin:0}
.opening-case{display:grid;grid-template-columns:285px 1fr;gap:35px;padding:35px 0;border-top:1px solid #d9c6d1;align-items:start}
.case-clinic h3{font-size:25px;line-height:1.7;margin:8px 0 18px}
.case-opening{font-size:15px;line-height:1.8;color:var(--purple);margin:0}
.case-clinic .text-link{font-size:14px}
.case-record{min-width:0}
.case-metric-label{font-size:15px;color:var(--muted);margin:0 0 19px}
.case-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0}
.case-months-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.case-months dt{font-size:16px;line-height:1.7}
.case-months dt span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.case-months dd{font-size:27px;line-height:1.5;font-weight:700;letter-spacing:-.02em;margin:8px 0 0;white-space:nowrap}
.case-months dd small{font-size:14px;font-weight:500;margin-left:2px}
.case-summary{font-size:16px;line-height:1.9;margin:23px 0 0;color:var(--purple)}
.case-support{padding:27px 30px;background:#f7f3f5;margin:5px 0 22px}
.case-support h3{font-size:23px;line-height:1.7;margin:0 0 15px}
.case-support ul{display:grid;grid-template-columns:1fr 1fr;gap:9px 25px;margin:0;padding-left:22px}
.case-support li{font-size:17px;line-height:1.8}
.case-support p{font-size:14px;line-height:1.95;color:var(--muted);margin:18px 0 0}
.case-data-note{font-size:13px;line-height:1.95;color:var(--muted);margin:0}
@media(max-width:1000px){.opening-case{grid-template-columns:230px 1fr;gap:25px}.case-months dd{font-size:23px}.case-clinic h3{font-size:23px}.case-months{gap:12px}}
@media(max-width:800px){.opening-case{grid-template-columns:1fr;gap:24px}.case-months dd{font-size:28px}.print-delivery>div{grid-template-columns:1fr;gap:19px}.case-support ul{grid-template-columns:1fr}.case-clinic h3{margin-bottom:12px}}
@media(max-width:540px){.print-delivery h3{font-size:23px}.print-delivery{padding-bottom:25px;margin-bottom:25px}.print-delivery p{font-size:17px}.print-delivery .delivery-note{font-size:13px}.opening-cases{padding-bottom:35px}.cases-heading h2{font-size:29px}.cases-heading{margin-bottom:28px}.opening-case{padding:26px 0;gap:22px}.case-clinic h3{font-size:24px}.case-months,.case-months-two{display:block}.case-months>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #eadfe5}.case-months dt{font-size:15px}.case-months dt span{font-size:12px}.case-months dd{font-size:28px;margin:0}.case-metric-label{font-size:14px;margin-bottom:5px}.case-summary{font-size:16px;margin-top:17px}.case-support{padding:23px 20px}.case-support h3{font-size:21px}.case-support ul{padding-left:20px;gap:9px}.case-support li{font-size:16px}.case-support p{font-size:13px}.case-data-note{font-size:13px}}

.print-delivery{border-bottom:0;padding-bottom:0;margin-bottom:30px}

/* v1.21: authentic public-site captures and rounded case milestones. */
.opening-cases{background:#fff;padding-bottom:55px}
.cases-heading{margin-bottom:40px}
.showcase{padding:30px 0 38px;border-top:1px solid #d9c6d1}
.showcase-heading{display:flex;align-items:baseline;gap:23px;margin-bottom:22px;flex-wrap:wrap}
.showcase-heading>p{font-size:15px;line-height:1.8;margin:0;color:var(--muted)}
.showcase-heading h3{font-size:27px;line-height:1.6;margin:0}
.showcase-body{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.case-website{margin:0;min-width:0}
.case-website img{width:100%;height:auto;display:block;border:1px solid #e3d7de}
.case-website figcaption{font-size:13px;line-height:1.9;margin-top:10px}
.case-website figcaption a{color:var(--purple);text-decoration:underline;text-underline-offset:4px}
.case-milestone{padding:25px 28px 24px;border-left:4px solid #a15682;background:#f8f2f6;min-width:0}
.case-metric-category{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 16px}
.milestone-start{font-size:18px;line-height:1.8;margin:0 0 20px;padding-bottom:15px;border-bottom:1px solid #dfcbd6}
.milestone-start b{font-size:23px;color:var(--purple);white-space:nowrap}
.milestone-lead{font-size:21px;line-height:1.7;margin:0}
.milestone-number{display:flex;align-items:center;gap:10px;color:var(--purple);margin:5px 0 0}
.milestone-number strong{font-family:Arial,sans-serif;font-size:96px;line-height:1.03;letter-spacing:-.045em}
.milestone-number>span{font-size:26px;line-height:1.2;font-weight:700}
.milestone-number>span>span{display:block;font-size:23px;margin-top:7px}
.milestone-streak{font-size:28px;font-weight:700;line-height:1.4;color:var(--purple);margin:8px 0 3px}
.milestone-date{font-size:13px;color:var(--muted);line-height:1.9;margin:14px 0 0}
.case-support .case-support-main{font-size:17px;line-height:1.95;color:var(--ink);margin-top:0}
@media(max-width:1000px){.showcase-body{gap:25px;grid-template-columns:1.1fr 1fr}.case-milestone{padding:22px}.milestone-number strong{font-size:80px}.milestone-start{font-size:17px}.milestone-start b{font-size:21px}}
@media(max-width:800px){.showcase-body{grid-template-columns:1fr;gap:22px}.case-milestone{padding:24px 28px}.showcase-heading{gap:7px 20px}.milestone-number strong{font-size:86px}}
@media(max-width:540px){.cases-heading h2{font-size:28px;line-height:1.65}.showcase{padding:25px 0 30px}.showcase-heading{display:block;margin-bottom:17px}.showcase-heading>p{font-size:14px;margin-bottom:6px}.showcase-heading h3{font-size:24px}.case-website figcaption{font-size:12px}.showcase-body{gap:19px}.case-milestone{padding:21px 22px;border-left-width:3px}.case-metric-category{margin-bottom:11px}.milestone-start{font-size:17px;margin-bottom:16px;padding-bottom:12px}.milestone-start b{font-size:21px}.milestone-lead{font-size:20px}.milestone-number strong{font-size:83px}.milestone-number>span{font-size:25px}.milestone-number>span>span{font-size:23px}.milestone-streak{font-size:27px}.milestone-date{margin-top:10px}.case-support .case-support-main{font-size:16px}}

/* v1.25: service-first wordmark, readable on small screens. */
.brand{min-width:0;flex-shrink:1;gap:0}
.service-brand{display:block;color:var(--purple);line-height:1.4}
.brand-audience{display:block;font-size:13px;font-weight:500;line-height:1.6;letter-spacing:.015em}
.brand-audience>span{display:inline-block;white-space:nowrap}
.brand-name-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 10px}
.brand-service{font-size:28px;line-height:1.4;font-weight:700;letter-spacing:.03em;white-space:nowrap}
.brand-by{font-size:12px;color:var(--muted);line-height:1.5;white-space:nowrap}
.hero-copy .hero-line-guide{font-size:14px;line-height:1.8;color:var(--ink)}
@media(max-width:1100px) and (min-width:801px){.header .brand-service{font-size:25px}.header .brand-name-row{gap:6px}.header-row{gap:15px}.nav{gap:12px}}
@media(max-width:540px){
  .header-row{height:auto;min-height:96px;padding-top:12px;padding-bottom:12px;gap:12px;align-items:center}
  .header .brand{flex:1 1 0}
  .header .brand-audience{font-size:13px;line-height:1.5}
  .header .brand-service{font-size:23px;letter-spacing:.015em}
  .header .brand-name-row{gap:2px 7px}
  .header .brand-by{font-size:12px}
  .header .nav{flex:0 0 102px}
  .header .nav .btn{white-space:normal;font-size:14px;padding:9px 10px;line-height:1.6;text-align:center}
  .footer .brand-audience{font-size:13px}
  .footer .brand-service{font-size:27px}
  .hero-copy .target br{display:block}
  .hero-copy .hero-line-guide{font-size:14px;line-height:1.8}
  .mobile-cta .btn{font-size:13px;gap:7px;padding-left:9px;padding-right:9px}
}

/* v1.26: approved transparent logo B; source pixels are unchanged. */
.header .header-row{height:112px}
.header .brand{flex:0 1 300px}
.header .brand .opening-logo{display:block;width:300px;max-width:100%;height:auto;object-fit:contain}
@media(max-width:1000px){.header .nav>a:not(.btn){display:none}}
@media(max-width:540px){
  .header .header-row{height:auto;min-height:0;flex-direction:column;align-items:center;gap:5px;padding-top:7px;padding-bottom:9px}
  .header .brand{flex:0 0 auto;width:300px;max-width:100%}
  .header .nav{flex:0 0 auto;width:100%;justify-content:center}
  .header .nav .btn{width:100%;min-height:38px;padding:6px 12px;font-size:14px;line-height:1.6;white-space:nowrap}
}

/* Keep anchor headings below the resized sticky header. */
html{scroll-padding-top:128px}
@media(max-width:540px){html{scroll-padding-top:176px}}
