@charset "utf-8";
.text-white{
  color: #fff;
}

.u-br15rem{
  border-radius: 1.5rem;
}

/*投稿の位置調整*/
img.alignright {
    display: block;
    margin: 0 0 0 auto;
}
img.alignleft {
    display: block;
    margin: 0 auto 0 0;
}
img.aligncenter {
    display: block;
    margin: 0 auto;
}

.c-post [class^=c-grid__item], .c-post [class*=" c-grid__item"] {
    background-color: #fff!important;
}

/*投稿用ページ区切り*/
.pagebreak-links{
  text-align: center;
  margin-bottom: 30px;
}
.pagebreak-links .post-page-numbers{
  background-color: #402699;
  border: 1px solid #cbcbcb;
  border-radius: 8rem;
  color: #fff;
  display: inline-block;
  height: 48px;
  line-height: 46px;
  margin: 0 10px;
  padding: 0 0.25rem;
  position: relative;
  width: 75px;
}
.pagebreak-links .current{
  background-color: #f5f5f5 !important;
  color: #6b6b6b !important;
}

/*トップページ NEWSテキストサイズ調整 */
.c-title-top .txtsmall {
    font-size: 1.9rem;
}

.main-mv {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.main-mv picture.bg-img,
.main-mv picture.bg-img img {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  z-index: 0;
  pointer-events: none;
}

.main-mv .mv-content {
  position: absolute;
  top: 20vw;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  text-align: center;
}
.main-mv .titlebox{
  margin-left: auto;
  margin-right: auto;
  max-width: 33%;
}

.main-mv .mv-content__ttl {
  position: absolute;
  top: 18vw;
  left: 10%;
  max-width: 80%;
  z-index: 3;
  text-align: center;
}

@media screen and (max-width: 577px){
  .main-mv .mv-content {
    left: 35%;
    transform: translate(-30%, -50%);
    top: 154vw;
  }
  .main-mv .titlebox{
    max-width: 80%;
  }
}


@media screen and (min-width: 992px) {
    .c-title-top .txtsmall {
        font-size: 1.5rem;
    }
}

/*レスポンシブの表示・非表示*/
.pc_view{
  display: block;
}
.sp_view{
  display: none;
}
@media screen and (max-width:577px){
  .pc_view{
    display: none;
  }
  .sp_view{
    display: block;
  }
}

@media screen and (max-width: 577px){
  .c-breadcrumb{
    margin-inline: .5rem;
  }
}

/*段落字下げ */
.font_indent::first-letter {
  display: inline-block;
  margin-left: 1rem; /* 字下げのスペースを指定 */
}

/*youtube動画用*/
.video-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9のアスペクト比 */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background: #000;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.star-both {
  display: flex;
  justify-content: space-between; /* 左右にアイコンを配置 */
  align-items: center; /* 縦方向で中央揃え */
}

.left-icon, .right-icon {
  width: 48px; /* アイコンのサイズ */
  height: 72px;
}
@media screen and (max-width:767px){
  .left-icon, .right-icon {
    width: 32px; /* アイコンのサイズ */
    height: 48px;
  }
}
/*header ボタン*/
.l-header__memberbtn{
  border-radius: .5rem;
  background-color: #171c61;
  border: 2px solid #f9bc37;
}

.front-mv{
  border-radius: 1.5rem;
  border:4px solid #f9bc37;
  background-image: url("../img/main_bgimg.jpg");
  background-repeat: repeat;
  position: relative;
}
.front-mv .ttl{
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translate(-50%);
}
@media screen and (max-width:767px){
.front-mv .ttl{
    top: -50px;
    width: 80%;
  }
}
.front-mv .star-both {
  display: flex;
  justify-content:center;
  align-items: center; /* 縦方向で中央揃え */
}

.front-mv .left-icon,.front-mv .right-icon {
    width: 16px; /* アイコンのサイズ */
    height: 24px;
}

/*slider*/
.slider01 .swiper-prev{
  background-image: url("../img/slider01_btn_left.png");
  background-size: 48px auto;
  width:48px;
  height:48px;
}
.slider01 .swiper-next{
  background-image: url("../img/slider01_btn_right.png");
  background-size: 48px auto;
  width:48px;
  height:48px;
}
/*slider*/
.slider02 .swiper-prev{
  background-image: url("../img/slider02_btn_left.png");
  background-size: 48px auto;
  width:48px;
  height:48px;
}
.slider02 .swiper-next{
  background-image: url("../img/slider02_btn_right.png");
  background-size: 48px auto;
  width:48px;
  height:48px;
}
@media screen and (max-width:767px){
  .slider01 .swiper-prev,.slider01 .swiper-next,.slider02 .swiper-prev,.slider02 .swiper-next{
    background-size: 36px auto;
    width:36px;
    height:36px;
  }

}
.opencampus{
  background-image: url("../img/bg_opencampus.webp");
  background-size:contain;
}

.blog-categoy{
  background-color: #523ead;
  color: #fff;
  border-radius: 15px;
  padding: 0rem 1rem;
}

