body{
	min-height: 100vh;
	margin: 0 auto;
	padding: 0;
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: #505050;
	background: #FFF;
}
a:link{
	text-decoration: none;
	transition: all 0.3s;
}
a:hover{
	text-decoration: none;
}
a:visited{
	text-decoration: none;
}
img{
	vertical-align: middle;
	width: 100%;
}
.flexbox{
	display: flex;
	flex-wrap: wrap;
}
.clearfix{ zoom: 1; }
.clearfix:after{
	content: ".";
	display: block;
	height: 0px;
	clear: both;
	visibility: hidden;
	font-size: 0;
}
*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	margin-block: 0;
	margin-inline: 0;
}
dl dt{
	font-weight: normal;
}
em{
	font-style: normal;
}
.noto-sans-regular{
	font-family: YakuHanJP, "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
.noto-sans-bold{
	font-family: YakuHanJP, "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
}
.noto-sans-black{
	font-family: YakuHanJP, "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
}
.zen-maru-gothic-regular{
	font-family: YakuHanRP, "Zen Maru Gothic", serif;
	font-weight: 400;
	font-style: normal;
}
.zen-maru-gothic-medium{
	font-family: YakuHanRP, "Zen Maru Gothic", serif;
	font-weight: 500;
	font-style: normal;
}
.zen-maru-gothic-bold{
	font-family: YakuHanRP, "Zen Maru Gothic", serif;
	font-weight: 700;
	font-style: normal;
}
.zen-maru-gothic-black{
	font-family: YakuHanRP, "Zen Maru Gothic", serif;
	font-weight: 900;
	font-style: normal;
}
.klee-one-regular{
	font-family: YakuHanMP, "Klee One", cursive;
	font-weight: 400;
	font-style: normal;
}
.klee-one-semibold{
	font-family: YakuHanMP, "Klee One", cursive;
	font-weight: 600;
	font-style: normal;
}

#wrapper{
	width: 100%;
	margin: 0 auto;
}
p{
	margin-bottom: 1em;
}
p:last-of-type{
	margin-bottom: 0;
}
.sp{
	display: none;
}
@media screen and (max-width:480px){
	.pc{
		display: none !important;
	}
	.sp{
		display: block;
	}
}

/* ---------------------------------------------------------
	ヘッダー&フッター
---------------------------------------------------------*/
header{
	position: relative;
	z-index: 1000;
	width: 100%;
	border-top: 5px solid #0051A3;
	border-bottom: 10px solid #A9A18C;
	filter: drop-shadow(0px 3px 5px rgba(0,0,0,0.15));
}
header #header_inner{
	position: relative;
	margin: 0 auto;
	padding: 5px 10px;
	max-width: 960px;
	gap: 0 0;
	align-items: center;
	justify-content: space-between;
}
#header_inner figure a{
	display: block;
}
#header_inner figure a:hover{
	opacity: 0.6;
}
#header_inner figure#front{
	width: 700px;
	align-items: end;
}
figure#front h1{
	order: 2;
	font-size: clamp(1rem, 0.599rem + 1.709vw, 1.625rem);
	color: #8B5E3C;
}
figure#front h1 span{
	display: block;
	font-size: 12px;
	color: #000;
}
figure#front a{
	margin-right: 5px;
	width: 120px;
}
#header_inner figure#official{
	width: 180px;
	line-height: 1.0;
	align-content: space-between;
}
figure#official a:nth-of-type(1){
	margin-bottom: 5px;
}
figure#official a:nth-of-type(2){
	padding: 5px 0;
	font-size: 14px;
	text-align: center;
	color: #FFF;
	background: #AC452B;
	border-radius: 5px;
}
figure#official a:nth-of-type(2) span{
	display: block;
	font-size: 12px;
}
figure#official a:nth-of-type(2):hover{
	opacity: 1;
	background: #C27D58;
}

footer{
	margin-top: 100px;
	padding-top: 40px;
	line-height: 1.2;
	text-align: center;
	box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.3) inset;
}
footer dl{
	margin: 0 auto 30px;
	font-size: 12px;
}
footer dl dt{
	margin-bottom: 0.5em;
}
footer dl dd figure a{
	display: block;
}
footer dl dd figure img{
	margin-bottom: 0.5em;
	width: 180px;
}
footer dl dd figure a:hover{
	opacity: 0.6;
}
footer address{
	padding: 3px 0;
	font-size: 12px;
	color: #FFF;
	text-align: center;
	background: #A9A18C;
}
@media screen and (max-width:820px){
	.contents{
		padding-right: 20px !important;
		padding-left: 20px !important;
	}
	header #header_inner{
		padding: 5px 20px;
	}
	#header_inner figure#front{
		width: 80%;
		align-items: center;
	}
	#header_inner figure#official{
		width: 20%;
	}
	figure#front a{
		width: 15%;
		max-width: 100px;
		margin-right: 0;
	}
}
@media screen and (max-width:480px){
	.contents{
		padding-right: 10px !important;
		padding-left: 10px !important;
	}
	#header_inner figure#front{
		width: 100%;
	}
	figure#front a{
		width: 18%;
		min-width: 60px;
		margin-right: 5px;
	}
	figure#front h1{
		line-height: 1.2;
	}
	
}

