@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: 130px;
    position: fixed;
    bottom: 200px;
    right: 0;
    z-index: 99999;  
}
/*----------------*/


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

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

/*ここからナビ*/
#nav_list {
  width: 50%;
  height: 100%;
  background: #5D8DBA;
  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-bottom: 1px solid #fff;
  padding: 30px 0;
}
.nav_list li a {
  text-decoration: none;
    text-align:center;
  color: #fff;
}
.nav_list li a span{
  color: #092558;
    margin: 0 10px 0 0;
}

#nav_list h2{
    color: #fff;
    text-align: center;
    margin: 20px auto;
}

#nav_list .nav_logo {
  width: 300px;
  text-align: center;
  margin: 0 auto 20px;
  object-fit: contain;
}

#nav_list .nav_tel {
  background: #fff;
    border:3px solid #2163A1;
    border-radius: 20px;
    padding: 20px 20px 5px;
}
#nav_list .nav_tel p{
    background: #092558;
    color: #F2EFA7;
    font-size: 1.2em;
    font-weight: 600;
    text-align: center;
    padding: 5px 0;
}
#nav_list .nav_tel img:nth-last-child(1){
    border-top:1px solid #092558;
}
/*--openNav---*/
.openNav #nav_list {
  visibility: visible;
}
/*---------------------
navigation btn
----------------------*/
.navBtn {
  position: fixed;
  width: 50px;
  height: 50px;
    background: #092558;
    color:#fff;
    padding: 10px;
  top: 0;
  right: 0;
  cursor: pointer;
  z-index: 999999;
}
.navBtn span {
  display: block;
  width: 100%;
  height: 3px;
  background: #fff;
  transition: 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 (min-width: 641px) and (max-width: 1024px) {
/*ここからナビ*/
#nav_list {
  width: 70%;
}
}
/*--------------*/


/*------------------------------ヘッダー*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
    
  /*ここからナビ*/
  #nav_list {
    width: 100%;
    z-index: 999999999;
      padding: 0 0 5vw;
      margin: 0 auto;
  }
    
.nav_list ul {
    width: 80vw;
  margin:10vw auto;
}
.nav_list li {
    font-size: 4.5vw;
    border-bottom: .3vw solid #fff;
  padding: 5vw 0;
}

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

    #nav_list .nav_tel {
    border-radius: 3vw;
    padding: 5vw 5vw 2vw;
}
#nav_list .nav_tel p{
    font-size: 4.5vw;
    padding: 2vw 0;
}
  /*---------------------
navigation btn
----------------------*/
    
  .navBtn {
    width: 10vw;
    height: 10vw;
    top: 2vw;
    right: 2vw;
      padding: 2vw;
      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: 2vw;
  }
  /*--.openNav-------*/
  .openNav #jsNavBtn span:nth-of-type(1) {
    transform: translateY(2.4vw) rotate(45deg);
    transition-delay: .1s;
  }
  .openNav #jsNavBtn span:nth-of-type(3) {
    transform: translateY(-2.4vw) rotate(-45deg);
    transition-delay: .1s;
  }
}
/*--------------*/

/*------------------------------全体の設定PCここから*/
main {
  margin: 0 auto;
}
section {
    width: 100%;
  padding: 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) {

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

/*------------------------------全体の設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
section {
  padding: 5vw 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*/
.wrap{
    width: 1000px;
    margin: 0 auto;
}
#mv{
    height: 650px;
    background-image: url("../img/h1_bg.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    padding: 20px 0;
}

#mv .head_logo {
  width: 230px;
}
#mv h1{
    width: 600px;
    margin: 10px 0 0;
}

#mv .flex img{
    width: 200px;
    object-fit: contain;
}
#mv .flex .kit-ph{
    width: 180px;
    margin: 0 10px 0 0;
}
/*--------------*/

/*------------------------------メインビュー*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
 .wrap{
    width: 700px;
}
#mv{
    padding: 30px;
}
}
/*--------------*/

