@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: #333333;
}
/*-----------------------------------------トップボタン*/
#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 50px;
}
#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: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: 50%;
  height: 100%;
  background: #DBF0F8;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  visibility: hidden;
  overflow: auto;
    padding: 0 0 50px;
}
.nav_list ul {
    width: 70%;
  margin:50px auto;
}
.nav_list li {
    font-size: 1.2em;
    font-weight: 600;
    border-top: 1px solid #263651;
  padding: 20px 0;
}

.nav_list ul.nav-inner {
    width: 80%;
  margin:10px auto;
}
.nav_list li .nav-inner li{
    font-size: 1em;
    font-weight: 400;    
    border-top:none;
    padding: 5px 0;
}
.nav_list li a {
  text-decoration: none;
    text-align:center;
  color: #263651;
}

#nav_list h2{
    color: #3E3A39;
    font-weight: 600;
    text-align: center;
    margin: 20px auto;
}

#nav_list .nav_logo {
  width: 300px;
  text-align: center;
  margin: 0 auto 20px;
  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: #93A9C0;
  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: 35vw;
    margin:2.5vw 0 0 3vw;
}
#header .head_login {
  width: 25vw;
    margin: 1.5vw 15vw 0 auto;
}
    
  /*ここからナビ*/
  #nav_list {
    width: 100%;
    z-index: 999999999;
      padding: 0 0 5vw;
      margin: 13vw auto 0;
  }
    
.nav_list ul {
    width: 80vw;
  margin:10vw auto;
}
.nav_list li {
    font-size: 4vw;
    border-top: .3vw solid #263651;
  padding: 4vw 0;
}

.nav_list ul.nav-inner {
    width: 76vw;
  margin:1vw auto;
}
.nav_list li .nav-inner li{
    font-size: 3.5vw;
    padding: 2vw 0;
}


#nav_list h2{
    font-size: 4vw;
    margin: 5vw auto;
}    
    
  #nav_list .nav_logo {
    width: 70vw;
      margin: 0 auto 3vw;
  }

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

/*------------------------------全体の設定PCここから*/
main {
  margin: 0 auto;
}
section {
    width: 1000px;
  margin: 100px auto;
}
div, p {
  line-height: 1.8em;
  text-align: justify;
  text-justify: inter-ideograph;
}
h1, h2, h3, h4 {
  line-height: 1.6em;
}
.small_txt{
	display: inline-block;
	line-height: 1.5em;
	font-size: .7em;
}
.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;
}
.flex{
    display: flex;
}
.sp_img {
  display: none;
}
/*--------------*/

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

/*------------------------------全体の設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
section {
    width: 90vw;
  margin: 10vw 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;
	font-size: 2.5vw;
		margin: 0 auto;
}
  .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{
    overflow-x: hidden;
}
#mv .mv_card{
    float: left;
    width: 600px;
    margin: 50px 10px;
}
#mv .mv_card img{
    min-width: 480px;
    object-fit: contain;
}
#mv .thumb-slider .thumb-card{
    width: 130px;
    margin: 50px 0;
    float: left;
}
#mv .thumb-slider .thumb-card img{
    width: 130px;
    padding: 0 10px;
}

.thumb-slider .slick-list{
    width: 600px;
    margin: 0 auto;
}

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

/*------------------------------メインビュー*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#mv .mv_card{
    width: 300px;
    margin: 50px 0;
}
#mv .mv_card img{
    min-width: 300px;
    object-fit: contain;
}
#mv .thumb-slider .thumb-card{
    width: 100px;
    margin: 50px 0 0;
}
#mv .thumb-slider .thumb-card img{
    width: 100px;
    padding: 0 0;
}

.thumb-slider .slick-list{
    width: 600px;
    margin: 0 auto;
}
}
/*--------------*/


/*------------------------------メインビュー*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#mv .mv_card{
    width: 70vw;
    margin: 3vw ;
}
#mv .mv_card img{
    min-width: 100%;
}
#mv .thumb-slider .thumb-card{
    width: 15vw;
    margin: 5vw 0;
}
#mv .thumb-slider .thumb-card img{
    width: 100%;
    padding: 0 .5vw;
}

.thumb-slider .slick-list{
    width: 90vw;
    margin: 0 auto;
}    
}
/*--------------*/

