@charset "utf-8";

* {
	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
	word-break: break-all;
	word-wrap: break-word;
}

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {
	margin: 0;
	padding: 0;
	border: 0;
	background: initial;
	outline: none;
	vertical-align: baseline;
}

input {
	-webkit-appearance: none;
}

area {
	outline: none;
}

/* ********** body ********** */
.body {
	height: 100%;
	width: 100%;
	font-size: 95%;
	background-image: url(../img/bg_header.png), url(../img/bg_all.jpg);
	background-repeat: repeat-x, repeat;
	color: #333;
}

.pc {}

.sp {
	display: none;
}

.ta-left {
	text-align: left !important;
}

/* index */
.b-solid01 {
	border: solid 3px #ec3374;
}

.bc-01 {
	background-color: #ec3374;
}

.bc-floor01 {
	background-color: #ff85b0;
}

/* index02 */
.b-solid02 {
	border: solid 3px #33a633;
}

.bc-02 {
	background-color: #33a633;
}

.bc-floor02 {
	background-color: #84d484;
}

/* index03 */
.b-solid03 {
	border: solid 3px #2666f6;
}

.bc-03 {
	background-color: #2666f6;
}

.bc-floor03 {
	background-color: #6dabf7;
}

/* index04 */
.b-solid04 {
	border: solid 3px #f66135;
}

.bc-04 {
	background-color: #f66135;
}

.bc-floor04 {
	background-color: #f89b55;
}

/* index05 */
.b-solid05 {
	border: solid 3px #7f4d9b;
}

.bc-05 {
	background-color: #7f4d9b;
}

.bc-floor05 {
	background-color: #c190dd;
}

/* ********** header ********** */
.header {
	width: 100%;
	padding: 20px 30px 0;
}

.header .logo {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	line-height: 0;
}

.header .logo a {
	display: block;
	max-width: 200px;
	height: auto;
}

.header .logo a img {
	height: auto;
	width: 100%;
	vertical-align: bottom;
}

/* ********** /header ********** */
/* ********** nav ********** */
.nav {
	width: 100%;
	padding: 0 30px;
	position: relative;
}

.nav .nav_inner {
	width: 100%;
	max-width: 980px;
	text-align: center;
	margin: 0 auto;
}

.list a {
	height: 100%;
	width: 100%;
	color: #333;
	font-size: 0.875em;
	text-decoration: none;
	background-color: #d4c6b2;
}

.list.active a,
.list a:hover {
	color: #fff;
}

.list.closed a,
.list.closed a:hover {
	color: #d3d3d3;
	background-color: #f5f5f5;
	pointer-events: none;
}

.menu-pc {
	width: 100%;
	margin-bottom: 20px;
	list-style: none;
	display: flex;
	border-radius: 5px;
	overflow: hidden;
}

.menu-pc .list {
	width: 100%;
}

.menu-pc .list:not(:last-child) {
	border-right: solid 1px #f5edc6;

}