/*------------------------------メインビュー*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
.wrap{
    width: 90vw;
}
#mv{
    height: 123vw;
    background-image: url("../img/h1_bg_sp.webp");
    background-position: top center;
    padding: 5vw 0;
}

#mv .head_logo {
  width: 45vw;
    margin: 0 0 0 2vw;
}
#mv h1{
    width: 70vw;
    margin: 5vw 0 2vw;
}
#mv .flex img{
    width: 28vw;
}
#mv .flex .kit-ph{
    width: 31vw;
    margin: 0 2vw 0 0;
}
}
/*--------------*/

/*------------------------------sec1設定PC*/
#cta{
    background-image: url("../img/cta_bg.webp");
    background-repeat: no-repeat;
    background-size: cover;
    padding: 80px 0;
}
.cta{
    background: #fff;
    box-shadow: 3px 3px 5px #333;
    border-radius: 20px;
}
.cta h2{
    background: #092558;
    color:#fff;
    font-size: 2em;
    font-weight: 600;
    text-align: center;
    border-radius: 20px 20px 0 0;
    padding: 15px 0;
}
.cta .flex{
    align-items: center;
    margin: 40px 40px 20px;
}
.cta .flex img{
    width: 380px;
    object-fit: contain;
    margin: 0 20px 0 0;
}
.cta .flex h3{
    color:#092558;
    font-size: 1.7em;
    font-weight: 600;
}
.cta .flex ul{
    display: flex;
    flex-wrap: wrap;
    color:#092558;
}
.cta .flex ul li{
    width: calc((100% - 40px) / 3);
    font-size: 1em;
    text-align: center;
    border:1px solid #092558;
    padding: 2px;
    margin: 10px 10px 0 0;
}
.cta .flex ul li:nth-child(3n){
    margin:10px 0 0;
}
.cta .cta-btn{
    width: 400px;
    margin: 0 auto;
}
.cta .caution{
    color:#092558;
    font-size: .9em;
    text-align: center;
    padding: 0 0 30px;
}
/*--------------*/

/*------------------------------sec1設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
.cta h2{
    padding: 20px 50px;
}
.cta .flex{
    flex-direction: column;
    margin: 40px 40px 20px;
}
.cta .flex img{
    width: 450px;
    margin: 0 auto 20px;
}
.cta .flex h3{
    text-align: center;
}
.cta .flex ul li{
    width: calc((100% - 20px) / 3);
    padding: 5px;
}
.cta .cta-btn{
    width: 500px;
    margin: 30px auto 0;
}

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

/*------------------------------sec1設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#cta{
    background-position: top;
    padding: 8vw 0;
}
.cta{
    border-radius: 3vw;
}
.cta h2{
    font-size: 5vw;
    border-radius: 3vw 3vw 0 0;
    padding: 5vw 12vw;
}
.cta .flex{
    flex-direction: column;
    margin: 5vw 5vw 2vw;
}
.cta .flex img{
    width: 60vw;
    margin: 0 auto 5vw;
}
.cta .flex h3{
    font-size: 4.5vw;
}
.cta .flex ul li{
    width: calc((100% - 4vw) / 3);
    font-size: 2.8vw;
    font-weight: 600;
    border:.2vw solid #092558;
    padding:.5vw;
    margin: 2vw 2vw 0 0;
}
.cta .flex ul li:nth-child(3n){
    margin: 2vw 0 0;
}
.cta .cta-btn{
    width: 70vw;
    margin: 5vw auto 0;
}
.cta .caution{
    font-size: 2.8vw;
    text-align: left;
    padding: 0 5vw 5vw;
}
}
/*--------------*/


/*------------------------------sec2設定PC*/
#illness{
    background-image: url("../img/Illness_bg.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 50px 0;
}
#illness .illness-list{
    width: 650px;
    background: rgba(255,255,255,.6);
    font-size: 1.4em;
    font-weight: 600;
    padding: 40px;
    margin: 50px auto 0;
}
#illness .illness-list li{
    margin: 0 0 40px;
}
#illness .illness-list li:nth-child(3){
    margin: 0 0;
}
#illness .illness-list img{
    width: 40px;
    margin: -10px 10px 0 0;
}
#illness .illness_ph{
    margin: 100px auto 0;
}
/*--------------*/

