:root{--ink:#493425;--muted:#766b62;--coral:#ef7562;--coral-dark:#da5f4f;--blue:#dceff4;--blue-deep:#39769a;--green:#7aa052;--cream:#fffaf3;--line:#e6dacc;--sans:"Noto Sans JP",sans-serif;--round:"Kiwi Maru",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);line-height:1.8}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:fixed;top:-60px;z-index:999;background:#fff;padding:.7rem}.skip:focus{top:1rem}
.header{position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;gap:1.7rem;height:76px;padding:0 clamp(1.2rem,3vw,3.5rem);background:rgba(255,253,249,.94);border-bottom:1px solid #eee5dc;backdrop-filter:blur(10px)}.brand{display:grid;grid-template-columns:auto 1fr;align-items:center;min-width:215px;line-height:1}.brand .house-mark{grid-row:1/3;margin-right:.5rem;color:var(--coral);font-size:1.8rem}.brand strong{font:600 1rem var(--round)}.brand small{margin-top:.5rem;color:var(--muted);font-size:.48rem;letter-spacing:.08em}.desktop-nav{display:flex;gap:clamp(.8rem,1.7vw,1.8rem);margin-left:auto}.desktop-nav a,.top-actions a{font-size:.67rem;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:.7rem}.instagram{color:#b04a6d}.line{color:#3a8c59}.top-cta{padding:.65rem .9rem;color:#fff;background:var(--coral);border-radius:8px}.menu,.mobile-menu,.mobile-quick{display:none}
.hero{position:relative;height:100svh;min-height:720px;padding-top:76px;overflow:hidden}.hero>img{position:absolute;inset:76px 0 0;height:calc(100% - 76px);object-fit:cover;animation:hero 1.5s both}.hero:after{content:"";position:absolute;inset:76px 0 0;background:linear-gradient(90deg,rgba(255,250,243,.94),rgba(255,250,243,.62) 37%,transparent 60%)}.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;width:min(1180px,calc(100% - 10vw));height:100%;margin:auto}.hero h1{margin:0;font:500 clamp(2.6rem,4.7vw,4.7rem)/1.55 var(--round);letter-spacing:.03em}.hero h1 span{color:var(--coral)}.hero-copy>p{margin:1.4rem 0 2rem;font-size:clamp(.85rem,1.1vw,1.05rem);font-weight:500}.hero-buttons{display:flex;gap:.75rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.8rem;min-height:56px;padding:.8rem 1.4rem;border-radius:28px;font-size:.78rem;font-weight:600;transition:.25s}.button:hover{transform:translateY(-2px)}.primary{color:#fff;background:var(--coral);box-shadow:0 9px 25px rgba(239,117,98,.24)}.primary:hover{background:var(--coral-dark)}.secondary{background:#fff;border:1px solid var(--ink)}.hero-points{position:absolute;z-index:2;right:4vw;bottom:3rem;display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:1px;overflow:hidden;background:#fff;border-radius:16px;box-shadow:0 12px 35px rgba(64,44,32,.12)}.hero-points span{padding:.8rem 1.2rem;background:rgba(255,255,255,.96);font-size:.67rem;font-weight:600}
.section{padding:clamp(5rem,8vw,8rem) max(5vw,calc((100vw - 1160px)/2))}.section-title{text-align:center;margin-bottom:3.8rem}.section-title>span{display:inline-block;color:var(--coral);font-size:.68rem;font-weight:700;letter-spacing:.14em}.section-title h2{margin:.5rem 0 0;font:500 clamp(2rem,3.2vw,3.15rem)/1.55 var(--round)}.section-title em{color:var(--coral);font-size:1.35em;font-style:normal}.sp{display:none}.worries{background:var(--blue)}.worry-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin:0;padding:0;list-style:none}.worry-grid li{padding:2rem 1rem;text-align:center;background:#fff;border-radius:18px}.worry-grid i,.feature i{display:block;color:var(--green);font:600 1.5rem var(--round);font-style:normal}.worry-grid b{display:block;margin-top:1rem;font:500 .9rem/1.7 var(--round)}
.features{background:var(--cream)}.feature-list{display:flex;flex-direction:column;gap:4.5rem}.feature{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(2.5rem,6vw,6rem)}.feature.reverse{grid-template-columns:.85fr 1.15fr}.feature.reverse img{order:2}.feature img{aspect-ratio:4/3;object-fit:cover;border-radius:26px}.feature h3{margin:.5rem 0 1rem;font:500 clamp(1.35rem,2vw,2rem)/1.6 var(--round)}.feature p{color:var(--muted);font-size:.87rem}.feature i{color:var(--coral)}
.works{background:#f0f8fa}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}.works article{overflow:hidden;background:#fff;border-radius:18px;box-shadow:0 10px 30px rgba(58,118,154,.08)}.works img{aspect-ratio:4/3;object-fit:cover}.works article>div{padding:1.5rem}.works small{color:var(--blue-deep);font-size:.65rem}.works h3{margin:.4rem 0;font:500 1.05rem var(--round)}.works p{margin:0;color:var(--muted);font-size:.76rem}
.voice{background:#fffaf3}.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.voice blockquote{margin:0;padding:2.4rem;background:#fff;border:1px solid var(--line);border-radius:18px}.voice q{display:block;min-height:8rem;font:500 1rem/2 var(--round)}.voice q:before{color:var(--coral);font-size:2rem}.voice blockquote p{margin:1.2rem 0 0;color:var(--muted);font-size:.7rem}
.flow{background:#fff}.flow ol{display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none}.flow li{position:relative;padding:1.5rem;text-align:center}.flow li+li:before{content:"→";position:absolute;left:-.2rem;top:2.2rem;color:var(--coral)}.flow li b{display:grid;place-items:center;width:48px;height:48px;margin:auto;color:#fff;background:var(--blue-deep);border-radius:50%}.flow h3{margin:1rem 0 .4rem;font:500 .9rem var(--round)}.flow p{margin:0;color:var(--muted);font-size:.7rem}
.faq{background:#f5fbfc}.faq-list{max-width:900px;margin:auto;border-top:1px solid #c9dde2}details{border-bottom:1px solid #c9dde2}summary{position:relative;padding:1.5rem 3rem 1.5rem 1rem;cursor:pointer;list-style:none;font-weight:600;font-size:.9rem}summary::-webkit-details-marker{display:none}summary:after{content:"＋";position:absolute;right:1rem;color:var(--blue-deep);font-size:1.25rem}details[open] summary:after{content:"−"}details p{margin:0;padding:0 3rem 1.5rem;color:var(--muted);font-size:.82rem}
.contact{display:grid;grid-template-columns:1fr 1fr;min-height:610px;background:linear-gradient(135deg,#ef7562,#eb8c6b);color:#fff}.contact>img{height:100%;object-fit:cover}.contact-copy{align-self:center;padding:clamp(3rem,6vw,6rem)}.contact-copy>span{font-size:.7rem;font-weight:700}.contact h2{margin:.7rem 0 1.4rem;font:500 clamp(2rem,3.2vw,3.2rem)/1.55 var(--round)}.contact-copy>p{font-size:.85rem}.contact-copy>div{display:flex;gap:.7rem;margin:2rem 0 1rem}.contact .primary{color:var(--coral);background:#fff}.line-button{color:#fff;background:#479367}.contact small{font-size:.62rem}.footer{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:3rem max(5vw,calc((100vw - 1160px)/2));background:#544132;color:#e9dfd6}.footer nav{display:flex;gap:1.5rem;font-size:.7rem}.footer p{grid-column:1/-1;margin:1rem 0 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2);font-size:.55rem}.footer .brand{display:flex;flex-direction:column}.footer .brand small{color:#d0c0b3}
.reveal{opacity:0;transform:translateY(24px);transition:.8s}.reveal.is-visible{opacity:1;transform:none}@keyframes hero{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@media(max-width:1220px) and (min-width:981px){.header{gap:1rem;padding-inline:1.4rem}.desktop-nav{gap:.9rem}.desktop-nav a,.top-actions a{font-size:.6rem}}
@media(max-width:980px){.desktop-nav,.top-actions{display:none}.header{height:68px;gap:.6rem}.header>.brand{margin-right:auto}.mobile-quick{display:flex;gap:.45rem}.mobile-quick a{display:grid;place-items:center;min-width:34px;height:34px;padding:0 .35rem;border:1px solid var(--line);border-radius:8px;color:var(--coral);font-size:.56rem;font-weight:700}.menu{display:flex;width:40px;height:40px;padding:0;border:0;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:7px}.menu span{width:24px;height:2px;background:var(--ink);transition:.3s}.menu[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-menu{position:absolute;top:68px;left:0;width:100vw;height:calc(100svh - 68px);padding:2.5rem 1.5rem;background:var(--cream);overflow:auto}.mobile-menu.open{display:block}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{padding:1rem 0;border-bottom:1px solid var(--line);font:500 1.1rem var(--round)}.mobile-menu>div{display:flex;gap:1.5rem;margin-top:2rem;color:var(--coral);font-size:.78rem}.hero{padding-top:68px}.hero>img,.hero:after{inset:68px 0 0}.hero>img{height:calc(100% - 68px)}.worry-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.header{padding-inline:.8rem}.header .brand{min-width:0}.header .brand strong{font-size:.8rem}.header .brand small,.header .house-mark{display:none}.hero{min-height:760px}.hero>img{object-position:64% center}.hero:after{background:linear-gradient(180deg,rgba(255,250,243,.92),rgba(255,250,243,.46) 54%,transparent 80%)}.hero-copy{justify-content:flex-start;width:calc(100% - 2.5rem);padding-top:7.5rem}.hero h1{font-size:clamp(2.15rem,10vw,3rem);line-height:1.55}.hero-copy>p{font-size:.8rem}.hero-buttons{flex-direction:column;width:100%;max-width:290px}.hero-points{left:1.25rem;right:1.25rem;bottom:1.5rem}.hero-points span{text-align:center;padding:.7rem .3rem;font-size:.58rem}.section{padding:5rem 1.25rem}.section-title{margin-bottom:3rem}.section-title h2{font-size:2rem}.sp{display:block}.worry-grid{grid-template-columns:1fr 1fr}.worry-grid li{padding:1.5rem .6rem}.feature,.feature.reverse{grid-template-columns:1fr;gap:1.5rem}.feature.reverse img{order:0}.feature-list{gap:4rem}.feature img{border-radius:18px}.works-grid,.voice-grid{grid-template-columns:1fr}.voice q{min-height:0}.flow ol{grid-template-columns:1fr 1fr}.flow li+li:before{display:none}.contact{grid-template-columns:1fr}.contact>img{height:340px}.contact-copy{padding:4rem 1.25rem}.contact-copy>div{flex-direction:column}.footer{grid-template-columns:1fr;padding:2.5rem 1.25rem}.footer nav{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
