<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";

/* ---------------------------------------
  基本情報
-----------------------------------------*/
html,body{	height:100%;}
html{
	font-size:62.5%;
    overflow-y: scroll;
}
body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	text-align: left;
	color: #000;
	font-size: 1.7rem;
	line-height: 1.89;
	-webkit-text-size-adjust: 100%;
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 1.7rem;
	line-height: 1.89;
	font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
}
textarea{
	resize: vertical;
}
select::-ms-expand {
	display: none;
}
body a {
	text-decoration: none;
	color: #000;
}
img{
	vertical-align: bottom;
	max-width: 100%;
}
*,*:after,*:before{
	box-sizing: border-box;
}
@media screen and (min-width: 769px) {
	body{
		min-width: 1100px;
	}
	.sp{
		display: none!important;
	}
}
@media screen and (max-width: 768px) {
	body{
		min-width: auto;
		min-width: initial;
	}
	.pc{
		display: none!important;
	}
	img{
		width: 100%;
	}
}

/* マウスオーバー
--------------------------------*/
@media screen and (min-width: 769px) {
	.fade:hover,a:hover img{
		opacity: 0.7;
	}
	.fade,a img{
		transition: opacity 0.3s;
	}
}

/* 汎用
--------------------------------*/
.wrap{
	width: 1000px;
	margin: 0 auto;
}
.min{
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media all and (-ms-high-contrast:none) {
	.min{
		font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	}
}
.tac{
	text-align: center;
}
.tar{
	text-align: right;
}
.tal{
	text-align: left;
}
.aligncenter{
	display: block;
	margin: 0 auto;
}
.alignright{
	float: right;
}
.alignleft{
	float: left;
}

.ylw{
	color: #ffff00;
}
.ylw_line{
	background:linear-gradient(transparent 50%, #ffff00 50%);
}
.blue_line{
	background:linear-gradient(transparent 70%, #2a5d7d 70%);
}
.flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex.ac-flex{
	align-items: center;
}
.flex.jc-flex{
	justify-content: center;
}
.flex.je-flex{
	justify-content: flex-end;
}
.flex.reverse-flex{
	flex-direction: row-reverse;
}
.flex.nowrap-flex{
	flex-wrap: nowrap;
}

@media screen and (max-width: 768px) {
    .wrap{
        width: 94%;
        margin: 0 auto;
    }
    .pc{ display: none;}
}


/* ---------------------------------------------
  header
-----------------------------------------------*/
header{
	background: #fff;
}
header .wrap{
	padding: 20px 0;
	display: flex;
	align-items: center;
}
header .logo{
	margin-right: 30px;
}
header .txt{
	font-size: 1.4rem;
	color: #231815;
	line-height: 1.4;
}
header .tel{
	margin-left: auto;
}
header .tel .open{
	font-size: 1.4rem;
	color: #231815;
	padding-left: 53px;
}
@media screen and (max-width: 768px) {

	header {
		height: 60px;
		overflow: hidden;
	}
	header .wrap{
		padding: 5px 0 0 0;
        box-sizing: border-box;
	}
    header .wrap.sp{
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 10px 3%;
    }
    
	header .logo{
		margin: 0;
		width: auto;
		height: auto;
	}
    header .logo img{
        display: block;
        max-width: 180px;
        height: auto;
    }
	header .txt{
		font-size: .8rem;
		margin: 5px 0 0;
	}
    header .tel{
			position: absolute;
			right: 0;
			top: 0;
			width: 60px;
			height: 60px;
    }

}
/* ---------------------------------------------
  main
-----------------------------------------------*/

/* btn
--------------------------------*/
.btntype1{
	display: block;
	width: 100%;
	position: relative;
}
.btntype1::before{
	content: '';
	position: absolute;
	top: calc(50% + 1px);
	right: 50px;
	width: 12px;
	height: 12px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: translateY(-50%) rotate(45deg);
	z-index: 2;
}
.btntype1 .btnwrap{
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.3;
	color: #fff;
	border-radius: 100px;
	padding: 10px 15px;
	z-index: 1;
	display: block;
	width: 100%;
	position: relative;
}
.btntype1 .btnwrap::before,
.btntype1 .btnwrap::after{
	content: '';
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #ff7700;
	background: -moz-linear-gradient(top,  #ff7700 0%, #f84200 100%);
	background: -webkit-linear-gradient(top,  #ff7700 0%,#f84200 100%);
	background: linear-gradient(to bottom,  #ff7700 0%,#f84200 100%);
	border-radius: 100px;
	z-index: -1;
}
.btntype1.green .btnwrap::before,
.btntype1.green .btnwrap::after{
	background: #00c043;
	background: -moz-linear-gradient(top,  #00c043 0%, #01a83b 100%);
	background: -webkit-linear-gradient(top,  #00c043 0%,#01a83b 100%);
	background: linear-gradient(to bottom,  #00c043 0%,#01a83b 100%);
}

.btntype1 .btnwrap::after{
	top: 7px;
	background: #c84300;
	z-index: -2;
}
.btntype1.green .btnwrap::after{
	background: #007f38;
}
.btntype1 .price{
	font-size: 2.1rem;
	line-height: 1;
	display: inline-block;
	padding: 7px 18px 6px;
	background: #c84300;
	border-radius: 30px;
	margin-right: 35px;
	box-shadow: 2px 2px 2px 2px rgba(189,59,0,1) inset;
}
.btntype1.green .price{
	background: #007f38;
	box-shadow: 2px 2px 2px 2px rgba(0,118,56,1) inset;
}

.btntype1 .price strong{
	font-size: 1.5em;
	line-height: 1;
	font-weight: bold;
	margin: 0 3px;
}
.btntype2{
	display: block;
	width: 100%;
	position: relative;
}
.btntype2::before{
	content: '';
	position: absolute;
	top: calc(50% + 1px);
	right: 25px;
	width: 12px;
	height: 12px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: translateY(-50%) rotate(45deg);
	z-index: 2;
}
.btntype2 .btnwrap{
	font-size: 2.1rem;
	text-align: center;
	font-weight: bold;
	line-height: 1.3;
	color: #fff;
	border-radius: 60px;
	padding: 17px 15px;
	z-index: 1;
	display: block;
	width: 100%;
	position: relative;
}
.btntype2 .btnwrap::before,
.btntype2 .btnwrap::after{
	content: '';
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #ff7700;
	background: -moz-linear-gradient(top,  #ff7700 0%, #f84200 100%);
	background: -webkit-linear-gradient(top,  #ff7700 0%,#f84200 100%);
	background: linear-gradient(to bottom,  #ff7700 0%,#f84200 100%);
	border-radius: 60px;
	z-index: -1;
}
.btntype2 .btnwrap::after{
	top: 7px;
	background: #c84300;
	z-index: -2;
}
.btntype2 strong{
	font-size: 2.5rem;
	display: block;
	color: #ffffbf;
	margin-bottom: 3px;
}
.btntype2.greenbtn .btnwrap::before,
.btntype2.greenbtn .btnwrap::after{
	background: #00bf43;
	background: -moz-linear-gradient(top,  #00bf43 0%, #01a83b 100%);
	background: -webkit-linear-gradient(top,  #00bf43 0%,#01a83b 100%);
	background: linear-gradient(to bottom,  #00bf43 0%,#01a83b 100%);
}
.btntype2.greenbtn .btnwrap::after{
	background: #007f38;
}

@media screen and (max-width: 768px) {
	
	.btntype1 .btnwrap{
		font-size: 6vw;
	}
	.btntype1 .price{
		font-size: 4vw;
		margin-right: 2em;
	}
	.btntype1::before{
		right: 8%;
	}
	.btntype2 .btnwrap{
		font-size: 4vw;
		padding: 5%;
	}
	.btntype2 strong{
		font-size: 5.2vw;
	}
	.btntype2::before{
		right: 6%;
	}
}

/* mv Aver.
--------------------------------*/
#mv.typeA,
#mv.typeB{
	position: relative;
}
#mv.typeA .bgarea,
#mv.typeB .bgarea{
	position: relative;
}
#mv.typeA .img,
#mv.typeB .img{
	text-align: center;
	width: 100%;
}
#mv.typeA .img img,
#mv.typeB .img img{
	width: 100%;
}

/* typeB */

#mv.typeA .catch{
	font-size: 4.9rem;
	color: #fff;
	line-height: 1.8;
	text-shadow: 0 0 5px rgba(0,0,0,1);
	position: absolute;
	top: 45%;
	left: 50%;
	margin: 0 auto;
	transform: translate(-50%,-50%);
	width: 740px;
	max-width: 740px;
}
#mv.typeA .txtarea{
	max-width: 740px;
	margin: -120px auto 0;
	position: relative;
	z-index: 1;
}
#mv.typeA .txtarea .copy{
	font-size: 1.4rem;
	color: #fff;
}
#mv.typeA .txtarea .whitebox{
	margin-top: 5px;
	padding: 65px 10px;
	border-radius: 10px;
	background: url(../img/fv_a_heart.png) no-repeat center center #fff;
}
#mv.typeA .txtarea .whitebox p{
	font-size: 3.3rem;
	line-height: 1.45;
	text-align: center;
}

/* typeB */

#mv.typeB .bgarea .wrap{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: 0 auto;
}

#mv.typeB .catch{
	font-size: 4.3rem;
	color: #fff;
	line-height: 1.8;
	text-shadow: 0 0 5px rgba(0,0,0,1);
	position: relative;
	top: 4vw;
	left: 0;
	margin: 0 0 0 0;
}
#mv.typeB .txtarea{
	margin: 0 auto 100px auto;
	position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
	z-index: 1;
}
#mv.typeB .txtarea .area_in{
    position: absolute;
    top: 28vw;
}

#mv.typeB .txtarea p.ttl{
    font-size: 2.3rem;
    color: #00b640;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    background: url(../img/bg_ttl_band.png) repeat-y center top;
    box-shadow: 0 4px 4px -4px rgba(0,0,0,0.1);
    padding: 13px 0;
    margin-bottom: 23px;
    box-sizing: border-box;
}
#mv.typeB .txtarea p.ttl .min{ color: #000000;}

#mv.typeB .txtarea .whitebox{
	width: 488px;
	margin-top: 5px;
	padding:24px 0;
	border-radius: 10px;
    background: #FFF;
}

#mv.typeB .txtarea .whitebox .boxin{
    display: flex;
    justify-content: space-between;
	background: url(../img/bg_mv_whitebox.jpg) no-repeat right 0;
    padding-left: 33px;
    margin-bottom: 18px;
    box-sizing: border-box;
}
#mv.typeB .txtarea .whitebox .boxin .img{
    width: 37%;
    max-width: 153px;
}
#mv.typeB .txtarea .whitebox .boxin .txt{
    width: 63%;
    box-sizing: border-box;
}

#mv.typeB .txtarea .whitebox .txt p{
	font-size: 2.3rem;
	line-height: 1.2;
}

#mv.typeB .txtarea .whitebox .txt .strong{
    font-size: 2.8rem;
    font-weight: bold;
}
#mv.typeB .txtarea .whitebox .txt .col01{ color: #00b640;}

#mv.typeB .txtarea .whitebox .btntype1 .btnwrap{
    font-size: 2.6rem;
}

#mv.typeB .txtarea .whitebox a.btntype1{
    display: block;
    width: 86%;
    margin: 0 auto 5px auto;
    box-sizing: border-box;
}
#mv.typeB .txtarea .whitebox .btntype1::before{
	right: 25px;
}

#mv.typeB .txtarea .whitebox .btntype1 .price{ font-size: 2.0rem;}

#mv.typeB .txtarea .whitebox p.note{
    text-align: center;
    font-size: 1.6rem;
}

#mv.typeB .txtarea .copy{
	font-size: 1.1rem;
	color: #fff;
    margin-top: 5px;
}

@media screen and (max-width: 1499px) {
    #mv.typeB .catch{top: 2vw; font-size: 3.2vw;}
    #mv.typeB .txtarea .area_in{ top: 19.5vw;}

}

#donation{
	background: url(../img/donation_bg01.jpg) no-repeat center center /cover;
}
#donation .wrap{
	padding: 55px 0;
	max-width: 815px;
	display: flex;
	justify-content: space-between;
	position: relative;
}
#donation .mark{
	position: absolute;
	top: -20px;
	left: -100px;
	z-index: 1;
}
#donation .txtarea{
	width: 448px;
}
#donation .txtarea .txt{
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 15px;
}
#donation .txtarea .txt2{
	text-align: center;
	margin-top: 25px;
}
#donation .txtarea .txt2 span{
	font-size: 2.4rem;
	letter-spacing: .05em;
	line-height: 1.5;
	color: #88a12f;
	font-weight: bold;
	display: inline-block;
	padding:  0 10px;
	border-left: 1px solid #88a12f;
	border-right: 1px solid #88a12f;
}
@media screen and (min-width: 1500px) {
	#mv.typeA .txtarea{
		margin-top: -9%;
	}
	#mv.typeB .txtarea{
		margin-top: -9%;
	}
}

