:root{--maxw:1200px;--pagew:900px;--hdr-h:64px;--brand:#0f8c6a;--text:#222}
*,::before,::after{box-sizing:border-box}
html,body{margin:0;color:var(--text);line-height:1.8;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium","Meiryo",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-weight:200;-webkit-text-size-adjust:100%;text-size-adjust:100%}
img{display:block;max-width:100%;height:auto}
h1,h2,h3{font-weight:800;line-height:1.35;margin:0 0 .6em}
h1{font-size:clamp(22px,4.6vw,32px)}
h2{font-size:clamp(18px,3.4vw,22px)}
h3{font-size:clamp(16px,3vw,18px)}
.page-header{position:fixed;inset:0 0 auto 0;height:var(--hdr-h);background:var(--brand);color:#fff;z-index:1000;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.page-header__inner{max-width:var(--maxw);margin:0 auto;height:100%;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.brand__img{height:40px;width:auto}
.menu-btn{background:#fff;color:#165f4e;border:none;border-radius:999px;padding:8px 16px;font-weight:700;cursor:pointer;box-shadow:0 6px 14px rgba(0,0,0,.12)}
.page{padding-top:calc(var(--hdr-h) + 12px);padding-bottom:56px;background:#f7fbf9}
.page__inner{max-width:var(--pagew);margin:0 auto;padding:clamp(16px,3vw,24px) 16px;background:#fff;border:1px solid #e6efe9;border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.05)}
.page__meta{color:#666;font-size:14px;margin-top:-4px;margin-bottom:16px}
.page__tail-space{height:24px}
.doc,.policy-doc{display:grid;gap:clamp(16px,2.4vw,22px)}
.doc section,.policy-doc section{border-top:1px solid #edf3f0;padding-top:clamp(10px,1.6vw,14px)}
.doc p,.policy-doc p{margin:.6em 0}
.doc ul,.doc ol,.policy-doc ul,.policy-doc ol{margin:.6em 0 .6em 1.2em;padding:0}
.doc li,.policy-doc li{margin:.3em 0}
.article-title,.policy-title{display:flex;align-items:baseline;gap:10px;font-weight:800}
.article-title .no,.policy-title .no{color:#0f8c6a;font-weight:900;font-size:clamp(16px,3.2vw,18px);letter-spacing:.02em}
.legal-head,.policy-head{margin:0 0 .25em;font-weight:800}
.legal-caption,.policy-caption{color:#666;font-size:14px;margin:-2px 0 16px}
.legal-table{width:100%;border-collapse:collapse;table-layout:fixed;border:1px solid #e6efe9;background:#fff;overflow:hidden}
.legal-table th,.legal-table td{border:1px solid #e6efe9;padding:12px 14px;vertical-align:top}
.legal-table th{width:30%;background:#f6fbf8;color:#165f4e;font-weight:700}
.legal-table td{color:#222;font-weight:400}
.legal-table p{margin:.45em 0}
.legal-table small{color:#666}
.contact__lead{margin:0 0 18px;color:#333;font-size:clamp(14px,1.8vw,16px);line-height:1.9;text-align:center}
.contact__card{background:#fff;border:1px solid #e6efe9;border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.05);padding:clamp(16px,3vw,24px)}
.contact__email{text-align:center;margin:10px 0 22px}
.contact__email-caption{color:#666;font-size:14px;margin-bottom:6px}
.contact__email-link{display:inline-block;font-weight:800;font-size:clamp(18px,2.6vw,22px);color:#0d6efd;text-decoration:none;padding:4px 8px;border-radius:8px}
.contact__email-link:hover{text-decoration:underline}
.contact__actions{text-align:center}
.btn{appearance:none;border:0;cursor:pointer;font-weight:700;line-height:1;border-radius:10px;padding:14px 32px;transition:transform .06s ease,filter .2s ease}
.btn--back{background:#2fa700;color:#fff;box-shadow:0 8px 16px rgba(0,0,0,.16)}
.btn--back:hover{filter:brightness(1.05)}
.btn--back:active{transform:translateY(1px)}
a{color:#0b6a57}
@media print {
.page-header,.menu-btn{display:none!important}
.page{padding-top:0;background:#fff}
.page__inner{border:none;box-shadow:none}
}
@media (max-width:680px) {
:root{--hdr-h:56px}
.brand__img{height:32px}
.menu-btn{padding:6px 14px}
.legal-table{font-size:14px}
.legal-table th{width:34%}
.policy-doc{font-size:15px}
.btn--back{width:min(92vw,80%)}
}
.site-footer{--footer-bg:#2aa48e;--white:#fff;background:var(--footer-bg);color:var(--white);padding:28px 16px 36px}
.footer__inner{max-width:1200px;margin:0 auto}
.footer__nav{display:flex;flex-wrap:wrap;gap:clamp(14px,2.4vw,28px);justify-content:center;font-weight:700}
.footer__nav a{color:#fff;text-decoration:none;position:relative}
.footer__nav a:hover{text-decoration:underline}
.footer__rule{border:0;height:1px;margin:16px 0;background:rgba(255,255,255,.45)}
.footer__notes{margin:0;padding:0;list-style:none;line-height:1.9;font-size:15px}
.footer__notes li{position:relative;padding-left:1.2em}
.footer__notes li::before{content:"・";position:absolute;left:0;top:0;color:#fff;opacity:.95;font-weight:700}
.footer__brand{text-align:center;margin-top:18px}
.footer__logo{width:min(60vw,360px);height:auto;display:block;margin:0 auto 8px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.12))}
.footer__copy{display:block;font-size:13px;opacity:.95}
@media (max-width: 768px) {
.footer__nav{justify-content:center}
.footer__notes{font-size:14px}
}
@media (max-width: 480px) {
.site-footer{padding:24px 14px 32px}
.footer__nav{gap:14px}
.footer__notes{font-size:13px}
}