/*------------------------------sec1設定PC*/
.wrap{
    width: 1000px;
    margin: 0 auto;
}
#survival-rate{
    width: 100%;
  background-image: linear-gradient(0deg, #fff9e2 67%, #fff);
    margin: 80px auto 0;
}
#survival-rate img{
    margin: 0 70px;
}
/*--------------*/

/*------------------------------sec1設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
 .wrap{
    width: 700px;
}
#survival-rate img{
    margin: 0 0;
}   
}
/*--------------*/

/*------------------------------sec1設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
.wrap{
    width: 90vw;
}
#survival-rate{
    margin: 8vw auto 0;
}
#survival-rate img{
    margin: 0 0;
}
}
/*--------------*/


/*------------------------------sec2設定PC*/
#cta{
    width: 100%;
  background-image: url("../img/kitbg_pc.webp");
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
    padding: 80px 0;
    margin: 0 auto;
}
#cta h1{
    color:#1E2C5A;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 3em;
    font-weight: 600;
    text-align: center;
}
#cta .kit_info-img{
    margin: 50px auto;
}

#cta h2{
    color:#1E2C5A;
    font-size: 2em;
    font-weight: 600;
    text-align: center;
    margin: 50px 0 30px;
}
.more-btn{
    width: 500px;
    margin: 0 auto;
}
/*--------------*/

/*------------------------------sec2設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#cta h1{
    font-size: 2.3em;
}
#cta .kit_info-img{
    width: 90%;
}
.more-btn{
    width: 450px;
}
#cta h2{
    font-size: 1.7em;
}    
}
/*--------------*/

/*------------------------------sec2設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#cta{
    background-image: url("../img/kitbg_sp.webp");
    background-position: top;
    padding: 8vw 0;
}
#cta h1{
    font-size:7vw;
}
#cta .kit_info-img{
    width: 90vw;
    margin: 5vw ;
}

#cta h2{
    font-size:4.5vw;
    margin: 8vw 0 5vw;
}
.more-btn{
    width: 80vw;
}
}
/*--------------*/



/*------------------------------sec3設定PC*/
#collection{
    width: 100%;
  background-image: linear-gradient(0deg, #fff9e2, #ffffff 49%, #fff9e2);
    padding: 80px 0 100px;
    margin: 0 auto;
}
#collection img{
    width: 480px;
    margin: 0 auto 50px;
}
/*--------------*/


/*------------------------------sec3設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
    #collection .flex{
        flex-direction: column;
    }    
#collection img{
    width: 550px;
    margin: 0 auto 80px;
}
}
/*--------------*/

/*------------------------------sec3設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#collection .flex{
        flex-direction: column;
    }    
#collection{
    padding: 8vw 0 10vw;
}
#collection img{
    width: 80vw;
    margin: 0 auto 5vw;
}
}
/*--------------*/


/*------------------------------sec4設定PC*/
#result{
    width: 100%;
  background: #fff9e2;
    padding: 0 0 100px;
    margin: 0 auto;
}
#result .result-wrap{
    width: 1000px;
    background: #fff;
    border-radius: 20px;
}
#result .result-wrap h2{
    background: #5A80B5;
    color: #fff;
    font-size: 1.5em;
    font-weight: 600;
    text-align: center;
    border-radius: 20px 20px 0 0;
    padding: 20px 0;
}
#result .result-wrap .flex{
    padding: 50px 100px;
}
#result .result-wrap .flex img{
    width: 300px;
    margin: 0 80px 0 0;
}
#result .result-wrap h3{
    color: #263651;
    font-size: 1.3em;
    font-weight: 600;
    margin: 0 0 20px;
}
/*--------------*/

/*------------------------------sec4設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#result .result-wrap{
    width: 700px;
}
#result .result-wrap .flex{
    padding: 50px;
}
#result .result-wrap .flex img{
    width: 250px;
    margin: 0 30px 0 0;
}
#result .result-wrap h3{
    font-size: 1.1em;
}
}
/*--------------*/

