@charset "utf-8";


/*** Facility Styles ***/



/* Common
------------------------------------------------------------- */
/*
.wrapper_gray:has(.area_search_box) {
	margin-bottom: 60px;
}

h1.page_title > br {
	display: inline;
}

.bread_navi p a:last-child, .bread_navi p span:last-child {
	max-width: 25em;
}

h2.area_search_title + .btn_center {
	margin-top: 80px;
}

.area_search_box > .btn_center {
	margin-bottom: -20px !important;
}
*/


/* Area Search
------------------------------------------------------------- */

.area_search_box {
	margin: 0 auto;
	padding: 0 20px;
	width: 100%;
	max-width: 1200px;
}

.area_search_box:has(.btn_center) {
	margin-bottom: -20px;
}

.area_search_box .map_notes {
	margin-bottom: 20px;
	font-size: 1.4rem;
	line-height: 1.6;
}

.area_search_box .area_search_title {
	width: 100%;
	margin: 0 0 40px 0;
	padding: 8px 15px;
	line-height: 1.6;
	font-size: 2.2rem;
	font-weight: 400;
	text-align: left;
	color: #fff;
	background-color: #666;
}

.area_search_box.area_yamagata .area_search_title,
.area_search_box.area_jr .area_search_title,
.area_search_box.area_shigaichi .area_search_title,
.area_search_box.area_north .area_search_title,
.area_search_box.area_south .area_search_title,
.area_search_box.area_zao .area_search_title,
.area_search_box.area_other .area_search_title {
		background-color: #008991;
}

.area_search_box.area_tendo .area_search_title {
	background-color: #3e6bc7;
}

.area_search_box.area_kaminoyama .area_search_title {
	background-color: #dd7932;
}

.area_search_box.area_murayama .area_search_title {
	background-color: #ce4787;
}

.area_search_box.area_sagae .area_search_title {
	background-color: #38a848;
}

.area_search_cont {
	position: relative;
}



/* Kouiki Search
------------------------------------------------------------- */

/* ImgMap */

.map_img {
	width: 100%;
	max-width: 700px;
	overflow: hidden;
	position: relative;
	margin: 0 auto 40px auto;
}

.map_img.map_s {
	max-width: 480px;
}

.map_img img {
	width: 100%;
}

.area_kouiki .map_img img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
	opacity: 0;
	transition: 0.3s opacity;
}

.area_kouiki .map_img img.map_kouiki_imgmap {
	position: relative;
	z-index: 3;
	opacity: 1;
}

.area_kouiki .map_img img.map_kouiki_off {
	z-index: 1;
	opacity: 1;
}

.area_kouiki .map_img.on_yamagata img.map_kouiki_off,
.area_kouiki .map_img.on_tendo img.map_kouiki_off,
.area_kouiki .map_img.on_kaminoyama img.map_kouiki_off,
.area_kouiki .map_img.on_murayama img.map_kouiki_off,
.area_kouiki .map_img.on_sagae img.map_kouiki_off {
	z-index: 0;
}

.area_kouiki .map_img.on_yamagata img.on_yamagata {
	opacity: 1;
	z-index: 1;
}

.area_kouiki .map_img.on_tendo img.on_tendo {
	opacity: 1;
	z-index: 1;
}

.area_kouiki .map_img.on_kaminoyama img.on_kaminoyama {
	opacity: 1;
	z-index: 1;
}

.area_kouiki .map_img.on_murayama img.on_murayama {
	opacity: 1;
	z-index: 1;
}

.area_kouiki .map_img.on_sagae img.on_sagae {
	opacity: 1;
	z-index: 1;
}

.area_kouiki .map_img p.city_other_btn {
	display: inline-block;
	width: 24vw;
	min-width: 7em;
	height: 7vw;
	position: absolute;
	left: 5%;
	bottom: 5%;
	z-index: 100;
}

.area_kouiki .map_img p.city_other_btn a {
	display: block;
	width: 100%;
	height: 100%;
	line-height: 7vw;
	font-size: 3vw;
	font-size: max(3vw, 0.75rem);
	padding-left: 5px;
	text-align: center;
	background-color: #ded4d0;
	border-radius: 0.5vw;
	color: #000;
	text-decoration: none;
	transition: 0.3s background-color, 0.3s color;
}

.area_kouiki .map_img p.city_other_btn a:hover,
.area_kouiki .map_img p.city_other_btn a:active {
	color: #fff;
	background-color: #807b79;
}



/* Button */

.map_button {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: auto auto auto;
	gap: 15px;
	margin-bottom: 40px;
}

.map_button p.btn_yamagata {
	grid-area: 1/1;
}

.map_button p.btn_tendo {
	grid-area: 1/2;
}

.map_button p.btn_kaminoyama {
	grid-area: 1/3;
}

.map_button p.btn_murayama {
	grid-area: 2/1;
	grid-column: span 3;
}

.map_button p.btn_sagae {
	grid-area: 3/1;
	grid-column: span 3;
}

.map_button p {
	text-align: center;
}

.map_button p a {
	display: block;
	padding: 15px 10px;
	font-size: 1.6rem;
	line-height: 1.4;
	border-radius: 0;
	text-decoration: none;
	color: #333;
	box-shadow: 2px 2px 0 rgba(0,0,0,0.3);
	font-weight: 400;
	border: 2px solid #fff;
	transition: 0.3s background-color;
}

.map_button p a:hover, .map_button p a:active {
	transform: translateY(1px);
	box-shadow: 1px 1px 0 rgba(0,0,0,0.3);
}

.map_button p.btn_yamagata a {
	background-color: #add1d3;
}

