
/*---------------------------
  main.css
----------------------------*/
img
{
	max-width:100%;
	height:auto;
}
p,div,img,ul,form { margin:0; padding:0; border:0; }
table,td,th { margin:0px; padding:0px; font-size:100%;}
hr {display:none;}

/*---------------------------
  見出し
----------------------------*/
h2 {
	border-radius: 5px;
	box-shadow: 0px 3px 5px #00000029;
	padding: 30px 20px;
	margin: 0px 0px 35px 0px;
	font-size: 2.0em;
	letter-spacing: 3.2px;
	font-weight: normal;
	line-height: 1.1em;
}
h3:not(.sisetuGrpName) {
	letter-spacing: 2.4px;
	display: flex;
	align-items: center;
	border-radius: 5px;
	padding: 10px 5px 10px 7px;
	box-shadow: 0px 3px 5px #B0B0B029;
	font-size: 1.5em;
	font-weight: normal;
	min-height: 50px;
	line-height:1.1em;
}
	h3:not(.sisetuGrpName)::before {
		display: inline-block;
		width: 8px;
		height: 50px;
		margin-right: 20px;
		background-color: var(--accent_color);
		content: '';
	}
h3.sisetuGrpName {
	letter-spacing: 2.8px;
	font-size: 1.6em;
	padding: 25px;
	border-bottom: solid 3px var(--main_color);
	margin:10px 0px 40px 0px;
}
h4 {
	font-size: 1.4rem; /* 20px */
	line-height: 1.4;
	letter-spacing: 2.4px;
	padding: 1rem;
	background-repeat: no-repeat;
	background-size: 100% 3px;
	background-position: bottom;
	font-weight:normal;
	margin-bottom:20px;
}
/*---------------------------
  テーブル
----------------------------*/
/* 施設のご案内 */
table.sisetuInfoTable {
	margin: 10px auto;
	border-collapse: collapse;
	width: 100%;
}
	table.sisetuInfoTable th {
		border: solid 1px #DBDAD7;
		white-space: nowrap;
		padding: 10px 3px;
	}
	table.sisetuInfoTable td {
		border: solid 1px #DBDAD7;
		padding: 10px;
	}

/* 
	支払詳細、支払い済み一覧、未収納一覧、
	メッセージ一覧、減免申請（一覧・詳細）、振替履歴一覧
	申込内容一覧、利用履歴一覧、施設検索結果、予約申請受付票、
	様式ダウンロード
*/
table.myPage_table {
	border-collapse: collapse;
	border-spacing: 0px;
	margin: 5px auto;
	margin-bottom: 20px;
	width:100%;
	table-layout:fixed;
}
	table.myPage_table th {
		border: solid #b0b0b0 1px;
		padding: 10px;
		font-weight: normal;
		font-size:1.0em;
	}
	table.myPage_table td {
		border: solid #b0b0b0 1px;
		padding: 10px;
		word-break: break-word;
	}
	table.myPage_table  .tr_disabled td {
		background-color: #ddd;
		color: #666;
	}

/*
	メッセージ詳細、申込内容詳細、予約申請受付票
*/
table.yoyakuDetailTble {
	border-collapse: collapse;
	border-spacing: 0px;
	margin: 5px auto;
	margin-bottom: 20px;
	width: 100%;
}
	table.yoyakuDetailTble th {
		border: solid #b0b0b0 1px;
		padding: 10px;
		font-weight: normal;
		font-size: 1.0em;
	}
	table.yoyakuDetailTble td {
		border: solid #b0b0b0 1px;
		padding: 10px;
		word-break: break-word;
	}
	table.yoyakuDetailTble tr.noDisp {
		display:none;
	}

/* 
	操作方法、予約申請（カゴ）、予約申請
*/
table.sinseiTable {
	border-collapse: collapse;
	border-spacing: 0px;
	margin: 5px auto;
	margin-bottom: 20px;
	width: 100%;
}
	table.sinseiTable th {
		border: solid #b0b0b0 1px;
		padding: 10px;
		font-weight: normal;
		font-size: 1.0em;
	}

	table.sinseiTable td {
		border: solid #b0b0b0 1px;
		padding: 10px;
		word-break: break-word;
	}
	table.sinseiTable tr.redundant > td {
		background: none;
	}

/*---------------------------
 文字
----------------------------*/
.textC {
	text-align: center;
}
.textR{
	text-align:right;
}
.textL{
	text-align:left;
}
.font_bold{
	font-weight:bold;
}
.fontS{
	font-size:0.9em;
}
.paddingL_10{
	padding-left:10px;
}
.noWrap {
	white-space: nowrap;
}

/*---------------------------
 戻る・ホーム・閉じる　リンク
----------------------------*/
#homeLinkArea {
	margin-top: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.backLink {
	display: flex;
	align-items: center;
	gap: 5px;
	border-right: solid 1px var(--main_color);
	justify-content: end;
	width:calc(50% - 25px);
	padding-right:25px;
}
.homeLink {
	display: flex;
	align-items: center;
	gap: 5px;
	justify-content: start;
	width: calc(50% - 20px);
	padding-left: 20px;
}
.noBackLink {
	width:auto;
	padding:0px;
}
#homeLinkArea span {
	text-decoration: underline;
	cursor: pointer;
}

#closeLinkArea {
	margin-top: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}
	#closeLinkArea .closeLink {
		cursor:pointer;
	}
	#closeLinkArea span {
		padding-left: 5px;
	}

/*---------------------------
 ボタン
----------------------------*/
.disabled {
	pointer-events: none; /* クリックイベントを無効化 */
}
/* クリックできる */
.clickable {
	cursor: pointer;
}

/* 非活性化(スタイル変更あり) */
.disabled_item {
	pointer-events: none;
	opacity: 0.5;
}

.btnArea{
	padding:10px;
	display:flex;
	gap:20px;
	justify-content:center;
	align-items:center;
}
	.btnArea .normalBtn {
		border: none;
		border-radius: 5px;
		padding: 13px 0px;
		font-size: 1.1em;
		letter-spacing: 0.9px;
		width: 200px;
		cursor:pointer;
		text-align:center;
		align-content:center;
	}
		.btnArea .normalBtn:disabled {
			cursor: inherit;
			opacity: 0.4;
		}

.btnLeft {
	justify-content:flex-start;
}

.mypage_haadBt_Wapper {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	padding: 0px 0px 15px;
}