@media screen and (max-width: 768px) {
	header .txt{
		font-size: 2.8vw;
        color: #FFF;
        text-shadow: 0 0 5px rgba(0,0,0,1), 0 0 5px rgba(0,0,0,1), 0 0 5px rgba(0,0,0,1);
        position: absolute;
        top: 70px;
        left: 5%;
        z-index: 50;
	}


    /* typeA */
    #mv.typeA .catch{
        font-size: 7vw;
        color: #fff;
        line-height: 1.8;
        text-shadow: 0 0 5px rgba(0,0,0,1), 0 0 5px rgba(0,0,0,1), 0 0 5px rgba(0,0,0,1);
        position: absolute;
        top: 40%;
        left: 5%;
        right: 0;
        margin: 0 auto;
        transform: translateY(0);
			width: auto;
    }
    #mv.typeA .txtarea{
		width: 90%;
        margin: -42vw auto 0;
    }
    #mv.typeA .txtarea .copy{
        font-size: 3vw;
        color: #fff;
			margin-bottom: 30vw;
      text-shadow: 0 0 5px rgba(0,0,0,1), 0 0 5px rgba(0,0,0,1), 0 0 5px rgba(0,0,0,1);
    }
    #mv.typeA .txtarea .whitebox{
        margin-top: 5px;
        padding: 10% 5%;
        background: transparent url(../img/fv_a_heart.png) no-repeat center center;
		background-size: auto 80%;
    }
    #mv.typeA .txtarea .whitebox p{
        font-size: 5.4vw;
    }
	#mv.typeA .img img{
		/*object-fit: cover;*/
		/*object-position: center;*/
		width: 100%;
		height: auto;
	}
    /* typeB */
    #mv.typeB{ padding-bottom: 20%;}
    #mv.typeB .catch{
        font-size: 7vw;
        color: #fff;
        line-height: 1.8;
        text-shadow: 0 0 5px rgba(0,0,0,1), 0 0 5px rgba(0,0,0,1), 0 0 5px rgba(0,0,0,1);
        position: absolute;
        top: 47%;
        margin: 0 auto;
        transform: translateY(0);
			width: auto;
    }
    #mv.typeB .txtarea{
        position: relative;
		width: 90%;
        margin: -42vw auto 0;
    }
    #mv.typeB .txtarea .copy{
        position: absolute;
        top: -12vw;
        font-size: 3vw;
        color: #fff;
      text-shadow: 0 0 5px rgba(0,0,0,1), 0 0 5px rgba(0,0,0,1), 0 0 5px rgba(0,0,0,1);
    }
    
    #mv.typeB .txtarea .area_in{
        position: relative;
        margin-bottom: 6%;
    }
    #mv.typeB .txtarea .whitebox{
        width: 100%;
        margin: 5px auto 0 auto;
        padding: 6% 0;
    }
    #mv.typeB .txtarea p.ttl{
        font-size: 5.4vw;
        background-size: 100% auto;
        margin-bottom: 4%;
    }
    
    #mv.typeB .txtarea .whitebox .boxin{
        justify-content: flex-start;
        padding: 0 5%;
        margin-bottom: 4%;
        background: url(../img/bg_mv_whitebox_sp.jpg) no-repeat right center;
        background-size: 18% auto;
    }
    #mv.typeB .txtarea .whitebox .txt{
        padding-left: 3%;
    }
    #mv.typeB .txtarea .whitebox .txt p{
        font-size: 4.2vw;
    }
    #mv.typeB .txtarea .whitebox .txt .strong{ font-size: 5.4vw;}
    #mv.typeB .txtarea .whitebox a.btntype1{ width: 90%;}
    #mv.typeB .txtarea .whitebox .btntype1 .price{ font-size: 3.4vw; margin-right: 1.3em;}
    #mv.typeB .txtarea .whitebox .btntype1 .btnwrap{ font-size: 5.8vw;}
    #mv.typeB .txtarea .whitebox .btntype1::before{ right: 6%;}

    #mv.typeB .txtarea .whitebox p.note{ font-size: 3.2vw;}

	#mv.typeB .img img{
		/*object-fit: cover;*/
		/*object-position: center;*/
		width: 100%;
		height: auto;
	}


    #donation{
        background: url(../img/donation_bg01.jpg) no-repeat center center /cover;
    }
    #donation .wrap{
		display: block;
		padding: 10% 0 5%;
    }
    #donation .mark{
        width: 40%;
        top: 2%;
        left: 0%;
        z-index: 1;
    }
    #donation .txtarea{
        width: 100%;
    }
    #donation .txtarea .txt{
        font-size: 6vw;
		margin: 5% 0;
    }
	#donation .txtarea .txt2{
		margin: 5% 0 0;
    }
    #donation .txtarea .txt2 span{
		font-size: 4vw;
	}
}

/* select
--------------------------------*/
#select{
	padding: 30px 0 70px;
	background: url(../img/select_bg.jpg) no-repeat center top / cover;
}
#select .ttl{
	font-size: 3.2rem;
	padding-top: 23px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../img/select_ttl.png) no-repeat center center;
	height: 214px;
}
#select .lead{
	font-size: 2.1rem;
	text-align: center;
	margin-top: 10px;
}
#select .course{
	margin-top: 85px;
	display: flex;
	justify-content: space-between;
}
#select .coursebox{
	position: relative;
	width: 459px;
	background: #fff;
	border-radius: 10px;
	box-shadow:0px 0px 6px 0px rgba(49,59,13,.18);
}
#select .coursebox .num{
	position: absolute;
	top: -65px;
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
}
#select .coursebox .img{
	overflow: hidden;
	border-radius: 10px 10px 0 0;
}
#select .coursebox .head{
	padding: 25px 25px 45px;
}
#select .coursebox .head .boxttl{
	font-size: 2.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.57;
}
#select .coursebox .head .txt{
	font-size: 2.2rem;
	text-align: center;
	line-height: 1.36;
	margin-top: 15px;
}
#select .coursebox .pricearea{
	background: #02a73b;
	padding: 10px;
	position: relative;
}
#select .coursebox .pricearea .price{
	font-size: 2.6rem;
	line-height: 1.4;
	text-align: center;
	color: #fff;
	padding-right: 100px;
}
#select .coursebox .pricearea .price strong{
	font-size: 2.4em;
	line-height: 1;
	margin: 0 3px;
}
#select .coursebox .pricearea .mark{
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}
#select .coursebox .cnt{
	padding: 25px 25px 50px;
}
#select .coursebox .cnt .subbox{
	padding: 25px 35px;
	background: #f6fdda;
	border-radius: 10px;
	margin-top: 15px;
	min-height: 169px;
}
#select .coursebox .cnt .subttl{
	font-size: 2.8rem;
	line-height: 1.57;
	color: #02a73b;
	text-align: center;
	position: relative;
}
#select .coursebox .cnt .subttl span{
	background: #f6fdda;
	padding: 0 15px;
	position: relative;
	z-index: 1;
}
#select .coursebox .cnt .subttl::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	transform: translateY(-50%);
	background: #02a73b;
}
#select .coursebox .cnt .subbox ul{
	margin-top: 10px;
}
#select .coursebox .cnt .subbox ul li{
	font-size: 1.6rem;
	line-height: 1.4;
	padding-left: 1em;
	position: relative;
}
#select .coursebox .cnt .subbox ul li+li{
	margin-top: 8px;
}
#select .coursebox .cnt .subbox ul li::before{
	content: '';
	position: absolute;
	top:7px;
	left: 0;
	width: 8px;
	height: 8px;
	background: #02a73b;
	border-radius: 50%;
}
#select .coursebox .cnt .btn{
	margin-top: 35px;
}
#select .coursebox.box1 .head .boxttl{
	color: #02a73b;
}
#select .coursebox.box2 .head .boxttl{
	color: #ff7a00;
}
#select .coursebox.box2 .pricearea{
	background: #ff7a00;
}
#select .coursebox.box2 .cnt .subbox{
	background: #fff5eb;
}
#select .coursebox.box2 .cnt .subttl{
	color: #ff7a00;
}
#select .coursebox.box2 .cnt .subttl span{
	background: #fff5eb;
}
#select .coursebox.box2 .cnt .subttl::before{
	background: #ff7a00;
}
#select .coursebox.box2 .cnt .subbox ul li::before{
	background: #ff7a00;
}

@media screen and (max-width: 768px) {
	
	#select .ttl{
		font-size: 5vw;
		height: auto;
		background-size: 100% auto;
		padding: 8vw 0 6vw;
	}
	#select .lead{
		font-size:4vw;
		text-align: justify;
		margin: 5% 0 0;
	}
	#select .course{
		display: block;
		margin: 20% 0 0;
	}
	#select .coursebox{
		width: 100%;
	}
	#select .coursebox.box2{
		margin-top: 18%;
	}
	#select .coursebox .num{
		width: 40%;
		top: -5%;
	}
	#select .coursebox .head{
		padding: 5% 5% 10%;
	}
	#select .coursebox .head .boxttl{
		font-size: 6vw;
	}
	#select .coursebox .head .txt{
		font-size: 4.6vw;
		line-height: 1.6;
		margin: 0.5em 0 0;
	}
	#select .coursebox .pricearea .mark{
		width: 30%;
		right: 5%;
	}
	#select .coursebox .pricearea .price{
		font-size: 6vw;
		padding: 0 30% 0 0;
	}
	#select .coursebox .pricearea .price strong{
		font-size: 10vw;
	}
	#select .coursebox .cnt{
		padding: 10% 5%;
	}
	#select .coursebox .cnt .subbox:first-of-type{
		margin-top: 0;
	}
	#select .coursebox .cnt .subbox{
		min-height: inherit;
		padding: 5% 5% 8%;
	}
	#select .coursebox .cnt .subttl{
		font-size: 5vw;
	}
	#select .coursebox .cnt .subbox ul{
		margin: 2% 0 0;
	}
	#select .coursebox .cnt .subbox ul li{
		font-size:4vw;
	}
	#select .coursebox .cnt .btn{
		margin-top: 5%;
	}
	
}

/* reason
--------------------------------*/
#reason{
	padding: 80px 0 70px;
	background: url(../img/reason_bg.jpg) no-repeat center top /cover;
}
#reason .ttl{
	font-size: 3.8rem;
	color: #fff;
	text-align: center;
	line-height: 1.5;
	margin-bottom: 55px;
	position: relative;
}
#reason .ttl::before,
#reason .ttl::after{
	content: '';
	position: absolute;
	width: 210px;
	height: 1px;
	background: #fff;
}
#reason .ttl::before{
	top: 30px;
	left: 0;
}
#reason .ttl::after{
	bottom: 30px;
	right: 0;
}
#reason .imgbox{
	position: relative;
}
#reason .subttl{
	font-size: 3.8rem;
	letter-spacing: 0.03em;
	line-height: 1;
	position: absolute;
	top: 30%;
	transform: translateY(-50%);
	right: 0;
}
#reason .subttl span{
	display: inline-block;
	padding: 15px 20px 13px 30px;
	background: #fff;
	margin: 10px 0;
}
#reason .msg{
	width: 667px;
	margin: -135px 0 0 auto;
	padding: 50px 40px;
	background: url(../img/reason_msg_bg.png) no-repeat left top;
	background-size: auto 90px;
	position: relative;
	z-index: 1;
}
#reason .msg::before{
	content: '';
	position: absolute;
	top: 90px;
	left: 0;
	height: calc(100% - 90px);
	width: 100%;
	background: #fff;
	z-index: -1;
}
#reason .msg p+p{
	margin-top: 35px;
}

@media screen and (max-width: 768px) {
	#reason .ttl{
		font-size: 5.5vw;
		padding: 0 0 0 1em;
		margin: 0 -3% 5%;
	}
	#reason .ttl::before{
		top: 0.8em;
		width: 2em;
	}
	#reason .ttl::after{
		bottom: 0.8em;
		width: 2em;
	}
	#reason{
		padding: 10% 0;
	}
	#reason .imgbox .img{
    padding: 0 20% 15% 0;
	}
	#reason .subttl{
    right: 0;
    top: 60%;
		transform: none;
	}
	#reason .subttl br{
		display: none;
	}
	#reason .subttl span{
		display: block;
		font-size: 5vw;
    padding: .3em .5em;
	}
	#reason .msg{
		width: 100%;
		background: #fff;
		padding: 8%;
		margin: 0;
	}
	#reason .msg p{
		font-size:4vw;
	}
	#reason .msg::before{
		content: none;
	}
	#reason .msg p+p{
		margin-top: 1em;
	}
}

/* movie
--------------------------------*/
#movie{
	background: url(../img/movie_bg.jpg) no-repeat center top /cover;
}
#movie .wrap{
	max-width: 830px;
}
#movie .youtube{
	height: 0;
	width: 100%;
	position: relative;
	padding-top: 53.25%;
}
#movie .youtube.pc{
    height: auto;
    padding: 0;
}
#movie .youtube.pc img{}

#movie #colorbox iframe {
    width: 830px;
    height: 460px;
}

