@charset "utf-8";
input.hi,select.hi {
    border: 1px solid #e91e63 !important;
    box-sizing: border-box;
}
#request input, 
#request select{
    width: 100%;
    height: 40px;
    font-size: 16px;
    margin: 0 auto;
    background: #fff;
/* -webkit-appearance: none; */}
#request textarea{
    width: 100%;
    font-size: 16px;
    margin: 0 auto;
    box-sizing: border-box;
}

.wpcf7-form-control.has-spinner.wpcf7-submit {
    margin: 0 auto;
    display: block;
    width: 100% !important;
    background: #00B900 !important;
    color: white !important;
    border: none;
    cursor: pointer;
    height: 40px !important;
    line-height: 40px;
}
.wpcf7-form-control.has-spinner.wpcf7-submit{
  display       : inline-block;
  border-radius : 5%;          
  font-size     : 18pt;       
  text-align    : center;      
  cursor        : pointer;     
  padding       : 12px 12px;  
  background    : #000066;     
  color         : #ffffff;    
  -webkit-appearance: none;line-height   : 1em;        
  transition    : .3s;         
  box-shadow    : 6px 6px 3px #666666; 
 
}
.wpcf7-form-control.has-spinner.wpcf7-submit:hover {
  box-shadow    : none;        
  color         : #000066;     
  background    : #ffffff;     
}
input.form-control {
    color: #333;
}
textarea.form-control {
    color: #333;
}
.hissu{color: #fff　 !important;padding: 0.2 rem 0.5 rem;font-size: .8rem;border-radius: 0.2 rem;margin-left: 1 rem;vertical-align: text-bottom;background: #e91e63;padding: 3px 8px;display: inline-block;margin-left: 10px;color: white !important;}
.ninni{color: #fff;padding: 0.2 rem 0.5 rem;font-size: .8rem;border-radius: 0.2 rem;margin-left: 1 rem;vertical-align: text-bottom;background: #7c797a;padding: 1px 8px;display: inline-block;margin-left: 10px;color: white !important;}


body.page-id-125 .form_label,
body.page-id-136 .form_label,
body.page-id-138 .form_label,
body.page-id-302 .form_label{
	width: 90%;
	margin: 0 auto;
	display: block;
	margin-bottom: 25px;
}
body.page-id-125 textarea,
body.page-id-136 textarea,
body.page-id-138 textarea,
body.page-id-302 textarea{
	width: 90%;
    margin: 0 auto;
    display: block;
}
body.page-id-125 .wpcf7-submit,
body.page-id-136 .wpcf7-submit,
body.page-id-138 .wpcf7-submit,
body.page-id-302 .wpcf7-submit{
	width: 90%;
    margin: 0 auto;
    display: block;
}
.form_label{
	display: block;
	margin-bottom: 15px;
}
.wpcf7-form-control-wrap {
    position: relative;
    display: block;
}
.tyukoku{
	color: #e91e63;
}
.wpcf7-date{
	color: #495057 !important;
	width: 100%;
}
/* ベースのチェックボックス */
.wpcf7-list-item input[type=checkbox] {
  display: none;
}
.wpcf7-list-item .wpcf7-list-item-label {
  position: relative;
  padding-left: 25px;
}
.wpcf7-list-item input[type=checkbox]  + .wpcf7-list-item-label::before {
  position: absolute;
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background: #ddd;
  left: -1px;
  top: 0px;
}
.wpcf7-list-item input[type=checkbox]  + .wpcf7-list-item-label::after {
  position: absolute;
  content: '';
  display: block;
  width: 8px;
  height: 12px;
  transform: rotate(45deg) scale(0, 0);
  border-right: 3px solid #e91e63;
  border-bottom: 3px solid #e91e63;
  left: 5px;
  top: -1px;
  transition: .3s;
}
.wpcf7-list-item input[type=checkbox]:checked + .wpcf7-list-item-label::after {
    transform: rotate(45deg) scale(1, 1);
}
.wpcf7-list-item input[type=checkbox]:checked + .wpcf7-list-item-label{
   color: red;
}
.wpcf7-list-item {
    display: block !important;
    margin-bottom: 10px !important;
}
.form-control {
    color: #495057 !important;}
#mv{
	position: relative;
}
	#mv .mv{
		position: relative;
		z-index: 1;
	}
.sponly { display: none !important;}
.pconly { display: block !important;}
		#mv .mv .mvMovie,
		#mv .mv .mvImg{
			display: block !important;
			width: 100%;
    		padding-top: 80vh;
		}
		#mv .mv .mbYTP_wrapper{
			height: 80vh;
		}
		#mv .mv .swiper-button-next,
		#mv .mv .swiper-button-prev{
			top: calc(50% - 18px);
			width: 36px;
			height: 36px;
		}
		#mv .mv .swiper-button-prev,
		#mv .mv.swiper-container-rtl .swiper-button-next{
			left: 20px;
		}
		#mv .mv .swiper-button-next,
		#mv .mv.swiper-container-rtl .swiper-button-prev{
			right: 20px;
		}
			#mv .mv .swiper-button-next:after,
			#mv .mv .swiper-button-prev:after{
				font-size: 0;
				width: 100%;
				height: 100%;
			}
			#mv .mv .swiper-button-prev:after,
			#mv .mv.swiper-container-rtl .swiper-button-next:after{
				background: url(../../img/home/pc/icon_mvListBtn_prev.svg) no-repeat center/contain;
			}
			#mv .mv .swiper-button-next:after,
			#mv .mv.swiper-container-rtl .swiper-button-prev:after{
				background: url(../../img/home/pc/icon_mvListBtn_next.svg) no-repeat center/contain;
			}

		#mv .mv .swiper-pagination{
			display: flex;
		    flex-wrap: wrap;
		    justify-content: flex-start;
		    align-items: flex-end;
		    align-content: flex-end;
		    bottom: 80px;
		    right: 33px;
		    width: 10px;
		    height: calc(50% - 90px);
		}
			#mv .mv .swiper-pagination-bullet{
				display: block;
			    width: 10px;
			    height: 10px;
			    border-radius: 50%;
			    box-sizing: border-box;
			    background: none;
			    border: 1px solid #fff;
			    opacity: 1;
			    cursor: pointer;
			}
			#mv .mv .swiper-pagination-bullet-active{
				background: #348fd0;
				border-color: #348fd0;
			}
			#mv .mv .swiper-pagination-bullet + .swiper-pagination-bullet{
				margin-top: 14px;
			}

	#mv .wave{
		position: absolute;
		z-index: 2;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 80px;
		vertical-align: bottom;
	}