/*------------------------------sec2設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#illness .illness-list{
    width: 600px;
    font-size: 1.3em;
    padding: 30px;
    margin: 30px auto 0;
}
#illness .illness_ph{
    margin: 80px auto 0;
}
}
/*--------------*/

/*------------------------------sec2設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#illness{
    padding: 9vw 0;
}    
#illness .illness-list{
    width: 90vw;
    font-size: 3.5vw;
    padding: 5vw;
    margin: 5vw auto 0;
}
#illness .illness-list li{
    margin: 0 0 3vw;
}
#illness .illness-list img{
    width: 8vw;
    margin: -1vw 1vw 0 0;
}
#illness .illness_ph{
    margin: 30vw auto 0;
}
}
/*--------------*/



/*------------------------------sec3設定PC*/
#riskcheck{
    height: 860px;
    background-image: url("../img/yellow_bg.webp");
    background-repeat: no-repeat;
    background-size:700px;
    background-position: top;
    padding: 50px 0;
}
#riskcheck h2{
    color: #092558;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 2.2em;
    font-weight: 600;
    text-align: center;
    margin: 0 auto 30px;
}
#riskcheck .flex{
    width: 850px;
    align-items: center;
    margin: 0 auto;
}
#riskcheck .flex .kit-ph{
    width: 500px;
    margin: 0 0 0 30px;
}
#riskcheck .flex div img{
    width: 300px;
}
#riskcheck .flex div h3{
    font-size: 1.6em;
    font-weight: 600;
    text-align: center;
    margin: 30px 0 0;
}
#riskcheck .cta-btn{
    width: 400px;
    margin: 30px auto;
}
/*--------------*/


/*------------------------------sec3設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#riskcheck{
    height: 800px;
    background-size:640px;
}
#riskcheck h2{
    font-size: 2em;
    margin: 0 auto 20px;
}
#riskcheck .flex{
    width: 700px;
}
#riskcheck .flex .kit-ph{
    width: 370px;
    margin: 0 0 0 30px;
}
#riskcheck .flex div img{
    width: 300px;
}
#riskcheck .flex div h3{
    font-size: 1.5em;
}
#riskcheck .cta-btn{
    width: 500px;
}
}
/*--------------*/

/*------------------------------sec3設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#riskcheck{
    height: 200vw;
    background-image: url("../img/yellow_bg_sp.webp");
    background-size: cover;
    background-size:80vw;
    padding: 8vw 0;
}
#riskcheck h2{
    font-size: 6vw;
    margin: 0 auto 3vw;
}
#riskcheck .flex{
    flex-direction: column;
    width: 90vw;
}
#riskcheck .flex .kit-ph{
    width: 90vw;
    margin: 0 auto;
}
#riskcheck .flex div img{
    width: 60vw;
}
#riskcheck .flex div h3{
    font-size: 5vw;
    margin: 3vw 0 0;
}
#riskcheck .cta-btn{
    width:70vw;
    margin: 5vw auto;
}
}
/*--------------*/


/*------------------------------sec4設定PC*/
#about{
    background-image: url("../img/about_bg.webp");
    background-repeat: no-repeat;
    background-size: cover;
    padding: 30px 0;
}
#about h2{
    color: #092558;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 2.5em;
    font-weight: 600;
    text-align: center;
}
#about h2 span{
    font-size: 1.2em;
}
#about .about-contents{
    background: rgba(255,255,255,.6);
    padding: 50px 80px;
    margin: 0 0 50px;
}
#about .tumormarkers-ill{
    width: 400px;
    margin: 30px 220px;
}
.important{
    color: #EE7500;
    font-size: 1.1em;
    text-decoration: underline #EE7500;
}
#about .flex{
    align-items: center;
    margin: 30px;
}
#about .flex img{
    width: 450px;
}
#about .flex div{
    margin: 0 0 0 50px;
}
#about .flex div h3{
    color:#092558;
    font-size: 1.7em;
    font-weight: 600;
}
/*--------------*/

