@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=ADLaM+Display&display=swap');
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
	font-family:"Zen Maru Gothic", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    /*font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
    height: auto;
}
a,
a:link {
	color: #163128;
	outline: none  !important;
	text-decoration: none;
}
a:visited {
	color: #163128;
}
@media all and (min-width: 641px) {
	a:hover {
		color: #163128;
	}
}

a:active {
	color: #163128;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	/*min-width: 1300px;*/
    width: 100%;
	color: #163128;
	font-size: 1.6rem;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #fff5eb;
    }
#container {
    text-align: left;
    }
#main {
    display: block;
    }
a[href^="tel:"] {
    cursor: default;
    pointer-events: none;
    }
@media all and (min-width: 897px) {.sp {display: none !important;}}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.4rem;
	}
	body.fixed {
        position: fixed;
        width: 100%;
        height: 100%;
    }
    .pc {display: none !important;}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
@media all and (min-width: 641px) and (max-width: 896px) {
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
}
@media all and (min-width: 540px) {.sp2 {display: none !important;}}
@media all and (max-width: 540px) {.pc2 {display: none !important;}}
#topcontrol{z-index: 99;}
#topcontrol img{transition: 0.3s;}


@media all and (min-width: 641px) {
	#topcontrol img:hover{opacity: 0.5;}
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {align-content: center;align-items: center;}
.row{flex-direction: column-reverse;flex-direction: row-reverse;}

.en{font-family: "ADLaM Display", system-ui;}
.jp{font-family:"Zen Maru Gothic", sans-serif;}
.cen{text-align: center;}
.txtRed{color: #cb2118;}
.txtWhi{color: #fff;}
.txtYel{color: #FCCF00;}
.txtPin{color: #F79ABC;}
.txtBlu{color: #67B6C6;}
.txtPur{color: #CAA0EF;}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
    max-width: 1280px;
    width: 96%;
    margin: 0 auto;
    }
@media all and (max-width: 896px) {
    .content {width: 96%;margin: 0 auto;}
    }
@media all and (max-width: 540px) {
    .content {width: 90%;}
    }


/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	width: 100%;
    font-family:"Zen Maru Gothic", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 101;
    transition: all 0.3s ease 0s;
    }

#gHeader.m_fixed {
	position: fixed;
	top: 0;
    background: #fff5eb;
    }
#gHeader .hBox {
    width: 100%;
    max-width: 100%;
    padding: 40px 0;
	margin: 0 auto;
    box-sizing: border-box;
    }
#gHeader.m_fixed  .hBox{padding:10px 0;}
/* gNavi */
#gNavi {
    width: 100%;
    max-width:1240px;
    margin:0 auto;
    box-sizing: border-box;
    }
#gNavi .naviList {
    margin: 0 auto;
    display: flex;
    justify-content:space-between;
    /*align-content: center;
    align-items: center;*/
    box-sizing: border-box;
    }

#gNavi .naviList > li{
    box-sizing: border-box;
    width: 10%;
    max-width: 110px;
    text-align: center;
    padding: 0;
    margin-top: 10px;
    }
#gNavi .naviList > li.hd-logo{
    width: 30%;
    max-width:350px;
    margin: 0;
    box-sizing: border-box;
    }
#gNavi .naviList > li.hd-logo a{width: 100%;padding: 0}
#gNavi .naviList > li > a{
    display: block;
    width: 100%;
    padding:60px 0 0;
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing:0;
    box-sizing: border-box;
    transition: 0.3s;
    text-transform: uppercase;
    cursor: pointer;
    }
#gNavi .naviList > li.navi01{background: url("../images/common/nav01.svg")no-repeat top center;}
#gNavi .naviList > li.navi02{background: url("../images/common/nav02.svg")no-repeat top center;}
#gNavi .naviList > li.navi03{background: url("../images/common/nav03.svg")no-repeat top center;}
#gNavi .naviList > li.navi04{background: url("../images/common/nav04.svg")no-repeat top center;}
#gNavi .naviList > li.navi05{background: url("../images/common/nav05.svg")no-repeat top center;}
#gNavi .naviList > li.navi06{background: url("../images/common/nav06.svg")no-repeat top center;}

