:root{--yellow:#edff21;--sage:#8ba09a;--mint:#56a392;--green:#2f3836;--gray:#dfe3e6;--white:#fff;--orange:#ff501b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--gray);color:var(--green);font-family:"Zen Kaku Gothic New",sans-serif;letter-spacing:.04em}
a{color:inherit}
.site-header{align-items:center;background:var(--white);box-shadow:0 1px 12px rgba(47,56,54,.08);display:flex;height:88px;justify-content:space-between;left:0;padding:12px 4vw;position:fixed;right:0;top:0;z-index:10}
.brand-logo{align-items:center;display:flex;gap:11px;text-decoration:none}.reniwa-header-logo{display:block;width:155px}.operator-mark{align-items:center;display:flex;gap:5px}.operator-mark small{color:#70817d;font-family:inherit;font-size:9px;font-weight:400;letter-spacing:0;white-space:nowrap}.operator-mark img{display:block;width:82px}
nav{display:flex;gap:28px;align-items:center}
nav a{font-family:"Antonio",sans-serif;font-size:15px;text-decoration:none}
.contact-link{color:var(--mint)}
.hero{--hero-progress:0;background:var(--gray);height:200vh;position:relative}.hero-stage{align-items:center;display:flex;height:100vh;overflow:hidden;padding:70px 4vw 130px;position:sticky;top:0}
.hero-stage::after{background:linear-gradient(90deg,rgba(239,242,244,.86) 0%,rgba(239,242,244,.6) 23%,rgba(239,242,244,.12) 42%,rgba(239,242,244,0) 57%);content:"";inset:0;position:absolute;z-index:1}
.hero-copy{max-width:620px;position:relative;width:43%;z-index:3}
.hero-copy{transition:opacity .55s ease,transform .55s ease}.hero-copy>:not(.reniwa-logo){transition:opacity .45s ease}.hero-concept{left:4vw;max-width:900px;opacity:0;position:absolute;top:50%;transform:translateY(-42%);transition:opacity .7s ease,transform .7s ease;z-index:3}.hero-concept>p{color:var(--mint);font-family:"Antonio";font-size:20px;font-weight:700;letter-spacing:.12em;margin:0 0 28px}.hero-concept h2{font-size:clamp(42px,4.2vw,64px);line-height:1.4;margin:0 0 30px}.hero-concept span{font-size:17px;line-height:2}.hero.show-concept .hero-copy{pointer-events:none}.hero.show-concept .hero-copy>:not(.reniwa-logo){opacity:0}.hero.show-concept .hero-concept{opacity:1;transform:translateY(-50%)}
.hero-photo{inset:0;margin:0;position:absolute;z-index:0}.hero-photo img{display:block;height:100%;object-fit:cover;width:100%}.hero-before{opacity:calc(1 - var(--hero-progress));transform:scale(1.02)}.hero-before img{object-position:center 44%}.hero-after{opacity:var(--hero-progress)}.hero-after img{object-position:center 32%}.hero-photo figcaption{background:rgba(255,255,255,.9);bottom:18px;color:var(--green);font-family:"Antonio";font-size:12px;letter-spacing:.08em;padding:10px 14px;position:absolute;right:18px}.hero-scroll{align-items:center;bottom:24px;color:var(--white);display:flex;font-family:"Antonio";font-size:12px;gap:12px;left:4vw;letter-spacing:.12em;position:absolute;z-index:3}.hero-scroll span{background:var(--yellow);display:block;height:2px;width:56px}
.label,.section-title{font-family:"Antonio",sans-serif;font-weight:700;letter-spacing:.08em}
.label{font-size:13px;margin:0 0 30px}
.reniwa-logo{display:block;height:auto;margin:0 0 34px;max-width:470px;width:60vw}
.hero h1{font-size:clamp(48px,4.5vw,72px);line-height:1.25;margin:0 0 28px}
.hero-copy>p:not(.label){font-size:18px;line-height:2;margin:0 0 30px}
.hero-word{bottom:82px;color:var(--yellow);font-family:"Antonio",sans-serif;font-size:clamp(120px,12vw,215px);font-weight:700;line-height:.9;position:absolute;left:38%;white-space:nowrap;z-index:2}
.round-button{align-items:center;background:var(--white);border:2px solid var(--mint);border-radius:999px;color:var(--mint);display:flex;font-weight:700;justify-content:space-between;max-width:390px;padding:9px 10px 9px 30px;text-decoration:none}
.round-button b{align-items:center;background:var(--mint);border-radius:50%;color:var(--yellow);display:flex;font-size:28px;height:54px;justify-content:center;width:54px}
.message{background:var(--sage);color:var(--white);display:grid;grid-template-columns:30% 1fr;min-height:520px;padding:80px 4vw}
.section-title{font-size:24px;margin:0 0 30px}
.message-body{max-width:780px}
.message h2,.case-section h2,.price h2,.contact h2{font-size:clamp(36px,4vw,58px);line-height:1.4;margin:0 0 34px}
.message-body p{font-size:17px;line-height:2.1;margin:0 0 20px}
.choices{display:grid;grid-template-columns:1.1fr repeat(4,1fr);min-height:580px;padding:110px 0 110px 4vw}
.choice-nav{padding:10px 36px 0 0}
.choice-nav>p:last-child{font-size:16px;line-height:1.9}
.choice-card{color:var(--white);min-height:360px;padding:48px 34px}
.choice-card span{font-family:"Antonio";font-size:18px}
.choice-card h3{font-size:36px;margin:70px 0 20px}
.choice-card p{font-size:16px;line-height:2}
.card-a{background:#56a893}.card-b{background:#8da563}.card-c{background:#ae8959}.card-d{background:#91a39e}
.service-sequence{background:var(--gray);overflow:clip;position:relative}.sequence-sticky{height:100vh;overflow:hidden;position:sticky;top:0}.sequence-heading{height:270px;padding:26px 4vw 0;position:relative}.sequence-title{color:var(--yellow);font-family:"Antonio";font-size:clamp(120px,12vw,230px);font-weight:700;letter-spacing:-.02em;line-height:.8;margin:0}.sequence-heading h2{font-size:clamp(26px,2.4vw,42px);line-height:1.35;margin:0;position:absolute;right:5vw;top:76px;z-index:2}.sequence-heading>span{color:var(--mint);font-family:"Antonio";font-size:13px;letter-spacing:.12em;position:absolute;right:5vw;top:190px}.sequence-track{display:flex;gap:5vw;transform:translate3d(8vw,0,0);will-change:transform}.sequence-row{border-top-left-radius:34px;display:grid;flex:0 0 78vw;grid-template-columns:40% 60%;height:620px;min-width:900px;overflow:hidden}.sequence-copy{align-items:flex-start;color:var(--white);display:flex;flex-direction:column;justify-content:center;padding:58px}.sequence-copy span{font-family:"Antonio";font-size:25px;letter-spacing:.08em}.sequence-copy h3{font-size:clamp(44px,4.2vw,66px);margin:70px 0 25px}.sequence-copy p{font-size:15px;line-height:2;margin:0;max-width:380px}.sequence-photo{background:var(--white);margin:0;overflow:hidden}.sequence-photo img{display:block;height:510px;object-fit:cover;width:100%}.sequence-photo figcaption{display:block;margin:0;padding:18px 26px}.sequence-photo figcaption span{display:block;font-family:"Antonio";font-size:13px;letter-spacing:.12em}.sequence-photo figcaption b{display:block;font-size:21px;margin-top:6px}.sequence-note{bottom:18px;font-size:11px;left:4vw;line-height:1.8;margin:0;position:absolute}
.case-section{background:var(--yellow);display:grid;grid-template-columns:38% 62%;padding:90px 4vw}
.case-copy{padding-right:55px}
.case-copy ol{font-size:16px;line-height:2.2;padding-left:24px}
.case-section figure{margin:0}
.case-section figure img{display:block;height:560px;object-fit:cover;width:100%}
figcaption{display:flex;font-family:"Antonio";font-weight:700;justify-content:space-between;margin-top:10px}
.small{font-size:12px!important;line-height:1.8!important}
.image-stories{background:var(--gray);display:grid;gap:34px;grid-template-columns:repeat(3,1fr);padding:100px 4vw}.story-heading{grid-column:1/-1;max-width:850px}.story-heading h2{font-size:clamp(36px,4vw,58px);line-height:1.4;margin:0 0 18px}.story-heading>p:last-child{font-size:17px}.story-card{background:var(--white);margin:0;overflow:hidden}.story-card img{display:block;height:430px;object-fit:cover;width:100%}.story-card figcaption{display:block;margin:0;padding:22px}.story-card figcaption span{display:block;font-family:"Antonio";font-size:14px;letter-spacing:.1em}.story-card figcaption b{display:block;font-size:22px;margin-top:8px}.story-card.wide{grid-column:1/-1}.story-card.wide img{height:min(63vw,760px)}.image-stories>.small{grid-column:1/-1;margin:0}
.price{background:var(--white);padding:100px 4vw}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:50px 0 28px}
.price-grid article{background:#eef4f2;border-right:1px solid #cbd5d1;min-height:310px;padding:34px 28px}
.price-grid article:nth-child(2){background:#d9e8e3}.price-grid article:nth-child(3){background:#b8d4ca}.price-grid .asset{background:var(--green);color:var(--white)}
.price-grid b{font-family:"Antonio";letter-spacing:.12em}.price-grid h3{font-size:24px;margin:34px 0 12px}.price-grid strong{font-size:23px}.price-grid p{font-size:14px;line-height:1.8}
.contact{align-items:start;background:var(--sage);color:var(--white);display:grid;gap:6vw;grid-template-columns:minmax(300px,.8fr) minmax(560px,1.2fr);padding:100px 4vw}
.contact-intro{max-width:620px;position:sticky;top:130px}.contact-intro>p:not(.section-title){font-size:17px;line-height:2}.contact-address{border-top:1px solid rgba(255,255,255,.35);font-weight:700;margin-top:38px;padding-top:24px}.contact-address small{font-weight:400}
.reniwa-form{background:var(--white);color:var(--green);display:grid;gap:25px 22px;grid-template-columns:1fr 1fr;padding:48px}.form-wide{grid-column:1/-1}.form-field{border:0;margin:0;min-width:0;padding:0}.form-field>span,.form-field legend{display:block;font-size:14px;font-weight:700;margin:0 0 9px}.form-field b{background:var(--orange);color:var(--white);font-size:10px;margin-left:6px;padding:2px 5px}.form-field input[type="text"],.form-field input[type="tel"],.form-field input[type="email"],.form-field select,.form-field textarea{background:#eff3f2;border:2px solid transparent;border-radius:0;color:var(--green);font:inherit;padding:15px 16px;width:100%}.form-field textarea{line-height:1.8;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--mint);outline:none}.radio{align-items:center;display:inline-flex;gap:7px;margin:11px 24px 0 0}.radio input,.form-consent input{accent-color:var(--mint)}.file-field{border:1px solid #cad6d2;padding:20px}.file-field input{display:block;margin:7px 0 11px;width:100%}.file-field small{color:#65736f;font-size:11px;line-height:1.7}.form-consent{align-items:center;display:flex;font-size:13px;gap:9px}.form-submit{align-items:center;background:var(--green);border:0;color:var(--white);cursor:pointer;display:flex;font:inherit;font-weight:700;justify-content:space-between;padding:10px 12px 10px 25px}.form-submit b{align-items:center;background:var(--mint);border-radius:50%;color:var(--yellow);display:flex;font-size:28px;height:54px;justify-content:center;width:54px}.form-trap{height:1px;left:-10000px;overflow:hidden;position:absolute;width:1px}
footer{background:var(--green);color:var(--white);padding:54px 4vw;text-align:center}
footer>img:first-child{max-width:240px}footer p{font-size:11px;letter-spacing:.13em;margin:20px 0 10px}.footer-operator-logo{filter:brightness(0) invert(1);width:135px}footer address{font-size:11px;font-style:normal;line-height:1.9;margin-top:24px}footer address a{color:inherit}
.js .reveal{opacity:0;transform:translateY(42px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.25,1)}.js .reveal-right{opacity:0;transform:translateX(110px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.75,.25,1)}.js .reveal.is-visible,.js .reveal-right.is-visible{opacity:1;transform:none}.js .reveal-1{transition-delay:.08s}.js .reveal-2{transition-delay:.18s}.js .reveal-3{transition-delay:.28s}.js .reveal-4{transition-delay:.38s}.js .reveal-late{transition-delay:.22s}
@media(max-width:800px){
 .site-header{height:68px;padding:9px 22px}.reniwa-header-logo{width:122px}.operator-mark{gap:4px}.operator-mark small{font-size:8px}.operator-mark img{width:68px}nav a:not(.contact-link){display:none}.contact-link{font-size:13px}
 .hero{height:175vh}.hero-stage{align-items:flex-start;display:flex;height:100vh;padding:55px 24px 120px}.hero-stage::after{background:linear-gradient(180deg,rgba(239,242,244,.95) 0%,rgba(239,242,244,.82) 48%,rgba(239,242,244,.12) 78%)}.hero-copy{align-self:flex-start;width:100%}.reniwa-logo{margin-bottom:28px;width:86vw}.hero h1{font-size:44px}.hero-copy>p:not(.label){font-size:16px}.hero-before img,.hero-after img{object-position:68% top}.hero-concept{left:24px;max-width:calc(100% - 48px);top:45%}.hero-concept h2{font-size:36px}.hero-concept span{font-size:15px}.hero-scroll{bottom:18px;left:24px}
 .message{display:block;min-height:0;padding:70px 24px}.message h2,.case-section h2,.price h2,.contact h2{font-size:34px}.message-body p{font-size:16px}
 .choices{display:flex;gap:0;overflow-x:auto;padding:72px 0 72px 24px}.choice-nav{flex:0 0 240px}.choice-card{flex:0 0 260px;min-height:430px;padding:38px 28px}.choice-card h3{margin-top:80px}
 .service-sequence{height:auto!important;overflow:hidden;padding:72px 0}.sequence-sticky{height:auto;overflow:visible;position:relative}.sequence-heading{height:auto;margin-bottom:45px;padding:0 24px}.sequence-title{font-size:84px}.sequence-heading h2{font-size:34px;margin-top:28px;position:static}.sequence-heading>span{display:none}.sequence-track{display:block;transform:none!important}.sequence-row{display:block;height:auto;margin:0 0 52px 24px;min-width:0;width:calc(100% - 24px)}.sequence-copy{min-height:360px;padding:38px 30px}.sequence-copy h3{font-size:48px;margin:60px 0 20px}.sequence-copy p{font-size:16px}.sequence-photo img{height:auto}.sequence-photo figcaption{padding:18px 20px}.sequence-note{bottom:auto;left:auto;padding:0 24px;position:relative}
 .case-section{display:block;padding:72px 24px}.case-copy{padding:0}.case-section figure{margin-top:42px}.case-section figure img{height:auto}
 .image-stories{display:block;padding:72px 24px}.story-heading,.story-card{margin-bottom:28px}.story-card img,.story-card.wide img{height:auto}
 .price{padding:72px 24px}.price-grid{display:block}.price-grid article{min-height:0}
 .contact{display:block;padding:72px 24px}.contact-intro{position:static}.reniwa-form{display:block;margin-top:42px;padding:28px 20px}.form-field,.form-consent,.form-submit{margin-top:22px;width:100%}.form-field:first-of-type{margin-top:0}
}
@media(prefers-reduced-motion:reduce){.js .reveal,.js .reveal-right{opacity:1;transform:none;transition:none}}
