@font-face{font-family:Manrope;src:url('/fonts/manrope-regular.ttf') format('truetype');font-weight:400 600;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope-extrabold.ttf') format('truetype');font-weight:700 900;font-display:swap}
:root{--paper:#f7f8f2;--ink:#082a23;--muted:#526960;--lime:#d1f579;--sage:#e7edda;--line:#cbd4c7;--green:#477f32;font-family:Manrope,'Hiragino Kaku Gothic ProN','Noto Sans JP',Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;font-weight:400;line-height:1.6}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
img,video{max-width:100%;display:block}
button,a,summary{touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.12;letter-spacing:-.045em;font-weight:800}
h1{font-size:clamp(52px,5.6vw,88px)}
h2{font-size:clamp(34px,3.3vw,52px)}
h3{font-size:24px;letter-spacing:-.03em}
.wrap{width:min(1390px,calc(100% - 120px));margin-inline:auto}
.section{padding-block:110px}
.header{min-height:104px;display:flex;align-items:center;gap:32px;position:relative;z-index:2}
.brand{flex-shrink:0}
.brand img{width:156px;height:auto}
.desktop-nav{display:flex;gap:26px;margin-left:auto;font-size:14px}
.desktop-nav a,.footer a{transition:color .2s}
.desktop-nav a:hover,.footer a:hover{color:var(--green)}
.header-actions{display:flex;align-items:center;gap:24px;font-size:13px}
.language{white-space:nowrap;letter-spacing:.02em}
.language strong{font-weight:800}
.button{display:inline-flex;gap:22px;align-items:center;justify-content:center;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:40px;padding:19px 29px;font-weight:700;font-size:15px;white-space:nowrap;transition:background .2s,transform .2s}
.button span{font-size:22px;line-height:1}
.button:hover{background:#205440;transform:translateY(-2px)}
.header-cta{padding:12px 21px;font-size:13px;gap:13px}
.menu-toggle{display:none}
.mobile-nav[hidden]{display:none}
.skip-link{position:fixed;top:12px;left:12px;z-index:20;background:var(--ink);color:white;padding:12px 20px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:center;min-height:660px;padding-block:24px 30px}
.hero-copy{padding-bottom:40px}
.hero h1 span{display:block}
.hero h1 em{font-style:normal;color:var(--green)}
.hero-description{color:var(--muted);max-width:530px;margin-top:30px;font-size:19px;line-height:1.85}
.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:34px}
figcaption{display:flex;gap:8px;align-items:center;justify-content:center;font-size:11px;margin-top:14px;color:var(--muted)}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.15em;margin-bottom:22px}
.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:50px}
.plans{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #b6c5b5}
.plan{padding:18px 22px 27px;display:flex;flex-direction:column}
.plan+.plan{border-left:1px solid #b6c5b5}
.plan.recommended{background:var(--lime)}
.recommend-label{height:28px;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}
.plan h3{font-size:21px;padding-bottom:22px;border-bottom:1px solid #b6c5b5;white-space:nowrap}
.price{font-size:clamp(25px,2.4vw,37px);font-weight:800;letter-spacing:-.05em;margin-top:21px;line-height:1.2}
.price-period{font-size:11px;margin-top:9px;white-space:nowrap}
.pre-tax{font-size:10px;color:#557055;margin-top:3px}
.credits{border-block:1px solid #b6c5b5;padding-block:18px;margin-top:24px;font-size:10px;white-space:nowrap}
.credits strong{font-size:16px;margin-right:2px}
.plan-description{font-size:13px;margin:22px 0;min-height:50px}
.outline{color:var(--ink);background:transparent;border-color:#819980;border-radius:5px}
.outline:hover{background:var(--ink);color:var(--paper)}
.small{font-size:11px;gap:6px;padding:13px 7px;margin-top:auto}
.small span{font-size:17px}
.scale{display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid #b6c5b5;padding:26px}
.scale h3{font-size:21px}
.scale p{font-size:14px}
.text-link{font-size:14px;font-weight:700;white-space:nowrap;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#a5b698}
.pricing-notes{display:grid;grid-template-columns:1.5fr 1fr;gap:12px 35px;padding-top:24px;font-size:11px;color:var(--muted)}
.pricing-notes p:first-child{grid-row:span 2}
.start{background:var(--lime);border-radius:24px;display:grid;grid-template-columns:1.2fr 1fr 144px;gap:38px;align-items:center;padding:55px 45px;margin-bottom:70px}
.start h2{font-size:44px}
.start-action p{font-size:13px;max-width:350px;margin-top:18px}
.qr-link{font-size:9px;text-align:center}
.qr-link img{border-radius:10px}
.qr-link span{display:block;margin-top:8px}
.footer{border-top:1px solid var(--line);padding-block:32px}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px}
.footer-main nav{display:flex;gap:25px;flex-wrap:wrap}
.footer-main>span{white-space:nowrap}
.footer-tagline{font-size:11px;color:var(--muted);margin-top:20px}
.not-found{text-align:center;min-height:65vh}
.not-found img{margin:0 auto 30px}
.not-found h1{font-size:42px;margin-bottom:30px}
dialog{width:min(960px,calc(100% - 32px));padding:24px;border:0;border-radius:20px;background:var(--paper);color:var(--ink);max-height:90dvh}
dialog::backdrop{background:#061f1bd9;backdrop-filter:blur(5px)}
dialog video{width:100%;border-radius:10px;background:var(--ink);aspect-ratio:16/9}
dialog>p{font-size:12px;margin-top:16px;color:var(--muted)}
dialog details{font-size:13px;margin-top:18px}
dialog summary{cursor:pointer;font-weight:700}
dialog details p{margin-top:12px}
.menu-toggle{border:0;background:transparent;width:40px;height:40px;padding:10px}
.menu-toggle span{display:block;height:1px;background:var(--ink);margin:6px 0}
html[lang=ja] h1{font-size:clamp(44px,4.3vw,68px);letter-spacing:-.055em;line-height:1.45}
html[lang=ja] h2{letter-spacing:-.035em;line-height:1.45}
html[lang=ja] .hero h1 span:last-child{font-size:1.15em}
html[lang=ja] .hero-description{font-size:17px;line-height:2.05;max-width:490px;text-wrap:balance}
html[lang=ja] .hero-actions{gap:20px}
html[lang=ja] .desktop-nav{gap:21px;font-size:13px}
html[lang=ja] .header-actions{gap:18px;font-size:11px}
html[lang=ja] .credits{font-size:9px}
@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.paused [class*=message-]{animation-play-state:paused!important}
.hero-copy{animation:arrive .7s both}
@media(min-width:1600px){.hero{min-height:740px}}
@media(max-width:1200px){.wrap{width:calc(100% - 72px)}.desktop-nav{gap:17px}.header{gap:22px}.header-actions{gap:17px}.header-cta{display:none}.hero{gap:20px}.hero-description{font-size:17px}.hero-actions{gap:17px}.plan{padding-inline:15px}.start{grid-template-columns:1.1fr 1fr 110px;padding:42px 30px;gap:28px}.start h2{font-size:37px}.qr-link img{width:110px;height:110px}.footer-main nav{gap:17px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.desktop-nav{display:none}.header-actions{margin-left:auto}.header{min-height:85px}.menu-toggle{display:block}.mobile-nav{position:absolute;top:75px;left:0;right:0;background:var(--paper);border:1px solid var(--line);padding:22px;box-shadow:0 12px 25px #082a2310;border-radius:15px}.mobile-nav a{display:block;padding:12px;font-size:16px}.hero{grid-template-columns:1fr 1fr;min-height:580px}.hero h1{font-size:51px}.hero-description{font-size:15px}.hero-copy{padding-bottom:0}.button{font-size:13px;padding:16px 21px}.section{padding-block:80px}.plans{grid-template-columns:repeat(6,1fr)}.plan{grid-column:span 2;padding:20px}.plan:nth-child(4),.plan:nth-child(5){grid-column:span 3;border-top:1px solid #b6c5b5}.plan:nth-child(4){border-left:0}.price{font-size:34px}.plan-description{min-height:42px}.plan .small{font-size:12px}.scale{flex-wrap:wrap}.scale p{max-width:340px}.start{grid-template-columns:1fr 1fr}.qr-link{display:none}.start h2{font-size:33px}.footer-main{flex-wrap:wrap}.footer-main nav{order:3;width:100%}html[lang=ja] h1{font-size:40px}html[lang=ja] .hero-description{font-size:15px}html[lang=ja] .hero h1 span:last-child{font-size:1.1em}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.header{min-height:80px;gap:15px}.brand img{width:123px}.header-actions,html[lang=ja] .header-actions{gap:13px}.header-actions .language{font-size:12px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:30px;gap:35px}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(42px,10.5vw,64px);line-height:1.14;letter-spacing:-.055em}.hero-description{font-size:16px;line-height:1.8;margin-top:23px}.hero-actions{margin-top:25px;gap:16px;align-items:flex-start;flex-direction:column}.hero-actions .button{padding:17px 25px;font-size:14px}figcaption{margin-top:10px}.section{padding-block:64px}h2{font-size:35px}.eyebrow{font-size:10px;margin-bottom:18px}.section-top{display:block;margin-bottom:30px}.plans{display:block}.plan{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;position:relative;padding:26px 22px}.plan+.plan{border-left:0;border-top:1px solid #b6c5b5}.recommend-label{grid-column:span 2;height:auto;font-size:9px}.recommend-label:not(:empty){margin-bottom:8px}.plan h3{padding-bottom:0;border:0;font-size:22px;align-self:center}.price{margin-top:0;font-size:32px;text-align:right}.price-period,.pre-tax{text-align:right;grid-column:2;margin-top:4px}.credits{grid-column:span 2;margin-top:18px;padding:13px 0;font-size:11px}.plan-description{grid-column:span 2;min-height:0;margin:15px 0;font-size:13px}.plan .button{grid-column:span 2;margin-top:4px;font-size:12px;padding:12px}.scale{display:block;padding:24px}.scale h3{font-size:22px}.scale p{margin:15px 0;font-size:13px}.pricing-notes{display:block;font-size:11px}.pricing-notes p+p{margin-top:12px}.start{width:calc(100% - 24px);grid-template-columns:1fr;gap:25px;padding:37px 25px;border-radius:20px;margin-bottom:45px}.start h2{font-size:36px}.start-action p{font-size:13px;line-height:1.8}.footer{padding-block:25px}.footer-main>span{font-size:10px}.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:11px}.footer-main img{width:124px;height:auto}.footer-tagline{margin-top:28px}dialog{padding:16px}html[lang=ja] h1{font-size:clamp(35px,8.6vw,53px);line-height:1.6}html[lang=ja] .hero h1 span:last-child{font-size:1.2em}html[lang=ja] .hero-description{font-size:15px;margin-top:20px}html[lang=ja] h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