.disp-bt {
	display:inline-block;
	min-width:80px;
	text-align: center;
	margin: 2px auto;
	padding: 2px 10px;
	text-decoration: none;
	font-size: 0.9em;
}
a.disp-bt.disabled {
	pointer-events: none;
	opacity: 0.4;
	cursor: not-allowed;
}

/*グレーのボタン */
.gray_btn {
	text-align: center;
	font-size: 100%;
	border: 1px solid #b0b0b0;
	margin: 2px auto;
	padding: 3px 5px;
	font-size: 0.9em;
	cursor: pointer;
}
/*---------------------------
  データなし
----------------------------*/
.noData {
	text-align: center;
	font-size: 1.2em;
	margin: 30px 0px;
}

/*---------------------------
  ログイン
----------------------------*/
.loginArea{
	text-align:center;
}
	.loginArea input {
		width:calc(100% - 15px);
		padding:5px;
	}
	.loginArea div.item {
		width: 300px;
		margin:auto;
		margin-bottom: 20px;
		text-align:left;
	}
	.loginArea .btnArea {
		padding-top: 30px;
	}

/*---------------------------
  パスワード再発行
----------------------------*/
.description {
	padding-bottom: 30px;
	width: 90%;
	letter-spacing: 1.8px;
	margin: auto;
	line-height:1.5em;
}

/*---------------------------
  利用者登録申請
----------------------------*/
#form_area{
	margin-bottom:50px;
}

table.formTable {
	border-collapse: collapse;
	border-spacing: 0px;
	margin: 5px auto;
	margin-bottom: 20px;
	width: 100%;
	border-top: solid #CECECE 1px;
}
	table.formTable th {
		border-bottom: solid #CECECE 1px;
		padding: 20px;
		font-weight: normal;
		font-size: 1.0em;
		text-align:left;
		position:relative;
		width:30%;
	}
	table.formTable td {
		border-bottom: solid #CECECE 1px;
		padding: 20px;
		word-break: break-word;
	}
	table.formTable input[type=text], table.formTable textarea,
	table.formTable input[type=tel], table.formTable input[type=password] {
		padding: 13px;
		border-radius: 5px;
		width: 350px;
		margin: 5px 5px 5px 0px;
	}
		table.formTable input[type=text].inum{
			width:60px;
		}

	table.formTable select {
		padding: 13px;
		border-radius: 5px;
		margin: 5px 5px 5px 0px;
	}
	table.formTable input[type=file] {
		width: 350px;
	}
		table.formTable input[type=file]::file-selector-button {
			padding: 10px;
			border-radius: 5px;
			margin-right: 10px;
			letter-spacing: 1.6px;
		}

	table.formTable th.tbl_midasi{
		font-weight:bold;
	}
#btn_copy {
	border: solid 1px #CECECE;
	border-radius: 5px;
	padding: 13px 20px;
	display: flex;
	align-items: center;
	margin-left: auto;
	gap: 10px;
	margin-bottom: 10px;
	letter-spacing: 1.6px;
	font-size: 1.0em;
	box-shadow: 0px 3px 6px #0000000D;
}
.zipBtnArea {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap:wrap;
}
.btn-zip {
	padding: 13px 18px;
	letter-spacing: 1.6px;
	box-shadow: 0px 3px 6px #0000000D;
	border-radius: 5px;
	align-items:center;
	display:flex;
	gap:0px 10px;
}
.btn-address {
	padding: 12px 18px;
	letter-spacing: 1.6px;
	box-shadow: 0px 3px 6px #0000000D;
	border-radius: 5px;
	align-items: center;
	display: flex;
	gap: 0px 10px;
}

/*---------------------------
  入力必須
----------------------------*/
.required {
	font-size: 0.9em;
	position: absolute;
	right: 5px;
}

/*---------------------------
  施設一覧
----------------------------*/
.favorite {
	letter-spacing: 1.4px;
	font-size: 0.9em;
	padding: 5px 15px;
	border-radius: 14px;
	cursor: pointer;
	border: 1px solid #707070;
	display: flex;
	align-items: center;
	justify-content: center;
}
	.favorite svg {
		padding-right: 5px;
	}

.favorite_checked {
	border: 1px solid var(--accent_color);
}

.linkMap {
	letter-spacing: 1.4px;
	font-size: 0.8em;
	padding: 5px 0px;
	border-radius: 18px;
	cursor: pointer;
	border: 1px solid var(--accent_color);
	width: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
}
	.linkMap svg {
		padding-right: 5px;
	}

/* ボックス表示 */
.sisetuBox {
	display: flex;
	flex-wrap: wrap;
	gap: 60px;
	justify-content: space-between;
	padding-bottom: 35px;
}
	.sisetuBox .sisetuItem {
		flex-basis: calc(50% - 30px);
		border-radius: 5px;
	}
	.sisetuBox .sisetuName {
		padding: 25px;
		border-radius: 5px 5px 0px 0px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		line-height: 1.5;
	}
		.sisetuBox .sisetuName .textName {
			letter-spacing: 2.2px;
			font-size: 1.3em;
		}

	.sisetuBox .sisetuDetail {
		border: 2px solid #DBDAD7;
		border-top: none;
		border-radius: 0px 0px 5px 5px;
		padding: 10px 20px 20px;
	}
		.sisetuBox .sisetuDetail .ditailItem {
			display: flex;
			border-bottom: 1px dashed #707070;
			padding: 10px 0px;
			align-items: stretch;
			justify-content: space-between;
		}
			.sisetuBox .sisetuDetail .ditailItem .subTtl {
				width: 90px;
				text-align: center;
				padding: 20px 0px;
				display: grid;
				align-items: center;
				border-radius: 5px;
			}
			.sisetuBox .sisetuDetail .ditailItem .subNaiyo {
				width: calc(100% - 100px);
				text-align: center;
				text-align: left;
				padding: 5px 0px;
				display: grid;
				align-items: center;
				letter-spacing: 1.8px;
				font-size: 1.1em;
			}
			.sisetuBox .sisetuDetail .ditailItem .s_add {
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
				line-height: 1.3;
			}

