@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;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Jost&family=Lato:wght@700&family=Zen+Kurenaido&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:768px){.big{font-size:16px;line-height:24px;}}
.small{font-size:14px;line-height:20px;}
.red{color:#d0102c;}
.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: TITLE
--------------------------------------- */
.title{
display:block;
margin:0 0 60px 0;
}
.title h2{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:center;
align-items:center;
margin:0;
font-size:40px;
line-height:50px;
font-weight:900;
text-align:center;
color:#000000;
}
.title h2:before{
content:"";
position:relative;
display:block;
margin:0 20px 0 0;
width:90px;
height:10px;
background:url(../img/dot_left.png) no-repeat center left;
background-size:100% 100%;
}
.title h2:after{
content:"";
position:relative;
display:block;
margin:0 0 0 20px;
width:90px;
height:10px;
background:url(../img/dot_right.png) no-repeat center right;
background-size:100% 100%;
}
#contact .title{
margin:0 0 20px 0;
}
#contact .title h2{
font-size:20px;
line-height:30px;
color:#ffffff;
}
@media only screen and (max-width:750px){
.title{margin:0 0 20px 0;}
.title h2{font-size:18px;line-height:30px;}
.title h2:before{margin:0 10px 0 0;width:45px;height:5px;}
.title h2:after{margin:0 0 0 10px;width:45px;height:5px;}
#contact .title{}
#contact .title h2{font-size:16px;line-height:20px;}
}

/* ----------------------- CSS Information 
 Style Info: 共通設定
--------------------------------------- */
.section{
position:relative;
width:100%;
margin:0;
padding:120px 0 120px 0;
}
.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: 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:30px;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: TOPBAR
--------------------------------------- */
#topbar{
display:block;
position:fixed;
top:0;
left:0;
width:100%;
margin:0;
padding:0;
font-weight:700;
color:#ffffff;
background:#ff1f46;
z-index:1000;
box-shadow:0 0 4px 0px rgba(0,0,0,0.5);
box-sizing:border-box;
}

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

