/*
@font-face {
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    src: url('../fonts/YuGothic-Light.eot');
    src: url('../fonts/YuGothic-Light.eot?#iefix') format('embedded-opentype'), url('../fonts/YuGothic-Light.woff2') format('woff2'), url('../fonts/YuGothic-Light.woff') format('woff'), url('../fonts/YuGothic-Light.ttf') format('truetype'), url('../fonts/YuGothic-Light.svg#YuGothic-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    src: url('../fonts/YuGothic-Medium.eot');
    src: url('../fonts/YuGothic-Medium.eot?#iefix') format('embedded-opentype'), url('../fonts/YuGothic-Medium.woff2') format('woff2'), url('../fonts/YuGothic-Medium.woff') format('woff'), url('../fonts/YuGothic-Medium.ttf') format('truetype'), url('../fonts/YuGothic-Medium.svg#YuGothic-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    src: url('../fonts/YuGothic-Bold.eot');
    src: url('../fonts/YuGothic-Bold.eot?#iefix') format('embedded-opentype'), url('../fonts/YuGothic-Bold.woff2') format('woff2'), url('../fonts/YuGothic-Bold.woff') format('woff'), url('../fonts/YuGothic-Bold.ttf') format('truetype'), url('../fonts/YuGothic-Bold.svg#YuGothic-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
*/


*{
    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
}
html {
    scroll-behavior: smooth;
}
body {
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    color: #191919;
}

body, h1, h2, h3, h4, h5, h6, ul, ol, li, p, span, a, table, tr,  th, td{
    margin: 0px;
    padding: 0px;
}

ul, ol, li{
    list-style: none;
}

img{
    max-width: 100%;
}

a, a:hover, a:focus,
button, button:hover, button:focus,
input, input:hover, input:focus,
textarea, textarea:hover, textarea:focus,
select, select:hover, select:focus{
    text-decoration: none;
    outline: 0;
    box-shadow: none;
}



body #loader-wrapper {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 99999;
	pointer-events: none;
	background-color: #fff;
	opacity: 0;
	-webkit-transition: opacity .8s ease;
	transition: opacity .8s ease;
	will-change: opacity;
}

body.transition #loader-wrapper {
	opacity: 1;
}

body.evacuation #loader-wrapper { /* for IE10 */
	z-index: -1;
}

body #loader-wrapper #loader {
	position: absolute;
	top:calc(50% - 22px);
	left:calc(50% - 22px);
	-webkit-border-radius: 50%;
	border-radius: 50%;
	width: 44px;
	height: 44px;
	border-top: 3px solid rgba(62, 174, 230, 0.2);
	border-right: 3px solid rgba(62, 174, 230, 0.2);
	border-bottom: 3px solid rgba(62, 174, 230, 0.2);
	border-left: 3px solid rgba(62, 174, 230, 0.8);
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: loader 1.1s infinite linear;
	animation: loader 1.1s infinite linear;
}

@-webkit-keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

/* ------------------------------------------------------------ スクロールアニメーション ------------------------------------------------------------ */

/*--------------------------------
	基本
--------------------------------*/

.io {
	-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, -webkit-transform 1.0s ease 0s;
	transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, transform 1.0s ease 0s;

	/* GPU acceleration */
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	/* -webkit-transform: translate3d(0, 0, 0); */
	/* transform: translate3d(0, 0, 0); */
	will-change: opacity, transform;
}

.io.move {
	opacity: 1 !important;
	-webkit-transform: translate3d(0, 0, 0) scale(1) rotate(0deg) !important;
	transform: translate3d(0, 0, 0) scale(1) rotate(0deg) !important;
}

/*--------------------------------
	汎用
--------------------------------*/

.io.fade {
	opacity: 0;
}

.io.lr {
	-webkit-transform: translate3d(-80px, 0, 0);
	transform: translate3d(-80px, 0, 0);
}

.io.rl {
	-webkit-transform: translate3d(80px, 0, 0);
	transform: translate3d(80px, 0, 0);
}

.io.upL {
	-webkit-transform: translate3d(0, 80px, 0);
	transform: translate3d(0, 80px, 0);
}

.io.upS {
	-webkit-transform: translate3d(0, 20px, 0);
	transform: translate3d(0, 20px, 0);
}

.io.downL {
	-webkit-transform: translate3d(0, -80px, 0);
	transform: translate3d(0, -80px, 0);
}

.io.downS {
	-webkit-transform: translate3d(0, -20px, 0);
	transform: translate3d(0, -20px, 0);
}

.io.scaleUp {
	-webkit-transform: scale(0.8);
	transform: scale(0.8);
}

.io.scaleDown {
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}

.io.rotateL {
 	-webkit-transform: rotate(30deg);
 	transform: rotate(30deg);
}

.io.rotateR {
	-webkit-transform: rotate(-30deg);
	transform: rotate(-30deg);
}

/* 出現をずらす */

.io.delay.delay1 {
	-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, -webkit-transform 1.0s ease 0s;
	transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, transform 1.0s ease 0s;
}
.io.delay.delay2 {
	-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.23s, -webkit-transform 1.0s ease 0.23s;
	transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.23s, transform 1.0s ease 0.23s;
}
.io.delay.delay3 {
	-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.46s, -webkit-transform 1.0s ease 0.46s;
	transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.46s, transform 1.0s ease 0.46s;
}
.io.delay.delay4 {
	-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.69s, -webkit-transform 1.0s ease 0.69s;
	transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.69s, transform 1.0s ease 0.69s;
}


/* 子要素の出現をずらす */

.io.delay a {
	-webkit-transition: none;
	transition: none;
}

