@charset "utf-8";

/*----------------------------------------------------------
    Styles for keyvisual
----------------------------------------------------------*/
#kv { position:relative; background: #00769C;}
#kv.bg2{
    background: #F4F3F3;
    padding-bottom: 1px;
}
.kv_bg { background:url(../img/kv_bg.jpg) no-repeat; background-position: right bottom; background-size:cover; }
.kv_title { color:#fff; font-size:2.0rem; line-height:1.2; font-weight:bold; text-align:center; margin:0 0 1rem; }
.kv_content { position:relative; padding:1rem 1rem 1rem; }
.kv_content img{ width: 90%;}
.kv_logo { width:57.8%; text-align:left; margin:0 0 2.4rem; position:relative; left:-.3rem }
.kv_caption { color:#fff; font-size:1.8rem; font-weight:bold; line-height:1.2; margin:1rem 0 0; }
.kv_caption_year { font-size:2.4rem; }
.kv_sub-title { color: #007297; font-size:1.6rem; letter-spacing:.0.5rem; font-weight:bold; padding:0 0 1rem; text-align:center; background:#fff; }
.kv_os{ width: 25%; margin: 10px 0 10px }
.kv_os_txt{color:#fff; line-height: 1.3;  text-shadow:0 1px 0 #666;}

/*----------------------------------------------------------
    Styles for banner
----------------------------------------------------------*/
#bottom-bar {
  width: 100%;
  max-width: 640px;
  text-align: center;
  position: fixed;
  bottom: 0px;
  z-index: 10;
}
#bottom-bar.static {
position: static;
}
#bottom-bar img {
width: 100%;
}

/*----------------------------------------------------------
    Styles for .cta
----------------------------------------------------------*/
.cta{ /*background:#F4F3F3;*/}
.cta_head { color:#fff; font-size:1.5rem; font-weight:bold; padding:.8rem 0; background:#007297; }
.cta_btn-area {/* padding:1rem 0;*/ padding-bottom: 1px;}
.cta_btn-01 { margin:0 0 1rem; }


.cta_btn_wrap{
    background: #00769C;
    padding-bottom: 1px;
}
.cta_btn-yellow{background: #FFDB00;
box-shadow: 2px 2px 0px #CABA29;
border-radius: 6px;color:#00769C;
font-weight: bold;
font-size: 18px;
display: block;
text-align: center;
padding:20px 5px 20px;
margin:20px 15px 20px;
position: relative;
line-height: 1;
}
.cta_btn-yellow i{color:#00769C;position: absolute;
right:10px;top:21px;}

.cta_btn-red{background:#EC0044;
box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.3);
border-radius: 6px;color:#fff;
font-weight: bold;
font-size: 18px;
display: block;
text-align: center;
padding:20px 5px 20px;
margin:20px 15px 5px;
position: relative;
line-height: 1;
}
.cta_btn-red i{color:#fff;position: absolute;
right:10px;top:21px;}


/*----------------------------------------------------------
    Styles for #intro
----------------------------------------------------------*/
.intro_bg { background:#ebebeb; }
.intro_head-area { background:#474a4e; padding:1rem 0 0; }
.intro_head-h2 { color:#ffdb00; font-size:2.2rem; font-weight:bold; }
.intro_slanting { margin:0 0 1.8rem; }
.intro_trouble-01 { margin:0 0 1.8rem; }
.intro_trouble-02 { margin:0 0 1.8rem; }
.intro_list-01 { font-size:1.4rem; font-weight:bold; line-height:1.4; text-align:left; padding:0 0 1rem 2rem; margin:0 1.4rem 2rem 0; width:64%; border-bottom:thin solid #474a4e; float:left; }
.intro_list-02 { font-size:1.4rem; font-weight:bold; line-height:1.4; text-align:left; padding:0 2rem 1rem 0; width:64%; border-bottom:thin solid #474a4e; float:right; }
.intro_head-h3 { font-size:2.2rem; font-weight:bold; line-height:1.3; letter-spacing:.1rem; margin:0 0 2rem; }
.intoro_trouble-image01 { width:21.2%; float:left; margin:-1.8rem 0 0; }
.intoro_trouble-image02 { width:24.2%; float:left; margin:-1rem 0 0 .6rem; }
.intro_asked_question { background:url(../img/intro_img05.jpg) no-repeat 50% 0; background-size:cover; padding:4.4rem 0 4rem; }
.intro_asked_head01 { color:#fff; font-size:2rem; font-weight:bold; text-align:center; margin:0 auto 2rem; background:#999; width:5rem; height:5rem; line-height:5rem; border-radius:100px; font-family:Georgia, "Times New Roman", Times, serif; }
.intro_asked_head02 { color:#fff; font-size:2rem; font-weight:bold; text-align:center; margin:1rem auto ; background:#ec0044; width:5rem; height:5rem; line-height:5rem; border-radius:100px; font-family:Georgia, "Times New Roman", Times, serif; }
.intro_asked_copy { color:#fff; font-size:1.8rem; font-weight:bold; text-align:center; margin-bottom: 1rem; }
.intro_ans { padding:0rem 1.8rem 1rem; font-size:1.2rem; text-align: center;font-weight: bold;}
.intro_aseked { padding: 0 0 2rem;}
.intro_aseked_copy { line-height:2; }
.intro_asked_answer { color:#ec0044; font-size:2rem; font-weight:bold; text-align:center; line-height:1.4; margin:0 0 0.5rem; }
.intro_asked_caution { background:url(../img/intro_img09.png) repeat-y; background-size: 100%; padding:1rem 1.8rem; font-weight:bold; font-size:1.2rem; position:relative; line-height: 0; }
.intro_asked_caution_before { background:url(../img/intro_img08.png) no-repeat; content:""; display:block; height:3px; background-size: 100%; }
.intro_asked_caution_after { background:url(../img/intro_img10.png) no-repeat; content:""; display:block; height:1.5rem; background-size: 100%; padding-bottom: 3rem;}
.intro_asked_caution:after { background:url(../img/intro_img12.png) no-repeat; background-size:100%; content:''; display:block; height:2.2rem; position:absolute; bottom:-2.4rem; right:0; left:0; margin:0 auto; width: 13%; }

/*----------------------------------------------------------
    Styles for training
----------------------------------------------------------*/
.training_head { position:relative; }
.training_head .head { color:#fff; font-size:2.2rem; font-weight:bold; letter-spacing:.1rem; position:absolute; top:2rem; left:0; right:0; margin:0; }
.training_caption { position:relative; margin:0 0 1.4rem; }
.training_caption .caption { color:#fff; font-size:1.5rem; font-weight:bold; letter-spacing:0; position:absolute; top:0; left:0; right:0; bottom:0; margin:auto; line-height:1.3; width: 100%; text-align: center; }
.training_head-span01 { color:#ffdb00; font-size:2.8rem; }
.training_head-span02 { color:#ffdb00; font-size:2.2rem; }
.training_device { width:45.6%; margin:0 1.4rem 0 1.6rem; float:left; position:relative; }
.training_device-image { position:absolute; top: 3rem; left: .7rem; width: 90%; }
.training_head-h3 { margin:0 auto 2.4rem; width: 80% }
.training_head-h3 img { width: 100%; }
.training_head-h3jp {font-size:1.5rem; font-weight:bold; position:relative; line-height:1; color: #007297; margin: -20px auto 20px;}
.training_list { float:left; width:41.2%; }
.training_appli li { color:#fff; font-size:1.5rem; font-weight:bold; position:relative; line-height:1.2; }
.training_number01 { font-size:3.6rem; }
.training_number02 { font-size:2.8rem; }
.training_number03 { font-size:3.6rem; }
.training_appli { margin: 0 0 1.4rem; }
.training_appli li:first-child { padding:1.4rem 0 2rem; background:#007297 url(../img/training_img05.png) no-repeat right 50%; background-size:32.8%; margin:0 0 .8rem; }
.training_appli li:nth-child(2) { padding:1.4rem 0 2rem; background:#007297 url(../img/training_img06.png) no-repeat right 50%; background-size:32.8%; margin:0 0 .8rem; }
.training_appli li:nth-child(3) { padding:1.4rem 0 2rem; background:#007297 url(../img/training_img06.png) no-repeat right 50%; background-size:32.8%; }
.training_appli li:before { content:''; position:absolute; top:0; bottom:0; margin:auto; left:-.8rem; width: 0; height: 0; border-style: solid; border-width:1.2rem 1rem 1.2rem 0; border-color: transparent #007297 transparent transparent; }
.training_os{ width: 25%; margin: 10px auto; padding-top: 10px; }
.training_os_txt{text-align: center;}


/*----------------------------------------------------------
    Styles for #mypace
----------------------------------------------------------*/
.mypace_head { color:#fff; font-weight:bold; font-size:2.2rem; padding:4.8rem 0 4.6rem; background:url(../img/mypace_img01.jpg) no-repeat; background-size:100%; line-height:1.4; letter-spacing:.1rem; }
.mypace_head_span { font-size:1.5rem; }
.mypace_list { position:relative; }
.mypace_list li { font-size:1.5rem; font-weight:bold; line-height:1.3; padding:2rem 0 4rem; background:url(../img/mypace_img02.png) no-repeat; background-size:contain; width:43%; }
.mypace_list li:first-child { position:absolute; top:-1rem; left:0; right:0; margin:auto; }
.mypace_list li:nth-child(2) { position:absolute; top:4rem; left:-1rem; font-size:1.36rem; }
.mypace_list li:nth-child(3) { position:absolute; top:4rem; right:-1rem; }
.mypace_list_image01 { width:20%; margin:0 auto 1.2rem; }
.mypace_list_image03 { width:16%; margin:0.5rem auto 0.5rem; }
.mypace_list_image02 { width:18%; margin:0 auto 1.2rem; position: relative; left: -.5rem; }
.mypace_list_small { font-size:1.4rem; }

/*----------------------------------------------------------
    Styles for #why
----------------------------------------------------------*/
#why { padding:40px 0; }
#why .header { color:#007297; font-size:22px; font-weight:bold; text-align: center; border-bottom: 5px solid #007297; padding-bottom: 10px;}
.why_box {border: 5px solid #007297; padding: 0px; margin-top: 40px;}
.why_box_ttl {color:#007297; font-size:20px; font-weight:bold; text-align: left; background: #ffdb00; padding: 1.5rem ; line-height: 1.2;}
.why_box_reason{color: #fff; font-weight: bold; font-size: 1.5rem; background: #007297; border-radius: 20px; border:#007297;padding: 10px 20px; margin: 0px 20px 20px 0; vertical-align: top;display: inline-block;}
.why_box_inner {padding: 1.5rem; }
.why_box_inner_ttl{ font-size:1.6rem; font-weight:bold; text-align: left; color:#007297;}
.why_box_inner_txt{padding-top: 30px; font-size:1.3rem; text-align: left; line-height: 2;}
.txt_red{color:#ec0044; }
.why_box_inner_mb1 {margin-bottom: 2em;}

/*----------------------------------------------------------
    Styles for #shotrcut
----------------------------------------------------------*/
#shortcut figure { position:relative; }
.shortcut_title { background:#007297; padding:2.6rem 1rem 1.4rem; position:relative; overflow: hidden; }
.shortcut_head { color:#ffdb00; font-weight:bold; text-align:left; font-size:3rem; line-height:1.2; }
.shortcut_head_span { color:#fff; font-size:2.7rem; }
.shortcut_title_image { width:23.4%; position:absolute; top:.4rem; right:1rem; }
.shortcut_before { color:#fff; }
.shortcut_before_bg { background:#576466; padding:2.4rem 0; }
.shortcut_before_head { font-weight:bold; font-size:2.3rem; letter-spacing:.2rem; line-height:1.4; margin:0 0 1.4rem; }
.shortcut_before_notes { font-size:1.4rem; }
.shortcut_before_list-01 { width:30.6%; position:relative; float:left; margin:0 0 0 .6rem; }
.shortcut_before_list-02 { width:30.6%; position:absolute; left:0; right:0; margin:auto; }
.shortcut_before_list-03 { width:30.6%; position:relative; float:right; margin:0 .6rem 0 0; }
.shortcut_after_list-02 { width:30.6%; position:absolute; left:0; right:0; margin:auto; }
.shortcut_images { display:block; margin:0 0 .8rem; }
.shortcut_caption { font-weight:bold; font-size:1.6rem; }
.shortcut_before_list-02 .shortcut_caption { position:absolute; top:3.4rem; left:0; right:0; }
.shortcut_after { color:#fff; }
.shortcut_after_head img {width: 70%; margin-top: -5px;}.shortcut_after_bg { background:#007297 url(../img/shortcut_img05.jpg) no-repeat; background-size:contain; padding:7.4rem 0 2rem; }
.shortcut_footer:before { background:url(../img/shortcut_img07.png) no-repeat 50% 0; content:""; display:block; height:2.3rem; background-size: 100%; position: relative; }
.shortcut_after_head { font-size:2.2rem; font-weight:bold; line-height:1.4; margin:0 0 1rem; }
.shortcut_footer_bg { background:url(../img/shortcut_img08.jpg) no-repeat; background-size:cover; margin:-2.3rem 0 0; padding:5.6rem 0 1.6rem; }
.shortcut_footer_head { color:#fff; font-weight:bold; background:rgba(237,27,84,0.80); border:thin solid #fff; width:78.2%; margin:0 auto; padding:2rem 1rem; text-align:left; font-size: 1.7rem; line-height:1.8; }
.shortcut_before_head_span { font-size:2.2rem; }

/*----------------------------------------------------------
    Styles for #reason
----------------------------------------------------------*/
#reason:before { background:url(../img/reason_img01.png) no-repeat 50% 0; content:""; display:block; height:2rem; background-size: 100%; }
#reason:after { background:url(../img/reason_img12.png) no-repeat 50% 0; content:""; display:block; height:2rem; background-size: 100%; }
.reason_bg { background:url(../img/reason_img05.png) repeat-y; background-size:contain; padding:2.2rem 0 .6rem;  }
.reason_head { color:#fff; font-size:2.4rem; font-weight:bold; line-height:1.2; padding:1.8rem 0; background:#007297; }
.reason_block01 { margin:0 0 1.6rem; }
.reason_block01 p { font-weight:bold; text-align:center; }
.reason_list01 { width:27.8%; float:left; margin:0 0 0 1.4rem; }
.reason_list02 { width:27.8%; position:absolute; left:0; right:0; margin: auto; }
.reason_list03 { width:27.8%; float:right; margin:0 1.4rem 0 0; }
.reason_list_image { margin:0 0 .8rem; }
.reason_list_copy { font-size:1.4rem; line-height:1.3; }
.reason_list_number01 { font-size:2.4rem; }
.reason_list_number02 { font-size:1.9rem; }
.reason_list_number03 { font-size:2.6rem; }
.reason_number01 { font-size:3.4rem; }
.reason_number02 { font-size:2.4rem; }
.reason_number03 { font-size:3rem; }
.reason_icon { width:10%; }
.reason_image01 { width:87.5%; margin:0 auto 1rem; }
.reason_copy01 { font-size:1.4rem; padding:0 2rem; }
.reason_accordion { margin:0 0 2.4rem; }
.reason_text01 { font-size:1.6rem; }
.reason_notes { font-size:1.2rem; }
.reason_accordion-btn { color:#ffdb00; font-size:2rem; font-weight:bold; padding:0 0 0 4rem; margin:0 .4rem .8rem; text-align:left; height:6rem; line-height:6rem; }
.reason_accordion-btn.icon01 { background:#007297 url(../img/reason_img06.png) no-repeat 3% 50%; background-size:8%; }
.reason_accordion-btn.icon02 { background:#007297 url(../img/reason_img08.png) no-repeat 3% 50%; background-size:8%; }
.reason_accordion-btn.icon03 { background:#007297 url(../img/reason_img10.png) no-repeat 3% 50%; background-size:8%; }

/*----------------------------------------------------------
    Styles for #step
----------------------------------------------------------*/
.try_step1 { margin:0 0 1rem; }
.try_step2 { margin:0 0 2rem; }
.try_step3 { margin:0 0 2rem; }
.try_step1_block01 { position:relative; }
.try_step1_block02 { position:relative; }
.try_step1_block03 { position:relative; }
.try_text01 { color:#fff; font-size:1.5rem; font-family:Arial, Helvetica, sans-serif; position:absolute; top:0.5rem; left:1rem; }
.try_text02 { color:#fff; font-size:2rem; font-weight:bold; text-align:right; margin-right:1rem; }
.try_text03 { color:#fff; font-size:6rem; font-family:Arial, Helvetica, sans-serif; line-height:.7; position:absolute; right:.5rem; }
.try_head { color:#ffdb00; font-size:2.4rem; font-weight:bold; line-height:1.2; position:absolute; left:0; right:0; margin:auto; bottom:20px; }
.try_head_span { color:#fff; font-size:1.8rem; margin-bottom: 0; line-height: 1; }
.try_head img {width: 70%; margin-top: -5px;}
.try_head-h3-01 { color:#007297; font-size:2.3rem; font-weight:bold; text-align:left; margin:0 0 0 1.2rem; }
.try_head-h3-02 { color:#007297; font-size:2.3rem; font-weight:bold; text-align:left; margin:0.5rem 0 0 1.6rem; }
.try_txt01 { position:absolute; left:0; right:0; margin:auto; top:0; }
.try_txt02 { position:absolute; left:0; right:0; margin:auto; top:1.8rem; }
.try_iphone { position:absolute; top:0; left:0; width:53%; }
.try_iphone iframe { border-radius:10px; }
.try_mockup { position:relative; }
.try_screen-image { position:absolute; left:0; top:3.5rem; width:95%; }
.try_copy { font-size:1.4rem; background:rgba(255,255,255,0.90); border:.3rem solid #007297; padding:2rem; margin:0 1rem 0; position:relative; }
.try_copy.last { margin:-10rem 1rem 0; }
.step_movie { margin:0 0 2.4rem; }
.step_movie_head { color:#fff; font-size:1.6rem; font-weight:bold; background:#007297; padding:1rem 0; }

/*----------------------------------------------------------
    Styles for #everyday
----------------------------------------------------------*/
.everyday_bg { background:#eee; border-bottom:.2rem solid #fff; position:relative; padding:2rem 0 4.5rem; }
.everyday_head { color:#007297; font-size:5rem; font-weight:bold; line-height:1.2; margin:0 0 1rem; }
.everyday_head_span01 { color:#ed1b54; font-size:2.6rem; }
.everyday_head_span02 { font-size:2.2rem; }
.everyday_image { padding:0 1.3rem; margin:0 0 1rem; }
.everyday_copy { font-size:1.4rem; padding:0 1.4rem; }
.everyday_bg:before { content:''; display:block; background:url(../img/everyday_bg01.png) no-repeat; background-size:cover; width:100%; height:1rem; position:absolute; top:1.6rem; }
.everyday_bg:after { content:''; display:block; background:url(../img/everyday_bg01.png) no-repeat; background-size:cover; width:100%; height:1rem; position:absolute; bottom:1.6rem; }

/*----------------------------------------------------------
    Styles for #native
----------------------------------------------------------*/
.native_bg { background:#d6e9f1; padding:2.6rem 0; }
.native_head { color:#007297; font-size:2.4rem; font-weight:bold; line-height:1.3; margin:0 0 1.3rem; }
.native_head_span { color:#ed2258; font-size:2.8rem; }
.native_head_h3 { color:#fff; font-size:1.8rem; font-weight:bold; line-height:1.3; background:#007297; padding:1.8rem 0 1.4rem; }
.native_head_h3_span { color:#007297; font-size:1.4rem; background:url(../img/native_img01.png) no-repeat 50% 0; background-size: cover; padding:.6rem; display:inline-block; margin:0 0 .6rem; }
.native_image { margin:0 0 1rem; }
.native_copy { font-size:1.4rem; padding:0 .8rem; }
.native_copy2 { font-size:1.2rem; padding:.8rem; border: .2em solid #ed2258; color:#ed2258; background-color: #fff; margin: 1em 0; font-weight: bold;}
/*----------------------------------------------------------
    Styles for #voice
----------------------------------------------------------*/
.voice_bg { background:#ececec; padding:0 0 2rem; }
.voice_inner { padding:0 .8rem; }

.voice_title_area { background:#00afaa; border:.8rem solid #0dbcb7; padding:1.4rem 0; margin:0 0 1rem; }
.voice_title_icon { width:13.75%; margin:0 auto .6rem; }
.voice_title { color:#fff; font-weight:bold; font-size:2.4rem; text-shadow:0 -1px 0 #000; line-height:1.3; }
.voice_title_span { color:#ffdb00; font-size:3rem; }
.voice_copy { font-size:1.3rem; text-align:left; box-sizing:border-box; border:.4rem solid #009894; padding:1rem; margin-bottom: 1rem; }
.voice_copy img {width: 9.1rem; margin: 0px 10px 10px 0; float: left; }
.voice_name { border-bottom: #FCDB00 .4rem solid; }
.voice_btn { position:relative; border-bottom:.4rem solid #009894; }
.voice_accordion { margin:0 0 .8rem; }

/*----------------------------------------------------------
    Styles for #rule
----------------------------------------------------------*/
.rule_title_area { background:#007297; padding:2rem 0 2rem; position:relative; z-index:2; margin-bottom: 2rem; }
.rule_title { color:#fff; font-size:2.8rem; font-weight:bold; text-align:left; text-shadow:0 -1px 0 #000; line-height:1.3; background:url(../img/rule_img01.png) no-repeat 1rem; background-size:14%; padding:0 0 0 7rem; }
.rule_title_span01 { color:#ffdb00; font-size:2rem; }
.rule_title_span02 { font-size:1.7rem; }
.rule_doctor { position:relative; margin:0 0 2.4rem; }
.rule_doctor_copy { color:#007297; font-weight:bold; padding:3rem 0 0 1rem; position:absolute; top:0; }
.rule_doctor_span01 { font-size:1.7rem; display:inline-block; margin:0 0 .8rem; }
.rule_doctor_span02 { font-size:1.3rem; font-weight:normal; }
.rule_doctor_span03 { font-size:2.7rem; }
.rule_doctor:before { content: ""; position: absolute; height: 4.8rem; width: 300%; background: #007297; top: -3.6rem; left: -100%; -webkit-transform: rotate(-4deg); -ms-transform: rotate(-4deg); -o-transform: rotate(-4deg); transform: rotate(-4deg); }
.rule_list_block { padding:0 0 0 2rem; margin:0 0 2rem; }
.rule_list { color:#007297; font-size:1.6rem; font-weight:bold; text-align:left; margin:0 0 1.6rem; }
.rule_list:last-child { margin:0; }
.rule_list_number { font-size:2.6rem; }
.rule_head_h3 { color:#007297; font-size:1.8rem; font-weight:bold; border:.4rem solid #007297; padding:2.4rem 0; margin:0 1rem; position:relative; }
.rule_head_h3:before { content:''; display:block; background:url(../img/rule_img03.png) no-repeat; background-size:cover; height:11.4rem; width:.8rem; position: absolute; top: -.2rem; left: 0; }
.rule_head_h3:after { content:''; display:block; background:url(../img/rule_img04.png) no-repeat; background-size:cover; height:11.4rem; width:.8rem; position: absolute; top: -.2rem; right: -.01rem;}
.rule_block_bg { background:url(../img/rule_img05.jpg) no-repeat 50% 0; background-size:cover; padding:2rem 0 2.8rem; }
.rule_block_copy { text-align:center; font-size:1.6rem; margin:0 0 2.8rem; }
.rule_block_copy_span { color:#007297; font-size:1.8rem; font-weight:bold; }
.rule_block_graph { width:86.5%; margin:0 auto; }

/*----------------------------------------------------------
    Styles for #tokuten
----------------------------------------------------------*/
.tokuten_bg { background:#007297 url(../img/tokuten_bg.png); background-size:cover; padding:2rem 0 0; }
.tokuten_head { color:#fff; font-size:2.8rem; font-weight:bold; line-height:1.4; margin:0 0 1.4rem; }
.tokuten_head_span { color:#ffdb00; font-size:1.7rem; }
.tokuten_copy { color:#fff; font-size:1.6rem; font-weight:bold; padding:0 2.2rem; margin:0 0 2.4rem; }
.tokuten_caption { color:#fff; font-size:1rem; line-height: 1.2; padding:0 2.2rem; margin:0 0 2.4rem; }


/*----------------------------------------------------------
    Styles for #flashtraning
----------------------------------------------------------*/
.flashtraning_bg{padding:40px 0;}
.flashtraning_head { font-size:2rem;margin:0 0 30px;font-weight: bold;}
.flashtraning_head span{color:#ED1B54;}
.flashtraning_box_text{font-size: 16px;font-weight: bold;}
.flashtraning_box_text p{margin-bottom: 24px;}
.flashtraning_box_text span{color:#ED1B54;}
.flashtraning_image {margin-bottom: 20px; }

.flashtraning_txt {font-size: 1.4rem;}
.flashtraning_copy {margin-top: 30px; color:#909090; line-height:1.2;font-size: 1rem; }

/*----------------------------------------------------------
    Styles for last cta
----------------------------------------------------------*/
.cta_bg { background:#F4F3F3; padding:4.4rem 0 1.6rem; }
.cta_prices { background:#fff; border-radius:.3rem; margin:0 1.5rem 0.5rem; padding:0 0 1rem; }
.cta_prices_text01 { color:#fff; font-size:1.8rem; font-weight:bold; text-align:center; background:#007297; padding:.6rem 0; margin:0 1rem; border-top:.3rem solid #fff; border-left:.3rem solid #fff; border-right:.3rem solid #fff; position:relative; top:-2.4rem; }
.cta_prices_text02 { color:#007297; font-size:2rem; font-weight:bold; text-align:center; line-height:1; margin:-.6rem 0 0; }
.cta_prices_span01 { color:#ffdb00; font-size:2.4rem; }
.cta_price { color:#ec0044; font-size:4rem; }
.cta_last-title { color:#007297; font-size:2rem; font-weight:bold; }
.cta_last-title_span { font-size:2.6rem; }
.cta_prices_text01:after { content:''; width: 0; height: 0; border-style: solid; border-width:1rem 1rem 0 1rem; border-color:#007297 transparent transparent transparent; position:absolute; left:0; right:0; margin:auto; bottom:-.8rem; }
.cta_sub-head {
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  position: relative;
  display: inline-block;
  margin: 10px auto -20px;
}
.cta_sub-head:before,
.cta_sub-head:after {
  position: absolute;
  bottom: 13px;
  display: inline-block;
  content: "";
  width: 30px;
  height: 2px;
  background: #fff;
}
.cta_sub-head:before {
  left: -40px;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}
.cta_sub-head:after {
  right: -40px;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}

/*----------------------------------------------------------
    Styles for #faq
----------------------------------------------------------*/
.faq_bg { background:#f9f8ef; padding:2rem 0 1rem; }
.faq_bg a { color:#fff; }
.faq_title { color:#007297; font-size:2.4rem; font-weight:bold; margin:0 0 1rem; }
.faq_list { background:#fff; border:thin solid #c3c3c3; padding:1.8rem 1rem; margin:0 0 1rem; }
.faq_list_head { color:#007297; font-size:1.4rem; font-weight:bold; text-align:left; border-bottom:thin solid #007297; padding:0 0 1.2rem; margin:0 0 1.2rem; line-height:1.4; }
.faq_list_Q { font-size:2rem; width:10%; float:left; }
.faq_list_copy { width:86%; float:left; }
.faq_list_answer { font-size:1.34rem; }
.faq_top-btn { font-size:1.4rem; font-weight:bold; background:#999; border-radius:.2rem; padding:1rem 0; position:relative; }
.faq_top-btn:after { content:''; display:block; background:url(../img/faq_img01.png) no-repeat; position:absolute; top:38%; right:10%; width:1.2rem; height:.8rem; background-size:contain; }

/*----------------------------------------------------------
    Styles for fotter
----------------------------------------------------------*/
#footer { font-size:0.8rem; }
#footer a { color:#888788; }
.footer_block-style01 { background:#eff0ef; padding:1rem;}
.footer_block-style02 { background:#105f7d; padding:1rem; font-family: Helvetica, Arial, sans-serif; }
.footer_nav_list { font-size:1rem; font-weight:bold; float:left; background:url(../img/footer_img01.png) no-repeat 0 50%; background-size:.6rem; padding:0 0 0 1rem; margin:0 .8rem 0 0; line-height:2; }
.footer_campany {margin:0; line-height:1.4; text-align: center; }
.footer_logo { width:23%; float:right; margin:0 1.3rem 0 0; }
.footer_copyright { color:#fff; text-align:center; display:block; }
#footer2 { font-size:1rem; }
#footer2 a { color:#888788; }
/*----------------------------------------------------------
    Styles for font
----------------------------------------------------------*/
.font_red { color:#ec0044; }
.font_red02 { color:#ec0044; font-size:1.3rem; }
.font_bold { font-size:1.8rem; }
.font_yellow01 { color:#ffdb00; }
.font_yellow { color:#ffdb00; text-shadow:-1px 1px 0 #000; }
.font-marker-yellow { background:#ffdb00; }
.marker-yellow { background: linear-gradient(transparent 60%, #ffdb00 60%); }

/*----------------------------------------------------------
    Styles for accordion btn (#intro section)
----------------------------------------------------------*/
.intro_accordion { position:relative; }
.intro_accordion:before { content: ' '; display: block; position: absolute; top: 0; right: 0; height: 100%; width: 17%; }
.intro_accordion.active:before { content: ' '; display: block; position: absolute; top:0; right: 0; height: 100%; width: 17%; }
.intro_accordion:before { background:#000 url(../img/reason_down.png) no-repeat; background-size:contain; }
.intro_accordion.active:before { background:#000 url(../img/reason_up.png) no-repeat; background-size:contain; }

/*----------------------------------------------------------
    Styles for accordion btn (#reason section)
----------------------------------------------------------*/
.reason_accordion-btn { position:relative; }
.reason_accordion-btn:before { content: ' '; display: block; position: absolute;  top: 0; right: 0; height: 100%; width: 19%; }
.reason_accordion-btn.active:before { content: ' '; display: block; position: absolute; top:0; right: 0; height: 100%; width: 19%; }
.reason_accordion-btn:before { background:#005e7d url(../img/reason_down.png) no-repeat; background-size:contain; }
.reason_accordion-btn.active:before { background:#005e7d url(../img/reason_up.png) no-repeat; background-size:contain; }

/*----------------------------------------------------------
    Styles for accordion btn (#voice section)
----------------------------------------------------------*/
.voice_btn:before { content: ' '; display: block; position: absolute; top: 0; right: 0; height: 100%; width: 20%; }
.voice_btn.active:before { content: ' '; display: block; position: absolute; top:0; right: 0; height: 100%; width: 20%; }
.voice_btn:before { background:#00afaa url(../img/voice_btn_down.png) no-repeat; background-size:contain; }
.voice_btn.active:before { background:#00afaa url(../img/voice_btn_up.png) no-repeat; background-size:contain; }

/*----------------------------------------------------------
    Styles for  (.kai)
----------------------------------------------------------*/
.kai {margin: 20px; font-size: 0.9rem; line-height: 1.4;}
.kai h2 { font-size: 20px; font-weight: bold; color:#005e7d; }
.kai table { margin: 50px 0; border-top: 1px solid #eee; width: 100%; }
.kai tr {text-align: left;  border-bottom: 1px solid #eee; }
.kai td {text-align: left;  padding: 10px 0; }
.name { width: 7rem;}
.name12 { width: 12rem;}
.name16 { width: 16rem;}
.cap{ margin: 50px 0; text-align: left; }
.kai ol {text-align: left; margin-bottom: 1em; line-height: 1.3; }
.kai li {margin-left: 2em; list-style-type: decimal; margin-bottom: 1em; }
.kai p {margin-bottom: 1em; }
.kai ol li ol{margin: 1em 0;}
.kai ol li ol li {margin: 1em 0 1em 2em; list-style-type: decimal; }
.kai ol li ol li ol li {margin: 1em 0 1em 2em; list-style-type: lower-roman; }
.mrl1{margin: auto 1em;}


.inp { border: #eee 1px solid; padding: 0 3px; width: -webkit-calc(100% - 10px); width: calc(100% - 10px); }
.txtinp2 { width: 2em; border: #eee 1px solid; padding: 0 3px;}
.txtinp4 { width: 4em; border: #eee 1px solid; padding: 0 3px;}
.txtinp7 { width: 7em; border: #eee 1px solid; padding: 0 3px;}


input[type="submit"] {
   background-color:#005e7d;
   border: none;
   border-radius: 20px;
   color: #fff;
   font-weight: bold;
   padding: 5px 20px;
   cursor: pointer;
}

input[type="submit"]:hover { background-color: #44CCF8; }
input[type="submit"]:active { background-color: #44CCF8; }

input[type="button"] {
   background-color:#005e7d;
   border: none;
   border-radius: 20px;
   color: #fff;
   font-weight: bold;
   padding: 5px 20px;
   cursor: pointer;
}

input[type="button"]:hover { background-color: #44CCF8; }
input[type="button"]:active { background-color: #44CCF8; }

.kai .good {border: #238fb3 solid 2px; padding: 20px; width: calc(100% - 44px); margin: 50px 0; color: #238fb3; text-align: center; line-height: 1.2; font-size: 18px; font-weight: bold; }

.ng {border: #cc0000 solid 2px; padding: 20px; width: calc(100% - 44px); margin: 50px 0 0; color: #cc0000; text-align: left; line-height: 1.2;}
.caption { font-size: 12px; line-height: 1; margin-top: 5px;}
.mt50{margin-top: 50px;}
.mb20{margin-bottom: 20px;}
.center{ text-align: center;}