/*------------------------------sec4設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#about .about-contents{
    padding: 50px;
    margin: 20px 0 50px;
}
#about .flex{
    margin: 30px 0;
}
#about .flex img{
    width: 320px;
}
#about .flex div h3{
    font-size: 1.6em;
    margin: 0 0 20px;
}
#about .tumormarkers-ill{
    margin: 30px 100px;
}    
}
/*--------------*/

/*------------------------------sec4設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#about{
   background-position: top center;
    padding: 0 0;
}
#about h2{
    font-size: 6vw;
}
#about h2 span{
    font-size: 8vw;
}
#about .about-contents{
    padding: 8vw;
    margin: 0 0 5vw;
}
#about .tumormarkers-ill{
    width: 60vw;
    margin: 5vw 8vw;
}
#about .flex{
    flex-direction: column;
    margin: 5vw;
}
#about .flex img{
    width: 80vw;
}
#about .flex div{
    margin: 0 0;
}
#about .flex div h3{
    font-size: 5vw;
}
}
/*--------------*/


/*------------------------------sec5設定PC*/
#thought{
    background-image: url("../img/thought_bg.webp");
    background-size: contain;
    padding: 0 0 80px;
}
#thought h2,#statistics h2{
    width: 700px;
    margin: 80px 150px;
}
#voice h2{
    width: 300px;
    margin: 80px 350px 0;
}
#voice .voice-contents{
    background: #fff;
    border:2px solid #D5C59B;
    margin: 50px 0;
}
#voice .voice-contents h3 img{
    width: 100%;
}
#voice .voice-contents h4 img{
    width: 600px;
    margin: 50px 200px;
}
#voice .voice-contents .voice-img{
    width: 800px;
    margin: 0 auto 50px;
}
/*--------------*/


/*------------------------------sec5設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#thought{
    padding: 0 0 80px;
}
#thought h2,#statistics h2{
    width: 600px;
    margin: 50px;
}
#voice h2{
    width: 260px;
    margin: 80px 220px 0;
}
#voice .voice-contents h4 img{
    width: 500px;
    margin: 50px 100px;
}
#voice .voice-contents .voice-img{
    width: 600px;
    margin: 0 auto 50px;
}
}
/*--------------*/

/*------------------------------sec5設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#thought{
    padding: 8vw 0;
}
#thought h2,#statistics h2{
    width: 90vw;
    margin: 5vw 0;
}
#voice h2{
    width: 40vw;
    margin: 8vw 25vw 0;
}
#voice .voice-contents{
    border:.5vw solid #D5C59B;
    margin: 5vw 0;
}
#voice .voice-contents h3 img{
    margin: -4.5vw 0 0;
}
#voice .voice-contents h4 img{
    width:70vw;
    margin: 8vw 10vw;
}
#voice .voice-contents .voice-img{
    width: 80vw;
    margin: 0 auto 5vw;
}    
}
/*--------------*/




/*------------------------------sec6設定PC*/
#statistics{
    background-image: linear-gradient(0deg, #F4EFEE 80%, #fff);
    padding: 0 0;
}
#statistics h3 img{
    width: 900px;
    margin: 50px 50px 20px;
}

.statistics-img{
    width: 600px;
    margin: 0 200px;
}
#statistics .cta-wrap .cta-title{
    width: 600px;
    margin: 100px 200px 30px;
}
#statistics .cta-wrap h2{
    width: 100%;
    margin: 0 0;
}
.statistics_bg{
    width: 100%;
}
/*--------------*/

/*------------------------------sec6設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#statistics h3 img{
    width: 700px;
    margin: 50px 0 20px;
}

.statistics-img{
    width: 500px;
    margin: 0 100px;
}
#statistics .cta-wrap .cta-title{
    width: 540px;
    margin: 100px 80px 30px;
}
}
/*--------------*/

