@charset "UTF-8";
/* CSS Document */

html{
	font-size: 62.5%; /*16px*62.5%=10px*/
	
}

body{
	color: #666;
	font-size: 1.6rem;
	font-family: Helvetica, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 500;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	min-width: 1160px;/*タブレット対応*/
}
a{
	color: #fff;
}

img{
	max-width: 100%;
	height: auto;
}
.inner{
	max-width: 1124px;
	margin: auto;
}
.br_sp{
	display: none;
}
.br_pc{
	display: block;
}


/*-----------------------
* utility
* -----------------------*/
.fadeIn{
    transform : translate(0, 50px);
    transition : all 1s;
}
.fadeIn.active {
    transform : translate(0, 0);
}
.slideIn{
    transform : translate(50px, 0);
    transition : all 1s;
}
.slideIn.active {
    transform : translate(0, 0);
}
.fadeDown{
    transform : translate(0, -100px) scale(0.7);
    transition : all 1s;
}
.fadeDown.active {
    transform : translate(0, 0) scale(1);
}


/*-----------------------
* reveal
* ブロックが横から現れて消えて、タイトルが表示される
* -----------------------*/
/* revealContentを最初は消しておく */
.revealContent {
    opacity: 0;
}
/* revealActiveクラスが追加されて.3s後に表示する */
.revealActive .revealContent {
    -webkit-transition-delay: .3s;
         -o-transition-delay: .3s;
            transition-delay: .3s;
    opacity: 1;
}
.revealItem {
    display: block;
    position: absolute;
    overflow: hidden;
}
/* before擬似要素のblockにanimationをつけておく */
.revealItem.revealActive::before {
    -webkit-animation: hideFromLeft .3s forwards, showFromLeft .3s forwards .3s;
            animation: hideFromLeft .3s forwards, showFromLeft .3s forwards .3s;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 1px;
}
.revealItem.revealColor1.revealActive::before {
	background-color: #133447;
}
.revealItem.revealColor2.revealActive::before {
	background-color: #FCB027;
}
.revealItem.revealColor3.revealActive::before {
	background-color: #8FD0D9;
}
/* before擬似要素を左から右にスライドイン */
@-webkit-keyframes hideFromLeft {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(0%);
    }
}
@keyframes hideFromLeft {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(0%);
    }
}
/* before擬似要素を左から右にスライドアウト */
@-webkit-keyframes showFromLeft {
    0% {
        -webkit-transform: translateX(0%);
                transform: translateX(0%);
    }
    100% {
        -webkit-transform: translateX(100%);
                transform: translateX(100%);
    }
}
@keyframes showFromLeft {
    0% {
        -webkit-transform: translateX(0%);
                transform: translateX(0%);
    }
    100% {
        -webkit-transform: translateX(100%);
                transform: translateX(100%);
    }
}

/*-----------------------
* section
* -----------------------*/
.section_color1{
	background-color: #D0E4E0;
	width: 100%;
	position: relative;
	margin-top: 120px;

}
.section_color2{
	background-color: #FFFFFF;
	width: 100%;
	position: relative;
	margin-top: 120px;
}
.section_header{
	position: absolute;
	top: -80px;
}
.sectionTitle_text{
	font-size: 2.4rem;
	color: #133447;
	margin-top: 50px;
	padding: 5px;
	font-weight: bold;
}
.sectionTitle_text span{
	font-size: 2rem;
	font-weight: normal;
	display: inline-block;
	margin-left: 20px;
	vertical-align: bottom;
}
.section_body{
	padding: 150px 0 100px 0;
}

/*-----------------------
* body button
* -----------------------*/
.body_buttons{
	height: 300px;
	color: #fff;
	display: flex;
	justify-content: center;
	margin-bottom: 100px;
}
.btn_set{
	position: absolute;
	top: 130px;
	width: 350px;
	text-align: center;
}
.body_btn_subtext{
	display: block;
	margin-bottom: 10px;
	font-size: 2.2rem;
}
.body_btn img{
	-webkit-animation: floatingImg 0.5s 0s ease infinite alternate;
	animation: floatingImg 0.5s 0s ease infinite alternate;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both; 	
}
@-webkit-keyframes floatingImg {
	0% {
	transform: translateY(0%); }
	100% {
	transform: translateY(-3%); } 
	}
@keyframes floatingImg {
	0% {
	transform: translateY(0%); }
	100% {
	transform: translateY(-3%); } 
	}
