/* ==============================================
  font
============================================== */
@import url('https://fonts.googleapis.com/css?family=EB+Garamond:400,500,600');

footer .ft_info {
	font-family: YuMincho, 'Yu Mincho', serif;
}
@media all and (-ms-high-contrast:none) {
	footer .ft_info {
		font-family: 'HG明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'MS 明朝', serif;
	}
}

/* ==============================================
  reset
============================================== */
*, *:before, *:after {
	box-sizing: border-box;
}
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,a,small, strong, sub, sup, var,
b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,article, aside, dialog, figure, footer, header,menu, nav, section,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}
html {
	overflow: auto;
	font-size: 62.5%;
}
body {
	font-family: YuGothic, 'Yu Gothic', sans-serif;
	line-height: 1;
	color: #212121;
	min-width: 100%;
	grid-template-rows: 1fr auto;
	-webkit-text-size-adjust: 100%;
	overflow: hidden;
	font-weight: 400;
	word-break: break-all;
	/*font-feature-settings : "palt";*/
}
@media all and (-ms-high-contrast:none) {
	body {
		font-family: 'Meiryo', sans-serif;
	}
}
h1, h2, h3, h4, h5, h6, p,small,dt,dd,li {
	line-height: 1.75;
	font-weight: 400;
}
article, aside, dialog, figure, footer, header,hgroup, nav, section {
	display: block;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: 700;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted #000;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input, select {
	vertical-align: middle;
}
input[type="text"],
input[type="radio"],
input[type="checkbox"],
input[type="password"],
textarea,
select {
	outline: none;
}
ul,li {
	list-style: none;
}
ul {
	letter-spacing: -0.5em;
}
li {
	letter-spacing: normal;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
table {
	width: 100%;
}
sup {
	position: relative;
	font-size: 75%;
	vertical-align: baseline;
	top: -0.6em;
}
sub {
	position: relative;
	font-size: 75%;
	vertical-align: baseline;
	top: 0;
}
a,a:focus,
*:focus {
	outline: none;
}
a {
	display: inline-block;
	margin: 0;
	padding: 0;
	border: 0;
	color: #212121;
	vertical-align: baseline;
	text-decoration: none;
	transition: .3s ease-in-out;
}

a:hover {
	text-decoration: none;
	opacity: .7;
}


/* ==============================================
  module
============================================== */
body {
	margin: 0 auto;
}
body:before {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 150px;
	background : -webkit-linear-gradient(90deg, rgba(255, 255, 255, 1) 80%, rgba(247, 249, 249, 1) 100%);
	background : -webkit-gradient(linear,50% 100% ,50% 0% ,color-stop(0.8,rgba(255, 255, 255, 1) ),color-stop(1,rgba(247, 249, 249, 1) ));
	background : linear-gradient(0deg, rgba(255, 255, 255, 1) 80%, rgba(247, 249, 249, 1) 100%);
	z-index: -1;
}
section p {
	font-size: 1.6rem;
}
#svg-def {
	position: absolute;
	height: 0;
}
.inner {
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 10px;
}
.indent {
	padding-left: 1em;
	text-indent: -1em;
}
.text-center {
	text-align: center;
}
.clearfix:after {
	content:" ";
	display:block;
	clear:both;
}
.pc_only {
	display: inline-block;
}
.sp_only {
	display: none;
}


@media screen and (max-width: 1099px) {
	.inner {
		max-width: 100%;
	}
}

@media screen and (max-width: 768px) {
	body {
		min-width: 100%;
		/*padding-top: 50px;*/
	}
	body:before {
	height: 22vw;
	}
	section p {
		font-size: 3.7333333vw;
	}
	.inner {
		max-width: 100%;
		width: 100%;
		padding: 0 20px;
	}
	a:hover {
		opacity: 1;
	}
	.pc_only {
		display: none;
	}
	.sp_only {
		display: inline-block;
	}
}


/* ==============================================
  button
============================================== */
a.soon {
	opacity: .3;
	cursor: default;
}


