@charset "utf-8";
/*--------------------------------------------
All
---------------------------------------------*/
html {
    scroll-behavior: smooth;
}
/*print*/
@media print {
    a[href]:after {
      content: "" !important;
    }
    abbr[title]:after {
      content: "" !important;
    }
}

/*===== FONT =====*/
body{
    font-family: 'Noto Sans JP', sans-serif !important;
    color: #2a2b31 !important;
}
html,body {
    font-size: 16px;
}
h1, h2, h3, h4, h5, h6,p,code, kbd, pre, samp,table{
    font-family: 'Noto Sans JP', sans-serif !important;
}
p,span,li,th,tr,label{
    font-size: 1rem;
    letter-spacing: .3px;
}
h1{
    margin: 0 !important;
}
h2{
    font-size: 3.625rem !important;
}
h1, h2, h3, h4, h5, h6{
    text-align: justify;
    text-justify:inter-character;
}
h4,h5,h6{
    margin-bottom: 0 !important;
}
p{
    margin: 0 !important;
    text-align: justify;
    text-justify:inter-character;
    color: #3B4043;
}
ul{
    list-style: none;
    margin-bottom: 0 !important;
    margin: 0;
    padding: 0;
}
/*font*/
.font01{
    font-family:  "Montserrat", sans-serif !important;
}
/*aタグ*/
a,.widget a,.widget a:hover{
    color: unset!important;
    text-decoration: none;
    outline: none;
}
a:focus, *:focus {
    outline:none!important;
}
a:visited{
    text-decoration: none;
    outline: none;
    color: unset;
}
a:focus, *:focus {
    outline:none;
}
a:hover {
    opacity: .8;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    text-decoration: none !important;
    outline: none;
}
/*display*/
.display-36{
    font-size: 2.25rem;
}
.display-32{
    font-size: 2rem;
}
.display-30{
    font-size: 1.875rem;
}
.display-24{
    font-size: 1.5rem;
}
.display-22{
    font-size: 1.375rem;
}
.display-20{
    font-size: 1.25rem;
}
.display-18{
    font-size: 1.065rem;
}
.display-16{
    font-size: 1rem!important;
}
.display-14{
    font-size: .875rem;
}
@media screen and (max-width:576px) {
    h2{
        font-size: 2rem !important;
    }
    .display-36{
       font-size: 2rem;
    }
    h3,.display-30{
        font-size: 1.5rem !important;
    }
    .display-24{
        font-size: 1.25rem !important;
    }
    .display-22{
        font-size: 1.15rem;
    }
    .display-20{
        font-size: 1.1rem;
    }
}

/*line-height*/
li,h1,h2,h3,h4,h5,h6{
    line-height: 1.3 !important;
}
.line01{
    line-height: 1 !important;
}
.line015{
    line-height: 1.5 !important;
}

/*letter-spacing:*/
.letter02{
    letter-spacing: .2rem;
}

/*font-weight*/
.font-weight-sbold{
    font-weight: 500;
}

/*===== COLOR =====*/
/*text*/
.text-key{
    color: #d1467c;
}
.text-gray{
    color: #b3a9b6;
}
.text-gray02{
    color: #707f89;
}
.text-purple01{
    color: #73308d !important;
}
.text-pink{
    color: #c54576;
}
.text-orange{
	color: #ff9900;
}
.text-green{
	color: #009944;
}
.text-green02{
	color: #8fc31f;
}
.text-blue{
	color: #00a0e9;
}
.text-yellow{
    color: #fff100;
}

/*background*/
.bg-key{
    background-color: #d1467c !important;
}
.bg-cream{
    background-color: #fffbf7;
}
.bg-gray{
    background-color: #b3a9b6;
}
.bg-gray02{
    background-color: #e6e6e6;
}
.bg-purple01{
    background-color: #73308d !important;
}
.bg-purple02{
    background-color: #dbcddd;
}
.bg-purple03{
    background-color: #faf4f9;
}
.bg-purple04{
    background-color: #b687c8;
}
.bg-blue{
    background-color: #f0f0f0;
}
.bg-orange{
	background-color: #ff9900 !important;
}

/*======= 他装飾 ======*/
/*角*/
.round{
    border-radius: 1.4rem;
}
.round-top{
    border-radius: 2.5rem 2.5rem 0 0;
}
.round-bottom{
    border-radius: 0 0 2.5rem 2.5rem;
}
.round-bottom-mp{
    margin-top: -2.5rem;
    padding-top: 2.5rem;
}
/*border*/
.border-dotted{
    border-bottom: 2px dashed #221815;
}
.border-key{
	border-bottom: 1px solid #D1467C !important;
}
/*z-index*/
.z-1{
    z-index: 1;
}
.z-2{
    z-index: 2;
}

/*more_btn*/
.more_btn_wrapper{
    display: flex;
    justify-content: center;
}
.more_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #D1467C;
    padding: .5rem 1.7rem;
    position: relative;
    color: #D1467C !important;
    border-radius: 2rem;
}
.more_btn:hover{
    background-color: #D1467C;
    opacity: 1;
    transition: all 0.3s ease;
    color: #fff !important;
}
.more_btn02{
    border: 2px solid #D1467C;
    color: #fff !important;
    background-color: #D1467C;
}
.more_btn02:hover{
    background-color: #fff;
    color: #D1467C !important;
}
.more_btn02:hover i{
    color: #D1467C !important;
}
.more_btn03{
    border: 2px solid #888888;
    color: #fff !important;
    background-color: #888888;
}
.more_btn03:hover {
    background-color: #fff;
    color: #888888 !important;
}
.more_btn04{
    border: 2px solid #73308D;
    color: #fff !important;
    background-color: #73308D;
}
.more_btn04:hover {
    background-color: #fff;
    color: #73308D !important;
}
@media screen and (max-width:719px) {
    .more_btn{
        font-size: .875rem;
    }
}

