/* 一覧だけでテーマ・開催日を選べる、自治体向けセミナーページ。 */
.seminars-page{--seminar-blue:#485bd1;--seminar-surface:#f0f2fc;font-weight:500;background:var(--seminar-surface)}
.seminars-page .site-header{background:#fff}
.seminars-wrap{width:min(1080px,calc(100% - 80px));margin:auto}
.seminars-hero{position:relative;padding:12px 24px 54px;background:#fff;text-align:center;border-radius:0 0 50% 50% / 0 0 28px 28px}
.seminars-hero::after{content:"";position:absolute;bottom:-23px;left:calc(50% - 24px);border-left:24px solid transparent;border-right:24px solid transparent;border-top:24px solid #fff}
.seminars-breadcrumbs{display:flex;gap:10px;align-items:center;width:min(1200px,100%);margin:0 auto 35px;font-size:12px;color:#63717b;text-align:left}
.seminars-breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.seminars-hero h1{font-size:38px;font-weight:800;line-height:1.5;letter-spacing:.025em}
.seminars-hero h1 span{display:inline-block}
.seminars-catalog{padding:74px 0 16px}
.seminars-section-title{scroll-margin-top:calc(var(--site-header-height) + 24px);display:flex;align-items:center;justify-content:center;gap:20px;margin:0 0 38px;font-size:28px;font-weight:800;line-height:1.6;letter-spacing:.025em}
.seminars-section-title::before,.seminars-section-title::after{content:"";width:24px;height:3px;background:#a2abe4;border-radius:3px}
.seminars-list{display:grid;gap:38px}
.seminar-card{padding:36px 42px 42px;background:#fff;border-radius:28px;box-shadow:0 8px 28px #27356b07;min-width:0}
.seminar-card h3{font-size:25px;font-weight:800;line-height:1.6;letter-spacing:.015em;text-align:center;margin:0 0 28px}
.seminar-title-phrase{display:inline-block;max-width:100%;overflow-wrap:anywhere}
.seminar-card-body{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.18fr);align-items:center;gap:36px}
.seminar-visual{--thumbnail-bg:#202d50;--thumbnail-accent:#f7de81;container-type:inline-size;position:relative;aspect-ratio:16/9;border:1px solid #202d50;border-radius:8px;overflow:hidden;background:var(--thumbnail-bg);color:#fff}
.seminar-visual-image{aspect-ratio:auto;border:0}
.seminar-visual-image img{display:block;width:100%;height:auto}
.seminar-visual-brand{position:relative;z-index:3;height:15%;display:flex;align-items:center;justify-content:space-between;gap:3cqw;padding:0 5cqw;background:#fff;color:#26354a}
.seminar-visual-brand img{display:block;width:24cqw;height:auto}
.seminar-visual-brand>span{font-size:2.5cqw;font-weight:700;letter-spacing:.025em;white-space:nowrap}
.seminar-visual-main{position:relative;isolation:isolate;height:85%;padding:4cqw 5cqw;display:flex;flex-direction:column;align-items:flex-start}
.seminar-visual-main::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(115deg,transparent 0 72%,#ffffff07 72% 84%,#ffffff0d 84%)}
.seminar-visual-label{display:flex;align-items:center;gap:1.8cqw;font-size:2.85cqw;font-weight:700;letter-spacing:.065em;line-height:1.5;color:var(--thumbnail-accent)}
.seminar-visual-label::before{content:"";width:4cqw;height:2px;background:currentColor}
.seminar-visual-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:1cqw;margin:2.2cqw 0 0;font-weight:900;font-size:10cqw;line-height:1.16;letter-spacing:-.045em;white-space:nowrap}
.seminar-visual-copy>span:last-child{padding:0 .15em .05em;background:var(--thumbnail-accent);color:var(--thumbnail-bg);margin-left:-.15em}
.seminar-visual-subtitle{position:relative;z-index:2;margin:auto 0 0;font-size:2.9cqw;font-weight:500;line-height:1.5;letter-spacing:.025em}
.seminar-theme-experience .seminar-visual{--thumbnail-bg:#334fba;--thumbnail-accent:#c6f2e9}
.seminar-theme-case-study .seminar-visual{--thumbnail-bg:#184e4b;--thumbnail-accent:#f7e5b3}
/* 登壇者写真が届いたら portrait に背景透過PNG/WebPを指定する。未提供時は文字だけで完結。 */
.seminar-visual-portrait{position:absolute;z-index:1;right:0;bottom:0;width:43%;height:96%;object-fit:contain;object-position:right bottom}
.seminar-visual.has-portrait .seminar-visual-copy{font-size:7cqw;max-width:67%}
.seminar-visual.has-portrait .seminar-visual-subtitle{max-width:62%;font-size:2.65cqw;text-wrap:balance}
.seminar-info{min-width:0}
.seminar-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px;font-size:12px;font-weight:700}
.seminar-tags span{display:inline-block;padding:5px 11px;border-radius:5px;background:#ecf0fb;color:#4258b2;line-height:1.5}
.seminar-tags .seminar-free{background:#edf6f3;color:#286e66}
.seminar-tags .seminar-ended{background:#edf0f3;color:#56606d}
.seminar-schedule{margin:0 0 17px}
.seminar-schedule-label{margin:0 0 7px;color:#626e79;font-size:12px;font-weight:700;line-height:1.5}
.seminar-sessions{list-style:none;margin:0;padding:0;border-top:1px solid #dce1ed}
.seminar-session{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #dce1ed;line-height:1.5;font-variant-numeric:tabular-nums}
.seminar-session-date{display:flex;align-items:baseline;gap:9px;white-space:nowrap}
.seminar-session-year{color:#626e79;font-size:11px;font-weight:500}
.seminar-session-day{font-size:20px;font-weight:700;letter-spacing:.01em}
.seminar-session-weekday{font-size:13px;font-weight:500}
.seminar-session-time{display:flex;align-items:baseline;gap:2px;font-size:16px;font-weight:700;white-space:nowrap}
.seminar-session-time>span{font-size:12px;font-weight:500}
.seminar-session.is-ended{color:#626e79}
.seminar-description{font-size:15px;font-weight:400;line-height:1.95;margin:0 0 23px}
.seminar-link{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:12px 22px;min-height:50px;border:2px solid var(--ink);border-radius:999px;box-shadow:0 4px 0 var(--ink);background:var(--seminar-blue);color:#fff;font-size:15px;font-weight:700;line-height:1.5;transition:transform .15s,box-shadow .15s,background-color .15s}
.seminar-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.seminars-footer{justify-content:space-between;align-items:center;padding:26px max(24px,calc((100% - 1200px)/2));background:#fff;font-size:12px}
.seminars-footer a{white-space:nowrap;text-underline-offset:4px}
.seminars-page [hidden]{display:none!important}
@media(hover:hover){
 .seminar-link:hover{background:#3d4fbf;transform:translateY(2px);box-shadow:0 2px 0 var(--ink)}
}
@media(max-width:1000px){
 .seminars-wrap{width:calc(100% - 48px)}
 .seminar-card{padding:30px}
 .seminar-card-body{gap:26px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
 .seminar-description{font-size:14px}
}
@media(max-width:760px){
 .seminars-hero{padding:12px 20px 38px}
 .seminars-breadcrumbs{margin-bottom:28px;font-size:11px}
 .seminars-hero h1{font-size:37px}
 .seminars-hero h1 span{display:block;font-size:20px;margin-bottom:6px}
 .seminars-wrap{width:calc(100% - 36px)}
 .seminars-catalog{padding-top:44px}
 .seminars-section-title{font-size:23px;gap:12px;margin-bottom:28px}
 .seminars-section-title::before,.seminars-section-title::after{width:16px}
 .seminars-list{gap:28px}
 .seminar-card{padding:22px 20px 26px;border-radius:22px}
 .seminar-card h3{font-size:20px;line-height:1.6;margin-bottom:18px;text-wrap:balance}
 .seminar-card-body{grid-template-columns:1fr;gap:20px}
 .seminar-visual{width:100%;max-width:420px;margin:auto}
 .seminar-tags{font-size:11px;gap:7px;margin-bottom:12px}
 .seminar-session-date{flex-wrap:wrap;column-gap:8px;row-gap:1px}
 .seminar-session-year{flex-basis:100%}
 .seminar-session{padding:10px 0}
 .seminar-description{font-size:15px;margin-bottom:20px;line-height:1.9}
 .seminar-link{display:flex;width:100%;font-size:15px;min-height:52px}
 .seminars-footer{flex-direction:column;gap:16px;padding:24px 18px;font-size:11px;text-align:center}
 .seminars-footer a{margin-left:0}
}
@media(max-width:360px){
 .seminar-card{padding:22px 17px 26px}
 .seminar-card h3{font-size:19px}
 .seminar-session{gap:6px}
 .seminar-session-day{font-size:19px}
 .seminar-session-weekday{font-size:12px}
 .seminar-session-time{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.seminar-link{transition:none}}
