@charset "utf-8";

.sp {
	display: none !important;
}

.pc {
	display: block !important;
}
@media screen and (max-width: 767px) {
	.sp {
		display: block !important;
	}
	.pc {
		display: none !important;
	}
}

.p-faq .section_title {
	margin-bottom: 0 !important;
}

.p-faq p {
	color: #000;
    font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.25px;
}
@media screen and (max-width: 767px) {
	.p-faq p {
		font-size: 14px;
	}
}
.p-faq a {
	transition: all 0.4s;
}
.p-faq a:hover {
	opacity: 0.7;
}

p.page_cap {
	text-align: center;
	color: #000;
	font-size: 16px;
}
@media (max-width: 767px) {
	p.page_cap {
		text-align: left;
		font-size: 14px;
	}
}

/* faq
-------------------------------------------------- */
.faq_inner:after {
	display: block;
	content: "";
	clear: both;
}

.faq_wrap {
	position: relative;
	padding: 30px 0 0 0;
}
@media (max-width: 767px) {
	.faq_wrap {
		padding-top: 1rem;
	}
}

.faq_head_description {
	text-align: center;
}
.faq_head_description p {
	color: #000;
	font-weight: 300;
	line-height: 26px;
	letter-spacing: 1px;
}
@media (max-width: 767px) {
	.faq_head_description {
		width: 100%;
		padding: 0 6vw;
	}
	.faq_head_description p {
		letter-spacing: 0.5px;
	}
}

.faq_nav_menu {
	background: #fff;
	max-width: 730px;
	margin: 50px auto 0;
}
.faq_nav_menu ul {
	width: 100%;
	margin: auto 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center;
	-webkit-box-align: center;
	justify-content: center;
	-ms-flex-pack: center;
}
.faq_nav_menu ul li {
	position: relative;
	height: 70px;
	width: 25%;
}
.faq_nav_menu ul li:first-child::before {
	content: "";
	position: absolute;
	top: 12px;
	left: 0;
	width: 1px;
	height: 70px;
	background: #B4B4B4;
}
.faq_nav_menu ul li::after {
	content: "";
	position: absolute;
	top: 12px;
	right: 0;
	width: 1px;
	height: 70px;
	background: #B4B4B4;
}
.faq_nav_menu ul li a {
	transition:all 0.3s;
	font-size: 13px;
	color: #004ea2;
	text-decoration: none;
	display: flex;
	justify-content: center;
}
.faq_nav_menu ul li a:hover {
	opacity: 0.5;
}
.faq_nav_menu ul li a span {
	display: inline-block;
	text-align: center;
	margin-top: 10px;
}
.faq_nav_menu ul li a span::before {
	content: '';
	display: block;
	height: 55px;
}
.faq_nav_menu ul li a.whitening span::before {
	background: url(images/faqnav_icon01.svg) no-repeat center;
	background-size: 29px 37px;
}
.faq_nav_menu ul li a.cleaning span::before {
	background: url(images/faqnav_icon02.svg) no-repeat center;
	background-size: 31px 38px;
}
.faq_nav_menu ul li a.util span::before {
	background: url(images/faqnav_icon03.svg) no-repeat center;
	background-size: 29px 29px;
}
.faq_nav_menu ul li a.search span::before {
	background: url(images/faqnav_icon04.svg) no-repeat center;
	background-size: 31px 30px;
}
@media only screen and (max-width: 767px) {
	.faq_nav_menu {
		width: 100%;
		margin-top: 30px;
		padding: 0 6vw;
	}
	.faq_nav_menu ul {
		margin: 0;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		text-align: center;
	}
	.faq_nav_menu ul li {
		width: calc( 100% / 2 );
		box-sizing: border-box;
	}
	.faq_nav_menu ul li:nth-child(3),
	.faq_nav_menu ul li:nth-child(4) {
		margin-top: 15px;
	}
	.faq_nav_menu ul li:first-child::before,
	.faq_nav_menu ul li::after {
		display: none;
	}
	.faq_nav_menu ul li:nth-child(1)::after,
	.faq_nav_menu ul li:nth-child(3)::after {
		display: block;
		top: 12px;
		height: 68px;
	}
	.faq_nav_menu ul li a {
		width: 100%;
		padding-top: 5px;
		font-size: 12px;
	}
	.faq_nav_menu ul li a span {
		min-width: auto;
		text-align: center;
		margin: 10px auto;
	}
	.faq_nav_menu ul li a span::before {
		content: '';
		display: block;
		height: 45px;
	}
}

.faq_head_cta {
	display: flex;
	justify-content: space-between;
	margin: 70px auto 60px;
	width: 100%;
	max-width: 766px;
}
.faq_head_cta .tel_sp_only {
	pointer-events: none;
}
.faq_head_cta img {
	width: 100%;
	height: 72px;
}
@media screen and (max-width: 767px) {
	.faq_head_cta {
		display: block;
		padding: 0 4vw;
		margin: 40px auto 40px;
	}
	.faq_head_cta .tel_sp_only {
		pointer-events: inherit;
	}
	.faq_head_cta img {
		width: 100%;
		height: auto;
	}
	.faq_head_cta a:first-of-type {
		display: block;
		margin-bottom: 15px;
	}
}