/*======= コンテンツ ======*/
#site-content {
    overflow: hidden;
    max-width: 680px;
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    margin-right: auto;
    margin-left: auto;
    box-shadow: 0 0 50px rgba(0,0,0,.8);
}
.wrap{
    width: 81%;
    margin: auto;
}
.inner{
    padding: 4rem 0;
}
@media screen and (max-width:576px) {
    .wrap{
       width: 90%;
    }
    .inner{
       padding: 2.5rem 0;
    }
}

/*table*/
table{
    margin: 0;
    border: none;
}
th{
    padding: 1rem;
    border: .08rem solid #2a2b31;
}
td{
    padding: 1rem;
    border-top: .08rem solid #2a2b31;
    border-right: .08rem solid #2a2b31;
    text-align: justify;
    word-break:break-all;
    text-justify:inter-character;
}
@media screen and (max-width:340px) {
    /*table*/
    td {
        padding: .5rem;
    }
}
/*table01*/
.table01 {
    display: flex;
    justify-content: center;
}
.table01 td{
    text-align: center;
    padding: .5rem 1rem;
    line-height: 1.2;
}
.table01 .table_first{
    background-color: #ebc8d5;
}
.table01 .table_first td{
    border-top: none;
}
.table01 .table_first td:last-child{
    border-right: none;
}
.table01 .table_second td{
    border-top: none;    
}
.table01 .table_second td:last-child{
    border-right: none;
}
@media screen and (max-width:576px) {
	.table01 td{
		padding: .5rem .25rem;
		font-size: .875rem;
	}
}
/*table02*/
.table02 th{
    text-align: center;
    padding: .4rem .2rem;
    font-size: 15px;
    border: .08rem solid #D1467C;
}
.table02 td{
    text-align: center;
    padding: .4rem .2rem;
    font-size: 15px;
    border-top: .08rem solid #D1467C;
    border-right: .08rem solid #D1467C;
    border-bottom: .08rem solid #D1467C;
}
@media screen and (max-width:576px) {
	.table02 {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.table02 table{
		min-width: 550px;
	}
}
/*table03*/
.table03 {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.table03 table{
    min-width: 820px;
}
.table03 table td { 
    background: #fff;
}
.table03 table tr:nth-child(odd) td {
    background: #e6e6e6;
}
.table03 tr:nth-child(2) td{
    font-weight: bold;
}
.table03 th{
    text-align: center;
    padding: .4rem .2rem;
    font-size: 15px;
    color: #D1467C;
    border: .08rem solid #D1467C;
}
.table03 th:nth-child(1),.table03 td:nth-child(1){
    border-right: none !important;
    border-left: none !important;
}
.table03 th:last-child,.table03 td:last-child{
    border-right: none !important;
}
.table03 th:nth-child(2){
    border-left: none !important;
}
.table03.green th{
    color: #009944;
    border: .08rem solid #009944;
}
.table03.orange th{
    color: #FF9900;
    border: .08rem solid #FF9900;
}
.table03.green02 th{
    color: #8FC31F;
    border: .08rem solid #8FC31F;
}
.table03.purple01 th{
    color: #73308D;
    border: .08rem solid #73308D;
}
.table03.blue th{
    color: #00A0E9;
    border: .08rem solid #00A0E9;
}
.table03 td{
    padding: .4rem .2rem;
    font-size: 15px;
    border-top: .08rem solid #D1467C;
    border-right: .08rem solid #D1467C;
    border-bottom: .08rem solid #D1467C;
}
.table03 td.td01{
    color: #0068b7;
}
.table03 td.td03 {
    color: #0068b7 !important;
}
.table03 td.td03 a{
    color: #0068b7 !important;
    text-decoration: underline;
}
.table03.green td{
    border-top: .08rem solid #009944;
    border-right: .08rem solid #009944;
    border-bottom: .08rem solid #009944;
}
.table03.orange td{
    border-top: .08rem solid #FF9900;
    border-right: .08rem solid #FF9900;
    border-bottom: .08rem solid #FF9900;
}
.table03.green02 td{
    border-top: .08rem solid #8FC31F;
    border-right: .08rem solid #8FC31F;
    border-bottom: .08rem solid #8FC31F;
}
.table03.purple01 td{
    border-top: .08rem solid #73308D;
    border-right: .08rem solid #73308D;
    border-bottom: .08rem solid #73308D;
}
.table03.blue td{
    border-top: .08rem solid #00A0E9;
    border-right: .08rem solid #00A0E9;
    border-bottom: .08rem solid #00A0E9;
}

/*見出し*/
.page_title01{
    border-bottom: 3px solid #f3abca;
    border-left: 5px solid #f3abca;
}

/*br*/
br.sp_br{
    display: block;
}
@media screen and (max-width:576px) {
    br.sp_br{
        display: none;
    }
}

/*======= アニメーション ======*/
@keyframes icon-swing {
    0%   { transform: rotate(-6deg);}
    20%  { transform: rotate(4deg);}
    40%  { transform: rotate(-3deg);}
    60%  { transform: rotate(2deg);}
    80%  { transform: rotate(-1deg);}
    100% { transform: rotate(-6deg);}
}
.icon_swing {
    animation: icon-swing 2.5s cubic-bezier(.66,.29,.46,.88) infinite;
    transform-origin: 50% 100%;
    will-change: transform;
}

/*--------------------------------------------
HEADER
---------------------------------------------*/
#header .header_container {
    width: 100%;
    height: 100px;
    background-color: #fff;
}
@media screen and (min-width:1320px) {
    #header .header_container {
        max-width: unset !important;
        padding-left: 2.5rem;
    }
}
@media screen and (max-width:1320px) {
    #header .header_container {
        padding-left: 1rem;
    }
}
@media screen and (max-width:992px) {
    #header .header_container {
        height: 60px;
    }
}
#header .header_logo img{
    width: calc( 226 * 100vw / 1500 );
    /*height: calc( 57 * 100vw / 1500 );*/
}
@media screen and (min-width:1501px){
    #header .header_logo img{
        width: 226px;
        height: 57px;
    }
}
@media screen and (max-width:992px) {
    #header .header_logo img{
        width: calc( 226 * 100vw / 992 );
        /*height: calc( 57 * 100vw / 992 );*/
    }
}
@media screen and (max-width:480px) {
    #header .header_logo img{
        width: calc( 180 * 100vw / 480 );
        height: unset;
    }
}

