:root{--navy:#103640;--ink:#17323a;--teal:#008f93;--cream:#fbfaf5;--lime:#ffe568;--orange:#f45e3b;--line:#d5e2dc;--white:#fff;--muted:#526971}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.75}a{color:inherit}.wrap{width:min(100% - 40px,1120px);margin:auto}.review-banner{background:#fff0e6;color:#89472f;padding:8px 18px;font-size:12px;font-weight:700;text-align:center}.header{background:#fffdf8;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:67px;gap:18px}.logo{font:700 18px Georgia,serif;letter-spacing:.08em;text-decoration:none;white-space:nowrap}.nav{display:flex;gap:20px;overflow-x:auto;scrollbar-width:none}.nav a{text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap;color:#496269}.nav a.active,.nav a:hover{color:var(--teal)}.eyebrow{display:block;color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.15em}.h1{font-size:clamp(34px,5vw,60px);line-height:1.33;letter-spacing:-.05em;margin:16px 0}.h2{font-size:clamp(27px,3.4vw,41px);line-height:1.4;letter-spacing:-.04em;margin:8px 0 18px}.lead{font-size:17px;color:var(--muted);line-height:1.9;max-width:740px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:55px;padding:14px 24px;border:0;border-radius:4px;background:var(--orange);color:#fff;text-decoration:none;font-weight:800;font-size:16px;box-shadow:0 5px 0 #b5452c;cursor:pointer}.button:hover{transform:translateY(-2px);box-shadow:0 7px 0 #b5452c}.button.alt{background:var(--navy);box-shadow:0 5px 0 #07242b}.button.light{background:#fff;color:var(--navy);box-shadow:0 5px 0 #b4d4c6}.button:disabled{opacity:.6;cursor:not-allowed}.fine{font-size:12px;color:#657b7e;line-height:1.7}.section{padding:77px 0;border-top:1px solid var(--line)}.section-top{margin-bottom:27px}.label{display:inline-block;background:#e9f5e9;color:var(--teal);padding:5px 10px;font-size:11px;font-weight:800;border-radius:3px}.note{background:#fff4ea;border-left:4px solid var(--orange);padding:17px 20px;color:#805139;font-size:13px;line-height:1.7}.footer{padding:34px 0 48px;border-top:1px solid var(--line);font-size:12px;color:#728281}
/* Hub */
.hub-hero{padding:70px 0;background:radial-gradient(circle at 78% 22%,#e0edcf,transparent 35%),#f8faf4}.hub-hero .h1 mark,.lp-hero mark{background:var(--lime);padding:0 .08em}.hub-route{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:28px 0 0}.hub-route span{background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:3px;font-size:13px;font-weight:700}.hub-route b{font-size:13px;color:var(--teal)}.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:34px 0 0}.hub-card{display:block;background:#fff;border:1px solid var(--line);padding:28px 30px;text-decoration:none;border-radius:5px;min-height:226px;transition:transform .2s,box-shadow .2s}.hub-card:hover{transform:translateY(-4px);box-shadow:7px 8px 0 #dae9d9}.hub-card .num{font:italic 30px Georgia,serif;color:var(--teal)}.hub-card h2{font-size:25px;margin:12px 0 7px}.hub-card p{font-size:14px;color:var(--muted);margin:0}.hub-card strong{display:block;color:var(--teal);font-size:14px;margin-top:17px}
/* Ads */
.ads-hero{background:var(--navy);color:#fff;padding:70px 0}.ads-hero .eyebrow{color:var(--lime)}.ads-hero .lead{color:#d2e4df}.ads-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ad-case{background:#fff;border:1px solid var(--line);padding:22px;border-radius:5px}.ad-case .case-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}.ad-case .case-head strong{font-size:19px}.ad-square{aspect-ratio:1/1;min-height:330px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:34px;position:relative}.ad-square.a{background:#dff0e0;color:#083945}.ad-square.b{background:#f7e4cf;color:#353624}.ad-square .stamp{font:700 12px Georgia,serif;letter-spacing:.15em;z-index:1}.ad-square h3{font-size:clamp(29px,3vw,44px);line-height:1.35;letter-spacing:-.05em;margin:20px 0;position:relative;z-index:1}.ad-square h3 mark{background:var(--lime);padding:0 .07em}.ad-square.b h3 mark{background:#fff}.ad-square .mock-cta{display:inline-block;align-self:flex-start;background:var(--navy);color:#fff;padding:11px 16px;font-size:13px;font-weight:800;z-index:1}.price-card{position:absolute;right:-18px;bottom:85px;background:#fff;transform:rotate(-9deg);padding:16px 20px;box-shadow:8px 8px 0 #5f9f9c55;border:2px solid var(--navy);width:205px}.price-card small{font-size:11px;display:block}.price-card b{display:block;font-size:18px}.price-card .down{color:#dc6345}.box-graphic{position:absolute;right:10px;bottom:55px;font:italic 160px Georgia,serif;line-height:1;color:#c2784570;transform:rotate(-16deg)}.ad-copy{padding:24px 5px 7px}.ad-copy h4{margin:0 0 9px;font-size:17px}.ad-copy p{font-size:15px;color:#455e65;margin:0 0 11px}.ad-copy .cta{font-weight:800;color:var(--teal);font-size:14px}
/* LP */
.lp-hero{background:radial-gradient(circle at 80% 18%,#d1f1ed,transparent 36%),#fffdf5;padding:66px 0 60px}.lp-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}.lp-hero .h1{font-size:clamp(35px,4.5vw,57px)}.lp-hero .lead{font-size:17px}.lp-hero .button{margin-top:11px}.visual-panel{background:var(--navy);color:#fff;padding:24px;box-shadow:12px 12px 0 #d4e9d2;border-radius:5px}.visual-panel .panel-title{font-size:12px;letter-spacing:.12em;color:var(--lime);font-weight:800}.visual-panel .step{display:flex;align-items:center;gap:15px;background:#ffffff0c;border:1px solid #ffffff24;padding:14px;margin-top:9px;border-radius:3px}.visual-panel .step b{font:italic 22px Georgia,serif;color:var(--lime);min-width:28px}.visual-panel .step strong{font-size:15px}.visual-panel .step small{display:block;color:#bad6d2;font-size:11px}.problem-grid,.tool-grid,.faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.problem,.tool,.faq-box{background:#fff;border:1px solid var(--line);padding:25px;border-radius:4px}.problem b,.tool b{font:italic 26px Georgia,serif;color:var(--teal)}.problem h3,.tool h3{font-size:19px;line-height:1.4;margin:8px 0}.problem p,.tool p,.faq-box p{font-size:14px;color:var(--muted);margin:0}.tool{border-top:4px solid var(--teal)}.flow-strip{display:flex;gap:0;background:#fff;border:1px solid var(--line);margin-top:25px}.flow-strip div{flex:1;padding:21px;border-right:1px solid var(--line)}.flow-strip div:last-child{border:0}.flow-strip b{display:block;color:var(--teal);font:italic 26px Georgia,serif}.flow-strip strong{font-size:14px}.story{background:var(--navy);color:#fff;display:grid;grid-template-columns:260px 1fr}.story-photo{background:linear-gradient(135deg,#1e7771,#103640);display:grid;place-items:center;text-align:center;color:#d2e7da;font:italic 88px Georgia,serif;min-height:270px}.story-copy{padding:38px}.story-copy .eyebrow{color:var(--lime)}.story-copy p{font-size:15px;color:#d5e6e0}.proof-slot{background:#fffefa;border:1px dashed #aac4b6;padding:30px}.proof-slot h3{font-size:23px;margin:0 0 8px}.proof-slot p{font-size:14px;color:var(--muted);margin:0}.proof-items{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:19px}.proof-items div{background:#eff4ed;padding:16px;font-size:13px}.proof-items b{display:block;font-size:14px}.lp-final{text-align:center;background:#e9f2e9;padding:65px 20px}.lp-final p{max-width:620px;margin:0 auto 22px;font-size:15px}.lp-final .fine{display:block;margin-top:15px}
/* LINE */
.line-hero{padding:68px 0;background:var(--navy);color:#fff}.line-hero .eyebrow{color:var(--lime)}.line-hero .lead{color:#d4e6e0}.line-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 30px}.line-flow>div{background:#fff;border:1px solid var(--line);padding:19px;border-radius:3px}.line-flow b{display:block;color:var(--teal);font-size:12px}.line-flow strong{display:block;margin:6px 0 4px;font-size:15px}.line-flow small{font-size:12px;color:var(--muted)}.tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:24px}.tab{border:1px solid var(--line);background:#fff;color:var(--navy);font:700 14px "Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;padding:11px 16px;white-space:nowrap;border-radius:4px;cursor:pointer}.tab[aria-selected=true]{background:var(--teal);color:#fff;border-color:var(--teal)}.line-group[hidden]{display:none}.group-head{display:flex;align-items:end;justify-content:space-between;margin:0 0 16px}.group-head h2{font-size:29px;margin:4px 0}.group-head p{font-size:13px;color:var(--muted);margin:0}.group-head>strong{font:italic 34px Georgia,serif;color:var(--teal)}.messages{display:grid;gap:9px}.message{background:#fff;border:1px solid var(--line);border-radius:4px}.message[open]{border-color:#91c8b6;box-shadow:4px 4px 0 #e0eee5}.message summary{display:flex;align-items:center;gap:15px;list-style:none;padding:15px 18px;cursor:pointer}.message summary::-webkit-details-marker{display:none}.message-id{display:grid;place-items:center;min-width:59px;padding:7px;background:#eaf5ea;color:var(--teal);border-radius:3px;font-size:12px;font-weight:800}.message-title{flex:1;font-size:15px;font-weight:800}.message-title small{display:block;font-size:12px;font-weight:400;color:#667c7d;margin-top:2px}.plus{color:var(--teal);font-size:24px}.message[open] .plus{transform:rotate(45deg)}.message-body{padding:0 20px 22px 92px}.bubble{background:#eef2ed;max-width:580px;border-radius:14px;padding:20px 22px;font-size:15px;line-height:1.9}.bubble p{margin:0 0 17px}.bubble p:last-child{margin:0}.copy{display:inline-block;margin-top:12px;border:1px solid var(--line);background:#fff;color:var(--teal);padding:8px 14px;border-radius:3px;font-size:12px;font-weight:800;cursor:pointer}
@media(max-width:850px){.hub-grid,.ads-grid,.lp-hero-grid{grid-template-columns:1fr}.lp-hero-grid{gap:31px}.problem-grid,.tool-grid{grid-template-columns:1fr 1fr}.line-flow{grid-template-columns:1fr 1fr}.ad-square{min-height:420px}}
@media(max-width:620px){.wrap{width:min(100% - 34px,1120px)}.header-inner{min-height:58px}.logo{font-size:13px}.nav{gap:12px}.nav a{font-size:11px}.review-banner{font-size:11px}.hub-hero,.ads-hero,.lp-hero,.line-hero{padding:48px 0}.h1{font-size:35px}.lead,.lp-hero .lead{font-size:15px}.section{padding:50px 0}.hub-grid,.problem-grid,.tool-grid,.faq-grid{grid-template-columns:1fr}.hub-card{min-height:auto;padding:22px}.ad-square{min-height:400px;padding:24px}.ad-square h3{font-size:34px}.price-card{right:-26px;bottom:54px;transform:rotate(-9deg) scale(.78)}.flow-strip{display:grid;grid-template-columns:1fr 1fr}.flow-strip div:nth-child(2){border-right:0}.flow-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}.story{grid-template-columns:1fr}.story-photo{min-height:150px}.story-copy{padding:26px}.proof-items{grid-template-columns:1fr}.line-flow{grid-template-columns:1fr 1fr}.line-flow>div{padding:14px}.line-flow strong{font-size:13px}.line-flow small{font-size:11px}.message summary{gap:9px;padding:12px}.message-id{min-width:48px}.message-title{font-size:13px}.message-title small{font-size:11px}.message-body{padding:0 12px 16px}.bubble{font-size:14px;padding:16px}.tabs{flex-wrap:wrap;overflow:visible}.tab{flex:1 1 46%;white-space:normal;font-size:12px;padding:9px 10px}}
@media(max-width:620px){.ads-grid{grid-template-columns:minmax(0,1fr)}.ad-case{min-width:0}.ad-square{aspect-ratio:auto;height:400px;min-height:0}}
.ad-asset img{display:block;width:100%;height:auto;border:1px solid #d5e2dc}.ad-asset a{display:block;background:#103640;color:#fff;font-size:13px;font-weight:800;text-align:center;text-decoration:none;padding:11px 12px}.ad-asset a:hover{background:#e8613e}

.lp-hero-art img{display:block;width:100%;height:auto;box-shadow:12px 12px 0 #bce4df}.line-rich{display:grid;grid-template-columns:330px 1fr;gap:26px;align-items:center;background:#fff;border:1px solid var(--line);padding:22px;margin-bottom:28px}.line-rich img{display:block;width:100%;height:auto}.line-rich h2{font-size:24px;line-height:1.4;margin:8px 0}.line-rich p{font-size:14px;color:var(--muted)}.line-rich a{color:var(--teal);font-weight:800}@media(max-width:620px){.line-rich{grid-template-columns:1fr}.line-rich img{max-width:330px;margin:auto}}