.menu-pc .list a {
	padding: 10px 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 個別色 */
.list._l1.active a,
.list._l1 a:hover {
	background-color: #ee407f;
}

.list._l2.active a,
.list._l2 a:hover {
	background-color: #33a633;
}

.list._l3.active a,
.list._l3 a:hover {
	background-color: #3272f7;
}

.list._l4.active a,
.list._l4 a:hover {
	background-color: #f66135;
}

.list._l5.active a,
.list._l5 a:hover {
	background-color: #7f4d9b;
}


.menu-sp {
	display: none;
}

.humberger {
	width: 100%;
	color: #fff;
	font-size: 16px;
	background-color: #967153;
	padding: 10px;
	display: block;
	cursor: pointer;
}

.humberger:hover {
	background-color: #ad8a6d;
}

.menu-sp ul {
	width: 100%;
	list-style: none;
	display: none;
}


.menu-sp .list a {
	padding: 10px 10px 10px 20px;
	display: flex;
	align-items: center;
}

.closed a span::after {
	content: "COMING SOON";
	display: block;
	color: #ffb938;
	font-size: 16px;
	font-weight: bold;
}

.headline {
	width: 100%;
	max-width: 980px;
	margin: 10px auto 10px;
	display: flex;
	justify-content: space-between;
}

.ttl {
	height: auto;
	width: 80%;
	max-width: 687px;
	display: flex;
	align-items: center;
	justify-content: center;
	vertical-align: bottom;
}

.header_img {
	height: auto;
	width: 20%;
	max-width: 196px;
	display: flex;
	align-items: center;
	justify-content: center;
	vertical-align: bottom;
}

.ttl img,
.header_img img {
	height: auto;
	width: 100%;
	vertical-align: bottom;
}

/* ********** /nav ********** */
/* ********** aside ********** */
.aside {}

.btn-aside {
	top: 0;
	right: 0;
	width: 30px;
	text-align: center;
	background-color: #967153;
	padding: 10px 0;
	position: fixed;
	display: none;
	cursor: pointer;
	z-index: 3;
	filter: drop-shadow(0 0 3px rgba(0,0,0,0.25));
}

.btn-aside:hover {
	background-color: #ad8a6d;
}

.btn-aside span {
	color: #fff;
	font-size: 16px;
}

.menu-aside {
	top: 0;
	right: 0;
	width: 70%;
	max-height: 100%;
	position: fixed;
	list-style: none;
	/* display: none; */
	z-index: 1;
	border-radius: 0 0 0 5px;
	overflow: hidden;
	transform: translateX(calc(100% + 10px));
	transition: 0.4s;
	box-shadow: -2px 2px 2px rgba(0,0,0,0.2);
}

.menu-aside._is-show {
	transform: translateX(0);
}

.menu-aside {
	overflow-y: auto;
}

.menu-aside .list:not(:last-child) {
	border-bottom: solid 1px #f5edc6;
}

.menu-aside .list a {
	padding: 10px 50px 10px 20px;
	display: block;
}

/* ********** /aside ********** */
/* ********** main ********** */
.main {
	height: 100%;
	width: 100%;
	padding: 0 30px;
	display: block;
}

/* ********** article ********** */
.article {
	height: 100%;
	width: 100%;
	max-width: 980px;
	background-color: #fff;
	margin: 0 auto;
	padding: 20px;
}

/* ********** section ********** */
.section {
	height: 100%;
	width: 100%;
	margin-bottom: 20px;
	margin-top: 10px;
}

.section:last-child {
	margin-bottom: 0;
}
.bldg_wrap {
	/* pdf等リンクがある場合 */
	display: flex;
	align-items: flex-end;
}
.bldg {
	min-width: 25%;
	max-width: 50%;
	color: #fff;
	font-size: 1.1em;
	font-weight: normal;
	border-radius: 0 5px 0 0;
	padding: 5px 10px 0;
	display: inline-block;
	flex-shrink: 0;
}

.bldg a {
	color: #fff;
	font-size: 1.1em;
	font-weight: normal;
}

.bldg a:hover {
	color: #ccc;
	text-decoration: none;
}
.bldg_detail {
	color: inherit;
	font-size: 0.8em;
	display: inline-block;
	padding: 5px 10px;
}
a.bldg_detail:hover {
	color: #ccc;
	text-decoration: none;
}
@media screen and (min-width: 768px) {
	.bldg_detail {
		background: transparent !important;
	}
}
.floor {
	color: #fff;
	font-size: 0.625em;
	text-align: center;
	text-indent: 0;
	line-height: 1.4;
	padding: 1.5px 3px 0;
	display: inline-block;
	margin-right: 3px;
}

.notes {
	color: #333;
	font-size: 0.8em;
}

.wrapper {
	width: 100%;
	margin-bottom: 10px;
	overflow-y: hidden !important;
}

.wrapper::-webkit-scrollbar {
	background-color: #ebd0a9;
}

.wrapper::-webkit-scrollbar-thumb {
	background-color: #ffb115;
}

.section table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
	table-layout: fixed;
}

.section table thead {
	width: 100%;
	background-color: #efeae6;
}

.section table thead tr th {
	border-bottom: solid 1px #ccc;
}

