@charset "UTF-8";

/* メインイメージ */
.contentpage .m_img_area::before {
	background-image: url("../images/clinic/m_img@2x.jpg");
}



/*タイトル
---------------------------------------------------------*/
.cln_index{
	font-size: 200%;
	letter-spacing: 0.1em;
	line-height: 1em;
	text-align: center;
	margin-bottom: 60px;
}
.cln_index h2{
	font-size: 135%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin-bottom: 0.25em;
}
.fml_index{
	font-size: 135%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	text-align: center;
	margin-bottom: 60px;
}
.fml_index p{
	font-size: 225%;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin-bottom: 0.3em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.cln_index{
	font-size: 3vw;
	margin-bottom: 5%;
}
.fml_index{
	font-size: 2vw;
	margin-bottom: 5%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.cln_index{
	font-size: 140%;
	margin-bottom: 8%;
	letter-spacing: 0.05em;
}
.cln_index h2{
	letter-spacing: 0.05em;
}
.fml_index{
	font-size: 95%;
	margin-bottom: 8%;
	letter-spacing: 0.05em;
}
.fml_index p{
	letter-spacing: 0.05em;
}
}





/*cln_style
---------------------------------------------------------*/
.cln_style dt{
	font-size: 200%;
	line-height: 1.6em;
	letter-spacing: 0.1em;
	color: #DF6749;
	margin-bottom: 0.5em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.cln_style dt{
	font-size: 3.2vw;
	margin-bottom: 0.4em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.cln_style dt{
	font-size: 150%;
	letter-spacing: 0.05em;
	text-align: center;
	margin-bottom: 0.3em;
}
}





/*welcome
---------------------------------------------------------*/
#welcome .welcome_bg{
	background: #FBE9E4;
	padding: 110px 0;
}
#welcome .flex_box{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	position: relative;
}
#welcome .flex_box::before{
	position: absolute;
	content: "";
	background: url("../images/clinic/motif.svg") no-repeat right top;
	background-size: 100% 100%;
	width: 363px;
	height: 363px;
	right: 40px;
	top: -45px;
}
#welcome .flex_box .flx_l{
	max-width: 770px;
	width: 64.2%
}
#welcome .flex_box .flx_r{
	max-width: 350px;
	width: 29.2%;
}
#welcome .cln_style{
	max-width: 900px;
	margin: 0 auto;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width:1275px) {
#welcome .flex_box::before{
	width: 28.5vw;
	height: 28.5vw;
	right:3.14vw;
	top: -3.53vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#welcome .welcome_bg{
	padding: 10% 0;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#welcome .welcome_bg{
	padding: 13% 0;
}
#welcome .flex_box::before{
	position: static;
	background: none;
}
#welcome .flex_box{
	display: block;
	position: static;
}
#welcome .flex_box .flx_l{
	max-width: 770px;
	width: 100%;
	margin: 0 auto;
}
#welcome .sp_img{
	max-width: 350px;
	width: 45%;
	position: relative;
	margin-top: 6vw;
	margin: 6vw 0 0 auto;
}
#welcome .sp_img::before{
	position: absolute;
	content: "";
	background: url("../images/clinic/motif.svg") no-repeat left top;
	background-size: 100% 100%;
	width: 50vw;
	height:50vw;
	right: 105%;
	top: 10vw;
}
}





/*counseling
---------------------------------------------------------*/
#counseling .counseling_bg{
	padding: 110px 0;
}
#counseling .flex_box{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#counseling .flex_box .flx_l{
	max-width: 500px;
	width: 46%;
}
#counseling .flex_box .flx_r{
	max-width: 493px;
	width: 45%;
}
#counseling .flex_box .flx_r .img{
	margin-bottom: 45px;
	max-width: 420px;
	width: 86%;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#counseling .counseling_bg{
	padding: 10% 0;
}
#counseling .flex_box .flx_r .img{
	margin-bottom: 4vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#counseling .counseling_bg{
	padding: 13% 0;
}
#counseling .flex_box{
	display: block;
}
#counseling .flex_box .flx_l{
	max-width: 100%;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 6%;
}
#counseling .flex_box .flx_l div:first-of-type{
	width: 51%;
}
#counseling .flex_box .flx_l div:last-of-type{
	width: 45%;
}
#counseling .flex_box .flx_r{
	max-width: 100%;
	width: 100%;
}
}