.faq_inner {
	margin-bottom: 100px;
}
.faq_inner .faq_content {
	width: 100%;
	max-width: 730px;
	margin: 0 auto;
	padding-top: 20px;
}
.faq_content p {
	margin: 1.5em 0;
}
@media screen and (max-width: 767px) {
	.faq_content {
		padding: 0 6vw;
		word-wrap: break-word;
	}
}

/* faq top5 */
.faq_top5 {
	width: 100%;
	max-width: 730px;
	margin: 0 auto;
	padding-top: 10px;
}
.faq_top5 h2 {
	color: #004EA2;
	font-size: 42px;
	font-weight: 500;
	letter-spacing: 1.6px;
    text-align: center;
    margin: 0 auto 10px;
}
.faq_top5 .faq_top5_title_jp {
	color: #666666;
	font-size: 16px;
    text-align: center;
}
.faq_top5 .faq_content {
	padding-top: 40px;
}
@media screen and (max-width: 767px) {
	.faq_top5 h2 {
		font-size: 20px;
		margin-bottom: 5px;
	}
	.faq_top5 .faq_top5_title_jp {
		color: #666666;
		font-size: 12px;
		text-align: center;
	}
	.faq_top5 .faq_content {
		padding-top: 20px;
	}
}

/* faq_content_wrap */
.faq_content_wrap {
	padding: 120px 0 0;
}
.faq_content_wrap h2 {
	background-color: #004EA2;
	color: #fff;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 1.8px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	padding: 17px 0;
	max-width: 730px;
}
.faq_content_wrap h2::before {
	margin-right: 10px;
}
.faq_content_wrap.faq_whitening h2::before {
	content: "";
	display: block;
	width: 43px;
	height: 56px;
	background: url(images/faq_content_icon01.svg) no-repeat center;
	background-size: 43px 56px;
}
.faq_content_wrap.faq_cleaning h2::before {
	content: "";
	display: block;
	width: 48px;
	height: 56px;
	background: url(images/faq_content_icon02.svg) no-repeat center;
	background-size: 48px 56px;
}
.faq_content_wrap.faq_util h2::before {
	content: "";
	display: block;
	width: 43px;
	height: 43px;
	background: url(images/faq_content_icon03.svg) no-repeat center;
	background-size: 43px 43px;
}
.faq_content_wrap.faq_search h2::before {
	content: "";
	display: block;
	width: 43px;
	height: 43px;
	background: url(images/faq_content_icon04.svg) no-repeat center;
	background-size: 43px 43px;
}
.faq_content_wrap h3 {
	color: #004EA2;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	margin-top: 30px;
}
@media screen and (max-width: 767px) {
	.faq_content_wrap {
		padding-top: 60px;
	}
	.faq_content_wrap h2 {
		font-size: 19px;
	}
	.faq_content_wrap.faq_whitening h2::before {
		width: 39px;
		height: 51px;
		background-size: 39px 51px;
	}
	.faq_content_wrap.faq_cleaning h2::before {
		width: 45px;
		height: 53px;
		background-size: 45px 53px;
	}
	.faq_content_wrap.faq_util h2::before {
		width: 33px;
		height: 33px;
		background-size: 33px 33px;
	}
	.faq_content_wrap.faq_search h2::before {
		width: 37px;
		height: 37px;
		background-size: 37px 37px;
	}
}


