@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@500;600;700&display=swap');
:root{--navy:#142c39;--navy2:#0d202b;--teal:#2b625f;--gold:#c3a978;--cream:#f6f3ed;--paper:#fffdfa;--ink:#1d3037;--muted:#5e6b6d;--line:#deded6;--serif:'Noto Serif JP',serif;--sans:'Noto Sans JP',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.sample-note{background:var(--navy2);color:#e7e8e0;text-align:center;font-size:12px;line-height:1.5;padding:8px 16px;letter-spacing:.03em}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,253,250,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{min-height:84px;display:flex;align-items:center;gap:34px}.brand{display:inline-flex;align-items:center;gap:13px;margin-right:auto;flex:none}.brand-mark{width:39px;height:39px;display:grid;place-items:center;border:1px solid var(--teal);border-radius:50%;font:700 19px/1 var(--serif);color:var(--teal)}.brand-name{font:700 20px/1.25 var(--serif);letter-spacing:.06em;color:var(--navy)}.brand-name small{display:block;font:500 9px/1.4 var(--sans);letter-spacing:.2em;color:var(--teal);margin-top:3px}.nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:600}.nav a{white-space:nowrap;transition:color .2s}.nav a:hover,.nav a[aria-current=page]{color:var(--teal)}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:50px;padding:12px 24px;background:var(--teal);border:1px solid var(--teal);color:white;font-size:13px;font-weight:700;letter-spacing:.04em;transition:background .2s,transform .2s}.header-cta:hover,.button:hover{background:#1c4847;transform:translateY(-2px)}.button::after,.text-link::after{content:'↗';font-size:18px;font-weight:400;line-height:1}.button.secondary{background:transparent;border-color:#fff;color:white}.button.secondary:hover{background:rgba(255,255,255,.12)}.button.outline{background:transparent;color:var(--teal)}.button.outline:hover{background:var(--cream)}.mobile-menu{display:none}
.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}.eyebrow.light{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.45;letter-spacing:.025em}h1{font-size:clamp(36px,4.5vw,62px)}h2{font-size:clamp(27px,3vw,40px)}h3{font-size:21px}p{margin-bottom:0}.muted{color:var(--muted)}
.hero{position:relative;min-height:650px;display:flex;align-items:center;overflow:hidden;background:var(--navy2);color:white}.hero::before{content:'';position:absolute;inset:0;background:url('../../src/hero-law.png') center/cover no-repeat}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,27,37,.9) 0%,rgba(10,27,37,.74) 39%,rgba(10,27,37,.1) 78%)}.hero-inner{position:relative;z-index:1;padding-block:100px 120px}.hero-copy{max-width:700px}.hero h1{color:white;margin-bottom:25px;font-size:clamp(34px,3.6vw,48px)}.hero p.lead{max-width:560px;color:#e8ece9;font-size:17px;line-height:2}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.hero-meta{position:absolute;z-index:1;bottom:0;left:0;right:0;border-top:1px solid rgba(255,255,255,.25);color:#e4e8e4;font-size:12px}.hero-meta .wrap{display:flex;gap:28px;padding-block:15px}.hero-meta span+span{border-left:1px solid rgba(255,255,255,.28);padding-left:28px}
.section{padding-block:105px}.section.soft{background:var(--cream)}.section.dark{background:var(--navy);color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-head h2{margin-bottom:0}.section-head p{max-width:380px;color:var(--muted)}.section.dark .section-head p{color:#c8d0cc}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.intro-grid h2{max-width:520px}.intro-grid .body-copy{padding-top:28px;color:var(--muted)}.intro-grid .body-copy p+p{margin-top:18px}.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--teal);font-size:13px;font-weight:700;border-bottom:1px solid var(--teal);padding-bottom:5px;margin-top:24px}
.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.area-card{background:var(--paper);padding:31px 27px 29px;min-height:276px;display:flex;flex-direction:column;transition:background .2s}.area-card:hover{background:#f8fbf8}.area-card .num,.number{font:600 12px/1 var(--sans);letter-spacing:.13em;color:var(--teal)}.area-card .rule{width:34px;height:1px;background:var(--gold);margin:30px 0 21px}.area-card h3{font-size:20px;margin-bottom:12px}.area-card p{font-size:13px;color:var(--muted);line-height:1.8}.area-card .arrow{margin-top:auto;padding-top:21px;font-size:20px;color:var(--teal)}
.feature-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.feature-visual{min-height:450px;position:relative;background:linear-gradient(135deg,#315b59,#102d37);overflow:hidden}.feature-visual::before,.feature-visual::after{content:'';position:absolute;border:1px solid rgba(255,255,255,.26);transform:rotate(45deg)}.feature-visual::before{width:400px;height:400px;top:70px;left:50px}.feature-visual::after{width:310px;height:310px;top:115px;left:96px}.feature-visual .visual-word{position:absolute;z-index:1;left:11%;bottom:10%;font:500 clamp(35px,5vw,66px)/1.35 var(--serif);color:white;letter-spacing:.12em}.feature-visual .visual-word small{display:block;font:600 11px/1.3 var(--sans);letter-spacing:.25em;color:#c8d2cd;margin-bottom:18px}.feature-copy h2{margin-bottom:23px}.feature-copy>p{color:var(--muted);margin-bottom:25px}.check-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.check-list li{border-bottom:1px solid var(--line);padding:14px 0 14px 27px;position:relative;font-size:14px}.check-list li::before{content:'—';position:absolute;left:0;color:var(--teal)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.step{border-top:1px solid rgba(255,255,255,.32);padding-top:22px}.step .number{color:var(--gold)}.step h3{color:white;margin:24px 0 13px}.step p{font-size:14px;color:#c7d0cc}.message-panel{background:#e9eee9;padding:clamp(34px,6vw,72px);display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.message-panel blockquote{margin:0;font:600 clamp(24px,2.6vw,36px)/1.7 var(--serif);color:var(--navy)}.message-panel p{color:var(--muted);font-size:14px}.message-panel p+p{margin-top:14px}
.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;padding:22px 42px 22px 0;position:relative;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'＋';position:absolute;right:3px;color:var(--teal)}.faq-list details[open] summary::after{content:'−'}.faq-list details p{padding:0 48px 24px 0;font-size:14px;color:var(--muted)}
.cta-band{background:var(--teal);color:white;padding:70px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-band h2{color:white;margin-bottom:10px}.cta-band p{color:#d9e6df;font-size:14px}.cta-band .button{background:white;border-color:white;color:var(--teal);white-space:nowrap}.cta-band .button:hover{background:var(--cream)}
.page-hero{background:var(--navy);color:#fff;padding:90px 0 80px;position:relative;overflow:hidden}.page-hero::after{content:'';position:absolute;right:-100px;top:-240px;width:540px;height:540px;border:1px solid rgba(195,169,120,.24);border-radius:50%;box-shadow:0 0 0 85px rgba(195,169,120,.035),0 0 0 170px rgba(195,169,120,.035)}.page-hero .wrap{position:relative;z-index:1}.page-hero h1{color:white;margin:0 0 16px}.page-hero p{color:#d6dfdc;max-width:660px}.breadcrumb{font-size:12px;color:#a9c3bd;margin-bottom:34px}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.content-grid{display:grid;grid-template-columns:270px 1fr;gap:70px}.side-nav{position:sticky;top:130px;align-self:start;border-top:2px solid var(--teal)}.side-nav a{display:block;padding:14px 5px;border-bottom:1px solid var(--line);font-size:13px;font-weight:600}.side-nav a:hover{color:var(--teal)}.detail-section{padding-bottom:55px;margin-bottom:55px;border-bottom:1px solid var(--line);scroll-margin-top:130px}.detail-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.detail-section h2{font-size:31px;margin:5px 0 17px}.detail-section>p{color:var(--muted)}.mini-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:23px}.mini-list span{background:var(--cream);padding:12px 16px;font-size:13px}.info-list{margin:0;border-top:1px solid var(--line)}.info-list div{display:grid;grid-template-columns:170px 1fr;border-bottom:1px solid var(--line);padding:18px 0;gap:16px}.info-list dt{font-weight:700;color:var(--teal)}.info-list dd{margin:0;color:var(--muted)}.notice{background:var(--cream);border-left:3px solid var(--teal);padding:22px 25px;color:var(--muted);font-size:14px}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px}.contact-card{border:1px solid var(--line);padding:32px;background:white}.contact-card h2{font-size:25px}.contact-card p{color:var(--muted);font-size:14px}.contact-card .notice{margin-top:25px}
.footer{background:var(--navy2);color:#ecf0ec;padding-top:65px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px;padding-bottom:55px}.footer .brand-name{color:white}.footer .brand-mark{border-color:var(--gold);color:var(--gold)}.footer .brand-name small{color:#b8c8c1}.footer p{font-size:13px;color:#aebfba;margin-top:22px;max-width:330px}.footer h3{font:700 12px/1.4 var(--sans);letter-spacing:.16em;color:var(--gold);margin-bottom:17px}.footer-links a{display:block;font-size:13px;padding:5px 0;color:#d7e0da}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding:19px 0;font-size:11px;color:#aebfba;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:1000px){.nav{gap:13px}.header-cta{display:none}.area-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.wrap{width:min(100% - 36px,1160px)}.header-inner{min-height:70px}.brand-name{font-size:17px}.nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{list-style:none;cursor:pointer;font-size:13px;font-weight:700;color:var(--teal);padding:10px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;right:0;top:47px;width:min(270px,calc(100vw - 36px));background:var(--paper);border:1px solid var(--line);box-shadow:0 20px 35px rgba(0,0,0,.12);padding:14px}.mobile-menu nav a{display:block;padding:10px;border-bottom:1px solid var(--line);font-size:14px}.mobile-menu nav a:last-child{border-bottom:0}.hero{min-height:610px}.hero h1{font-size:clamp(30px,7vw,38px)}.hero h1 br{display:none}.hero::before{background-position:62% center}.hero::after{background:linear-gradient(90deg,rgba(10,27,37,.89),rgba(10,27,37,.55))}.hero-inner{padding-block:65px 115px}.hero p.lead{font-size:15px}.hero-meta .wrap{gap:10px;flex-wrap:wrap}.hero-meta span+span{padding-left:12px}.section{padding-block:70px}.section-head,.intro-grid,.feature-layout,.message-panel,.contact-grid,.content-grid,.cta-inner{display:block}.section-head p{margin-top:14px}.intro-grid .body-copy{padding-top:4px}.feature-visual{min-height:330px;margin-bottom:38px}.steps{grid-template-columns:1fr;gap:34px}.step h3{margin:12px 0}.message-panel blockquote{margin-bottom:22px}.side-nav{position:static;display:flex;gap:16px;overflow:auto;margin-bottom:35px}.side-nav a{white-space:nowrap}.cta-inner .button{margin-top:24px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:1/-1}.page-hero{padding:60px 0}.content-grid{gap:0}}@media(max-width:520px){.area-grid,.mini-list{grid-template-columns:1fr}.area-card{min-height:205px}.area-card .rule{margin:15px 0}.hero-actions .button{width:100%}.hero-meta{font-size:10px}.hero-meta span+span{border-left:0;padding-left:0}.info-list div{grid-template-columns:1fr;gap:4px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.message-panel{padding:32px 24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
