@charset "utf-8";
html {
  scroll-behavior: smooth;
    background: #FBF7F5;
}
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: #481809;
}
/*-----------------------------------------トップボタン*/
#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: 80px;
    position: fixed;
    top:100px;
    right: 0;
    z-index: 99999;  
}
/*----------------*/

/*------------------------------固定CVボタン*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#cv_fix {
    width: 75px;
    top:inherit;
    bottom: 200px;
}    
}
/*----------------*/

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

/*------------------------------パンくずリストPC*/
#breadcrumb {
    background: none;
  padding: 10px 0;
}

#breadcrumb li {
  display: inline;
}

#breadcrumb li:after {
  content: '>';
  padding: 0 10px;
  color: #333;
vertical-align: middle;    
}

#breadcrumb li:last-child:after {
  content: '';
}

#breadcrumb li a {
    font-size:.6em;
  text-decoration: none;
    color: #333;
}

#breadcrumb li a:hover {
  text-decoration: underline;
}
/*--------------*/

/*------------------------------パンくずリスト*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#breadcrumb {
    background: #fff;
  padding:0 5vw;
}
#breadcrumb li:after {
  content: '>';
  padding: 0 1vw;
}
#breadcrumb li a {
    font-size:2.5vw;
}
}
/*--------------*/


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

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

/*ここからナビ*/
#nav_list {
  width: 450px;
  height: 100%;
  background: #D4D6CE;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  visibility: hidden;
  overflow: auto;
}
.nav_list ul {
  margin:100px 120px 100px 50px;
}
.nav_list li {
    background: #fff;
    border-radius: 30px;
    opacity: .7;
  padding: 10px 20px;
  margin: 0 0 20px;
}
.nav_list li:hover {
    opacity: 1;
}
.nav_list li a {
    display: flex;
   align-items: center;
  text-decoration: none;
    text-align:center;
  color: #228B73;
}
.nav_list li a img{
    width: 36px;
    margin: 0 10px 0 0;
}
#nav_list .nav_logo {
  width: 300px;
  text-align: center;
  margin: 0 auto 50px;
  object-fit: contain;
}
/*--openNav---*/
.openNav #nav_list {
  visibility: visible;
}
/*---------------------
navigation btn
----------------------*/
.navBtn {
  position: fixed;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  top: 20px;
  right: 10px;
  cursor: pointer;
  z-index: 999999;
}
.navBtn span {
  display: block;
  width: 100%;
  height: 3px;
  background: #8C938B;
  transition: opacity .3s, transform .5s;
}
.navBtn span:nth-of-type(1), .navBtn span:nth-of-type(2) {
  margin-bottom: 10px;
}
.navBtn span:nth-of-type(1), .navBtn span:nth-of-type(3) {
  transition-delay: 0s;
}
.navBtn span:nth-of-type(2) {
  transition: .2s;
  transition-delay: .1s;
}
/*--.openNav-------*/
.openNav #jsNavBtn span:nth-of-type(1) {
  transform: translateY(13px) rotate(45deg);
  transition-delay: .1s;
}
.openNav #jsNavBtn span:nth-of-type(2) {
  width: 0;
  opacity: 0;
  transition-delay: 0s;
}
.openNav #jsNavBtn span:nth-of-type(3) {
  transform: translateY(-13px) rotate(-45deg);
  transition-delay: .1s;
}
/*--------------*/

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

    
  /*ここからナビ*/
  #nav_list {
    width: 100%;
    z-index: 999999999;
  }
  .nav_list ul {
    margin: 15vw 15vw;
  }
  .nav_list li {
    font-size: 3.8vw;
    font-weight: 600;
      border-radius: 10vw;
    padding: 2vw 8vw;
      margin: 0 0 5vw;
  }

  .nav_list li a img {
    width: 8vw;
    margin: 0 2vw 0 0;
  }
  #nav_list .nav_logo {
    width: 70vw;
  }

  /*---------------------
navigation btn
----------------------*/
    
  .navBtn {
    width: 7vw;
    height: 10vw;
    top: 3vw;
    right: 3vw;
      padding: 0 0;
      z-index: 99999999999;
  }
  .navBtn span {
    width: 100%;
    height: .5vw;
    transition: opacity .3s, transform .5s;
  }
  .navBtn span:nth-of-type(1), .navBtn span:nth-of-type(2) {
    margin-bottom: 1.5vw;
  }
  /*--.openNav-------*/
  .openNav #jsNavBtn span:nth-of-type(1) {
    transform: translateY(1.9vw) rotate(45deg);
    transition-delay: .1s;
  }
  .openNav #jsNavBtn span:nth-of-type(3) {
    transform: translateY(-1.9vw) rotate(-45deg);
    transition-delay: .1s;
  }
}
/*--------------*/


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