@media screen and (max-width: 768px){
	#mv .mv .mvMovie,
	#mv .mv .mvImg{
		padding-top: 60vh;
	}
	#mv .mv .mbYTP_wrapper{
		height: 60vh;
	}
	#mv .mv .swiper-button-prev,
	#mv .mv.swiper-container-rtl .swiper-button-next{
		left: 10px;
	}
	#mv .mv .swiper-button-next,
	#mv .mv.swiper-container-rtl .swiper-button-prev{
		right: 10px;
	}
	#mv .mv .swiper-pagination{
		display: none;
	}
	#mv .wave{
		height: 40px;
	}
}



#about{
	margin-top: 160px;
}
	#about .group1 .txt{
		width: 48.181818%;
	}
		#about .group1 .txt .btn{
			margin-top: 70px;
			margin-left: 0;
			max-width: 260px;
		}

	#about .group1 .photo{
		width: 41.818182%;
	}
@media screen and (max-width: 768px){
	#about{
		margin-top: 60px;
	}
	#about .group1 .txt{
		width: 100%;
	}
	#about .group1 .photo{
		width: 82%;
		margin: 20px auto;
	}
	#about .group1 .txt .btn{
		margin: 30px auto 0;
	}
	.sponly { display: block !important;}
.pconly { display: none !important;}
}



#mechanism{
	margin-top: 120px;
}
	#mechanism .secTtl{
		margin-top: 120px;
	}
		#mechanism .secTtl .ja sup{
			font-size: 24px;
			line-height: 1;
			vertical-align: top;
			top: .75em;
		}

	#mechanism .group1{
		margin-top: 40px;
	}
		#mechanism .group1 .photo{
			width: 58.181818%;
			box-shadow: 0 2.5px 10px rgba(0,0,0,.1);
		}
			#mechanism .group1 .photo video{
				width: 100%;
				vertical-align: top;
			}

		#mechanism .group1 .txt{
			width: 36.363636%;
		}

	#mechanism .group2{
		margin-top: 80px;
		margin-bottom: 160px;
		max-width: 920px;
		box-sizing: border-box;
		padding: 34px 40px 40px;
	}
		#mechanism .group2 .ttl{
			font-size: 24px;
			letter-spacing: .1em;
			line-height: 1.4;
			margin-bottom: 25px;
		}
@media screen and (min-width: 769px) and (max-width: 1200px){
	#mechanism .group2 .ttl{
		font-size: 19px;
	}
}
@media screen and (max-width: 768px){
	#mechanism{
		margin-top: 60px;
	}
	#mechanism .secTtl{
		margin-top: 60px;
		text-align: left !important;
	}
	#mechanism .secTtl.tc .en:after{
		margin-left: 0;
	}
	#mechanism .secTtl .ja sup{
		font-size: 14px;
		top: .5em;
	}
	#mechanism .group1{
		margin-top: 20px;
	}
	#mechanism .group1 .photo{
		width: 100%;
	}
	#mechanism .group1 .txt{
		width: 100%;
		margin-top: 30px;
	}
	#mechanism .group2{
		margin-top: 30px;
		margin-bottom: 60px;
		max-width: 560px;
		padding: 30px 40px;
	}
	#mechanism .group2 .ttl{
		font-size: 18px;
		margin-bottom: 15px;
	}
}



