@charset "utf-8";
html {
  scroll-behavior: smooth;
}
body {
  font-size: 18px;
  font-family: "游ゴシック", "YuGothic","Noto Sans CJK JP",  "Segoe UI", "Roboto", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 'Noto Sans JP', "Droid Sans", "ＭＳ Ｐゴシック", "Verdana", sans-serif;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
    color: #1a274f;
}
/*-----------------------------------------トップボタン*/
#backtop {
  width: 20px;
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 999;
}
/*----------------*/
/*------------------------------トップボタン*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
  #backtop {
    width: 3vw;
    bottom: 20vw;
    right: 1vw;
    z-index: 99999;
  }
}
/*--------------*/
/*-----------------------------------------固定CVボタン*/
#cv_fix {
    width: 500px;
    position: fixed;
    bottom:0;
    right: 70px;
    z-index: 99999;  
}
/*----------------*/


/*------------------------------固定CVボタン*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#cv_fix {
    width: 400px;
    right: inherit;
    left: 20px;
}   
}
/*--------------*/

/*------------------------------固定CVボタン*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
  #cv_fix {
      width: 100%;
      bottom: 0;
      right: 0;
    z-index: 99999;
  }
}
/*--------------*/


/*------------------------------ヘッダーPC*/

#header .head_logo {
  width: 150px;
    margin: 10px 20px 0;
}

/*--------------*/

/*------------------------------ヘッダー*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#header .head_logo {
  width: 25vw;
    margin:1vw 3vw 0;
}

}
/*--------------*/


/*------------------------------全体の設定PCここから*/

section,#footer {
    background: #f4f8fc;
  padding: 50px 0;
}
.wrap{
    width: 1000px;
    margin: 0 auto;
}
div, p {
  line-height: 1.8em;
  text-align: justify;
  text-justify: inter-ideograph;
}
h1, h2, h3, h4 {
  line-height: 1.6em;
}
.flex{
    display: flex;
}
.mgt50 {
  margin: 50px auto 0;
}
.mgt20 {
  margin: 20px auto 0;
}
.mgb20 {
  margin: 0 auto 20px;
}
.hover {
  transition: .5s;
}
.hover:hover {
  transform: scale(1.05);
  opacity: .8;
}
.sp_img {
  display: none;
}

/*--------------*/


/*------------------------------全体の設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
.wrap{
    width: 700px;
}    
}
/*--------------*/


/*------------------------------全体の設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {  
section,#footer{
    padding: 5vw 0;
}
.wrap{
    width: 86vw;
} 
.flex{
    flex-direction: column;
}    
  div, p {
    line-height: 1.7em;
    word-break: break-all;
  }
  p {
    font-size: 3.5vw;
  }
  h1, h2, h3, h4 {
    line-height: 1.8em;
  }
  .mgt50 {
    margin: 10vw auto 0;
  }
  .mgt20 {
    margin: 3vw auto 0;
  }
  .mgb20 {
    margin: 0 auto 5vw;
  }
  .pc_img {
    display: none;
  }
  .sp_img {
    display: block;
  }
}
/*--------------*/


/*------------------------------PC*/

#mv{
    width: 1200px;
    text-align: center;
    margin: 20px auto 50px;
}
#feature{
    width: 100%;
    background: #f4f8fc;
    background-image: url("../img/bg.webp");
    background-position: top;
    background-repeat:repeat-x;
    background-size:contain;
    text-align: center;
    margin: 0 auto;
}
#feature img{
    margin: -30px 0 0;
}
/*--------------*/

/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#mv{
    width: 700px;
}
#feature img{
    width: 600px;
    margin: -30px auto 0;
}
}
/*--------------*/

/*------------------------------スマホ*/
@media (max-width: 640px) {
#mv{
    width: 86vw;
    margin: 5vw auto;
}
    #mv img{
        margin: 3vw 0 0;
    }
