/* TOPページと共通の説明会・メールマガジン導線 */
.floating-banners{position:fixed;right:auto;bottom:8px;left:50%;z-index:98;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(260px,calc(100% - 24px));opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%);transition:opacity .2s ease,visibility .2s ease}
.floating-banners.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.floating-banner{display:block;min-width:0;aspect-ratio:150/80;margin:0;padding:0;overflow:hidden;background:transparent;border:0;box-shadow:0 5px 18px rgba(4,21,43,.22);cursor:pointer}
.floating-banner picture,.floating-banner img{display:block;width:100%;height:100%}.floating-banner img{object-fit:contain}.floating-banner:focus-visible{outline:4px solid #ffcf44;outline-offset:2px}
@media(min-width:768px){.floating-banners{right:20px;bottom:20px;left:auto;grid-template-columns:1fr;gap:8px;width:min(280px,calc(100% - 40px));transform:none}.floating-banner{aspect-ratio:480/125}}

.smj-overlay,.smm-overlay{display:none;position:fixed;inset:0;z-index:99999;padding:24px;overflow-y:auto;align-items:flex-start;justify-content:center;background:rgba(7,18,38,.62);backdrop-filter:blur(3px)}
.smj-overlay.smj-open,.smm-overlay.smm-open{display:flex}
.smj-modal,.smm-modal{position:relative;width:100%;max-width:720px;margin:auto;overflow:hidden;color:#1c2433;background:#fff;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.4);font-family:"Noto Sans JP",sans-serif;line-height:1.8;animation:modalPop .3s ease}
@keyframes modalPop{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.smj-close,.smm-close{position:absolute;top:14px;right:16px;z-index:5;width:34px;height:34px;padding:0;color:#fff;background:rgba(255,255,255,.2);border:0;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}
.smj-close:hover,.smm-close:hover{background:rgba(255,255,255,.35)}
.smj-hero,.smm-hero{position:relative;padding:32px 34px 30px;overflow:hidden;color:#fff;background:linear-gradient(155deg,#0b2a5b 0%,#071d40 100%)}
.smj-hero::after,.smm-hero::after{content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:rgba(255,255,255,.05);border-radius:50%}
.smj-hero-content,.smm-hero-content{position:relative;z-index:1}
.smj-eyebrow,.smm-eyebrow{display:inline-block;margin-bottom:14px;padding:4px 14px;color:#dce6f6;border:1px solid rgba(255,255,255,.35);border-radius:40px;font-size:12px;letter-spacing:.12em}
.smj-h1,.smm-h1{margin:0 0 10px;font-family:"Noto Serif JP",serif;font-size:24px;font-weight:700;letter-spacing:.02em;line-height:1.45}
.smj-accent,.smm-accent{color:#f0d79a}.smj-lead,.smm-lead{max-width:580px;margin:0;color:#cdd9ee;font-size:13.5px}
.smj-free,.smm-free{display:inline-flex;margin-top:16px;padding:6px 14px;align-items:center;gap:7px;color:#eaf1fc;background:rgba(255,255,255,.1);border-radius:8px;font-size:12.5px}
.smj-body,.smm-body{padding:34px}.smj-sechead,.smm-sechead{margin-bottom:26px;text-align:center}
.smj-ja,.smm-ja{color:#0b2a5b;font-family:"Noto Serif JP",serif;font-size:20px;font-weight:700;letter-spacing:.04em}
.smj-bar,.smm-bar{width:44px;height:3px;margin:14px auto 0;background:#c9a14a;border-radius:2px}
.smj-cards,.smm-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.smj-card{display:flex;position:relative;padding:30px 24px 24px;flex-direction:column;background:#fbfcfe;border:1px solid #e2e7ef;border-radius:14px}
.smj-badge{position:absolute;top:-13px;left:24px;padding:5px 16px;color:#fff;background:#0b2a5b;border-radius:30px;font-size:12.5px;font-weight:700;letter-spacing:.08em}
.smj-date{color:#1c2433;font-family:"Noto Serif JP",serif;font-size:30px;font-weight:700;line-height:1.2}.smj-yr{display:block;margin-bottom:3px;color:#5a6577;font-size:13px;font-weight:500}.smj-dow{margin-left:3px;color:#1457c8;font-size:18px}.smj-time{display:inline-flex;margin-top:12px;align-items:center;gap:6px;font-size:14.5px;font-weight:500}.smj-ico{color:#1457c8}.smj-div{height:1px;margin:18px 0;background:#e2e7ef}.smj-meta{display:flex;margin-bottom:5px;gap:8px;color:#5a6577;font-size:12.5px}.smj-meta b{min-width:58px;color:#1c2433;font-weight:500}
.smj-btn,.smm-btn{display:block;margin-top:22px;padding:14px;color:#fff!important;background:#1457c8;border-radius:10px;font-size:15px;font-weight:700;text-align:center;text-decoration:none;transition:background .2s ease}.smj-btn:hover,.smm-btn:hover{background:#0e44a0}.smj-sub,.smm-sub{display:block;margin-top:2px;font-size:11px;font-weight:400;letter-spacing:.05em;opacity:.85}.smj-note,.smm-note{margin-top:20px;color:#5a6577;font-size:12px;text-align:center}
.smj-know{margin-top:30px;padding:26px 28px;background:#f6f8fb;border:1px solid #e2e7ef;border-radius:14px}.smj-know h3{margin:0 0 18px;color:#0b2a5b;font-family:"Noto Serif JP",serif;font-size:16px;font-weight:700;text-align:center}.smj-know ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:0;padding:0;list-style:none}.smj-know li{display:flex;align-items:flex-start;gap:10px;color:#1c2433;font-size:13.5px}.smj-chk{flex-shrink:0;margin-top:2px;color:#1457c8;font-weight:700}
.smm-cards{gap:18px}.smm-card{display:flex;position:relative;padding:22px 22px 20px;flex-direction:column;background:#fbfcfe;border:1px solid #e2e7ef;border-radius:14px}.smm-badge{align-self:flex-start;margin-bottom:12px;padding:4px 12px;color:#fff;background:#0b2a5b;border-radius:30px;font-size:11.5px;font-weight:700;letter-spacing:.06em}.smm-ct{margin:0 0 8px;color:#1c2433;font-family:"Noto Serif JP",serif;font-size:15.5px;font-weight:700;line-height:1.5}.smm-cd{margin:0;color:#5a6577;font-size:12.5px;line-height:1.75}.smm-btn{margin-top:26px;padding:16px;font-size:16px}.smm-sub{margin-top:3px;font-size:11.5px;letter-spacing:.03em}.smm-note{margin-top:18px}
@media(max-width:640px){.smj-overlay,.smm-overlay{padding:12px}.smj-hero,.smm-hero{padding:26px 22px 24px}.smj-h1,.smm-h1{font-size:20px}.smj-body,.smm-body{padding:26px 20px}.smj-cards{grid-template-columns:1fr;gap:26px}.smm-cards{grid-template-columns:1fr;gap:16px}.smj-know ul{grid-template-columns:1fr}}
