@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Shippori+Mincho:wght@500;600&display=swap');
:root{--green:#245c4e;--deep:#163c34;--mint:#dfeee8;--cream:#f5f1e8;--ink:#24332f;--muted:#65756f;--white:#fff;--line:#d7e0dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.85;background:#fff}body.menu-open{overflow:hidden}a{color:inherit}img,video{max-width:100%}.skip{position:fixed;left:12px;top:-60px;background:#fff;padding:10px;z-index:200}.skip:focus{top:12px}.header{position:fixed;z-index:100;top:0;left:0;width:100%;height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;color:#fff;transition:.3s}.header.solid{height:72px;background:#fffc;backdrop-filter:blur(14px);color:var(--ink);box-shadow:0 1px 0 #2342}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:700;line-height:1.25}.brand-mark{width:42px;height:42px;border-radius:50% 50% 46% 54%;background:var(--mint);color:var(--green);display:grid;place-items:center;font-family:serif;font-size:24px}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.08em}.nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,38px);font-size:13px;font-weight:600}.nav a{text-decoration:none}.nav-cta{border:1px solid currentColor;border-radius:99px;padding:11px 20px}.menu-btn{display:none}.hero{height:max(680px,100svh);min-height:620px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#173d38dd 0%,#173d3870 46%,#173d3818 75%),linear-gradient(0deg,#122b263d,transparent 45%)}.hero-copy{position:relative;z-index:1;width:min(1180px,88%);margin:auto;padding-top:70px}.eyebrow,.kicker{font-size:11px;letter-spacing:.22em;font-weight:700}.hero h1,.section h2,.article h1{font-family:"Shippori Mincho",serif;font-weight:600;line-height:1.48}.hero h1{font-size:clamp(38px,6vw,72px);letter-spacing:.05em;margin:18px 0}.hero h1 em{font-style:normal;color:#d4f0e4}.hero-copy>p:not(.eyebrow){font-size:clamp(14px,1.5vw,17px)}.hero-actions{display:flex;gap:12px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:center;min-width:170px;border-radius:99px;padding:14px 24px;text-decoration:none;font-weight:700;font-size:14px}.button.primary{background:#fff;color:var(--green)}.button.ghost{border:1px solid #fff;color:#fff}.button.dark{background:var(--deep);color:#fff;margin-top:20px}.scroll{position:absolute;z-index:2;bottom:28px;right:4vw;font-size:9px;letter-spacing:.2em;text-decoration:none;writing-mode:vertical-rl}.scroll span{display:inline-block;width:1px;height:50px;background:#fff;margin-top:10px}.wrap{width:min(1160px,88%);margin:auto}.narrow{width:min(780px,88%);margin:auto}.section{padding:clamp(82px,10vw,145px) 0;scroll-margin-top:70px}.section h2{font-size:clamp(31px,4.7vw,54px);margin:12px 0 28px;letter-spacing:.04em}.kicker{color:#4c8878}.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(45px,8vw,130px);align-items:start}.lead{font-size:clamp(18px,2vw,23px);font-family:"Shippori Mincho",serif;line-height:1.9}.soft{background:#f1f6f3}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}.card{background:#fff;padding:clamp(28px,4vw,46px);border-radius:4px 34px 4px 4px;box-shadow:0 18px 55px #1b433720}.card>span{color:#82aa9e;font-family:serif;font-size:34px}.card h3{font-size:20px;margin:35px 0 12px}.service-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:9vw}.text-link{display:inline-block;margin-top:20px;color:var(--green);font-weight:700}.service-list{border-top:1px solid var(--line)}.service-list>div{display:flex;gap:25px;padding:24px 0;border-bottom:1px solid var(--line)}.service-list b{font-family:serif;color:#88a79f}.service-list span,.service-list small{display:block}.service-list strong{font-size:19px}.service-list small{color:var(--muted);margin-top:4px}.area{background:var(--cream)}.area-chips{display:flex;flex-wrap:wrap;gap:10px}.area-chips span{background:#fff;border-radius:99px;padding:9px 20px;font-weight:700;color:var(--green)}.flow{list-style:none;padding:0;margin:50px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:0}.flow li{position:relative;border-top:1px solid #9fb7af;padding:30px 25px 0 0}.flow li:not(:last-child):after{content:"";position:absolute;right:12px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--green)}.flow b{font-family:serif;font-size:32px;color:#83a59b}.flow h3{font-size:19px}.flow p{font-size:13px;color:var(--muted)}.partners{background:var(--mint)}.news-head{display:flex;justify-content:space-between}.news-list{border-top:1px solid var(--line)}.news-list a{display:grid;grid-template-columns:140px 1fr auto;gap:20px;padding:23px 8px;border-bottom:1px solid var(--line);text-decoration:none}.news-list time{font-size:13px;color:var(--muted)}.recruit{background:linear-gradient(125deg,#1d5548,#163830);color:#fff}.recruit .kicker{color:#a9d5c8}.recruit .wrap{position:relative}.contact{text-align:center}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:45px}.contact-grid a{padding:34px;background:#f0f5f2;text-decoration:none;border-radius:20px;display:grid;gap:5px}.contact-grid strong{font-family:"Shippori Mincho",serif;font-size:clamp(24px,4vw,38px);color:var(--green)}.contact-grid span{font-size:12px;color:var(--muted)}footer{background:#17352e;color:#dbe8e3;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:40px;align-items:start}.brand.light{color:#fff}.footer-grid address{font-style:normal;font-size:13px}.footer-grid>a:last-child{font-size:12px}.copyright{border-top:1px solid #ffffff25;margin-top:45px;padding-top:20px;font-size:10px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s,transform .75s}.reveal.shown{opacity:1;transform:none}.article{padding-top:150px}.article time{display:block;margin-top:60px;color:var(--muted)}.article h1{font-size:clamp(30px,5vw,48px);border-bottom:1px solid var(--line);padding-bottom:30px}.article-body{font-size:16px;line-height:2.1}.back{color:var(--green)}
.subhero{padding:190px 0 100px;background:var(--mint)}.subhero h1{font-family:"Shippori Mincho",serif;font-size:clamp(40px,7vw,72px);margin:15px 0}.partner-points{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:55px}.partner-points article{border-top:1px solid var(--green);padding:24px 10px}.partner-points b{color:#73a092;font-family:serif;font-size:28px}.partner-points h3{margin-top:30px}
@media(max-width:800px){.header{height:70px}.menu-btn{display:grid;gap:5px;background:transparent;border:0;padding:12px;z-index:2}.menu-btn i{display:block;width:24px;height:1px;background:currentColor}.nav{position:fixed;inset:0;background:var(--deep);color:#fff;display:flex;flex-direction:column;justify-content:center;font-size:18px;transform:translateX(100%);transition:.35s}.nav.open{transform:none}.header:has(.nav.open){color:#fff}.two-col,.service-grid{grid-template-columns:1fr;gap:20px}.cards,.partner-points{grid-template-columns:1fr}.flow{grid-template-columns:1fr}.flow li{display:grid;grid-template-columns:70px 1fr;border-top:0;border-left:1px solid #9fb7af;padding:0 0 35px 28px}.flow li:not(:last-child):after{left:-4px;right:auto;top:12px}.flow h3{margin-top:8px}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.news-list a{grid-template-columns:1fr auto}.news-list time{grid-column:1/-1}.hero-shade{background:linear-gradient(90deg,#173d38d4 0%,#173d3884 70%,#173d3830)}.hero-actions{flex-direction:column;align-items:flex-start}.button{min-width:210px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.brand .brand-mark{width:52px;height:52px;border-radius:0;background:transparent;object-fit:contain;display:block;flex:0 0 auto}.brand-copy{display:flex;flex-direction:column;gap:4px;white-space:nowrap}.brand-copy small{color:#e5a231;font-size:9px;font-weight:700;letter-spacing:.1em}.brand-copy strong{font-size:clamp(15px,1.35vw,21px);font-weight:600;letter-spacing:.01em}.brand.light .brand-copy strong{color:#fff}@media(max-width:800px){.brand{gap:8px}.brand .brand-mark{width:42px;height:42px}.brand-copy{gap:2px}.brand-copy small{font-size:7px;letter-spacing:.02em}.brand-copy strong{font-size:12px}}
.header{height:80px;background:#fffffff2;color:var(--ink);box-shadow:0 1px 0 #17352e18;backdrop-filter:blur(14px)}.header.solid{height:72px;background:#fffffff5}.header .nav-cta{background:var(--green);border-color:var(--green);color:#fff}.hero{padding-top:80px}@media(max-width:800px){.header{height:70px;background:#fff}.hero{padding-top:70px}}
.brand .brand-mark[src$="logo-131.jpg"]{border-radius:50%;background:#fff;object-fit:cover;object-position:center}
.contact-grid .fax-number{font-size:13px;font-weight:600;color:var(--green);letter-spacing:.04em;margin-top:-2px}
.contact-grid{grid-template-columns:repeat(3,1fr)}.contact-grid .line-contact{padding-block:24px}.line-contact img{width:118px;height:118px;object-fit:contain;margin:8px auto 4px;border-radius:10px;background:#fff}@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}
.partner-header{position:fixed}.partner-hero{padding:170px 0 105px;background:linear-gradient(135deg,#eff6f2,#f7f2e8)}.partner-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:center}.partner-hero h1{font-family:"Shippori Mincho",serif;font-size:clamp(45px,7vw,78px);line-height:1.35;margin:15px 0 25px}.partner-actions{display:flex;align-items:center;gap:25px;margin-top:35px}.partner-summary{background:#fff;padding:clamp(28px,4vw,48px);border-radius:4px 35px 4px 4px;box-shadow:0 20px 55px #1c493a14}.partner-summary>p{font-family:"Shippori Mincho",serif;font-size:21px;margin-top:0}.partner-summary ul{padding:0;list-style:none}.partner-summary li{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.partner-summary li:before{content:"✓";color:#5d9a88;font-weight:700;margin-right:10px}.partner-summary small{display:block;color:var(--muted);margin-top:18px}.partner-intro{width:min(760px,100%);font-size:18px}.partner-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:48px}.partner-service-grid article{padding:38px;background:#f3f7f5;border-radius:4px 28px 4px 4px}.partner-service-grid b{font-family:serif;color:#79a496;font-size:28px}.partner-service-grid h3{font-size:20px;margin:25px 0 10px}.partner-service-grid p{color:var(--muted)}.partner-flow-section{background:var(--deep);color:#fff}.partner-flow-section .kicker{color:#9fd1c2}.partner-section-head{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:end}.partner-section-head>p{color:#c6d8d2}.partner-flow{list-style:none;padding:0;margin:60px 0 0}.partner-flow li{display:grid;grid-template-columns:90px 1fr;gap:28px;padding:28px 0;border-top:1px solid #ffffff2a}.partner-flow li>span{font-family:serif;font-size:30px;color:#8ebcaf}.partner-flow h3{margin:0 0 6px;font-size:20px}.partner-flow p{margin:0;color:#c3d4cf}.partner-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.partner-checklist{background:#f1f6f3;padding:clamp(28px,5vw,55px);border-radius:4px 32px 4px 4px}.partner-checklist ul{list-style:none;padding:0;margin:0}.partner-checklist li{padding:16px 0 16px 32px;border-bottom:1px solid var(--line);position:relative}.partner-checklist li:before{content:"";position:absolute;left:0;top:23px;width:12px;height:7px;border-left:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(-45deg)}.partner-area{background:var(--cream)}.partner-back{margin-top:35px}.partner-back a{color:var(--green)}@media(max-width:800px){.partner-hero{padding:125px 0 75px}.partner-hero-grid,.partner-section-head,.partner-info-grid{grid-template-columns:1fr;gap:38px}.partner-actions{align-items:flex-start;flex-direction:column}.partner-service-grid{grid-template-columns:1fr}.partner-flow li{grid-template-columns:55px 1fr;gap:12px}.partner-header .nav{font-size:18px}}

.footer-map-link{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.footer-map-link:hover,.footer-map-link:focus-visible{border-bottom-color:currentColor}