/* ==============================================
  header
============================================== */
header {
	padding: 35px 0 90px;
	text-align: center;
	background: #fff;
}
header .hd_logo {
	position: absolute;
	top: 35px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 2;
}
header .inner {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
header nav {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
header nav a {
	position: relative;
	margin-left: 35px;
}
header nav.na a {
	margin-left: 26px;
}
header nav a:hover {
	opacity: 1;
}
header nav a:before {
	position: absolute;
	top: -12px;
	right: 1px;
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 0 0;
	border-color: transparent #aab3bc transparent transparent;
	transition: .3s ease-in-out;
}
header nav a.current:before,
header nav a:hover:before {
	border-width: 0 7px 7px 0;
}
/*
header nav a:nth-child(1):before {
	left: 10px;
}
header nav a:nth-child(1):hover:before {
	height: 51px;
}
header nav a:nth-child(2):hover:before {
	height: 92px;
}
header nav a:nth-child(3):hover:before {
	height: 74px;
}
header nav a:nth-child(4):hover:before {
	height: 74px;
}
header nav a:nth-child(5):hover:before {
	height: 108px;
}
*/

header .hd_links {
	display: -webkit-flex;
	display: flex;
}
header .hd_links a {
	margin-right: 20px;
}
header .hd_links .fb {
	width: 28px;
	height: 28px;
}
header .hd_links .fb svg {
	fill: #a0aab4;
}
header .hd_links .shop {
	height: 24px;
}
header .hd_links.v2 .shop {
	display: flex;
	justify-content: space-between;
	width:180px;
	color:#808894;
	font-size: 1.6rem;
}
header .hd_links.v2 .shop b {
	display: block;
	width:24px;
}
header .hd_links .shop svg {
	fill: rgba(0, 0, 0, 0);
	stroke: #808894;
	stroke-width: 2px;
	stroke-linecap: round;
	stroke-linejoin: round;
}
header .hd_links.v2 .shop i {
	display: block;
	width:146px;
	line-height: 24px;
	font-style: normal;
	font-weight: 600;
	font-family: YuMincho, 'Yu Mincho', serif;
	letter-spacing: -0.5px;
}

@media screen and (max-width: 768px) {
	header {
		padding: 6vw 0 7vw;
	}
	header .hd_logo {
		top: 6vw;
	}
	header .hd_logo img {
		width: 7.2vw;/*27px*/
		height: 22.4vw;/*84px*/
	}
	header .inner {
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-flex-direction: row;
		flex-direction: row;
		padding: 0 6.4vw;
	}
	header nav {
		display: none;
	}
	header .hd_links {
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	header .hd_links a {
		margin-right: 0;
	}
	header .hd_links .fb {
		width: 8vw;
		height: 8vw;
		margin-bottom: 5.333333vw;
	}
	header .hd_links .shop {
		width: 6.4vw;
		height: 6.4vw;
		margin-left: .8vw;
	}
	header .hd_links.v2 .shop {
		display: inline-block;
		padding:0 30px 0 0;
	}
	header .hd_links.v2 .shop i {
		display: none;
	}
	/* ===== sp hamburger menu ===== */
	.hamburger,
	.hamburger span {
		display: inline-block;
		transition: all .3s;
		box-sizing: border-box;
		z-index: 200;
	}
	.hamburger {
		position: fixed;
		top: 6vw;
		right: 6.4vw;
		width: 6.4vw;
		height: 4.8vw;
		z-index: 300;
	}
	.hamburger span {
		position: absolute;
		left: 0;
		width: 6.4vw;
		height: 2px;
		background-color: #a0aab4;
	}
	.hamburger span:nth-of-type(1) {
		top: 2.4vw;
	}
	.hamburger span:nth-of-type(2) {
		top: 4.8vw;
	}
	.hamburger span:nth-of-type(3) {
		bottom: 4.2vw;
	}
	.hamburger.active span:nth-of-type(1) {
		transform: translateY(-1.3vw) rotate(-45deg);
		background-color: #a0aab4;
	}
	.hamburger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.hamburger.active span:nth-of-type(3) {
		transform: translateY(1.3vw) rotate(45deg);
		background-color: #a0aab4;
	}
	.hamburger_menu {
		padding: 0;
		max-height: 0;
		overflow: hidden;
		display: none;
	}
	.hamburger_menu.open {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		overflow-y: scroll;
		width: 100%;
		min-height: 100%;
		height: 100%;
		max-height: 3000em;
		padding-top: 50px;
		padding-bottom: 10px;
		background: rgba(255, 255, 255, 1);
		z-index: 200;
	}

	.hamburger_menu.open:before {
		position: absolute;
		top: 0.5%;
		left: 1%;
		width: 98%;
		height: 99%;
		content: '';
		border: 1px solid #a0aab4;
		z-index: -1;
	}
	.hamburger_menu .hamburger_menu_logo {
		width: 7.2vw;/*27px*/
		height: 22.4vw;/*84px*/
		margin: 0 auto 8vw;
	}
	.hamburger_menu .sp_menu {
		position: relative;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-flex-direction: row-reverse;
		flex-direction: row-reverse;
		margin: 0 auto 8vw;
		z-index: 300;
	}
	.hamburger_menu .sp_menu a {
		margin-left: 6vw;
	}
	.hamburger_in_sns {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
	}
	.hamburger_in_sns a {
		margin-right: 20px;
	}
	.hamburger_in_sns .fb {
		width: 8vw;
		height: 8vw;
	}
	.hamburger_in_sns .fb svg {
		fill: #a0aab4;
	}
	.hamburger_in_sns .shop {
		width: 6.4vw;
		height: 6.4vw;
	}
	.hamburger_in_sns .shop svg {
		fill: rgba(0, 0, 0, 0);
		stroke: #808894;
		stroke-width: 2px;
		stroke-linecap: round;
		stroke-linejoin: round;
	}
}


/* ==============================================
  footer
============================================== */
footer {
	min-height: 360px;
	padding-top : 60px;
	background: #f7f9f9;
}
footer .inner {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
footer .logo {
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
footer .logo img {
	width: 60px;
	height: 184px;
}
footer .ft_nav {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
footer .ft_nav a {
	margin-left: 35px;
}
footer .ft_nav.na a {
	margin-left: 22px;
}
footer .ft_info address {
	margin-bottom: 20px;
	font-style: normal;
	letter-spacing: .04em;
}
footer .ft_info address h2 {
	margin-bottom: .5em;
	font-size: 1.7rem;
}
footer .ft_info address p {
	font-size: 1.5rem;
}
footer .ft_info small {
	font-size: 1.3rem;
	letter-spacing: .1em;
	color: #4d4d4d;
}
footer .ft_msg {
	max-width: 1100px;
	margin: 110px auto 0;
	padding: 0 10px 50px;
	text-align: center;
	font-family: 'EB Garamond', serif;
	font-size: 1.6rem;
	letter-spacing: .1em;
	color: #4d4d4d;
}

#go-top {
	display: none;
	position: fixed;
	right: 20px;
	bottom: -100px;
	z-index: 100;
	transition: .2s ease-in-out;
}
#go-top.btn-in {
	bottom: 20px;
}

@media screen and (max-width: 1019px) {
	footer .ft_msg {
		text-align: left;
	}
}

@media screen and (max-width: 768px) {
	footer {
		min-height: auto;
		padding: 7vw 0 4vw;
	}
	footer .inner {
		display: block;
	}
	footer .logo {
		position: relative;
		top: auto;
		left: auto;
		width: 7.2vw;/*27px*/
		height: 22.4vw;/*84px*/
		margin: 0 auto 4vw;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	footer .logo img {
		width: auto;
		height: auto;
	}
	footer .ft_nav {
		display: none;
	}
	footer .ft_info address {
		margin-bottom: 2vw;
		text-align: center;
	}
	footer .ft_info address h2 {
		margin-bottom: .25em;
		font-size: 3.8666666vw;
	}
	footer .ft_info address p {
		font-size: 3.6vw;
	}
	footer .ft_info small {
		display: block;
		font-size: 3.3333333vw;
		text-align: center;
	}
	footer .ft_msg {
		max-width: 90vw;
		margin: 7vw auto 0;
		padding: 0 0 2vw;
		font-size: 3.6vw;
		word-break: keep-all;
	}

	#go-top {
		right: 10px;
	}
	#go-top.btn-in {
		bottom: 10px;
	}
}



/* ==============================================
  contens
============================================== */
/* ----------------------------
  common
---------------------------- */
.link_box a,
.link_box a:after {
	transition: .3s ease-in-out;
}
.link_box a:hover {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
	opacity: 1;
}
.link_box a:hover:after {
	right: 0;
}

@media screen and (max-width: 768px) {
}


/* ----------------------------
  pagination
---------------------------- */


@media screen and (max-width: 768px) {
}


/* ----------------------------
  form
---------------------------- */
input::-webkit-input-placeholder {color: #b6b6b6;}
input:-ms-input-placeholder      {color: #b6b6b6;}
input::-moz-placeholder          {color: #b6b6b6;}

textarea::-webkit-input-placeholder {color: #b6b6b6;}
textarea:-ms-input-placeholder      {color: #b6b6b6;}
textarea::-moz-placeholder          {color: #b6b6b6;}



/* ==============================================
  animetion
============================================== */
/* ----------------------------
  BlockRevealers
---------------------------- */
.block-revealer__element {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	pointer-events: none;
	opacity: 0;
}
.reveal_image {
	flex: none;
}

