@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;500;700;900&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 !important;}
.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;
background:#000000 url(../img/header_bg_pc.png) no-repeat center;
background-size:cover;
box-sizing:border-box;
}
@media only screen and (max-width:2000px){header{background-size:auto 100%;}}
/* header_img -----*/
#header_img{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
#header_img img{width:100%;margin:0;padding:0;}
@media only screen and (max-width:750px){
header{background:none;}
}

/* ----------------------- CSS Information 
 Style Info: 共通設定
--------------------------------------- */
.section{
width:100%;
margin:0;
padding:120px 0 120px 0;
position:relative;
background:#ffffff;
}
.section_wrapper{
width:100%;
max-width:1000px;
margin:0 auto;
box-sizing:border-box;
}
.section_box{
width:100%;
margin:0 auto;
padding:0 4%;
box-sizing:border-box;
}
@media only screen and (max-width:750px){.section{padding:40px 0 40px 0;}}
/* -- title -- */
h1.title{
display:block;
width:100%;
margin:0 auto 80px auto;
padding:0;
}
.title_en{
display:flex;
justify-content:flex-start;
align-items:center;
margin:0 0 40px 0;
padding:0;
}
.title_en img{
display:block;
width:auto;
height:20px;
margin:0 10px;
padding:0;
}
.title_en:before,.title_en:after{
content:"";
margin:0;
flex:1;
height:2px;
background:#372daa;
}
.title_img{
display:block;
width:100%;
max-width:690px;
margin:0 auto;
padding:0;
}
@media only screen and (max-width:750px){
h1.title{margin:0 auto 40px auto;}
.title_en{margin:0 0 20px 0;}
.title_en img{height:14px;margin:0 10px;}
.title_en:before,.title_en:after{}
.title_img{}
}
/* -- text -- */
.text{
margin:0;
padding:0;
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;}
@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;}
/* -- br -- */
.text br{display:none;}
.text br.sp{display:block;}
.text br.all{display:block;}
}

