@charset "UTF-8";


.m_img {background-image: url(../images/clinic/m_img@2x.jpg);}



/*---------------------------------------------------------
 lead
---------------------------------------------------------*/
.com_lead_box .com_h__min {color: #78BF5A;}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.com_lead_box .lead_txt {
	text-align: center;
}
}


/*---------------------------------------------------------
 message / doctor
---------------------------------------------------------*/
/* dr_name */
.dr_name {
	font-size: 112%;
}
.dr_name ruby {
	font-size: 136%;
}
.dr_name ruby rt {
	display: inline-block;
	font-size: 57%;
	vertical-align: .2em;
}
/* dr_prof */
.dr_prof > dt {
	color: #839453;
	line-height: 1.5;
	letter-spacing: .1em;
	margin-bottom: 1em;
}
.dr_prof > dt::before {
	display: block;
	content: "";
	background-color: currentColor;
	width: 1.2em;
	height: 1px;
	margin-bottom: .8em;
}
.dr_prof > dd {
	font-size: 88%;
	line-height: 1.5;
}
.dr_prof table th,
.dr_prof table td {
	padding-bottom: .4em;
}
.dr_prof table th {
	vertical-align: top;
	font-weight: normal;
	white-space: nowrap;
	padding-right: 1.2em;
}
.dr_prof ul > li {
	margin-bottom: .4em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.dr_prof_wrap {
	display: flex;
	column-gap: 10%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.dr_prof_wrap > dl:not(:last-of-type) {
	margin-bottom: 8%;
}
}


/*---------------------------------------------------------
 message
---------------------------------------------------------*/
#message .com_pdg {
	padding-top: 0;
}
#message .com_bg_color {
	height: calc(100% - min(17.4vw,260px));
}
#message .img_main {
	position: relative;
	width: 82vw;
	max-width: 1230px;
	margin-left: auto;
	margin-right: calc(50% - 50vw);
}
.msg_title {
	position: relative;
	font-size: 88%;
	margin-bottom: 5%;
}
.msg_title .ft_agenda_t {
	color: #99C286;
	font-size: 933%;
	letter-spacing: normal;
	line-height: 1;
	margin-left: -0.2em;
	margin-top: -0.52em;
}
/* msg_lead */
.msg_copy {
	/* text-align: center; */
	font-size: min(5vw,329%);
	writing-mode: vertical-rl;
	margin-bottom: 0;
}
.msg_copy span {
	color: #839453;
}
/* msg_txt_list */
.msg_txt_list {
	display: flex;
	justify-content: center;
	margin: 1% auto 6%;
}
.msg_txt_list > li {
	width: 30%;
	max-width: 263px;
	filter: drop-shadow(0 0 20px rgba(0,0,0,0.1));
	transform: translateZ(0);
}
.msg_txt_list > li:nth-of-type(2) {
	position: relative;
	margin: 0 -1%;
	z-index: 1;
}
/* msg_col2 */
.msg_col2 > figure figcaption {
	max-width: max-content;
	letter-spacing: .08em;
	line-height: 1.5;
	margin: 2.2em auto 0;
}
.msg_col2 > figure p {
	font-size: 88%;
	margin-bottom: 1em;
}
.msg_col2 .dr_prof_wrap {
	margin-top: 10%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
/* msg_lead */
.msg_lead {
	width: 92%;
	max-width: 1030px;
	display: flex;
	justify-content: center;
	column-gap: 10%;
	margin-inline: auto;
}
.msg_lead p {
	margin-bottom: 2.5em;
}
/* msg_col2 */
.msg_col2 {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.msg_col2 > div {
	width: 57%;
}
.msg_col2 > figure {
	width: 34%;
}
.msg_col2 .dr_prof_wrap {
	width: 80vw;
	max-width: 700px;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#message .img_main {
	width: 90vw;
}
.msg_title {
	font-size: 80%;
}
.msg_title .ft_agenda_t {
	font-size: 600%;
}
/* msg_lead */
.msg_copy {
	font-size: 190%;
	writing-mode: unset;
	margin-bottom: 6%;
}
/* msg_txt_list */
.msg_txt_list {
	width: 112%;
	margin: 6% auto 10% -6%;
}
.msg_txt_list > li {
	width: 33%;
}
.msg_txt_list > li:nth-of-type(2) {
	margin: 0 -3%;
}
/* msg_col2 */
.msg_col2 > figure {
	margin: 0 auto 6%;
}
.msg_col2 > figure > div {
	width: 60%;
	margin: 0 auto 5%;
}
.msg_col2 > figure figcaption {
	text-align: center;
	margin-top: 1.5em;
}
} 


/*---------------------------------------------------------
 doctors
---------------------------------------------------------*/
.dr_list {
	max-width: 1220px;
	margin-inline: auto;
}
.dr_list > li {
	padding: 0 5% 6.5%;
	margin-bottom: 6.5%;
	border-bottom: 1px solid #E5E5E5;
}
.dr_list > li:last-of-type {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}
.dr_list figure > div {
	margin: 0 auto 6%;
}
.dr_list .dr_name {
	max-width: max-content;
	margin-inline: auto;
}
.dr_list .dr_name ruby {
	display: block;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.dr_list > li {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 29% 62%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.dr_list > li {
	padding-bottom: 8%;
	margin-bottom: 10%;
}
.dr_list figure > div {
	width: 60%;
}
.dr_list .dr_prof_wrap {
	margin-top: 8%;
}
}


/*---------------------------------------------------------
 link
---------------------------------------------------------*/
#link > div {
	color: #FFF;
	background: #B59879 url(../images/clinic/link_bg@2x.jpg) no-repeat right top;
	background-size: 74% auto;
}
#link .ft_agenda_t {
	color: #CBB7A1;
	font-size: min(15vw,1235%);
	letter-spacing: normal;
	line-height: 0.9;
	margin-left: 2%;
	margin-bottom: .1em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#link .w1220 {
	width: 90%;
	padding: 0 5%;
}
/* link_lead */
.link_lead {
	position: relative;
	width: 90%;
	max-width: 1160px;
	box-sizing: border-box;
	padding-right: 44%;
	margin-left: auto;
}
.link_lead .box_img {
	position: absolute;
	width: 42%;
	max-width: 470px;
	right: 4.5%;
	bottom: 0;
}
/* link_flex */
.link_flex {
	display: flex;
	justify-content: space-between;
}
.link_flex .box_img {
	width: 50%;
}
.link_flex .box_txt {
	width: 46%;
}

