:root{--ink:#16181d;--sub:#7a7d86;--faint:#a8abb3;--line:#e7e7ea;--band:#f3f1ec;--acc:#004098;--rule:#d9d9d5}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Yu Gothic Medium","游ゴシック Medium",YuGothic,"Hiragino Sans",Meiryo,sans-serif;color:var(--ink);background:#fff;font-feature-settings:"palt";font-size:16px;line-height:2}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 32px}
.en{font-family:"Helvetica Neue",Arial,sans-serif;letter-spacing:.14em}
header{position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:20}
.bar{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{display:flex;align-items:baseline;gap:14px;text-decoration:none}
.logo b{font-size:18px;font-weight:700;color:var(--ink);letter-spacing:.08em}
.logo span{font-size:11px;color:var(--faint);letter-spacing:.06em}
nav ul{display:flex;gap:22px;list-style:none;font-size:12px;letter-spacing:.08em}
nav a{text-decoration:none;color:var(--sub)}
nav a:hover,nav a.on{color:var(--ink)}
.hero{position:relative;min-height:300px;display:flex;align-items:center;overflow:hidden;background:#eef3f7}
.hero .ph{position:absolute;inset:-6%;background-position:center 45%;background-size:cover;background-repeat:no-repeat}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 38%,rgba(255,255,255,.35) 68%,rgba(255,255,255,.05) 100%)}
.hero .wrap{position:relative;z-index:2;width:100%;margin-left:max(32px,calc((100vw - 1080px)/2))}
.hero .h1en{font-family:"Helvetica Neue",Arial,sans-serif;font-size:clamp(28px,3.4vw,42px);font-weight:300;line-height:1.3;letter-spacing:.04em;margin:0}
.hero h1{margin-top:8px;font-size:15px;font-weight:400;letter-spacing:.2em;color:var(--ink)}
.sec{padding:44px 0 48px}
.h-en{font-size:12px;color:var(--acc);letter-spacing:.2em}
.h-en::before{content:"";display:block;width:100%;height:1px;background:var(--rule);margin-bottom:14px}
.h-ja{font-size:19px;font-weight:400;letter-spacing:.14em;margin-top:4px}
.h-note{font-size:15px;color:#2c2f36;margin-top:10px;line-height:2;max-width:760px}
.arts{list-style:none;margin-top:24px;max-width:820px;border-top:1px solid #eeeeea}
.arts li{border-bottom:1px solid #eeeeea}
.arts a{display:block;padding:20px 0;text-decoration:none}
.arts .meta{font-size:11.5px;color:var(--acc);letter-spacing:.14em}
.arts .ttl{display:block;font-size:17px;letter-spacing:.06em;line-height:1.7;margin-top:6px;color:var(--ink)}
.arts .sum{display:block;font-size:14px;color:#3a3d45;line-height:1.95;margin-top:8px}
.arts a:hover .ttl{color:var(--acc)}
.posts{margin-top:22px;max-width:820px;border-top:1px solid #eeeeea}
.post{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid #eeeeea;text-decoration:none;align-items:baseline}
.post time{font-size:11.5px;color:var(--acc);letter-spacing:.14em}
.post span{font-size:15px;line-height:1.85;color:#2c2f36}
.post:hover span{color:var(--acc)}
.body2{max-width:760px;margin-top:20px}
.body2 h2{font-size:18px;font-weight:400;letter-spacing:.08em;margin:34px 0 10px;padding-top:14px;border-top:1px solid #eeeeea}
.body2 p{font-size:15.5px;color:#2c2f36;line-height:2.15;letter-spacing:.03em;margin-bottom:14px}
.body2 a{color:var(--acc);text-decoration:none;border-bottom:1px solid var(--acc)}
.body2 ul{margin:0 0 14px 1.2em}
.body2 li{font-size:15.5px;color:#2c2f36;line-height:2.05}
.refs{max-width:760px;margin-top:34px;padding-top:16px;border-top:1px solid #eeeeea;font-size:13.5px;color:#3a3d45;line-height:2}
.refs b{display:block;font-weight:400;font-size:11.5px;letter-spacing:.16em;color:var(--acc);margin-bottom:6px}
.sign{max-width:760px;margin-top:18px;font-size:13.5px;color:var(--sub);line-height:2}
.note2{max-width:760px;margin-top:14px;font-size:13px;color:var(--faint);line-height:1.95}
.backs{max-width:760px;margin-top:30px;font-size:12px}
.backs a{text-decoration:none;color:var(--ink);padding-bottom:6px;border-bottom:1px solid var(--acc)}
.rtbl-wrap{max-width:760px;margin:18px 0 20px;overflow-x:auto}
.rtbl{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.9}
.rtbl th{font-weight:400;font-size:12px;letter-spacing:.1em;color:var(--acc);text-align:left;padding:0 20px 8px 0;border-bottom:1px solid var(--rule);vertical-align:bottom;white-space:nowrap}
.rtbl td{padding:12px 20px 12px 0;border-bottom:1px solid #eeeeea;vertical-align:top;color:#2c2f36}
.rtbl td:first-child{color:var(--ink);white-space:nowrap}
.rtbl td b{font-weight:700;color:var(--ink)}
@media(max-width:900px){.rtbl{font-size:13.5px}.rtbl th,.rtbl td{padding-right:14px}}
.cta{padding:56px 0;text-align:center;background:var(--band)}
.cta p{font-size:14.5px;color:var(--sub);margin-top:18px}
.cta .links{display:flex;gap:36px;justify-content:center;margin-top:34px;font-size:12px}
.cta .links a{text-decoration:none;color:var(--ink);padding-bottom:7px;border-bottom:1px solid var(--acc)}
footer{border-top:1px solid var(--line);padding:26px 0 36px;font-size:12px;color:var(--faint)}
footer .f{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}
@media(max-width:900px){nav{display:none}.wrap{padding:0 22px}.sec{padding:32px 0 36px}.post{grid-template-columns:1fr;gap:2px}}