/* Corporate footer, 10px rem base. */
body.corporate-header footer.ks-footer{padding:6.4rem 0 3.2rem;background:#fff;color:#111}
.ks-footer-inner{width:min(128rem,89.5%);margin-inline:auto}
.ks-footer-top{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:6.4rem;align-items:start}
.ks-footer-logo{display:block;width:min(32rem,100%)}
.ks-footer-logo img{display:block;width:100%;height:auto}
.ks-footer-company-name{display:none;font-size:1.8rem;font-weight:700;margin:2.4rem 0 0}
.ks-footer-company address{font-size:1.8rem;line-height:1.9;font-style:normal;color:#858585;margin-top:2rem;overflow-wrap:anywhere}
.ks-footer-company address span{display:inline-block;margin-right:1.6rem}
.ks-footer-counter{display:block;border:0;width:100%;max-width:40rem;height:9rem;margin:3.2rem 0 2.4rem;background:transparent}
.ks-footer-social{display:flex;gap:1.6rem}
.ks-footer-social a{display:grid;place-items:center;border:.1rem solid #aaa;border-radius:50%;width:6.4rem;height:6.4rem}
.ks-footer-social img{display:block;width:3.6rem;height:3.6rem;object-fit:contain;filter:none!important}
.ks-footer-nav{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2.4rem;min-width:0}
.ks-footer-heading{display:flex;flex-direction:column;gap:.8rem;line-height:1.5}
.ks-footer-heading .ks-en{font-family:var(--font-en);color:#858585;font-size:1.8rem;font-weight:500;letter-spacing:.08em}
.ks-footer-heading .ks-ja{color:#111;font-size:2.1rem;font-weight:700}
.ks-footer-small-links{display:flex;flex-direction:column;gap:1.6rem}
.ks-footer-small-links .ks-en{font-size:1.4rem}
.ks-footer-small-links .ks-ja{font-size:1.8rem}
.ks-footer-nav ul{list-style:none;margin:2rem 0 0;padding:0}
.ks-footer-nav li{margin:0 0 1.2rem;font-size:1.8rem;line-height:1.7;color:#858585}
.ks-footer-nav li a{display:flex;align-items:baseline;gap:.6rem}
.ks-footer-nav li a::before{content:"-";flex:none}
.ks-footer .ks-external{font-size:1.6rem;vertical-align:middle;margin-left:.5rem}
.ks-footer a:hover{color:#008f43}
.ks-footer-banners{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3.2rem;padding:3.2rem 0;margin-top:4.8rem;border-block:.1rem solid #aaa}
.ks-footer-banners a{display:block;min-width:0;width:100%;align-self:center}
.ks-footer-banners img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;margin:0}
.ks-footer-copyright{text-align:center;color:#858585;margin:4.8rem 0 0;line-height:1.8;overflow-wrap:anywhere}
.ks-footer-copyright small{font-family:var(--font-en);font-size:1.4rem;letter-spacing:.07em}
@media(max-width:74.9375em){.ks-footer-top{grid-template-columns:1fr;gap:4.8rem}.ks-footer-company{max-width:52rem}.ks-footer-nav{gap:3.2rem}}
@media(max-width:47.9375em){
 body.corporate-header footer.ks-footer{padding:4.8rem 0 3.2rem}
 .ks-footer-inner{width:calc(100% - 4rem)}
 .ks-footer-logo{width:100%;max-width:40rem}.ks-footer-company-name{display:block}
 .ks-footer-company address{margin-top:1.6rem;font-size:1.6rem}
 .ks-footer-company address span{margin-right:1.2rem}
 .ks-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:3.2rem 1.6rem}
 .ks-footer-nav li{font-size:1.6rem;overflow-wrap:anywhere}
 .ks-footer-small-links{grid-column:1/-1;gap:2rem}
 .ks-footer-banners{grid-template-columns:1fr;gap:2.4rem;margin-top:4.8rem;padding:2.4rem 0}
 .ks-footer-copyright{margin-top:3.2rem}.ks-footer-copyright small{font-size:1.1rem}
}
/* Full-width news, then YouTube on the left / Inside on the right. */
#top .information-inside-layout.ks-home-information-full{display:block}
#top .ks-home-information-full>.information{width:100%;min-width:0}
#top .ks-home-information-full .information>.inner{width:100%;max-width:none}
#top .ks-home-media-row{width:var(--inner);margin:0 auto 8rem;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:4.8rem;align-items:start}
#top .ks-home-media-row>.inside-kyoritsu,#top .ks-home-media-row>.youtube{padding:0;margin:0;min-width:0}
#top .ks-home-media-row .youtube>.inner{width:100%;max-width:none;margin:0}
#top .ks-home-media-row .youtube iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;max-width:100%}
#top .ks-home-media-row .inside-kyoritsu-image img{width:100%;max-width:45rem;height:auto}
@media(max-width:47.9375em){#top .ks-home-media-row{grid-template-columns:1fr;gap:4.8rem;margin-bottom:4.8rem}}

/* Keep news text complete and reserve an explicit area for the Inside image. */
#top .ks-home-information-full .info-list .txt{max-width:none;max-height:none;height:auto;overflow:visible;display:block;-webkit-line-clamp:unset;white-space:pre-line;overflow-wrap:anywhere}
#top .ks-home-media-row .inside-kyoritsu-image{display:block;width:100%;max-width:45rem;aspect-ratio:450/376;margin:0;opacity:1;visibility:visible}
#top .ks-home-media-row .inside-kyoritsu-image img{display:block;width:100%;height:100%;object-fit:contain;opacity:1;visibility:visible}

/* The two banners fill equal columns; intrinsic dimensions preserve their ratio. */

/* Official social embeds: account links remain accessible if embeds are blocked. */
#top .ks-home-media-row .youtube .heading { margin-bottom: 1.2rem; }
#top .ks-youtube-account { margin: 0 0 2.4rem; text-align: center; font-size: 1.6rem; overflow-wrap: anywhere; }
#top .ks-youtube-account a { color: inherit; text-decoration: underline; text-underline-offset: .25em; }
#top .ks-tiktok-creator { width: 100%; max-width: 78rem; margin-inline: auto; min-width: 0; }
#top .ks-tiktok-creator .tiktok-embed { width: 100%; margin: 0 auto; }

/* Share heading/link/media rows and preserve both media's intrinsic ratios. */
@media (min-width: 48em) {
 #top .ks-home-media-row {
  /* (16 / 9) / (450 / 376): both media end at the same height. */
  grid-template-columns: minmax(0, 1.4854321fr) minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  column-gap: 4.8rem;
  row-gap: 2.4rem;
  align-items: stretch;
 }
 #top .ks-home-media-row > :is(.youtube, .inside-kyoritsu) {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: 1 / span 3;
 }
 #top .ks-home-media-row > .youtube { grid-column: 1; }
 #top .ks-home-media-row > .inside-kyoritsu { grid-column: 2; }
 #top .ks-home-media-row .youtube > .inner {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: 1 / span 3;
  min-height: 0;
  min-width: 0;
 }
 #top .ks-home-media-row .youtube > .inner::after { content: none; }
 #top .ks-home-media-row :is(.youtube, .inside-kyoritsu) .heading {
  margin: 0;
  align-self: start;
 }
 #top .ks-home-media-row :is(.ks-youtube-account, .inside-kyoritsu-more) {
  margin: 0;
  align-self: center;
 }
 #top .ks-home-media-row :is(.inside-kyoritsu-image, .inside-kyoritsu-image img) {
  max-width: none;
 }
 #top .ks-home-media-row :is(.youtube iframe, .inside-kyoritsu-image) {
  align-self: start;
 }
}