section {
  width: 700px;
  margin: 0 auto;
    overflow-x: hidden;
}
div, p {
  line-height: 1.8em;
  text-align: justify;
  text-justify: inter-ideograph;
}
h1, h2, h3, h4 {
  line-height: 1.6em;
}
.flex{
    display: flex;
}
.small-txt {
  display: inline-block;
  line-height: 1.5em;
  font-size: .7em;
  margin: 10px 0 0;
}
.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) {
section {
    width: 700px;
}
}
/*--------------*/


/*------------------------------全体の設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {  
section{
  width: 100vw;
  margin: 0 auto;
}
  div, p {
    line-height: 1.7em;
    word-break: break-all;
  }
  p {
    font-size: 3.5vw;
  }
  h1, h2, h3, h4 {
    line-height: 1.8em;
  }
.small-txt {
  line-height: 1.5em;
  margin:2vw 0 0;
    font-size: 3vw;
}   
  .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{
    max-width: 1200px;
    min-width: 1000px;
    margin: 10px auto 50px;
    position: relative;
}
#mv .mv-img img{
    width: 100%;
    object-fit: contain;
}
#mv .mv-icon{
    width: 220px;
    position: absolute;
    top:50px;
    right: 110px;
}
#mv h1{
    color: #89281A;
    font-family:YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 2.2em;
    font-weight: bolder;
    writing-mode: vertical-rl;
    text-shadow:0 0 10px #fff,
        0 0 10px #fff,
               0 0 10px #fff,
               0 0 20px #fff,
               0 0 20px #fff,
               0 0 30px #fff;
    position: absolute;
    top:310px;
    right: 70px;
}
#mv p{
    font-size: 1.1em;
    writing-mode: vertical-rl;
        text-shadow:0 0 10px #fff,
        0 0 10px #fff,
               0 0 10px #fff,
               0 0 20px #fff,
               0 0 20px #fff,
               0 0 30px #fff;
    position: absolute;
    top:310px;
    right: 280px;
}
#mv p em {
  text-combine-upright: all;
  font-style: normal;
}
#cv{
    width: 600px;
    margin: 0 auto 40px;
}
#cv img{
    width: 100%;
    object-fit: contain;
}
/*--------------*/


/*------------------------------メインビュー*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#mv{
    max-width: 900px;
    min-width: 650px;
    padding: 0 10px;
    margin: 20px auto 50px;
}
#mv .mv-icon{
    width: 160px;
    top:-20px;
    right: 80px;
}
#mv h1{
    font-size: 1.7em;
    top:170px;
    right: 40px;
}
#mv p{
    font-size: 1em;
    top:170px;
    right: 200px;
}
#mv p em {
  text-combine-upright: all;
  font-style: normal;
}
#cv{
    width: 600px;
    margin: 0 auto 40px;
}
#cv img{
    width: 100%;
    object-fit: contain;
}
}
/*--------------*/