.section table thead tr th {
	color: #333;
	font-size: 0.8em;
	border-right: solid 1px #ccc;
	vertical-align: middle;
}

.section table thead tr th:first-child {
	background-color: #fff;
}

.section table thead tr th:last-child {
	border-right: none;
}

.section table tbody {}

.section table tbody tr {
	border-bottom: solid 1px #ccc;
}

.section table tbody tr:last-child {
	border-bottom: none;
}

.section table tbody tr th {
	border-right: solid 1px #ccc;
	padding: 5px;
	vertical-align: middle;
}

.section table tbody tr th:last-child {
	border-right: solid 1px #ccc;
}

.section table tbody tr th a,
.section table tbody tr td a {
	color: #333;
	font-size: 1em;
	font-weight: normal;
}

.section table tbody tr th a:hover,
.section table tbody tr td a:hover {
	color: #666;
	text-decoration: none;
}

.linknone:hover {
	color: #333 !important;
}

.section table tbody tr td {
	font-size: 1em;
	text-align: center;
	border-right: solid 1px #ccc;
	padding: 5px;
	vertical-align: middle;
}

.section table tbody tr td:last-child {
	border-right: none;
}

.section table tfoot {}

.holiday {
	color: #ff0000 !important;
}

td.holiday {
	background-color: #fedde2;
}

.regular {
	color: #777 !important;
}

.td_notes {
	color: #333;
	font-size: 0.8em;
	display: block;
	line-height: 1.3;
	margin-top: 5px;
}

.td_notes span {
	display: inline-block;
}

/* ********** /section ********** */
.banner_area {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #d4c6b2;
}

.banner_title {
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.04em;
	font-size: 1.1em;
	color: #6a594b;
}

.banner_title p {
	position: relative;
	display: inline-block;
	padding-inline: 1.8em;
}

.banner_title p::before,
.banner_title p::after {
	content: "";
	display: inline-block;
	background: currentColor;
	opacity: 0.8;
	width: 1.4em;
	height: 2px;
	position: absolute;
	bottom: 50%;
}

.banner_title p::before {
	left: 0%;
	transform: rotate(56deg) translate(0, -50%);
}

.banner_title p::after {
	right: 1.5%;
	transform: rotate(-56deg) translate(0, -50%);
}

.banner_title span {
	display: inline-block;
}

.banner_list {
	list-style: none;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 20px;
}

.banner_item {
	width: 32%;
	max-width: 300px;
}

.banner_link {
	display: block;
	transition: 0.3s;
}

.banner_link:hover {
	opacity: 0.7;
}

.banner_link img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

/* ********** /article ********** */
/* ********** /main ********** */
/* ********** nav ********** */
.return-pc {
	cursor: pointer;
	right: 0;
	/* bottom: 73px; */
	bottom: calc(20px + 48px + 10px); /* 20+48 翻訳バー分の余白を確保 */
	position: fixed;
	display: none;
	filter: drop-shadow(0 0 3px rgba(0,0,0,0.25));
}

.return-pc span {
	display: block;
	width: 30px;
	height: 188px;
	background: url(../img/return_on.png) no-repeat center/contain;
}

.return-pc span img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
	transition: 0.3s;
}

.return-pc span:hover img {
	opacity: 0;
}

.return-sp {
	cursor: pointer;
	/* bottom: 20px; */
	bottom: calc(48px + 10px); /* 48 翻訳バー分の余白を確保 */
	left: 20px;
	width: 100%;
	text-align: center;
	padding-right: 90px;
	position: fixed;
	z-index: 1;
	filter: drop-shadow(0 0 3px rgba(0,0,0,0.25));
}

.return-sp span {
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	background-color: #ab6763;
	padding: 4.5px 5px;
	display: none;
}

.return-sp span:hover {
	background-color: #bf7b77;
}

/* ********** /nav ********** */
/* ********** footer ********** */
.footer {
	width: 100%;
	margin: 0 auto;
	padding: 10px 30px 50px;
	text-align: right;
}

.footer p {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	font-size: 10px;
}

