@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{text-decoration:underline;color:#333333;}
a:hover{text-decoration:underline;color:#666666;}
/*font*/
.b{font-weight:900;}
.ul{text-decoration:underline;}
.bg{background:linear-gradient(transparent 70%, #fff799 0%)}
.big{font-size:22px;line-height:36px;}@media only screen and (max-width:750px){.big{font-size:16px;line-height:24px;}}
.small{font-size:14px;line-height:20px;}
.red{color:#c9171e;}
.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%;
word-break:break-all;
word-wrap:break-word;
}

/* ----------------------- CSS Information 
 Style Info: CTA
--------------------------------------- */
.cta{
position:relative;
width:100%;
margin:0;
padding:0;
text-align:center;
background:#f6f6f5 url(../img/main_bg.png) no-repeat center top;
background-size:cover;
box-sizing:border-box;
}
.cta_wrapper{
position:relative;
display:block;
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
text-align:center;
box-sizing:border-box;
}
.logo{
display:block;
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
}
.cta_box{
width:100%;
margin:0;
padding:0 4%;
box-sizing:border-box;
}
.cta_box p{
font-size:18px;
line-height:20px;
margin:0 0 20px 0;
padding:0;
text-shadow:2px 2px 8px #ffffff,-2px 2px 8px #ffffff,2px -2px 8px #ffffff,-2px -2px 8px #ffffff;
}
.present_img{
width:100%;
max-width:750px;
margin:0 auto;
}
.cta_attention{
width:100%;
margin:0;
padding:0 0 30px 0;
box-sizing:border-box;
color:#333333;
}
.cta_attention li{
position:relative;
margin:0;
padding:0 0 0 12px;
font-size:12px;
line-height:20px;
text-align:justify;
list-style:none;
}
.cta_attention li:before{
content:"※";
position:absolute;
top:0;
left:0;
}
@media only screen and (max-width:750px){
.cta{}
.cta_wrapper{}
.logo{}
.cta_box{}
.cta_box p{font-size:14px;line-height:20px;margin:0 0 10px 0;}
.cta_attention{padding:0 0 20px 0;}
.cta_attention li{font-size:12px;line-height:16px;letter-spacing:-1px;}
.cta_attention li:before{}
}

/* ----------------------- CSS Information 
 Style Info: BTN
--------------------------------------- */
.btn{
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
}
.btn a{
display:block;
width:100%;
margin:0;
background:#ffffff;
border-radius:10px;
box-shadow:2px 2px 4px 0px rgba(0,0,0,0.5);
overflow:hidden;
}
.btn a img{width:100%;}
.btn a img:hover{opacity:0.5;}


/* ----------------------- CSS Information 
 Style Info: HEADER
--------------------------------------- */
header{}

/* ----------------------- CSS Information 
 Style Info: 共通設定
--------------------------------------- */
.section{
position:relative;
width:100%;
margin:0;
padding:120px 0 120px 0;
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;}
.section_wrapper{}
.section_box{}
}

/* ----------------------- CSS Information 
 Style Info: TITLE
--------------------------------------- */
.title{
position:relative;
display:block;
width:100%;
margin:0 auto 80px auto;
padding:0;
z-index:100;
}
.title img{
display:block;
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
}
@media only screen and (max-width:750px){
.title{margin:0 auto 30px auto;}
}

/* ----------------------- CSS Information 
 Style Info: TEXT
--------------------------------------- */
.text{
position:relative;
width:100%;
margin:0 auto;
padding:0;
font-size:18px;
line-height:40px;
text-align:left;
box-sizing:border-box;
z-index:100;
}
.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: PROBLEM
--------------------------------------- */
#problem{
background:#000000 url(../img/problem_bg_pc.png) no-repeat center top;
}
#problem:after{
content:"";
position:absolute;
bottom:0;
display:block;
width:100%;
height:120px;
background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,1));
z-index:10;
}
#problem .section_wrapper{max-width:750px;}
#problem .text{color:#ffffff;}
#problem .text .red{color:#ffec47;}
@media only screen and (max-width:750px){
#problem{background:#000000 url(../img/problem_bg_sp.png) no-repeat center top;background-size:100% auto;}
#problem:after{height:40px;}
}

