@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: Karterrace renewal / approved Figma PC and mobile designs
    Version: 2.0.0
    Author: LOOS WEB STUDIO
*/

:root {
	--ktr-ink: #16272f;
	--ktr-text: #3a4f58;
	--ktr-muted: #6b7d86;
	--ktr-primary: #04384c;
	--ktr-accent: #0b6b82;
	--ktr-pale: #f3f7f8;
	--ktr-line: #dde5e8;
	--ktr-white: #fff;
	--ktr-shadow: 0 14px 38px rgba(4, 56, 76, 0.1);
	--ktr-container: 1200px;
}

body.ktr-preview { background: var(--ktr-white); color: var(--ktr-text); font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Hiragino Sans", "Noto Sans JP", sans-serif; font-size: 16px; line-height: 1.8; margin: 0; overflow-x: hidden; }
.ktr-site, .ktr-site * { box-sizing: border-box; }
.ktr-site { background: var(--ktr-white); color: var(--ktr-text); min-height: 100vh; }
.ktr-site img { display: block; height: auto; max-width: 100%; }
.ktr-site a { color: inherit; text-decoration: none; }
.ktr-site a, .ktr-site button, .ktr-site summary { transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease, opacity .18s ease; }
.ktr-site a:focus-visible, .ktr-site button:focus-visible, .ktr-site input:focus-visible, .ktr-site select:focus-visible, .ktr-site textarea:focus-visible, .ktr-site summary:focus-visible { outline: 3px solid rgba(11,107,130,.42); outline-offset: 3px; }
.ktr-site p, .ktr-site h1, .ktr-site h2, .ktr-site h3, .ktr-site ul, .ktr-site ol, .ktr-site figure { margin: 0; }
.ktr-site ul, .ktr-site ol { list-style: none; padding: 0; }
.ktr-container { margin-inline: auto; max-width: var(--ktr-container); width: calc(100% - 48px); }
.ktr-main { min-height: 45vh; }

.ktr-header { background: var(--ktr-white); border-bottom: 1px solid var(--ktr-line); position: sticky; top: 0; z-index: 1000; }
body.admin-bar .ktr-header { top: 32px; }
.ktr-header__utility { background: var(--ktr-primary); color: rgba(255,255,255,.82); font-size: 12px; }
.ktr-header__utility-inner { align-items: center; display: flex; justify-content: space-between; min-height: 34px; }
.ktr-header__utility nav { display: flex; gap: 22px; }
.ktr-header__utility a:hover { color: var(--ktr-white); text-decoration: underline; }
.ktr-header__main { align-items: center; display: flex; gap: 18px; min-height: 82px; }
.ktr-brand { align-items: baseline; display: inline-flex; flex: none; gap: 10px; }
.ktr-brand .ktr-brand__logo { height: auto; width: 280px; }
.ktr-brand--footer { background: #fff; max-width: 100%; padding-block: 10px; }
.ktr-brand__name { color: var(--ktr-primary); font-size: 27px; font-weight: 700; letter-spacing: .05em; line-height: 1.2; }
.ktr-brand__byline { color: #7c8b92; font-size: 10px; letter-spacing: .05em; white-space: nowrap; }
.ktr-header__nav { align-items: stretch; align-self: stretch; display: flex; gap: 18px; margin-left: auto; }
.ktr-header__nav a { align-items: center; border-bottom: 3px solid transparent; color: var(--ktr-ink); display: inline-flex; font-size: 12px; font-weight: 700; padding-top: 3px; white-space: nowrap; }
.ktr-header__nav a:hover { color: var(--ktr-accent); }
.ktr-header__nav a[aria-current="page"] { border-bottom-color: var(--ktr-accent); color: var(--ktr-accent); }
.ktr-header__nav-group { align-items: stretch; display: flex; position: relative; }
.ktr-header__nav-group > summary { align-items: center; border-bottom: 3px solid transparent; color: var(--ktr-ink); cursor: pointer; display: inline-flex; font-size: 12px; font-weight: 700; gap: 7px; list-style: none; padding-top: 3px; white-space: nowrap; }
.ktr-header__nav-group > summary::-webkit-details-marker { display: none; }
.ktr-header__nav-group > summary::after { border-bottom: 1.5px solid currentColor; border-right: 1.5px solid currentColor; content: ""; height: 5px; transform: translateY(-2px) rotate(45deg); transition: transform .18s ease; width: 5px; }
.ktr-header__nav-group[open] > summary::after { transform: translateY(1px) rotate(225deg); }
.ktr-header__nav-group > summary:hover, .ktr-header__nav-group.is-current > summary { color: var(--ktr-accent); }
.ktr-header__nav-group.is-current > summary { border-bottom-color: var(--ktr-accent); }
.ktr-header__submenu { background: var(--ktr-white); border: 1px solid var(--ktr-line); box-shadow: var(--ktr-shadow); display: grid; left: -12px; min-width: 200px; padding: 7px; position: absolute; top: 100%; z-index: 2; }
.ktr-header__submenu a { border: 0; display: block; font-size: 13px; padding: 9px 10px; }
.ktr-header__submenu a:hover { background: var(--ktr-pale); }
.ktr-search { align-items: stretch; display: flex; height: 42px; }
.ktr-search input, .ktr-sidebar-search input { background: var(--ktr-white); border: 1px solid var(--ktr-line); border-radius: 0; color: var(--ktr-ink); font: inherit; font-size: 13px; min-width: 0; padding: 0 12px; width: 175px; }
.ktr-header__main > .ktr-search input { width: 142px; }
.ktr-search button, .ktr-sidebar-search button { background: var(--ktr-primary); border: 1px solid var(--ktr-primary); border-radius: 0; color: var(--ktr-white); cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; padding: 0 10px; }
.ktr-search button:hover, .ktr-sidebar-search button:hover { background: var(--ktr-accent); border-color: var(--ktr-accent); }
.ktr-mobile-nav { display: none; }
.ktr-search--mobile { display: none; }

.ktr-hero { background-color: var(--ktr-pale); background-image: linear-gradient(rgba(243,247,248,.34),rgba(243,247,248,.34)),url("../../uploads/2026/02/%E8%83%8C%E6%99%AF.jpg"); background-position: center; background-repeat: no-repeat; background-size: cover; border-bottom: 1px solid #e2eaec; }
.ktr-hero__grid { align-items: center; display: grid; gap: clamp(40px,5vw,72px); grid-template-columns: minmax(0,1.08fr) minmax(400px,.92fr); min-height: 550px; padding-block: 58px; }
.ktr-eyebrow, .ktr-hero__copy > .ktr-eyebrow { color: var(--ktr-accent); font-size: 11px; font-weight: 700; letter-spacing: .18em; margin-bottom: 16px; }
.ktr-hero__copy h1 { color: var(--ktr-ink); font-size: clamp(29px,2.4vw,36px); font-weight: 700; letter-spacing: .01em; line-height: 1.5; margin-bottom: 22px; text-wrap: balance; }
.ktr-hero__headline-line { display: block; }
.ktr-hero__copy h1 strong { color: var(--ktr-primary); font-size: 1.3em; letter-spacing: .04em; }
.ktr-hero__copy > p:not(.ktr-eyebrow) { color: #44585f; font-size: 15px; line-height: 2; max-width: 620px; }
.ktr-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.ktr-button { align-items: center; background: var(--ktr-primary); border: 1px solid var(--ktr-primary); color: var(--ktr-white)!important; display: inline-flex; font-size: 14px; font-weight: 700; justify-content: center; line-height: 1.4; min-height: 52px; padding: 13px 28px; }
.ktr-button:hover { background: var(--ktr-accent); border-color: var(--ktr-accent); box-shadow: 0 8px 22px rgba(4,56,76,.16); transform: translateY(-2px); }
.ktr-button--outline { background: var(--ktr-white); color: var(--ktr-primary)!important; }
.ktr-button--outline:hover { background: var(--ktr-pale); border-color: var(--ktr-primary); }
.ktr-button--full { width: 100%; }
.ktr-section-kicker { color: var(--ktr-primary); font-size: 13px; font-weight: 700; margin-bottom: 12px!important; padding-left: 14px; position: relative; }
.ktr-section-kicker::before { background: var(--ktr-primary); content: ""; height: 18px; left: 0; position: absolute; top: 3px; width: 4px; }

.ktr-section { padding-block: 72px; }
.ktr-section--tint { background: var(--ktr-pale); border-block: 1px solid #e2eaec; }
.ktr-section--categories { padding-top: 10px; }
.ktr-section-heading { align-items: end; border-bottom: 1px solid var(--ktr-line); display: flex; justify-content: space-between; margin-bottom: 32px; padding-bottom: 15px; }
.ktr-section-heading > div { border-left: 4px solid var(--ktr-primary); padding-left: 14px; }
.ktr-section-heading p { color: #8b989e; font-size: 10px; font-weight: 700; letter-spacing: .14em; line-height: 1.3; margin-bottom: 4px; }
.ktr-section-heading h2 { color: var(--ktr-primary); font-size: 25px; font-weight: 700; line-height: 1.4; }
.ktr-section-heading > a, .ktr-text-link { color: var(--ktr-accent)!important; font-size: 13px; font-weight: 700; }
.ktr-section-heading > a:hover, .ktr-text-link:hover { text-decoration: underline; }

.ktr-card-grid { display: grid; gap: 34px 28px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.ktr-card-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ktr-card { min-width: 0; }
.ktr-card__link { display: block; }
.ktr-card__link:hover { transform: translateY(-4px); }
.ktr-card__media { aspect-ratio: 16/9; background: var(--ktr-primary); overflow: hidden; position: relative; }
.ktr-card__media__image, .ktr-card__media > img { height: 100%; object-fit: cover; width: 100%; }
.ktr-card__media__fallback { background: linear-gradient(135deg,var(--ktr-primary),#0b6b82); color: var(--ktr-white); display: flex; flex-direction: column; height: 100%; justify-content: space-between; padding: 20px; }
.ktr-card__media__fallback span { font-size: 10px; font-weight: 700; letter-spacing: .18em; opacity: .65; }
.ktr-card__media__fallback strong { font-size: 18px; line-height: 1.55; }
.ktr-card__body { padding: 14px 2px 0; }
.ktr-card__meta { align-items: center; display: flex; flex-wrap: wrap; gap: 8px 10px; margin-bottom: 9px; }
.ktr-card__meta time { color: #8b989e; font-size: 11px; }
.ktr-tag { background: #e6f1f4; color: var(--ktr-accent)!important; display: inline-flex; font-size: 10px; font-weight: 700; line-height: 1.4; padding: 4px 8px; }
.ktr-tag--solid { background: var(--ktr-primary); color: var(--ktr-white)!important; font-size: 11px; padding: 6px 12px; }
.ktr-card__title { color: var(--ktr-ink); font-size: 15px; font-weight: 700; line-height: 1.62; }
.ktr-card__excerpt { color: var(--ktr-muted); display: -webkit-box; font-size: 13px; line-height: 1.8; margin-top: 10px!important; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.ktr-card--featured { background: var(--ktr-white); border: 1px solid var(--ktr-line); }
.ktr-card--featured .ktr-card__body { padding: 18px 21px 20px; }
.ktr-card--featured .ktr-card__title { font-size: 18px; }
.ktr-card--featured .ktr-card__link:hover { box-shadow: var(--ktr-shadow); transform: none; }

.ktr-topic-grid { display: grid; gap: 24px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.ktr-topic { background: var(--ktr-white); border-top: 4px solid var(--ktr-primary); box-shadow: 0 5px 20px rgba(4,56,76,.07); padding: 27px 26px; }
.ktr-topic > p { color: #8b989e; font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.ktr-topic > h3 { color: var(--ktr-primary); font-size: 20px; margin: 4px 0 16px; }
.ktr-topic__posts a { border-top: 1px solid #e9eef0; display: block; padding: 13px 0; }
.ktr-topic__posts a:hover strong { color: var(--ktr-accent); }
.ktr-topic__posts span { color: #8b989e; display: block; font-size: 10px; }
.ktr-topic__posts strong { color: var(--ktr-ink); display: -webkit-box; font-size: 13px; line-height: 1.65; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.ktr-topic > .ktr-text-link { display: inline-block; margin-top: 16px; }
.ktr-download-cta { align-items: center; background: var(--ktr-primary); color: var(--ktr-white); display: flex; gap: 50px; justify-content: space-between; padding: 40px 46px; }
.ktr-download-cta .ktr-eyebrow { color: rgba(255,255,255,.62); margin-bottom: 7px; }
.ktr-download-cta h2 { color: var(--ktr-white); font-size: 25px; line-height: 1.55; margin-bottom: 8px; }
.ktr-download-cta p:not(.ktr-eyebrow) { color: rgba(255,255,255,.74); font-size: 13px; }
.ktr-download-cta .ktr-button { background: var(--ktr-white); border-color: var(--ktr-white); color: var(--ktr-primary)!important; flex: none; }
.ktr-category-grid { display: grid; gap: 10px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.ktr-category-grid a { align-items: center; border: 1px solid var(--ktr-line); display: flex; justify-content: space-between; min-height: 62px; padding: 14px 17px; }
.ktr-category-grid a:hover { background: var(--ktr-pale); border-color: var(--ktr-primary); transform: translateY(-2px); }
.ktr-category-grid strong { color: var(--ktr-ink); font-size: 13px; }
.ktr-category-grid span { color: #8b989e; font-size: 9px; letter-spacing: .08em; }

.ktr-page-hero { background: var(--ktr-pale); border-bottom: 1px solid #e2eaec; padding-block: 58px; }
.ktr-page-hero .ktr-container > p:first-child, .ktr-page-hero__resource-grid > div > p:first-child { color: var(--ktr-accent); font-size: 10px; font-weight: 700; letter-spacing: .18em; margin-bottom: 8px; }
.ktr-page-hero h1 { color: var(--ktr-ink); font-size: clamp(29px,4vw,40px); line-height: 1.4; }
.ktr-page-hero__description { color: var(--ktr-muted)!important; font-size: 14px!important; line-height: 1.9; margin-top: 14px!important; max-width: 760px; }
.ktr-page-content { color: var(--ktr-text); }
.ktr-page-content > * + * { margin-block-start: 26px; }
.ktr-page-content p, .ktr-page-content li { color: var(--ktr-text); line-height: 1.9; }
.ktr-page-content h2 { border-bottom: 1px solid var(--ktr-line); color: var(--ktr-primary); font-size: 25px; line-height: 1.5; margin-bottom: 18px; padding-bottom: 12px; }
.ktr-page-content h3 { border-left: 4px solid var(--ktr-primary); color: var(--ktr-ink); font-size: 18px; line-height: 1.55; padding-left: 13px; }
.ktr-page-content a:not(.wp-block-button__link) { color: var(--ktr-accent); text-decoration: underline; text-underline-offset: 3px; }
.ktr-page-content a:not(.wp-block-button__link):hover { color: var(--ktr-primary); }
.ktr-page-content .wp-block-columns { align-items: center; background: var(--ktr-white); border: 1px solid var(--ktr-line); box-shadow: 0 5px 20px rgba(4,56,76,.05); gap: 28px; margin-block: 22px; padding: 20px; }
.ktr-page-content .wp-block-media-text { background: var(--ktr-white); border: 1px solid var(--ktr-line); box-shadow: 0 5px 20px rgba(4,56,76,.05); gap: 28px; margin-block: 22px; padding: 20px; }
.ktr-page-content .wp-block-media-text__content { padding: 0; }
.ktr-page-content .wp-block-column { min-width: 0; }
.ktr-page-content .wp-block-image { margin-block: 0; }
.ktr-page-content .wp-block-image img { height: auto; width: 100%; }
.ktr-page-content .wp-block-button__link { background: var(--ktr-primary); border: 1px solid var(--ktr-primary); border-radius: 0; color: var(--ktr-white); font-size: 14px; font-weight: 700; padding: 13px 24px; }
.ktr-page-content .wp-block-button__link:hover { background: var(--ktr-accent); border-color: var(--ktr-accent); }
.ktr-page-content .wp-block-table { overflow-x: auto; }
.ktr-page-content .wp-block-table table { border-collapse: collapse; min-width: 620px; width: 100%; }
.ktr-page-content .wp-block-table th, .ktr-page-content .wp-block-table td { border: 1px solid var(--ktr-line); padding: 12px 14px; }
.ktr-page-content .wp-block-table th { background: var(--ktr-pale); color: var(--ktr-primary); }
.ktr-archive-layout, .ktr-single-layout { display: grid; gap: 66px; grid-template-columns: minmax(0,1fr) 320px; padding-block: 58px 82px; }
.ktr-archive-summary { align-items: baseline; border-bottom: 1px solid var(--ktr-line); display: flex; justify-content: space-between; margin-bottom: 30px; padding-bottom: 14px; }
.ktr-archive-summary h2 { color: var(--ktr-primary); font-size: 23px; }
.ktr-archive-summary p { color: #8b989e; font-size: 12px; }
.ktr-archive-list { display: flex; flex-direction: column; gap: 28px; }
.ktr-card--wide .ktr-card__link { align-items: start; display: grid; gap: 24px; grid-template-columns: minmax(220px,.8fr) minmax(0,1.2fr); }
.ktr-card--wide .ktr-card__body { padding-top: 3px; }
.ktr-card--wide .ktr-card__title { font-size: 18px; }
.ktr-pagination { margin-top: 48px; }
.ktr-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 7px; }
.ktr-pagination .page-numbers { align-items: center; border: 1px solid var(--ktr-line); display: inline-flex; font-size: 13px; justify-content: center; min-height: 40px; min-width: 40px; padding: 7px 12px; }
.ktr-pagination .page-numbers.current, .ktr-pagination a.page-numbers:hover { background: var(--ktr-primary); border-color: var(--ktr-primary); color: var(--ktr-white); }
.ktr-empty { background: var(--ktr-pale); padding: 36px; }
.ktr-empty h2 { color: var(--ktr-ink); font-size: 20px; }
.ktr-sidebar { display: flex; flex-direction: column; gap: 28px; }
.ktr-sidebar > section > h2 { border-bottom: 1px solid var(--ktr-line); color: var(--ktr-primary); font-size: 16px; margin-bottom: 14px; padding-bottom: 11px; }
.ktr-sidebar-search { display: flex; height: 44px; }
.ktr-sidebar-search input { flex: 1; width: auto; }
.ktr-sidebar__categories a { align-items: center; border-bottom: 1px solid #e9eef0; display: flex; font-size: 13px; justify-content: space-between; padding: 11px 2px; }
.ktr-sidebar__categories a:hover { color: var(--ktr-accent); padding-left: 6px; }
.ktr-sidebar__categories small { color: #8b989e; }
.ktr-sidebar__cta { background: var(--ktr-primary); color: var(--ktr-white)!important; display: flex; flex-direction: column; min-height: 190px; padding: 27px; }
.ktr-sidebar__cta:hover { background: var(--ktr-accent); box-shadow: var(--ktr-shadow); transform: translateY(-3px); }
.ktr-sidebar__cta span { font-size: 9px; font-weight: 700; letter-spacing: .17em; opacity: .65; }
.ktr-sidebar__cta strong { font-size: 20px; line-height: 1.55; margin: 15px 0 auto; }
.ktr-sidebar__cta small { font-size: 12px; font-weight: 700; }

.ktr-breadcrumb { border-bottom: 1px solid #eef2f4; }
.ktr-breadcrumb .ktr-container { align-items: center; display: flex; font-size: 11px; gap: 8px; min-height: 43px; overflow: hidden; white-space: nowrap; }
.ktr-breadcrumb a { color: var(--ktr-muted); }
.ktr-breadcrumb a:hover { color: var(--ktr-accent); text-decoration: underline; }
.ktr-single-layout { grid-template-columns: minmax(0,1fr) 300px; }
.ktr-article__header { border-bottom: 1px solid #e9eef0; margin-bottom: 28px; padding-bottom: 25px; }
.ktr-article__meta { align-items: center; display: flex; flex-wrap: wrap; gap: 10px 12px; margin-bottom: 17px; }
.ktr-article__meta > span { color: #8b989e; font-size: 11px; }
.ktr-article__header h1 { color: var(--ktr-ink); font-size: clamp(28px,3.1vw,36px); line-height: 1.55; margin-bottom: 21px; }
.ktr-article__byline { align-items: center; color: var(--ktr-muted); display: flex; flex-wrap: wrap; font-size: 12px; gap: 10px 12px; }
.ktr-article__avatar { align-items: center; background: #e7f0f3; color: var(--ktr-primary); display: inline-flex; font-size: 11px; font-weight: 700; height: 36px; justify-content: center; width: 36px; }
.ktr-article__eyecatch { margin-bottom: 34px!important; }
.ktr-article__eyecatch img { aspect-ratio: 16/8.8; object-fit: cover; width: 100%; }
.ktr-article-body { color: var(--ktr-text); font-size: 16px; line-height: 2.05; }
.ktr-article-body > *:first-child { margin-top: 0!important; }
.ktr-article-body p, .ktr-article-body ul, .ktr-article-body ol, .ktr-article-body table, .ktr-article-body figure, .ktr-article-body blockquote { margin-block: 0 1.6em; }
.ktr-article-body h2 { background: var(--ktr-pale); border: 0; border-left: 4px solid var(--ktr-primary); color: var(--ktr-ink); font-size: clamp(22px,2vw,26px); line-height: 1.5; margin: 2.2em 0 .9em; padding: 14px 18px; scroll-margin-top: 130px; }
.ktr-article-body h3 { border-left: 2px solid var(--ktr-accent); color: var(--ktr-ink); font-size: 19px; line-height: 1.6; margin: 1.9em 0 .8em; padding-left: 13px; scroll-margin-top: 130px; }
.ktr-article-body h4 { color: var(--ktr-ink); font-size: 17px; margin: 1.8em 0 .7em; }
.ktr-article-body .p-toc { background: var(--ktr-white); border: 1px solid var(--ktr-line); border-top: 4px solid var(--ktr-primary); border-radius: 0; margin: 2.5em 0; max-width: none; padding: 20px 24px; width: 100%; }
.ktr-article-body .p-toc__ttl { color: var(--ktr-primary); font-size: 17px; font-weight: 700; line-height: 1.5; margin-bottom: 14px; text-align: left; }
.ktr-article-body .p-toc__ttl::before { color: var(--ktr-accent); }
.ktr-article-body .p-toc__list > li + li { border-top: 1px solid #e9eef0; margin-top: .65em; padding-top: .65em; }
.ktr-article-body .p-toc__link { color: var(--ktr-ink); }
.ktr-article-body .p-toc__expandBtn { background: var(--ktr-pale); border: 1px solid var(--ktr-line); border-radius: 0; box-shadow: none; color: var(--ktr-primary); }
.ktr-article-body .p-toc__expandBtn::before, .ktr-article-body .p-toc__expandBtn::after { display: none; }
.ktr-article-body .p-toc__expandBtn:hover { background: var(--ktr-white); box-shadow: 0 0 0 2px rgba(11,107,130,.18); }
.ktr-article-body a { color: var(--ktr-accent); text-decoration: underline; text-underline-offset: 3px; }
.ktr-article-body a:hover { color: var(--ktr-primary); text-decoration-thickness: 2px; }
.ktr-article-body ul, .ktr-article-body ol { background: #f9fbfb; border: 1px solid var(--ktr-line); list-style: revert; padding: 20px 24px 20px 45px; }
.ktr-article-body blockquote { border-left: 3px solid #b8d4dc; color: #44585f; padding: 5px 0 5px 24px; }
.ktr-article-body table { border-collapse: collapse; display: block; font-size: 13px; max-width: 100%; overflow-x: auto; width: 100%; }
.ktr-article-body th, .ktr-article-body td { border: 1px solid var(--ktr-line); padding: 11px 13px; }
.ktr-article-body th { background: var(--ktr-primary); color: var(--ktr-white); }
.ktr-article-body iframe { max-width: 100%; }
.ktr-article__footer { border-top: 1px solid var(--ktr-line); margin-top: 52px; padding-top: 24px; }
.ktr-article__categories { align-items: center; display: flex; flex-wrap: wrap; font-size: 12px; gap: 8px; }
.ktr-article__categories > span { color: #8b989e; }
.ktr-article__categories a { background: #e6f1f4; color: var(--ktr-accent); display: inline-flex; font-weight: 700; padding: 4px 8px; }
.ktr-post-navigation { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; margin-top: 28px; }
.ktr-post-navigation div:last-child { text-align: right; }
.ktr-post-navigation a { color: var(--ktr-accent); font-size: 12px; font-weight: 700; }
.ktr-post-navigation a:hover { text-decoration: underline; }
.ktr-single-sidebar { position: sticky; top: 22px; }
.ktr-related-list a { align-items: start; border-bottom: 1px solid #e9eef0; display: grid; gap: 11px; grid-template-columns: 74px minmax(0,1fr); padding: 11px 0; }
.ktr-related-list a:hover span { color: var(--ktr-accent); }
.ktr-related-list__media { aspect-ratio: 1; background: var(--ktr-primary); overflow: hidden; }
.ktr-related-list__media img { height: 100%; object-fit: cover; width: 100%; }
.ktr-related__fallback { align-items: center; background: linear-gradient(135deg,var(--ktr-primary),var(--ktr-accent)); color: var(--ktr-white); display: flex; font-size: 0; height: 100%; justify-content: center; }
.ktr-related__fallback::after { content: "C"; font-size: 22px; font-weight: 700; }
.ktr-related-list a > span { color: var(--ktr-ink); display: -webkit-box; font-size: 12px; font-weight: 700; line-height: 1.6; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

.ktr-page-hero__resource-grid { align-items: center; display: flex; justify-content: space-between; }
.ktr-resource-selection { background: var(--ktr-white); border: 1px solid var(--ktr-line); display: flex; flex-direction: column; max-width: 310px; padding: 18px 20px; }
.ktr-resource-selection strong { color: var(--ktr-primary); font-size: 13px; }
.ktr-resource-selection span { color: var(--ktr-muted); font-size: 11px; }
.ktr-resource-grid { display: grid; gap: 24px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.ktr-resource-card { background: var(--ktr-white); border: 2px solid var(--ktr-line); position: relative; transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.ktr-resource-card:hover { border-color: var(--ktr-primary); box-shadow: var(--ktr-shadow); transform: translateY(-3px); }
.ktr-resource-card:has(.ktr-resource-card__input:checked) { background: var(--ktr-pale); border-color: var(--ktr-primary); box-shadow: 0 8px 22px rgba(4,56,76,.12); }
.ktr-resource-card:has(.ktr-resource-card__input:focus-visible) { outline: 3px solid rgba(11,107,130,.42); outline-offset: 3px; }
.ktr-resource-card__input { appearance: none; cursor: pointer; height: 100%; inset: 0; margin: 0; opacity: 0; position: absolute; width: 100%; z-index: 2; }
.ktr-resource-card__cover { background: linear-gradient(145deg,var(--ktr-primary),#0b6b82); color: var(--ktr-white); display: flex; flex-direction: column; height: 180px; justify-content: space-between; padding: 23px; }
.ktr-resource-card__cover span { font-size: 9px; font-weight: 700; letter-spacing: .18em; opacity: .65; }
.ktr-resource-card__cover strong { font-size: 20px; line-height: 1.55; }
.ktr-resource-card__body { padding: 22px; }
.ktr-resource-card__number { color: var(--ktr-accent); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.ktr-resource-card__body h3 { color: var(--ktr-ink); font-size: 17px; line-height: 1.6; margin: 4px 0 9px; }
.ktr-resource-card__body > p:not(.ktr-resource-card__number) { color: var(--ktr-muted); font-size: 12px; line-height: 1.85; }
.ktr-resource-card__check { align-items: center; border-top: 1px solid #e9eef0; color: var(--ktr-primary); display: flex; font-size: 12px; font-weight: 700; gap: 9px; margin-top: 18px; padding-top: 14px; }
.ktr-resource-card__check > span:first-child { align-items: center; background: var(--ktr-white); border: 2px solid #b9c7cc; color: transparent; display: inline-flex; flex: none; font-size: 11px; height: 22px; justify-content: center; width: 22px; }
.ktr-resource-card:has(.ktr-resource-card__input:checked) .ktr-resource-card__check > span:first-child { background: var(--ktr-primary); border-color: var(--ktr-primary); color: var(--ktr-white); }
.ktr-selected-resources { background: #f9fbfb; border: 2px solid var(--ktr-primary); margin-bottom: 28px; padding: 22px 24px; }
.ktr-selected-resources__heading { align-items: baseline; display: flex; justify-content: space-between; margin-bottom: 12px; }
.ktr-selected-resources__heading p { color: var(--ktr-accent); font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.ktr-selected-resources__heading strong { color: var(--ktr-primary); font-size: 14px; }
.ktr-selected-resources ul { border-top: 1px solid #e2eaec; display: flex; flex-direction: column; }
.ktr-selected-resources li { align-items: center; border-bottom: 1px solid #e2eaec; color: var(--ktr-ink); display: flex; font-size: 13px; font-weight: 700; gap: 16px; justify-content: space-between; padding: 10px 0; }
.ktr-selected-resources button { background: var(--ktr-white); border: 1px solid var(--ktr-line); color: var(--ktr-muted); cursor: pointer; font: inherit; font-size: 11px; padding: 5px 10px; position: relative; z-index: 3; }
.ktr-selected-resources button:hover { border-color: var(--ktr-primary); color: var(--ktr-primary); }
.ktr-selected-resources > p { border: 1px dashed #c8d6da; color: var(--ktr-muted); font-size: 13px; padding: 16px; text-align: center; }
.ktr-selected-resources [hidden] { display: none; }
.ktr-form-shell { background: var(--ktr-white); border: 1px solid var(--ktr-line); max-width: 880px; padding: 38px 40px; }
.ktr-form-shell > header { border-bottom: 1px solid #e9eef0; margin-bottom: 30px; padding-bottom: 22px; }
.ktr-form-shell > header > p:first-child { color: var(--ktr-accent); font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.ktr-form-shell > header h2 { color: var(--ktr-ink); font-size: 24px; margin: 4px 0 8px; }
.ktr-form-shell > header p:last-child { color: var(--ktr-muted); font-size: 13px; }
.ktr-form-note { color: #a4442f; display: inline-block; font-size: 11px; margin-left: 10px; }
.ktr-form-grid { display: grid; gap: 22px 26px; grid-template-columns: 1fr 1fr; }
.ktr-form-grid .ktr-form-field { min-width: 0; }
.ktr-form-grid > p { margin: 0; min-width: 0; }
.ktr-form-grid > p:has(.ktr-form-grid__full) { grid-column: 1/-1; }
.ktr-form-grid label { color: var(--ktr-ink); display: flex; flex-direction: column; font-size: 13px; font-weight: 700; }
.ktr-field-label { display: block; line-height: 1.5; }
.ktr-form-grid .ktr-required { color: #a4442f; display: inline; font-size: 10px; margin-left: 4px; }
.ktr-form-grid label > small { color: var(--ktr-muted); font-size: 11px; font-weight: 400; margin-top: 4px; }
.ktr-form-grid .wpcf7-form-control-wrap { display: block; }
.ktr-form-grid input:not([type="radio"]):not([type="checkbox"]), .ktr-form-grid select, .ktr-form-grid textarea { background: var(--ktr-white); border: 1px solid #b9c8ce; border-radius: 0; color: var(--ktr-ink); font: inherit; font-size: 14px; margin-top: 9px; min-height: 48px; padding: 11px 14px; width: 100%; }
.ktr-form-grid textarea { line-height: 1.7; min-height: 116px; resize: vertical; }
.ktr-form-grid .ktr-form-field--message textarea { min-height: 180px; }
.ktr-form-grid input:not([type="radio"]):not([type="checkbox"]):focus, .ktr-form-grid select:focus, .ktr-form-grid textarea:focus { background: var(--ktr-white); border-color: var(--ktr-accent); box-shadow: 0 0 0 3px rgba(11,107,130,.1); outline: 0; }
.ktr-form-grid input[disabled], .ktr-form-grid select[disabled], .ktr-form-grid textarea[disabled] { color: var(--ktr-muted); cursor: not-allowed; opacity: .72; }
.ktr-form-grid__full { grid-column: 1/-1; }
.ktr-radio-field { border: 0; margin: 0; padding: 0; }
.ktr-radio-field legend { color: var(--ktr-ink); font-size: 13px; font-weight: 700; margin-bottom: 12px; }
.ktr-radio-field .wpcf7-radio { display: grid; gap: 9px 12px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.ktr-radio-field .wpcf7-list-item { margin: 0; }
.ktr-radio-field .wpcf7-list-item label { align-items: center; background: var(--ktr-white); border: 1px solid var(--ktr-line); border-radius: 0; cursor: pointer; flex-direction: row; font-size: 13px; font-weight: 500; gap: 10px; height: 100%; min-height: 46px; padding: 9px 12px; }
.ktr-radio-field .wpcf7-list-item:has(input:checked) label { background: var(--ktr-pale); border-color: var(--ktr-primary); color: var(--ktr-primary); font-weight: 700; }
.ktr-radio-field .wpcf7-list-item input { accent-color: var(--ktr-primary); flex: none; height: 18px; margin: 0; width: 18px; }
.ktr-radio-field .wpcf7-list-item-label { line-height: 1.5; }
.ktr-form-actions { border-top: 1px solid #e9eef0; display: flex; justify-content: center; margin-top: 30px; padding-top: 26px; }
.ktr-form-actions .ktr-button { cursor: pointer; font: inherit; min-width: 230px; }
.ktr-form-actions .wpcf7-spinner { margin: 0 0 0 14px; }
.ktr-form-actions .wpcf7-submit:disabled { background: #aebec3; border-color: #aebec3; box-shadow: none; cursor: not-allowed; transform: none; opacity: .72; }
.ktr-form-shell .wpcf7-not-valid-tip { color: #a4442f; display: block; font-size: 12px; margin-top: 6px; }
.ktr-form-shell .wpcf7-response-output { border-radius: 0; font-size: 13px; line-height: 1.7; margin: 20px 0 0; padding: 13px 16px; }
.ktr-form-shell .wpcf7 form.sent .wpcf7-response-output { background: #f0f7f1; border-color: #8bb996; color: #285d35; }
.ktr-form-shell .wpcf7 form.invalid .wpcf7-response-output, .ktr-form-shell .wpcf7 form.failed .wpcf7-response-output, .ktr-form-shell .wpcf7 form.aborted .wpcf7-response-output { background: #fff7f4; border-color: #dba28f; color: #8a3d2b; }
.ktr-contact-honeypot { clip: rect(0,0,0,0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.ktr-form-privacy { color: var(--ktr-muted); font-size: 11px; margin-top: 18px!important; }
.ktr-form-privacy a { color: var(--ktr-accent); text-decoration: underline; text-underline-offset: 2px; }
.ktr-form-unavailable { background: #fff7f4; border: 1px solid #dba28f; color: #8a3d2b; padding: 18px 20px; }
.ktr-form-unavailable p { font-size: 12px; margin-top: 4px; }
.ktr-contact-routes-section { padding-block: 48px 54px; }
.ktr-contact-routes__list { display: flex; flex-direction: column; gap: 12px; }
.ktr-contact-routes__list > a { align-items: center; background: var(--ktr-white); border: 1px solid var(--ktr-line); display: flex; gap: 26px; justify-content: space-between; padding: 18px 22px; }
.ktr-contact-routes__list > a:hover { background: var(--ktr-pale); border-color: var(--ktr-primary); }
.ktr-contact-routes__list span { display: flex; flex-direction: column; }
.ktr-contact-routes__list strong { color: var(--ktr-ink); font-size: 16px; }
.ktr-contact-routes__list small { color: var(--ktr-muted); font-size: 12px; }
.ktr-contact-routes__list b { color: var(--ktr-accent); flex: none; font-size: 12px; }
.ktr-contact-routes__list b span { display: inline; font-size: 16px; margin-left: 5px; }

.ktr-thanks { background: var(--ktr-pale); border-bottom: 1px solid #e2eaec; padding-block: 72px; text-align: center; }
.ktr-thanks__inner { max-width: 820px; }
.ktr-thanks__mark { align-items: center; background: var(--ktr-primary); border-radius: 50%; color: var(--ktr-white); display: flex; font-size: 26px; height: 64px; justify-content: center; margin: 0 auto 20px; width: 64px; }
.ktr-thanks__inner > p:first-of-type { color: var(--ktr-accent); font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.ktr-thanks h1 { color: var(--ktr-ink); font-size: clamp(27px,4vw,38px); line-height: 1.5; margin: 8px 0 15px; }
.ktr-thanks__description { color: var(--ktr-muted); font-size: 14px; }
.ktr-thanks__notice { background: var(--ktr-white); border: 1px solid var(--ktr-line); display: flex; flex-direction: column; margin: 28px auto; max-width: 620px; padding: 18px 22px; }
.ktr-thanks__notice strong { color: var(--ktr-primary); font-size: 13px; }
.ktr-thanks__notice span { color: var(--ktr-muted); font-size: 11px; }
.ktr-thanks__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

.ktr-footer { background: var(--ktr-primary); color: rgba(255,255,255,.8); padding-top: 50px; }
.ktr-footer__grid { display: grid; gap: 44px; grid-template-columns: 1.3fr 1fr 1fr 1fr; padding-bottom: 40px; }
.ktr-brand--footer .ktr-brand__name { color: var(--ktr-white); font-size: 23px; }
.ktr-brand--footer .ktr-brand__byline { color: rgba(255,255,255,.6); }
.ktr-footer__about p { font-size: 12px; line-height: 1.9; margin-top: 14px; }
.ktr-footer nav h2 { color: rgba(255,255,255,.56); font-size: 11px; letter-spacing: .12em; margin-bottom: 13px; }
.ktr-footer nav ul { display: flex; flex-direction: column; gap: 8px; }
.ktr-footer nav a { color: rgba(255,255,255,.9); font-size: 12px; }
.ktr-footer nav a:hover { color: var(--ktr-white); text-decoration: underline; }
.ktr-footer__bottom { align-items: center; border-top: 1px solid rgba(255,255,255,.16); display: flex; font-size: 10px; justify-content: space-between; padding-block: 19px 24px; }
.ktr-preview-badge { border: 1px solid rgba(255,255,255,.28); letter-spacing: .12em; padding: 3px 8px; }

@media (max-width:1200px) {
	.ktr-header__nav,
	.ktr-header__main > .ktr-search { display: none; }
	.ktr-mobile-nav { display: block; margin-left: auto; position: relative; }
	.ktr-mobile-nav summary { align-items: center; border: 1px solid var(--ktr-primary); color: var(--ktr-primary); cursor: pointer; display: flex; height: 44px; justify-content: center; list-style: none; padding: 0; width: 44px; }
	.ktr-mobile-nav summary::-webkit-details-marker { display: none; }
	.ktr-mobile-nav__icon { display: flex; flex-direction: column; gap: 4px; width: 20px; }
	.ktr-mobile-nav__icon span { background: currentColor; display: block; height: 2px; transition: opacity .18s ease, transform .18s ease; width: 100%; }
	.ktr-mobile-nav[open] .ktr-mobile-nav__icon span:first-child { transform: translateY(6px) rotate(45deg); }
	.ktr-mobile-nav[open] .ktr-mobile-nav__icon span:nth-child(2) { opacity: 0; }
	.ktr-mobile-nav[open] .ktr-mobile-nav__icon span:last-child { transform: translateY(-6px) rotate(-45deg); }
	.ktr-mobile-nav__panel { background: var(--ktr-white); border: 1px solid var(--ktr-line); box-shadow: var(--ktr-shadow); display: flex; flex-direction: column; min-width: 230px; padding: 10px; position: absolute; right: 0; top: calc(100% + 8px); width: min(380px, calc(100vw - 32px)); }
	.ktr-mobile-nav__panel .ktr-search--mobile { display: flex; margin-bottom: 8px; width: 100%; }
	.ktr-search--mobile input { flex: 1; width: auto; }
	.ktr-mobile-nav__panel a, .ktr-mobile-nav__group > summary { border-bottom: 1px solid #e9eef0; font-size: 13px; font-weight: 700; padding: 10px; }
	.ktr-mobile-nav__group > summary { color: var(--ktr-ink); cursor: pointer; list-style: none; }
	.ktr-mobile-nav__group > summary::-webkit-details-marker { display: none; }
	.ktr-mobile-nav__group > summary::after { border-bottom: 1px solid currentColor; border-right: 1px solid currentColor; content: ""; float: right; height: 6px; margin: 4px 4px 0 0; transform: rotate(45deg); width: 6px; }
	.ktr-mobile-nav__group[open] > summary::after { transform: rotate(225deg); }
	.ktr-mobile-nav__group > div { background: var(--ktr-pale); padding: 4px 8px; }
	.ktr-mobile-nav__group > div a { display: block; font-size: 12px; padding-left: 14px; }
}

@media (max-width:1080px) {
	.ktr-header__nav { display: none; }
	.ktr-hero__grid { grid-template-columns: 1fr; }
	.ktr-featured { max-width: 720px; }
	.ktr-card-grid, .ktr-card-grid--three { grid-template-columns: 1fr 1fr; }
	.ktr-topic-grid { grid-template-columns: 1fr; }
	.ktr-topic__posts { display: grid; gap: 0 22px; grid-template-columns: repeat(3,1fr); }
	.ktr-archive-layout, .ktr-single-layout { gap: 40px; grid-template-columns: 1fr; }
	.ktr-sidebar { border-top: 1px solid var(--ktr-line); padding-top: 32px; }
	.ktr-single-sidebar { position: static; }
	.ktr-footer__grid { grid-template-columns: 1.4fr repeat(3,1fr); }
}

@media (max-width:760px) {
	body.admin-bar .ktr-header { top: 46px; }
	.ktr-container { width: calc(100% - 32px); }
	.ktr-header__utility-inner { min-height: 30px; }
	.ktr-header__utility-inner > p { display: -webkit-box; font-size: 9px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
	.ktr-header__utility nav { display: none; }
	.ktr-header__main { gap: 10px; min-height: 68px; }
	.ktr-brand { flex-direction: column; gap: 0; }
	.ktr-brand__name { font-size: 22px; }
	.ktr-brand__byline { font-size: 8px; }
	.ktr-hero__grid { gap: 34px; grid-template-columns: 1fr; min-height: 0; padding-block: 42px; }
	.ktr-hero__copy h1 { font-size: clamp(21px,5.5vw,29px); line-height: 1.45; }
	.ktr-hero__copy h1 strong { font-size: 1.25em; }
	.ktr-hero__actions .ktr-button { flex: 1 1 180px; }
	.ktr-section { padding-block: 52px; }
	.ktr-section-heading { align-items: start; gap: 16px; }
	.ktr-section-heading h2 { font-size: 21px; }
	.ktr-card-grid, .ktr-card-grid--three { grid-template-columns: 1fr 1fr; }
	.ktr-topic__posts { grid-template-columns: 1fr; }
	.ktr-download-cta { align-items: start; flex-direction: column; gap: 24px; padding: 30px 25px; }
	.ktr-download-cta h2 { font-size: 21px; }
	.ktr-category-grid { grid-template-columns: 1fr 1fr; }
	.ktr-page-hero { padding-block: 42px; }
	.ktr-page-content .wp-block-columns { gap: 18px; padding: 15px; }
	.ktr-page-content .wp-block-media-text { gap: 18px; padding: 15px; }
	.ktr-page-content .wp-block-media-text__content { padding: 0; }
	.ktr-page-content h2 { font-size: 22px; }
	.ktr-page-content h3 { font-size: 16px; }
	.ktr-archive-layout, .ktr-single-layout { grid-template-columns: 1fr; padding-block: 42px 62px; }
	.ktr-sidebar { border-top: 1px solid var(--ktr-line); padding-top: 32px; }
	.ktr-single-sidebar { position: static; }
	.ktr-card--wide .ktr-card__link { grid-template-columns: 180px minmax(0,1fr); }
	.ktr-article__header h1 { font-size: 27px; }
	.ktr-article-body h2 { font-size: 22px; padding: 12px 14px; }
	.ktr-resource-grid { grid-template-columns: 1fr 1fr; }
	.ktr-page-hero__resource-grid { align-items: start; flex-direction: column; gap: 25px; }
	.ktr-form-grid { grid-template-columns: 1fr; }
	.ktr-form-grid__full { grid-column: auto; }
	.ktr-radio-field .wpcf7-radio { grid-template-columns: 1fr 1fr; }
	.ktr-contact-routes__list > a { align-items: start; flex-direction: column; gap: 14px; }
	.ktr-form-actions { align-items: stretch; }
	.ktr-form-actions .ktr-button { width: 100%; }
	.ktr-footer__grid { grid-template-columns: 1fr 1fr; }
	.ktr-footer__about { grid-column: 1/-1; }
}

@media (max-width:520px) {
	.ktr-card-grid, .ktr-card-grid--three, .ktr-category-grid, .ktr-resource-grid { grid-template-columns: 1fr; }
	.ktr-radio-field .wpcf7-radio { grid-template-columns: 1fr; }
	.ktr-section-heading > a { font-size: 11px; text-align: right; }
	.ktr-card--wide .ktr-card__link { grid-template-columns: 1fr; }
	.ktr-card--wide .ktr-card__media { aspect-ratio: 16/8.5; }
	.ktr-article__header h1 { font-size: 25px; }
	.ktr-post-navigation { grid-template-columns: 1fr; }
	.ktr-post-navigation div:last-child { text-align: left; }
	.ktr-form-shell { padding: 28px 20px; width: calc(100% - 24px); }
	.ktr-thanks__actions { flex-direction: column; }
	.ktr-footer__grid { grid-template-columns: 1fr; }
	.ktr-footer__about { grid-column: auto; }
	.ktr-footer__bottom { align-items: start; flex-direction: column; gap: 10px; }
}

/* Seminar listing */
.ktr-seminar-hero {
	background: linear-gradient(100deg,rgba(242,248,248,.94),rgba(242,248,248,.7)),url("../../uploads/2026/02/%E8%83%8C%E6%99%AF.jpg") center 46% / cover;
	border-bottom: 0;
	padding: 0;
}
.ktr-seminar-hero__inner { padding-top: 54px; }
.ktr-seminar-hero__copy { padding-bottom: 36px; }
.ktr-seminar-hero__eyebrow { color: var(--ktr-accent); font-size: 11px; font-weight: 700; letter-spacing: .2em; margin-bottom: 8px!important; }
.ktr-seminar-hero h1 { font-size: clamp(32px,3.5vw,44px); font-weight: 700; letter-spacing: .06em; line-height: 1.4; }
.ktr-seminar-hero .ktr-page-hero__description { color: var(--ktr-text)!important; margin-top: 15px!important; }
.ktr-seminar-hero__links { display: flex; gap: 36px; border-top: 1px solid rgba(4,56,76,.14); }
.ktr-seminar-hero__links a { align-items: center; border-bottom: 2px solid transparent; color: var(--ktr-primary); display: inline-flex; font-size: 13px; font-weight: 700; gap: 30px; min-height: 60px; }
.ktr-seminar-hero__links a:hover { border-bottom-color: var(--ktr-accent); color: var(--ktr-accent); }
.ktr-seminar-hero__links span { font-size: 17px; font-weight: 400; }
.ktr-seminar-featured-section, .ktr-seminar-list-section, .ktr-seminar-archive-section { padding-block: 64px; }
.ktr-seminar-heading { align-items: center; border: 0; gap: 30px; margin-bottom: 30px; padding: 0; }
.ktr-seminar-heading::after { background: var(--ktr-line); content: ""; flex: 1; height: 1px; }
.ktr-seminar-heading > div { border: 0; padding: 0; }
.ktr-seminar-heading p { color: var(--ktr-accent); font-size: 10px; letter-spacing: .18em; margin-bottom: 7px; }
.ktr-seminar-heading h2 { font-size: 25px; letter-spacing: .025em; }
.ktr-seminar-card { min-width: 0; }
.ktr-seminar-card__link { background: var(--ktr-white); border: 1px solid #e0e8e9; border-radius: 8px; color: var(--ktr-ink); display: flex; flex-direction: column; height: 100%; overflow: hidden; }
.ktr-seminar-card__link:hover { border-color: #9ebec7; box-shadow: 0 8px 24px rgba(4,56,76,.07); }
.ktr-seminar-card__image { aspect-ratio: 16/9; background: #f1f4f5; display: block; flex-shrink: 0; overflow: hidden; }
.ktr-seminar-card__image img { height: 100%; object-fit: contain; width: 100%; }
.ktr-seminar-card__placeholder { align-items: center; background: var(--ktr-primary); color: #fff; display: flex; font-size: 12px; height: 100%; justify-content: center; letter-spacing: .2em; }
.ktr-seminar-card__body { display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 24px; }
.ktr-seminar-card__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 13px; }
.ktr-seminar-card__tags span { background: #edf5f5; border-radius: 3px; color: #236271; font-size: 10px; font-weight: 700; line-height: 1.6; padding: 4px 9px; }
.ktr-site .ktr-seminar-card__title { color: var(--ktr-ink); font-size: 16px; font-weight: 700; line-height: 1.75; margin: 0 0 20px; overflow-wrap: anywhere; }
.ktr-seminar-card__subtitle { color: var(--ktr-muted); font-size: 12px; line-height: 1.8; margin: -10px 0 20px!important; }
.ktr-seminar-card__schedule { align-items: flex-start; color: #5d727b; display: flex; font-size: 12px; gap: 8px; line-height: 1.8; margin: auto 0 22px; }
.ktr-seminar-card__schedule svg { flex: none; margin-top: 3px; }
.ktr-seminar-card__schedule s, .ktr-seminar-card__schedule del { color: #87979e; }
.ktr-seminar-card__more { align-items: center; border-top: 1px solid #e8eeee; color: var(--ktr-primary); display: flex; font-size: 12px; font-weight: 700; gap: 24px; justify-content: space-between; margin-top: auto; padding-top: 15px; }
.ktr-seminar-card__more > span { align-items: center; border: 1px solid #d5e3e6; border-radius: 50%; display: inline-flex; font-size: 16px; font-weight: 400; height: 30px; justify-content: center; line-height: 1; transition: background-color .18s ease, color .18s ease; width: 30px; }
.ktr-seminar-card__link:hover .ktr-seminar-card__more > span { background: var(--ktr-primary); border-color: var(--ktr-primary); color: #fff; }
.ktr-seminar-card--featured .ktr-seminar-card__link { align-items: center; background: #f4f8f8; border-color: #e5eded; flex-direction: row; gap: clamp(24px,4vw,52px); padding: 24px; }
.ktr-seminar-card--featured .ktr-seminar-card__image { border-radius: 4px; flex: 0 0 44%; }
.ktr-seminar-card--featured .ktr-seminar-card__body { padding: 12px 24px 12px 0; }
.ktr-seminar-card--featured .ktr-seminar-card__tags { margin-bottom: 18px; }
.ktr-seminar-card--featured .ktr-seminar-card__tags span { background: #e3eeee; font-size: 11px; }
.ktr-site .ktr-seminar-card--featured .ktr-seminar-card__title { font-size: clamp(20px,2.1vw,27px); line-height: 1.65; margin-bottom: 30px; }
.ktr-seminar-card--featured .ktr-seminar-card__more { align-self: flex-start; border-top: 0; padding-top: 0; }
.ktr-seminar-list-section { background: #f5f8f8; border: 0; }
.ktr-seminar-months { display: flex; flex-direction: column; gap: 56px; }
.ktr-seminar-month__heading { align-items: center; border-bottom: 1px solid #dce6e8; display: flex; justify-content: space-between; margin-bottom: 24px; padding-bottom: 16px; }
.ktr-seminar-month__heading h3 { align-items: baseline; color: var(--ktr-primary); display: flex; gap: 10px; font-weight: 700; line-height: 1.2; }
.ktr-seminar-month__year { font-size: 13px; }
.ktr-seminar-month__number { font-size: 36px; font-variant-numeric: tabular-nums; }
.ktr-seminar-month__number small { font-size: 18px; margin-left: 3px; }
.ktr-seminar-month__label { color: var(--ktr-muted); font-size: 12px; font-weight: 400; }
.ktr-seminar-month__heading > p { color: var(--ktr-muted); font-size: 12px; }
.ktr-seminar-grid { display: grid; gap: 28px 24px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.ktr-seminar-grid--archive { grid-template-columns: repeat(4,minmax(0,1fr)); }
.ktr-seminar-card--archive .ktr-seminar-card__image { aspect-ratio: 1; }
.ktr-seminar-grid--archive .ktr-seminar-card__body { padding: 20px; }
.ktr-site .ktr-seminar-card--archive .ktr-seminar-card__title { font-size: 14px; line-height: 1.8; }
.ktr-seminar-card--archive .ktr-seminar-card__tags span { background: #f1f3f4; color: #61747c; }
.ktr-seminar-list-section, .ktr-seminar-archive-section { scroll-margin-top: 116px; }
.ktr-seminar-archive__action { display: flex; justify-content: center; margin-top: 36px; }
.ktr-seminar-archive__action .wp-block-button__link { align-items: center; background: var(--ktr-primary); border: 1px solid var(--ktr-primary); border-radius: 4px; color: #fff; display: inline-flex; font-size: 13px; font-weight: 700; gap: 34px; justify-content: space-between; min-height: 52px; min-width: 250px; padding: 14px 24px; }
.ktr-seminar-archive__action .wp-block-button__link::after { content: "↗"; font-size: 17px; font-weight: 400; }
.ktr-seminar-archive__action .wp-block-button__link:hover { background: var(--ktr-accent); border-color: var(--ktr-accent); }
.ktr-seminar-related { background: #f5f8f8; border-top: 1px solid #e8eeee; padding-block: 48px; }
.ktr-seminar-related .ktr-container > * + * { margin-top: 24px; }
.ktr-seminar-related .wp-block-image { margin-inline: auto; max-width: 960px; }
.ktr-seminar-related .wp-block-image img { border-radius: 6px; }

@media (max-width:900px) {
	.ktr-seminar-grid, .ktr-seminar-grid--archive { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ktr-seminar-card--featured .ktr-seminar-card__body { padding-right: 0; }
}
@media (max-width:600px) {
	.ktr-brand .ktr-brand__logo { width: 240px; }
	.ktr-seminar-hero { padding: 0; }
	.ktr-seminar-hero__inner { padding-top: 36px; }
	.ktr-seminar-hero__copy { padding-bottom: 26px; }
	.ktr-seminar-hero .ktr-page-hero__description { font-size: 13px!important; }
	.ktr-seminar-hero__links { gap: 24px; }
	.ktr-seminar-hero__links a { font-size: 12px; gap: 18px; min-height: 56px; }
	.ktr-seminar-featured-section, .ktr-seminar-list-section, .ktr-seminar-archive-section { padding-block: 40px; }
	.ktr-seminar-heading { gap: 20px; margin-bottom: 24px; }
	.ktr-seminar-heading h2 { font-size: 22px; }
	.ktr-seminar-card--featured .ktr-seminar-card__link { align-items: stretch; flex-direction: column; gap: 0; padding: 14px; }
	.ktr-seminar-card--featured .ktr-seminar-card__image { flex-basis: auto; }
	.ktr-seminar-card--featured .ktr-seminar-card__body { padding: 22px 8px 10px; }
	.ktr-site .ktr-seminar-card--featured .ktr-seminar-card__title { font-size: 20px; margin-bottom: 20px; }
	.ktr-seminar-card--featured .ktr-seminar-card__more { align-self: stretch; }
	.ktr-seminar-months { gap: 40px; }
	.ktr-seminar-month__number { font-size: 30px; }
	.ktr-seminar-grid { gap: 24px; grid-template-columns: 1fr; }
	.ktr-seminar-grid--archive { gap: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ktr-seminar-card__body { padding: 22px; }
	.ktr-seminar-grid--archive .ktr-seminar-card__body { padding: 14px; }
	.ktr-seminar-list-section, .ktr-seminar-archive-section { scroll-margin-top: 102px; }
}
@media (max-width:420px) {
	.ktr-seminar-grid--archive { grid-template-columns: 1fr; }
}

