/* Neutral UI roles measured from lolipop.jp/lp/subscription-homepage/, 390px. */
:root{--bg:#fff;--tint:#F5F3F3;--tint2:#F5F3F3;--dark:#10131C;--primary:#1F2124;--primary-dk:#10131C;--text:#1F2124;--muted:#3C3C3C;--line:#E2DBDA;--serif:"Shippori Mincho B1","Yu Mincho",serif;--sans:"Noto Sans JP",sans-serif;--ez:cubic-bezier(.19,1,.22,1);--bar:56px;--dock:76px}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-size:15px;line-height:1.85;letter-spacing:.02em;color:var(--text);background:var(--bg);padding-top:var(--bar);padding-bottom:var(--dock);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}[hidden]{display:none!important}
:target,[id]{scroll-margin-top:calc(var(--bar) + 12px)}
:focus-visible{outline:3px solid var(--primary);outline-offset:4px}
.wrap{width:100%;max-width:560px;margin-inline:auto;padding-inline:24px}
.sec{padding:64px 0}.sec--tint{background:var(--tint)}.sec--tint2{background:var(--tint2)}
h2{font-size:26px;font-weight:700;line-height:1.5;letter-spacing:.02em;margin-bottom:20px;text-wrap:balance}
h3{font-size:16px;font-weight:700;line-height:1.6}
.section-label{font-size:13px;font-weight:700;color:var(--primary);letter-spacing:.08em;margin-bottom:12px}
.lead{font-size:15px;line-height:1.8;margin-bottom:24px;text-wrap:pretty}
.note,.tiny{font-size:12px;color:var(--muted);line-height:1.8}.note{margin-top:12px}.tiny{display:block;margin-top:6px}
.num{font-weight:700;letter-spacing:0;font-variant-numeric:tabular-nums}
/* Content stays visible during fast scrolling and when JavaScript is disabled. */
.fx{opacity:1;transform:none}
.btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;position:relative;width:min(100%,320px);min-height:60px;margin-inline:auto;padding:10px 44px;border:0;border-radius:4px;background:var(--primary-dk);color:#fff;text-decoration:none;text-align:center;font-size:15px;font-weight:700;line-height:1.4;letter-spacing:.03em;transition:background-color .2s}
.btn::after{content:"→";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:500;line-height:1;color:inherit}
.btn:hover{background:var(--primary)}.btn small{font-size:12px;font-weight:500;line-height:1.4;color:var(--tint);letter-spacing:.03em}
.btn-note{margin-top:12px;font-size:12px;line-height:1.8;color:var(--muted);text-align:center}
.topbar{position:fixed;top:0;left:0;right:0;height:var(--bar);z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 16px;transition:transform .3s,opacity .3s}
.topbar.hide{transform:translateY(-8px);opacity:0;pointer-events:none}
.brand{display:flex;flex-direction:column;justify-content:center;min-height:48px;font-family:var(--serif);font-size:15px;font-weight:600;letter-spacing:.1em;text-decoration:none;line-height:1.4}
.brand small{display:none;font-family:var(--sans);font-size:12px;color:var(--muted);letter-spacing:.06em}
.navbtn{width:52px;height:52px;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.navbtn span{width:22px;height:1.5px;background:var(--text);transition:transform .2s,opacity .2s}
.navbtn[aria-expanded=true] span:first-child{transform:translateY(6.5px) rotate(45deg)}.navbtn[aria-expanded=true] span:nth-child(2){opacity:0}.navbtn[aria-expanded=true] span:last-child{transform:translateY(-6.5px) rotate(-45deg)}
.drawer{position:fixed;inset:var(--bar) 0 0;z-index:55;background:#fff;padding:16px 20px calc(var(--dock) + 32px);overflow:auto;display:none}.drawer.open{display:block}.drawer ol{list-style:none;counter-reset:d}.drawer li{counter-increment:d;border-bottom:1px solid var(--line)}.drawer a{display:flex;align-items:center;gap:14px;min-height:56px;text-decoration:none;font-size:14px}.drawer a::before{content:counter(d,decimal-leading-zero);font-size:13px;font-weight:700;color:var(--primary)}
.toc{display:none;overflow:auto;border-bottom:1px solid var(--line);padding-inline:16px}.toc a{flex:none;display:flex;align-items:center;min-height:48px;padding:0 12px;text-decoration:none;font-size:13px;white-space:nowrap}
.fv{background:var(--tint);border-bottom:1px solid var(--line)}.fv-in{max-width:560px;margin-inline:auto;padding:16px 24px 28px}.fv-cat{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.02em;line-height:1.6}
.fv h1{font-family:var(--sans);font-weight:700;font-size:clamp(30px,9.4vw,38px);line-height:1.25;letter-spacing:0;color:var(--text);margin:8px 0 12px}.fv h1 span{display:block;overflow-wrap:anywhere}
.fv-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 4px;padding:6px 12px;border-left:3px solid var(--primary-dk);background:#fff;font-size:14px;line-height:1.5;color:var(--primary-dk)}.fv-price strong{font-size:28px;font-weight:700;letter-spacing:0}.fv-price small{font-size:12px;white-space:nowrap}
.fv-body{margin-top:12px}.fv-offer{margin-top:10px;font-size:15px;font-weight:700;line-height:1.7;color:var(--primary-dk)}.fv-context{font-size:13px;color:var(--muted);line-height:1.7}.fv .btn{width:100%;margin-top:12px}
.fv-site{margin-top:12px;min-width:0}.fv-site img{width:100%;height:auto;object-fit:contain;border:1px solid var(--line)}.fv-site figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:0 8px;margin-bottom:6px;font-size:12px;color:var(--muted);line-height:1.6}
.fv-jump{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-top:12px;color:var(--primary-dk);font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--line)}
.tabs{display:flex;gap:6px;overflow-x:auto;margin:0 -24px 16px;padding:0 24px 4px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:none;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--muted);font-size:13px;white-space:nowrap;line-height:1.4}.tabs button.act{background:var(--primary-dk);border-color:var(--primary-dk);color:#fff;font-weight:700}
/* Portfolio images provide the color; pricing and process supply dark breaks. */
#sample{padding-block:56px;background:#fff;color:var(--text)}
#sample h2{font-size:30px;line-height:1.4;letter-spacing:.03em}
#sample .preview-open{border-bottom:1px solid var(--line)}
#sample .works-heading h3{font-size:22px}
#sample .works-heading strong{font-size:32px;line-height:1.2}
.sample-preview-card{border:1px solid var(--line);background:var(--tint2);overflow:hidden}.sample-preview-image{width:100%;height:auto;aspect-ratio:900/520;object-fit:contain;object-position:top}
.sample-caption{margin-top:8px;font-size:12px;line-height:1.6;color:var(--muted)}
.preview-open{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:8px 0;margin-top:8px;border:0;background:none;color:var(--primary);font-size:13px;font-weight:700;text-align:left}.preview-open::after{content:"↗";font-size:20px}
.works-block{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.works-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-bottom:16px}.works-heading h3{font-size:20px}.works-heading p{color:var(--primary);font-size:13px;font-weight:700}.works-heading strong{font-size:24px;letter-spacing:0}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.gallery .g{border:0;background:none;padding:0;color:var(--muted);text-align:left;min-width:0}.gallery .im{display:block;aspect-ratio:16/10;overflow:hidden;border:1px solid var(--line);border-radius:2px;background:var(--tint2)}.gallery img{width:100%;height:100%;object-fit:cover;object-position:top}.gallery .cat{display:block;padding-top:6px;font-size:12px;line-height:1.6}
.preview-dialog{width:min(94vw,900px);max-width:900px;max-height:92dvh;border:0;border-radius:8px;background:#fff;color:var(--text);margin:auto;padding:0}.preview-dialog::backdrop{background:rgba(16,19,28,.75)}.preview-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid var(--line);font-size:14px;font-weight:700}.preview-close{min-width:44px;min-height:44px;border:0;background:var(--tint2);color:var(--text);font-size:22px}.preview-body{max-height:calc(92dvh - 70px);overflow:auto}.preview-body img{width:100%;height:auto}.preview-body iframe{display:block;width:100%;height:75dvh;border:0}
#price{background:var(--dark);color:#fff}#price h2{font-size:28px;color:#fff}
#price .section-label,#price .price-zero{color:#fff}
#price .lead,#price .btn-note{color:var(--tint)}
#price .service-list li::before,#price .price-more summary::after{color:#fff}
#price>.wrap>.price-more{border-color:#72757D}
#price>.wrap>.price-more li{color:var(--tint);border-color:#72757D}
#price .btn{background:#fff;color:var(--primary-dk)}#price .btn:hover{background:var(--tint)}#price .btn small{color:var(--muted)}
#price :focus-visible{outline-color:#fff}
.price-lead{margin-bottom:20px}.price-zero{display:inline-block;color:var(--primary-dk);font-size:20px;font-weight:700;line-height:1.6}.price-zero strong{font-size:30px;line-height:1;letter-spacing:0}
.plans{display:grid;gap:12px;background:transparent}.plan{padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text)}.plan.featured{background:var(--tint);border:1px solid #fff}
.plan-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.plan-name{font-size:15px;letter-spacing:.04em;color:var(--primary-dk);overflow-wrap:anywhere}.plan-pages{font-size:13px;color:var(--muted);line-height:1.6}.plan-price{font-size:12px;color:var(--primary-dk);line-height:1.5;text-align:right;white-space:nowrap}.plan-price b{font-size:28px;line-height:1.2;color:var(--primary)}.plan-price small{display:block;font-size:12px;color:var(--muted)}
.plan-badge{display:inline-block;margin-bottom:5px;padding:2px 7px;border-radius:2px;background:var(--primary);color:#fff;font-size:12px;line-height:1.4;font-weight:700}.plan-costs{display:flex;flex-wrap:wrap;gap:2px 12px;padding-top:8px;margin-top:8px;border-top:1px solid var(--line);font-size:12px;line-height:1.7;color:var(--muted)}.plan-costs strong{color:var(--primary-dk);font-weight:500}
.plan-common{margin-top:24px}.plan-common h3{font-size:14px;margin-bottom:12px}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;list-style:none;font-size:13px;line-height:1.65}.service-list li{padding-left:15px;position:relative}.service-list li::before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:700}.service-list li:last-child{grid-column:1/-1}
.price-conditions{margin-top:24px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-size:13px;line-height:1.85}.price-conditions p+p{margin-top:10px}.price-conditions b{color:var(--primary-dk)}
.price-more{margin-top:16px;border-bottom:1px solid var(--line)}.price-more summary{min-height:52px;padding:14px 32px 14px 0;position:relative;font-size:14px;font-weight:700;cursor:pointer;list-style:none}.price-more summary::-webkit-details-marker{display:none}.price-more summary::after{content:"＋";position:absolute;right:4px;color:var(--primary)}.price-more[open] summary::after{content:"−"}.price-more ul{list-style:none;padding-bottom:12px}.price-more li{padding:8px 0;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}.price-cta{margin-top:28px}
.reasons{display:grid;gap:20px}.reason{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;border-top:2px solid var(--primary);padding-top:16px}.reason .no{color:var(--primary);font-size:30px;font-weight:700;line-height:1.3;letter-spacing:0}.reason h3{margin-bottom:8px}.reason div>p{font-size:15px;color:var(--muted)}
.compare-block{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}.compare-block>h3{font-size:20px;line-height:1.5;margin-bottom:8px}.compare-intro{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:20px}.compare-groups{display:grid;gap:20px}.compare-group h4{font-size:14px;line-height:1.6;padding:8px 12px;color:#fff;background:var(--primary-dk)}.compare-group dl{border-inline:1px solid var(--line)}.compare-group dl>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;padding:8px 12px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.65}.compare-group dt{color:var(--muted)}.compare-group .us{background:var(--tint)}.compare-group .us dt,.compare-group .us dd{font-weight:700;color:var(--primary-dk)}
#flow{background:var(--dark);color:#fff}#flow h2{font-size:28px;color:#fff}#flow .section-label{color:var(--tint)}
.flow{list-style:none;counter-reset:step;display:grid;gap:12px;color:var(--text)}.step{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:16px;border-radius:8px;background:#fff}.step .no{display:grid;place-items:center;align-self:start;width:32px;height:32px;border-radius:50%;background:var(--primary-dk);color:#fff;font-size:13px;font-weight:700;line-height:1}.step h3{font-size:15px;margin-bottom:4px}.step p{font-size:15px;line-height:1.8;color:var(--muted)}.step-time{display:block;font-size:12px;color:var(--primary-dk);line-height:1.7;margin-bottom:4px;font-weight:700}
.after-contract{margin-top:24px;padding:16px 0 0;border-top:1px solid #72757D}.after-contract h3{font-size:14px;margin-bottom:6px;color:#fff}.after-contract p{font-size:13px;color:var(--tint);line-height:1.8}
#faq{padding-block:48px}.faq details{border-bottom:1px solid var(--line)}.faq summary{min-height:56px;padding:18px 32px 18px 0;position:relative;font-size:14px;font-weight:700;line-height:1.65;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"＋";position:absolute;right:2px;top:18px;color:var(--primary)}.faq details[open] summary::after{content:"−"}.faq .a{padding:0 0 20px;font-size:14px;color:var(--muted)}
.booking-section{position:relative;isolation:isolate;overflow:hidden;background:var(--tint);color:var(--text);padding:64px 0 80px}.booking-section .wrap{max-width:800px}.booking-intro{margin-bottom:28px}.booking-kicker{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.16em}.booking-kicker::before{content:"";width:30px;height:1px;background:currentColor}.booking-section h2{font-size:clamp(28px,7vw,40px);line-height:1.4;margin-bottom:14px;color:var(--text)}.booking-section h2 span{color:var(--text)}.booking-lead{font-size:15px;line-height:1.8;color:var(--muted)}.booking-points{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-top:20px}.booking-points li{padding:7px 10px;border:1px solid var(--line);border-radius:4px;font-size:12px;line-height:1.5}.booking-points li::before{content:"✓";margin-right:6px;color:var(--primary);font-weight:700}
.booking-panel{border-radius:12px;background:#fff;color:var(--text);overflow:hidden}.booking-panel-head{display:flex;align-items:center;gap:12px;padding:17px 20px;border-bottom:1px solid var(--line);background:var(--tint2)}.booking-panel-head strong{font-size:14px;color:var(--primary-dk)}.booking-panel-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;background:var(--tint);color:var(--primary-dk);font-size:19px}.booking-card{padding:24px 20px;background:#fff}.booking-card p{font-size:14px;line-height:1.8;color:var(--muted)}.booking-card a{display:inline-flex;align-items:center;min-height:44px;color:var(--primary-dk);font-weight:700;overflow-wrap:anywhere}
footer{padding:48px 0;border-top:1px solid var(--line);background:var(--tint);font-size:13px;line-height:1.85;color:var(--muted)}footer .co{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.1em;color:var(--text);margin-bottom:12px}footer dl{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:8px 12px;margin-bottom:24px}footer dd{color:var(--text);overflow-wrap:anywhere}footer .links{border-top:1px solid var(--line)}footer .links a{display:flex;align-items:center;min-height:52px;text-decoration:none;color:var(--text);border-bottom:1px solid var(--line)}footer .copy{margin-top:24px}
.dock{position:fixed;left:0;right:0;bottom:0;z-index:60;min-height:var(--dock);padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);transform:translateY(110%);opacity:0;pointer-events:none;transition:transform .3s,opacity .2s}.dock.show{transform:none;opacity:1;pointer-events:auto}.dock .btn{margin:0}
/* Repair existing booking tap targets without changing the booking engine. */
.reserve button:focus-visible,.reserve input:focus-visible,.reserve select:focus-visible{outline-color:var(--primary)}
.reserve-step::before{background:var(--tint);font-size:12px}
.reserve-day{background:var(--tint);border-color:var(--line);color:var(--text)}
.reserve-day small{font-size:12px;color:var(--muted)}
.reserve-day:hover:not(:disabled){background:var(--tint)}
.reserve-day[aria-pressed=true],.reserve-day[aria-pressed=true]:hover:not(:disabled){background:var(--primary-dk);color:#fff}
.reserve-day[aria-pressed=true] small{color:#fff}
.reserve-select,.reserve-field input{border-color:var(--line);color:var(--text)}
.reserve-slot{background:var(--tint);border-color:var(--line)}.reserve-slot:hover{background:var(--tint)}
.reserve-msg,.reserve-privacy{color:var(--muted)}.reserve-error{color:#af2424}
.reserve-back{min-height:44px;color:var(--primary)}
.reserve-selected{background:var(--tint);border-color:var(--line);color:var(--text)}
.reserve-submit:hover:not(:disabled){background:var(--primary)}
.reserve-privacy{font-size:12px}.reserve-privacy a{display:inline-flex;align-items:center;min-height:44px;color:var(--primary)}
.reserve-dialog{width:min(400px,calc(100vw - 16px));max-width:calc(100vw - 4px);margin:auto;padding:12px;border-color:var(--line);color:var(--text);box-shadow:0 20px 60px rgba(16,19,28,.2)}
.reserve-dialog::backdrop{background:rgba(16,19,28,.66)}
.reserve-dialog-head button,.reserve-month-nav button{min-width:44px;min-height:44px;color:var(--primary)}
.reserve-calendar button{min-height:44px;color:var(--text)}.reserve-calendar b{font-size:12px;color:var(--muted)}
.reserve-calendar button:hover:not(:disabled),.reserve-calendar button[aria-pressed=true]{background:var(--primary-dk);color:#fff}
@media(max-width:359px){.wrap,.fv-in{padding-inline:16px}.tabs{margin-inline:-16px;padding-inline:16px}.plan{padding:14px 12px}.plan-name{font-size:14px}.plan-price b{font-size:26px}.plan-price{font-size:12px}.plan-main{gap:6px}.fv-price{font-size:13px}.fv-price strong{font-size:25px}.service-list{grid-template-columns:1fr}.compare-group dl>div{grid-template-columns:72px minmax(0,1fr);gap:8px}.reserve-dialog{width:calc(100vw - 4px);padding:2px}.reserve-dialog-head,.reserve-month-nav{padding-inline:10px}.reserve-calendar{gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.fx{opacity:1;transform:none}}
/* Wider layouts added after the 390px version was visually checked. */
@media(min-width:768px){.brand small{display:block}.toc{display:flex}.wrap{max-width:760px;padding-inline:32px}.tabs{margin-inline:-32px;padding-inline:32px}.sample-preview-card{max-width:560px;margin-inline:auto}.sample-caption,.preview-open{max-width:560px;margin-inline:auto}.preview-open{margin-top:8px}.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.reasons{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.compare-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.booking-section{padding:80px 0 96px}.plan-costs{gap:8px 24px}.plan{padding:18px 24px}.booking-panel-head{padding-inline:32px}}
@media(min-width:1024px){.fv-in{max-width:1280px;padding:56px 48px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);column-gap:56px;align-items:center}.fv-heading{grid-column:1;grid-row:1;align-self:end}.fv h1{font-size:clamp(38px,3.4vw,50px)}.fv-body{grid-column:1;grid-row:2;align-self:start}.fv-site{grid-column:2;grid-row:1/3;margin:0}.fv .btn{max-width:360px;margin-left:0}.fv-jump{grid-column:1;grid-row:3;max-width:360px}.fv-context br{display:none}}
/* 2026-10-13: mobile plan overview, evidence, and consultation destination. */
:root{--dock:96px}
body{padding-bottom:calc(var(--dock) + env(safe-area-inset-bottom,0px))}
#price .wrap{padding-inline:16px}
.plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.plan,.plan.featured{min-width:0;padding:10px 7px 14px;border-radius:5px;background:#fff}
.plan.featured{border:2px solid #fff;background:#eeeae9;padding:9px 6px 13px}
.plan-badge-slot{height:26px;text-align:center}
.plan-badge{padding:2px 4px;font-size:12px;margin:0}
.plan-badge:empty{display:none}
.plan-main{display:block;text-align:center}
.plan-name{font-size:12px;letter-spacing:0;line-height:1.5;overflow-wrap:anywhere}
.plan-pages{font-size:13px;margin-top:4px;color:#3c3c3c;min-height:42px;align-content:center}
.plan-page-count{display:inline-block;max-width:100%;overflow-wrap:anywhere}
.plan-price{margin-top:14px;font-size:12px;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.plan-price>span{display:block;font-size:12px;margin-bottom:4px;color:#3c3c3c}
.plan-price b{font-size:clamp(18px,5.1vw,26px);line-height:1.4;letter-spacing:-.035em}
.plan-costs{display:grid;gap:12px;margin-top:14px;padding-top:12px;text-align:center;line-height:1.6}
.plan-costs span{display:block;font-size:12px}
.plan-costs strong{display:block;font-size:13px;font-weight:700;overflow-wrap:anywhere}
.plan-service-link{margin-top:22px;font-size:13px;line-height:1.8;color:#f5f3f3}
.plan-service-link a{display:flex;align-items:center;min-height:44px;font-weight:700;color:#fff;text-underline-offset:4px}
#included{background:#f5f3f3;border-bottom:1px solid #e2dbda}
.included-grid{display:grid;gap:0}
.included-grid article{position:relative;padding:20px 0 20px 40px;border-top:1px solid #ccc5c4}
.included-grid article>span{position:absolute;top:22px;left:0;font-size:13px;font-weight:700;color:#3c3c3c}
.included-grid h3{font-size:16px;margin-bottom:5px}
.included-grid p,.included-extra p{font-size:14px;line-height:1.8;color:#3c3c3c}
.included-extra{background:#fff;border-left:3px solid #10131c;padding:20px;margin-top:20px}
.included-extra h3{font-size:14px;margin-bottom:8px}
.quality-portfolio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}
.portfolio-item{padding:0;border:0;background:transparent;text-align:left;min-width:0;color:#1f2124}
.portfolio-item:first-child{grid-column:1/-1}
.portfolio-item img{width:100%;aspect-ratio:1.55;object-fit:cover;object-position:top;border:1px solid #e2dbda}
.portfolio-item:first-child img{aspect-ratio:1.75}
.portfolio-item>span{display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:13px;font-weight:700;border-bottom:1px solid #e2dbda}
.portfolio-item>span b{font-size:20px;font-weight:400}
.compare-block{margin-top:40px;padding-top:32px}
.compare-block>h3{font-size:24px;line-height:1.5}
.compare-intro{font-size:14px}
.comparison-table{width:100%;table-layout:fixed;border-collapse:collapse;line-height:1.6}
.comparison-table caption{text-align:left;font-size:12px;color:#3c3c3c;margin-bottom:10px}
.comparison-table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.comparison-table th,.comparison-table td{padding:12px 6px;font-size:13px;text-align:center;overflow-wrap:anywhere;min-width:0;vertical-align:middle;border-bottom:1px solid #e2dbda;color:#3c3c3c}
.comparison-table thead th{background:#eeeae9;color:#1f2124;font-weight:700;align-content:center}
.comparison-table thead th:first-child{display:none}
.comparison-table thead th.us{background:#10131c;color:#fff}
.comparison-table thead small{display:block;font-size:12px;letter-spacing:0}
.comparison-table tbody th{grid-column:1/-1;text-align:left;padding:10px 12px;background:#f5f3f3;color:#1f2124;font-size:13px}
.comparison-table td.us{background:#f5f3f3;border-left:3px solid #10131c;color:#10131c;font-weight:700}
.compare-note{margin-top:14px;font-size:12px;line-height:1.85;color:#3c3c3c}
.booking-section{background:#10131c;color:#fff;padding:48px 0 56px}
.booking-section .wrap{position:relative;z-index:1;max-width:760px}
.booking-art{position:absolute;inset:0 0 auto;height:480px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;overflow:hidden;opacity:.2;pointer-events:none}
.booking-art img{width:100%;height:480px;object-fit:cover;object-position:top;filter:grayscale(1)}
.booking-section::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#10131cf5,#10131cb8 65%,#10131c80),linear-gradient(0deg,#10131c 20%,transparent 90%);pointer-events:none}
.booking-intro{margin-bottom:28px}
.booking-kicker{color:#fff;font-size:13px;letter-spacing:.02em;margin-bottom:18px}
.booking-section h2,.booking-section h2 span{color:#fff;font-size:clamp(26px,6.6vw,42px);line-height:1.5;letter-spacing:0;text-wrap:initial}
.booking-lead{font-size:14px;color:#fff;line-height:1.85}
.consult-topics{list-style:none;padding:12px 16px;margin-top:18px;background:#10131c;border-left:2px solid #fff}
.consult-topics li{padding:5px 0;font-size:14px;font-weight:700;line-height:1.6}
.consult-topics li::before{content:"＋";margin-right:8px}
.booking-points{gap:6px;margin-top:16px}
.booking-points li{border:0;padding:0 10px 0 0;font-size:12px;color:#fff}
.booking-points li::before{color:#fff}
.booking-panel{border:1px solid #e2dbda;box-shadow:0 16px 48px #0003}
.booking-panel-head{background:#f5f3f3;padding:16px}
.booking-panel-head strong{font-size:15px}
.dock{background:#fff;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}
.dock .btn{width:100%;max-width:560px;min-height:72px;font-size:18px;padding-inline:44px}
.dock .btn small{font-size:13px}
@media(min-width:390px){.plan-name{font-size:13px}.plan-price b{font-size:24px}}
@media(min-width:768px){#price .wrap{padding-inline:32px}.plans{gap:16px}.plan,.plan.featured{padding:20px}.plan-name{font-size:17px}.plan-pages{font-size:15px}.plan-price b{font-size:32px}.plan-costs strong{font-size:15px}.included-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.quality-portfolio{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.portfolio-item:first-child{grid-column:auto}.portfolio-item img,.portfolio-item:first-child img{aspect-ratio:1.2}.comparison-table tr{display:table-row}.comparison-table th,.comparison-table td{padding:14px 12px}.comparison-table thead th:first-child{display:table-cell}.comparison-table th:first-child{width:28%}.comparison-table tbody th{display:table-cell}.booking-section{padding-block:72px}.booking-art{height:100%;inset:0 0 0 30%}.booking-art img{height:100%}}
@media(min-width:1024px){.booking-section .wrap{max-width:1180px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}.booking-intro{margin:24px 0 0}.booking-panel{min-width:0}.booking-section h2{font-size:34px}}
@media(min-width:768px){.plan.featured{padding:19px}}
.plan-badge-slot{height:auto;min-height:42px;display:flex;align-items:center;justify-content:center}
.plan-badge{background:transparent;color:#3c3c3c;font-weight:500;line-height:1.6}
.page-count-note{margin-top:16px;font-size:13px;line-height:1.8;color:#fff}
.included-support{margin-top:20px;padding:16px 20px;background:#f5f3f3;font-size:14px;line-height:1.8;color:#3c3c3c}
@media(max-width:767px){.fv-in{padding-top:14px}.fv-site,.fv-body{margin-top:8px}.fv-offer{margin-top:8px}.fv .btn{margin-top:8px}}
@media(max-width:374px){.dock .btn{padding-inline:40px}.dock .btn small{font-size:12px;letter-spacing:0}}
