@charset "UTF-8";

/* ------------------------------------------- CSS Information 
 Style Info:     ブラウザスタイルのリセット設定
----------------------------------------------------------- */  
html{overflow-y:scroll;} 
body,div,blockquote,pre,h1,h2,h3,h4,h5,h6,dl,dt,dd,ul,ol,li,table,th,td,form,input,textarea,fieldset{margin: 0;padding:0;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}   
img,abbr,acronym,fieldset{border:none;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
hr,legend{display:none;}
object,embed{vertical-align:top;}
li{list-style:none;}

/* ------------------------------------------- CSS Information 
 Style Info:     基本設定
----------------------------------------------------------- */
/*A Style*/  
a:link{text-decoration: underline;color: #666666;}
a:visited{text-decoration: none;color: #66666;}
a:hover{text-decoration: underline;color: #999999;}
a:active{text-decoration: none;color: #66666;}
/*font*/
.b{font-weight:bold;}
.ul{text-decoration:underline;}
.bg{background-color:#fff45c;}
.big{font-size:20px;line-height:30px;}@media only screen and (max-width:750px){.big{font-size:16px;line-height:24px;}}
.small{font-size:15px;line-height:20px;}@media only screen and (max-width:750px){.small{font-size:12px;line-height:20px;}}
.red{color:#c70003;}

/*----- image -----*/
.img1080{width:100%;max-width:1080px;margin:0 auto;}
.img980{width:100%;max-width:980px;margin:0 auto;}
.img960{width:100%;max-width:960px;margin:0 auto;}
.img920{width:100%;max-width:920px;margin:0 auto;}
.img880{width:100%;max-width:880px;margin:0 auto 0 0;}
.img750{width:100%;max-width:750px;margin:0 auto;}
.img670{width:100%;max-width:670px;margin:0 auto;}
.img450{width:100%;max-width:450px;margin:0 auto;}
.pc{display:block;}
.sp{display:none;}
@media only screen and (max-width:750px){
.pc{display:none;}
.sp{display:block;}
}

/* ------------------------------------------- CSS Information 
 Style Info: body
----------------------------------------------------------- */
html,body{  
font-family:"メイリオ",Osaka,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",Arial,Sans-Serif;
color:#333333;
font-size:16px;
line-height:0;
text-align:center;
background:#ffffff;
letter-spacing:0em;
min-width:320px;
min-height:100%;
position:relative;
}

/* ------------------------------------------- CSS Information 
 Style Info: header
----------------------------------------------------------- */
header{
position:relative;
width:100%;
height:100%;
margin:0;
padding:0;
text-align:center;
overflow:hidden;
background:#120802 url(../img/header_bg_pc.png) no-repeat center;
background-size:cover;
}
.header_video{
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin:auto;
min-width:100%;
min-height:100%;
width:auto;
height:auto;
opacity:0.1;
}
#header01{
position:relative;
width:100%;
height:100%;
margin:0;
padding:0;
z-index:10;
opacity:1;
}
@media only screen and (max-width:750px){
header{
background:#120802 url(../img/header_bg_sp.png) no-repeat center;
background-size:cover;
}
.header_video{
position:absolute;
top:0;
bottom:0;
left:auto;
right:0;
margin:auto;
min-width:100%;
min-height:100%;
width:auto;
height:auto;
opacity:0.2;
}
#header01{}
}

/* ------------------------------------------- CSS Information 
 Style Info: text
----------------------------------------------------------- */
.text{
width:100%;
max-width:980px;
margin:0 auto;
padding:40px 40px 10px 40px;
box-sizing:border-box;
font-size:17px;
line-height:30px;
text-align:left;
}
.text p{margin:0;padding:0 0 30px 0;}
.text ul{margin:0;padding:0;}
.text li{
margin:0 0 30px 0;
padding:0 0 0 10px;
list-style:none;
font-size:18px;
border-left:10px solid #119ed3;
}

@media only screen and (max-width:750px){
.text{
padding:20px 20px 0 20px;
font-size:15px;
line-height:24px;
text-align:justify;
}
.text p{margin:0;padding:0 0 20px 0;}
.text li{
margin:0 0 20px 0;
padding:0 0 0 6px;
list-style:none;
font-size:15px;
border-left:4px solid #119ed3;
}
.text p br{display:none;}
}


/* ------------------------------------------- CSS Information 
 Style Info: img
----------------------------------------------------------- */
.textbox{width:50%;margin:0;padding:0;}
.imgbox{width:50%;margin:0;padding:0;}


/* ------------------------------------------- CSS Information 
 Style Info: contents
----------------------------------------------------------- */

/* -- contents01 -- */
#contents01{background:#ebebeb;}


/* -- contents02 -- */
#contents02{background:#ffffff;min-height:600px;}
.contents02_box{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
width:100%;
margin:0;
padding:0;
}
.contents02_box .textbox{width:50%;margin:0;padding:0;}
.contents02_box .text{
width:100%;
max-width:640px;
margin:0 0 0 auto;
padding:80px 20px 50px 20px;
box-sizing:border-box;
}
.contents02_box .imgbox{
width:50%;
margin:0;
padding:0;
background:url(../img/contents02_img.png) no-repeat center;
background-size:cover;
}
@media only screen and (max-width:750px){
#contents02{}
.contents02_box{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
width:100%;
margin:0;
padding:0;
}
.contents02_box .textbox{width:100%;}
.contents02_box .text{
width:100%;
max-width:750px;
margin:0;
padding:40px 20px 0 20px;
box-sizing:border-box;
}
.contents02_box .imgbox{
width:100%;
height:200px;
margin:0;
padding:0;
border:20px solid #ffffff;
background:url(../img/contents02_img.png) no-repeat center;
background-size:cover;
box-sizing:border-box;
}
}

/* -- contents03 -- */
#contents03{background:#ffffff;min-height:600px;}
.contents03_box{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: reverse;
-ms-flex-direction: row-reverse;
flex-direction: row-reverse;
width:100%;
margin:0;
padding:0;
}
.contents03_box .textbox{width:50%;margin:0;padding:0;}
.contents03_box .text{
width:100%;
max-width:640px;
margin:0 auto 0 0;
padding:80px 20px 50px 80px;
box-sizing:border-box;
text-align:left;
}
.contents03_box .imgbox{
width:50%;
margin:0;
padding:0;
background:url(../img/contents03_img.png) no-repeat center;
background-size:cover;
}
@media only screen and (max-width:750px){
#contents03{}
.contents03_box{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
width:100%;
margin:0;
padding:0;
}
.contents03_box .textbox{width:100%;}
.contents03_box .text{
width:100%;
max-width:750px;
margin:0;
padding:40px 20px 0 20px;
box-sizing:border-box;
}
.contents03_box .imgbox{
width:100%;
height:200px;
margin:0;
padding:0;
border:20px solid #ffffff;
background:url(../img/contents03_img.png) no-repeat center;
background-size:cover;
box-sizing:border-box;
}
}


/* -- contents05 -- */
#contents05{
background:#ffffff;
margin:40px 40px 80px 40px;
padding:80px 0 40px 0;
border:2px solid #bca849;
}
.contents05_box{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
width:100%;
max-width:1080px;
margin:0 auto;
padding:40px 0 0 0;
}
.contents05_box .textbox{width:60%;margin:0;padding:0;}
.contents05_box .text{
width:100%;
margin:0 0 0 auto;
padding:40px 0 10px 40px;
box-sizing:border-box;
}
.contents05_box dt{
margin:0 0 30px 0;
padding:0 0 20px 0;
font-size:24px;
line-height:30px;
font-weight:bold;
border-bottom:1px solid #119ed3;
}
.contents05_box dd{
margin:0;
padding:0;
}
.contents05_box .imgbox{
width:40%;
margin:0 auto 0 0;
padding:90px 40px 40px 40px;
box-sizing:border-box;
text-align:right;
}
.contents05_box .imgbox img{width:100%;}
@media only screen and (max-width:750px){
#contents05{
margin:20px 10px 20px 10px;
padding:20px 0 20px 0;
border:1px solid #bca849;
}
.contents05_box{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
margin:0;
padding:20px 0 0 0;
}
.contents05_box .textbox{width:100%;}
.contents05_box .text{
width:100%;
margin:0 0 0 auto;
padding:40px 20px 20px 20px;
box-sizing:border-box;
}
.contents05_box dt{
margin:0 0 20px 0;
padding:0 0 20px 0;
font-size:16px;
line-height:20px;
text-align:center;
}
.contents05_box dd{
margin:0;
padding:0;
}
.contents05_box .imgbox{
width:100%;
margin:0;
padding:0 20px;
box-sizing:border-box;
text-align:right;
}
.contents05_box .imgbox img{width:100%;}
}

/* -- contents06 -- */
#contents06{
background:#ffffff url(../img/contents06_bg.png) no-repeat center;
background-size:cover;
padding:80px 0;
}
.contents06_box{
width:100%;
max-width:1080px;
margin:0 auto;
padding:0;
}
.photo{
float:right;
width:300px;
}
.sign{
display:block;
margin:20px 0 0 auto;
}
@media only screen and (max-width:750px){
#contents06{padding:20px 0 40px 0;}
.contents06_box{}
.photo{
display:block;
float:none;
width:240px;
margin:0 auto 20px auto;
}
.sign{
display:block;
margin:10px 0 0 auto;
width:120px;
height:24px;
}
}


/* ------------------------------------------- CSS Information 
 Style Info: PROGRAM
----------------------------------------------------------- */
.program{
width:100%;
margin:0;
padding:40px 0 50px 0;
text-align:center;
background:#120802;
}
.program .text{color:#f6f6f6;}
@media only screen and (max-width:750px){
.program{padding:20px 0 10px 0;}
}

/* ------------------------------------------- CSS Information 
 Style Info: CURRICULUM
----------------------------------------------------------- */
.curriculum{background:#f6f6f6;}
.title_curriculum{
margin:0;
padding:0;
text-align:center;
box-sizing:border-box;
}
#curriculum01 .title_curriculum{
background:url(../img/title_curriculum01_bg.png), -moz-linear-gradient(top,#3a607a,#067999);
background:url(../img/title_curriculum01_bg.png), -webkit-linear-gradient(top,#3a607a,#067999);
background:url(../img/title_curriculum01_bg.png), linear-gradient(to bottom,#3a607a,#067999);
background-repeat:no-repeat;
background-position:center right;
background-size:100% auto;
}
#curriculum02 .title_curriculum{
background:url(../img/title_curriculum02_bg.png), -moz-linear-gradient(top,#3a607a,#067999);
background:url(../img/title_curriculum02_bg.png), -webkit-linear-gradient(top,#3a607a,#067999);
background:url(../img/title_curriculum02_bg.png), linear-gradient(to bottom,#3a607a,#067999);
background-repeat:no-repeat;
background-position:center right;
background-size:100% auto;
}
#curriculum03 .title_curriculum{
background:url(../img/title_curriculum03_bg.png), -moz-linear-gradient(top,#3a607a,#067999);
background:url(../img/title_curriculum03_bg.png), -webkit-linear-gradient(top,#3a607a,#067999);
background:url(../img/title_curriculum03_bg.png), linear-gradient(to bottom,#3a607a,#067999);
background-repeat:no-repeat;
background-position:center right;
background-size:100% auto;
}
.curriculum_box{
width:100%;
margin:0 auto;
padding:40px 0 80px 0;
box-sizing:border-box;
background:#ffffff url(../img/curriculum_bg.png) no-repeat center;
background-size:cover;
}
.curriculum_box .text{text-align:right;}
@media only screen and (max-width:750px){
.curriculum{}
#curriculum01 .title_curriculum{background:none;}
#curriculum02 .title_curriculum{background:none;}
#curriculum03 .title_curriculum{background:none;}
.curriculum_box{padding:20px 0;}
.curriculum_box .text{text-align:center;}
.curriculum_box .text br{display:block;}
}

/* ------------------------------------------- CSS Information 
 Style Info: FAQ
----------------------------------------------------------- */
#faq{padding:80px 0;background:#ffffff;}
#faq dl{
width:100%;
max-width:980px;
margin:40px auto 0 auto;
padding:0 40px;
box-sizing:border-box;
}
#faq dt{
font-size:16px;
line-height:30px;
text-align:justify;
margin:0;
padding:20px 20px 20px 70px;
background:#f3f3f3 url(../img/faq_q.png) no-repeat 20px 20px;
background-size:30px 30px;
border-bottom:1px solid #e8d76a;
}
#faq dd{
font-size:16px;
line-height:30px;
text-align:justify;
margin:0 0 30px 0;
padding:20px 20px 20px 70px;
background:#f3f3f3 url(../img/faq_a.png) no-repeat 20px 20px;
background-size:30px 30px;
z-index:2;
}
#faq dd:last-child{margin:0;}
@media only screen and (max-width:750px){
#faq{padding:40px 0;}
#faq dl{
margin:20px 0 0 0;
padding:0 20px;
}
#faq dt{
font-size:14px;
line-height:24px;
padding:20px 20px 20px 40px;
background:#f3f3f3 url(../img/faq_q.png) no-repeat 10px 20px;
background-size:24px 24px;
}
#faq dd{
font-size:14px;
line-height:24px;
text-align:justify;
margin:0 0 20px 0;
padding:20px 20px 20px 40px;
background:#f3f3f3 url(../img/faq_a.png) no-repeat 10px 20px;
background-size:24px 24px;
}
#faq dd:last-child{margin:0;}
}



/* ------------------------------------------- CSS Information 
 Style Info: CTA
----------------------------------------------------------- */
.cta{
width:100%;
margin:0;
padding:40px 0 40px 0;
text-align:center;
background:#120802;
}
.cta_btn{
width:100%;
max-width:710px;
margin:0 auto;
padding:0 20px;
box-sizing:border-box;
}
.cta_btn img{width:100%;}
.payment{
width:100%;
max-width:710px;
margin:40px auto 0 auto;
padding:0 20px;
box-sizing:border-box;
color:#f6f6f6;
font-size:14px;
line-height:24px;
text-align:left;
}
.payment_title{
display:-webkit-box;
display:-webkit-flex;
display:-ms-flexbox;
display:flex;
-webkit-box-align:center;
-webkit-align-items:center;
-ms-flex-align:center;
align-items:center;
text-align:left; /* for no-flexbox browsers */
}
.payment_title:after{
border-top: 1px solid #bca849;
content:"";
display:inline; /* for IE */
-webkit-box-flex:1;
-webkit-flex-grow:1;
-ms-flex:1;
flex-grow:1;
margin-left:10px;
}
.payment_attention{
font-size:14px;
line-height:20px;
margin:0;
padding:20px 0 0 0;
}
.payment_attention dt{
margin:0 0 4px 0;
padding:0 0 0 4px;
border-left:2px solid #bca849;
}
.payment_attention dd{
margin:0 0 20px 0;
padding:0 0 0 6px;
}
@media only screen and (max-width:750px){
.cta{padding:20px 0;}
.payment{margin:20px auto 0 auto;}
}
/*----- ボタンアニメーション -----*/
.reflection_box{
margin:0 auto;
width:100%;
max-width:670px;
height:100%;
position:relative;
overflow:hidden;
box-sizing:border-box;
border-radius:10px;
border:2px solid #268300;
}
.reflection{
width:30px;
height:100%;
position:absolute;
top:-180px;
left:0;
background-color:rgba(255,255,255,0.8);
opacity:0;
transform:rotate(45deg);
animation:reflection 3s ease-in-out infinite;
-webkit-transform: rotate(45deg);
-webkit-animation: reflection 4s ease-in-out infinite;
-moz-transform: rotate(45deg);
-moz-animation: reflection 4s ease-in-out infinite;
-ms-transform: rotate(45deg);
-ms-animation: reflection 4s ease-in-out infinite;
-o-transform: rotate(45deg);
-o-animation: reflection 4s ease-in-out infinite;
}
@keyframes reflection {
0%{ transform: scale(0) rotate(45deg); opacity: 0; }
80%{ transform: scale(0) rotate(45deg); opacity: 0.5; }
81%{ transform: scale(4) rotate(45deg); opacity: 1; }
100%{ transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflection {
0%{ -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
80%{ -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
81%{ -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
100%{ -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-moz-keyframes reflection {
0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -moz-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -moz-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-ms-keyframes reflection {
0% { -ms-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -ms-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -ms-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -ms-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-o-keyframes reflection {
0% { -o-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -o-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -o-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}

/* ------------------------------------------- CSS Information 
 Style Info:     フッター設定
----------------------------------------------------------- */
footer{
margin:0;
padding:40px 0;
width:100%;
background:#121619;
color:#d1d1d1;
}
#fnav a{color:#d1d1d1;text-decoration:none;}
#fnav a:hover{color:#d1d1d1;text-decoration:underline;}
#fnav{margin:0 0 20px 0;}
#fnav ul{list-style-type:none;}
#fnav li{
font-size:12px;
line-height:20px;
display:inline-block;
padding:0 20px;
border-right:1px solid #f0b51b;
}
#fnav li:last-child{border-right:none;}
address{
text-align:center;
font-size:12px;
line-height:20px;
padding:0;
}
@media only screen and (max-width:767px){
#fnav{margin:0 0 40px 0;}
#fnav li{
display:block;
border-right:0;
margin:0 0 20px 0;
}
.sp_no{display:none;}
}

/* --------------------------------- CSS Information 
 Style Info: fadein
------------------------------------------------- */
.fadein{
opacity:0;
transition:all ease 1s;
}
.fadein.scrollin{opacity:1;}
/*左から----------*/
.fadein_left{
opacity:0;
transform:translateX(-40px);
transition:all 1s;
}
.fadein_left.scrollin{
opacity:1;
transform:translateX(0);
}
/*右から----------*/
.fadein_right{
opacity:0;
transform:translateX(40px);
transition:all 1s;
}
.fadein_right.scrollin{
opacity:1;
transform:translateX(0);
}
/*上から----------*/
.fadein_top{
opacity:0;
transform:translateY(-20px);
transition:all 1s;
}
.fadein_top.scrollin{
opacity:1;
transform:translateY(0);
}
/*下から----------*/
.fadein_bottom{
opacity:0;
transform:translateY(20px);
transition:all 1s;
}
.fadein_bottom.scrollin{
opacity:1;
transform:translateY(0);
}