@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: #fff;
}

.gDef-contents {
	color: #333;
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", 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: url(../images/bg_cast.jpg) repeat center top;
	background-size: calc(214 / 750 * 100%) auto;
}

.sec_ttl {
	font-family: 'Cormorant Garamond', serif;
	color: #c4a564;
	font-size: 4.4rem;
	letter-spacing: .8rem;
	text-align: center;
	padding-bottom: calc(40 / 750 * 100%);
	margin-bottom: calc(80 / 750 * 100%);
}

.sec_ttl::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background: url(../images/img_ttl_deco.png) no-repeat center/contain;
	width: calc(39 / 750 * 100%);
	padding-top: calc(38 / 750 * 100%);
}

@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 {
		font-size: 3.3rem;
		padding-bottom: calc(30 / 740 * 100%);
		margin-bottom: calc(60 / 740 * 100%);
	}

	.sec_ttl::before {
		width: calc(28 / 740 * 100%);
		padding-top: calc(28 / 740 * 100%);
	}
}

@media screen and (min-width: 1040px) {
	.main {
		background-size: 214px auto;
	}
}


/* =====================================================================
*    footer
* =================================================================== */
#footer {
	background-color: #f9f4e8;
}

#footer::before {
	content: '';
	position: absolute;
	top: 0;
	width: 100%;
	padding-top: calc(18 / 750 * 100%);
	background: url(../images/bg_border.png) repeat-x center/contain;
}

.pagetop a {
	width: calc(180 / 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 {
	font-family: 'Cormorant Garamond', serif;
	color: #c4a564;
	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(120 / 740 * 100%);
		z-index: 10;
	}

	.pagetop img {
		margin-top: calc(-125 / 740 * 100%);
	}

	.pagetop a:hover img:nth-of-type(2) {
		opacity: 0;
	}

	#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;
	}
}