.io.delay .delay_child {
	-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, -webkit-transform 1.0s ease 0.5s;
	transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, transform 1.0s ease 0.5s;
	/* GPU acceleration */
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: opacity, transform;
	opacity: 0;
	-webkit-transform: translate3d(0, 20px, 0);
	transform: translate3d(0, 20px, 0);
}

.io.delay.delay1 .delay_child {
	-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, -webkit-transform 1.0s ease 0.5s;
	transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, transform 1.0s ease 0.5s;
}
.io.delay.delay2 .delay_child {
	-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.73s, -webkit-transform 1.0s ease 0.73s;
	transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.73s, transform 1.0s ease 0.73s;
}
.io.delay.delay3 .delay_child {
	-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.96s, -webkit-transform 1.0s ease 0.96s;
	transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.96s, transform 1.0s ease 0.96s;
}
.io.delay.delay4 .delay_child {
	-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 1.19s, -webkit-transform 1.0s ease 1.19s;
	transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 1.19s, transform 1.0s ease 1.19s;
}

.io.delay.move .delay_child {
	opacity: 1 !important;
	-webkit-transform: translate3d(0, 0, 0) !important;
	transform: translate3d(0, 0, 0) !important;
}


/* ============================== SP ============================== */

@media only screen and (max-width: 812px) {

	/* 出現をずらす */

	.io.delay.delay1 {
		-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, -webkit-transform 1.0s ease 0s;
		transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, transform 1.0s ease 0s;
	}
	.io.delay.delay2 {
		-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, -webkit-transform 1.0s ease 0s;
		transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, transform 1.0s ease 0s;
	}
	.io.delay.delay3 {
		-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, -webkit-transform 1.0s ease 0s;
		transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, transform 1.0s ease 0s;
	}
	.io.delay.delay4 {
		-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, -webkit-transform 1.0s ease 0s;
		transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, transform 1.0s ease 0s;
	}


	/* 子要素の出現をずらす */

	.io.delay .delay_child {
		-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, -webkit-transform 1.0s ease 0.5s;
		transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, transform 1.0s ease 0.5s;
	}

	.io.delay.delay1 .delay_child {
		-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, -webkit-transform 1.0s ease 0.5s;
		transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, transform 1.0s ease 0.5s;
	}
	.io.delay.delay2 .delay_child {
		-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, -webkit-transform 1.0s ease 0.5s;
		transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, transform 1.0s ease 0.5s;
	}
	.io.delay.delay3 .delay_child {
		-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, -webkit-transform 1.0s ease 0.5s;
		transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, transform 1.0s ease 0.5s;
	}
	.io.delay.delay4 .delay_child {
		-webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, -webkit-transform 1.0s ease 0.5s;
		transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, transform 1.0s ease 0.5s;
	}

}



main, header, footer, section{
    width: 100%;
    position: relative;
}

main{
    overflow: hidden;
}

/* MAIN */
#main{
    padding-top: 100px;
}
.w-space {
    padding-left: 0.3em;
}
/* HEADER */
#header{
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: #fff;
    box-shadow: 0px 10px 20px rgba(4, 0, 0, 30%);
}
.header-flex{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.header-logo{
    position: relative;
    width: 287px;
    text-align: right;
}
.header-logo img{
    width: 100%;
    max-width: 226px;
    margin-left: auto;
    position: absolute;
    top: 0;
    right: 0;
}
.header-nav{
    width: calc(100% - 287px);
    text-align: right;
}
.header-menu{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    transition: all 0.3s ease;
}
.header-menu ul li{
    display: inline-block;
    margin-right: 40px;
}
.header-menu ul li a{
    position: relative;
    display: inline-block;
    color: #575757;
    font-size: 20px;
    font-family: aglet-mono, mono;
    font-weight: 500;
    text-transform: uppercase;
    transition: 0.3s ease;
}
.header-menu ul li a:hover,
.header-menu ul li a:focus{
    color: #b1e3d3;
}
.header-menu ul li .w-space {
    padding-left: 0.2em;;
}
.open-campus-btn{
    background: #b1e3d3;
    color: #fff;
    text-align: center;
    font-weight: 600;
    line-height: 1.4;
    font-family: aglet-mono, mono;
    padding: 9px 36px;
    transition: all 0.3s;
}
.open-campus-btn:hover,
.open-campus-btn:focus{
    background: rgba(177, 227, 211, 0.7);
}
.open-campus-btn p.eng{
    font-size: 39px;
    text-transform: uppercase;
    font-family: aglet-mono, mono;
    color: #fd64b0
}
.open-campus-btn p.jap{
    font-size: 20px;
    color: #575757;
}

.sp-header-line {
    display: none;
}

.header-nav-controller{
    display: none;
    width: 45px;
    margin-left: auto;
    text-align: center;
}
.header-nav-controller p{
    display: block;
    color: #fff;
    font-size: 14px;
    font-family: aglet-mono, mono;
    text-transform: uppercase;
    transition: all 0.3s ease;
}
.header-nav-controller p.close-text{
    display: none;
}
.header-nav-controller button{
    position: relative;
    width: 45px;
    height: 35px;
    background: transparent;
    border: none;
}
.header-nav-controller button span{
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    height: 2px;
    background: #fff;
    transition: all 0.3s ease;
}
.header-nav-controller button span:before, .header-nav-controller button span:after{
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    transition: all 0.3s ease;
}
.header-nav-controller button span:before{
    bottom: 10px;
}
.header-nav-controller button span:after{
    bottom: -10px;
}
#header.menu-active .header-nav-controller button span{
    background: transparent;
}
#header.menu-active .header-nav-controller button span:before{
    bottom: 0;
    transform: rotate(-45deg);
}
#header.menu-active .header-nav-controller button span:after{
    bottom: 0;
    transform: rotate(45deg);
}
#header.menu-active .header-nav-controller p.menu-text{
    display: none;
}
#header.menu-active .header-nav-controller p.close-text{
    display: block;
}