/*------------------------------sec6設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
    #statistics{
        padding: 0 0 8vw;
    }
#statistics h3 img{
    width: 90vw;
    margin: 5vw 0 2vw;
    object-fit: contain;
}

.statistics-img{
    width: 90vw;
    margin: 0 auto;
}
#statistics .cta-wrap .cta-title{
    width: 70vw;
    margin: 10vw 10vw 5vw;
}

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


/*------------------------------sec7設定PC*/
#rate-graph h2{
    color: #092558;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 2.3em;
    font-weight: 600;
    text-align: center;
    margin: 50px 0 ;
}
#rate-graph .rate-graph-img{
    width: 600px;
    margin: 0 200px;
}
#rate-graph .reason{
    background-image: url("../img/reason_bg.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    padding: 350px 0 0;
}
#rate-graph .reason .wrap img{
    width: 100%;
    margin: 50px auto 0;
}
#rate-graph .ideal{
    background: linear-gradient(0deg, #66AF4E 20%,#79B963 40%, #F0F7ED);
    padding: 0 0 50px;
}
#rate-graph .ideal .wrap{
    background: #fff;
    padding: 80px 100px 50px;
}
#rate-graph .ideal .wrap h4{
    width: 600px;
    margin: 0 100px;
}
#rate-graph .ideal .wrap .ideal-list li{
    width: 400px;
    font-size: 2.2em;
    font-weight: 600;
    margin: 40px auto ;
}
#rate-graph .ideal .wrap .ideal-list li span{
    color: #FF9C1A;
    font-size: 1.2em;
}
#rate-graph .ideal h5{
    color: #F8F5A9;
    font-size: 2.7em;
    font-weight: 600;
    text-align: center;
    margin: 50px 0 0;
}
.ideal-bg{
    width: 100%;
}
/*--------------*/


/*------------------------------sec7設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#rate-graph h2{
    font-size: 2em;
    margin: 30px 0 ;
}
#rate-graph .rate-graph-img{
    width: 500px;
    margin: 0 100px;
}
#rate-graph .reason{
    padding: 200px 0 0;
}
#rate-graph .ideal .wrap{
    padding: 80px 0 50px;
}
#rate-graph .ideal .wrap h4{
    width: 500px;
    margin: 0 100px;
}
#rate-graph .ideal .wrap .ideal-list li{
    width: 350px;
    font-size: 2em;
    margin: 40px auto ;
}
#rate-graph .ideal h5{
    font-size: 2em;
}
}
/*--------------*/

