@charset "UTF-8";

/*---------------------------------------------------------
common
---------------------------------------------------------*/
.com_deco_txt1 {color: #FFF;}
.contentpage .com_btn1 a::after {color: #FFF;}

.com_index1 .ft_att {
    font-size: 52%;
	margin-bottom: .8em;
}
.com_style2 > dt {
	margin-bottom: .2em;
}
.com_style2 > dd {
	font-size: 93%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.com_title1 {
    font-size: min(187%, 2.8vw);
	margin-bottom: 1.6em;
}
.com_title2 {
    font-size: min(250%, 3.8vw);
}
.com_index1 {
	padding: 1.1em 0 1em;
}
.com_index_radi {
    font-size: min(2vw, 137%);
}
}

/*---------------------------------------------------------
m_img
---------------------------------------------------------*/
.contentpage .m_img {
	width: 113%;
	grid-template-columns: 33.6% 43% 18.2%;
	margin-left: -5%;
}
.contentpage .m_img > div:nth-of-type(1) {
	height: 93.5%;
	background-image: url(../images/facilities/m_img1@2x.jpg);
}
.contentpage .m_img > div:nth-of-type(2) {
	height: 119%;
	background-image: url(../images/facilities/m_img2@2x.jpg);
	translate: 0 11%;
}
.contentpage .m_img > div:nth-of-type(3) {
	height: 82.5%;
	background-image: url(../images/facilities/m_img3@2x.jpg);
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.contentpage .m_img > div:nth-of-type(2) {
	height: 104%;
}
}

/*---------------------------------------------------------
style
---------------------------------------------------------*/
.fcl_style1 > dt {
	font-size: min(250%,3.4vw);
	letter-spacing: .06em;
	line-height: 1.5;
	margin-bottom: .3em;
}
.fcl_style1 > dt .ft_att {
	color: #87cab6;
	font-size: min(1.12rem,1.8vw);
	margin-bottom: .8em;
}
.fcl_style1 > dt p {
	font-size: min(1.06rem);
	font-weight: bold;
	margin-bottom: .6em;
}
.fcl_style1 > dd {
	font-size: 93%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.fcl_style1 > dt {
	font-size: 140%;
}
.fcl_style1 > dt .ft_att {
	font-size: 3.8vw;
}
.fcl_style1 > dt p {
	font-size: 70%;
}
}

/*---------------------------------------------------------
layout
---------------------------------------------------------*/
/*fcl_grid*/
.fcl_grid {
	position: relative;
}
.fcl_grid .box_img {
	position: relative;
	max-width: max-content;
}
.fcl_grid .box_img .abs {
	position: absolute;
	max-width: max-content;
}
.fcl_grid.col2 .box_img {/*col2*/
	margin: 0 auto 7%;
}
.fcl_grid.col3 .box_img {/*col3*/
	margin: 0 auto 1em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
/*fcl_grid*/
.fcl_grid {
	display: grid;
	grid-auto-columns: 1fr;
	justify-content: space-between;
	align-items: flex-start;
}
.fcl_grid.col2 {
	grid-template-columns: repeat(2, min(48%,606px));
}
.fcl_grid.col3 {
	grid-template-columns: repeat(3, min(31.5%,380px));
}
.fcl_grid.col3 > div:nth-of-type(n+4) {
	margin-top: 60px;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*fcl_grid*/
.fcl_grid .box_txt {
	width: 100%;
}
.fcl_grid.col3 > div:nth-of-type(n+4) {
	margin-top: 50px;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* fcl_grid */
.fcl_grid > div:not(:last-of-type) {
	margin-bottom: 10%;
}
.fcl_grid .box_img {
	width: 90%;
	margin: 0 auto 6%;
}
.fcl_grid .box_img .abs_txt {
	width: 28vw;
}
.fcl_grid.col3 > div:not(:last-of-type) {
	padding-bottom: 8%;
	border-bottom: 1px solid #FFF;
}
.fcl_grid.col2 .box_img {/*col2*/
	width: 85%;
	margin-bottom: 6%;
}
.fcl_grid.col3 .box_img {/*col3*/
	width: 75%;
}
}
/*fcl_bgbox
---------------------------------------------------------*/
.fcl_bgbox {
	position: relative;
	background-color: rgba(156,196,48,0.15);
	box-sizing: border-box;
	padding: 70px 4.6% 90px;
}
.fcl_bgbox .bg_title {
	position: relative;
	text-align: center;
	margin-bottom: 3.7em;
}
.fcl_bgbox .bg_title::after {
	position: relative;
	display: block;
	content: "";
	background: url(../images/common/dot.svg) repeat-x left top;
	background-size: auto 100%;
	width: 80%;
	height: 2px;
	margin: 1.4em auto 0;
}
.fcl_bgbox .bg_title .ft_att {
	position: relative;
	color: #FFF;
	font-size: 125%;
	margin-bottom: 1em;
}
.fcl_bgbox .bg_title .ft_min {
	position: relative;
	font-size: min(250%,3.6vw);
	letter-spacing: .06em;
	line-height: 1.4;
	letter-spacing: .12em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.fcl_bgbox {
	padding: 7% 4.6% 9%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.fcl_bgbox {
	padding: 10% 6% 12%;
}
.fcl_bgbox .bg_title {
	margin-bottom: 2em;
}
.fcl_bgbox .bg_title::after {
	margin: 1.4em auto 0;
}
.fcl_bgbox .bg_title .ft_att {
	font-size: 90%;
}
.fcl_bgbox .bg_title .ft_min {
	font-size: 140%;
}
}



/*---------------------------------------------------------
clinic
---------------------------------------------------------*/

/*clinic:waiting_room
---------------------------------------------------------*/
#waiting_room::before {
	position: absolute;
	content: "";
	background: url(../images/facilities/clinic/wr_bg@2x.png) no-repeat right top;
	background-size: contain;
	width: 37vw;
	height: min(30vw,700px);
	right: 0;
	bottom: 0;
	margin-right: calc(50% - 50vw);
	translate: 0 70%;
	z-index: -1;
}
#waiting_room .fcl_style1 {
	margin-top: 4.5%;
}
#waiting_room .img_sub::after {
	position: absolute;
	display: block;
	content: "";
	background: url(../images/facilities/clinic/wr_sub_abs.svg) no-repeat;
	background-size: contain;
	width: min(58%,153px);
	height: min(16%,65px);
	left: 6%;
	top: -4.5%;
}

#clinic .bird {
	position: absolute;
	width: 40%;
	max-width: max-content;
	left: 3%;
	top: 1%;
	z-index: 1;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#waiting_room {
	align-items: center;
	grid-template-columns: 24% 71%;
}
#waiting_room .img_sub {
	order: -1;
	margin-top: 35%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#waiting_room::before {
	width: 60vw;
	height: 50vw;
	translate: 0 40%;
}
#waiting_room .img_sub {
	width: 45%;
	margin-left: 5%;
}
}
/*clinic:waiting_room
---------------------------------------------------------*/
#trt_room .img_sub {
	width: 70%;
	margin-top: 8%;
}
#trt_room .img_sub .abs {
	width: 49.2%;
	left: 94%;
	top: 5%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#trt_room {
	/* align-items: flex-end; */
	grid-template-columns: 60% 34%;
}
#trt_room .box_sub {
	margin-top: 30%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#trt_room .img_sub {
	width: 50%;
	margin-right: 5%;
	margin-top: 6%;
}
#trt_room .img_sub .abs {
	left: auto;
	right: 90%;
	top: 5%;
}
}
/*clinic:ope_room
---------------------------------------------------------*/
#ope_room::before {
	position: absolute;
	content: "";
	background: url(../images/facilities/clinic/ope_bg@2x.png) no-repeat left top;
	background-size: contain;
	width: 50vw;
	height: min(36vw,700px);
	left: 0;
	top: max(-16vw,-250px);
	margin-left: calc(50% - 50vw);
	z-index: -1;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#ope_room {
	align-items: flex-end;
	grid-template-columns: 43% 52%;
}
#ope_room .fcl_style1 {
	order: -1;
	margin-bottom: 7%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#ope_room::before {
	width: 70vw;
	height: 50vw;
	top: auto;
	bottom: 100%;
}
}
/*clinic:family
---------------------------------------------------------*/
#family .fcl_bgbox {
	background-color: #ffe8aa;
}
#family .fcl_bgbox::before,
#family .fcl_bgbox::after {
	position: absolute;
	content: "";
	background: url(../images/facilities/clinic/fam_obj@2x.png) no-repeat;
	background-size: contain;
	width: min(45vw,667px);
	height: min(41vw,500px);
}
#family .fcl_bgbox::before {
	left: 0;
	top: 0;
	translate: -35% -25%;
}
#family .fcl_bgbox::after {
	right: 0;
	bottom: 0;
	translate: 35% 30%;
}
#family .fcl_bgbox .bg_title::before {
	position: absolute;
	content: "";
	background: url(../images/facilities/clinic/fam_bg@2x.png) no-repeat right top;
	background-size: contain;
	width: 45vw;
	height: min(34vw,500px);
	right: 0;
	top: -35%;
	margin-right: calc(50% - 50vw);
}
#family .com_deco_txt2 {
	color: #FFF;
}
#family .fcl_style1 > dt p {
	color: #f5893e;
}
#family .fcl_grid.col2 {
	z-index: 1;
}
#family .com_btn1 {
	text-align: center;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#family .fcl_grid {
	align-items: center;
	grid-template-columns: 57% 39%;
}
#family .fcl_grid.col2 {
	align-items: flex-start;
	grid-template-columns: repeat(2, min(48%,560px));
}
#family .fcl_grid.col2 .box_img {
	margin-bottom: 3%;
}
#family .com_flt .img_r {
	width: 35%;
	margin-left: 6%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#family .fcl_bgbox::before,