#gNavi .naviList > li span{position: relative;}
#gNavi .naviList > li span::after{
    position: absolute;
    content: "";
    background: url("../images/common/icon_arrow.png")no-repeat;
    width: 7px;
    height: 12px;
    left: -10px;
    top: 6px;
    opacity: 0;
    transition: opacity 0.3s ease;
    }
#gNavi .naviList > li.active span::after{
    opacity: 1;
    }
@media all and (min-width: 641px) {
	#gNavi .naviList > li:hover span::after{
		opacity: 1;
		}
}

@media all and (min-width: 896px) and (max-width: 950px) {}
@media all and (min-width:897px) {.menuBox {display: none !important;}}
@media all and (max-width: 896px) {
    #topcontrol{width: 50px;}
	#gHeader {position: fixed;}
    
    #gHeader .hd-logo-sp{
        max-width: 240px;
        padding: 20px;
        box-sizing: border-box;
    } 
	#gHeader .hBox {
		max-width: inherit;
		display: block;
        }
	#gNavi {display: none;}
    #gHeader .hdmail {display: none;}
    
    /* menu */
	.menu {
		width: 65px;
		height: 65px;
		position:fixed;
		right: 10px;
		top: 5px;
		cursor: pointer;
		z-index: 103;
		background-color: #3fa387;
        border-radius: 100px;
        }
	.menu span {
		margin-left: -10px;
		width: 50%;
		height: 3px;
		position: absolute;
		left: 42%;
		top: 20px;
		background: #fff5eb;
		transition: 0.3s;
        }
	.menu span:nth-child(2) {top: 27px;}
	.menu span:nth-child(3) {top: 34px;}
    .menu.on span{top: 23px;}
	.menu.on span:nth-child(1) {transform: translateY(5px) translateX(0) rotate(45deg);}
	.menu.on span:nth-child(2) {opacity: 0;}
	.menu.on span:nth-child(3) {transform: translateY(-6px) translateX(0) rotate(-45deg);top: 34px;}
    .menu p.en{
        position: absolute;
        bottom: 6px;
        left: 0;
        right: 0;
        margin-left: 15px;
        color: #fff5eb;
        font-size: 1.2rem;
        font-weight: 400;
        letter-spacing: 0;
        text-transform: uppercase;
    }
    
	.menuBox {
		width: 100%;
		height: 100%;
		position: fixed;
		left: 0;
		top: 0;
		background: #fff5eb;
		overflow: auto;
		z-index: 101;
		display: none;
        font-family:"Zen Maru Gothic", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    	}
	.menuWrap {padding: 0 20px 0;}
    .menuWrap .hd-logo{
        padding: 20px 0;
        max-width: 200px;
        box-sizing: border-box;
        }
	.menuWrap .naviList {
        max-width: 415px;
        margin: auto;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap:         wrap;
        justify-content:space-between;
        }
	.menuWrap .naviList > li {
		width: 32%;
        margin-bottom: 10px;
        }
	.menuWrap .naviList > li > a {
        display: block;
        width: 100%;
		padding: 70px 1px 14px;
        text-align: center;
        background:url("../images/common/nav01.svg")no-repeat center 20px , #fff;
        background-size: 58px;
		font-size: 1.4rem;
        letter-spacing: 0;
        font-weight: 600;
        border-radius: 10px;
        box-sizing: border-box;
        }
    .menuWrap .naviList > li:nth-child(2) > a{
        background:url("../images/common/nav02.svg")no-repeat center 20px , #fff;
        background-size: 52px;
    }
    .menuWrap .naviList > li:nth-child(3) > a{
        background:url("../images/common/nav03.svg")no-repeat center 23px , #fff;
        background-size: 45px;
    }
    .menuWrap .naviList > li:nth-child(4) > a{
        background:url("../images/common/nav04.svg")no-repeat center 30px , #fff;
        background-size: 62px;
    }
    .menuWrap .naviList > li:nth-child(5) > a{
        background:url("../images/common/nav05.svg")no-repeat center 18px , #fff;
        background-size: 45px;
    }
    .menuWrap .naviList > li:nth-child(6) > a{
        background:url("../images/common/nav06.svg")no-repeat center 20px , #fff;
        background-size: 35px;
    }
    .menuWrap .naviList > li > a span{
        background: url("../images/common/icon_arrow.svg")no-repeat left center;
        padding-left: 10px;
    }
    .menuWrap .naviList > li.active > a,
    .menuWrap .naviList > li > a:hover,
    .menuWrap .naviList > li ul li a:hover{}
    
    .menuWrap .menuBtnBox {
        max-width: 415px;
        margin: auto;
		text-align: center;
        }
    .menuWrap .menuBtnBox a{
        display: block;
        width: 100%;
        background: #3fa387;
        color: #fff;
        padding: 15px 0;
        margin-top: 10px;
        box-sizing: border-box;
        font-size: 1.5rem;
        font-weight: 600;
        border-radius: 10px;
        }
    .menuWrap .menuBtnBox a:nth-child(1) span{
        font-size: 2.0rem;
        background: url("../images/common/icon_mail.png")no-repeat left center;
        background-size: 25px;
        padding-left: 35px;
        }
    .menuWrap .menuBtnBox a:nth-child(2) span{
        font-size: 1.3rem;
        display: block;
        }
    .menuWrap .menuBtnBox a:nth-child(2) span.en{
        font-size: 2.7rem;
        letter-spacing: 0;
        }
    
    }

