html{
  font-size:62.15%;
  }
  ul{
    list-style:none;
  }

  
  body{
    font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size:1.6rem;
    font-weight:bold;
    color:#333;
    box-sizing: border-box;
  }
  
  a{
    text-decoration:none;
    color:#333;
  }
  .contact-btn{
    font-size:1.4rem;
    display:block;
    width:155px;
    height:37px;
    text-align:center;
    line-height:37px;
    color:#fff;
    background:linear-gradient(90deg,#FA41CC,#6020B0);
    box-shadow:0px 3px 6px #00000029;
    border-radius:10px;
  } 
  .contact-btn:hover{
    opacity:0.9;
  }
  .contact-btn:active{
    transform:translate(0,2px);
  }
  button{
    cursor: pointer;
    outline:none;
  }
  .header{
    position:fixed; 
    width:100%;
    height:94px;
    z-index:999;
    box-shadow:0px 3px 6px #00000029;
    background-color:#fff;
  }
  
  .header-inner{
    width:100%;
    max-width:1022px;
    margin-right: auto;
    margin-left: auto;
    height:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    /* padding:0 20px; */
    font-weight:bold;
  }
  
  .header-logo{
    display:flex;
    align-items:center;
    margin-left:20px;
  }
  .header-logo .logo{
    width:47px;
    height:47px;
    margin-right:16px;
  }
  .header-ttl{
    font-size:2.4rem;
  }
  .header-nav{
    display:block;
  }
  .nav{
    font-size:1.6rem;
    display:flex;
    justify-content:space-between
  }
  .nav li{
    display:block;
    font-size:1.6rem;
    padding-right:46px;
  }
  .nav li:nth-child(3){
    padding-right:0;
  }
  .nav li:hover{
    opacity:0.9; 
  }
  .header-contact{
    margin-right:20px;
  }

  .humburger{
    display:none;
  }
  .humburger-line{
    display:none;
  }
  .js-nav-menu{
    display:none;
  }
  .drawer-background{
    display:none;
  }
  @media(max-width:767px){
    .header-logo logo{
      width:30px;
      height:30px;
    }
    .header-ttl{
      font-size:1.6rem;
    }
    .humburger{
      width:30px;
      height:30px;
    }
  }

  .main{
    height:674px;
    width:100%;
    margin-right:auto;
    margin-left:auto;
    padding-top:94px;
    background-image:url(../img/oval.png);
    background-repeat:no-repeat;
    background-position: top -30px right -85px;
    background-size:708px 711px;
  }
  .main-inner{
    width:100%;
    max-width:1022px;
    height:100%;
    display:flex;
    justify-content:space-between;
    margin-right:auto;
    margin-left:auto;
    /* padding-left:20px; */
  }
  
  .main-info{
    margin-top:159px;
    margin-left:20px;
  }
  .main-ttl{
    font-size:3.2rem;
    font-weight:bold;
    line-height:1.44;
  }
  .main-txt{
    margin-top:44px;
    font-size:1.6rem;
    font-weight:bold;
    line-height:1.5;
  }
  .main-info a{
    margin-top:45px;
  }
  
  .main-img{
    width:518px;
    height:430px;
    margin-top:131px;
    margin-bottom:113px;
  }
  .br-sp{
    display:none;
  }

  @media(max-width:895px){
    .main{
      height:580px;
      background-size:600px 602px;
    }
    .main-info{
      margin-top:119px;
      display:flex;
      flex-direction:column;
      align-items:center;
    }
    .main-img{
      width:388px;
      height:322px;
      margin-top:98px;
    }
    .main-ttl{
      font-size:2.4rem;

    }
    .main-txt{
      font-size:1.4rem;
      margin-top:20px;
    }
    .br-sp{
      display:none;
    }
  }

  @media(max-width:767px){
    .main{
      height:auto;
      background-size:400px 400px;
      background-position:top -17px right -48px;
    }
    .main-inner{
      flex-direction:column;
      align-items:center;
      width:95%;

    }
    .main-img{
      order:1;
      width:95%;
      height:auto;
      margin-top:10px;
      margin-bottom:0px;
    }
    .main-info{
      order:2;
      margin-top:0px;
      margin-left:0;
    }
    .main-ttl{
      margin-top:10px;
      font-size:1.8rem;
    }
    .main-txt{
      margin-top:10px;
      font-size:1.4rem;
    }

    .main-info a{
      margin-top:15px;
      margin-bottom:40px;
    }
    .br-sp{
      display:block;
    }
  }

  .features{
    margin-top:71px;
    width:100%;
  }
  .features-inner{
    width:100%;
    max-width:1022px;
    margin-right:auto;
    margin-left:auto;
  }
  .features-ttl{
    text-align:center;
    font-size:3.2rem;
    font-weight:bold;
  }
  .features-sub-ttl{
    text-align:center;
    margin-top:10px;
    font-size:1.6rem;
    font-weight:bold;
    color:#3BA6C9;

  }
  .features-content-box{
    margin-top:57px;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
  }
  .features-content-box .features-img{
    order:2;
    width:380px;
    height:314px;
  }
  .content-ttl{
    display:block;
    width:100%;
    text-align:center;
    font-size:2.8rem;
    font-weight:bold;
    order:1;
    margin-bottom:49px;
  }
  .content-txt-box{
    order:3;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .content-sub-ttl{
    font-size:2.4rem;
    line-height:2;
  }
  .content-txt{
    font-size:1.6rem;
    font-weight:bold;
    line-height:1.625;
    margin-top:45px;
  }
  .features-content-box:nth-of-type(2){
    margin-top:86px;
  }
  .features-content-box:nth-of-type(2) .features-img{
    order:3;
  }
  .features-content-box:nth-of-type(2) .content-txt-box{
    order:2;
    justify-content:flex-start;
  }
  .features-content-box:nth-of-type(2) .content-txt{
    margin-top:40px;
  }
  .features-content-box:nth-of-type(3){
    margin-top:136px;
  }
  .features-content-box:nth-of-type(2) .content-txt{
    margin-top:33px;
  }

  @media(max-width:895px){
    .features{
      margin-top:20px;
    }
    .features-inner{
      max-width:95%;
    }
    .features-content-box{
      display:block;
      text-align:center;
    }
    .content-ttl{
      margin-top:20px;
      margin-bottom:30px;
    }
    .content-sub-ttl{
      font-size:2rem;
    }
    .content-txt{
      margin-top:30px;
    }
    .features-content-box:nth-of-type(2){
      margin-top:90px;
    }
    .features-content-box:nth-of-type(3){
      margin-top:100px;
    }
  }
  @media(max-width:767px){
    .features-ttl{
      font-size:2.0rem;
    }
    .features-sub-ttl{
      font-size:1.2rem;
    }
    .features-content-box{
      width:90%;
      margin-right:auto;
      margin-left:auto;
    }
    .features-content-box .features-img{
      width:100%;
      height:auto;
    }
    .content-ttl{
      font-size:2.0rem;
    }
    .content-sub-ttl{
      font-size:1.6rem;
    }
    .br-tb{
      display:none;
    }
    .content-txt{
      font-size:1.2rem;
    }
  }

  .price{
    width:100%;
    height:744px;
    margin-top:154px;
    background-color:#EEFBFB;
  }
  .price-inner{
    width:100%;
    max-width:926px;
    margin-right:auto;
    margin-left:auto;
  }
  .price-ttl{
    font-size:3.2rem;
    text-align:center;
    padding-top:55px;
  }
  .price-sub-ttl{
    font-size:1.6rem;
    color:#3BA6C9;
    text-align:center;
    margin-top:11px;
  }
  .price-list{
    width:100%;
    font-size:1.6rem;
    margin-top:70px;
    background-color:#FFFFFF;
    border:1px solid #E5E5E5;
    box-shadow:0px 3px 6px #00000029;
  } 

  .price-list th{
    width:30%;
    border:1px solid #E5E5E5;
    padding-top:40px;
    padding-bottom:40px;
    text-align:center;
  }
  .price-list td{
    width:70%;
    border:1px solid #E5E5E5;
    padding-left:30.5px;
  }
  .price-txt{
    margin-top:36px;
    margin-bottom:68px;
    font-size:1.6rem;
    text-align:center;
  }

  @media(max-width:895px){
    .price{
      margin-top:100px;
      height:632.5px;
    }
    .price-inner{
      max-width:90%;
    }
    .price-list{
      margin-top:50px;
    }
    .price-list th{
      width:40%;
      padding-top:34px;
      padding-bottom:34px;
    }
    .price-list td{
      width:60%;
      padding-left:25px;
    }
  }

  @media(max-width:767px){
    .price{
      height:auto;
      padding-bottom:30px;
    }
    .price-inner{
      height:100%;
    }
    .price-ttl{
      font-size:2.0rem;
      padding-top:20px;
    }
    .price-sub-ttl{
      font-size:1.2rem;
    }
    .price-list{
      margin-top:20px;
    }
    .price-list tr{
      display:flex;
      flex-direction:column;
      align-items:center;
    }
    .price-list th{
      width:100%;
      padding-top:20px;
      padding-bottom:20px;
    }
    .price-list td{
      width:100%;
      padding-left:0;
      padding-top:20px;
      padding-bottom:20px;
      text-align:center;
    }
    .price-txt{
      margin-top:20px;
      font-size:1.2rem;
      margin-bottom:0;
    }
  }
  .faq{
    width:100%;
  }
  .faq-inner{
    width:100%;
    max-width:907px;
    margin-right:auto;
    margin-left:auto;
  }
  .faq-ttl{
    font-size:3.2rem;
    padding-top:55px;
    text-align:center;
  }
  .faq-sub-ttl{
    font-size:1.6rem;
    margin-top:11px;
    color:#3BA6C9;
    text-align:center;
  }
  .faq-list{
    margin-top:32px;
  }
  .q{
    height:58px;
    text-align:center;
    line-height:58px;
    font-size:1.4rem;
    border:1px solid #E5E5E5;
  }

  .a{
    font-size:1.4rem;
    line-height:1.86;
    padding:17px 87px 30px 35px;
    text-align:left;
    background-color:#F2F2F2;
    border:1px solid #E5E5E5;
    display:none;
  }
  .open{
    display:block;
  }

  .a:nth-of-type(2){
    padding-top:23px;
    padding-bottom:27px;
  }
  .a:nth-of-type(3){
    padding-top:24px;
    padding-bottom:26px;
  }

  @media(max-width:895px){
    .faq-inner{
      max-width:95%;
    }
    .a{
      padding-right:20px;
      padding-left:20px;
    }
    .br-pc{
      display:none;
    }
  }

  @media(max-width:797px){
    .q{
      text-align:left;
      font-size:1.2rem;
      height:auto;
      line-height:normal;
      padding: 10px 
    }
    .a{
      font-size:1.2rem;
      padding:10px;
    }
    .faq-ttl{
      font-size:2.0rem;
    }
    .faq-sub-ttl{
      font-size:1.2rem;
    }
    
  }
  .blog{
    margin-top:86px;
    width:100%;
    height:668px;
    background-color:#EEFBFB;
  }
  .blog-inner{
    width:100%;
    max-width:90%;
    margin-right:auto;
    margin-left:auto;
  }
  .blog-ttl{
    padding-top:55px;
    font-size:3.2rem;
    text-align:center;
  }
  .blog-sub-ttl{
    margin-top:11px;
    font-size:1.6rem;
    color:#3BA6C9;
    text-align:center;
  }
  .blog-contents-wrapper{
    margin-top:54px;
    display:flex;
    justify-content: space-between;
  }
  .blog-img{
    display:block;
    width:100%;
  }
  .blog-contents-box{
    width:calc(33.3333% - 60px /3 );
    background-color:#fff;
    margin-right:30px;
    box-shadow:0px 3px 6px #00000029;
  }
  .blog-contents-box:nth-of-type(3){
    margin-right:0;
  }
  .blog-contents-ttl-box{
    display:flex;
    flex-direction:column;
    flex-direction:column;
    min-height:127px;
  }
  .blog-contents-ttl{
    margin-top:14px;
    margin-left:18px;
    margin-right:18px;
    font-size:1.8rem;
    line-height:1.44;
  }
  time{
    display:block;
    margin-top:auto;
    margin-bottom:10px;
    margin-right:32px;
    text-align:right;
  }
  @media(max-width:895px){
    .blog{
      height:auto;
    }
    .blog-inner{
      width:90%;
      margin-right:auto;
      margin-left:auto;
    }
    
    .blog-contents-wrapper{
      flex-direction:column;
      align-items:center;
    }
    .blog-contents-box{
      margin-bottom:40px;
      width:600px;
      height:auto;
      margin-right:auto;
      margin-left:auto;
    }
    .blog-contents-box:nth-of-type(3){
      margin-right:auto;
    }
    .blog-contents-box a{
      display:flex;
      width:100%;
    }
    .blog-img{
      width:280px;
      height:auto;
    }
    .blog-contents-ttl{
      margin-top:40px;
    }

  }

  @media(max-width:767px){
    .blog-contents-box{
      width:100%;
    }
    .blog-contents-wrapper{
      margin-top:20px;
    }
    .blog-contents-box a{
      display:block;
    }
    .blog-img{
      width:100%;
    }
    .blog-contents-ttl{
      font-size:1.6rem;
      margin-top:20px;
    }
    .blog-ttl{
      font-size:2.0rem;
      padding-top:20px;
    }
    .blog-sub-ttl{
      font-size:1.4rem;
    }
  }

  .works{
    width:100%;
    margin-top:55px;
  }
  .works-inner{
    width:100%;
  }
  .works-ttl{
    font-size:3.2rem;
    text-align:center;
  }
  .works-sub-ttl{
    font-size:1.6rem;
    color:#3BA6C9;
    margin-top:11px;
    text-align:center;
  }
  .swiper-container{
    margin-top:68px;
    /* width:99%;
    margin-right:auto;
    margin-left:auto; */
  }

  .swiper-slide{
    border:1px solid #DDDDDD;
    border-radius:8px;
  }
  .slide-img{
    width:100%;
  }
  .slide-item-ttl{
    font-size:1.6rem;
    line-height:1.5;
    padding-top:25px;
    padding-right:16px;
    padding-left:18px;
    padding-bottom:30px;
  }
  .slide-item-txt{
    font-size:1.4rem;
    line-height:1.4286;
    padding-left:18px;
    padding-right:16px;
    padding-bottom:40px;
  }

.contact{
    margin-top:90px;
    width:100%;
  }
.contact-inner{
  width:100%;
  background:transparent linear-gradient(90deg, #05A5FA 0%, #63FBD7 100%, #67FFD6 100%) 0% 0% no-repeat padding-box;
  color:#fff;
  padding-bottom:70px;
}
.contact-ttl{
  font-size:3.2rem;
  text-align:center;
  padding-top:63px;
}
.contact-sub-ttl{
  font-size:1.6rem;
  text-align:center;
  margin-top:7px;
}
.contact-txt{
  font-size:1.6rem;
  line-height:1.5;
  margin-top:36px;
  text-align:center;
}
.contact form{
  background-color:#fff;
  color:#333333;
  width:66%;
  max-width:908px;
  margin-right:auto;
  margin-left:auto;
  margin-top:44px;
  padding:31px 62px 35px;
  box-shadow:0px 3px 6px #00000029;
}
.form-box label{
  font-size:1.6rem;
}
span{
  font-size:1.4rem;
  display:inline-block;
  margin-left:23px;
  width:60px;
  height:30px;
  background-color:#0C449B;
  color:#fff;
  line-height:30px;
  text-align:center;
  border-radius:10px;
}
input{
display:block;
width:499px;
height:43px;
background: #EEFBFB 0% 0% no-repeat padding-box;
border-radius: 3px;
border:none;
}
.name{
  margin-top:36px;
  margin-bottom:25px;
}
.mail{
  margin-top:35px;
  margin-bottom:19px;
}
textarea{
  display:block;
  width:100%;
  height:179px;
  background: #EEFBFB 0% 0% no-repeat padding-box;
  border-radius: 3px;
  border:none;
  margin-top:35px;
}
.form-box:nth-of-type(4){
  display:flex;
  align-items:center;
  margin-top:27px;
  justify-content:center;
}
#privacycheck{
  width:20px;
  height:20px;
}
#js-submit{
  margin-top:30px;
  width:155px;
  height:37px;
  font-size:1.4rem;
  color:#fff;
  background: transparent linear-gradient(90deg, #FA41CC 0%, #6020B0 100%) 0% 0% no-repeat padding-box;
box-shadow: 0px 3px 6px #00000029;
border-radius: 10px;
margin-right:auto;
margin-left:auto;
}
.contact-error-message{
  visibility:hidden;
  color:red;
  font-size:1.2rem;
  text-align:center;
  margin-top:5px;
}
.end-message{
  display:none;
  text-align:center;
}
.false-message{
  display:none;
  text-align:center;
}
@media(max-width:767px){
  .contect-ttl{
    padding-top:30px;
    font-size:2.0rem;
  }
  .contact-sub-ttl{
    font-size:1.4rem;
  }
.contact form{
  width:90%;
  padding:15px;
}
input{
  width:85%;
}
.name{
  margin-top:20px;
  margin-bottom:20px;
}
.mail{
  margin-top:20px;
  margin-bottom:20px;
}
textarea{
  margin-top:20px;
}
}

.footer{
  width:100%;
  height:244px;
}
.footer-ttl{
  font-size:2.4rem;
  text-align:center;
  padding-top:43px;
  margin-bottom:21px;
}
.footer-utility{
  display:flex;
  justify-content:center;
}
.footer-privacy-poricy{
  margin-right:29px;
}
.footer a{
  display:inline-block;
  font-size:1.6rem;
}

.footer-copy{
  font-weight:normal;
  font-size:1.4rem;
  display:block;
  margin-top:52px;
  text-align:center;
}


@media(max-width:767px){
  .footer{
    height:150px;
  }
  .footer-ttl{
    font-size:2.0rem;
    padding-top:20px;
    margin-bottom:20px;
  }
  .footer a{
    font-size:1.4rem;
  }
  .footer-copy{
    font-size:1.2rem;
    margin-top:20px;
  }
}
#js-submit:active{
  transform:translate(0,2px);
}
#norton-idsafe-field-styling-divId{
  display:none;
}