#movie .youtube iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* reason2
--------------------------------*/
#reason2{
	position: relative;
	z-index: 1;
	padding: 65px 0 175px;
	background: url(../img/reason2_bg.png) no-repeat bottom center / cover;
}
#reason2 .txt{
	font-size: 2rem;
	line-height: 1.7;
	text-align: center;
	color: #fff;
}
#reason2 .txt2{
	font-size: 3.8rem;
	line-height: 1.578;
	text-align: center;
	color: #fff;
	margin-top: 55px;
}
#reason2+*{
	margin-top: -130px;
}
@media screen and (min-width: 1500px) {
	#reason2+*{
		margin-top: -11%;
	}
}
@media screen and (max-width: 768px) {

  #reason2{
    background-image: url(../img/reason_bg_sp.png);
  }
	#reason2{
		padding: 5% 0 18%;
	}
	#reason2 .txt{
		font-size: 4.6vw;
		text-align: justify
	}
	#reason2 .txt2{
		font-size: 5.6vw;
		text-align: justify;
		margin: 5% 0 0;
	}
	#reason2 .txt br,
	#reason2 .txt2 br{
		display: none;
	}
}

/* world
--------------------------------*/
#world{
	padding-top: 130px;
	overflow: hidden;
	background: url(../img/world_bg.jpg) no-repeat center bottom /cover;
}
#world .wrap{
	position: relative;
	z-index: 1;
}
#world .ttl{
	text-align: center;
	margin-bottom: 25px;
}
#world .box{
	position: relative;
	padding: 60px 0;
}
#world .box .img{
	position: absolute;
	top: 55%;
	transform: translateY(-50%);
	z-index: 1;
}
#world .box .txtarea{
	padding: 50px 0;
	width: 780px;
	position: relative;
	background: -moz-linear-gradient(top,  #398c89 0%, #55a29f 100%);
	background: -webkit-linear-gradient(top,  #398c89 0%,#55a29f 100%);
	background: linear-gradient(to bottom,  #398c89 0%,#55a29f 100%);
	box-shadow: -6px 0px 6px 0px rgba(49,59,13,.18);
}
#world .box .txtarea::before{
	content: '';
	position: absolute;
	top: 0;
	width: 50vw;
	height: 100%;
	background: -moz-linear-gradient(top,  #398c89 0%, #55a29f 100%);
	background: -webkit-linear-gradient(top,  #398c89 0%,#55a29f 100%);
	background: linear-gradient(to bottom,  #398c89 0%,#55a29f 100%);
	box-shadow: 0px 0px 6px 0px rgba(49,59,13,.18);
	z-index: -1;
}
#world .box .txtarea .subttl{
	font-size: 4rem;
	line-height: 1.375;
	color: #edf31e;
}
#world .box .txtarea .txt{
	font-size: 2.1rem;
	color: #fff;
	line-height: 1.714;
	margin-top: 30px;
}
#world .box1 .img{
	left: 0;
}
#world .box1 .txtarea{
	padding-left: 280px;
	margin-left: auto;
}
#world .box1 .txtarea::before{
	left: 50%;
}
#world .box2{
	padding-bottom: 100px;
}
#world .box2:last-child{
	margin-bottom: 80px;
}
#world .box2 .img{
	right: 0;
}
#world .box2 .txtarea{
	padding-right: 280px;
	margin-right: auto;
	box-shadow: 6px 0px 6px 0px rgba(49,59,13,.18);
}
#world .box2 .txtarea::before{
	right: 50%;
}
#world .txt2{
	color: #fff;
	font-size: 3.1rem;
	line-height: 1.61;
	text-align: center;
	padding: 40px 0 55px;
}
@media screen and (min-width: 1500px) {
	#world{
		padding-top: 11%;
	}
}
@media screen and (max-width: 768px) {
  #world{
    background: url(../img/world_bg_sp.jpg) no-repeat center top /cover;
    margin-top: -22vw;
    padding-top: 22vw;
  }
  #world .ttl{
    margin: 0;
    padding: 3% 0;
  }
	#world .box{
		background: -webkit-linear-gradient(#398c89 0%, #55a29f 100%);
		background: linear-gradient(#398c89 0%, #55a29f 100%);
		box-shadow: -6px 0px 6px 0px rgba(49,59,13,.18);
		padding: 5%;
    margin: 0 -5%;
    display: flex;
    align-items: center;
	}
	#world .box .img{
		position: relative;
		top: auto;
		left: auto;
		transform: none;
		width: 40%;
		margin: 0 auto;
    flex: 0 0 auto;
	}
  #world .box + .box .img {
    order: 2;
  }
	#world .box .img img{
    margin: 0;
	}
	#world .box .txtarea{
		width: auto;
		background: none;
		box-shadow: none;
		padding: 5% 3% 0;
	}
  #world .box + .box .txtarea {
    order: 1;
  }
	#world .box .txtarea::before{
		content: none;
	}
	#world .box .txtarea .subttl{
		font-size: 4.8vw;
	}
	#world .box .txtarea .txt{
		font-size: 3.8vw;
		margin: 0.5em 0 0;
	}
	#world .box2{
		margin-top: 10%;
	}
	#world .txt2{
		font-size: 5vw;
		padding: 10% 0;
	}
}


/* kyeword
--------------------------------*/
#kyeword{
	padding-bottom: 55px;
	background: url(../img/keyword_bg.jpg) no-repeat center bottom -1px /cover;
}
#kyeword .txt{
	font-size: 4rem;
	line-height: 1.2;
	color: #168165;
	font-weight: bold;
	text-align: center;
	padding-top: 25px;
	height: 136px;
	background: url(../img/keyword_arrow.png) no-repeat center top;
	background-size: 1000px auto;
}
#kyeword .ttl{
	margin-bottom: 35px;
}
#kyeword .txt2{
	font-size: 2.5rem;
	line-height: 1.4;
	text-align: center;
	color: #0b3127;
	padding: 18px 10px;
	background: #fff;
	background: -moz-linear-gradient(left,  rgba(255,255,255,0.3) 5%, rgba(255,255,255,1) 15%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 85%, rgba(255,255,255,0.3) 95%);
	background: -webkit-linear-gradient(left,  rgba(255,255,255,0.3) 5%,rgba(255,255,255,1) 15%,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 85%,rgba(255,255,255,0.3) 95%);
	background: linear-gradient(to right,  rgba(255,255,255,0.3) 5%,rgba(255,255,255,1) 15%,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 85%,rgba(255,255,255,0.3) 95%);
}

@media screen and (max-width: 768px) {
	#kyeword{
		padding: 0 0 10%;
	}
	#kyeword .txt{
		height: auto;
		font-size: 6vw;
		padding: 5% 0 8%;
		margin-left: -3%;
		margin-right: -3%;
		background-size: 300% 100%;
	}
	#kyeword .ttl{
		margin: 0 0 5%;
	}
	#kyeword .txt2{
		font-size: 5vw;
	}
}

/* two
--------------------------------*/
#two{
	position: relative;
	padding-top: 10%;
	background: #faf1c0;
}
#two::before,
#two::after{
	content: '';
	position: absolute;
	top: 0;
}
#two::before{
	left: 0;
	width: 100%;
	height: 0;
	padding-top: 10%;
	background: url(../img/two_bg.jpg) no-repeat center center /cover;
	z-index: 1;
}
#two::after{
	right: 0;
	width: 50%;
	height: 100%;
	background: url(../img/two_bg02.jpg) no-repeat center center /cover;
}
#two .ttl{
	font-size: 4.6rem;
	font-weight: bold;
	color: #fff;
	line-height: 1.8;
	text-align: center;
	background: #ff7a00;
	position: relative;
	z-index: 1;
}
#two .ttl::before,
#two .ttl::after{
	content: '';
	position: absolute;
	bottom: -38px;
	height: 39px;
}
#two .ttl::before{
	left: 0;
	width: 100%;
	background: url(../img/two_ttl_bg.png) repeat-x center center /contain;
}
#two .ttl::after{
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 104px;
	background: url(../img/two_ttl_arrow.png) no-repeat center center /contain;
}
#two .wrap{
	display: flex;
	justify-content: center;
	z-index: 1;
	position: relative;
	padding: 50px 0 80px;
}
#two .key{
	width: 50%;
}
#two .key .txt{
	font-size: 4.1rem;
	text-align: center;
	line-height: 1.1;
	color: #ff7a00;
	margin: 35px 0 30px;
}
#two .key02 .txt{
	color: #11a7dc;
}

@media screen and (max-width: 768px) {
	
	#two .ttl{
		font-size: 6vw;
		line-height: 1.6;
		padding: 0 0 0.5em;
		z-index: 2;
	}
	#two .ttl::after{
		z-index: 3;
	}
	#two .ttl span{
		display: block;
	}
	#two .wrap{
		display: block;
		width: 100%;
		padding: 0;
	}
	#two .key{
		width: 100%;
		padding: 15% 3% 5%;
		box-sizing: border-box;
	}
	#two .key.key01{
		background: #FAF1C0;
	}
	#two .key .mark{
		width: 30%;
		margin: 0 auto;
	}
	#two .key .txt{
		font-size: 10vw;
		margin: 0.5em 0;
	}
	#two .key.key02{
		background: #C9EAE9;
		padding: 8% 3% 5%;
	}
}

/* program
--------------------------------*/
.sec_program .slider{
	margin: 25px 0 35px;
}
.sec_program .slider div{
	line-height: 1;
}
.sec_program .slider .slide{
	padding: 0 5px;
}
.sec_program .slider img{
	width: 100%;
}
.sec_program .slider .slick-slide:not(.slick-active) img{
	opacity: .67;
}
.slick-arrow{
	text-indent: 101%;
	overflow: hidden;
	font-size: 0;
	position: absolute;
	top: 45%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	width: 86px;
	height: 84px;
	background: no-repeat center center /contain;
	margin: 0 auto;
	z-index: 1;
	transition: opacity 0.3s;
	cursor: pointer;
}
.slick-prev.slick-arrow{
	left: -700px;
	background-image: url(../img/slider_left.png);
}
.slick-next.slick-arrow{
	right: -720px;
	background-image: url(../img/slider_right.png);
}
.slick-dots{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 30px;
}
.slick-dots li{
	text-indent: 101%;
	font-size: 0;
	overflow: hidden;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 2px solid #00b740;
	background: #fff;
	margin: 0 10px;
}
.slick-dots li.slick-active{
	background: #00b740;
}
@media screen and (min-width: 769px) {
	.slick-arrow:hover{
		opacity: .7;
	}
}
.sec_program .ratearea {
	width: 730px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	margin-bottom: 53px;
}

.sec_program .ratearea .rate {
	width: 352px;
	height: 224px;
	background-color: #f8f8f8;
	padding: 24px 0;
	border-radius: 20px;
}

.sec_program .ratearea .rate .txt {
	line-height: 1.5;
	font-size: 1.3rem;
	text-align: center;
	padding-bottom: 15px;
}

.sec_program .ratearea .rate .txt strong {
	display: block;
	font-weight: bold;
	font-size: 2.2rem;
}

.sec_program .ratearea .rate .img {
	text-align: center;
}

.sec_program .txtarea {
	position: relative;
	padding-bottom: 64px;
}

.sec_program .txtarea .txt2 {
	text-align: center;
	font-size: 4.0rem;
	line-height: 1.5;
	padding-bottom: 50px;
}

.sec_program .txtarea .txt3 {
	font-size: 1.7rem;
	width: 756px;
	margin: 0 auto;
	text-align: center;
	letter-spacing: -.06em;
}

.sec_program .txtarea img {
	position: absolute;
}
#program1 .txtarea .image01 {
	left: 15px;
	bottom: 64px;
}

#program1 .txtarea .image02 {
	top: 65px;
	right: 45px;
}

#program1 .txtarea .image03 {
	right: -18px;
	bottom: 64px;
}

#program2 {
	background: #f1fad6;
}

#program2 .txtarea .image01 {
	left: 4px;
	top: 51px;
}

#program2 .txtarea .image02 {
	right: 5px;
	top: 11px;
}

#program3 {
	position: relative;
	z-index: 21;
}
#program3 .txtarea .image01 {
	left: -91px;
	top: -28px;
}

#program3 .txtarea .image02 {
	right: -94px;
	top: -35px;
}

#program3 .letter {
	text-align: center;
	padding-bottom: 23px;
}

@media screen and (max-width: 768px) {
	.sec_program .slider{
		margin: 5% 0 10%;
	}
	.slick-dots{
		margin: 5% 0 0;
	}

    #program3 .wrap{ width: 96%;}
    #program3 .wrap .txt3{ width: 98%}

	#program1 .txtarea .image01,
	#program1 .txtarea .image02,
	#program1 .txtarea .image03,
	#program2 .txtarea .image01,
	#program2 .txtarea .image02,
	#program3 .txtarea .image01,
	#program3 .txtarea .image02{
		display: none;
	}
	.sec_program .ratearea{
		margin: 0 0 5% 0;
	}
	.sec_program .ratearea .rate{
		width: 100%;
		height: auto;
		padding: 5% 5% 3%;
	}
	.sec_program .ratearea .rate+.rate{
		margin-top: 5%;
	}
	.sec_program .ratearea .rate .txt strong{
		font-size: 5vw;
	}
	.sec_program .ratearea .rate .txt{
		font-size:3.8vw;
	}
	.sec_program .ratearea{
		display: block;
		width: 100%;
		padding: 0 0 5%;
	}
	.sec_program .txtarea .txt2{
		font-size: 5.6vw;
		padding: 0 0 5%;
	}
	.sec_program .txtarea .txt3{
		width: 100%;
		text-align: justify;
        font-size: 4.5vw;
	}
	.sec_program .txtarea{
		padding: 0 0 5%;
	}
}