.line_left{
	display: inline-block;
	width: 20px;
	height: 2px;
	margin: 0 5px 5px 0;
	background-color: #fff;
	transform: skewY(-310deg);
}
.line-right{
	display: inline-block;
	width: 20px;
	height: 2px;
	margin: 0 0 5px 5px;
	background-color: #fff;
	transform: skewY(310deg);
}
.body_btn_text{
	padding: 20px 0;
	border: solid 1.5px #fff;
	color: #fff;
	font-size: 2.8rem;
	text-decoration: none;
}
.body_btn_text::after{
	position: relative;
	left: 0;
	font-family: "Font Awesome 5 free";
	content: "\f04b";
	font-weight: 900;
	padding-left: 30px;
}
/**---- button1 ----**/
.body_btn_box1{
	background-color: #8FD0D9;	
	width: 100%;
	position: relative;
	cursor: pointer;
}

.body_btn_box1:hover{
	opacity: 0.7;
	transition: all 0.2s;
}

.body_btn_box1:hover .body_btn_text::after{
	left: 10px;
}
.btn_baloon1{
	background-image: url("../images/common/balloon1.png");
	background-repeat: no-repeat;
	background-size: contain;
	height: 100%;
	position: absolute;
	top: 30px;
	right: 120px;
	padding: 25px 25px 30px 35px;
	-webkit-animation: rotateBudge 0.7s 0s ease infinite alternate;
	animation: rotateBudge 0.7s 0s ease infinite alternate;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both; 
}
.btn_baloon1 p{
	color: #8FD0D9;
	font-size: 2rem;
	transform: rotate(355deg);
}
.body_btn_box1 .body_btn img{
	position: absolute;
	top: 50px;
	right: 360px;
}
.body_btn_box1 .btn_set{
	right: 100px;
}

/**---- button2 ----**/
.body_btn_box2{
	background-color: #FCB027;
	width: 100%;
	position: relative;
	cursor: pointer;
}
.body_btn_box2:hover{
	opacity: 0.7;
	transition: all 0.2s;
}
.body_btn_box2:hover .body_btn_text::after{
	left: 10px;
}
.btn_baloon2{
	background-image: url("../images/common/balloon2.png");
	background-repeat: no-repeat;
	background-size: contain;
	height: 100%;
	position: absolute;
	top: 30px;
	left: 110px;
	padding: 33px 40px 30px 20px;
	-webkit-animation: rotateBudge 0.7s 0s ease infinite alternate;
	animation: rotateBudge 0.7s 0s ease infinite alternate;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both; 
}
.btn_baloon2 p{
	color: #FCB027;
	font-size: 2rem;
	transform: rotate(5deg);	
}
.body_btn_box2 .body_btn img{
	position: absolute;
	top: 50px;
	left: 360px;
}
.body_btn_box2 .btn_set{
	left: 100px;
}
@-webkit-keyframes rotateBudge {
	0% {
	transform: rotate(0deg); 
	}
	100% {
	transform: rotate(3deg); 
	} 
}
@keyframes rotateBudge {
	0% {
	transform: rotate(0deg); 
	}
	100% {
	transform: rotate(3deg); 
	} 
}



/*-----------------------
* header
* -----------------------*/
header{
	position: fixed;
	top: 0;
	left: 0;
	background-color: rgba(19, 52, 71, 0.75);
	height: 120px;
	width: 100%;
	z-index: 10;
}
h1{
	position: fixed;
	top: 40px;
	left: 30px;
	z-index: 20;
}
.header_buttons{
	position: fixed;
	top: 15px;
	right: 30px;
	z-index: 20;
}
.header_btn {
	display: block;
	padding: 12px 0;
	margin-bottom: 10px;
	width: 160px;
	border-radius: 3px;
	color: #fff;	
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	background-color: #ED6C00;
	transition: all 0.2s;
}
.header_btn:hover{
	opacity: 0.5;
}
.btn_trigger{
	display: none;
}
/*-----------------------
* navigation
* -----------------------*/
header nav ul{
 	display: flex;
	position: absolute;
	top: 40px;
	right: 200px;
}
header nav li{
	margin-right: 40px;
	text-align: center;
	transition: all 0.2s;
}
header nav li:hover{
	opacity: 0.5;
}
header nav p{
	margin-bottom: 10px;
	font-size: 1.7rem;
	font-weight: 400;
	text-align: center;
	text-transform: uppercase;
}
header nav span{
	font-size: 1.3rem;
	font-weight: 400;
}
header nav a{
	color: #fff;
	text-decoration: none;
}