.sisetuLink {
	border: solid 1px var(--main_color);
	cursor: pointer;
	text-align: center;
	padding: 15px 0px;
	margin-top: 15px;
	border-radius: 5px;
	letter-spacing: 1.8px;
	font-size: 1.1em;
}
	.sisetuLink:hover {
		text-decoration: underline;
	}
	.sisetuLink span {
		position: relative;
		padding-left: 20px;
	}
		.sisetuLink span::before {
			content: "";
			left: 0px;
			-webkit-box-sizing: border-box;
			box-sizing: border-box;
			width: 13px;
			height: 8px;
			border: 7px solid transparent;
			border-left: 7px solid var(--main_color);
			display: block;
			position: absolute;
			top: 25%;
		}

/* テーブル表示 */
td .flexItem {
	display: flex;
	justify-content: space-between;
	align-items:center;
	flex-wrap:wrap;
	line-height:1.5;
}
td .flexItem .favorite, td .flexItem .linkMap{
	padding:0px 5px;
	font-size:0.8em;
}

/*---------------------------
  施設詳細
----------------------------*/
#sisetuInfo .sisetuImg {
	display: flex;
	justify-content: center;
	flex-wrap:wrap;
	gap:20px  50px;
	margin-bottom:35px;
}
	#sisetuInfo .sisetuImg img {
		max-width: 350px;
	}
	 .sisetuImg .imgCom {
		text-align: center;
		padding: 5px 0px;
	}
#sisetuInfo .remark {
	max-width: 1015px;
	width: auto;
	margin: 0px auto 45px;
	letter-spacing: 0.75px;
}
.sisetuInfoArea {
	max-width: 930px;
	width: 100%;
	margin: 0px auto 70px;
}
	.sisetuInfoArea .infoBox {
		display: flex;
		justify-content: flex-start;
		align-items: stretch;
	}

	.sisetuInfoArea .midasi {
		width: 200px;
		text-align: center;
		padding: 20px 0px;
		align-content: center;
		letter-spacing: 0.9px;
		font-size: 1.1em;
		margin-bottom: 3px;
	}
	.sisetuInfoArea .infoBox:last-child .midasi {
		margin-bottom: 0px;
	}
	.sisetuInfoArea .naiyo {
		width: calc(100% - 200px - 60px);
		padding: 13px 30px;
		letter-spacing: 0.8px;
		align-content: center;
	}
	.sisetuInfoArea .s_add {
		display: flex;
		flex-wrap: wrap;
		line-height: 1.3;
		align-items: flex-start;
		gap: 0px 30px;
	}

	.sabSisetu .yoyakuBtnArea {
		display: flex;
		gap: 20px;
		flex-wrap: wrap;
		justify-content: end;
		padding-bottom:25px;
	}

	.sabSisetu .YoyakuBtn {
		border-radius: 25px;
		padding: 7px 40px 7px 50px;
		text-align: center;
		border: solid 1px var(--accent_color);
		font-size: 1.1em;
		position: relative;
		cursor: pointer;
		letter-spacing: 0.9px;
	}
		.sabSisetu .YoyakuBtn span::before {
			content: "";
			left: 35px;
			-webkit-box-sizing: border-box;
			box-sizing: border-box;
			width: 13px;
			height: 8px;
			border: 7px solid transparent;
			border-left: 7px solid var(--accent_color);
			display: block;
			position: absolute;
			top: 30%;
		}
#sisetuInfo .calWaku {
	border: none;
}
#sisetuInfo .selectMonth{
	padding:15px 0px 10px;
}
/*---------------------------
  空き状況検索（施設種別選択）
----------------------------*/
.menuListArea {
	padding: 55px 20px;
}
.menuLinkBox {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, auto));
	justify-content: center; /* 1行目は中央 */
	justify-items: start; /* 2行目以降は左揃え */
	gap: 20px 100px;
	border-bottom: 1px dashed #707070;
	padding-bottom: 50px;
	margin-bottom: 30px;
}

.menuLink {
	text-decoration: underline;
	cursor: pointer;
	font-size: 1.3em;
	display: flex;
	align-items: flex-start;
}
	.menuLink svg {
		margin-right:5px;
	}
.fukugoukensaku{
	text-align:center;
}
	.fukugoukensaku .menuBtn {
		width: 300px;
		margin: 35px auto 0px;
		font-size: 1.3em;
		border-radius: 5px;
		box-shadow: 0px 3px 5px #00000029;
		cursor: pointer;
		padding:15px 0px;
		position:relative;
	}
		.fukugoukensaku .menuBtn .btnText {
			margin-top: 13px;
		}
		.fukugoukensaku .menuBtn .btn_footer {
			bottom:2px;
		}

/*---------------------------
  空き状況検索（施設選択）
----------------------------*/
#sentaku-area {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: flex-start;
	margin-top: 20px;
}

	#sentaku-area .sentakuItem {
		width: calc(33.333% - 70px);
		border: 1px solid #D5D5D5;
		padding: 20px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}


.sentakuItem .item_title {
	display: flex;
	align-items: center;
	padding: 0px 0px 15px 0px;
	border-bottom: 1px dashed #707070;
	margin-bottom:15px;
	font-size:1.2em;
}

	.sentakuItem .item_title::before {
		display: inline-block;
		width: 5px;
		min-width:5px;
		height: 100%;
		min-height:40px;
		margin-right: .5em;
		background-color: var(--accent_color);
		content: '';
	}
.sentakuItem .item_btn {
	display: flex;
	margin-top: 20px;
	justify-content:space-between;
	flex-wrap:wrap;
}

.sentakuItem .sisetuLink {
	padding: 3px 8px;
	font-size: 1.0em;
}
	.sentakuItem .sisetuLink span {
		padding-left: 15px;
	}

.sentakuItem .sisetuSoegaki {
	line-height: 1.5;
	letter-spacing: 1.8px;
}

.noNews {
	border: solid 1px #D5D5D5;
	cursor:auto;
}
	.noNews span::before {
		border-left: 7px solid #D5D5D5;
	}
	.noNews:hover{
		text-decoration:none;
	}
.isNews {
	border: solid 1px #D43D25;
}
	.isNews span::before {
		border-left: 7px solid #D43D25;
	}

/* 選択された施設種別・施設名の表示 */
.selected-category {
	padding-bottom: 20px;
	display: flex;
	gap: 30px;
}

	.selected-category .category-item {
		display: flex;
	}

		.selected-category .category-item .label {
			white-space: nowrap; /* ラベルは改行しない */
			flex-shrink: 0; /* ラベルは縮小しない */
		}

		.selected-category .category-item .value {
			word-wrap: break-word;
			overflow-wrap: break-word;
			word-break: break-all;
		}