/* ----------------------- CSS Information 
 Style Info: RECOMMEND
--------------------------------------- */
#recommend{
position:relative;
width:100%;
margin:0;
padding:80px 0;
text-align:center;
background:#f6f6f6 url(../img/recommend_bg_pc.png) no-repeat center;
background-size:cover;
box-sizing:border-box;
}
.recommend_title{
display:block;
margin:0 0 60px 0;
}
.recommend_sub{
display:block;
width:100%;
max-width:500px;
margin:0 auto;
padding:10px;
font-size:30px;
line-height:50px;
font-weight:700;
text-align:center;
color:#ffffff;
background:#d40b1a;
border-radius:35px;
box-sizing:border-box;
}
.recommend_title h2{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:center;
align-items:center;
margin:20px 0 0 0;
font-size:40px;
line-height:50px;
font-weight:900;
text-align:center;
color:#ff1f46;
}
.recommend_title h2:before{
content:"";
position:relative;
display:block;
margin:0 20px 0 0;
width:60px;
height:90px;
background:url(../img/line_left.png) no-repeat center left;
background-size:100% 100%;
}
.recommend_title h2:after{
content:"";
position:relative;
display:block;
margin:0 0 0 20px;
width:60px;
height:90px;
background:url(../img/line_right.png) no-repeat center right;
background-size:100% 100%;
}
.recommend_dl{
width:100%;
margin:0 auto 20px auto;
padding:30px 40px;
background:rgba(255,255,255,0.8);
border:3px solid #cccccc;
box-sizing:border-box;
}
#recommend .recommend_dl:last-child{margin:0 auto 0 auto;}
.recommend_dl dt{
position:relative;
padding:0 0 10px 50px;
font-size:24px;
line-height:30px;
font-weight:900;
text-align:left;
color:#000000;
}
.recommend_dl dt:before{
content:"";
position:absolute;
top:0;
left:0;
width:30px;
height:30px;
background:#ffffff;
border:2px solid #000000;
}
.recommend_dl dt:after{
content:"";
position:absolute;
top:3px;
left:2px;
width:24px;
height:12px;
border-left:6px solid #ff1f46;
border-bottom:6px solid #ff1f46;
transform:rotate(-45deg);
}
.recommend_dl dd{
position:relative;
padding:0 0 0 50px;
font-size:18px;
line-height:30px;
text-align:justify;
color:#000000;
}
@media only screen and (max-width:750px){
#recommend{padding:40px 0;background:#f6f6f6 url(../img/recommend_bg_sp.png) no-repeat center;background-size:cover;}
.recommend_title{margin:0 0 20px 0;}
.recommend_sub{max-width:690px;font-size:16px;line-height:20px;border-radius:20px;}
.recommend_title h2{margin:20px 0 0 0;font-size:18px;line-height:25px;}
.recommend_title h2:before{margin:0 5px 0 0;width:25px;height:50px;}
.recommend_title h2:after{margin:0 0 0 5px;width:25px;height:50px;}
.recommend_dl{margin:0 auto 20px auto;padding:20px 20px;border:1px solid #cccccc;}
.recommend_dl dt{padding:0 0 10px 30px;font-size:17px;line-height:30px;}
.recommend_dl dt:before{top:6px;width:18px;height:18px;}
.recommend_dl dt:after{top:9px;width:12px;height:6px;border-left:5px solid #ff1f46;border-bottom:5px solid #ff1f46;}
.recommend_dl dd{padding:0 0 0 30px;font-size:14px;line-height:24px;}
}

/* ----------------------- CSS Information 
 Style Info: STEP
--------------------------------------- */
#step{background:#ffffff;}
.step_dl{
width:100%;
margin:0;
padding:30px 0 40px 0;
border-bottom:1px solid #cccccc;
}
.step_dl:first-of-type{margin:80px 0 0 0;border-top:1px solid #cccccc;}
.step_dl:last-of-type{margin:0 0 80px 0;}
.step_dl dt{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:flex-start;
align-items:flex-end;
margin:0 0 20px 0;
padding:0;
font-size:24px;
line-height:30px;
font-weight:900;
text-align:left;
box-sizing:border-box;
}
.step_dl dt p{margin:0;padding:0;}
.step_dl dt span{font-size:30px;}
.step_dl dt:before{
content:"";
display:block;
margin:0 10px 0 0;
width:40px;
height:52px;
background-size:100% 100%;
}
.step_dl:nth-of-type(1) dt:before{background:url(../img/num01.png) no-repeat bottom left;}
.step_dl:nth-of-type(2) dt:before{background:url(../img/num02.png) no-repeat bottom left;}
.step_dl:nth-of-type(3) dt:before{background:url(../img/num03.png) no-repeat bottom left;}
.step_dl:nth-of-type(4) dt:before{background:url(../img/num04.png) no-repeat bottom left;}
.step_dl:nth-of-type(5) dt:before{background:url(../img/num05.png) no-repeat bottom left;}
.step_dl dd{text-align:justify;}
.step_dl dd p{margin:0;padding:0;}
@media only screen and (max-width:750px){
#step{}
.step_dl{padding:20px 0 20px 0;}
.step_dl:first-of-type{margin:40px 0 0 0;}
.step_dl:last-of-type{margin:0 0 40px 0;}
.step_dl dt{margin:0 0 20px 0;font-size:16px;line-height:24px;}
.step_dl dt span{font-size:20px;}
.step_dl dd{}
.step_dl dd p{}
}

/* ----------------------- CSS Information 
 Style Info: OVERVIEW
--------------------------------------- */
#overview{padding:0;background:#fbebea;}
#overview .section_wrapper{padding:120px 0 120px 0;background:#fdf3f3;}
.overview_dl{
width:100%;
margin:0 auto 30px auto;
padding:0;
}
.overview_dl dt{
position:relative;
margin:0 0 10px 0;
padding:10px 0;
background:#ff1f46;
box-sizing:border-box;
}
.overview_dl dt span{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:center;
align-items:center;
margin:0;
padding:0;
font-size:24px;
line-height:30px;
font-weight:700;
text-align:center;
color:#ffffff;
box-sizing:border-box;
}
.overview_dl dt span:before,.overview_dl dt span:after{
content:"";
flex:1;
height:2px;
margin:0 10px;
background:#ffffff;
}
.overview_dl dd{
width:100%;
margin:0 0 10px 0;
padding:30px;
font-size:18px;
line-height:40px;
text-align:justify;
background:#ffffff;
border:5px solid #ff1f46;
box-sizing:border-box;
}
.overview_dl:first-of-type dd{
font-size:20px;
text-align:center;
font-weight:700;
}
.overview_dl dd p{margin:0;padding:0;}
.overview_way{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:space-between;
align-items:flex-start;
width:100%;
max-width:630px;
margin:0 auto 30px auto;
}
.overview_way div{width:47%;}
.overview_or{width:6%;font-size:18px;line-height:30px;font-weight:700;text-align:center;}
.overview_way div span{
display:block;
width:100%;
height:30px;
margin:0 0 10px 0;
padding:0 0 1px 0;
font-size:18px;
line-height:29px;
text-align:center;
color:#ffffff;
background:#666666;
border-radius:15px;
box-sizing:border-box;
}
.overview_way div img{
display:block;
width:100%;
max-width:210px;
margin:0 auto;
}
@media only screen and (max-width:750px){
#overview{}
#overview .section_wrapper{padding:40px 0 40px 0;}
.overview_dl{margin:0 auto 30px auto;}
.overview_dl dt{margin:0 0 5px 0;}
.overview_dl dt span{font-size:16px;line-height:30px;}
.overview_dl dt span:before,.overview_dl dt span:after{}
.overview_dl dd{margin:0 0 5px 0;padding:20px 4%;font-size:14px;line-height:30px;border:2px solid #ff1f46;}
.overview_dl:first-of-type dd{font-size:16px;}
.overview_dl dd p{margin:0;padding:0;}
.overview_way{max-width:690px;margin:0 auto 20px auto;}
.overview_way div{width:47%;}
.overview_or{width:6%;font-size:14px;line-height:30px;font-weight:700;text-align:center;}
.overview_way div span{font-size:14px;}
.overview_way div img{}
}

/* ----------------------- CSS Information 
 Style Info: CURRICULUM
--------------------------------------- */
#curriculum{padding:120px 0 0 0;}
.curriculum_wrapper{
width:100%;
margin:0 auto 30px auto;
padding:0;
}
.curriculum_num{
position:relative;
margin:0 0 10px 0;
padding:10px 0;
background:#ff1f46;
box-sizing:border-box;
}
.curriculum_num span{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:center;
align-items:center;
margin:0;
padding:0;
font-size:24px;
line-height:30px;
font-weight:700;
text-align:center;
color:#ffffff;
box-sizing:border-box;
}
.curriculum_num span:before,.curriculum_num span:after{
content:"";
flex:1;
height:2px;
margin:0 10px;
background:#ffffff;
}
.curriculum_box{
position:relative;
display:flex;
flex-direction:row-reverse;
width:100%;
margin:0 0 10px 0;
padding:30px;
text-align:justify;
background:#ffffff;
border:5px solid #ff1f46;
box-sizing:border-box;
}
.curriculum_img{
display:block;
width:220px;
}
.curriculum_img .pc{
display:block;
width:100%;
}
.curriculum_dl{
flex:1;
margin:0;
padding:0 20px 0 0;
text-align:justify;
box-sizing:border-box;
}
.curriculum_dl dt{
margin:0 0 20px 0;
padding:0;
font-size:24px;
line-height:30px;
font-weight:900;
color:#000000;
}
.curriculum_dl dd{
font-size:18px;
line-height:40px;
}
.curriculum_dl dd p{margin:0;padding:0;}
@media only screen and (max-width:750px){
#curriculum{padding:40px 0 0 0;}
.curriculum_wrapper{margin:0 auto 20px auto;}
.curriculum_num{margin:0 0 5px 0;}
.curriculum_num span{font-size:16px;}
.curriculum_num span:before,.curriculum_num span:after{}
.curriculum_box{display:block;margin:0 0 5px 0;padding:4vw 4% 30px 4%;border:2px solid #ff1f46;}
.curriculum_img{width:100%;}
.curriculum_img .pc{display:none;}
.curriculum_img .sp{display:block;width:100%;}
.curriculum_dl{width:100%;margin:20px 0 0 0;padding:0;}
.curriculum_dl dt{margin:0 0 10px 0;font-size:18px;line-height:30px;}
.curriculum_dl dd{font-size:14px;line-height:30px;}
.curriculum_dl dd p{margin:0;padding:0;}
}

/* ----------------------- CSS Information 
 Style Info: PRESENT
--------------------------------------- */
#present{
background-color:#f7d8d6;
background-image:url(../img/present_bg_pc.png),url(../img/bg04.png);
background-repeat:repeat-y,repeat;
background-position:top center,top left;
}
.present_title{
display:block;
margin:0 0 30px 0;
}
.present_sub{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:center;
align-items:center;
margin:0;
font-size:40px;
line-height:50px;
font-weight:900;
text-align:center;
color:#000000;
}
.present_sub:before{
content:"";
position:relative;
display:block;
margin:0 20px 0 0;
width:90px;
height:10px;
background:url(../img/dot_left.png) no-repeat center left;
background-size:100% 100%;
}
.present_sub:after{
content:"";
position:relative;
display:block;
margin:0 0 0 20px;
width:90px;
height:10px;
background:url(../img/dot_right.png) no-repeat center right;
background-size:100% 100%;
}
.present_title h2{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:center;
align-items:center;
margin:20px 0 0 0;
font-size:40px;
line-height:50px;
font-weight:900;
text-align:center;
color:#ff1f46;
}
.present_title h2:before{
content:"";
position:relative;
display:block;
margin:0 20px 0 0;
width:60px;
height:90px;
background:url(../img/line_left.png) no-repeat center left;
background-size:100% 100%;
}
.present_title h2:after{
content:"";
position:relative;
display:block;
margin:0 0 0 20px;
width:60px;
height:90px;
background:url(../img/line_right.png) no-repeat center right;
background-size:100% 100%;
}
.present_dl{
width:100%;
margin:0 auto 90px auto;
padding:0;
}
.present_dl dt{
position:relative;
margin:0 0 10px 0;
padding:20px 0;
font-size:28px;
line-height:50px;
font-weight:700;
text-align:center;
color:#ffffff;
background:#ff1f46;
box-sizing:border-box;
}
.present_dl dt span{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:center;
align-items:center;
}
.present_dl dt span:before{
content:"";
position:relative;
display:block;
margin:0 10px 0 0;
width:30px;
height:2px;
background:#ffffff;
}
.present_dl dt span:after{
content:"";
position:relative;
display:block;
margin:0 0 0 10px;
width:30px;
height:2px;
background:#ffffff;
}
.present_dl dd{
width:100%;
margin:0 0 10px 0;
padding:0 0 40px 0;
font-size:18px;
line-height:40px;
text-align:center;
background:#ffffff;
border:5px solid #ff1f46;
box-sizing:border-box;
}
.present_dl dd p{margin:0;padding:0 30px 0 30px;}
.present_img{
display:block;
width:100%;
max-width:680px;
margin:0 auto;
}
@media only screen and (max-width:750px){
#present{background-color:#f7d8d6;background-image:url(../img/present_bg_sp.png),url(../img/bg04.png);background-repeat:repeat-y,repeat;background-position:top center,top left;background-size:100% auto,20px 20px;}
.present_title{margin:0 0 20px 0;}
.present_sub{font-size:20px;line-height:30px;}
.present_sub:before{margin:0 10px 0 0;width:45px;height:5px;}
.present_sub:after{margin:0 0 0 10px;width:45px;height:5px;}
.present_title h2{margin:10px 0 0 0;font-size:20px;line-height:30px;}
.present_title h2:before{margin:0 10px 0 0;width:30px;height:45px;}
.present_title h2:after{margin:0 0 0 10px;width:30px;height:45px;}
.present_dl{margin:0 auto 30px auto;}
.present_dl dt{margin:0 0 5px 0;padding:10px 0;font-size:18px;line-height:30px;}
.present_dl dt span{}
.present_dl dt span:before{width:20px;}
.present_dl dt span:after{width:20px;}
.present_dl dd{margin:0 0 5px 0;padding:0 0 20px 0;font-size:14px;line-height:30px;text-align:justify;border:2px solid #ff1f46;}
.present_dl dd p{margin:0;padding:0 4% 0 4%;}
.present_dl dd p br{display:none;}
.present_img{}
}

/* ----------------------- CSS Information 
 Style Info: PROFILE
--------------------------------------- */
#profile{
padding:120px 0 0 0;
background:#ffffff;
}
.profile_box{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:flex-start;
align-content:stretch;
}
.profile_img{width:300px;}
.profile_img img{display:block;width:100%;}
.profile_text{flex:1;margin:0 0 0 30px;}
.profile_text dt{
margin:0 0 30px 0;
text-align:left;
font-size:30px;
line-height:50px;
font-weight:700;
}
.profile_text dd{
font-size:18px;
line-height:40px;
text-align:justify;
}
.profile_text dd p{margin:0;padding:0;}
@media only screen and (max-width:750px){
#profile{padding:40px 0 40px 0;}
.profile_box{display:block;}
.profile_img{width:120px;margin:0 auto;}
.profile_img img{}
.profile_text{margin:20px 0 0 0;}
.profile_text dt{margin:0 0 20px 0;font-size:18px;line-height:30px;}
.profile_text dd{font-size:14px;line-height:30px;}
.profile_text dd p{}
}

/* ----------------------- CSS Information 
 Style Info: MESSAGE
--------------------------------------- */
#message{
position:relative;
background:#fbebea url(../img/bg05.png) repeat left top;
z-index:-2;
}
.message_box{
position:relative;
width:100%;
padding:60px 50px 80px 50px;
background:#ffffff;
box-sizing:border-box;
}
.message_box .text{
background:url(../img/text_bg_pc.png) repeat left top;
}
.message_box .text p{margin:0 0 40px 0;padding:0;}
.message_box .text p:last-child{margin:0;}
.message_box:before,.message_box:after{
content:"";
position:absolute;
top:80%;
bottom:10px;
width:40%;
max-width:300px;
background:rgba(0,0,0,0.5);
box-shadow:0 10px 10px rgba(0,0,0,0.5);
z-index:-1;
}
.message_box:before{transform:rotate(-3deg);left:15px;}
.message_box:after{transform:rotate(3deg);right:15px;}
.sign{
display:block;
font-family:'Zen Kurenaido',sans-serif;
font-size:30px;
line-height:60px;
font-weight:bold;
text-align:right;
}
@media only screen and (max-width:750px){
#message{}
.message_box{padding:40px 4% 40px 4%;}
.message_box .text{background:url(../img/text_bg_sp.png) repeat left top;line-height:30px;}
.message_box .text p{margin:0 0 30px 0;padding:0;}
.message_box .text p:last-child{margin:0;}
.message_box:before,.message_box:after{}
.message_box:before{}
.message_box:after{}
.sign{font-size:20px;line-height:40px;}
}

/* ----------------------- CSS Information 
 Style Info: FAQ
--------------------------------------- */
#faq{background:#ffffff;}
#faq .section_wrapper{max-width:1000px;}
#faq input[type=checkbox]{display:none;}
#faq label{
position:relative;
display:block;
width:100%;
max-width:920px;
margin:0 auto;
padding:20px 40px 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:#f6f6f5;
text-transform:none;
}
#faq label:before{
content:"Q";
font-family:'Jost', sans-serif;
position:absolute;
display:block;
top:20px;
left:20px;
width:30px;
height:30px;
font-size:20px;
line-height:30px;
text-align:center;
color:#ffffff;
background:#000000;
border-radius:4px;
}
#faq label:after{
content:"＋";
position:absolute;
display:block;
top:50%;
margin-top:-10px;
right:10px;
width:20px;
height:20px;
font-size:18px;
line-height:19px;
color:#000000;
}
#faq input[type=checkbox]:checked + label:after{content:"－";}
#faq label:hover{background:#eeeeee;}
#faq input[type=checkbox]:checked + label{background:#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:#fcefef;
border-radius:0 0 10px 10px;
overflow:hidden;
opacity:0;
}
.faq_answer:before{
content:"A";
font-family:'Jost', sans-serif;
position:absolute;
display:block;
top:20px;
left:20px;
width:30px;
height:30px;
font-size:20px;
line-height:30px;
text-align:center;
color:#ffffff;
background:#ff1f46;
border-radius:4px;
}
.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 26px 10px 35px;font-size:14px;line-height:20px;border-radius:6px;}
#faq label:before{top:10px;left:10px;width:20px;height:20px;font-size:16px;line-height:20px;}
#faq label:after{margin-top:-8px;right:5px;width:16px;height:16px;font-size:16px;line-height:16px;}
#faq input[type=checkbox]:checked + label:after{}
#faq input[type=checkbox]:checked + label{border-radius:6px 6px 0 0;}
.faq_answer{margin:0 auto 15px auto;padding:0 10px 0 35px;font-size:14px;line-height:24px;border-radius:0 0 6px 6px;}
.faq_answer:before{top:10px;left:10px;width:20px;height:20px;font-size:16px;line-height:20px;}
.faq_answer br{display:none;}
#faq input[type=checkbox]:checked + label + .faq_answer{padding:8px 10px 20px 35px;}
}