/*-----------------------
* main visual
* -----------------------*/
.main_visual_box{
	position: relative;
	height: 900px;
	overflow: hidden;
}
.main_visual{
	background-image: url("../images/header/main_v.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	height: 900px;
	position: relative;
	animation-name: sizeScale;
	animation-duration: 10s;
	animation-timing-function: ease-in-out;
	animation-delay: 1s;
	animation-fill-mode: forwards;
}
@keyframes sizeScale{
	0%{
		transform: scale(1);
	}
	100%{
		transform: scale(1.2);
	}	
}
.copy{
	transform: rotate(355deg);
	position: absolute;
	top: 35%;
	left: 20%;
}
.copy span{
	display: block;
	font-size: 2.6rem;
	margin-bottom: 30px;
	text-align: center;
}
.copy p{
	font-size: 5rem;
	line-height: 1.4;
	font-weight: bold;
}
/*-----------------------
* sub main
* -----------------------*/
.submain h2{
	font-size: 2.4rem;
	line-height: 1.65;
	color: #133447;
	text-align: center;
	margin: 80px 0 50px 0;
}
.submain p{
	width: 75%;
	font-size: 1.8rem;
	line-height: 2;
	margin: 0 auto 60px;
}
/***sub main button***/
.mainv_btn_box{
	display: flex;
	justify-content: center;
	margin-bottom: 80px;
}

.mainv_btn{
	display: block;
	background-color: #ED6C00;
	padding: 25px 0;
	margin: 40px 15px 0;
	width: 310px;
	border-radius: 3px;
	color: #fff;
	font-size: 2rem;
	text-align: center;
	transition: all 0.2s;
	position: relative;
	cursor: pointer;
	text-decoration: none;
	font-weight: bold;
}

/*
.mainv_btn i{
	position: absolute;
	right: 30px;
}
*/
/*
.arrow_right{
	display: inline-block;
	background-image: url("../images/common/btn_arrow_right.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-color: #fff;
	background-size: cover;
	width: 17px;
	height: 20px;
	position: absolute;
	right: 40px;

}
*/
.mainv_btn::after {
	position: relative;
	right: 0;
	font-family: "Font Awesome 5 Free";
	content: "\f04b";
	font-weight: 900;
	padding-left: 30px;
	color: #fff;
}
.mainv_btn_box li:hover{
	opacity: 0.5;
}
.mainv_btn_box li:hover .mainv_btn::after{
	left: 10px;
}
/*
.mainv_btn:hover .arrow_right{
	right: 30px;
}
*/

/*-----------------------
* way of work
* -----------------------*/
.wayofwork{
	background-image: url("../images/way of work/wayofwork_bgimg.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center bottom;
	height: 870px;
}
.wayofwork h2{
	text-align: center;
	font-weight: normal;
	font-size: 5rem;
	margin-bottom: 40px;
}
.wayofwork h2 span{
	display: block;
	font-size: 2.4rem;
	padding: 70px 0 20px 0;
}
.baloons{
	height: 50%;
	margin: 0 auto;
	position: relative;
}
.baloons li{
	font-size: 1.8rem;
	line-height: 1.65;
	margin: 0;
	padding: 0;
	text-align: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	width: 190px;
	height: 185px;
}
.baloons li p{
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-45%);
}
.way01{
	background-image: url("../images/way of work/circle3.png");
	top: 7%;
	left: 50%;
	transform: translate(-180%,20%);
    transition : all 1s;
	transition-delay: 0.3s;
}
.way02{
	background-image: url("../images/way of work/circle2.png");
	top: 0;
	left: 50%;
	transform: translate(-50%,20%);
    transition : all 1s;
}
.way03{
	background-image: url("../images/way of work/circle3.png");
	top: 7%;
	left: 50%;
	transform: translate(80%,20%);
    transition : all 1s;
/*	transition-delay: 0.5s;*/
}
.way04{
	background-image: url("../images/way of work/circle2.png");
	top: 50%;
	left: 50%;
	transform: translate(-100%,20%);
    transition : all 1s;
}
.way05{
	background-image: url("../images/way of work/circle5.png");
	top: 55%;
	left: 50%;
	transform: translate(20%,20%);
    transition : all 1s;
	transition-delay: 0.3s;
}
.way01.active{
	transform: translate(-180%,0);
}
.way02.active{
	transform: translate(-50%,0);
}
.way03.active{
	transform: translate(80%,0);
}
.way04.active{
	transform: translate(-100%,0);
}
.way05.active{
	transform: translate(20%,0);
}
/*-----------------------
* feature
* -----------------------*/
.feature h3{
	text-align: center;
	font-size: 6rem;
	color: #133447;
	margin-bottom: 60px;
	}
.feature h3 span{
	display: block;
	font-size: 2.2rem;
	margin-bottom: 20px;
}
.web_d_course{
	text-align: center;
}
.web_d_course dt{
	font-size: 6rem;
	margin-bottom: 30px;
}
.web_d_course dd{
	font-size: 1.8rem;
	line-height: 2;
	margin-bottom: 80px;
}
.feature_3frames{
	display: flex;
	justify-content: space-between;
}
.frame_cover {	
	width: 370px;
	height: 370px;
	border-radius: 50%;
	display: block;
	-webkit-background: url("../images/feature/feature_bg.jpg") no-repeat center / cover fixed;
			background: url("../images/feature/feature_bg.jpg") no-repeat center / cover fixed;
}
.feature_frame {	
	width: 370px;
	height: 370px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.8);
	text-align: center;
	line-height: 1.875;
	padding-top: 100px;
}
.feature_frame dt{
	font-size: 2.4rem;
	color: #133447;
	font-weight: bold;
	margin-bottom: 30px;
}
.feature_3frames .feature_frame dd{
	letter-spacing: -0.01em;
	font-weight: bold;
}
/*-----------------------
* reason
* -----------------------*/
.reasons li{
	background-color: #D0E4E0;
	width: 80%;
	margin-bottom: 80px;
	display: flex;
	position: relative;
	z-index: 1;
}
.reasons h3 img{
	position: absolute;
	top: -30px;
	left: -30px;
	z-index: 2;
}
.reason_img{
	padding: 20px 0 20px 20px;
	width: 100%;
	height: 100%;
}
.reason_title_sp{
	display: none;
}
.reasons dl{
	background-color: #fff;
	width: 60%;
	margin: 20px 20px 20px 0;
	padding: 40px;
}
.reasons dt{
	margin-bottom: 20px;
	font-size: 2.4rem;
	font-weight: bold;
}
.reasons dd{
	line-height: 2;
}
.reason_pattern1{
	margin-left: 4%;
	transform: translate(0,20%);
	transition: all 1s;
}
.reason_pattern2{
	margin-left: 18%;
	transform: translate(0,20%);
	transition: all 1s;
}
.reason_pattern1.active{
	transform: translate(0,0);
}
.reason_pattern2.active{
	transform: translate(0,0);
}