/*------------------------------sec7設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#rate-graph h2{
    font-size: 7.5vw;
    margin: 5vw 0 ;
}
    .br{
        display: block;
    }
#rate-graph .rate-graph-img{
    width: 90vw;
    margin: 0 auto;
}
#rate-graph .reason{
    background-image: url("../img/reason_bg_sp.webp");
    padding: 20vw 0 0;
}
#rate-graph .reason .wrap img{
    width: 100%;
    margin: 8vw auto 0;
}
#rate-graph .ideal{
    padding: 0 0;
}
#rate-graph .ideal .wrap{
    padding: 8vw 0 5vw;
}
#rate-graph .ideal .wrap h4{
    width: 70vw;
    margin: 0 10vw;
}
#rate-graph .ideal .wrap .ideal-list li{
    width: 60vw;
    font-size: 6vw;
    margin: 6vw auto ;
}
#rate-graph .ideal .wrap .ideal-list li span{
    font-size: 8vw;
}
#rate-graph .ideal h5{
    line-height: 1.6em;
    font-size:7vw;
    margin: 5vw 5vw 0;
}

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

/*------------------------------sec8設定PC*/
#features{
    background: #F0F7ED;
    padding: 0 0 50px;
}
#features h2{
    font-size: 3em;
    font-weight: 600;
    text-align: center;
    margin: 100px auto 30px;
}
#features h2 span{
    color: #EE7500;
    font-size: 1.3em;
}
#features .features-contents{
    background: #fff;
    box-shadow: 5px 5px 10px #232B25;
    padding: 50px 0;
    margin: 50px auto ;
}
#features .features-contents h3{
    color: #66AF4E;
    font-size: 2.5em;
    font-weight: 600;
    text-align: center;
    margin: 0 0 30px;
}
#features .features-contents .flow-title{
    width: 500px;
    margin:0 250px;
}
#features .features-contents .explanation{
    width: 700px;
    font-size: 1.2em;
    margin: 30px 150px;
}
#features .features-contents h4{
    width: 700px;
    background: #fff;
    color: #092558;
    font-size: 2em;
    font-weight: 600;
    text-align: center;
    box-shadow: 5px 5px 5px #686868;
    border-radius: 10px;
    padding: 10px 0;
}
#features .features-contents h4 img{
   width: 60px;
    color: #092558;
    margin: 0 10px 0 0;
}
#features .features-contents h5{
    color: #092558;
    font-size: 1.8em;
    font-weight: 600;
    text-align: center;
    margin: 30px 0 0;
}
#features .features-contents .flow-list,#features .features-contents .features-list{
    width: 700px;
    margin: 50px 150px;
}
#features .features-contents .flow-list li .flex{
    align-items: center;
    margin: 30px 0 0;
}
#features .features-contents .flow-list li p{
    font-size: 1.2em;
    margin: 0 0 0 30px;
}
#features .features-contents .flow-list li .flow-img{
    width: 230px;
}
#features .features-contents .flow-list .arrow{
    width: 100px;
    margin: 50px auto;
}
#features .features-contents .features-list li{
    align-items: center;
    margin: 0 0 30px;
}
#features .features-contents .features-list li img{
    width: 200px;
    margin: 0 30px 0 0;
}

#features .features-contents .features-list{
    margin: 0 150px 50px;
}

#features .features-contents .features-list li p{
    color: #2F2F2F;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 1.8em;
    font-weight: 600;
}
#features .features-contents .features-list li p span{
    display: block;
    font-size: 1.5em;
}
#features .features-contents .features-accuracy{
    background-image: url("../img/features-bgwebp.webp");
    background-repeat: no-repeat;
    background-size: contain;
    background-position:center;
    padding: 80px 0;
}
#features .features-contents .features-accuracy p{
    color:#092558;
    font-size: 2em;
    font-weight: 600;
    text-align: center;
    margin: 0 0 30px;
}
#features .features-contents .features-accuracy .features-important{
    color:#EE7500;
    font-size: 2.5em;
    font-weight: 600;
    text-align: center;
    margin:30px 0;    
}

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