/* BANNER */

.top-slider,
.top-slider .top-slider-wrap {
    position: relative;
    height: calc( 100vh - 70px);
    background-color: #555;
}

.fading-wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.pic-1,
.pic-2,
.pic-3 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    animation: slideShow 18s linear infinite 0s;
    -o-animation: slideShow 18s linear infinite 0s;
    -moz-animation: slideShow 18s linear infinite 0s;
    -webkit-animation: slideShow 18s linear infinite 0s;
}

.pic-1 {
    opacity: 1;
    background: url(../img/main_3.jpg) no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.pic-2 {
    animation-delay: 6s;
    -o-animation-delay: 6s;
    -moz--animation-delay: 6s;
    -webkit-animation-delay: 6s;
    background: url(../img/main_1.jpg) no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.pic-3 {
    animation-delay: 12s;
    -o-animation-delay: 12s;
    -moz--animation-delay: 12s;
    -webkit-animation-delay: 12s;
    background: url(../img/main_2.jpg) no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

@media (max-width: 767px){
    .pic-1 { background-image: url(../img/sp_main_3.jpg);}
    .pic-2 { background-image: url(../img/sp_main_1.jpg);}
    .pic-3 { background-image: url(../img/sp_main_2.jpg);}
}
/* keyframes*/

/* @keyframes slideShow {
    0% {
        opacity: 0;
        transform: scale(1);
        -ms-transform: scale(1);
    }
    5% {
        opacity: 1
    }
    25% {
        opacity: 1;
    }
    30% {
        opacity: 0;
        transform: scale(1.1);
        -ms-transform: scale(1.1);
    }
    100% {
        opacity: 0;
        transform: scale(1);
        -ms-transformm: scale(1);
    }
} */
@keyframes slideShow {
    0% {
        opacity: 0;
        transform: scale(1.1);
        -ms-transform: scale(1.1);
    }
    5% {
        opacity: 1;
    }
    33% {
        opacity: 1;
    }
    37% {
        opacity: 0;
        transform: scale(1);
        -ms-transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(1.1);
        -ms-transformm: scale(1.1);
    }
}

@-o-keyframes slideShow {
    0% {
        opacity: 0;
        -o-transform: scale(1);
    }
    5% {
        opacity: 1
    }
    33% {
        opacity: 1;
    }
    37% {
        opacity: 0;
        -o-transform: scale(1.1);
    }
    100% {
        opacity: 0;
        -o-transformm: scale(1);
    }
}

@-moz-keyframes slideShow {
    0% {
        opacity: 0;
        -moz-transform: scale(1);
    }
    5% {
        opacity: 1
    }
    33% {
        opacity: 1;
    }
    37% {
        opacity: 0;
        -moz-transform: scale(1.1);
    }
    100% {
        opacity: 0;
        -moz-transformm: scale(1);
    }
}

@-webkit-keyframes slideShow {
    0% {
        opacity: 0;
        -webkit-transform: scale(1);
    }
    5% {
        opacity: 1
    }
    33% {
        opacity: 1;
    }
    37% {
        opacity: 0;
        -webkit-transform: scale(1.1);
    }
    100% {
        opacity: 0;
        -webkit-transformm: scale(1);
    }
}


.banner-sec{
    position: relative;
    width: 100%;
}
.banner-wrapper{
    width: 100%;
    position: relative;
}
.banner-slide-item{
    position: relative;
    width: 100%;
}
.banner-slide-item .img{
    position: relative;
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-top: 50%;
}
.banner-slide-item .img img{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center;
}
.banner-slide-overlay{
    position: absolute;
    width: 100%;
    /* top: 40%; */
    top: 18.7em;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}
.banner-slide-overlay img {
    max-width: 1700px;
    width: 100%;
}
.banner-present{
    position: absolute;
    width: 100%;
    z-index: 1;
    text-align: center;
    top: 90%;
    left: 0;
    right: 0;
}
.banner-present img{
    position: relative;
    z-index: 1;
}
.banner-present:before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 80%;
    background: url(../img/banner-wave.png) no-repeat;
    background-size: 100% 100%;
    background-position: 100% 100%;
}


/* SCHEDULE-SEC */
.schedule-sec{
    padding: 170px 0px 100px;
    background: #fef9cc;
}
.schedule-sec.banner-btm-sec{
    padding-top: 300px;
}
.custom-head{
    width: 100%;
    text-align: center;
    margin-bottom: 75px;
}
.custom-head h2{
    color: #8a7d97;
    font-size: 80px;
    font-family: aglet-mono, mono;
    font-weight: normal;
    text-transform: uppercase;
    line-height: 1.2;
}
.custom-head p{
    color: #8a7d97;
    font-size: 26px;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: 600;
    line-height: 1.2;
}
.schedule-campus-layer{
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 60px;
}
.schedule-campus-layer:nth-child(even){
    flex-direction: row-reverse;
}
.schedule-campus-layer:before {
    content: '';
    position: absolute;
    top: 60px;
    left: 0;
    width: 82%;
    background: #fff;
    height: calc(100% - 60px);
}
.schedule-campus-layer:nth-child(even):before{
    left: auto;
    right: 0;
}
.schedule-campus-dtl, .schedule-campus-glry{
    position: relative;
    width: 50%;
    z-index: 1;
}
.schedule-campus-dtl{
    text-align: left;
}
.schedule-campus-dtl .cont-bx{
    padding: 120px 60px 60px;
    width: 90%;
    margin-left: auto;
}
.schedule-campus-layer:nth-child(even) .schedule-campus-dtl .cont-bx{
    margin-left: 0;
    margin-right: auto;
}
.schedule-campus-dtl h2{
    color: #8a7d97;
    font-size: 48px;
    line-height: 1.5;
    margin-bottom: 60px;
}
.schedule-campus-dtl.kleft h2 {
    color: #55a98e;
}
.schedule-campus-dtl.kright h2 {
    color: #6d9fc0;
}
.schedule-campus-dtl h3{
    color: #575757;
    font-size: 30px;
    margin-bottom: 15px;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: bold;
}
.schedule-campus-dtl p{
    width: 100%;
    max-width: 550px;
    color: #575757;
    font-size: 20px;
    margin-bottom: 40px;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: 500;
}
.schedule-campus-img-row{
    width: 100%;
    max-width: 550px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: left;
    margin-right: auto;
}
.schedule-campus-img-row .finish {
    opacity: 0.6;
}
@media screen and (max-width: 900px) {
  .schedule-campus-img-row{
      max-width: 460px;
  }
}
.schedule-campus-img-row.nextrow {
    transform: translateX(76px)
}
.schedule-campus-img-row.pl-nextrow {
    transform: translateX(152px)
}
.schedule-campus-img-row.pl-nextrow3 {
    transform: translateX(228px)
}

.schedule-campus-img-row .img{
    width: 25%;
    text-align: center;
    padding: 0px 10px;
    position: relative;
}
.schedule-campus-img-row .img.cancel:before {
    content: "中止";
    position: absolute;
    background-color: #ff2222;
    color: #fff;
    padding: 0px 9px;
    top: 54%;
    left: 33%;
    font-size: 1vw;
}
@media (max-width: 992px){
  .schedule-campus-img-row .img.cancel:before {
      font-size: 1.5vw;
  }
}
@media (max-width: 768px){
  .schedule-campus-img-row .img.cancel:before {
    top: 56%;
    left: 33%;
    font-size: 14px;
  }
}
@media (max-width: 575px){
    .schedule-campus-img-row .img.cancel:before {
        top: 56%;
        left: 33%;
        font-size: 2.5vw;
    }
}
.schedule-campus-glry .img{
    position: relative;
    text-align: right;
}
.schedule-campus-layer:nth-child(even) .schedule-campus-glry .img{
    text-align: left;
}
.schedule-campus-glry .sign{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80%;
}
.schedule-campus-layer:nth-child(even) .schedule-campus-glry .sign{
    right: 0;
    left: auto;
}

.schedule-perfect{
    width: 96%;
    max-width: 1005px;
    margin: 0px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 35px;
}
.schedule-perfect .perfetion-bx{
    display: inline-flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    background: #ff8ca9;
    text-align: center;
    padding: 26px;
}
.schedule-perfect .perfetion-bx h2{
    color: #fff;
    font-size: 39px;
    line-height: 1.5;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: bold;
}
.schedule-perfect .perfetion-cont{
    width: calc(100% - 188px);
    background: #fff;
    padding: 48px 15px;
}
.schedule-perfect .perfetion-cont ul li{
    display: inline-flex;
    width: 100%;
    color: #575757;
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 15px;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: bold;
}
.schedule-perfect .perfetion-cont ul li:last-child{
    margin-bottom: 0px;
}
.schedule-perfect .perfetion-cont ul li span{
    width: 50%;
}
.schedule-perfect .perfetion-cont ul li span:first-child{
    text-align: right;
    color: #8bbeae;
}
.schedule-perfect .perfetion-cont ul li span:last-child{
    text-align: left;
}
.schedule-para{
    width: 96%;
    max-width: 610px;
    margin: auto;
    text-align: center;
    margin-bottom: 35px;
}
.schedule-para p{
    color: #262626;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    margin: 0px auto;
    font-family: 'Noto Sans JP Medium';
}
.schedule-para p span{
    color: #ff8ca9;
}

.schedule-effort{
    width: 96%;
    max-width: 1320px;
    border: 6px solid #fff;
    border-radius: 30px;
    margin: auto;
    background: rgba(255, 255, 255, 0.5);
    padding: 65px 14px;
    text-align: center;
    margin-bottom: 50px;
}
.schedule-effort h2{
    color: #575757;
    font-size: 36px;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 50px;
}
.schedule-effort ul{
    width: 100%;
    max-width: 1005px;
    margin: 0px auto 50px;
    text-align: left;
    padding-left: 25px;
}
.schedule-effort ul li{
    display: list-item;
    list-style: disc;
    color: #575757;
    font-size: 20px;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 20px;
}
.schedule-effort .img-row{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: auto;
    margin-left: -14px;
    margin-right: -14px;
}
.schedule-effort .img-row .img{
    padding: 0px 14px;
    margin-bottom: 28px;
}

/* BADGE-BUTTON SEC */
.badge-button-sec{
    width: 100%;
    background: #b2e3d3;
    padding: 55px 0px 30px;
    transition: all 0.3s;
    display: none;
}
.bdg-open-campus-btn{
    position: relative;
    display: block;
    width: 96%;
    max-width: 687px;
    margin: auto;
}
.bdg-open-campus-btn img{
    width: 100%;
    transition: all 0.3s;
    display: block;
}
.bdg-open-campus-btn:hover img,
.bdg-open-campus-btn:focus img{
    opacity: 0.7;
    transition: all 0.3s;
}
.badge-button-sec.sticky-btm-btn{
    padding: 0px 0px 0px;
}
.badge-button-sec.sticky-btm-btn .bdg-open-campus-btn{
    max-width: 576px;
}
.sticky-btm-btn.pos-fix{
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99;
}


/* CHILDREN-DEP SEC */
.children-dep-sec{
    width: 100%;
    background: #ffeced;
    padding-bottom: 100px;
}
.children-dep-banner{
    position: relative;
    width: 100%;
}
.children-dep-banner .img, .children-dep-banner .img img{
    width: 100%;
}
.children-dep-banner .cont{
    position: absolute;
    left: 10%;
    bottom: 20%;
    background: rgba(255, 255, 255, 0.75);
    padding: 30px 25px;
}
.children-dep-banner .cont p{
    color: #fd64b0;
    font-size: 38px;
    line-height: 2;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: bold;
}
.children-dep-banner .curved-text{
    position: absolute;
    top: 20%;
    right: 10%;
}
.children-dep-banner .sp-only {
  display: none;
}
.children-dep-para{
    width: 100%;
    position: relative;
    padding-top: 175px;
    margin-bottom: 50px;
    margin-top: -100px;
}
.children-dep-para:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: url(../img/children-dep-wave.png) no-repeat;
    background-size: 100% 100%;
    background-position: 100% 100%;
    z-index: 1;
}
.children-dep-para p{
    width: 100%;
    max-width: 1220px;
    margin: auto;
    padding: 0px 15px;
    position: relative;
    z-index: 1;
    color: #575757;
    font-size: 30px;
    line-height: 1.5;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: bold;
    text-align: center;
}
.children-dep-youtube{
    position: relative;
    width: 100%;
    text-align: center;
    margin-bottom: 119px;
}
.children-dep-youtube iframe{
    width: 96%;
    max-width: 1005px;
    margin: auto;
    border-radius: 10px;
}
.children-dep-knowledge{
    width: 100%;
    text-align: center;
}
.children-dep-kw-bx{
    position: relative;
    width: 96%;
    max-width: 1005px;
    margin: auto;
    border: 4px solid #fdcc45;
    background: #fff;
    border-radius: 15px;
    padding: 65px 80px 50px;
}
.children-dep-kw-bx img{
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translate(-50%, 0);
}
.children-dep-kw-bx h2{
    margin-bottom: 30px;
    color: #fdcc45;
    font-size: 36px;
    line-height: 1.5;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: bold;
}
.children-dep-kw-bx h2 .eng{
    font-family: aglet-mono, mono;
}
.children-dep-kw-bx p{
    color: #575757;
    font-size: 18px;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
}

/* CAMPUS-SEC */
.campus-sec{
    padding: 170px 0px 75px;
    background: #fff;
}
.custom-cam-exp{
    width: 100%;
    padding: 0px 15px;
    margin-bottom: 90px;
    text-align: center;
}
.custom-cam-exp .comment{
    position: relative;
    background: #ffd5d9;
    width: 100%;
    max-width: 866px;
    margin: 0px auto 100px;
    padding: 40px 15px;
    border-radius: 15px;
}
.custom-cam-exp .comment:after{
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, 0);
    border-width: 20px 30px 0px 30px;
    border-color: transparent;
    border-top-color: #ffd5d9;
    border-style: solid;
}
.custom-cam-exp .comment p{
    color: #575757;
    font-size: 40px;
    line-height: 100%;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: bold;
}
.custom-cam-exp .comment p .eng{
    font-family: aglet-mono, mono;
}
.custom-cam-exp .img{
    margin-bottom: 50px;
}
.custom-cam-exp .cont h2{
    color: #575757;
    font-size: 30px;
    line-height: 1.5;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: bold;
    margin-bottom: 50px;
}
.custom-cam-exp .cont p{
    width: 100%;
    max-width: 1005px;
    margin: auto;
    text-align: left;
    color: #575757;
    font-size: 20px;
    line-height: 1.5;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: 500;
}
.campus-building-info{
    width: 100%;
}
.cam-buil-if-layer{
    width: 100%;
    position: relative;
    background: #dff6ef;
    padding-bottom: 150px;
    margin-bottom: 100px;
}
.cam-buil-if-layer.himeji{
    background: #dff6ef;
}
.cam-buil-if-layer.toyooka{
    background: #d3ebfb;
}
.cam-buil-if-layer .head{
    width: 100%;
    text-align: center;
    margin-bottom: 80px;
    transform: translate(0, -50%);
}
.cam-buil-if-layer .head h2{
    font-size: 52px;
    font-family: aglet-mono, mono;
    font-weight: 600;
    line-height: 1.2;
    color: transparent;
    -webkit-text-stroke: 1px #191919;
    -webkit-text-fill-color: transparent;
}
.cam-buil-if-layer .gallery{
    width: 96%;
    max-width: 1680px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.cam-buil-if-layer .gallery .img{
    position: relative;
    width: 20%;
    padding: 0px 11px;
    margin-bottom: 22px;
}
.cam-buil-if-layer .gallery .img:before{
    content: '';
    position: absolute;
    bottom: -74px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #a3daff;
    z-index: 1;
}
.cam-buil-if-layer.himeji .gallery .img:before {
    border: 2px solid #55a98e;
}
.cam-buil-if-layer .gallery .img:after{
    content: '';
    position: absolute;
    bottom: -70px;
    left: 50%;
    width: 100%;
    height: 4px;
    background: #a3daff;
}
.cam-buil-if-layer.himeji .gallery .img:after {
    background: #55a98e;
}
.cam-buil-if-layer .gallery .img:last-child:after{
    display: none;
}
.cam-buil-if-layer .gallery .img p{
    color: #262626;
    font-size: 18px;
    line-height: 1.2;
    margin-bottom: 10px;
    font-family: 'Noto Sans JP Medium';
    font-weight: normal;
}
.cam-buil-if-layer .gallery .img img{
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.cam-buil-if-layer .gallery .img span{
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, 0);
    width: 0px;
    height: 74px;
    border-left: 1px dashed #a3daff;
}

.cam-buil-if-layer.himeji .gallery .img span {
    border-left: 1px dashed #55a98e;
}
.experience-sec{
    padding: 150px 0px;
    width: 100%;
    background: #fee7e9;
}
.experience-child-care{
    width: 100%;
    margin-bottom: 135px;
}
.ex-child-care-bx{
    width: 96%;
    max-width: 1189px;
    margin: auto;
    background: #fff;
    border-radius: 15px;
    padding: 84px 96px 72px;
}
.ex-child-care-bx .text-row{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.ex-child-care-bx .img-column{
    width: 100%;
    text-align: center;
    padding: 20px 0px;
}
.ex-child-care-bx .title-text-column{
    width: 100%;
    text-align: center;
}
.ex-child-care-bx .title-text-column h2,
.ex-child-care-bx .text-column h2{
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    margin: auto;
    max-width: 100%;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.5;
    border-radius: 5px;
}
.ex-child-care-bx .title-text-column h2{
    width: max-content;
    color: #91ceba;
    border: 3px solid #91ceba;
    background-image: url(../img/tile_slash.jpg);
    padding: 5px 76px;
}
.ex-child-care-bx .text-column{
    width: 12.5%;
    text-align: center;
}
.ex-child-care-bx .text-column h2{
    margin: auto;
    width: 64px;
    height: 100%;
    color: #85b5d5;
    border: 3px solid #85b5d5;
    background-image: url(../img/tile_dot.jpg);
    padding: 24px 12px;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: 500;
}
@-moz-document url-prefix() {
  .ex-child-care-bx .text-column h2{
    writing-mode: vertical-rl;
    height: 270px;
  }
}
.ex-child-care-bx .text-column.line-height-100 h2{
    line-height: 1;
}
.ex-child-care-bx .text-column.eng h2{
    font-family: aglet-mono, mono;
}
.experience-info{
    position: relative;
    width: 100%;
}
.ex-info-layer{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-end;
    margin-bottom: 84px;
}
.ex-info-layer:nth-child(even){
    flex-direction: row-reverse;
}
.ex-info-layer > .img, .ex-info-layer > .ex-info-bx{
    width: 50%;
}
.ex-info-layer > .img img{
    width: 100%;
}
.ex-info-bx .wrapper-bx{
    width: 100%;
    max-width: 764px;
    margin-left: -58px;
    margin-right: auto;
    margin-bottom: -30px;
    background: #fff;
    padding: 64px 15px 64px 58px;
    padding-left: 58px;
    padding-right: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
}
.ex-info-layer:nth-child(even) .ex-info-bx .wrapper-bx{
    margin-left: auto;
    margin-right: -58px;
    padding: 64px 58px 64px 15px;
    flex-direction: row-reverse;
}
.ex-info-bx .grider{
    padding: 0px 60px;
}
.ex-info-bx .grider .text-column h3{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    font-size: 23px;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: 500;
    line-height: 1.2;
    width: 167px;
    height: 47px;
    text-align: center;
    border: 3px solid;
    border-radius: 5px;
}
.ex-info-bx .grider .text-column.green{
    color: #91ceba;
    border-color: #91ceba;
    background-image: url(../img/tile_slash.jpg);
}
.ex-info-bx .grider .text-column.blue{
    color: #85b5d5;
    border-color: #85b5d5;
    background-image: url(../img/tile_dot.jpg);
}
.ex-info-bx .grider .img-column{
    padding: 30px 0px;
    text-align: center;
}
.ex-info-bx .cont{
    width: auto;
    max-width: 320px;
}
.ex-info-bx .cont h2{
    color: #575757;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 15px;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: bold;
}
.ex-info-bx .cont p{
    color: #575757;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.5;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: 500;
}

/* PROGRAM SEC */
.program-sec{
    width: 100%;
    background: #fff;
    padding: 170px 0px 167px;
}
.program-gallery-row{
    width: 96%;
    max-width: 1446px;
    margin: 0px auto 126px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 165px;
    margin-bottom: 40px;
}
.program-gallery-col{
    position: relative;
    width: 16.66%;
    padding: 0px 10px;
    text-align: center;
}
.program-gallery-col:before{
    content: '';
    position: absolute;
    left: 50%;
    top: -161px;
    transform: translate(-50%, 0);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #a3daff;
    z-index: 1;
}
.program-gallery-col:after{
    content: '';
    position: absolute;
    top: -157px;
    left: 50%;
    width: 100%;
    height: 4px;
    background: #a3daff;
}
.program-gallery-col:last-child:after{
    display: none;
}
.program-gallery-col .img{
    margin-bottom: 28px;
}
.program-gallery-col .cont p{
    color: #191919;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
}
.program-gallery-col .order{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #b1e3d3;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
}
.program-gallery-col .dashed{
    position: absolute;
    display: block;
    width: 0px;
    height: 161px;
    left: 50%;
    bottom: 100%;
    border-left: 1px dashed #a3daff;
}
.program-gallery-col .time{
    position: absolute;
    color: #191919;
    font-size: 26px;
    font-weight: normal;
    top: -220px;
    left: 50%;
    transform: translate(-50%, 0);
}
.program-desc  {
    margin-bottom: 170px;
}
.program-desc p {
    text-align: center;
}
.program-voice{
    position: relative;
    width: 100%;
}
.program-voice-bx{
    width: 96%;
    max-width: 1211px;
    margin: auto;
    background: #d3ebfb;
    border-radius: 30px;
}
.program-voice-bx .head{
    width: 100%;
    padding: 20px 0px 40px;
    background: url('../img/voice_ribon.png') no-repeat;
    background-size: contain;
    background-position: center center;
    text-align: center;
    transform: translate(0, -50%);
}
.program-voice-bx .head h2{
    color: #404040;
    font-size: 30px;
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: bold;
    line-height: 1;
    text-align: center;
}
.program-voice-row{
    width: 100%;
    max-width: 1005px;
    margin: auto;
    padding: 0px 30px;
    display: flex;
    flex-wrap: wrap;
}
.program-voice-col{
    position: relative;
    width: 50%;
    padding: 0px 30px 65px;
}
.program-voice-col .img{
    position: absolute;
    bottom: -8px;
    z-index: 1;
}
.program-voice-col.female .img{
    left: -140px;
}
.program-voice-col.male .img{
    right: -140px;
}
.program-voice-col .cont{
    position: relative;
    background: #fff;
    border-radius: 25px;
    padding: 40px;
}
.program-voice-col.female .cont{
    padding-left: 75px;
}
.program-voice-col.male .cont{
    padding-right: 75px;
}
.program-voice-col .cont:after{
    content: '';
    position: absolute;
    top: 99%;
    width: 0px;
    height: 0px;
    border-width: 0px 25px 15px 25px;
    border-color: transparent;
    border-style: solid;
    border-bottom-color: #fff;
}
.program-voice-col.female .cont:after{
    left: 20%;
    transform: rotate(-35deg);
}
.program-voice-col.male .cont:after{
    right: 20%;
    transform: rotate(35deg);
}
.program-voice-col .cont p{
    color: #575757;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.5;
}

.krequest_sec {
    width: 100%;
    background: #b1e3d3;
    padding: 50px 0;
}
.krequest_btn {
    position: relative;
    display: block;
    width: 96%;
    max-width: 687px;
    margin: auto;
    transition: all .3s;
}
.krequest_btn.line {
    margin-top: 5%;
}
.krequest_btn:hover {
    opacity: 0.7;
}
.krequest_btn img {
    display: block;
    -webkit-box-shadow: 5px 5px 15px 5px #00000022;
    box-shadow: 5px 5px 15px 5px #00000022;
}
.kaccess_sec {
    background-color: #f6f5f4;
    padding: 170px 15px 180px;
}
.kaccess_title {
    margin-bottom: 80px;
}
.kaccess_title h3{
    font-size: 80px;
    font-weight: normal;
    line-height: 1.2;
    font-family: aglet-mono, mono;
    text-align: center;
    color: #8a7d97;
}
.kaccess_title p {
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    color: #8a7d97;;
}
.kaccess_inner {
    width: 1000px;
    margin: auto;
    display: flex;
    justify-content: space-between;
}
.kaccess_item {
    width: 46%;
    position: relative;
}
.kaccess_item h4 {
    font-size: 30px;
    font-weight: bold;
}
.kaccess_item.kleft h4 {
    color: #55a98e;
}
.kaccess_item.kright h4 {
    color: #6d9fc0;
}
.kaccess_item p {
    margin: 16px 0;
}
.kaccess_item img {
    margin: 40px 0;
}
.kaccess_pickup {
    text-decoration: underline;
    color: #0093d0 !important;
}
.kaccess_item_btn a {
    position: absolute;
    /* left: calc( 50% - 130px); */
    left: 0;
    bottom: -78px;
    width: 270px;
    height: 57px;
    border-radius: 30px;
    background-color: #8c6c47;
    color: #191919 !important;
    text-align: center;
    font-weight: bold;
    line-height: 56px;
    transition: all 0.3s;
}
.kaccess_item_btn a:hover {
    opacity: 0.7;
}
.kaccess_item.kleft .kaccess_item_btn a {
    background-color: #b1e3d3;
}
.kaccess_item.kright .kaccess_item_btn a {
    background-color: #a3daff;
}
.kaccess_item_btn a i {
    margin-left: 12px;
}
.kmap_sec {
    padding: 120px 15px;
}
.kmap_inner {
    width: 1000px;
    margin: auto;
}
.kmap_inner p {
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 20px;
}
.kopencampus_sec {
    background-color: #e5e1f6;
    padding: 170px 15px 90px;
}
.kopencampus_title h3 {
    font-size: 80px;
    line-height: 1.2;
    font-weight: normal;
    font-family: aglet-mono, mono;
    text-align: center;
    color: #8a7d97;
}
.kopencampus_title{
    margin-bottom: 60px;
}
.kopencampus_title p {
    color: #8a7d97;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
}
.kopencampus_content {
    width: 1000px;
    margin: auto;
    display: flex;
    flex-direction: row-reverse;
}
.kopencampus_desc{
    width: 456px;
    padding: 40px;
}
.kopencampus_desc a {
    margin-top: 50px;
    display: block;
    width: 100%;
    height: 40px;
    border-radius: 30px;
    background-color: #fff;
    color: #191919;
    text-align: center;
    line-height: 39px;
    border: 2px solid #fff;
    transition: all 0.3s;
    font-size: 16px;
    font-weight: bold;
}
.kopencampus_desc a:hover {
    opacity: 0.7;
}
.kopencampus_desc a i {
    margin-left: 12px;
}
.kopencampus_img img {
    border-radius: 10px;
}
.kbanner_sec {

}
.kbanner_inner {
    display: flex;
    width: 1080px;
    margin: auto;
}
.kbanner_wrap {
    width: 50%;
    padding: 40px;
}
.kbanner_item {
    width: 100%;
}
.kbanner_a {
    height: 160px;
    overflow: hidden;
    position: relative;
    width: 100%;
    display: block;
}
.kbanner_a img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    min-height: 100%;
    min-width: 100%;
    max-height: 100%;
    max-width: 100%;
    object-fit: cover;
    transition: all 0.5s;
}
.kbanner_a:hover img {
    transform: scale(1.1);
}
.kbanner_a span {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 28px;
    color: #fff;
}
.kcontact_sec {
    background-color: #e6e6e6;
    display: flex;
    padding: 60px 15px;
    justify-content: center;
    flex-direction: column;
    align-items: flex-start;
}
.kcontact_line {
    align-self: center;
    width: 636px;
}
.kcontact_btn {
    cursor: pointer;
    background-color: #8f82bc;
    padding: 8px;
    transition: all .3s;
    align-self: center;
}
.kcontact_btn:hover {
    opacity: 0.7;
}
.kcontact_inner {
    border: solid 1px #fff;
    width: 620px;
    height: 80px;
    font-size: 38px;
    font-family: aglet-mono, mono;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;

    color: transparent;
    -webkit-text-stroke: 1px #fff;
    -webkit-text-fill-color: transparent;
}
.kfooter_college {
    margin-right: calc(50% - 609px);
    display: flex;
    padding-top: 30px;
}
.kfooter_logo {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.kfcollege_info {
    padding-top: 40px;
    padding-right: 70px;
    padding-bottom: 40px;
}
.kfcollege_info h3 {
    font-size: 26px;
}
.kcopyright {
    background-color: #b1e3d3;
    padding: 16px 0;
}
.kcopyright p {
    text-align: center;
    font-size: 16px;
}
@media (max-width: 1199px){
    .kaccess_inner {
        width: 100%;
    }
    .kmap_inner {
        width: 100%;
    }
    .kopencampus_content {
        width: 100%;
    }
    .kbanner_inner {
        width: 100%;
    }
    .kfooter_college {
        margin-right: 0;
    }
    .kfcollege_info{
        padding: 20px 10px;
    }
}
@media (max-width: 991px){
    .kfooter_college {
        padding-top: 20px;
    }
    .kfooter_college {
        display: block;
        margin: 0;
        padding: 15px;
    }
    .kfcollege_info{
        padding-right: 0;
    }
    .kfcollege_info h3{
        text-align: center;
    }
    .kfcollege_info p {
        text-align: center;
    }
    .kfcollege_info p a {
        color: #191919;
    }
}
/* @media (max-width: 575px){ */
@media (max-width: 767px){
    .kaccess_sec {
        padding: 60px 15px 120px;
    }
    .kaccess_title {
        margin-bottom: 40px;
    }
    .kaccess_title h3 {
        font-size: 30px;
    }
    .kaccess_title p {
        font-size: 16px;
    }
    .kaccess_inner {
        display: block;
    }
    .kaccess_item {
        width: 100%;
    }
    .kaccess_item.kright {
        margin-top: 120px;
    }
    .kaccess_item h4 {
        font-size: 22px;
    }
    .kaccess_item p {
        margin: 0;
    }
    .kaccess_item img {
        margin: 20px 0;
    }
    .kaccess_item h4,
    .kaccess_item p,
    .kaccess_pickup {
        text-align: center;
    }
    .kaccess_item_btn a {
        left: calc( 50% - 130px);
    }
    .kmap_sec {
        padding: 40px 15px;
    }
    .kmap_inner p {
        font-size: 16px;
        text-align: center;
    }
    .kopencampus_sec {
        padding: 60px 15px 60px;
    }
    .kopencampus_title {
        margin-bottom: 40px;
    }
    .kopencampus_title h3 {
        font-size: 30px;
    }
    .kopencampus_title p{
        font-size: 16px;
    }
    .kopencampus_content {
        width: 100%;
        display: block;
    }
    .kopencampus_desc {
        width: 100%;
        padding: 0;
    }
    .kopencampus_desc a {
        height: 80px;
        line-height: 80px;
        border-radius: 20px;
    }
    .kopencampus_content img{
        width: 100%;
        margin-bottom: 30px;
    }
    .kbanner_inner {
        display: block;
        padding: 30px 0;
    }
    .kbanner_wrap {
        width: 70%;
        margin: auto;
        padding: 16px;
    }
    .kbanner_a {
        height: 90px;
    }
    .kbanner_a span{
        font-size: 20px;
    }
    .kcontact_inner {
        font-size: 26px;
        width: 300px;
        height: 48px;
        color: #fff;
        -webkit-text-stroke: unset;
        -webkit-text-fill-color: #fff;
    }

    .kcontact_line {
        width: 316px;
    }
}



.cpc,
.cpc6,
.cpc9
{
	display: block !important;
}
.csp,
.csp6,
.csp9 {
	display: none !important;
}
@media (max-width: 900px) {
	.cpc {
		display: none !important;
	}
	.csp {
		display: block !important;
	}
	.cpc9 {
		display: none !important;
	}
	.csp9 {
		display: block !important;
	}
}
@media (max-width: 575px) {
	.cpc6 {
		display: none !important;
	}
	.csp6 {
		display: block !important;
	}
}
.cpc479 {
    display: block !important;
}
@media (max-width: 479px) {
    .cpc479 {
        display: none !important;
    }
}
.twominus_pc {
    display: block;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.twominus_sp {
    display: none;
}
@media (max-width: 991px) {
    .twominus_pc {
        display: none;
    }
    .twominus_sp {
        display: block;
    }
}
.font_jp {
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
}
.fontB_jp {
    font-family: 'Yu Gothic','YuGothic','游ゴシック','sans-serif';
    font-weight: bold;
}

.scroll_pos {
	content: "";
	height: 0;
	width: 100%;
	transform: translateY(50px);
}
.banner-present a:hover {
    opacity: 0.9;
}

.js_button {
	cursor: pointer;
	transition: all .3s;
}
.js_button:hover {
	opacity: 0.7;
}

@media screen and (min-width: 768px), print {
    a[href^="tel:"] {
        color: #191919;
        text-decoration: none;
        display: inline-block;
        pointer-events: none;
    }
}

/*--------------------------------
	重要なお知らせ
--------------------------------*/
.caution {
    margin: auto;
    max-width: 80%;
    text-align: center;
    background-color: #fff;
    padding: 2rem;
    margin-bottom: 3rem;
}
.caution h2 {
    color: #f38989;
    margin-bottom: 1rem;
    font-size: 26px;
}
.caution p {
    font-size: 18px;
    line-height: 28px;
}