@charset "utf-8";
/* CSS INFORMATION -====================================================
File name : base.css
Description : 共通ベースラインCSS
===================================================================== */

/* =====================================================================
*    共通・大枠
* =================================================================== */
html {
	font-size: calc(10 / 700 * 100vw);
	overflow-x: hidden;
}

@media screen and (min-width: 700px) {
	html {
		font-size: calc(10 / 1040 * 100vw);
	}
}

@media screen and (min-width: 1040px) {
	html {
		font-size: 10px;
	}
}

.gDef-top-banner {
	background-color: #6a0404;
}

.gDef-contents {
	color: #333;
	font-family: YakuHanJP, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 1.5;
	font-size: 2.8rem;
	background-color: #ffffff;
}

.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;
}

@media screen and (min-width: 700px) {
	.gDef-contents {
		font-size: 1.6rem;
	}

	.gDef-contents a {
		-webkit-transition: 0.2s ease;
		transition: 0.2s ease;
	}
}

@media screen and (max-width: 699px) {
	.pc {
		display: none !important;
	}
}

@media screen and (min-width: 700px) {
	.sp {
		display: none !important;
	}
}

.main {
	display: block;
	background: #fff;
}

.sec_ttl {
	width: calc(700/750 * 100%);
	padding-bottom: calc(100 / 750 * 100%);
	margin: 0 auto;
}

@media screen and (min-width: 700px) {
	.main {
		background-size: calc(214 / 1040 * 100%) auto;
	}

	.inner {
		width: 100%;
		max-width: 1040px;
		margin: 0 auto;
		padding: 0 300px 0 0;
	}

	.sec_ttl {
		width: calc(525/740 * 100%);
		padding-bottom: calc(30 / 740 * 100%);
		margin-bottom: calc(60 / 740 * 100%);
	}
	.sec_ttl::before {
		width: calc(3 / 740 * 100%);
		padding-top: calc(15 / 740 * 100%);
	}
}

@media screen and (min-width: 1040px) {
	.main {
		background-size: 214px auto;
	}
}

/* =====================================================================
*    footer
* =================================================================== */
#footer {
	background-color: #6a0404;
}

#footer::before {
	content: '';
	position: absolute;
	top: 0;
	width: 100%;
	padding-top: calc(18 / 750 * 100%);
}

.pagetop a {
	width: calc(224 / 750 * 100%);
	margin: 0 auto;
}

.pagetop img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-transition: .4s ease-in-out;
	transition: .4s ease-in-out;
	margin-top: calc(-125 / 750 * 100%);
}

#footer p {
	color: #fff;
	text-align: center;
	font-size: 2rem;
	padding: calc(100 / 750 * 100%) 0 calc(30 / 750 * 100%);
}

@media screen and (min-width: 700px) {
	#footer::before {
		padding-top: calc(18 / 1040 * 100%);
	}

	.pagetop a {
		width: calc(224 / 740 * 100%);
		z-index: 10;
	}

	.pagetop img {
		margin-top: calc(-125 / 740 * 100%);
	}

	.pagetop a:hover {
		opacity: 0.8;
	}

	#footer p {
		font-size: 1.2rem;
		padding: calc(60 / 740 * 100%) 0 calc(40 / 740 * 100%);
	}
}

@media screen and (min-width: 1040px) {
	#footer::before {
		padding-top: 18px;
	}
}
