@font-face { font-family: Pretendard; src: url('fonts/PretendardVariable.woff2') format('woff2'); font-style: normal; font-weight: 45 920; font-display: swap; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 160px; }
body { margin: 0; }
img, video, iframe, svg { max-width: 100%; }
img, video { height: auto; }
:where(main, section, article, nav, div, form, figure) { min-width: 0; }
:where(p, h1, h2, h3, h4, li, a) { overflow-wrap: anywhere; }
a { text-underline-offset: 4px; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid #146EF5; outline-offset: 4px; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks > header { position: sticky; top: 0; z-index: 20; background: #fff; }
.welfare-header { background: #fff; border-bottom: 1px solid #EFF6FF; }
.admin-bar .wp-site-blocks > header { top: 32px; }
.welfare-header__inner, .welfare-footer__inner { max-width: 1200px; margin-inline: auto; }
.welfare-header__top { min-height: 94px; gap: 24px; }
.welfare-brand { gap: 12px; flex-wrap: wrap; }
.welfare-brand .wp-block-site-title { margin: 0; }
.welfare-brand .wp-block-site-logo img { max-height: 52px; width: auto; }
.welfare-search { width: min(360px, 46%); max-width: 100%; margin: 0; }
.wp-block-search__inside-wrapper { background: #EFF6FF; border: 0; border-radius: 8px; padding: 4px 6px 4px 14px; max-width: 100%; }
.wp-block-search__input { min-width: 0; max-width: 100%; background: transparent; color: #111827; border: 0; padding: 8px 0; font: inherit; }
.wp-block-search__button { background: transparent; color: #146EF5; border: 0; margin-left: 6px; padding: 6px; flex-shrink: 0; }
.welfare-mobile-search { display: none; }
.welfare-header-nav { width: 100%; }
.welfare-header__inner > .wp-block-navigation { margin-top: 0; }
.welfare-header-nav .wp-block-navigation__container { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0; }
.welfare-header-nav .wp-block-navigation-item { flex: 1 1 auto; justify-content: center; color: #111827; }
.welfare-header-nav .wp-block-navigation-item__content { display: block; padding: 17px 8px; text-decoration: none; border-bottom: 3px solid transparent; }
.welfare-header-nav .current-menu-item > .wp-block-navigation-item__content { color: #146EF5; border-bottom-color: #146EF5; }
.welfare-header-nav .wp-block-navigation-item__content:hover { border-bottom-color: #38BDF8; color: #146EF5; }
.welfare-main { padding-top: clamp(32px, 5vw, 64px); padding-bottom: 80px; }
.welfare-intro { margin-bottom: 32px; }
.welfare-eyebrow { color: #146EF5; font-size: .8rem; letter-spacing: .14em; font-weight: 700; margin: 0 0 10px; }
.welfare-intro h1 { font-size: clamp(1.7rem, 3.5vw, 2.5rem); margin: 0; }
.welfare-intro p:last-child { margin-top: 12px; }
.welfare-home { max-width: 1200px; margin-inline: auto; }
.welfare-hero { display: grid; grid-template-columns: minmax(0, 58fr) minmax(0, 42fr); gap: 32px; }
.welfare-hero:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
.welfare-hero__side { display: grid; gap: 24px; align-content: start; }
.welfare-card { position: relative; min-width: 0; max-width: 100%; border-bottom: 1px solid #EFF6FF; }
.welfare-card__image { width: 100%; aspect-ratio: 16 / 9; border-radius: 10px; }
.welfare-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.welfare-card__body { min-width: 0; padding: 18px 0 22px; }
.welfare-card__category { display: inline-block; color: #146EF5; font-size: .8125rem; font-weight: 700; margin-bottom: 8px; }
.welfare-card__title { margin: 0; font-size: 1.3rem; letter-spacing: -.035em; line-height: 1.45; word-break: keep-all; }
.welfare-card__title a { color: inherit; text-decoration: none; }
.welfare-card__title a::after { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: 10px; }
.welfare-card:hover .welfare-card__title a { color: #146EF5; text-decoration: underline; text-decoration-color: #38BDF8; }
.welfare-card__title a:focus-visible { outline: none; }
.welfare-card__title a:focus-visible::after { outline: 3px solid #146EF5; outline-offset: 4px; }
.welfare-card__excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 12px 0 0; line-height: 1.7; }
.welfare-card__date { display: block; margin-top: 16px; font-size: .8rem; font-variant-numeric: tabular-nums; }
.welfare-card--lead { background: #EFF6FF; border-radius: 14px; border: 0; align-self: start; }
.welfare-card--lead .welfare-card__image { border-radius: 14px 14px 0 0; }
.welfare-card--lead .welfare-card__body { padding: clamp(22px, 3vw, 32px); }
.welfare-card--lead .welfare-card__title { font-size: clamp(1.65rem, 2.7vw, 2.25rem); line-height: 1.35; }
.welfare-card--lead .welfare-card__category { background: #fff; border-radius: 4px; padding: 3px 9px; }
.welfare-card--side { display: grid; grid-template-columns: minmax(0, 34fr) minmax(0, 66fr); gap: 18px; padding-bottom: 22px; align-items: start; }
.welfare-card--side .welfare-card__body { padding: 0; }
.welfare-card--side .welfare-card__title { font-size: 1.1rem; }
.welfare-card--side .welfare-card__date { margin-top: 12px; }
.welfare-section { margin-top: clamp(48px, 7vw, 80px); }
.welfare-section__heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 26px; border-top: 2px solid #111827; padding-top: 22px; }
.welfare-section__heading h2 { margin: 0; font-size: clamp(1.35rem, 2.5vw, 1.75rem); }
.welfare-more { text-decoration: none; font-size: .875rem; white-space: nowrap; }
.welfare-more span { margin-left: 8px; }
.welfare-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.welfare-feed .wp-block-post-template { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; margin: 0; padding: 0; }
.welfare-card--list { display: grid; grid-template-columns: minmax(0, 35fr) minmax(0, 65fr); gap: 28px; padding-bottom: 28px; align-items: center; }
.welfare-card--list .welfare-card__body { padding: 0; }
.welfare-card--list .welfare-card__title { font-size: 1.5rem; }
.welfare-card--text { grid-template-columns: minmax(0, 1fr); }
.welfare-card--lead.welfare-card--text .welfare-card__body { padding-block: 40px; }
.wp-block-query-pagination { gap: 12px; flex-wrap: wrap; margin-top: 40px; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 44px; border-radius: 6px; text-decoration: none; }
.wp-block-query-pagination .current { background: #EFF6FF; color: #146EF5; font-weight: 700; }
.welfare-footer { border-top: 1px solid #38BDF8; padding-block: 40px; }
.welfare-footer-nav .wp-block-navigation__container { gap: 16px 28px; flex-wrap: wrap; }
.welfare-footer-nav { font-size: .875rem; }
.welfare-footer-nav a { color: #111827; }
.welfare-footer__identity { gap: 8px; margin-top: 24px; flex-wrap: wrap; }
.welfare-footer__identity .wp-block-site-title, .welfare-copyright { font-size: .8125rem; font-weight: 400; letter-spacing: normal; margin: 0; }
.welfare-footer__identity .wp-block-site-title a { color: inherit; }
.welfare-article { padding-block: 56px 80px; }
.welfare-article .wp-block-post-title { margin-bottom: 20px; }
.welfare-article .wp-block-post-featured-image img { border-radius: 12px; }
.wp-block-post-content { word-break: keep-all; overflow-wrap: anywhere; }
.wp-block-post-content :where(pre, table) { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 100%; }
.wp-block-post-content table { table-layout: fixed; width: 100%; }
.wp-block-post-content td, .wp-block-post-content th { overflow-wrap: anywhere; }
.welfare-sitemap section + section { margin-top: 36px; }
.welfare-sitemap li { margin-bottom: 12px; }
.welfare-archive-grid .wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.editor-styles-wrapper .welfare-header { position: static; }
.editor-styles-wrapper .welfare-card__title a::after { pointer-events: none; }
@media (max-width: 1023px) {
    .welfare-hero { grid-template-columns: minmax(0, 1fr); }
    .welfare-hero__side { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .welfare-card--side { display: block; }
    .welfare-card--side .welfare-card__body { padding-top: 16px; }
    .welfare-grid, .welfare-archive-grid .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header { top: 46px; } }
@media (max-width: 767px) {
    html { scroll-padding-top: 130px; }
    .welfare-header__top { min-height: 72px; gap: 12px; }
    .welfare-brand { flex: 1; }
    .welfare-brand .wp-block-site-title { font-size: 1.35rem; }
    .welfare-search { display: none; }
    .welfare-mobile-search { display: block; position: relative; flex: 0 0 44px; margin: 0; }
    .welfare-mobile-search summary { cursor: pointer; padding: 10px; list-style: none; min-height: 44px; }
    .welfare-mobile-search summary::-webkit-details-marker { display: none; }
    .welfare-mobile-search summary::after { content: '⌕'; color: #146EF5; font-size: 2rem; line-height: 24px; display: block; text-align: center; }
    .welfare-mobile-search > .wp-block-search { position: absolute; right: 0; top: 54px; width: min(340px, calc(100vw - 40px)); max-width: calc(100vw - 40px); background: #fff; padding: 12px; border: 1px solid #38BDF8; border-radius: 8px; z-index: 25; }
    nav.welfare-header-nav { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
    .welfare-header-nav .wp-block-navigation__container { width: max-content; flex-shrink: 0; flex-wrap: nowrap; justify-content: flex-start; gap: 22px; }
    .welfare-header-nav .wp-block-navigation-item { flex: 0 0 auto; }
    .welfare-header-nav .wp-block-navigation-item__content { white-space: nowrap; padding: 12px 0; font-size: .9rem; }
    .welfare-hero__side, .welfare-grid, .welfare-archive-grid .wp-block-post-template { grid-template-columns: minmax(0, 1fr); }
    .welfare-card--side { display: grid; grid-template-columns: minmax(0, 30fr) minmax(0, 70fr); }
    .welfare-card--side .welfare-card__body { padding: 0; }
    .welfare-card--list { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .welfare-card--side.welfare-card--text { grid-template-columns: minmax(0, 1fr); }
    .welfare-card--list .welfare-card__title { font-size: 1.3rem; }
    .welfare-article { padding-top: 32px; }
}
@media (max-width: 600px) { .admin-bar .wp-site-blocks > header { top: 0; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
