:root{--b:#188038;--bd:#0d652d;--g:#188038;--o:#fbbc04;--gb:#1a73e8;--gr:#d93025;--t:#202124;--bg:#f2f8f3}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Hiragino Sans","Noto Sans JP",sans-serif;color:var(--t);line-height:1.75;background:#fff}
.wrap{max-width:1100px;margin:auto;padding:0 20px}.narrow{max-width:760px}.center{text-align:center}
.top{position:sticky;top:0;background:#fff;z-index:10;box-shadow:0 2px 8px #0001}
.top-in{display:flex;align-items:center;gap:10px;height:58px}
.logo-ph{width:44px;height:44px;border:2px dashed #999;border-radius:8px;font-size:10px;display:grid;place-items:center;color:#777;text-align:center}
.svc{font-weight:900;color:var(--bd);flex:1;font-size:19px;line-height:1.2;letter-spacing:.06em}.svc-sub{display:block;font-size:10px;font-weight:700;color:#555;letter-spacing:0}.prov{color:#555;font-size:11px;font-weight:700;margin-left:6px;letter-spacing:0}
.btn{display:inline-block;background:var(--o);color:#202124;text-decoration:none;font-weight:800;border-radius:999px;box-shadow:0 6px 0 #c58f00,0 10px 20px #00000040;transition:.15s}
.btn:hover{transform:translateY(2px);box-shadow:0 4px 0 #c58f00}
.btn-s{padding:6px 16px;font-size:13px;box-shadow:0 3px 0 #c58f00}
.btn-l{padding:18px 34px;font-size:18px;margin-top:22px}
.hero{background:linear-gradient(160deg,var(--b),var(--bd));color:#fff;padding:36px 0 56px;clip-path:polygon(0 0,100% 0,100% 94%,0 100%)}
.hero-in{display:grid;gap:28px}
.hook{background:#ffffff22;border-left:4px solid #ffd25a;padding:10px 14px;border-radius:6px;font-size:14px}
h1{font-size:32px;line-height:1.35;margin:18px 0;font-weight:900}h1 span{display:block;font-size:20px;color:#fff3c4;margin-top:6px}
.badges{list-style:none;display:flex;gap:10px;flex-wrap:wrap}
.badges li{width:92px;height:92px;border-radius:50%;border:2px solid #fff8;display:grid;place-items:center;text-align:center;font-size:12px;padding:10px;line-height:1.3}
.badges b{display:block;font-size:20px}
.ph{border:3px dashed #9ab;border-radius:14px;background:#eef6f0;color:#456;font-size:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px;width:100%}
.ph em{font-style:normal;font-weight:700;margin-top:6px;color:var(--b)}
.ph-hero,.ph-light{background:#ffffff1a;border-color:#fff9;color:#fff}.ph-hero em,.ph-light em{color:#fff3c4}
.r43{aspect-ratio:4/3}.r1{aspect-ratio:1}.r169{aspect-ratio:16/9}
.sec{padding:64px 0}.eyebrow{color:var(--b);font-weight:800;font-size:13px;letter-spacing:.1em;text-align:center}.eyebrow.light{color:#fff3c4}
h2{font-size:24px;text-align:center;line-height:1.45;margin:8px 0 18px;font-weight:900}
.lead{text-align:center;color:#555}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}
.card{background:#fff;border-radius:16px;padding:12px;box-shadow:0 4px 16px #1e8e3e1a}
.card h3{font-size:14px;margin:10px 0 4px;color:var(--bd);line-height:1.4}.card p{font-size:12px;color:#555}
.card:last-child{grid-column:1/-1}
.worry{background:var(--bg)}
.empathy{text-align:center;margin-top:30px;font-size:17px}.empathy b{color:var(--gr)}
.solve{background:var(--b);color:#fff}.solve h2{text-align:left;font-size:28px}.solve-in{display:grid;gap:24px;align-items:center}
.motto{margin-top:14px;font-weight:700;color:#fff3c4}
.tabs{display:grid;grid-template-columns:1fr 1fr;border-radius:999px;background:#e6f2e8;padding:5px;margin:22px auto;max-width:620px}
.tab{border:0;background:none;padding:14px 6px;font-weight:800;font-size:14px;border-radius:999px;cursor:pointer;color:var(--bd);font-family:inherit}
.tab.on{background:var(--gb);color:#fff}.tab[data-t=b].on{background:var(--g)}
.panel{display:none}.panel.on{display:block}
.ptag{text-align:center;color:var(--gb);font-weight:800}.ptag.green{color:var(--g)}
.items{display:grid;gap:18px;margin-top:14px}
.item{background:#fff;border:1px solid #dceee0;border-radius:16px;padding:16px;position:relative}
.num{position:absolute;top:-12px;left:16px;width:34px;height:34px;border-radius:50%;background:var(--gb);color:#fff;display:grid;place-items:center;font-weight:900}.num.g{background:var(--g)}
.item h3{margin:12px 0 6px;color:var(--bd)}.item ul{list-style:none}
.item li{padding-left:22px;position:relative;font-size:14px}.item li:before{content:"✓";position:absolute;left:0;color:var(--g);font-weight:900}
.after{background:var(--bg)}
.ba{display:grid;gap:10px;margin:20px 0 28px}
.bcol{border-radius:16px;padding:18px}.bcol ul{padding-left:18px;font-size:14px}.lbl{font-weight:800;margin-bottom:6px}
.before{background:#e9ecef;color:#555}.aft{background:#fff;border:2px solid var(--g)}.aft .lbl{color:var(--g)}
.arrow{text-align:center;font-size:28px;color:#ea4335;transform:rotate(90deg)}
.goal{text-align:center;font-size:18px;margin-top:24px}.goal b{color:var(--gr)}
details{border-bottom:1px solid #dceee0;padding:16px 4px}summary{font-weight:700;cursor:pointer;color:var(--bd)}
summary::before{content:"Q. ";color:var(--b)}details p{margin-top:8px;font-size:14px}details p::before{content:"A. ";color:var(--gr);font-weight:800}
.cta{background:linear-gradient(160deg,var(--b),var(--bd));color:#fff}
.soon{margin:30px auto 0;border:2px dashed #fff9;border-radius:12px;padding:18px;font-size:13px}
footer{text-align:center;padding:22px;font-size:13px;color:#666}
.float{position:fixed;right:14px;bottom:14px;padding:12px 20px;z-index:20}
@media(min-width:860px){
.hero-in{grid-template-columns:1.1fr 1fr;align-items:center}h1{font-size:46px}h1 span{font-size:26px}
h2{font-size:32px}.cards{grid-template-columns:repeat(5,1fr)}.card:last-child{grid-column:auto}
.solve-in{grid-template-columns:1fr 1fr}.items{grid-template-columns:repeat(3,1fr)}#p-b .items{grid-template-columns:repeat(2,1fr);max-width:760px;margin:14px auto 0}
.ba{grid-template-columns:1fr 60px 1fr;align-items:center}.arrow{transform:none}.float{display:none}}

.ph.ph-img{padding:0;border:0;overflow:hidden;background:#f3ead9}.ph-img img{width:100%;height:100%;object-fit:cover;display:block}.ph-img.contain img{object-fit:contain}

.top{border-bottom:4px solid;border-image:linear-gradient(90deg,#4285f4 0 25%,#ea4335 25% 50%,#fbbc04 50% 75%,#34a853 75%) 1}
.logo{width:44px;height:44px;display:block}.brand-tag{display:inline-block;background:#fff;color:var(--bd);font-weight:800;font-size:13px;padding:3px 12px;border-radius:999px;margin-bottom:12px}.cta-logo{width:72px;height:72px;background:#fff;border-radius:10px;padding:6px;margin-bottom:10px}
/* 見出し書体: Noto Sans JP 800 */
h1,h2{font-family:"Noto Sans JP","Hiragino Sans",sans-serif;font-weight:800;letter-spacing:.02em;word-break:auto-phrase;text-wrap:balance}
h1{font-size:32px;line-height:1.35}h1 span{font-size:20px;line-height:1.5}
h2{font-size:24px;line-height:1.45}.solve h2{font-size:28px}
@media(min-width:860px){h1{font-size:46px}h1 span{font-size:26px}h2{font-size:32px}}
.svc{color:#202124}
.steps-fig{margin:0}.steps-fig .ph-img{background:#eef4fb}.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;padding:0}.steps li{text-align:center;font-size:12px;font-weight:700;line-height:1.4;color:var(--bd);background:#e6f2e8;border-radius:8px;padding:6px 4px;word-break:auto-phrase}.steps b{display:block;width:20px;height:20px;margin:0 auto 3px;border-radius:50%;background:var(--gb);color:#fff;font-size:12px;line-height:20px}
.item .steps li{padding:6px 4px}.item .steps li:before{content:none}