/*------------------------------sec8設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#features{
    padding: 0 0 50px;
}
#features .features-contents .flow-title{
    margin:0 100px;
}
#features .features-contents .explanation{
    width: 600px;
    font-size: 1.1em;
    margin: 30px 50px;
}
#features .features-contents h4{
    width: 600px;
    font-size: 1.6em;
}
#features .features-contents h5{
    font-size: 1.6em;
}
#features .features-contents .flow-list,#features .features-contents .features-list{
    width: 600px;
    margin: 50px;
}
#features .features-contents .flow-list li p{
    font-size: 1.1em;
}
#features .features-contents .flow-list li .flow-img{
    width: 200px;
}
#features .features-contents .flow-list .arrow{
    width: 80px;
    margin: 50px auto;
}
#features .features-contents .features-list li img{
    width: 200px;
}
#features .features-contents .features-list{
    margin: 0 50px 50px;
}
#features .features-contents .features-list li img{
    width: 150px;
    margin: 0 30px 0 0;
}
#features .features-contents .features-list li p{
    font-size: 1.8em;
}
#features .features-contents .features-accuracy p{
    font-size: 1.6em;
}
#features .features-contents .features-accuracy .features-important{
    font-size: 2em;   
}

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

/*------------------------------sec8設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#features{
    padding: 0 0 5vw;
}
#features h2{
    font-size: 8vw;
    margin: 10vw auto 3vw;
}
#features h2 span{
    font-size: 12vw;
    vertical-align:bottom;
}
#features .features-contents{
    box-shadow: 1vw 1vw 2vw #232B25;
    padding: 5vw 0;
    margin: 5vw auto ;
}
#features .features-contents h3{
    font-size: 6vw;
    margin: 0 0 3vw;
}
#features .features-contents .flow-title{
    width: 80vw;
    margin:0 5vw;
}
#features .features-contents .explanation{
    width: 70vw;
    font-size: 3.5vw;
    margin: 3vw 10vw;
}
#features .features-contents h4{
    width: 80vw;
    font-size: 5.5vw;
    text-align: left;
    box-shadow: .5vw .5vw 1vw #686868;
    border-radius: 2vw;
    padding: 3vw;
}
#features .features-contents h4 img{
   width: 9vw;
    margin: 0 1vw 0 0;
    vertical-align: bottom;
}
#features .features-contents h5{
    font-size: 5.5vw;
    margin: 5vw 0 0;
}
#features .features-contents .flow-list,#features .features-contents .features-list{
    width: 80vw;
    margin: 5vw;
}
#features .features-contents .flow-list li .flex{
    flex-direction: column;
    margin: 5vw 0 0;
}
#features .features-contents .flow-list li p{
    font-size: 3.8vw;
    margin: 0 auto;
}
#features .features-contents .flow-list li .flow-img{
    width: 50vw;
}
#features .features-contents .flow-list .arrow{
    width: 10vw;
    margin: 5vw auto;
}
#features .features-contents .features-list li{
    margin: 0 0 5vw;
}
#features .features-contents .features-list li img{
    width: 20vw;
    margin: 0 3vw 0 5vw;
}

#features .features-contents .features-list{
    margin: 0 0 5vw;
}

#features .features-contents .features-list li p{
    font-size: 4.5vw;
}
#features .features-contents .features-list li p span{
    font-size:6.5vw;
}
#features .features-contents .features-accuracy{
    padding: 8vw 0;
}
#features .features-contents .features-accuracy p{
    font-size: 5vw;
    margin: 0 0 3vw;
}
#features .features-contents .features-accuracy .features-important{
    font-size: 5vw;
    margin:5vw 0;    
}
}
/*--------------*/

/*------------------------------sec9設定PC*/
#cta2{
    background: #F0F7ED;
    padding: 10px 0 100px;
}

/*------------------------------sec9設定*/
/*------------------------------スマホ*/
@media (max-width: 640px) {
#cta2{
    padding:3vw 0 10vw;
}
}
/*--------------*/


/*------------------------------sec10設定PC*/
#faq h2 img{
    width: 100%;
    object-fit: contain;
    margin: 0 0 50px;
}

#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;
    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: 0 auto 50px;
}
#faq .more-btn,#question .more-btn{
    margin: 80px auto 0;
}
/*--------------*/


/*------------------------------sec10設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#faq .faq-contents .accordion_title,#question .faq-contents .accordion_title{
    width: 600px;
}
}
/*--------------*/

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

#faq h2 img{
    margin: 0 0;
}

#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: 70vw;
        padding:4vw;
        margin: 0 11vw 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;
}    
    
}
/*--------------*/