/*------------------------------sec4設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#result{
    padding: 0 0 10vw;
}
#result .result-wrap{
    width: 90vw;
    border-radius: 4vw;
}
#result .result-wrap h2{
    font-size: 5vw;
    border-radius: 4vw 4vw 0 0;
    padding: 3vw 0;
}
#result .result-wrap .flex{
    flex-direction: column;
    padding: 8vw;
}
#result .result-wrap .flex img{
    width: 60vw;
    margin: 0 auto;
}
#result .result-wrap h3{
    font-size: 4.5vw;
    margin: 5vw 0 2vw;
}
}
/*--------------*/


/*------------------------------sec5質問設定PC*/
.title-illust{
    width: 1000px;
}

#faq{
    width: 100%;
    background-image: url("../img/wave-bg.webp");
    background-position: top 0%;
    background-repeat: no-repeat;
    background-size:contain;
    padding: 100px 0;
    margin: 0 auto;
}

#faq h2{
    color:#263651;
    font-size: 2em;
    font-weight: 600;
    margin: 0 0 80px 500px;
}

#faq .faq-contents .accordion_title,#question .faq-contents .accordion_title{
    display: flex;
    align-items: center;
    width: 700px;
    background: #F5F2EE;
    color: #263651;
    box-shadow: 5px 5px 10px 0 #F5F2EE,-5px -5px 10px 0 #F5F2EE,-5px 5px 10px 0 #F5F2EE,5px -5px 10px 0 #F5F2EE;
    padding:20px 40px;
    margin: 50px auto 0;
}
#faq .faq-contents .accordion_title h3,#question .faq-contents .accordion_title h3{
    width: 600px;
    font-size: 1.2em;
    font-weight: 600;
}
#faq .accordion_title:after {
    font-size: 1.1em;
  position: absolute;
  top: calc(50% - 0.5em);
  right: 30px;
}
#question .accordion_title:after {
    font-size: 1.1em;
  position: absolute;
  top: calc(50% - 0.5em);
  right: 30px;
}

#faq .accordion_contents,#question .accordion_contents{
    width: 700px;
    font-size: 1.1em;
    margin: 50px auto;
}
#faq .more-btn,#question .more-btn{
    margin: 80px auto 0;
}
/*--------------*/


/*------------------------------sec5質問設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
.title-illust{
    width: 700px;
}
#faq .faq-contents .accordion_title,#question .faq-contents .accordion_title{
    width: 600px;
}
#faq h2{
    font-size: 2em;
    margin: 0 0 80px 300px;
}
}
/*--------------*/

/*------------------------------sec5質問設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
    
.title-illust{
    width: 100vw;
}  

#faq{
    padding: 10vw 0;
}

#faq h2{
    font-size: 5.5vw;
    text-align: center;
    margin: 5vw 0 8vw;
}    

#faq .faq-contents .accordion_title,#question .faq-contents .accordion_title{
    width: 70vw;
    padding:4vw;
    margin: 10vw auto 0;
}
#faq .faq-contents .accordion_title img,#question .faq-contents .accordion_title img{
    width: 10vw;
    margin: 0 5vw 0 0;
}
#faq .faq-contents .accordion_title h3,#question .faq-contents .accordion_title h3{
    width: 55vw;
    font-size: 3.5vw;
}
#faq .accordion_title:after {
    font-size: 4.5vw;
  right: 8vw;
}
    #question .accordion_title:after {
    font-size: 4.5vw;
  right: 8vw;
}

    #faq .faq-contents .accordion_contents,#question .faq-contents .accordion_contents {
        width: 80vw;
        margin: 5vw 5vw 8vw;
    }    
    
#faq .faq-contents .accordion_contents img,#question .faq-contents .accordion_contents img{
    width: 60vw;
    margin: 5vw 0 0;
}
#faq .more-btn,#question .more-btn{
    margin: 10vw auto 0;
}    
    
}
/*--------------*/




/*------------------------------sec6設定PC*/
#review h2{
    color: #263651;
    font-size: 2em;
    font-weight: 600;
    margin: -100px 0 50px 100px;
}
#review p{
    font-size: 1.2em;
    margin: 0 0 50px 100px;
}
/*--------------*/

/*------------------------------sec6設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#review h2{
    font-size: 2em;
    font-weight: 600;
    margin: -50px 0 50px 0;
}
#review p{
    font-size: 1.2em;
    margin: 0 0 50px;
}
}
/*--------------*/

