@charset "UTF-8";


/* ========================================================
  
  common

======================================================== */
footer {
	border-top: 1px solid #d9d5d3;
	margin-top: min(13vw,120px);
}

/* Component - info - timetable
-----------------------------------------------*/
.c-timetable {
	/* width: 31.8em; */
	max-width: 100%;
	text-align: center;
	font-size: min(1.7vw,1.25rem);
	line-height: 1.2;
	border-collapse: separate;
	border-spacing: 0 .6em;
	margin-inline: auto;
	border-top: 1px solid #bebcbc;
	border-bottom: 1px solid #bebcbc;

	& th {
		width: 33%;
		font-weight: normal;
		letter-spacing: .14em;
	}
	& td {
		width: 8%;
		&:last-child {
			width: 3%;
		}
	}
	& caption {
		caption-side: bottom;
		white-space: wrap;
	}
	
	.icon-maru {
		color: var(--color-cml-300);
	}
	.icon-tri {
		color: #9e9b9b;
	}
}
.c-timetable thead {
	& th,
	& td {
		padding-top: .2em;
		padding-bottom: .8em;
		border-bottom: 1px dotted #bebcbc;
	}
	& th {
		letter-spacing: .2em;
	}
	/* & td:last-child {
		padding-right: 1em;
	} */
}
.c-timetable tbody {
	& th {
		font: var(--font-en);
		font-size: 115%;
		letter-spacing: .06em;

		.time {
			display: inline-block;
			width: 2.5em;
			text-align: right;
		}
		.arrow {
			display: inline-block;
			content: "";
			background-color: currentColor;
			vertical-align: 0.16em;
			width: .22em;
			height: .28em;
			clip-path: polygon(0 0, 100% 50%, 0 100%);
		}
	}
	& td {

		& i {
			font-size: 90%;
			line-height: 1;
			vertical-align: 0.3em;
		}
	}
	& tr:first-child th,
	& tr:first-child td {
		padding-top: .8rem;
	}
	& tr:last-child th,
	& tr:last-child td {
		padding-bottom: .6rem;
	}
}

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

.c-timetable {
	width: 100%;
	font-size: 3.6vw;
}
}

/* Component - info - c-schedule
-----------------------------------------------*/
.c-schedule {
	display: flex;
	flex-wrap: wrap;
	gap: .5em 1em;
	font-size: 105%;
	line-height: 1.4;
	letter-spacing: .12em;
	margin-top: 1em;
}

.c-timetable .c-schedule {
	text-align: left;
	font-size: min(1.45vw,85%);
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.c-schedule {
	row-gap: .3em;
	font-size: 82%;
	letter-spacing: .06em;
	font-feature-settings: "halt";
	margin-top: .6em;
}

.c-timetable .c-schedule {
	font-size: 100%;
}
}


/* ========================================================
  
  main

======================================================== */

/*---------------------------------------------------------
 Clinic
---------------------------------------------------------*/
.clinic {
	margin-bottom: 50px;

	.cln-bg__name {
		font-size: min(3vw,212%);
	}
	& address {
		display: block;
		font-size: 94%;
		line-height: 1.7;
		margin-bottom: .6em;
	}
	.cln-bg__acs {
		position: relative;
		font-size: 94%;
		line-height: 1.6;
		padding-left: 1.8em;

		&::before {
			position: absolute;
			font-family: 'fontello';
			content: '\e804';
			color: var(--color-cml-300);
			font-size: 150%;
			left: -0.1em;
			top: -0.3em;
		}
	}
	.c-btn-wrap {
		flex-wrap: nowrap;
	}
	.c-btn-bg {
		white-space: nowrap;
	}
	.c-timetable {
		margin-top: 1.4em;
	}
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.clinic {
	.c-btn-bg {
		flex: 1;
	}
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.clinic {
	margin-bottom: 6%;

	.cln-bg__name {
		font-size: 125%;
	}
	& address {
		font-size: 88%;
	}
	.cln-bg__acs {
		font-size: 88%;
	}
	.c-btn-bg {
		> a {
			font-size: 80%;
		}
	}
}
}

/* Clinic - cln-bg
-----------------------------------------------*/
.cln-bg {
	position: relative;
	background-color: var(--color-ybei);
	padding: min(8%,110px) 5% 50px;
}
.cln-bg__map {
	> iframe {
		display: block;
	}
	.c-btn-icon {
		text-align: right;
		.c-icon {
			background-color: var(--color-cml-300);
		}
	}
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.cln-bg__inner {
	max-width: 1105px;
	display: grid;
	justify-content: space-between;
	grid-template-columns: 48% 48%;
	margin-inline: auto
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.cln-bg {
	padding: 9% 5% 7%;
}
.cln-bg__map {
	margin-top: 6%;

	> iframe {
		height: 80vw;
	}
}
}

/* Clinic - cln-img
-----------------------------------------------*/
.cln-img {
	display: flex;

	> li {
		flex: 1;
	}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

/* .cln-img {
	flex-wrap: wrap;

	> li {
		flex: auto;
		width: 50%;
	}
} */
}


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

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

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


}



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

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

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


}
