:root{--bg: #ffffff;--bg-alt: #f8fcfb;--accent: #7dcec5;--accent-soft: #dcefe9;--accent-ink: #4fb3a7;--text: #333333;--heading: #1a1a1a;--dark: #1a3633;--line: #e8efed;--mute: #8a9694}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Noto Sans JP,Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:2;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"palt" 1;overflow-x:hidden}h1,h2,h3,h4,h5{color:var(--heading);letter-spacing:.02em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:1160px;margin:0 auto;padding:0 40px}header{position:sticky;top:0;z-index:100;background:#fffffff5;backdrop-filter:saturate(160%) blur(8px);border-bottom:1px solid var(--line)}.nav-wrap{max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px 40px}.logo{display:flex;align-items:center;gap:14px}.logo .mark{font-family:Noto Sans JP,serif;font-size:32px;font-weight:900;color:var(--dark);line-height:1}.logo .mark-en{font-family:Inter;font-size:10px;letter-spacing:4px;color:var(--mute);font-weight:600;text-transform:uppercase}nav ul{list-style:none;display:flex;gap:36px}nav a{font-family:Inter;font-size:13px;font-weight:500;letter-spacing:1px;color:var(--heading);transition:color .2s}nav a:hover{color:var(--accent-ink)}.cta{display:inline-flex;align-items:center;gap:10px;font-family:Inter;font-size:13px;font-weight:600;letter-spacing:2px;padding:12px 22px;border:1px solid var(--dark);background:var(--dark);color:#fff;border-radius:999px;transition:all .2s}.cta:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.cta .arr{transition:transform .2s}.cta:hover .arr{transform:translate(3px)}.page-hero{position:relative;background:var(--accent-soft);color:var(--heading);overflow:hidden;isolation:isolate}.page-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 40%,rgba(125,206,197,.35) 0%,transparent 55%),linear-gradient(180deg,#eaf5f2,#dcefe9);z-index:-1}.page-hero-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding:70px 0 80px;min-height:340px}.page-hero .eyebrow{font-family:Inter;font-size:11px;letter-spacing:5px;color:var(--accent-ink);font-weight:600;text-transform:uppercase;margin-bottom:18px;display:inline-block}.page-hero h1{font-size:clamp(36px,4.2vw,56px);color:var(--dark);line-height:1.35;font-weight:700;letter-spacing:.08em;margin-bottom:14px}.page-hero .sub-en{font-family:Inter;font-size:13px;letter-spacing:4px;color:var(--mute);font-weight:500;text-transform:uppercase;margin-bottom:30px;display:block}.page-hero .lead{color:#4a5c59;font-size:14px;line-height:2;margin-bottom:32px;max-width:460px}.hero-cta-row{display:flex;gap:12px;flex-wrap:wrap}.hero-cta-pill{display:inline-flex;align-items:center;gap:12px;background:#fff;color:var(--dark);font-size:13px;font-weight:700;letter-spacing:.1em;padding:16px 28px;border-radius:999px;border:1px solid #fff;box-shadow:0 6px 20px #1a363314;transition:all .2s}.hero-cta-pill:hover{background:var(--dark);color:#fff;border-color:var(--dark)}.hero-cta-pill .arr{width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--dark);display:inline-flex;align-items:center;justify-content:center;font-size:11px;transition:transform .2s}.hero-cta-pill:hover .arr{transform:translate(3px);background:var(--accent);color:var(--dark)}.hero-cta-ghost{display:inline-flex;align-items:center;gap:10px;color:var(--dark);font-size:13px;font-weight:600;letter-spacing:.08em;padding:16px 22px;border-radius:999px;border:1px solid var(--dark);transition:all .2s}.hero-cta-ghost:hover{background:var(--dark);color:#fff}.page-hero-img{position:relative;aspect-ratio:5/4;border-radius:12px;overflow:hidden;background:#c7dfd9;box-shadow:0 18px 48px #1a36332e}.page-hero-img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.page-hero-img:before{content:"";position:absolute;top:-30px;right:-30px;width:160px;height:160px;background:var(--accent);border-radius:50%;opacity:.35;z-index:-1}.page-hero-tag{position:absolute;top:18px;left:18px;font-family:Inter;font-size:10px;letter-spacing:3px;color:#fff;font-weight:700;z-index:2;background:#1a3633bf;padding:7px 14px;border-radius:999px;text-transform:uppercase}.crumb-bar{background:#fff;border-bottom:1px solid var(--line)}.crumb{font-family:Inter;font-size:11px;letter-spacing:2px;color:var(--mute);padding:16px 0;text-align:right}.crumb a{color:var(--mute);transition:color .2s}.crumb a:hover{color:var(--accent-ink)}.crumb .sep{margin:0 10px;color:#c9d2d0}.crumb .cur{color:var(--heading);font-weight:600}.sec-title{background:var(--dark);color:#fff;padding:28px 0;text-align:center}.sec-title h2{color:#fff;font-size:clamp(26px,3vw,36px);letter-spacing:.1em;font-weight:700}.sec-title .en{font-family:Inter;font-size:11px;letter-spacing:4px;color:var(--accent);text-transform:uppercase;margin-bottom:8px;display:block;font-weight:600}.block{padding:96px 0}.block.alt{background:var(--bg-alt)}.trouble-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}.trouble-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:36px 28px;text-align:center;transition:all .25s}.trouble-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #1a363314;border-color:var(--accent)}.trouble-card .n{font-family:Inter;font-size:11px;letter-spacing:3px;color:var(--accent-ink);font-weight:600;margin-bottom:14px;display:block}.trouble-card h4{font-size:16px;font-weight:700;color:var(--heading);line-height:1.7;letter-spacing:.03em;margin-bottom:12px}.trouble-card p{font-size:13px;color:var(--mute);line-height:1.9}.ops-services{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:48px}.ops-card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:48px 44px 40px;position:relative;transition:all .25s}.ops-card:hover{transform:translateY(-4px);box-shadow:0 18px 48px #1a363314}.ops-tag{position:absolute;top:-14px;left:44px;background:var(--dark);color:var(--accent);font-family:Inter;font-size:11px;font-weight:700;letter-spacing:3px;padding:8px 18px;border-radius:2px}.ops-card h3{font-size:26px;font-weight:700;letter-spacing:.06em;margin-bottom:14px}.ops-card .ops-lead{font-size:14px;color:var(--text);line-height:2;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--line)}.ops-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.ops-list li{font-size:13.5px;line-height:1.85;color:var(--text);display:grid;grid-template-columns:108px 1fr;gap:16px}.ops-list li strong{font-family:Inter;font-weight:600;font-size:11px;color:var(--accent-ink);padding-top:4px;letter-spacing:2px}.ops-note{text-align:center;margin-top:40px;font-size:13px;color:var(--mute);line-height:1.9}.sec-title.alt-bg{background:var(--bg-alt);border-top:1px solid var(--line)}.proposal-list{display:flex;flex-direction:column;gap:80px;margin-top:48px}.proposal-row{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.proposal-row.reverse .proposal-text{order:2}.proposal-row.reverse .proposal-img{order:1}.pt-num{display:inline-block;font-family:Inter;font-size:12px;font-weight:600;letter-spacing:4px;color:var(--accent-ink);padding-bottom:8px;border-bottom:1px solid var(--accent);margin-bottom:20px}.proposal-text h3{font-size:28px;font-weight:700;letter-spacing:.04em;line-height:1.6;margin-bottom:22px}.proposal-text p{font-size:14px;line-height:2.1;color:var(--text)}.proposal-img{aspect-ratio:4/3;background:var(--bg-alt);border-radius:4px;overflow:hidden;position:relative}.proposal-img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.pi-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#eaf3f1 0 14px,#f3f8f7 14px 28px);color:var(--accent-ink);font-family:Inter;font-size:14px;font-weight:600;letter-spacing:3px}.sv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}.sv-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:all .25s}.sv-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #1a363314}.sv-card .ph{aspect-ratio:16/10;background:repeating-linear-gradient(45deg,#eaf3f1 0 12px,#f3f8f7 12px 24px);position:relative;overflow:hidden}.sv-card .ph img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.sv-card .ph .no{position:absolute;top:14px;left:14px;background:#1a3633d9;color:var(--accent);font-family:Inter;font-size:10px;letter-spacing:3px;font-weight:600;padding:5px 10px;border-radius:4px}.sv-card .body{padding:24px 26px 28px}.sv-card h4{font-size:16px;font-weight:700;margin-bottom:10px;letter-spacing:.03em}.sv-card p{font-size:13px;color:var(--mute);line-height:1.85}.sv-card .price{margin-top:16px;font-family:Inter;font-size:13px;color:var(--accent-ink);font-weight:700}.reasons{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 40px;margin-top:48px}.reason{background:#fff;border:1px solid var(--line);padding:32px 36px;border-radius:10px;display:grid;grid-template-columns:80px 1fr;gap:24px;align-items:start}.reason .n{font-family:Inter;font-size:36px;font-weight:700;color:var(--accent);line-height:1;letter-spacing:.02em}.reason .n:before{content:"0"}.reason h4{font-size:17px;font-weight:700;letter-spacing:.04em;margin-bottom:10px;color:var(--heading)}.reason p{font-size:13px;color:var(--mute);line-height:1.9}.pricing-intro{text-align:center;color:var(--mute);font-size:14px;margin:18px auto 48px;max-width:600px}.price-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:56px}.price-table th,.price-table td{padding:22px 28px;text-align:left;border-bottom:1px solid var(--line);font-size:14px}.price-table th{background:var(--dark);color:#fff;font-weight:600;letter-spacing:.1em;font-size:13px}.price-table td.num{font-family:Inter;font-weight:700;color:var(--heading);text-align:right}.price-table tr:last-child td{border-bottom:none}.price-table tr.highlight td{background:var(--accent-soft);position:relative}.price-table .badge{display:inline-block;background:var(--dark);color:var(--accent);font-family:Inter;font-size:10px;letter-spacing:2px;font-weight:600;padding:4px 10px;border-radius:4px;margin-bottom:8px;text-transform:uppercase}.price-table .sub{font-size:11px;color:var(--accent-ink);font-weight:500;display:block;margin-top:4px;font-family:Inter}.compare-title{text-align:center;margin:0 0 32px}.compare-title h3{font-size:20px;font-weight:700;display:inline-block;padding-bottom:8px;border-bottom:2px solid var(--accent);letter-spacing:.06em}.compare-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.compare-table th,.compare-table td{padding:20px 24px;text-align:center;font-size:13px;border-bottom:1px solid var(--line)}.compare-table th:first-child,.compare-table td:first-child{text-align:left;color:var(--mute);font-weight:500}.compare-table thead th{background:#fff;font-weight:600;color:var(--heading);font-family:Inter;letter-spacing:.04em;padding:24px}.compare-table thead th.us{background:var(--dark);color:#fff}.compare-table .us-cell{font-weight:700;color:var(--accent-ink)}.compare-table .check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent-ink);color:#fff;font-size:12px}.compare-table tr:last-child td{border-bottom:none}.note{text-align:center;font-size:11px;color:var(--mute);margin-top:12px}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px;position:relative}.step{background:#fff;border:1px solid var(--line);border-radius:10px;padding:32px 24px;text-align:center;position:relative}.step .n{font-family:Inter;font-size:12px;letter-spacing:3px;color:var(--accent-ink);font-weight:700;margin-bottom:10px;display:block}.step h4{font-size:15px;font-weight:700;margin-bottom:10px;letter-spacing:.04em}.step p{font-size:12px;color:var(--mute);line-height:1.8}.step:not(:last-child):after{content:"→";position:absolute;right:-14px;top:50%;transform:translateY(-50%);font-family:Inter;font-size:14px;color:var(--accent);background:var(--bg-alt);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:1}.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}.case-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.case-card .ph{aspect-ratio:4/3;background:repeating-linear-gradient(45deg,#eaf3f1 0 10px,#f3f8f7 10px 20px);position:relative;overflow:hidden}.case-card .ph img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.case-card .badge{position:absolute;top:12px;left:12px;background:var(--dark);color:var(--accent);font-family:Inter;font-size:10px;letter-spacing:2px;font-weight:600;padding:4px 10px;border-radius:4px;z-index:2}.case-card .body{padding:24px 26px 26px}.case-card h4{font-size:15px;font-weight:700;margin-bottom:10px;letter-spacing:.04em;line-height:1.6}.case-card .meta{display:flex;gap:20px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-family:Inter;font-size:11px;color:var(--mute);letter-spacing:1px}.case-card .meta strong{color:var(--accent-ink);font-weight:700}.voices{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}.voice{background:#fff;border:1px solid var(--line);border-radius:10px;padding:32px 28px}.voice .stars{color:var(--accent-ink);letter-spacing:2px;font-size:14px;margin-bottom:16px;font-family:Inter}.voice h4{font-size:15px;font-weight:700;margin-bottom:14px;line-height:1.6;letter-spacing:.03em}.voice p{font-size:13px;color:var(--text);line-height:2}.voice .who{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.voice .who .av{width:40px;height:40px;border-radius:50%;background:repeating-linear-gradient(45deg,var(--accent-soft) 0 6px,#f3f8f7 6px 12px)}.voice .who .name{font-size:13px;font-weight:700}.voice .who .role{font-family:Inter;font-size:10px;letter-spacing:2px;color:var(--mute)}.faq-list{margin-top:48px;display:grid;gap:16px}.faq-item{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.faq-item summary{list-style:none;cursor:pointer;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:15px;font-weight:700;color:var(--heading);letter-spacing:.03em}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"Q";font-family:Inter;font-size:16px;font-weight:700;color:var(--accent-ink);margin-right:14px}.faq-item summary .chev{margin-left:auto;transition:transform .25s;color:var(--mute);font-size:14px}.faq-item[open] summary .chev{transform:rotate(180deg)}.faq-item .ans{padding:4px 28px 24px 66px;font-size:14px;color:var(--text);line-height:2.1;border-top:1px solid var(--line);margin-top:-1px}.bottom-cta{background:var(--accent-soft);padding:88px 0;text-align:center;position:relative;overflow:hidden}.bottom-cta:before{content:"";position:absolute;top:-40px;right:-40px;width:260px;height:120px;background:var(--accent);opacity:.4;border-radius:8px}.bottom-cta:after{content:"";position:absolute;bottom:-30px;left:-30px;width:180px;height:80px;background:var(--accent);opacity:.3;border-radius:8px}.bottom-cta .inner{position:relative;z-index:1}.bottom-cta h2{font-size:clamp(26px,3vw,36px);color:var(--dark);margin-bottom:20px;letter-spacing:.06em}.bottom-cta p{color:var(--dark);margin-bottom:40px;font-size:14px}.bottom-cta .ctas{display:inline-flex;gap:16px;flex-wrap:wrap;justify-content:center}.cta-lg{display:inline-flex;align-items:center;gap:14px;padding:18px 40px;background:var(--dark);color:#fff;border-radius:999px;font-family:Inter;font-weight:600;letter-spacing:2px;font-size:13px;border:1px solid var(--dark);transition:all .2s}.cta-lg:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.cta-lg.outline{background:transparent;color:var(--dark)}.cta-lg.outline:hover{background:var(--dark);color:#fff}.cta-lg .phone{font-family:Inter;font-size:16px;font-weight:700;letter-spacing:1px}footer{background:var(--dark);color:#c7d6d3;padding:80px 0 36px}.foot-top{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:48px;padding-bottom:56px;border-bottom:1px solid #2d4e48}.foot-brand .mark{color:#fff;font-size:36px;font-family:Noto Sans JP,serif;font-weight:900;line-height:1;margin-bottom:10px}.foot-brand .mark-en{font-family:Inter;font-size:10px;letter-spacing:4px;color:var(--accent);text-transform:uppercase;font-weight:600;display:block;margin-bottom:24px}.foot-brand p{font-size:13px;line-height:1.95;color:#a8bcb8;max-width:300px}.foot-col h5{font-family:Inter;font-size:11px;letter-spacing:4px;color:var(--accent);text-transform:uppercase;font-weight:600;margin-bottom:20px}.foot-col ul{list-style:none}.foot-col li{margin-bottom:12px}.foot-col a{color:#c7d6d3;font-size:13px;transition:color .2s}.foot-col a:hover{color:var(--accent)}.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:32px;font-family:Inter;font-size:11px;letter-spacing:2px;color:#6c8681}.fade{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}.fade.in{opacity:1;transform:translateY(0)}.fade.d1{transition-delay:.08s}.fade.d2{transition-delay:.16s}.fade.d3{transition-delay:.24s}@media(max-width:960px){.page-hero-inner,.trouble-grid,.sv-grid,.reasons,.flow,.cases,.voices,.foot-top,.proposal-row,.ops-services{grid-template-columns:1fr;gap:32px}.proposal-list{gap:56px}.proposal-row.reverse .proposal-text{order:1}.proposal-row.reverse .proposal-img{order:2}.flow .step:not(:last-child):after{display:none}.compare-table,.price-table{font-size:12px}nav{display:none}}