/*------------------------------sec6設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#review h2{
    font-size: 5.5vw;
    text-align: center;
    margin: 5vw 0;
}
#review p{
    font-size: 3.5vw;
    margin: 0 0 8vw;
}
}
/*--------------*/


/*------------------------------accuracy検査精度PC*/

#accuracy h2{
    color: #263651;
    font-size: 2em;
    font-weight: 600;
    margin: -50px 0 100px 100px;
}

#accuracy .accuracy_list{
    display: flex;
    flex-wrap: wrap;
}
#accuracy .accuracy_list li{
    width: 460px;
    background: #fff;
    border-radius: 30px;
    box-shadow: 2px 2px 15px 0 #EFEFEF;
    margin: 0 auto 80px 0;
}
#accuracy .accuracy_list li:nth-child(2n){
    margin: 0 0 80px 0;
}
#accuracy .accuracy_list li a{
    display: block;
    text-decoration: none;
    color:#333;
}
#accuracy .accuracy_list li img{
    border-radius: 30px 30px 0 0;
}
#accuracy .accuracy_list li .accuracy_list_text{
    padding: 30px 50px;
}
#accuracy .accuracy_list li .accuracy_list_text h3{
    font-size:1.2em;
    font-weight: 600;
}
/*--------------*/


/*------------------------------accuracy検査精度*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
    
#accuracy h2{
    font-size: 2em;
    font-weight: 600;
    margin: 0 0 50px;
}    
    
#accuracy .accuracy_list li{
    width: 320px;
    box-shadow: 2px 2px 10px 0 #E9DBDE;
    margin: 0 auto 50px 0;
}
#accuracy .accuracy_list li:nth-child(2n){
    margin: 0 0 50px 0;
}
#accuracy .accuracy_list li .accuracy_list_text{
    padding: 20px 30px 30px;
}
#accuracy .accuracy_list li .accuracy_list_text h3{
    font-size:1em;
}
 #accuracy .accuracy_list li .accuracy_list_text p{
    font-size:.9em;
}   

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

/*------------------------------accuracy検査精度*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
    
#accuracy h2{
    font-size: 5.5vw;
    text-align: center;
    margin: 5vw 0;
}    
    
    
#accuracy .accuracy_list li{
    width: 42vw;
    border-radius: 3vw;
    box-shadow: 2px 2px 10px 0 #E9DBDE;
    margin: 0 auto 5vw;
}
#accuracy .accuracy_list li:nth-child(2n){
    margin: 0 auto 5vw;
}
#accuracy .accuracy_list li img{
    height: 25vw;
    border-radius: 3vw 3vw 0 0;
    object-fit: cover;
}
#accuracy .accuracy_list li .accuracy_list_text{
    padding:2vw 5vw 5vw;
}
#accuracy .accuracy_list li .accuracy_list_text h3{
    font-size:4vw;
}
#accuracy .accuracy_list li .accuracy_list_text p{
    font-size: 3vw;
}
}
/*--------------*/


/*------------------------------開閉ボックスの設定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*/
#sitemap{
    width: 100%;
    background: #FDF7E5;
    padding: 50px 0;
    margin: 0 auto;
}

#sitemap .sitemap-wrap{
    width: 1000px;
    margin: 0 auto;
    position: relative;
}
#sitemap .sitemap-wrap .inquiry{
    display: flex;
    position: absolute;
    top:0;
    right: 0;
}
#sitemap .sitemap-wrap .inquiry a{
    display: block;
    width: 200px;
    margin: 0 30px 50px 0;
}
#sitemap .sitemap-wrap .inquiry img{
    width: 100%;
    object-fit: contain;
    margin: 0 0 0 50px;
}
#sitemap .sitemap_flex{
    display: flex;
}
#sitemap .sitemap_flex .sitemap{
    font-size: .9em;
    margin: 0 50px 0 0;
}
#sitemap .sitemap_flex .sitemap a{
    text-decoration: none;
    color:#333;
}
#sitemap .sitemap_flex .sitemap .list-title{
    font-weight: 600;
    margin: 0 0 10px;
}
#sitemap .agreement{
    display: flex;
    justify-content: center;
    font-size: .8em;
}
#sitemap .agreement li{
    text-align: center;
    margin: 80px 30px 0;
}
#sitemap .agreement li a{
    text-decoration: none;
    color: #333;
}
/*--------------*/