.faq_q_box {
	font-size: 16px;
	line-height: 1.6;
	margin-top: 10px;
}
.faq_q_box:first-child {
	margin-top: 0;
}
.faq_q_box dt {
	padding: 0.75rem 2rem 0.75rem 3rem;
	background-color: #fff;
	border: 1px solid #004ea2;
	position: relative;
}
.faq_q_box dt:hover {
	cursor: pointer;
}
.faq_q_box dt::before {
	content: "Q";
	font-family: Futura, 'Lato', sans-serif;
	color: #004EA2;
	font-size: 23px;
	position: absolute;
	top: 6px;
	left: 1rem;
}
.faq_q_box dt::after {
	content: "+";
	font-size: 30px;
	color: #004ea2;
	font-weight: 200;
	position: absolute;
	top: 50%;
	right: 10px;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
.faq_q_box dt.on::after{
	content: "";
	top: calc( 50% + 1px );
	width: 15px;
	height: 2px;
	background: #004ea2;
	display: block;
}
.faq_q_box dd {
	display: none;
	padding: 1rem 1rem 2rem;
	color: #666666;
}
.faq_q_box a {
	color: #004ea2;
}
.faq_q_box a.related {
	display: block;
	margin-top: 5px;
}
@media screen and (max-width: 767px){
	.faq_q_box {
		font-size: 14px;
	}
}



.faq_search {
	font-size: 16px;
	line-height: 1.6;
	margin-top: 10px;
}
.faq_search .searchbox li {
	padding: 0.75rem 2rem 0.75rem 3rem;
	border: 0;
	position: relative;
}
.faq_search .searchbox li::before {
	content: "＞";
	font-family: Futura, 'Lato', sans-serif;
	color: #004EA2;
	font-size: 20p;
	position: absolute;
	top: 10px;
	left: 1rem;
}
.faq_search .searchbox li a {
	color: #000;
}

.noticebox p {
    font-size: 12px;
}
.noticebox p + p {
	margin-top: 20px;
}


.faq_counseling .coun_title {
	text-align: left;
	margin-top: 10px;
}
.faq_counseling p.desc {
	margin: 0.5em 0 1em;
}
.price_counseling {
	width: 100%;
	max-width: 730px;
	margin: 15px auto 0;
}
.price_counseling dl {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	background-color: #FFF5F7;
}
.price_counseling dl dt {
	width: 268px;
	height: 100%;
}
.price_counseling dl dt img {
	width: 100%;
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	margin: 0 auto;
	object-fit: cover;
}
.price_counseling dl dd {
	width: 462px;
	padding: 20px 20px 20px 30px;
}
.price_counseling dl dd h3 {
	color: #004ea2;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8;
	margin-top: 0;
	text-align: left;
}
.price_counseling dl dd h3 span {
	color: #EC6D81;
}
.price_counseling dl dd p {
	color: #000;
	font-size: 10px;
	line-height: 1.7;
	margin: 1em 0;
}
.price_counseling dl dd .newbtn_pink {
	font-size: 14px;
	height: 45px;
	max-width: 290px;
	margin-top: 10px;
}
.price_counseling dl dd .newbtn_pink::after {
	background-size: 10px auto;
}
@media (max-width: 767px) {
	.price_counseling {
		margin-top: 10px;
		padding: 25px 7.33vw;
		background-color: #FFF5F7;
	}
	.price_counseling dl dt {
		width: 100%;
	}
	.price_counseling dl dd {
		width: 100%;
		padding: 10px 0 0;
	}
	.price_counseling dl dd .newbtn_container {
		display: flex;
		justify-content: center;
	}
}
/* 1013後藤 */
.adjust-a{
    margin: 32px auto 0 auto;
}
/* /1013後藤 */
body{
	position: relative;
	max-width: 100%;
	overflow-x: hidden;
}
.layout2 *{
	color:#000000;
}
.contents-table {
  border: 2px solid #004EA2 !important;
  border-radius: 0 !important;
	padding:25px 60px 40px !important;
}
.contents-table_ttl img{
	width: 4em;
}
.contents-table li{
	padding:0.3em 0 !important;
}
.contents-table li::before{
	color:#004EA2 !important;
}
.contents-table li a{
	color:#000 !important;
}
.content_ttl{
	  font-size: 27px !important;
  font-weight: 700;
  letter-spacing: 2px;
  color: #004EA2 !important;
	text-align: center !important;
}
.bg1{
	background: #D9E5F1;
	padding:40px 100%;
	margin:0 -100%;
	
}
.sentence{
	padding:40px;
	background: #fff;
	margin-bottom:30px !important;
}
.flex{
	display: -webkit-flex;
  display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;
	
}
.sentence .flex .flexR{
	width: 55%;
	order: 2;
}
.sentence .flex .sentence_fig{
	width: 40%;
	order: 1;
}

.sentence_ttl{
	width: 100%;
	border-bottom:solid 2px #004EA2 !important;
	text-align: center !important;
	color:#004EA2 !important;
	font-weight: 700;
}
.sentence_yellowline{
	color:#EC6D81 !important;
	background: none !important;
}
.tbl1{
	display: -webkit-flex;
  display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;
	width: 100%;
	order: 3;
}
.tbl1 li{
	border: solid 1px #B4B4B4;
	width: 49%;
	margin-bottom:2%;
}
.tbl1 li h4{
	background: #E8E8E8;
	border-bottom: solid 1px #B4B4B4;
	font-weight: 700;
	text-align: center;
	padding:10px;
}
.tbl1 li .txt{
	padding:10px;
}

.tbl1 li img{
	max-width: 100%;
}
.tbl1 li p{
	padding-top:10px;
	line-height: 1.8em;
}
.sentence_heading{
	color:#004EA2 !important;
	font-weight: 700 !important;
}
.sentence_desc_container_item{
	border: solid 2px #004ea2;
	background: #fff !important;
	border-radius: 0 !important;
	color:#004ea2 !important;
}
.sentence_desc_container_item_ttl{
	border-right: solid 1px #004ea2 !important;
}
.sentence_desc_container_item span.sentence_yellowline{
	color:#ec6d81 !important;
}
.whbox{
	border: solid 1px #004EA2;
	padding:0 15px 15px;
	margin-bottom:15px;
}
.whbox h4{
	color:#004EA2;
}
.whbox h4::before{
	content: "■";
}
.guide_flex{
	width: 60% !important;
}
.guide_table{
	width: 40% !important;
}
.menuwrap{
	background: #fff;
	padding:40px !important;
	margin-bottom:20px !important;
}
.menu_ttl{
	border-bottom:solid 2px #004EA2 !important;
	text-align: center !important;
	color:#004EA2 !important;
	font-weight: 700;
}
.menu_list li{
	width: 100% !important;
	border: solid 1px #004EA2;
	border-top:solid 8px #004EA2;
	background: none !important;
	border-radius: 0 !important;
	padding:25px !important;
	margin-bottom:25px !important;
	position: relative;
}
.menu_list li h3{
	color:#004EA2 !important;
	font-weight: 700;
	font-size: 20px !important;
}
.menu_list li .menutag{
	position: absolute;
	left:12em;
	top:4.7em;
}
.menu_list li .menutag span{
	display: inline-block;
	background: #004EA2;
	color:#fff;
	padding:0.3em 0.6em;
	margin-right: 5px;
	font-weight: 700;
}
.menu_list li .price{
	padding:0.6em 0;
	font-size: 1.6em;
	font-weight: 700;
	color:#004EA2 !important;
}
.menu_list li .price span{
	font-size: 0.7em;
}
.menu_list li .menubox{
	width: 48%;
	background: #E7F5FB;
	padding:1em;
	font-size: 14px;
	line-height: 1.8em;
	margin:1.5em 0 0;
}
.menu_list li .menu_list_link {
  line-height: 1.4;
  font-size: 14px;
  color: #fff !important;
  text-align: center;
  padding: 10px 0;
  text-decoration: none;
  position: absolute!important;
  bottom:30px !important;
  left: auto;
  right: 30px;
  margin: 0 auto;
	display: block;
  width: 45% !important;
  background-image: url(images/btnarrow.png) !important;
  background-repeat: no-repeat;
  background-position: 95% center !important;
  background-color: #EC6D81 !important;
  transition: all 200ms 0ms linear;
	background-size: 1em auto;
	border-bottom:solid 6px #A52945;
}
.main_contents_bottom p{
	font-size: 14px;
	line-height: 1.8em;
}
.Layout2{
	padding:0 !important;
}
.guidefooter{
	background: #DCF1F9;
	margin:0 !important;
	padding:60px 0;
}
.guidenav{
	max-width: 900px;
	margin:0 auto 40px;
}
.guidenav .guidenav_ttl{
	background: #004EA2;
	color:#fff;
	font-weight: 700;
	font-size: 1.2em;
	padding:0.8em !important;
	margin-bottom:1em;
	text-align: center !important;
}
.guidenav .guidenav_list_innerlist li{margin-bottom:10px;}
.guidenav .guidenav_list_innerlist li a{
	display: block;
	background: #fff url(images/btnarrow2.png) no-repeat 90% center;
	color:#004EA2;
	text-decoration: none;
	border: solid 1px #004EA2;
	padding:1.3em;
	font-weight: 700;
	text-align: center;
}
.Layout2{
	max-width: 900px !important;
}

@media only screen and (max-width: 768px){
	.contents-table {
  border: 1px solid #004EA2 !important;
  border-radius: 0 !important;
	padding:1.5em 3em !important;
		width: 100% !important;
}
.contents-table_ttl img{
	width: 4em;
}
.contents-table li{
	padding:0.3em 0 !important;
}

.content_ttl{
	  font-size: 20px !important;
  font-weight: 700;
	padding-top:1em;
}
.bg1{
	background: #D9E5F1;
	padding:5vw 4vw;
	margin:0 -4vw;
	
}
.sentence{
	padding:4vw;
	background: #fff;
	margin-bottom:4vw !important;
}

.sentence .flex .flexR{
	width: 100%;
	order: 1;
}
.sentence .flex .sentence_fig{
	width: 100%;
	order: 2;
}

.tbl1{
	display: -webkit-flex;
  display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;
	width: 100%;
	order: 1;
}
.tbl1 li{
	width: 100%;
	margin-bottom:1em;
}
.tbl1 li h4{
	font-weight: 700;
	text-align: center;
	padding:10px;
}
.tbl1 li .txt{
	padding:10px;
}


.sentence_heading{
	text-align: center !important;
}

.whbox{
	border: solid 1px #004EA2;
	padding:0 15px 15px;
	margin-bottom:15px;
}
	
.guide_flex{
	width: 100% !important;
	justify-content: space-between;
	margin-bottom:1.5em;
}
	.guide_flex .guide_flex_item{
		width: 48% !important;
		margin:0 !important;
	}	
.guide_table{
	width: 100% !important;
}
	.sentence_desc_container_item{
		padding:0 15px !important;
	}
.menuwrap{
	padding:5vw 4vw !important;
	margin-bottom:4vw !important;
}
.menu_ttl{
	font-weight: 700;
}
.menu_list li{
	width: 100% !important;
	padding:1em !important;
	margin-bottom:1em !important;
	position: relative;
}
.menu_list li h3{
	color:#004EA2 !important;
	font-weight: 700;
	font-size: 20px !important;
}
.menu_list li .menutag{
	position: relative;
	left:0;
	top:0;
}
.menu_list li .menutag span{
	display: inline-block;
	background: #004EA2;
	color:#fff;
	padding:0.3em 0.6em;
	margin-right: 5px;
	font-weight: 700;
}
.menu_list li .price{
	padding:0.6em 0;
	font-size: 1.6em;
	font-weight: 700;
}
.menu_list li .price span{
	font-size: 0.7em;
}
.menu_list li .menubox{
	width: 100%;
	margin-bottom:1.5em;
}
.menu_list li .menu_list_link {
  line-height: 1.4;
  font-size: 14px;
  color: #fff !important;
  text-align: center;
  padding: 10px 0;
  text-decoration: none;
  position: relative !important;
  bottom:0 !important;
  left: auto;
  right: 0;
  margin: 0 auto;
	display: block;
  width: 100% !important;
  background-image: url(images/btnarrow.png) !important;
  background-repeat: no-repeat;
  background-position: 95% center !important;
  background-color: #EC6D81 !important;
  transition: all 200ms 0ms linear;
	background-size: 1em auto;
	border-bottom:solid 6px #A52945;
}

.Layout2{
	padding:0 !important;
}
.guidefooter{
	padding:7vw 4vw;
}
.guidenav{
	max-width: 900px;
	margin:0 auto 5vw;
}
.guidenav .guidenav_ttl{
	background: #004EA2;
	color:#fff;
	font-weight: 700;
	font-size: 1.2em;
	padding:0.8em !important;
	margin-bottom:1em;
	text-align: center !important;
}
.guidenav .guidenav_list_innerlist li{margin-bottom:10px;}
.guidenav .guidenav_list_innerlist li a{
	display: block;
	background: #fff url(images/btnarrow2.png) no-repeat 90% center;
	color:#004EA2;
	text-decoration: none;
	border: solid 1px #004EA2;
	padding:1.3em;
	font-size: 1.1em;
	font-weight: 700;
	text-align: center;
}
.Layout2{
	max-width: 92% !important;
}
}


#faqDoctor {
	/*
		色
	*/
	/* color */
	--cl-brand01: #004EA2;
	--cl-brand02: #007BC7;
	--cl-brand03: #EC6B81;
	
	--cl-brand01_20: rgb(from var(--cl-brand01) r g b / 0.2);
	--cl-brand01_65: rgb(from var(--cl-brand01) r g b / 0.65);
	
	--cl-gry01: #888888;
	--cl-gry02: #D9D9D9;
	
	--cl-gld01: #B67715;
	--cl-yel01: #A37F00;
	
	--cl-marker01: #FDFF95;
	
	--cl-bg01: #F7FAFF;
	--cl-bg02: #E9F3FF;
	--cl-bg03: #F6F6F1;
	--cl-bgPopup: rgb(from var(--cl-brand01) r g b / 0.5);
	
	--cl-line: #06C755;
	--cl-rakuten: #BF0000;
	--cl-yahoo: #FF0033;
	
	/* linear-gradient */
	--lg-blu01: linear-gradient(45deg, var(--cl-brand01), #009BFA);
	--lg-blu02: linear-gradient(to right, var(--cl-brand01), #379ACC);
	--lg-blu03: linear-gradient(to right, #0251D3, #2CB5FF 30%, #9FFCF9 70%, #D7FFF4);
	--lg-blu04: linear-gradient(45deg, #DCF0FF, #FFFFFF);
	
	--lg-pnk01: linear-gradient(45deg, #FF4767, #FF8C72);
	
	--lg-gld01: linear-gradient(35deg, var(--cl-gld01), #FBDB78 50%, var(--cl-gld01));
	
	
	/*
		フォント
	*/
	/* font-family */
	--ff-basic: 'Noto Sans JP', sans-serif;
	--ff-en: 'futura-pt', 'Noto Sans JP', sans-serif;
	
	/* font-size */
	--fs-basicNum: 14;
	--fs-smallerNum: 12;
	--fs-smallNum: 10;
	--fs-bigNum: 19;
	
	@media (width > 768px) {
		--fs-basicNum: 16;
		--fs-smallerNum: 14;
		--fs-smallNum: 12;
		--fs-bigNum: 28;
	}
	
	--fs-basic: calc(var(--fs-basicNum) * 1px);
	--fs-smaller: calc(var(--fs-smallerNum) * 1px);
	--fs-small: calc(var(--fs-smallNum) * 1px);
	--fs-big: calc(var(--fs-bigNum) * 1px);
	
	/* font-weight */
	--fw-regular: 400;
	--fw-book: 400;
	--fw-medium: 500;
	--fw-bold: 700;
	
	/* letter-spacing */
	--ls-basic: 0.05em;
	
	/* line-height */
	--lh-basic: 2.0;
	--lh-small: 1.3;
	--lh-smaller: 1.8;
	
	
	/*
		幅・余白
	*/
	/* width */
	--w-tblPlainCell: 124px;
	--w-tblCompareCell: 94px;

	@media (width <= 768px) {
		--w-designNum: 414;
	}
	@media (width > 768px) {
		--w-contentsNum: 1000;
		--w-contentsNarrowNum: 800;
		--w-contentsWideNum: 1200;
		
		--w-contents: calc(var(--w-contentsNum) * 1px);
		--w-contentsNarrow: calc(var(--w-contentsNarrowNum) * 1px);
		--w-contentsWide: calc(var(--w-contentsWideNum) * 1px);

		--w-tblPlainCell: 240px;
		--w-tblCompareCell: 240px;
	}
	
	/* padding */
	--pd-h: 5dvw;
	
	--pd-vSec: 100px;
	--pd-vGroup: 40px;
	--pd-vItem: 24px;
	--pd-vSmall: 10px;

	--pd-tblH: 10px;
	--pd-tblV: 16px;
	
	@media (width > 768px) {
		--pd-hNum: 50;
		
		--pd-h: calc(var(--pd-hNum) * 1px);
	
		--pd-vSec: 120px;
		--pd-vGroup: 60px;
		--pd-vItem: 40px;
		--pd-vSmall: 12px;
		
		--pd-tblH: 20px;
	}
	
	
	/*
		装飾
	*/
	/* border-radius */
	--br-basic: 12px;
	--br-small: 6px;
	
	@media (width > 768px) {
		--br-basic: 16px;
		--br-small: 8px;
	}
	
	/* box-shadow */
	--bs-basic: 0 0 20px 0 var(--cl-brand01_20);
	--bs-narrow: 0 0 6px 0 var(--cl-brand01_65);
	
	--bs-basic-filter: 0 0 20px var(--cl-brand01_20);
	--bs-narrow-filter: 0 0 6px var(--cl-brand01_65);
	
	/* text-shadow */
	--ts-basic: 0 0 6px var(--cl-brand01_65);
	
	/* transition */
	--tr-basic: all 300ms ease;
	
	--tr-opacity: 0.7;
}

#faqDoctor {
	&,
	* {
		color: inherit;
		font: inherit;
		letter-spacing: var(--ls-basic);
		text-decoration: none;
	}

	color: var(--cl-brand01);
	font-family: var(--ff-basic);
	font-size: var(--fs-basic);
	font-weight: var(--fw-regular);
	line-height: var(--lh-basic);

	/* 画像 */
	img,
	svg {
		display: block;
		width: 100%;
		max-width: 100%;
		height: auto;
	}

	/* ボタン・リンク */
	@media (width > 768px) {
		a,
		button {
			display: block;
			width: 100%;
			cursor: pointer;
			transition: var(--tr-basic);
			transition-property: opacity;

			&:hover {
				opacity: var(--tr-opacity);
			}
		}
	}



	/* --------------------------------------------------

		共通クラス

	-------------------------------------------------- */
	/*
		汎用
	*/
	@media (width <= 768px) {
		.pcOnly {
			display: none;
		}
	}

	@media (width > 768px) {
		.spOnly {
			display: none;
		}
	}


	/*
		コンテンツ幅
	*/
	.contentsInner {
		width: 100%;
		padding: 0 var(--pd-h);

		@media (width > 768px) {
			--baseWidthNum: var(--w-contentsNum);
			--w-contentsInnerNum: calc(var(--baseWidthNum) + var(--pd-hNum) * 2);

			max-width: calc(var(--w-contentsInnerNum) * 1px);
			margin: 0 auto;

			&.narrow {
				--baseWidthNum: var(--w-contentsNarrowNum);
			}

			&.wide {
				--baseWidthNum: var(--w-contentsWideNum);
			}
		}
	}


	/*
		タイトル
	*/
	/* セクションタイトル */
	.ttlSection {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 19px;
		margin-bottom: 40px;
		color: var(--cl-brand01);
		font-family: var(--ff-en);
		font-size: min(var(--fs-big), calc(var(--fs-bigNum) * 100dvw / var(--w-designNum)));
		font-weight: var(--fw-medium);
		line-height: var(--lh-smaller);
		text-align: center;
		white-space: nowrap;

		@media (width > 768px) {
			gap: 30px;
			margin-bottom: 90px;
			font-size: var(--fs-big);
		}

		&::before,
		&::after {
			content: '';
			flex: 0 0 auto;
			display: block;
			width: 18px;
			aspect-ratio: 18 / 37;
			background: url(/common/images/img_diamond.webp) no-repeat center / contain;

			@media (width > 768px) {
				width: 32px;
			}
		}

		.text {
			flex: 0 0 auto;
			display: block;
		}

		/* 小さめ行 */
		.smaller {
			display: inline-block;
			font-size: min(var(--fs-basic), calc(var(--fs-basicNum) * 100dvw / var(--w-designNum)));
			line-height: var(--lh-basic);

			@media (width > 768px) {
				font-size: var(--fs-basic);
			}
		}
	}


	/*
		ボタン
	*/
	/* 汎用ボタン */
	.btnBasic {
		--height: 56px;

		@media (width > 768px) {
			--height: 64px;
		}

		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		width: 318px;
		max-width: 100%;
		height: var(--height);
		margin: 0 auto;
		background: var(--lg-blu01) no-repeat center / cover;
		border-radius: calc(var(--height) / 2);
		color: #fff;
		font-family: var(--ff-basic);
		font-size: min(var(--fs-basic), calc(var(--fs-basicNum) * 100dvw / var(--w-designNum)));
		font-weight: var(--fw-bold);
		line-height: var(--lh-basic);
		white-space: nowrap;

		@media (width > 768px) {
			width: 366px;
			font-size: var(--fs-basic);
		}

		&::after {
			content: '';
			display: block;
			position: absolute;
			right: 18px;
			top: 50%;
			width: 9px;
			aspect-ratio: 1;
			border: 1px currentColor;
			border-style: solid solid none none;
			rotate: 45deg;
			translate: 0 -50%;

			@media (width > 768px) {
				right: 20px;
			}
		}

		/* CTAボタン */
		&.cta {
			background-image: var(--lg-pnk01);
		}

		/* 白ボタン */
		&.wht {
			background-image: var(--lg-blu04);
			border: 1px solid currentColor;
			color: var(--cl-brand01);
		}

		/* 濃い色背景ボタン */
		&.darkBg {
			background: rgb(from #fff r g b / 0.2);
			border: 1px solid #fff;
		}

		/* 低優先ボタン */
		&.lowPrio {
			background: #fff;
			border: 1px solid currentColor;
			color: var(--cl-brand01);

			&::before {
				content: none;
				display: block;
				position: absolute;
				left: 30px;
				top: 50%;
				height: 30px;
				background: no-repeat center / contain;
				translate: 0 -50%;

				@media (width > 768px) {
					height: 34px;
				}
			}

			/* 人アイコン */
			&.icoPerson::before {
				content: '';
				aspect-ratio: 1;
				background-image: url(/common/images/ico_person.svg);
			}

			/* ピンアイコン */
			&.icoPin::before {
				content: '';
				aspect-ratio: 24 / 30;
				background-image: url(/common/images/ico_pin.svg);
			}
		}

		/* 外部リンクボタン */
		&.ext {
			--bg: var(--lg-blu01);

			background:
				url(/common/images/ico_window.svg) no-repeat right 18px center / 12px auto,
				var(--bg) no-repeat center / cover;

			@media (width > 768px) {
				background-position:
					right 20px center,
					center;
			}

			&::after {
				content: none;
			}

			/* Amazon */
			&.amazon {
				--bg: linear-gradient(#ff9900);
			}

			/* 楽天 */
			&.rakuten {
				--bg: linear-gradient(var(--cl-rakuten));
			}

			/* Yahoo! */
			&.yahoo {
				--bg: linear-gradient(var(--cl-yahoo));
			}

			/* Qoo10 */
			&.qoo10 {
				--bg: linear-gradient(to right, #FC4231, #B235DC);
			}
		}
	}



	/* --------------------------------------------------

		共通セクション

	-------------------------------------------------- */
	/*
		監修医師
	*/
	.commonDoctorsList {
		.doctor {
			padding: var(--pd-h);
			border-radius: var(--br-basic);
			box-shadow: var(--bs-basic);

			&:nth-child(n+2) {
				margin-top: var(--pd-vItem);
			}
		}

		.photo {
			max-width: 240px;
			aspect-ratio: 1;
			margin: 0 auto var(--pd-vSmall);
			border-radius: var(--br-basic);
			overflow: hidden;

			@media (width > 768px) {
				max-width: 288px;
			}
		}

		.nameArea {
			display: flex;
			justify-content: center;
			gap: 1.0em;
			font-weight: var(--fw-medium);
		}

		.description {
			margin-top: var(--pd-vItem);

			> :nth-child(n+2) {
				margin-top: var(--pd-vItem);
			}
		}

		.additional {
			font-size: var(--fs-smaller);
			line-height: var(--lh-small);
		}
	}
}


/* tea-incrustation */
#tea-incrustation .sentence{
	padding:0 !important;
}
#tea-incrustation .sentence .sentence_ttl{
	text-align: left !important;
	padding:10px 0 !important;
}
#tea-incrustation .menu{
	margin:0 -100%;
	padding:60px 100%;
	background: #D9E5F1;
}

#tea-incrustation .newbtn_pink {
  width: 100%;
  max-width: 286px;
  height: 62px;
  color: #fff;
  font-size: 15px;
  line-height: 1.5;
  text-decoration: none;
  background: #ec6d81;
  border-bottom: 5px solid #AB2945;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition:all 0.4s;
  box-sizing: border-box;
}
#tea-incrustation .newbtn_pink::after {
  content: "";
  width: 14px;
  height: 22px;
  background: url("/img_new/common/btn_arrow_white.svg") no-repeat center;
  background-size: 14px auto;
  position: absolute;
  top: 0;
  right: 5.5%;
  bottom: 0;
  margin: auto;
}
#tea-incrustation .newbtn_pink:hover {
  opacity: 0.7;
}
#tea-incrustation .newbtn_pink {
  padding: 0 4% 0 1%;
}
#tea-incrustation .newbtn_pink::before {
  content: '';
  display: block;
  width: 35px;
  height: 32px;
  background: url("/img_new/common/header_icon_reserve.svg") no-repeat 50%;
  background-size: auto 32px;
  margin-right: 0.5em;
}