.tag_noUketuke {
	font-size: 0.75em;
	line-height: 1.1em;
	padding: 5px;
	text-align: center;
	margin: -2px 0px 0px auto;
	letter-spacing: 0.7px;
	min-width: 65px;
	border-radius: 5px;
}
/*---------------------------
  空き状況検索（貸出施設選択）
----------------------------*/
.sinsei_btn .sisetuLink {
	padding: 15px;
}

/*---------------------------
  複合検索画面
----------------------------*/
#selectCalYM {
	padding: 35px 0px 35px 40px;
	border-radius: 5px;
	vertical-align: middle;
}
	#selectCalYM span {
		font-size: 1.4em;
		margin-right: 15px;
		letter-spacing: 2.2px;
	}
	#selectCalYM select {
		padding: 5px;
		font-size: 1.1em;
	}

.institutionSelectArea{
	display:flex;
	flex-wrap:wrap;
}
.incidentalSelectArea {
	display: flex;
	flex-wrap: wrap;
}
.institutionName, .incidentalName {
	width: 50%;
	padding: 5px 0;
}
	.institutionName label:hover, .incidentalName label:hover, .institutionName input:hover, .incidentalName input:hover {
		cursor: pointer;
	}
/*---------------------------
 複合検索結果画面
----------------------------*/
.statusExample {
	display: flex;
	flex-wrap: wrap;
	border: solid 1px #b0b0b0;
	margin: 0;
	max-width: 500px;
}
	.statusExample dt,
	.statusExample dd {
		box-sizing: border-box;
		margin: 0;
		padding: 7px;
		border-right: solid 1px #b0b0b0;
		border-bottom: solid 1px #b0b0b0;
	}
	.statusExample dt {
		width: 50px;
		text-align: center;
	}
	.statusExample dd {
		width: calc(100% / 3 - 50px);
	}
		/* 6列目（dd）の右線を消す */
		.statusExample dd:nth-of-type(3n) {
			border-right: none;
		}
		/* 最下段の下線を消す */
		.statusExample dt:nth-last-of-type(-n + 3),
		.statusExample dd:nth-last-of-type(-n + 3) {
			border-bottom: none;
		}

.table-scroll {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	margin-bottom: 15px;
}

.reserveConditionTable {
	border-collapse: collapse;
	margin: 0px;
}
	.reserveConditionTable td {
		border: solid #b0b0b0 1px;
		padding: 5px 5px 5px 5px;
		text-align: center;
	}
		/* 始めの列固定 */
		.reserveConditionTable td.sticky {
			position: sticky;
			left: 0;
			border-left: none;
			border-right: none;
			width: 12rem;
			min-width: 12rem;
			height: 60px;
		}
			/* 固定セルの線 */
			.reserveConditionTable td.sticky::before {
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				z-index: -1;
				border-left: solid #b0b0b0 1px;
				border-right: solid #b0b0b0 1px;
			}


.kensakuJyoken {
	display:none;
}
#jyokenNaiyo {
	display: table;
}
	#jyokenNaiyo td.sp_dispText{
		display:none;
	}

/*---------------------------
  マイメニュー
----------------------------*/
#myMenu-area {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px;
	padding: 15px 0px 50px;
}
.myIcon {
	width: calc(50% - 15px);
	max-width: 410px;
	box-shadow: 0px 3px 6px #00000029;
	border-radius: 5px;
	padding:15px 20px;
	position:relative;
	display:flex;
	align-items:center;
	cursor:pointer;
}
	.myIcon div.menu {
		letter-spacing: 2.4px;
		font-weight: bold;
		font-size: 1.5em;
		margin: auto;
		line-height:1.2em;
	}

	.myIcon .midokuMsg {
		font-size: 0.8em;
		padding-left: 10px
	}
	.btn_footer {
		position: absolute;
		bottom: 0px;
		right: 5px;
	}

/*---------------------------
  よく使う施設一覧
----------------------------*/
.favoriteList .favorite {
	border: none;
}

/*---------------------------
 空き状況検索（利用日選択）
----------------------------*/
#selectSisetu {
	padding: 35px 0px 35px 40px;
	border-radius: 5px;
	vertical-align:middle;
}
	#selectSisetu span {
		font-size: 1.4em;
		margin-right: 15px;
		letter-spacing: 2.2px;
	}
	#selectSisetu select {
		padding:5px;
		font-size:1.1em;
	}
.explanation {
	text-align: center;
	letter-spacing: 1.8px;
	font-size:1.2em;
	padding-top:20px;
}
#calArea {
	max-width: 800px;
	margin: auto;
}
.yoyakuCalTbl {
	width: 100%;
	border-collapse: collapse;
	border: none;
}
	.yoyakuCalTbl tr.weekDay {
		border-left: solid 10px var(--midasi_bg_color);
		border-right: solid 5px var(--midasi_bg_color);
		border-bottom: solid 10px #FFFFFF;
	}
		.yoyakuCalTbl tr.weekDay td {
			padding: 10px;
			font-size: 1.1em;
		}
	.yoyakuCalTbl tr.week td {
		border: #FFFFFF solid 5px;
		border-radius: 5px;
		text-align: center;
		height: 45px;
		padding: 10px 5px 5px;
		font-size: 1.1em;
	}
		.yoyakuCalTbl tr.week td.selectWeek {
			border:none;
			border-left:solid 10px #FFFFFF;
			border-radius:0px;
			cursor:pointer;
			text-decoration:underline;
		}
	.yoyakuCalTbl tr:nth-child(2) td.selectWeek {
		/* 第一週の週選択セル */
		border-top: #FFFFFF solid 5px;
		border-radius: 5px 5px 0px 0px;
	}
	.yoyakuCalTbl tr:last-child td.selectWeek {
		/* 最終週の週選択セル */
		border-bottom: #FFFFFF solid 15px;
		border-radius: 0px 0px 5px 5px;
	}
	.yoyakuCalTbl tr:last-child td.calDaycell {
		/* 最終週の日付セル */
		border-bottom: #FFFFFF solid 15px;
	}
	.yoyakuCalTbl td:not(.calDaycell) {
		border: none;
	}

	.yoyakuCalTbl td.calDaycell {
		vertical-align:top;
	}
.selectWeekDay{
	cursor:pointer;
}
	.selectWeekDay span {
		text-decoration: underline;
	}