/* sponsorship
--------------------------------*/
#sponsorship{
    position: relative;
	margin-top: -120px;
	padding: 150px 0 30px;
	background: url(../img/sponsorship_bg.png) no-repeat center top;
	background-size: cover;
    z-index: 20;
}
#sponsorship .ttl{
	font-size: 3.2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../img/sponsorship_ttl.png) no-repeat center center;
	height: 142px;
}
#sponsorship .lead{
	font-size: 2.1rem;
	text-align: center;
	margin-top: 30px;
}
#sponsorship .lead .red{
	color: #ff0000;
}
#sponsorship .course{
	margin-top: 125px;
	display: flex;
	justify-content: space-between;
}
#sponsorship .coursebox{
	position: relative;
	width: 459px;
	background: #fff;
	border-radius: 10px;
	box-shadow:0px 0px 6px 0px rgba(49,59,13,.18);
}
#sponsorship .coursebox .num{
	position: absolute;
	top: -65px;
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
}
#sponsorship .coursebox .img{
	overflow: hidden;
	border-radius: 10px 10px 0 0;
}
#sponsorship .coursebox .head{
	padding: 25px 25px 45px;
}
#sponsorship .coursebox .head .boxttl{
	font-size: 2.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.57;
}
#sponsorship .coursebox .head .txt{
	font-size: 2.2rem;
	text-align: center;
	line-height: 1.36;
	margin-top: 15px;
}
#sponsorship .coursebox .head .img_box {
	text-align: center;
	margin-top: 20px;
}
#sponsorship .coursebox .pricearea{
	background: #02a73b;
	padding: 10px;
	position: relative;
}
#sponsorship .coursebox .pricearea .price{
	font-size: 2.6rem;
	line-height: 1.4;
	text-align: center;
	color: #fff;
	padding-right: 100px;
}
#sponsorship .coursebox .pricearea .price strong{
	font-size: 2.4em;
	line-height: 1;
	margin: 0 3px;
}
#sponsorship .coursebox .pricearea .mark{
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}
#sponsorship .coursebox .cnt{
	padding: 25px 25px 50px;
}
#sponsorship .coursebox .cnt .subbox{
	padding: 25px 35px;
	background: #f6fdda;
	border-radius: 10px;
	margin-top: 15px;
	min-height: 169px;
}
#sponsorship .coursebox .cnt .subttl{
	font-size: 2.8rem;
	line-height: 1.57;
	color: #02a73b;
	text-align: center;
	position: relative;
}
#sponsorship .coursebox .cnt .subttl span{
	background: #f6fdda;
	padding: 0 15px;
	position: relative;
	z-index: 1;
}
#sponsorship .coursebox .cnt .subttl::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	transform: translateY(-50%);
	background: #02a73b;
}
#sponsorship .coursebox .cnt .subbox ul{
	margin-top: 10px;
}
#sponsorship .coursebox .cnt .subbox ul li{
	font-size: 1.6rem;
	line-height: 1.4;
	padding-left: 1em;
	position: relative;
}
#sponsorship .coursebox .cnt .subbox ul li+li{
	margin-top: 8px;
}
#sponsorship .coursebox .cnt .subbox ul li::before{
	content: '';
	position: absolute;
	top:7px;
	left: 0;
	width: 8px;
	height: 8px;
	background: #02a73b;
	border-radius: 50%;
}
#sponsorship .coursebox .cnt .btn{
	margin-top: 35px;
}
#sponsorship .coursebox .cnt .img_box {
	text-align: center;
	margin-top: 10px;
}


#sponsorship .coursebox.box1 .head .boxttl{
	color: #02a73b;
}
#sponsorship .coursebox.box2 .head .boxttl{
	color: #ff7a00;
}
#sponsorship .coursebox.box2 .pricearea{
	background: #ff7a00;
}
#sponsorship .coursebox.box2 .cnt .subbox{
	background: #fff5eb;
}
#sponsorship .coursebox.box2 .cnt .subttl{
	color: #ff7a00;
}
#sponsorship .coursebox.box2 .cnt .subttl span{
	background: #fff5eb;
}
#sponsorship .coursebox.box2 .cnt .subttl::before{
	background: #ff7a00;
}
#sponsorship .coursebox.box2 .cnt .subbox ul li::before{
	background: #ff7a00;
}
@media screen and (max-width: 768px) {
	#sponsorship{
		margin-top: 0;
		padding: 5% 0;
        background: -moz-linear-gradient(to bottom,#FFF,#e9edbb 10%,#e9edbb); 
        background: -webkit-linear-gradient(to bottom,#FFF,#e9edbb 10%,#e9edbb); 
        background: linear-gradient(to bottom,#FFF,#e9edbb 10%,#e9edbb); 
	}
	#sponsorship .ttl{
		height: auto;
		font-size: 5vw;
		line-height: 1.4;
		background-size: 100% 100%;
		padding: 4% 5% 5%;
	}
	#sponsorship .lead{
		font-size:4vw;
		text-align: justify;
		margin-top: 3%;
	}
	#sponsorship .lead br{
		display: none;
	}
	#sponsorship .course{
		display: block;
		margin: 20% 0 0;
	}
	#sponsorship .coursebox{
		width: 100%;
	}
    #sponsorship .coursebox.box1 .head .img_box{
        width: 80%;
        max-width: 260px;
        margin: 5% auto 0 auto;
    }
    
	#sponsorship .coursebox.box2{
		margin-top: 18%;
	}
	#sponsorship .coursebox .num{
		width: 40%;
		top: -4%;
	}
	#sponsorship .coursebox .head{
		padding: 5%;
	}
	#sponsorship .coursebox .head .boxttl{
		font-size: 6vw;
	}
	#sponsorship .coursebox .head .txt{
		font-size: 4.6vw;
		line-height: 1.6;
		margin: 0.5em 0 0;
	}
	#sponsorship .coursebox .pricearea .mark{
		width: 30%;
		right: 5%;
	}
	#sponsorship .coursebox .pricearea .price{
		font-size: 6vw;
		padding: 0 30% 0 0;
	}
	#sponsorship .coursebox .pricearea .price strong{
		font-size: 10vw;
	}
	#sponsorship .coursebox .cnt{
		padding: 10% 5%;
	}
	#sponsorship .coursebox .cnt .subbox:first-of-type{
		margin-top: 0;
	}
	#sponsorship .coursebox .cnt .subbox{
		min-height: inherit;
		padding: 5% 5% 8%;
	}
	#sponsorship .coursebox .cnt .subttl{
		font-size: 5vw;
	}
	#sponsorship .coursebox .cnt .subbox ul{
		margin: 2% 0 0;
	}
	#sponsorship .coursebox .cnt .subbox ul li{
		font-size:4vw;
	}
	#sponsorship .coursebox .cnt .btn{
		margin-top: 5%;
	}
	#sponsorship .coursebox .head .img_box{
		margin: 5% 0 0;
	}
	#sponsorship .coursebox.box2 .img_box{
		margin-top: 0;
	}
}

/* forexample
--------------------------------*/
#forexample{
    position: relative;
    z-index: 10;
	background: url(../img/forexample_bg_02.png) no-repeat center bottom;
	background-size: cover;
}
#forexample .content{ padding-bottom: 200px;}
#forexample .ttl{
	position: relative;
}

#forexample .ttl img {
	width: 100%;
	height: auto;
}

#forexample .ttl .txt {
	position: absolute;
	left: 0;
	top: 30%;
	font-size: 4.0rem;
	font-weight: bold;
	color: #0b3127;
	width: 100%;
	text-align: center;
}

#forexample .content {
	position: relative;
	z-index: -1;
}

#forexample .content .ttl_img {
	padding-bottom: 132px;
}

#forexample .content .list {
	display: flex;
	justify-content: space-between;
	padding-bottom: 20px;
}

#forexample .content .list .item {
	width: 231px;
	position: relative;
	box-shadow:4px 4px 4px -2px rgba(49,59,13,0.09);
}

#forexample .content .list .item .price {
	position: absolute;
	top: -98px;
	right: 0;
	left: 0;
	margin: 0 auto;
}

#forexample .content .list .item .txt_box {
	background-color: #fff;
	padding-top: 20px;
	position: relative;
	min-height: 272px;
	border-radius: 0 0 10px 10px;
}

#forexample .content .list .item .txt_box .sub_ttl {
	width: 241px;
	padding: 0 10px;
	font-size: 1.6rem;
	font-weight: bold;
	position: absolute;
	top: 20px;
	left: -5px;
	background-color: #fffbb1;
	text-align: center;
	box-shadow:4px 4px 4px -2px rgba(0,0,0,0.09);
}

#forexample .content .list .item .txt_box .sub_ttl .red {
	color: #fe0000;
	font-size: 2.3rem;
}

#forexample .content .list .item .txt_box .txt {
	padding-top: 50px;
	padding: 50px 20px 0;
	font-size: 1.65rem;
	font-weight: bold;
	line-height: 1.8;
}

#forexample .content .list .item .txt_box .txt .red {
	color: #ff0000;
}

.list_att {
	text-align: right;
	font-size: 1.4rem;
	color: #fff;
	padding-bottom: 30px;
}

#forexample h3{
    font-size: 3.7rem;
    font-weight: bold;
    color: #FFF;
    text-align: center;
    margin: 0 auto 60px auto;
    text-shadow: 2px 0 2px rgba(0,0,0,0.2);
    box-sizing: border-box;
}


#forexample .box{
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #FFF;
    padding: 27px 24px;
    border-radius: 10px;
    margin-bottom: 75px;
    box-sizing: border-box;
    z-index: 5;
}
#forexample .box:last-of-type{
    padding-top: 70px;
    margin-bottom: 0;
    flex-direction: row-reverse;
}
#forexample .box .box_icn{
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    top: -52px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    width: 165px;
    height: 165px;
    background: #FFF;
    box-sizing: border-box;
    z-index: -1;
}
#forexample .box .box_icn span{
    position: relative;
    top: -25px;
    z-index: 10;
}

#forexample .box .img{
    width: 29%;
    max-width: 282px;
}
#forexample .box .txt{
    width: 71%;
    padding-left: 65px;
    box-sizing: border-box;
}
#forexample .box:last-of-type .txt{
    padding-left: 0;
    padding-right: 65px;
}

#forexample .box h4{
    margin: 0 0 15px 0;
    font-size: 2.8rem;
    color: #88a12f;
}
#forexample .box:last-of-type h4{ margin: 0;}

#forexample .box p{
    font-size: 1.6rem;
    line-height: 1.6875;
}

#forexample .box dl+dl{ margin-top: 10px;}

#forexample .box dt{
    color: #02a73b;
    font-size: 1.6rem;
    line-height: 1.5;
}
#forexample .box dt:before{
    display: inline-block;
    vertical-align: middle;
    content: '●';
}
#forexample .box dd{
    padding-left: 1.5em;
    font-size: 1.6rem;
    line-height: 1.5;
    box-sizing: border-box;
}
#forexample p.lead{
    text-align: center;
    font-size: 4.0rem;
    margin: 40px 0 40px 0;
    color: #FFF;
}
#forexample .btn{
    max-width: 588px;
    margin: 0 auto;
}
#forexample .btntype1 .btnwrap{
    padding: 24px 15px;
    border-radius: 46px;
}
#forexample .btntype1 .btnwrap::before, #forexample .btntype1 .btnwrap::after{
    border-radius: 46px;
}
#forexample .btntype1::before{
    right: 34px;
}
#forexample .btntype1 .price{ margin-right: 15px;}

@media screen and (max-width: 768px) {
	#forexample .ttl{
		overflow: hidden;
		margin: 0 0 3%;
	}
	#forexample .ttl .txt{
		display: block;
		position: relative;
		top: auto;
		left: auto;
		font-size: 6vw;
		padding: 0 0 5%;
	}
	#forexample .ttl img{
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 1000%;
		height: 100%;
	}
	#forexample .content .ttl_img{
		padding-bottom: 10%;
	}
	#forexample .content .list{
		display: block;
		padding: 0 0 2%;
	}
	.list_att{
		font-size: 3.4vw;
		padding-bottom: 0;
	}
	#forexample .content .list .item{
		width: 100%;
	}
	#forexample .content .list .item+.item{
		margin-top: 8%;
	}
	#forexample .content .list .item .price{
		top: -5%;
		left: auto;
		right: 2%;
		width: 25%;
	}
	#forexample .content .list .item .txt_box{
		min-height: inherit;
		padding: 10% 0 5%;
	}
	#forexample .content .list .item .txt_box .sub_ttl{
		width: 70%;
		font-size:4vw;
	}
	#forexample .content .list .item .txt_box .sub_ttl .red {
		font-size: 5vw;
	}
	#forexample .content .list .item .txt_box .txt{
		font-size: 4.2vw;
		padding: 10vw 5% 0;
	}
	#forexample h3{
		font-size: 6.4vw;
		line-height: 1.6;
		margin: 5% auto 18%;
	}
	#forexample .box{
		display: block;
		margin-bottom: 20%;
		padding: 20% 5% 5%;
	}
	#forexample .box .img{
		width: 100%;
		max-width: inherit;
		margin: 0 0 5%;
	}
	#forexample .box .txt{
		width: 100%;
		padding: 0;
	}
	#forexample .box h4{
		font-size: 5.6vw;
        font-weight: 500;
		line-height: 1.6;
		margin: 0 0 0.5em;
	}
	#forexample .box p{
		font-size:4vw;
	}
	#forexample .box:last-of-type .txt{
		padding-right: 0;
	}
	#forexample .box:last-of-type h4{
		margin-bottom: 0.5em;
	}
	#forexample p.lead{
		font-size: 6.4vw;
		line-height: 1.6;
		margin: 10% 0 5%;
	}
	#forexample .btntype1 .btnwrap{
		font-size: 4vw;
		padding: 10px 15px;
	}
	#forexample .btntype1 .price{
		margin-right: 0.5em;
		padding: 7px 10px 6px;
	}
	#forexample .btntype1::before{
		right: 6%;
	}
	#forexample{
