:root{
  --navy:#052046; --blue:#2152AD; --blue-dark:#1a4290; --red:#B30B0D;
  --base:#F9F9FA; --card:#FFFFFF; --pale:#EAF0FB;
  --ink:#17171D; --head:#081025; --note:#64676F; --line:#DCE3EF;
  --mincho:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --gothic:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --body:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --wrap:1120px; --pad:24px;
}
.sec--navy h2{color:#fff}
.btn:hover{transform:scale(1.02)}
.btn-main:hover{background:var(--blue-dark)}
.btn .arrow{width:22px;height:11px;stroke:currentColor;fill:none;stroke-width:2}
.head-bar{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 var(--line)}
.gnav{margin-left:auto;display:flex;gap:26px;font-family:var(--gothic);font-weight:700;font-size:15px;color:var(--head)}
.gnav a:hover{color:var(--blue)}
.gnav .is-current{color:var(--blue)}
.head-cta:hover{background:var(--blue-dark)}
.foot a:hover{color:#fff}
.foot-in{display:flex;flex-wrap:wrap;gap:18px 40px;align-items:center;justify-content:space-between}
.foot small{display:block;margin-top:14px;color:#7d8ba3}
@media (max-width:1080px){.gnav{display:none}}
.gnav{flex-wrap:nowrap;align-items:center}
.gnav a{white-space:nowrap}
@media (min-width:1081px) and (max-width:1500px){.gnav{gap:12px;font-size:13px}}
@media (min-width:1081px) and (max-width:1279px){.head-cta{font-size:0;gap:0;width:44px;height:44px;padding:0;justify-content:center;border-radius:50%}}
@media (min-width:1081px) and (max-width:1180px){.gnav{gap:10px;font-size:12px}.logo img{height:28px}}
.gnav .dd{position:relative}
.gnav .dd-t{cursor:default;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.gnav .dd-t::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px}
.gnav .dd:hover .dd-t,.gnav .dd.is-current .dd-t{color:#2152AD}
.gnav .dd-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:12px;opacity:0;visibility:hidden;transition:opacity .15s;z-index:70}
.gnav .dd:hover .dd-menu{opacity:1;visibility:visible}
.gnav .dd-menu-in{background:#fff;border:1px solid #DCE3EF;border-radius:12px;box-shadow:0 14px 34px rgba(8,16,37,.14);padding:8px;min-width:220px}
.gnav .dd-menu a{display:block;padding:10px 16px;border-radius:8px;white-space:nowrap;font-size:14px}
.gnav .dd-menu a:hover{background:#EAF0FB;color:#2152AD}
.cta-dd{position:relative}
.cta-dd .cta-menu{position:absolute;top:100%;right:0;padding-top:10px;opacity:0;visibility:hidden;transition:opacity .15s;z-index:70}
.cta-dd:hover .cta-menu{opacity:1;visibility:visible}
.cta-menu-in{background:#fff;border:1px solid #DCE3EF;border-radius:12px;box-shadow:0 14px 34px rgba(8,16,37,.14);padding:8px;min-width:200px}
.cta-menu a{display:block;padding:10px 16px;border-radius:8px;white-space:nowrap;font-size:14px;color:#081025;text-decoration:none;font-weight:700}
.cta-menu a:hover{background:#EAF0FB;color:#2152AD}

.col-hero{background:var(--navy);color:#fff;padding-block:72px 60px;min-height:320px;display:flex;align-items:center;position:relative;overflow:hidden}
.col-hero::after{content:"";position:absolute;right:-120px;top:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(33,82,173,.45),rgba(33,82,173,0) 70%);z-index:1;pointer-events:none}
.col-hero .wrap{position:relative;z-index:2}
.col-hero__bg{position:absolute;inset:0;z-index:0;overflow:hidden;display:flex;align-items:center}
.col-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(5,32,70,.90) 0%,rgba(10,45,100,.72) 50%,rgba(5,32,70,.90) 100%)}
.col-hero__mq{display:flex;width:max-content;height:100%;will-change:transform;animation:col-hero-mq 64s linear infinite}
.col-hero__mq img{height:100%;width:auto;aspect-ratio:4/3;object-fit:cover;display:block;flex:0 0 auto}
@keyframes col-hero-mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.col-hero__mq{animation:none}}
.col-hero .eyebrow{color:#9fc0ff}
.col-hero h1{font-family:var(--gothic);font-weight:900;font-size:clamp(28px,3.6vw,46px);line-height:1.4;margin:0 0 12px}
.col-hero h1 em{font-style:normal;color:#9fc0ff}
.col-hero p{margin:0;font-size:16.5px;line-height:1.9;max-width:760px;color:#dbe5f7}
.col-hero .crumb{margin:16px 0 0;font-size:13px;color:#9fb0cf}
.col-hero .crumb a{color:#9fb0cf;text-decoration:underline}
.col-list{display:grid;gap:22px;max-width:980px;margin-inline:auto}
.p-card{display:grid;grid-template-columns:340px 1fr;gap:0 32px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;
  box-shadow:0 4px 18px rgba(5,32,70,.05);transition:transform .2s ease,box-shadow .2s ease}
.p-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(5,32,70,.10)}
.p-card__ph{border-radius:12px;overflow:hidden;aspect-ratio:1200/630;background:var(--pale)}
.p-card__ph img{width:100%;height:100%;object-fit:cover}
.p-card__meta{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-family:var(--gothic);font-size:13px;color:var(--note);letter-spacing:.06em}
.p-card__cat,.post-hero__cat{display:inline-block;background:var(--blue);color:#fff;font-weight:700;font-size:12px;border-radius:999px;padding:3px 11px;letter-spacing:.04em}
.p-card__ttl{margin:0 0 10px;font-family:var(--gothic);font-weight:900;font-size:21px;line-height:1.5;color:var(--head)}
.p-card__ex{margin:0 0 12px;font-size:15px;line-height:1.85;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.p-card__more{font-family:var(--gothic);font-weight:700;font-size:13px;color:var(--blue);letter-spacing:.14em}
.col-empty{color:var(--note);text-align:center;padding:40px 0}
.col-cats{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 30px}
.col-cats a{font-family:var(--gothic);font-weight:700;font-size:13.5px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 16px;color:var(--head)}
.col-cats a:hover,.col-cats a.is-on{background:var(--blue);border-color:var(--blue);color:#fff}

.post-hero{background:var(--navy);color:#fff;padding-block:52px 46px;position:relative;overflow:hidden}
.post-hero::after{content:"";position:absolute;right:-120px;top:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(33,82,173,.45),rgba(33,82,173,0) 70%);z-index:1;pointer-events:none}
.post-hero .wrap{position:relative;z-index:2}
.post-hero__bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.post-hero__bg img{width:100%;height:100%;object-fit:cover;filter:blur(7px);transform:scale(1.08);opacity:.9}
.post-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(5,32,70,.78) 0%,rgba(5,32,70,.92) 100%)}
.post-hero__meta{display:flex;align-items:center;gap:12px;font-family:var(--gothic);font-size:13.5px;color:#c9d6ee;letter-spacing:.06em;margin:0 0 12px}
.post-hero h1{font-family:var(--gothic);font-weight:900;font-size:clamp(24px,3vw,38px);line-height:1.45;margin:0 0 14px;max-width:900px}
.post-hero h1 em{font-style:normal;color:#9fc0ff}
.post-hero .crumb{margin:0;font-size:13px;color:#9fb0cf}
.post-hero .crumb a{color:#9fb0cf;text-decoration:underline}
.post-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start}
.post-main{min-width:0}
.post-figure{margin:0 0 26px;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.post-figure img{width:100%;height:auto;display:block}
.post-lead{font-size:17px;line-height:2;color:var(--ink);margin:0 0 20px}
.article h2{font-family:var(--gothic);font-weight:900;font-size:clamp(22px,2.4vw,28px);line-height:1.5;color:var(--head);margin:54px 0 18px;padding:0 0 12px;border-bottom:2px solid var(--blue)}
.article h2:first-child{margin-top:0}
.article h3{font-family:var(--gothic);font-weight:700;font-size:19px;color:var(--head);margin:30px 0 10px}
.article p{margin:0 0 18px;font-size:16.5px;line-height:2;color:var(--ink)}
.article ul,.article ol{margin:0 0 18px;padding-left:1.4em;font-size:16.5px;line-height:2;color:var(--ink);list-style:disc}
.article ol{list-style:decimal}
.article li{margin:0 0 4px}
.article a{color:var(--blue);font-weight:700;text-decoration:underline}
.article .toc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 28px;margin:0 0 10px}
.article .toc b{display:block;font-family:var(--gothic);font-size:15px;color:var(--note);margin-bottom:8px}
.article .toc ol{margin:0;padding-left:1.6em;list-style:decimal;font-size:15.5px;line-height:1.9}
.article .toc a{text-decoration:none}
.article .toc a:hover{text-decoration:underline}
.cmp{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 18px rgba(5,32,70,.05);font-size:15.5px;margin:0 0 12px}
.cmp th,.cmp td{border:1px solid var(--line);padding:13px 16px;text-align:left;vertical-align:top;line-height:1.75}
.cmp th{background:var(--pale);font-family:var(--gothic);font-weight:700;color:var(--head);white-space:nowrap}
.cmp td b{font-family:var(--gothic);color:var(--head)}
.cmp-wrap{overflow-x:auto;margin:0 0 12px}
.cmp-wrap .cmp{margin:0}
.scroll-note{display:none;font-size:13px;color:var(--note);margin:0 0 6px}
.article .note{font-size:14px;color:var(--note);line-height:1.85;margin:0 0 18px}
.steps{counter-reset:s;list-style:none;padding:0;margin:0 0 18px}
.steps li{position:relative;padding:18px 22px 18px 72px;background:#fff;border:1px solid var(--line);border-radius:14px;margin:0 0 12px;font-size:16px;line-height:1.9}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:20px;top:18px;width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;font-family:var(--gothic);font-weight:900;font-size:18px;display:grid;place-items:center}
.steps li b{display:block;font-family:var(--gothic);font-size:17.5px;color:var(--head);margin-bottom:4px}
.steps li strong{font-family:var(--gothic);font-weight:700;color:var(--head)}
.tips{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 18px}
.tip{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 24px}
.tip b{display:block;font-family:var(--gothic);font-weight:700;font-size:17px;color:var(--head);margin-bottom:6px}
.tip b::before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;margin-right:9px}
.tip p{margin:0;font-size:15.5px;line-height:1.85}
.callout{border-left:4px solid var(--blue);background:var(--pale);padding:16px 22px;border-radius:0 12px 12px 0;margin:0 0 18px;font-size:16px;line-height:1.9}
.callout b{font-family:var(--gothic);color:var(--head)}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0;margin:0 0 10px}
.faq summary{cursor:pointer;list-style:none;padding:16px 20px 16px 52px;position:relative;font-family:var(--gothic);font-weight:700;font-size:16.5px;color:var(--head)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:18px;top:14px;width:26px;height:26px;border-radius:50%;background:var(--pale);color:var(--blue);font-weight:900;display:grid;place-items:center;font-size:14px}
.faq .ans{margin:0;padding:0 20px 18px 52px;font-size:15.5px;line-height:1.9;color:var(--ink)}
.article figure{margin:0 0 22px}
.article figure img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px}
.article figcaption{font-size:14px;color:var(--note);line-height:1.75;margin-top:8px}
.fig2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 22px}
.fig2 figure{margin:0}
.steps li figure{margin:12px 0 2px}
.post-author{display:grid;grid-template-columns:96px 1fr;gap:20px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 26px;margin:44px 0 0}
.post-author img{width:96px;height:96px;border-radius:50%;object-fit:cover}
.post-author__label{display:block;font-family:var(--gothic);font-size:12.5px;color:var(--note);letter-spacing:.1em;margin:0 0 4px}
.post-author__name{margin:0 0 6px;font-family:var(--gothic);font-weight:900;font-size:17px;color:var(--head)}
.post-author__name span{font-weight:500;font-size:13px;color:var(--note);margin-left:8px}
.post-author__bio{margin:0;font-size:14.5px;line-height:1.85;color:var(--ink)}
.post-foot{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;margin:30px 0 0;padding:18px 0 0;border-top:1px solid var(--line)}
.post-foot__back{font-family:var(--gothic);font-weight:700;color:var(--blue);text-decoration:underline}
.article .btn,.article .btn:hover{color:#fff;text-decoration:none}   
.post-side{display:grid;gap:18px;position:sticky;top:96px}
.widget{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.widget__ttl{margin:0 0 12px;font-family:var(--gothic);font-weight:900;font-size:15.5px;color:var(--head);padding-left:12px;border-left:4px solid var(--blue);line-height:1.4}
.w-cta{background:var(--navy);color:#fff;border-color:var(--navy)}
.w-cta .widget__ttl{color:#fff;border-left-color:#9fc0ff}
.w-cta p{margin:0 0 14px;font-size:14px;line-height:1.8;color:#dbe5f7}
.w-cta a{display:inline-flex;align-items:center;justify-content:center;width:100%;height:46px;border-radius:999px;background:var(--blue);color:#fff;font-family:var(--gothic);font-weight:700;font-size:14.5px}
.w-cta a:hover{background:#1a4290}
.w-recent a{display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.w-recent a:first-child{border-top:0;padding-top:0}
.w-recent img{width:88px;aspect-ratio:1200/630;object-fit:cover;border-radius:8px}
.w-recent b{display:block;font-family:var(--gothic);font-size:13.5px;line-height:1.5;color:var(--head)}
.w-recent span{display:block;font-size:12px;color:var(--note);margin-top:3px}
.w-list{list-style:none;padding:0;margin:0}
.w-list li{border-top:1px solid var(--line)}
.w-list li:first-child{border-top:0}
.w-list a{display:flex;justify-content:space-between;align-items:center;padding:9px 2px;font-size:14px;color:var(--head)}
.w-list a:hover{color:var(--blue)}
.w-list .n{font-size:12px;background:var(--pale);color:var(--blue);border-radius:999px;padding:2px 9px;font-family:var(--gothic);font-weight:700}
.cta-box{text-align:center}
.cta-box p{margin:0 0 26px;font-size:16.5px;line-height:2;color:#c3d0e4}
@media (max-width:1080px){
  .post-wrap{grid-template-columns:1fr}
  .post-side{position:static}
}
@media (max-width:768px){
  .p-card{grid-template-columns:1fr;gap:14px;padding:14px}
  .p-card__ttl{font-size:18px}
  .tips{grid-template-columns:1fr}
  .cmp{font-size:14px}
  .cmp th,.cmp td{padding:10px 10px}
  .cmp-wrap .cmp{min-width:640px}
  .scroll-note{display:block}
  .steps li{padding:16px 16px 16px 60px}
  .steps li::before{left:14px;top:16px;width:32px;height:32px;font-size:16px}
  .fig2{grid-template-columns:1fr}
  .post-author{grid-template-columns:72px 1fr;gap:14px;padding:18px}
  .post-author img{width:72px;height:72px}
}
