@charset "UTF-8";

/* --------------------------------------------------------------------------------------
	共有パーツ
--------------------------------------------------------------------------------------- */

.box {
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
	position: relative;
	text-align: left;
	width: 100%;
	z-index: 1;
}


@media (max-width: 768px) {

	.box { width: auto; }

	.head-ttl { font-size: 8.533vw; }
}

/* --------------------------------------------------------------------------------------
	デバイス
--------------------------------------------------------------------------------------- */

.sp { display: none; }

@media (max-width: 768px) {

	.pc { display: none; }
	.sp { display: block; }
}

/* --------------------------------------------------------------------------------------
	バナー
--------------------------------------------------------------------------------------- */

.over,
.arrow-slide::after { transition: all .3s ease-in-out; }

.banner { text-align: center; }

.fixed-banner {
	bottom: 24px;
	max-width: 300px;
	opacity: 0;
	position: fixed;
	right: 28px;
	transition: all .3s ease-in-out;
	z-index: 10;
}

.fixed-banner.fadeIn { opacity: 1; }
.fixed-banner.fadeOut { opacity: 0; }

.fixed-banner .close {
	background: url(../img/icon-close.png) no-repeat;
	background-size: 100% auto;
	cursor: pointer;
	height: 32px;
	position: absolute;
	right: -14px;
	top: 19px;
	width: 32px;
}

@media (max-width: 768px) {

	.banner a {
		font-size: 5.333vw;
		letter-spacing: -1px;
		max-width: 73.333vw;
		padding: 3.2vw 0;
	}

	.fixed-banner {
		bottom: 3.267vw;
		max-width: 66.667vw;
		right: 3.267vw;
	}

	.fixed-banner .close {
		height: 8.533vw;
		right: -2.267vw;
		top: 3.333vw;
		width: 8.533vw;
	}
}

/* --------------------------------------------------------------------------------------
	フッター
--------------------------------------------------------------------------------------- */

footer {
	background-color: #fff !important;
	opacity: 0;
	padding-bottom: 32px;
	padding-top: 32px;
	position: relative;
}

footer.fadeIn { opacity: 1; }

footer dd { margin-top: 10px; }

footer ul {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}

footer li:nth-of-type(n+2) { margin-left: 24px; }

footer li a:hover { color: #00783d !important; }

footer small {
	display: block;
	font-size: 85%;
	margin-top: 18px;
}

@media (max-width: 768px) {

	footer {
		padding-bottom: 4.533vw;
		padding-top: 7.467vw;
	}

	footer dt { font-size: 3.733vw; }
	footer dd { margin-top: 2.667vw; }

	footer ul {
		flex-wrap: wrap;
		margin: 8vw 7.467vw 0;
	}

	footer li { width: 50%; }

	footer li a {
		font-size: 3.2vw;
	}

	footer li:nth-of-type(n+2) { margin-left: 0; }
	footer li:nth-of-type(n+3) { margin-top: 2.733vw; }

	footer small { margin-top: 6.933vw; }
}

