:root {
  --paper:#fbf8ee; --paper-deep:#f2ead6; --olive:#45692a; --olive-dark:#29451f;
  --celadon:#dce8dc; --ink:#30251b; --line:#d8cba8; --line-olive:rgba(69,105,42,.62);
  --shadow:0 11px 24px rgba(77,61,33,.12),0 2px 5px rgba(77,61,33,.06);
  --serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  --sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{
  margin:0;color:var(--ink);font:16px/1.95 var(--sans);
  background-color:var(--paper);
  background-image:radial-gradient(circle at 18% 8%,rgba(200,158,66,.19) 0 1px,transparent 1.3px),radial-gradient(circle at 67% 21%,rgba(200,158,66,.1) 0 1px,transparent 1.25px),linear-gradient(90deg,rgba(247,242,226,.42),rgba(255,255,255,.2) 48%,rgba(244,236,212,.28));
  background-size:16px 16px,24px 24px,100% 100%;
}
a{color:inherit;text-decoration:none} button{color:inherit;font:inherit}
.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(216,203,168,.86);background:rgba(251,248,238,.94);backdrop-filter:blur(12px)}
.header-inner,.container{width:min(1120px,calc(100% - 48px));margin:auto}
.header-inner{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.brand{color:var(--ink);font:500 25px var(--serif);letter-spacing:.075em;white-space:nowrap}
.brand::before{display:inline-block;width:12px;height:10px;margin:0 7px 1px 0;border:1px solid var(--olive);border-width:0 1px 1px 0;content:"";transform:rotate(45deg)}
.nav-list{display:flex;align-items:center;gap:20px;list-style:none;margin:0;padding:0;color:#4d4c36;font-size:12px;letter-spacing:.045em}
.nav-list a{padding:7px 0;border-bottom:1px solid transparent}
.nav-list a:hover,.nav-list a[aria-current="page"]{color:var(--olive);border-color:var(--olive)}
.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 22px;color:#fff;border:1px solid var(--olive);border-radius:3px;background:var(--olive);box-shadow:0 3px 7px rgba(48,69,31,.16);font-size:13px;letter-spacing:.07em;transition:.2s ease}
.header-cta:hover,.button:hover{border-color:var(--olive-dark);background:var(--olive-dark);transform:translateY(-1px)}
.button.secondary{color:var(--olive-dark);background:rgba(255,255,255,.44);box-shadow:none}.button.secondary:hover{background:#eff3e7}
.nav-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}.nav-toggle span{display:block;width:24px;height:1px;margin:5px;background:var(--olive-dark)}

.hero,.page-intro{position:relative;overflow:hidden;isolation:isolate;text-align:center}
.hero{
  padding:104px 0 224px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(251,248,238,.93) 0%,rgba(251,248,238,.65) 55%,rgba(245,241,221,.14) 100%),radial-gradient(ellipse at 50% 112%,rgba(111,137,75,.32) 0 15%,transparent 16%),repeating-linear-gradient(169deg,transparent 0 22px,rgba(156,174,125,.18) 23px 24px,transparent 25px 49px);
}
.hero::before,.page-intro::before{
  position:absolute;z-index:-1;top:26px;left:-45px;width:262px;height:180px;content:"";opacity:.58;
  background:radial-gradient(ellipse 19px 8px at 28% 14%,#aebd81 44%,transparent 48%),radial-gradient(ellipse 23px 9px at 45% 28%,#c1cb97 44%,transparent 48%),radial-gradient(ellipse 17px 8px at 19% 36%,#aabf85 44%,transparent 48%),radial-gradient(ellipse 22px 9px at 38% 48%,#b8c88d 44%,transparent 48%),linear-gradient(64deg,transparent 47%,#91a06e 48% 49%,transparent 50%);
  transform:rotate(-9deg);
}
.hero::after,.page-intro::after{
  position:absolute;z-index:-1;right:-54px;bottom:-24px;width:48%;height:178px;content:"";opacity:.73;
  background:radial-gradient(ellipse at 54% 123%,transparent 49%,rgba(128,151,104,.23) 50% 51%,transparent 52%),radial-gradient(ellipse at 54% 129%,transparent 49%,rgba(128,151,104,.18) 50% 51%,transparent 52%),linear-gradient(167deg,transparent 0 42%,rgba(171,186,135,.26) 43% 47%,rgba(231,229,196,.55) 48% 52%,rgba(151,172,115,.18) 53% 58%,transparent 59%);
}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:19px;color:var(--olive);font-size:13px;font-weight:500;letter-spacing:.1em}
.eyebrow::before,.eyebrow::after{width:min(120px,18vw);height:1px;content:"";background:var(--line-olive)}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;line-height:1.55;letter-spacing:.085em}
h1{max-width:850px;margin:0 auto 27px;font-size:clamp(37px,5vw,62px)}h2{margin-bottom:20px;font-size:clamp(28px,3.4vw,43px)}
.hero-copy{max-width:630px;margin:auto;font-size:16px;line-height:2.15}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px}