@media all and (max-width: 540px) {}



/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
    background: url("../images/common/ft.png")no-repeat top center ,#fff5eb;
    padding: 400px 0 30px;
    box-sizing: border-box;
    font-size: 1.6rem;
    margin-top: -200px;
    }
#gFooter.subFooter{margin-top: 0}
#gFooter .contact{
    max-width: 96%;
    margin:0 auto 100px;
    text-align: center;
    }
#gFooter .contact .ttl{
    text-align: center;
    background: url("../images/common/ttl_contact.png")no-repeat top center;
    padding: 40px 0 0;
    margin-bottom: 30px;
    font-size: 2.8rem;
    line-height: 170%;
    letter-spacing: 5%;
    font-weight: 500;
    }
#gFooter .contact ul{max-width: 860px;margin: auto;}
#gFooter .contact li{
    width: 48%;
    }
#gFooter .contact li a{
    display: block;
    width: 100%;
    background: #3fa387;
    border:2px solid #3fa387;
    padding: 15px 10px;
    box-sizing: border-box;
    border-radius: 10px;
    color: #fff;
    transition: 0.3s;
    }
#gFooter .contact li:nth-child(1) span{
    display: block;
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: 4%;
    line-height: 140%;
    }
#gFooter .contact li:nth-child(1) span.en{
    font-size: 3.4rem;
    font-weight: 400;
    line-height: 130%;
    }
#gFooter .contact li:nth-child(2){
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 130%;
    letter-spacing: 5%;
    }
#gFooter .contact li:nth-child(2) a{padding: 30px 10px;}

@media all and (min-width: 641px) {
	#gFooter .contact li:nth-child(2) a:hover{
    border-color: #3fa387;
    color: #3fa387;
    background: #fff;
    }
}
#gFooter .contact li:nth-child(2) span{
    background: url("../images/common/icon_mail.png")no-repeat left center;
    background-size: 41px;
    padding-left: 50px;
    }
#gFooter .contact li:nth-child(2) a:hover span{
    background: url("../images/common/icon_mail_on.png")no-repeat left center;
    background-size: 41px;
    }
#gFooter .gFiner{
    width: 96%;
    margin:0 auto;
    max-width: 1600px;
    }
#gFooter .fLeft{
    width: 30%;
    text-align: left;
    }
#gFooter .fLeft .fLogo{margin-bottom: 30px;}
#gFooter .fLeft p{
    font-size: 1.6rem;
    font-weight: 500;
    line-height:150%;
    letter-spacing: 5%;
    }
#gFooter .fNavi{
    margin: 48px 0;
    }
#gFooter .fNavi li{
    width: 50%;
    margin-bottom: 10px;
    }
#gFooter .fNavi li a{
    display: block;
    width: 100%;
    font-size: 1.6rem;
    font-weight: 500;
    position: relative;
    box-sizing: border-box;
    padding: 5px 0 5px 5px;
    transition: 0.3s;
    }
