@charset "UTF-8";/* 2025.05.27 */

article {
  margin-top: clamp(7rem, 3.571rem + 6.86vw, 10rem)!important;
  position: relative;}

figure{line-height: 1;}

.box-01 > *, .box-02 > * {
  width: 684px !important;}

.font-s {font-size: clamp(1.4rem, 1.171rem + 0.46vw, 1.6rem);}
.ttl_img {
  padding-left: 10%;
  padding-right: 10%;
  padding-bottom: 10px;
  text-align: center;}
.ttl_02 {
  font-size: clamp(1.8rem, 0.657rem + 2.29vw, 2.8rem);}
.ttl_03 {margin-left: 1em;}
.list_01 {
  padding-top: 54px;
  display: flex;
  flex-wrap: wrap;
  column-gap: 30px;
  position: relative;
  z-index: 9;}
.list_01 a {
  width: calc(50% - 15px);
  margin-bottom: 20px;
  padding-right: 1.5em;
  display: flex;
  align-items: center;}

.btn_01 { width: 684px; max-width: 100%;}
.box-02 .btnBox:not(:nth-child(1)) { margin-top: 20px;}
.btn-m01.btn-r::before {transform: rotate(270deg);}
@media (max-width: 420px) {
  .btn_01 { font-size: 1.5rem;}
}


.schedule {
  margin-top: clamp(7rem, 3.571rem + 6.86vw, 7.5rem) !important;
}
.calendar-container iframe {
  border: none!important;
}
.calendar-container {
  width: 100%!important;
  border-radius: 20px;
  height: 0;
  padding-bottom: 75%; /* アスペクト比 4:3 の場合は75%, 16:9 の場合は56.25% */
  overflow: hidden;
  position: relative;
}
.calendar-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 600px) {
  .calendar-container {
      padding-bottom: 100%; /* スマホは縦長にしたい場合 */
  }
}

.curriculum .btn_01 {
  width: 100%;
  max-width: 100%;
}
.list_year {
  margin-bottom: 10px;
  width: 276px;
  max-width: 100%;
  border: solid 1px var(--gray02);
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  position: relative;
}
.safari .list_year select {
  width: auto;
}
.list_year select {
  color: var(--main);
  font-size: clamp(1.6rem, 1.371rem + 0.46vw, 1.8rem);
  height: clamp(5.6rem, 5.143rem + 0.91vw, 6rem);
  padding-right: 1.5em;
  font-weight: 700;
  width: 100%;
  text-align: center;
  cursor: pointer;
}
.list_year option {
  text-align: center;
}
.list_year::after {
  border-top: 1px solid var(--main);
  border-left: 1px solid var(--main);
  color: var(--main);
  top: calc(50% - .3em);
  right: 20px;
  content: '';
  width: .6em;
  height: .6em;
  position: absolute;
  transform: rotate(-135deg);
  pointer-events: none;
}

.link-list li {
  border-bottom: solid 1px var(--gray02);
  margin-bottom: 17px;
  padding-bottom: 12px;
}
.link-list .txt01 {
  padding: 10px 0 20px;
}
@media (min-width: 768px) {
  .link-list .txt01 {
    display: inline-block;
  }
  .link-list .cat {
    margin-left: 0;
    margin-right: 20px;
  }
}

.card {position:relative;}
.card-container,
.col-3 .card {
  margin-bottom: 10px;
  display: flex;
  column-gap: 15px;
  flex-wrap: wrap;}
.col-3 .card_ttl {
  line-height: 1.4;
  font-feature-settings: 'palt';
  letter-spacing: .03em;}
.col-3 .card .img-left {
  width: 40%;
  height: auto;}
.col-3 .card .txt-right {
  width: calc(60% - 15px);}
.col-4 .card-4 {
  width: calc(50% - 7.5px);
  padding-bottom: 25px;}
.card_ttl {
  font-size: clamp(1.6rem, 0.914rem + 1.37vw, 2.2rem);
  padding-top: 15px;
  padding-bottom: 5px;
  margin-bottom: 3px;}
.card p,
.card-container .card-4 p {
  font-size: clamp(1.4rem, 1.171rem + 0.46vw, 1.6rem);}
.card .txt-right.txt1 {
  width: calc(60% - 20px);
  position: absolute;
  right: 0;}
@media (max-width: 420px) {
  .card-container.box-l {
    margin-bottom: 100px;
  }
}
@media (max-width: 767px) {
  .col-3 .card_ttl {
    padding-top: 0;
  }
}
@media (min-width: 480px) {
  .ttl_img {
    padding-left: 20%;
    padding-right: 20%;
  }
}
@media (min-width: 768px) {
  .list_01 a {
    width: calc(23.9% - 15px);
  }
  .card-container {
    column-gap: 30px;
    margin-bottom: clamp(4rem, 1.714rem + 4.57vw, 6rem);
  }
  .card-container:last-child {
    margin-bottom: 0;
  }
  .card-container:last-child .card {
    margin-bottom: 0;
  }
  .col-3 .card,
  .col-4 .card-4 {
    width: calc(32.6% - 15px);
  }
  .col-3 .card {
    display: block;
  }
  .col-3 .card .img-left,
  .col-3 .card .txt-right {
    width: 100%;
  }
  .card .txt-right.txt1 {
    width: 329%;
    position: relative;
  }
}
@media (min-width: 1024px) {
  .list_01 a,
  .col-4 .card-4 {
    width: calc(24.2% - 15px);
  }
}
@media (min-width: 1200px) {
  .list_01 a,
  .col-4 .card {
    width: calc(24.3% - 15px);
  }
}

.vbox-close {
  top: 10px;
  right: 10px;
}
.vbox-container {
  right: -15px!important;
}






















































































































