#feature{
	margin-top: 95px;
}
	#feature .group1 .txt{
		width: 42.727273%;
	}
		#feature .group1 .txt .btn{
			margin-top: 70px;
			margin-left: 0;
			max-width: 260px;
		}

	#feature .group1 .photo{
		width: 50.909091%;
	}

	#feature .group2{
		margin-top: 160px;
		padding-top: 0;
	}
		#feature .group2 ul{
			position: relative;
			top: -60px;
			margin-bottom: 100px;
		}
			#feature .group2 ul li{
				width: 30.909091%;
				box-sizing: border-box;
				padding: 40px 10px 36px;
				position: relative;
			}
			#feature .group2 ul li:nth-child(n+4){
				width: 23.090909%;
				margin-top: 40px;
			}
				#feature .group2 ul li .icon1,
				#feature .group2 ul li .icon2,
				#feature .group2 ul li .icon3{
					display: inline-block;
					color: #348fd0;
					background: linear-gradient(-45deg,#9aedcf,#00d084);
					-webkit-background-clip: text;
					-webkit-text-fill-color: transparent;
					font-size: 100px;
					letter-spacing: 0;
					line-height: 1;
					margin-top: -16px;
					margin-bottom: 12px;
				}
				#feature .group2 ul li .icon4{
					margin: 0 auto 24px;
					width: 140px;
					height: 140px;
					position: relative;
				}
					#feature .group2 ul li .icon4 .circle1{
						position: relative;
						z-index: 1;
						width: 100%;
						height: 100%;
						border-radius: 50%;
						background: linear-gradient(-45deg,#00d084,#00d084);
					}
						#feature .group2 ul li .icon4 .circle1 span{
							position: absolute;
							z-index: 1;
							top: 0;
							width: 50%;
							height: 100%;
							overflow: hidden;
						}
						#feature .group2 ul li .icon4 .circle1 span:nth-of-type(1){
							right: 0;
						}
						#feature .group2 ul li .icon4 .circle1 span:nth-of-type(2){
							left: 0;
						}
							#feature .group2 ul li .icon4 .circle1 span:before{
								content: "";
								position: absolute;
								z-index: 1;
								top: 0;
								width: 200%;
								padding-top: 200%;
							}
							#feature .group2 ul li .icon4 .circle1 span:nth-of-type(1):before{
								right: 0;
								background: linear-gradient(to right,rgba(255,255,255,0) 50%,rgba(255,255,255,1) 0);
							}
							#feature .group2 ul li .icon4 .circle1 span:nth-of-type(2):before{
								left: 0;
								background: linear-gradient(to left,rgba(255,255,255,0) 50%,rgba(255,255,255,1) 0);
							}
							#feature .group2 ul li.active .icon4 .circle1 span:nth-of-type(1):before{
								animation: icon4circle1 1.5s linear forwards;
							}
							@keyframes icon4circle1{
								0%{ transform: rotate(0); }
								100%{ transform: rotate(180deg); }
							}
							#feature .group2 ul li.active .icon4 .circle1 span:nth-of-type(2):before{
								animation: icon4circle2 1.5s linear forwards;
								animation-delay: 1.5s;
							}
							@keyframes icon4circle2{
								0%{ transform: rotate(0); }
								100%{ transform: rotate(160deg); }
							}

					#feature .group2 ul li .icon4 .circle2{
						position: absolute;
						z-index: 2;
						top: 50%;
						left: 50%;
						transform: translateX(-50%) translateY(-50%);
						width: 98px;
						height: 98px;
						border-radius: 50%;
						background: #fff;
					}
					#feature .group2 ul li .icon4 .per{
						position: absolute;
						z-index: 3;
						top: 50%;
						left: 50%;
						transform: translateX(-50%) translateY(-50%);
						color: #00d084;
						background: linear-gradient(-45deg,#00d084,#7dffd0);
						-webkit-background-clip: text;
						-webkit-text-fill-color: transparent;
						font-size: 44px;
						letter-spacing: .02em;
						line-height: 1;
					}
						#feature .group2 ul li .icon4 .per:after{
							content: "%";
							font-size: 32px;
							letter-spacing: .02em;
						}

				#feature .group2 ul li .icon5{
					margin: 0 auto 24px;
					width: 140px;
					height: 140px;
					position: relative;
				}
					#feature .group2 ul li .icon5 .illust{
						position: relative;
						z-index: 1;
						width: 140px;
						height: 140px;
						background: url(/assets/img/icon_scalpel.svg) no-repeat center/contain;
					}
					#feature .group2 ul li .icon5 .slash{
						position: absolute;
						z-index: 2;
						top: 50%;
						left: 50%;
						transform: translateX(-50%) translateY(-50%) rotate(45deg);
						width: 107px;
						height: 4px;
						border-radius: 2px;
						overflow: hidden;
					}
						#feature .group2 ul li .icon5 .slash:before{
							content: "";
							position: absolute;
							z-index: 1;
							top: 0;
							left: 0;
							width: 100%;
							height: 100%;
							background: #fff;
							transform: scaleX(0);
							transform-origin: left center;
						}
						#feature .group2 ul li.active .icon5 .slash:before{
							animation: icon5 2s linear forwards;
						}
						@keyframes icon5{
							0%{ transform: scaleX(0); }
							100%{ transform: scaleX(1); }
						}

				#feature .group2 ul li .icon6{
					margin: 0 auto 24px;
					width: 140px;
					height: 140px;
					position: relative;
				}
					#feature .group2 ul li .icon6 .circle{
						position: relative;
						z-index: 1;
						width: 140px;
						height: 140px;
						background: linear-gradient(-45deg,#59f6bd,#00d084);
						border-radius: 50%;
					}
					#feature .group2 ul li .icon6 .arrow{
						position: absolute;
						z-index: 2;
						top: 10px;
						left: 50%;
						transform: translateX(-50%);
						width: 83px;
						height: 54px;
						overflow: hidden;
					}
						#feature .group2 ul li .icon6 .arrow:before{
							content: "";
							position: absolute;
							z-index: 1;
							top: 17px;
							left: 0;
							width: 83px;
							height: 83px;
							background: url(/assets/img/icon_back.svg) no-repeat center top/100% auto;
							transform: rotate(180deg);
						}
						#feature .group2 ul li.active .icon6 .arrow:before{
							animation: icon6arrow 3s linear forwards;
						}
						@keyframes icon6arrow{
							0%{ transform: rotate(180deg); }
							100%{ transform: rotate(0deg); }
						}

					#feature .group2 ul li .icon6 .per{
						position: absolute;
						z-index: 3;
						top: 45%;
						left: 50%;
						transform: translateX(-50%);
						color: #fff;
						font-size: 48px;
						letter-spacing: 0;
						line-height: 1;
					}
						#feature .group2 ul li .icon6 .per:before{
							content: "-";
						}
						#feature .group2 ul li .icon6 .per:after{
							content: "%";
							font-size: 25px;
						}

				#feature .group2 ul li .icon7{
					margin: 0 auto 24px;
					width: 140px;
					height: 140px;
					position: relative;
				}
					#feature .group2 ul li .icon7 .illust{
						position: relative;
						z-index: 1;
						width: 140px;
						height: 140px;
						background: url(../../img/home/pc/icon_pill.svg) no-repeat center/contain;
					}
					#feature .group2 ul li .icon7 .slash{
						position: absolute;
						z-index: 2;
						top: 50%;
						left: 50%;
						transform: translateX(-50%) translateY(-50%) rotate(45deg);
						width: 107px;
						height: 4px;
						border-radius: 2px;
						overflow: hidden;
					}
						#feature .group2 ul li .icon7 .slash:before{
							content: "";
							position: absolute;
							z-index: 1;
							top: 0;
							left: 0;
							width: 100%;
							height: 100%;
							background: #fff;
							transform: scaleX(0);
							transform-origin: left center;
						}
						#feature .group2 ul li.active .icon7 .slash:before{
							animation: icon5 2s linear forwards;
						}

				#feature .group2 ul li .txt{
					font-size: 20px;
					letter-spacing: .08em;
					line-height: 1.5;
				}
					#feature .group2 ul li .txt sup{
						font-size: 12px;
						vertical-align: baseline;
						top: -.75em;
					}

				#feature .group2 ul li .notes{
					position: absolute;
					z-index: 1;
					left: 0;
					bottom: 0;
					width: 100%;
					box-sizing: border-box;
					padding: 8px;
					font-size: 12px;
					letter-spacing: .05em;
					line-height: 1.4;
					text-align: right;
				}