/* ----------------------- CSS Information 
 Style Info: CHECK_UL
--------------------------------------- */
.check_ul{margin:0 auto 60px auto;}
.check_ul li{
position:relative;
display:block;
width:100%;
margin:0 0 10px 0;
padding:10px 0 10px 50px;
font-size:20px;
line-height:30px;
font-weight:700;
color:#ffffff;
text-align:left;
list-style:none;
border:1px solid #666666;
background:rgba(0,0,0,0.5);
box-sizing:border-box;
}
.check_ul li:last-child{margin:0;}
.check_ul li:before{
content:"";
display:block;
position:absolute;
top:10px;
left:10px;
width:30px;
height:30px;
background:#855988;
box-sizing:border-box;
}
.check_ul li:after{
content:"";
display:block;
position:absolute;
top:12px;
left:18px;
width:8px;
height:16px;
transform:rotate(40deg);
border-bottom:5px solid #ffffff;
border-right:5px solid #ffffff;
}
@media only screen and (max-width:750px){
.check_ul{margin:0 auto 30px auto;}
.check_ul li{
padding:10px 0 10px 36px;
font-size:14px;
line-height:20px;
text-align:left;
}
.check_ul li:last-child{margin:0;}
.check_ul li:before{
top:12px;
left:10px;
width:16px;
height:16px;
}
.check_ul li:after{
top:12px;
left:14px;
width:5px;
height:10px;
border-bottom:3px solid #ffffff;
border-right:3px solid #ffffff;
}
}

/* ----------------------- CSS Information 
 Style Info: POINT
--------------------------------------- */
#point{
padding:160px 0 120px 0;
background:linear-gradient(to right bottom,#ffffff,#eeeade);
background-size:auto 100%;
}
#point:before{
content:"";
position:absolute;
left:0;
right:0;
top:0;
width:0;
height:0px;
margin:0 auto auto auto;
border-style:solid;
border-color:#000000 transparent transparent transparent;
border-width:40px 40px 0 40px;
}
#point .section_wrapper{max-width:1000px;}
.point_box{
position:relative;
width:100%;
max-width:750px;
padding:0 0 80px 0;
box-sizing:border-box;
}
#point01.point_box{margin:0 auto 0 0;}
#point02.point_box{margin:0 0 0 auto;}
#point03.point_box{margin:0 auto;padding:0;}
.point_img{
position:relative;
display:block;
width:100%;
margin:0 auto;
padding:0 4%;
box-sizing:border-box;
}
.point_img img{
position:relative;
width:100%;
margin:0 auto;
padding:0;
border-radius:10px;
}
.point_index{
position:relative;
width:100%;
margin:-50px auto 0 auto;
padding:0 4%;
box-sizing:border-box;
z-index:10;
}
.point_index h2{
display:block;
margin:0 auto 20px auto;
padding:0;
width:100px;
height:100px;
font-size:18px;
line-height:99px;
text-align:center;
font-weight:700;
color:#ffffff;
background:url(../img/octagon.png) no-repeat center top;
background-size:cover;
box-sizing:border-box;
}
.point_index p{
display:block;
width:100%;
margin:0;
padding:0;
font-size:24px;
line-height:40px;
text-align:center;
font-weight:700;
color:#333333;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
#point{padding:60px 0 40px 0;}
#point:before{border-width:20px 20px 0 20px;}
#point .section_wrapper{}
.point_box{padding:0 0 40px 0;}
.point_img{}
.point_img img{}
.point_index{margin:-35px auto 0 auto;}
.point_index h2{margin:0 auto 10px auto;width:70px;height:70px;font-size:14px;line-height:69px;}
.point_index p{font-size:16px;line-height:24px;}
}