/*------------------------------サイトマップ/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#sitemap{
    margin: 0 auto;
}

#sitemap .sitemap-wrap{
    width: 700px;
    position: inherit;
}
#sitemap .sitemap-wrap .inquiry{
    position: inherit;
}   
#sitemap .sitemap-wrap .inquiry img{
    margin: 0 auto;
}
#sitemap .sitemap_flex .sitemap{
    font-size: .8em;
}

#sitemap .agreement{
    font-size: .7em;
}
#sitemap .agreement li{
    margin: 50px 20px 0;
}
}
/*--------------*/

/*------------------------------サイトマップ*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#sitemap{
    padding: 8vw 0;
    margin:0 auto;
}

#sitemap .sitemap-wrap{
    width: 90vw;
    margin: 0 auto;
    position: inherit;
}
#sitemap .sitemap-wrap .inquiry{
    align-content: space-between;
    position: inherit;
}
#sitemap .sitemap-wrap .inquiry a{
    width: 43vw;
    margin: 0 auto 5vw 0;
}
#sitemap .sitemap-wrap .inquiry a:nth-child(2){
    margin: 0 0 5vw 0;
}    
#sitemap .sitemap-wrap .inquiry img{
    margin: 0 0;
}
#sitemap .sitemap_flex .sitemap{
    width: 43vw;
    font-size: 3vw;
    margin: 0 5vw 0;
}
#sitemap .sitemap_flex .sitemap li{
    margin: 2vw 0;
}    
#sitemap .sitemap_flex .sitemap .list-title{
    margin: 0 0 2vw;
}
#sitemap .agreement{
    font-size: 2.5vw;
}
#sitemap .agreement li{
    margin: 8vw auto 0;
}
}
/*--------------*/



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

#footer .foot_logo {
  width: 250px;
  margin: 0 50px 0 0;
}
#footer .add{
    align-content: center;
}
#footer .registration-number {
  font-size: .7em;
  text-align: center;
  margin: 50px auto 0;
}
#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 (min-width: 641px) and (max-width: 1024px) {
#footer .foot_logo {
  width: 200px;
  margin: 0 auto 0 0;
}
#footer .add{
font-size: .9em;
}  
}
/*--------------*/


/*------------------------------フッター*/
/*----------------------------------------------スマホ*/
@media (max-width: 640px) {
#footer {
  padding: 0 0;
}
#footer .foot_wrap{
    width: 80vw;
    padding: 5vw 0;
    margin: 0 auto;
}
#footer h2{
    text-align: center;
}
    #footer .flex{
        flex-direction: column;
    }
    
#footer .foot_logo {
  width: 50vw;
  margin: 5vw auto;
}
#footer .add{
    font-size: 3vw;
    text-align: center;
}
 #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;
  }
}
/*--------------*/


/*---------ここから別ページ---------*/
/*----ブランドストーリーと会社概要---*/

/*------------------------------ブランドストーリー設定PC*/
#brand-story{
    width: 100%;
    margin: 30px 0 0;
}
#brand-story .bs-top{
    height: 400px;
    background-image: url("../img/brand_bg.webp");
    background-repeat: no-repeat;
    background-size:cover;
    background-position: top;
    padding: 80px 0;
    margin: 0 0 80px;
}
#brand-story .flex{
    width: 1000px;
    align-items: center;
    margin: 0 auto;
}
#brand-story .flex img{
    width: 300px;
    object-fit: contain;
    margin: 0 80px 0 0;
}
#brand-story .flex h1{
    color: #263651;
    font-size: 2em;
    font-weight: 600;
    text-shadow: 2px 2px 5px #fff,-2px -2px 5px #fff,-2px 2px 5px #fff,2px -2px 5px #fff;
}
#brand-story p{
    width: 900px;
    font-size: 1.2em;
     margin: 40px auto ;
}
#brand-story .company-img{
    width: 900px;
    margin: 0 50px;
}

#company{
    width: 100%;
    background-image: linear-gradient(0deg, #d3eff8 70%, #ffffff);
    padding: 100px 0;
    margin: 0 auto;
}
#company h2{
    color: #263651;
    font-size: 2em;
    font-weight: 600;
    text-align: center;
    margin: 50px auto ;
}