/* ----------------------- CSS Information 
 Style Info: SERVICE
--------------------------------------- */
#service{}
/* -- COURSE -- */
.course_box{margin:0 auto 80px auto;padding:0 0 60px 0;}
.course_box.course_a{background:#f6f6ff;}
.course_box.course_b{background:#faf7e4;}
.course_title{
display:block;
width:100%;
margin:0 auto;
padding:0;
}
.course_name{
display:block;
width:100%;
margin:0;
padding:10px 0;
box-sizing:border-box;
}
.course_a .course_name{background:#aaaaaa;}
.course_b .course_name{background:#cba952;}
.course_title .course_name img{
display:block;
width:auto;
height:20px;
margin:0 auto;
padding:0;
}
.course_title_img{
display:block;
width:100%;
max-width:690px;
height:auto;
margin:0 auto;
padding:0;
}
.course_overview{
margin:0;
padding:0 4%;
text-align:center;
font-size:18px;
line-height:40px;
box-sizing:border-box;
}
.course_overview p{margin:0;padding:0;}
/* -- SERVICE -- */
.service_box{
width:100%;
margin:80px 0 0 0;
padding:0 4%;
box-sizing:border-box;
}
.service_title{
display:flex;
justify-content:flex-start;
align-items:center;
width:100%;
margin:0 auto 30px auto;
padding:0;
text-align:left;
color:#372daa;
font-size:24px;
line-height:30px;
font-weight:900;
}
.service_title span{
display:block;
margin:0 10px 0 0;
padding:0;
width:80px;
height:30px;
font-size:16px;
line-height:29px;
text-align:center;
color:#ffffff;
font-weight:700;
background:#372daa;
border-radius:15px;
}
.service_title:after{
content:"";
margin:0 0 0 10px;
flex:1;
height:2px;
background:#372daa;
}
.service_img{
display:block;
float:right;
width:30%;
margin:0 0 0 20px;
}
.ul_period{margin:0;padding:0;}
.ul_period li{
display:flex;
justify-content:flex-start;
align-items:center;
color:#444cb4;
font-weight:700;
}
.ul_period li span{
margin:1px 10px 0 0;
width:80px;
height:20px;
font-size:14px;
line-height:19px;
text-align:center;
font-weight:500;
color:#ffffff;
background:#444cb4;
}
ul.ul_attention{
margin:10px 0 0 0;
padding:0;
}
ul.ul_attention li{
position:relative;
color:#666666;
font-size:16px;
line-height:30px;
}
ul.ul_attention li:before{content:"※";}
.service_list{
display:flex;
justify-content:flex-start;
align-items:center;
width:100%;
margin:0 auto;
padding:0;
font-size:20px;
line-height:40px;
font-weight:900;
text-align:left;
color:#372daa;
}
.service_list:after{
content:"";
margin:0 0 0 10px;
flex:1;
height:2px;
background:#372daa;
}
.dl_service{
margin:0;
padding:0;
counter-reset:ol;
}
.dl_service dt{
position:relative;
margin:0;
padding:0 0 0 24px;
list-style:none;
}
.dl_service dt:before{
position:absolute;
content:counter(ol) "";
counter-increment:ol;
left:0;
top:11px;
width:20px;
height:20px;
font-size:14px;
line-height:19px;
text-align:center;
font-weight:700;
color:#ffffff;
border-radius:50%;
background:#444cb4;
box-sizing:border-box;
}
.dl_service dd{
position:relative;
display:flex;
justify-content:flex-start;
align-items:center;
margin:0;
padding:0 0 0 24px;
}
.dl_service dd:before{
content:"";
margin:0 4px 0 0;
width:14px;
height:1px;
background:#444cb4;
}
ul.ul_detail{
margin:0;
padding:0;
}
ul.ul_detail li{
position:relative;
padding:0 0 0 10px;
font-weight:700;
color:#444cb4;
}
ul.ul_detail li:before{
content:"";
position:absolute;
left:0;
top:10px;
width:4px;
height:20px;
background:#444cb4;
}
@media only screen and (max-width:750px){
#service{}
/* -- COURSE -- */
.course_box{margin:0 auto 40px auto;padding:0 0 40px 0;}
.course_title{}
.course_name{padding:5px 0;}
.course_title .course_name img{height:14px;}
.course_title_img{}
.course_overview{font-size:14px;line-height:24px;}
.course_overview p{}
/* -- SERVICE -- */
.service_box{margin:40px 0 0 0;}
.service_title{align-items:flex-start;margin:0 auto 20px auto;font-size:16px;line-height:29px;}
.service_title span{margin:5px 5px 0 0;width:60px;height:20px;font-size:14px;line-height:19px;}
.service_title:after{display:none;}
.service_img{width:33%;margin:0 0 0 10px;}
.ul_period{}
.ul_period li{margin:0 0 10px 0;}
.ul_period li span{margin:1px 5px 0 0;width:60px;font-size:13px;}
ul.ul_attention{margin:20px 0 0 0;}
ul.ul_attention li{font-size:12px;line-height:20px;}
ul.ul_attention li:before{}
.service_list{font-size:16px;line-height:30px;}
.service_list:after{margin:0 0 0 5px;}
.dl_service{line-height:30px;}
.dl_service dt{padding:0 0 0 20px;}
.dl_service dt:before{top:7px;width:16px;height:16px;font-size:12px;line-height:15px;}
.dl_service dd{padding:0 0 0 20px;}
.dl_service dd:before{width:10px;}
ul.ul_detail{}
ul.ul_detail li{margin:0 0 10px 0;}
ul.ul_detail li:before{top:4px;width:4px;height:16px;}
}

/* ----------------------- CSS Information 
 Style Info: SCHEDULE
--------------------------------------- */
#schedule{}
#schedule .text p img{width:100%;}
/* -- TABLE_COURSE -- */
.table_course{border-collapse:separate;border-spacing:1px 1px;width:100%;margin:40px auto;}
.table_course th{text-align:center;padding:22px 0;}
.table_course th.course_a{color:#ffffff;background:#aaaaaa;}
.table_course th.course_b{color:#ffffff;background:#cba952;}
.table_course th img{display:block;margin:0 auto;width:auto;height:16px;}
.table_course td{padding:10px;background:#f3f3f3;text-align:center;}
.table_course tr td:nth-child(1){width:345px;background:#444cb4;color:#ffffff;text-align:left;}
.table_course tr td:nth-child(2){background:#f6f6ff;font-weight:900;}
.table_course tr td:nth-child(3){background:#faf7e4;font-weight:900;}
.ul_schedule{margin:0 0 30px 0;padding:0;}
.ul_schedule li{
display:flex;
justify-content:flex-start;
align-items:center;
font-weight:700;
}
.ul_schedule li span{
margin:1px 10px 0 0;
width:80px;
height:20px;
font-size:14px;
line-height:19px;
text-align:center;
font-weight:500;
color:#ffffff;
}
.ul_schedule.course_a li span{background:#aaaaaa;}
.ul_schedule.course_b li span{background:#cba952;}
@media only screen and (max-width:750px){
#schedule{}
/* -- TABLE_COURSE -- */
.table_course{margin:30px auto;}
.table_course th{padding:13px 0;}
.table_course th.course_a{}
.table_course th.course_b{}
.table_course th img{height:12px;}
.table_course td{font-size:13px;line-height:20px;padding:10px;}
.table_course tr td:nth-child(1){width:170px;}
.table_course tr td:nth-child(2){}
.table_course tr td:nth-child(3){}
.ul_schedule{}
.ul_schedule li{margin:0 0 10px 0;}
.ul_schedule li span{margin:1px 5px 0 0;width:60px;font-size:13px;}
}

/* ----------------------- CSS Information 
 Style Info: PRICE
--------------------------------------- */
#price{}

/* ----------------------- CSS Information 
 Style Info: CTA
--------------------------------------- */
#cta{margin:80px 0 0 0;padding:0 4%;}
.price_img{
display:block;
width:100%;
max-width:690px;
margin:0 auto;
padding:0;
}
.price_attention{
width:100%;
margin:0;
padding:0 4% 20px 4%;
font-size:15px;
line-height:20px;
box-sizing:border-box;
}
.cta_info{
width:100%;
margin:0 auto;
padding:0 4%;
box-sizing:border-box;
}
.payment{
width:100%;
margin:0 auto 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;
color:#444cb4;
font-weight:700;
}
.payment dt:before,.payment dt:after{
content:"";
height:2px;
background:#444cb4;
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{margin:40px 0 0 0;}
.price_img{}
.price_attention{padding:0 4% 20px 4%;font-size:14px;line-height:24px;}
.cta_info{}
.payment{}
.payment dt{font-size:14px;line-height:30px;}
.payment dt:before,.payment dt:after{}
.payment dt:before{}
.payment dt:after{}
.payment dd{font-size:14px;line-height:30px;}
.payment_img{}
.limit{max-width:690px;font-size:14px;}
}

/* ----------------------- CSS Information 
 Style Info: BTN
--------------------------------------- */
.btn{
width:100%;
margin:0 auto 20px auto;
padding:0;
box-sizing:border-box;
}
.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: FAQ
--------------------------------------- */
#faq{}
#faq input[type=checkbox]{display:none;}
#faq label{
display:block;
width:100%;
max-width:920px;
margin:0 auto;
padding:20px 20px 20px 70px;
font-size:16px;
line-height:30px;
text-align:justify;
color:#333333;
border-radius:10px;
cursor:pointer;
text-transform:uppercase;
box-sizing:border-box;
background-color:#f6f6ff;
background-image:url(../img/faq_q.png);
background-size:30px 30px;
background-repeat:no-repeat;
background-position:20px 20px;
}
#faq label:hover{background-color:#f6f6f5;}
#faq input[type=checkbox]:checked + label{background-color:#f6f6f5;border-radius:10px 10px 0 0;}
.faq_answer{
position:relative;
margin:0 auto 30px auto;
padding:0 20px 0 70px;
width:100%;
max-width:920px;
height:0;
font-size:16px;
line-height:30px;
text-align:justify;
transition:1s;
box-sizing:border-box;
background-color:#faf7e4;
background-image:url(../img/faq_a.png);
background-size:30px 30px;
background-repeat:no-repeat;
background-position:20px 20px;
border-radius:0 0 10px 10px;
overflow:hidden;
opacity:0;
}
.faq_answer p{margin:0;padding:0;}
.faq_answer:last-child{margin:0 auto 0 auto;}
#faq input[type=checkbox]:checked + label + .faq_answer{
padding:20px 20px 20px 70px;
height:auto;
opacity:1;
}
@media only screen and (max-width:750px){
#faq{}
#faq label{
padding:10px 10px 10px 40px;
font-size:14px;
line-height:20px;
border-radius:6px;
background-size:20px 20px;
background-position:10px 10px;
}
#faq input[type=checkbox]:checked + label{border-radius:6px 6px 0 0;}
.faq_answer{
margin:0 auto 15px auto;
padding:0 10px 0 40px;
font-size:14px;
line-height:24px;
background-size:20px 20px;
background-position:10px 10px;
border-radius:0 0 6px 6px;
}
.faq_answer br{display:none;}
#faq input[type=checkbox]:checked + label + .faq_answer{padding:8px 10px 8px 40px;}
}

/* ----------------------- CSS Information 
 Style Info: CONTACT
--------------------------------------- */
#contact{
width:100%;
margin:0;
padding:60px 0 0 0;
box-sizing:border-box;
text-align:center;
color:#606060;
background:#f6f6f5;
}
.contact_wrapper{
width:100%;
margin:0 auto;
padding:0 40px;
box-sizing:border-box;
}
.contact_title{
position:relative;
display:flex;
align-items:center;
justify-content:center;
width:100%;
margin:0 auto 30px auto;
padding:0;
font-size:20px;
line-height:30px;
font-weight:600;
}
.contact_title:before,.contact_title:after{
content:"";
flex-grow:1;
margin:0 0 0 10px;
border-top:1px solid #d1d1d1;
}
.contact_title:before{margin:0 10px 0 0;}
.contact_title:after{margin:0 0 0 10px;}
.contact_mail{
position:relative;
margin:0;
padding:0;
font-size:18px;
line-height:30px;
font-weight:600;
color:#372daa;
}
.contact_mail span{
display:inline-block;
margin:0 10px 0 0;
padding:4px 10px 6px 10px;
font-size:16px;
line-height:20px;
font-weight:500;
color:#ffffff;
background:#372daa;
}
.contact_attention{
width:300px;
margin:30px auto 60px auto;
padding:0;
box-sizing:border-box;
}
.contact_attention li{
position:relative;
margin:0;
padding:0 0 0 16px;
font-size:14px;
line-height:24px;
text-align:justify;
list-style:none;
}
.contact_attention li:before{content:"※";}
.contact_hr{
display:block;
margin:0 auto;
width:100%;
height:1px;
background:#d1d1d1;
border:none;
}
@media only screen and (max-width:750px){
#contact{padding:40px 0 0 0;}
.contact_wrapper{padding:0 4%;}
.contact_title{margin:0 auto 20px auto;font-size:16px;line-height:24px;}
.contact_mail{font-size:16px;line-height:30px;}
.contact_mail span{padding:4px 5px 6px 5px;font-size:13px;}
.contact_attention{width:240px;margin:20px auto 40px auto;}
.contact_attention li{padding:0 0 0 14px;font-size:12px;line-height:20px;}
.contact_attention li:before{}
.contact_hr{}
}

/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
margin:0;
padding:40px 0 240px 0;
width:100%;
background:#000f2b;
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 #444cb4;
}
#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:block;
position:fixed;
bottom:0;
left:0;
width:100%;
z-index:100;
background:#372daa;
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;
margin:0 auto;
padding:20px 30px;
box-sizing:border-box;
}
.btn_footer{
width:100%;
max-width:600px;
margin: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{padding:20px 4%;}
.btn_footer{}
.btn_footer img{}
.btn_footer img:hover{}
}

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