/*		z-index: 1;*/
        position: relative;
        background: #afc75b;
	}
    #forexample:after{
        position: absolute;
        bottom: -18vw;
        left: 0;
        display: block;
        content: '';
        background: url(../img/forexample_bg_02_sp.png) no-repeat center bottom;
        background-size: 100% auto;
        width: 100%;
        height: 36vw;
    }
    #forexample .content{ padding-bottom: 10%;z-index: 5;}
}

	
/* interview01
--------------------------------*/
#interview01{
    margin-top: -120px;
    padding-top: 140px;
    padding-bottom: 85px;
    position: relative;
    z-index: 1;
    background: url(../img/bg_mv_interview01.png) no-repeat center top;
    background-size: 100% auto;
    box-sizing: border-box;
	overflow: hidden;
}
#interview01 .bg {
	width: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	min-width: 1400px;
}
#interview01 .bg img {
	width: 100%;
}
#interview01 .mv_txt{
    position: relative;
    margin-bottom: 150px;
}
#interview01 .mv_txt p{
    text-align: right;
    color: #FFF;
    margin-top: 25px;
    font-size: 2.0rem;
    text-shadow: 0 0 9px rgba(0,0,0,0.79);
}

#interview01 .mv_txt h2.lead{
    position: relative;
    font-size: 3.8rem;
    line-height: 1;
    margin-top: 0;
    margin-bottom: 10px;
    color: #000;
    text-shadow: none;
    text-align: right;
}

#interview01 .mv_txt h2.lead span{
    display: inline-block;
    background: #FFF;
    padding: 12px 35px;
    box-sizing: border-box;
}

#interview01 .question_box{
    max-width: 840px;
    margin: 0 auto 50px auto;
    position: relative;
    background: url(../img/bg_box_quetion.png) no-repeat center top;
    background-size: cover;
    padding: 50px 54px 55px 54px;
    box-sizing: border-box;
}
#interview01 .question_box:before{
    position: absolute;
    right: -78px;
    top: -105px;
    display: block;
    content: '';
    background: url(../img/interview01_img_01.png) no-repeat center center;
    background-size: 100% auto;
    width: 262px;
    height: 202px;
}


#interview01 .question_box dl+dl{
    margin-top: 45px;
}
#interview01 .question_box dt{
    margin-bottom: 10px;
}
#interview01 .question_box dd{
    font-size: 1.7rem;
    line-height: 1.76;
    box-sizing: border-box;
}
#interview01 .question_box dl:not(:nth-of-type(2)) dd{ padding-right: 2px;}

#interview01 p.btm_txt{
    text-align: center;
    font-size: 4.0rem;
}
#interview01 p.lead02{
    margin: 30px auto;
    text-align: center;
    color: #88a12f;
    font-size: 3.7rem;
    font-weight: 700;
    line-height: 1.3;
}
#interview01 p.lead02 span{
    position: relative;
    display: inline-block;
    padding: 0 40px;
    box-sizing: border-box;
    
}

#interview01 p.lead02 span:before,
#interview01 p.lead02 span:after{
    position: absolute;
    bottom: 0;
    display: block;
    content: '';
    width: 2px;
    height: 90px;
    background: #88a12f;

}
#interview01 p.lead02 span:before{
    left: 0;
    transform: rotate(-30deg);
}
#interview01 p.lead02 span:after{
    right: 0;
    transform: rotate(30deg);
}


#interview01 .check_box{
    position: relative;
    max-width: 492px;
    background: #FFF;
    padding: 35px 32px;
    border-radius: 10px;
    box-shadow: 0 0 10px 3px rgba(49,59,13,0.18);
    box-sizing: border-box;
}
#interview01 .check_box:before{
    position: absolute;
    display: block;
    right: -327px;
    top: -20px;
    content: '';
    background: url(../img/interview01_img_02.png) no-repeat center center;
    background-size: 100% auto;
    width: 425px;
    height: 321px;
}


#interview01 .check_box li{
    position: relative;
    font-size: 2.0rem;
    padding-left: 38px;
    box-sizing: border-box;
}
#interview01 .check_box li+li{ margin-top: 15px;}

#interview01 .check_box li:before{
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    vertical-align: top;
    content: '';
    background: url(../img/icn_check.png) no-repeat center center;
    background-size: 100% auto;
    width: 30px;
    height: 30px;
}

@media screen and (max-width: 768px) {
	#interview01{
        background:url(../img/bg_mv_interview01_sp.jpg) no-repeat;
		background-size: 100% auto;
		background-position: 50% 12vw;
		padding-top: 41vw;
        padding-bottom: 10%;
	}
	#interview01 .mv_txt h2.lead{
		font-size: 5vw;
	}
	#interview01 .mv_txt h2.lead span{
		padding: 0.5em 1em;
	}
	#interview01 .mv_txt p{
		width: 60%;
		font-size:3.8vw;
		margin: 5% 0 0 auto;
	}
	#interview01 .mv_txt p br{
		display: none;
	}
	#interview01 .mv_txt{
		margin-bottom: 20%;
	}
	#interview01 .question_box{
		max-width: inherit;
		padding: 8% 5%;
        margin-bottom: 8%;
	}
	#interview01 .question_box:before{
		width: 36%;
		height: 0;
		right: 0;
		top: -3%;
		padding-top: 30%;
	}
	#interview01 .question_box dt{
		margin-bottom: 3%;
	}
	#interview01 .question_box dt img{
		width: auto;
		height: 10vw;
	}
	#interview01 .question_box dd{
		font-size:4vw;
	}
	#interview01 .question_box dl+dl{
		margin-top: 7%;
	}

    #interview01 p.btm_txt{
        font-size: 7.6vw;
    }
    #interview01 p.lead02{
        margin: 4.7% auto;
        font-size: 5.4vw;
    }
    #interview01 p.lead02 span{
        padding: 0 6vw;

    }

    #interview01 p.lead02 span:before,
    #interview01 p.lead02 span:after{
        height: 14vw;
    }

    #interview01 .check_box{
        max-width: inherit;
        padding: 6% 5%;
        box-shadow: 0 0 7px 3px rgba(49,59,13,0.18);
    }
    #interview01 .check_box:before{
        position: absolute;
        display: block;
        right:-8%;
        top: -30px;
        content: '';
        width: 280px;
        height: 222px;
    }


}
@media screen and (max-width: 414px) {
	#interview01{
		background-position: 50% 27vw;
		padding-top: 52vw;
	}
    #interview01 .check_box{
        max-width: inherit;
        padding: 6vw 5% 6% 5%;
        box-shadow: 0 0 7px 3px rgba(49,59,13,0.18);
    }
    #interview01 .check_box:before{
        top: -10px;
        width: 142px;
        height: 110px;
    }
    #interview01 .check_box li{
        font-size:3.4vw;
        padding-left: 20px;
    }
    #interview01 .check_box li:before{
        top: 2px;
        width: 18px;
        height: 18px;
    }

}


@media screen and (max-width: 360px) {
	#interview01{
		background-position: 50% 33vw;
		padding-top: 57vw;
	}

    #interview01 .check_box:before{
        top: -10px;
        width: 118px;
        height: 94px;
    }
}


/* ---------------------------------------------
  interview02
-----------------------------------------------*/
#interview02{
    position: relative;
    background: url(../img/bg01_interview02.png),#fff8cb;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto,100%;
    padding-bottom: 85px;
    box-sizing: border-box;
    box-shadow: 0 20px 23px -11px #7e9431;
    z-index: 10;
}

#interview02 .ttl{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 144px;
    margin-bottom: 55px;
    box-shadow: 0 3px 6px 0 rgba(98,98,98,0.3);
    position: relative;
    background: url(../img/bg_ttl_fukidashi.png),rgba(98,98,98,0.2);
    background-repeat: repeat-x;
    background-position: left top;
    background-size: auto 100%,100%;
}
#interview02 .ttl:after{
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -32px;
    margin: 0 auto;
    content: '';
    background: url(../img/arrow_ttl_fukidashi.png) no-repeat center center;
    background-size: 100% auto;
    width: 88px;
    height: 34px;
}

#interview02 .ttl h2{
    text-align: center;
    color: #FFF;
    font-weight: bold;
    font-size: 4.6rem;
}

#interview02 .course_box.course02{ margin-top: 50px;}

#interview02 .sub_ttl{
    position: relative;
    margin: 0 auto;
    background: #02a73b;
    border-radius: 100%;
    width: 300px;
    height: 300px;
    padding-top: 42px;
    box-sizing: border-box;
    z-index: 5;
}
#interview02 .sub_ttl span{
    display: block;
    text-align: center;
    color: #FFF;
    font-size: 2.1rem;
    font-weight: bold;
    line-height: 1.3;
}

#interview02 .course_box .box_in{
    max-width: 986px;
    margin: -155px auto 0 auto;
    padding: 15px 58px 30px 90px;
    position: relative;
    z-index: 10;
    background: url(../img/bg02_interview02.png) repeat-y center top;
    background-size: 100% auto;
    
}
#interview02 .course_box .box_in:before,
#interview02 .course_box .box_in:after{
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    display: block;
    content: '';
    width: 100%;
    background-size: 100% auto !important;
}

#interview02 .course_box .box_in:before{
    background: url(../img/bg02_top_interview02.png) no-repeat center top;
    height: 35px;
    top: -35px;
}
#interview02 .course_box .box_in:after{
    background: url(../img/bg02_btm_interview02.png) no-repeat center top;
    height: 14px;
    bottom: -14px;
}

#interview02 .course_box .box_in .topic{
    position: relative;
    margin-bottom: 35px;
}
#interview02 .course_box .box_in .topic:last-of-type{ margin-bottom: 0;}

#interview02 .course_box .box_in .topic .txt{
    position: relative;
    max-width: 624px;
    background: url(../img/bg_txt_interview02.png) no-repeat left top;
    box-shadow: 7px 7px 9px 0 rgba(0,0,0,0.07);
    padding: 35px 116px 18px 40px;
    box-sizing: border-box;
}
#interview02 .course_box .box_in .topic .txt .txt_in{}
#interview02 .course_box .box_in .topic .txt .txt_in h3{
    margin-bottom: 30px;
}
#interview02 .course_box .box_in .topic .txt .txt_in p{
    font-size: 1.7rem;
    line-height: 1.8;
}
#interview02 .course_box .box_in .topic .txt .txt_in p.name{ margin-top: 10px; text-align: right;}

#interview02 .course_box .box_in .topic .img{
    position: absolute;
    top: 0;
    right:-20px;
}
#interview02 .course_box.course02 .box_in .topic .img{ right: 10px;}

#interview02 .course_box .box_in .topic .img p{
    text-align: center;
    font-size: 1.7rem;
    padding-left: 30px;
    box-sizing: border-box;
}
#interview02 .course_box.course02 .box_in .topic .img p{ padding-left: 70px;}

#interview02 .course_box .box_in .question_box dl+dl{
    margin-top: 50px;
}
#interview02 .course_box .box_in .question_box dt{
    margin-bottom: 15px;
}
#interview02 .course_box .box_in .question_box dd{
    font-size: 1.7rem;
    line-height: 1.8;
}
#interview02  .cf{ margin-top: 35px;}
#interview02  .fR{
    float: right;
    margin-top: -58px;
    margin-left: 45px;
}

#interview02 .course_box.course02 .topic:last-of-type p{
    font-size: 1.7rem;
    line-height: 1.8;
}
#interview02 .course_box.course02 .topic:last-of-type p+p{ margin-top: 30px;}

