:root{--teal:#008ca5;--navy:#333f4f;--txt:#333;--sub:#777;--line:#dfe7ea;--bg:#fff;--soft:#eef6f8}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font-family:"游明朝","Yu Mincho",YuMincho,"ヒラギノ明朝 ProN","Hiragino Mincho ProN","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","MS PMincho",serif;line-height:1.95;font-size:16px}
a{color:var(--teal)}.inner{max-width:760px;margin:0 auto;padding:0 16px}
header.site{border-bottom:1px solid var(--line)}header.site .inner{display:flex;align-items:center;justify-content:space-between;max-width:1000px;height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font-weight:bold;letter-spacing:.1em}.logo img{height:40px;width:auto}
header nav a{margin-left:18px;text-decoration:none;color:var(--navy);font-size:14px}
.crumbs{list-style:none;padding:0;margin:20px 0 8px;font-size:12px;color:var(--sub)}.crumbs li{display:inline}.crumbs li+li:before{content:"›";margin:0 6px}
.meta{font-size:13px;color:var(--sub);margin:0}
h1{font-family:"游明朝","Yu Mincho",YuMincho,"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",serif;font-weight:normal;font-size:28px;line-height:1.5;color:var(--navy);margin:6px 0 24px}
h2{font-size:21px;color:var(--navy);border-left:4px solid var(--teal);padding-left:12px;margin:48px 0 16px;line-height:1.5}
h3{font-size:17px;color:var(--teal);margin:32px 0 8px}
.photo{margin:28px 0}.photo img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:4px;max-height:640px}
.photo figcaption{font-size:13px;color:var(--sub);text-align:center;margin-top:8px}
.table-wrap{overflow-x:auto;margin:20px 0}table{border-collapse:collapse;width:100%;font-size:15px}
th,td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}th{background:var(--soft);color:var(--navy)}
.cta{background:var(--soft);border-radius:8px;padding:24px;margin:36px 0;text-align:center}
.cta p{margin:0 0 6px}.cta-lead{font-family:"游明朝","Yu Mincho",YuMincho,serif;font-size:18px;color:var(--navy)}
.cta-name{font-weight:bold}.cta-note{font-size:14px;color:var(--sub)}
.cta-btn{display:inline-block;margin-top:12px;background:var(--teal);color:#fff;text-decoration:none;padding:12px 32px;border-radius:999px;font-weight:bold}
.more ul{padding-left:20px}.back{margin:40px 0}
.lead{color:var(--sub)}.cards{list-style:none;padding:0;display:grid;gap:24px}
.cards a{display:block;text-decoration:none;color:var(--txt);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.cards img{display:block;width:100%;height:220px;object-fit:cover}.cards span{display:block;padding:0 16px}
.cards .d{font-size:12px;color:var(--sub);padding-top:12px}.cards .t{font-weight:bold;color:var(--navy);font-size:18px;line-height:1.5}
.cards .x{font-size:14px;color:var(--sub);padding-bottom:14px}
footer.site{background:var(--navy);color:#fff;margin-top:56px;padding:32px 0}footer.site a{color:#fff}
footer .name{font-weight:bold;letter-spacing:.1em}footer p{margin:0 0 8px}footer .small{font-size:12px;opacity:.8}
@media (max-width:600px){h1{font-size:23px}h2{font-size:19px}header nav a{margin-left:12px;font-size:13px}.logo span{display:none}}