.selectWeek{
	white-space:nowrap;
}

.selectMonth {
	border-radius: 10px 10px 0px 0px;
	padding: 35px 0px;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin-top:40px;
}
	.selectMonth .year {
		letter-spacing: 2px;
		font-size: 1.3em;
		padding-right: 10px;
	}
	.selectMonth .month {
		letter-spacing: 3.6px;
		font-size: 2.2em;
	}

/* 検索ボタン */
.searchBtn{
	display:flex;
	align-content:center;
	justify-content:center;
	padding-top:50px;
	gap:30px;
}
#btn_search {
	padding: 15px 0px;
	text-align: center;
	width: 200px;
	border-radius: 5px;
	letter-spacing: 0.9px;
	font-size:1.1em;
	cursor:pointer;
}
#btn_clear {
	padding: 15px 0px;
	text-align: center;
	width: 200px;
	border: solid 1px var(--main_color);
	border-radius: 5px;
	letter-spacing: 0.9px;
	font-size: 1.1em;
	cursor: pointer;
}

/*---------------------------
 時間帯別空き状況
----------------------------*/
.scheduleinfo .explanationArea {
	display: flex;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:10px 0px;
	margin-top:15px;
}

.scheduleinfo .yoyakuMsg{
	align-content:center;
}

#dsptbl {
	border: solid #b0b0b0 1px;
	text-align: center;
	margin: 5px 0;
	border-collapse: collapse;
}
	#dsptbl th {
		background: #f7f7f3;
		border: solid #b0b0b0 1px;
		padding: 5px;
	}
	#dsptbl td {
		border: solid #b0b0b0 1px;
		padding: 5px 5px 5px 5px;
		text-align: center;
	}

.colorSample {
	width: 18px;
}
.reservationApplication-institutionName {
	margin-bottom: 30px;
	font-size:1.1em;
	text-align:left;
	font-weight:bold;
}


.scheduleinfo .wakuList {
	overflow-x: auto;
}
.scheduleinfo .thead-scroll {
	display: block;
}
.btnWapper {
	display: flex;
	justify-content:center;
	gap:30px;
	padding:40px 0px 15px;
	flex-wrap:wrap;
}
.actBtn {
	letter-spacing: 0.9px;
	font-size: 1.1em;
	padding: 15px 0px;
	width: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 5px;
	cursor:pointer;
}
	.actBtn span {
		padding-left:16px;
	}
		.actBtn span.addKago {
			padding-top: 2px;
		}

.actBtn_disabled {
	cursor: inherit;
	opacity: 0.4;
}
.scheduleInfoViewLeft-division {
	width: 10rem;
	min-width: 10rem;
}
.scheduleInfo_yoyakuDate{
	display:flex;
	align-items:end;
	gap:20px;
	line-height:1.4em;
	text-align:left;
}
	.scheduleInfo_yoyakuDate .year,
	.scheduleInfo_yoyakuDate .week {
		font-size: 1.0em
	}
	.scheduleInfo_yoyakuDate .month {
		font-size:1.3em;
	}
.scheduleinfo .scheduleTblArea {
	text-align: center;
	padding-bottom: 20px;
}

.scheduleInfo_table-scroll {
	overflow: auto;
	max-height: 50vh;
	-webkit-overflow-scrolling: touch;
	margin-bottom: 15px;
	padding-bottom: 16px; /* 横スクロールバー逃がし */
}

.scheduleInfoViewTable {
	border-collapse: collapse;
	border-spacing: 0px;
	margin:0px;
}
	.scheduleInfoViewTable td {
		border: 1px solid #b0b0b0;
		padding: 5px 5px 5px 5px;
		text-align: center;
		min-width: 30px;
		min-height: 30px;
	}

		/* 左固定 */
		.scheduleInfoViewTable td.sticky-left {
			position: sticky;
			left: 0;
			border-left: none;
			border-right: none;
			width: 10rem;
			min-width: 10rem;
			height: 30px;
		}
			/* 固定セルの線 */
			.scheduleInfoViewTable td.sticky-left::before {
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				width: calc(100% - 1px);
				height: calc(100% + 2px);
				z-index: -1;
				border-left: solid #b0b0b0 1px;
				border-right: solid #b0b0b0 1px;
			}

		/* 上固定 */
		.scheduleInfoViewTable td.sticky-top {
			position: sticky;
			top: 0;
			z-index: 1;
			border-top: none;
			border-bottom: none;
		}
			.scheduleInfoViewTable td.sticky-top::before {
				content: "";
				position: absolute;
				top: 0px;
				left: 0;
				height: calc(100% - 1px);
				width: calc(100% + 2px);
				z-index: -1;
				border-top: solid #b0b0b0 1px;
				border-bottom: solid #b0b0b0 1px;
			}

		.scheduleInfoViewTable td.special-header {
			z-index: 3;
			width: 10rem;
		}
			.scheduleInfoViewTable td.special-header::before {
				width: calc(100% - 1px);
			}

/*---------------------------
 利用規約・利用手引き・特定商取引に基づく表記
----------------------------*/
#kiyaku-wapper {
	width: 90%;
	margin: auto;
}

/*---------------------------
 お知らせ一覧
----------------------------*/
#infoArea {
	max-width:1015px;
	margin: 0px auto 8px auto;
}
	#infoArea ul.osiraseList {
		padding: 0px;
		text-align: left;
	}
		#infoArea ul.osiraseList li {
			padding: 6px 5px 5px 12px;
			margin: 0px 10px;
			position: relative;
		}
			#infoArea ul.osiraseList li::before {
				content: "";
				left: 3px;
				box-sizing: border-box;
				width: 4px;
				height: 4px;
				border: 4px solid transparent;
				border-left: 4px solid var(--accent_color);
				display: block;
				position: absolute;
				top: 50%;
			}

	#infoArea .new {
		padding: 0px 10px;
		font-size: 0.8em;
		letter-spacing: 0.5px;
		margin-left: 5px;
	}

/*---------------------------
 お知らせ詳細
----------------------------*/
.notificationFile {
	margin-top: 1em;
}
	.notificationFile li {
		margin: 5px;
	}

/* 親コンテナ：左右に配置 */
.metaInfo {
	display: flex;
	justify-content: flex-end; 
	align-items: center;
	gap: 15px;
	font-size: 0.85em;
	margin-bottom: 25px;
	margin-top: -20px;
	letter-spacing: 1px;
	flex-wrap: wrap;
}

