@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&family=Noto+Serif+JP:wght@400;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap');


/* ------------------------------------------- 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:700;}
.ul{text-decoration:underline;}
.bg{background-color:#fff45c;}
.big{font-size:22px;line-height:36px;}@media only screen and (max-width:750px){.big{font-size:16px;line-height:24px;}}
.small{font-size:12px;line-height:20px;}
.red{color:#dd2c32;}
.reason_box .red{color:#ebd179;}
.blue{color:#2faeb9;}
.text_center{text-align:center;}
.text_right{text-align:right;}

/*----- image -----*/
.img750{width:100%;max-width:750px;}
.img_right{display:block;margin:0 0 30px 30px;float:right;}
.img320{width:40%;max-width:320px;}
.img240{width:25%;max-width:240px;}

.pc{display:block;}
.sp{display:none;}
@media only screen and (max-width:750px){
.img_right{margin:0 0 10px 10px;}
.img320{width:40%;max-width:320px;}
.img240{width:40%;max-width:240px;}
.pc{display:none;}
.sp{display:block;}
}

/* ----------------------- CSS Information 
 Style Info: HTML/BODY
--------------------------------------- */
html,body{  
font-family:'Noto Sans JP',"メイリオ","ヒラギノ角ゴ Pro W3",Sans-Serif;
color:#333333;
font-size:17px;
line-height:0;
text-align:center;
letter-spacing:0em;
background:#ffffff;
width:100%;
height:100%;
}

/* ----------------------- CSS Information 
 Style Info: HEADER
--------------------------------------- */
header{
position:relative;
margin:0;
padding:0;
width:100%;
height:100%;
min-height:760px;
box-sizing:border-box;
text-align:center;
background:#f6f6f5 url(../img/header_bg_pc.png) no-repeat center top;
background-size:cover;
}
/* header_text -----*/
#header_text{
position:relative;
width:100%;
max-width:1260px;
height:100%;
margin:0 auto;
padding:0;
z-index:10;
box-sizing:border-box;
}
#header_text img{
position:absolute;
width:100%;
max-width:750px;
margin:auto auto auto 0;
padding:0;
top:0;
bottom:0;
left:0;
opacity:0;
box-sizing:border-box;
-webkit-animation:header_text 0.5s both 1s;
animation:header_text 0.5s both 1s;
}
@-webkit-keyframes header_text{0%{opacity:0;}100%{opacity:1;}}
@keyframes header_text{0%{opacity:0;}100%{opacity:1;}}
#header_text img.header_img01{animation-delay:1s;}
#header_text img.header_img02{animation-delay:2s;}
#header_text img.header_img03{animation-delay:3s;}
#header_text img.header_img04{animation-delay:4s;}
#header_text img.header_img05{animation-delay:5s;}
#header_text img.header_img06{animation-delay:6s;}
@media only screen and (max-width:750px){
header{
height:auto;
min-height:0;
background:#f6f6f5 url(../img/header_bg_sp.png) no-repeat center top;
background-size:cover;
}
/* header_text -----*/
#header_text{width:100%;max-width:750px;height:auto;}
#header_text img{margin:0 auto auto auto;top:0;bottom:auto;left:0;right:0;}
#header_text img.header_img01{position:relative;}
}

