@charset "utf-8";
/* CSS Document */
/*====================================
Reset
====================================*/
html{
	width: 100%;
	font-size: 2.66666vw; /* 画面幅375pxの時1rem=10px */
	font-weight: 600;
}
body{
	min-width: 320px;
	line-height: 1;
	position: relative;
	overflow-x: hidden;
	overflow-wrap: break-word;
	word-wrap: break-word;
	font-family: 'Noto Serif JP',游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	color: #000;
	background: url(../img/photo-facial/footer-bg-sp.jpg) no-repeat center bottom, #ECF6FB;
	background-size: 100% auto;
}

@media print,screen and (min-width: 600px) {
	html{
		font-size: 0.76923vw; /* 画面幅1300pxの時1rem=10px */
	}
}
@media print,screen and (min-width: 1300px) {
	html{
		font-size: 10px;
	}
	body{
		background-image: url(../img/photo-facial/footer-bg-pc.jpg);
		background-size: auto 21rem;
	}
}

img{
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a:not(.js--to_top){
	text-decoration: none;
	color:inherit;
}
::selection {
	background: rgba(121, 198, 251, .3);
}
a, input, textarea{
	-webkit-tap-highlight-color:rgba(0,0,0,0); /* ハイライトカラー無効化 */
	 outline: 0;
}

/*====================================
Common
====================================*/
.cmn_width{
	margin-left: auto;
	margin-right: auto;
	width: 33.5rem;
}
.anchor{
	display: block;
	width: 0;
	height: 0;
	padding-top: 6rem;
	margin-top: -6rem;
}
.cmn_txt{
	font-size: 1.6rem;
	line-height: 1.93;
}
.cmn_txt p:not(:last-child){
	margin-bottom: 1.93em;
}
.cmn_section_box{
	box-sizing: border-box;
	background-color: #fff;
	box-shadow: 0px 0px 6px 0px rgba(153, 153, 153, .3);
	border-top: solid 0.3rem #79C6FB;
	padding: 3rem 2rem 4rem 2rem;
}
.cmn_ttl1{
	text-align: center;
	font-size: 2.2rem;
	line-height: 1.72;
	margin-bottom: 2.7rem;
}
.cmn_lead_txt{
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.68;
	margin-bottom: 3rem;
}

@media only screen and (max-width: 599px) {
	.disp--pc{
		display: none !important;
	}
}

@media print,screen and (min-width: 600px) {
	.disp--sp{
		display: none !important;
	}
	.cmn_width{
		width: 110rem;
	}
	.anchor{
		padding-top: 8rem;
		margin-top: -8rem;
	}
	.cmn_section_box{
		padding: 5rem;
	}
	.cmn_ttl1{
		font-size: 3.6rem;
		margin-bottom: 3.7rem;
	}
	.cmn_lead_txt{
		margin-bottom: 4rem;
	}
}

/*====================================
header
====================================*/
/* hamburger-btn
--------------------------------------*/
.hamburger-btn{
	box-sizing: border-box;
	cursor: pointer;
	position: fixed;
	z-index: 1001;
	width: 4rem;
	height: 4rem;
	top: 1rem;
	right: 2rem;
}
.hamburger-btn-inner{
	display: block;
	position: absolute;
	width: 2rem;
	height: 1.6rem;
	top: 1.2rem;
	right: 1rem;
	transition: transform 0.35s ease;
	z-index: 2;
}
.hamburger-btn span{
	position: absolute;
	top: 0;
	right: 0;
	width: 2rem;
	height: 1px;
	background-color: #000;
	transition: transform 0.35s ease, opacity 0.35s ease, background .3s ease;
}
.hamburger-btn span:nth-child(2){
	top: 0.8rem;
}
.hamburger-btn span:last-child{
	top: 1.6rem;
}

.hamburger-btn.is--open:before,
.hamburger-btn.is--open:after{
	opacity: 0;
}
.hamburger-btn.is--open .hamburger-btn-inner{
	transform: rotate(360deg);
}
.hamburger-btn.is--open span{
	background-color: #fff;
}
.hamburger-btn.is--open span:first-child,
.hamburger-btn.is--open span:last-child{
	top: 50%;
}
.hamburger-btn.is--open span:first-child{
	transform: rotate(-45deg);
}
.hamburger-btn.is--open span:nth-child(2){
	opacity: 0;
}
.hamburger-btn.is--open span:last-child{
	transform: rotate(45deg);
}

/* hamburger menu
--------------------------------------*/
#hamburger-menu{
	z-index:1000;
	position: fixed;
	box-sizing: border-box;
	width: 30rem;
	height: 100vh;
	top: 0;
	right: -30rem;
	background-color: #63AAE8;
	color: #fff;
	transition: transform 0.35s ease;
}
#hamburger-menu.is--open{
	transform: translateX(-30rem);
}
#hamburger-menu .menu-inner{
	box-sizing: border-box;
	overflow-y: scroll;
	position: relative;
	width: 100%;
	height: 100%;
	padding: 6rem 2rem;
}
#hamburger-menu .hamburger-contact-block .btn{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 6rem;
	border-radius: 0.5rem;
	font-size: 1.6rem;
	font-weight: 700;
	background-color: #79C6FB;
}
#hamburger-menu .hamburger-nav-block .nav-item:not(:last-child){
	border-bottom: 1px solid #80BFEB;
}
#hamburger-menu .hamburger-nav-block .nav-item-txt{
	box-sizing: border-box;
	min-height: 7rem;
	display: flex;
	align-items: center;
	padding: 1rem;
	font-size: 1.6rem;
}