.main-teacherbg{
  background-image: url("../img/main_bgimg.jpg");
  background-repeat: repeat;
  position: relative;
}
.main-teacher{
  border:1px solid #f9bc37;
  border-radius: 50%;
}

.main-goodsbg{
  background-image: url("../img/bg_goods.webp");
  background-repeat: repeat;
  position: relative;
}
/*header*/
.u-bg-spheader{
  background-color: #523ead;
}
.u-bg-spheader a{
  border-bottom: 0px;
}

@media screen and (min-width:768px){
  .u-bg-spheader{
    background-color: transparent;
  }
}

.b-none{
  border: 0px!important;
}

/*footer*/

.border-ud-color{
  border-color:#000!important
}
@media screen and (min-width:768px){
  .border-ud-color{    
    border-color:#fff!important
  }
}

.l-footer__menu-parent{
  border-bottom: none;
  border-radius: .5rem;
}

.menu-parent--contact01{
  background-color: #3c1960;
  color:#fff;
}
.menu-parent--contact02{
  background-color: #171c61;
  color:#fff;
  /*border: 2px solid #f9bc37;*/
}
.menu-parent--contact03{
  background-color: #f9bc37;
  color:#171c61;
}

/*サブページ*/
.sub-intro {
    background-position: center;
    background-size: cover;
    font-size: 2.125rem;
    line-height: 1;
    padding: 12rem 1rem;
    text-align: center;
    white-space: nowrap;
}
@media screen and (max-width: 577px) {
.sub-intro {
    height: 240px;
    overflow: hidden;
    padding: 6rem 1rem;
  }
}
.sub-top{
  margin-top: 1rem !important;
}
.c-link-card__pref,.c-link-card__lank,.c-link-card__lank__top{
  font-size: .8rem;
  text-align: center;
  padding:.125rem;
}
.c-link-card__category{
  display: inline-block;
}
.c-link-card__pref{
  background-color: #171c61;
  border: 1px solid #171c61;
  color: #ffffff;
}
.c-link-card__lank{
  background-color: #fff;
  border: 1px solid #171c61;
  color: #171c61;
}
.c-link-card__lank__top{
  background-color: #171c61;
  border: 1px solid #171c61;
  color: #f9bc37;
  font-size:1rem;
}

.c-link-card__btn a {
    background: #523ead;
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    max-width: 100%;
    padding: .25rem 2rem;
    color: #fff;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
}

.c-link-card__btn a::after {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%); /* ← 縦中央揃え */
    font-family: 'Material Icons';
    content: 'arrow_circle_right'; 
    font-size: 1.5rem;
    display: inline-block;
    color: #fff;
}
@media screen and (max-width: 577px) {
  .c-link-card__btn a::after {
      right: 5px;
  }
}
/*サブページモーダル*/
.c-link-card__modal {
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
}

.c-link-card__modal.show { /* モーダル表示時 */
    opacity: 1;
    pointer-events: auto;
}

/* モーダル本体 */
.c-link-card__modal-content {
    position: relative;
    background: #fff;
    border-radius: 8px;
    padding: 30px 17px;
    width: 550px;
    max-width: 700px;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease;
    max-height: 90vh;
}

/*モーダルが出ているときに背景をスクロールさせない*/
body.modal-open {
    overflow: hidden;
}

/* 閉じるボタン */
.close-modal {
    position: absolute;
    right: 15px;
    top: 15px;
    background: transparent;
    border: none;
    font-size: 36px;
    color: #333;
    cursor: pointer;
}

/* ここが重要！ #modal-body にスクロール */
#modal-body {
    max-height: calc(90vh - 100px); /* 上のボタン分を引く → 適宜調整 */
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 5px; /* スクロールバーでレイアウト崩れ防止 */
    box-sizing: border-box;
    margin-top: 20px;
}

/* Prev / Next ボタン（今はHTMLにないけど後で追加可能な場合） */
.c-link-card__modal-prev,
.c-link-card__modal-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(82, 62, 173, 0.8);
    border: none;
    font-size: 36px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    transition: background 0.2s;
}

.c-link-card__modal-prev:hover,
.c-link-card__modal-next:hover {
    background: rgba(255, 255, 255, 1);
}

.c-link-card__modal-prev {
    left: -60px;
}

.c-link-card__modal-next {
    right: -60px;
}

/* レスポンシブ対応 */
@media screen and (max-width: 577px) {
    .c-link-card__modal-content {
        width: 90%;
        padding: 20px;
    }

    .c-link-card__modal-prev {
        left: 2px;
    }

    .c-link-card__modal-next {
        right: 2px;
    }
}

/*goods*/
.c-link-card__movie{
  border:1px solid #3c1960;
}
.c-link-card__movie_ttl{
  background-color: #3c1960;
  text-align: center;
  padding: .75rem;
}
.c-link-card__movie a{
  color: #3c1960 !important;
  text-decoration: underline;
}