/*------------------------------メインビュー*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#mv{
    max-width: inherit;
    min-width: inherit;
    width: 94vw;
    margin: 3vw auto 5vw;
}
#mv .mv-icon{
    width: 35vw;
    top:10vw;
    right: 5vw;
}
#mv h1{
    line-height: 1.3em;
    font-size: 7.8vw;
    font-weight: 900;
    text-shadow:0 0 1vw #fff,
        0 0 1vw #fff,
               0 0 1vw #fff,
               0 0 2vw #fff,
               0 0 2vw #fff,
               0 0 3vw #fff;
    top:55vw;
    right: 4vw;
}
#mv p{
    color: #fff;
    line-height: 1.3em;
    font-size: 3.8vw;
    text-shadow:none;
    top:55vw;
    right: 37vw;
}
#cv{
    display: none;
}
}
/*--------------*/




/*------------------------------sec1設定PC*/
#allergy-check{
    background-image: url("../img/check_bg.webp");
    background-size: 100% contain;
    height: 1550px;
    background-repeat: no-repeat;
    position: relative;
}
#allergy-check .check-img{
    position: absolute;
    bottom:10px;
    left:90px;
}


.question-box {
    margin: 600px 60px 0;
}

  /* チェックボックス（.q-item）を含むlabel */
 .question-box label {
    display: block;
     line-height: 2.3em;
    font-size: 1.6em;
    font-weight: 600;
    cursor: pointer;
     border-bottom:2px dotted #89281A;
  }

  .question-box .q-item {
    width: 25px;
    height: 25px;
    margin-right: 8px;
      vertical-align: middle;
  }

  #check-result {
      color: #C3301B;
    font-size: 2em;
    font-weight: bold;
      text-align: center;
    margin: 20px auto 0;
  }

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

/*------------------------------sec1設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#allergy-check{
    width: 90vw;
    background-size: 100%;
    height: 205vw;
    margin: 0 auto;
}
#allergy-check .check-img{
    width: 70vw;
    bottom:4vw;
    left:10vw;
}

.question-box {
    width: 74vw;
    margin: 75vw auto 0;
}
  /* チェックボックス（.q-item）を含むlabel */
 .question-box label {
     line-height: 2.4em;
    font-size: 3.8vw;
     border-bottom:.5vw dotted #89281A;
  }

  .question-box .q-item {
    width: 4vw;
    height: 4vw;
    margin-right: 2vw;
  }

  #check-result {
    font-size: 4.5vw;
    margin: 3vw auto 0;
  }
}
/*--------------*/


/*------------------------------sec3設定PC*/
#solution{
    margin: -30px auto 0;
}
/*--------------*/

/*------------------------------sec3設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {

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


/*------------------------------sec4設定PC*/
#items{
        background:#486433;
    padding: 0 0 100px;
    }
#items h2{
    color:#F9D82F;
    font-size: 2.3em;
    font-weight: 600;
    text-align: center;
}
#items h2 span{
    display: block;
    color:#fff;
    font-size: .6em;
    font-weight: 400;
}
#items p{
    width: 600px;
    color:#fff;
    margin: 20px auto 50px;
}

#items .accordion_title{
    width: 540px;
    background: #F9D82F;
    color:#481809;
    font-size: 1.4em;
    font-weight: 600;
    border-radius: 10px;
    padding: 30px ;
    margin: 20px auto;
}

#items .accordion_title:after {
    font-size: 1.3em;
  position: absolute;
  top: calc(50% - 0.5em);
  right: 30px;
}
#items .item-list{
    width: 600px;
    background: #fff;
    margin: 0 auto 80px;
}
#items .item-list tr{
 border:2px solid #486433;   
}
#items .item-list th{
    width: 100px;
    background: #F7F2E3;
    text-align: right;
    padding:30px 10px;
}
#items .item-list th:nth-child(2n){
    width: 130px;
    text-align: left;
}
#items .item-list th img{   
    width: 60px;
}
#items .item-list td{
    padding: 30px;
}
/*--------------*/