@media screen and (min-width: 769px) and (max-width: 1200px){
	#feature .group2 ul li .txt{
		font-size: 14px;
	}
	#feature .group2 ul li .txt sup{
		font-size: 10px;
    	top: -.5em;
	}
	#feature .group2 ul li .notes{
		font-size: 10px;
	}
	#feature .group2 ul li:nth-child(n+4){
		width: 48%;
	}
}
@media screen and (max-width: 768px){
	.contact_form{
		width: 92.5%;
    margin: 0 auto;
	}
	#feature{
		margin-top: 50px;
	}
	#feature .group1 .txt{
		width: 100%;
	}
	#feature .group1 .photo{
		width: 82%;
		margin: 20px auto 30px;
	}
	#feature .group1 .txt .btn{
		margin: 30px auto 0;
	}
	#feature .group2 ul{
		top: -100px;
		margin-bottom: -40px;
	}
	#feature .group2 ul li{
		width: 100%;
		padding-top: 26px;
		padding-bottom: 24px;
	}
	#feature .group2 ul li:nth-child(n+4){
		width: 48.611111%;
		margin-top: 20px;
	}
	#feature .group2 ul li + li{
		margin-top: 20px;
	}
	#feature .group2 ul li .icon1,
	#feature .group2 ul li .icon2,
	#feature .group2 ul li .icon3{
		font-size: 80px;
		margin-top: -14px;
		margin-bottom: 8px;
	}
	#feature .group2 ul li .icon4{
		width: 112px;
		height: 112px;
		margin-bottom: 16px;
	}
	#feature .group2 ul li .icon4 .circle2{
		width: 78px;
		height: 78px;
	}
	#feature .group2 ul li .icon4 .per{
		font-size: 35px;
	}
	#feature .group2 ul li .icon4 .per:after{
		font-size: 25px;
	}
	#feature .group2 ul li .icon5{
		width: 112px;
		height: 112px;
		margin-bottom: 16px;
	}
	#feature .group2 ul li .icon5 .illust{
		width: 112px;
		height: 112px;
	}
	#feature .group2 ul li .icon5 .slash{
		width: 85px;
	}
	#feature .group2 ul li .icon6{
		width: 112px;
		height: 112px;
		margin-bottom: 16px;
	}
	#feature .group2 ul li .icon6 .circle{
		width: 112px;
		height: 112px;
	}
	#feature .group2 ul li .icon6 .arrow{
		top: 7px;
		width: 67px;
		height: 44px;
	}
	#feature .group2 ul li .icon6 .arrow:before{
		top: 14px;
		width: 67px;
		height: 67px;
	}
	#feature .group2 ul li .icon6 .per{
		font-size: 38px;
	}
	#feature .group2 ul li .icon6 .per:after{
		font-size: 20px;
	}
	#feature .group2 ul li .icon7{
		width: 112px;
		height: 112px;
		margin-bottom: 16px;
	}
	#feature .group2 ul li .icon7 .illust{
		width: 112px;
		height: 112px;
	}
	#feature .group2 ul li .icon7 .slash{
		width: 85px;
	}
	#feature .group2 ul li .txt{
		font-size: 16px;
	}
	#feature .group2 ul li .txt sup{
		font-size: 10px;
	}
	#feature .group2 ul li:nth-child(n+4) .txt{
		font-size: 12px;
	}
	#feature .group2 ul li .notes{
		font-size: 10px;
	}
}
@media screen and (max-width: 374px){
	#feature .group2 ul li .icon1,
	#feature .group2 ul li .icon2,
	#feature .group2 ul li .icon3{
		font-size: 21.333333vw;
	}
	#feature .group2 ul li .icon4 .per{
		font-size: 9.333333vw;
	}
	#feature .group2 ul li .icon4 .per:after{
		font-size: 6.666667vw;
	}
	#feature .group2 ul li .icon6 .per{
		font-size: 10.133333vw;
	}
	#feature .group2 ul li .icon6 .per:after{
		font-size: 5.333333vw;
	}
	#feature .group2 ul li .txt{
		font-size: 4.266667vw;
	}
	#feature .group2 ul li:nth-child(n+4) .txt{
		font-size: 3.2vw;
	}
	#feature .group2 ul li .txt sup{
		font-size: 2.666667vw;
	}
	#feature .group2 ul li .notes{
		font-size: 2.666667vw;
	}
}