/* ----------------------- CSS Information 
 Style Info: INDEX
--------------------------------------- */
.index{
display:flex;
align-items:center;
justify-content:center;
width:100%;
margin:0 auto 60px auto;
padding:0;
text-align:center;
box-sizing:border-box;
}
.index img{width:auto;height:20px;margin:0 10px;}
.index.scrollin:before,.index.scrollin:after{
content:"";
border-top:2px solid #fabe00;
width:0;
animation:index_hr 0.5s linear 0.5s both;
-webkit-animation:index_hr 0.2s linear 0.5s both;
}
@keyframes index_hr{0%{width:0%;}100%{width:100%;}}
@-webkit-keyframes index_hr{0%{width:0%;}100%{width:100%;}}
@media only screen and (max-width:750px){
.index{margin:0 auto 30px auto;}
.index img{height:14px;}
.index.scrollin:before,.index.scrollin:after{border-top:2px solid #fabe00;}
}

/* -- index_left -- */
.index_left{
display:flex;
align-items:center;
justify-content:center;
width:100%;
margin:0 auto 60px auto;
padding:0;
font-size:16px;
line-height:20px;
text-align:center;
font-weight:600;
color:#666666;
box-sizing:border-box;
letter-spacing:2px;
}
.index_left img{width:auto;height:20px;margin:0 14px 0 0;}
.index_left:after{
content:"";
margin:0 0 0 10px;
border-top:2px solid #fabe00;
flex:1;
}
@media only screen and (max-width:750px){
.index_left{
margin:0 auto 30px auto;
font-size:14px;
line-height:16px;
}
.index_left img{height:14px;margin:0 10px 0 0;}
.index_left:after{margin:0 0 0 10px;}
}

/* ----------------------- CSS Information 
 Style Info: TITLE
--------------------------------------- */
.title{
width:100%;
margin:0 auto 60px auto;
padding:0;
text-align:center;
box-sizing:border-box;
}
.title img{width:100%;max-width:690px;margin:0 auto;}
.title.scrollin:after{
content:"";
display:block;
margin:60px auto 0 auto;
padding:0;
width:0;
height:2px;
background:#fabe00;
animation:title_hr 0.5s linear 0.5s both;
-webkit-animation:title_hr 0.2s linear 0.5s both;
}
@keyframes title_hr{0%{width:0%;}100%{width:100%;}}
@-webkit-keyframes title_hr{0%{width:0%;}100%{width:100%;}}
@media only screen and (max-width:750px){
.title{margin:0 auto 30px auto;}
.title img{max-width:345px;}
.title.scrollin:after{margin:30px auto 0 auto;}
}

/* ----------------------- CSS Information 
 Style Info: 共通設定
--------------------------------------- */
/* -- wrapper -- */
.wrapper{
width:100%;
max-width:1060px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
@media only screen and (max-width:750px){.wrapper{padding:0 4%;}}
/* -- contents -- */
.contents{
width:100%;
margin:0;
padding:120px 0 120px 0;
position:relative;
background:#ffffff;
}
@media only screen and (max-width:750px){.contents{padding:40px 0 40px 0;}}
/* -- text -- */
.text{
padding:0;
font-size:17px;
line-height:33px;
text-align:left;
box-sizing:border-box;
}
.text p{margin:0 0 32px 0;padding:0;}
.text p:last-child{margin:0;}
.text ul{margin:0 0 40px 0;list-style:none;}
.text ul li{margin:0;padding:0;list-style:none;}
.text ul.list_ng{}
.text ul.list_ng li{
position:relative;
padding:0 0 0 24px;
text-align:left;
font-weight:700;
background:url(../img/icon01.png) no-repeat 0 8px;
background-size:20px 20px;
}
.text ul.list_ok{}
.text ul.list_ok li{
position:relative;
margin:0 0 30px 0;
padding:0 0 0 24px;
text-align:left;
font-weight:700;
background:url(../img/icon02.png) no-repeat 0 8px;
background-size:20px 20px;
}
@media only screen and (max-width:750px){
.text{font-size:14px;line-height:24px;text-align:justify;}
.text p{margin:0 0 20px 0;}
.text p:last-child{margin:0;}
.text ul{margin:0 0 20px 0;}
.text ul li{}
.text ul.list_ng{}
.text ul.list_ng li{padding:0 0 0 20px;background:url(../img/icon01.png) no-repeat 0 5px;background-size:16px 16px;}
.text ul.list_ok{}
.text ul.list_ok li{
margin:0 0 20px 0;
padding:0 0 0 20px;
background:url(../img/icon02.png) no-repeat 0 5px;
background-size:16px 16px;
}
/* -- br -- */
.text br{display:none;}
.text br.sp{display:block;}
.text.br_all br{display:block;}
}

/* ----------------------- CSS Information 
 Style Info: CONTENTS01
--------------------------------------- */
#contents01{}
/* -- box_inner -- */
.box_inner{
display:block;
width:100%;
margin:40px auto;
padding:40px;
box-sizing:border-box;
background:#f6f6f5;
border-radius:10px;
}
/* reasont -----*/
dl.reason{}
dl.reason dt{
display:flex;
align-items:center;
justify-content:center;
margin:0 0 32px 0;
padding:0 0 0 24px;
color:#000000;
font-size:20px;
line-height:30px;
font-weight:700;
background:url(../img/icon01.png) no-repeat 0 6px;
background-size:20px 20px;
}
dl.reason dt:after{
content:"";
margin-left:10px;
border-top:2px solid #fabe00;
flex:1;
}
@media only screen and (max-width:750px){
#contents01{}
/* -- box_inner -- */
.box_inner{margin:40px auto;padding:20px 4%;}
/* reasont -----*/
dl.reason{}
dl.reason dt{
margin:0 0 20px 0;
padding:0 0 0 20px;
font-size:16px;
line-height:24px;
background:url(../img/icon01.png) no-repeat 0 5px;
background-size:16px 16px;
}
dl.reason dt:after{display:none;}
}

/* ----------------------- CSS Information 
 Style Info: CONTENTS02
--------------------------------------- */
#contents02{padding:0 0 120px 0;}
@media only screen and (max-width:750px){
#contents02{padding:0 0 40px 0;}
}

/* ----------------------- CSS Information 
 Style Info: CONTENTS03
--------------------------------------- */
#contents03{padding:0 0 120px 0;}
@media only screen and (max-width:750px){
#contents03{padding:0 0 40px 0;}
}

/* ----------------------- CSS Information 
 Style Info: CONTENTS04
--------------------------------------- */
#contents04{}
/* voice -----*/
.voice_list{
display:-ms-flexbox;display:flex;
-ms-flex-wrap:wrap;flex-wrap:wrap;
-ms-flex-pack:justify;justify-content:space-between;
align-items:stretch;
width:100%;
margin:0 auto 40px auto;
padding:0;
box-sizing:border-box;
}
.voice_list li{
position:relative;
display:-ms-flexbox;display:flex;
-ms-flex-align:center;align-items:center;
width:49%;
width:-webkit-calc(50% - 5px);
width:calc(50% - 5px);
margin:0 0 10px 0;
padding:0 10px 0 10px;
list-style:none;
text-align:left;
font-size:16px;
line-height:30px;
background:#f3efe9;
box-sizing:border-box;
}
.voice_list li:nth-of-type(5),.voice_list li:nth-of-type(6){margin:0;}
.voice_img{
display:block;
width:80px;
margin:0;
padding:0 10px 0 0;
}
.voice_list li p{
margin:0;
padding:20px 0;
}
@media only screen and (max-width:750px){
/* voice -----*/
.voice_list{
-ms-flex-direction:column;flex-direction:column;
-ms-flex-pack:start;justify-content:flex-start;
-ms-flex-align:start;align-items:flex-start;
margin:0 auto 20px auto;
}
.voice_list li{
width:100%;
margin:0 0 20px 0;
padding:0 4% 0 5px;
text-align:left;
font-size:14px;
line-height:24px;
}
.voice_list li:nth-of-type(5),.voice_list li:nth-of-type(6){margin:0 0 20px 0;}
.voice_img{width:50px;padding:0 5px 0 0;}
.voice_list li p{
margin:0;
padding:20px 0;
}
}

/* ----------------------- CSS Information 
 Style Info: OUTLINE
--------------------------------------- */
#outline{background:#f9f5eb;}
/* about -----*/
#about{margin:0 auto 80px auto;}
.about_img{width:40%;}
/* curriculum -----*/
#curriculum{}
.curriculum_wrapper{
width:100%;
margin:60px auto 0 0;
padding:0;
box-sizing:border-box;
}
.curriculum_box{
display:-ms-flexbox;display:flex;
-ms-flex-direction:row;flex-direction:row;
-ms-flex-wrap:nowrap;flex-wrap:nowrap;
-ms-flex-pack:start;justify-content:flex-start;
-ms-flex-align:start;align-items:flex-start;
}
.curriculum_box span.curriculum_day{
display:block;
margin:0 auto;
padding:30px 0 0 0;
width:90px;
height:90px;
border-radius:50%;
font-family:'Oswald',sans-serif;
font-size:20px;
line-height:30px;
text-align:center;
color:#ffffff;
background:#ffcc00;
box-sizing:border-box;
}
.curriculum_box dl{
flex:1;
margin:0;
padding:0 0 0 20px;
box-sizing:border-box;
}
.curriculum_box dt{
margin:0 0 20px 0;
font-size:20px;
line-height:30px;
font-weight:700;
text-align:left;
color:#ef9c00;
}
.curriculum_box dd{
display:-ms-flexbox;display:flex;
-ms-flex-direction:row;flex-direction:row;
-ms-flex-wrap:wrap;flex-wrap:wrap;
-ms-flex-pack:start;justify-content:flex-start;
-ms-flex-align:start;align-items:flex-start;
margin:0;padding:0;
}
.curriculum_detail{
width:50%;
margin:0;padding:0;
}
.curriculum_detail li{
position:relative;
margin:0;
padding:5px 10px 5px 20px;
font-size:16px;
line-height:30px;
color:#333333;
text-align:left;
box-sizing:border-box;
}
.curriculum_detail li:before{
content:"";
position:absolute;
top:15px;
left:0;
width:12px;
height:12px;
border-radius:50%;
background:#ffcc00;
padding:0;
}
@media only screen and (max-width:750px){
#outline{}
/* about -----*/
#about{margin:0 auto 40px auto;}
.about_img{}
/* curriculum -----*/
#curriculum{}
.curriculum_wrapper{margin:30px auto 0 auto;}
.curriculum_box{-ms-flex-direction:column;flex-direction:column;}
.curriculum_box span.curriculum_day{padding:20px 0 0 0;width:60px;height:60px;font-size:16px;line-height:20px;}
.curriculum_box dl{width:100%;margin:0;padding:0;}
.curriculum_box dt{
margin:16px 0 20px 0;
font-size:16px;
line-height:24px;
text-align:center;
}
.curriculum_box dd{-ms-flex-direction:column;flex-direction:column;}
.curriculum_detail{width:100%;}
.curriculum_detail li{
padding:5px 0 5px 14px;
font-size:14px;
line-height:24px;
}
.curriculum_detail li:before{top:13px;width:10px;height:10px;}
}

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

/* ----------------------- CSS Information 
 Style Info: CTA
--------------------------------------- */
.cta{
width:100%;
margin:0;
padding:40px 0 60px 0;
text-align:center;
background:#fcde7f url(../img/cta_bg_pc.png) no-repeat center;
background-size:cover;
}
.cta_title{
width:100%;
max-width:750px;
margin:0 auto;
}
/* -- btn -- */
.btn{
position:relative;
display:block;
width:100%;
max-width:660px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
text-align:center;
z-index:10;
}
.btn a.btn01{
position:relative;
display:block;
width:100%;
max-width:600px;
margin:0 auto;
padding:0;
text-align:center;
box-sizing:border-box;
background:-moz-linear-gradient(top, #f1764a, #a43426, #ec1d25);
background:-webkit-linear-gradient(top, #f1764a, #a43426, #ec1d25);
background:linear-gradient(to bottom, #f1764a, #a43426, #ec1d25);
box-shadow:2px 2px 4px 0px rgba(0,0,0,0.5);
border-radius:10px;
}
.btn a.btn01:hover{
background:-moz-linear-gradient(top, #bbe37b, #94c6ac, #d1e9dd);
background:-webkit-linear-gradient(top, #bbe37b, #94c6ac, #d1e9dd);
background:linear-gradient(to bottom, #bbe37b, #94c6ac, #d1e9dd);
}
.btn a.btn01 img{
display:block;
width:400px;
height:auto;
margin:0 auto;
padding:20px 0;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
.cta{
padding:20px 0 40px 0;
background:#fcde7f url(../img/cta_bg_sp.png) no-repeat center;
background-size:cover;
}
.cta_title{}
/* -- btn -- */
.btn{max-width:750px;padding:0 4%;}
.btn a.btn01{border-radius:10px;}
.btn a.btn01:hover{}
.btn a.btn01 img{width:280px;padding:15px 0;}
}


/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
margin:0;
padding:40px 0;
width:100%;
color:#999999;
background:#e9e9e9;
}
#fnav a{color:#999999;text-decoration:none;}
#fnav a:hover{color:#999999;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 #fabe00;
}
#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);
}