/*------------------------------sec4設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#items{
    padding: 0 0 20vw;
    }
#items h2{
    font-size: 7vw;
}
#items h2 span{
    font-size: .7em;
}
#items p{
    width: 84vw;
    margin:3vw auto 8vw;
}

#items .accordion_title{
    width: 75vw;
    font-size: 4.5vw;
    border-radius: 2vw;
    padding: 5vw;
    margin: 3vw auto;
}

#items .accordion_title:after {
    font-size: 4.5vw;
  right: 5vw;
}
#items .item-list{
    width: 80vw;
    font-size: 3.5vw;
    margin: 0 auto 5vw;
}
#items .item-list tr{
    border:none;
 border-bottom:1vw solid #486433;   
}
#items .item-list th{
    width:15vw;
    padding:5vw 0;
}
#items .item-list th:nth-child(2n){
    width: 20vw;
}
#items .item-list th img{   
    width: 10vw;
}
#items .item-list td{
    padding: 5vw;
}
}
/*--------------*/

/*------------------------------sec5設定PC*/
#accuracy{
    background-image:url("../img/allergy03.webp");
    padding: 100px 0;
    margin: -40px auto 0;
}
#accuracy h2{
    color: #486433;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 2.8em;
    font-weight: 600;
    text-align: center;
    text-shadow:0 0 10px #fff,
        0 0 10px #fff,
               0 0 10px #fff,
               0 0 20px #fff,
               0 0 20px #fff,
               0 0 30px #fff;
}
#accuracy h2 span{
    display: block;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-size: .6em;
    font-weight: normal;
}
#accuracy .accuracy-list li{
    width: 540px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 1px 1px 10px 0 #C5BBB0;
    padding: 50px;
    margin: 50px auto;
}
#accuracy .accuracy-list li h3{
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 2em;
    font-weight: bolder;
    text-align: center;
}
#accuracy .accuracy-list li img{
    width: 400px;
    margin: 20px 20px;
}

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

/*------------------------------sec5設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#accuracy{
    background-size: 100%;
    padding: 10vw 0 0;
    margin: -7vw auto 0;
}
#accuracy h2{
    font-size: 8vw;
    text-shadow:0 0 1vw #fff,
        0 0 1vw #fff,
               0 0 1vw #fff,
               0 0 2vw #fff,
               0 0 2vw #fff,
               0 0 3vw #fff;
}
#accuracy h2 span{
    font-size: .6em;
}
#accuracy .accuracy-list li{
    width:80vw;
    border-radius: 4vw;
    box-shadow: .5vw .5vw 1vw 0 #C5BBB0;
    padding:5vw 8vw;
    margin: 6.5vw auto;
}
#accuracy .accuracy-list li h3{
    font-size: 6vw;
}
#accuracy .accuracy-list li img{
    width: 100%;
    margin: 3vw 0;
}

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


/*------------------------------CTA設定PC*/
.cta-wrap{
    width: 700px;
    background: #C6BFB1;
    padding:0 50px 50px;
    margin: 0 auto;
}
.cta-wrap2{
    background: #E3EEF7;
    padding: 50px 50px 80px;
}
.cta{
    background: #fff;
}
.cta h2{
    background: #228B73;
    color: #fff;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 2em;
    font-weight: 600;
    text-align: center;
    padding: 30px 0;
}

.cta h3 {
    position: relative;
    font-size: 1.5em;
    font-weight: bold;
    text-align: center;
    margin: 50px 0 10px;
}

.cta h3::before,
.cta h3::after {
    position: absolute;
    top: 0;
    height: 40px;
    content: '';
}

.cta h3::before {
    border-left: solid 2px;
    left: 100px;
    transform: rotate(-30deg);
}

.cta h3::after {
    border-right: solid 2px;
    right: 100px;
    transform: rotate(30deg);
}