#diagnosis{
	margin-top: 160px;
	padding-bottom: 100px;
}
	#diagnosis .minute{
		width: 320px;
		margin: 70px auto 0;
		font-size: 20px;
		letter-spacing: .08em;
		line-height: 1.4;
		background: #f7f7f7;
		padding-top: 16px;
		padding-bottom: 16px;
		white-space: nowrap;
	}
		#diagnosis .minute:before{
			content: "";
			display: inline-block;
			vertical-align: bottom;
			width: 25px;
			height: 25px;
			background: url(../../img/home/pc/icon_minute.svg) no-repeat center/contain;
			margin-right: 10px;
		}

	#diagnosis .question{
		margin-top: 60px;
		box-sizing: border-box;
		padding: 70px 2% 80px; 
	}
		#diagnosis .question ol{
			max-width: 940px;
			margin: auto;
		}
			#diagnosis .question ol > li + li{
				margin-top: 20px;
				padding-top: 38px;
				border-top: 1px solid #dbdbdb;
			}
				#diagnosis .question ol > li .ttl .num{
					display: block;
					width: 80px;
					font-size: 36px;
					font-weight: 300;
					letter-spacing: .05em;
					line-height: 1;
				}
				#diagnosis .question ol > li .ttl .txt{
					display: block;
					width: calc(100% - 80px);
					font-size: 20px;
					letter-spacing: .08em;
					line-height: 1.4;
					text-align: justify;
					text-justify: inter-ideograph;
					padding-top: .25em;
				}
				#diagnosis .question ol > li .choices{
					margin-top: 28px;
					box-sizing: border-box;
					padding-left: 80px;
				}
					#diagnosis .question ol > li .choices li{
						width: 23.255814%;
						margin-left: 2.325581%;
						margin-bottom: 2.325581%;
					}
					#diagnosis .question ol > li .choices li:nth-child(4n+1){
						margin-left: 0;
					}
						#diagnosis .question ol > li .choices li label input{
							display: none;
						}
						#diagnosis .question ol > li .choices li label span{
							display: inline-block;
							width: 100%;
							font-size: 15px;
							letter-spacing: .08em;
							line-height: 1.4;
							background: #f7f7f7;
							box-sizing: border-box;
							padding: 12px 10px 13px 32px;
							cursor: pointer;
							position: relative;
						}
						#diagnosis .question ol > li .choices li label input:checked + span{
							color: #01558c;
							background: #eff6fb;
						}
							#diagnosis .question ol > li .choices li label span:before{
								content: "";
								position: absolute;
								z-index: 1;
								top: 15px;
								left: 10px;
								width: 15px;
								height: 15px;
								background: url(../../img/home/pc/icon_check.svg) no-repeat center/contain;
							}
							#diagnosis .question ol > li .choices li label input:checked + span:before{
								background: url(../../img/home/pc/icon_checked.svg) no-repeat center/contain;
							}

	#diagnosis .notes{
		font-size: 12px;
		letter-spacing: .05em;
		line-height: 1.4;
		margin-top: 6px;
	}
	#diagnosis .questionBtn{
		max-width: 300px;
		margin-top: 54px;
	}
		#diagnosis .questionBtn a{
			font-size: 20px;
			height: 64px;
			line-height: 62px;
		}
