h2{
  position:relative;
  margin-bottom:51px;
}

h2:after{
  position:absolute;
  content:"";
  width:80px;
  height:6px;
  bottom:-21px;
  left:0;
  right:0;
  margin:0 auto;
  background:#1E4EB7;
}

p{
  line-height:24px;
}

.header_inner.wrapper{
  width:calc(100% - 44px);
  max-width:none;
}

.header_nav > li a{
  font-size:14px;
}

.header_cta a{
  color:#fff;
  border-radius:4px;
  padding: 13px 16px;
  background:#3CB8DF;
}

.header_cta a:nth-of-type(2){
  color:#292929;
  background:#EEEEEE;
  margin-left:10px;
}

.mv{
  background:center / cover no-repeat url(../img/fv_pc_bg.png);
}

.mv_inner{
  max-width:1230px;
  /* padding:40px 0 38px; */
  padding:36px 0 36px;
  justify-content: space-between;
}

.mv_left{
  width:48.86%;
}

.mv_form{
  width:49.59%;
}

.titleBubble{
  padding:5px 32px;
  letter-spacing: 0;
  color:#fff;
  background: #1E4EB7;
}

.mv_catch > span{
  font-size:44px;
  display:block;
}

.mv_cta_btn{
  display:block;
  margin-top:20px;
}

.mv_cta_btn a {
  display: inline-block;
  color: #fff;
  border-radius: 4px;
  /* padding: 15px 21px; */
  padding: 16px 21px 18px;
  background: #3CB8DF;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  font-size: 18px;
  font-weight: 600;
}

.mv_cta_btn a:nth-of-type(2){
  color:#292929;
  background:#EEEEEE;
  margin-left:10px;
}

.streaming{
  background:#F3F3F3;
}
.streaming_inner.wrapper{
  padding: 68px 0 50px;
}

.streamingBox{
  background:#fff;
  border-radius:6px;
  padding:20px;
  display:flex;
  justify-content: space-between;
  align-items: center;
}

.sbLeft{
  width:calc(50% - 20px);
}

.sbLeft .youtubePlayer {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: none;
    margin: 0;
}

.sbLeft .youtubePlayer iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.sbRight{
  width:calc(50% - 20px);
}

.sbRight > p{
  line-height:27px;
}
.probrem h2{
  margin-bottom:67px;
}
.problem_list > li{
  /* text-align: center; */
  align-items: center;
}

.problem_list > li > img{
  width:100%;
  height:auto;
  max-width:160px;
  margin-bottom: 18px;
  /* margin-bottom: 14px; */
}

.problem_list > li h3{
  color: #1E4EB7;
  background: #F2F6FF;
  padding:11px 14px 15px;
  min-height: auto;
  max-height: none;
  flex:none;
}

.problem_list > li h3:after{
  width:21px;
  height:12px;
  bottom: -12px;
}

.problem_list > li p{
  /* padding:18px 15px; */
  padding:16px 15px;
  border: 3px solid #F3F3F3;
}

.featureContainer{
  padding:20px 26px 25px 0;
  margin-bottom:15px;
  background:#F3F3F3;
  border-radius:6px;
}

.featureBox1{
  width:65.84%;
  margin-left:20px;
}

.featureBox1 span{
  margin-bottom:15px;
  background:#1E4EB7;
  border-radius:6px;
  color:#fff;
}

.featureBox1 h3{
  font-size:28px;
  color:#1E4EB7;
  line-height:52px;
  margin-bottom:10px;
}

.featureBox2{
  width:32.38%;
  margin-right:0;
}
.featureBox2 img{
  max-width:100%;
}

.featureContainer:nth-of-type(3){
  margin-bottom:0;
}

.role{
  background:#F2F6FF;
}

.role_inner.wrapper{
  padding:68px 0;
}

.roleListBox{
  display:flex;
  justify-content: space-between;
  flex-wrap:wrap;
}

.roleListBox > li{
  width:32.17%;
  padding:24px 16px 22px;
  border-radius:6px;
  text-align:center;
  background:#fff;
}

.roleListBox > li .roleHeader{
  margin-bottom:16px;
}

.roleListBox > li .roleHeader img{
  width:100%;
  max-width:180px;
  height:auto;
}

.roleListBox > li .roleHeader h3{
  color:#292929;
  margin-top:16px;
}

.roleListBox > li .roleBody{
  padding:16px;
  background:#F3F3F3;
  border-radius: 6px;
  text-align: left;
  margin-bottom:16px;
}

