@charset "UTF-8";


/* テーブル */

.reserveTable{
	width : 100%;
	margin: 0;
	padding: 0;
	border-collapse: collapse;  /* 表の線と線の間を空けない */
}

.reserveTable > tbody > tr > th {
	line-height: 1.5em;
	padding: 1.5em 1em;
	border-bottom: 1px solid #ccc;
	width: 20%;
	text-align: left;
	font-weight: normal;
}
.reserveTable > tbody > tr > td {
	line-height: 1.5em;
	padding: 1.5em 0.5em;
	border-bottom: 1px solid #ccc;
	width: 80%;
}


/* 予約状況 */
.availabilityTable{
	width : 100%;
	margin: 0;
	padding: 0;
	border-collapse: collapse;  /* 表の線と線の間を空けない */
}

.availabilityTable > tbody > tr > th {
	line-height: 1.5em;
	padding: 1em;
	text-align: center;
	font-weight: normal;
}
.availabilityTable > tbody > tr > td {
	line-height: 1.5em;
	padding: 1em;
}

input, textarea {
	margin: 0;
	padding: 0.8em;
	border: none;
	border: 1px solid #666666;
	background-color: #EEEEEE;
	font-size: 1em;
	resize: vertical;
	transition: all .3s;
	border-radius: 0.25em;
}

input:focus, textarea:focus {
	outline: none;
	background: #dde2e9;
}

.fontM {
	font-size: 115%;
	font-weight: bold;
}


.fontS {
	font-size: 75%;
}



/* ◆セレクト◆ */

select {
	min-width: 4em;
	height: 3.2em;
	border: 1px solid #666666;
	background-color: #EEEEEE;
	border-radius: 0.25em;
	margin: 0;
	padding: 0.8em;
}
select {
	position: relative;
}
select::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.8em 0.48em 0 0.48em;
	border-color: #000 transparent transparent transparent;
	position: absolute;
	top: 50%;
	-webkit-transform : translateY(-50%);
	transform : translateY(-50%);
	right: 20px;
	pointer-events: none;
}

/* チェックボックス・ラジオボタン */

.reserveForm .check {
	/* 色の変更※枠線の色は変更できない */
	accent-color: #48BB7D;
	/* 大きさ */
	inline-size: 1.25em;
	block-size: 1.25em;
}

.reserveForm input[type="radio"] {
	accent-color: #48BB7D;
	inline-size: 1.25em;
	block-size: 1.25em;
}

.reserveForm label {
	display: inline-flex;          /* 横並びにする */
	align-items: center;           /* 垂直方向の中央揃え */
	gap: 0.4em;                     /* チェックボックスと文字の間隔 */
	cursor: pointer;                /* クリックしやすく */
}

/* ボタン */

input[type="submit"] {
	background-color: #48BB7D;
	color: white;
	padding: 15px 32px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	font-size: 16px;
	margin: 4px 2px;
	cursor: pointer;
	border: none;
	border-radius: 5px;
}
input[type="submit"]:hover {
	background-color: #a3ddbe; /* ホバー時の色 */
}


/* 健診センターあさひ */
table.asahi {
	background-color: #FFFFFF;
	border-width: 1px 0px 0px 1px;
	border-style: solid;
	border-color: #BBBBBB;
}
table.asahi th{
	color: #FFFFFF;
	background-color: #E58638;
	border-width: 0px 1px 1px 0px;
	border-style: solid;
	border-color: #BBBBBB;
	line-height: 1.5em;
	padding: 1em;
}
table.asahi td{
	border-width: 0px 1px 1px 0px;
	border-style: solid;
	border-color: #BBBBBB;
	line-height: 1.5em;
	padding: 1em;
}
table.asahi2 {
	border-width: 1px 0px 0px 1px;
	border-style: solid;
	border-color: #FF9900;
}
table.asahi2 td{
	background-color: #FFF7CC;
	border-width: 0px 1px 1px 0px;
	border-style: solid;
	border-color: #FF9900;
	padding: 10px;
}
table.asahi_jyokyo {
	background-color: #FFFFFF;
	border-width: 1px 0px 0px 1px;
	border-style: solid;
	border-color: #BBBBBB;
}
table.asahi_jyokyo td{
	border-width: 0px 1px 1px 0px;
	border-style: solid;
	border-color: #BBBBBB;
	padding: 0px;
}


/* みえPETがん診断センター */
table.pet {
	border-width: 1px 0px 0px 1px;
	border-style: solid;
	border-color: #BBBBBB;
}
table.pet th{
	color: #FFFFFF;
	background-color: #51635F;
	border-width: 0px 1px 1px 0px;
	border-style: solid;
	border-color: #BBBBBB;
	line-height: 1.5em;
	padding: 1em;
}
table.pet td{
	border-width: 0px 1px 1px 0px;
	border-style: solid;
	border-color: #BBBBBB;
	line-height: 1.5em;
	padding: 1em;
}
table.pet2 {
	border-width: 1px 0px 0px 1px;
	border-style: solid;
	border-color: #4FB25D;
}
table.pet2 td{
	background-color: #F7FFCC;
	border-width: 0px 1px 1px 0px;
	border-style: solid;
	border-color: #4FB25D;
	padding: 10px;
}
table.pet_jyokyo {
	background-color: #FFFFFF;
	border-width: 1px 0px 0px 1px;
	border-style: solid;
	border-color: #BBBBBB;
}
table.pet_jyokyo td{
	border-width: 0px 1px 1px 0px;
	border-style: solid;
	border-color: #BBBBBB;
	padding: 0px;
}

/*========= スマホ対応 ===============*/

@media screen and (max-width:767px){

	input {
		max-width: 540px;
	}

	textarea {
		width: 100%;
		max-width: 540px;
		margin-top: 1em;
	}

	.reserveTable > tbody > tr > th {
		display: block;
		border: none;
		width: 100%;
		padding: 1.5em 1em 0.5em 1em;
	}
	.reserveTable > tbody > tr > td {
		display: block;
		width: 100%;
		padding: 0.5em 1em 1.5em 1em;
	}
	.reserveTable tr:last-child td:last-child  {

	}

	/* 予約状況 */
	.availabilityTable{
		width : calc(100% + 3em);
		font-size: 24px;
		margin-left: -1.5em;
		margin-right: -1.5em;
	}
	.availabilityTable > tbody > tr > th {
		padding: 1em 0.25em;
	}
	.availabilityTable > tbody > tr > td {
		padding: 1em 0.25em;
	}
	
	.legend{
		font-size: 27.6px;
	}
}