/*------------------------------開閉ボックスの設定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: #ECEFF4;
  padding: 80px 0;
    margin: 80px auto 0;
}

#footer .inquiry,#footer .foot_wrap{
    width: 1000px;
    margin: 0 auto;
}
#footer .inquiry h2{
    font-size: 1.5em;
    font-weight: 600;
    text-align: center;
}
#footer .inquiry .flex{
    margin: 50px 0 0;
}
#footer .inquiry .inquiry-btn{
    width: 480px;
    margin: 0 40px 0 0;
}
#footer .inquiry .inquiry-btn img{
    margin: 0 0 30px;
}
#footer .inquiry .inquiry-btn img:nth-child(2){
    margin: 0 0;
}
#footer .inquiry .tel{
    width: 480px;
    background: #D5E1ED;
    border:6px solid #2163A1;
    border-radius: 10px;
    padding: 5px 0;
    position: relative;
}
#footer .inquiry .tel img{
    width: 340px;
    padding: 5px 0;
    margin: 0 70px;
}
#footer .inquiry .tel img:nth-child(1){
    border-bottom: 1px solid #092558;
}
#footer .inquiry .tel .free-icon{
    width: 120px;
    margin: 0 0;
    position: absolute;
    top:-30px;
    left:-30px;
}

#footer .foot_wrap h3{
    color: #727272;
    font-size: 1.1em;
    font-weight: 600;
    text-align: center;
    margin: 80px 0 0;
}
#footer .foot_logo {
  width: 300px;
  margin: 20px auto;
}
#footer .add{
    text-align: center;
}
#footer .foot_list{
    display: flex;
}
#footer .foot_list li {
    font-weight: 600;
  text-align: center;
  margin: 50px auto;
}
#footer .foot_list li a {
  text-decoration: none;
  color: #333;
}

#footer .registration-number {
  font-size: .7em;
  text-align: center;
  margin: 0 auto;
}
#footer .registration-number {
  font-size: .6em;

}
#footer .small_box {
  font-size: .5em;
  text-align: center;
  padding: 30px 0 10px;
}
/*--------------*/

/*------------------------------フッター*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
#footer {
  padding: 50px 0;
}
#footer .inquiry,#footer .foot_wrap{
    width: 700px;
}
#footer .inquiry .inquiry-btn{
    width: 340px;
    margin: 0 40px 0 0;
}
#footer .inquiry .inquiry-btn img{
    margin: 0 0 30px;
}
#footer .inquiry .tel{
    width: 320px;
    border:6px solid #2163A1;
}
#footer .inquiry .tel img{
    width: 260px;
    padding: 0 0;
    margin: 0 30px;
}
#footer .inquiry .tel .free-icon{
    width: 70px;
    top:-20px;
    left:-20px;
}

#footer .foot_wrap h3{
    font-size: .9em;
    margin: 50px 0 0;
}
#footer .foot_logo {
  width: 250px;
  margin: 20px auto;
}
}
/*--------------*/


/*------------------------------フッター*/
/*----------------------------------------------スマホ*/
@media (max-width: 640px) {
#footer {
  padding: 8vw 0;
    margin: 15vw auto 0;
}
#footer .inquiry,#footer .foot_wrap{
    width: 90vw;
}
#footer .inquiry h2{
    font-size: 5vw;
}
#footer .inquiry .flex{
    flex-direction: column;
    margin: 5vw 0 0;
}
#footer .inquiry .inquiry-btn{
    width: 100%;
    margin: 0 auto;
}
#footer .inquiry .inquiry-btn img{
    margin: 0 0 5vw;
}
#footer .inquiry .inquiry-btn img:nth-child(2){
    margin: 0 0 5vw;
}
#footer .inquiry .tel{
    width: 100%;
    border:1vw solid #2163A1;
    border-radius: 2vw;
    padding: 5vw 0 3vw;
}
#footer .inquiry .tel img{
    width: 80vw;
    padding: 0 0;
    margin: 0 5vw;
}
#footer .inquiry .tel img:nth-child(1){
    border-bottom: .5vw solid #092558;
}
#footer .inquiry .tel .free-icon{
    width: 18vw;
    margin: 0 0;
    top:-4vw;
    left:-4vw;
}

#footer .foot_wrap h3{
    font-size: 3.5vw;
    margin: 8vw 0 0;
}
#footer .foot_logo {
  width: 60vw;
  margin: 5vw auto;
}

 #footer .registration-number {
    font-size:2.5vw;
      padding: 0 0;
    margin: 5vw auto 0;
  }
  #footer .foot_list {
    flex-direction: column;
    margin: 3vw auto;
  }
  #footer .foot_list li {
    width: 80vw;
    font-size: 3.5vw;
    margin: 0 auto 3vw;
  }
  #footer .small_box {
    font-size: 2vw;
    margin: 0 auto 14vw;
  }
}
/*--------------*/

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