  @charset "utf-8";
/* =======================
   Reset & Base
======================= */
* { padding: 0;margin: 0;box-sizing: border-box;}
html {font-size: 15px;font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, sans-serif;
}
a {text-decoration: none;color: #535353;}
li {list-style: none;}
ul {padding-left: 0;}
img {width: 100%;height: auto;vertical-align: bottom;}
.none {display: none;}
.main-container{padding: 10px;max-width: 1000px;margin: 0 auto;}

/* =======================
   pankuzu
======================= */
.pan {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  font-size: 13px;
  margin-top: 5px;
  margin-left: 3px;
}

.pan li:not(:last-of-type)::after {
  content: ">";
  margin: 0 .2em;
  /* 記号の左右の余白 */
  color: #777;
  /* 記号の色 */
}

.pan a {
  color: inherit;
  text-decoration: none;
  color: #0a82e4;
}

/* =======================
   Header
======================= */
.l-header {margin: 0 auto;padding: 10px 5px;display: flex;align-items: center;max-width: 1000px;}
.l-header__logo {width: 140px;display: inline-block;}


.top{width: 100%;max-width: 1000px;margin: 0 auto;}
.top img{width: 100%;}

.school_top-text{margin: 50px auto;max-width: 1000px;text-align: center;}
/*----------------------------------------*/
    .card-container {
      background-color: #eaf0f1;
      padding: 10px;
      max-width: 1000px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 35px 10px;
    }
    .card {
      border: 1px solid #d6d6d6;
      background: #fff;
      border-radius: 12px;
      box-shadow: 0 2px 6px rgba(0,0,0,0.1);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      position: relative;
    }
    .card img.thumbnail {
      width: 100%;
      height: 190px;
      object-fit: cover;
    }
    .card-content {
      padding: 15px;
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    .card h3 {
      margin: 0;
      font-size: 18px;
      color: #333;
    }
    .card p {
      margin: 5px 0;
      color: #666;
      font-size: 14px;
    }
    .btn-area {
      margin-top: 10px;
      display: flex;
      gap: 5px;
    }
    .btn {
      flex: 1;
      padding: 15px 5px;
      background: linear-gradient(180deg, #e9582b, #fca04a);
      color: #fff;
      text-align: center;
      border-radius: 10px;
      text-decoration: none;
      font-weight: bold;
      font-size: 15px;
      transition: 0.3s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      border: 2px solid rgba(255,255,255,0.6);
      box-shadow: 0 2px 4px rgba(0,0,0,0.15);
    }
    .btn span {
      display: inline-block;
      transition: transform 0.3s ease;
    }
    .btn:hover span {
      transform: translateX(6px);
    }
    .btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    }
    /* 入試ページ有りバッジ */
    .badge {
      position: absolute;
      top: -12px;
      right: -12px;
      /* background: linear-gradient(180deg, #2239b8, #1dbcec); */
      background-color: #ffee06;
      color: #2e2e2e;
      padding: 18px 23px 10px 13px;
      border-radius: 28px;
      font-size: 15px;
      font-weight: bold;
      display: flex;
      align-items: center;
      gap: 6px;
      box-shadow: 0 2px 6px rgba(0,0,0,0.2);
      border: 2px solid #ffffff;
      z-index: 5;
    }
    .btn-exam {
      background: linear-gradient(180deg, #2239b8, #1dbcec);
    }
    /* 入試ページなし → ボタンは右寄せ */
    .btn-area.single {
      justify-content: flex-end;
    }
    .btn-area.single .btn {
      flex: 0 0 48%;
    }

    /*---------------------------------*/

    .link_box{
      max-width: 1000px;
      margin: 80px auto 20px;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 10px;
    }

    .link_box a {
      overflow: hidden;
      display: flex;
      flex-direction: column;
      position: relative;
    }

    .all{color: #058bd8;font-weight: bold;text-align: right;display: block;margin-right: 20px;}
    .all:hover{opacity: 0.5;}

/* =======================
   Footer
======================= */
.l-footer {
  max-width: 900px;
  margin: 50px auto 0;
  font-size: 62.5%;
}
.l-footer__container {
  padding: 0 10px 16px;
  margin-top: 40px;
}
.l-footer__logo {
  display: block;
  width: 80px;
  margin: 0 auto;
}
.l-footer__list {
  margin-top: 40px;
  padding: 0 50px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}
.l-footer__link {
  font-size: 1rem;
}
.l-footer__copy {
  margin-top: 30px;
  text-align: center;
}
/*-----分野リスト-----*/
.tag{
display: flex;
flex-wrap: wrap;
justify-content: left;
}

.tag a{
  /* display: inline-block;
  padding: 1px 10px;
  margin: 2px;
  font-weight: bold;
  background-color: #ffffff;
  border-radius: 5px;
  text-align: center; */
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: 5px;
	padding: 0.3rem 1.3rem;
	font-weight: bold;
	color: #14aae6;
	border-bottom: 5px solid #14aae6;
	border-radius: 100vh;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	transition: 0.5s;
}
.tag a:hover {
	color: #fff;
	background: #14aae6;
	/* border-bottom: 5px solid #fff; */
	transform: translateY(3px);
}

.link-hight{
  padding-top: 40px;
  margin-top: -40px;
}
/*-----学校リスト-----*/

 h2{
  position: relative;
  display: inline-block;
  padding: 0 55px;
  font-weight: bold;
  margin-top: 80px;
  margin-bottom: 20px;
  margin-left: 15px;
  font-size: 18px;

  
}

 h2:before,h2:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: black;
}

h2:before {
  left:0;
}
h2:after {
  right: 0;
}


@media screen and (max-width:800px) {
  .none{display: block;}

  /*-----分野リスト-----*/
  
  .tag a{
    font-size: 13px;
  }
/*-----学校リスト-----*/

h2{
  margin-left: 10px;
  font-size: 16px;
  margin-top: 40px;
}
 }
/*----------------キャンペーン部分設定-------------------*/

.present{margin: 100px 0 0 0;}
.present h4{text-align: center;display: block;width: 200px;border-bottom: 2px solid #000;margin: 0 auto 40px;font-size: 23px;}
.present table{
  border-collapse:separate;
  border-spacing: 5px;
  width: 100%;
  margin: 0 auto;
}

.present table th,.present table td{
  border-radius: 5px;
}

.present table th{
  background-color: #38a5ee;
  color: white;
  font-weight: bold;
  width: 30%;
  text-align: center;
  font-size: 20px;
  padding: 10px;
}

.present table td{
  background-color: #f0f0f0;
  font-size: 16px;
  width: 70%;
  padding: 20px 15px;
}

@media (max-width: 650px){
.main-container{padding: 0;}
.school_top-text{margin: 30px auto;}


/*----------------------------------------*/


.card-container {display: block;padding: 20px;}
.card{margin-bottom: 30px;}
.card img.thumbnail {width: 100%;height: 210px;object-fit: cover;}
.card-content {padding: 10px;}
.card h3 { font-size: 17px;}
.btn-area { margin-top: 5px;gap: 3px;}

    /* 入試ページ有りバッジ */
    .badge {padding: 16px 20px 10px 13px;}

    /*---------------------------------*/

    .link_box{
      padding: 10px;
      max-width: 1000px;
      margin: 80px auto 20px;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 5px;
    }

    .link_box a {
      overflow: hidden;
      display: flex;
      flex-direction: column;
      position: relative;
    }

    .all{color: #058bd8;font-weight: bold;text-align: right;display: block;margin-right: 20px;}
    .all:hover{opacity: 0.5;}





  .present h4{font-size: 18px;margin-bottom: 20px;}

  .present table th,
  .present table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .present table th 
  {
    padding: 5px;
    font-size: 17px;
    border-radius: 5px 5px 0 0;
  }
  .present table td {
    border-radius: 0 0 5px 5px;
    font-size: 14px;
  }
/* =======================
   Footer
======================= */
  .l-footer__list {padding: 0 10px;gap: 10px;}
  .l-footer__link {font-size: 0.9rem;}
  .l-footer__copy {margin-top: 10px;}

}