@media screen and (max-width: 768px) {
    #interview02{
        padding-bottom: 10%;
        box-shadow: 0 10px 20px -11px #7e9431;
    }

    #interview02 .ttl{
        margin-bottom:8.5%;
        box-shadow: 0 3px 6px 0 rgba(98,98,98,0.3);
        padding: 5vw 0 5vw;
        height: auto;
        box-sizing: border-box;
    }
    #interview02 .ttl:after{
        bottom: -24px;
        width: 68px;
        height: 26px;
    }

    #interview02 .ttl h2{
        font-size:6.2vw;
    }

    #interview02 .course_box.course02{ margin-top: 7.8%;}

    #interview02 .sub_ttl{
        width: 60vw;
        height: 60vw;
        padding-top: 6vw;
    }
    #interview02 .sub_ttl span{
        font-size: 4vw;
    }

    #interview02 .course_box .box_in{
        max-width: inherit;
        margin: -38vw auto 0 auto;
        padding: 15px 8% 6% 12%;
      background-image: url(../img/bg02_interview02_sp.png) ;
  }
    #interview02 .course_box .box_in:before{
        height: 9px;
        top: -9px;
      background-image: url(../img/bg02_top_interview02_sp.png) ;
    }
    #interview02 .course_box .box_in:after{
        height: 14px;
        bottom: -14px;
      background-image: url(../img/bg02_btm_interview02_sp.png) ;
    }

    #interview02 .course_box .box_in .topic{
        position: relative;
        margin-bottom: 8%;
    }
    #interview02 .course_box .box_in .topic .txt{
        max-width: inherit;
        box-shadow: 5px 5px 7px 0 rgba(0,0,0,0.07);
        padding: 10% 8%;
      background-size: cover;
    }
    #interview02 .course_box .box_in .topic .txt .txt_in h3{
        margin-bottom: 4.7%;
    }
    #interview02 .course_box .box_in .topic .txt .txt_in p{
        font-size: 4vw;
    }
    #interview02 .course_box .box_in .topic .txt .txt_in p.name{
        margin-top: 10px;
        text-align: right;
        /*display: flex;*/
        /*justify-content: flex-end;*/
    }
    #interview02 .course_box.course01 .box_in .topic .txt .txt_in p.name img{
        display: inline-block;
        width: 80%;
        max-width: 232px;
				height: auto;
    }
    #interview02 .course_box.course02 .box_in .topic .txt .txt_in p.name img{
        display: inline-block;
        width: 80%;
        max-width: 236px;
				height: auto;
    }

    #interview02 .course_box .box_in .topic .img{
        position: relative;
        width: 70%;
        margin: 4% auto 5% auto;
        top: 0;
        right:0;
    }
    #interview02 .course_box.course02 .box_in .topic .img{ right: 0;}

    #interview02 .course_box .box_in .topic .img p{
        font-size: 3.4vw;
        padding-left: 0;
    }
    #interview02 .course_box.course02 .box_in .topic .img p{ padding-left: 0;}

    #interview02 .course_box .box_in .question_box dl+dl{
        margin-top: 7.8%;
    }

  #interview02 .course_box .box_in .question_box dt img{
    height: 20vw;
    width: auto;
  }
    #interview02 .course_box .box_in .question_box dd{
        font-size: 4vw;
    }
    #interview02  .cf{ margin-top: 5.4%;}
    #interview02  .fR{
        float: none;
        margin: 4% auto;
    }

    #interview02 .course_box.course02 .topic:last-of-type p{
        font-size:4vw;
    }
    #interview02 .course_box.course02 .topic:last-of-type p+p{ margin-top: 4.6%;}

}


/* ---------------------------------------------
  cta
-----------------------------------------------*/
#cta{
    position: relative;
    background: url(../img/bg_cta.png) no-repeat center bottom;
    background-size: cover;
    padding: 70px 0 140px 0;
    box-sizing: border-box;
    z-index: 5;
}

#cta h2{
    text-align: center;
    font-size: 4.0rem;
    color: #FFF;
    line-height: 1.5;
    margin-bottom: 35px;
}


#cta .btn{
    max-width: 588px;
    margin: 0 auto;
}
#cta .btntype1 .btnwrap{
    padding: 24px 15px;
    border-radius: 46px;
}
#cta .btntype1 .btnwrap::before, #forexample .btntype1 .btnwrap::after{
    border-radius: 46px;
}
#cta .btntype1::before{
    right: 34px;
}
#cta .btntype1 .price{ margin-right: 15px;}

@media screen and (max-width: 768px) {
    #cta{
        padding: 10% 0 21% 0;
    }

    #cta h2{
        font-size: 6vw;
        margin-bottom: 5.4%;
    }

    #cta .btn{
        width: 94%;
        margin: 0 auto;
        text-align: left;
        margin-bottom: 0;
    }
    #cta .btntype1 .btnwrap{
        padding: 10px 15px;
        font-size: 4vw;
    }

    #cta .btntype1::before{
        right: 6%;
    }
    #cta .btntype1 .price{
        margin-left: 0;
        margin-right: 0.5em;
		padding: 7px 10px 6px;
    }



}


/* ---------------------------------------------
  about_gnjp
-----------------------------------------------*/
#about{
    position: relative;
    margin-top: -60px;
    padding: 100px 0 80px 0;

    box-sizing: border-box;
    z-index: 1;
}

#about .bg{
    background: url(../img/bg_about.jpg) no-repeat center top;
    background-size: 100% 100%;
}

#about .ttl{
    margin-bottom: 45px;
	font-size: 3.2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../img/about_ttl.png) no-repeat center center;
	height: 142px;
}

#about .slider{
	margin: 25px 0 65px;
}
#about .slider div{
	line-height: 1;
}
#about .slider .slide{
	padding: 0 5px;
}
#about .slider img{
	width: 100%;
}
#about .slider .slick-slide:not(.slick-active) img{
	opacity: .67;
}

#about .red{
	color: #ff0000;
}
#about .strong{
	font-weight: bold;
}

#about .box_wrap{
    margin-top: 70px;
    padding: 66px 35px 100px 35px;
    background: #FFF;
    border-radius: 10px;
    box-shadow: 0 0 10px 3px rgba(49,59,13,0.18);
    box-sizing: border-box;
}
#about .box_wrap .topic:first-of-type{
    padding: 0 63px;
    box-sizing: border-box;
}

#about .box_wrap p{
    font-size: 1.7rem;
    line-height: 2;
}
#about .box_wrap p+p{ margin-top: 35px;}

#about .box_wrap .topic:first-of-type p{

    text-align: center;
}

#about .img_topic{
    margin: 35px auto 60px auto;
    text-align: center;
}
#about .topic.t-02{
    max-width: 900px;
    margin: 0 auto;
    box-sizing: border-box;
}

#about .box_wrap h3{
    font-size: 2.3rem;
    font-weight: 600;
    text-align: center;
    background: #f7fcd8;
    border-left: 6px solid #88a12f;
    border-right: 6px solid #88a12f;
    padding: 9px 0 8px 0;
    margin-bottom: 28px;
    box-sizing: border-box;
}
#about .percentage_wrap h3{ margin-bottom: 20px;}

#about .percentage_wrap {
    position: relative;
    padding-bottom: 18px;
    margin-bottom: 48px;
    box-sizing: border-box;
}
#about .percentage_wrap .img{
    position: relative;
    z-index: 5;
    text-align: center;
}
#about .percentage_wrap .content{
    display: inline-block;
    position: absolute;
    bottom: 0;
    z-index: 1;
    background: #f7fcd8;
    padding: 45px 25px 20px 25px;
    box-sizing: border-box;
}

#about .percentage_wrap .content.box01{
    left: 0;
}
#about .percentage_wrap .content.box02{
    right: 35px;
}
#about .percentage_wrap ul li{
    font-size: 1.7rem;
    line-height: 1.5;
    text-indent: -0.5em;
    padding-left: 1.0em;
    box-sizing: border-box;
}
#about .percentage_wrap ul li+li{ margin-top: 5px;}

#about .percentage_wrap .box02 ul li+li{ margin-top: 0px;}

#about .percentage_wrap ul li:before{
    position: relative;
    top: 5.5px;
    content: '●';
    font-size: 1.0rem;
    display: inline-block;
    vertical-align: top;
    color: #72bb2a;
    margin-right: 6px;
}

#about .topic_in{
    display: flex;
    justify-content: space-between;
}
#about .topic_in .box{
    width: 46%;
    max-width: 413px;
}
#about .topic_in .box .img{text-align: center;}
#about .topic_in .box p,
#about .topic_in .box .img{
    margin: 0 10px;
}
#about .topic_in .box:first-of-type .img img{
    box-shadow: 0 0 10px -2px rgba(126,148,49,0.4);
    box-sizing: border-box;
}
#about .topic_in .box:last-of-type h3:last-of-type{ margin-top: 35px;}
#about .topic_in .box:last-of-type p:last-of-type{
    margin: 0 0 0 4px;
    font-size: 1.65rem;
    letter-spacing: -0.03em;
    margin-bottom: 5px;
}

#about .box_wrap02{
    margin-top: 70px;
}

#about .box_wrap02 h3{
    text-align: center;
    font-size: 4.0rem;
    line-height: 1.65;
    margin-bottom: 40px;
}
#about .box_wrap02 .topic{
    position: relative;
    display: flex;
    justify-content: flex-end;
}
#about .box_wrap02 .topic .img{
    position: absolute;
    left: 0;
    top: 72px;
    z-index: 5;
}
#about .box_wrap02 .topic .box{
    position: relative;
    max-width: 782px;
    background: url(../img/bg_box_about.png) no-repeat center top;
    background-size: 100% 100%;
    z-index: 1;
    padding: 75px 35px 57px 175px;
    box-sizing: border-box;
}

#about .box_wrap02 .topic .box p{
    font-size: 1.7rem;
    line-height: 2;
    padding-right: 20px;
    box-sizing: border-box;
}
#about .box_wrap02 .topic .box p+p{ margin-top: 30px;}


#about .box_wrap02 .topic .box p.name{
    text-align: right;
    margin-top: 20px;
    padding-right: 0;
}

#about .box_wrap02 .topic .box:before,
#about .box_wrap02 .topic .box:after{
    display: block;
    content: '';
    position: absolute;
    background-size: 100% auto;
}

#about .box_wrap02 .topic .box:before{
    right: -32px;
    top: -114px;
    background: url(../img/about_box_img01.png) no-repeat center center;
    width: 174px;
    height: 200px;
}
#about .box_wrap02 .topic .box:after{
    left: -63px;
    bottom: 50px;
    background: url(../img/about_box_img02.png) no-repeat center center;
    width: 204px;
    height: 252px;
}


@media screen and (max-width: 768px) {
    #about{
        position: relative;
        margin-top: -23vw;
        padding: 32vw 0 12.5% 0;
    }
    #about .ttl{
        width: 94%;
        margin: 0 auto 7% auto;
        font-size: 4.8vw;
        line-height: 1.3;
        display: block;
        text-align: center;
        background: url(../img/deduction_ttl.png) no-repeat center center;
        background-size: 100% auto;
        padding: 5vw 0 6vw;
        height: auto;
    }

    #about .slider{
        margin: 5% 0 10%;
    }

    #about .box_wrap{
        margin-top: 8%;
        padding: 10% 5% 15% 5%;
        box-shadow: 0 0 7px 3px rgba(49,59,13,0.18);
    }
    #about .box_wrap .topic:first-of-type{
        padding: 0;
        box-sizing: border-box;
    }

    #about .box_wrap p{
        font-size:4vw;
    }
    #about .box_wrap p+p{ margin-top: 5.4%;}

    #about .box_wrap .topic:first-of-type p{
        text-align: left;
    }

    #about .img_topic{
        margin: 5.4% auto 9% auto;
    }
    #about .topic.t-02{
        max-width: 100%;
    }

    #about .box_wrap h3{
        font-size: 5vw;
			line-height: 1.4;
        border-left: 4px solid #88a12f;
        border-right: 4px solid #88a12f;
        padding: 9px 0 8px 0;
        margin-bottom: 5%;
    }
    #about .percentage_wrap h3{ margin-bottom: 5%;}

    #about .percentage_wrap {
        padding-bottom: 15px;
        margin-bottom: 7.5%;
    }
    #about .percentage_wrap .img{
        position: relative;
        z-index: 5;
        text-align: center;
    }
  #about .percentage_wrap .img img {
    margin: 0 auto;
    width: 60%;
  }
    #about .percentage_wrap .content_wrap {
      display: flex;
      padding-top: 23vw;
    }
    #about .percentage_wrap .content{
        display: block;
        position: relative;
        padding: 10% 3% 6%;
        box-sizing: border-box;
    }

  #about .percentage_wrap .content img {
    width: 24vw;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%,-80%);
  }

    #about .percentage_wrap .content.box01{
      margin: 0 3% 0 0;
      flex-basis: 60%;
    }
    #about .percentage_wrap .content.box02{
        right: 0;
      flex-basis: 40%;
    }
    #about .percentage_wrap ul li{
        font-size: 3vw;
			padding-left: 2em;
			text-indent: -1em;
    }
  #about .percentage_wrap ul li:before {
    top: 0;
  }

    #about .topic_in{
        display: block;
    }
    #about .topic_in .box{
        width: 100%;
        max-width: inherit;
        margin-bottom: 8%;
    }
    #about .topic_in .box:last-of-type{ margin-bottom: 0;}

    #about .topic_in .box:first-of-type .img img{
        box-shadow: 0 0 7px -2px rgba(126,148,49,0.4);
    }
    #about .topic_in .box:last-of-type h3:last-of-type{ margin-top: 5.4%;}
    #about .topic_in .box:last-of-type p:last-of-type{
        margin: 0 10px;
        font-size: 3.7vw;
        letter-spacing: 0;
    }

    #about .box_wrap02{
        margin-top: 11%;
    }

    #about .box_wrap02 h3{
        font-size: 7vw;
        margin-bottom: 6.25%;
    }
    #about .box_wrap02 .topic{
        display: block;
    }
    #about .box_wrap02 .topic .img{
        width: 80%;
        margin: 0 auto 4% auto;
        position: relative;
        left: 0;
        top: 0;
    }
    #about .box_wrap02 .topic .box{
        max-width: inherit;
        z-index: 1;
        padding: 12% 6% 18% 6%;
    }

    #about .box_wrap02 .topic .box p{
        font-size:4vw;
        padding-right: 0;
    }
    #about .box_wrap02 .topic .box p+p{ margin-top: 5%;}


    #about .box_wrap02 .topic .box p.name{
        text-align: right;
        margin-top: 5%;
        padding-right: 0;
    }
    #about .box_wrap02 .topic .box p.name img{
        display: inline-block;
        width: 70%;
        max-width: 368px;
			height: auto;
    }

    #about .box_wrap02 .topic .box:before{
        right: -3%;
        top: -38px;
        background-size: 100% auto;
        width: 80px;
        height: 110px;
    }
    #about .box_wrap02 .topic .box:after{
        left: -4%;
        bottom: -30px;
        background-size: 100% auto;
        width: 100px;
        height: 128px;
    }

}