#company table{
    width: 900px;
    border-collapse: separate;
    border-spacing: 10px;
    margin: 0 auto;
}
#company table th{
    background: #A8DFF2;
    padding: 20px 30px;
}
#company table td{
    background: #fff;
    padding: 20px 30px;
}
/*--------------*/

/*------------------------------ブランドストーリー設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#brand-story{
    margin: 20px auto 0;
}
#brand-story .bs-top{
    height: 350px;
}
#brand-story .flex{
    width: 700px;
}
#brand-story .flex img{
    width: 230px;
    margin: 0 50px 0 0;
}
#brand-story .flex h1{
    font-size: 1.5em;
}
#brand-story p{
    width: 700px;
    font-size: 1em;
}
#brand-story .company-img{
    width: 700px;
    margin: 0 auto;
}

#company table{
    width: 700px;
}
}
/*--------------*/

/*------------------------------ブランドストーリー設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#brand-story{
    margin: 2vw 0 0;
}
#brand-story .bs-top{
    height: 80vw;
    padding: 8vw 0;
    margin: 0 0 8vw;
}
#brand-story .flex{
    flex-direction: column;
    width: 90vw;
}
#brand-story .flex img{
    width: 40vw;
    margin: 0 auto;
}
#brand-story .flex h1{
    font-size: 5.5vw;
    text-align: center;
    margin: 5vw 0 ;
}
#brand-story p{
    width: 80vw;
    font-size: 3.8vw;
     margin: 4vw auto ;
}
#brand-story .company-img{
    width: 90vw;
    margin: 0 auto;
}

#company{
    padding: 10vw 0;
}
#company h2{
    font-size: 5.5vw;
    margin: 5vw auto ;
}

#company table{
    width: 90vw;
    border-spacing: 2vw;
}
#company table th{
    font-size: 3.5vw;
    padding: 3vw;
}
#company table td{
    font-size: 3.5vw;
    padding: 3vw;
}
}
/*--------------*/



/*---------ここから別ページ---------*/
/*----検査キット一覧---*/
/*------------------------------検査キット一覧ページ設定PC*/
#catalog{
    width: 100%;
    background-image: url("../img/gra-bg.webp");
    background-size: contain;
    padding: 80px 0;
    margin: 30px auto 0;
}
#catalog h1{
    width: 600px;
    margin: 0 auto 30px;
}
#catalog .top-text{
    width: 800px;
    font-size: 1.1em;
    text-align: center;
    margin: 0 auto;
}
#catalog .kit-gender-btn{
    width: 700px;
    margin: 50px auto;
}
#catalog .kit-gender-btn a{
    width: 300px;
    margin: auto;
}
#catalog .sex-title{
    background:#092558;
    color: #fff;
    font-size: 1.4em;
    font-weight: 600;
    padding:10px 20px;
    margin: 80px 0 40px;
}
#catalog .kit-card-flex{
    display: flex;
    align-items: center;
}
#catalog .kit-card{
    background: #F7F6F3;
    border-radius: 20px;
    box-shadow: 3px 3px 8px 0 #8B8B8B;
    padding: 50px;
    margin: 0 auto 30px;
}
#catalog .kit-card .kit-img{
    width: 350px;
    margin: 0 50px 0 0;
    object-fit: contain;
}
#catalog .kit-card h3{
    color: #092558;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 1.6em;
    font-weight: 600;
}
#catalog .kit-card h4{
    font-size: 1.2em;
    font-weight: 600;
}
#catalog .kit-card ul{
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0;
}
#catalog .kit-card ul li{
    background: #fff;
    border:1px solid #000;
    padding:0 5px;
    margin: 3px;
}
#catalog h3.color-pink{
    color: #C62E5B;
}
#catalog h2.sex-title-w{
    background: #C62E5B;
}

#catalog-result{
    background: #fff;
    border-radius: 20px;
    padding: 50px 100px 80px;
    margin: 100px auto;
}
#catalog-result h2{
    color: #263651;
    font-size: 2em;
    text-align: center;
    margin: 0 0 30px;
}
#catalog-result h3{
    color: #263651;
    font-size: 1.3em;
    font-weight: 600;
    margin: 0 0 10px;
}
#catalog-result .result-img{
    width: 350px;
    margin: 0 50px 0 0;
}
#catalog-result div{
    width: 100%;
}
#catalog-result .more-btn{
    width: 300px;
    margin: 30px auto 0;
}
/*--------------*/