.cta h4{
    font-size: 1.8em;
    font-weight: bolder;
    text-align: center;
}
.cta .flex{
    margin:30px 50px;
}
.cta .allergyitem-list li{
    width: 180px;
    background: #F9D82F;
    font-weight: 600;
    text-align: center;
    border-radius: 20px;
    padding: 5px 0;
    margin: 10px 10px 10px 0;
}
.cta .cta-kit-ph{
    width: 320px;
    object-fit: contain;
}
.cta .cta_btn img{
    width: 540px;
    object-fit: contain;
    margin: 20px 30px 60px;
}
/*--------------*/

/*------------------------------CTA設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
.cta-wrap{
    width: 100%;
    padding:8vw 5vw 15vw;
}
    .cta{
        box-shadow: .5vw .5vw 2vw 0 #ABABAB;
    }
.cta-wrap2{
    padding:8vw 5vw 15vw;
}
.cta h2{
    font-size: 6vw;
    padding: 3vw 0;
}

.cta h3 {
    font-size: 4.5vw;
    margin: 8vw 0 3vw;
}

.cta h3::before,
.cta h3::after {
    height: 10vw;
}

.cta h3::before {
    border-left: solid .1vw;
    left: 15vw;
}

.cta h3::after {
    border-right: solid .1vw;
    right: 15vw;
}

.cta h4{
    font-size: 5vw;
}
.cta .flex{
    margin:5vw;
}
.cta .allergyitem-list li{
    width: 28vw;
    font-size: 2.8vw;
    border-radius: 5vw;
    padding: 0 0;
    margin: 1vw 2vw 1vw 0;
}
.cta .cta-kit-ph{
    width: 48vw;
}
.cta .cta_btn img{
    width: 80vw;
    margin:3vw 5vw 8vw;
}
}
/*--------------*/

/*------------------------------sec6設定PC*/
#review{
    background-image: url("../img/voice_bg.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #fff;
    padding: 80px 80px 40px;
}

#review h2{
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 3em;
    font-weight: 600;
    text-align: center;
}
#review .review-about{
    font-size: 1.1em;
    text-align: center;
    margin: 40px auto;
}
#review .review-card{
    border:1px solid #481809;
    margin: 0 0 50px;
}
#review .review-card img{
    width: 100%;
    object-fit: contain;
}
#review .review-card p{
    padding: 30px 40px;
}
/*--------------*/

/*------------------------------sec6設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#review{
    background-size: 100%;
    padding: 10vw 8vw 5vw;
}

#review h2{
    font-size:9vw;
}
#review .review-about{
    font-size: 3.5vw;
    margin: 3vw auto 5vw;
}
#review .review-card{
    border:.2vw solid #481809;
    margin: 0 0 5vw;
}
#review .review-card p{
    padding:5vw 8vw;
}
}
/*--------------*/


/*------------------------------sec7設定PC*/
#flow{
    background: #fff;
}
#flow h2{
    width: 600px;
    object-fit: contain;
    margin: 0 auto;
}
#flow .flow-list li{
    width: 600px;
    border:1px solid #481809;
    border-radius: 20px;
    margin: 20px auto;
    padding: 30px;
}
#flow .flow-list li h3{
    font-size: 1.3em;
    font-weight: 600;
    margin: 0 0 10px;
}
#flow .flow-list li h3 span{
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    background: #481809;
    color:#fff;
    margin: 0 5px 0 0;
}
#flow .flow-list li img{
    width: 230px;
    border-radius: 20px;
    object-fit: contain;
    margin: 0 0 0 30px;
}
#flow .flow_days{
    width: 600px;
    object-fit: contain;
    margin: 0 50px 80px;
}
/*--------------*/