.map_button p.btn_tendo a {
	background-color: #b4c6eb;
}

.map_button p.btn_kaminoyama a {
	background-color: #f4ceaf;
}

.map_button p.btn_murayama a {
	background-color: #efbfe2;
}

.map_button p.btn_sagae a {
	background-color: #c5ddbc;
}

.map_button.on_yamagata p.btn_yamagata a {
	background-color: #008991;
	color: #fff;
}

.map_button.on_tendo p.btn_tendo a {
	background-color: #3e6bc7;
	color: #fff;
}

.map_button.on_kaminoyama p.btn_kaminoyama a {
	background-color: #dd7932;
	color: #fff;
}

.map_button.on_murayama p.btn_murayama a {
	background-color: #ce4787;
	color: #fff;
}

.map_button.on_sagae p.btn_sagae a {
	background-color: #38a848;
	color: #fff;
}


/* Capacity */

.area_capacity {
	background-color: #fff;
}

.area_capacity > h3 {
	background-color: transparent;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.2;
	margin: 0;
	padding: 12px 0 5px 0;
}

table.area_capacity_table {
	margin: 0;
	padding: 0;
	border-collapse: collapse;
	width: 100%;
}

table.area_capacity_table tr {
	border-bottom: 1px solid #eee;
	transition: 0.3s background-color;
}

table.area_capacity_table tr:last-child {
	border-bottom: 0;
}

table.area_capacity_table th,
table.area_capacity_table td {
	padding: 10px;
	line-height: 1.2;
	font-size: 1.1rem;
	text-align: center;
	white-space: nowrap;
	min-width: 5em;
}

table.area_capacity_table th {
	font-weight: 400;
}

table.area_capacity_table td:first-child {
	white-space: normal;
	text-align: left;
}

.area_capacity.on_yamagata tr.capa_yamagata {
	background-color: #add1d3;
}

.area_capacity.on_tendo tr.capa_tendo {
	background-color: #b4c6eb;
}

.area_capacity.on_kaminoyama tr.capa_kaminoyama {
	background-color: #f4ceaf;
}

.area_capacity.on_murayama tr.capa_murayama {
	background-color: #efbfe2;
}

.area_capacity.on_sagae tr.capa_sagae {
	background-color: #c5ddbc;
}


/* Prev Button */

.area_search_box .btn_center {
	margin: 40px auto 0 auto;
}

.area_search_box .btn_center a {
	margin-bottom: 20px;
}



/* Yamagata Search
------------------------------------------------------------- */

/* ImgMap */

.area_yamagata .map_img img {
	width: 85%;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
	opacity: 0;
	transition: 0.3s opacity;
}

.area_yamagata .map_img img.map_ymgt_imgmap {
	position: relative;
	margin-left: 15%;
	z-index: 3;
	opacity: 1;
}

.area_yamagata .map_img img.map_ymgt_pref {
	z-index: 2;
	opacity: 1;
	width: 45%;
	max-width: 280px;
	left: -5px;
	right: auto;
	top: 8%;
}

.area_yamagata .map_img img.map_ymgt_off {
	z-index: 1;
	opacity: 1;
}

.area_yamagata .map_img.on_jr img.map_kouiki_off,
.area_yamagata .map_img.on_shigaichi img.map_kouiki_off,
.area_yamagata .map_img.on_north img.map_kouiki_off,
.area_yamagata .map_img.on_south img.map_kouiki_off,
.area_yamagata .map_img.on_zao img.map_kouiki_off,
.area_yamagata .map_img.on_other img.map_kouiki_off {
	z-index: 0;
}

.area_yamagata .map_img.on_jr img.on_jr {
	opacity: 1;
	z-index: 1;
}

.area_yamagata .map_img.on_shigaichi img.on_shigaichi {
	opacity: 1;
	z-index: 1;
}

.area_yamagata .map_img.on_north img.on_north {
	opacity: 1;
	z-index: 1;
}

.area_yamagata .map_img.on_south img.on_south {
	opacity: 1;
	z-index: 1;
}

.area_yamagata .map_img.on_zao img.on_zao {
	opacity: 1;
	z-index: 1;
}

.area_yamagata .map_img.on_other img.on_other {
	opacity: 1;
	z-index: 1;
}


/* Capacity */

.area_capacity.on_jr tr,
.area_capacity.on_shigaichi tr,
.area_capacity.on_north tr,
.area_capacity.on_south tr,
.area_capacity.on_zao tr,
.area_capacity.on_other tr {
	background-color: #fff;
}


.area_capacity.on_jr tr.capa_jr {
	background-color: #efb3b0;
}

.area_capacity.on_shigaichi tr.capa_shigaihchi {
	background-color: #d5bcda;
}

.area_capacity.on_north tr.capa_north {
	background-color: #a1c8e0;
}

.area_capacity.on_south tr.capa_south {
	background-color: #edde54;
}

.area_capacity.on_zao tr.capa_zao {
	background-color: #cbdd7a;
}

.area_capacity.on_other tr.capa_other {
	background-color: #ded4d0;
}

/*　Enlarged Map for SP　*/

.map_large_sp {
	margin-bottom: 10px;
}

.map_large_sp > div {
	margin-top: 30px;
}

.map_large_sp > div img {
	width: 100%;
	margin-bottom: 5px;
}

.map_large_sp > div p {
	text-align: center;
	font-size: 0.85rem;
	line-height: 1.8;
}

/*　Enlarged Map for PC　*/

.map_large_pc {
	display: none;
}



/* Result Index
------------------------------------------------------------- */

.search_result_box {
	width: 100%;
	padding: 40px 20px 0 20px;
	line-height: 2;
}

