@charset "utf-8";


/* reset and base ----------------- */
html, body, div, header, footer, article, section, aside, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, b, font, img, ins, kbd, q, s, samp, small, strike, strong, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
}
ol,ul {
	list-style: none;
}
img {
	max-width: 100%;
	height: auto;
	border: none;
}


/* base --------------------------- */
html {
	cursor: auto;
	font-size: 62.5%;
}

body {
	padding: 0;
	font-size: 1.4rem;
	font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	color: #333;
}

a {
	color: #333;
	text-decoration: none;
}
a:hover {
	color: #9c622f;
	text-decoration: none;
	opacity: 0.65;
	transition: opacity 250ms ease;
}
a img {
	/* opacity: 0.85;
	transition: opacity 250ms ease; */
}
a:hover img {
	opacity: 1;
}
a:focus, *:focus { outline:none; }

@media screen and (min-width: 1024px) {
	.tab_show,
	.sp_show,
	.tab_sp_show {
		display: none;
	}
}
@media screen and (max-width: 1023px) {
	.pc_show,
	.sp_show,
	.pc_sp_show {
		display: none;
	}
}

:placeholder-shown {
	color: #aaa;
}
/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
	color: #aaa;
}
/* Firefox 18- */
:-moz-placeholder {
	color: #aaa; opacity: 1;
}
/* Firefox 19+ */
::-moz-placeholder {
	color: #aaa; opacity: 1;
}
/* IE 10+ */
:-ms-input-placeholder {
	color: #aaa;
}




/* module ------------------------- */
.fsmall {
	font-size: 92.3%;
}
.en {
	font-family: 'Times New Roman', 'Lusitana', Times, serif;
}



/* parts */
.btn_more {
	position: relative;
	display: inline-block;
	width: 180px;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #333;
	font-size: 2.0rem;
	font-family: 'Times New Roman', 'Lusitana', Times, serif;
	font-style: italic;
	cursor: pointer;
}
.btn_more::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 0;
	height: 40px;
	background: #efefef;
}
.btn_more:hover::before {
  width: 180px;
  transition: all 500ms ease;
}
.btn_more::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 0;
	height: 40px;
	background: #efefef;
	transition: all 500ms ease 0ms;
}
.btn_more:hover::after {
	width: 180px;
	transition: all 1ms ease 501ms;
}
.btn_more a {
	position: relative;
	display: block;
	width: 180px;
	height: 40px;
	padding: 7px 2px 10px;
	z-index: 2;
	transition: all 500ms ease 0ms;
}
.btn_more:hover a {
	transform: translate(70px, 0);
	color: #333;
}


/* header */
header {
}
header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 1200px;
	height: 80px;
	margin: 0 auto;
	padding: 0 25px;
}
@media screen and (min-width: 1250px) {
	header .inner {
		padding: 0 0;
	}
}
header .block_sns ul {
	display: flex;
}
header .block_sns li {
	margin-right: 10px;
}
header .block_sns li a {
	font-size: 2.5rem;
}
header .block_logo {
	display: flex;
	justify-content: center;
	padding-left: 30px;
}
header .block_nav {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	letter-spacing: 0.1em;
}
header .block_nav > div {
	margin-left: 24px;
}
header .sp_nav_btn {
}
header .sp_nav_btn a,
header .sp_nav_btn a span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
header .sp_nav_btn a {
	position: relative;
	width: 35px;
	height: 25px;
}
header .sp_nav_btn a span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #333;
}
header .sp_nav_btn a span:nth-of-type(1) {
	top: 0;
}
header .sp_nav_btn a span:nth-of-type(2) {
	top: 11px;
}
header .sp_nav_btn a span:nth-of-type(3) {
	top: 22px;
}



/* gnavi */
#gnavi {
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	opacity: 0;
	z-index: 10;
	/*transition: all 500ms ease;*/
}
#gnavi.active {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.75);
	background-origin: border-box;
	opacity: 1;
	animation: ani_gnavi 500ms ease 0ms alternate forwards;
}
@keyframes ani_gnavi {
	0% {
		display: none;
		opacity: 0;
	}
	1% {
		display: flex;
		opacity: 0;
	}
	100% {
		display: flex;
		opacity: 1;
	}
}
#gnavi a {
	font-family: 'Times New Roman', 'Lusitana', Times, serif;
}
#gnavi .sp_nav_btn a {
	position: relative;
	display: block;
	width: 35px;
	height: 25px;
}
#gnavi .sp_nav_btn a span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #333;
}
#gnavi .sp_nav_btn a span:nth-of-type(1) {
	top: 0;
}
#gnavi .sp_nav_btn a span:nth-of-type(2) {
	top: 11px;
}
#gnavi .sp_nav_btn a span:nth-of-type(3) {
	top: 22px;
}
#gnavi .sp_nav_btn.sp_nav_close a {
	height: 21px;
}
#gnavi .sp_nav_btn.sp_nav_close a span:nth-of-type(1) {
	-webkit-transform: translateY(11px) rotate(-45deg);
	transform: translateY(11px) rotate(-45deg);
}
#gnavi .sp_nav_btn.sp_nav_close a span:nth-of-type(2) {
	top: 11px;
	opacity: 0;
}
#gnavi .sp_nav_btn.sp_nav_close a span:nth-of-type(3) {
	-webkit-transform: translateY(-11px) rotate(45deg);
	transform: translateY(-11px) rotate(45deg);
}
#gnavi .sp_nav_btn.sp_nav_close {
	position: absolute;
	top: 30px;
	right: 50px;
}

#gnavi nav {
	width: 590px;
	padding: 110px 90px;
	background: #eae8e9;
}
#gnavi nav ul {
	height: 100%;
	overflow-y: auto;
	overflow-y: auto;
}
#gnavi nav ul li {
	text-align: right;
	margin:0 0 25px 0;
	}
#gnavi nav a {
	font-size: 1.6rem;
	letter-spacing: 0.1em;
}
#gnavi nav > ul > li > a {
	font-size: 2.0rem;
}
#gnavi nav > ul > li ~ li {
	margin-top: 1.4em;
}
#gnavi nav > ul > li > ul li {
	margin-top: 1em;
}
#gnavi nav .listtggle > img {
	transition: all 500ms ease;
}
#gnavi nav .listtggle.active > img {
	transform: rotateX(-180deg);
}

#gnavi .sns {
	position: absolute;
	bottom: 20px;
	right: 90px;
}
#gnavi .sns ul {
	display: flex;
	justify-content: flex-end;
}
#gnavi .sns ul li {
	margin-left: 15px;
	font-size: 3.0rem;
}


/* footer */
footer {
	width: 100%;
	min-width: 1200px;
	background: #efefef;
}
footer .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 1200px;
	height: 111px;
	margin: 0 auto;
	padding: 0 25px;
}
@media screen and (min-width: 1250px) {
	footer .inner {
		padding: 0 0;
	}
}
footer ul {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
footer ul li + li {
	margin-left: 1em;
}
footer ul li + li::before {
	content: "/";
	display: inline-block;
	margin-right: 1em;
}
footer .block_nav a {
	font-family: 'Times New Roman', 'Lusitana', Times, serif;
}
footer .block_copyright {
	font-size: 1.0rem;
	font-family: 'Century Gothic', 'Questrial', sans-serif;
	letter-spacing: 0.1em;
}



/* unit */
.block_banner {
	display: flex;
	justify-content: center;
}
.block_banner .inner {
	display: flex;
	justify-content: center;
	width: 945px;
	height: 120px;
	padding: 0 0 0;
	margin-bottom: 125px;
}


