/* KS INFORMATION FRONT v1.0.0 */
html{background:#fff}
body.ksinfo-standalone-page{margin:0;background:#fff;color:#20252b}
body.ksinfo-standalone-page #wpadminbar{position:fixed}
.ksinfo-brandhead,.ksinfo-brandhead *,.ksinfo-shell,.ksinfo-shell *{box-sizing:border-box}
.ksinfo-brandhead{width:100%;background:#fff;border-bottom:1px solid #e6e9ed;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
.ksinfo-brandstrip{width:100%;background:#e5091a;color:#fff}
.ksinfo-brandstrip-inner{max-width:1120px;margin:0 auto;padding:6px 24px;font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.025em}
.ksinfo-brandstrip-sp{display:none}
.ksinfo-brandnav-inner{max-width:1120px;margin:0 auto;padding:13px 24px;display:flex;justify-content:space-between;align-items:center;gap:22px}
.ksinfo-brandlogo{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;flex:0 0 auto;text-decoration:none}
.ksinfo-brandlogo img{display:block;width:64px;height:64px;object-fit:contain;border:0}
.ksinfo-topcard{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:236px;min-height:48px;padding:10px 14px 10px 17px;border:1px solid #d8e0e8;border-radius:8px;background:#fff;color:#245fa8;text-decoration:none;box-shadow:0 1px 2px rgba(26,42,58,.04);transition:.18s ease}
.ksinfo-topcard:hover{border-color:#b7c9dc;background:#f8fbff;box-shadow:0 3px 10px rgba(36,95,168,.08);transform:translateY(-1px)}
.ksinfo-topcard:focus-visible{outline:3px solid rgba(36,95,168,.22);outline-offset:2px}
.ksinfo-topcard-text{font-size:14px;font-weight:700;letter-spacing:.01em}
.ksinfo-topcard-arrow{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-left:1px solid #e6ebf0;font-size:28px;line-height:1;color:#4f86bf}
.ksinfo-shell{--text:#20252b;--sub:#747b84;--line:#e6e9ed;--link:#245fa8;max-width:1120px;margin:0 auto;padding:42px 24px 70px;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
.ksinfo-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:54px;align-items:start}.ksinfo-main{min-width:0}
.ksinfo-archive-head{padding-bottom:25px;margin-bottom:38px;border-bottom:1px solid var(--line)}.ksinfo-kicker{margin-bottom:8px;font-size:14px;font-weight:700;letter-spacing:.09em;color:#737b84}.ksinfo-archive-title{margin:0;font-size:36px;line-height:1.35;font-weight:700}.ksinfo-archive-desc{max-width:680px;margin:13px 0 0;color:#69717a;font-size:15px;line-height:1.8}
.ksinfo-item{padding:0 0 32px;margin-bottom:32px;border-bottom:1px solid var(--line)}.ksinfo-date{margin-bottom:13px;color:#9299a1;font-size:13px}.ksinfo-itemgrid{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:start}.ksinfo-thumb{display:block;overflow:hidden;border-radius:9px;background:#f2f3f5}.ksinfo-thumb img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.ksinfo-itemtitle{margin:0 0 11px;font-size:21px;line-height:1.55;font-weight:700}.ksinfo-itemtitle a{color:var(--text);text-decoration:none}.ksinfo-excerpt{margin:0;color:#69717a;font-size:15px;line-height:1.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ksinfo-more{display:inline-flex;align-items:center;gap:5px;margin-top:14px;color:var(--link);text-decoration:none;font-size:13px;font-weight:600}
.ksinfo-meta{display:flex;gap:10px;margin-bottom:18px;color:var(--sub);font-size:14px}.ksinfo-title{margin:0 0 26px;font-size:clamp(28px,3.3vw,42px);line-height:1.42;font-weight:700}.ksinfo-lead{margin:0 0 30px;padding-bottom:28px;border-bottom:1px solid var(--line);font-size:18px;line-height:1.95}.ksinfo-body{font-size:17px;line-height:2}.ksinfo-body h2{margin:38px 0 16px;font-size:21px}.ksinfo-body p{margin:0 0 22px}.ksinfo-body table{width:100%;border-collapse:collapse;font-size:16px;margin:28px 0 38px}.ksinfo-body th,.ksinfo-body td{padding:17px 14px;border-bottom:1px solid #e3e5e8}.ksinfo-body th{background:#fafafa}
.ksinfo-back{margin-top:46px;padding-top:26px;border-top:1px solid var(--line)}.ksinfo-back a{display:inline-flex;align-items:center;min-height:44px;color:#5c6570;text-decoration:none;font-size:15px}
.ksinfo-sidebar-title{margin:0 0 15px;color:#858c93;font-size:13px;font-weight:700;letter-spacing:.12em}.ksinfo-sidecard{display:block;margin-bottom:18px;overflow:hidden;border:1px solid #e4e7eb;border-radius:10px;background:#fff;color:var(--text);text-decoration:none}.ksinfo-sidevisual{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/9;background:#ddd;color:#9b9b9b;font-size:34px;font-weight:600}.ksinfo-sidebody{padding:15px 16px 17px}.ksinfo-sidelabel{margin-bottom:5px;color:#8a9198;font-size:12px}.ksinfo-sidetitle{font-size:16px;line-height:1.55;font-weight:700}.ksinfo-sidemore{margin-top:9px;color:var(--link);font-size:13px}.ksinfo-empty{padding:30px 0;color:var(--sub)}
.ksinfo-body img{max-width:100%;height:auto}.ksinfo-body figure{max-width:100%;margin-left:0;margin-right:0}.ksinfo-body iframe,.ksinfo-body video{max-width:100%}.ksinfo-body a{overflow-wrap:anywhere}.ksinfo-body .wp-block-image img{height:auto}.ksinfo-body .wp-block-table{overflow-x:auto}.ksinfo-body .wp-block-table table{width:100%}
@media(max-width:767px){
 .ksinfo-brandstrip-inner{padding:5px 18px;font-size:10.5px;white-space:nowrap;overflow:hidden}.ksinfo-brandstrip-pc{display:none}.ksinfo-brandstrip-sp{display:inline}
 .ksinfo-brandnav-inner{padding:10px 18px;gap:14px}.ksinfo-brandlogo,.ksinfo-brandlogo img{width:50px;height:50px}.ksinfo-topcard{min-width:0;flex:1;max-width:245px;min-height:46px;padding:8px 10px 8px 13px;border-radius:7px}.ksinfo-topcard-text{font-size:13px}.ksinfo-topcard-arrow{width:24px;height:24px;font-size:25px}
 .ksinfo-shell{padding:28px 18px 48px}.ksinfo-layout{display:block}.ksinfo-sidebar{display:block;margin-top:34px}.ksinfo-archive-head{margin-bottom:28px;padding-bottom:22px}.ksinfo-kicker{font-size:12px}.ksinfo-archive-title{font-size:29px}.ksinfo-archive-desc{font-size:14px}.ksinfo-item{margin-bottom:27px;padding-bottom:27px}.ksinfo-date{font-size:12px}.ksinfo-itemgrid{grid-template-columns:108px minmax(0,1fr);gap:15px}.ksinfo-itemtitle{font-size:17px}.ksinfo-excerpt{font-size:13px}.ksinfo-more{font-size:12px}.ksinfo-title{font-size:28px;line-height:1.5}.ksinfo-lead{font-size:16px;line-height:1.9}.ksinfo-body{font-size:16px;line-height:1.95}.ksinfo-body h2{font-size:19px}.ksinfo-body table{display:block;overflow-x:auto;font-size:14px}.ksinfo-back{margin-top:32px;padding-top:22px}.ksinfo-back a{width:100%;min-height:48px;font-size:14px}
}
@media(max-width:390px){.ksinfo-brandstrip-inner{padding-left:14px;padding-right:14px;font-size:10px}.ksinfo-brandnav-inner{padding-left:14px;padding-right:14px;gap:11px}.ksinfo-brandlogo,.ksinfo-brandlogo img{width:46px;height:46px}.ksinfo-topcard-text{font-size:12px}.ksinfo-itemgrid{grid-template-columns:96px minmax(0,1fr);gap:13px}.ksinfo-itemtitle{font-size:16px}}


/* v1.0.1: ② PC上部カードを少しコンパクトに */
@media (min-width:768px){
  .ksinfo-topcard{
    min-width:205px;
    min-height:44px;
    padding:8px 12px 8px 14px;
    gap:14px;
  }
  .ksinfo-topcard-text{font-size:13px}
  .ksinfo-topcard-arrow{
    width:23px;
    height:23px;
    font-size:24px;
  }
}

/* v1.0.1: ⑤ 記事末尾の戻り導線 */
.ksinfo-back a{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-width:285px;
  min-height:46px;
  padding:10px 14px 10px 16px;
  border:1px solid #dfe5eb;
  border-radius:8px;
  background:#fff;
  color:#526273;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  box-shadow:0 1px 2px rgba(26,42,58,.03);
}
.ksinfo-back a:hover{
  border-color:#c5d3e0;
  background:#f8fbfd;
  color:#245fa8;
}
.ksinfo-back a span[aria-hidden="true"]{
  color:#5a86b4;
  font-size:22px;
  line-height:1;
}
@media(max-width:767px){
  .ksinfo-back a{
    width:100%;
    min-width:0;
  }
}


/* =========================================================
   KS INFORMATION TOP v1.0.2
   ========================================================= */
.ksinfo-top{padding-top:34px;padding-bottom:70px}
.ksinfo-hero{max-width:760px;margin:0 0 42px}
.ksinfo-eyebrow,.ksinfo-section-kicker{margin:0 0 7px;color:#c9272d;font-size:11px;font-weight:800;letter-spacing:.14em}
.ksinfo-hero h1{margin:0 0 12px;font-size:30px;line-height:1.35;color:#1f2b36}
.ksinfo-hero p{margin:0;color:#66727d;font-size:14px;line-height:1.9}
.ksinfo-section{margin-top:48px}
.ksinfo-sectionhead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.ksinfo-sectionhead h2,.ksinfo-bottom-grid h2{margin:0;color:#25313d;font-size:21px;line-height:1.4}
.ksinfo-swipehint{color:#8a96a2;font-size:11px}
.ksinfo-carousel{display:flex;gap:16px;overflow-x:auto;padding:2px 2px 14px;scroll-snap-type:x proximity;scrollbar-width:thin}
.ksinfo-carousel::-webkit-scrollbar{height:6px}
.ksinfo-carousel::-webkit-scrollbar-thumb{background:#d8dee5;border-radius:20px}
.ksinfo-feature-card{flex:0 0 31%;min-width:260px;overflow:hidden;border:1px solid #e1e6eb;border-radius:12px;background:#fff;color:#26333f;text-decoration:none;scroll-snap-align:start;box-shadow:0 3px 14px rgba(31,43,54,.05)}
.ksinfo-feature-image{aspect-ratio:734/411;display:flex;align-items:flex-end;padding:13px;background:#edf1f4}
.ksinfo-feature-image span{display:inline-block;padding:5px 8px;border-radius:5px;background:rgba(255,255,255,.9);font-size:11px;font-weight:700}
.ksinfo-feature-body{position:relative;min-height:76px;padding:15px 48px 15px 15px}
.ksinfo-feature-body strong{display:block;font-size:14px;line-height:1.55}
.ksinfo-roundarrow{position:absolute;right:13px;top:15px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f1f4f6;color:#63717e;font-size:15px}
.ksinfo-dummy-1{background:linear-gradient(135deg,#e6eef5,#cad9e7)}
.ksinfo-dummy-2{background:linear-gradient(135deg,#f4e8e1,#ead3c5)}
.ksinfo-dummy-3{background:linear-gradient(135deg,#e8f0e8,#ceddce)}
.ksinfo-dummy-4{background:linear-gradient(135deg,#eee9f3,#d9cee5)}
.ksinfo-dummy-5{background:linear-gradient(135deg,#f2eee0,#e3d9b9)}
.ksinfo-dummy-6{background:linear-gradient(135deg,#e6edf0,#cbd9de)}

.ksinfo-news-section{padding-top:4px}
.ksinfo-news-list{border-top:1px solid #dfe5ea}
.ksinfo-news-card{border-bottom:1px solid #e4e9ed}
.ksinfo-news-card>a{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px 4px;color:inherit;text-decoration:none}
.ksinfo-news-thumb{aspect-ratio:734/411;overflow:hidden;border-radius:7px;background:#eef1f3}
.ksinfo-news-thumb img{width:100%;height:100%;object-fit:cover}
.ksinfo-news-placeholder{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#eef1f3,#dde3e8);color:#9aa5af;font-size:18px;font-weight:800}
.ksinfo-news-copy{position:relative;padding-right:34px}
.ksinfo-news-copy time{display:block;margin-bottom:7px;color:#89949e;font-size:11px}
.ksinfo-news-copy h3{margin:0;color:#27333e;font-size:15px;line-height:1.65}
.ksinfo-news-more{display:block;margin-top:9px;color:#637789;font-size:11px}
.ksinfo-morewrap{text-align:center;margin-top:24px}
.ksinfo-morebutton{display:inline-flex;align-items:center;gap:18px;padding:10px 17px;border-radius:22px;background:#697484;color:#fff;text-decoration:none;font-size:12px;font-weight:700}
.ksinfo-morebutton span{font-size:17px}

.ksinfo-discover{padding-top:10px}
.ksinfo-mini-card{flex:0 0 190px;overflow:hidden;border:1px solid #e3e8ec;border-radius:9px;background:#fff;color:#34414c;text-decoration:none;scroll-snap-align:start}
.ksinfo-mini-image{aspect-ratio:734/411}
.ksinfo-mini-card>span{display:block;padding:11px 12px 13px;font-size:12px;line-height:1.5}

.ksinfo-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:52px}
.ksinfo-social-box,.ksinfo-contact-box{padding:26px;border:1px solid #e0e6eb;border-radius:11px;background:#fafbfc}
.ksinfo-bottom-grid p:not(.ksinfo-section-kicker){color:#6e7984;font-size:13px;line-height:1.75}
.ksinfo-social-links{display:flex;align-items:center;gap:12px;margin-top:18px}
.ksinfo-social-dummy{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d7dee4;border-radius:8px;background:#fff;font-size:17px;font-weight:700}
.ksinfo-social-note{color:#8b96a0;font-size:11px}
.ksinfo-contact-button{display:inline-flex;align-items:center;gap:18px;margin-top:10px;padding:10px 14px;border:1px solid #d5dde4;border-radius:7px;background:#fff;color:#3d5366;text-decoration:none;font-size:12px;font-weight:700}

@media(max-width:767px){
  .ksinfo-top{padding-top:25px;padding-bottom:48px}
  .ksinfo-hero{margin-bottom:34px}
  .ksinfo-hero h1{font-size:23px}
  .ksinfo-section{margin-top:38px}
  .ksinfo-sectionhead{align-items:flex-start}
  .ksinfo-sectionhead h2{font-size:19px}
  .ksinfo-swipehint{display:none}
  .ksinfo-carousel{margin-right:-18px;padding-right:18px;gap:12px}
  .ksinfo-feature-card{flex-basis:82%;min-width:0}
  .ksinfo-feature-body{min-height:70px}
  .ksinfo-news-card>a{grid-template-columns:92px 1fr;gap:13px;padding:14px 0}
  .ksinfo-news-copy{padding-right:0}
  .ksinfo-news-copy h3{font-size:13px;line-height:1.6}
  .ksinfo-news-more{display:none}
  .ksinfo-mini-card{flex-basis:44%;min-width:145px}
  .ksinfo-bottom-grid{grid-template-columns:1fr;margin-top:42px}
  .ksinfo-social-box,.ksinfo-contact-box{padding:21px}
}


/* =========================================================
   KS INFORMATION TOP v1.0.3
   上段：1画面1枚のステージ型
   下段：小型カードレール
   ========================================================= */

/* テーマ側の余計な横制約を受けにくくする */
.ksinfo-top{
  width:100%;
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}

/* --- 上段：1枚だけ見せる --- */
.ksinfo-feature-stage{
  width:100%;
  max-width:820px;
  margin:0 auto;
}
.ksinfo-carousel-large{
  display:flex;
  gap:0;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:0;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  border-radius:12px;
}
.ksinfo-carousel-large::-webkit-scrollbar{display:none}

.ksinfo-carousel-large .ksinfo-feature-card{
  flex:0 0 100%;
  min-width:100%;
  max-width:100%;
  border-radius:12px;
  scroll-snap-align:start;
  box-shadow:none;
  box-sizing:border-box;
}
.ksinfo-carousel-large .ksinfo-feature-image{
  width:100%;
  aspect-ratio:734/411;
  box-sizing:border-box;
}
.ksinfo-carousel-large .ksinfo-feature-body{
  min-height:70px;
  padding:14px 52px 14px 16px;
  border-top:1px solid #edf0f3;
}
.ksinfo-carousel-large .ksinfo-feature-body strong{
  font-size:15px;
}
.ksinfo-feature-dots{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:11px;
}
.ksinfo-feature-dots span{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#d4dae0;
}
.ksinfo-feature-dots span.is-active{
  width:18px;
  border-radius:10px;
  background:#7a8794;
}

/* --- 下段：上段と違う見せ方。小さなカードを並べる --- */
.ksinfo-carousel-small{
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding:2px 2px 12px;
  scroll-snap-type:x proximity;
}
.ksinfo-carousel-small .ksinfo-mini-card{
  flex:0 0 230px;
  min-width:230px;
  border-radius:9px;
}
.ksinfo-carousel-small .ksinfo-mini-image{
  aspect-ratio:16/9;
}
.ksinfo-carousel-small .ksinfo-mini-card>span{
  min-height:54px;
  padding:10px 12px 12px;
  font-size:12px;
}

/* PCでは上段の隣カードを見せない */
@media (min-width:768px){
  .ksinfo-carousel-large{
    margin-right:0;
  }
}

/* mobileでも上段は常に1枚、下段だけ次カードを少し見せる */
@media(max-width:767px){
  .ksinfo-feature-stage{
    max-width:none;
  }
  .ksinfo-carousel-large{
    margin-right:0;
    padding-right:0;
  }
  .ksinfo-carousel-large .ksinfo-feature-card{
    flex-basis:100%;
    min-width:100%;
  }
  .ksinfo-carousel-large .ksinfo-feature-body strong{
    font-size:13px;
  }

  .ksinfo-carousel-small{
    margin-right:-18px;
    padding-right:18px;
  }
  .ksinfo-carousel-small .ksinfo-mini-card{
    flex:0 0 72%;
    min-width:0;
  }
}


/* =========================================================
   KS INFORMATION TOP v1.0.4
   今回の完成範囲：カルーセル + お知らせ
   ========================================================= */

.ksinfo-top-v104{
  max-width:900px;
  margin:0 auto;
  padding-top:28px;
  padding-bottom:64px;
}

/* 上段カルーセル：1枚のみ、734×411基準 */
.ksinfo-top-v104 .ksinfo-feature-stage{
  width:100%;
  max-width:734px;
  margin:0 auto 42px;
}

.ksinfo-top-v104 .ksinfo-carousel-large{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  display:flex;
  gap:0;
  padding:0;
  margin:0;
  border-radius:10px;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  background:#fff;
}

.ksinfo-top-v104 .ksinfo-carousel-large::-webkit-scrollbar{
  display:none;
}

.ksinfo-top-v104 .ksinfo-feature-card{
  flex:0 0 100%;
  min-width:100%;
  max-width:100%;
  margin:0;
  border:1px solid #e1e6eb;
  border-radius:10px;
  overflow:hidden;
  box-shadow:none;
  scroll-snap-align:start;
  box-sizing:border-box;
  background:#fff;
}

.ksinfo-top-v104 .ksinfo-feature-image{
  width:100%;
  aspect-ratio:734/411;
  box-sizing:border-box;
}

.ksinfo-top-v104 .ksinfo-feature-body{
  min-height:62px;
  padding:13px 50px 13px 15px;
  border-top:1px solid #edf1f4;
}

.ksinfo-top-v104 .ksinfo-feature-body strong{
  font-size:14px;
  line-height:1.5;
}

.ksinfo-top-v104 .ksinfo-feature-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  margin-top:12px;
}

.ksinfo-top-v104 .ksinfo-feature-dots button{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#d5dbe1;
  cursor:pointer;
}

.ksinfo-top-v104 .ksinfo-feature-dots button.is-active{
  width:20px;
  border-radius:12px;
  background:#7b8793;
}

/* お知らせ */
.ksinfo-top-v104 .ksinfo-news-section{
  max-width:734px;
  margin:0 auto;
  padding-top:0;
}

.ksinfo-top-v104 .ksinfo-sectionhead{
  margin-bottom:14px;
}

.ksinfo-top-v104 .ksinfo-sectionhead h2{
  font-size:20px;
}

.ksinfo-top-v104 .ksinfo-news-card>a{
  grid-template-columns:132px minmax(0,1fr);
  gap:18px;
  padding:16px 2px;
}

.ksinfo-top-v104 .ksinfo-news-thumb{
  border-radius:6px;
}

.ksinfo-top-v104 .ksinfo-news-copy h3{
  font-size:14px;
}

.ksinfo-top-v104 .ksinfo-morewrap{
  margin-top:22px;
}

/* mobile */
@media(max-width:767px){
  .ksinfo-top-v104{
    padding-top:18px;
    padding-bottom:44px;
  }

  .ksinfo-top-v104 .ksinfo-feature-stage{
    margin-bottom:34px;
  }

  .ksinfo-top-v104 .ksinfo-feature-body{
    min-height:58px;
    padding:11px 46px 11px 13px;
  }

  .ksinfo-top-v104 .ksinfo-feature-body strong{
    font-size:12px;
  }

  .ksinfo-top-v104 .ksinfo-news-card>a{
    grid-template-columns:88px minmax(0,1fr);
    gap:12px;
    padding:13px 0;
  }

  .ksinfo-top-v104 .ksinfo-news-copy h3{
    font-size:13px;
  }

  .ksinfo-top-v104 .ksinfo-news-copy time{
    margin-bottom:4px;
  }
}


/* =========================================================
   KS INFORMATION TOP v1.0.6
   記事ページと同じ2カラム骨格
   ========================================================= */

.ksinfo-top-v106{
  min-width:0;
}

/* 左カラム内にぴったり収める */
.ksinfo-top-v106 .ksinfo-feature-stage{
  width:100%;
  max-width:none;
  margin:0 0 34px;
}

.ksinfo-top-v106 .ksinfo-carousel-large{
  width:100%;
  display:flex;
  gap:0;
  overflow-x:auto;
  overflow-y:hidden;
  padding:0;
  margin:0;
  border-radius:10px;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  background:#fff;
}

.ksinfo-top-v106 .ksinfo-carousel-large::-webkit-scrollbar{
  display:none;
}

.ksinfo-top-v106 .ksinfo-feature-card{
  flex:0 0 100%;
  min-width:100%;
  max-width:100%;
  margin:0;
  border:1px solid #e1e6eb;
  border-radius:10px;
  overflow:hidden;
  box-shadow:none;
  scroll-snap-align:start;
  box-sizing:border-box;
  background:#fff;
}

.ksinfo-top-v106 .ksinfo-feature-image{
  width:100%;
  aspect-ratio:734/411;
  box-sizing:border-box;
}

.ksinfo-top-v106 .ksinfo-feature-body{
  min-height:60px;
  padding:12px 48px 12px 14px;
  border-top:1px solid #edf1f4;
}

.ksinfo-top-v106 .ksinfo-feature-body strong{
  font-size:14px;
  line-height:1.5;
}

.ksinfo-top-v106 .ksinfo-feature-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  margin-top:11px;
}

.ksinfo-top-v106 .ksinfo-feature-dots button{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#d5dbe1;
  cursor:pointer;
}

.ksinfo-top-v106 .ksinfo-feature-dots button.is-active{
  width:20px;
  border-radius:12px;
  background:#7b8793;
}

/* お知らせ */
.ksinfo-top-v106 .ksinfo-news-section{
  margin-top:0;
  padding-top:0;
}

.ksinfo-top-v106 .ksinfo-sectionhead{
  margin-bottom:13px;
}

.ksinfo-top-v106 .ksinfo-sectionhead h2{
  font-size:20px;
}

.ksinfo-top-v106 .ksinfo-news-card>a{
  grid-template-columns:118px minmax(0,1fr);
  gap:16px;
  padding:15px 2px;
}

.ksinfo-top-v106 .ksinfo-news-copy h3{
  font-size:14px;
}

/* mobile：記事ページと同じく1カラム、右サイドバーは既存ルールで非表示 */
@media(max-width:767px){
  .ksinfo-top-v106 .ksinfo-feature-stage{
    margin-bottom:30px;
  }

  .ksinfo-top-v106 .ksinfo-feature-body{
    min-height:56px;
    padding:10px 44px 10px 12px;
  }

  .ksinfo-top-v106 .ksinfo-feature-body strong{
    font-size:12px;
  }

  .ksinfo-top-v106 .ksinfo-news-card>a{
    grid-template-columns:88px minmax(0,1fr);
    gap:12px;
    padding:13px 0;
  }

  .ksinfo-top-v106 .ksinfo-news-copy h3{
    font-size:13px;
  }
}


/* =========================================================
   KS INFORMATION TOP v1.0.7
   実画像8点 + 右カラム共通化
   ========================================================= */

.ksinfo-top-v106 .ksinfo-feature-card{
  display:block;
  line-height:0;
  background:#fff;
}

.ksinfo-top-v106 .ksinfo-feature-realimage{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:734/411;
  object-fit:cover;
  border:0;
}

/* 実画像版では旧ダミー画像・タイトル帯を使用しない */
.ksinfo-top-v106 .ksinfo-feature-image,
.ksinfo-top-v106 .ksinfo-feature-body{
  display:none !important;
}


/* =========================================================
   KS INFORMATION v1.0.8
   共通右カラム：知ると便利-情報満載利用ガイド
   ========================================================= */

.ksinfo-guide-sidebar{
  min-width:0;
}

.ksinfo-guide-title{
  margin:2px 0 16px;
  color:#4b4b4b;
  font-size:12px;
  font-weight:700;
  line-height:1.55;
  letter-spacing:.02em;
}

.ksinfo-guide-list{
  display:block;
  border-top:1px solid #d7d7d7;
}

.ksinfo-guide-item{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  align-items:center;
  gap:14px;
  min-height:92px;
  padding:10px 4px;
  border-bottom:1px solid #d7d7d7;
  color:#454545;
  text-decoration:none;
  background:transparent;
}

.ksinfo-guide-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  overflow:hidden;
}

.ksinfo-guide-icon img{
  display:block;
  max-width:64px;
  max-height:64px;
  width:auto;
  height:auto;
  object-fit:contain;
}

.ksinfo-guide-name{
  display:block;
  min-width:0;
  color:#4a4a4a;
  font-size:15px;
  font-weight:500;
  line-height:1.55;
}

@media (hover:hover) and (pointer:fine){
  .ksinfo-guide-item:hover{
    background:#fafafa;
    color:#222;
  }
}

@media(max-width:767px){
  /* 共通2カラム仕様どおり、右カラムはmobileでは表示しない */
  .ksinfo-guide-sidebar{
    display:none;
  }
}


/* =========================================================
   KS INFORMATION v1.0.9
   右カラム微調整：薄背景 + 短大アイコン更新 + KS画像のみ
   ========================================================= */

.ksinfo-guide-sidebar{
  padding:18px 18px 16px;
  border:1px solid #edf1f4;
  border-radius:10px;
  background:#f6f8fa;
}

.ksinfo-guide-title{
  margin:0 0 14px;
  color:#4a4f55;
}

.ksinfo-guide-list{
  border-top:1px solid #d7dde2;
}

.ksinfo-guide-item{
  padding-left:2px;
  padding-right:2px;
  border-bottom:1px solid #d7dde2;
}

.ksinfo-guide-item-ks{
  display:block;
  padding:20px 8px 18px;
  min-height:0;
}

.ksinfo-guide-ksimage{
  display:block;
  width:100%;
}

.ksinfo-guide-ksimage img{
  display:block;
  width:100%;
  max-width:240px;
  height:auto;
  margin:0 auto;
  object-fit:contain;
}


/* =========================================================
   KS INFORMATION v1.0.10
   右カラム軽量化：「箱の中に箱」を解消
   ========================================================= */

.ksinfo-guide-sidebar{
  padding:18px 18px 14px;
  border:0 !important;
  border-radius:6px;
  background:#f6f8fa;
  box-shadow:none !important;
}

.ksinfo-guide-title{
  margin:0 0 14px;
  color:#4a4f55;
}

/* 外周の線は作らず、各項目の区切り線だけ */
.ksinfo-guide-list{
  border-top:0 !important;
}

.ksinfo-guide-item{
  padding:10px 2px;
  border:0 !important;
  border-bottom:1px solid #d7dde2 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.ksinfo-guide-item:first-child{
  border-top:1px solid #d7dde2 !important;
}

/* Knowledge Station は画像そのものだけを見せる */
.ksinfo-guide-item-ks{
  display:block;
  padding:20px 0 18px;
}

.ksinfo-guide-ksimage{
  display:block;
  width:100%;
  padding:0;
  border:0 !important;
  background:transparent !important;
}

.ksinfo-guide-ksimage img{
  display:block;
  width:100%;
  max-width:240px;
  height:auto;
  margin:0 auto;
  padding:0;
  border:0 !important;
  outline:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

/* mobile は引き続き右カラムを表示しない */
@media(max-width:767px){
  .ksinfo-guide-sidebar{
    display:none !important;
  }
}


/* KS INFORMATION v1.0.11: NEWS画像自動取得 */
.ksinfo-news-thumb .ksinfo-news-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}


/* =========================================================
   KS INFORMATION v1.0.12
   「いま、気になる情報」固定3列（PC / mobile とも横並び）
   ========================================================= */
.ksinfo-now-section{
  margin-top:38px;
  padding-top:26px;
  border-top:1px solid #e3e7ea;
}

.ksinfo-now-head{
  margin:0 0 14px;
}

.ksinfo-now-head h2{
  margin:0;
  color:#333;
  font-size:20px;
  font-weight:600;
  line-height:1.4;
}

.ksinfo-now-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.ksinfo-now-item{
  min-width:0;
}

.ksinfo-now-item img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1/1;
  object-fit:cover;
  border:0;
}

.ksinfo-now-label{
  margin-top:7px;
  color:#555;
  font-size:12px;
  font-weight:400;
  line-height:1.45;
  text-align:center;
}

@media(max-width:767px){
  .ksinfo-now-section{
    margin-top:30px;
    padding-top:22px;
  }
  .ksinfo-now-head{
    margin-bottom:10px;
  }
  .ksinfo-now-head h2{
    font-size:17px;
  }
  .ksinfo-now-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  .ksinfo-now-label{
    margin-top:5px;
    font-size:10px;
    line-height:1.35;
  }
}


/* =========================================================
   KS INFORMATION v1.0.13
   「いま、気になる情報」コンパクト表示
   ========================================================= */

.ksinfo-now-info{
  margin-top:18px;
  padding-top:16px;
  padding-bottom:8px;
}

.ksinfo-now-info h2,
.ksinfo-now-info-title{
  margin:0 0 12px;
}

.ksinfo-now-info-grid{
  display:flex;
  flex-wrap:nowrap;
  justify-content:flex-start;
  align-items:flex-start;
  gap:14px;
}

.ksinfo-now-info-item{
  flex:0 0 156px;
  width:156px;
  max-width:156px;
}

.ksinfo-now-info-item img{
  display:block;
  width:156px;
  height:156px;
  object-fit:cover;
}

.ksinfo-now-info-item-title,
.ksinfo-now-info-caption{
  margin-top:6px;
  font-size:12px;
  line-height:1.45;
  text-align:center;
}

@media(max-width:767px){
  .ksinfo-now-info{
    margin-top:14px;
    padding-top:14px;
    padding-bottom:4px;
  }

  .ksinfo-now-info h2,
  .ksinfo-now-info-title{
    margin-bottom:10px;
  }

  .ksinfo-now-info-grid{
    gap:8px;
  }

  .ksinfo-now-info-item{
    flex:1 1 0;
    width:auto;
    max-width:none;
    min-width:0;
  }

  .ksinfo-now-info-item img{
    width:86px;
    height:86px;
    max-width:100%;
    margin:0 auto;
    object-fit:cover;
  }

  .ksinfo-now-info-item-title,
  .ksinfo-now-info-caption{
    margin-top:5px;
    font-size:10px;
    line-height:1.35;
  }
}


/* =========================================================
   KS INFORMATION v1.0.14
   情報階層と「いま、気になる情報」実クラス修正
   ========================================================= */

/* NEWS見出しを主役に */
.ksinfo-top-v106 .ksinfo-sectionhead h2{
  font-size:20px;
  font-weight:700;
  color:#25313d;
}

/* 旬情報は補助領域として小さく安定表示 */
.ksinfo-now-section{
  margin-top:24px;
  padding-top:18px;
  padding-bottom:4px;
}

.ksinfo-now-head{
  margin:0 0 12px;
}

.ksinfo-now-head h2{
  margin:0;
  font-size:16px;
  font-weight:600;
  line-height:1.4;
  color:#3f454b;
}

.ksinfo-now-grid{
  display:flex;
  flex-wrap:nowrap;
  justify-content:flex-start;
  align-items:flex-start;
  gap:14px;
}

.ksinfo-now-item{
  flex:0 0 136px;
  width:136px;
  max-width:136px;
  min-width:0;
}

.ksinfo-now-item img{
  display:block;
  width:136px;
  height:136px;
  max-width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}

.ksinfo-now-label{
  margin-top:5px;
  font-size:12px;
  font-weight:400;
  line-height:1.35;
  text-align:center;
  color:#5a626a;
}

@media(max-width:767px){
  .ksinfo-top-v106 .ksinfo-sectionhead h2{
    font-size:18px;
    font-weight:700;
  }

  .ksinfo-now-section{
    margin-top:18px;
    padding-top:14px;
    padding-bottom:2px;
  }

  .ksinfo-now-head{
    margin-bottom:9px;
  }

  .ksinfo-now-head h2{
    font-size:15px;
    font-weight:600;
  }

  .ksinfo-now-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }

  .ksinfo-now-item{
    width:auto;
    max-width:none;
    min-width:0;
  }

  .ksinfo-now-item img{
    width:86px;
    height:86px;
    max-width:100%;
    margin:0 auto;
  }

  .ksinfo-now-label{
    margin-top:4px;
    font-size:10px;
    line-height:1.3;
  }
}


/* KS INFORMATION v1.0.16: 学校アップデート */
.ksinfo-school-updates{
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid #dfe4e8;
}
.ksinfo-school-updates-title{
  margin:0 0 8px;
  font-size:15px;
  line-height:1.5;
  font-weight:600;
}
.ksinfo-school-updates-title a{
  color:#2f3337;
  text-decoration:none;
}
.ksinfo-school-updates-title a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
.ksinfo-school-updates-list{
  max-width:400px;
  border-top:1px solid #e2e6e9;
}
.ksinfo-school-updates-list a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:34px;
  padding:6px 2px;
  border-bottom:1px solid #e2e6e9;
  color:#4b5157;
  font-size:13px;
  text-decoration:none;
}
.ksinfo-school-updates-list a:hover{
  color:#1f4f7a;
}
.ksinfo-school-updates-list a span:last-child{
  color:#8b949d;
  font-size:16px;
  line-height:1;
}
@media(max-width:767px){
  .ksinfo-school-updates{
    margin-top:14px;
    padding-top:10px;
  }
  .ksinfo-school-updates-title{
    font-size:14px;
  }
  .ksinfo-school-updates-list{
    max-width:none;
  }
  .ksinfo-school-updates-list a{
    min-height:32px;
    font-size:12px;
  }
}


/* =========================================================
   KS INFORMATION v1.0.17
   学校アップデート：薄い2列カード
   ========================================================= */
.ksinfo-school-updates{
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid #dfe4e8;
}
.ksinfo-school-updates-title{
  margin:0 0 10px;
  font-size:15px;
  line-height:1.5;
  font-weight:600;
}
.ksinfo-school-updates-title a{
  color:#2f3337;
  text-decoration:none;
}
.ksinfo-school-updates-title a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
.ksinfo-school-updates-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  max-width:420px;
  border:0;
}
.ksinfo-school-updates-list a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:38px;
  padding:8px 10px;
  border:1px solid #e0e5e9;
  border-radius:4px;
  background:#fff;
  color:#4b5157;
  font-size:13px;
  line-height:1.35;
  text-decoration:none;
}
.ksinfo-school-updates-list a:hover{
  border-color:#cbd4db;
  color:#1f4f7a;
}
.ksinfo-school-updates-list a span:last-child{
  color:#8b949d;
  font-size:16px;
  line-height:1;
}
@media(max-width:767px){
  .ksinfo-school-updates{
    margin-top:14px;
    padding-top:10px;
  }
  .ksinfo-school-updates-title{
    font-size:14px;
  }
  .ksinfo-school-updates-list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:7px;
    max-width:none;
  }
  .ksinfo-school-updates-list a{
    min-height:36px;
    padding:7px 8px;
    font-size:12px;
  }
}


/* =========================================================
   KS INFORMATION v1.0.19
   大詰め調整：ページ見出し・パンくず・記事タイトル・更新ナビ
   ========================================================= */

/* Top page heading */
.ksinfo-page-heading{
  margin:0 0 22px;
}
.ksinfo-page-breadcrumb,
.ksinfo-single-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin:0 0 10px;
  color:#7a838c;
  font-size:12px;
  line-height:1.6;
}
.ksinfo-page-breadcrumb a,
.ksinfo-single-breadcrumb a{
  color:#5a6470;
  text-decoration:none;
}
.ksinfo-page-breadcrumb a:hover,
.ksinfo-single-breadcrumb a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
.ksinfo-page-title{
  margin:0;
  color:#20252a;
  font-size:24px;
  line-height:1.45;
  font-weight:600;
  letter-spacing:.01em;
}

/* Single article */
.ksinfo-single-breadcrumb{
  margin-bottom:18px;
}
.ksinfo-main h1,
.ksinfo-article-title{
  font-size:34px !important;
  line-height:1.45 !important;
  font-weight:600 !important;
  letter-spacing:.01em;
}
.ksinfo-published-bottom{
  margin-top:28px;
  padding-top:14px;
  border-top:1px solid #e2e6e9;
  color:#7b858f;
  font-size:13px;
  line-height:1.5;
}

/* School Updates: separate clearly from "もっと見る" */
.ksinfo-school-updates{
  margin-top:28px !important;
  padding-top:18px !important;
  border-top:1px solid #dfe4e8 !important;
}
.ksinfo-school-updates-title{
  margin:0 0 10px !important;
  font-size:16px !important;
  font-weight:600 !important;
}
.ksinfo-school-updates-list{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:10px !important;
  width:100% !important;
  max-width:none !important;
}
.ksinfo-school-updates-list a{
  min-height:40px !important;
  padding:9px 12px !important;
  border:1px solid #dfe4e8 !important;
  border-radius:4px !important;
  background:#fff !important;
  font-size:13px !important;
}
.ksinfo-school-updates-list a:last-child:nth-child(odd){
  grid-column:1 / span 1;
}

/* keep left-column balance */
.ksinfo-main{
  min-width:0;
}

@media(min-width:900px){
  .ksinfo-school-updates-list{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:767px){
  .ksinfo-page-heading{
    margin-bottom:16px;
  }
  .ksinfo-page-breadcrumb,
  .ksinfo-single-breadcrumb{
    font-size:11px;
    gap:5px;
    margin-bottom:8px;
  }
  .ksinfo-page-title{
    font-size:20px;
    line-height:1.4;
  }
  .ksinfo-main h1,
  .ksinfo-article-title{
    font-size:24px !important;
    line-height:1.5 !important;
  }
  .ksinfo-school-updates{
    margin-top:22px !important;
    padding-top:14px !important;
  }
  .ksinfo-school-updates-title{
    font-size:14px !important;
  }
  .ksinfo-school-updates-list{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:7px !important;
  }
  .ksinfo-school-updates-list a{
    min-height:36px !important;
    padding:7px 8px !important;
    font-size:12px !important;
  }
  .ksinfo-published-bottom{
    margin-top:24px;
    font-size:12px;
  }
}


/* =========================================================
   KS INFORMATION v1.0.20
   確認済み修正：見出し・パンくず・もっと見る・登録日・赤帯
   ========================================================= */

/* 赤帯：全体をgakkou.netへリンク */
.ksinfo-brandstrip-link{
  display:block;
  color:#fff !important;
  text-decoration:none !important;
}
.ksinfo-brandstrip-link:hover{
  text-decoration:underline !important;
  text-underline-offset:2px;
}

/* パンくずを上へ */
.ksinfo-shell{
  padding-top:22px !important;
}

/* トップのパンくず・タイトル */
.ksinfo-page-heading{
  margin:0 0 20px !important;
}
.ksinfo-page-breadcrumb{
  margin:0 0 8px !important;
  font-size:12px !important;
  white-space:nowrap;
}
.ksinfo-page-title{
  margin:0 !important;
  color:#20252a !important;
  font-size:25px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
  white-space:nowrap;
}

/* 記事パンくず */
.ksinfo-single-breadcrumb{
  display:flex !important;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin:0 0 14px !important;
  color:#7a838c;
  font-size:12px !important;
  line-height:1.6;
}
.ksinfo-single-breadcrumb a{
  color:#5a6470 !important;
  text-decoration:none !important;
}
.ksinfo-single-current{
  color:#7a838c;
}

/* 記事タイトルを抑える */
.ksinfo-title{
  margin:0 0 24px !important;
  font-size:30px !important;
  line-height:1.45 !important;
  font-weight:600 !important;
}

/* 登録日は本文下 */
.ksinfo-published-bottom{
  margin-top:30px;
  padding-top:14px;
  border-top:1px solid #e2e6e9;
  color:#7b858f;
  font-size:13px;
  line-height:1.5;
}

/* もっと見ると学校アップデートを離す */
.ksinfo-morewrap{
  margin-top:24px !important;
  margin-bottom:34px !important;
}
.ksinfo-school-updates{
  margin-top:0 !important;
}

/* 学校アップデートは現状◎を維持 */
.ksinfo-school-updates-list{
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  width:100% !important;
  max-width:none !important;
}

@media(max-width:767px){
  .ksinfo-shell{
    padding-top:14px !important;
  }

  .ksinfo-page-heading{
    margin-bottom:15px !important;
  }

  .ksinfo-page-breadcrumb{
    margin-bottom:6px !important;
    font-size:10px !important;
  }

  .ksinfo-page-title{
    font-size:17px !important;
    line-height:1.35 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
  }

  .ksinfo-single-breadcrumb{
    margin-bottom:10px !important;
    font-size:10px !important;
    gap:4px;
  }

  .ksinfo-single-current{
    flex:1 1 100%;
    margin-top:1px;
  }

  .ksinfo-title{
    font-size:23px !important;
    line-height:1.5 !important;
    font-weight:600 !important;
  }

  .ksinfo-published-bottom{
    margin-top:24px;
    font-size:12px;
  }

  .ksinfo-morewrap{
    margin-bottom:26px !important;
  }
}


/* =========================================================
   KS INFORMATION v1.0.21
   記事ページのみ：パンくず・登録日位置
   ========================================================= */

.ksinfo-single-breadcrumb{
  display:flex !important;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin:0 0 16px !important;
  color:#7a838c;
  font-size:12px !important;
  line-height:1.6;
}

.ksinfo-single-breadcrumb a{
  color:#5a6470 !important;
  text-decoration:none !important;
}

.ksinfo-single-current{
  color:#7a838c;
}

.ksinfo-published-bottom{
  display:block !important;
  margin-top:30px;
  padding-top:14px;
  border-top:1px solid #e2e6e9;
  color:#7b858f;
  font-size:13px;
  line-height:1.5;
}

/* 旧登録日が残っていた場合も記事上部では非表示 */
.ksinfo-main > .ksinfo-meta{
  display:none !important;
}

@media(max-width:767px){
  .ksinfo-single-breadcrumb{
    margin-bottom:12px !important;
    font-size:10px !important;
    gap:4px;
  }

  .ksinfo-single-current{
    flex:1 1 100%;
  }

  .ksinfo-published-bottom{
    margin-top:24px;
    font-size:12px;
  }
}


/* =========================================================
   KS INFORMATION v1.0.22
   「もっと見る」専用 お知らせ一覧ページ
   ========================================================= */

.ksinfo-list-shell{
  max-width:1120px;
}

.ksinfo-list-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin:0 0 10px;
  color:#7a838c;
  font-size:12px;
  line-height:1.6;
}

.ksinfo-list-breadcrumb a{
  color:#5a6470;
  text-decoration:none;
}

.ksinfo-list-breadcrumb a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

.ksinfo-list-title{
  margin:0 0 28px;
  color:#20252a;
  font-size:26px;
  line-height:1.45;
  font-weight:600;
}

.ksinfo-list{
  border-top:1px solid #dfe4e8;
}

.ksinfo-list-item{
  margin:0;
  border-bottom:1px solid #dfe4e8;
}

.ksinfo-list-item > a{
  display:grid;
  grid-template-columns:110px minmax(0,1fr) 18px;
  align-items:center;
  gap:18px;
  min-height:64px;
  padding:14px 4px;
  color:#30363c;
  text-decoration:none;
}

.ksinfo-list-item time{
  color:#7b858f;
  font-size:13px;
  white-space:nowrap;
}

.ksinfo-list-item-title{
  font-size:15px;
  line-height:1.6;
}

.ksinfo-list-arrow{
  color:#87919a;
  font-size:18px;
  line-height:1;
  text-align:right;
}

.ksinfo-list-item > a:hover .ksinfo-list-item-title{
  color:#245fa8;
}

.ksinfo-list-back{
  margin-top:28px;
  padding-top:18px;
}

.ksinfo-list-back a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#5a6470;
  font-size:13px;
  text-decoration:none;
}

@media(max-width:767px){
  .ksinfo-list-title{
    margin-bottom:20px;
    font-size:20px;
    line-height:1.45;
  }

  .ksinfo-list-breadcrumb{
    font-size:10px;
    gap:5px;
  }

  .ksinfo-list-item > a{
    grid-template-columns:1fr 16px;
    gap:8px 10px;
    min-height:0;
    padding:13px 2px;
  }

  .ksinfo-list-item time{
    grid-column:1;
    font-size:11px;
  }

  .ksinfo-list-item-title{
    grid-column:1;
    font-size:14px;
  }

  .ksinfo-list-arrow{
    grid-column:2;
    grid-row:1 / span 2;
    align-self:center;
  }
}


/* =========================================================
   KS INFORMATION v1.0.23
   SNS / Xアカウント案内
   ========================================================= */

.ksinfo-sns-section{
  margin-top:26px;
  padding-top:18px;
  border-top:1px solid #dfe4e8;
}

.ksinfo-sns-head{
  margin:0 0 10px;
}

.ksinfo-sns-head h2{
  margin:0;
  font-size:16px;
  line-height:1.45;
  font-weight:600;
  color:#2f3337;
}

.ksinfo-sns-head p{
  margin:3px 0 0;
  color:#7a838c;
  font-size:12px;
  line-height:1.5;
}

.ksinfo-sns-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:0 20px;
}

.ksinfo-sns-list a{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 18px;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:8px 2px;
  border-bottom:1px solid #e2e6e9;
  color:#4b5157;
  text-decoration:none;
}

.ksinfo-sns-list a:hover{
  color:#1f4f7a;
}

.ksinfo-sns-x{
  font-size:15px;
  line-height:1;
  color:#222;
}

.ksinfo-sns-name{
  min-width:0;
  font-size:13px;
  line-height:1.45;
}

.ksinfo-sns-out{
  color:#8b949d;
  font-size:13px;
  line-height:1;
  text-align:right;
}

@media(max-width:767px){
  .ksinfo-sns-section{
    margin-top:22px;
    padding-top:14px;
  }

  .ksinfo-sns-head h2{
    font-size:14px;
  }

  .ksinfo-sns-head p{
    font-size:11px;
  }

  .ksinfo-sns-list{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:0 10px;
  }

  .ksinfo-sns-list a{
    grid-template-columns:18px minmax(0,1fr) 14px;
    gap:5px;
    min-height:38px;
    padding:7px 0;
  }

  .ksinfo-sns-x{
    font-size:13px;
  }

  .ksinfo-sns-name{
    font-size:11px;
    line-height:1.35;
  }

  .ksinfo-sns-out{
    font-size:11px;
  }
}


/* =========================================================
   KS INFORMATION v1.0.28
   お知らせ一覧ページ：トップ／記事と同じ2カラム
   ========================================================= */
@media (min-width:768px){
  .ksinfo-list-page .ksinfo-list-shell{
    max-width:1120px;
  }
}


/* =========================================================
   KS INFORMATION v1.0.30
   お知らせタイトルのみ視認性アップ（トップ＋一覧）
   ========================================================= */
.ksinfo-top-v106 .ksinfo-news-card > a .ksinfo-news-copy h3{
  color:#172b3a !important;
}

.ksinfo-list-item > a .ksinfo-list-item-title{
  color:#172b3a !important;
}

.ksinfo-list-item > a:hover .ksinfo-list-item-title{
  color:#245fa8 !important;
}

/* v1.0.32: mobileでも共通利用ガイドを本文・一覧の後に表示 */
@media(max-width:767px){
  .ksinfo-guide-sidebar{
    width:auto;
    max-width:none;
    margin:34px 0 0;
    padding:18px 14px;
    background:#f7f9fb;
    border-radius:8px;
  }
  .ksinfo-guide-title{
    margin:0 0 10px;
    font-size:12px;
  }
  .ksinfo-guide-item{
    grid-template-columns:48px minmax(0,1fr);
    gap:12px;
    min-height:66px;
    padding:8px 2px;
  }
  .ksinfo-guide-icon{
    width:48px;
    height:48px;
  }
  .ksinfo-guide-icon img{
    max-width:48px;
    max-height:48px;
  }
  .ksinfo-guide-item-title{
    font-size:13px;
  }
  .ksinfo-guide-ksimage img{
    max-width:100%;
    height:auto;
  }
}


/* v1.0.33: 古い mobile 非表示指定（display:none !important）を最終上書き */
@media(max-width:767px){
  .ksinfo-sidebar.ksinfo-guide-sidebar{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:auto !important;
    max-width:none !important;
    margin:34px 0 0 !important;
  }
}


/* =========================================================
   KS INFORMATION v1.0.34
   NEWS cards only
   - latest 5
   - date above title, tighter internal rhythm
   - darker title
   - larger 16:9 image
   - taller cards and clearer spacing
   ========================================================= */

.ksinfo-news-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.ksinfo-news-card{
  margin:0 !important;
  min-height:118px;
  border-bottom:1px solid #e0e4e8;
}

.ksinfo-news-card > a{
  display:grid !important;
  grid-template-columns:152px minmax(0,1fr) !important;
  align-items:center !important;
  gap:18px !important;
  min-height:118px;
  padding:10px 0 14px !important;
  text-decoration:none;
}

.ksinfo-news-thumb{
  width:152px !important;
  aspect-ratio:734 / 411;
  overflow:hidden;
  border-radius:3px;
  background:#f5f7f9;
}

.ksinfo-news-thumb img,
.ksinfo-news-image{
  display:block;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.ksinfo-news-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.ksinfo-news-copy time{
  order:1;
  margin:0 0 3px !important;
  color:#8a939d;
  font-size:12px;
  line-height:1.35;
}

.ksinfo-news-copy h3{
  order:2;
  margin:0 !important;
  color:#20252a !important;
  font-size:16px !important;
  line-height:1.55 !important;
  font-weight:600 !important;
  letter-spacing:0;
}

.ksinfo-news-more{
  order:3;
  margin-top:7px !important;
  color:#7c8792;
  font-size:12px;
  line-height:1.3;
}

.ksinfo-news-card > a:hover .ksinfo-news-copy h3{
  color:#1f4f7a !important;
}

@media (max-width:767px){
  .ksinfo-news-list{
    gap:12px;
  }

  .ksinfo-news-card{
    min-height:104px;
  }

  .ksinfo-news-card > a{
    grid-template-columns:108px minmax(0,1fr) !important;
    gap:12px !important;
    min-height:104px;
    padding:9px 0 12px !important;
    align-items:center !important;
  }

  .ksinfo-news-thumb{
    width:108px !important;
    aspect-ratio:734 / 411;
  }

  .ksinfo-news-copy time{
    margin-bottom:2px !important;
    font-size:10px;
  }

  .ksinfo-news-copy h3{
    font-size:13px !important;
    line-height:1.45 !important;
    font-weight:600 !important;
  }

  .ksinfo-news-more{
    display:none !important;
  }
}


/* =========================================================
   KS INFORMATION v1.0.35
   NEWS: title first / date inline / mobile text priority
   ========================================================= */

.ksinfo-news-copy{
  min-width:0;
  display:block !important;
}

.ksinfo-news-copy h3{
  margin:0 !important;
  color:#20252a !important;
  font-size:16px !important;
  line-height:1.55 !important;
  font-weight:600 !important;
}

.ksinfo-news-copy h3 time{
  display:inline !important;
  margin-left:8px !important;
  color:#9aa2aa !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:400 !important;
  white-space:nowrap;
  vertical-align:baseline;
}

.ksinfo-news-more{
  display:inline-block !important;
  margin-top:7px !important;
  color:#7c8792;
  font-size:12px;
  line-height:1.3;
}

@media (max-width:767px){
  .ksinfo-news-card{
    min-height:96px;
  }

  .ksinfo-news-card > a{
    grid-template-columns:90px minmax(0,1fr) !important;
    gap:10px !important;
    min-height:96px;
    padding:9px 0 12px !important;
  }

  .ksinfo-news-thumb{
    width:90px !important;
    aspect-ratio:734 / 411;
  }

  .ksinfo-news-copy h3{
    font-size:13px !important;
    line-height:1.45 !important;
    font-weight:600 !important;
  }

  .ksinfo-news-copy h3 time{
    margin-left:6px !important;
    font-size:9px !important;
  }

  .ksinfo-news-more{
    display:inline-block !important;
    margin-top:6px !important;
    font-size:10px !important;
  }
}

/* =========================================================
   KS INFORMATION v1.0.40
   現行定義：注目情報 + 3カラム案内
   注目情報は上部NEWSカードの構造をそのまま再利用
   ========================================================= */

/* ---------- 注目情報 ---------- */
.ksinfo-featured-topics{
  margin:30px 0 0;
  padding-top:20px;
  border-top:1px solid #dfe4e8;
}

.ksinfo-featured-topics-head{
  margin:0 0 14px;
}

.ksinfo-featured-badge{
  display:inline-block;
  padding:5px 11px;
  border-radius:999px;
  background:#c43d3d;
  color:#fff;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.02em;
}

/* NEWSの見た目をそのまま利用。注目情報側では日付・詳しく見るを置かない */
.ksinfo-featured-news-list{
  border-top:1px solid #dfe5ea;
}

.ksinfo-featured-news-card .ksinfo-news-copy{
  padding-right:0;
}

.ksinfo-featured-news-card .ksinfo-news-copy h3{
  margin:0;
}

/* ---------- 3カラム案内：v1.0.39で確認済みの寸法を維持 ---------- */
.ksinfo-guide-hub{
  margin:54px 0 4px;
  padding:0;
  border:0;
}

.ksinfo-guide-hub-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  align-items:start;
  gap:18px;
}

.ksinfo-guide-hub-item{
  display:block;
  min-width:0;
  color:#2f353b;
  text-decoration:none;
}

.ksinfo-guide-hub-image{
  width:84px;
  height:84px;
  margin:0 auto;
  border:0;
  border-radius:6px;
  background:transparent;
  overflow:hidden;
}

.ksinfo-guide-hub-image img{
  display:block;
  width:100%;
  height:100%;
  margin:0;
  object-fit:contain;
}

.ksinfo-guide-hub-title{
  margin-top:7px;
  color:#3b4249;
  font-size:11px;
  line-height:1.4;
  font-weight:600;
  text-align:center;
}

.ksinfo-guide-hub-item:hover .ksinfo-guide-hub-title{
  color:#1f4f7a;
}

@media (max-width:767px){
  .ksinfo-featured-topics{
    margin-top:24px;
    padding-top:16px;
  }

  .ksinfo-featured-badge{
    padding:4px 9px;
    font-size:11px;
  }

  .ksinfo-guide-hub{
    margin-top:42px;
  }

  .ksinfo-guide-hub-grid{
    gap:8px;
  }

  .ksinfo-guide-hub-image{
    width:58px;
    height:58px;
  }

  .ksinfo-guide-hub-title{
    margin-top:5px;
    font-size:9px;
    line-height:1.35;
  }
}



/* v1.0.41 : 3カラム案内バッジ */
.ksinfo-guide-hub-head{
  margin:0 0 24px;
}
.ksinfo-guide-hub-head span{
  display:inline-block;
  padding:7px 14px;
  border-radius:6px;
  background:#34414a;
  color:#fff;
  font-size:12px;
  line-height:1.35;
  font-weight:600;
  letter-spacing:.02em;
}
@media(max-width:767px){
  .ksinfo-guide-hub-head{margin-bottom:20px;}
  .ksinfo-guide-hub-head span{padding:6px 11px;font-size:11px;}
}