.roleListBox > li:nth-of-type(1),.roleListBox > li:nth-of-type(2),.roleListBox > li:nth-of-type(3){
  margin-bottom:20px;
}

.roleBody + img.toggleArrow{
  display:block;
  margin:0 auto;
  width:25px;
  height:21px;
  transform: rotate(0deg);
}

.cta{
  background:center / cover no-repeat url(../img/cta_bg.png);
}

.cta_catch{
  color:#292929;
  font-size:32px;
  line-height:46px;
  letter-spacing: 1.28px;
  margin-bottom:24px;
}

.cta_btn{
  width:100%;
  max-width:714px;
  margin:0 auto;
  justify-content: space-between;
}

.cta_btn a {
  line-height:26px;
  padding:15px 0;
  background: #3CB8DF;
  color:#fff;
  width: 47.2%;
  height: auto;
  border-radius: 6px;
}

.cta_btn a:nth-of-type(2){
  color:#292929;
  background:#EEEEEE;
}

.cta_btn.release{
  max-width:450px;
}

.cta_btn.release a{
  width: 100%;
}

.data{
  background:#F3F3F3;
}

.data_inner.wrapper{
  padding: 68px 0;
}

.dataBox{
  background: #fff;
  border-radius: 6px;
  padding: 32px 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.dbLeft{
  width:48.27%;
}

.dbLeft img{
  width:100%;
  height:auto;
}

.dbRight{
  width:48.44%;
}

.dbRight p{
  line-height:27px;
}

.dbRight p a{
  color:#1E4EB7;
  text-decoration: underline;
}

.dbRight ul{
  background:#F2F6FF;
  padding: 12px 16px 12px 32px;
  margin:16px 0;
  border-radius: 6px;
}

.dbRight ul li{
  font-size:14px;
  line-height:24px;
  position: relative;
}

.dbRight ul li:before {
    position: absolute;
    content: "";
    background: #1E4EB7;
    border-radius: 100%;
    width: 6px;
    height: 6px;
    top: 8px;
    left: -16px;
}

.voiceContainer li{
  width:32.5%;
}

.voice{
  padding:68px 0;
  background:#fff;
}

.voiceContainer li .cName{
  background:#1E4EB7;
  padding:10px 15px;
  position:relative;
  box-shadow:none;
}

/* .voiceContainer li .cName:before{
  position: absolute;
  content: "";
  background: center / contain no-repeat url(../img/voice_icon.png);
  border-radius: 100%;
  width: 6px;
  height: 6px;
  top: 8px;
  left: -16px;
} */

.voiceContainer li .cName img{
  margin-right:8px;
  width:31px;
  height:31px;

}

.voiceContainer li p:not([class]){
  padding:16px;
  font-size:14px;
}

.guidelineFlow{
  background:#F2F6FF;
}

.guidelineFlow_inner.wrapper{
  padding:68px 0;
}

.guidelineFlow_inner.wrapper h2{
  margin-bottom:68px;
}

.guidelineFlowContainer{
  display:flex;
  justify-content: space-between;
  flex-wrap:wrap;
}

.guidelineFlowContainer li{
  width:24.17%;
  background:#fff;
  border-radius:6px;
  padding:27px 15px 22px;
  position:relative;
}

.guidelineFlowContainer li:before{
  position:absolute;
  content:"";
  background:center / contain no-repeat url(../img/flow_num1.svg);
  width:34px;
  height:34px;
  left:0;
  right:0;
  top:-17px;
  margin:0 auto;
}
.guidelineFlowContainer li:nth-of-type(2):before{
  background:center / contain no-repeat url(../img/flow_num2.svg);
}

.guidelineFlowContainer li:nth-of-type(3):before{
  background:center / contain no-repeat url(../img/flow_num3.svg);
}
.guidelineFlowContainer li:nth-of-type(4):before{
  background:center / contain no-repeat url(../img/flow_num4.svg);
}

.guidelineFlowContainer li h3{
  text-align:center;
  color:#1E4EB7;
  line-height:26px;
}

.guidelineFlowContainer li img{
  display:block;
  width:80%;
  max-width:180px;
  height:auto;
  margin:16px auto;
}

.plan{
  padding:68px 0 58px;
}

.plan table .tPlan .tablebg2{
  background:#555555;
  color:#fff;
  text-align:center;
}

.plan table .tPlan > .novis + .tablebg2{
  background:#1E4EB7;
  text-align:center !important;
}

.tablebg3{
  background:#F2F6FF;
}

.tablebg4{
  background:#FFFFFF;
}

.plan table tr > *{
  text-align:left;
  padding:16px 22px;
}

.plan table .tIllust > * img{
  max-width:164px;
}
.plan table .tIllust > *{
  padding:32px;
}

.tableContainer.pc tr th{
  text-align:center;
  width: 11.67%;
}

.tableContainer.pc table tr td:nth-of-type(2):not(.tablebg2){
  border:1px solid #FFFFFF;
}

.tableContainer.pc table tr td:nth-of-type(3):not(.tablebg2){
  border:1px solid #F3F3F3;
}

.tableContainer.pc table tr td:nth-of-type(4):not(.tablebg2){
  border:1px solid #F3F3F3;
}

p.note{
  margin:16px 0;
  text-align: right;
}

.tableMessage{
  font-size:22px;
  font-weight:600;
  line-height:32px;
  color:#fff;
  text-align:center;
  padding:17px;
  background:#3CB8DF;
  border-radius:100px;
}

table.sp_only + .tableMessage{
  display:none;
}

.flow{
  background:#F3F3F3;
}

.flow_ttl::before{
  background:#B9CFFF;
}

.flow_ttl::after{
  background:#B9CFFF;
}

.flow_list > li:nth-of-type(3) .flow_ttl::before, .flow_list > li:nth-of-type(3) .flow_ttl::after,.flow_list > li:nth-of-type(4) .flow_ttl::before, .flow_list > li:nth-of-type(4) .flow_ttl::after{
  background:#B9CFFF;
}

.flow_list > li:nth-of-type(5) .flow_ttl .label{
  color:#fff;
}

.flow_list > li:nth-of-type(5) .flow_ttl::before, .flow_list > li:nth-of-type(5) .flow_ttl::after,.flow_list > li:nth-of-type(6) .flow_ttl::before, .flow_list > li:nth-of-type(6) .flow_ttl::after{
  background:#1E4EB7;
}

.flow_detail h3{
  color:#1E4EB7;
}

.qa_list dt{
  background:#F2F6FF;
}

.qa_list dt::before{
  color:#1E4EB7;
}

.qa_list dd::before{
  background:#1E4EB7;
}

.contact h2{
  position:static;
  margin-bottom:40px;
}

.contact h2:after{
  display:none;
}

.contact {
  background: center / cover no-repeat url(../img/contact_bg.png);
}

.contact h3 span{
  color:#1E4EB7;
  /* display: block; */
  display: inline-block;
}

.cf_box.flex.acc .wpcf7-form-control-wrap label a{
  color:#1E4EB7;
}

.wpcf7-form input[type="submit"]{
  background:#3CB8DF;
  border-radius:6px;
  color:#fff;
}

.company_detail dt{
  border-top: 1px solid #BBD0FE;
}

.company_detail > div:last-of-type dt{
  border-bottom: 1px solid #BBD0FE;
}

.company_detail a{
  color:#1E4EB7;
}

.company h2:after{
  display:none;
}

@media(max-width:1260px){
  .header_nav > li{
    padding:0;
  }
  .header_nav > li a{
    padding:6px;
  }
  .header_cta a{
    font-size:14px;
  }
  .header_logo{
    height:26px;
  }
  .mv_cta_btn a{
    font-size:14px;
  }
}

@media(max-width:1200px){
  .mv_catch > span{
    font-size:38px;
  }
  .header_nav > li a{
    font-size:11px;
  }
  .header_cta a{
    font-size:12px;
  }
  .header_nav{
    margin:0 12px 0 auto;
  }
  .featureBox1{
    width:64.9%
  }
}

@media(max-width:1050px){
  .mv_catch > span{
    font-size:36px;
  }
  .mv_cta_btn a{
    font-size:14px;
  }
}

@media(max-width:1023px){
  .mv_catch + p{
    text-align:left;
  }
  .mv_cta_btn{
    margin-top:18px;
  }
  .mv_cta_btn a{
    height:auto;
    display:block;
    text-align:center;
    width:auto;
    font-size:16px;
  }
  .mv_cta_btn a:nth-of-type(2){
    margin-left:0;
    margin-top:16px;
  }
  .mv_cta_btn{
    width:100%;
  }
  .mv_form{
    width: 48.86%;
  }
  .mv_form > img.pc_only{
    display:none;
  }
  .mv_form > img.sp_only{
    display:block;
  }
  .sp_nav ul > li::before{
    background: #1E4EB7;
  }
  .sp_header_cta a{
    border-radius:6px;
    background: #3CB8DF;
    color:#fff;
  }
  .sp_header_cta a:nth-of-type(2){
    color: #292929;
    background: #EEEEEE;
    margin-top:16px;
  }
}

@media(max-width:900px){
  .mv_catch > span{
    font-size:26px;
  }
}

@media(max-width:800px){
  .featureContainer{
    padding:22px 26px;
  }
  .featureBox2{
    text-align:center;
    width:100%;
  }
  .featureBox1{
    margin-left:0;
    width:100%;
  }
}

@media(max-width:767px){
  h2{
    margin-bottom:42px;
  }
  h2:after{
    width:60px;
    height:4px;
  }
  .mv {
    background: center / cover no-repeat url(../img/fv_sp_bg.png);
  }
  .mv_catch{
    margin:14px auto 6px;
  }
  .mv_cta_btn{
    margin-top: 16px;
  }
  .wrapper:not(.header_inner){
    width:100%;
    padding:52px 14px 32px;
  }
  .mv_left{
    width:100%;
    margin-bottom:35px;
  }
  .mv_form{
    width:100%;
  }
  .mv_inner.wrapper{
    padding:16px 14px 26px;
  }
  .streamingBox{
    flex-wrap:wrap;
    padding:16px;
  }
  .sbLeft{
    width:100%;
    margin-bottom:14px;
  }
  .sbRight{
    width:100%;
  }
  .sbRight > p{
    line-height:24px;
  }
  .probrem h2{
    margin-bottom:42px;
  }
  .problem_list > li h3{
    font-size:18px;
    line-height:26px;
    padding: 15px 16px 16px;
    margin-bottom:21px;
  }
  .problem_list > li p{
    padding:14px 13px;
  }
  .problem_list > li{
    margin-bottom:24px;
  }
  .problem_list > li:nth-of-type(3){
    margin-bottom:0;
  }
  .featureContainer{
    padding:16px 16px 24px;
  }
  .featureBox2{
    margin-bottom:22px;
  }
  .featureBox1 span{
    line-height:19px;
    margin-bottom:10px;
  }
  .featureBox1 h3{
    font-size:20px;
    line-height:29px;
  }
  .feature_inner.wrapper_inner{
    padding: 44px 14px 32px;
    width:100%;
  }
  .roleListBox > li{
    /* width:100%; */
    width:47.79%;
    padding:20px 16px 25px;
  }
  .roleListBox > li .roleHeader img{
    max-width:110px;
  }
  .roleListBox > li .roleHeader h3{
    margin-top:12px;
    font-size:16px;
    line-height:24px;
  }
  .roleListBox > li .roleBody{
    padding:16px 15px;
  }
  .roleListBox > li{
    margin-bottom:16px;
  }
  .roleListBox > li:nth-of-type(1), .roleListBox > li:nth-of-type(2), .roleListBox > li:nth-of-type(3){
    margin-bottom:16px;
  }
  .roleListBox > li:nth-of-type(6){
    /* margin-bottom:0; */
  }
  .cta{
    padding:0;
    background: center / cover no-repeat url(../img/cta_bg_sp.png);
  }
  .cta_inner.wrapper{
    padding:32px 14px;
  }
  .cta_catch{
    font-size:22px;
    line-height:32px;
    letter-spacing: calc(32px * 0.04);
    margin-bottom:26px;
  }
  .cta_btn{
    flex-wrap: wrap;
  }
  .cta_btn a{
    width:100%;
    padding:13px;
  }
  .cta_btn a:nth-of-type(2){
    margin-top:12px;
  }
  .dataBox{
    flex-wrap:wrap;
    padding: 16px;
  }
  .dbLeft{
    width:100%;
    margin-bottom:26px;
  }
  .dbRight{
    width:100%;
  }
  .dbRight p{
    line-height:24px;
  }
  .dbRight ul{
    padding: 16px 16px 16px 29px;
  }
  .voice{
    padding:0;
  }
  .voiceContainer li{
    width:100%;
  }
  .voiceContainer li .cName{
    font-size:16px;
    line-height:24px;
    padding:6px 15px 5px 15px;
  }
  .voiceContainer li .cName img {
    margin-right: 6px;
    width: 28px;
    height: 28px;
  }
  .voiceContainer li p:not([class]){
    font-size:15px;
    line-height:24px;
  }
  .voiceContainer li:nth-of-type(3){
    margin-bottom:0;
  }
  .guidelineFlow_inner.wrapper h2{
    margin-bottom:60px;
  }
  .guidelineFlowContainer li{
    width:100%;
    padding:27px 16px 16px;
    margin-bottom:41px;
  }
  .guidelineFlowContainer li h3{
    font-size:18px;
  }
  .guidelineFlowContainer li img{
    max-width:130px;
    margin:18px auto 16px;
  }
  .guidelineFlowContainer li:nth-of-type(4){
    margin-bottom:0;
  }
  .plan{
    padding:0;
  }
  .plan_inner.wrapper{
    padding: 50px 14px 32px;
  }
  p.note{
    margin:0 0 12px;
    text-align:center;
  }
  .plan h2{
    margin-bottom:39px;
  }
  p.note + .tableMessage{
    display:none;
  }
  .plan table.sp tr:nth-of-type(1) td{
    border-top:none;
    font-size:16px;
    padding:10px;
    line-height:24px;
    background:#1E4EB7;
  }
  .plan table.sp tr:nth-of-type(2) td img{
    width:100%;
    max-width:130px;
  }
  .plan table.sp tr th{
    width:23.82%;
  }
  .plan table.sp tr th.tablebg2{
    text-align:center;
    background:#F2F6FF;
    border:1px solid #FFFFFF;
    padding: 14px;
  }
  .plan table.sp tr td{
    padding:12px 9px;
    font-size:14px;
    line-height:20px;
    background:#fff; 
    border:1px solid #F3F3F3;
  }
  .plan table.sp tr:nth-of-type(2) td{
    background:#F2F6FF;
  }
  .plan table.sp:nth-of-type(3){
    margin-bottom:0;
  }
  table.sp_only.sp + .tableMessage{
    display:block;
    font-size:16px;
    line-height:28px;
    border-radius:6px;
    margin-top:25px;
    margin-bottom:33px;
    position:relative;
  }
  table.sp_only.sp + .tableMessage:before{
    position:absolute;
    content:"";
    background:center / contain no-repeat url(../img/tablemessage_arrow.svg);
    top:-11px;
    left:0;
    right:0;
    margin:0 auto;
    width:25px;
    height:21px;
  }
  .plan table.sp:nth-of-type(2) tr:nth-of-type(1) td,.plan table.sp:nth-of-type(3) tr:nth-of-type(1) td{
    background:#555555;
  }
  .plan table.sp:nth-of-type(2) tr th.tablebg2,.plan table.sp:nth-of-type(3) tr th.tablebg2{
    background:#F3F3F3;
  }
  .plan table.sp:nth-of-type(2) tr:nth-of-type(2) td,.plan table.sp:nth-of-type(3) tr:nth-of-type(2) td{
    background:#F3F3F3;
  }
  .flow{
    padding:0;
  }
  .flow_list > li::after{
    border-color:#1E4EB7 transparent transparent transparent;
  }
  .flow_list > li:nth-of-type(3)::after, .flow_list > li:nth-of-type(4)::after{
    border-color:#1E4EB7 transparent transparent transparent;
  }
  .flow_list > li:nth-of-type(5)::after {
    border-color: #1E4EB7 transparent transparent transparent;
  }
  .contact {
    background: center / cover no-repeat url(../img/contact_bg_sp.png);
    padding:0;
  }
  .contact h2{
    margin-bottom:24px;
  }
  .contact h3{
    text-align: center;
  }
  .contact h3 span{
    display:inline-block;
  }
  .contact_left{
    padding:22px 16px 23px;
  }
  .contact_left{
    margin-bottom:24px;
  }
  .company{
    padding:0;
  }
  .company h2{
    margin-bottom:32px;
  }
  .company .company_inner.wrapper{
    padding:52px 14px 90px;
  }
  .footer_inner.wrapper{
    padding:0;
  }
  .company_detail ol li{
    font-size:15px;
    line-height:21px;    
  }
}

.roleListBox > li{
  box-shadow: 0px 3px 10px rgba(0, 0, 0, 0);
  transition:all .3s ease;
}
.roleListBox > li:hover{
  cursor: pointer;
  box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.16);
}
@media(max-width:767px){
  .roleListBox > li.active{
    width:100%;
  }
}

.roleBody + img.toggleArrow{
  transition:all .3s ease;
}

.roleListBox > li.active .roleBody + img.toggleArrow{
  transform: rotate(180deg);
}