/* ---------------------------------------------
  flow_application
-----------------------------------------------*/
#flow_application .ttl{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 144px;
    box-shadow: 0 3px 6px 0 rgba(98,98,98,0.3);
    position: relative;
    background: url(../img/bg_ttl_fukidashi.png),rgba(98,98,98,0.2);
    background-repeat: repeat-x;
    background-position: left top;
    background-size: auto 100%,100%;
}
#flow_application .ttl:after{
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -32px;
    margin: 0 auto;
    content: '';
    background: url(../img/arrow_ttl_fukidashi.png) no-repeat center center;
    background-size: 100% auto;
    width: 88px;
    height: 34px;
    z-index: 10;
}

#flow_application .ttl h2{
    text-align: center;
    color: #FFF;
    font-weight: bold;
    font-size: 4.6rem;
}
#flow_application .bgCol{
    position: relative;
    z-index: 5;
    background: #f8f8f8;
    padding-top: 70px;
    padding-bottom: 50px;
    box-shadow: 0 5px 10px 3px rgba(106,106,106,0.3);
    box-sizing: border-box;
}
#flow_application .bgCol .wrap{
    width: 900px;
}

#flow_application .box{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 30px 32px;
    margin-bottom: 85px;
    background: #FFF;
    border-radius: 10px;
    box-shadow: 0 0 10px 3px rgba(49,59,13,0.18);
    box-sizing: border-box;
}


#flow_application .box .box_in{
    position: relative;
    box-sizing: border-box;
}
#flow_application .box .box_in:nth-of-type(1){ width: 400px;}

#flow_application .box .box_in:nth-of-type(2),
#flow_application .box .box_in:nth-of-type(3){ width: 24%;}

#flow_application .box .box_in:not(:last-of-type){ padding-right: 22px;}
#flow_application .box .box_in:not(:last-of-type):after{
    position: absolute;
    margin: auto 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: block;
    content: '';
    width: 1px;
    height: 135px;
    background: #c6c6c6;
}
#flow_application .box .box_in h3{
    margin-bottom: 14px;
    font-size: 2.0rem;
    background: #f7fcd8;
    text-align: center;
    padding: 5px 24px;
    border-radius: 10px;
    box-sizing: border-box;
}

#flow_application .box .box_in:nth-of-type(1) p{
    font-size: 1.8rem;
    line-height: 1.38;
    text-align: center;
    margin-top: 17px;
}
#flow_application .box .box_in:nth-of-type(3) p{
    font-size: 3.0rem;
    font-weight: bold;
    line-height: 1.16;
    text-align: center;
    color: #88a12f;
}
#flow_application .box .box_in .img{ text-align: center;}


#flow_application .box .btntype1 .btnwrap{ font-size: 2.6rem; text-align: left;}
#flow_application .box .btntype1::before{ right: 20px;}
#flow_application .box .btntype1 .price{ margin-right: 20px;}

#flow_application .course_box{
    position: relative;
    background: #FFF;
    border-radius: 10px;
    padding: 50px 0 45px 0;
    box-shadow: 0 0 10px 3px rgba(49,59,13,0.18);
    box-sizing: border-box;
}
#flow_application .course_box.course02{ margin-top: 92px; padding-bottom: 50px;}

#flow_application .course_box:before{
    position: absolute;
    left: 0;
    right: 0;
    top: -68px;
    display: block;
    content: '';
    margin: 0 auto;
    background-size: 100% auto;
    width: 173px;
    height: 155px;
}

#flow_application .course_box.course01:before{ background: url(../img/select_course_num01.png) no-repeat center center;}
#flow_application .course_box.course02:before{ background: url(../img/select_course_num02.png) no-repeat center center;}

#flow_application .course_box h3{
    font-size: 2.8rem;
    color: #FFF;
    padding: 20px 0;
    box-sizing: border-box;
}
#flow_application .course_box.course01 h3{
    background: #02a73b;
    padding-left: 90px;
    margin-bottom: 30px;
}
#flow_application .course_box.course02 h3{
    text-align: center;
    background: #ff7a00;
    margin-bottom: 25px;
}

#flow_application .course_box p,
#flow_application .course_box dd{
    font-size: 2.2rem;
    line-height: 1.5;
}
#flow_application .course_box p{text-align: center;}
#flow_application .course_box .dl_box{
    position: relative;
    margin: 0 30px 50px 30px;
    border-radius: 10px;
    background: #fff5eb;
    padding: 22px 30px;
    box-sizing: border-box;
}

#flow_application .course_box .dl_box:after{
    position: absolute;
    margin: 0 auto;
    left: 214px;
    bottom: -34px;
    display: block;
    content: '';
    background: url(../img/arrow_down.png) no-repeat center center;
    width: 96px;
    height: 24px;
}
#flow_application .course_box .dl_box:last-of-type{ margin-bottom: 0;}
#flow_application .course_box .dl_box:last-of-type:after{ display: none;}

#flow_application .course_box dt{
    font-size: 2.8rem;
    color: #ff7a00;
    margin-bottom: 8px;
}

#flow_application .course_box.course01 .box_in{
    display: flex;
    justify-content: flex-end;
    flex-direction: row-reverse;
}
#flow_application .course_box.course01 .box_in .txt{
    width: 412px;
    margin-left: 70px;
}
#flow_application .course_box .btn{ margin-top: 30px;}

#flow_application .course_box.course01 .box_in .img{
    position: absolute;
    right: 25px;
    top: 8px;
}
#flow_application .course_box.course02 .box_in .img{
    position: absolute;
    right: -10px;
    top:150px;
    z-index: 10;
}

#flow_application .course_box.course02 .btn{
    width: 404px;
    margin: 30px auto 0 auto;
}

#flow_application .bg02{
    position: relative;
    z-index: 1;
    background: url(../img/bg_newsletter.png) no-repeat center bottom;
    background-size: cover;
    padding: 46px 0 163px 0;
    box-sizing: border-box;
}

#flow_application .bg02 .ttl{
    margin-bottom: 12px;
	font-size: 3.2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../img/newsletter_ttl.png) no-repeat center center;
	height: 142px;
    box-shadow: none;
}
#flow_application .bg02 .ttl:after{ display: none;}

#flow_application .bg02 .wrap{position: relative;}
#flow_application .bg02 .wrap_in{
    width: 720px;
    text-align: center;
}
#flow_application .bg02 .wrap_in p{
    text-align: center;
    font-size: 1.7rem;
    line-height: 1.8;
    margin-bottom: 15px;
}

#flow_application .bg02 .img02{
    position: absolute;
    right: -28px;
    top: 68px;
}

@media screen and (max-width: 768px) {
    #flow_application .ttl{
        padding: 5vw 0 5vw;
        height: auto;
        box-sizing: border-box;
    }
    #flow_application .ttl:after{
        bottom: -25px;
        width: 68px;
        height: 26px;
    }

    #flow_application .ttl h2{
        font-size:7vw;
    }
    #flow_application .bgCol{
        padding-top: 14%;
        padding-bottom: 7.8%;
    }
    #flow_application .bgCol .wrap{
        width: 94%;
    }

    #flow_application .box{
        display: block;
        padding: 5% 3%;
        margin-bottom: 18%;
        box-shadow: 0 0 5px 3px rgba(49,59,13,0.18);
    }


    #flow_application .box .box_in{
        position: relative;
        box-sizing: border-box;
    }
    #flow_application .box .box_in:nth-of-type(1){ width: 100%;}

    #flow_application .box .box_in:nth-of-type(2),
    #flow_application .box .box_in:nth-of-type(3){ width: 100%; margin-top: 6%;}

    #flow_application .box .box_in:not(:last-of-type){ padding-bottom: 6%; padding-right: 0;}
    #flow_application .box .box_in:not(:last-of-type):after{
        margin: 0 auto;
        right: 0;
        left: 0;
        top: auto;
        bottom: 0;
        width: 94%;
        height: 1px;
    }
    #flow_application .box .box_in h3{
        margin-bottom: 15px;
        font-size:6vw;
        padding: 3px 5%;
    }
    #flow_application .box .box_in .img{
        max-width: 110px;
        margin: 0 auto;
    }

    #flow_application .box .box_in:nth-of-type(1) p{
        font-size:4vw;
        margin-top: 5%;
    }
    #flow_application .box .box_in:nth-of-type(3) p{
        font-size: 10vw;
    }

    #flow_application .box .btntype1 .btnwrap{
        padding: 10px 15px;
        font-size: 5vw;
    }
    #flow_application .box .btntype1::before{ right: 6%;}
    #flow_application .box .btntype1 .price{ margin-right: 1.8em;}

    #flow_application .course_box{
        padding: 7.8% 0 7% 0;
        box-shadow: 0 0 7px 3px rgba(49,59,13,0.18);
    }
    #flow_application .course_box.course02{ margin-top: 18%; padding-bottom: 7.8%;}

    #flow_application .course_box:before{
        background-size: 100% auto !important;
        top: -10vw;
        width: 28vw;
        height: 24vw;
    }
    #flow_application .course_box h3{
        font-size: 6.5vw;
        padding: 4vw 0;
    }
    #flow_application .course_box.course01 h3{
        padding: 4vw 4%;
        text-align: center;
        margin-bottom: 4.7%;
    }
    #flow_application .course_box.course02 h3{
        margin-bottom: 5%;
    }

    #flow_application .course_box p,
    #flow_application .course_box dd{
        font-size:4vw;
    }
    #flow_application .course_box p{text-align: left; padding: 0 4%; box-sizing: border-box;}
    #flow_application .course_box .dl_box{
        position: relative;
        margin: 0 4% 38px 4%;
        padding: 5% 3%;
    }

    #flow_application .course_box .dl_box:after{
        position: absolute;
        margin: 0 auto;
        left: 0;
        right: 0;
        bottom: -32px;
        width: 100%;
        height: 24px;
    }

    #flow_application .course_box dt{
        font-size: 6vw;
        line-height: 1.3;
    }

    #flow_application .course_box.course01 .box_in{
        display: block;
    }
    #flow_application .course_box.course01 .box_in .txt{
        width: 100%;
        margin: 0 auto;
    }
    #flow_application .course_box .btn{ margin-top: 4.7%;}

    #flow_application .course_box.course01 .box_in .img{
        width: 80%;
        position: relative;
        right: auto;
        top: auto;
        margin: 0 auto 4% auto;
        text-align: center;
    }
    #flow_application .course_box.course02 .box_in .img{
        position: relative;
        right: auto;
        top:auto;
        width: 80%;
        margin: 4% auto 0 auto;
        text-align: center;
    }

    #flow_application .course_box.course02 .btn{
        width: 100%;
        margin: 4.6% auto 0 auto;
    }

    #flow_application .bg02{
        background-size: cover;
        padding: 7% 0 16% 0;
        box-sizing: border-box;
    }

    #flow_application .bg02 .ttl{
        font-size: 4.8vw;
        text-align: center;
        display: block;
        height: auto;
        line-height: 1.3;
        background: url(../img/deduction_ttl.png) no-repeat center center;
        background-size: 100% auto;
        padding: 5vw 0 6vw;
        margin-bottom: 0;
    }

    #flow_application .bg02 .wrap_in{
        width: 98%;
        text-align: center;
        margin: 0 auto;
    }
    #flow_application .bg02 .wrap_in p{
        text-align: center;
        font-size:4vw;
    }

    #flow_application .bg02 .img02{
        position: relative;
        right: 0;
        left: 0;
        margin: 4% auto 0 auto;
        top: 0;
    }

}


/* ---------------------------------------------
  qa
-----------------------------------------------*/
#qa{
    margin-top: -157px;
    padding: 192px 0 75px 0;
    background: #f8f8f8;
    box-sizing: border-box;
}

#qa .ttl{
	font-size: 3.2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../img/qa_ttl.png) no-repeat center center;
	height: 142px;
}

#qa p.lead{
    text-align: center;
    font-size: 2.1rem;
    margin-bottom: 50px;
}

#qa .wrap{
    width: 920px;
}
#qa .box{
    margin-bottom: 10px;
    background: #FFF;
    box-shadow: 0 0 7px 0 rgba(49,59,13,0.18);
    border-radius: 10px;
}
#qa .box:last-of-type{ margin-bottom: 0;}


