/* Training works: preserve the existing card system and 4:3 frames. */
.training-card { min-width:0; }
.training-card .card-thumb img {display:block;width:100%;height:100%;object-fit:cover;background:#F2EFE9;}
.training-card .card-body {flex:1;}
.training-card .card-body h3 {font-family:var(--font-jp);font-size:20px;line-height:1.65;overflow-wrap:normal;line-break:strict;}
.training-card .card-body p {font-size:13px;}
.training-detail .page-head {display:block;}
.training-detail .page-head h1 {font-family:var(--font-jp);max-width:1120px;font-size:clamp(28px,3.8vw,54px);line-height:1.6;overflow-wrap:normal;line-break:strict;text-wrap:balance;}
.training-detail .page-head .lead {max-width:760px;margin-top:24px;}
.training-detail .page-head h1 .jp {font-size:14px;line-height:1.8;}
.training-overview {max-width:1120px;margin:0 auto;}
.training-overview img {display:block;width:100%;height:auto;aspect-ratio:4/3;}
.training-overview figcaption {margin-top:8px;font-size:12px;color:var(--text-3);}
.training-copy {max-width:760px;margin:0 auto;}
.training-copy h2 {font-size:clamp(24px,4vw,32px);line-height:1.5;}
.training-copy li {margin-bottom:16px;}
.training-home .work-meta h3 {font-family:var(--font-jp);line-height:1.6;font-size:20px;text-wrap:balance;line-break:strict;}
.training-home .work-thumb img {display:block;width:100%;height:100%;object-fit:cover;background:#F2EFE9;}

.training-detail .training-title-prefix {display:block;font-size:.62em;line-height:1.8;margin-bottom:8px;}

.training-image-note {margin-top:16px;font-family:var(--font-jp);font-size:12px;line-height:1.8;color:var(--text-3);}

/* Live Japanese text over photography keeps all course titles in the site font. */
.training-photo {position:relative;isolation:isolate;container-type:inline-size;aspect-ratio:4/3;overflow:hidden;background:#122438;}
.training-photo > img {display:block;width:100%;height:100%;object-fit:cover;}
.training-photo-caption {position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:clamp(18px,5.5cqw,32px);background:linear-gradient(180deg,transparent 25%,rgba(7,22,39,.12) 42%,rgba(7,22,39,.82) 74%,rgba(7,22,39,.98) 100%);color:#fff;pointer-events:none;}
.training-photo-label {display:block;font-family:var(--font-jp);font-size:clamp(10px,2.7cqw,13px);font-weight:700;line-height:1.6;letter-spacing:.05em;color:#acd9ff;}
.training-photo-title {display:block;font-family:var(--font-jp);font-size:clamp(18px,5.3cqw,26px);font-weight:700;font-style:normal;line-height:1.5;letter-spacing:0;line-break:strict;overflow-wrap:anywhere;text-shadow:0 1px 8px rgba(0,0,0,.3);}
.training-overview .training-photo-title {font-size:clamp(22px,4.6cqw,42px);max-width:900px;}
.training-overview .training-photo-label {font-size:clamp(12px,2.7cqw,18px);}

.training-title-phrase {display:inline-block;max-width:100%;white-space:nowrap;}
