/* R6. Official f-marinos.com observed 2026-09-12: navy schedule,
   blue membership, white news, dark red SNS, 10% blue schedule.
   Original KFA markup/styles; no reference assets or code imported. */
:root { --c-lightblue:#e5ecf5; --c-red-dark:#990000; --c-surface:var(--c-lightblue); }
.kfa-section[data-band="white"] { background:#fff; }
.kfa-section[data-band="lightblue"] { background:var(--c-lightblue); }
.kfa-section[data-band="red"] { background:var(--c-red-dark); color:#fff; }
.kfa-section[data-band="red"] .kfa-heading-en__en,
.kfa-section[data-band="red"] .kfa-heading-en__ja { color:#fff; }
.kfa-section[data-band="red"] .kfa-sns-row span { color:#fff; background:transparent; border-color:rgba(255,255,255,.6); }
.kfa-features { background:var(--c-primary); }
.kfa-features__card-body { padding:20px; }
.kfa-recruit-band { min-height:0; padding:44px 20px; }
.kfa-recruit-band::before, .kfa-recruit-band::after { display:none; }
.kfa-recruit-band__inner { width:100%; max-width:1100px; padding:0; gap:36px; }
.kfa-recruit-band__title { font-family:var(--f-jp); font-size:24px; font-weight:700; }
.kfa-recruit-band__title span { font-weight:400; }
.kfa-recruit-band__list { gap:20px; }
.kfa-recruit-band__list b { font-family:var(--f-jp); font-size:28px; }
.kfa-recruit-band__more { margin-top:24px; }
.kfa-btn, .kfa-btn--large { border-radius:4px; }
.kfa-recruit-band__more .kfa-btn { font-size:14px; min-height:44px; }
.kfa-footer { margin-top:0; }
.kfa-footer__sns { background:var(--c-primary); }
@media (min-width:768px) {
 .kfa-recruit-band__list { flex-direction:row; }
 .kfa-recruit-band__list li { flex:1; min-width:0; border-bottom:0; border-left:1px solid rgba(255,255,255,.45); padding:4px 0 4px 20px; }
 .kfa-recruit-band__list b { font-size:27px; white-space:nowrap; }
 .kfa-recruit-band__more { text-align:right; }
}
@media (min-width:1200px) { .kfa-recruit-band__list b { font-size:34px; } }
/* R7: dimensions measured on f-marinos.com, 2026-09-12.
   Card width 330px (280 below 360), height 305px, header 41px.
   Text and the official emblem are KFA content. */
.kfa-badge,.kfa-card__tag { font-size:12px; line-height:18px; white-space:nowrap; flex-shrink:0; }
#kfa-trial-form { scroll-margin-top:160px; }
.kfa-events { background:var(--c-secondary); color:#fff; padding:24px 0 16px; scroll-margin-top:160px; }
.kfa-events__inner { width:100%; margin:auto; }
.kfa-events__heading { text-align:center; padding:0 12px; margin-bottom:24px; }
.kfa-events__heading h2 { color:#fff; font-size:30px; line-height:30px; font-weight:700; letter-spacing:normal; }
.kfa-event-filters { display:flex; justify-content:center; margin:0 auto 24px; padding:0 12px; gap:4px; }
.kfa-event-filters button { width:146px; min-width:0; flex:0 1 146px; height:46.390625px; background:rgba(223,225,229,.65); color:#fff; padding:0 16px; font-size:16px; line-height:24px; letter-spacing:normal; white-space:nowrap; transition:background .2s; }
.kfa-event-filters button:first-child { border-radius:6px 0 0 6px; }
.kfa-event-filters button:last-child { border-radius:0 6px 6px 0; }
.kfa-event-filters button[aria-pressed="true"] { background:#004098; font-weight:700; }
.kfa-event-filters button:hover { background:#002e6d; }
.kfa-event-track { display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:0 max(0px,calc((100% - 670px)/2)); }
.kfa-event-track::-webkit-scrollbar { display:none; }
.kfa-event-track[data-filtered="true"] { padding-inline:max(0px,calc((100% - 330px)/2)); }
.kfa-event { --card-pad:24px; --date-size:52.5px; --date-height:39.375px; position:relative; flex:0 0 330px; width:330px; height:305px; padding:0; margin:0; overflow:hidden; background:#fff; color:#454545; border:0; border-radius:6px; box-shadow:none; font-family:var(--f-jp); font-size:16px; line-height:24px; letter-spacing:normal; scroll-snap-align:center; }
.kfa-event[hidden] { display:none; }
.kfa-event__header { display:flex; align-items:center; height:41px; padding:0; border-radius:6px 6px 0 0; background:rgba(223,225,229,.65); overflow:hidden; }
.kfa-event__category { position:relative; display:flex; align-items:center; justify-content:center; flex:0 0 49.3828125px; width:49.3828125px; height:41px; padding:4.8px 8px 0; background:#004098; color:#fff; font-family:var(--f-teko); font-size:20px; line-height:30px; font-weight:400; letter-spacing:normal; white-space:nowrap; }
.kfa-event__category::after { content:""; position:absolute; right:-17px; top:0; width:17px; height:41px; background:linear-gradient(to left top,rgba(255,255,255,0) 50%,#004098 50.5%); }
.kfa-event__place { position:relative; margin-left:16px; margin-right:8px; color:#454545; font-size:14px; font-weight:400; line-height:21px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.kfa-event__body { position:relative; height:264px; padding:12px var(--card-pad); }
.kfa-event__date-row { position:absolute; top:16px; left:var(--card-pad); display:flex; align-items:flex-end; gap:8px; height:var(--date-height); white-space:nowrap; }
.kfa-event__date { font-family:var(--f-teko); font-size:var(--date-size); line-height:.75; font-weight:400; letter-spacing:normal; }
.kfa-event__time { font-size:14px; line-height:21px; font-weight:400; padding-bottom:3px; white-space:nowrap; }
.kfa-event__info { position:absolute; left:var(--card-pad); top:calc(36px + var(--date-height)); width:calc(100% - 2*var(--card-pad) - 79px); height:57px; }
.kfa-event__info h3 { margin:0 0 8px; padding:4px 0 0; font-size:16px; line-height:24px; font-weight:700; letter-spacing:normal; white-space:nowrap; }
.kfa-event__info p { margin:0; padding:0; font-size:14px; line-height:21px; font-weight:400; letter-spacing:normal; white-space:nowrap; }
.kfa-event__emblem { position:absolute; left:calc(100% - var(--card-pad) - 70px); top:calc(101px + var(--date-height)); width:85px; height:0; }
.kfa-event__emblem img { position:absolute; bottom:0; left:0; width:85px; height:auto; max-width:none; }
.kfa-event__actions { position:absolute; left:var(--card-pad); top:calc(109px + var(--date-height)); width:calc(100% - 2*var(--card-pad)); }
.kfa-event__action-row { display:flex; align-items:stretch; justify-content:space-between; }
.kfa-event__button { display:flex; align-items:center; justify-content:center; position:relative; width:48%; height:40px; min-height:0; padding:10.4px 16px; border:1px solid #004098; border-radius:4px; color:#004098; font-family:var(--f-jp); font-size:14px; line-height:14px; font-weight:500; letter-spacing:normal; white-space:nowrap; background:transparent; }
.kfa-event__button--accent { color:#fff; border:0; background:#e60039; }
.kfa-event__button--gold { margin-top:8px; width:100%; color:#fff; border:1px solid #b68933; background:#b68933; }
.kfa-event__button[aria-disabled="true"] { cursor:default; }
a.kfa-event__button:hover { background:#002e6d; color:#fff; }
.kfa-event__button--gold:hover { border-color:#8e6b28; background:#98732b; }
.kfa-event__button:focus-visible { outline:2px solid #004098; outline-offset:2px; }
.kfa-events__more { display:flex; align-items:center; justify-content:center; gap:16px; width:180px; min-height:40px; margin:16px auto 0; font-size:14px; line-height:21px; }
.kfa-events__more:hover { text-decoration:underline; }
.kfa-event-scroll { display:flex; justify-content:center; align-items:center; gap:20px; padding:12px 12px 0; font-size:11px; line-height:18px; }
.kfa-event-scroll[hidden] { display:none; }
.kfa-event-scroll button { width:44px; height:44px; font-size:30px; line-height:1; }
.kfa-event-scroll button:disabled { opacity:.3; cursor:default; }
.kfa-event-filters button:focus-visible,.kfa-event-scroll button:focus-visible,.kfa-event-track:focus-visible,.kfa-events__more:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.kfa-visually-hidden { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (min-width:768px) { .kfa-event { --date-size:63px; --date-height:47.25px; } }
@media (min-width:1029px) { .kfa-event { --date-size:73.5px; --date-height:55.125px; } }
@media (max-width:767px) {
 #kfa-trial-form { scroll-margin-top:96px; }
 .kfa-events { scroll-margin-top:96px; }
 .kfa-events__heading h2 { font-size:25px; line-height:25px; }
 .kfa-event-filters { margin-bottom:16px; }
 .kfa-event-filters button { padding-inline:8px; }
 .kfa-event-track { padding-inline:calc((100% - 330px)/2); }
}
@media (max-width:359px) {
 .kfa-event { --card-pad:16px; flex-basis:280px; width:280px; }
 .kfa-event-track,.kfa-event-track[data-filtered="true"] { padding-inline:calc((100% - 280px)/2); }
}
@media(prefers-reduced-motion:reduce) { .kfa-event-filters button { transition:none; } }

/* 2026-09-29: approved comparison B, event section background only. */
#event-topics{background:#14132f!important;}
