@charset "utf-8";
/* CSS INFORMATION -====================================================
File name : base.css
Description : 共通ベースラインCSS
===================================================================== */

/* =====================================================================
*    共通・大枠
* =================================================================== */
html {
	font-size: calc(10 / 700 * 100vw);
	overflow-x: hidden;
}

.gDef-top-banner {
	background-color: #fff;
}

.gDef-contents {
	color: #4e525d;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', Meiryo, sans-serif;
	line-height: 1.5;
	font-size: 2.8rem;
}

.gDef-contents * {
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.gDef-contents img {
	width: 100%;
	height: auto;
	display: block;
}

.gDef-contents a {
	display: block;
	text-decoration: none;
}

.main {
	display: block;
	background: url(../images/bg_pattern2.jpg) repeat center / calc(160/750 *100%) auto;
}

@media screen and (min-width: 700px) {
	html {
		font-size: calc(10 / 1040 * 100vw);
	}

	.gDef-contents {
		font-size: 1.6rem;
	}

	.gDef-contents a {
		-webkit-transition: 0.2s ease;
		transition: 0.2s ease;
	}

	.main {
		background-size: calc(160/1040 *100%) auto;
	}

	.inner {
		width: 100%;
		max-width: 1040px;
		margin: 0 auto;
		padding: 0 300px 0 0;
	}
}

@media screen and (min-width: 1040px) {
	html {
		font-size: 10px;
	}

	.main {
		background-size: 160px auto;
	}
}

@media screen and (max-width: 699px) {
	.pc {
		display: none !important;
	}
}

@media screen and (min-width: 700px) {
	.sp {
		display: none !important;
	}
}

/* =====================================================================
*    footer
* =================================================================== */
#footer {
	background-color: #d4eb62;
}

.pagetop {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: calc(215 / 750 * 100%);
	padding-top: calc(86/750 *100%);
	margin: calc(-116/750 *100%) auto 0;
}
.pagetop a {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
}
.pagetop a::before,
.pagetop a::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
}
.pagetop a::before {
	top: 0;
	padding-top: calc(43/215 *100%);
	background: url(../images/btn_pagetop_arrow.png) no-repeat center/contain;
}
.pagetop a::after {
	bottom: 0;
	padding-top: calc(28/215 *100%);
	background: url(../images/btn_pagetop_txt.png) no-repeat center/contain;
}

.pagetop img {
	-webkit-transition: .4s ease-in-out;
	transition: .4s ease-in-out;
}

#footer p {
	text-align: center;
	font-size: 1.8rem;
	padding: calc(64 / 750 * 100%) 0;
}

@media screen and (min-width: 700px) {
	.pagetop {
		width: calc(155 / 740 * 100%);
		padding-top: calc(61/740 *100%);
		margin: calc(-74/740 *100%) auto 0;
	}

	.pagetop a::before {
		padding-top: calc(31/155 *100%);
	}

	.pagetop a::after {
		padding-top: calc(20/155 *100%);
	}

	.pagetop a:hover::before {
		animation: animName 2s linear 1;
	}

	@keyframes animName {
		0% {
			transform: rotateY(0deg);
		}

		100% {
			transform: rotateY(360deg);
		}
	}

	#footer p {
		font-size: 1.2rem;
		padding: calc(38 / 740 * 100%) 0 calc(38 / 740 * 100%);
	}
}

@media screen and (min-width: 1040px) {
	#footer::before {
		padding-top: 18px;
	}
}
