@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

:root{--navy:#142b45;--navy-2:#0d2035;--green:#176b50;--green-light:#dcece3;--ink:#1d252a;--muted:#6c7477;--paper:#f8f7f2;--white:#fff;--line:rgba(20,43,69,.16);--pink:#ecd9d6;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}body:has(.nav-open){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.site-shell{overflow:hidden}.section-pad{padding:clamp(5.5rem,10vw,9.5rem) clamp(1.25rem,5vw,6rem)}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:1.2rem clamp(1.25rem,5vw,5.6rem);background:rgba(248,247,242,.88);border-bottom:1px solid transparent;backdrop-filter:blur(16px);transition:.35s var(--ease)}.site-header.is-scrolled{border-color:var(--line);padding-top:.85rem;padding-bottom:.85rem}.brand{display:inline-flex;align-items:center;gap:.7rem;position:relative;z-index:2}.brand-mark{display:inline-grid;grid-template-columns:1fr 1fr;width:34px;height:34px;border:1px solid var(--navy);color:var(--navy);font-family:var(--serif);font-size:.8rem;line-height:1}.brand-mark span{display:grid;place-items:center}.brand-mark span+span{background:var(--navy);color:var(--paper)}.brand-logo{display:block;border:0;object-fit:contain}.brand-copy{display:grid;gap:.08rem}.brand-copy strong{font-size:.76rem;font-weight:600;letter-spacing:.04em}.brand-copy small{font-size:.51rem;letter-spacing:.16em;color:var(--muted)}.primary-nav{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.4rem);font-size:.76rem;color:var(--muted)}.primary-nav a{display:inline-flex;align-items:center;gap:.45rem;transition:color .25s ease}.primary-nav a:hover{color:var(--green)}.primary-nav a span{font-size:.53rem;letter-spacing:.08em;color:#a0a6a6}.primary-nav .nav-cta{padding:.72rem 1rem;border:1px solid var(--navy);color:var(--navy);font-weight:600}.primary-nav .nav-cta i{font-size:1rem;font-style:normal}.menu-toggle{display:none;border:0;background:none;cursor:pointer;padding:.6rem}.menu-toggle span{display:block;width:24px;height:1px;background:var(--navy);transition:.3s ease}.menu-toggle span+span{margin-top:7px}.hero{min-height:100vh;padding-top:8.75rem;display:flex;align-items:center;position:relative}.hero-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:clamp(3rem,8vw,9rem);align-items:center}.eyebrow,.kicker{font-size:.64rem;line-height:1.3;letter-spacing:.22em;color:var(--green);font-weight:600}.eyebrow{display:flex;align-items:center;gap:.7rem}.eyebrow-line{width:34px;height:1px;background:var(--green)}.eyebrow b{font-weight:500;color:#9da4a5;margin-left:.6rem}.hero h1{max-width:680px;margin:1.7rem 0 1.5rem;font-size:clamp(3rem,6.5vw,6.2rem);font-weight:500;letter-spacing:-.07em;line-height:1.13;color:var(--navy)}h1 em,h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.05em;color:var(--green)}.hero-subtitle{margin:0 0 1.8rem;color:var(--navy);font-size:1.3rem;line-height:1.45;letter-spacing:.02em}.hero-subtitle span{font-family:var(--serif);font-size:1.12rem;color:var(--green)}.hero-description{max-width:620px;margin:.35rem 0;color:#3d484b;font-size:.98rem}.hero-description-en{color:var(--muted);font-size:.84rem;max-width:530px}.hero-actions{display:flex;align-items:center;gap:1.2rem;margin-top:2.7rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.2rem;min-width:220px;padding:1rem 1.15rem;border:1px solid transparent;font-size:.76rem;font-weight:600;transition:transform .25s var(--ease),background .25s ease,color .25s ease}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--navy);color:#fff}.button-primary:hover{background:var(--green)}.button span{font-size:1.1rem;font-weight:400}.action-note{font-size:.65rem;line-height:1.45;color:var(--muted)}.action-note small{font-size:.55rem;color:#9da4a5}.hero-trust{display:flex;align-items:center;gap:.7rem;margin-top:3.4rem;color:#9da4a5;font-size:.54rem;letter-spacing:.13em}.hero-trust .dot{width:3px;height:3px;background:var(--pink);border-radius:50%}.hero-visual{position:relative;min-height:580px;display:grid;place-items:center}.hero-photo-wrap{position:relative;width:min(100%,390px);aspect-ratio:3/4;background:#ddd;box-shadow:0 18px 50px rgba(20,43,69,.13)}.hero-photo-wrap:after{content:'';position:absolute;inset:1.1rem -1.1rem -1.1rem 1.1rem;border:1px solid var(--green);z-index:-1}.hero-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.photo-ruler{position:absolute;z-index:1;top:1.4rem;left:-2.8rem;display:grid;gap:2.1rem;color:var(--green);font-size:.52rem;letter-spacing:.15em}.photo-ruler:after{content:'';position:absolute;top:.2rem;right:-.55rem;width:1px;height:100%;background:var(--green)}.photo-caption{position:absolute;z-index:1;left:0;bottom:0;right:0;padding:1rem 1.2rem;background:linear-gradient(transparent,rgba(13,32,53,.8));color:#fff;display:flex;justify-content:space-between;align-items:end;font-size:.5rem;letter-spacing:.15em}.photo-caption strong{font-size:.62rem;font-weight:500;letter-spacing:.08em}.hero-note{position:absolute;left:-1.8rem;bottom:1.5rem;padding:1rem 1.2rem;background:#fff;box-shadow:0 12px 30px rgba(20,43,69,.08);min-width:175px}.note-symbol{color:var(--green);font-size:1.4rem}.hero-note p{margin:.1rem 0;color:var(--navy);font-family:var(--serif);font-size:1.2rem;line-height:1.35}.hero-note small{font-size:.58rem;color:var(--muted)}.hero-stamp{position:absolute;right:-1rem;top:3.3rem;width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--green);border-radius:50%;color:var(--green);font-family:var(--serif);font-size:1.25rem;line-height:.85;text-align:center;transform:rotate(12deg)}.hero-stamp small{font-family:var(--sans);font-size:.32rem;letter-spacing:.06em}.scroll-cue{position:absolute;bottom:2.3rem;left:clamp(1.25rem,5vw,6rem);display:flex;align-items:center;gap:.8rem;color:#9da4a5;font-size:.52rem;letter-spacing:.17em}.scroll-cue i{display:block;width:42px;height:1px;background:#bbc0bd;position:relative}.scroll-cue i:after{content:'';position:absolute;right:0;top:-2px;width:5px;height:5px;border-right:1px solid var(--navy);border-bottom:1px solid var(--navy);transform:rotate(-45deg)}.section-light{background:#fff}.section-heading{width:min(1180px,100%);margin:0 auto 4.7rem;display:grid;grid-template-columns:1.1fr .8fr;gap:3rem;align-items:end;position:relative}.section-heading>div:nth-child(2){grid-column:1}.section-index{font-family:var(--serif);font-size:.86rem;color:var(--green);letter-spacing:.1em}.section-index span{color:#bbc0bd}.section-heading .section-index{position:absolute;top:.2rem;left:0;transform:translateX(-.1rem)}.kicker{margin:0 0 1.1rem}.section-heading h2,.method-heading h2,.faq h2,.contact h2{margin:0;color:var(--navy);font-size:clamp(2.5rem,4.7vw,4.5rem);line-height:1.18;font-weight:500;letter-spacing:-.065em}.section-heading h2{padding-left:3.4rem}.section-intro{margin:0;max-width:430px;color:var(--muted);font-size:.85rem;line-height:2}.service-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{min-height:330px;padding:2.1rem 1.8rem;position:relative}.service-card+.service-card{border-left:1px solid var(--line)}.service-card-accent{background:var(--green);color:#fff}.card-top{display:flex;justify-content:space-between;color:var(--green);font-family:var(--serif);font-size:1rem}.service-card-accent .card-top{color:#b9dfcc}.card-icon{font-size:1.6rem;font-family:var(--serif);font-weight:400}.service-card h3{margin:3.5rem 0 .3rem;font-size:1.15rem;font-weight:600;letter-spacing:.02em}.service-card .card-en{margin:0 0 1.2rem;font-family:var(--serif);font-size:.94rem;color:var(--green)}.service-card-accent .card-en{color:#cfe5d9}.service-card>p:not(.card-en){margin:0;color:var(--muted);font-size:.8rem;max-width:235px}.service-card-accent>p:not(.card-en){color:#dbeee4}.text-link{display:inline-flex;align-items:center;gap:1rem;margin-top:2.4rem;color:var(--green);font-size:.68rem;font-weight:600;letter-spacing:.05em}.text-link span{font-size:1.1rem;font-weight:400;transition:transform .2s ease}.text-link:hover span{transform:translateX(4px)}.service-card-accent .text-link{color:#fff}.method{display:grid;grid-template-columns:100px minmax(0,1fr);gap:clamp(2rem,6vw,7rem);width:min(1380px,100%);margin:auto}.method-aside{display:flex;flex-direction:column;align-items:center;gap:1.2rem;color:var(--green)}.vertical-label{writing-mode:vertical-rl;font-size:.55rem;letter-spacing:.17em;color:var(--muted)}.method-line{width:1px;height:170px;background:var(--line)}.method-aside .section-index{writing-mode:vertical-rl}.method-main{max-width:960px}.method-heading{width:100%;margin-bottom:3.5rem}.method-heading .section-intro{align-self:center}.method-heading h2{padding-left:0}.method-list{border-top:1px solid var(--line)}.method-row{display:grid;grid-template-columns:72px 1fr 30px;gap:1.5rem;align-items:start;padding:1.65rem 0;border-bottom:1px solid var(--line)}.method-no{font-family:var(--serif);font-size:.9rem;color:var(--green)}.method-row h3{margin:0;color:var(--navy);font-size:1.15rem;font-weight:600}.method-row h3 small{margin-left:1rem;font-family:var(--serif);font-size:.86rem;font-weight:400;color:var(--green)}.method-row p{max-width:670px;margin:.5rem 0 0;color:var(--muted);font-size:.82rem}.method-arrow{color:var(--green);font-size:1.2rem}.method-disclaimer{margin:2.1rem 0 0;color:#9da4a5;font-size:.68rem}.method-disclaimer span{margin-right:1.2rem;color:var(--green);font-size:.58rem;letter-spacing:.15em}.section-dark{background:var(--navy);color:#fff}.profile-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:minmax(300px,.95fr) minmax(0,1.05fr);gap:clamp(3rem,9vw,10rem);align-items:center}.profile-photo{position:relative}.profile-photo:before{content:'';position:absolute;inset:-1.1rem 1.1rem 1.1rem -1.1rem;border:1px solid rgba(220,236,227,.45)}.profile-photo img{display:block;width:100%;aspect-ratio:1.5/1;object-fit:cover;position:relative;filter:saturate(.86)}.image-meta{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;color:#8fa8a6;font-size:.5rem;letter-spacing:.13em}.kicker-light{color:#aacdbd}.profile-copy h2{margin:0;color:#fff;font-size:clamp(2.6rem,5vw,5.3rem);font-weight:500;line-height:1.1;letter-spacing:-.06em}.profile-copy h2 em{color:#b9dfcc;font-size:.65em}.profile-rule{width:100%;height:1px;background:rgba(255,255,255,.17);margin:2rem 0}.profile-copy>p:not(.kicker):not(.profile-note){max-width:560px;color:#c6d1d0;font-size:.88rem}.profile-lead{color:#fff!important;font-size:1.15rem!important}.profile-note{margin:2.1rem 0 0;padding:1rem 1.1rem;border-left:2px solid var(--green-light);background:rgba(255,255,255,.05);color:#b9c8c4;font-size:.7rem;line-height:1.8}.profile-note span{display:block;margin-bottom:.3rem;color:#aacdbd;font-size:.54rem;letter-spacing:.16em}.text-link-light{color:#b9dfcc}.process-line{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-step{position:relative;min-height:275px;padding:2rem 2rem 2rem 0}.process-step+.process-step{border-left:1px solid var(--line);padding-left:2rem}.step-no{font-family:var(--serif);color:var(--green);font-size:.9rem}.process-step h3{margin:3.6rem 0 .8rem;color:var(--navy);font-size:1.25rem}.process-step h3 small{display:block;margin-top:.2rem;color:var(--green);font-family:var(--serif);font-size:.88rem;font-weight:400}.process-step p{max-width:270px;margin:0;color:var(--muted);font-size:.8rem}.process-footnote{width:min(1180px,100%);margin:2rem auto 0;display:flex;gap:1.7rem;align-items:center;color:#9da4a5;font-size:.67rem}.process-footnote span{color:var(--green);font-size:.55rem;letter-spacing:.15em}.process-footnote p{margin:0}.faq{background:var(--paper)}.faq-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,10vw,10rem)}.faq h2{font-size:clamp(2.6rem,5vw,4.5rem)}.faq-intro>p:not(.kicker){max-width:275px;margin:2rem 0;color:var(--muted);font-size:.84rem}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.45rem 0;color:var(--navy);font-size:.92rem;font-weight:600;cursor:pointer}summary::-webkit-details-marker{display:none}summary span{color:var(--green);font-family:var(--serif);font-size:1.35rem;font-weight:400;transition:transform .25s ease}details[open] summary span{transform:rotate(45deg)}details p{max-width:650px;margin:0 0 1.45rem;color:var(--muted);font-size:.8rem;line-height:1.9}.contact{padding-top:clamp(6.5rem,11vw,10rem);padding-bottom:clamp(6.5rem,11vw,10rem);background:var(--green);color:#fff;text-align:center}.contact-inner{position:relative;width:min(900px,100%);margin:auto}.contact h2{color:#fff;font-size:clamp(2.5rem,5.3vw,5rem)}.contact h2 em{color:#dcece3}.contact-inner>p:not(.kicker):not(.contact-status){color:#cfe5d9;margin:1.7rem 0 2.2rem;font-size:.9rem}.button-light{margin:auto;background:#fff;color:var(--navy);min-width:250px}.button-light:hover{background:var(--navy);color:#fff}.contact-status{margin:1.5rem 0 0;color:#a9cdbd;font-size:.62rem;letter-spacing:.04em}.contact-orbit{position:absolute;right:-3rem;top:-2rem;width:100px;height:100px;border:1px solid rgba(220,236,227,.4);border-radius:50%;display:grid;place-items:center;align-content:center;gap:0;font-family:var(--serif);font-size:.75rem;line-height:1;color:#b9dfcc;transform:rotate(14deg)}.contact-orbit:before{content:'';position:absolute;inset:7px;border:1px dashed rgba(220,236,227,.3);border-radius:50%}.contact-orbit span{z-index:1}.contact-orbit span:nth-child(2){font-family:var(--sans);font-size:.34rem;letter-spacing:.1em}.contact-orbit span:nth-child(3){font-family:var(--sans);font-size:.32rem;letter-spacing:.08em}.site-footer{background:var(--navy-2);color:#b7c1c2;padding:3.4rem clamp(1.25rem,5vw,6rem) 1.5rem}.footer-main{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:1fr auto;gap:2.5rem;align-items:start;padding-bottom:3.3rem;border-bottom:1px solid rgba(255,255,255,.13)}.brand-footer{color:#fff}.brand-footer .brand-mark{border-color:#b9dfcc;color:#b9dfcc}.brand-footer .brand-mark span+span{background:#b9dfcc;color:var(--navy-2)}.brand-footer .brand-copy small{color:#8fa8a6}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:1.5rem;font-size:.66rem}.footer-links a:hover{color:#fff}.footer-operator{grid-column:1/-1;margin:0;color:#809396;font-size:.65rem;line-height:1.8}.footer-bottom{width:min(1180px,100%);margin:1.5rem auto 0;display:flex;justify-content:space-between;gap:2rem;color:#809396;font-size:.58rem}.footer-bottom p{max-width:700px;margin:0}.footer-bottom>span{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.reveal-delay{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}@media (max-width:900px){.primary-nav{gap:1rem}.primary-nav a{font-size:.68rem}.primary-nav a span{display:none}.hero-grid{gap:3.5rem}.hero h1{font-size:clamp(2.8rem,6vw,4.8rem)}.section-heading{grid-template-columns:1fr;gap:1.3rem}.section-heading>div:nth-child(2){grid-column:1}.section-heading .section-index{position:static;transform:none}.section-heading h2{padding-left:0}.section-intro{max-width:620px}.method{grid-template-columns:65px 1fr;gap:2rem}.profile-grid{gap:4rem}.contact-orbit{right:0}}
@media (max-width:700px){body{font-size:14px}.section-pad{padding:5.6rem 1.25rem}.site-header{padding:1rem 1.25rem}.site-header.is-scrolled{padding:.8rem 1.25rem}.menu-toggle{display:block}.primary-nav{position:fixed;inset:66px 0 0;background:var(--paper);display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:2rem 1.25rem;transform:translateX(100%);transition:transform .35s var(--ease);border-top:1px solid var(--line)}.primary-nav a{width:100%;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.8rem;justify-content:space-between}.primary-nav a span{display:block;margin-left:auto;margin-right:1rem}.primary-nav .nav-cta{margin-top:1.5rem;padding:1rem}.nav-open .primary-nav{transform:translateX(0)}.nav-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.nav-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{min-height:auto;padding-top:8.4rem;padding-bottom:5.5rem}.hero-grid{display:flex;flex-direction:column;gap:4.5rem;align-items:stretch}.hero h1{font-size:clamp(2.9rem,12vw,4.7rem);letter-spacing:-.08em}.hero-subtitle{font-size:1.12rem}.hero-description{font-size:.88rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem;margin-top:2.1rem}.button{width:100%;max-width:320px}.hero-trust{flex-wrap:wrap;margin-top:2.4rem;line-height:1.4}.hero-visual{min-height:470px}.hero-photo-wrap{width:min(74vw,330px);margin-left:1.2rem}.photo-ruler{left:-1.8rem}.hero-note{left:0;bottom:-.5rem}.hero-stamp{right:2%;top:1rem}.scroll-cue{display:none}.service-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:1.7rem 1.35rem 2.1rem}.service-card+.service-card{border-left:0;border-top:1px solid var(--line)}.service-card h3{margin-top:2.5rem}.section-heading{margin-bottom:3.5rem}.section-heading h2,.method-heading h2{font-size:clamp(2.5rem,11vw,4rem)}.method{display:block}.method-aside{display:none}.method-main{width:100%}.method-row{grid-template-columns:38px 1fr 20px;gap:.7rem;padding:1.4rem 0}.method-row h3{font-size:1rem}.method-row h3 small{display:block;margin:.2rem 0 0;font-size:.8rem}.method-row p{font-size:.77rem}.method-disclaimer{line-height:1.8}.profile-grid{grid-template-columns:1fr;gap:3.5rem}.profile-photo{margin:0 .7rem}.profile-copy h2{font-size:clamp(2.8rem,12vw,4.6rem)}.profile-copy>p:not(.kicker):not(.profile-note){font-size:.82rem}.process-line{grid-template-columns:1fr}.process-step{min-height:0;padding:1.5rem 0 2rem}.process-step+.process-step{border-left:0;border-top:1px solid var(--line);padding-left:0}.process-step h3{margin:2rem 0 .5rem}.process-footnote{align-items:flex-start;flex-direction:column;gap:.5rem}.faq-grid{grid-template-columns:1fr;gap:3.5rem}.faq h2{font-size:clamp(2.8rem,12vw,4.5rem)}.contact-orbit{width:72px;height:72px;right:.3rem;top:-2.7rem}.contact h2{font-size:clamp(2.5rem,10.5vw,4.5rem)}.footer-main{grid-template-columns:1fr;gap:2rem}.footer-links{justify-content:flex-start;flex-direction:column;gap:.8rem}.footer-bottom{flex-direction:column;gap:.8rem}.footer-bottom>span{white-space:normal}.image-meta{font-size:.43rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.text-link span{transition:none}}