.link_flex.box1 {
	flex-direction: row-reverse;
}
.link_flex.box1 .box_img {
	margin-right: -6%;
}
.link_flex.box1 .box_txt {
	width: 50%;
	box-sizing: border-box;
	padding: 5% 3.5%;
	border-top: 1px solid rgba(255,255,255,0.5);
}
.link_flex.box2 .box_txt {
	align-self: center;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#link > div {
	background-size: 90% auto;
}
/* link_lead */
.link_lead {
	display: flex;
	flex-direction: column-reverse;
}
.link_lead .box_img {
	width: 92%;
	margin: -10% auto -5%;
	/* margin: 0 auto; */
}
/* link_flex */
.link_flex .box_img {
	margin: 0 auto 5%;
}
} 


/*---------------------------------------------------------
 facilities
---------------------------------------------------------*/
.fcl_detail {
	position: relative;
}
.fcl_detail::before {
	position: absolute;
	content: "";
	background: linear-gradient(to bottom, rgba(241,238,233,1), rgba(241,238,233,0));
	width: 100%;
	height: 340px;
	left: 0;
	top: 0;
}
/*facilities: fcl_slider
---------------------------------------------------------*/
.fcl_slider {
	position: relative;
	width: 95%;
	max-width: 1140px;
	margin-inline: auto;
}
.fcl_slider .com_h__min {
	text-align: center;
	margin-top: 1em;
	margin-bottom: 0;
}
.fcl_slider .com_h__min::after {
	display: block;
	content: "";
	background-color: #839453;
	width: 2.6em;
	height: 1px;
	margin: .8em auto 0;
}
/* arrow */
.fcl_slider .com_arrow1 {
	position: absolute;
	color: #000;
	font-size: min(20px,2vw);
	line-height: 4;
	width: 4em;
	top: 45%;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
	cursor: pointer;
}
.fcl_slider .com_arrow1::before {
	background: #FFF;
	transition: background .5s;
}
.fcl_slider .swiper-button-prev {
	left: 0;
	translate: -50% -50%;
	scale: -1 1;
}
.fcl_slider .swiper-button-next {
	right: 0;
	translate: 50% -50%;
}
.fcl_slider .com_arrow1:hover {	color: #FFF; background: #839453;}
.fcl_slider .com_arrow1:hover::before {	background: #839453;}
.fcl_slider .com_arrow1:hover i {
	animation: anm_arrow .5s;
}
/* fcl_thumb */
.fcl_thumb ul {
	width: 90%;
	max-width: 750px;
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(4,24%);
	row-gap: .8em;
	margin: 3.5% auto 6.5%;
}
.fcl_thumb li {
	position: relative;
	cursor: pointer;
	text-align: center;
	font-size: 94%;
	letter-spacing: .06em;
	line-height: 1.4;
	background-color: transparent;
	box-sizing: border-box;
	border: 1px solid #D8D1C2;
	border-radius: 2em;
	padding: 1em 1%;
	transition-property: color, background-color, border;
	transition-duration: .5s;
}
.fcl_thumb li:hover,
.fcl_thumb li.swiper-slide-thumb-active {
	color: #FFF;
	background-color: #839453;
	border-color: #839453;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.fcl_slider {
	width: 100%;
}
/* arrow */
.fcl_slider .com_arrow1 {
	font-size: 2.8vw;
	top: 40%;
}
.fcl_slider .swiper-button-prev {
	translate: -30% -50%;
}
.fcl_slider .swiper-button-next {
	translate: 30% -50%;
}
/* fcl_thumb */
.fcl_thumb ul {
	width: 90%;
	grid-template-columns: repeat(2,49%);
	row-gap: .5em;
	margin: 8% auto 10%;
}
.fcl_thumb li {
	padding: .8em 1%;
}
}

/*facilities: fcl_subbox
---------------------------------------------------------*/
.fcl_subbox {
	width: 95%;
	border-radius: 10px;
	padding: 3.6% 7% 3%;
}
.fcl_subbox .com_h__min {
	color: #839453;
	font-size: min(1.9vw,129%);
	margin-bottom: 0;
}
.fcl_subbox ul p {
	text-align: center;
	font-size: 94%;
	line-height: 1.5;
	margin-top: .8em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.fcl_subbox {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 20% 75%;
	align-items: center;
}
.fcl_subbox ul {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(2,48%);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.fcl_subbox {
	padding: 8% 7% 9%;
}
.fcl_subbox .com_h__min {
	font-size: 110%;
	margin-bottom: 1.5em;
}
.fcl_subbox ul > li:not(:last-of-type) {
	margin-bottom: 8%;
}
.fcl_subbox .box_img {
	width: 80%;
	margin: 0 auto;
}
}

/*facilities: tbl_detail
---------------------------------------------------------*/
.tbl_detail {
	position: relative;
	width: 90%;
	max-width: 900px;
	line-height: 1.6;
	border-collapse: collapse;
	margin-inline: auto;
}
.tbl_detail tr {
	border-bottom: 1px solid #B2B2B2;
}
.tbl_detail th,
.tbl_detail td {
	box-sizing: border-box;
	padding: 1.4em 0;
}
.tbl_detail th {
	width: 38%;
	color: #839453;
	font-family: "tot-shizukamin-stdn", sans-serif;
	font-weight: 400;
	font-style: normal;
	padding-left: 15%;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.tbl_detail th {
	width: 35%;
	padding-left: 10%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.tbl_detail {
	width: 100%;
}
.tbl_detail th,
.tbl_detail td {
	box-sizing: border-box;
	padding: 1.2em 3%;
}
.tbl_detail th {
	width: 30%;
}
.tbl_detail td {
	font-size: 92%;
	padding-left: 0;
}
}


/*---------------------------------------------------------
 equipment
---------------------------------------------------------*/
.equ_inbox {
	padding: 0 4.4% 6%;
	margin-bottom: 6%;
	border-bottom: 1px solid #E5E5E5;
}
.equ_inbox:last-of-type {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}
.equ_flex .com_h__min span,
.equ_sublist .com_h__min span {
	display: block;
	color: #524F66;
	font-size: 48%;
	letter-spacing: .06em;
	margin-bottom: .2em;
}
/* equ_flex */
.equ_flex .com_h__min {
	font-size: min(3.2vw,229%);
	margin-bottom: .4em;
}
/*equ_sublist*/
.equ_sublist {
	margin-top: 5%;
}
.equ_sublist .box_img {
	position: relative;
	max-width: max-content;
	margin: 0 auto 6%;
}
.equ_sublist .com_h__min {
	text-align: center;
	font-size: min(2vw,129%);
	margin-bottom: .4em;
}
.equ_sublist .com_h__min span {
	font-size: 77%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
/*equ_flex*/
.equ_flex {
	display: flex;
	justify-content: space-between;
}
.equ_flex .box_img {
	width: 52%;
}
.equ_flex .box_txt {
	width: 42%;
	align-self: center;
}
/*equ_sublist*/
.equ_sublist {
	width: 95%;
	display: grid;
	grid-auto-columns: 1fr;
	justify-content: space-between;
	margin-inline: auto;
}
.equ_sublist.col3 {
	max-width: 1100px;
	grid-template-columns: repeat(3, 31.6%);
}
.equ_sublist.col3 .box_txt p {
	width: 90%;
	margin-inline: auto;
}
.equ_sublist.col4 {
	max-width: 1120px;
	grid-template-columns: repeat(4, 25%);
}
.equ_sublist.col4 .box_img {
	width: 80%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.equ_inbox {
	padding: 0 3% 10%;
	margin-bottom: 10%;
}
.equ_inbox .com_btn1_list {
	margin-top: 8%;
}
/* equ_flex */
.equ_flex .com_h__min {
	font-size: 150%;
}
.equ_flex .com_h__min span {
	font-size: 70%;
}
.equ_flex .box_img {
	margin: 0 auto 6%;
}
/*equ_sublist*/
.equ_sublist {
	width: 92%;
	margin: 8% auto 0;
}
.equ_sublist > li:not(:last-of-type) {
	margin-bottom: 10%;
}
.equ_sublist .com_h__min {
	font-size: 120%
}
.equ_sublist.col3 .box_img {
	width: 80%;
}
.equ_sublist.col4 > li {
	display: grid;
	justify-content: space-between;
	align-items: center;
	grid-template-columns: 45% 48%;
}
.equ_sublist.col4 > li:not(:last-of-type) {
	margin-bottom: 4%;
}
.equ_sublist.col4 .com_h__min {
	text-align: left;
}
}


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

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

/* 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) {


} 