:root{--ink:#172823;--lime:#ccff4c;--cream:#f7f6ed;--line:rgba(23,40,35,.16);--muted:#64716c}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Noto Sans JP",sans-serif;font-size:15px;line-height:1.8}
.header{height:82px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:3}
.brand{color:var(--ink);text-decoration:none;font:600 17px Outfit,sans-serif;letter-spacing:.08em;display:flex;align-items:center;gap:9px}
.brand-mark{font-size:20px;color:#4e7c68}
.nav{display:flex;gap:28px}
.nav a{color:var(--ink);font-size:13px;text-decoration:none}
.button{background:var(--ink);color:#fff;text-decoration:none;padding:15px 22px;display:inline-flex;gap:20px;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;transition:.25s}
.button:hover{transform:translateY(-2px);background:#365a4e}
.button span{font-size:17px;line-height:1}
.button-small{padding:10px 15px;font-size:12px;gap:13px}
.section{padding:clamp(80px,11vw,160px) clamp(22px,8vw,128px)}
.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:660px;align-items:center;gap:55px;padding-top:80px;padding-bottom:65px}
.eyebrow{font:500 11px "DM Mono",monospace;letter-spacing:.12em;color:#527265;margin:0 0 22px;display:flex;align-items:center;gap:9px}
.eyebrow span{display:inline-block;width:7px;height:7px;background:#87af23;border-radius:50%}
.hero h1,.section h2,.contact h2{font-family:Outfit,"Noto Sans JP",sans-serif;font-weight:600;letter-spacing:-.05em;line-height:1.16;margin:0}
.hero h1{font-size:clamp(42px,5.4vw,78px)}
.hero h1 em{font-family:"Noto Sans JP",sans-serif;font-style:normal;color:#548069;font-size:.86em}
.lead{font-size:16px;margin:29px 0}
.hero-actions{display:flex;align-items:center;gap:27px;margin-top:31px}
.text-link{color:var(--ink);font-size:13px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.text-link span{margin-left:12px;font-size:17px}
.microcopy{font-size:11px;color:var(--muted);margin-top:22px}
.hero-visual{height:480px;position:relative;overflow:hidden;background:#d5e5d2;border-radius:50% 50% 44% 44% / 43% 43% 55% 55%}
.orbit{border:1px solid rgba(46,97,75,.22);border-radius:50%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.orbit-one{height:72%;width:72%}
.orbit-two{height:48%;width:96%;transform:translate(-50%,-50%) rotate(-38deg)}
.core{position:absolute;width:106px;height:106px;left:calc(50% - 53px);top:calc(50% - 53px);background:var(--lime);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 12px rgba(204,255,76,.16)}
.core span{font:600 26px Outfit}
.visual-card{position:absolute;background:#fff;border:1px solid rgba(23,40,35,.1);box-shadow:0 14px 30px rgba(27,61,46,.10);padding:13px 16px;display:flex;gap:11px;align-items:center;min-width:194px}
.visual-card b{display:block;font-size:11px;line-height:1.35}
.visual-card small{display:block;font-size:9px;color:#7c8882;line-height:1.5;margin-top:3px}
.card-icon,.sparkle{display:grid;place-items:center;width:28px;height:28px;background:#edf5e9;color:#537665;font-size:17px}
.sparkle{background:var(--lime);color:var(--ink)}
.card-source{top:72px;left:38px;transform:rotate(-6deg)}
.card-ai{right:21px;top:191px;transform:rotate(5deg)}
.card-result{bottom:65px;left:62px;transform:rotate(3deg)}
.trust-bar{background:var(--ink);color:white;padding:20px clamp(22px,8vw,128px);display:flex;justify-content:space-between;align-items:center}
.trust-bar p{margin:0;font-size:13px}
.trust-bar div{display:flex;gap:8px}
.trust-bar span{color:var(--lime)}
.section-heading h2{font-size:clamp(32px,4vw,55px)}
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:54px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.problem{padding:27px 30px 29px 0;border-right:1px solid var(--line);margin-right:28px}
.problem:last-child{border:0;margin:0}
.problem span,.number,.steps span{font:500 11px "DM Mono",monospace;color:#638c70}
.problem h3{font-size:23px;line-height:1.5;margin:40px 0 15px;letter-spacing:-.04em}
.problem p{font-size:13px;color:var(--muted);line-height:1.9;margin:0}
.solution{background:#2f5549;color:#f8f8ef;display:grid;grid-template-columns:1fr 1.2fr;gap:100px}
.eyebrow.light{color:#c7dfd4}
.eyebrow.light span{background:var(--lime)}
.solution h2{font-size:clamp(35px,4vw,57px)}
.solution-sticky>p:not(.eyebrow){font-size:14px;color:#d1ddd5;max-width:390px;margin:25px 0}
.light{color:white}
.solution-list{border-top:1px solid rgba(255,255,255,.25)}
.solution-item{padding:34px 0;display:grid;grid-template-columns:65px 1fr 24px;gap:14px;border-bottom:1px solid rgba(255,255,255,.25)}
.solution-item h3{font-size:22px;margin:0;letter-spacing:-.04em}
.solution-item p{font-size:13px;margin:7px 0 0;color:#d0ded6}
.arrow{font-size:20px;color:var(--lime)}
.examples-grid{margin-top:53px;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:15px}
.example-card{min-height:330px;border:1px solid var(--line);padding:25px;position:relative;overflow:hidden;background:#f1f0e7}
.example-card.feature{background:#d4e7d0}
.example-card p{font:500 10px "DM Mono",monospace;color:#5d826d;letter-spacing:.08em}
.example-card h3{font-size:23px;line-height:1.45;letter-spacing:-.04em;margin:24px 0}
.flow{position:absolute;bottom:34px;left:25px;right:25px;display:flex;align-items:center;gap:8px}
.flow span{background:#f7f6ed;padding:7px 9px;font-size:10px}
.flow i{height:1px;background:#779a77;flex:1}
.line-art{position:absolute;bottom:30px;left:26px;width:170px;height:95px;border-left:1px solid #6f987c;border-bottom:1px solid #6f987c}
.line-art span{height:1px;background:#5a7e66;position:absolute;transform-origin:left}
.line-art span:nth-child(1){width:100px;transform:rotate(-29deg);left:0;bottom:0}
.line-art span:nth-child(2){width:67px;transform:rotate(37deg);left:88px;bottom:49px}
.line-art span:nth-child(3){width:38px;transform:rotate(-40deg);left:141px;bottom:89px}
.chart{height:75px;display:flex;align-items:end;gap:9px;position:absolute;bottom:30px}
.chart i{width:19px;background:#7ca77a}
.chart i:nth-child(1){height:25%}
.chart i:nth-child(2){height:48%}
.chart i:nth-child(3){height:40%}
.chart i:nth-child(4){height:82%;background:#5d8a68}
.chart i:nth-child(5){height:100%;background:var(--lime)}
.steps{list-style:none;padding:0;margin:55px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}
.steps li{padding:24px 20px 0 0}
.steps h3{font-size:19px;margin:25px 0 8px}
.steps p{color:var(--muted);font-size:12px;margin:0;line-height:1.7}
.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;padding-top:70px;padding-bottom:100px}
.faq-list{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:21px 0;font-size:14px;font-weight:600;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary span{font-size:23px;font-weight:400;line-height:1}
details[open] summary span{transform:rotate(45deg)}
details p{margin:0 35px 22px 0;color:var(--muted);font-size:13px}
.contact{background:var(--lime);color:var(--ink);padding:clamp(72px,10vw,130px) 22px;text-align:center}
.contact-inner{max-width:700px;margin:auto}
.contact h2{font-size:clamp(37px,5vw,68px)}
.contact p:not(.eyebrow){font-size:14px;margin:25px 0 30px}
.button-white{background:white;color:var(--ink);min-width:230px}
.contact small{display:block;margin-top:17px;font-size:10px;color:#526434}
footer{display:flex;justify-content:space-between;align-items:center;padding:26px clamp(22px,5vw,76px);font-size:10px;color:#6f7973}
footer p{margin:0}
.diagnosis{background:#e5eee0;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(35px,7vw,110px);align-items:center}
.diagnosis-intro h2{font-size:clamp(33px,4vw,55px)}
.diagnosis-intro>p:not(.eyebrow){max-width:430px;color:var(--muted);font-size:14px;margin:24px 0 0}
.diagnosis-card{background:#fff;padding:clamp(26px,4vw,48px);border-top:5px solid var(--lime);box-shadow:0 18px 40px rgba(34,66,44,.08)}
.diagnosis-top{display:flex;justify-content:space-between;gap:18px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:22px}
.diagnosis-top .eyebrow{margin-bottom:12px}
.diagnosis-card h3{font-size:clamp(23px,3vw,31px);letter-spacing:-.04em;line-height:1.35;margin:0}
.price{font:600 42px Outfit,sans-serif;line-height:1;letter-spacing:-.06em;margin:4px 0 0;text-align:right;white-space:nowrap}
.price small{font:500 10px "Noto Sans JP",sans-serif;letter-spacing:0;display:block;color:var(--muted);margin-bottom:3px}
.price span{font:500 15px "Noto Sans JP",sans-serif;letter-spacing:0;margin-left:3px}
.diagnosis-copy{font-weight:600;font-size:15px;line-height:1.8;margin:23px 0}
.diagnosis-card ul{list-style:none;padding:0;margin:0 0 29px;border-top:1px solid var(--line)}
.diagnosis-card li{padding:10px 0 10px 20px;border-bottom:1px solid var(--line);font-size:13px;position:relative}
.diagnosis-card li:before{content:"✓";color:#638c4a;position:absolute;left:0}
.fine-print{font-size:10px!important;color:var(--muted);margin:14px 0 0!important}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:760px){.header{height:68px}
.nav{display:none}
.header .button-small{padding:9px 11px}
.hero{grid-template-columns:1fr;padding-top:59px;gap:50px}
.hero-visual{height:360px}
.section{padding-left:22px;padding-right:22px}
.problem-grid,.solution,.faq{grid-template-columns:1fr;gap:40px}
.diagnosis{grid-template-columns:1fr;gap:38px}
.diagnosis-card{padding:25px}
.price{font-size:36px}
.problem{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:23px 0}
.problem:last-child{border-bottom:0}
.solution{gap:48px}
.examples-grid{grid-template-columns:1fr}
.example-card{min-height:260px}
.steps{grid-template-columns:1fr 1fr;gap:25px}
.faq{padding-top:75px}
.trust-bar{align-items:flex-start;gap:18px}
.trust-bar p{font-size:11px}
.hero-actions{gap:18px;flex-wrap:wrap}
.card-source{left:18px}
.card-ai{right:5px}
.card-result{left:25px}
.visual-card{min-width:166px;padding:10px}
.orbit-one{height:70%;width:70%}
}