@media screen and (max-width: 768px){
	#diagnosis{
		margin-top: 50px;
		padding-bottom: 80px;
	}
	#diagnosis .secTtl{
		text-align: left !important;
	}
	#diagnosis .secTtl.tc .en:after{
		margin-left: 0;
	}
	#diagnosis .secTtl + .secTxt{
		text-align: left !important;
	}
	#diagnosis .minute{
		width: 260px;
		margin-top: 50px;
		font-size: 17px;
		padding-top: 12px;
		padding-bottom: 14px;
	}
	#diagnosis .minute:before{
		width: 20px;
		height: 20px;
		margin-right: 4px;
	}
	#diagnosis .question{
		margin-top: 30px;
		padding: 32px 0 50px;
	}
	#diagnosis .question ol{
		width: 88.888889%;
	}
	#diagnosis .question ol > li + li{
		margin-top: 40px;
		padding-top: 34px;
	}
	#diagnosis .question ol > li .ttl .num{
		width: 100%;
		font-size: 28px;
		text-align: center;
	}
	#diagnosis .question ol > li .ttl .txt{
		width: 100%;
		font-size: 17px;
		line-height: 1.64;
		margin-top: 10px;
	}
	#diagnosis .question ol > li .choices{
		width: 87.5%;
		margin: 20px auto 0;
		padding: 0;
	}
	#diagnosis .question ol > li .choices li{
		width: 100%;
		margin-left: 0;
		margin-bottom: 10px;
	}
	#diagnosis .notes{
		font-size: 10px;
		line-height: 1.4;
	}
	#diagnosis .questionBtn{
		margin-top: 35px;
	}
}



#answer{
}
	#answer .list > li{
		position: fixed;
		z-index: 2000;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transition: .5s;
	}
	#answer .list > li.active{
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
	}
		#answer .list > li .overlay{
			position: fixed;
			top: 0;
			left: 0;
			width: 100vw;
			height: 100vh;
			background: rgba(0,0,0,.5);
		}
		#answer .list > li .answer{
			position: fixed;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			margin: auto;
			width: 95%;
			max-width: 1100px;
			height: 84%;
		}
			#answer .list > li .answer .inner{
				width: 100%;
				height: 100%;
				box-sizing: border-box;
				padding: 110px 2.5% 100px;
				overflow: scroll;
				-webkit-overflow-scrolling: touch;
				-ms-overflow-style:none;
			}
			#answer .list > li .answer .inner::-webkit-scrollbar{
				display: none;
			}
				#answer .list > li .answer .inner .ttl1{
					font-size: 36px;
					letter-spacing: .2em;
					line-height: 1;
				}
					#answer .list > li .answer .inner .ttl1:before,
					#answer .list > li .answer .inner .ttl1:after{
						content: "";
						display: inline-block;
						vertical-align: .35em;
						width: 60px;
						height: 1px;
						background: #01558c;
					}

				#answer .list > li .answer .inner .ttl2{
					margin-top: 50px;
					line-height: 1.4;
				}
					#answer .list > li .answer .inner .ttl2 .your{
						display: block;
						font-size: 20px;
						letter-spacing: .14em;
						line-height: 1;
						margin-bottom: 30px;
					}
					#answer .list > li .answer .inner .ttl2 .name{
						font-size: 36px;
						letter-spacing: .14em;
					}
					#answer .list > li .answer .inner .ttl2 .kamo{
						font-size: 32px;
						letter-spacing: .14em;
					}

				#answer .list > li .answer .inner .photo{
					margin: 32px auto;
				}
				#answer .list > li .answer .inner .btn{
					max-width: 340px;
					margin-top: 50px;
				}
					#answer .list > li .answer .inner .btn a{
						font-size: 20px;
						height: 64px;
						line-height: 62px;
					}

			#answer .list > li .answer .answerClose{
				position: absolute;
				z-index: 1;
				top: -25px;
				right: -25px;
				width: 50px;
				height: 50px;
				cursor: pointer;
			}
				#answer .list > li .answer .answerClose:before{
					content: "";
					position: absolute;
					z-index: -1;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					border-radius: 50%;
					box-shadow: 0 2.5px 10px rgba(0,0,0,.1);
				}
@media screen and (max-width: 768px){
	
	#answer .list > li .answer .inner{
		padding: 50px 6.25% 60px;
	}
	#answer .list > li .answer .inner .ttl1{
		font-size: 22px;
	}
	#answer .list > li .answer .inner .ttl1:before,
	#answer .list > li .answer .inner .ttl1:after{
		width: 30px;
	}
	#answer .list > li .answer .inner .ttl2{
	    margin-top: 30px;
	}
	#answer .list > li .answer .inner .ttl2 .your{
		font-size: 16px;
    	margin-bottom: 16px;
	}
	#answer .list > li .answer .inner .ttl2 .name{
		font-size: 22px;
	}
	#answer .list > li .answer .inner .ttl2 .kamo{
		font-size: 16px;
	}
	#answer .list > li .answer .inner .photo{
		max-width: 436px;
    	margin: 20px auto;
	}
	#answer .list > li .answer .answerClose{
		top: 12px;
	    right: 10px;
	    width: 40px;
	    height: 40px;
	}
	.tesla_video{
	height: 200px !important;
}
}
.tesla_video{
	height: 400px;
}