.section{position:relative;padding:93px 0;overflow:hidden}.section::before{position:absolute;z-index:-1;top:20px;right:-52px;width:160px;height:160px;content:"";opacity:.42;border:1px solid #b9c695;border-radius:50%;box-shadow:0 0 0 24px transparent,0 0 0 25px rgba(185,198,149,.45),0 0 0 49px transparent,0 0 0 50px rgba(185,198,149,.28)}
.section--tint{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background-color:rgba(239,241,219,.58)}
.section-heading{max-width:700px;margin:0 auto 45px;text-align:center}.section-heading p{margin-bottom:0}
.center-actions{margin-top:46px;text-align:center}.lead{max-width:700px;margin:auto;text-align:center;font:24px/1.9 var(--serif);letter-spacing:.07em}

.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1030px;margin:auto}
.feature-card{position:relative;min-height:260px;padding:28px 25px 24px;overflow:hidden;text-align:center;border:1px solid #e4d8bc;border-radius:21px;background:linear-gradient(180deg,rgba(255,255,255,.91),rgba(250,248,238,.79));box-shadow:var(--shadow)}
.feature-card::after{position:absolute;left:12%;right:12%;bottom:0;height:42px;content:"";opacity:.42;background:radial-gradient(ellipse at 50% 100%,#b9c68c 0 33%,transparent 34%),repeating-linear-gradient(165deg,transparent 0 11px,rgba(151,170,109,.4) 12px 13px,transparent 14px 23px)}
.feature-icon{position:relative;z-index:1;display:flex;width:49px;height:49px;align-items:center;justify-content:center;margin:0 auto 14px;color:#fff;border:1px solid #577638;border-radius:50%;background:#668740;box-shadow:inset 0 0 0 5px rgba(255,255,255,.16);font:18px var(--serif)}
.feature-card h3{position:relative;z-index:1;margin-bottom:11px;color:var(--olive-dark);font:500 22px var(--serif);letter-spacing:.08em}
.feature-card p,.content-card p{position:relative;z-index:1;margin-bottom:0;font-size:14px;line-height:1.95}

.flow{display:grid;grid-template-columns:repeat(4,1fr);max-width:1000px;margin:auto;border:1px solid #dfd2b3;border-radius:20px;background:rgba(255,255,255,.58);box-shadow:0 6px 16px rgba(82,65,35,.06)}
.flow-item{padding:27px 20px;text-align:center}.flow-item+.flow-item{border-left:1px solid #e0d4b7}.flow-num{display:block;color:var(--olive);font:13px var(--serif);letter-spacing:.14em}.flow h3{margin:5px 0 0;color:var(--olive-dark);font:500 17px var(--serif)}
.numbers{display:grid;grid-template-columns:repeat(4,1fr);max-width:1030px;margin:auto;border:1px solid #ded1b1;border-radius:20px;background:rgba(255,255,255,.55);box-shadow:0 6px 16px rgba(82,65,35,.05)}
.number{padding:27px 20px 23px;text-align:center}.number+.number{border-left:1px solid #e0d4b7}.number strong{display:block;color:var(--olive-dark);font:500 29px/1.2 var(--serif);letter-spacing:.04em}.number span{color:#5d5b45;font-size:12px}

.media-placeholder{position:relative;display:grid;min-height:300px;place-items:center;overflow:hidden;border:1px solid #dfd1ae;border-radius:23px;background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(239,240,214,.74));box-shadow:var(--shadow)}
.media-placeholder::before{position:absolute;width:68%;height:54%;content:"";opacity:.55;background:repeating-linear-gradient(165deg,transparent 0 21px,rgba(122,149,87,.5) 22px 23px,transparent 24px 43px);clip-path:polygon(0 100%,18% 48%,30% 70%,48% 29%,64% 68%,78% 32%,100% 100%);transform:translateY(32%)}
.media-placeholder::after{position:absolute;width:82px;height:82px;content:"";opacity:.36;border:1px solid var(--olive);border-radius:50%;box-shadow:0 0 0 12px transparent,0 0 0 13px rgba(69,105,42,.34)}
.media-placeholder span{position:relative;z-index:1;padding:7px 13px;color:var(--olive-dark);border:1px solid rgba(69,105,42,.42);border-radius:2px;background:rgba(251,248,238,.91);font-size:12px;letter-spacing:.08em}
.video-placeholder{min-height:420px}.video-placeholder .play{display:grid;width:65px;height:65px;place-items:center;padding:0;color:#fff;border:0;border-radius:50%;background:var(--olive);box-shadow:0 4px 12px rgba(53,76,34,.25);font-size:19px}
.media-image,.navigation-video{display:block;width:100%;height:auto;max-width:100%}.navigation-thumbnail{display:block;overflow:hidden;border:1px solid #dfd1ae;border-radius:23px;box-shadow:var(--shadow)}.screen-card .media-image{margin-bottom:17px;border:1px solid #dfd1ae;border-radius:15px;box-shadow:none}.image-row .media-image{border:1px solid #dfd1ae;border-radius:16px;box-shadow:0 5px 13px rgba(82,65,35,.07)}.navigation-video{overflow:hidden;border:1px solid #dfd1ae;border-radius:23px;background:#000;box-shadow:var(--shadow)}

.page-intro{padding:90px 0 78px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(245,240,220,.22))}.page-intro h1{margin-bottom:15px;font-size:clamp(34px,4.4vw,53px)}.page-intro p{max-width:680px;margin:auto;font-size:16px}
.statement-grid,.step-list,.data-list{max-width:1000px;margin:auto;overflow:hidden;border:1px solid #dfd2b3;border-radius:20px;background:rgba(255,255,255,.52);box-shadow:0 7px 17px rgba(82,65,35,.06)}
.statement,.step,.data-item{display:grid;grid-template-columns:minmax(190px,28%) 1fr;gap:36px;padding:29px 38px;border-bottom:1px solid #e3d7bc}.statement:last-child,.step:last-child,.data-item:last-child{border-bottom:0}
.statement h3,.step h3,.data-item h3{margin:0;color:var(--olive-dark);font:500 22px var(--serif);letter-spacing:.06em}.statement h3::before,.step h3::before,.data-item h3::before{display:inline-block;width:8px;height:8px;margin:0 10px 2px 0;border:1px solid var(--olive);border-radius:50%;content:""}.statement p,.step p,.data-item p{margin:0}
.screen-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:34px 26px;max-width:1000px;margin:auto}.screen-card{position:relative;padding:18px 18px 25px;border:1px solid #e0d3b4;border-radius:22px;background:rgba(255,255,255,.54);box-shadow:0 7px 17px rgba(82,65,35,.06)}
.screen-card .media-placeholder{min-height:235px;margin-bottom:17px;border-radius:15px;box-shadow:none}.screen-card h3{margin:0 5px 7px;color:var(--olive-dark);font:500 22px var(--serif);letter-spacing:.07em}.screen-card p{margin:0 5px;font-size:14px}
.image-row{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.image-row .media-placeholder{min-height:155px;border-radius:16px;box-shadow:0 5px 13px rgba(82,65,35,.07)}
.notice{max-width:900px;margin-left:auto;margin-right:auto;padding:33px 38px;border:1px solid #ded0a9;border-radius:17px;background:rgba(255,255,255,.56);box-shadow:0 6px 15px rgba(82,65,35,.05)}.notice p:last-child{margin-bottom:0}

.site-footer{position:relative;padding:57px 0 35px;overflow:hidden;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(238,239,215,.66),rgba(247,242,225,.84))}.site-footer::after{position:absolute;right:0;bottom:0;left:0;height:21px;content:"";opacity:.46;background:repeating-linear-gradient(165deg,transparent 0 20px,rgba(116,143,80,.52) 21px 22px,transparent 23px 42px)}
.footer-inner{display:flex;justify-content:space-between;gap:35px}.footer-links{display:flex;flex-wrap:wrap;gap:6px 20px;max-width:700px;padding-top:7px;color:#4d5138;font-size:13px}.footer-links a:hover{color:var(--olive);text-decoration:underline;text-underline-offset:4px}.copyright{margin:36px 0 0;color:#776f62;font-size:11px;letter-spacing:.05em}

@media(max-width:900px){
  .nav-toggle{display:block}.site-nav{position:absolute;top:70px;right:0;left:0;display:none;padding:16px 24px 23px;border-bottom:1px solid var(--line);background:var(--paper)}.site-nav.is-open{display:block}.nav-list{display:grid;gap:0}.nav-list li{border-bottom:1px solid #e3d7bc}.nav-list a{display:block;padding:11px 0}.nav-list .header-cta{width:100%;margin-top:14px}
  .feature-grid{grid-template-columns:repeat(2,1fr)}.flow,.numbers{grid-template-columns:repeat(2,1fr)}.flow-item:nth-child(3),.number:nth-child(3){border-left:0}.flow-item:nth-child(n+3),.number:nth-child(n+3){border-top:1px solid #e0d4b7}
}
@media(max-width:620px){
  body{font-size:15px}.header-inner,.container{width:min(100% - 32px,1120px)}.header-inner{min-height:64px}.brand{font-size:21px}.site-nav{top:64px}.hero{padding:72px 0 140px}.hero-copy br,.page-intro p br,.statement p br,.step p br,.data-item p br{display:none}.section{padding:69px 0}.page-intro{padding:68px 0 59px}.feature-grid,.screen-grid,.image-row{grid-template-columns:1fr}.feature-card{min-height:225px}.flow,.numbers{grid-template-columns:1fr}.flow-item,.flow-item+.flow-item,.number,.number+.number{padding:20px;border-top:1px solid #e0d4b7;border-left:0}.flow-item:first-child,.number:first-child{border-top:0}.statement,.step,.data-item{grid-template-columns:1fr;gap:8px;padding:25px 23px}.media-placeholder{min-height:230px}.video-placeholder{min-height:258px}.footer-inner{display:block}.footer-links{margin-top:19px}
}