.search_result_box > h3 {
	background-color: #666;
	margin-bottom: 15px;
}


/* Explanatory Notes */

.search_exnote {
	width: fit-content;
	margin: 0 20px 40px auto;
	padding: 20px;
	display: grid;
	grid-template-columns: auto auto;
	grid-template-rows: auto auto;
	gap: 15px 20px;
	justify-content: flex-end;
	background-color: #f2f2f2;
}

p.exnote_icon {
	line-height: 30px;
	height: 30px;
	margin: 0 0 ;
	position: relative;
}

.search_exnote > p.exnote_icon {
	line-height: 26px;
	height: 26px;
}

p.exnote_icon span {
	font-size: 1.2rem;
	padding-left: 0.5em;
}
/*
p.exnote_icon span::before {
	content: "…";
	display: inline-block;
	font-size: 1.2rem;
	margin: 0 5px;
}
*/
.facil_ex p.exnote_icon span {
	display: none;
}

p.exnote_icon::before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	border-radius: 2px;
	vertical-align: middle;
}

p.exnote_icon::after {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 80%;
	position: absolute;
	left: 0;
	top: 5%;
}

.search_exnote p.exnote_icon::before,
.search_exnote p.exnote_icon::after {
	width: 26px;
	height: 26px;
}

p.exnote_icon.exnote_event::before {
	background-color: #5ba671;
}

p.exnote_icon.exnote_party::before {
	background-color: #b151bd;
}

p.exnote_icon.exnote_inn::before {
	background-color: #5e6dd1;
}

p.exnote_icon.exnote_spa::before {
	background-color: #d93f3f;
}

p.exnote_icon.exnote_restaurant::before {
	background-color: #f5880c;
}

p.exnote_icon.exnote_event::after {
	background-image: url(../img/icon_event.svg);
}

p.exnote_icon.exnote_party::after {
	background-image: url(../img/icon_party.svg);
}

p.exnote_icon.exnote_inn::after {
	background-image: url(../img/icon_inn.svg);
}

p.exnote_icon.exnote_spa::after {
	background-image: url(../img/icon_spa.svg);
}

p.exnote_icon.exnote_restaurant::after {
	background-image: url(../img/icon_restaurant.svg);
}


/* Result List */

.search_result_list {
	padding: 0 20px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(281px, 1fr));
	grid-template-rows: auto;
	gap: 40px 25px;
	width: 100%;
}

.search_result_list > div {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 7;
	gap: 0 0;
	margin-bottom: 20px;
}

.search_result_list > div::after {
	content: "";
	display: block;
	width: 100%;
	height: calc(100% - 30px);
	border: 5px solid #ded4d0;
	position: absolute;
	left: 0;
	top: 30px;
	pointer-events: none;
}

.search_result_list > div::before {
	content: "";
	display: block;
	width: 100%;
	height: calc(100% - 30px);
	position: absolute;
	left: 0;
	top: 30px;
	pointer-events: none;
	background-color: rgba(200, 200, 200, 0.15);
	z-index: -1;
	opacity: 0;
	transition: 0.3s opacity;
}

.search_result_list > div:hover::before {
	opacity: 1;
}

.facil_list_tabs {
	height: 30px;
	font-size: 0;
}

.facil_list_tabs > p {
	position: relative;
	display: inline-block;
	line-height: 28px;
	font-size: 1.4rem;
	font-weight: 400;
	padding: 0 12px;
	margin-right: 3px;
	height: 31px;
	transform: skew(15deg);
}

.facil_list_tabs > p > span {
	display: inline-block;
	transform: skew(-15deg);
}

.facil_list_tabs > p:first-child {
	margin-left: -10px;
	padding-left: 18px;
}

.facil_list_tabs > p:nth-child(2) {
	font-size: 1.3rem;
	height: 27px;
}

.facil_ex {
	display: flex;
	justify-content: flex-end;
	padding: 18px 20px 15px 20px;
}

.facil_ex > p {
	margin-left: 10px;
}

.facil_img {
	padding: 0 20px;
}

.facil_img img {
	width: 100%;
	aspect-ratio: 16/10;
	object-fit: cover;
	object-position: center center;
}

.facil_title {
	padding: 12px 20px 0 20px;
	display: flex;
	align-items: flex-end;
}

.facil_title > p {
	width: 100%;
	border-bottom: 2px solid #333;
	padding-bottom: 5px;
	font-size: 1.8rem;
	line-height: 1.4;
	font-weight: 600;
}

.facil_note {
	padding: 15px 20px;
}

.facil_note > p {
	font-size: 1.4rem;
	line-height: 1.6;
}

.facil_address {
	padding: 0 20px 15px 20px;
}

.facil_address dl {
	margin: 0;
	padding: 0;
	font-size: 1.35rem;
	line-height: 1.6;
	border-bottom: 1px solid #eee;
}

.facil_address dl dt {
	margin: 0;
	font-weight: 600;
	padding: 4px 0;
	width: 3em;
	white-space: nowrap;
	float: left;
	clear: left;
}

.facil_address dl dd {
	margin: 0;
	padding: 4px 0 4px 3.5em;
	border-top: 1px solid #eee;
	min-height: 2.4em;
}

.facil_address dl dd a {
	pointer-events: none;
	color: #333;
	text-decoration: none;
}

.facil_btn {
	padding: 0 20px 27px 20px;
}

p.btn_moreinfo a {
	display: block;
	width: 100%;
	margin: 0;
	padding: 8px 25px 8px 10px;
	line-height: 1.6;
	color: #151515;
	background-color: #f0f0f0;
	font-weight: 400;
	font-size: 1.45rem;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
	position: relative;
	box-shadow: 2px 2px 0 rgba(0,0,0,0.3);
}