#Product {
    max-width: 1200px;
    margin: 0 auto;
}
.product_inner {
	max-width: 1000px;
	margin: 6vw auto 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.product_inner_l {
	width: 55%;
	padding-top: 75px;
}
.product_inner h2 {
	font-family: a-otf-ud-reimin-pr6n, sans-serif;
	font-style: italic;
	font-size: 2.6vw;
	line-height: 1.5;
}
.product_inner h2 span {
	font-size: 1.8vw;
}
.product_inner .roles_box {
	margin: 20px auto 0 auto;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}
.product_inner ol {
	width: 100%;
	margin-right: 10px;
}
.product_inner ol li {
	width: 100%;
	margin: 0 10px 5px 0;
	background: #fff;
	font-family: a-otf-ud-reimin-pr6n, sans-serif;
	color: #000;
	display: flex;
	font-size: 20px;
	align-items: center;
}
.product_inner ol li span {
	text-align: center;
	/* background: #063a7a; */
	padding: 12px;
	margin-right: 10px;
	color: #fff;
	background: linear-gradient(-45deg,#d7fff0,#38d49b);
}
.product_inner_r {
	width: 45%;
	text-align: center;
	position: relative;
}
.product_inner_r .aim {
	position: absolute;
	right: 0;
	bottom: 3vw;
}
#Product .product_line {
	position: relative;
	margin: 120px auto 0 auto;
}
#Product .product_line .product_line_inner {
	width: 94%;
	margin: 0 auto;
}
#Product .product_line .product_line_inner h2 {
	text-align: center;
	font-family: a-otf-ud-reimin-pr6n, sans-serif;
	font-size: 2.4vw;
	line-height: 1.5;
}
#Product .product_line .product_line_inner ul {
	width: 100%;
	margin: 60px auto 0 auto;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	z-index: 1;
}
#Product .product_line .product_line_inner ul li {
	width: calc(100%/6 - 10px);
	text-align: center;
	margin: 0 auto;
}
#Product .product_line .product_line_inner ul li figure {}
#Product .product_line .product_line_inner ul li figure img {
	max-width: 100%;
	margin: 0 auto;
}
#Product .product_line .product_line_inner ul li dl {
	margin: -40px auto 0 auto;
	position: relative;
	z-index: 1;
}
#Product .product_line .product_line_inner ul li dl dt {
	font-family: 'Oswald';
	padding: 5px 0;
	color: #111;
	letter-spacing: 0.5em;
	text-indent: 0.5em;
}
#Product .product_line .product_line_inner ul li dl dt.scalp, .scalp {
	background: #81CFF5;
}
#Product .product_line .product_line_inner ul li dl dt.scalp_face {
	background: #05B5EE;
	display: flex;
}
#Product .product_line .product_line_inner ul li dl dt.scalp_face {
	padding: 0;
}
#Product .product_line .product_line_inner ul li dl dt.scalp_face span {
	width: 50%;
	text-align: center;
	padding: 5px 0;
}
#Product .product_line .product_line_inner ul li dl dt.face, .face {
	background: #2773AF;
	color: #fff;
}
#Product .product_line .product_line_inner ul li dl dt.body {
	background: #01479D;
	color: #fff;
}
#Product .product_line .product_line_inner ul li dl dd {
	background: #111;
	height: 60px;
	padding: 0 10px;
	position: relative;
	font-size: 14px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#Product .correspondence {
	max-width: 1400px;
	margin: 100px auto 0 auto;
}
.arrow_box {
	position: relative;
}
.arrow_box::before {
	position: absolute;
	bottom: -30px;
	left: 0;
	right: 0;
	margin: 0 auto;
	content: '';
	width: auto;
	height: 150px;
	background: url('../../../../images/index/arrow_1.png') no-repeat center center;
	background-size: contain;
	z-index: -1;
}
#Product .correspondence h3 {
	text-align: center;
	font-family: a-otf-ud-reimin-pr6n, sans-serif;
	font-size: 2.4vw;
	line-height: 1.5;
}
#Product .correspondence h3 span {
	font-size: 1.8vw;
}
#Product .correspondence .circle_list {
	margin: 80px auto 0 auto;
	display: flex;
	justify-content: space-between;
	position: relative;
	max-width: 900px;
}
#Product .correspondence .circle_list .circle {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 50%;
	width: 170px;
	height: 170px;
	color: #000;
	font-size: 48px;
	font-family: a-otf-ud-reimin-pr6n, sans-serif;
	font-weight: bold;
	text-align: center;
}
#Product .correspondence .circle_list .relax {
	font-size: 32px;
	font-feature-settings: "palt";
}
#Product .correspondence .circle_list li::before, #Product .correspondence .circle_list li::after {
	content: '';
	position: absolute;
	width: 60px;
	height: 2px;
	margin: auto;
	transform: rotate(45deg);
	background-color: #fff;
	top: 0;
	bottom: 0;
	right: 0;
}
#Product .correspondence .circle_list li:last-child::before, #Product .correspondence .circle_list li:last-child::after {
	display: none;
}
#Product .correspondence .circle_list li:nth-child(1)::before, #Product .correspondence .circle_list li:nth-child(1)::after {
	left: -485px;
}
#Product .correspondence .circle_list li:nth-child(2)::before, #Product .correspondence .circle_list li:nth-child(2)::after {
	left: 0;
}
#Product .correspondence .circle_list li:nth-child(3)::before, #Product .correspondence .circle_list li:nth-child(3)::after {
	left: 485px;
}
#Product .correspondence .circle_list li::after {
	transform: rotate(135deg);
}
#Product .correspondence figure {
	margin: 80px auto 0 auto;
}
#Product .differentiation {
	margin: 120px auto 0 auto;
	max-width: 1400px;
	background: url('../../../../images/index/sme_front_bg_50.png') no-repeat left 10vw;
	background-size: auto;
}
#Product .differentiation h2 {
	text-align: center;
	font-family: a-otf-ud-reimin-pr6n, sans-serif;
	font-size: 3.2vw;
	line-height: 1.5;
}
#Product .differentiation h2 span {
	font-size: 2vw;
}
#Product .differentiation h2 span.dot-text {
	font-size: 3.2vw;
	text-emphasis: filled dot #fff;
}
#Product .differentiation .differentiation_txt_box {
	max-width: 800px;
	margin: 80px auto 0 auto;
}