/*treatment
---------------------------------------------------------*/
#treatment .treatment_bg{
	background: #FAF4E3;
	padding: 110px 0;
}
#treatment .flex_box{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#treatment .flex_box.room1 .flx_l{
	max-width: 661px;
	width: 61.5%;
}
#treatment .flex_box.room1 .flx_l .img{
	margin-bottom: 45px;
}
#treatment .flex_box.room1 .flx_l dl{
	max-width: 590px;
	width: 89.5%;
}
#treatment .flex_box.room1 .flx_r{
	max-width: 449px;
	width: 40.8182%;
}
#treatment .flex_box.room2 .flx_l{
	max-width: 450px;
	width: 40.91%;
}
#treatment .flex_box.room2 .flx_r .img{
	margin-bottom: 45px;
}
#treatment .flex_box.room2 .flx_r{
	max-width: 590px;
	width: 53.64%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#treatment .treatment_bg{
	padding: 10% 0;
}
#treatment .flex_box.room1 .flx_l .img{
	margin-bottom: 4vw;
}
#treatment .flex_box.room2 .flx_r .img{
	margin-bottom: 4vw;;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#treatment .treatment_bg{
	padding: 13% 0;
}
#treatment .flex_box{
	display: block;
}
#treatment .flex_box.room1 .flx_l{
	max-width: 100%;
	width: 100%;
}
#treatment .flex_box.room1 .flx_l .img{
	width: 100%;
	margin: 0 auto 4vw;
	text-align: center;
	/*display: flex;
	justify-content: space-between;*/
}
/*#treatment .flex_box.room1 .flx_l .img div:first-of-type{
	width: 61.5%;
}
#treatment .flex_box.room1 .flx_l .img div:last-of-type{
	width: 40.8182%;
	margin-top: 10vw;
}*/
#treatment .flex_box.room1 .flx_l dl{
	max-width: 100%;
	width: 100%;
}
#treatment .flex_box.room2 .flx_l{
	width: 70%;
	text-align: center;
	margin: 0 auto 6vw;
}

#treatment .flex_box.room2 .flx_r{
	max-width: 100%;
	width: 100%;
	display: flex;
	flex-direction: column-reverse;
}
#treatment .flex_box.room2 .flx_r .img{
	width: 90%;
	text-align: center;
	margin: 6vw auto 0;
}
}