/* ----------------------- CSS Information 
 Style Info: REASON
--------------------------------------- */
#reason{
background:#ffffff url(../img/reason_bg.png) no-repeat center top;
background-size:100% auto;
}
#reason:after{
content:"";
position:absolute;
bottom:0;
display:block;
width:100%;
height:50%;
background:linear-gradient(to bottom,rgba(240,243,250,0),rgba(240,243,250,1));
z-index:10;
}
#reason .section_wrapper{max-width:750px;}
#reason .title{margin:0 auto 60px auto;}
#reason .title:after{
content:"";
display:block;
margin:60px auto 0 auto;
width:0;
height:0px;
border-style:solid;
border-color:#9760af transparent transparent transparent;
border-width:40px 40px 0 40px;
}
#reason .text{text-align:center;}
@media only screen and (max-width:750px){
#reason{}
#reason .title{margin:0 auto 20px auto;}
#reason .title:after{margin:20px auto 0 auto;border-width:20px 20px 0 20px;}
#reason .section_wrapper{}
#reason .text{text-align:justify;}
}

/* ----------------------- CSS Information 
 Style Info: CONTENT
--------------------------------------- */
#content{
position:relative;
width:100%;
margin:0;
padding:0;
background:#f6f6f5 url(../img/main_bg.png) no-repeat center top;
background-size:cover;
box-sizing:border-box;
}
#content:after{
content:"";
position:absolute;
bottom:0;
display:block;
width:100%;
height:120px;
background:linear-gradient(to bottom,rgba(246,246,245,0),rgba(246,246,245,1));
z-index:10;
}
#content .section_wrapper{max-width:750px;}
#content .title{margin:0 auto;}
@media only screen and (max-width:750px){
#content{}
#content:after{height:80px;}
#content .section_wrapper{}
#content .title{}
}

/* ----------------------- CSS Information 
 Style Info: CURRICULUM
--------------------------------------- */
#curriculum{padding:0 0 160px 0;background:#f6f6f5;}
.curriculum_box{
position:relative;
width:100%;
max-width:750px;
margin:0 auto;
padding:0 0 160px 0;
box-sizing:border-box;
}
#curriculum03.curriculum_box{padding:0;}
.curriculum_img{
position:relative;
display:block;
width:100%;
margin:0 auto;
padding:0 4%;
box-sizing:border-box;
z-index:10;
}
.curriculum_img img{
position:relative;
width:100%;
margin:0 auto 0 auto;
padding:0;
border:10px solid #333333;
box-sizing:border-box;
}
h2.curriculum_num{
position:relative;
display:block;
margin:30px auto 0 auto;
padding:0;
width:100px;
height:100px;
font-size:20px;
line-height:99px;
text-align:center;
font-weight:700;
color:#ffffff;
background:url(../img/octagon.png) no-repeat center top;
background-size:cover;
z-index:100;
}
.curriculum_index{
position:relative;
width:100%;
margin:30px auto 30px auto;
padding:0 4%;
font-size:36px;
line-height:60px;
text-align:center;
font-weight:700;
box-sizing:border-box;
}
.curriculum_index:after{
content:"";
display:block;
position:relative;
width:80px;
height:4px;
margin:40px auto 0 auto;
padding:0;
box-sizing:border-box;
background:#9760af;
}
.curriculum_time{
display:block;
font-size:18px;
line-height:30px;
}
.curriculum_text{
width:100%;
margin:0 auto;
padding:0 4%;
box-sizing:border-box;
font-size:18px;
line-height:40px;
text-align:justify;
}
.curriculum_text p{
margin:0 0 30px 0;
padding:0;
}
.curriculum_text p:last-child{margin:0;}
@media only screen and (max-width:750px){
#curriculum{padding:0 0 80px 0;}
.curriculum_box{padding:0 0 80px 0;}
#curriculum03.curriculum_box{padding:0;}
.curriculum_img{}
.curriculum_img img{}
h2.curriculum_num{margin:20px auto 0 auto;width:70px;height:70px;font-size:14px;line-height:69px;}
.curriculum_index{margin:20px auto 20px auto;font-size:20px;line-height:30px;}
.curriculum_index:after{width:40px;height:2px;margin:20px auto 0 auto;}
.curriculum_time{font-size:14px;line-height:24px;}
.curriculum_text{font-size:14px;line-height:24px;}
.curriculum_text p{margin:0 0 20px 0;}
.curriculum_text p:last-child{margin:0;}
.curriculum_text p br{display:none;}
}