/* hamburger-layer */
#hamburger-layer{
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	z-index:999;
	pointer-events: none;
	opacity: 0;
	transition: opacity .3s ease;
}
#hamburger-layer.is--open{
	pointer-events: auto;
	opacity: 1;
}

/* header
--------------------------------------*/
header{
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 6rem;
	background-color: #fff;
	box-shadow: 0px 5px 10px -10px rgba(0,0,0,0.3);
}
.header_inner{
	height: 100%;
	display: flex;
	justify-content: space-between;
}
.header_box_main{
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.header_logo{
	display: flex;
	align-items: center;
}
.header_logo .logo{
	width: 3.3rem;
}
.header_logo .txt{
	font-size: 1.8rem;
	margin-left: 0.5rem;
}

@media only screen and (max-width: 599px) {
}

@media print,screen and (min-width: 600px) {
	header{
		height: 8rem;
	}
	.header_inner{
		width: 130rem;
	}
	.header_box_main{
		box-sizing: border-box;
		flex: 1;
		padding-right: 3rem;
	}
	.gnav{
		display: flex;
		align-items: center;
	}
	.gnav .nav-item:not(:last-child){
		margin-right: 3rem;
	}
	.gnav .nav-item-txt{
		font-size: 1.4rem;
		transition: color .3s ease;
	}
	.gnav .nav-item-txt:hover{
		color: #79c6fb;
	}
	.header_box_contact{
		height: 100%;
	}
	.header_box_contact .btn{
		height: 100%;
		width: 14rem;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1.6rem;
		font-weight: 700;
		background-color: #79C6FB;
		color: #fff;
		transition: opacity .3s ease;
	}
	.header_box_contact .btn:hover{
		opacity: 0.7;
	}
}

/*====================================
footer
====================================*/
footer{
	padding: 4rem 0;
}
.footer_logo{
	display: flex;
	align-items: center;
}
.footer_logo .logo{
	width: 3.3rem;
}
.footer_logo .txt{
	margin-left: 0.5rem;
	font-size: 2.6rem;
}
.footer_box_txt{
	font-size: 1.3rem;
	line-height: 1.69;
	text-align: center;
}
.footer_box_link .txt{
	text-align: center;
}
.footer_box_link .footer_hojin_link{
	font-size: 1.5rem;
	text-decoration: underline;
	font-weight: 400;
}
.footer_box_link .copyright{
	color: #bcbcbc;
	margin-top: 1.5rem;
}

@media only screen and (max-width: 599px) {
	.footer_box_logo{
		margin-bottom: 3rem;
	}
	.footer_logo{
		justify-content: center;
	}
	.footer_box_txt{
		margin-bottom: 3rem;
	}
}

@media print,screen and (min-width: 600px) {
	footer{
		padding-top: 5.5rem;
		padding-bottom: 8.5rem;
	}
	.footer_inner{
		display: flex;
		align-items: center;
	}
	.footer_box_txt{
		flex: 1;
		padding-left: 10.2rem;
		display: flex;
	}
	.footer_box_link{
		text-align: right;
	}
	.footer_box_link .footer_hojin_link:hover{
		text-decoration: none;
	}
}

/* main
--------------------------------------*/
.sec_main{
	padding-top: 6rem;
	overflow: hidden;
	position: relative;
}
.sec_main .container_main{
	position: absolute;
	bottom: 0;
	left: 0;
	min-height: 55rem;
	width: 100%;
}
.sec_main .block_catch{
	position: relative;
	padding-top: 3rem;
}
.sec_main .catch1{
	font-size: 2.6rem;
	line-height: 1.53;
	color: #79c6fb;
	font-weight: 700;
}
.sec_main .catch2{
	margin-top: 0.5rem;
	font-size: 1.8rem;
	line-height: 1.66;
}
.sec_main .box_detail{
	margin-top: 2rem;
	display: flex;
}
.sec_main .box_detail .item{
	box-sizing: border-box;
	border: 1px solid #B89464;
	font-size: 1.8rem;
	color: #b89464;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc((100% - 1.5rem) / 2);
	height: 5rem;
}
.sec_main .box_img{
	margin-top: 2rem;
	display: flex;
	align-items: center;
}

@media only screen and (max-width: 599px) {
	.sec_main .box_detail{
		justify-content: space-between;
	}
	.sec_main .box_img{
		justify-content: space-between;
	}
	.sec_main .box_img .img2{
		width: 8.7rem;
	}
	.sec_main .box_img .img3{
		width: 8.2rem;
	}
}

@media print,screen and (min-width: 600px) {
	.sec_main{
		padding-top: 8rem;
	}
	.sec_main .img1{
		position: relative;
		width: 200rem;
		left: calc((200rem - 100%) / 2 * -1);
	}
	.sec_main .container_main{
		min-height: 60rem;
	}
	.sec_main .block_catch{
		padding-top: 5rem;
		margin-left: 1.1rem;
		width: 56rem;
	}
	.sec_main .catch1{
		font-size: 4.5rem;
		line-height: 1.44;
	}
	.sec_main .catch2{
		margin-top: 1rem;
		font-size: 2rem;
	}
	.sec_main .box_detail{
		margin-top: 3rem;
		justify-content: center;
	}
	.sec_main .box_detail .item{
		width: 20rem;
		height: 6rem;
	}
	.sec_main .box_detail .item:not(:last-child){
		margin-right: 2rem;
	}
	.sec_main .box_img{
		margin-top: 5rem;
		padding-right: 2rem;
		justify-content: center;
	}
	.sec_main .box_img .img2{
		margin-right: 5rem;
	}
	.sec_main .box_img img{
		width: auto;
		height: 18.2rem;
	}
}

/* osusume
--------------------------------------*/
.sec_osusume .osusume_item{
	box-sizing: border-box;
	display: flex;
	align-items: flex-start;
	background-color: #F7F7F7;
	border-radius: 0.5rem;
	padding: 1.5rem;
}
.sec_osusume .osusume_item .icon{
	position: relative;
	border-radius: 100%;
	width: 3rem;
	height: 3rem;
	background-color: #79C6FB;
}
.sec_osusume .osusume_item .icon:before{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
	width: 1.1rem;
	height: 0.8rem;
	border-left: solid 2px #FFF;
	border-bottom: solid 2px #FFF;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -75%) rotate(-45deg) skewX(5deg);
}
.sec_osusume .osusume_item .txt{
	flex:1;
	padding-left: 0.7rem;
	font-size: 1.8rem;
	line-height: 1.66;
}

@media only screen and (max-width: 599px) {
	.sec_osusume .osusume_item:not(:last-child){
		margin-bottom: 1rem;
	}
}

@media print,screen and (min-width: 600px) {
	.sec_osusume .osusume_list{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.sec_osusume .osusume_item{
		width: calc((100% - 0.6rem) / 2);
		padding: 2rem 3rem;
	}
	.sec_osusume .osusume_item:nth-child(n+3){
		margin-top: 0.6rem;
	}
	.sec_osusume .osusume_item .txt{
		padding-left: 1rem;
		font-size: 2rem;
	}
}

/* kodawari
--------------------------------------*/
.sec_kodawari .kodawari_item{
	background-color: #F7F7F7;
	overflow: hidden;
	border-radius: 0.5rem;
}
.sec_kodawari .kodawari_item .box_txt{
	padding: 1.7rem 3rem;
}
.sec_kodawari .kodawari_item .ttl{
	color: #79C6FB;
	font-size: 1.8rem;
	line-height: 1.66;
	text-align: center;
}

@media only screen and (max-width: 599px) {
	.sec_kodawari .kodawari_item:not(:last-child){
		margin-bottom: 2rem;
	}
}

@media print,screen and (min-width: 600px) {
	.sec_kodawari .kodawari_list{
		display: flex;
	}
	.sec_kodawari .kodawari_item{
		width: calc((100% - 3.2rem * 2) / 3);
	}
	.sec_kodawari .kodawari_item:not(:nth-child(3n)){
		margin-right: 3.2rem;
	}
	.sec_kodawari .kodawari_item .box_txt{
		padding: 2.7rem 2rem;
	}
	.sec_kodawari .kodawari_item .ttl{
		font-size: 2rem;
		line-height: 1.7;
	}
}

/* about
--------------------------------------*/
.sec_about .ttl1{
	color: #79C6FB;
	font-size: 2rem;
	line-height: 1.4;
	margin-bottom: 1.5rem;
}
.sec_about .ttl2,
.sec_price .ttl2{
	position: relative;
	padding-left: 1.3rem;
	font-size: 1.8rem;
	line-height: 1.3;
	margin-bottom: 1rem;
}
.sec_about .ttl2:before,
.sec_price .ttl2:before{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	width: 0.8rem;
	height: 0.8rem;
	top: 0.9rem;
	left: 0;
	border-radius: 100%;
	background-color: #79C6FB;
}
.sec_about .ttl3{
	border-radius: 0.5rem;
	padding: 1.5rem 2rem;
	color: #FFF;
	font-size: 2rem;
	line-height: 1.7;
	background: linear-gradient(160deg, #79C6FB 0%, #79C6FB 320px, #63AAE8 320px, #63AAE8 100%);
	margin-bottom: 2rem;
}
.sec_about .blc_feature{
	margin-top: 40px;
	background-color: #F7F7F7;
	border-radius: 0.5rem;
	padding: 27px 20px 30px 20px;
}
.sec_about .blc_feature .feature_item{
	background-color: #fff;
	padding: 20px 25px;
	border-radius: 0.5rem;
}
.sec_about .blc_feature .feature_item:not(:last-child){
	margin-bottom: 0.5rem;
}
.sec_about .blc_contents{
	margin-top: 40px;
}
.sec_about .about_block:not(:last-child){
	margin-bottom: 40px;
}

.sec_about .mechanism_wrap .mechanism_wrap_ttl_box{
	margin: 1rem 0;
	font-size: 1.8rem;
	color: #79c6fb;
}
.sec_about .mechanism_wrap .mechanism_wrap_arrow{
	text-align: center;
}
.sec_about .mechanism_wrap .mechanism_wrap_arrow img{
	width: 4.8rem;
}

@media only screen and (max-width: 599px) {
	.sec_about .shimi_img_wrap .shimi_img_wrap_box:not(:last-child){
		margin-bottom: 2rem;
	}
	.sec_about .mechanism_wrap .mechanism_wrap_arrow{
		margin: 2rem 0;
	}
	.sec_about .mechanism_wrap .mechanism_wrap_arrow img{
		transform: rotate(90deg);
	}
}

@media print,screen and (min-width: 600px) {
	.sec_about .ttl1{
		font-size: 2.6rem;
		margin-bottom: 2rem;
	}
	.sec_about .ttl2,
	.sec_price .ttl2{
		padding-left: 1.2rem;
		font-size: 2rem;
		margin-bottom: 1rem;
	}
	.sec_about .ttl3{
		font-size: 2.4rem;
	}
	.sec_about .blc_feature{
		margin-top: 5rem;
		padding: 3rem;
	}
	.sec_about .blc_feature .feature_item{
		padding: 3rem;
	}
	.sec_about .blc_contents{
		margin-top: 5rem;
	}
	.sec_about .about_block:not(:last-child){
		margin-bottom: 4rem;
	}

	.sec_about .shimi_img_wrap{
		display: flex;
	}
	.sec_about .shimi_img_wrap .shimi_img_wrap_box:not(:last-child){
		margin-right: 3rem;
	}
	.sec_about .shimi_img_wrap .shimi_img_wrap_box img{
		width: auto;
		height: 21.1rem;
	}
	.sec_about .shimi_img_wrap .shimi_img_wrap_box img{
		height: 20.1rem;
	}
	.sec_about .mechanism_wrap{
		display: flex;
	}
	.sec_about .mechanism_wrap .mechanism_wrap_block{
		width: calc((100% - 7.1rem * 2) / 3);
	}
	.sec_about .mechanism_wrap .mechanism_wrap_arrow{
		width: 7.1rem;
		padding-top: 10.4rem;
	}
}

/* price
--------------------------------------*/
.sec_price .price_tbl{
	width: 100%;
	border-radius: 7px;
	overflow: hidden;
}
.sec_price .price_tbl th,
.sec_price .price_tbl td{
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.56;
	padding: 1rem;
}
.sec_price .price_tbl th{
	background-color: #79C6FB;
	color: #FFF;
}
.sec_price .price_tbl td{
	background-color: #F7F7F7;
}
.sec_price .price_tbl tr:not(:last-child) th,
.sec_price .price_tbl tr:not(:last-child) td{
	border-bottom: solid 1px #FFF;
}
.sec_price .price_tbl th:not(:last-child),
.sec_price .price_tbl td:not(:last-child){
	border-right: solid 1px #FFF;
}
.sec_price .tbl_btm_txt{
	margin-top: 1rem;
	color: #bcbcbc;
	font-size: 1.3rem;
	line-height: 1.69;
}
.sec_price .tbl2_ttl{
	margin-top: 3rem;
}
.sec_price .container_bonus{
	box-sizing: border-box;
	margin-top: 4rem;
	border: 1px solid #79C6FB;
	border-radius: 0.5rem;
	padding: 2rem;
	color: #79c6fb;
}
.sec_price .container_bonus .block_ttl{
	font-size: 1.8rem;
}
.sec_price .container_bonus .block_txt{
	font-size: 1.8rem;
	line-height: 1.66;
}
.sec_price .container_bonus_btm_txt{
	margin-top: 1rem;
	color: #bcbcbc;
	font-size: 1.3rem;
	line-height: 1.69;
}
.sec_price .container_risk{
	margin-top: 4rem;
	border-radius: 0.5rem;
	background-color: #F7F7F7;
	padding: 2rem;
}
.sec_price .container_risk .container_ttl{
	font-size: 2rem;
	color: #79c6fb;
	margin-bottom: 1.5rem;
}
.sec_price .container_risk .tr{
	border-radius: 0.5rem;
	overflow: hidden;
}
.sec_price .container_risk .tr:not(:last-child){
	margin-bottom: 1rem;
}
.sec_price .container_risk .th,
.sec_price .container_risk .td{
	box-sizing: border-box;
	padding: 1.5rem;
}
.sec_price .container_risk .th{
	text-align: center;
	background-color: #BCBCBC;
	color: #fff;
	font-size: 1.8rem;
}
.sec_price .container_risk .td{
	background-color: #fff;
}

@media only screen and (max-width: 599px) {
	.sec_price .container_bonus .block_ttl{
		padding-bottom: 1.5rem;
		border-bottom: 1px solid #79C6FB;
		margin-bottom: 1.5rem;
	}
}

@media print,screen and (min-width: 600px) {
	.sec_price .price_tbl th,
	.sec_price .price_tbl td{
		width: 50%;
		vertical-align: middle;
	}
	.sec_price .tbl2_ttl{
		margin-top: 4rem;
	}
	.sec_price .container_bonus{
		margin-top: 5rem;
		padding: 3rem 0;
		display: flex;
		align-items: center;
	}
	.sec_price .container_bonus .block_ttl{
		text-align: center;
		width: 18.9rem;
	}
	.sec_price .container_bonus .block_txt{
		flex: 1;
		padding-left: 5rem;
		border-left: 1px solid #79C6FB;
		line-height: 1.88;
	}
	.sec_price .container_risk{
		margin-top: 5rem;
		padding: 3rem;
	}
	.sec_price .container_risk .container_ttl{
		font-size: 2.6rem;
		margin-bottom: 2rem;
	}
	.sec_price .container_risk .tr{
		display: flex;
	}
	.sec_price .container_risk .th{
		width: 18rem;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.sec_price .container_risk .td{
		padding: 3rem;
		flex: 1;
	}
}

/* faq
--------------------------------------*/
.sec_faq .faq_item:not(:last-child){
	margin-bottom: 1rem;
}
.sec_faq .faq_item .box_q{
	display: flex;
	align-items: flex-start;
	background-color: #F7F7F7;
	border-radius: 0.5rem;
	position: relative;
	padding: 1.2em 4.2rem 1.5rem 1.5rem;
	cursor: pointer;
}
.sec_faq .faq_item .box_q .icon{
	box-sizing: border-box;
	width: 3rem;
	height: 3rem;
	border-radius: 100%;
	background-color: #79C6FB;
	color: #FFF;
	font-size: 1.8rem;
	text-align: center;
	padding-top: 0.3rem;
}
.sec_faq .faq_item .box_q .txt{
	padding-left: 0.7rem;
	flex: 1;
	font-size: 1.8rem;
	line-height: 1.88;
}
.sec_faq .faq_item .box_q .btn{
	position: absolute;
	width: 2rem;
	height: 2rem;
	top: 1.8rem;
	right: 1.5rem;
}
.sec_faq .faq_item .box_q .btn:before,
.sec_faq .faq_item .box_q .btn:after{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	width: 100%;
	height: 0.2rem;
	background-color: #79C6FB;
	left: 0;
	top: calc((100% - 0.2rem) / 2);
}
.sec_faq .faq_item .box_q .btn:after{
	transform: rotate(90deg);
	transition: opacity .3s ease, transform .3s ease;
}
.sec_faq .faq_item .box_q.is--open .btn:after{
	opacity: 0;
	transform: rotate(0deg);
}
.sec_faq .faq_item .box_a{
	padding: 1rem 1.5rem 1rem 1.5rem;
}
.sec_faq .faq_item .box_a .txt{
	font-size: 1.6rem;
	line-height: 1.68;
}

@media print,screen and (min-width: 600px) {
	.sec_faq .faq_item .box_q{
		padding: 2rem 8rem 2rem 3rem;
	}
	.sec_faq .faq_item .box_q .txt{
		padding-left: 1rem;
		font-size: 2rem;
	}
	.sec_faq .faq_item .box_q .btn{
		width: 3rem;
		height: 3rem;
		top: 2rem;
		right: 3rem;
	}
	.sec_faq .faq_item .box_q .btn:before,
	.sec_faq .faq_item .box_q .btn:after{
		height: 0.3rem;
		top: calc((100% - 0.3rem) / 2);
	}
	.sec_faq .faq_item .box_a{
		padding: 2rem 3rem;
	}
}

/* clinic
--------------------------------------*/
.sec_clinic .clinic_container{
	background-color: #F7F7F7;
	border-radius: 0.5rem;
}
.sec_clinic .box_map .map{
	position: relative;
	width: 100%;
	overflow: hidden;
	padding-top: 100%;
}
.sec_clinic .box_map .map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.sec_clinic .clinic_ttl{
	background-color: #fff;
	border-radius: 10rem;
	padding: 1.6rem 1rem;
	text-align: center;
	font-size: 1.8rem;
}
.sec_clinic .clinic_info_list{
	margin-top: 2rem;
}
.sec_clinic .clinic_info_item:not(:last-child){
	margin-bottom: 1.5rem;
}
.sec_clinic .clinic_info_item .label{
	position: relative;
}
.sec_clinic .clinic_info_item .label:after{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	width: 100%;
	height: 1px;
	background-color: #DDDDDD;
	right: 0;
	top: 1rem;
}
.sec_clinic .clinic_info_item .label span{
	position: relative;
	z-index: 2;
	display: inline-block;
	background-color: #F7F7F7;
	padding-right: 1rem;
	color: #79C6FB;
	font-size: 1.8rem;
}
.sec_clinic .clinic_info_item .txt{
	padding-top: 1rem;
}
.sec_clinic .clinic_time_tbl{
	background-color: #F1F1F1;
	border-radius: 0.5rem;
	padding: 2rem;
}
.sec_clinic .clinic_note{
	margin-top: 1rem;
}
.sec_clinic .clinic_btns .btn{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 7rem;
	border-radius: 0.5rem;
	font-size: 1.8rem;
	line-height: 1.5;
}
.sec_clinic .clinic_btns .btn_tel{
	border: 1px solid #79C6FB;
	color: #79C6FB;
}
.sec_clinic .clinic_btns .btn_link{
	background-color: #79C6FB;
	color: #FFF;
}

@media only screen and (max-width: 599px) {
	.sec_clinic .block_main .box_txt{
		padding: 2rem 2rem 0 2rem;
	}
	.sec_clinic .block_info{
		padding: 2rem;
	}
	.sec_clinic .clinic_time_tbl_item:not(:last-child){
		margin-bottom: 1rem;
	}
	.sec_clinic .clinic_btns{
		margin-top: 2rem;
	}
	.sec_clinic .clinic_btns .btn:not(:last-child){
		margin-bottom: 2rem;
	}
}

@media print,screen and (min-width: 600px) {
	.sec_clinic .clinic_container{
		padding: 3rem;
	}
	.sec_clinic .block_main{
		display: flex;
	}
	.sec_clinic .box_map{
		width: 48.3rem;
	}
	.sec_clinic .box_map .map{
		padding-top: 61%;
	}
	.sec_clinic .block_main .box_txt{
		flex: 1;
		padding-left: 3rem;
	}
	.sec_clinic .clinic_ttl{
		font-size: 2rem;
	}
	.sec_clinic .block_info{
		display: flex;
		margin-top: 3rem;
	}
	.sec_clinic .block_info .box_time{
		flex: 1;
		padding-right: 3rem;
	}
	.sec_clinic .clinic_time_tbl_item{
		display: flex;
	}
	.sec_clinic .clinic_time_tbl_item .label{
		width: 16.4rem;
	}
	.sec_clinic .clinic_time_tbl_item .txt{
		flex: 1;
	}
	.sec_clinic .clinic_btns{
		width: 48.1rem;
		display: flex;
		justify-content: space-between;
	}
	.sec_clinic .clinic_btns .btn{
		height: 11.7rem;
	}
	.sec_clinic .clinic_btns .btn_tel{
		width: 22.6rem;
		pointer-events: none;
	}
	.sec_clinic .clinic_btns .btn_link{
		width: 22.5rem;
		transition: opacity .3s ease;
	}
	.sec_clinic .clinic_btns .btn_link:hover{
		opacity: 0.7;
	}
}

/* 
--------------------------------------*/
.sec_contact .lead_txt span{
	color: #79C6FB;
}


/*====================================
form
====================================*/
.cmn_form .form_tbl{
	width: 100%;
}
.cmn_form .tr:not(:last-child){
	margin-bottom: 1.5rem;
}
.cmn_form .th,
.cmn_form .td{
	box-sizing: border-box;
}
.cmn_form .th{
	padding: 1.4rem 2rem;
	background-color: #E4F4FE;
	border-radius: 0.5rem 0.5rem 0 0;
	display: flex;
	align-items: center;
}
.cmn_form .th .req{
	color: #79C6FB;
	padding-left: 0.1rem;
}
.cmn_form .td{
	line-height: 1.6;
}

/* エラー */
.cmn_form .anchor{
	padding-top: 10rem;
	margin-top: -10rem;
}
.cmn_form .error_message{
	color:#FF0000;
	margin-bottom: 2rem;
}

/* input */
.cmn_form input[type=text],
.cmn_form input[type="tel"],
.cmn_form input[type="email"],
.cmn_form textarea,
.cmn_form .select_wrap{
	border-radius: 0 0 0.5rem 0.5rem;
}
.cmn_form input[type=text],
.cmn_form input[type="tel"],
.cmn_form input[type="email"],
.cmn_form textarea{
	appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
	box-sizing: border-box;
	border: none;
	background-color: #F7F7F7;
	width: 100%;
	padding: 1rem;
}
.cmn_form input[type=text],
.cmn_form input[type="tel"],
.cmn_form input[type="email"],
.cmn_form .select_wrap,
.cmn_form .select_wrap select{
	height: 5rem;
}

/* select */
.cmn_form .select_wrap,
.cmn_form .select_wrap select{
	width: 100%;
}
.cmn_form .select_wrap{
	position: relative;
	background-color: #F7F7F7;
	overflow: hidden;
}
.cmn_form .select_wrap:before,
.cmn_form .select_wrap:after{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
}
.cmn_form .select_wrap:before{
	width: 5rem;
	height: 5rem;
	top: 0;
	right: 0;
	background-color: #79C6FB;
}
.cmn_form .select_wrap:after{
	border-right: solid 0.2rem #fff;
	border-bottom: solid 0.2rem #fff;
	width: 1.3rem;
	height: 1.3rem;
	top: 50%;
	right: 1.7rem;
	transform: translateY(-70%) rotate(45deg);
}
.cmn_form .select_wrap select{
	cursor: pointer;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	padding:0 7rem 0 1rem;
	box-sizing: border-box;
}
.cmn_form .select_wrap select::-ms-expand{
	display: none;
}

/* radio checkbox */
.cmn_form .radio_wrap,
.cmn_form .check_wrap{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.cmn_form .input--radio,
.cmn_form .input--checkbox{
	box-sizing:border-box;
	cursor: pointer;
	margin-right: 2rem;
}
.cmn_form label input[type=radio],
.cmn_form label input[type=checkbox]{
	display: none;
}
.cmn_form label span{
	padding-left: 2.3rem;
	position: relative;
}
.cmn_form label span:before{
	content: "";
	display: block;
	position: absolute;
	box-sizing: border-box;
	top: 50%;
	transform:translateY(-50%);
	left: 0;
	width: 1.5rem;
	height: 1.5rem;
	background-color: #F7F7F7;
	transition: background .2s ease, border .2s ease;
}
.cmn_form label input + span:after{
	content: "";
	display: block;
	position: absolute;
	box-sizing: border-box;
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s ease;
}
.cmn_form .input--radio span:before{
	border-radius: 100%;
	border: solid 1px #E1E1E1;
}
.cmn_form .input--radio input + span:after{
	width: 0.7rem;
	height: 0.7rem;
	top: 50%;
	left: 0.4rem;
	transform:translateY(-50%);
	background-color: #79C6FB;
	border-radius: 100%;
}
.cmn_form .input--checkbox input + span:after{
	left: 0.4rem;
	width: 0.8rem;
	height: 1.3rem;
	top: 50%;
	transform: translateY(-65%) rotate(40deg);
	border-bottom: 0.3rem solid #fff;
	border-right: 0.3rem solid #fff;
}
.cmn_form .input--checkbox input:checked+ span:before{
	background-color: #79C6FB;
}
.cmn_form .input--radio input:checked+ span:after,
.cmn_form .input--checkbox input:checked+ span:after{
	opacity: 1;
}

/* parts */
.cmn_form .unit_wrap{
	display: flex;
	align-items: center;
}
.cmn_form .age_tr .unit{
	padding-left: 10px;
}
.cmn_form .contact_time_tr .note{
	color: #bcbcbc;
	font-size: 1.3rem;
	line-height: 1.69;
	margin-top: 1rem;
}
.cmn_form .period_wrap{
	display: flex;
	align-items: center;
}
.cmn_form .period_wrap .period_unit:not(:last-child){
	margin-right: 1rem;
}
.cmn_form .period_wrap .period_unit:not(:first-child){
	margin-left: 1rem;
}
.cmn_form .period_wrap .select_wrap{
	width: 13rem;
	border-radius: 0.5rem;
}
.cmn_form .period_wrap.time .select_wrap{
	width: 16.9rem;
}
.cmn_form .privacy_tr a{
	text-decoration: underline;
	padding-left: 3rem;
	display: inline-block;
}

/* 送信ボタン */
.cmn_form .submit_box{
	margin-top: 5rem;
}
.cmn_form .btn_wrap{
	position: relative;
	margin: 0 auto;
	width: 21rem;
	height: 5rem;
	background: #79C6FB;
	border-radius: 0.5rem;
	overflow: hidden;
	transition: opacity .3s ease;
}
.cmn_form .form_btn{
	outline: none;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance: none;
	background: none;
	border: none;
	padding: 0;
	display: block;
	position: relative;
	text-align: center;
	cursor: pointer;
	line-height: 1;
	z-index: 3;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	color: #FFF;
	font-size: 1.6rem;
}
.cmn_form input[type="submit"]::-webkit-search-decoration{
	display: none;
}
.cmn_form input[type="submit"]::focus{
  outline-offset: -2px;
}
.cmn_form input[type=submit].form_btn[disabled]{
	opacity: #fff;
	pointer-events: none;
}

/* confirm */
.sec_confirm{
	margin-top: 120px;
}
.cmn_form .confirm_tbl .td{
	padding-left: 25px;
	padding-top: 8px;
}
.cmn_form .confirm_submit_box{
	display: flex;
	justify-content: center;
}
.cmn_form .confirm_submit_box .btn_wrap{
	margin: 0 50px 0 0 ;
}
.cmn_form .confirm_submit_box .btn_wrap form{
	width: 100%;
	height: 100%;
}

/* confirm */
.sec_thankyou{
	margin-top: 120px;
	margin-bottom: 100px;
}
.sec_thankyou .sec_ttl{
	line-height: 1.5;
	margin-bottom: 50px;
}
.sec_thankyou .blc_txt{
	margin-bottom: 50px;
}
.sec_thankyou .blc_txt p{
	margin-bottom: 0;
}
.sec_thankyou .blc_txt .mb{
	margin-bottom: 2em;
}
.sec_thankyou .to_top{
	color: #79C6FB;
	text-decoration: underline;
}
.sec_thankyou .to_top:hover{
	text-decoration: none;
}

@media only screen and (max-width: 599px) {
	.cmn_form .th{
		margin-bottom: 0.3rem;
	}
	.cmn_form .period_wrap:not(:last-child){
		margin-bottom: 2rem;
	}
}

@media print,screen and (min-width: 600px) {
	.cmn_form .tr{
		display: flex;
	}
	.cmn_form .tr:not(:last-child){
		margin-bottom: 1rem;
	}
	.cmn_form .th{
		width: 25rem;
	}
	.cmn_form .td{
		flex: 1;
		padding-left: 0.5rem;
	}
	.cmn_form .age_tr .select_wrap{
		width: 21.8rem;
	}
	.cmn_form .date_wrap{
		display: flex;
		align-items: center;
	}
	.cmn_form .period_wrap:not(:last-child){
		margin-right: 1.5rem;
	}
	.cmn_form .privacy_tr .td{
		display: flex;
		align-items: center;
	}
	.cmn_form .btn_wrap:hover{
		opacity: .7;
	}
}

/* 
--------------------------------------*/
@media only screen and (max-width: 599px) {
}

@media print,screen and (min-width: 600px) {
}