@charset "utf-8";

.topConceptRight img {
    aspect-ratio: auto 710 / 540;
}

.topFvImgMask:before {
    content: "";
    position: absolute;
    width: 40.63%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
	background: #ACA091;
    background: linear-gradient(280deg, rgba(172, 160, 145, 0) 0%, rgba(172, 160, 145, 0) 10%, rgba(172, 160, 145, 1) 100%);
    z-index: 1;
    mix-blend-mode: multiply;
  	opacity:0.8;
}

.coverSlider .indicator {
    width: 8px;
    height: 8px;
    box-sizing: border-box;
    border: 1px solid #10589A;
    border-radius: 50%;
}

.coverSlider .indicator.active {
    background-color: #10589A;
}

.coverSlider .carousel-indicators {
    gap: 18px;
    bottom: -28px;
    margin: 0 auto !important;
}

.coverWr {
    padding-bottom: 60px;
}

.topFvBtn {
    max-width: 200px;
    width: 25.38%;
    display: block;
    position: absolute;
    right: 20px;
    bottom: 20px;
    border-radius: 50%;
    overflow: hidden;
}

.coverSlider {
    max-width: 1600px;
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.topFvTiteleBox {
    position: absolute;
    left: 3.75%;
    bottom: 29px;
    z-index: 3;
}

.topFvTit01 {
    font-size: 18px;
    line-height: 1.845em;
}

.topFvTit01 strong {
    font-size: 25px;
    font-weight:500 !important;
}

.topFvTitPosition01 {
    padding-left: 8px;
}

.topFvTitPosition02 {
    margin-top: -6px;
}

.topFvTit02 {
    font-size: 44px;
    line-height: 1.489em;
}

.topFvTitPosition03 {
    padding-left: 7px;
    margin-top: -10px;
}

.bgVoice:after {
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #FAF4ED;
    opacity: 0.75;
    z-index: 1;
    position: absolute;
    mix-blend-mode: screen;
}

.bgVoice>div {
    position: relative;
    z-index: 2;
}

.topSchooBg:before {
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color:#4CBAED;
    opacity: 0.23;
    z-index: 2;
    position: absolute;
}

.topSchooBg:after {
    content: "";
    width: 57.39%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.65;
    z-index: 1;
    position: absolute;
    background: #4CBAED;
    background: linear-gradient(90deg, rgba(76, 186, 237, 1) 1%, rgba(76, 186, 237, 1) 20%, rgba(76, 186, 237, 1) 50%, rgba(76, 186, 237, 0) 100%);
}

.topRecruitImgBox {
    width: 100%;
    height: 0;
    padding-top: 42.69%;
    position: relative;
}

.topRecruitImgBox>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 80% 50%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

.topRecruitTextBox {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.topRecruitWr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
}

.topRecruitTextMain {
    position: relative;
    z-index: 9;
}

.topRecruitWr:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    outline: 1px solid #fff;
    outline-offset: -10px;
    z-index: 1;
}

.topStoreGridWr {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 80px;
    overflow: hidden;
}

.topStoreTitle {
    font-size: 25px;
    line-height: 1.5em;
}

.topStoreGridItemBox {
    position: relative;
}

.topStoreGridItemBox:before {
    content: "";
    width: 100%;
    height: 1px;
    top: auto;
    bottom: -40px;
    right: 0;
    left:0;
    background: #82BDD9;
    position: absolute;
}

.topSchooBg {
    background-position: 70% 50% !important;
}

.comBtn01.topMenuBtn {
    padding-right: 30px;
    font-size: 13px;
}

.topMenuMask {
    position: relative;
}

.topMenuMask>div {
    position: relative;
    z-index: 3;
}

.topMenuMask:before {
    width: 100%;
    height: 100%;
    background: #FFFFFF;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.55) 100%);
    z-index: 2;
    outline: 1px solid #fff;
    outline-offset: -10px;
    z-index: 1;
}

.topMenuMask:after {
    width: 100%;
    height: 100%;
    opacity: 0.65;
    background: #4CBAED;
    background: linear-gradient(90deg, rgba(76, 186, 237, 1) 0%, rgba(76, 186, 237, 1) 10%, rgba(76, 186, 237, 1) 50%, rgba(76, 186, 237, 0) 100%);
}

.topMenuMask:before,.topMenuMask:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

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

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

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

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

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

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

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

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

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

  



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

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

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

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

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
  
.topFvTit01 {
    font-size: 25px;
}

.topFvTit01 strong {
    font-size: 30px;
}

.topFvTit02 {
    font-size: 66px;
}
  
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

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

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

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

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

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

.topSchooBg:after {
    background: #4CBAED;
    background: linear-gradient(90deg, rgba(76, 186, 237, 1) 1%, rgba(76, 186, 237, 1) 20%, rgba(76, 186, 237, 1) 50%, rgba(76, 186, 237, 0) 100%);
}

.topRecruitWr {
    align-items: stretch;
    flex-direction: row;
}

.topRecruitImgBox {
    width: 58.07%;
    height: 375px;
    padding-top: 0;
}

.topRecruitTextBox {
    width: 41.93%;
    padding: 30px;
}

.topRecruitWr:before {
    outline-offset: -20px;
}

.topStoreGridWr {
    gap: 55px;
    grid-template-columns: repeat(3, 1fr);
}

.topStoreGridItemBox:before {
    width: 1px;
    height: 100%;
    right: -30px;
    top: 0;
    left: auto;
}

.topStoreTitle {
    font-size: 20px;
}

.topFvTit01 {
    font-size: 25px;
}

.topFvTit01 strong {
    font-size: 35px;
}

.topFvTit02 {
    font-size: 44px;
}

.topFvBtn {
    width: 18.38%;
    right: 30px;
    bottom: 30px;
}

.topMenuMask:after {
    width: 57.39%;
}
    
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

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

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

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

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
  
.comBtn01.topMenuBtn {
    font-size: 16px;
}

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

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

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


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

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

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

.topRecruitImgBox>img {
    object-position: 75% 50%;
}

.topRecruitImgBox {
    height: 476px;
}

.topStoreGridWr {
    gap: 110px;
}

.topStoreGridItemBox:before {
    right: -55px;
}

.topStoreTitle {
    font-size: 30px;
}

.topFvTit01 {
    font-size: 30px;
}

.topFvTit01 strong {
    font-size: 40px;
}

.topFvTit02 {
    font-size: 66px;
}

.comBtn01.topMenuBtn {
    font-size: 18px;
}

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

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

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


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

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

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

.topFvTit01 {
    font-size: 40px;
}

.topFvTit01 strong {
    font-size: 60px;
}

.topFvTit02 {
    font-size: 88px;
}

.topMenuMask:before {
    outline-offset: -20px;
}

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

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

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