/* ----------------------- CSS Information 
 Style Info: VOICE
--------------------------------------- */
#voice{
background:#000000 url(../img/bg_01.png) repeat center top;
}
#voice .section_wrapper{max-width:1000px;}
.voice_wrapper{
width:100%;
max-width:1000px;
margin:0 auto;
}
.voice_box{
margin:0 4% 40px 4%;
border-radius:10px;
background:rgba(255,255,255,0.9);
box-sizing:border-box;
}
.voice_wrapper .voice_box:last-child{margin:0 4% 0 4%;}
.voice_header{
display:flex;
align-items:center;
padding:30px;
border-bottom:2px dotted #c888b5;
}
.voice_img{width:70px;}
.voice_img img{width:100%;}
.voice_index{
flex:1;
padding:0 0 0 20px;
text-align:left;
font-size:20px;
line-height:30px;
font-weight:700;
color:#9760af;
}
.voice_info{
display:block;
font-size:16px;
color:#7a3e94;
}
.voice_box .text{
font-size:18px;
line-height:30px;
padding:30px;
}
#slider-pro{display:none;}
@media only screen and (max-width:750px){
#voice{
background:#000000 url(../img/bg_01.png) repeat center top;
background-size:100% auto;
}
.voice_wrapper{display:none;}
#slider-pro{display:block;}
.sp-slide{
border-radius:10px;
background:rgba(255,255,255,0.9);
box-sizing:border-box;
}
.voice_header{
display:flex;
align-items:flex-start;
padding:20px 4%;
border-bottom:2px dotted #c888b5;
}
.voice_img{width:60px;}
.voice_img img{width:100%;}
.voice_index{
flex:1;
padding:0 0 0 10px;
text-align:left;
font-size:14px;
line-height:20px;
font-weight:700;
}
.voice_info{font-size:12px;}
.sp-slide .text{padding:20px 4% 20px 4%;}
}
/* スライド下のページャーの設定 */
.sp-buttons{padding-top:10px;}
.sp-button{width:10px;height:10px;border:none;border-radius:50%; margin:0 5px; background:#cccccc;}
.sp-selected-button{background:#c888b5;}


/* ----------------------- CSS Information 
 Style Info: PROFILE
--------------------------------------- */
#profile{background:#000000 url(../img/bg_01.png) repeat center top;}
.profile_img{
display:block;
width:320px;
margin:0 auto 40px auto;
}
#profile:after{
content:"";
position:absolute;
bottom:0;
display:block;
width:100%;
height:120px;
background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,1));
z-index:10;
}
#profile .section_wrapper{max-width:750px;}
#profile .text{color:#ffffff;}
@media only screen and (max-width:750px){
#profile{background:#000000 url(../img/bg_01.png) repeat center top;background-size:100% auto;}
#profile:after{height:80px;}
.profile_img{width:180px;margin:0 auto 30px auto;}
}

/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
margin:0;
padding:40px 0 200px 0;
width:100%;
color:#eeeeee;
background:#000000;
}
footer a{color:#eeeeee;text-decoration:none;}
footer a:hover{color:#eeeeee;text-decoration:underline;}
#nav_footer{
display:block;
width:100%;
max-width:750px;
margin:0 auto;
}
#nav_footer ul{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:center;
align-items:flex-start;
width:100%;
text-align:center;
list-style-type:none;
}
#nav_footer ul li{
display:block;
font-size:12px;
line-height:20px;
margin:0;
padding:0 20px;
border-right:1px solid #c888b5;
}
#nav_footer ul li:last-child{border-right:none;}
footer small{
display:block;
margin:20px 0 0 0;
padding:0;
text-align:center;
font-size:12px;
line-height:20px;
}
@media only screen and (max-width:750px){
footer{}
#nav_footer{}
#nav_footer ul{flex-direction:column;}
#nav_footer ul li{width:100%;margin:0 0 20px 0;padding:0;border-right:none;}
#nav_footer ul li:last-child{border-right:none;}
footer small{margin: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:#9760af;
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: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;}
@media only screen and (max-width:750px){
#footer_fixed{}
.footer_fixed_wrapper{}
.footer_fixed_img{}
.btn_footer{}
}