/* 分類名（施設名） */
	.BunruiMei .BunruiSisetu {
		display: inline-block;
		padding: 2px 10px;
		border: solid 1px var(--main_color);
		background: #FFFFFF;
		letter-spacing: 0.7px;
		word-break: break-all;
	}

/* 公開日 */
.Koukaibi {
	flex-shrink: 0;
	white-space: nowrap;
}

/*---------------------------
 メッセージ一覧
----------------------------*/
.myPage_table .midoku {
	padding: 0px 10px;
	font-size: 0.8em;
	letter-spacing: 0.5px;
	margin-left: 5px;
	white-space:nowrap;
}

/*---------------------------
 申込内容一覧
----------------------------*/
.y_date{
	margin-right:10px;
}
.yoyku_link{
	padding-top:5px;
}

/*---------------------------
 予約申請（カゴ）
----------------------------*/
.msgArea {
	padding-bottom: 10px;
	letter-spacing: 1.8px;
	line-height:1.4em;
}
#sinseiList{
	border-radius:5px;
	padding:10px;
	margin-bottom:30px;
}
	#sinseiList .setYoyakuBtn {
		border: solid 1px #EE7800;
		padding: 5px 15px;
		border-radius: 5px;
		letter-spacing: 1.6px;
	}
	#sinseiList .btnWapper{
		padding-top:5px;
	}
.error_area {
	font-weight: bold;
	line-height: 1.5em;
}
.pcNodisp {
	display: none;
}
.sinseiTable .yoyakuDate {
	margin-right: 10px;
}

/*---------------------------
 予約申請
----------------------------*/
.sinseiMake .formTable {
	margin-top: 30px;
}
	.sinseiMake .formTable .mainCategory {
		width: 10%;
		border-right: solid #CECECE 1px;
		text-align:center;
	}
.formTable .kousei_item {
	display:flex;
	gap:20px;
	align-items:center;
	flex-wrap:wrap;
}

.sinseiMake #kiyaku-label {
	margin-top: 70px;
	font-size: 1.1em;
	font-weight: bold;
	text-align: center;
}

.sinseiMake #kiyaku-body {
	overflow-x: hidden;
	overflow-y: auto;
	height: 300px;
	width: 100%;
	margin: 25px auto 35px;
	border: 1px solid #CECECE;
}

.sinseiMake #kiyaku-check input[type=checkbox] {
	transform: scale(1.5);
}

.sinseiMake #kiyaku-check {
	font-size: 1.1em;
}

/*---------------------------
 操作方法
----------------------------*/
.helpArea .scheduleInfoViewTable {
	margin: 0px;
}
.helpArea .helpBox {
	display: flex;
	align-items: self-start;
	gap: 20px 50px;
	padding: 20px 0px;
	justify-content: flex-start;
	border-bottom: 2px dotted #b0b0b0;
	flex-wrap: wrap;
}
	.helpArea .helpBox .delImg {
		vertical-align: middle;
	}
.helpArea .sampleCel {
	display: inline-block;
	margin: 1px;
	border: 1px solid #b0b0b0;
	vertical-align: middle;
}
.helpArea .point-up {
	position: absolute;
	color: yellow;
	text-shadow: 2px 2px 1px rgba(169, 169, 254, 1), 0px -3px 1px rgba(169, 169, 254, 1), 3px 1px 1px rgba(169, 169, 254, 1), -3px 1px 1px rgba(169, 169, 254, 1), -2px 2px 1px rgba(169, 169, 254, 1), 2px -2px 1px rgba(169, 169, 254, 1), -2px -2px 1px rgba(169, 169, 254, 1);
	font-size: 1.5rem;
	display: block;
	width: 25px;
	margin-top: 5px;
	margin-left: auto;
	margin-right: auto;
}

/*---------------------------
 施設マップ
----------------------------*/
#map_canvas {
	width: calc(100% - 2px);
	height: 60vh;
	border: 1px solid #b0b0b0;
}
	#map_canvas iframe {
		width: 100%;
		height: 100%;
		border: none;
	}

/*---------------------------
 振替履歴一覧
----------------------------*/
.furikaeTab-wrap {
	display: flex;
	flex-wrap: wrap;
	border-bottom: solid 3px var(--main_color);
	flex-direction: row-reverse;
	align-items:center;
}
	.furikaeTab-wrap .countArea {
		order: -1;
		margin-left: auto;
	}
	.furikaeTab-wrap .tabArea {
		display: flex;
	}
	.furikaeTab-wrap .tab-label {
		font-weight: bold;
		white-space: nowrap;
		text-align: center;
		padding: 10px 5px;
		order: -1;
		z-index: 1;
		cursor: pointer;
		width: 100px;
	}
		.furikaeTab-wrap .tab-label:hover {
			opacity: 0.7;
		}
		.furikaeTab-wrap .tab-label:not(:last-of-type) {
			margin-right: 5px;
		}
	.furikaeTab-wrap .tab-switch {
		display: none;
	}
.furikae .tab-content {
	height: auto;
	overflow: auto;
	padding: 15px;
	opacity: 1;
}
.furikae span.yTime {
	padding-left: 15px;
}
.furikae .zangaku, .furikae .kariCnt {
	font-weight: bold;
	padding-right: 20px;
}

/*---------------------------
  減免申請詳細
----------------------------*/
.exemption h4{
	margin-top:50px;
}

/*---------------------------
  支払詳細
----------------------------*/
.cashless h4 {
	margin-top: 50px;
}

/*---------------------------
  予約詳細
----------------------------*/
.bikou{
	padding:1px 5px;
	font-size:0.9em;
}
.bihinMei {
	padding-right:10px;
}

/*---------------------------
利用の手引き
----------------------------*/
.tebiki {
	font-size: 95%;
}

.tebiki-btm {
	margin: 5px 0px;
	padding: 0px 0 10px 0px;
	font-size: 95%;
}

	.tebiki dt,
	.tebiki-btm dt {
		font-size: 1.4rem;
		line-height: 1.4;
		letter-spacing: 2.4px;
		padding: 1rem;
		background-repeat: no-repeat;
		background-size: 100% 3px;
		background-position: bottom;
		font-weight: normal;
		margin-bottom: 20px;
	}

	.tebiki dd,
	.tebiki-btm dd {
		margin: 0;
		padding: 5px 10px 5px 10px;
		text-align: left;
	}