#family .fcl_bgbox::after {
	width: 55vw;
	height: 50vw;
}
#family .fcl_bgbox .bg_title::before {
	width: 55vw;
	height: 40vw;
	top: -18vw;
}
}
/*clinic:parking
---------------------------------------------------------*/

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#parking {
	align-items: center;
	grid-template-columns: 50% 44%;
}
}


/*---------------------------------------------------------
equipment
---------------------------------------------------------*/
#equipment .com_index1 {
	background-repeat: no-repeat;
	background-position: right top;
	background-size: contain;
}
#equipment .bdr_b {
	border-color: #FFF;
}
/* fcl_bgbox */
#equipment .fcl_bgbox {
	padding-top: 45px;
	padding-bottom: 45px;
	margin-top: 50px;
}
#equipment .fcl_bgbox .rsn_list img {
	width: 70%;
	max-width: max-content;
	margin-bottom: 1em;
}
#equipment .fcl_bgbox .rsn_list dt {
	text-align: center;
	font-size: min(2vw,156%);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.4;
	margin-bottom: .3em;
}
#equipment .fcl_bgbox .rsn_list dd {
	font-size: 93%;
	letter-spacing: .04em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#equipment .com_flt .img_l,
#equipment .com_flt .img_r {
	width: 50%;
}
/* fcl_bgbox */
#equipment .fcl_bgbox .rsn_list {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(3, 30%);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#equipment .com_index1 {
	background-position: right -15vw top;
}
#equipment .com_flt .img_l,
#equipment .com_flt .img_r {
	width: 90%;
}
/* fcl_bgbox */
#equipment .fcl_bgbox {
	padding-top: 8%;
	padding-bottom: 10%;
	margin-top: 8%;
}
#equipment .fcl_bgbox .rsn_list li {
	margin-top: 6%;
}
#equipment .fcl_bgbox .rsn_list img {
	width: 50%;
}
#equipment .fcl_bgbox .rsn_list dt {
	font-size: 115%;
	letter-spacing: .08em;
}
#equipment .fcl_bgbox .rsn_list dd {
	font-size: 93%;
	letter-spacing: .04em;
}
}
/*equipment:quality
---------------------------------------------------------*/
#quality .com_index1 {
	background-color: #9cc430;
	background-image: url(../images/facilities/equipment/tit_bg_qua@2x.png);
}
#quality .fcl_style1 > dt p,
#quality .com_index_radi span {
	color: #9cc430;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#quality .com_index1 {
	background-image: linear-gradient(to right, rgba(156,196,48,1), rgba(156,196,48,0)),
						url(../images/facilities/equipment/tit_bg_qua@2x.png);
	background-position: right -25vw top;
}
}
/*equipment:hygiene
---------------------------------------------------------*/
#hygiene .com_index1 {
	background-color: #40adc3;
	background-image: url(../images/facilities/equipment/tit_bg_hyg@2x.png);
}
#hygiene .fcl_style1 > dt p,
#hygiene .com_index_radi span {
	color: #40adc3;
}
#hygiene .fcl_bgbox {
	background-color: rgba(64,173,195,0.15);
}
/* step_list */
#hygiene .step_list .com_ccl_txt {
	position: relative;
	color: #FFF;
	background-color: #40adc3;
	font-size: min(2.1vw,150%);
	font-weight: bold;
	letter-spacing: .3em;
    width: 7.9em;
    height: 7.9em;
	margin: 0 auto .6em;
}
#hygiene .step_list .com_ccl_txt::before {
	position: absolute;
	content: "";
	background-color: #87cab6;
	width: .9em;
	height: 1.25em;
	left: 134%;
	top: 50%;
	translate: -50% -50%;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