/*== header_menu ==*/
#header .header_menu_list li.menu-item a{
    padding-right: calc( 30 * 100vw / 1500 );
}
@media screen and (max-width:992px) {
    #header .header_menu_list li.menu-item{
        display: none;
    }
}
@media screen and (max-width:1200px) {
    #header .header_menu_list li.menu-item a{
        padding-right: calc( 16 * 100vw / 1200 );
    }
}
/*head_btn*/
#header .head_btn_wrapper{
    display: flex;
    justify-content: center;
}
#header .head_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #D1467C;
    padding: .3rem 1.5rem;
    position: relative;
    color: #D1467C !important;
    border-radius: 2rem;
}
#header .head_btn:hover{
    background-color: #D1467C;
    opacity: 1;
    transition: all 0.3s ease;
    color: #fff !important;
}
#header .head_btn02{
    border: 2px solid #D1467C;
    color: #fff !important;
    background-color: #D1467C;
}
#header .head_btn02:hover{
    background-color: #fff;
    color: #D1467C !important;
}
@media screen and (max-width:1200px) {
    #header .head_btn{
        padding: .3rem 1rem;
        font-size: .85rem;
    }
}

/*== ハンバーガー ==*/
#nav-drawer .header_nav{
    border-radius: 0 0 0 15px;
}
#nav-content .nav_inner {
    text-align: center;
    background: url(../images/header/nav_bg.png) right top/cover no-repeat;
    height: 340px;
}
#nav-drawer .header_nav_switch{
    cursor: pointer;
    width: 100%;
    height: 100%;
    user-select: none;
    transition: .4s ease;
    position: relative;
    top: 0;
    right: 0;
    margin:0;
    z-index: 9999;
}
/* メニュー展開時にハンバーガーアイコンを固定 */
#nav-input:checked ~ .header_nav_switch{
    background-color: #fff;
}
/* ハンバーガーアイコン */
#nav-drawer .hamburger_switch_line1,#nav-drawer .hamburger_switch_line1-before,#nav-drawer .hamburger_switch_line1_after{
    background: #D1467C;
    width: 20px;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 50%;
    transition: .3s;
    content: "";
}
#nav-drawer .header_nav_switch_inner{
    position: absolute;
    top: 65%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
#nav-drawer .hamburger_switch_line1{
    transform: translate(-50%, -50%);
}
#nav-drawer .hamburger_switch_line1-before{
    transform: translate(-50%, -300%);
}
#nav-drawer .hamburger_switch_line1_after{
    transform: translate(-50%, 200%);
}
/* ハンバーガーアイコン･アニメーション */
#nav-drawer .header_nav_switch02{
    cursor: pointer;
    width: 30px;
    height: 30px;
    user-select: none;
    transition: .4s ease;
    position: absolute;
    right: 2rem;
    top: .8rem;
    margin: 0;
    z-index: 9999;
}
@media screen and (max-width:992px) {
    #nav-drawer .header_nav_switch02{
        right: 0;
        top: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }
}
#nav-drawer .header_nav_switch02 .hamburger_switch_line1{
    width: 0;
}
#nav-drawer .header_nav_switch02 .hamburger_switch_line1-before{
    transform: rotate(45deg) translate(-35%, 325%);
    background: #fff;
}
#nav-drawer .header_nav_switch02 .hamburger_switch_line1_after{
    transform: rotate(-45deg) translate(-35%, -325%);
    background: #fff;
}
#nav-drawer {
    position: relative;
    display: flex;
    height: 100px;
}
@media screen and (max-width:992px) {
    #nav-drawer {
        height: 60px;
        width: 60px;
    }
    #nav-drawer .header_nav_switch_inner{
        top: 50%;
    }
}
/*チェックボックス等は非表示に*/
.nav-unshown {
    display:none;
}
/*アイコンのスペース*/
#nav-open {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
}
/*ハンバーガーの形をCSSで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 3px;/*線の太さ*/
    width: 25px;/*長さ*/
    border-radius: 3px;
    background: #fff;
    display: block;
    content: '';
    cursor: pointer;
}
#nav-open span:before {
    bottom: -8px;
}
#nav-open span:after {
    bottom: -16px;
}
/*閉じる用の薄黒箇所*/
#nav-close {
    display: none;
    position: fixed;
    z-index: 99;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
}
/*メニューの中身*/
#nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;
    width: 500px;
    background: #fff;
    transition: .3s ease-in-out;
    -webkit-transform: translateX(105%);
    transform: translateX(105%);
    border-radius: 0 0 0 20px;
}
#nav-content .nav-wrapper {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #b687c8;
}
@media screen and (max-width:576px) {
    #nav-content{
        width: 100%;
    }
}
/*チェックがついたら表示させる*/
#nav-input:checked ~ #nav-close {
    display: block;
    opacity: .5;
}
#nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
@media screen and (max-width:992px) {
    #nav-content .nav-wrapper{
        height: 60px;
        background-color: #73308d;
    }
    #nav-content .nav_inner{
        height: auto;
    }
    #nav-content .nav_inner li{
        padding-bottom: 1rem;
        display: flex;
        justify-content: center;
    }
    #nav-content .nav_inner li.menu-item a{
        color: #fff !important;
    }
    #nav-content .nav_inner li.student_menu {
        display: block;
    }
    #nav-content .nav_inner li.student_menu .student_menu_btn {
        padding: .3rem 1rem;
        position: relative;
        color: #73308d !important;
        border-radius: 2rem;
        background-color: #fff;
    }
     #nav-content .nav_inner li.student_menu .student_menu_btn.active{
        background-color: #b687c8 !important;
        display: block;
        border-radius: unset;
        padding: .5rem 1rem;
    }
     #nav-content .nav_inner li.student_menu .student_menu_btn:hover {
        background-color: #73308d;
        opacity: 1;
        transition: all 0.3s ease;
        color: #fff !important;
    }
}