p.btn_moreinfo a::after {
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	position: absolute;
	right: 15px;
	top: 50%;
	margin-top: -11px;
	background-image: url(../img/arrow_next.svg);
	background-position: center left;
	background-size: contain;
	background-repeat: no-repeat;
	transition: all 0.3s;
}

.search_result_list > div:hover p.btn_moreinfo a {
	background-color: #e5e5e5;
	transform: translate(1px, 1px);
	box-shadow: 1px 1px 0 rgba(0,0,0,0.3);
}

.search_result_list > div:hover p.btn_moreinfo a::after {
	width: 28px;
	height: 28px;
	right: 5px;
	margin-top: -14px;
	animation: shake-arrow 0.3s 2 ease-in-out;
}
/*
p.btn_moreinfo a:hover, p.btn_moreinfo a:active {
	background-color: #f5f5f5;
	transform: translate(1px, 1px);
	box-shadow: 1px 1px 0 rgba(0,0,0,0.3);
}

p.btn_moreinfo a:hover::after,
p.btn_moreinfo a:active::after {
	width: 28px;
	height: 28px;
	right: 5px;
	margin-top: -14px;
	animation: shake-arrow 0.3s 2 ease-in-out;
}
*/


/* Details
------------------------------------------------------------- */

.facil_detail_box {
	width: 100%;
	padding: 40px 20px;
	line-height: 2;
}

.facil_detail_box > .btn_center {
	margin: 60px auto;
}


/* Details Title */

.facil_detail_title {
	margin-bottom: 0;
}

.facil_detail_tabs {
	height: 40px;
	font-size: 0;
	text-align: right;
	position: relative;
	overflow-x: clip;
	margin-bottom: 20px;
}

.facil_detail_tabs::after {
	content: "";
	display: block;
	width: 100%;
	height: 8px;
	background-color: #eee;
	position: absolute;
	left: 0;
	bottom: -8px;
}

.facil_detail_tabs > p {
	position: relative;
	display: inline-block;
	line-height: 38px;
	font-size: 1.6rem;
	font-weight: 400;
	padding: 0 20px 0 12px;
	margin-left: 3px;
	margin-right: -10px;
	height: 41px;
	transform: skew(-15deg);
}

.facil_detail_tabs > p > span {
	display: inline-block;
	transform: skew(15deg);
}

.facil_detail_tabs > p.area_jr,
.facil_detail_tabs > p.area_shigaichi,
.facil_detail_tabs > p.area_north,
.facil_detail_tabs > p.area_south,
.facil_detail_tabs > p.area_zao,
.facil_detail_tabs > p.area_other {
	height: 37px;
	padding-right: 20px;
	margin-right: -10px;
}

.facil_detail_tabs > p.city_yamagata {
	padding: 0 12px;
	margin-right: 0;
}

.facil_detail_title > h2 {
	margin: 0;
	padding: 0 0 15px 0;
	line-height: 1.4;
	background-color: transparent;
	color: #333;
	font-size: 2.2rem;
	font-weight: 600;
	border-bottom: 1px solid #fff;
}


/* Shisetsu & Syukuhaku Icons */

.facil_detail_title .sub_icons {
	display: inline-block;
	height: auto;
	line-height: 1;
	vertical-align: 2px;
	white-space: nowrap;
}

.facil_detail_title .sub_icons span {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 0 5px;
	padding: 0 8px;
	line-height: 26px;
	height: 26px;
	font-size: 1.45rem;
	font-weight: 400;
	white-space: nowrap;
	border-radius: 4px;
	color: #151515;
	background-image: none;
	text-align: center;
	width: auto;
	background-color: #d5d5d5;
	background: linear-gradient(to bottom, #f2f2f2, #d0d0d0);
}
/*
.facil_detail_title .sub_icons span.icon_kyo {
	background-color: #c4caee;
	background: linear-gradient(to bottom, #d6daf5, #b7beea);
}

.facil_detail_title .sub_icons span.icon_spa {
	background-color: #dbec8d;
	background: linear-gradient(to bottom, #e9f6ab, #cbdd7a);
}
*/

/* Details Explanatory */

.facil_detail_ex {
	margin: 20px 0 0 0;
	text-align: right;
}

.facil_detail_ex > p.exnote_icon {
	display: inline-block;
	line-height: 30px;
	height: 30px;
	margin: 0 0 10px 10px;
	position: relative;
}

.facil_detail_ex > p.exnote_icon.exnote_event {
	width: 155px;
}

.facil_detail_ex > p.exnote_icon.exnote_party {
	width: 90px;
}

.facil_detail_ex > p.exnote_icon.exnote_inn {
	width: 75px;
}

.facil_detail_ex > p.exnote_icon.exnote_spa {
	width: 75px;
}

.facil_detail_ex > p.exnote_icon.exnote_restaurant {
	width: 122px;
}

.facil_detail_ex > p.exnote_icon::after {
	top: 1px;
	left: 2px;
}

.facil_detail_ex > p.exnote_icon::before {
	width: 100%;
	border-radius: 3px;
}

.facil_detail_ex > p.exnote_icon span {
	display: inline-block;
	padding: 0 5px 0 35px;
	line-height: 30px;
	font-size: 1.6rem;
	font-weight: 600;
	white-space: nowrap;
	color: #fff;
	position: absolute;
	left: 0;
	top: 1px;
}

.facil_detail_ex > p.exnote_icon span::before {
	display: none;
}


/* Details Content */

.facil_detail_cont {
	padding-top: 30px;
	position: relative;
	margin-bottom: 40px;
}

.facil_detail_cont .facil_photo {
	margin-bottom: 40px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 300px));
	/* grid-auto-rows: auto; */
	grid-auto-flow: dense;
	gap: 10px;
	justify-content: center;
	align-content: start;
}