/*for_family
---------------------------------------------------------*/
#for_family .for_family_bg{
	padding: 90px 0;
	background: url("../images/clinic/for_family_bg@2x.jpg") no-repeat center center;
	background-size: cover;
}
#for_family .max_1500{
	position: relative;
	z-index: 1;
}
#for_family .max_1500::before{
	position: absolute;
	content: "";
	background: url("../images/clinic/for_family_abs_l.svg") no-repeat left top;
	background-size: 100% 100%;
	width: 220px;
	height: 220px;
	left: 90px;
	top:0;
	z-index: 2;
}
#for_family .max_1500::after{
	position: absolute;
	content: "";
	background: url("../images/clinic/for_family_abs_r.svg") no-repeat right top;
	background-size: 100% 100%;
	width: 220px;
	height: 220px;
	right: 60px;
	top:-10px;
	z-index: 2;
}
#for_family  .for_family_con{
	max-width: 780px;
	width: 70%;
	margin-right: 0;
	margin-left: auto;
}
#for_family  .for_family_con div{
	max-width: 780px;
	margin: 0 auto 20px;
	text-align: center;
}
#for_family  .for_family_con .cln_style dt{
	text-align: center;
}
#for_family .use_box{
	max-width: 1100px;
	margin: 0 auto;
	background-color: #fff;
}
#for_family .use_box dt{
	font-size: 135%;
	letter-spacing: 0.1em;
	line-height: 1.6em;
	text-align: center;
	font-weight: bold;
	color: #fff;
	padding: 0.5em 0;
	background-color: #ec9176;
}
#for_family .use_box dd{
	padding: 25px 4%;
}
#for_family .use_box ul{
	max-width: 825px;
	margin: 0 auto 15px;
}
#for_family .use_box li{
	padding-left: 1.3em;
	position: relative;
	line-height: 1.5em;
	margin-top: 0.5em;
}
#for_family .use_box li:first-child{
	margin-top: 0;
}
#for_family .use_box li::before{
	position: absolute;
	content: "";
	background: rgba(236,145,118,0.5) no-repeat left top;
	background-size: 100% 100%;
	width: 0.7em;
	height: 0.7em;
	border-radius: 0.7em;
	left: 0;
	top:0.4em;
}
#for_family .use_box p{
	font-size: 110%;
	letter-spacing: 0.1em;
	line-height: 1.6em;
	font-weight: bold;
	color: #ec9176;
	text-align: center;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1500px) {
#for_family .max_1500::before{
	width: 14.7vw;
	height: 14.7vw;
	left: 6vw;
}
#for_family .max_1500::after{
	width: 14.7vw;
	height: 14.7vw;
	right:4vw;
	top:-0.7vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#for_family .for_family_bg{
	padding: 8% 0;
}
#for_family  .for_family_con div{
	margin: 0 auto 2vw;
}
#for_family .use_box dt{
	font-size: 125%;
}
#for_family .use_box dd{
	padding: 2.5vw 4%;
}
#for_family .use_box ul{
	max-width: 825px;
	margin: 0 auto 1.5vw;
}
#for_family .use_box p{
	font-size: 105%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#for_family .for_family_bg{
	padding: 11% 0;
	background-position: center -12vw;
	background-size: 100% auto;
	position: relative;
	z-index: 1;
}
#for_family .for_family_bg::before{
	position: absolute;
	content: "";
	background: linear-gradient(to bottom,  rgba(250,250,250,0) 0%,rgba(250,250,250,1) 25%,rgba(234,229,230,1) 100%);
	background-repeat: no-repeat;
	background-position: center bottom;
	width: 100%;
	height: 100%;
	left: 0;
	bottom: 0;
	z-index: -1;
}
#for_family .max_1500::before{
	display: none;
}
#for_family .max_1500::after{
	display: none;
}
	#for_family	.fml_index{
		position: relative;
		z-index: 3;
	}
#for_family  .for_family_con{
	max-width: 100%;
	width: 100%;
}
#for_family  .for_family_con div{
	margin: 0 auto 6vw;
}
#for_family .use_box{
	max-width: 100%;
}
#for_family .use_box dt{
	font-size: 125%;
	letter-spacing: 0.05em;
}
#for_family .use_box dd{
	padding: 4vw 4%;
}
#for_family .use_box ul{
	max-width: 100%;
	margin: 0 auto 3vw;
}
#for_family .use_box p{
	font-size: 105%;
	letter-spacing: 0.05em;
	text-align: left;
}
}





/*another
---------------------------------------------------------*/
#another .another_bg{
	padding: 100px 0 0;
}
#another .another_list{
    display: flex;
    justify-content: space-between;
}
#another .another_list li{
	max-width: 380px;
	width: 31%;
}
#another .another_list li div{
	max-width: 380px;
	margin: 0 auto 20px;
	text-align: center;
}
#another .another_list li dt{
	font-size: 170%;
	letter-spacing: 0.1em;
	line-height: 1.6em;
	text-align: center;
	color: #DF6749;
	margin-bottom: 0.4em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#another .another_bg{
	padding: 9% 0 0;
}
#another .another_list li div{
	margin: 0 auto 2vw;
}
#another .another_list li dt{
	font-size: 2.6vw;
	margin-bottom: 0.3em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#another .another_bg{
	padding: 12% 0 0;
}
#another .another_list{
    display: block;
}
#another .another_list li{
	max-width: 100%;
	width:  100%;
	margin-top: 10vw;
}
#another .another_list li:first-child{
	margin-top: 0;
}
#another .another_list li div{
	width: 70%;
	margin: 0 auto 4vw;
}
#another .another_list li dt{
	font-size: 140%;
	margin-bottom: 0.2em;
}
}