/*== SNS ==*/
.sns_icon i{
    font-size: 2.8rem;
}
@media screen and (max-width:992px) {
    .sns_icon i{
        font-size: 2rem;
    }
}

/*--------------------------------------------
TOP PAGE
---------------------------------------------*/
/*== icon ==*/
.icon01{
    right: 0;
    top: -65px;
}
.icon01.icon01_sub02{
	bottom: -2px;
    right: 0px;
    top: unset;
}
.icon02{
    left: 0;
    bottom: -3px;
}
.icon02.icon02_sub02{
	left: 0;
	bottom: 0px;
}
.icon05{
    right: 0;
    bottom: -40px;
}
.icon06{
    bottom: -20px;
    left: 10px;
}
.icon07{
    top: -7rem;
    right: 0;
}

.icon03{
	right: 0;
	bottom: -10px;
}
.icon04{
  right: 20px;
  bottom: -35px;
}
.icon04.icon04_sub02{
  left: 0;
  bottom: 0;
}
.icon05.icon05_sub {
    right: unset;
	left: 0;
}
.icon05.icon05_sub02{
	bottom: 0;
}
.icon01.icon01_sub{
	bottom: -5px;
	right: -8px;
	top:unset;
}
.icon02.icon02_sub{
	left: -8px;
}
.icon06.icon06_sub {
    bottom: -59px;
    left: unset;
    right: 0;
}
@media screen and (max-width:576px) {
    .icon01{
        top: -50px;
    }
    .icon01,.icon02,.icon04,.icon07{
        width: 20%;
    }
    .icon05,.icon06{
        width: 40%;
    }
    .icon05{
        bottom: -25px;
    }
	.icon06.icon06_sub {
		bottom: -20px;
	}
}

/*== popup ==*/
.popup-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    width: 100vw; height: 100vh;
    background: rgba(0,0,0,0.5);
    z-index: 10000;
    justify-content: center;
    align-items: center;
}
.popup-overlay.active {
    display: flex;
}
.popup-content {
    background: #fff;
    border-radius: 12px;
    max-width: 90vw;
    width: 700px;
    padding: 24px 16px 16px 16px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.2);
    position: relative;
}
.popup-close {
    position: absolute;
    top: 12px;
    right: 16px;
    background: none;
    border: none;
    font-size: 2rem;
    color: #888;
    cursor: pointer;
    z-index: 1;
}
@media (max-width: 800px) {
    .popup-content {
        width: 98vw;
        padding: 8px 2vw 8px 2vw;
    }
    .popup-content iframe {
        height: 60vw;
        min-height: 320px;
    }
}

/*== 背景 ==*/
#bkg {
    display: block;
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: -10;
}
@media screen and (max-width:680px) {
	#bkg {
		display: none;
	}
}
#bkg.top{    
    background: url(../images/top/top_bg.png) right top/cover no-repeat;
}
#bkg img {
    max-width: 100%;
}
#bkg .parts {
    position: absolute;
    animation: bgFloating 1.5s cubic-bezier(.445,.05,.55,.95) infinite alternate, bgAppear 1.5s cubic-bezier(.39,.575,.565,1) 1;
}
#bkg .parts_01 {
    top: -2%;
    left: 2%;
    -webkit-animation-duration: 1.7257728s, 1.7257728s;
    animation-duration: 1.7257728s, 1.7257728s;
    -webkit-animation-delay: 1.7257728s, 0s;
    animation-delay: 1.7257728s, 0s;
}
#bkg .parts_02 {
    top: 12%;
    left: 15%;
    animation-duration: .913624s, .913624s;
    -webkit-animation-delay: .913624s, 0s;
    animation-delay: .913624s, 0s;
}
#bkg .parts_03 {
    top: 26%;
    left: 0;
    -webkit-animation-duration: 2.104864s, 2.104864s;
    animation-duration: 2.104864s, 2.104864s;
    -webkit-animation-delay: 2.104864s, 0s;
    animation-delay: 2.104864s, 0s;
}
#bkg .parts_04 {    
    top: 49%;
    left: 11.6%;
    animation-duration: 1.253708s, 1.253708s;
    -webkit-animation-delay: 1.253708s, 0s;
    animation-delay: 1.253708s, 0s;
}
#bkg .parts_05_right {
    top: -3%;
    right: 15%;
}
#bkg .parts_06 {
    top: 5%;
    right: 0.5%;
    z-index: -5;
    -webkit-animation-duration: 2.3072792s, 2.3072792s;
    animation-duration: 2.3072792s, 2.3072792s;
    -webkit-animation-delay: 2.3072792s, 0s;
    animation-delay: 2.3072792s, 0s;
}
#bkg .parts_07 {
    top: 24%;
    right: 14.3%;
    z-index: 5;
    -webkit-animation-duration: 2.104864s, 2.104864s;
    animation-duration: 2.104864s, 2.104864s;
    -webkit-animation-delay: 2.104864s, 0s;
    animation-delay: 2.104864s, 0s;
}
#bkg .parts_08 {
    top: 49%;
    right: 0;
    z-index: 5;
    -webkit-animation-duration: 1.7257728s, 1.7257728s;
    animation-duration: 1.7257728s, 1.7257728s;
    -webkit-animation-delay: 1.7257728s, 0s;
    animation-delay: 1.7257728s, 0s;
}
@keyframes bgFloating {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    100% {
        -webkit-transform: translate3d(0, 6%, 0);
        transform: translate3d(0, 6%, 0);
    }
}
@keyframes bgAppear {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 20%, 0);
        transform: translate3d(0, 20%, 0);
    }
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

