@charset "utf-8";


/* all
-------------------------------------------------------------------*/
html {
	background:#FFFFFF;
	color:#333333;
	font-family: 'Noto Sans JP',  "游ゴシック Medium", "Yu Gothic Medium" ,"游ゴシック体", "Yu Gothic", YuGothic , 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size:16px;
	line-height:1.4;
	font-weight: 500;
}
html .goti,
html .goti form *{
	font-family:  'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium" ,"游ゴシック体", "Yu Gothic", YuGothic , 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
html .min,
html .min form *{
	font-family: "Zen Old Mincho", "Zen Old Mincho", Zen Old Mincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Times New Roman", "HG明朝B", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
body {
	width: 100%;
	font-size: 100%;
	text-align: center;
	min-width:1200px;
}
main{
	overflow:hidden;
	width:100%;
}
main img{
	max-width: 100%;
	height: auto;
}
main .relative{
	position: relative;
	z-index: 0;
}
.sitewrap {
	width: 1200px;
	min-width:1200px;
	margin: 0 auto;
	text-align: left;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
@media screen and (max-width:1240px) {
	body,
	.sitewrap {
		width: 100%;
		min-width:0;
	}	
	.sitewrap > *{
		padding-left:2%;
		padding-right:2%;
	}
}
@media screen and (max-width:767px) {
	html {
		font-size:14px;
	}
	.sitewrap > *{
		padding-left:15px;
		padding-right:15px;
	}
}
/* contents
-------------------------------------------------------------------*/
main{
	margin-bottom: 50px;
	display: block;
}

/* footer
-------------------------------------------------------------------*/
#pageTop {
	position: fixed;
	bottom: 15px;
	right: 5%;
	width: 70px;
	z-index: 500;
	filter: drop-shadow(0 0 10px rgba(222,196,117,0.4));
	transition: .5s transform;
}
#pageTop:hover{
	transform:translateY(5px);
}
footer{
	background: #83aa24;
	padding: 35px 0 45px;
}
footer small{
	color:#fff;
	text-align:center;
	display:block;
	line-height: 1.7;
}
footer .foot_link{
	display:flex;
	justify-content:center;
	align-items:center;
	margin-bottom:20px;
}
footer .foot_link p{
	font-size:1.125rem;
	font-weight:bold;
	color:#fff;
}
footer .foot_link p + p{
	margin-left:1em;
}
footer .foot_link p a{
	position:relative;
	display:block;
}
footer .foot_link p a:before{
	content:"";
	width:0;
	height:2px;
	background:#fff;
	position:absolute;
	bottom:-5px;
	left:0;
	right:0;
	margin:auto;
	transition:.5s width;
}
main a.page_link {
	margin-top: -60px;
	padding-top: 60px;
	display: block;
	position:relative;
	z-index:-10;
}
footer .foot_link p a:hover{
	text-decoration:none;
}
footer .foot_link p a:hover:before{
	width:100%;
}
#page_top{
	display: none;
}
@media screen and (max-width:767px) {
	#pageTop {
	    width: 49px;
	    right:10px;
	    bottom: 80px;
	}
	#pageTop:hover{
		transform:translateY(0px);
	}
	footer{
		padding:30px 0;
		margin-bottom: 74px;
	}
	footer small{
		padding:0;
	}
	footer .foot_link{
		margin-bottom:10px;
		flex-direction: column;
		gap: 0.5em;
	}
}
/* sp_btn
-------------------------------------------------------------------*/
.sp_btn{
	display:none;
}
@media screen and (max-width:767px) {
	.sp_btn{
		position:fixed;
		height: 75px;
		inset: auto 0 0;
		display:flex;
		z-index:100;
		color: #fff;
		width: 100%;
	}
	.sp_btn .sp_btn_item{
		width:50%;
		display:flex;
		text-decoration: none;
		justify-content:center;
		align-items:center;
		gap: 1em;
		padding:0.35em 1em 0 0.25em;
		font-size: 4.2vw;
		text-align: left;
		background-image: linear-gradient(147deg, rgb(227 84 47), rgb(255 166 78));
	}
	.sp_btn .sp_btn_item02{
		background-image: linear-gradient(147deg, rgb(61 124 196), rgb(92 159 232));
	}
	.sp_btn .sp_btn_item img{
		max-width: 62px;
		align-self: flex-end;
	}
	.sp_btn .sp_btn_item02 img{
		max-width: 57px;
		align-self: flex-end;
	}
	.sp_btn a
	.sp_btn{
		position:relative;
		color: #fff;
	    background: #0b52a4;
		justify-content:flex-end;
	}

	.sp_fixed_menu a p{
		margin-left: 50px;
		line-height: unset;
		margin-bottom: 0;
		font-weight: 400;
		color: #fff;
	}

}