.facil_detail_cont .facil_photo > div {
	width: 100%;
	height: auto;
}

.facil_detail_cont .facil_photo > div:only-child {
	grid-column: span 2;
}

.facil_detail_cont .facil_photo > div:only-child a {
	display: block;
	max-width: 300px;
	margin: 0 auto;
}

.facil_detail_cont .facil_photo > div:last-child {
	margin-bottom: 0;
}

.facil_detail_cont .facil_photo img {
	width: 100%;
}

.facil_cont_list {
	margin-bottom: 40px;
}

.facil_cont_list > dl {
	margin: 0;
	padding: 0;
	line-height: 2;
	font-size: 1.5rem;
	border-bottom: 1px solid #d5d5d5;
}

.facil_cont_list > dl > div {
	border-top: 1px solid #d5d5d5;
}

.facil_cont_list > dl dt {
	margin: 0;
	padding: 10px 0 5px 0;
	font-weight: 600;
	width: 100%;
}

.facil_cont_list > dl dt br {
	display: none;
}

.facil_cont_list > dl dd {
	margin: 0;
	padding: 0 0 10px 15px;
}

table.inn_spec th,
table.inn_spec td {
	white-space: nowrap;
}

table.inn_spec th:first-child,
table.inn_spec td:first-child {
	white-space: wrap;
	padding-right: 1em;
}

ul.facil_file_list {
	padding: 0;
	margin: 0;
}

ul.facil_file_list li {
	padding: 0;
	margin: 0 0 2px 0;
}

ul.facil_file_list li a::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	vertical-align: -4px;
	background-position: center center;
	background-size: contain;
	background-image: url(../img/icon_file_s.png);
}

ul.facil_file_list li.pdf a::after {
	background-image: url(../img/icon_Adobe_PDF_s.png);
}

ul.facil_file_list li.word a::after {
	background-image: url(../img/icon_word_s.png);
}

ul.facil_file_list li.excel a::after {
	background-image: url(../img/icon_excel_s.png);
}


/* Facility Equipment */

.facil_detail_equip {
	margin-bottom: 40px;
	background-color: #eee;
	padding: 10px 10px 0 10px;
	border-radius: 4px;
}

.facil_detail_equip > h3,
.facil_detail_equip > h4 {
	margin: 0 0 5px 0;
	padding: 0;
	line-height: 1.6;
	background-color: transparent;
	font-size: 1.8rem;
	font-weight: 600;
}

table.facil_table {
	width: auto;
	min-width: 100%;
	margin-bottom: 10px;
	line-height: 1.5;
	border-collapse: collapse;
	border-right: #d5d5d5 solid 1px;
	border-bottom: #d5d5d5 solid 1px;
	font-size: 1.4rem;
	background-color: #fff;
}

table.facil_table caption {
	display: none;
}

table.facil_table tr th {
	padding: 6px;
	font-weight: normal;
	text-align: center;
	white-space: nowrap;
	border-top: #d5d5d5 solid 1px;
	border-left: #d5d5d5 solid 1px;
}

table.facil_table tr td {
	padding: 6px;
	text-align: center;
	white-space: nowrap;
	border-top: #d5d5d5 solid 1px;
	border-left: #d5d5d5 solid 1px;
}

table.facil_table tr td:first-child {
	text-align: left;
	white-space: wrap;
	min-width: 8em;
}


/* Color Setting
------------------------------------------------------------- */

.facil_detail_title:has(.city_yamagata) > h3,
.search_result_list > div:has(.city_yamagata)::after {
	border-color: #add1d3;
}

.facil_detail_title:has(.city_tendo) > h3,
.search_result_list > div:has(.city_tendo)::after {
	border-color: #b4c6eb;
}

.facil_detail_title:has(.city_kaminoyama) > h3,
.search_result_list > div:has(.city_kaminoyama)::after {
	border-color: #f4ceaf;
}

.facil_detail_title:has(.city_murayama) > h3,
.search_result_list > div:has(.city_murayama)::after {
	border-color: #efbfe2;
}

.facil_detail_title:has(.city_sagae) > h3,
.search_result_list > div:has(.city_sagae)::after {
	border-color: #c5ddbc;
}

.facil_detail_title:has(.city_other) > h3,
.search_result_list > div:has(.city_other)::after {
	border-color: #ded4d0;
}


.facil_detail_tabs:has(.city_yamagata)::after,
.facil_list_tabs > p.city_yamagata,
.facil_detail_tabs > p.city_yamagata {
	background-color: #add1d3;
}

.facil_detail_tabs:has(.city_tendo)::after,
.facil_list_tabs > p.city_tendo,
.facil_detail_tabs > p.city_tendo {
	background-color: #b4c6eb;
}

.facil_detail_tabs:has(.city_kaminoyama)::after,
.facil_list_tabs > p.city_kaminoyama,
.facil_detail_tabs > p.city_kaminoyama {
	background-color: #f4ceaf;
}

.facil_detail_tabs:has(.city_murayama)::after,
.facil_list_tabs > p.city_murayama,
.facil_detail_tabs > p.city_murayama {
	background-color: #efbfe2;
}

.facil_detail_tabs:has(.city_sagae)::after,
.facil_list_tabs > p.city_sagae,
.facil_detail_tabs > p.city_sagae {
	background-color: #c5ddbc;
}

