/* KANDOU HIKARI — 2026 renewal. Existing components, unified visual language. */
:root{--bg:#fff;--bg-2:#f3f7fc;--ink:#132b45;--ink-2:#52657a;--ink-3:#6d7e90;--line:#dce5ee;--blue:#2875ce;--blue-deep:#195aa5;--blue-tint:#eaf3ff;--sun:#d9eaff;--r-lg:20px;--r-md:12px;--r-sm:6px;--maxw:1320px;--gut:clamp(22px,5vw,72px);--shadow-soft:none}
body{line-height:1.9;letter-spacing:.02em}h1,h2,h3{font-feature-settings:"palt";text-wrap:pretty}h1{font-size:clamp(36px,4.5vw,62px);line-height:1.42;letter-spacing:.01em}h1 .hl::after{display:none}h1 .hl{color:var(--blue)}.h2{font-size:clamp(28px,3.2vw,44px);line-height:1.55;letter-spacing:.025em}.section-label{font-family:var(--font-en);font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--blue);margin-bottom:24px}.sec{padding:112px 0}.sec-sm{padding:72px 0}.sec.pt0{padding-top:64px}.head{margin-bottom:40px}.sec>.wrap>.head{margin-bottom:36px}
.btn{border-radius:9px;padding:17px 26px;font-size:14px;justify-content:space-between;min-height:54px;background:var(--blue);border-color:var(--blue);box-shadow:none!important;transition:background .25s,color .25s,transform .25s}.btn:hover{background:var(--blue-deep);border-color:var(--blue-deep);transform:translateY(-2px)}.btn.light{background:#fff;border-color:var(--blue);color:var(--blue)}.btn.light:hover{background:var(--blue-tint);border-color:var(--blue)}.btn.sm{min-height:44px;border-radius:7px}.link{font-size:14px;padding:7px 0;border-color:var(--line);color:var(--blue)}.link::after{content:'↗';margin-left:10px}.link:has(svg)::after{display:none}
body .hd,body.is-top .hd,body.has-hero .hd,body.is-top .hd.on{position:sticky;top:0;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.hd .wrap{max-width:1600px;height:88px;gap:30px;padding:0 34px}.hd .logo img{height:40px}.hd .nav{gap:23px;margin-left:auto;font-size:13px}.hd .tel{display:none}.hd .cta{margin-left:0}body .hd .logo .logo-white,body.is-top .hd .logo .logo-white,body.has-hero .hd .logo .logo-white{display:none!important}body .hd .logo .logo-color,body.is-top .hd .logo .logo-color,body.has-hero .hd .logo .logo-color{display:block!important}body.is-top .hd:not(.on) .nav>a,body.is-top .hd:not(.on) .nav>.dd>a,body.is-top .hd:not(.on) .nav>.dd>a svg{color:var(--ink)}body .burger,body.is-top .hd:not(.on) .burger,body.has-hero .burger{background:#fff;border-color:var(--line);border-radius:7px}body .burger i,body.is-top .hd:not(.on) .burger i,body.has-hero .burger i{background:var(--ink)}.drawer{inset:88px 0 0;visibility:hidden}.drawer.open{visibility:visible}.nav .menu>div{border-radius:10px;box-shadow:0 14px 32px #132b4510}.nav .menu a{border-radius:5px}
body .hero{background:#367dcc;min-height:0;padding:70px 0 74px;position:relative;overflow:hidden;display:block}.hero>.wrap{width:100%;position:relative}.hero .grid{display:grid;grid-template-columns:1.04fr 1fr;gap:52px;max-width:none;align-items:center}.hero .copy{padding:0;color:#fff}.hero-eyebrow{font-size:14px;font-weight:500;letter-spacing:.12em;margin:0 0 24px;display:flex;align-items:center;gap:12px}.hero-eyebrow::before{content:'';width:28px;height:1px;background:#ffffff80}.hero h1{font-size:clamp(40px,4.8vw,68px);font-weight:700;line-height:1.45;margin-bottom:26px;color:#fff;letter-spacing:.025em}.hero h1 .hl{color:#fff}.hero .lead{font-size:15px;line-height:2;color:#ffffffed;margin-bottom:30px}.hero .actions{display:flex;gap:20px;align-items:center}.hero .actions .btn{background:#fff;color:#2465b4;border-color:#fff;padding:17px 22px}.hero .actions .btn:hover{background:#e9f3ff}.hero .actions .link{font-size:12px;color:#fff;border-color:#ffffff70}.hero .visual{display:block;position:relative;min-width:0;padding:0 0 32px}.hero .ph.main{aspect-ratio:1.05;border-radius:100px 20px 20px 20px;background:#dce5ec;overflow:hidden}.hero .ph.main img{width:100%;height:100%;object-fit:cover;object-position:73% 50%;display:block}.hero-note{position:absolute;bottom:7px;left:-28px;display:flex;align-items:center;gap:15px;padding:18px 24px;background:#fff;color:var(--ink);border-radius:10px;box-shadow:0 8px 24px #1b4e7f15}.hero-note small{display:block;font-size:11px;color:var(--ink-2)}.hero-note b{font-size:17px;font-weight:700}.note-dot{width:32px;height:32px;border-radius:50%;background:var(--blue-tint);display:grid;place-items:center}.note-dot::after{content:'✓';color:var(--blue);font-size:17px}.photo-index{position:absolute;bottom:0;right:0;font-family:var(--font-en);font-size:9px;letter-spacing:.11em;color:#ffffffc0}.trust{background:#fff;border:0;border-bottom:1px solid var(--line)}.trust .wrap{padding-top:25px;padding-bottom:25px;gap:16px 28px;justify-content:space-between}.trust span{font-size:12px;color:var(--ink-2)}.trust span::before{width:15px;height:15px;background-color:var(--blue);background-size:9px}
.why .grid{grid-template-columns:1fr 1.1fr;gap:80px}.why .item{padding:28px 0;grid-template-columns:38px 1fr;gap:20px}.why .item .ico{border:0;background:none;color:var(--blue);width:38px;height:38px;counter-increment:benefit}.why .item .ico svg{display:none}.why .item .ico::before{content:'0' counter(benefit);font-family:var(--font-en);font-size:22px;font-weight:500}.why{counter-reset:benefit}.why .item h3{font-size:21px;line-height:1.6}.why .item p{font-size:14px;line-height:2;margin-top:10px}.why .sticky .muted{margin-top:20px;max-width:26em}
.price{background:var(--bg-2)}.price .panel{border:0;border-radius:0;background:none;gap:24px;overflow:visible}.price .plan{border:1px solid var(--line);background:#fff;padding:34px 40px;border-radius:12px}.price .plan+.plan{border:1px solid var(--line)}.price .plan .for{letter-spacing:.1em;font-size:12px;margin-bottom:14px}.price .amt .n{font-size:64px;font-weight:500;color:var(--blue);font-variant-numeric:tabular-nums}.price .inc{border-top:1px solid var(--line);padding-top:23px}.price .notes{max-width:850px}.price .foot{justify-content:flex-end}.multi{background:var(--blue-tint);color:var(--ink);border-radius:16px}.multi .h2{color:var(--ink)}.multi p.body,.multi .pt span{color:var(--ink-2)}.multi .pt{background:#fff;border:0}.multi .pt .no{color:var(--blue)}.multi .btn{color:var(--blue)}
.sec.tel-sec{background:#fff}.tel-sec .grid{gap:80px}.tel-sec .ph{border-radius:16px}.tel-sec li{font-size:14px}.voices{background:var(--bg-2)}.voice{background:none;border:0;border-radius:0;flex-basis:min(360px,84vw)}.voice .photo{border-radius:12px;overflow:hidden;aspect-ratio:1.38}.voice .body{padding:24px 2px 6px;gap:16px}.voice .q{font-size:17px;font-weight:700;line-height:1.9}.voice .q::before{display:none}.voice .who{padding-top:15px}.voice .photo .meta i{border-radius:4px;padding:4px 10px;font-size:10px}.voices .arrows button{border:1px solid var(--line);width:44px;height:44px}.flow .step h3{font-size:16px}.flow .ico{border-radius:12px;border:0;background:var(--blue-tint);color:var(--blue)}.flow .after{border-radius:8px}.sec.faq{background:var(--bg-2);padding:96px 0}.faq summary{font-size:15px;padding:25px 0}.faq summary .pm{border:0;background:#fff}.faq .a{font-size:14px;line-height:2}.news .list a{padding:25px 0}.news .c{border-radius:4px;background:var(--bg-2);color:var(--ink-2)}.news .c.warn{background:var(--blue-tint);color:var(--blue)}.news .t{font-size:14px}.final{padding:35px 0 96px}.final .box{background:#eaf3ff;color:var(--ink);border-radius:18px;padding:64px;gap:60px}.final .box::before{display:none}.final h2{color:var(--ink);font-size:36px;line-height:1.6;font-weight:700}.final p{color:var(--ink-2);font-size:14px;line-height:2}.final .btn{background:var(--blue);border-color:var(--blue);color:#fff}.final .btn:hover{background:var(--blue-deep);border-color:var(--blue-deep)}.final .telbox,.final .telbox b{color:var(--ink-2);font-size:13px}.final .telbox{border-color:#cbdced}.final .telbox b{font-size:21px;margin-top:5px}.ft{background:#fff;border-top:1px solid var(--line);padding:64px 0 52px;font-size:13px}.ft .grid{gap:30px}.ft .logo img{height:42px}.ft .tag{font-size:12px}.ft h4{color:var(--ink);font-size:12px}.ft .legal{font-size:11px;color:var(--ink-3)}
/* Interior pages keep their content and gain the same rhythm. */
.phero{background:var(--bg-2);padding:24px 0 64px}.phero .crumb{font-size:11px;margin-bottom:25px;color:var(--ink-3)}.phero .grid{align-items:center;gap:72px}.phero .copy{padding:16px 0}.phero h1{font-size:clamp(32px,3.8vw,54px);font-weight:700}.phero .lead{font-size:15px;line-height:2;margin-bottom:26px}.phero .ph{box-shadow:none;border-radius:60px 12px 12px 12px;aspect-ratio:1.2}.vtag{font-size:12px;letter-spacing:.06em;margin-bottom:20px}.phero .chips span{background:none;border:0;border-left:1px solid #b7ccdf;border-radius:0;padding:0 12px;font-size:12px}.cards{gap:24px}.card{border:0;border-top:1px solid var(--line);border-radius:0;background:none;padding:30px 0}.card:hover{box-shadow:none;transform:none}.card .ic{border-radius:7px}.card h3{font-size:19px}.two{gap:72px}.two>.ph{border-radius:14px}.vcard,.col-card,.iv-rel .card{border-radius:12px;border-color:var(--line);box-shadow:none}.vcard:hover,.col-card:hover,.iv-rel .card:hover{box-shadow:none}.vcard:hover .vph img,.voice:hover .photo img{transform:scale(1.035)}.vph,.voice .photo{overflow:hidden}.vph img,.voice .photo img{transition:transform .5s}.iv-hero{background:var(--blue-tint);color:var(--ink)}.iv-hero .inner{max-width:1100px;padding-top:96px;padding-bottom:72px}.iv-hero .ph img{filter:brightness(.8)}.iv-hero h1{color:#fff}.iv-shot,.iv-pull,.iv-summary{border-radius:12px}.iv-a strong{background:none;color:var(--blue-deep)}.tbl,.ptbl,.plans .table,.compare{border-radius:10px}.prose{line-height:2.05}.prose h2{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:30px;font-size:23px}.tabs{border-bottom:1px solid var(--line);gap:0}.tabs button{border:0;border-radius:0;padding:16px 30px;background:none}.tabs button[aria-selected=true]{background:none;color:var(--blue);box-shadow:inset 0 -3px var(--blue)}.form{border:0;border-radius:12px;background:var(--bg-2);padding:38px}.f{margin-bottom:27px}.f input,.f select,.f textarea{border-radius:6px;border:1px solid #cbd7e3;min-height:48px}.f label .req{background:var(--blue);border-radius:3px;font-size:10px}.f .radios label{background:#fff;border-radius:6px;border:1px solid var(--line);font-size:13px;padding:10px 14px}.f .radios input{min-height:0;accent-color:var(--blue)}.f .radios label:has(input:checked){border-color:var(--blue);background:var(--blue-tint)}.consent input{accent-color:var(--blue)}.side{background:#fff;border:1px solid var(--line);border-radius:10px}.form-status{margin:20px 0 0;font-size:14px;color:var(--blue-deep);padding:15px;background:#fff;border-left:3px solid var(--blue)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.rv>*{animation-duration:.9s}.spbar{border-radius:12px;background:#fff;box-shadow:0 4px 24px #132b4520;border:1px solid var(--line);padding:6px;gap:6px}.spbar a{border-radius:7px;color:var(--blue)}.spbar a+a{color:#fff}.spbar a:first-child{border:1px solid var(--line)}
@media(min-width:1201px){.drawer{display:none}}
@media(max-width:1200px){.hd .wrap{height:76px;padding:0 24px}.drawer{inset:76px 0 0}.hero .grid{gap:35px}.hero .actions{flex-wrap:wrap;gap:12px}.hero h1{font-size:clamp(42px,5vw,60px)}.hero-note{left:-15px;padding:14px 18px}.trust .wrap{justify-content:center}.why .grid{gap:45px}}
@media(max-width:900px){.sec{padding:80px 0}.why .grid{grid-template-columns:1fr;gap:32px}.why .sticky{position:static}.faq .grid{grid-template-columns:1fr;gap:28px}.final .box{grid-template-columns:1fr;padding:40px;gap:32px}.final h2{font-size:32px}.tel-sec .grid,.two{gap:32px}.phero .grid{gap:32px}.hero .grid{grid-template-columns:1fr 1fr;gap:28px}.hero h1{font-size:42px}.hero .lead{font-size:13px}.hero .ph.main{aspect-ratio:.8}.photo-index{display:none}.hero-note{left:-15px}.hero-note b{font-size:14px}.hero-note small{font-size:10px}.hero-note .note-dot{width:26px;height:26px}.hero-eyebrow{font-size:12px}.ft .grid{grid-template-columns:1fr 1fr}.ft .grid>:first-child{grid-column:1/-1}}
@media(max-width:760px){body .hd,body.has-hero .hd{position:sticky;background:#fff;backdrop-filter:none}.hd .wrap{height:70px;padding:0 22px}.hd .logo img{height:34px}.drawer{inset:70px 0 0}.drawer .dhead,.drawer .dtop{font-size:16px}.drawer .btn{margin-top:22px}.hero{margin:0}body .hero{padding:38px 0 32px;background:#367dcc}.hero>.wrap{padding:0 var(--gut)}.hero .grid{display:grid;grid-template-columns:1fr;gap:32px}.hero .copy{padding:0}.hero h1{font-size:clamp(36px,8.7vw,54px);line-height:1.48;margin-bottom:20px;letter-spacing:.025em}.hero h1 br:nth-of-type(2){display:none}.hero .lead{font-size:13px;margin-bottom:22px}.hero-eyebrow{margin-bottom:20px;font-size:11px}.hero .actions{flex-direction:row;align-items:center;gap:14px;margin-top:0}.hero .actions .btn{font-size:12px;padding:13px 16px;min-height:48px;flex:0 1 auto}.hero .actions .link{font-size:11px;padding:5px 0;align-self:center}.hero .visual{display:block;padding:0 0 25px;max-width:540px;width:100%;margin:auto}.hero .ph.main{aspect-ratio:1.45;border-radius:55px 12px 12px 12px}.hero .ph.main img{object-position:72% 44%}.hero-note{left:14px;bottom:0;padding:12px 16px}.hero-note b{font-size:14px}.hero-note small{font-size:10px}.trust .wrap{display:grid;grid-template-columns:1fr 1fr;gap:13px 10px;padding-top:22px;padding-bottom:22px}.trust span{font-size:10px;white-space:normal;gap:7px}.trust span::before{width:13px;height:13px;flex:none}.sec,.sec-sm{padding:64px 0}.sec.pt0{padding-top:54px}.section-label{font-size:11px;margin-bottom:16px}.h2{font-size:28px;line-height:1.6}.why .item{gap:14px;padding:24px 0}.why .item h3{font-size:18px}.why .item p{font-size:13px}.price .panel{grid-template-columns:1fr;gap:16px;margin-top:28px}.price .plan{padding:26px}.price .amt .n{font-size:54px}.price .plan h3{font-size:20px;margin-bottom:20px}.price .inc{font-size:13px}.price .foot{justify-content:stretch}.price .foot .btn{width:100%}.tel-sec .ph{min-height:0}.voices .head{flex-direction:row;align-items:end;gap:10px}.voices .arrows button{height:36px;width:36px}.voices .arrows{gap:6px}.voice{flex-basis:82vw}.voice .q{font-size:16px}.flow .after{font-size:13px;padding:20px}.sec.faq{padding:60px 0}.faq summary{font-size:14px;gap:14px;padding:22px 0}.faq .a{padding-right:0;font-size:13px}.final{padding:20px 0 64px}.final .wrap{padding:0 14px}.final .box{padding:32px 24px;border-radius:12px;gap:28px}.final h2{font-size:27px}.final p{font-size:13px}.final .btn{font-size:13px;padding:17px}.ft{padding:48px 0 125px}.ft .grid{gap:30px 16px}.ft .logo img{height:38px}.ft .legal{font-size:10px}.ft .tag{font-size:11px}
body.has-hero .phero,.phero{background:var(--bg-2)!important;padding:24px var(--gut) 36px;display:block}body.has-hero .phero>.wrap,.phero>.wrap{padding:0}.phero .grid,body.has-hero .phero .grid{display:grid;grid-template-columns:1fr;gap:24px}.phero .copy,body.has-hero .phero .copy{padding:0;color:var(--ink)}body.has-hero .phero h1,.phero h1{font-size:34px;color:var(--ink);line-height:1.5;margin-bottom:20px}body.has-hero .phero .vtag{color:var(--blue);opacity:1}body.has-hero .phero .vtag::before{background:var(--blue)}body.has-hero .phero .lead{color:var(--ink-2);font-size:14px;margin-bottom:22px}body.has-hero .phero .ph,.phero .ph{display:block;border-radius:36px 10px 10px 10px;aspect-ratio:1.55}body.has-hero .phero .actions{display:flex;flex-direction:row;align-items:center;gap:14px;margin-top:20px}body.has-hero .phero .actions .link{color:var(--blue);border-color:var(--line)}body.has-hero .phero .actions .btn{font-size:12px;padding:14px 18px}.phero .crumb,body.has-hero .phero .crumb{display:block;font-size:10px;padding:0;margin-bottom:20px}.phero .chips{display:none}.cards{gap:0}.card{padding:26px 0}.form{padding:25px 18px}.tabs button{padding:14px 18px;font-size:13px}.side .telbig{font-size:24px}.f label{font-size:13px}.f input,.f textarea,.f select{font-size:16px}.iv-hero .inner{padding-top:56px;padding-bottom:48px}.iv-hero h1{font-size:27px}.iv-body{padding-top:40px}.iv-pull{padding:25px;font-size:16px}.spbar{bottom:max(10px,env(safe-area-inset-bottom));left:12px;right:12px}body.is-top:not(.past-hero) .spbar,body.has-hero:not(.past-phero) .spbar{transform:none;opacity:1;pointer-events:auto}.spbar a{font-size:12px;padding:12px 8px}.hero .desktop-br{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.rv>*{animation:none;opacity:1;transform:none}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.share .copy-status{font-size:12px;margin-left:12px}.news-page .share button{cursor:pointer}.phero .grid:not(:has(.ph)){grid-template-columns:1fr}.phero .grid:not(:has(.ph)) .lead{max-width:48em}html{scroll-padding-top:105px}.form input:invalid:not(:placeholder-shown){border-color:#b85454}