/*== lottie-animation ==*/
#lottie-animation{
    top: calc(200px + 10vw);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
}
@media screen and (min-width:1401px) {
    #lottie-animation{
        top: calc(150px + 10vw);
    }
}
@media screen and (min-width:1690px) {
    #lottie-animation{
        top: calc(80px + 10vw);
    }
}
@media screen and (min-width:1920px) {
    #lottie-animation{
        top: calc(50px + 10vw);
    }
}

/*== slide ==*/
#slide .slide_bg .slide_title{
    position: absolute;
    top: 14%;
    left: 10%;
}
#slide .slider-wrap {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    margin-top: -7rem;
}
#slide .slick-slider {
    width: 100%;
    padding-bottom: 3rem;
}
#slide .slick-slide {
    margin: 0 10px;
    box-sizing: border-box;
}
#slide .slick-slider img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 4px 16px 0 rgba(0,0,0,0.18); 
}
#slide .slick-dots {
    text-align: center;
    bottom: 0;
}
#slide .slick-dots li {
    display: inline-block;
    margin: 0 10px;
}
#slide .slick-dots li button {
    width: 30px;
    height: 7px;
    border-radius: 6px;
    background: #be94ce;
    border: none;
    padding: 0;
    font-size: 0;
    transition: background 0.3s;
    cursor: pointer;
    outline: none;
    display: block;
}
#slide .slick-dots li.slick-active button {
    background: #73308d;
}
#slide .slick-dots li button::before{
    display: none;
}

/*== voice ==*/
.point-toggle {
    background: none;
    display: block;
    width: 100%;
    border: 2px solid #D1467C;
    border-radius: .5rem;
}
.point-toggle.active{
    border-radius: .5rem .5rem 0 0;
    border-bottom: none;
}
.point-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4,0,0.2,1);
}
.point-content-inner{
    border: 2px solid #D1467C;
    border-radius: 0 0 .5rem .5rem;
    border-top: none;
    background: url(../images/top/point_bg.png) right top/cover no-repeat;
}
.point-content.open {
    max-height: 100%;
}
.arrow-icon {
    transition: transform 0.3s ease;
}
.point-toggle.active .arrow-icon {
    transform: rotate(180deg);
}
/*== arrow ==*/
#arrow .special_icon01{
    bottom: -1rem;
    left: -1rem;
}
#arrow .special_icon02{
    bottom: -1rem;
    right: -1rem;
}
.tab-menu li {
    cursor: pointer;
    padding: .5rem 1.5rem;
    transition: color 0.2s, border-color 0.2s;
    background-color: #dbcddd;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    border-radius: 1rem 1rem 0 0;
}
.tab-menu li.active {
    background-color: #D1467C;
}
.tab-menu li p{
    line-height: 1.2;
}
.tab-content .tab-pane {
    display: none;
}
.tab-content .tab-pane.active {
    display: block;
}
@media screen and (max-width:576px) {
    #arrow ul li img{
        width: 30%;
    }
    #arrow ul li img.icon_arrow{
        width: 10%;
    }
	#arrow .special_icon01 {
		 bottom: -2.5rem;
		width: 25%;
	}
	#arrow .special_icon02 {
	  bottom: -2.5rem;
	  width: 25%;
	}
}
/*== staff ==*/
#staff .staff_img {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    overflow: hidden;
    display: inline-block;
    position: relative;
}
#staff .staff_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/*--------------------------------------------
FOOTER
---------------------------------------------*/
/*== footer01 ==*/
#footer .footer_btn ul li img{
    width: 70%;
    margin: 0 auto;
    display: flex;
}

/*== footer01 ==*/
#footer .footer01{
    padding-bottom: 5.5rem;
}
#footer .footer01 .footer01_img{
    position: absolute;
    bottom: -17%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
@media screen and (max-width:576px) {
    #footer .footer01{
        padding-bottom: 2rem;
    }
    #footer .footer01 .logo_img {
        width: 70%;
    }
}

/*== footer02 ==*/
#footer .footer02 .footer_menu li{
    margin-bottom: 1rem;
}
#footer .footer02 .footer_menu li:last-child{
    margin-right: 0;
}
#footer .footer02 .footer_menu li a{
    display: flex;
    align-items: center;
    color: #fff !important;
    margin-bottom: .4rem;
}
#footer .footer02 .footer_menu li a:hover{
    color: #ffff00 !important;
}
#footer .footer02 .footer_menu li .sub-menu{
    margin-top: .1rem;
}
#footer .footer02 .footer_menu li .sub-menu li{
    margin-left: .7rem;
    margin-bottom: .4rem;
}
#footer .footer02 .footer_menu li .sub-menu li a{
    font-size: .875rem;
}
#footer .footer02 .footer_menu li a::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f105";
    margin-right: .3rem;
    color: #D1467C;
    vertical-align: middle;
}
#footer .footer02 .footer_menu li .sub-menu li a::before{
    content: "・";
    margin-right: .1rem;
}
#footer .copy p{
    line-height: 1.2;
}
@media screen and (max-width:576px) {
    #footer .copy p{
        font-size: .75rem;
    }
}