#gFooter .fNavi li a span{font-size: 1.3rem;color: #e26060;}
#gFooter .fNavi li:nth-child(2) a span{color: #ca9fef;}
#gFooter .fNavi li:nth-child(3) a span{color: #68b5c5;}
#gFooter .fNavi li:nth-child(4) a span{color: #f89abc;}
#gFooter .fNavi li:nth-child(5) a span{color: #efab18;}
#gFooter .fNavi li:nth-child(6) a span{color: #fcd000;}
#gFooter .fNavi li:nth-child(7) a span{color: #6abd79;}
#gFooter .fNavi li a:hover{color: #e26060;}
#gFooter .fNavi li:nth-child(2) a:hover{color: #ca9fef;}
#gFooter .fNavi li:nth-child(3) a:hover{color: #68b5c5;}
#gFooter .fNavi li:nth-child(4) a:hover{color: #f89abc;}
#gFooter .fNavi li:nth-child(5) a:hover{color: #efab18;}
#gFooter .fNavi li:nth-child(6) a:hover{color: #fcd000;}
#gFooter .fNavi li:nth-child(7) a:hover{color: #6abd79;}
#gFooter .fNavi li a::after{}
#gFooter .ftbtn a{
    font-size: 1.4rem;
    font-weight: 500;
    background: url("../images/common/icon_fc.png")no-repeat center left;
    background-size: 25px;
    padding: 5px 0 5px 36px;
    transition: 0.3s;
    }
#gFooter .ftbtn span{
    border-bottom: 2px dotted #17322b;
    transition: 0.3s;
    }


@media all and (min-width: 641px) {
	#gFooter .ftbtn a:hover{
		color: #68b5c5;
		background: url("../images/common/icon_fc2.png")no-repeat center left;
		background-size: 25px;
		}
	#gFooter .ftbtn a:hover span{border-color:#68b5c5; }
}

#gFooter .fRight{width: 68%;position: relative;}
#gFooter .fRight .frisu{
    position: absolute;
    top: -90px;
    right: 5%;
    }
#gFooter .fRight iframe{
    width: 100%;
    height: 480px;
    border-radius: 10px;
    }

#gFooter address {
    color: #D7B18C;
    text-align: right;
    padding: 0;
    margin:0;
    font-style: normal;
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 5%;
    }

@media all and (max-width: 1200px) {}
@media all and (max-width: 896px) {
#gFooter {font-size: 1.5rem;}
    
#gFooter .contact {margin: 0 auto 60px;}
#gFooter .contact .ttl{font-size: 2.0rem;}
#gFooter .contact li a{padding: 15px 5px;}
#gFooter .contact li:nth-child(1) span{font-size: 1.3rem;}
#gFooter .contact li:nth-child(1) span.en{font-size: 3.0rem;}
#gFooter .contact li:nth-child(2){font-size: 2.2rem;}
#gFooter .contact li:nth-child(2) a{padding: 30px 5px;}



#gFooter .fLeft{width: 100%;}
#gFooter .fLeft .fLogo{margin-bottom: 20px;max-width: 250px;}
#gFooter .fLeft p{font-size: 1.5rem;}
#gFooter .fNavi{
    margin: 18px 0;
    }
#gFooter .fNavi li{
    width: 33.333%;
    margin-bottom: 5px;
    }
#gFooter .fNavi li a{
    display: block;
    width: 100%;
    font-size: 1.5rem;
    font-weight: 500;
    position: relative;
    box-sizing: border-box;
    padding: 5px 0 5px 5px;
    }
#gFooter .fNavi li a span{font-size: 1.3rem;}

#gFooter .fRight{width: 100%;margin-top: 40px;}
#gFooter .fRight .frisu{
    width: 80px;
    top: -50px;
    right: 1%;
    }
#gFooter .fRight iframe{height: 380px;}

#gFooter address {
    padding: 0;
    margin:30px 0 0;
    }   
    
    
}
@media all and (max-width: 540px) {
#gFooter {
    background: url("../images/common/ft_sp.png")no-repeat top center ,#fff5eb;
    background-size: 100%;
    padding: 150px 0 30px;
    margin-top: 0;
    }
#gFooter .contact{
    margin:0 auto 40px;
    }