#tea-incrustation .shindan{
	border: solid 1px #004EA2;
	margin-bottom:15px;
}
#tea-incrustation .shindan h3{
	background: #004EA2;
	text-align: center;
	color:#fff;
	font-weight: 700;
	font-size: 20px;
	padding:0.8em;
}
#tea-incrustation .shindan .inner{
	background: #fff;
	padding:30px 40px 40px;
	position: relative;
}
#tea-incrustation .shindan h4{
	text-align: center;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.4em;
	padding-bottom:0.5em;
	border-bottom:solid 1px #004EA2;
	margin-bottom:30px;
}
#tea-incrustation .shindan .flex{
	  display: -webkit-flex;
  display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;
 -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
 align-items: center; /* 縦方向中央揃え */	
	width: 75%;
	padding-bottom:20px;
}
#tea-incrustation .shindan .flex .price{
	font-size: 2.5em;
	font-weight: 700;
	color:#004EA2;
	width:25%;
}
#tea-incrustation .shindan .flex .price span{
	font-size: 0.7em;
}
#tea-incrustation .shindan .flex .time{
	background: #E7F5FB;
	width: 70%;
	padding:5px 15px;
	text-align:left;
	font-size: 1em;
	line-height: 1.4em;
}
#tea-incrustation .shindan .flex .time span{
	font-size: 0.8em;
}
#tea-incrustation .shindan .txt1{
	width: 100%;
	line-height: 1.8em;
	padding-bottom:20px;
}
#tea-incrustation .shindan .txt2{
	width: 100%;
	padding:20px 0;
	border-top:solid 1px #004EA2;
	line-height: 1.8em;
}

