@charset "utf-8";


/* all
-------------------------------------------------------------------*/
html {
	background: #FFFFFF;
	color: #523d00;
	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;
}
body {
	width: 100%;
	font-size: 100%;
	text-align: center;
}
main {
	overflow: hidden;
	width: 100%;
}
main img {
	max-width: 100%;
	max-height: 100%;
	height: auto;
}
.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:1220px) {
	.sitewrap {
		width: 100%;
		min-width: 0;
	}
	.sitewrap>* {
		padding-left: 2%;
		padding-right: 2%;
	}
}
@media screen and (max-width:767px) {
	html {
		color: #523d00;
		font-size: 14px;
	}
	.sitewrap>* {
		padding-left: 15px;
		padding-right: 15px;
	}
}
/* contents
-------------------------------------------------------------------*/
main {
	display: block;
}
.main-wrap {
	position: relative;
	z-index: 10;
	background: url(../img/bg_border.png);
	padding: 2em 0 3em;
}
.main-wrap::before {
	position: absolute;
	z-index: -1;
	display: inline-block;
	content: "";
	width: 100%;
	height: 100%;
	background: url(../img/bg.png) no-repeat;
	background-size: 1920px;
	background-position: top center;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}
.mv-box {
	text-align: center;
}
.mv-box .logo {
	position: relative;
	left: calc(50% - 33px);
	transform: translateX(-50%);
	margin-bottom: 1.25em;
}
.mv-box .lead {
	margin-bottom: 0.75em;
}
.mv-box .title {
	position: relative;
	z-index: 5;
	width: 1200px;
	left: 50%;
	transform: translateX(-50%);
}
.mv-box .mv-flex {
	position: relative;
	z-index: 10;
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	margin-top: -2.5em;
}
.mv-box .mv-flex .yorizou {
	margin-top: 1em;
}
.mv-box .mv-flex .flows {
	position: relative;
	z-index: 10;
	display: block;
}
.mv-box .mv-flex .flows .btn-flows {
	position: absolute;
	width: 87%;
	top: 58%;
	left: 0;
	right: 0;
	margin: auto;
	filter: drop-shadow(0 5px 5px rgba(28, 30, 31, .5));
	transition: filter .4s, transform .4s;
}
.mv-box .mv-flex .flows:hover .btn-flows {
	transform: translateY(5px);
	filter: drop-shadow(0 0 0 rgba(28, 30, 31, .5));

}
.subject-box {
	background: #fbf7c6;
	border-radius: 10px;
	box-shadow: 0px 2px 2px rgba(40, 40, 40, 0.1);
	padding-top: 1.5em;
	padding-bottom: 1.5em;
	margin-bottom: 2em;
}
.subject-box>* {
	max-width: 1020px;
	margin: auto;
}
.subject-box .subject-list {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.subject-box .subject-list+.subject-list {
	margin-top: 1em;
	padding-top: 1em;
	background-size: 8px 3px;
	background-repeat: repeat-x;
	background-image: linear-gradient(to right, #523d00, #523d00 3px, transparent 3px, transparent 8px);
}
.subject-box .subject-list .subject-title {
	width: 130px;
	margin-right: 2.5em;
}
.subject-box .subject-list .subject-text {
	max-width: calc(100% - 130px);
	font-size: 1.625rem;
	font-weight: bold;
}
.subject-box .subject-caution {
	font-size: 1.125rem;
	font-weight: 500;
	margin-top: 1em;
}
.subject-box .subject-caution li {
	text-indent: -1.75em;
	padding-left: 1.75em;
	margin-bottom: 0.25em;
}
.flow-box {
	background: #fff;
	border-radius: 10px;
	padding-top: 2em;
	padding-bottom: 2em;
}
.flow-box>* {
	max-width: 1100px;
	margin: auto;
}
.flow-box .flow-title {
	margin-bottom: 1.5em;
}
.flow-box .flow-inner {
	position: relative;
	z-index: 10;
	border: 3px solid #907c3c;
	border-radius: 20px;
	padding: 2em;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
.flow-box .flow-inner+.flow-inner {
	margin-top: 5em;
}
.flow-box .flow-inner+.flow-inner::before {
	position: absolute;
	z-index: 1;
	display: inline-block;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 45px 46.5px 0 46.5px;
	border-color: #907c3c transparent transparent transparent;
	top: -4em;
	left: 0;
	right: 0;
	margin: auto;
}
.flow-box .flow-inner>* {
	max-width: 500px;
	width: 100%;
}
.flow-box .flow-image img {
	max-width: 89.6%;
}
.flow-box .flow-text .flow-subtitle {
	background: #f69b00;
	text-align: center;
	color: #fff;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1;
	padding: 0.35em;
	border-radius: 2em;
	margin-bottom: 0.5em;
}
.flow-box .flow-text p {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.8;
}
.flow-box .flow-text .link-btn {
	text-align: right;
	margin-top: 1.5em;
}
.flow-box .flow-text a {
	display: inline-block;
	width: 81.8%;
	filter: drop-shadow(0 3px 3px rgba(28, 30, 31, .3));
	transition: filter .4s, transform .4s;
}
.flow-box .flow-text a:hover {
	transform: translateY(3px);
	filter: drop-shadow(0 0 0 rgba(28, 30, 31, .3));
}
.caution-wrap {
	position: relative;
	z-index: 15;
	background: #fdfbe4;
	padding: 3em 0 5em;
}
.caution-wrap li {
	font-size: 1rem;
	line-height: 1.6;
	color: #221815;
	margin-bottom: 0.25em;
}
.fixed-btn_pc a{
	position:fixed;
	z-index:100;
	display:block;
	top:50%;
	left:-25px;
	transform:translateY(-50%);
	transition:left .4s;
	height: 51vh;
}
.fixed-btn_pc a:hover{
	left:-15px;
}
.fixed-btn_pc a img{
	width: auto;
	max-height: 100%;
}
.fixed-btn_sp{
	display:none;
}
@media screen and (max-width:767px) {
.main-wrap {
	background-size: 15px;
	padding: 1em 0 3em;
}
.main-wrap::before {
	background-image: url(../img/bg_sp.png);
	background-size: 100%;
}
.mv-box .logo {
	left: calc(50% - 20px);
	margin-bottom: 1em;
	width:154px;
}
.mv-box .title {
	width: calc(100% + 30px);
	left: -15px;
	transform: none;
}
.mv-box .mv-flex {
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap:wrap;
	margin-top: -1.85em;
}
.mv-box .mv-flex .dates{
	width: 36.5%;
}
.mv-box .mv-flex .yorizou {
	margin-top: 0;
	width: 42%;
}
.mv-box .mv-flex .flows {
	position: relative;
	z-index: 10;
	display: block;
}
.mv-box .mv-flex .flows .btn-flows {
	position: absolute;
	width: 87%;
	top: 58%;
	left: 0;
	right: 0;
	margin: auto;
	filter: drop-shadow(0 5px 5px rgba(28, 30, 31, .5));
	transition: filter .4s, transform .4s;
}
.mv-box .mv-flex .flows:hover .btn-flows {
	transform: translateY(5px);
	filter: drop-shadow(0 0 0 rgba(28, 30, 31, .5));

}
.subject-box {
	border-radius: 6px;
	padding-top: 1em;
	padding-bottom: 1em;
	padding-left: 10px;
	padding-right: 10px;
	margin: auto;
	margin-top: 3em;
	margin-bottom: 1em;
	max-width: calc(100% - 30px);
}
.subject-box>* {
	max-width: 1020px;
	margin: auto;
}
.subject-box .subject-list {
	flex-direction:column;
	align-items: flex-start;
}
.subject-box .subject-list+.subject-list {
	margin-top: 1em;
	padding-top: 1em;
	background-size: 8px 3px;
	background-repeat: repeat-x;
	background-image: linear-gradient(to right, #523d00, #523d00 3px, transparent 3px, transparent 8px);
}
.subject-box .subject-list .subject-title {
	width: 75px;
	margin-right: 0;
	margin-bottom: 0.5em;
}
.subject-box .subject-list .subject-text {
	max-width: 100%;
	font-size: 1.215rem;
	line-height: 1.6;
	}
	.subject-box .subject-caution {
		font-size: 1rem;
		margin-top: 0.5em;
	}
	.flow-box {
		border-radius: 8px;
		padding-left: 10px;
		padding-right: 10px;
		max-width: calc(100% - 30px);
		margin: auto;
	}
	.flow-box>* {
		max-width: 1100px;
		margin: auto;
	}
	.flow-box .flow-inner {
		border-width: 2px;
		border-radius: 10px;
		padding: 1em;
		flex-direction:column;
		align-items: center;
	}
	.flow-box .flow-inner+.flow-inner {
		margin-top: 3em;
	}
	.flow-box .flow-inner+.flow-inner::before {
		border-width: 22.5px 25px 0 25px;
		top: -2.5em;
	}
	.flow-box .flow-inner>* {
		max-width: 100%;
	}
	.flow-box .flow-image img {
		max-width: 70%;
		margin: 0 auto 1em;
		display: block;
	}
	.flow-box .flow-text .flow-subtitle {
		font-size: 1.075rem;
		max-width: 250px;
		margin: 0 auto 0.5em;
	}
	.flow-box .flow-text p {
		font-size: 1rem;
	}
	.flow-box .flow-text .link-btn {
		text-align: center;
		margin-top: .5em;
	}
	.flow-box .flow-text a {
		width: 100%;
	}
	.flow-box .flow-text a:hover {
		transform: none;
		filter: drop-shadow(0 3px 3px rgba(28, 30, 31, .3));
	}
	.caution-wrap {
		padding: 1em 0 2em;
	}
	.caution-wrap li {
		font-size: 0.875rem;
	}
	.fixed-btn_pc {
		display:none;
	}
	.fixed-btn_sp{
		display: flex;
		position: fixed;
		z-index: 1000;
		left: 0;
		right: 0;
		bottom: 0;
	}
	.fixed-btn_sp a{
		position:relative;
		z-index:10;
		width:100%;
		min-height:3.5em;
		font-size: min(4vw,1.05em);
		font-weight:500;
		color:#fff;
		display:flex;
		justify-content:center;
		align-items:center;
		flex-direction:column;
		background:#ea610c;
		border-bottom: 3px solid #bd500d;
	}
	.fixed-btn_sp a.btn-campaign{
		background:#16a325;
		border-bottom-color:#078114;
	}
	.fixed-btn_sp a:hover{
		text-decoration:none;
	}
	.fixed-btn_sp a span{
		position:relative;
		z-index:10;
	}
	.fixed-btn_sp a span::after{
		position:absolute;
		z-index:-1;
		display:inline-block;
		content:"";
		width:15px;
		height:15px;
		background:url(../img/icon_arrow_org.png);
		background-size:cover;
		top:0;
		right:-20px;
		bottom:0;
		margin:auto;
	}
	.fixed-btn_sp a.btn-campaign span::after{
		background-image:url(../img/icon_arrow_grn.png);
	}
}
/* footer
-------------------------------------------------------------------*/
#pageTop {
	position: fixed;
	bottom: 15px;
	right: 5%;
	width: 116px;
	z-index: 500;
}
footer {
	background: #299631;
	padding: 40px 0 20px;
	color: #ffffff;
}
@media screen and (max-width:767px) {
	#pageTop {
		width: 60px;
		right: 10px;
		bottom: 77px;
	}
	footer {
		padding: 20px 0 60px;
	}
}