.facil_detail_tabs:has(.city_other)::after,
.facil_list_tabs > p.city_other,
.facil_detail_tabs > p.city_other {
	background-color: #ded4d0;
}

.facil_list_tabs > p.area_jr,
.facil_detail_tabs > p.area_jr {
	background-color: #efb3b0;
}

.facil_list_tabs > p.area_shigaichi,
.facil_detail_tabs > p.area_shigaichi {
	background-color: #d5bcda;
}

.facil_list_tabs > p.area_north,
.facil_detail_tabs > p.area_north {
	background-color: #a1c8e0;
}

.facil_list_tabs > p.area_south,
.facil_detail_tabs > p.area_south {
	background-color: #edde54;
}

.facil_list_tabs > p.area_zao,
.facil_detail_tabs > p.area_zao {
	background-color: #cbdd7a;
}

.facil_list_tabs > p.area_other,
.facil_detail_tabs > p.area_other {
	background-color: #ded4d0;
}



/* for SmallSize
--------------------------------------------------------------------------------- */
@media print, screen and (min-width:420px) {


	/* Explanatory Notes */

	.search_exnote {
		margin-top: -25px;
	}

}



/* for SmallSize
--------------------------------------------------------------------------------- */
@media print, screen and (min-width:480px) {

	/* Common
	------------------------------------------------------------- */
/*
	h1.page_title > br {
		display: none;
	}
*/

}



/* for MiddleSize(540-787)
-------------------------------------------------------------------------------- */
@media print, screen and (min-width:540px) {

	/* Kouiki Search
	------------------------------------------------------------- */

	.map_button p a br {
		display: none;
	}


	/* Result Index
	------------------------------------------------------------- */

	/* Explanatory Notes */

	.search_exnote {
		grid-template-columns: repeat(3, auto);
		grid-template-rows: auto;
	}


}





/* for MiddleSize(650-787)
-------------------------------------------------------------------------------- */
@media print, screen and (min-width:650px) {

	/* Details
	------------------------------------------------------------- */

	/* Details Content */

	.facil_detail_cont .facil_photo > div:only-child a {
		max-width: 420px;
	}
	

}





/* for MiddleSize
-------------------------------------------------------------------------------- */
@media print, screen and (min-width:788px) {

	/* Area Search
	------------------------------------------------------------- */

	.area_search_box {
		padding: 0;
	}

	.area_search_box .map_notes {
		text-align: center;
	}
	
	.area_search_cont.area_kouiki {
		display: grid;
		grid-template-columns: 320px 1fr;
		grid-template-rows: auto auto;
		gap: 40px 20px;
	}


	/* Kouiki Search
	------------------------------------------------------------- */

	/* ImgMap */

	.area_kouiki .map_img {
		margin-bottom: 0;
	}

	.area_kouiki .map_img p.city_other_btn {
		width: 95px;
		min-width: auto;
		height: 24px;
	}
	
	.area_kouiki .map_img p.city_other_btn a {
		line-height: 24px;
		font-size: 1.1rem;
		border-radius: 4px;
	}


	/* Button */

	.map_button {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: repeat(5, 1fr);
		gap: 15px;
		margin-bottom: 0;
	}

	.map_button p.btn_yamagata {
		grid-area: 1;
	}

	.map_button p.btn_tendo {
		grid-area: 2;
	}

	.map_button p.btn_kaminoyama {
		grid-area: 3;
	}

	.map_button p.btn_murayama {
		grid-area: 4;
	}

	.map_button p.btn_sagae {
		grid-area: 5;
	}

	.map_button p a {
		padding: 14px 10px;
		font-size: 1.4rem;
	}

	/* Capacity */

	.area_capacity {
		grid-area: 2/1;
		grid-column: span 2;
	}

	.area_capacity > h3 {
		text-align: left;
		padding: 10px 0 0 10px;
		margin-bottom: -30px;
	}

	table.area_capacity_table th,
	table.area_capacity_table td {
		font-size: 1.4rem;
		min-width: 7em;
	}


	/* Yamagata Search
	------------------------------------------------------------- */

	/* 　Enlarged Map for SP 　*/

	.map_large_sp {
		display: none;
	}


	/* 　Enlarged Map for PC */

	.map_large_pc {
		display: block;
		width: 720px;
		height: 880px;
		margin: 0 auto;
		position: absolute;
		left: 0;
		right: 0;
		top: 62px;
		z-index: 10;
		pointer-events: none;
	}

	div.map_large {
		position: absolute;
		opacity: 0;
		transition: 0.3s opacity;
	}

	div.map_large.show {
		opacity: 1;
	}

	div.map_large .img_ballon {
		background-color: #fff;
		border-radius: 24px;
		padding: 5px;
		position: relative;
		z-index: 1;
		filter:drop-shadow(2px 5px 3px rgba(0, 0, 0, 0.3));
	}

	div.map_large .img_ballon::after {
		content: "";
		display: block;
		width: 0;
		height: 0;
		position: absolute;
		border-top: 100px solid #fff;
		border-left: 20px solid transparent;
		border-right: 20px solid transparent;
		border-bottom: 0;
		z-index: -1;
	}

	div.map_large .img_ballon > div {
		width: 100%;
		overflow: hidden;
		border-radius: 20px;
	}

	div.map_large .img_ballon > div img {
		width: 100%;
	}

	div.map_large.on_jr {
		left: 0;
		top: 10%;
		width: 85%;
	}
	
	div.map_large.on_jr .img_ballon::after {
		left: 50%;
		bottom: -70px;
		transform: rotate(-45deg);
	}
	
	div.map_large.on_shigaichi {
		left: 10%;
		top: 2%;
		width: 70%;
	}

	div.map_large.on_shigaichi .img_ballon::after {
		left: 55%;
		bottom: -70px;
		transform: rotate(-45deg);
	}

	div.map_large.on_north {
		right: 0;
		top: 25%;
		width: 60%;
	}

	div.map_large.on_north .img_ballon::after {
		left: 55%;
		top: -70px;
		transform: rotate(205deg);
	}

	div.map_large.on_south {
		left: 0;
		bottom: 33%;
		width: 75%;
	}

	div.map_large.on_south .img_ballon::after {
		left: 50%;
		bottom: -70px;
		transform: rotate(-45deg);
	}

	div.map_large.on_zao {
		right: 0;
		bottom: 17%;
		width: 90%;
	}

	div.map_large.on_zao .img_ballon::after {
		right: 10%;
		bottom: -60px;
		border-top: 100px solid #fff;
		border-left: 24px solid transparent;
		border-right: 24px solid transparent;
		transform: rotate(25deg);
	}


	/* Result Index
	------------------------------------------------------------- */

	.search_result_box {
		padding: 40px 40px 0 40px;
	}


	/* Explanatory Notes */

	.search_exnote {
		grid-template-columns: repeat(5, auto);
		margin-right: 0;
	}

	/* Result List */

	.search_result_list {
		padding: 0;
	}


	/* Details
	------------------------------------------------------------- */

	.facil_detail_box {
		padding: 40px 40px;
	}

	/* Details Content */

	.facil_detail_cont {
		display: grid;
		grid-template-columns: 200px 1fr;
		gap: 30px;
		margin-bottom: 40px;
	}

	.facil_detail_cont .facil_photo {
		margin-bottom: 0;
	}

	.facil_cont_list {
		margin-bottom: 0;
	}

	.facil_detail_cont .facil_photo > div:only-child {
		grid-column: span 1;
	}
	
	.facil_detail_cont .facil_photo > div:only-child a {
		display: inline;
		max-width: none;
		margin: 0;
	}


}





