@charset "utf-8";

/* =========================================
	footer
========================================= */
#footer {
	text-align: center;
	padding-bottom: 120px;
	padding-top: 3em;
}
#page-top {
	margin: 0 auto 2em;
	width: 30px;
	height: 30px;
}
#page-top a {
	display: block;
	width: 100%;
	height: 100%;
	border: 2px solid;
	border-radius: 2px;
	border-color: #999 #999 transparent transparent;
	transform: rotate(-45deg);
	cursor: pointer;
}
#footer dl.credit {
	display: inline-block;
	margin: 0 auto 2em;
}
#footer dl.credit dt {
	font-size: 1.5rem;
	font-weight: 600;
	margin: 0 auto 1em;
}
#footer dl.credit dt b {
	display: block;
	font-size: 0.85rem;
	line-height: 1.5;
	margin: 0 auto 1.5em;
}
#footer dl.credit dt img {
	height: auto;
	width: 280px;
}
#footer dl.credit dd {
	text-align: left;
}
#footer dl.credit dd ul {
	display: flex;
	justify-content: center;
	align-items: center;
}
#footer dl.credit dd ul li {
	margin: 0 0.5em 0 0;
}
#footer dl.credit dd ul li::after {
	content: '/';
	padding-left: 0.5em;
}
#footer dl.credit dd ul li:last-child::after {
	content: '';
	padding: 0;
}
#footer dl.credit dd ul li b {
	font-size: 1.2rem;
}
#footer nav ul.menu {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin: 0 auto;
	font-size: 0.85rem;
}
#footer nav ul.menu li {
	margin: 0 1em 0.5em 0;
}
#footer nav ul.menu li a {
	color: #333;
}
#footer nav ul.menu li::after {
	content: '/';
	padding-left: 1em;
}
#footer nav ul.menu li:last-child {
	margin-right: 0;
}
#footer nav ul.menu li:last-child::after {
	content: '';
	padding: 0;
}
#footer small {
	display: block;
	text-align: center;
	padding: 2em 0;
	margin-top: 2em;
	background-color: #333;
	color: #fff;
	font-size: 0.8rem;
}

@media screen and (max-width: 568px) {
	#footer {
		padding-bottom: 80px;
	}
	#footer dl.credit dt {
		font-size: 1.15rem;
	}
	#footer dl.credit dt img {
		width: 200px;
	}
	#footer dl.credit dd ul {
		display: block;
	}
	#footer dl.credit dd ul li::after {
		content: '';
		padding: 0;
	}
	#footer nav ul.menu {
		font-size: 0.75rem;
	}
	#footer small {
		padding: 1.5em 0;
		font-size: 0.7rem;
	}
}

/* =========================================
	ページ下部固定バー（footFix）
========================================= */
#footFix {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 999;
	display: flex;
	height: 100px;
	width: 100%;
}
#footFix ul {
	display: flex;
	width: 100%;
}
#footFix ul li {
	width: 33.3333%;
}
#footFix ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100px;
	width: 100%;
	color: #fff;
	text-decoration: none;
	font-size: 1.1rem;
	text-align: center;
}
#footFix ul li a b {
	word-break: keep-all;
	font-weight: 600;
}
#footFix ul li a img {
	display: block;
	height: auto;
	width: 48px;
	margin-right: 0.75em;
}
#footFix ul li a.reserve { background-color: #f4aa2d; }
#footFix ul li a.requirements { background-color: #f4712c; }
#footFix ul li a.line { background-color: #07b53a; }

@media screen and (max-width: 768px) {
	#footFix {
		height: 80px;
	}
	#footFix ul li a {
		flex-direction: column;
		font-size: 0.7rem;
		letter-spacing: 0;
		padding: 0.75em 0.25em;
	}
	#footFix ul li a img {
		width: 32px;
		margin: 0 0 0.4em;
	}
}