/*------------------------------sec7設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#flow h2{
    width: 90vw;
}
#flow .flow-list li{
    width: 86vw;
    border:.1vw solid #481809;
    border-radius: 2vw;
    margin: 5vw auto;
    padding: 5vw;
}
#flow .flow-list li h3{
    font-size: 4vw;
    margin: 0 0 2vw;
}
#flow .flow-list li h3 span{
    width: 6vw;
    height: 6vw;
    line-height: 6vw;
    font-size: 3.5vw;
    margin: 0 1vw 0 0;
}
    #flow .flow-list p{
        line-height: 1.5em;
        font-size: 3.5vw;
    }
#flow .flow-list li img{
    width: 30vw;
    border-radius: 5vw;
    margin: 0 0 0 4vw;
}
#flow .flow_days{
    width: 90vw;
    margin: 0 5vw 8vw;
}
}
/*--------------*/


/*------------------------------sec8設定PC*/
#reliability{
    background-image: url("../img/inspection_bg.webp");
    background-size:top contain;
    background-repeat: no-repeat;
    padding: 0 0 100px;
}
#reliability .feature{
    font-family:YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    margin: 370px auto 0;
}
#reliability .feature .supervision{
    width: 250px;
    height: 50px;
    line-height: 50px;
    background: #481809;
    color:#fff;
    font-size: 1.1em;
    font-weight: 600;
    text-align: center;
    margin: 0 auto 30px;
}
#reliability .feature h2{
    font-size: 1.5em;
    font-weight: 600;
    text-align: center;
}
#reliability .feature p{
    font-weight: 600;
    margin: 10px 100px 30px;
}
#reliability .feature img{
    width: 400px;
    margin: 0 150px 80px;
}
#reliability .inspection{
    width: 540px;
    margin: 0 auto 50px;
}
#reliability .inspection p{
    margin: 10px 0 0;
}
/*--------------*/

/*------------------------------sec8設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#reliability{
    background-size: 110%;
    background-position: top center;
    padding: 10vw 0;
}
#reliability .feature{
    margin: 48vw auto 0;
}
#reliability .feature .supervision{
    width:50vw;
    height: 8vw;
    line-height: 8vw;
    font-size: 3vw;
    margin: 0 auto 5vw;
}
#reliability .feature h2{
    font-size: 5.5vw;
}
#reliability .feature p{
    margin: 3vw 17vw 1vw;
}
#reliability .feature img{
    width: 60vw;
    margin: 0 20vw 8vw;
}
#reliability .inspection{
    width: 76vw;
    margin: 0 auto 8vw;
}
#reliability .inspection p{
    margin: 2vw 0 0;
}
 
}
/*--------------*/


/*------------------------------sec9設定PC*/
#smart{
    background-image: linear-gradient(0deg, #e3eef7, #F7F7F7);
    margin: -30px auto 0;
}
/*--------------*/

/*------------------------------sec9設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#smart{
    margin: -5vw auto 0;
}
}
/*--------------*/


/*------------------------------sec10設定PC*/
#faq{
    background: #fff;
    padding:50px;
}
#faq .faq-contents .accordion_title{
    display: flex;
    align-items: center;
    width: 560px;
    background: #F7F2E3;
    padding: 20px;
    margin: 20px auto 20px;
}
#faq .faq-contents .accordion_title img{
    width: 50px;
    object-fit: contain;
    margin: 0 20px 0 0;
}
#faq .faq-contents .accordion_title h3{
    width: 440px;
    font-size: 1.1em;
    font-weight: 600;
}
#faq .accordion_title:after {
    font-size: 1.3em;
  position: absolute;
  top: calc(50% - 0.5em);
  right: 30px;
}

#faq .faq-contents .accordion_contents img{
    width: 350px;
    margin: 20px 0 0;
    object-fit: contain;
}
/*--------------*/