/*------------------------------検査キット一覧ページ設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#catalog{
    padding: 50px 0;
    margin: 20px auto 0;
}
#catalog h1{
    width: 500px;
}
#catalog .top-text{
    width: 660px;
    font-size: 1em;
}
#catalog .sex-title{
    font-size: 1.2em;
    padding:10px 20px;
    margin: 50px 0 30px;
}
#catalog .kit-card-flex{
    flex-direction: column;
}
#catalog .kit-gender-btn{
    width: 600px;
    display: flex;
    flex-direction: row;
}
#catalog .kit-gender-btn a{
    width: 250px;
}
#catalog .kit-card .kit-img{
    width: 350px;
    margin: 0 auto 30px;
}
#catalog .kit-card h3{
    text-align: center;
}
#catalog .kit-card h4{
    text-align: center;
}
#catalog .kit-card ul{
    width: 500px;
    margin: 20px 0 40px;
}

#catalog-result{
    padding: 50px 80px 80px;
}

#catalog-result .flex{
    flex-direction: column;
}
#catalog-result .result-img{
    width: 350px;
    margin: 0 0 30px;
}

#catalog-result .more-btn{
    width: 400px;
    margin: 30px auto 0;
}
}
/*--------------*/

/*------------------------------検査キット一覧ページ設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#catalog{
    padding: 8vw 0;
    margin: 2vw auto 0;
}
#catalog h1{
    width: 80vw;
    margin: 0 auto 3vw;
}
#catalog .top-text{
    width: 80vw;
    font-size: 3.8vw;
    text-align: left;
}
#catalog .kit-gender-btn{
    width: 90vw;
    margin: 5vw auto;
}
#catalog .kit-gender-btn a{
    width: 42vw;
}
#catalog .sex-title{
    font-size: 5vw;
    text-align: center;
    padding:2vw;
    margin: 10vw 0 5vw;
}
#catalog .kit-card-flex{
    flex-direction: column;
}
#catalog .kit-card{
    border-radius:5vw;
    padding: 8vw;
    margin: 0 auto 8vw;
}
#catalog .kit-card .kit-img{
    width: 70vw;
    margin: 0 2vw 5vw;
}
#catalog .kit-card h3{
    line-height: 1.4em;
    font-size: 6vw;
    margin: 0 0 3vw;
}
#catalog .kit-card h4{
    line-height: 1.4em;
    font-size: 4vw;
}
#catalog .kit-card ul{
    margin: 2vw 0 5vw;
}
#catalog .kit-card ul li{
    font-size: 3vw;
    border:.2vw solid #000;
    padding:0 2vw;
    margin: .5vw;
}

#catalog-result{
    border-radius: 5vw;
    padding: 8vw;
    margin: 10vw auto;
}
    #catalog-result .flex{
        flex-direction: column;
    }
#catalog-result h2{
    font-size: 5.5vw;
    margin: 0 0 3vw;
}
#catalog-result h3{
    font-size: 4.5vw;
    margin: 3vw 0 1vw;
}
#catalog-result .result-img{
    width: 70vw;
    margin: 0 2vw 0;
}
#catalog-result div{
    width: 100%;
}
#catalog-result .more-btn{
    width: 70vw;
    margin: 5vw 2vw 0;
}
}
/*--------------*/


/*------------------------------よくある質問設定PC*/
/*基本のcssはfaqと一緒*/
#question{
    margin: 20px auto 100px;
}
#question h1{
    color:#263651;
    font-size: 2em;
    font-weight: 600;
    margin: -20px 0 0 500px;
}
/*--------------*/

/*------------------------------よくある質問設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#question h1{
    font-size: 1.7em;
    margin: -20px 0 0 350px;
}    
}
/*--------------*/

/*------------------------------よくある質問設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#question{
    margin: 2vw auto 10vw;
}
#question h1{
    font-size:6vw;
    text-align: center;
    margin: 5vw 0;
}    
}
/*--------------*/


/*------------------------------設定PC*/

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

/*------------------------------設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
}
/*--------------*/

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


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