#qa .box .accordion1{
    position: relative;
    padding: 35px 57px 20px 42px;
    box-sizing: border-box;
    cursor: pointer;
}
#qa .box .accordion1::before,
#qa .box .accordion1::after{
    position: absolute;
    right: 58px;
    top: 40px;
    display: block;
    content: '';
}
#qa .box .accordion1::before{
    width: 27px;
    height: 27px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #eaeaea;
}
#qa .box .accordion1::after{
    right: 68px;
    top: 49px;
    width: 6px;
    height: 6px;
    border-right: 1px solid #0d0d0d;
    border-bottom: 1px solid #0d0d0d;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#qa .box .accordion1.active::after{
    top: 51px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

#qa .box .accordion1 dt{
    position: relative;
    font-size: 1.9rem;
    font-weight: bold;
    margin-bottom: 15px;
    padding-left: 65px;
    box-sizing: border-box;
}
#qa .box .accordion1 dt:before{
    position: absolute;
    left: 0;
		top: -.2em;
    display: block;
    content: '';
    background: url(../img/icn_q.png) no-repeat center center;
    background-size: 100% auto;
    width: 40px;
    height: 40px;
}


#qa .box .accordion1 dd{
    position: relative;
    display: none;
    font-size: 1.6rem;
    line-height: 1.875;
    margin-bottom: 15px;
    padding-top: 5px;
    box-sizing: border-box;
    clear: both;
}
#qa .box .accordion1 dd span{
    display: block;
    margin-left: 68px;
    box-sizing: border-box;
}
#qa .box .accordion1 dd:before{
    float: left;
    position: relative;
    top: -5px;
    display: block;
    margin-right: 18px;
    content: '';
    background: url(../img/icn_a.png) no-repeat center center;
    background-size: 100% auto;
    width: 40px;
    height: 40px;
}

@media screen and (max-width: 768px) {
    #qa{
        margin-top: -5vw;
        padding: 10vw 0 11% 0;
    }

    #qa .ttl{
        width: 94%;
        text-align: center;
        margin: 0 auto;
        font-size: 6vw;
        display: block;
        background-size: 100% auto;
        height: auto;
        padding: 5vw 0 6vw;
    }

    #qa p.lead{
        font-size:4vw;
        margin-bottom: 7.8%;
    }

    #qa .wrap{
        width: 94%;
    }

    #qa .box .accordion1{
        padding: 4% 12% 2% 4%;
    }
    #qa .box .accordion1::before,
    #qa .box .accordion1::after{
        position: absolute;
        right: 3%;
        top: 18px;
        display: block;
        content: '';
    }
    #qa .box .accordion1::before{
        width: 27px;
        height: 27px;
        -webkit-border-radius: 50%;
        border-radius: 50%;
        background: #eaeaea;
    }
    #qa .box .accordion1::after{
        right: 6%;
        top: 27px;
    }
    #qa .box .accordion1.active::after{
        top: 29px;
    }

    #qa .box .accordion1 dt{
        font-size: 4.2vw;
        margin-bottom: 12px;
        padding-left: 38px;
    }
    #qa .box .accordion1 dt:before{
        width: 30px;
        height: 30px;
    }


    #qa .box .accordion1 dd{
        font-size:4vw;
        margin-bottom: 15px;
        padding-top: 5px;
        box-sizing: border-box;
        clear: both;
    }
    #qa .box .accordion1 dd span{
        margin-left: 38px;
    }
    #qa .box .accordion1 dd:before{
        float: left;
        top: -5px;
        margin-right: 0;
        width: 30px;
        height: 30px;
    }



}
/* ---------------------------------------------
  deduction
-----------------------------------------------*/
#deduction{
    position: relative;
    padding: 60px 0 50px 0;
    box-sizing: border-box;
    background: url(../img/bg_deduction.png) no-repeat center top,#e8edbf;
    background-size: 100% auto;
    z-index: 1;
}

#deduction .bg02{
    margin-top: 50px;
    position: relative;
    background: #FFF;
    box-shadow: 0 0 7px 0 rgba(49,59,13,0.18);
    padding: 25px 0;
    box-sizing: border-box;
    z-index: 5;
}

#deduction .wrap{
    width: 715px;
}

#deduction .ttl{
	font-size: 3.1rem;
	line-height: 1.4;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background: url(../img/deduction_ttl.png) no-repeat center center;
	height: 160px;
    margin-bottom: 30px;
}

#deduction p{
    font-size: 1.7rem;
    line-height: 1.9;
    text-align: center;
    margin: 0 17px;
}
#deduction p+p{ margin-top: 25px;}

#deduction p.lead{
    background: #f6ffd8;
    font-size: 2.0rem;
    font-weight: bold;
    margin-bottom: 16px;
}

#deduction p.note{
    font-size: 1.3rem;
    margin-top: 12px;
}
#deduction .img{ text-align: center;}

#deduction .red{ color: #ff0000 !important;}
#deduction .strong{ font-weight: bold !important;}


@media screen and (max-width: 768px) {
    #deduction{
        padding: 5% 0 7.8% 0;
        z-index: 1;
    }

    #deduction .bg02{
        margin-top: 7.8%;
        padding: 4% 0;
    }

    #deduction .wrap{
        width: 94%;
    }

    #deduction .ttl{
        font-size: 4.8vw;
        line-height: 1.3;
        text-align: center;
        display: block;
        background: url(../img/deduction_ttl.png) no-repeat center center;
        background-size: 100% auto;
        height: auto;
        padding: 5vw 0 6vw;
        margin-bottom: 4%;
    }

    #deduction p{
        font-size: 3.8vw;
        margin: 0;
        text-align: left;
    }
    #deduction p+p{ margin-top: 4%;}

    #deduction p.lead{
        font-size: 3.5vw;
        margin-bottom: 15px;
    }

    #deduction p.note{
        font-size: 2.5vw;
        margin-top: 10px;
    }

}


/* ---------------------------------------------
  last_sec
-----------------------------------------------*/
#last_sec{
    background: url(../img/bg_last_sec.png) no-repeat center top;
    background-size: 100% auto;
    padding: 55px 0 25px 0;
    box-sizing: border-box;
}

#last_sec .mv_txt{
    display: flex;
    justify-content: flex-end;
}
#last_sec .mv_txt .box{
    width: 584px;
}

#last_sec .mv_txt .lead{
    text-align: right;
    font-size: 3.8rem;
    margin-bottom: 10px;
}
#last_sec .mv_txt .lead span{
    display: inline-block;
    background: #FFF;
    padding: 0 30px;
    box-sizing: border-box;
}

#last_sec .mv_txt .lead:last-of-type{ margin-bottom: 0;}
#last_sec .mv_txt p{
    text-align: right;
    color: #FFF;
    font-size: 2.0rem;
    line-height: 1.5;
    margin: 30px 0;
    text-shadow: 0 0 9px rgba(0,0,0,0.79);
}

#last_sec .mv_txt p.note{
    font-size: 1.1rem;
    text-shadow: none;
    margin: 15px 0 0 0;
}
#last_sec .mv_txt p.btn{text-align: left; margin-bottom: 0;}
#last_sec .mv_txt .btntype1 .btnwrap{
    padding: 24px 15px;
    font-size: 2.6rem;
    border-radius: 46px;
}
#last_sec .mv_txt .btntype1 .btnwrap::before, #last_sec .mv_txt .btntype1 .btnwrap::after{ border-radius: 46px;}
#last_sec .mv_txt .btntype1 .price{ margin-right: 15px;margin-left: 20px;}
#last_sec .mv_txt .btntype1::before{ right: 30px;}

#last_sec .img{
    position: relative;
    text-align: center;
    margin-top: 40px;
}
#last_sec .img p.note{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 30px;
    text-align: center;
    font-size: 1.4rem;
    padding-left: 25px;
    box-sizing: border-box;
}


@media screen and (max-width: 768px) {
    #last_sec{
        padding: 4vw 0 25px 0;
        background-position: -29vw top;
        background-size: 150% auto;
    }
    #last_sec .wrap{ width: 96%;}
    #last_sec .mv_txt{ width: 98%; margin: 0 auto;}
    #last_sec .mv_txt{
        display: block;
    }
    #last_sec .mv_txt .box{
        width: 100%;
        margin: 0 auto;
    }

    #last_sec .mv_txt .lead{
		font-size: 5vw;
    }
    #last_sec .mv_txt .lead span{
		padding: 0 1em;
    }

    #last_sec .mv_txt .lead:last-of-type{ margin-bottom: 0;}
    #last_sec .mv_txt p{
		width: 60%;
		font-size:3.8vw;
		margin: 5% 0 0 auto;
    }

	#last_sec .mv_txt p br{
		display: none;
	}
    #last_sec .mv_txt p.btn{ width: 100%;}

    #last_sec .mv_txt p.note{
        font-size: 2.5vw;
        margin: 0 0 0 auto;
    }

    #last_sec .mv_txt .btntype1 .btnwrap{
        padding: 10px 15px;
        font-size: 4vw;
    }
    #last_sec .mv_txt .btntype1 .price{
        margin-left: 0;
        margin-right: 0.5em;
		padding: 7px 10px 6px;
    }
    #last_sec .mv_txt .btntype1::before{ right: 6%;}


    #last_sec .img{
        margin-top: 6.25%;
    }
    #last_sec .img p.note{
        position: relative;
        bottom: 0;
        font-size: 3.2vw;
        padding-left: 0;
    }


}


/* ---------------------------------------------
  footer
-----------------------------------------------*/
#footer .bg{
    padding: 40px 0 calc(25px + 119px) 0;
    background: #f8f8f8;
    box-sizing: border-box;
}

#footer .wrap{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
#footer .wrap .f_logo{}
#footer .wrap  .f_logo .txt{
    margin-top: 15px;
    font-size: 1.4rem;
    line-height: 1.4;
}
#footer .wrap .tel {text-align: right;}
#footer .wrap .tel a{
    display: block;
    font-size: 1.4rem;
    text-decoration: underline;
    margin-bottom: 15px;
}
#footer .wrap .tel a:hover{ text-decoration: none;}
#footer .wrap .tel .open{
	font-size: 1.4rem; text-align: left;
	padding-left: 55px;
}

#footer .copy{
    margin-top: 55px;
    text-align: center;
    font-size: 1.4rem;
}

#footer .bg02{
	/*
    position: relative;
	*/
    z-index: 10;
    padding: 15px 0 20px 0;
    background: url(../img/bg_footer.png) no-repeat center center;
    background-size: cover;
    box-sizing: border-box;
    box-shadow: 0 0 20px 0 rgba(189,189,189,1);
}


#footer p.btn{
    width: 720px;
    margin: 0 auto;
    text-align: left;
    margin-bottom: 0;
}
#footer .btntype1 .btnwrap{
    padding: 20px 15px;
    font-size: 2.6rem;
    border-radius: 46px;
}
#footer .btntype1 .btnwrap::before, #footer .btntype1 .btnwrap::after{ border-radius: 46px;}
#footer .btntype1 .price{ margin-right: 45px;margin-left: 20px;}
#footer .btntype1::before{ right: 45px;}

#fixnav {
    position: fixed;
    z-index: 1000;
    bottom: 0;
    left: 0;
    width: 100%;
    opacity: 1;
    box-sizing: border-box;
	z-index: 1000!important;
	transition: opacity .4s ease;
	opacity: 0;
	pointer-events: none;
}
#fixnav.active {
	opacity: 1;
	pointer-events: auto;
}
#fixnav ul {
    text-align: center;
    display: flex;
    justify-content: center;
}
#fixnav ul li {
    margin-right: 20px;
}
#fixnav ul li:last-of-type {
    margin-right: 0;
}
@media screen and (max-width: 768px) {
    #footer .bg{
        padding: 6.25% 0 calc(25px + 23vw) 0;
    }
    #footer .wrap{
        display: block;
    }
    #footer .wrap  .f_logo .logo{
        width: 80%;
        margin: 0 auto;
    }
    #footer .wrap  .f_logo .txt{
        width: 80%;
        margin: 0 auto 4% auto;;
        margin-top: 15px;
        font-size: 3.4vw;
    }
    #footer .wrap .tel {text-align: center;}
    #footer .wrap .tel a{
        font-size: 1.3rem;
    }
    #footer .wrap .tel .num{
        width: 80%;
        margin: 3% auto;
    }
    #footer .wrap .tel .open{ font-size: 1.3rem; text-align: center;
			padding: 0;}

    #footer .copy{
        margin-top: 8.6%;
        font-size: 1.0rem;
        padding: 0 3%;
        box-sizing: border-box;
    }

    #footer .bg02{
        z-index: 999;
    }

    #footer p.btn{
        width: 94%;
        margin: 0 auto;
        text-align: left;
        margin-bottom: 0;
    }
    #footer .btntype1 .btnwrap{
        padding: 10px 15px;
        font-size: 4vw;
    }
    #footer .btntype1 .price{
        margin-left: 0;
        margin-right: 0.5em;
		padding: 7px 10px 6px;
    }
    #footer .btntype1::before{ right: 6%;}

}


/* ------------------------------
    clearfix
------------------------------ */

.cf:after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}

.cf {display: inline-block;}

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */</pre></body></html>