@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#132c2d;--muted:#607074;--green:#123e35;--mint:#ecf3ef;--gold:#be8e46;--line:#e6e9e7;--cream:#faf8f3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}.sitehead{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px clamp(20px,5vw,88px);border-bottom:1px solid var(--line);background:white}.brand{font-size:1.1rem;font-weight:700;line-height:1.4;letter-spacing:.04em}.brand b{color:#13664b}.brand small{display:block;color:#7b8a84;font-size:9px;letter-spacing:.18em}.sitehead nav{display:flex;gap:25px;font-size:.8rem;font-weight:600}.sitehead nav a:hover{color:#99703e}.hero{background:linear-gradient(126deg,#102e29 0%,#163d35 60%,#325349 100%);color:white;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;border:1px solid rgba(255,255,255,.13);width:580px;height:580px;border-radius:50%;right:-120px;top:-260px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 145px rgba(255,255,255,.025)}.wrap{max-width:1150px;margin:auto;padding-inline:26px}.hero .wrap{padding-block:100px 105px;position:relative;z-index:1}.eyebrow{color:#c5a471;letter-spacing:.2em;font-size:.75rem;font-weight:800}.hero h1{font-size:clamp(2.2rem,5.3vw,4.3rem);letter-spacing:-.035em;line-height:1.4;margin:22px 0 20px;max-width:850px;font-weight:900}.hero p{color:#d8e4dc;font-size:clamp(.95rem,1.5vw,1.1rem);max-width:710px;line-height:2}.hero .stripe{display:block;width:65px;height:3px;background:#c5a471;margin:26px 0}.section{padding-block:80px}.section.alt{background:var(--cream)}.section-hd{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:32px}.section h2{font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.45;margin:8px 0 0}.subline{font-size:.86rem;color:var(--muted)}.eyedark{color:#9c7136;font-size:.74rem;font-weight:800;letter-spacing:.16em}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:24px}.support-card{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:white;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.support-card:hover{transform:translateY(-4px);box-shadow:0 18px 32px #1a332022}.cardtop{height:10px;background:linear-gradient(90deg,#144436,#d0ac70)}.cardbody{padding:31px;flex:1}.cardbody .type{font-size:.73rem;color:#956a2f;font-weight:800;letter-spacing:.09em}.cardbody h3{font-size:1.55rem;line-height:1.5;margin:10px 0 15px}.cardbody p{color:#526364;font-size:.94rem}.cardfoot{padding:17px 31px;border-top:1px solid var(--line);font-weight:800;color:#136349;font-size:.84rem;display:flex;justify-content:space-between}.breadcrumbs{font-size:.77rem;letter-spacing:.04em;color:#647a74;margin:35px 0}.breadcrumbs a{text-decoration:underline}.detailhero{padding:75px 0 88px;background:var(--cream)}.detailhero h1{font-size:clamp(2rem,4vw,3.7rem);line-height:1.35;max-width:860px;margin:18px 0}.detailhero .company{margin-top:38px;border-top:1px solid #dbdfd8;padding-top:23px;font-weight:900}.detailhero .company span{font-size:.82rem;font-weight:500;color:#667a70;display:block}.detailrow{display:grid;grid-template-columns:260px 1fr;gap:45px;border-top:1px solid var(--line);padding:44px 0}.detailrow h2{font-size:1.35rem;line-height:1.5;margin:0}.detailrow .content{font-size:1.05rem;white-space:pre-line;line-height:2.1;color:#344b47}.actionbox{padding:48px;border-radius:5px;color:#fff;background:#143b33}.actionbox h2{font-size:1.8rem}.actionbox p{color:#d7e5de}.button{display:inline-block;border-radius:3px;padding:14px 29px;background:#bf955b;color:#152a26;font-weight:900;margin-top:15px}.button:hover{background:#e0b77f}.button.outline{background:white;border:1px solid #ccc;color:#213c36}.link{color:#17694d;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.loading,.empty{padding:80px 20px;text-align:center;color:#607074}.msg{font-size:.9rem;margin-top:10px;color:#6a7b75}.sep{height:1px;background:var(--line)}footer{background:#0d2722;color:#d1ded7;padding:55px clamp(25px,6vw,90px) 24px}.foot-grid{display:flex;align-items:center;justify-content:space-between;gap:15px;max-width:1100px;margin:auto}.foot-grid p{font-size:.85rem}.foot-grid a{color:#c6a16c;font-size:.8rem}footer>small{max-width:1100px;display:block;margin:40px auto 0;font-size:.7rem;color:#89a197}@media(max-width:700px){.sitehead nav{gap:10px;font-size:.7rem}.sitehead{padding:16px}.brand{font-size:.88rem}.wrap{padding-inline:20px}.hero .wrap{padding-block:75px}.section{padding-block:60px}.detailrow{grid-template-columns:1fr;gap:8px;padding:34px 0}.actionbox{padding:30px}.foot-grid{display:block}}