/* ---------------------------------------------------------
	PCナビ
---------------------------------------------------------*/
nav#pc_nav{
	position: absolute;
	z-index: 1;
	width: 100%;
	max-width: 960px;
	text-align: center;
	top: calc(100% + 10px);
	line-height: 0;
	left: 50%;
	transform: translateX(-50%);
}
nav#pc_nav #pc_nav_inner{
	display: none;
	padding: 0 10px 10px 10px;
	background: #A9A18C;
	border-radius: 0 0 10px 10px;
	filter: drop-shadow(0px 3px 5px rgba(0,0,0,0.15));
}
#pc_nav_inner > ul{
	padding: 10px 30px;
	text-align: left;
	font-size: 14px;
	line-height: 1.5;
	background: #FFF;
	border-top: none;
	border-radius: 0 0 8px 8px;
	gap: 0.5em 0;
}
#pc_nav_inner > ul li{
	width: 14em;
}
#pc_nav_inner > ul li a{
	display: block;
	color: #556B2F;
}
#pc_nav_inner > ul li a::before{
	content: '●';
}
#pc_nav_inner > ul li a:hover{
	text-decoration: underline;
}
p#show_menu{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
nav#pc_nav > p#show_menu a{
	position: relative;
	display: inline-block;
	padding: 5px 10px;
	font-size: 10px;
	line-height: 1.0;
	color: #FFF;
	background: #8B5E3C;
	border-radius: 0 0 5px 5px;
	filter: drop-shadow(0px 3px 5px rgba(0,0,0,0.15));
}
nav#pc_nav > p#show_menu a img{
	display: block;
	margin: 2px auto 0;
	width: 22px;
	transition: all 0.3s;
	transform: rotate(180deg);
}
nav#pc_nav > p#show_menu a:hover,
nav#pc_nav > p#show_menu.opn a{
	background: #C27D58;
}
nav#pc_nav > p#show_menu a:hover img,
nav#pc_nav > p#show_menu.opn a img{
	transform: rotate(0deg);
}
nav#pc_nav > p#show_menu.opn a:hover{
	background: #8B5E3C;
}
nav#pc_nav > p#show_menu.opn a:hover img{
	transform: rotate(180deg);
}

@media screen and (max-width:820px){
	nav#pc_nav{
		width: calc(100% - 40px);
	}
}

/* ---------------------------------------------------------
	SPナビ
---------------------------------------------------------*/
header #sp_nav div{
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}
#sp_nav div a{
	display: block;
	padding: 5px 10px;
	line-height: 1.2;
	font-weight: bold;
	color: #FFF;
	background-color: #0051A3;
	border-radius: 3px;
	text-decoration: none !important;
	cursor: pointer;
}
#sp_nav div a::after{
	margin-left: 5px;
	font-family: "Font Awesome 5 Free";
	content: '\f0c9';
	font-weight: 900;
}
.mm-navbar{
	background: #A9A18C !important;
}
li.mm-listitem a{
	color: #556B2F !important;
}
li.mm-listitem:first-of-type a{
	color: #AC452B !important;
}
.mm-navbars_bottom > .mm-navbar,
.mm-navbars_top > .mm-navbar{
	background: #000 !important;
}
@media screen and (max-width:480px){
	header #sp_nav{
		padding: 5px 10px;
	}
}

/* ---------------------------------------------------------
	パンくず
--------------------------------------------------------- */
ol#pankuz{
	display: block;
	max-width: 960px;
	margin: 0 auto 1em;
	padding: 10px 0 0;
	font-size: 12px;
	text-align: left;
}
ol#pankuz::before{
	content: "\f015";
	font-family: "Font Awesome 5 Free";
	font-size: 14px;
	color: #6B8E23;
	font-weight: 900;
}
ol#pankuz li{
	display: inline;
}
ol#pankuz li a{
	color: #6B8E23;
}
ol#pankuz li a:hover{
	text-decoration: underline;
}
ol#pankuz li::after{
	content: ">";
	margin: 0 5px;
}
ol#pankuz li:last-of-type::after{ content: ""; }

/* ---------------------------------------------------------
	ページ先頭
--------------------------------------------------------- */
#pgscrl{
	display: none;
	position: fixed;
	z-index: 1000;
	bottom: 50px;
	right: 20px;
	text-align: center;
}
#pgscrl a{
	display: block;
	margin: 0 auto;
	width: 40px;
	height: 40px;
	padding: 0;
	color: #FFF;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: #999;
	border-radius: 5px;
	opacity: 0.7;
}
#pgscrl a::before{
	content: '';
	width: 15px;
	height: 15px;
	border: 0px;
	border-top: solid 2px #FFF;
	border-right: solid 2px #FFF;
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -4px 0 0 -8px;
}
#pgscrl a:hover{
	opacity: 1.0;
	text-decoration: none;
}