.footer p img {
	width: 100%;
	max-width: 486px;
	margin-left: auto;
	display: block;
	vertical-align: bottom;
}

.box {
	margin-top: 22px;
	text-align: center;
	border: solid 3px #e13f58;
}

.box p.title {
	display: block;
	background-color: #e13f58;
	color: #ffffff;
	padding: 8px 10px;
	font-weight: bold;
}

.box p.note {
	display: block;
	padding: 8px 10px;
	color: #e13f58;
	font-weight: bold;
}

/* ********** /footer ********** */
/* ********** /body ********** */


/* ********** @media screen max-width: 767px ********** */
@media screen and (max-width: 767px) {

	/* ********** body ********** */
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	/* ********** header ********** */
	.header {
		padding: 15px 20px 0;
	}

	.headline {
		margin: 15px auto 20px;
	}

	.ttl {
		width: 100%;
		margin: 0 auto;
		max-width: 600px;
	}

	/* ********** /header ********** */
	/* ********** nav ********** */
	.nav {
		padding: 0;
	}

	.menu-pc {
		display: none;
	}

	.menu-sp {
		display: block;
	}

	.menu-sp .list:not(:last-child) {
		border-bottom: solid 1px #f5edc6;
	}

	.menu-sp .list {
		text-align: left;
	}

	/* ********** /nav ********** */
	/* ********** aside ********** */
	.btn-aside {
		top: initial;
		/* bottom: 0; */
		bottom: calc(48px); /* 48 翻訳バー分の余白を確保 */
		width: 50px;
		padding: 25px;
	}

	.btn-aside:hover {
		background-color: #ad8a6d;
	}

	.btn-aside span {
		right: 0;
		left: 0;
		height: 2px;
		width: 50%;
		border-radius: 5px;
		background-color: #fff;
		margin: 0 auto;
		position: absolute;
	}

	.btn-aside span:nth-of-type(2) {
		top: 17px;
	}

	.btn-aside span:nth-of-type(3) {
		top: 25px;
	}

	.btn-aside span:nth-of-type(4) {
		bottom: 15px;
	}

	.menu-aside .list a {
		padding: 10px 20px;
	}

	/* ********** /aside ********** */
	/* ********** main ********** */
	.main {
		padding: 0;
	}

	/* ********** article ********** */
	/* ********** section ********** */
	.bldg_wrap {
		display: block;
		/* transform: translateY(1px); */
	}
	.bldg {
		width: 80%;
		max-width: none;
	}
	.bldg_detail {
		width: 80%;
		color: #fff;
	}
	.fixTable1,
	.fixTable2 {
		width: 767px !important;
	}

	/* ********** /section ********** */
	.banner_title {
		font-size: 1.1em;
	}

	.banner_title p {
		max-width: 16em;
	}

	.banner_title p::before,
	.banner_title p::after {
		width: 2em;
		bottom: 28%;
	}

	.banner_title p::before {
		left: 0%;
		transform: rotate(56deg) translate(0, 0%);
	}

	.banner_title p::after {
		right: 1.5%;
		transform: rotate(-56deg) translate(0, 0%);
	}

	.banner_list {
		justify-content: center;
		margin-left: -10px;
	}

	.banner_item {
		width: calc(50% - 10px);
		margin-left: 10px;
	}

	.banner_item:nth-child(n+3) {
		margin-top: 10px;
	}

	/* ********** /article ********** */
	/* ********** /main ********** */
	/* ********** nav ********** */
	.return-pc span {
		display: none;
	}

	.return-sp span {
		display: block;
	}

	/* ********** /nav ********** */
	/* ********** footer ********** */
	.footer {
		padding: 10px 0 70px;
		padding-bottom: calc(48px + 10px + 30px + 10px); /* 48 翻訳バー分の余白を確保 + return-sp */
	}

	.footer p {
		padding: 0 20px;
	}

	.footer p img {
		margin: 0 auto;
	}

	/* ********** /footer ********** */
	/* ********** /body ********** */
}

/* ********** /@media screen max-width: 767px ********** */
@media screen and (max-width: 500px) {

	.header .logo a {
		max-width: 150px;
	}
}