/* Supporter LP visual upgrade */
:root{--gold:#c8a36a;--ink:#192c26;--cream:#f7f4ec}
.sitehead{position:relative;z-index:5}
.hero .wrap{padding-block:115px 125px}
.hero h1{font-size:clamp(2.6rem,5.7vw,5.2rem);line-height:1.22}
.detailhero{min-height:500px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;background:linear-gradient(130deg,#153c31,#316351);color:#fff;padding:52px 0}
.detailhero:before{content:'';position:absolute;inset:0;background:linear-gradient(95deg,rgba(9,32,27,.93) 5%,rgba(9,32,27,.69) 62%,rgba(9,32,27,.24));z-index:-1}
.detailhero .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.detailhero .wrap{width:100%;position:relative}
.detailhero h1{font-size:clamp(2.5rem,5.3vw,5rem);max-width:940px;line-height:1.24;letter-spacing:-.025em}
.detailhero .eyedark{color:#d5b987}
.detailhero p{color:#eef5ee!important;font-size:1.05rem;line-height:2}
.detailhero .company{border-color:#ffffff45}
.detailhero .company span{color:#d6e7dd}
.breadcrumbs{margin:30px 0 60px}
.feature-section{padding:65px 0}
.feature-label{font-weight:800;color:#9d7443;font-size:.75rem;letter-spacing:.19em;margin:0 0 12px}
.feature-section h2,.work-section h2{font-size:clamp(1.8rem,3.1vw,3rem);line-height:1.35;margin:0 0 34px}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:17px}
.feature-card{border:1px solid #e0e4dd;border-radius:8px;background:#fff;padding:28px;box-shadow:0 9px 28px #09291e0a}
.feature-number{color:#b79562;font-size:.84rem;letter-spacing:.15em;font-weight:900}
.feature-card p{font-weight:650;line-height:1.9;margin:14px 0 0}
.work-section{background:#f7f4ec;padding:75px 0}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.work-grid figure{background:#fff;margin:0;box-shadow:0 12px 30px #0b2b2215;overflow:hidden;border-radius:7px}
.work-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .25s}
.work-grid a:hover img{transform:scale(1.035)}
.work-grid figcaption{font-size:.85rem;line-height:1.75;color:#45584d;padding:14px 18px}
.work-intro{color:#596a62;margin-top:-20px;margin-bottom:29px}
.support-card{border-radius:8px}
.cardtop{height:165px;overflow:hidden;background:linear-gradient(135deg,#13463b,#8c9e78)}
.card-photo{width:100%;height:100%;display:block;object-fit:cover}
.cardbody{padding:28px}
.cardbody h3{font-size:1.65rem}
.cardfoot{background:#f7f9f7}
.button{border-radius:5px;box-shadow:0 10px 26px #00160e27}
.actionbox{border-radius:10px;background:linear-gradient(125deg,#123b30,#255a47);padding:clamp(30px,6vw,65px)}
.actionbox h2{font-size:clamp(1.7rem,3.3vw,2.7rem)}
.mini-inquiry{margin-top:25px;padding:22px 0;border-top:1px solid #ffffff55}
.mini-inquiry label{display:block;font-weight:800;font-size:.92rem}
.mini-inquiry textarea{display:block;width:100%;max-width:680px;min-height:94px;margin:10px 0 4px;padding:14px;border:1px solid #dde5dc;border-radius:5px;font:inherit;color:#20372c}
.mini-inquiry small{display:block;margin-top:10px;color:#d9e9de}
.mini-inquiry .button{margin-top:12px;background:#e5bb7a}
@media(max-width:700px){
 .detailhero{min-height:435px}
 .detailhero h1{font-size:2.45rem}
 .feature-section{padding:43px 0}
 .work-section{padding:47px 0}
 .work-grid{grid-template-columns:1fr 1fr;gap:10px}
 .work-grid figcaption{padding:10px;font-size:.76rem}
 .cardtop{height:160px}
}
@media(max-width:440px){.work-grid{grid-template-columns:1fr}}