#hygiene .step_list li:last-of-type .com_ccl_txt::before {
	display: none;
}
#hygiene .step_list .com_ccl_txt .abs {
	position: absolute;
	width: 74%;
	max-width: max-content;
	right: 0;
	bottom: 0;
	translate: 50% 0;
}
#hygiene .step_list p {
	text-align: center;
	font-weight: bold;
	line-height: 1.4;
}
#hygiene .step_list p span {
	color: #40adc3;
}
#hygiene .step_list > li:nth-of-type(2) .com_ccl_txt {
	color: #FFF;
	background-color: #73c8db;
}
#hygiene .step_list > li:nth-of-type(3) .com_ccl_txt {
	color: #40adc3;
	background-color: #FFF;
}
#hygiene .step_list > li:nth-of-type(3) .com_ccl_txt span {
	font-size: 112%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
/* step_list */
#hygiene .step_list {
	max-width: 960px;
	display: grid;
    grid-template-columns: repeat(3,33.3%);
	margin: 0 auto;
}
#hygiene .step_list p {
	max-width: 240px;
	padding: 0 .6em;
	margin: 0 auto;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#hygiene .com_index1 {
	background-image: linear-gradient(to right, rgba(64,173,195,0.5), rgba(64,173,195,0)),
						url(../images/facilities/equipment/tit_bg_hyg@2x.png);
	background-position: right -25vw top;
}
/* step_list */
#hygiene .step_list > li:not(:first-of-type) {
	margin-top: 12%;
}
#hygiene .step_list .com_ccl_txt {
	font-size: 100%;
}
#hygiene .step_list .com_ccl_txt::before {
	left: 50%;
	top: 100%;
	translate: -50% 16vw;
	rotate: 90deg;
}
}
/*equipment:safety
---------------------------------------------------------*/
#safety .com_index1 {
	background-color: #f2978f;
	background-image: url(../images/facilities/equipment/tit_bg_saf@2x.png);
}
#safety .fcl_style1 > dt p,
#safety .com_index_radi span {
	color: #f2978f;
}
#safety .fcl_bgbox {
	background-color: rgba(242,151,143,0.15);
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#safety .com_index1 {
	background-image: linear-gradient(to right, rgba(242,151,143,0.8), rgba(242,151,143,0)),
						url(../images/facilities/equipment/tit_bg_saf@2x.png);
}
}


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

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

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

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


}