:root{font-family:'Hiragino Maru Gothic ProN','Yu Gothic',system-ui,sans-serif;color:#513c36;background:#fffaf5;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:inherit}header,footer{max-width:1280px;margin:auto;padding:26px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:800;letter-spacing:.03em;text-decoration:none;font-size:20px}.brand:first-letter{color:#bd4364}nav{display:flex;align-items:center;gap:26px;font-size:14px}nav>a{text-decoration:none}.button{display:inline-flex;gap:34px;justify-content:space-between;align-items:center;background:#b94060;color:white;border:1px solid #b94060;border-radius:100px;padding:19px 28px;text-decoration:none;font-size:16px;font-weight:700;box-shadow:0 5px 0 #ecd0d6;transition:transform .15s}.button:hover{transform:translateY(-2px);background:#a73754}.button.small{padding:12px 20px;font-size:14px;box-shadow:none}main{overflow:hidden}.hero{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.12fr 1fr;align-items:center;padding:64px 42px 80px;gap:24px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.15em;color:#a75b65;margin:0 0 20px}.hero h1{font-size:clamp(50px,6.5vw,86px);line-height:1.3;letter-spacing:.05em;margin:0 0 22px;font-weight:850}em{font-style:normal;color:#b94060}.hero h2{font-size:21px;letter-spacing:.015em;margin:0 0 22px}.hero p{font-size:16px;line-height:2.1;color:#826f63;margin:0 0 28px}.hero .micro{font-size:12px;margin:15px 0 0}.hero-art{position:relative;align-self:center;max-width:510px}.hero-art img{width:100%;height:auto;border-radius:48% 48% 40% 40%;mix-blend-mode:multiply}.art-label{position:absolute;left:5%;top:-4%;font-size:17px;font-weight:700;line-height:1.7;transform:rotate(-8deg);z-index:1}.art-sticker{display:table;margin:22px 20px 12px auto;text-align:left;color:#513c36;font-size:17px;font-weight:700;line-height:1.7;transform:rotate(-8deg);transform-origin:center}.ribbon{display:flex;justify-content:center;gap:65px;padding:25px;background:#fbe4e6;border-top:1px solid #f0ced2;border-bottom:1px solid #f0ced2;font-size:16px;font-weight:650}.idea{text-align:center;padding:95px 24px 80px}.idea h2,.section-head h2,.journal-story h2,.faq h2,.closing h2{font-size:36px;line-height:1.7;letter-spacing:.04em;margin:0 0 24px}.idea p:not(.eyebrow){line-height:2.2;font-size:16px;color:#806b60;margin:22px 0}.how{max-width:1160px;padding:30px 24px 75px;margin:auto}.section-head{text-align:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}.steps article{border:1px solid #e8d7c9;border-radius:24px;padding:28px;background:white;position:relative}.step-number{font-size:13px;color:#a87963}.steps h3{font-size:20px;margin:25px 0 12px}.steps p{line-height:1.95;font-size:15px;color:#867164;margin:0}.mini-tags{display:flex;gap:7px;flex-wrap:wrap;align-items:center;min-height:85px;margin-top:12px}.mini-tags span{border:1px solid #ebcad2;background:#fff2f5;border-radius:30px;padding:9px 12px;font-size:13px;color:#a4425a}.direction-sample{min-height:85px;display:flex;gap:20px;align-items:center;margin-top:12px}.direction-sample>span{border:1px solid #ded8cb;border-radius:50%;width:65px;height:65px;display:grid;place-items:center}.direction-sample strong{color:#317e6a;font-size:20px}.micro{font-size:12px;line-height:1.8;color:#967e70}.how>.micro{text-align:center;margin-top:20px}.journal-story{background:#f7eee5;padding:72px max(40px,calc((100vw - 1080px)/2));display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.journal-story p{font-size:16px;color:#806c60;line-height:2}.journal-story ul{padding-left:20px;font-size:14px;line-height:2.2;color:#806c60}.journal-story .micro{font-size:12px}.text-link{display:inline-block;font-weight:700;color:#af405d;font-size:15px;text-underline-offset:5px;margin-top:14px}.note-example{background:#fffefb;border:1px solid #e8d6c4;box-shadow:9px 9px 0 #e9dacb;border-radius:7px;padding:30px;transform:rotate(3deg)}.note-top{display:flex;justify-content:space-between;border-bottom:1px dashed #d9c4b3;padding-bottom:16px;font-size:12px;letter-spacing:.06em}.note-top span{letter-spacing:0;color:#978170}.note-heart{display:inline-block;color:#b44261;background:#ffeef2;border-radius:20px;padding:7px 12px;font-size:13px;margin-top:24px}.note-example h3{font-size:24px;margin:18px 0 12px}.note-example p{font-size:17px;line-height:2}.new-love{border-top:1px solid #ecddd0;padding-top:18px;margin-top:24px}.new-love small{display:block;font-size:12px;color:#a48b75}.new-love strong{display:block;margin-top:8px;font-size:15px;line-height:1.9}.note-bottom{font-size:12px;line-height:1.7;color:#998676;display:block;margin-top:24px}.faq{max-width:850px;margin:auto;padding:90px 30px 50px}.faq>.eyebrow,.faq>h2{text-align:center}.faq details{border-bottom:1px solid #e4d4c7;padding:23px 0}.faq summary{cursor:pointer;font-size:16px;font-weight:650;line-height:1.8}.faq details p{font-size:15px;color:#846c60;line-height:2;margin-bottom:0}.closing{text-align:center;padding:60px 24px 85px}.closing>span{font-size:50px;color:#b94060}.closing h2{margin:20px 0 30px}footer{border-top:1px solid #e5d4c6;font-size:13px;color:#8b7669}footer .brand{font-size:16px}a:focus-visible,summary:focus-visible{outline:3px solid #358875;outline-offset:5px}@media(max-width:800px){header{padding:20px}.brand{font-size:17px}nav>a:not(.button){display:none}.button.small{padding:11px 15px;font-size:13px}.hero{padding:38px 24px 45px;grid-template-columns:1fr;gap:42px}.hero h1{font-size:57px}.hero h2{font-size:19px}.hero p{font-size:15px}.hero-art{width:82%;max-width:350px;margin:0 auto}.art-label{font-size:14px}.art-sticker{margin:20px 8px 10px auto;font-size:14px}.ribbon{gap:12px;justify-content:space-evenly;padding:20px 12px;font-size:12px}.idea{padding:60px 22px 35px}.idea h2,.section-head h2,.journal-story h2,.faq h2,.closing h2{font-size:27px}.idea p:not(.eyebrow){font-size:14px}.steps{grid-template-columns:1fr;gap:16px;margin-top:24px}.steps article{padding:24px}.steps h3{margin-top:12px}.mini-tags,.direction-sample{min-height:62px}.journal-story{grid-template-columns:1fr;padding:50px 24px;gap:35px}.note-example{max-width:420px;width:calc(100% - 16px);margin:auto;padding:24px}.faq{padding-top:60px}.faq summary{font-size:15px}.closing{padding:35px 24px 55px}footer{padding:25px 24px;flex-wrap:wrap}footer>span{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