#Product .differentiation .arrow_box {
	margin-top: 100px;
}
#Product .differentiation h3 {
	text-align: center;
	font-family: a-otf-ud-reimin-pr6n, sans-serif;
	font-size: 2.4vw;
	line-height: 1.5;
}
#Product .differentiation h3 span {
	font-size: 1.8vw;
}
#Product .differentiation .differentiation_img {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 70px auto 0 auto;
}
#Product .differentiation .differentiation_img .differentiation_img_box {
	width: 45%;
}
#Product .differentiation .differentiation_img .differentiation_arrow {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
#Product .differentiation .differentiation_img .differentiation_img_box p {
	margin-top: 10px;
	font-size: 18px ;
	line-height: 1.8 ;
	text-align: center ;
}
#Product .linkbtn01 {
	margin: 100px auto 0 auto;
}
.price_box{
	margin-top: 30px;
	font-family: a-otf-ud-reimin-pr6n, sans-serif;
}
.price_box ul{
	
}
.price_box ul li{
	margin-bottom: 20px;
	background: white;
	display: flex;
	/* justify-content: space-between; */
	padding: 10px;
	border: 2px solid #6dddaf;
	align-items: center;
	flex-wrap: wrap;
}
.price_box ul li .mode{
	background: #6dddaf;
	color: white;
	width: 50px;
	display: flex;
	height: 50px;
	align-items: center;
	justify-content: center;
	text-align: center;
	line-height: 1.15;
}
.price_box ul li p{
	margin-left: 30px;
	font-size: 25px;
	/* display: flex; */
	/* align-items: center; */
	/* margin-right: 10px; */
}
.price_box ul li p .small_price{
	font-size: 15px;
	display: inline-block;
	margin-left: 10px;
}
span.small{
		text-align: right;
		width: 100%;
		font-size: 15px;
	}
	span.campaign{
		width: 100%;
		display: block;
		margin-bottom: 10px;
		text-align: center;
		color: #f93886;
		font-size: 30px;
		font-weight: bold;
	}
	span.tyui{
		text-align: right;
		width: 100%;
		font-size: 3vw;
		font-size: 15px;
	}
.contact_box {
	margin: 30px auto 0 auto;
	max-width: 1000px;
	width: 100%;
	margin-bottom: 30px;
}
.contact_box .inner {
	border: 1px solid #333;
	padding: 3% 2%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
}
.contact_box .inner .contact_box_title {
	/* width: 24%; */
	text-align: center;
	margin: 0 1%;
}
.contact_box .inner .contact_box_title h3 {
	/* background: #fff; */
	padding: 10px 0;
	font-family: 'Oswald';
	font-size: 18px;
	color: #000;
	letter-spacing: 0.3em;
	text-indent: 0.3em;
	font-weight: normal;
}
.contact_box .inner .contact_box_title p {
	font-size: 2vw;
	font-family: a-otf-ud-reimin-pr6n, sans-serif;
	display: flex;
	align-items: center;
	justify-content: center;
}
.contact_box .inner .contact_box_tel {
	width: 37%;
	margin: 0 1%;
}
.contact_box .inner .contact_box_tel .tel {
	font-size: 2vw;
	font-family: a-otf-ud-reimin-pr6n, sans-serif;
	margin: 0 auto;
}
.contact_box_mail {
	width: 33%;
	margin: 0 1%;
}
.contact_box_mail a {
	position: relative;
	width: 100%;
	height: 105px;
	padding: 0 20px;
	font-size: 18px;
	display: flex;
	align-items: center;
	transition: color 0.25s, letter-spacing 0.3s;
	z-index: 1;
	box-sizing: border-box;
	color: #000;
	text-decoration: none;
	border: 1px solid #fff;
}
.contact_box_mail a::after {
	content: " ";
	width: 20%;
	height: 1px;
	margin-left: auto;
	background: #000;
}
.contact_box_mail a::before {
	position: absolute;
	content: " ";
	width: 100%;
	height: 100%;
	background: #fff;
	top: 0;
	right: 0;
	transition: width 0.25s;
	z-index: -1;
}
.contact_box_mail a i {
	margin-right: 10px;
}
/*記事*/
.kaso_article #contentBody{
	padding-top: 120px;

}
.kaso_article .c-post-slider__item img{
	display: block;
	margin: 0 auto;
}
.kaso_article .p-news-detail__content{
	max-width: 1000px;
	margin: 0 auto;
	width: 100%;
}
.kaso_article .c-button{
	background: linear-gradient(-45deg, #d7fff0, #38d49b);
	text-align: center;
	width: 50%;
	margin: 0 auto;
	display: block;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	font-weight: bold;
}