/*== フローティングメニュー==*/
#fixed_menu {
    position: fixed;
    right: 2%;
    bottom: 20%;
    z-index: 100;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-end;
}
#fixed_menu ul li{
    padding-bottom: 1.2rem;
}
#fixed_menu ul li a{
    display: block;
    background: #fff;
    color: #73308D !important;
    padding: .6rem 4.2rem;
    border-radius: 30px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.7);
    transition: background 0.2s, box-shadow 0.2s;
    font-weight: bold;
    text-align: center;
}
#fixed_menu ul li a:hover {
    background: #73308D;
    color: #fff !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.18);
}

/*--------------------------------------------
サブページ
---------------------------------------------*/
#sub_head .sub_head_icon {
	position: absolute;
	bottom: -1rem;
	left: 0;
	z-index: 100;
}
#sub_head .sub_head_icon02 img{
	position: absolute;
	bottom: -4rem;
}
#sub_head h2{
    font-size: 2.25rem !important;
}
@media screen and (max-width:576px) {
    #sub_head h2{
        font-size: 1.8rem !important;
    }
    #sub_head .sub_head_icon,#sub_head .sub_head_icon02 img{
        position: unset;
    }
}

/*point-toggle*/
.point-toggle02 .point-toggle{
    border-radius: unset;
}
.point-toggle02 .point-toggle{
    background-color: #7c7c7c;
    border: 2px solid #7c7c7c;
}
.point-toggle02 .point-content-inner{
    border: 2px solid #7c7c7c;
    background: unset;
    background-color: #fff;
}
.point-toggle03 .point-content-inner{
    background: unset;
    background-color: #fff;
}

/*icon_day*/
.icon_day {
    border-radius: 50%;
    padding: .1rem .5rem .3rem .5rem;
    font-size: 24px;
    display: flex;
    align-items: center;
    color: #fff;
    font-weight: bold;
}
.icon_day.icon_tues{
    background-color: #ed6d46;
}
.icon_day.icon_turs{
    background-color: #41b25d;
}
.icon_day.icon_satur{
    background-color: #006cb8;
}
.icon_day.icon_wednes{
    background-color: #00a0e9;
}
.icon_day.icon_sun{
    background-color: #d1467c;
}

/*お知らせ*/
.topics .topics_img{
	height: 200px !important;
	object-fit: cover;
	width: 100%;
}
.pagination {
	display: flex;
	justify-content: center;
	align-items: center;
}
.nav-links{
	display: flex;
	align-items: center;
}
.pagination .page-numbers {
	display: inline-flex;
	width: 40px;
	height: 40px;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	border: 1px solid #ddd;
	color: #333;
	background: #fff;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
	margin-right: .3rem;
}
.pagination .page-numbers.current {
	background: #D1467C;
	color: #fff;
	border: 1px solid #D1467C;
	font-weight: bold;
}
.pagination .page-numbers:hover:not(.current) {
	background: #D1467C;
	color: #fff;
	border: 1px solid #D1467C;
}

/*⼊稿案内*/
.apply .time {
    border-left: 2px solid #73308D;
}
.apply .time li {
    position: relative;
}
.apply .time .time {
    content: "";
    position: absolute;
    left: -6px;
    top: 20px;
    background: #73308D;
    width: 10px;
    height: 10px;
    border-radius: 10px;
}
.apply .time .fist{
    position: absolute;
    left: -24px;
    top: -10px;
}
.apply .time .sch_box {
    display: inline-block;
    margin-left: 30px;
    padding: 15px 10px 15px 10px;
    vertical-align: middle;
}
.apply .time .sch_box.sch_box_fist{
    padding: 0px 10px 15px 10px;
    display: flex;
    justify-content: center;
}

.apply .point-toggle.active{
    background-color: #fff !important;
}
.apply .point-toggle.active p,.apply .point-toggle.active i{
    color: #d1467c !important;
}

/*採用情報*/
.recruit .recruit_list li:nth-child(1) td{
    border-top: .08rem solid #D1467C;
    border-right: .08rem solid #D1467C;
}
.recruit .recruit_list li:nth-child(2) td{
    border-top: .08rem solid #73308D;
    border-right: .08rem solid #73308D;
}
.recruit .recruit_list li:nth-child(2) .point-toggle{
    border: 2px solid #73308D;
}
.recruit .recruit_list li:nth-child(2) .point-toggle.active i{
    color: #fff !important;
}
.recruit .recruit_list li:nth-child(2) .point-content-inner{
    border: 2px solid #73308D;
}
.recruit .recruit_list li:nth-child(3) td{
    border-top: .08rem solid #FF9900;
    border-right: .08rem solid #FF9900;
}
.recruit .recruit_list li:nth-child(3) .point-toggle{
    border: 2px solid #FF9900;
}
.recruit .recruit_list li:nth-child(2) .point-toggle img,.recruit .recruit_list li:nth-child(3) .point-toggle img{
    position: absolute;
    left: -5px;
}
.recruit .recruit_list li:nth-child(3) .point-toggle.active i{
    color: #fff !important;
}
.recruit .recruit_list li:nth-child(3) .point-content-inner{
    border: 2px solid #FF9900;
}
@media screen and (max-width:576px) {
    .recruit .recruit_list li:nth-child(2) .point-toggle img, .recruit .recruit_list li:nth-child(3) .point-toggle img{
            left: -15px;
            bottom: 55%;
            width: 30%;
    }
}