/*---------------------------
利用規約
----------------------------*/

#kiyaku-body .subTtl {
	font-weight: bold;
	margin: 20px 0px 0px 0px;
}

#kiyaku-body .flexBox {
	display: flex;
	gap: 0.3em;
	align-items: flex-start;
}

#kiyaku-body .jouNum, #kiyaku-body .jouInnerNum {
	flex-shrink: 0;
	min-width: 4.0em;
	padding: 0 10px 0px 0px;
	line-height: 2.0;
	text-align: right;
}

/*---------------------------
利用規約 - 別表
----------------------------*/
.appendixTable {
	margin-top: 40px;
}

.appendixTitle {
	text-align: center;
	font-weight: bold;
	margin-bottom: 20px;
}

.tableWrapper {
	overflow-x: auto;
}

.facilityTable {
	width: 80%;
	border-collapse: collapse;
	min-width: 600px;
	margin: 0 auto;
}

	.facilityTable th:first-child {
		width: 25%;
	}

	.facilityTable th:last-child {
		width: 10%;
	}

	.facilityTable td.facilityName {
		vertical-align: middle;
	}

@media screen and (max-width: 1020px) {
	/* 施設一覧 */
	.sisetuBox{
		gap:30px;
	}
		.sisetuBox .sisetuItem {
			flex-basis: calc(50% - 15px);
		}
		.sisetuBox .sisetuName {
			padding: 15px;
		}

	.sisetuDetail {
		padding: 10px;
	}

		.sisetuDetail .ditailItem .subTtl {
			padding: 10px 0px;
		}

	/* 施設選択 */
	.sentakuItem .item_btn{
		justify-content:flex-start;
		gap:0px 5px;
	}

	/* 利用者登録申請 */
	.textZip {
		flex: 1 1 100%
	}
}

