@charset "utf-8";

/*--------------------------------------------------------------------------
全体の設定
---------------------------------------------------------------------------*/
html{
  font-size: calc(100vw / 37.5);
}
body {
  font-size :1.4rem;
  font-family: 'Noto Sans JP',BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo,"Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  min-width: initial;
  min-width: auto;
}
iframe{
  height: 2300px;
  width: 100%;
}
/*フォント設定
---------------------------------------------------------------------------*/
/*見出し設定
---------------------------------------------------------------------------*/
.secTtl1{
  font-size: 2.2rem;
  line-height: 1.6;
}
.secTtl2 span{
  font-size: 1.6rem;
}
.secTtl2{
  font-size: 2.4rem;
  line-height: 1.5;
}
/*共通部品
---------------------------------------------------------------------------*/
/*ボタン設定
--------------------------------------*/
button,
input[type="submit"],
input[type="button"]{
  -webkit-appearance: none;
  border-radius: 0;
}
/*カラム設定
---------------------------------------------------------------------------*/
.flexCrev{
  -ms-flex-direction: column-reverse;
  -webkit-flex-direction: column-reverse;
  flex-direction: column-reverse;
}
/*Layout
---------------------------------------------------------------------------*/
/*共通コンテンツ
--------------------------------------*/
.innerWrap{
  width: 100%;
}
/*Header
---------------------------------------------------------------------------*/
.gHeader{
  padding: 2.05rem 0;
}
.hdrLogo{
  align-self: flex-start;
  position: relative;
  z-index: 4;
  width: 12rem;
}
/*gNavi
--------------------------------------*/
@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.gNavi{
  margin-left: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
  display: block;
  width: 100%;
  height: 100vh;
  padding: 12rem 2rem 10rem;
  visibility: hidden;
  background-color: #fff;
  opacity: 0;
}
.gNavi.is-active {
  visibility: visible;
  opacity: 1;
  -webkit-animation-name: fade-in;
  animation-name: fade-in;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
}
.gNavi ul{
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.gNavi ul li{
  width: 100%;
}
.gNavi ul li:not(.btn-hdrContact) a{
  font-size: 1.6rem;
  display: block;
  margin-left: 0;
  width: 100%;
  text-align: center;
  padding: 1.2rem 0;
}
.btn-hdrContact{
  text-align: center;
}
.btn-hdrContact a{
  margin: 1rem auto;
  font-size: 1.6rem;
  height: 4.5rem;
  line-height: 4.5rem;
}
/* hamburger
----------------------------------------- */
.sp_menu {
  position: fixed;
  top: 1.5rem;
  right: 2rem;
  z-index: 3;
  display: block;
  width: 5rem;
  height: 5rem;
  padding: 1.75rem 1.5rem;
  cursor: pointer;
  background-color: #fff;
  border-radius: 50%;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  z-index: 4;
}
.sp_menu.is-active .sp_menuWrap span:nth-of-type(1) {
  -webkit-transform: translateY(0.65rem) rotate(-45deg);
  transform: translateY(0.65rem) rotate(-45deg);
}
.sp_menu.is-active .sp_menuWrap span:nth-of-type(2) {
  opacity: 0;
}
.sp_menu.is-active .sp_menuWrap span:nth-of-type(3) {
  -webkit-transform: translateY(-0.65rem) rotate(45deg);
  transform: translateY(-0.65rem) rotate(45deg);
}
.sp_menuWrap {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.sp_menuWrap span {
  position: absolute;
  display: inline-block;
  width: 2rem;
  height: 0.2rem;
  background-color: #0a3e86;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.sp_menuWrap span:nth-of-type(1) {
  top: 0;
}
.sp_menuWrap span:nth-of-type(2) {
  top: 0.65rem;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.sp_menuWrap span:nth-of-type(3) {
  bottom: 0;
}
/*--------------------------------------------------------------------------
□TOPページ home
---------------------------------------------------------------------------*/
/*mainVisual
--------------------------------------*/
.mainVisual{
  padding-top: 8rem;
}
.mainVisual .flexCols{
  flex-direction: column;
  padding-top: 1rem;
}
.mv_imgTxt {
  margin-left: 0;
  width: 100%;
  text-align: center;
}
.mv_imgTxt img{
  width: 28rem;
}
.mv_imgSp{
  width: 100%;
  text-align: center;
}
.mv_imgSp img{
  width: 26rem;
}
/*ctaArea
--------------------------------------*/
.ctaArea{
  padding-bottom: 6rem;
}
.ctaInr{
  border-width: 0.5rem;
  padding: 2rem 2rem 2rem;
}
.ctaArea h2{
  font-size: 2.2rem;
  line-height: 1.4;
  margin-bottom: 2.5rem;
}
.cta_boxWrap{
  flex-direction: column;
}
.cta_box{
  width: 100% !important;
  margin: 0 0 2.5rem;
  height: auto;
}
.cta_box:nth-child(2){
  height: 13.5rem !important; 
}
.cta_box h5{
  font-size: 1.8rem;
}
.cta_box p{
  font-size: 5rem;
}
.cta_box p span{
  font-size: 2.4rem;
  padding-right: 0;
}
.btn-cta{
  width: 100%;
  margin-top: 0;
  font-size: 1.6rem;
  height: 5rem;
  line-height: 5rem;
}
.btn-cta:before{
  width: 0.9rem;
  height: 0.9rem;
  border-width: .25rem;
}
/*Main
---------------------------------------------------------------------------*/
/*intro
----------------------------------------*/
.intro{
  padding: 6rem 0;
}
.intro_boxWrap{
  margin-top: 0;
  flex-direction: column;
}
.intro_box{
  width: 100%;
  margin-top: 5rem;
}
.intro_imgWrap{
  height: auto;
  margin-bottom: 1rem;
}
.intro_box:nth-of-type(1) .intro_imgWrap p{
  width: 6rem;
}
.intro_box:nth-of-type(2) .intro_imgWrap p{
  width: 6.4rem;
}
.intro_box:nth-of-type(3) .intro_imgWrap p{
  width: 6rem;
}
.intro_box:nth-of-type(n+2) .intro_box_catch{
  margin-top: 2.4rem;
}
.intro_box_catch{
  font-size: 2rem;
  margin-bottom: 1rem;
}
.intro_box_catch .point-color{
  font-size: 3rem;
}
.intro_box_catch span:not(.point-color){
  font-size: 1.2rem;
}
.intro_box_note, .intro_box_note.annotation a{
  font-size: 1rem !important;
}
.intro_box_note.annotation::before {
  margin: 0 .5rem 0 -1.5rem;
}
.btn_txt {
  margin-top: -5rem;
}
/*merit
----------------------------------------*/
.merit{
  padding: 6rem 0;
}
.merit_boxWrapA, .merit_boxWrapB{
  margin-top: 8rem;
}
.merit_box{
  width: 100%;
  padding: 4rem 2.4rem 2rem;
}
.merit_box-num{
  font-size: 7rem;
  top: -6rem;
}
.merit_boxWrapA .merit_box-num{
  left: 2.4rem;
}
.merit_box h3{
  font-size: 3.4rem;
}
.merit_box .box01_1, .merit_box .box01_2, .merit_box .box02_1, .merit_box .box02_2, .merit_box .box03_1, .merit_box .box03_2 {
  font-size: 1.8rem;
}
.merit_box p{
  font-size: 1.9rem;
  margin: 1.25rem 0 1rem;
}
.merit_box a{
  font-size: 1.5rem;
  padding-left: 2.6rem;
}
.merit_box a::before{
  width: 2rem;
  height: 2rem;
}
.merit_box a::after{
  left: 0.6rem;
  width: .5rem;
  height: .5rem;
}
.merit_boxWrapA .merit_boxImg{
  margin: 5rem 0 0;
  width: 100%;
  text-align: center;
}
.merit_boxWrapB .merit_box{
  order: 1;
}
.merit_boxWrapB .merit_boxImg{
  order: 2;
  margin: 5rem 0 0;
  width: 100%;
  text-align: center;
}
.merit_boxWrapB .merit_box-num{
  left: 2.2rem;
}
.merit_boxWrap1 .merit_boxImg{
  margin: 5rem 0 0;
}
.merit_boxWrap1 .merit_boxImg{
  text-align: center;
  width: 100%;
  margin: 5rem 0 0;
}
.merit_boxWrap4 .merit_boxImg{
  width: 70%;
  margin: 0 auto;
}
.merit_box_priceWrap{
  margin-top: 5rem;
}
.merit_box_price h5{
  font-size: 1.8rem;
}
.merit_box_price p{
  font-size: 5rem;
}
.merit_box_price p span{
  font-size: 2.4rem;
}
.merit_box_price{
  height: 15rem;
}
.merit_box_price:last-of-type{
  margin-top: 2rem;
}
.merit_box_hide.is-close {
    font-size: 1.6rem;
}
.merit_box a.merit_box_link.close::after {
    left: 0.6rem;
    top: 0.2rem;
    width: 0.6rem;
    height: 0.6rem;
}

/*howToUse
----------------------------------------*/
.howToUse{
  padding: 6rem 0;
}
.htu_note1{
  margin-top: 3rem;
  font-size: 1.3rem;
}
.htu_tabArea{
  margin-top: 3rem;
}
.htu_tab li{
  font-size: 1.4rem;
  padding: 1rem 0.5rem;
  line-height: 1.5;
}
.htu_tabWrap{
  padding: 3rem 2rem;
}
.htu_tab_contents h3{
  font-size: 2rem;
  margin-bottom: 3rem;
}
.htu_content1{
  flex-direction: column;
}
.htu_box_ul ul li {
width: calc( 100% / 2 - 15px) !important;
padding: 3px 0 7px 35px;
}
.htu_box1_ttl{
  font-size: 1.6rem;
}
.htu_box1_ttl2{
  font-size: 1.5rem;
}
.htu_box1{
  margin: 0 auto 5rem;
  width: 25rem;
}
.htu_box1:last-of-type{
  margin: 0 auto 0;
}
.htu_box1::before{
  border-width: 1.4rem 1.2rem 0 1.2rem;
  border-color: #000000 transparent transparent transparent;
  right: 0;
  left: 0;
  margin: auto;
  top: initial;
  bottom: -4rem;
}
.htu_box1 h5{
  font-size: 1.6rem;
  line-height: 3.8rem;
}
.htu_box1 p{
  font-size: 1.4rem;
  margin-top: 1rem;
}
.htu_iconWrap1{
  height: 15rem;
}
.htu_box1:nth-of-type(1) .htu_iconWrap1{
  background-size: 6rem auto;
}
.htu_box1:nth-of-type(2) .htu_iconWrap1{
  background-size: 6rem auto;
}
.htu_box1:nth-of-type(3) .htu_iconWrap1{
  background-size: 6rem auto;
}
.htu_box1:nth-of-type(4) .htu_iconWrap1{
  background-size: 6rem auto;
}
.htu_content2{
  flex-direction: column;
}
.htu_box2{
  width: 100%;
  padding-left: 0;
}
.htu_box2_desc1{
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
}
.htu_box2_note1{
  font-size: 1.4rem;
}
.htu_boxImg2{
  width: 100%;
  margin-top: 3rem;
  text-align: center;
}
.htu_content3{
  flex-direction: column;
}
.htu_box3{
  width: 100%;
}
.htu_box3:nth-of-type(2) {
  margin: 3rem 0 0;
}
.htu_box3_ttl{
  font-size: 1.7rem;
  line-height: 1.4;
}
.htu_box3_desc1{
  font-size: 1.5rem;
}
.htu_box3 h5{
  font-size: 1.6rem;
}
.htu_box3Inr{
  padding-left: 7rem;
}
.htu_box3:nth-of-type(1) .htu_box3Inr{
  background-size: 4.2rem auto;
  background-position: 1.2rem .5rem;
}
.htu_box3:nth-of-type(2) .htu_box3Inr{
  background-size: 3.75rem auto;
  background-position: 1.4rem .5rem; 
}
.htu_box3Inr h6{
  font-size: 1.5rem;
}
.htu_box3Inr p{
  font-size: 1.4rem;
}
.htu_box4_ttl{
  font-size: 1.7rem;
  line-height: 1.4;
}
.htu_box4_desc1{
  font-size: 1.5rem;
}
.htu_content4{
  flex-direction: column;
}
.htu_box4{
  width: 100%;
}
.htu_box4 h5{
  font-size: 1.6rem;
}
.htu_box4Inr h6{
  font-size: 1.5rem;
}
.htu_box4Inr ul li{
  font-size: 1.3rem;
}
.htu_box4:nth-of-type(2){
  margin: 3rem 0 0;
}
.htu_box4:nth-of-type(1) .htu_box4_imgWrap{
  width: 100%;
  text-align: center;
}
.htu_box4:nth-of-type(2) .htu_box4_imgWrap{
  width: 100%;
  text-align: center;
}
/*price
----------------------------------------*/
.price{
  padding: 6rem 0;
}
.price h3{
  font-size: 2.2rem;
  margin: 2.5rem 0 1rem;
}
.price_note1{
  font-size: 1.6rem;
  line-height: 1.6;
}
.price_table th{
  font-size: 1.2rem;
  width: 12.4rem;
}
.price_detail1{
  font-size: 4rem;
}
.price_detail1 span{
  font-size: 1.6rem;
}
.price_note2{
  font-size: 1rem;
  margin-top: 0.2rem;
  line-height: 1.2;
}
.price_detail2{
  font-size: 1.7rem;
}
.price_list{
  margin-top: 1rem;
}
.price_list li{
  font-size: 1.2rem;
}
.price_target {
  font-size: 1.7rem !important;
}
/*support
----------------------------------------*/
.support{
  padding: 6rem 0;
}
.support_boxWrap{
  margin-top: 1rem;
  flex-direction: column;
}
.support_box{
  margin: 3rem auto 0;
  width: 16rem;
}
.support_box p{
  font-size: 1.6rem;
}
/*case
----------------------------------------*/
.case{
  padding: 6rem 0;
}
.case_note1{
  font-size: 1.5rem;
  margin-top: 3rem;
}
.case_comp-name{
  font-size: 1.7rem;
}
.case_box h5{
  font-size: 1.5rem;
}
.case_box p{
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
}
/*slider
----------------------*/
.slider-arrow{
  width: 1.2rem;
}
.slider-prev {
  left: -.5rem;
}
.slider-next {
  right: -.5rem;
}
/*flow
----------------------------------------*/
.flow{
  padding: 6rem 0;
}
.flow_ttlArea{
  width: 100%;
}
.flow_ttlArea h2{
  font-size: 2.4rem;
  line-height: 1.5;
  text-align: center;
}
.flow_ttlArea h2 span{
  font-size: 1.6rem;
}
.flow_ttlArea p{
  font-size: 1.5rem;
  text-align: center;
  margin-top: 2rem;
}
.flow_imgWrap{
  width: 100%;
  margin: 1rem 0 0;
  background-size: contain;
  height: 16rem;
}
.flow_boxWrap{
  margin-top: 2.8rem;
}
.flow_num{
  font-size: 1.8rem;
  width: 3.4rem;
  height: 3.4rem;
  line-height: 3.4rem;
}
.flow_boxWrap:nth-of-type(2) .flow_num:before, .flow_boxWrap:nth-of-type(3) .flow_num:before,
.flow_boxWrap:nth-of-type(7) .flow_num:before {
  height: 10rem;
}
.flow_boxWrap:nth-of-type(4) .flow_num:before,.flow_boxWrap:nth-of-type(5) .flow_num:before{
  height: 21rem;
}
.flow_boxWrap:nth-of-type(6) .flow_num:before{
  height: 20rem;
}
.flow_box{
  width: calc(100% - 4.8rem);
  margin-left: 1.4rem;
}
.flow_ttl{
  font-size: 2.2rem;
  line-height: 1.4;
  margin-bottom: 0.5rem;
}
.flow_desc{
  font-size: 1.4rem;
}
.flow_desc .point-color{
  color: var(--point-color);
   font-size: 1.5rem; 
}
/*faq
----------------------------------------*/
.faq{
  padding: 6rem 0;
}
.faq_List_box-ttl{
  font-size: 1.4rem;
  padding: 2rem 3rem 2rem 0;
}
.faq_List_box-ttl.close {
  padding: 2rem 3rem 2rem 0;
}
.faq_List_box-ttl::before {
  right: 0.9rem;
  width: 1.2rem;
  height: 0.733rem;
}
.faq_List_box-ttl.close::before {
  right: 0.9rem;
  width: 1.2rem;
  height: 0.733rem;
}
.faq_List_box-ttl span {
  min-width: 4rem;
  min-height: 4rem;
}
.faq_List_box-ttl span::before{
  font-size: 1.8rem;
}
.faq_List_box_content-item{
  font-size: 1.3rem;
  padding: 0 3rem 1rem 0;
}
.faq_List_box_content-item span {
  min-width: 4rem;
  min-height: 4rem;
  align-self: flex-start;
}
.faq_List_box_content-item span::before {
  font-size: 2.4rem;
  top: 1.2rem;
}
/*contact
----------------------------------------*/
.about {
	padding: 20px 10px;
}
.about .flex {
display: block;
}
.about .flex div {
width: 100% !important;
}
.about .flex div:first-child {
font-size: 1.8rem;
font-weight: 900;
padding: 0 0 15px 10px;
text-align: left;
width: 100% !important;
}
.about .flex div:last-child {
border-left: none;
padding-left: 10px;
}
.about dl {
font-size: 1.4rem !important;
}
.about dt {
width: auto;
}
.about dd {
width: 78%;
}
footer {
	padding: 20px 10px;
}
/*ect
---------------------------------------------------------------------------*/
.spAlignL {text-align: left;}
.spAlignR {text-align: right;}
.spAlignCR {text-align: center;}

.pcNone{display: block!important;}
.pcNone-inl{display: inline!important;}
.spNone{display: none!important;}
.spNone-inl{display: none!important;}