@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@600&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: #666666;}
a:hover{text-decoration: underline;color: #999999;}
a:active{text-decoration: none;color: #666666;}
/*font*/
.b{font-weight:bold;}
.ul{background:linear-gradient(transparent 70%, #f9e427 0%)}
.bg{background-color:#f9e427;}
.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:#f90505;}
.text_center{text-align:center;}
.text_right{text-align:right;}
.pc{display:block;}
.sp{display:none;}
@media only screen and (max-width:750px){
.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:18px;
line-height:0;
text-align:center;
letter-spacing:0em;
background:#ffffff;
width:100%;
height:100%;
}

/* ----------------------- CSS Information 
 Style Info: HEADER
--------------------------------------- */
header{
position:relative;
width:100%;
margin:0;
padding:0 0 60px 0;
background:#f4dc98 url(../img/header_bg_pc.png) no-repeat center top;
box-sizing:border-box;
}
@media only screen and (max-width:1250px){header{background-size:100% auto;}}
/* header_img -----*/
#header_img{
width:100%;
max-width:1250px;
margin:0 auto;
padding:0;
}
#header_img img{
width:100%;
margin:0;
padding:0;
}
@media only screen and (max-width:750px){
header{padding:0 0 40px 0;background:#f4dc98;}
}

/* ----------------------- CSS Information 
 Style Info: TITLE
--------------------------------------- */
.title{
width:100%;
max-width:1000px;
margin:0 auto 40px auto;
padding:0;
text-align:center;
box-sizing:border-box;
}
#profile .title{margin:0 auto;}
#faq .title{margin:0 auto;}
.title img{width:100%;margin:0 auto;}
@media only screen and (max-width:750px){
.title{margin:0 auto 0 auto;}
}

/* ----------------------- CSS Information 
 Style Info: 共通設定
--------------------------------------- */
/* -- wrapper -- */
.wrapper{
width:100%;
max-width:1000px;
margin:0 auto;
box-sizing:border-box;
}
/* -- 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:60px 4%;
font-size:18px;
line-height:40px;
text-align:left;
box-sizing:border-box;
}
.text p{margin:0 0 30px 0;padding:0;}
.text p:last-child{margin:0;}
.text ul{margin:0 0 30px 0;}
.text ul li{}
.text ol{margin:0 0 30px 0;}
@media only screen and (max-width:750px){
.text{
padding:30px 4%;
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 ol{margin:0 0 20px 0;}
.text ol li{}

/* -- br -- */
.text br{display:none;}
.text br.sp{display:block;}
.text br.all{display:block;}
.text.br_all br{display:block;}
}

/* ----------------------- CSS Information 
 Style Info: CTA
--------------------------------------- */
.cta{
width:100%;
margin:0;
padding:0 0 60px 0;
text-align:center;
background:#f4dc98 url(../img/cta_bg_top.png) no-repeat center top;
}
@media only screen and (max-width:1000px){.cta{background-size:100% auto;}}
.cta_img{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
.cta_info{
width:100%;
margin:0 auto;
padding:0 4%;
box-sizing:border-box;
}
.payment{
width:100%;
max-width:600px;
margin:20px auto;
padding:0;
text-align:center;
color:#333333;
}
.payment dt{
display:flex;
align-items:center;
justify-content:center;
font-size:16px;
line-height:30px;
}
.payment dt:before,.payment dt:after{
content:"";
height:1px;
background:#00899a;
flex:1;
}
.payment dt:before{margin-right:10px;}
.payment dt:after{margin-left:10px;}
.payment dd{
margin:0;
padding:0;
font-size:16px;
line-height:30px;
}
.payment_img{
display:block;
width:100%;
max-width:240px;
margin:5px auto;
padding:0;
}
.limit{
width:100%;
max-width:600px;
margin:0 auto;
padding:10px 0;
font-size:20px;
line-height:30px;
color:#fe0034;
background:rgba(255,255,255,0.75);
border:2px solid #fe0034;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
.cta{padding:0 0 40px 0;background:#f4dc98;}
.cta_img{}
.cta_info{}
.payment{max-width:690px;
margin:20px auto;}
.payment dt{font-size:14px;line-height:24px;}
.payment dt:before,.payment dt:after{}
.payment dt:before{}
.payment dt:after{}
.payment dd{font-size:14px;line-height:24px;}
.payment_img{}
.limit{max-width:690px;font-size:16px;}
}

/* ----------------------- CSS Information 
 Style Info: BTN
--------------------------------------- */
.btn{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0 4%;
box-sizing:border-box;
}
.btn.btn_header{background:#f4dc98;}
.btn_wrapper{
position:relative;
width:100%;
max-width:600px;
margin:0 auto;
padding:0;
background:#ffffff;
overflow:hidden;
border-radius:8px;
box-shadow:2px 2px 4px 0px rgba(0,0,0,0.5);
box-sizing:border-box;
}
.btn_wrapper img{width:100%;}
.btn_wrapper img:hover{opacity:0.5;}

/* ----------------------- CSS Information 
 Style Info: CONTENTS01
--------------------------------------- */
#contents01{background:#ffffff;}
.ul_01{
color:#00b4cb;
font-size:22px;
line-height:40px;
font-weight:700;
}
.ol_01{
font-size:22px;
line-height:40px;
font-weight:700;
}
@media only screen and (max-width:750px){
.ul_01{font-size:16px;line-height:30px;}
.ol_01{font-size:16px;line-height:30px;}
}

/* ----------------------- CSS Information 
 Style Info: TROUBLE
--------------------------------------- */
#trouble{background:#ffffff;padding:0 0 120px 0;}
.ul_trouble{}
.ul_trouble li{
position:relative;
margin:0 0 20px 0;
padding:0 0 20px 40px;
font-size:22px;
line-height:40px;
font-weight:700;
border-bottom:1px dashed #999999;
}
.ul_trouble li:before{
content:"";
position:absolute;
top:8px;
left:8px;
-webkit-transform:rotate(50deg);
-ms-transform:rotate(50deg);
transform:rotate(50deg);
width:8px;
height:16px;
border-right:5px solid #ffffff;
border-bottom:5px solid #ffffff;
z-index:10;
}
.ul_trouble li:after{
content:"";
position:absolute;
top:7px;
left:0;
width:30px;
height:30px;
background:#00b4cb;
border-radius:2px;
}
@media only screen and (max-width:750px){
#trouble{background:#ffffff;padding:0 0 60px 0;}
.ul_trouble{}
.ul_trouble li{margin:0 0 20px 0;padding:0 0 20px 25px;font-size:15px;line-height:30px;}
.ul_trouble li:before{top:6px;left:5px;width:6px;height:12px;border-right:4px solid #ffffff;border-bottom:4px solid #ffffff;}
.ul_trouble li:after{top:6px;width:20px;height:20px;}
}

/* ----------------------- CSS Information 
 Style Info: CONTENTS02
--------------------------------------- */
#contents02{background:#ffffff;padding:0 0 120px 0;}
.contents02_img{float:right;width:150px;padding:0 0 20px 20px;}
.chart{display:block;width:100%;margin:40px auto;}
.chart img{display:block;width:100%;margin:0 auto;padding:0;}
.ul_02{}
.ul_02_01{font-weight:bold;color:#fe0034;}
.ul_02_02{font-weight:bold;color:#009663;}
.ul_02_03{font-weight:bold;color:#397fb4;}
.ol_02{
counter-reset:num;
list-style-type:none !important;
margin:0;
padding:0;
}
.ol_02 li{
position:relative;
display:block;
margin:0 0 10px 0;
padding:0 0 0 40px;
font-size:22px;
line-height:40px;
font-weight:700;
}
.ol_02 li:before{
position:absolute;
counter-increment:num;
content:counter(num);
display:inline-block;
background:#00b4cb;
color:#ffffff;
font-family:'Noto Sans JP',"メイリオ","ヒラギノ角ゴ Pro W3",Sans-Serif;
font-weight:bold;
font-size:18px;
border-radius:50%;
top:6px;
left:0;
width:30px;
height:30px;
line-height:29px;
text-align:center;
}
@media only screen and (max-width:750px){
#contents02{padding:0 0 40px 0;}
.contents02_img{width:60px;padding:0 0 0 20px;}
.chart{display:block;width:100%;margin:20px auto;}
.ul_02{}
.ol_02{}
.ol_02 li{margin:0 0 20px 0;padding:0 0 0 25px;font-size:16px;line-height:30px;}
.ol_02 li:before{font-size:16px;width:20px;height:20px;line-height:19px;}
}

/* ----------------------- CSS Information 
 Style Info: CONTENTS03
--------------------------------------- */
#contents03{background:#ffffff;}

/* ----------------------- CSS Information 
 Style Info: CURRICULUM
--------------------------------------- */
#curriculum{
padding:0 0 60px 0;
background:#f4dc98 url(../img/curriculum_bg_top.png) no-repeat center top;
}
@media only screen and (max-width:1000px){#curriculum{background-size:100% auto;}}
.title_curriculum{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
} 
.curriculum_wrapper{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
box-sizing:border-box;
}
.curriculum_index{
width:92%;
margin:0 auto;
padding:0;
} 
.curriculum_box{
margin:0 4% 40px 4%;
padding:0 4%;
background:#ffffff;
}
.curriculum_box .text{
padding:40px 0;
text-align:justify;
border-top:2px dotted #6bdfe7;
}
.curriculum_box .text p{margin:0;padding:0;}
.curriculum_attention{
margin:0 4% 40px 4%;
padding:0;
font-size:18px;
line-height:40px;
text-align:center;
}
@media only screen and (max-width:750px){
#curriculum{padding:0 0 40px 0;background:#f4dc98;}
.title_curriculum{} 
.curriculum_wrapper{}
.curriculum_index{} 
.curriculum_box{margin:0 4% 20px 4%;}
.curriculum_box .text{padding:20px 0;}
.curriculum_box .text p{}
.curriculum_attention{font-size:14px;line-height:24px;}
}

/* ----------------------- CSS Information 
 Style Info: PRESENT
--------------------------------------- */
#present{
padding:0;
background:#6bdfe7 url(../img/present_bg_pc.png) no-repeat center top;
}
@media only screen and (max-width:1000px){#present{background-size:100% auto;}}
.title_present{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
} 
#indicator{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
box-sizing:border-box;
}
.indicator_wrapper{
margin:0 4%;
padding:0 0 60px 0;
background:#ffffff;
}
.title_indicator{
width:100%;
margin:0 auto;
padding:0;
}
.indicator_index{
width:100%;
max-width:920px;
margin:0 auto;
padding:0;
}
.indicator_box{
width:100%;
margin:0;
padding:0 4%;
box-sizing:border-box;
}
.indicator_text{
font-size:18px;
line-height:30px;
text-align:center;
box-sizing:border-box;
}
.indicator01 .indicator_text{
text-align:justify;
}
.indicator02 .indicator_text{
text-align:center;padding:0 0 20px 0;
}
.indicator_text p{margin:0;padding:0;}
.indicator_img{
display:block;
width:100%;
max-width:840px;
margin:0 auto;
padding:0;
box-sizing:border-box;
}
.present_attention{
font-size:12px;
line-height:16px;
margin:0;
padding:10px 4% 0 4%;
text-align:right;
}
@media only screen and (max-width:750px){
#present{padding:0;background:#6bdfe7;}
.title_present{} 
#indicator{}
.indicator_wrapper{padding:0 0 20px 0;}
.title_indicator{}
.indicator_index{}
.indicator_box{}
.indicator_text{font-size:14px;line-height:24px;}
.indicator01 .indicator_text{padding:0 0 5px 0;}
.indicator02 .indicator_text{padding:0 0 10px 0;}
.indicator_text p{margin:0;padding:0;}
.indicator_img{}
.indicator_text br{display:none;}
.present_attention{text-align:center;}
}

/* ----------------------- CSS Information 
 Style Info: APPEAL
--------------------------------------- */
#appeal{
padding:0 0 60px 0;
background:#ffffff url(../img/appeal_bg_pc.png) no-repeat center top;
}
@media only screen and (max-width:1000px){#appeal{background-size:100% auto;}}
.title_appeal{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
} 
.appeal_wrapper{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
box-sizing:border-box;
}
.appeal_index{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
} 
.appeal_box{
margin:0 4% 60px 4%;
padding:0;
background:#f4dc98;
border-radius:10px;
}
.appeal_box .text{
padding:40px 4%;
text-align:justify;
}
.appeal_box .text p{margin:0;padding:0;}
@media only screen and (max-width:750px){
#appeal{padding:0 0 40px 0;background:#ffffff;}
.title_appeal{} 
.appeal_wrapper{}
.appeal_index{} 
.appeal_box{margin:0 4% 20px 4%;}
.appeal_box .text{padding:20px 4%;}
.appeal_box .text p{margin:0;padding:0;}
}

/* ----------------------- CSS Information 
 Style Info: PROFILE
--------------------------------------- */
#profile{background:#ffffff;}
.profile_wrapper{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
box-sizing:border-box;
}
.profile_box{
margin:0 4% 30px 4%;
padding:30px 4%;
background:#f4dc98;
border-radius:10px;
}
.profile .profile_box:last-child{margin:0;}
.profile_img{
display:block;
padding:0 0 20px 20px;
width:30%;
float:right;
}
.profile_box dl{}
.profile_box dt.info{
display:block;
width:160px;
margin:0 auto 0 0;
padding:0;
font-size:16px;
line-height:30px;
text-align:center;
font-weight:bold;
color:#ffffff;
background:#048e99;
border-radius:15px;
}
.profile_box dt.name{
font-size:20px;
line-height:30px;
text-align:left;
margin:10px 0 30px 0;
padding:0;
font-weight:bold;
color:#048e99;
}
.profile_box dd{
margin:0;
padding:0;
font-size:16px;
line-height:30px;
text-align:justify;
color:#333333;
}
.profile_box dd ul{margin:0 0 30px 0;padding:0;}
.profile_box dd p{margin:0;padding:0;}
@media only screen and (max-width:750px){
#profile{}
.profile_wrapper{}
.profile_box{margin:0 4% 20px 4%;padding:20px 4%;}
.profile .profile_box:last-child{margin:0;}
.profile_img{
margin:0 auto 20px auto;
padding:0;
width:160px;
float:none;
}
.profile_box dl{}
.profile_box dt.info{width:160px;margin:0 auto;font-size:14px;}
.profile_box dt.name{
font-size:16px;
line-height:30px;
text-align:center;
margin:10px 0 20px 0;
}
.profile_box dd{font-size:14px;line-height:24px;}
.profile_box dd ul{margin:0 0 20px 0;}
.profile_box dd p{margin:0;padding:0;}
}

/* ----------------------- CSS Information 
 Style Info: FAQ
--------------------------------------- */
#faq{background:#ffffff;}
.faq_wrapper{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
box-sizing:border-box;
}
#faq dl{
margin:0 4%;
font-size:16px;
line-height:30px;
text-align:justify;
}
#faq dt{
margin:0;
padding:20px 20px 20px 70px;
background:#f4dc98 url(../img/faq_q.png) no-repeat 20px 20px;
background-size:30px 30px;
border-radius:10px 10px 0 0;
border-bottom:1px solid #e7a302;
}
#faq dd{
margin:0 0 30px 0;
padding:20px 20px 20px 70px;
background:#f4dc98 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:#f4dc98 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:#f4dc98 url(../img/faq_a.png) no-repeat 10px 20px;
background-size:24px 24px;
}
}

/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
margin:0;
padding:40px 0 200px 0;
width:100%;
background:#00899a;
color:#eeeeee;
}
#fnav a{color:#eeeeee;text-decoration:none;}
#fnav a:hover{color:#eeeeee;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 #6ccfe5;
}
#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: FOOTER_FIXED
--------------------------------------- */
#footer_fixed{
display:none;
position:fixed;
bottom:0;
left:0;
width:100%;
z-index:100;
background:#2cbad1;
box-shadow:0 0 4px 0px rgba(0,0,0,0.5);
box-sizing:border-box;
}
.footer_fixed_wrapper{
position:relative;
width:100%;
max-width:750px;
height:100%;
margin:0 auto;
padding:0;
background:#2cbad1;
box-sizing:border-box;
}
.footer_fixed_img{width:100%;max-width:750px;margin:0 auto;}
.btn_footer{
position:absolute;
top:50%;
right:2%;
width:33%;
margin:0 0 0 auto;
padding:0;
background:#ffffff;
border-radius:6px;
box-shadow:2px 2px 2px 0px rgba(0,0,0,0.5);
box-sizing:border-box;
overflow:hidden;
}
.btn_footer img{width:100%;}
.btn_footer img:hover{opacity:0.5;}
@media only screen and (max-width:750px){
#footer_fixed{}
.footer_fixed_wrapper{}
.footer_fixed_img{}
.btn_footer{
position:absolute;
top:12.5%;
left:50%;
width:48%;
margin:0 auto 0 0;
padding:0;
background:#ffffff;
border-radius:6px;
box-shadow:2px 2px 2px 0px rgba(0,0,0,0.5);
box-sizing:border-box;
overflow:hidden;
}
.btn_footer img{width:100%;}
.btn_footer img:hover{opacity:0.5;}
}

/* --------------------------------- 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);
}