@charset "UTF-8";

/* 基本設定： フォントサイズ */
@media (max-width: 599px) {
	:root {
		font-size: 14px;
	}
}
@media (min-width: 600px) and (max-width: 799px) {
	:root {
		font-size: 16px;
	}
}
@media (min-width: 800px) {
	:root {
		font-size: 18px;
	}
}

/* 基本設定： ページ全体 */
* {
	margin: 0;
	padding: 0;
	font-style: normal;
	box-sizing: border-box;
}
header, nav, aside, section, article, footer {
	display: block;
}
h1, h2, h3, h4, h5 {
	font-family: 'M PLUS 1p', sans-serif;
	font-weight: 900;
}
a {
	color: inherit;
	text-decoration: none;
}
a:hover {
	color: #e60012;
}
ul, ol, ul li {
	list-style: none;
}
small {
	display: inline-block;
	font-size: .8rem;
	line-height: 1.4;
}
img {
	border: none;
	vertical-align: bottom;
}
iframe {
	border: none;
	vertical-align: bottom;
}
.mplus {
	font-family: 'M PLUS 1p', sans-serif;
	font-weight: 900;
}
.center {
	text-align: center;
}
.red {
	color: #e60012;
}
.none {
	display: none;
}

body {
	margin: 0;
	font-family: 'メイリオ', 'Hiragino Kaku Gothic Pro', sans-serif;
	font-size: 1rem;
	color: #333;
	background-image: url(../images/bg-header.png), url(../images/bg-footer.png);
	background-repeat: repeat-x, repeat-x;
	background-position: top left, bottom left;
	background-attachment: fixed;
	background-color: #dcf0f0;
}
#wrapper {
	max-width: 1000px;
	margin: 0 auto;
	background-color: #fffec2;
}

/* ヘッダー */
header .container {
	width: 100%;
	margin: 0 auto;
	letter-spacing: 0;
	border-top: solid 5px #555;
}
header #toggle {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: .5rem 1.5rem;
}
header #toggle a {
	padding-top: 0.6rem;
	font-size: 2rem;
	line-height: 2rem;
	font-weight: 900;
}
header #toggle a span {
	display: block;
	font-size: 1rem;
	line-height: 1.6rem;
	color: #555;
}
header #toggle a:hover {
	color: rgba(0,0,0,.3);
}
header #toggle .button {
	width: 30px;
	height: 36px;
	background: url(../images/toggle-button.svg) center;
}
header #menu {
	display: none;
	font-size: 12px;
}
header #menu dt {
	display: block;
	width: 100%;
	height: 100%;
	padding: 12px;
	font-weight: bold;
	text-align: center;
	line-height: 16px;
	background-color: #FFEAAE;
	border-top:1px solid #333;
}
header #menu dd a, header #menu dd span {
	background-color: #fff4b8;
}
header #menu dd .parent li a {
	background-color: #fffec2;
}
header #menu dd, header #menu dd .parent ul {
	display: none;
}
header #menu li {
	border-top:1px solid #333;
}
header #menu li a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 12px;
	text-align: center;
	line-height: 16px;
}
header #menu li a:hover{
	background-color: rgba(0,0,0,.3);
}
header .hero {
	width: 100%;
}

#contents {
	max-width: 1000px;
	margin: 0 auto;
	letter-spacing: .1rem;
	background-color: #fffec2;
}


#contents article {
	margin: 1.5rem;
}
#contents article section {
	margin-bottom: 1.5rem;
	padding-bottom: .75rem;
	background: #fff;
}
#contents article section h1 {
	margin-bottom: 20px;
	padding: 8px 20px;
	border-top:solid 1px #ddd;
	border-bottom:solid 1px #ddd;
	font-size: 125%;
	font-weight: normal;
	color:#7ba428;
}
#contents article section h2 {
	padding: 0 20px 10px;
	font-size: 125%;
	line-height: 1.5em;
}
#contents article section p {
	padding: 0 20px 10px;
	line-height: 1.5em;
}
#contents article section ul {
	padding: 0 30px 20px;
}
#contents article section ul li {
	line-height: 1.5em;
}
#contents article section a {
	color:#7ba428;
}
#contents article section a:hover {
	color: #fff;
	background-color: #7ba428;
}
#contents article section img {	
	width: 100%;
}
#contents article section .map {	
	padding: 0 20px 20px;
}
#contents article section .map iframe {
	width: 100%;
	height: 480px;
}
#contents article section .store {
	width: 50%;
	min-width: 200px;
	min-height: 320px;
	float: left;
}
#contents article section .store h2 {
	padding: 0 30px;
}
#contents article section .store img {
	width: 150px;
	height: 100px;
}
#contents article section .store p {
	padding: 0 30px;
}
#contents article section .store ul {
	padding: 0 30px 30px;
}
#contents article section .store li {
	font-size: 70%;
}
#contents article section .store dt {
	width: 40px;
	height: 100%;
	float: left;
}
#contents article section .kaiin dl {
	width: 50%;
	min-height: 350px;
	float: left;
}
#contents article section .kaiin dt {
	padding: 0 30px 10px;
	font-size: 125%;
	font-weight: bold;
	line-height: 1.5em;
}

/* フッター */
footer {
	color: #fff;
	background-color: #605f62;
}
footer .ad {
	background: #ccc url(../images/footer_bg.png) repeat-x top left;
}
footer .ad .col {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1000px;
	margin: 0 auto;
	padding: 2rem 1rem;
}
footer .ad .box {
	flex: 1 1 250px;
	padding: 1rem;
}
footer .ad .box img {
	width: 100%;
}
footer .ad .box p {
	height: 100%;
	padding: 20px;
	background-color: #999;
}
footer .ad .info {
	flex: 0 0 100%;
	margin-top: 1rem;
	text-align: center;
	color: #999;
}
footer .ad .info a {
	color: #555;
	text-decoration: underline;
}
footer .container {
	max-width: 1000px;
	margin: 0 auto;
	padding: 2rem 1rem;
}
footer .add {
	margin-bottom: 2rem;
	font-size: 14px;
}
footer .add h2 {
	margin-bottom: 1rem;
}
footer .sns {
	margin-top: 20px;
}
footer .sns ul {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}
footer .sns a {
	display: block;
	margin: 0 .25rem;
}
footer .sns a:hover img {
	opacity: .8;
}
footer .global div {
	margin-bottom: 20px;
}
footer .global h3 {
	margin-top: 0;
	margin-bottom: 10px;
	border-bottom: solid 1px currentColor;
	font-size: 14px;
}
footer .global ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
footer .global a {
	display: block;
	padding: 5px;
	color: inherit;
	font-size: 12px;
	text-decoration: none;
}
footer .global a:hover {
	background-color: rgba(0,0,0,.3);
}
footer .copy p {
	font-size: 12px;
	text-align: center;
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
	letter-spacing: 0;
}

/* thanks.html */
div#mfp_thanks {
	text-align: center;
	font-size: 18px;
	padding: 20px 0;
}
div#mfp_thanks strong {
	color: #c00;
	font-size: 24px;
}

/* Animated Scroll to Top */
#backTop {
	position: fixed;
	width: 64px;
	text-align: center;
	bottom: 3rem;
	right: 1rem;
	cursor: pointer;
}
#backTop:hover {
	opacity: .8;
}
#backTop img {
	display: block;
	margin: 0 auto .5rem;
}
#backTop span {
	display: block;
	font-size: .85rem;
	font-family: 'M PLUS 1p', sans-serif;
	font-weight: 900;
	color: #ca0012;
}