#feature{
    background-repeat:no-repeat;  
}
#feature img{
    width: 86vw;
    margin: 8vw auto 0;
}
}
/*--------------*/



/*------------------------------about PC*/
#about{
    font-family: "Zen Maru Gothic", sans-serif;
    background: #f4f8fc;
}
#about img{
    width: 500px;
    margin: 0 50px 0 0;
}
#about h2{
    font-size: 2em;
    font-weight: 700;
    margin: 0 0 20px;
}
#about h2 span{
    display: block;
    font-size: .8em;
    font-weight: 300;
}
#about p{
    font-size: 1.2em;
}
/*--------------*/

/*------------------------------about*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#about img{
    width: 320px;
    margin: 0 30px 0 0;
    object-fit: contain;
}
#about h2{
    font-size: 1.5em;
    margin: 0 0;
}
#about p{
    font-size: 1em;
}
}
/*--------------*/

/*------------------------------about*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#about img{
    width: 100%;
    margin: 0 auto 5vw;
}
#about h2{
    line-height: 1.6em;
    font-size: 6.5vw;
    font-weight: 700;
    margin: 0 0 2vw;
}
#about h2 span{
    font-size: .8em;
}
#about p{
    font-size: 3.8vw;
}
}
/*--------------*/



/*------------------------------申込PC*/
#cta .cta{
    background: #fff;
    border-radius: 30px;
    box-shadow: 3px 3px 18px 0 #DDE2ED;
    padding:50px 80px;
}
#cta .cta .kit-ph{
    width: 300px;
    margin: 0 50px 0 0;
}
#cta .cta h2{
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 1.8em;
    font-weight: 600;
    text-align: center;
    margin: 0 0 30px;
}
#cta .cta h2 .red{
    color: #dd5453;
}
#cta .cta h3 span,.price span{
    font-size: .6em;
    font-weight: 400;
}
#cta .cta h3,.price{
    line-height: 1.3em;
    font-size: 2.5em;
    font-weight:bolder;
    margin: 0 0 20px;
}
.small-txt{
    display: inline;
    font-size: .4em;
    font-weight: 400;
    margin: 0 0 0 10px;
}
#cta .detail p{
    line-height: 1.2em;
    background: #f2f2f2;
    font-size: .9em;
    font-weight: 600;
    padding:10px 15px;
    margin: 0 0 10px;
}
#cta .cart_btn{
    width: 500px;
    text-align: center;
    margin: 50px auto 0;
}
#cta .document{
    font-size: .8em;
    margin: 20px 0 0;
}
#cta .caution{
    line-height: 1.5em;
    border: 2px solid #D92A2D;
    padding: 15px;
    margin: 30px auto 0;
}
#cta .caution .red{
    color: #D92A2D;
    font-weight: 600;
}
/*--------------*/

/*------------------------------申込*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#cta .cta{
    box-shadow: 3px 3px 18px 0 #DDE2ED;
    padding:50px;
}
#cta .cta .kit-ph{
    width: 200px;
    margin: 0 30px 0 0;
    object-fit: contain;
}
#cta .cta h2{
    font-size: 1.3em;
    margin: 0 0 20px;
}
#cta .cta h3 span,.price span{
    font-size: .6em;
}
#cta .cta h3,.price{
    line-height: 1.5em;
    font-size: 2em;
    margin: 0 0;
}
#cta .detail p{
    font-weight: 400;
}
}
/*--------------*/

