/* KAMH country sites — content components (shared). Colors, fonts and radius come from each theme's :root variables. */
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
img,svg{display:block;max-width:100%}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
b,strong{font-weight:700}
a{color:var(--lk)}
.lnbh,.lnbtabs,.eb,.eb2{display:none}
.ttl{font-family:var(--hf);font-size:var(--h2);line-height:1.3;color:var(--brand-d);margin:0 0 16px}
.ttl small{display:none}
.mc .ttl[style]{margin-top:40px!important}
.mc .prose[style],.mc .vision[style]{margin-top:24px!important}
.prose p{color:var(--tx2);margin-bottom:14px}
.prose h3{font-family:var(--hf);font-size:var(--h3);margin:28px 0 8px;color:var(--brand-d);line-height:1.35}
.prose a{text-decoration:underline}
ul.dot{margin:6px 0 14px}
ul.dot li{position:relative;padding-left:16px;color:var(--tx2);margin:4px 0}
ul.dot li:before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;background:var(--brand);border-radius:var(--dot-r)}
.summary{border:1px solid var(--tint-b);border-left:4px solid var(--brand);background:var(--tint);padding:14px 18px;margin:0 0 18px;border-radius:var(--r)}
.summary b{display:block;font-size:.95em;color:var(--brand-d);margin-bottom:4px}
.callout{border:1px solid var(--acc-b);background:var(--acc-t);padding:14px 18px;margin:18px 0;border-radius:var(--r)}
.note{font-size:.86em;color:var(--mu);margin-top:10px}
.ref{font-size:.82em;color:var(--mu);border-top:1px solid var(--ln);margin-top:30px;padding-top:12px}
.ref li{margin:3px 0;padding-left:12px;position:relative}
.ref li:before{content:"-";position:absolute;left:0}
.more{color:var(--lk);text-decoration:underline;font-weight:600}
.cat{display:inline-block;font-size:.78em;font-weight:700;color:var(--brand-d);background:var(--tint);padding:1px 8px;margin-right:8px;border-radius:var(--r)}
/* buttons */
.btn{display:inline-block;padding:11px 22px;font-weight:700;border-radius:var(--btn-r);border:2px solid transparent;line-height:1.3;text-align:center;cursor:pointer;text-decoration:none}
.btn:hover{text-decoration:none;filter:brightness(.94)}
.btn.pri{background:var(--acc);color:#fff;border-color:var(--acc)}
.btn.dark{background:var(--brand-d);color:#fff;border-color:var(--brand-d)}
.btn.line{background:#fff;color:var(--brand-d);border-color:var(--brand)}
.btn.ghost{background:transparent;color:#fff;border-color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:10px}
/* cards & grids */
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}
.card{background:#fff;border:1px solid var(--ln);padding:20px 18px;display:flex;flex-direction:column;color:var(--tx);border-radius:var(--r);text-decoration:none}
a.card:hover{border-color:var(--brand);box-shadow:var(--hover-sh)}
.card .ic{color:var(--brand);margin-bottom:10px}
.card .no{font-weight:700;color:var(--acc);font-size:.95em}
.card h3{font-family:var(--hf);font-size:1.08em;margin:4px 0 6px;line-height:1.4;color:var(--brand-d)}
.card p{color:var(--tx2);font-size:.94em}
.card .go{margin-top:auto;padding-top:10px;color:var(--lk);font-weight:600;font-size:.92em}
.card.mem .who{color:var(--mu);font-size:.92em}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stats.s3{grid-template-columns:repeat(3,1fr)}.stats.s2{grid-template-columns:repeat(2,1fr)}
.stat{background:#fff;border:1px solid var(--ln);border-top:4px solid var(--acc);padding:18px;border-radius:var(--r)}
.stat .n{font-family:var(--hf);font-size:2.3em;font-weight:800;color:var(--brand-d);line-height:1.1}
.stat .n small{font-size:.5em;margin-left:2px}
.stat .t{font-weight:700;margin-top:6px}
.stat .d{font-size:.9em;color:var(--tx2)}
.stat .s{font-size:.78em;color:var(--mu);margin-top:8px;border-top:1px solid var(--ln);padding-top:6px}
.ncards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ncard{display:flex;flex-direction:column;border:1px solid var(--ln);background:#fff;color:var(--tx);border-radius:var(--r);overflow:hidden;text-decoration:none}
.ncard:hover b{text-decoration:underline}
.ncard .th{display:block;height:180px;background-size:cover;background-position:center}
.ncard .tx{display:block;padding:14px 16px 18px}
.ncard b{display:block;font-family:var(--hf);font-size:1.05em;line-height:1.4;color:var(--brand-d)}
.ncard .tx>span{display:block;font-size:.9em;color:var(--tx2);margin-top:6px}
/* tables */
.tbwrap{overflow-x:auto}
table.tb{width:100%;border-collapse:collapse;font-size:.95em}
.tb th,.tb td{border:1px solid var(--ln);padding:10px 12px;text-align:left;vertical-align:top}
.tb th{background:var(--th-bg);font-weight:700;color:var(--tx)}
.tb thead th{background:var(--brand-d);color:#fff;text-align:center;border-color:var(--brand-d)}
.tb td.c,.tb th.c{text-align:center}
.tb tbody tr:nth-child(even) td{background:var(--zebra)}
.cnt{margin-bottom:8px;font-size:.88em;color:var(--mu)}
/* greeting / vision / org */
.greet{display:grid;grid-template-columns:280px 1fr;gap:30px;align-items:start}
.greet .quote{background:var(--bg2);border-left:5px solid var(--brand);padding:22px;border-radius:var(--r)}
.greet .quote q{display:block;font-family:var(--hf);font-size:1.25em;font-weight:700;line-height:1.45;color:var(--brand-d);quotes:none}
.greet .quote span{display:block;margin-top:10px;color:var(--mu);font-size:.85em}
.sign{margin-top:24px;text-align:right;font-weight:700}
.sign small{display:block;font-weight:400;color:var(--mu);font-size:.85em}
.vision{text-align:center;border:1px solid var(--ln);padding:24px;background:#fff;border-radius:var(--r)}
.vision .lb{font-weight:700;color:var(--acc);margin:14px 0 4px}
.vision .lb:first-child{margin-top:0}
.vision .m{display:inline-block;background:var(--brand);color:#fff;padding:9px 22px;font-size:1.15em;font-weight:700;border-radius:var(--btn-r)}
.vision .v{font-size:1.15em;font-weight:700;color:var(--brand-d)}
.vision .line{width:1px;height:20px;background:var(--ln);margin:12px auto}
.val{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:8px}
.val div{border:1px solid var(--ln);padding:16px 14px;background:var(--bg2);border-radius:var(--r)}
.val em{display:none}
.val b{display:block;color:var(--brand-d)}
.val p{font-size:.9em;color:var(--tx2);margin-top:4px}
.org{display:flex;flex-direction:column;align-items:center}
.org .box{background:var(--brand);color:#fff;padding:9px 26px;font-weight:700;min-width:180px;text-align:center;border-radius:var(--r)}
.org .box.lt{background:#fff;color:var(--brand-d);border:1px solid var(--brand)}
.org .vl{width:1px;height:22px;background:#999}
.org .row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;width:100%;position:relative;padding-top:22px}
.org .row:before{content:"";position:absolute;top:0;left:12.5%;right:12.5%;height:1px;background:#999}
.org .row>div{position:relative;border:1px solid var(--ln);padding:0 0 10px;text-align:center;background:#fff;border-radius:var(--r);overflow:visible}
.org .row>div:before{content:"";position:absolute;top:-22px;left:50%;height:22px;width:1px;background:#999}
.org .row b{display:block;background:var(--tint);color:var(--brand-d);padding:8px;margin-bottom:6px}
.org .row span{display:block;font-size:.88em;color:var(--tx2);padding:1px 8px}
/* tools */
.tool{border:1px solid var(--ln);background:var(--bg2);padding:22px;border-radius:var(--r)}
.calc{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px;align-items:end;margin-bottom:14px}
.calc.c2{grid-template-columns:repeat(2,1fr)}.calc.c3{grid-template-columns:repeat(3,1fr)}.calc.c4{grid-template-columns:repeat(4,1fr)}
.calc label{font-weight:700;font-size:.9em;display:block}
.calc input,.calc select{display:block;width:100%;height:44px;border:1px solid #9a9a9a;border-radius:var(--r);padding:0 10px;font:inherit;font-weight:400;margin-top:4px;background:#fff}
.opts{display:flex;gap:18px;flex-wrap:wrap;margin:2px 0 16px;font-size:.94em}
.opts label{display:flex;gap:6px;align-items:center}
.opts input{width:18px;height:18px;accent-color:var(--brand)}
.result{margin-top:16px;padding:16px 18px;background:#fff;border:1px solid var(--brand);border-left:5px solid var(--brand);display:none;border-radius:var(--r)}
.result.show{display:block}
.result h3{font-size:1.15em;color:var(--brand-d);margin-bottom:4px}
.result p{margin-top:4px}
.q{border:1px solid var(--ln);padding:12px 16px;margin-bottom:6px;display:flex;gap:12px;align-items:center;justify-content:space-between;background:#fff;border-radius:var(--r)}
.q input{width:20px;height:20px;accent-color:var(--brand)}
details.fq{border:1px solid var(--ln);margin-bottom:8px;background:#fff;border-radius:var(--r)}
details.fq summary{list-style:none;padding:14px 40px 14px 16px;font-weight:700;cursor:pointer;position:relative}
details.fq summary::-webkit-details-marker{display:none}
details.fq summary:before{content:var(--q-mark);color:var(--brand);margin-right:8px}
details.fq summary:after{content:"+";position:absolute;right:16px;top:11px;font-size:20px;color:var(--brand)}
details.fq[open] summary:after{content:"\2212"}
details.fq>div{padding:4px 16px 16px 16px;color:var(--tx2)}
.gl{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.gl div{border:1px solid var(--ln);padding:14px 16px;border-radius:var(--r)}
.gl dt{font-weight:700;color:var(--brand-d)}
.gl dt small{font-weight:400;color:var(--mu);font-size:.85em;margin-left:6px}
.gl dd{color:var(--tx2);margin-top:4px;font-size:.94em}
/* article */
.art-hd{margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--ln)}
.art-hd h2{font-family:var(--hf);font-size:var(--h1a);line-height:1.25;color:var(--tx)}
.art-hd .meta{display:flex;gap:14px;color:var(--mu);font-size:.85em;margin-top:8px;flex-wrap:wrap}
.art-nav{border-top:2px solid var(--brand);margin-top:30px}
.art-nav a{display:flex;gap:14px;padding:10px 6px;border-bottom:1px solid var(--ln);color:var(--tx);text-decoration:none}
.art-nav a b{min-width:60px;flex:none;color:var(--mu)}
.column .cover{height:340px;background-size:cover;background-position:center;margin-bottom:22px;border-radius:var(--r)}
.lead2{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;align-items:start}
.lead2 .photo{height:270px;background-size:cover;background-position:center;border-radius:var(--r)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:540px}
.duo div{border:1px solid var(--ln);background:#fff;padding:16px;text-align:center;border-radius:var(--r)}
.duo b{display:block;color:var(--mu);font-size:.9em}
.duo span{font-size:2.3em;font-weight:800;color:var(--brand-d)}
.duo small{font-size:.95em;margin-left:3px}
.plate{display:flex;align-items:center;gap:24px;margin-top:30px;background:var(--bg2);padding:20px;border-radius:var(--r)}
.plate .pl{width:140px;height:140px;border-radius:50%;flex:none;background:conic-gradient(#3E9444 0 50%,#E3861B 50% 75%,#1F5C23 75% 100%);border:3px solid #fff}
.plate ul{display:grid;gap:6px}
.plate i{display:inline-block;width:12px;height:12px;margin-right:8px}
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.flow div{text-align:center;padding:16px 8px;border:1px solid var(--ln);font-weight:700;background:#fff;border-radius:var(--r)}
.flow b{display:block;color:var(--acc)}
ul.chk{margin-top:10px;border-top:1px solid var(--ln);padding-top:8px}
ul.chk li{position:relative;padding-left:20px;margin:4px 0;font-size:.94em}
ul.chk li:before{content:"\2713";position:absolute;left:0;color:var(--brand);font-weight:700}
.ci{display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:start}
.ci-mark{border:1px solid var(--ln);background:#fff;padding:24px;display:grid;place-items:center;border-radius:var(--r)}
.ci-mark img{width:100%;max-width:200px}
.swatch{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.swatch div{padding:36px 12px 10px;color:#fff;border-radius:var(--r)}
.swatch b{display:block;font-size:.9em}.swatch span{font-size:.8em}
.tracker{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.tracker label{border:1px solid var(--ln);padding:12px 4px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;background:#fff;border-radius:var(--r)}
.tracker input{width:20px;height:20px;accent-color:var(--brand)}
.tracker span{font-weight:700}.tracker small{color:var(--mu);font-size:.78em}
.tracker label:has(input:checked){background:var(--tint);border-color:var(--brand)}
.cmp-hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;border-left:5px solid var(--acc);background:var(--bg2);padding:22px 26px;border-radius:var(--r)}
.cmp-hero h2{font-family:var(--hf);font-size:1.6em;color:var(--brand-d)}
.cmp-hero p{color:var(--tx2);margin-top:4px}
.ring{position:relative;width:160px;height:160px;display:grid;place-items:center}
.ring svg{position:absolute;inset:0}
.ring circle:first-child{stroke:#dcdcdc}
.ring circle+circle{stroke:var(--acc)}
.ring b{font-size:2em;color:var(--brand-d);position:relative;line-height:1}
.ring b small{font-size:.5em}
.ring span{position:absolute;bottom:42px;font-size:.72em;color:var(--mu)}
ol.rules{display:grid;grid-template-columns:1fr 1fr;gap:10px}
ol.rules li{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--ln);padding:14px 16px;background:#fff;border-radius:var(--r)}
ol.rules span{display:inline-block;min-width:34px;height:30px;line-height:30px;text-align:center;background:var(--brand);color:#fff;font-weight:700;font-size:.9em;border-radius:var(--r)}
ol.rules p{color:var(--mu);font-size:.9em;margin-top:2px}
.br-pc{display:inline}
/* partner company box & hub */
.pbox{border:1px solid var(--ln);border-top:3px solid var(--acc);background:#fff;margin:48px 0 8px;padding:0 0 20px;border-radius:var(--r)}
.pbox .ptag{display:inline-block;background:var(--acc);color:#fff;font-size:.8em;font-weight:700;padding:3px 10px;margin:0 0 14px}
.pin{display:flex;gap:22px;align-items:flex-start;padding:0 20px}
.pin .pimg{flex:0 0 240px;aspect-ratio:1448/1009;background:#f3f3f1 center/contain no-repeat;border-radius:var(--r)}
.pin .ptx{flex:1;min-width:0}
.pin .ptx h3{font-size:1.15em;color:var(--brand-d);margin:0 0 8px}
.pin .ptx p{margin:0 0 10px;font-size:.95em}
.pin .pnote{font-size:.85em;color:var(--mu)}
.pin.pco{padding:0}
.ptag-s{display:inline-block;background:var(--acc);color:#fff;font-size:.75em;font-weight:700;padding:1px 7px;margin-right:4px;font-style:normal}
.relbox{border-top:3px solid var(--brand);background:var(--bg2);padding:16px 18px;margin:40px 0 0;font-size:.95em;border-radius:0 0 var(--r) var(--r)}
.relbox .rbh{font-weight:700;color:var(--brand-d);margin:0 0 6px}
.relbox li{padding:2px 0}
.rbs{font-size:.88em;color:var(--mu);margin-top:6px}
.hub-one{font-size:1.06em;color:var(--brand-d);font-weight:700;margin:-6px 0 14px}
.hub-prod{margin-top:16px;font-size:.95em;color:var(--tx2);border-left:3px solid var(--tint-b);padding:4px 0 4px 12px}
@media (max-width:900px){
  .stats,.g4,.val{grid-template-columns:repeat(2,1fr)}
  .g3,.ncards{grid-template-columns:1fr 1fr}
  .greet,.lead2,.ci{grid-template-columns:1fr}
  .calc.c3,.calc.c4{grid-template-columns:1fr 1fr}
  ol.rules,.cmp-hero{grid-template-columns:1fr}
  .org .row{grid-template-columns:1fr 1fr;padding-top:0;margin-top:12px}
  .org .row:before,.org .row>div:before{display:none}
}
@media (max-width:600px){
  .g2,.g3,.g4,.gl,.calc,.calc.c2,.calc.c3,.calc.c4,.ncards,.stats.s3,.stats.s2,.duo,.swatch,.val{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr;gap:10px}
  .stat .n{font-size:1.8em}
  .flow{grid-template-columns:1fr 1fr}
  .tracker{grid-template-columns:repeat(4,1fr)}
  .plate{flex-direction:column;align-items:flex-start}
  .column .cover{height:200px}
  .pin{flex-direction:column}.pin .pimg{flex-basis:auto;width:100%}
  .br-pc{display:none}
}

/* seo-h1x */
.art-hd h1{font-family:var(--hf);font-size:var(--h1a);line-height:1.25;color:var(--tx)}

/* ===== KAMH Japan theme — 日本の学会・協会サイト風 ===== */
:root{
  --brand:#2C7A31; --brand-d:#1F5C23; --tint:#EEF6EC; --tint-b:#CFE3CB;
  --acc:#E3861B; --acc-t:#FFF6EA; --acc-b:#F3D3A6;
  --tx:#333; --tx2:#444; --mu:#777; --ln:#DADADA; --bg2:#F5F6F3; --lk:#22702A;
  --th-bg:#F0F5EE; --zebra:#FAFAFA;
  --r:4px; --btn-r:4px; --dot-r:0; --hover-sh:0 2px 8px rgba(0,0,0,.08);
  --ff:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif; --hf:var(--ff);
  --h1a:1.55rem; --h2:1.35rem; --h3:1.12rem; --q-mark:"Q.";
  --w:1160px;
}
html{font-size:16px}
html[data-fs="s"]{font-size:14px}
html[data-fs="l"]{font-size:18px}
body{font-family:var(--ff);font-size:1rem;line-height:1.85;color:var(--tx);background:#fff;letter-spacing:.03em;overflow-x:hidden}
a{text-decoration:none}
a:hover{text-decoration:underline}
.prose a,.ref a,.relbox a,.tb a{text-decoration:underline}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
.btn{font-size:.95rem}
.pc{display:inline}

/* header */
.hd{background:#fff;border-top:4px solid var(--brand)}
.hd-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:96px}
.brand{display:flex;align-items:center;gap:12px;color:var(--tx);text-decoration:none}
.brand:hover{text-decoration:none}
.brand .nm{display:flex;flex-direction:column;line-height:1.3}
.brand .nm small{font-size:.68rem;color:var(--mu);letter-spacing:.06em}
.brand .nm b{font-size:1.5rem;font-weight:700;color:#222;letter-spacing:.08em}
.brand .nm em{font-style:normal;color:var(--brand);font-size:1.05rem;margin-left:4px}
.hd-r{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.util{display:flex;align-items:center;gap:16px;font-size:.78rem}
.util>a{color:#444}
.util>a:before{content:"\25B6";color:var(--brand);font-size:.6rem;margin-right:5px;vertical-align:1px}
.fsz{display:flex;align-items:center;gap:3px}
.fsz span{margin-right:5px;color:#555}
.fsz button{width:28px;height:24px;border:1px solid #bbb;background:#f6f6f6;font-size:.78rem;border-radius:3px;color:#333}
.fsz button.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.cty{position:relative}
.cty button{border:1px solid #ccc;padding:2px 10px;border-radius:3px;font-size:.78rem;background:#fff}
.cty ul{display:none;position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #ccc;min-width:170px;z-index:120;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.cty.open ul{display:block}
.cty li a{display:block;padding:6px 12px;color:#333;border-bottom:1px solid #eee}
.cty li a.on{background:var(--tint);color:var(--brand-d);font-weight:700}
.join{display:inline-block;background:var(--acc);color:#fff;font-weight:700;font-size:.9rem;padding:8px 22px;border-radius:30px}
.join:hover{text-decoration:none;opacity:.9}
.join:after{content:" \203A"}
.menu-btn{display:none;flex-direction:column;align-items:center;gap:4px;padding:6px}
.menu-btn span{display:block;width:26px;height:2px;background:#333}
.menu-btn i{font-style:normal;font-size:.6rem;letter-spacing:.1em}
.gnav{border-top:1px solid #e3e3e3;border-bottom:3px solid var(--brand);background:#fff}
.gnav ul.wrap{display:flex;padding:0}
.gnav>ul>li{flex:1;position:relative;border-left:1px solid #e3e3e3}
.gnav>ul>li:last-child{border-right:1px solid #e3e3e3}
.gnav>ul>li>a{display:flex;flex-direction:column;align-items:center;padding:12px 4px 10px;color:#222;text-decoration:none;line-height:1.4}
.gnav>ul>li>a span{font-weight:700;font-size:.95rem}
.gnav>ul>li>a small{font-size:.62rem;color:var(--brand);letter-spacing:.14em;font-weight:500}
.gnav>ul>li:hover>a,.gnav>ul>li.on>a{background:var(--tint)}
.gnav>ul>li.on>a span{color:var(--brand-d)}
.gnav .dd{display:none;position:absolute;left:-1px;right:-1px;top:100%;background:#fff;border:1px solid #ddd;border-top:3px solid var(--brand);z-index:90;min-width:220px}
.gnav>ul>li:hover .dd,.gnav>ul>li:focus-within .dd{display:block}
.gnav .dd a{display:block;padding:8px 14px;font-size:.85rem;color:#333;border-bottom:1px dotted #ccc}
.gnav .dd a:before{content:"\203A";color:var(--brand);margin-right:6px}
.drawer{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:150;display:none}
.drawer.open{display:block}
.drawer .pn{position:absolute;right:0;top:0;bottom:0;width:min(88vw,340px);background:#fff;overflow:auto}
.drawer .dh{display:flex;justify-content:space-between;align-items:center;background:var(--brand);color:#fff;padding:12px 16px}
.drawer .dh button{color:#fff;font-size:.85rem;border:1px solid rgba(255,255,255,.6);padding:2px 8px}
.drawer .dl>li>b{display:block;background:var(--tint);padding:8px 16px;color:var(--brand-d);border-bottom:1px solid #ddd}
.drawer .dl ul a{display:block;padding:8px 16px 8px 26px;border-bottom:1px solid #eee;color:#333;font-size:.9rem}

/* home */
.mv{position:relative;height:440px;overflow:hidden;background:#e8efe6}
.mv-img{position:absolute;inset:0 0 0 40%;background-size:cover;background-position:center 60%}
.mv:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,#fff 40%,rgba(255,255,255,0) 58%);z-index:1}
.mv .wrap{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.mv-copy{max-width:470px}
.mv-copy .lead{font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;font-size:2.2rem;font-weight:700;line-height:1.6;color:#1f3f25;letter-spacing:.08em;margin-bottom:16px}
.mv-copy p{font-size:.95rem;color:#444}
.bnrs{background:var(--bg2);padding:30px 0;border-bottom:1px solid #e6e6e6}
.bnrs ul{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.bnrs a{display:block;background:#fff;border:1px solid #ddd;border-radius:6px;overflow:hidden;color:#222;text-decoration:none;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.bnrs a:hover{border-color:var(--brand)}
.bnrs .th{display:block;height:110px;background-size:cover;background-position:center}
.bnrs .tx{display:block;padding:10px 30px 12px 14px;position:relative}
.bnrs .tx:after{content:"\203A";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--brand);font-size:1.4rem}
.bnrs b{display:block;font-size:1rem;color:var(--brand-d)}
.bnrs small{font-size:.75rem;color:#666}
.sec{padding:56px 0}
.sec.gray{background:var(--bg2)}
.hh{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid #333;padding-bottom:8px;margin-bottom:18px}
.hh h2{font-size:1.45rem;font-weight:700;letter-spacing:.08em;display:flex;align-items:baseline;gap:12px}
.hh h2 small{font-size:.72rem;color:var(--brand);letter-spacing:.18em;font-weight:500}
.hh.c{justify-content:center;border-bottom:0;flex-direction:column;align-items:center}
.hh.c h2{flex-direction:column;align-items:center;gap:2px}
.hh.c:after{content:"";width:40px;height:3px;background:var(--brand);margin-top:8px}
.lk{font-size:.8rem;color:#333;border:1px solid #bbb;padding:2px 14px;border-radius:20px;background:#fff}
.lk:after{content:" \203A";color:var(--brand)}
.lk:hover{text-decoration:none;border-color:var(--brand)}
.two{display:grid;grid-template-columns:1.6fr 1fr;gap:40px}
.ntabs{display:flex;gap:6px;margin-bottom:6px;flex-wrap:wrap}
.ntabs button{font-size:.8rem;padding:3px 14px;border:1px solid #ccc;border-radius:20px;background:#fff;color:#444}
.ntabs button.on{background:var(--brand);border-color:var(--brand);color:#fff}
.nlist li a{display:flex;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px dotted #bbb;color:#222;text-decoration:none}
.nlist li a:after{content:"\203A";margin-left:auto;color:var(--brand);font-size:1.2rem}
.nlist li a:hover .t{text-decoration:underline;color:var(--brand-d)}
.nlist .cat{min-width:96px;text-align:center;margin:0;background:#fff;border:1px solid var(--brand);color:var(--brand-d);font-size:.72rem;padding:1px 6px}
.nlist li[hidden]{display:none}
.pk{display:block;color:#222;text-decoration:none;border:1px solid #ddd;background:#fff}
.pk .th{display:block;height:170px;background-size:cover;background-position:center}
.pk b{display:block;padding:12px 14px 4px;font-size:1rem;line-height:1.6;color:var(--brand-d)}
.pk span:last-child{display:block;padding:0 14px 14px;font-size:.82rem;color:#555}
.stat-j{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat-j li{background:#fff;border:1px solid #ddd;border-top:4px solid var(--brand);padding:16px;text-align:center}
.stat-j .t{display:block;font-size:.85rem;font-weight:700;color:#333;min-height:3.2em}
.stat-j b{display:block;font-size:2.6rem;color:var(--brand-d);font-weight:700;line-height:1.2;font-family:Arial,var(--ff)}
.stat-j b small{font-size:1rem;margin-left:2px}
.stat-j .s{display:block;font-size:.7rem;color:#777;margin-top:6px}
.note.c{text-align:center}
.col-j{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.col-j a{display:flex;gap:12px;color:#222;text-decoration:none;border-bottom:1px dotted #bbb;padding-bottom:14px}
.col-j .th{flex:0 0 120px;height:84px;background-size:cover;background-position:center;border-radius:3px}
.col-j .cat{font-size:.68rem;margin-bottom:4px}
.col-j b{display:block;font-size:.88rem;line-height:1.6;font-weight:500}
.col-j a:hover b{text-decoration:underline;color:var(--brand-d)}
.life{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:lf}
.life a{display:block;background:#fff;border:1px solid #ddd;padding:24px 16px 18px;text-align:center;color:#222;text-decoration:none;position:relative;height:100%}
.life a:before{counter-increment:lf;content:"0" counter(lf);display:block;width:44px;height:44px;line-height:44px;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;margin:0 auto 10px;font-family:Arial}
.life b{display:block;font-size:1.05rem;color:var(--brand-d);margin-bottom:4px}
.life span{font-size:.82rem;color:#555}
.life a:hover{border-color:var(--brand)}
.cmp-bn{display:grid;grid-template-columns:1fr 1fr;border:1px solid #ddd;color:#222;text-decoration:none;background:#fff}
.cmp-bn .th{min-height:240px;background-size:cover;background-position:center}
.cmp-bn .tx{padding:30px 34px;display:flex;flex-direction:column;justify-content:center;gap:6px;background:var(--acc-t)}
.cmp-bn small{color:var(--acc);font-weight:700;letter-spacing:.18em;font-size:.72rem}
.cmp-bn b{font-size:1.5rem;color:#333;letter-spacing:.06em}
.cmp-bn span{font-size:.9rem;color:#555}
.cmp-bn i{font-style:normal;align-self:flex-start;margin-top:8px;background:var(--acc);color:#fff;padding:6px 22px;border-radius:30px;font-size:.88rem;font-weight:700}
.cmp-bn:hover{text-decoration:none;border-color:var(--acc)}

/* inner */
.ptitle{background:var(--tint) radial-gradient(rgba(44,122,49,.10) 1px,transparent 1px) 0 0/14px 14px;border-bottom:1px solid #dfe8dc}
.ptitle .wrap{padding-top:36px;padding-bottom:34px}
.ptitle .en{font-size:.72rem;color:var(--brand);letter-spacing:.2em;font-weight:500}
.ptitle h1{font-size:1.9rem;font-weight:700;letter-spacing:.08em;color:#222;line-height:1.4}
.crumb{font-size:.78rem;color:#666;border-bottom:1px solid #eee}
.crumb .wrap{padding-top:8px;padding-bottom:8px;white-space:nowrap;overflow-x:auto}
.crumb a{color:var(--lk)}
.crumb i{font-style:normal;margin:0 8px;color:#aaa}
.lay{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;padding-top:36px;padding-bottom:70px;align-items:start}
.snb-h{background:var(--brand);color:#fff;font-weight:700;padding:16px;font-size:1.05rem;line-height:1.4}
.snb-h small{display:block;font-size:.62rem;letter-spacing:.18em;font-weight:400;opacity:.85}
.snb ul{border:1px solid #ddd;border-top:0}
.snb li a{display:block;padding:11px 14px 11px 28px;border-top:1px solid #e6e6e6;color:#333;font-size:.88rem;position:relative;text-decoration:none}
.snb li:first-child a{border-top:0}
.snb li a:before{content:"\25B6";position:absolute;left:12px;top:15px;font-size:.5rem;color:var(--brand)}
.snb li a:hover{background:#f7f7f7}
.snb li.on a{background:var(--tint);color:var(--brand-d);font-weight:700}
.sbn{display:block;margin-top:16px;border:2px solid var(--acc);background:var(--acc-t);padding:14px;font-size:.8rem;color:#444;text-decoration:none;text-align:center}
.sbn b{display:block;font-size:1rem;color:var(--acc)}
.sbn:hover{text-decoration:none;opacity:.9}
.mc{min-width:0}
.mc .ttl,.ttl{border-left:6px solid var(--brand);background:var(--bg2);padding:10px 14px;font-size:1.3rem;letter-spacing:.06em;color:#222}
.prose h3{border-bottom:2px solid #ddd;padding-bottom:6px;position:relative;color:#222}
.prose h3:after{content:"";position:absolute;left:0;bottom:-2px;width:80px;height:2px;background:var(--brand)}
.art-hd h2{font-size:1.5rem;letter-spacing:.04em}
.smaps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.smap h3{font-size:1rem;border-bottom:2px solid var(--brand);padding-bottom:4px;margin-bottom:6px}
.smap li a{display:block;padding:4px 0 4px 14px;font-size:.88rem;position:relative}
.smap li a:before{content:"\203A";position:absolute;left:2px;color:var(--brand)}
.nf{padding:50px 20px 80px}

/* footer */
.fbn{background:var(--bg2);border-top:1px solid #e3e3e3;padding:28px 0}
.fbn .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fbn a{display:block;background:#fff;border:1px solid #ccc;padding:14px 16px;color:#222;text-decoration:none;position:relative;line-height:1.5}
.fbn a:after{content:"\203A";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--brand);font-size:1.4rem}
.fbn b{display:block;font-size:.95rem;color:var(--brand-d)}
.fbn small{font-size:.72rem;color:#666}
.fbn a:hover{border-color:var(--brand)}
.ft{background:#fff;border-top:4px solid var(--brand);font-size:.82rem;color:#444}
.fhead{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;padding:30px 0 20px;border-bottom:1px solid #e6e6e6}
.fhead p{font-size:.8rem;color:#555}
.fcols{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;padding:22px 0}
.ft h4{font-size:.85rem;color:var(--brand-d);border-bottom:1px solid #ddd;padding-bottom:4px;margin-bottom:6px}
.ft .fc li a{display:block;padding:2px 0;color:#444;font-size:.78rem}
.fworld{font-size:.78rem;padding:12px 0;border-top:1px solid #eee}
.fworld b{margin-right:12px;color:var(--brand-d)}
.fdis{font-size:.72rem;color:#777;padding-bottom:20px}
.fbot{background:var(--brand-d);color:#fff;font-size:.75rem}
.fbot .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:12px;padding-bottom:12px}
.fbot a{color:#fff;margin-right:18px}
.ptop{position:fixed;right:20px;bottom:20px;width:56px;height:56px;border-radius:50%;background:var(--brand);color:#fff;font-size:.8rem;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;opacity:0;pointer-events:none;transition:opacity .2s;z-index:60;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.ptop span{font-size:.62rem;letter-spacing:.1em}
.ptop.show{opacity:1;pointer-events:auto}

@media (max-width:960px){
  .gnav,.hd-r{display:none}
  .menu-btn{display:flex}
  .hd-in{min-height:70px}
  .brand .nm b{font-size:1.15rem}
  .brand img{width:44px;height:44px}
  .mv{height:auto}
  .mv-img{position:relative;inset:auto;height:220px}
  .mv:before{display:none}
  .mv .wrap{padding-top:22px;padding-bottom:26px}
  .mv-copy .lead{font-size:1.5rem}
  .pc{display:none}
  .bnrs ul,.stat-j,.life,.fbn .wrap{grid-template-columns:1fr 1fr}
  .two,.cmp-bn{grid-template-columns:1fr}
  .col-j{grid-template-columns:1fr}
  .lay{grid-template-columns:1fr;gap:24px}
  .snb{order:2}
  .fcols{grid-template-columns:repeat(3,1fr)}
  .fhead{grid-template-columns:1fr}
  .smaps{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .wrap{padding:0 14px}
  .brand .nm small{display:none}
  .bnrs .th{height:80px}
  .stat-j b{font-size:2rem}
  .fcols,.smaps{grid-template-columns:1fr 1fr}
  .ptitle h1{font-size:1.4rem}
  .hh h2{font-size:1.2rem}
}

/* seo-h1x */
.ptitle .h1x{font-size:1.9rem;font-weight:700;letter-spacing:.08em;color:#222;line-height:1.4}
@media (max-width:600px){.ptitle .h1x{font-size:1.4rem}}
