@charset "utf-8";

.topCoverWrap:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background-color: rgb(0 0 0 / 20%);
    z-index: 1;
}

.gjs-dashed .topCoverWrap:before {
    display: none;
}

.gjs-dashed .topCoverTxtBx {
    top: 0;
    bottom: auto;
}

.topMenu:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background-image: url(/system_panel/uploads/images/top_menu_bg.png);
    mix-blend-mode: overlay;
}

.topMenuItem01:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background-color: rgb(0 0 0 / 40%);
}

.topMenuFlexTit01:after {
    content: "";
    display: block;
    width: 3px;
    height: 1em;
    background-color: #967FB7;
    margin: 0em 0.65em;
}

.topMenuFlexTit01 {
    display: flex;
    align-items: center;
}

.topCourseLink:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: -moz-linear-gradient(to bottom,rgb(0 0 0 / 55%),rgb(0 0 0 / 50%) 30%,rgb(0 0 0 / 55%));
    background: -webkit-linear-gradient(to bottom,rgb(0 0 0 / 55%),rgb(0 0 0 / 50%) 30%,rgb(0 0 0 / 55%));
    background: linear-gradient(to bottom,rgb(0 0 0 / 35%),rgb(0 0 0 / 20%) 50%,rgb(0 0 0 / 35%));
}

.topCourseLink:hover:before {
    background: -moz-linear-gradient(to bottom,rgb(0 0 0 / 40%),rgb(0 0 0 / 40%) 30%,rgb(0 0 0 / 40%));
    background: -webkit-linear-gradient(to bottom,rgb(0 0 0 / 40%),rgb(0 0 0 / 40%) 30%,rgb(0 0 0 / 40%));
    background: linear-gradient(to bottom,rgb(0 0 0 / 40%),rgb(0 0 0 / 40%) 30%,rgb(0 0 0 / 40%));
    transition:0.8s;
}

.topCourseLink:before{
    transition:0.8s;
}

.topGallery {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 20px;
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1024px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
  
.writingTit01 {
    writing-mode: tb-rl;
    margin: 0;
} 
  

.topConceptItem01Bx03 {
  flex:1;
  }
  
 .topGallery {
    grid-template-columns: repeat(4,1fr);
    gap: 20px;
}

  
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1024px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1400px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.topConceptJaTit01 {
  font-size:35px!important;
  }
  
  
 .topMenuTit01 {
  font-size:35px!important;
  }
  
  .topMenuInner {
    padding-left:80px!important;
  }
  
  .topAccessTransportTit {
    /* padding-left: 1em; */
    display: flex;
    align-items: center;
}

.topAccessTransportTit:before {
    content: "";
    display: block;
    width: 1em;
    height: 1px;
    background: #333333;
    margin: 0 1em 0 0;
}
    
.topConceptWrTitBx {
    max-width: 160px!important;
}
  
.topMenuItem01Txt01 {
    font-size: 17px!important;
}
  
.topMenuFlexTit02 {
    font-size: 24px!important;
}
  
.topMenuFlexTit01 {
    font-size: 78px!important;
}
  
.topAccessBx01 {
    width: 25%!important;
}
  
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1400px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* FVの写真を同じ表示サイズに統一 */
.topCoverWrap #carousel0 .carousel-item > img {
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  object-fit: cover;
  object-position: center;
}

/* 既存のスマホ画像切り替えに合わせる */
@media (max-width: 767.98px) {
  .topCoverWrap #carousel0 .carousel-item > img {
    aspect-ratio: 1 / 1;
  }
}