.main_contents_bottom{
	line-height: 1.7em;
	padding-left: 1em;
	font-size: 0.9em;
}

@media only screen and (max-width: 768px){
	
	.content_ttl{
		border-bottom:solid 1px #004EA2;
		margin:0 -4.5vw 5vw;
		padding:0 4.5vw 10px;
	}
#tea-incrustation .shindan{
	border: solid 1px #004EA2;
	margin-bottom:15px;
}
#tea-incrustation .shindan h3{
	background: #004EA2;
	text-align: center;
	color:#fff;
	font-weight: 700;
	font-size: 20px;
	padding:0.8em;
}
#tea-incrustation .shindan .inner{
	background: #fff;
	padding:1em;
	position: relative;
}
#tea-incrustation .shindan h4{
	text-align: center;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.4em;
	padding-bottom:0.5em;
	border-bottom:solid 1px #004EA2;
	margin-bottom:30px;
}
#tea-incrustation .shindan .flex{
	  display: -webkit-flex;
  display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;
 -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
 align-items: center; /* 縦方向中央揃え */	
	width: 100%;
	padding-bottom:20px;
}
#tea-incrustation .shindan .flex .box{
	width: 70%;
}
#tea-incrustation .shindan .flex .price{
	font-size: 2em;
	font-weight: 700;
	color:#004EA2;
	width:100%;
	padding-bottom:15px;
}
#tea-incrustation .shindan .flex .price span{
	font-size: 0.7em;
}
#tea-incrustation .shindan .flex .time{
	background: #E7F5FB;
	width: 100%;
	padding:5px 15px;
	text-align:left;
	font-size: 1em;
	line-height: 1.4em;
}
#tea-incrustation .shindan .flex .time span{
	font-size: 0.8em;
}
#tea-incrustation .shindan .txt1{
	width: 100%;
	line-height: 1.8em;
}
#tea-incrustation .shindan .flex .pic{
	width: 26%;
}
#tea-incrustation .main_contents_bottom{
	line-height: 1.7em;
	padding-left: 0;
	margin:0;
	font-size: 0.9em;
}	
#tea-incrustation .newbtn_pink {
  width: 100%;
  max-width: 100%;
  height: 62px;
  color: #fff;
  font-size: 15px;
  line-height: 1.5;
  text-decoration: none;
  background: #ec6d81;
  border-bottom: 5px solid #AB2945;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition:all 0.4s;
}	
	#tea-incrustation .shindan .txt2{
		padding-bottom:0 !important;
	}
#tea-incrustation .menu {
  margin: 0 -5vw;
  padding: 8vw 5vw;
  background: #D9E5F1;
}
	
}