:root{--ink:#173e31;--paper:#faf6ed;--coral:#ba6250;--line:#d8dfd3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:17px;line-height:1.95}a{color:inherit}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,5vw,64px);line-height:1.48;letter-spacing:.02em;font-weight:700}h2{font-size:clamp(27px,3.3vw,42px);line-height:1.6}h3{font-size:21px;line-height:1.6}.wrap{max-width:1120px;margin:auto;padding:0 28px}.brand{padding:22px 0;border-bottom:1px solid var(--line);font-size:15px;letter-spacing:.1em}.brand .wrap{display:flex;justify-content:space-between;align-items:center}.brand a{text-decoration:none}.eyebrow{font-size:13px;font-weight:bold;letter-spacing:.12em;color:var(--coral);margin-bottom:18px}.hero{display:grid;grid-template-columns:1fr .9fr;gap:56px;align-items:center;padding-top:64px;padding-bottom:72px}.hero-picture{background:#dbe3d4;padding:36px 54px;border-radius:180px 180px 8px 8px}.hero-picture img{box-shadow:12px 18px 28px #193c3133;transform:rotate(2deg);width:100%}.lead{font-size:19px;max-width:40em}.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 26px;background:var(--ink);color:white;text-decoration:none;border-radius:8px;font-size:17px;font-weight:bold;line-height:1.6;min-height:56px}.btn:hover{background:#265943}.fine{font-size:13px;line-height:1.8;color:#53665d}.hero .fine{margin-top:14px}.section{padding:70px 0;border-top:1px solid var(--line)}.white{background:#fffdf8}.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.split img{border-radius:12px}.list{padding-left:1.3em}.list li{margin-bottom:12px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.step{border-top:3px solid var(--coral);padding-top:20px}.step .number{font-size:14px;color:var(--coral);letter-spacing:.1em}.contents{max-width:820px;margin:30px auto}.contents details,.faq details{border-bottom:1px solid var(--line);padding:18px 0}.contents summary,.faq summary{cursor:pointer;font-weight:bold;line-height:1.6;list-style-position:outside;margin-left:20px}.contents details p,.faq details p{font-size:15px;padding:16px 20px 0;margin-bottom:0}.offer{background:var(--ink);color:var(--paper);padding:42px;border-radius:14px}.offer .btn{background:var(--paper);color:var(--ink)}.price{font-size:42px;font-weight:bold;line-height:1.3;margin:20px 0 10px}.offer .fine{color:#dee7da}.offer ul{padding-left:1.2em}.portrait{width:100%;aspect-ratio:4/3;object-fit:cover}.checkout-intro{text-align:center;max-width:720px;margin:0 auto 30px}.checkout-card{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #173e3108}.checkout-note{text-align:center;margin:18px auto;max-width:640px}.faq{max-width:820px}.footer{padding:35px 0 105px;border-top:1px solid var(--line)}.footer nav{display:flex;gap:22px;flex-wrap:wrap;font-size:13px}.sticky{position:fixed;bottom:0;left:0;right:0;background:#faf6edf5;backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:10;padding:10px 20px;display:flex;align-items:center;justify-content:center;gap:28px}.sticky span{font-size:14px;line-height:1.5}.sticky .btn{padding:11px 20px;min-height:44px;font-size:15px}.sticky[hidden]{display:none}.thank{max-width:820px;margin:40px auto;padding:35px}.thank .portrait{max-width:240px;aspect-ratio:1;border-radius:50%;margin:0 auto 26px}.thank h1{text-align:center;font-size:34px}.download{margin:24px 0;padding:24px;background:white;border:1px solid var(--line);border-radius:12px}.download .actions{display:flex;gap:14px;flex-wrap:wrap}.outline{background:transparent;border:1px solid var(--ink);color:var(--ink)}.rosa-checkout-form #pay{background:var(--ink)}.checkout-field input:focus,.checkout-field select:focus{outline-color:var(--ink)}@media(max-width:760px){.wrap{padding:0 20px}.hero{grid-template-columns:1fr;gap:32px;padding-top:32px;padding-bottom:44px}.hero-picture{max-width:330px;padding:26px 45px;margin:auto;grid-row:2}.hero h1{font-size:40px}.hero .btn{width:100%}.section{padding:45px 0}.split,.steps{grid-template-columns:1fr;gap:30px}.offer{padding:28px}.brand .minor{display:none}.lead{font-size:17px}.thank{padding:24px 20px}.thank h1{font-size:27px}.download .btn{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