@media screen and (max-width:767px) {
	/* 見出し */
	h2 {
		font-size: 1.7em;
		padding: 20px 10px;
	}

	h3.sisetuGrpName {
		font-size: 1.4em;
		padding: 15px;
	}

	/* 施設のご案内 */
	table.sisetuInfoTable th {
		border: solid 2px var(--main_color);
		display: block;
		margin: 15px 0px;
	}

	table.sisetuInfoTable tr.midasi {
		display: none;
	}

	table.sisetuInfoTable tr {
		border-bottom: solid 1px #ccc;
	}

		table.sisetuInfoTable tr:nth-child(2) {
			border-top: solid 1px #ccc;
		}

	table.sisetuInfoTable td {
		display: block;
		border-bottom: none;
	}

		table.sisetuInfoTable td:first-child {
			font-weight: bold;
		}

		table.sisetuInfoTable td:before {
			content: attr(data-label);
			font-size: 0.8em;
			font-weight: bold;
			display: block;
		}

	/* 
	支払詳細、支払い済み一覧、未収納一覧、
	メッセージ一覧、減免申請（一覧・詳細）、振替履歴一覧
	申込内容一覧、利用履歴一覧、施設検索結果、予約申請受付票、
	様式ダウンロード
	*/
	table.myPage_table tr.midasi {
		display: none;
	}

	table.myPage_table tr {
		display: block;
		margin-bottom: 25px;
		border: solid 1px #E0E0E0;
		border-radius: 5px;
		position: relative;
	}

	table.myPage_table td {
		display: flex;
		border: none;
		text-align: left;
		padding: 10px;
		flex-wrap: wrap;
		gap: 5px;
		font-size: 1.0em;
		margin: 10px;
		border-bottom: solid #E0E0E0 1px;
		line-height: 1.3em;
	}

		table.myPage_table td:last-child {
			border: none;
		}

		table.myPage_table td:before {
			content: attr(data-label);
			font-weight: bold;
			display: block;
			font-size: 0.9em;
			width: 70px;
		}

		table.myPage_table td.td_yoyaku > div,
		table.myPage_table td.td_msgTtl > div,
		table.myPage_table td.td_date > div,
		table.myPage_table td.td_sisetu > div {
			width: calc(100% - 75px);
		}

		table.myPage_table td.td_checkBox {
			position: absolute;
			top: 0px;
			right: 10px;
			background: none;
			border: none;
		}

	.y_date {
		font-size: 1.0em;
		padding-bottom: 5px;
	}

	.y_time {
		font-size: 1.0em;
		padding-bottom: 5px;
	}

	/* 申請で使うテーブル */
	table.sinseiTable tr.midasi {
		display: none;
	}

	table.sinseiTable tr {
		display: block;
		margin-bottom: 25px;
		border: solid 1px #E0E0E0;
		border-radius: 5px;
		position: relative;
	}

	table.sinseiTable td {
		display: flex;
		border: none;
		text-align: left;
		padding: 10px;
		flex-wrap: wrap;
		gap: 5px;
		font-size: 1.0em;
		margin: 10px;
		border-bottom: solid #E0E0E0 1px;
		line-height: 1.3em;
	}

		table.sinseiTable td:last-child {
			border: none;
		}

		table.sinseiTable td:before {
			content: attr(data-label);
			font-weight: bold;
			display: block;
			font-size: 0.9em;
			width: 100px;
		}

		table.sinseiTable td.td_date > div {
			width: calc(100% - 110px);
		}

	.pcNodisp {
		display: block;
	}

	/* 利用者登録申請 */
	table.formTable th,
	table.formTable td {
		display: block;
		width: auto;
	}

	.required {
		position: inherit;
	}

	table.formTable input[type=text], table.formTable textarea,
	table.formTable input[type=tel], table.formTable input[type=file],
	table.formTable input[type=password] {
		width: 80%;
	}

	.btn-digitalAuth {
		width: calc(93% - 98px);
	}

	.btn-other {
		width: calc(93% - 36px);
	}

	table.formTable td .btnArea {
		flex-wrap: wrap;
	}

	/* メニューボタン */
	.menuListArea, #sentaku-area {
		display: block;
	}

	.menuBtn {
		width: auto;
	}

	/* 施設一覧 */
	.sisetuBox .sisetuItem {
		flex-basis: 100%;
	}

	table.sisetuInfoTable td.sisetuName {
		border-top: none;
	}

	.favorite {
		text-align: left;
	}

	/* 施設詳細 */
	.sisetuInfoArea .infoBox {
		flex-wrap: wrap;
	}

	.sisetuInfoArea .midasi {
		width: 100%;
	}

	.sisetuInfoArea .naiyo {
		width: auto;
		padding: 10px;
	}

	/* 親コンテナ：左右に配置 */
	.metaInfo {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 15px;
		flex-wrap: wrap;
		font-size: 0.85em;
		margin-bottom: 25px;
		margin-top: -20px;
	}

	.BunruiMei {
		text-align: left;
	}

		/* 分類名（施設名） */
		.BunruiMei .BunruiSisetu {
			word-break: break-all;
		}

	/* 公開日 */
	.Koukaibi {
		flex-shrink: 0;
		white-space: nowrap;
		text-align: right; /* 右揃え */
	}


	/*  空き状況検索（施設種別選択） */
	.menuLinkBox {
		justify-content: flex-start;
	}

	/* 空き状況検索（施設選択） */
	.sisetuSoegaki {
		width: auto;
	}

	#sentaku-area .sentakuItem {
		width: auto;
		margin: 10px;
	}

	/* スマホで縦並び */
	.selected-category {
		flex-direction: column;
		gap: 5px;
	}

	/* マイメニュー */
	.myIcon {
		width: 100%;
		padding: 15px;
	}

		.myIcon div.menu {
			font-size: 1.3em
		}

	/* ボタン */
	.disp-bt {
		margin: 0px;
	}

	/* 予約申請 */
	.sinseiMake .formTable .mainCategory {
		width: auto;
		text-align: left;
	}

	/* 操作方法 */
	.helpArea .helpBox {
		display: block;
	}

		.helpArea .helpBox .setumei {
			margin-top: 15px;
		}

	/* 複合検索画面 */
	.institutionName, .incidentalName {
		width: 90%;
	}

	/* 振替履歴 */
	.furikae .yoyakuItem {
		width: calc(100% - 50px);
	}

	.furikaeTab-wrap {
		flex-direction: column;
		align-items: flex-start
	}

		.furikaeTab-wrap .countArea {
			margin-bottom: 10px;
		}

	/* 時間帯別空き状況 */
	.scheduleInfo_yoyakuDate {
		display: block;
		text-align: left;
	}

	/* 複合検索結果 */
	.statusExample dt {
		width: 50px;
		text-align: center;
		border-right: solid 1px #b0b0b0;
		border-bottom: solid 1px #b0b0b0;
	}

	.statusExample dd {
		width: calc(100% / 2 - 50px);
	}

		.statusExample dd:nth-of-type(3n) {
			border-right: solid 1px #b0b0b0;
		}

		.statusExample dt:nth-last-of-type(-n + 3),
		.statusExample dd:nth-last-of-type(-n + 3) {
			border-bottom: solid 1px #b0b0b0;
		}
		/* 6列目（dd）の右線を消す */
		.statusExample dd:nth-of-type(2n) {
			border-right: none;
		}
		/* 最下段の下線を消す */
		.statusExample dt:nth-last-of-type(-n + 2),
		.statusExample dd:nth-last-of-type(-n + 2) {
			border-bottom: none;
		}

	.kensakuJyoken {
		display: block;
		padding: 15px 10px;
		font-size: 1.2em;
	}

	#jyokenNaiyoArea {
		padding: 0px 10px 10px;
	}

	#jyokenNaiyo {
		margin: 0px;
	}

		#jyokenNaiyo td:not(.sp_dispText) {
			display: none;
		}

		#jyokenNaiyo.is-open td {
			display: flex;
		}

		#jyokenNaiyo td.sp_dispText {
			display: block;
			padding: 0px 10px;
			text-align: center;
			position: relative;
		}

			#jyokenNaiyo td.sp_dispText .arrow {
				display: inline-block;
				padding: 10px;
			}

				#jyokenNaiyo td.sp_dispText .arrow::before {
					content: '';
					width: 10px;
					height: 10px;
					position: absolute;
					left: calc(50% + 65px);
					top: 3px;
					transform: rotate(135deg);
				}

			#jyokenNaiyo td.sp_dispText.open .arrow::before {
				transform: rotate(-45deg);
				top: inherit;
				left: calc(50% + 30px);
			}

	#jyokenNaiyoArea table.myPage_table tr {
		margin-bottom: 0px;
	}

	.statusExample {
		margin-top: 20px;
	}

	/*利用規約 - 別表(スマホ) */
	.facilityTable {
		width: 100%;
		min-width: auto;
		border: none;
		border-collapse: separate;
		border-spacing: 0;
	}

		/* ヘッダーを非表示 */
		.facilityTable thead tr {
			display: none;
		}

		/* 行の基本スタイルをリセット */
		.facilityTable tbody tr {
			display: block !important;
			margin: 0;
			border: none;
		}


			/* 単一行の施設 */
			.facilityTable tbody tr.facility-single {
				margin-top: 20px;
				border: solid 1px #E0E0E0;
				border-radius: 5px;
			}

		/* セルの基本スタイル */
		.facilityTable td {
			display: block !important;
			border: none;
			text-align: left;
			padding: 10px 15px;
			margin: 0; /* この行を追加 */
		}

			.facilityTable td::before {

				width: auto !important;
			}

			/* 施設名(緑背景) */
			.facilityTable td.facilityName {
				background: var(--table_th_color);
				font-weight: bold;
				padding: 15px;
				margin-bottom: 0;
				font-size: 1.1em;
			}

			/* スマホ表示で非表示にする施設名 */
			.facilityTable td.facilityName-hidden {
				display: none !important;
			}

			/* 詳細情報(太字) */
			.facilityTable td.facility-detail {
				font-weight: bold;
				padding: 15px 15px 5px;
				background: transparent;
				margin: 0; /* この行を追加 */
			}

	/* グループ開始行の詳細は線不要 */
	.facility-group-start td.facility-detail {
		border-top: none;
	}

	/* 単一行の詳細は非表示 */
	.facility-single td.facility-detail {
		display: none !important;
	}

	/* 予約受付期間(2段表示) */
	.facilityTable td.facility-period {
		padding: 5px 15px 15px 15px;
		background: transparent;
		display: block !important;
		margin: 0; /* この行を追加 */
	}

		.facilityTable td.facility-period::before {
			content: "予約の受付期日：" !important;
			display: inline;
			font-weight: bold;
			width: auto;
			white-space: nowrap;
		}

	}