/*よくある質問*/
.faq .faq_taximage{
    position: absolute;
    bottom: 0;
	left: 0;
}
.faq .point-toggle.active i {
  color: #fff !important;
}
.faq .faq_list button.bike.point-toggle{
    background-color: #73308D !important;
  border: 2px solid #73308D;
}
.faq .faq_list .bike .point-content-inner{
    border: 2px solid #73308D;
}
/**/
.faq .faq_list .q_inner p{
    color: #D1467C;
}
.faq .faq_list .q_inner .q_border{
    border-bottom: 1px solid #D1467C;
    padding-bottom: 5px;
}
.faq .faq_list .a_inner .a_icon{
    color: #73308D;
}
/*bike*/
.faq .faq_list .bike .q_inner p{
    color: #73308D;
}
.faq .faq_list .bike .q_inner .q_border{
    border-bottom: 1px solid #73308D;
    padding-bottom: 5px;
}
.faq .faq_list .bike .a_inner .a_icon{
    color: #D1467C;
}
@media screen and (max-width:576px) {
	.faq .faq_taximage img{
		width: 70%;
	}
}

/*四輪・二輪*/
@media screen and (max-width:576px) {
	.page_btn ul li img {
	  width: 70%;
	  margin: 0 auto;
	  display: flex;
	}
	.page_btn ul li img.icon_arrow{
			width: 10%;
		}
	}
}
/*スクールバス各線時刻表*/
.bus .bus_list li:nth-child(2) .point-toggle {
    border: 2px solid #009944 !important;
}
.bus .bus_list li:nth-child(2) .point-content-inner{
    border: 2px solid #009944;
    border-top: none;
}
.bus .bus_list li:nth-child(2) .point-toggle.active{
  background-color: #009944 !important;
}
.bus .bus_list li:nth-child(2) .point-toggle.active p,.bus .bus_list li:nth-child(2) .point-toggle.active i{
    color: #fff !important;
}
.bus .bus_list li:nth-child(3) .point-toggle {
    border: 2px solid #FF9900;
}
.bus .bus_list li:nth-child(3) .point-content-inner{
    border: 2px solid #FF9900;
    border-top: none;
}
.bus .bus_list li:nth-child(3) .point-toggle.active{
  background-color: #FF9900 !important;
}
.bus .bus_list li:nth-child(3) .point-toggle.active p,.bus .bus_list li:nth-child(3) .point-toggle.active i{
    color: #fff !important;
}
.bus .bus_list li:nth-child(4) .point-toggle {
    border: 2px solid #8fc31f;
}
.bus .bus_list li:nth-child(4) .point-content-inner{
    border: 2px solid #8fc31f;
    border-top: none;
}
.bus .bus_list li:nth-child(4) .point-toggle.active{
  background-color: #8fc31f !important;
}
.bus .bus_list li:nth-child(4) .point-toggle.active p,.bus .bus_list li:nth-child(4) .point-toggle.active i{
    color: #fff !important;
}
.bus .bus_list li:nth-child(5) .point-toggle {
    border: 2px solid #73308D;
}
.bus .bus_list li:nth-child(5) .point-content-inner{
    border: 2px solid #73308D;
    border-top: none;
}
.bus .bus_list li:nth-child(5) .point-toggle.active{
  background-color: #73308D !important;
}
.bus .bus_list li:nth-child(5) .point-toggle.active p,.bus .bus_list li:nth-child(5) .point-toggle.active i{
    color: #fff !important;
}
.bus .bus_list li:nth-child(6) .point-toggle {
    border: 2px solid #00a0e9;
}
.bus .bus_list li:nth-child(6) .point-content-inner{
    border: 2px solid #00a0e9;
    border-top: none;
}
.bus .bus_list li:nth-child(6) .point-toggle.active{
  background-color: #00a0e9 !important;
}
.bus .bus_list li:nth-child(6) .point-toggle.active p,.bus .bus_list li:nth-child(6) .point-toggle.active i{
    color: #fff !important;
}

/*--------------------------------------------
form
---------------------------------------------*/
.form__row {
    padding-bottom: 1.3rem;
    display: flex;
    flex-wrap: wrap; 
    align-items: center;
	justify-content: space-between;
}
.form__row .form__label,
.form__row .form__body {
    margin: 0;
    box-sizing: border-box;
}
.form__row .form__label {
    padding-bottom: .8rem;
    width: 32%;
}
.form__row .form__body{
    width: 66%;
}
.form__row .form__label label {
    position: relative;
    padding-right: 45px;
}
.form__row .form__label label::after {
    content: "任意";
    display: block;
    position: absolute;
    top: 5px;
    right: 0;
    width: 2.25rem;
    margin: 0;
    padding: 0 5px;
    background-color: #ececec;
    color: #999;
    font-size: 11px;
    text-align: center;
    box-sizing: border-box;
}
.form__row .form__label.is-required label {
    position: relative;
    margin: 0;
    text-align: justify;
}
.form__row .form__label.is-required label::after {
    content: "必須";
    display: block;
    position: absolute;
    top: 5px;
    right: 0;
    width: 2.25rem;
    margin: 0;
    padding: 0 5px;
    border: 1px solid #e00022;
    background-color: #fff;
    color: #e00022;
    font-size: 11px;
    text-align: center;
    box-sizing: border-box;
}
.submit-btn{
    display: flex;
    justify-content: center;
}
.submit-btn input[type="submit"] {
    background-color: #D1467C;
    font-weight: 500;
    max-width: 100%;
    padding: .5rem 2rem;
    border-radius: 10px;
    margin-left: auto;
    margin-right: auto;
    border: 2px solid #D1467C;
    color: #fff;
}
/*項目*/
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea,
.field {
    display: block;
    width: 100%;
    margin-bottom: 0.7em;
    padding: 0.55em;
	border: 1px solid #D1467C;
	border-radius: 9px;
    background-color: #fff;
    box-shadow: none;
    color: rgba(0, 0, 0, 0.7);
    font-size: 1em;
    line-height: 1.5;
    transition: ease;
}
.wpcf7-spinner{
	display: none;
}
@media screen and (max-width:768px) {
    .form__row .form__label,
    .form__row .form__body{
        width: 100%;
    }
}
@media screen and (max-width:576px) {
    .form__row .form__label {
        padding-bottom: .3rem;
    }
    .form__row {
        padding-bottom: .5rem;
    }
}

