@charset "utf-8";
/*
  school-sub.css
  --------------------------------------------------------------
  /stay/（stay.php）・/access/（access.php）用の差分CSS。
  基盤（.sch-detail の変数・パンくず・tit2/tit3・tb1・cta・rel 等）は
  school-top.css を併読して再利用し、本ファイルは各ページ固有の
  リスト/簡易テーブル/スライダーのみを暖色トーンで定義する。
*/

/* 小見出し（宿舎設備など） */
.sch-detail .tit4 {
  font-size: 1.05em;
  font-weight: 600;
  margin: 1.2em 0 0.4em;
  color: var(--sch-text);
  padding-left: 0.55em;
  border-left: 4px solid rgba(var(--sch-accent-rgb), 0.7);
  line-height: 1.4;
}

/* ============================================================
   宿舎（/stay/）
   ============================================================ */
/* 宿舎名アンカーリスト */
.sch-detail .stay_list { margin: 20px auto; }
.sch-detail .stay_list li { margin: 0.6em 0; }
.sch-detail .stay_list li a {
  position: relative;
  display: inline-block;
  padding-left: 1.4em;
  color: rgba(var(--sch-accent-rgb), 0.95);
  line-height: 1.6;
}
.sch-detail .stay_list li a::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0.2em;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: rgba(var(--sch-accent-rgb), 0.85);
  transform: rotate(45deg);
}

/* 宿舎スライダー（slick） */
.sch-detail .slide_stay { width: 100%; max-width: 560px; margin: 0 auto 24px; }
.sch-detail .slide_stay .slick-slide { padding: 0 6px; }
.sch-detail .slide_stay img { width: 100%; border-radius: 10px; }
.sch-detail .slide_stay:not(.slick-initialized) > li + li { display: none; }
.sch-detail .slide_stay .slick-prev,
.sch-detail .slide_stay .slick-next {
  width: 38px; height: 38px; z-index: 10;
  background: #fff; border-radius: 50%;
  box-shadow: 0 2px 8px rgba(45, 52, 54, 0.18);
}
.sch-detail .slide_stay .slick-prev { left: -4px; }
.sch-detail .slide_stay .slick-next { right: -4px; }
.sch-detail .slide_stay .slick-prev:before,
.sch-detail .slide_stay .slick-next:before {
  content: ""; display: inline-block;
  width: 10px; height: 10px;
  border-top: 2.5px solid #ff6b35;
  border-right: 2.5px solid #ff6b35;
  opacity: 1;
}
.sch-detail .slide_stay .slick-prev:before { transform: rotate(-135deg); margin-left: 3px; }
.sch-detail .slide_stay .slick-next:before { transform: rotate(45deg); margin-right: 3px; }
.sch-detail .slide_stay .slick-dots li.slick-active button:before { color: #ff6b35; opacity: 1; }

/* 宿舎設備の簡易テーブル（.stay_li1/.stay_li2 内に .stay_div>.stay_th+.stay_td） */
.sch-detail .stay_li1,
.sch-detail .stay_li2 {
  display: flex;
  flex-wrap: wrap;
  margin: 10px 0 22px;
  background: #fff;
  border: 1px solid rgba(var(--sch-accent-rgb), 0.18);
  border-radius: 12px;
  overflow: hidden;
}
.sch-detail .stay_div {
  display: flex;
  flex-basis: 50%;
  box-sizing: border-box;
  border-top: 1px solid rgba(var(--sch-accent-rgb), 0.1);
}
.sch-detail .stay_li2 .stay_div { flex-basis: 33.333%; }
.sch-detail .stay_th,
.sch-detail .stay_td {
  padding: 9px 10px;
  line-height: 1.6;
  font-size: 14px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}
.sch-detail .stay_th {
  flex: 0 0 42%;
  font-weight: 600;
  color: var(--sch-text);
  background: rgba(var(--sch-pink-rgb), 0.26);
  justify-content: flex-start;
}
.sch-detail .stay_td { flex: 1; justify-content: flex-start; }
@media (max-width: 600px) {
  .sch-detail .stay_div,
  .sch-detail .stay_li2 .stay_div { flex-basis: 100%; }
}

/* ============================================================
   アクセス/交通（/access/）
   ============================================================ */
/* 出発地カードリンク */
.sch-detail .access_list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px auto;
}
.sch-detail .access_list li { flex-basis: calc(33.333% - 7px); }
@media (max-width: 900px) { .sch-detail .access_list li { flex-basis: calc(50% - 5px); } }
@media (max-width: 560px) { .sch-detail .access_list li { flex-basis: 100%; } }
.sch-detail .access_list li a {
  position: relative;
  display: block;
  padding: 0.8em 2.2em 0.8em 1em;
  background: rgba(var(--sch-pink-rgb), 0.22);
  border: 1px solid rgba(var(--sch-accent-rgb), 0.16);
  border-radius: 10px;
  color: var(--sch-text);
  font-weight: 600;
  transition: .2s;
}
.sch-detail .access_list li a:hover {
  background: rgba(var(--sch-pink-rgb), 0.4);
  opacity: 1;
}
.sch-detail .access_list li a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 6px;
  height: 6px;
  border-top: 2px solid rgba(var(--sch-accent-rgb), 0.7);
  border-right: 2px solid rgba(var(--sch-accent-rgb), 0.7);
  transform: translateY(-50%) rotate(45deg);
}

/* 交通手段の簡易テーブル（.access_li1/.access_li2 内に .access_div>.access_th+.access_td） */
.sch-detail .access_li1,
.sch-detail .access_li2 {
  display: flex;
  flex-wrap: wrap;
  margin: 10px 0 22px;
  background: #fff;
  border: 1px solid rgba(var(--sch-accent-rgb), 0.18);
  border-radius: 12px;
  overflow: hidden;
}
.sch-detail .access_div {
  display: flex;
  flex-basis: 100%;
  box-sizing: border-box;
  border-top: 1px solid rgba(var(--sch-accent-rgb), 0.1);
}
.sch-detail .access_li2 .access_div { flex-basis: 50%; }
.sch-detail .access_th,
.sch-detail .access_td {
  padding: 9px 10px;
  line-height: 1.6;
  font-size: 14px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}
.sch-detail .access_th {
  flex: 0 0 26%;
  font-weight: 600;
  color: var(--sch-text);
  background: rgba(var(--sch-pink-rgb), 0.26);
  justify-content: center;
  text-align: center;
}
.sch-detail .access_td { flex: 1; background: rgba(var(--sch-accent-rgb), 0.03); }
@media (max-width: 560px) {
  .sch-detail .access_li2 .access_div { flex-basis: 100%; }
}