@media(max-width:895px){
  .nav{
    display:none;
  }
  .header-contact{
    display:none;
  }

  .humburger{
    display:inline-block;
    width:48px;
    height:48px;
    margin-right:20px;
    border:none;
    background-color:transparent;
    position:relative;
    z-index:1001;
  }

  .humburger-line{
    display:inline-block;
    position: absolute;
    top:20%;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    height:3px;
    background-color:#333;
    margin:0;
    transition:0.3s;
    z-index:1001;
  }
  .humburger-line:nth-child(2){
    top:50%;
  }
  .humburger-line:nth-child(3){
    top:80%;
  }
  .humburger.open{
    z-index:1001;
  }
  .humburger.open .humburger-line{
    transform:rotate(45deg);
    top:48%;
  }
  .humburger.open .humburger-line:nth-child(2){
    display:none;
  }
  .humburger.open .humburger-line:nth-child(3){
    transform:rotate(-45deg);
    top:48%;
  }

  .js-nav-menu{
    display:block;
    position:fixed;
    top:0;
    /* right:0px; */
    right:-200px;
    width:200px;
    height:100vh;
    z-index:1000;
    background-color:#fff;
    font-size:2.4rem;
    padding-top:150PX;
    transition:0.6s;
  }
  .js-nav-menu.open{
    right:0;
  }
  .js-nav-menu ul{
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .js-nav-menu ul li{
    margin-bottom:30px;
  }
  .drawer-background{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-color:#333;
    opacity:0.5;
    display:none;
  }
  .drawer-background.open{
    display:block;
  }
}