/*-----------------------
* voice
* -----------------------*/
.voice_questions{
	background-color: #fff;
	padding: 30px 50px;
	display: flex;
	justify-content: center;
	margin: 0 auto 70px;
}
.voice_questions li{
	padding-right: 20px;
}
.voice_questions span{
	font-size: 1.8rem;
	color: #FCB027;
}
.voice_graduates{
	display: flex;
	justify-content: space-between;
}
.graduate_frame{
	background-color: #fff;
	width: 330px;
}
.graduate_img p{
	margin: 30px;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}
.graduate_img p span{
	font-size: 1.6rem;
	margin-left: 3px;
}
.voice_graduates ol{
	margin: 0 20px 40px;
	line-height: 2;
	vertical-align: middle;
}
.voice_graduates ol span{
	font-size: 1.8rem;
	color: #FCB027;
	margin-right: 0.2em;
}
.graduate_img{
	position: relative;
	z-index: 1;
}
.graduate_img:after{
	content: "";
	position: absolute;
	top: -10px;
	right: -10px;
	background-color: #FCB027;
	width: 80%;
	height: 85%;
	z-index: -1;	
}
/*-----------------------
* product
* -----------------------*/
.product ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.product li{
	margin: 0 30px 70px;
}
.product li img{
	margin-bottom: 20px;
}
.product .section_body{
	padding: 150px 0 0 0;
}
/*-----------------------
* learning
* -----------------------*/
.learning{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
}
/***learning month***/
.learning_month li{
	border-radius: 50%;
	border: solid #8FD0D9 15px;
	width: 120px;
	height: 120px;
	background-color: #fff;
	text-align: center;
	position: relative;
	margin-right: 100px;
	margin-bottom: 40px;
}
.learning_month li p{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.learning_month li span{
	font-size: 3rem;
	font-weight: bold;
	line-height: 0.65;	
}
.month_arrow{
	background-image: url("../images/learning/month_arrow.png");
	width: 36px;
	height: 50px;
	background-size: cover;
	position: absolute;
	top: 110%;
	left: 50%;
	transform: translateX(-50%);
}
/***learning point***/
.learning_point dl{
	display: flex;
	align-items: center;
	background-image: url("../images/learning/learning_frame.png");
	background-repeat: no-repeat;
	background-size: cover;
	width: 575px;
	height: 160px;
	margin-bottom: 20px;
}
.learning_point dt{
	border-radius: 50%;
	height: 136px;
	background-color: #FCB027;
	display: flex;
	flex-direction: column;
	color: #fff;
	margin: 15px;
}
.learning_point dt img{
	margin: 25px auto 8px;
	width: 65px;
}
.learning_point dt p{
	width: 136px;
	text-align: center;
	letter-spacing: -0.05em;
}
.learning_point dd{
	padding: 50px 50px 50px 45px; 	
	line-height: 1.875;
}


/*-----------------------
* fee
* -----------------------*/
.fee_text{
	width: 700px;
	margin: auto;
	padding-top: 200px;
}

.fee dl{
	text-align: center;
}
.fee dt{
	display: block;
	margin: 0 auto 20px;
	border-radius: 30px;
	background-color: #FCB027;
	height: 5rem;
	width: 90%;
	position: relative;
}
.fee dt p{
	font-size: 13rem;
	font-weight: bold;
	position: absolute;
	top: -80px;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	margin: 0 auto;
	
}
.fee dd{
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 40px;
}
.fee_note{
	line-height: 2;
}
.fee_note li{
	display: flex;
	align-items: baseline;
}
.fee_note li span{
	font-size: 1.2em;
	margin-right: 10px;
}
/*-----------------------
* faq
* -----------------------*/
.faq_questions{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.faq_questions dl{
	width: 480px;
	margin: 0 30px 70px;
}
.faq_questions dt{
	display: flex;
	align-items: flex-start;
	margin-bottom: 10px;
	font-size: 2rem;
	line-height: 1.65;	
	letter-spacing: -0.02em;
}
.qustion_icn{	
	background-image: url("../images/faq/question_icon.png");
	background-repeat: no-repeat;
	background-size: contain;
	width: 40px;
	height: 40px;
	margin-right: 10px;
	flex: 0 0 40px;
}
.faq_questions dd{
	background-color: #fff;
	padding: 30px;
	height: 220px;
	line-height: 2;
}
/*-----------------------
* about
* -----------------------*/
.about_text{
	margin-left: 100px;
	margin-bottom: 70px;
	padding-top: 150px;
	font-size: 1.8rem;
	line-height: 2;
}

/***studio image slider***/
.slider_wrapper{
	overflow: hidden;
	padding-bottom: 80px;
}
.slider_wrapper {
	position: relative;
}

.slider_viewport {
	margin: 0 auto;
    max-width: 800px;
    padding-left: 50px;
    padding-right: 50px;
}

.bxslider li{
	width: 800px;
	height: 62.5%;
}
.bxslider li img{
	position: relative;
}
.bx-wrapper{
	margin: 0 !important;
	-moz-box-shadow: none !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	border: none !important;
	background: none !important;
}
.bx-viewport {
	overflow: initial !important;
}

/***school info***/
.school_info{
	width: 350px;	
	margin: 0 auto;
}
.school_info dl{
	display: flex;	
	margin-bottom: 30px;
}
.school_info dl:last-of-type{
	margin-bottom: 70px;
}
.school_info dt{
	width: 24px;
	text-align: center;
}
.school_info dd{
	margin-left: 30px;
	line-height: 1.875;
}
/***maps***/
.maps_frame iframe{
	width: 100%;
	vertical-align: bottom;
}

/*-----------------------
* footer
* -----------------------*/
footer{
	background-color: #133447;
	width: 100%;
}
footer img{
	display: block;
	padding: 45px 0 35px 0;
	margin: 0 auto;
}
footer small{
	display: block;
	text-align: center;
	color: #ED6C00;
	padding-bottom: 20px;
}
/*-----------------------
* pagetop button
* -----------------------*/
.btn_pageTop a{
	position: fixed;
	bottom: 50px;
	right: 30px;
	z-index: 20;
	width: 40px;
	height: 40px;
	background-color: #ED6C00;
	border-radius: 3px;
	text-decoration: none;
}
.btn_pageTop a span{
	position: relative;
	top: 0;
	display: block;
	text-align: center;
	width: 100%;
	height: 100%;
	line-height: 40px;
	transition: all 0.2s;
}
.btn_pageTop:hover a span{
	top: -5px;
}

@media screen and (max-width:640px){
	body{
		font-size: 1.2rem;
		min-width: initial;
		min-width: 100%;
	}
	.inner{
		max-width: 100%;
		padding: 0 10px;
	}
	.br_sp{
		display: block;
	}
	.br_pc{
		display: none;
	}
/*-----------------------
 * header
 * -----------------------*/
	header{
		height: 0;
		position: static;
	}
	h1{
		position: relative;
		top: 10px;
		left: 10px;
		width: 30%;
	}
	.header_buttons{
		display: none;
	}
/*-----------------------
 * hamburger-menu
 * -----------------------*/
	.btn_trigger{
		display: block;
		-webkit-appearance: none;
		appearance: none;
		position: fixed;
		top: 10px;
		right: 10px;
		z-index: 20;
		background-color: #ED6C00;
		border: none;
		border-radius: 3px;
		width: 40px;
		height: 40px;
	}
	.btn_trigger span{
		position: absolute;
		display: block;
		width: 20px;
		height: 1px;
		background-color: #fff;
		left: 50%;
		transform: translateX(-50%);
	}
	.btn_trigger span:first-of-type{
		top: 30%;
	}
	.btn_trigger span:nth-of-type(2){
		top: 50%;
	}
	.btn_trigger span:last-of-type{
		bottom: 30%;
	}
	.btn_trigger.active span:first-of-type{
		top: 50%;
		transform: rotate(45deg) translateY(-50%);
		left: auto;
	}
	.btn_trigger.active span:nth-of-type(2){
		opacity: 0;
	}
	.btn_trigger.active span:last-of-type{
		bottom: 50%;
		transform: rotate(-45deg) translateY(50%);
		left: auto;
	}
/*-----------------------
 * navigation
 * -----------------------*/
	header nav{
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		background-color: rgba(19, 52, 71, 0.8);
		height: 120%;
		width: 100%;
		z-index: 10;
	}
	header nav ul{
		display: block;
		width: 70%;
		top: 80px;
		left: 50%;
		transform: translateX(-50%);
		right: 0;
	}
	header nav li{
		margin-right: 0;
		border-bottom: 1px solid #ED6C00;
		padding-top: 45px;
	}
	header nav li:first-of-type{
		padding-top: 0;
	}
	header nav p{
		font-size: 2.4rem;
		margin-bottom: 10px;
		margin-right: 20px;
		display: inline-block;
	}
	header nav span{
		font-size: 1.6rem;
	}
/*-----------------------
 * main visual
 * -----------------------*/
	.main_visual_box{
		height: 350px;
	}
	.main_visual{
		background-image: url("../images/header/main_v_sp.jpg");
		height: 350px;
		background-position: right bottom;
	}
	.copy{
		top: 35%;
		left: 5%;
	}
	.copy span{
		font-size: 1.6rem;
		margin-bottom: 15px;
	}
	.copy p{	
		font-size: 3rem;
		line-height: 1.4;
	}

/*-----------------------
 * sub main
 * -----------------------*/
	.submain h2{
		font-size: 1.5rem;
		margin: 40px 0 30px 0;
	}
	.submain p{
		font-size: 1.4rem;
		margin: 0 auto 30px;
		width: 90%;
	}
	.mainv_btn_box{
		display: block;
		margin-bottom: 40px;
	}
	.mainv_btn{
		margin: 0 auto 15px;
		padding: 20px 0;
		width: 60%;
		font-size: 1.4rem;
	}
	.mainv_btn::after {
		position: absolute;
		right: 4vw;
	}
	.arrow_right{
		width: 11px;
		height: 13px;
		right: 20px;
	}

/*-----------------------
 * way of work
 * -----------------------*/
	.wayofwork{
	background-image: url("../images/way of work/wayofwork_bgimg_sp.jpg");
	height: 435px;
	}

	.wayofwork h2 span{
		font-size: 1.4rem;
		padding: 40px 0 20px 0;
	}
	.wayofwork h2{
		font-size: 2.4rem;
		margin-bottom: 20px;
	}
	.baloons{
		overflow: hidden;
		max-width: 100%;
	}
	.baloons li{
		font-size: 1.2rem;
		width: 100px;
		height: 100px;
	}
	.way01{
		transform: translateX(-160%,20%);
	}
	.way03{
		transform: translateX(60%,20%);
	}
	.way01.active{
		transform: translate(-160%,0);
	}
	.way03.active{
		transform: translate(60%,0);
	}


/*-----------------------
 * section
 * -----------------------*/
	.section_color1{
		margin-top: 60px;
	}
	.section_color2{
		margin-top: 60px;
	}
	.section_header{
		top: -40px;
	}
	.sectionTitle_text{
		font-size: 1.4rem;
		line-height: 1.65;
		margin-top: 20px;
		padding-left: 3px;
	}
	.sectionTitle_text span{
		font-size: 1.2rem;
		margin-left: 10px;
	}

	.section_header h2 img{
		height: 77px;
	}
	.section_body{
		padding: 90px 0 50px 0;
	}
/*-----------------------
 * feature
 * -----------------------*/
	.feature h3 span{
		font-size: 1.4rem;
		margin-bottom: 20px;
	}
	.feature h3{
		font-size: 3.5rem;
		margin-bottom: 30px;
	}
	.web_d_course dt{
		font-size: 3rem;
		margin-bottom: 20px;
	}
	.web_d_course dd{
		width: 90%;
		margin: 0 auto 40px;
		font-size: 1.5rem;
		text-align: left;
	}
	.feature_3frames{
		flex-direction: column;
		align-items: center;
		margin: 0 auto;
	}
	.frame_cover {	
		display: block;
		width: 90%;
		height: 23vh;
		border-radius: 30px;
		margin: 0 auto 15px;
/*
		-webkit-background: url("../images/feature/feature_bg_sp.jpg") no-repeat center / cover fixed;
				background: url("../images/feature/feature_bg_sp.jpg") no-repeat center / cover fixed;
*/
		-webkit-background: url("../images/feature/feature_bg_sp.jpg") no-repeat center / cover;
		background: url("../images/feature/feature_bg_sp.jpg") no-repeat center / cover;

	}
	.feature_frame {	
		position: relative;
		width: 100%;
		height: 100%;
		border-radius: 30px;
		margin: 0 auto 15px;
		padding: 20px 10px;
	}
	.feature_frame dl{
		padding: 10px;
	}
	.feature_frame dt{
		font-size: 2rem;
		margin-bottom: 10px;
	}
	.feature_frame dd{
		font-size: 1.3rem;
		line-height: 1.3;
		margin-bottom: 10px;
	}
/*-----------------------
 * reason
 * -----------------------*/
	.reasons li{
		width: 100%;
		display: block;
		padding: 15px;
		margin-bottom: 50px;
	}
	.reasons li:last-of-type{
		margin-bottom: 0;
	}
	.reasons h3 img{
		position: absolute;
		top: -30px;
		left: 0;
		width: 40%;
	}
	.reason_img{
		margin: 0;
		padding: 0;
		width: 45%;
		height: 45%;
	}
	.reason_img_frame{
		display: flex;
		align-items: center;
		margin-bottom: 15px;
	}
	.reason_title_sp{
		display: block;
		font-size: 2rem;
		line-height: 1.25;
		margin-left: 15px;
	}
	.reasons dl{
		background-color: #fff;
		width: 100%;
		margin: 0;
		padding: 15px;
	}
	.reasons dt{
		display: none;
	}
	.reasons dd{
		font-size: 1.3rem;
	}
	.reason_pattern1{
		margin-left: 0;
	}
	.reason_pattern2{
		margin-left: 0;
	}

/*-----------------------
* body button
* -----------------------*/
	.body_buttons{
		height: 120px;
	}
	.btn_set{
		position: absolute;
		top: 53px;
		width: 90%;
	}
	.body_btn_subtext{
		margin-bottom: 5px;
		font-size: 1.1rem;
	}
	.line_left{
		width: 10px;
		height: 1px;
		margin: 0 5px 3px 0;
	}
	.line-right{
		width: 10px;
		height: 1px;
		margin: 0 0 3px 5px;
	}

	.body_btn_text{
		padding: 10px 0;
		font-size: 1.3rem;
	}
	.body_btn_text::after{
		padding-left: 10px;
	}

	
	/**---- button1 ----**/
	.btn_baloon1{
		top: 10px;
		right: 15px;
		padding: 12px 15px 20px 20px;
	}
	.btn_baloon1 p{
		font-size: 1rem;
		padding: 0;
	}
	.body_btn_box1 .body_btn img{
		height: 50%;
		top: 15px;
		right: auto;
		left: 5px;
	}
	.body_btn_box1 .btn_set{
		right: 5%;
	}

	/**---- button2 ----**/
	.btn_baloon2{
		height: 30vh;
		top: 10px;
		left: 15px;
		padding: 15px 20px 12px 12px;
	}
	.btn_baloon2 p{
		font-size: 1rem;
	}
	.body_btn_box2 .body_btn img{
		height: 50%;
		top: 15px;
		left: auto;
		right: 5px;
	}
	.body_btn_box2 .btn_set{
		left: 5%;
	}
/*-----------------------
 * voice
 * -----------------------*/
	.voice_questions{
		padding: 12px;
		display: block;
		margin: 0 auto 35px;
	}
	.voice_questions li{
		padding: 0;
		font-size: 1.4rem;
		line-height: 1.8;
	}
	.voice_questions span{
		font-size: 1.6rem;
	}
	.voice_graduates{
		display: block;
	}
	.graduate_frame{
		width: 100%;
		display: flex;
		margin: 0 auto 20px;
		padding: 10px;
	}
	.graduate_img{
		flex: 0 0 40vw;
		width: 40vw;
	}
	.graduate_img p{
		margin: 10px 0;
		font-size: 1.5rem;
	}
	.graduate_img p span{
		font-size: 1.2rem;
		margin-left: 3px;
	}
	.voice_graduates ol{
		font-size: 1.4rem;
		margin: 0 0 0 10px;
		flex: 1 1 auto;
	}
	.voice_graduates ol span{
		font-size: 1.6rem;
	}
	.graduate_img:after{
		display: none;
	}
/*-----------------------
 * product
 * -----------------------*/
	.product ul{
		display: block;
		margin: 0 10px;
	}
	.product li{
		margin: 0 0 35px 0;
	}
	.product li:last-of-type{
		margin: 0;
	}
	.product li img{
		margin-bottom: 10px;
	}
	.product .section_body{
		padding: 90px 0 50px 0;
	}

/*-----------------------
 * learning
 * -----------------------*/
	/***learning month***/
	.learning_month li{
		border-width: 8px;
		width: 60px;
		height: 60px;
		margin-right: 10px;
		margin-bottom: 20px;
		font-size: 1.1rem;
	}
	.learning_month li span{
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 0.65;	
	}
	.month_arrow{
		width: 18px;
		height: 25px;
	}
	/***learning point***/
	.learning_point{
		overflow: hidden;
	}
	.learning_point dl{
		width: 100%;
		height: auto;
		background-size: 100% 100%;
		margin-bottom: 10px;
	}
	.learning_point dt{
		width: 70px;
		height: 70px;
		margin: 7px;
		padding: 0;
	}
	.learning_point dt img{
		width: 50%;
		margin: 10px auto 3px;
	}
	.learning_point dt p{
		width: 70px;
		font-size: 1rem;
	}
	.learning_point dd{
		padding: 10px 10px 10px 5px; 
		font-size: 1.1rem;
		letter-spacing: -0.01em;
	}
/*-----------------------
 * fee
 * -----------------------*/
	.fee_text{
		width: 100%;
		padding-top: 100px;
	}
	.fee dt{
		display: block;
		margin: 0 auto 20px;
		height: 2.5rem;
		width: 90%;
	}
	.fee dt p{
		font-size: 6.5rem;
		top: -40px;
	}
	.fee dd{
		font-size: 1.2rem;
		line-height: 1.3;
		margin-bottom: 30px;
	}
	.fee ul{
		font-size: 1.1rem;
		width: 85%;
		margin: 0 auto;
	}

/*-----------------------
 * faq
 * -----------------------*/
	.faq_questions{
		display: block;
	}
	.faq_questions dl{
		width: 90%;
		margin: 0 auto 35px;
	}
	
	.faq_questions dt{
		margin-bottom: 10px;
		font-size: 1.6rem;
	}
	.qustion_icn{	
		width: 30px;
		height: 30px;
		margin-right: 10px;
		flex: 0 0 30px;
	}
	.faq_questions dd{
		padding: 15px;
		height: auto;
		font-size: 1.4rem;
	}
/*-----------------------
 * about
 * -----------------------*/
	.about_text{
		width: 90%;
		margin: 0 auto 30px;
		padding-top: 80px;
		font-size: 1.4rem;
	}
	/***studio image slider***/
	.slider_wrapper{
		max-width: 100%;
	}
	.slider_viewport{
	  	max-width: 100%;
	}
	.bxslider li{
		max-width: 100%;
	}

	/***school info***/
	.school_info{
		width: 80%;
	}
	.school_info dl{
		margin-bottom: 15px;
	}
	.school_info dl:last-of-type{
		margin-bottom: 30px;
	}
	.school_info dt{
		width: 20px;
	}
	.school_info dd{
		margin-left: 15px;
		font-size: 1.4rem;
	}
	/***maps***/
	.maps_frame{
		padding-top: 53%;
		position: relative;
	}
	.maps_frame iframe{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	
/*-----------------------
* pagetop button
* -----------------------*/
.btn_pageTop a{
	bottom: 20px;
	right: 10px;
	font-size: 1.4rem;
}
.btn_pageTop:hover a span{
	top: 0;
}

	
/*-----------------------
 * footer
 * -----------------------*/
	footer img{
		width: 25%;
		padding: 20px 0 15px 0;
	}
	footer small{
		padding-bottom: 10px;
		font-size: 1rem;
}



}
