/* index ページ専用 */
.page-index .after-marquee__track{animation-duration:150s}
@media (max-width:899px){.page-index .after-marquee__track{animation-duration:110s}}
/* id="course-ttl-v2" */
.course__ttl .nw{font-size:inherit;color:inherit;font-weight:inherit;letter-spacing:inherit}
.course__ttl{top:10%;right:42%}
.course__ttl h3{font-size:clamp(1.5rem,2.3vw,2rem);font-weight:900;line-height:1.25;letter-spacing:.03em;text-shadow:0 2px 12px rgba(6,51,65,.35)}
.course__ttl h3::after{width:64px;height:3px;margin-top:var(--s-4);background:var(--c-white)}
@media (min-width:900px) and (max-width:1199px){.course__ttl{right:38%}.course__ttl h3{font-size:1.25rem}.course__ttl h3::after{width:44px;margin-top:var(--s-3)}}
@media (max-width:899px){.course__ttl h3{font-size:1.625rem}}
/* ===== メディア・取材実績 ===== */
.sec-media{padding:var(--s-9) 0;background:var(--c-white);border-top:1px solid var(--c-line)}
.media-inner{max-width:var(--container);margin:0 auto;padding:0 var(--s-7)}
.media-list{list-style:none;margin:var(--s-7) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-5)}
.media-card{height:100%;display:grid;grid-template-rows:auto 1fr;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-white);overflow:hidden;color:inherit;text-decoration:none;transition:box-shadow .2s,transform .2s,border-color .2s}
.media-card:hover{box-shadow:var(--e-2);transform:translateY(-2px);border-color:var(--c-cyan);color:inherit}
.media-card__img{display:block;aspect-ratio:1.9/1;background:var(--c-mist);overflow:hidden}
.media-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.media-card:hover .media-card__img img{transform:scale(1.04)}
.media-card__body{display:grid;grid-template-rows:auto 1fr auto;gap:var(--s-3);padding:var(--s-5)}
.media-card__src{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);font-size:var(--fs-caption)}
.media-card__src b{font-weight:700;color:var(--c-deep)}
.media-card__src em{font-style:normal;font-weight:700;padding:1px var(--s-2);border-radius:var(--r-sm);background:var(--c-mist);color:var(--c-marine)}
.media-card__t{font-size:var(--fs-body);font-weight:700;line-height:1.6;color:var(--c-deep);text-wrap:pretty}
.media-card__more{display:flex;align-items:center;gap:var(--s-1);font-size:var(--fs-small);font-weight:700;color:var(--c-marine);padding-top:var(--s-3);border-top:1px solid var(--c-line)}
.media-card__more i{font-style:normal}
@media (max-width:1179px){.media-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:899px){.sec-media{padding:var(--s-8) 0}.media-inner{padding:0 var(--s-5)}.media-list{grid-template-columns:minmax(0,1fr);gap:var(--s-4)}}
/* ===== スマホ：段落の両端揃え ===== */
@media (max-width:899px){
:where(p,dd,blockquote,figcaption,li:not(:has(> small,> b,> strong,> span,> em))){text-align:justify;text-justify:inter-character;text-align-last:left}
:where(p,dd,li,blockquote,figcaption):has(.nw,wbr,> b:only-child,> strong:only-child){text-align:start}
p,dd,blockquote,figcaption{word-break:normal!important;line-break:strict;text-wrap-style:auto!important;overflow-wrap:anywhere}
:is(li,span,div,td,th,small,em,b,strong):not(:is(h1,h2,h3,h4,h5,h6,.btn,button,.nw)):not(:is(h1,h2,h3,h4,h5,h6,.btn,button) *){word-break:normal!important;text-wrap-style:auto!important}
}
/* ===== スマホ：ボタンの整形 ===== */
@media (max-width:899px){
.btn:not(.btn--sm){display:flex!important;box-sizing:border-box!important;width:auto!important;max-width:100%!important;min-width:0!important;align-self:stretch!important;justify-self:stretch!important;flex:1 1 100%;justify-content:center;align-items:center;height:auto!important;min-height:52px;padding:var(--s-3) var(--s-4)!important;line-height:1.45!important;font-size:clamp(.9375rem,4.1vw,1.0625rem)!important;text-align:center;word-break:keep-all!important;line-break:strict;text-wrap:balance!important;letter-spacing:.02em}
.btn:not(.btn--sm) .btn__txt{line-height:1.45}
}
/* ===== スマホ：ヘッダー固定 ===== */
@media (max-width:899px){
.gnav{position:fixed!important;top:0!important;left:0;right:0;z-index:60}
body{padding-top:var(--m-head,64px)}
.m-panel:not([hidden]){position:fixed;left:0;right:0;top:var(--m-head,64px);bottom:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
html.is-menu-open,html.is-menu-open body{overflow:hidden}
.m-toggle{min-width:48px;min-height:48px}
.m-toggle:focus-visible,.m-row:focus-visible,.mnav__list a:focus-visible{outline:3px solid var(--c-aqua);outline-offset:2px}
[id]{scroll-margin-top:calc(var(--m-head,64px) + 12px)}
}

/* ===== 千葉フィールド バナー ===== */
.cb-banner{max-width:var(--container);margin:var(--s-7) auto;padding:0 var(--gutter)}
.cb-banner__in{position:relative;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;border-radius:var(--r-md);background:var(--c-deep);color:var(--c-white);text-decoration:none;box-shadow:var(--e-2);transition:transform var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}
.cb-banner__in:hover{color:var(--c-white);transform:translateY(-2px);box-shadow:0 10px 28px rgba(6,51,65,.22)}
.cb-banner__in:focus-visible{outline:3px solid var(--c-sun);outline-offset:3px}
.cb-banner__photo{display:block;height:150px;overflow:hidden}
.cb-banner__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 34%;display:block}
.cb-banner__body,.cb-banner__price{display:grid;gap:var(--s-2);padding:var(--s-5) var(--s-5) 0}
.cb-banner__tag{justify-self:start;padding:3px 12px;border-radius:var(--r-full);background:var(--c-sun);color:var(--c-deep);font-size:var(--fs-caption);font-weight:900;letter-spacing:.06em}
.cb-banner__tag b{font-family:var(--f-en);font-weight:800;letter-spacing:.1em}
.cb-banner__ttl{font-size:clamp(1.375rem,5.4vw,1.75rem);font-weight:900;line-height:1.35;word-break:keep-all;line-break:strict}
.cb-banner__txt{font-size:var(--fs-small);line-height:1.8;color:var(--c-aqua)}
.cb-banner__price small{font-size:var(--fs-caption);color:var(--c-aqua);line-height:1.6}
.cb-banner__price>span{display:flex;align-items:baseline;gap:4px;font-size:var(--fs-lead);font-weight:900}
.cb-banner__price b{font-family:var(--f-en);font-size:clamp(2.5rem,11vw,3.25rem);font-weight:800;line-height:1;color:var(--c-white);font-variant-numeric:tabular-nums}
.cb-banner__price i{font-style:normal;font-size:var(--fs-caption);font-weight:500;color:var(--c-aqua)}
.cb-banner__go{position:relative;margin:var(--s-5);padding:var(--s-3) var(--s-7) var(--s-3) var(--s-5);border-radius:var(--r-md);background-color:var(--c-sun);background-image:var(--g-sun);color:var(--c-deep);font-weight:900;text-align:center}
.cb-banner__go::after{content:"";position:absolute;right:var(--s-5);top:50%;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translateY(-50%) rotate(45deg)}
@media (min-width:900px){
.cb-banner{padding:0 var(--s-7)}
.cb-banner__in{grid-template-columns:220px minmax(0,1.2fr) minmax(0,1fr);align-items:center}
.cb-banner__photo{grid-row:1 / span 2}
.cb-banner__go{grid-column:2 / -1;justify-self:start;margin:0 0 var(--s-5) var(--s-6)!important}
}
@media (min-width:1180px){
.cb-banner__in{grid-template-columns:240px minmax(0,1.3fr) minmax(0,1fr) auto}
.cb-banner__photo{grid-row:auto}
.cb-banner__go{grid-column:auto;justify-self:auto;margin:0 var(--s-6) 0 var(--s-5)!important}
}
@media (min-width:900px){
.cb-banner__photo{height:100%;min-height:180px}
.cb-banner__body,.cb-banner__price{padding:var(--s-5) 0 var(--s-5) var(--s-6)}
.cb-banner__price{padding-left:var(--s-5);border-left:1px solid rgba(165,222,228,.3)}
.cb-banner__go{margin:0 var(--s-6) 0 var(--s-5);white-space:nowrap}
}
.cb-banner__price>*,.cb-banner__body>*{min-width:0}
.cb-banner__price small,.cb-banner__txt{word-break:normal!important;overflow-wrap:anywhere}
.cb-banner__price>span{flex-wrap:wrap;row-gap:2px}
@media (min-width:900px){.cb-banner__price{padding-right:var(--s-5)}}