/*--------------------------------------------
スタッフ紹介
---------------------------------------------*/
.staff .staff_bn{
	border: 2px solid;
  border-radius: 3rem;
  display: flex;
  justify-content: center;
}
.staff .staff_item_list .staff_item{
    padding-top: 7.5rem;
    margin-bottom: 5rem !important;
}
.staff .staff_item_list .staff_item .staff_item_top {
    top: -6%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
}
.staff .staff_item_list .staff_item .staff_item_top img{
    height: 153px;
}
.staff .staff_item_list .staff_item .staff_btn {
    top: 1rem;
    right: 1rem;
}
.staff .staff_item_list .staff_item .staff_btn a{
    border-radius: 50%;
    padding: .6rem .8rem;
    line-height: 1.1;
}
.staff .staff_item_list .staff_item .staff_item_list_inner .timeline::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 2px;
    background: #e0559e;
    z-index: 0;
    transform: translateY(-50%);
    border-radius: 3px;
}
.staff .staff_item_list .staff_item .staff_item_list_inner .dot {
    position: relative;
    z-index: 1;
    width: 6px;
    height: 6px;
    background: #e0559e;
    border-radius: 50%;
    margin-right: calc((100% - 115px) / 5);
    padding: 3px;
}
.staff .staff_item_list .staff_item .staff_item_list_inner .dot:last-child {
    margin-right: 0;
}
.staff .staff_item_list .staff_item .staff_item_list_inner .dot.large {
    width: 10px;
    height: 10px;
    background: #73308D;
    box-shadow: 0 0 0 2px #73308D;
    border: 3px solid #73308D;
}

.staff .staff_item_list .staff_item .staff_item_list_inner .staff_text{
    border-radius: .3rem .3rem;
}
.staff .staff_item_list .staff_item .staff_item_list_inner .staff_text span{
    border-radius: .3rem 0 0 .3rem;
}
@media screen and (max-width:576px) {
	.staff .staff_item_list .staff_item .staff_item_list_inner .staff_text{
		border-radius: unset;
	}
	.staff .staff_item_list .staff_item .staff_item_list_inner .staff_text span{
		border-radius: unset;
	}
		.staff .staff_item_list .staff_item .staff_btn {
	   top: 4rem;
	}
}
/*--------------------------------------------
卒業生の声
---------------------------------------------*/
.voice .voice_nav_btn{
    width: 200px;
}
.voice .voice_nav_btn.voice_posts_4rin{
    background-color: #73308d !important;
}
.voice .voice_nav_btn.voice_posts_4rin .voice_taximage {
  right: .5rem;
  bottom: 0.5rem;
}
.voice .voice_nav_btn.voice_posts_2rin .voice_taximage {
    right: 1.5rem;
    bottom: -0.5rem;
}

.voice h3.voice_title{
    position: relative;
}
.voice h3.voice_title::before {
    content: '';
    position: absolute;
    top: 48%;
    left: 0;
    right: 0;
    border-top: 10px solid #f8e8fa;
}
.voice h3.voice_title > span {
    position: relative;
    display: inline-block;
    padding: 0 1rem;
    background-color: #FFFBF7;
}
.voice .voice_title_bottom span{
    border-radius: 50%;
    background: #dbcddd;
    padding: .25rem;
    margin: 0 .6rem;
}
.voice #voice_posts_2rin h3.voice_title{
    color: #73308d !important;
}
.voice .voice_item_list li:nth-child(2n) .voice_icon{
    order: 2;
}
.voice .voice_item_list li:nth-child(2n) .ballon::before{
   left: unset;
   right: -10px;
   transform: rotate(135deg);
}
.voice .voice_item_list .voice_item .ballon {
    position: relative;
    padding: 1rem;
    background: #fff;
    border: 2px dotted #d1467c;
    border-radius: .5rem;
}
.voice .voice_item_list .voice_item .ballon::before {
    content: '';
    position: absolute;
    top: 35%;
    left: -12px;
    width: 20px;
    height: 20px;
    background: #fff;
    border-left: 2px dotted #d1467c;
    border-top: 2px dotted #d1467c;
    transform: rotate(-45deg);
    box-sizing: border-box;
}
/*--------------------------------------------
施設案内
---------------------------------------------*/
.guide .guide_main02{
    bottom: 2rem;
    right: 0;
    position: absolute;
}
@media screen and (max-width:575px) {
	.guide .guide_main02{
		position: unset;
	}
}
.guide .image-container {
    position: relative;
    aspect-ratio: 16/10;
}
.guide .pin {
    position: absolute;
    width: 25px;
    height: 40px;
    background: url('../images/sub/guide/pin.png') no-repeat center center;
    background-size: contain;
    cursor: pointer;
    transform: translate(-50%, -50%);
    transition: transform 0.2s;
    z-index: 2;
}
/* モーダルウィンドウ */
.guide .modal {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    background-color: rgba(0,0,0,0.6);
    justify-content: center;
    align-items: center;
}
.guide .modal[aria-modal="true"] {
    display: flex;
}
.guide .modal-content {
    background: #fff;
    padding: 2.5rem 1rem .7rem;
    border-radius: unset;
    max-width: 670px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    position: relative;
    margin: auto;
    border: unset;
}
.guide .close-button {
    color: #000;
    position: absolute;
    top: 0;
    right: 1rem;
    font-size: 2rem;
    cursor: pointer;
    transition: color 0.2s;
}
.guide .close-button:hover, .close-button:focus {
    color: #ff4500;
    outline: none;
}
@media screen and (max-width:575px) {
	.guide .pin {
    	width: 20px;
	}
	.guide .modal-content{
		max-width: 90vw;
		padding: 2.5rem .5rem .7rem;
	}
	.guide .close-button{
		font-size: 1.5rem;
	}
}