/* for LargeSize
-------------------------------------------------------------------------------- */
@media print, screen and (min-width:980px) {


	.bread_navi p a:last-child, .bread_navi p span:last-child {
		max-width: none;
	}


	/* Area Search
	------------------------------------------------------------- */

	.area_search_box .area_search_title {
		font-size: 2.4rem;
	}

	.area_search_cont.area_kouiki {
		grid-template-columns: 420px 1fr;
		grid-template-rows: auto auto;
		gap: 40px 40px;
	}


	/* Kouiki Search
	------------------------------------------------------------- */

	.area_kouiki .map_img p.city_other_btn {
		width: 110px;
		min-width: auto;
		height: 28px;
	}
	
	.area_kouiki .map_img p.city_other_btn a {
		line-height: 28px;
		font-size: 1.3rem;
		border-radius: 4px;
	}


	/* Button */

	.map_button {
		gap: 18px;
	}

	.map_button p a {
		padding: 21px 10px;
		font-size: 1.6rem;
	}


	/* Yamagata Search
	------------------------------------------------------------- */

	/* 　Enlarged Map for PC */

	.map_large_pc {
		width: 840px;
		height: 880px;
	}

	div.map_large .img_ballon {
		border-radius: 28px;
	}

	div.map_large .img_ballon > div {
		border-radius: 22px;
	}

	div.map_large.on_jr {
		left: 0;
		top: 5%;
		width: 80%;
	}
	
	div.map_large.on_jr .img_ballon::after {
		left: 55%;
	}
	
	div.map_large.on_shigaichi {
		left: 8%;
		top: -1%;
		width: 65%;
	}

	div.map_large.on_shigaichi .img_ballon::after {
		left: 62%;
	}

	div.map_large.on_north {
		right: 0;
		top: 25%;
		width: 55%;
	}

	div.map_large.on_north .img_ballon::after {
		left: 45%;
	}

	div.map_large.on_south {
		left: 0;
		bottom: 34%;
		width: 70%;
	}

	div.map_large.on_south .img_ballon::after {
		left: 55%;
	}

	div.map_large.on_zao {
		right: 0;
		bottom: 17%;
		width: 85%;
	}

	div.map_large.on_zao .img_ballon::after {
		right: 15%;
	}


	/* Result Index
	------------------------------------------------------------- */

	.search_result_box {
		max-width: 1280px;
		margin: 0 auto;
	}


	/* Details
	------------------------------------------------------------- */

	.facil_detail_box {
		max-width: 1280px;
		margin: 0 auto;
	}

	/* Details Title */

	.facil_detail_title {
		min-height: 40px;
		position: relative;
	}

	.facil_detail_tabs {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		margin-bottom: 0;
	}

	.facil_detail_title > h2 {
		font-size: 2.6rem;
		padding-right: 100px;
		padding-bottom: 6px;
		border-bottom: 0;
	}

	.facil_detail_tabs:has(.area_jr) + h2,
	.facil_detail_tabs:has(.area_shigaichi) + h2,
	.facil_detail_tabs:has(.area_zao) + h2,
	.facil_detail_tabs:has(.area_other) + h2 {
		padding-right: 240px;
	}

	.facil_detail_tabs:has(.area_north) + h2,
	.facil_detail_tabs:has(.area_south) + h2 {
		padding-right: 190px;
	}


	/* Shisetsu & Syukuhaku Icons */

	.facil_detail_title .sub_icons {
		display: block;
		width: 460px;
		height: 30px;
		position: absolute;
		left: -5px;
		bottom: -50px;
	}


	/* Details Content */

	.facil_detail_cont {
		grid-template-columns: 240px 1fr;
		gap: 40px;
	}

	.facil_cont_list > dl > div {
		display: grid;
		grid-template-columns: 9em 1fr;
	}

	.facil_cont_list > dl dt {
		width: 6.5em;
		text-align: right;
		padding: 10px 0;
	}
	
	.facil_cont_list > dl dt br {
		display: inline;
	}
	
	.facil_cont_list > dl dd {
		padding: 10px 0;
	}

	/* Facility Equipment */

	table.facil_table tr td {
		white-space: wrap;
		min-width: 4em;
	}

}