/*------------------------------sec10設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#faq{
    padding:10vw 5vw;
}
#faq .faq-contents .accordion_title{
    width: 80vw;
    padding:4vw;
    margin: 5vw auto 0;
}
#faq .faq-contents .accordion_title img{
    width: 10vw;
    margin: 0 5vw 0 0;
}
#faq .faq-contents .accordion_title h3{
    width: 55vw;
    font-size: 3.5vw;
}
#faq .accordion_title:after {
    font-size: 4.5vw;
  right: 8vw;
}

    #faq .faq-contents .accordion_contents {
        width: 80vw;
        margin: 5vw 5vw 8vw;
    }    
    
#faq .faq-contents .accordion_contents img{
    width: 60vw;
    margin: 5vw 0 0;
}
}
/*--------------*/



/*------------------------------問合せ設定PC*/
#inquiry{
    background: #fff;
    padding: 20px 0 50px;
}

#inquiry .chat-btn{
    width: 400px;
    margin: 0 auto 50px;
}

#inquiry .inquiry_contents h2{
    font-size: 1.3em;
    font-weight: 600;
    text-align: center;
}
#inquiry .inquiry_contents h3{
    font-weight: 600;
    text-align: center;
    margin: 30px 0 0;
}
#inquiry .inquiry_contents .tel{
    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: #481809;
}

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

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

/*------------------------------問合せ設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#inquiry .inquiry_contents{
    border-radius: 5vw;
    padding: 8vw;
    margin: 0 auto;
}
#inquiry .inquiry_contents h2{
    font-size: 4vw;
}
#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 0;
}
#inquiry .chat-btn{
    width: 70vw;
}
}
/*--------------*/



/*------------------------------開閉ボックスの設定PC*/

.accordion_title {
  display: block;
  width: 100%;
  position: relative;
  cursor: pointer;
}

summary.accordion_title::-webkit-details-marker {
  display:none;
}

.accordion_title:after {
  content: "＋";
    font-size: .7em;
  line-height: 1;
  pointer-events: none;
}

.accordion::details-content {
  opacity: 0;
  block-size: 0;
  transition: .3s;
  transition-property: display, opacity, block-size, padding;
  transition-behavior: allow-discrete;
}

.accordion[open]::details-content {
  opacity: 1;
  block-size: auto;
  block-size: calc-size(auto, size);
}

.accordion[open] .accordion_title:after {
  content: "－";
}


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

/*------------------------------フッターPCここから*/
#footer {
  background: #FBF7F5;
  padding: 0 0;
}
#footer .foot_wrap{
    width: 700px;
    background: #fff;
    padding: 50px 0;
    margin: 0 auto;
}
#footer h2{
    text-align: center;
}

#footer .foot_logo {
  width: 250px;
  margin: 50px auto 20px;
}
#footer .add, #footer .registration-number {
  font-size: .7em;
  text-align: center;
  margin: 0 auto;
}
#footer .registration-number {
  font-size: .6em;

}

#footer .foot_list li {
  font-size: .8em;
  font-weight: 300;
  text-align: center;
  margin: 20px auto;
}
#footer .foot_list li a {
  text-decoration: none;
  color: #333;
}
#footer .small_box {
  font-size: .5em;
  text-align: center;
  padding: 30px 0 10px;
}
/*--------------*/
/*------------------------------フッター*/
/*----------------------------------------------スマホ*/
@media (max-width: 640px) {
#footer {
    background: #fff;
  padding: 0 0 20vw;
}
#footer .foot_wrap{
    width: 90vw;
    padding: 0 0;
}
#footer h2{
    font-size: 3.5vw;
    margin: 0 auto 5vw;
}    
    
  #footer .foot_logo {
    width: 50vw;
    margin: 0 auto 2vw;
  }
  #footer .add, #footer .registration-number {
    font-size:2.5vw;
      padding: 3vw 0;
    margin: 0 auto;
  }
  #footer .foot_list {
    flex-direction: column;
    margin: 5vw auto;
  }
  #footer .foot_list li {
    width: 70vw;
      background: #F7F2E3;
    font-size: 3vw;
    padding: 2vw 0;
    margin: 0 auto 3vw;
  }
  #footer .small_box {
    font-size: 2vw;
    margin: 0 auto;
  }
}
/*--------------*/

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