/*------------------------------申込*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#cta .cta{
    border-radius: 6vw;
    box-shadow: 3px 3px 18px 0 #DDE2ED;
    padding:8vw;
}
#cta .cta .kit-ph{
    width: 40vw;
    margin: 3vw auto;
}
#cta .cta h2{
    font-size: 5.5vw;
    margin: 0 0;
}
    #cta .cta h2 .br{
        display: block;
    }    
#cta .cta h3 span,.price span{
    font-size: 4.5vw;
}
#cta .cta h3,.price{
    line-height: 1.3em;
    font-size:8vw;
    margin: 0 0 5vw;
}
    .small-txt{
    font-size: 3vw;
    margin: 0 0 0 1vw;
}
#cta .detail p{
    line-height: 1.5em;
    font-size: 3.3vw;
    font-weight: 300;
    padding:2vw 4vw;
    margin: 0 0 3vw;
}
#cta .cart_btn{
    width: 100%;
    margin: 5vw auto 0;
}
#cta .document{
    font-size: 3vw;
    margin: 3vw 0 0;
}
#cta .caution{
    line-height: 1.7em;
    border: .2vw solid #D92A2D;
    padding: 3vw;
    margin: 5vw auto 0;
} 
}
/*--------------*/



/*------------------------------movie PC*/
#flow iframe{
    height: 450px;
    margin: 0 10%;
}
#flow h2{
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 1.8em;
    font-weight: 600;
    text-align: center;
    margin: 0 0 50px;
}
/*--------------*/

/*------------------------------movie*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#flow iframe{
    height: 320px;
}
#flow h2{
    font-size: 1.5em;
}
}
/*--------------*/

/*------------------------------movie*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#flow iframe{
    height:39vw;
    margin: 0 10%;
}
#flow h2{
    font-size: 5vw;
    margin: 0 0 5vw;
}
}
/*--------------*/



/*------------------------------問合せ設定PC*/

#inquiry .inquiry_contents h2{
    text-align: center;
}
#inquiry .inquiry_contents h3{
    font-weight: 600;
    text-align: center;
    margin: 20px 0 0;
}
#inquiry .inquiry_contents .tel{
    line-height: 1.2em;
    font-size: 1.8em;
    font-weight: 600;
    text-align: center;
}
#inquiry .inquiry_contents p{
    text-align: center;
}
#inquiry .inquiry_contents a{
    text-decoration: none;
    color: #1a274f;
}

#inquiry .inquiry_contents .form-btn{
    width: 400px;
    margin: 30px auto 0;
}

/*--------------*/

/*------------------------------問合せ設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#inquiry .inquiry_contents h2{
    font-size: 3.5vw;
}
#inquiry .inquiry_contents h3{
    margin: 5vw 0 0;
}
#inquiry .inquiry_contents .tel{
    font-size: 8vw;
}
#inquiry .inquiry_contents .form-btn{
    width: 70vw;
    margin: 5vw auto;
}
}
/*--------------*/



/*------------------------------フッターPCここから*/
#footer{
    background: #fff;
    margin: 0 auto 50px;
}
#footer h2{
    font-size: .8em;
    text-align: center;
}

#footer .foot_logo {
  width: 250px;
  margin: 20px auto;
}
#footer .add, #footer .registration-number {
  font-size: .7em;
  text-align: center;
  margin: 0 auto;
}
#footer .registration-number {
  font-size: .6em;
}
#footer .foot_list{
    width: 600px;
    display: flex;
    margin: 20px auto;
}
#footer .foot_list li {
  font-size: .8em;
  text-align: center;
  margin: auto;
}
#footer .foot_list li a {
  text-decoration: none;
  color: #1a274f;
}
#footer .small_box {
  font-size: .5em;
  text-align: center;
  padding: 30px 0 10px;
}
/*--------------*/
/*------------------------------フッター*/
/*----------------------------------------------スマホ*/
@media (max-width: 640px) {
#footer {
  margin: 3vw auto 15vw;
}
#footer h2{
    font-size: 3vw;
    margin: 0 auto 3vw;
}    
  #footer .foot_logo {
    width: 50vw;
    margin: 0 auto 3vw;
  }

  #footer .foot_list {
    width: 100%;      
    flex-direction: column;
    margin: 5vw auto;
  }
#footer .foot_list li {
  font-size: 3vw;
}
  #footer .small_box {
    font-size: 2vw;
    margin: 0 auto;
  }
}
/*--------------*/

/*--------------*/
/*--------------*/
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}