/* for ExtraLargeSize
-------------------------------------------------------------------------------- */
@media print, screen and (min-width:1080px) {

	/* Area Search
	------------------------------------------------------------- */

	.area_search_cont {
		padding: 0 40px;
	}

}




/* for ExtraLargeSize
-------------------------------------------------------------------------------- */
@media print, screen and (min-width:1280px) {

	/* Area Search
	------------------------------------------------------------- */

	.area_search_box .area_search_title {
		font-size: 2.6rem;
	}


	/* Kouiki Search
	------------------------------------------------------------- */

	.area_search_cont.area_kouiki {
		grid-template-columns: 500px 1fr;
		grid-template-rows: auto auto;
		gap: 40px 40px;
	}

	.area_kouiki .map_img p.city_other_btn {
		width: 140px;
		min-width: auto;
		height: 36px;
	}
	
	.area_kouiki .map_img p.city_other_btn a {
		line-height: 36px;
		font-size: 1.6rem;
	}


	/* Button */

	.map_button {
		gap: 36px;
	}

	.map_button p a {
		padding: 22px 10px;
		font-size: 1.6rem;
	}

	/* Capacity */

	.area_capacity > h3 {
		padding: 12px 0 2px 10px;
		font-size: 1.8rem;
	}

	table.area_capacity_table th,
	table.area_capacity_table td {
		font-size: 1.5rem;
	}


	/* Details
	------------------------------------------------------------- */

	/* Details Content */

	.facil_detail_cont {
		grid-template-columns: 300px 1fr;
	}

	.facil_cont_list > dl > div {
		grid-template-columns: 11em 1fr;
	}

	.facil_cont_list > dl dt {
		width: 8.5em;
	}
	
	.facil_cont_list > dl dt br {
		display: none;
	}


	/* Facility Equipment */

	table.facil_table {
		font-size: 1.5rem;
	}




}






/*** Print Styles ***/

@media print {

	/* Common
	------------------------------------------------------------- */

	/* Button Hidden */

	.detail_search_submit {
		display: none;
	}


	/* Result Index
	------------------------------------------------------------- */

	/* Result List */

	.search_result_list {
		padding: 0;
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
		gap: 20px 20px;
	}

	.search_result_list > div {
		break-inside: avoid !important;
	}

	.search_result_list > div::before {
		display: none;
	}

	.facil_btn {
		display: none;
	}


	/* Details
	------------------------------------------------------------- */

	/* Details Content */

	.facil_detail_cont {
		grid-template-columns: 200px 1fr;
		gap: 20px;
		break-inside: auto;
	}


	/* Details Title */

	.facil_detail_title {
		min-height: auto;
		margin-top: -30px;
	}

	.facil_detail_tabs {
		position: relative;
		left: auto;
		bottom: auto;
		margin-bottom: 20px;
	}

	.facil_detail_title > h2 {
		font-size: 2rem;
		padding-right: 0;
		padding-bottom: 0;
		border-bottom-width: 1px;
	}

	.facil_detail_tabs:has(.area_jr) + h2,
	.facil_detail_tabs:has(.area_shigaichi) + h2,
	.facil_detail_tabs:has(.area_zao) + h2,
	.facil_detail_tabs:has(.area_other) + h2,
	.facil_detail_tabs:has(.area_north) + h2,
	.facil_detail_tabs:has(.area_south) + h2 {
		padding-right: 0;
	}


	/* Shisetsu & Syukuhaku Icons */

	.facil_detail_title .sub_icons {
		display: inline-block;
		width: auto;
		height: auto;
		position: relative;
		left: auto;
		bottom: auto;
	}

	.facil_detail_equip {
		break-inside: avoid;
	}

	table.facil_table {
		width: 100%;
		font-size: 1.3rem;
	}
	
	table.facil_table tr th {
		padding: 6px 4px;
		white-space: wrap;
	}
	
	table.facil_table tr td {
		padding: 6px 4px;
		white-space: wrap;
	}

	table.facil_table tr td:first-child {
		min-width: auto;
	}

	.facil_detail_box > .btn_txt {
		display: none;
	}

	/* Area Search
	------------------------------------------------------------- */

	.area_search_cont.area_kouiki {
		display: block;
	}

	/* Kouiki Search
	------------------------------------------------------------- */

	/* ImgMap */

	.map_img {
		max-width: 60vw;
	}

	.map_img img {
		margin-bottom: 20px;
	}

	.area_kouiki .map_img p.city_other_btn {
		bottom: 60px;
	}

	/* Button */

	.map_button {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: auto auto auto;
		gap: 15px;
		margin-bottom: 40px;
	}

	.map_button p.btn_yamagata {
		grid-area: 1/1;
	}

	.map_button p.btn_tendo {
		grid-area: 1/2;
	}

	.map_button p.btn_kaminoyama {
		grid-area: 1/3;
	}

	.map_button p.btn_murayama {
		grid-area: 2/1;
		grid-column: span 3;
	}

	.map_button p.btn_sagae {
		grid-area: 3/1;
		grid-column: span 3;
	}


}