/* ----------------------- CSS Information 
 Style Info: CTA
--------------------------------------- */
.cta{
position:relative;
width:100%;
margin:0;
padding:80px 0 120px 0;
text-align:center;
background-color:#f7d8d6;
background-image:url(../img/bg01.png),url(../img/bg02.png),url(../img/bg03.png);
background-repeat:no-repeat,no-repeat,no-repeat;
background-position:bottom left,top right,top center;
box-sizing:border-box;
}
@media only screen and (max-width:2000px){.cta{background-position:bottom center,top center,top center;}}
.cta_wrapper{
position:relative;
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
text-align:center;
box-sizing:border-box;
}
.cta_box{
width:100%;
margin:0 auto 0 auto;
padding:0 4%;
box-sizing:border-box;
}
/*LOGO----------*/
.cta_logo{display:block;max-width:690px;width:100%;margin:0 auto;}
/*PRICE----------*/
.price{
margin:30px auto 20px auto;
padding:0;
line-height:70px;
font-weight:900;
color:#d0102c;
box-sizing:border-box;
}
.num{display:inline-block;font-size:70px;font-family:'Lato',sans-serif;font-weight:700;vertical-align:-5px;}
.yen{display:inline-block;font-size:30px;}
.tax{display:inline-block;font-size:14px;}
/*PAYMENT----------*/
.payment{
width:100%;
margin:20px auto 20px auto;
padding:0;
text-align:center;
color:#333333;
box-sizing:border-box;
}
.payment dt{
display:flex;
align-items:center;
justify-content:center;
margin:0;
padding:0;
font-size:16px;
line-height:30px;
font-weight:700;
box-sizing:border-box;
}
.payment dt:before,.payment dt:after{
content:"";
height:2px;
background:#d0102c;
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;
text-align:center;
box-sizing:border-box;
}
.payment_img{
display:block;
width:100%;
max-width:200px;
margin:10px auto;
padding:0;
}
/*LIMIT----------*/
.cta_limit{
width:100%;
margin:20px auto 20px auto;
padding:10px;
font-size:18px;
line-height:30px;
text-align:center;
font-weight:700;
color:#ffffff;
background:#d0102c;
box-sizing:border-box;
}
/*INFO----------*/
.cta_info{
width:100%;
margin:40px auto 20px auto;
padding:0;
text-align:center;
color:#333333;
box-sizing:border-box;
}
.cta_info p{
display:flex;
align-items:center;
justify-content:center;
margin:0;
padding:0;
font-size:16px;
line-height:30px;
font-weight:700;
box-sizing:border-box;
}
.cta_info p:before,.cta_info p:after{
content:"";
height:2px;
background:#d0102c;
flex:1;
}
.cta_info p:before{margin-right:10px;}
.cta_info p:after{margin-left:10px;}
.cta_info .overview_way{max-width:690px;margin:10px auto 10px auto;}
.cta_info ul{
list-style:none;
margin:0;
padding:0;
}
.cta_info ul li{
position:relative;
margin:0;
padding:0 0 0 16px;
font-size:16px;
line-height:30px;
text-align:justify;
box-sizing:border-box;
}
.cta_info ul li:before{
content:"※";
position:absolute;
left:0;
}
/*CV----------*/
.cv{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:space-between;
align-items:flex-start;
}
.btn{
width:48%;
margin:0;
padding:0;
}
.btn.full{
padding:10px 10px 20px 10px;
font-size:24px;
line-height:30px;
font-weight:700;
text-decoration:none;
color:#ffffff;
background:linear-gradient(#ef9c00,#e8641b);
box-shadow:0 0 2px 0px rgba(0,0,0,0.5);
border:2px solid #ec6941;
overflow:hidden;
box-sizing:border-box;
}
.btn.full span{
display:block;
width:100%;
margin:0 auto 10px auto;
padding:0;
font-size:18px;
line-height:30px;
border:1px solid #ffffff;
}
.btn a{
display:block;
width:100%;
margin:0 auto;
padding:10px 10px 20px 10px;
font-size:24px;
line-height:30px;
font-weight:700;
text-decoration:none;
color:#ffffff;
background:linear-gradient(#32cf54,#0f7726);
box-shadow:2px 2px 4px 0px rgba(0,0,0,0.5);
border:2px solid #0cb04a;
border-radius:10px;
overflow:hidden;
box-sizing:border-box;
}
.btn a:hover{
color:#0cb04a;
background:#ffffff;
box-shadow:0 0 2px 0px rgba(0,0,0,0.5);
}
.btn a span{
display:block;
width:100%;
margin:0 auto 10px auto;
padding:0;
font-size:18px;
line-height:30px;
border:1px solid #ffffff;
}
.btn a:hover span{border:1px solid #0cb04a;}
@media only screen and (max-width:750px){
.cta{
padding:40px 0 80px 0;
background-color:#f7d8d6;
background-image:url(../img/bg01_sp.png),url(../img/bg02_sp.png);
background-repeat:no-repeat,no-repeat;
background-position:bottom left,top right;
background-size:100% auto,100% auto;
box-sizing:border-box;
}
.cta_wrapper{}
.cta_box{}
/*LOGO----------*/
.cta_logo{}
/*PRICE----------*/
.price{margin:4vw auto 20px auto;line-height:40px;}
.num{font-size:40px;vertical-align:-4px;}
.yen{font-size:24px;}
.tax{font-size:12px;}
/*PAYMENT----------*/
.payment{margin:20px auto 20px auto;}
.payment dt{font-size:14px;}
.payment dt:before,.payment dt:after{height:1px;}
.payment dt:before{}
.payment dt:after{}
.payment dd{font-size:14px;line-height:24px;}
.payment_img{}
/*LIMIT----------*/
.cta_limit{padding:10px 5px;font-size:14px;line-height:20px;}
/*INFO----------*/
.cta_info{margin:40px auto 20px auto;}
.cta_info p{font-size:14px;}
.cta_info p:before,.cta_info p:after{height:1px;}
.cta_info p:before{}
.cta_info p:after{}
.cta_info .overview_way{margin:10px auto 10px auto;}
.cta_info ul{}
.cta_info ul li{padding:0 0 0 14px;font-size:14px;line-height:24px;}
.cta_info ul li:before{}
/*CV----------*/
.cv{display:block;}
.btn{width:100%;margin:0 auto 20px auto;}
.btn.full{font-size:18px;line-height:20px;}
.btn.full span{font-size:14px;line-height:20px;}
.btn a{font-size:18px;line-height:20px;}
.btn a:hover{}
.btn a span{font-size:14px;line-height:20px;}
.btn a:hover span{}
}

/* ----------------------- CSS Information 
 Style Info: CONTACT
--------------------------------------- */
#contact{
width:100%;
margin:0;
padding:60px 0;
box-sizing:border-box;
text-align:center;
color:#ffffff;
background:#000000;
}
.contact_title{
position:relative;
width:100%;
margin:0 auto 20px auto;
padding:0;
font-size:16px;
line-height:20px;
font-weight:600;
}
.contact_mail{
position:relative;
margin:0;
padding:0;
font-size:18px;
line-height:30px;
font-weight:600;
color:#ffffff;
}
.contact_mail span{
display:inline-block;
margin:0 10px 0 0;
padding:4px 10px 6px 10px;
font-size:16px;
line-height:20px;
font-weight:600;
color:#000000;
background:#ffffff;
}
.contact_attention{
width:300px;
margin:30px auto 0 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:"※";}
@media only screen and (max-width:750px){
#contact{padding:40px 0;}
.contact_title{font-size:14px;line-height:24px;}
.contact_mail{font-size:14px;line-height:24px;}
.contact_mail span{padding:4px 5px 6px 5px;font-size:13px;}
.contact_attention{width:240px;margin:20px auto 0 auto;}
.contact_attention li{padding:0 0 0 14px;font-size:12px;line-height:20px;}
.contact_attention li:before{}
}

/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
margin:0;
padding:40px 0 40px 0;
width:100%;
color:#e0e0e0;
background:#000000;
}
footer a{color:#e0e0e0;text-decoration:none;}
footer a:hover{color:#e0e0e0;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:14px;
line-height:20px;
margin:0;
padding:0 20px;
border-right:1px solid #d0102c;
}
#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:14px;
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;font-size:12px;border-right:none;}
#nav_footer ul li:last-child{border-right:none;}
footer small{margin:0;font-size:12px;}
}