#gFooter .contact .ttl{
    background: url("../images/common/ttl_contact.png")no-repeat top center;
    background-size: 120px;
    padding: 40px 0 0;
    margin:0 auto 20px;
    font-size: 1.6rem;
    max-width: 260px;
    }
#gFooter .contact li{width: 100%;margin-bottom: 10px;}
#gFooter .contact li a{
    padding: 15px 5px;
    border-radius: 6px;
    }
#gFooter .contact li:nth-child(1) span{
    font-size: 1.4rem;
    letter-spacing: 0;
    font-weight: 500;
    }
#gFooter .contact li:nth-child(1) span.en{
    font-size: 2.7rem;
    }
#gFooter .contact li:nth-child(2){
    font-size: 1.8rem;
    }
#gFooter .contact li:nth-child(2) a{
    padding: 20px 5px;
    }
#gFooter .contact li:nth-child(2) span{
    background: url("../images/common/icon_mail.png")no-repeat left center;
    background-size: 25px;
    padding-left: 35px;
    }
#gFooter .contact li:nth-child(2) span{
    background: url("../images/common/icon_mail_on.png")no-repeat left center;
    background-size: 25px;
    }



#gFooter .fLeft .fLogo{max-width: 200px;}
#gFooter .fLeft p{
    font-size: 1.4rem;
    font-weight: 500;
    }
#gFooter .fNavi{
    display: none;
    }
#gFooter .ftbtn{margin-top: 20px;}

#gFooter .fRight .frisu{
    width: 60px;
    top: -30px;
    }
#gFooter .fRight iframe{
    height: 250px;
    }

#gFooter address {
    text-align: left;
    font-size: 1.2rem;
    letter-spacing: 0;
    }
}


@media all and (max-width: 640px) {
	#gFooter .contact li:nth-child(2) span{
    background: url("../images/common/icon_mail.png")no-repeat left center !important;
    background-size: 25px !important;
    }
}




/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comlink {
	max-width: 450px;
    width: 100%;
    margin:0;
    }
.comlink.cen {margin:0 auto;}

.comlink a {
    display: block;
    width: 100%;
    padding:26px 40px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 30px;
    color: #2C6152;
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 130%;
    border: 2px solid #7bb859;
    transition: 0.3s;
    }
.comlink a span{
    display: block;
    background: url("../images/common/icon_arrow3.png")no-repeat right center;
    transition: 0.3s;
    }


@media all and (min-width: 641px) {
	.comlink:hover a{
		background: #3fa387;
		color: #fff;
		border: 2px solid #fff;
		}
	.comlink:hover a span{
		background: url("../images/common/icon_arrow2.png")no-repeat right center;
    }
}


@media all and (max-width: 896px) {
.comlink {max-width: 96%;}
.comlink a {
    font-size: 1.7rem;
    padding:26px 20px;
    border-radius: 20px;
    }
}
@media all and (max-width: 540px) {
.comlink a {
    font-size: 1.4rem;
    padding: 15px;
    border-radius: 10px;
    letter-spacing:0;
    }
.comlink a span{
    background: url("../images/common/icon_arrow3.png")no-repeat right center;
    background-size: 5px;
    }
.comlink:hover a span{
    background: url("../images/common/icon_arrow2.png")no-repeat right center;
    background-size: 5px;
    }
}

/*------------------------------------------------------------
	over_effect
------------------------------------------------------------*/
.over_effect {width: 100%;overflow: hidden;}
.over_effect a {text-decoration: none;}
.over_effect img{transition: 0.3s;}


@media all and (min-width: 641px) {
	.over_effect a:hover img {
	display: block;
	transform: scale(1.1, 1.1);
	transition-duration: 0.8s;
	}
}


@media all and (max-width: 640px) {
	#policy,
	#flow,
	#enrollment01{
		padding: 82px 0 60px 0 !important;
	}
	
}


.ast1-2 {
	width: 100% !important;
	aspect-ratio: 681 / 634 !important;
	object-fit: cover !important;
}
.ast1-3 {
	width: 100% !important;
	aspect-ratio: 759 / 604 !important;
	object-fit: cover !important;
}
.ast4-3 {
	width: 100% !important;
	aspect-ratio: 980 / 678 !important;
	object-fit: cover !important;
}
.flex-top {
	align-items: flex-start !important;
}
