@charset "utf-8";

/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
html{box-sizing:border-box;overflow-y:scroll;font-size:62.5%;-webkit-text-size-adjust:100%}*,::after,::before{background-repeat:no-repeat;box-sizing:inherit}::after,::before{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}audio:not([controls]){display:none;height:0}hr{overflow:visible}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}small{font-size:80%}[hidden],template{display:none}abbr[title]{border-bottom:1px dotted;text-decoration:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[disabled]{cursor:default}[type=number]{width:auto}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:0;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,select{text-transform:none}button,input,select,textarea{background-color:transparent;border-style:none;color:inherit}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}img{border-style:none}progress{vertical-align:baseline}svg:not(:root){overflow:hidden}audio,canvas,progress,video{display:inline-block}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}::-moz-selection{background-color:#b3d4fc;color:#000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000;text-shadow:none}

@font-face {
	font-family: "YuMincho-M";
	font-weight: normal;
	src: local("YuMincho-Medium"), local("Yu Mincho Medium"), local("YuMincho-Regular");
}
@font-face {
	font-family: "YuMincho-M";
	font-weight: bold;
	src: local("YuMincho-Bold"), local("Yu Mincho");
}
html {
	font-size: 62.5%;
}
html.isTouch {
	scroll-behavior: smooth;
}
body {
	min-width: 320px;
	color: black;
	font-size: 1.6em;
	line-height: 1.8;
	font-family: YuMincho-M, YuMincho, serif;
	font-weight: 500;
	letter-spacing: .05em;
	font-feature-settings: "palt";
}
.copyright {
	font-family: Helvetica, sans-serif;
}
.c-title,
.c-title_s {
	font-weight: 400;
}
button {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
img, svg, iframe {
	vertical-align: middle;
}
ul {
	list-style: none;
}
figure img {
	max-width: 100%;
}
a {
	color: inherit;
	text-decoration: inherit;
}
@media screen and (max-width: 767px) {
	.v-dt { display: none !important; }
}
@media screen and (min-width: 768px) {
	.v-mb { display: none !important; }
}


/**
 * header
 -------------------------------------------------- */
.l-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 5;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	padding: 0 5px;
	transition: color .2s;
}
.l-header.-w {
	color: #fff;
}
@media screen and (min-width: 768px) {
	.l-header {
		padding: 0 20px;
	}
}
@media screen and (min-width: 1025px) {
	.l-header {
		height: 100px;
	}
}

/* :::::: logo :::::: */
.l-header_logo {
	position: relative;
	line-height: 1;
}
.l-header_logo::after {
	content: "";
	pointer-events: none;
	position: absolute;
	top: 0;
	left: calc(50% - 9.5px);
	background: url(../img/logo_w.png) center / cover no-repeat;
}
.l-header_logo a {
	padding: 8px 16px;
}
.l-header_logo img,
.l-header_logo::after {
	width: 19px;
	height: 35px;
	transition: opacity .2s;
}
.l-header.-w .l-header_logo img,
.l-header:not(.-w) .l-header_logo::after {
	opacity: 0;
}
@media screen and (min-width: 768px) {
	.l-header_logo a {
		padding: 0 20px;
	}
	.l-header_logo img,
	.l-header_logo::after {
		width: 23px;
		height: 42px;
	}
	.l-header_logo::after {
		left: calc(50% - 11.5px);
	}
}

/* :::::: button :::::: */
.c-menu-button {
	z-index: 5;
	position: relative;
	width: 50px;
	height: 50px;
	transition: color .2s;
}
.c-menu-button:focus {
	outline: transparent;
}
.c-menu-button .bar,
.c-menu-button::before,
.c-menu-button::after {
	position: absolute;
	top: calc(50% - 1px);
	left: 15px;
	width: 20px;
	height: 1px;
	background: currentcolor;
}
.c-menu-button .bar {
	transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-menu-button::before,
.c-menu-button::after {
	content: "";
	transition: top .3s .3s, transform .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-menu-button.active::before,
.c-menu-button.active::after {
	transition-delay: 0s, .3s;
}
.c-menu-button.active .bar {
	transform-origin: 100% 100%;
	transform: scaleX(0);
	transition-delay: .3s;
}
.c-menu-button:not(.active) .bar {
	transform-origin: 0 0;
}
.c-menu-button:not(.active)::before {
	top: calc(50% - 10px);
}
.c-menu-button:not(.active)::after {
	top: calc(50% + 8px);
}
.c-menu-button.active {
	color: black;
}
.c-menu-button.active::before {
	transform: rotateZ(-45deg);
}
.c-menu-button.active::after {
	transform: rotateZ(45deg);
}


/**
 * menu
 -------------------------------------------------- */
.l-menu {
	z-index: 4;
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	max-width: 420px;
	height: 100%;
}
.l-menu_container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 48px;
}
.l-menu_container,
.l-menu_overlay {
	width: 100%;
	height: 100%;
}
.l-menu_overlay {
	z-index: -1;
	position: absolute;
	top: 0;
	right: 0;
	background: rgba(251,250,244,.95);
}
@media screen and (min-width: 768px) {
	.l-menu_container {
		padding: 96px;
	}
}

/* :::::: menu :::::: */
.c-menu_item {
	line-height: 1;
}
.l-menu .c-menu_item:not(:first-child) {
	margin-top: 24px;
}
.c-menu_item .main {
	color: #0c1114;
	font-size: 4rem;
	font-family: Cormorant, serif;
	font-weight: 400;
}
.c-menu_item .sub {
	color: #505050;
	font-size: 1rem;
}
@media screen and (min-width: 768px) {
	.c-menu_item:not(:first-child) {
		margin-top: 32px;
	}
	.c-menu_item .main {
		font-size: 4.8rem;
	}
	.c-menu_item .sub {
		font-size: 1.2rem;
	}
}

/* :::::: contact :::::: */
.access_contact a {
	display: inline-block;
}
.access_contact_item.-tel {
	color: #0c1114;
	font-size: 1rem;
}
.access_contact_item.-tel b {
	position: relative;
	top: .1em;
	margin-left: 8px;
	font-size: 1.5rem;
	font-weight: 400;
}
.access_contact_item.-instagram {
	font-size: 1.8rem;
	font-family: Cormorant, serif;
	font-weight: 400;
}
.access_contact_item.-instagram img {
	margin-top: -1px;
	margin-left: 8px;
	vertical-align: middle;
}
.l-menu .access_contact {
	margin-top: 48px;
}
.l-menu .access_contact_item:not(:first-child) {
	margin-top: 8px;
}

/* :::::: open/close :::::: */
.l-menu:not(.active) {
	pointer-events: none;
}
.l-menu:not(.active) .l-menu_overlay {
	transform: translateX(100%);
}
.l-menu:not(.active) .c-menu_item,
.l-menu:not(.active) .access_contact_item {
	opacity: 0;
	transform: translateY(16px);
}
.l-menu.anima .l-menu_overlay {
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.l-menu.anima:not(.active) .l-menu_overlay {
	transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}
.l-menu.anima .c-menu_item,
.l-menu.anima .access_contact_item {
	transition: opacity .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.l-menu.anima:not(.active) .c-menu_item,
.l-menu.anima:not(.active) .access_contact_item {
	transition-duration: .3s;
	transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
.l-menu.anima.active .c-menu_item:nth-child(1) { transition-delay: .1s; }
.l-menu.anima.active .c-menu_item:nth-child(2) { transition-delay: .2s; }
.l-menu.anima.active .c-menu_item:nth-child(3) { transition-delay: .3s; }
.l-menu.anima.active .c-menu_item:nth-child(4) { transition-delay: .4s; }
.l-menu.anima.active .access_contact_item:nth-child(1) { transition-delay: .5s; }
.l-menu.anima.active .access_contact_item:nth-child(2) { transition-delay: .6s; }


/**
 * footer
 -------------------------------------------------- */
.l-footer {
	z-index: 1;
	position: relative;
	margin-top: 80px;
	padding: 48px 20px 24px;
	letter-spacing: 0;
}
.l-footer::before {
	content: "";
	z-index: -1;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background: #fbfaf4;
}
.contentsinfo,
.copyright {
	max-width: 1040px;
	margin: 0 auto;
}
@media screen and (min-width: 768px) {
	.l-footer {
		margin-top: 180px;
		padding: 80px 20px 40px;
	}
	.l-footer::before {
		right: calc(50% - 50vw);
		left: calc(50% - 50vw);
	}
	.contentsinfo {
		display: flex;
		justify-content: space-between;
	}
	.c-footer-access {
		flex-basis: 460px;
	}
}
/* inview */
.l-footer.js-inview.anima {
	transition: opacity 1.2s, transform 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.l-footer.js-inview:not(.active) {
	opacity: 0;
	transform: translateY(48px);
}

/* :::::: menu :::::: */
.contentsinfo .c-menu_item .main {
	font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
	.contentsinfo .c-menu {
		display: flex;
		flex-wrap: wrap;
	}
	.contentsinfo .c-menu_item {
		flex-basis: 50%;
	}
	.contentsinfo .c-menu_item:nth-child(n+3) {
		margin-top: 24px;
	}
}
@media screen and (min-width: 768px) {
	.contentsinfo .c-menu_item:not(:first-child) {
		margin-top: 32px;
	}
	.contentsinfo .c-menu_item .main {
		font-size: 3.6rem;
	}
}

/* :::::: access :::::: */
.access_text {
	display: flex;
	flex-wrap: wrap;
	line-height: 2;
}
.access_t {
	flex-basis: 5em;
	font-size: 1rem;
	font-family: Cormorant, serif;
	font-weight: 400;
}
.access_d {
	flex-basis: calc(100% - 5em);
	font-size: 1rem;
	letter-spacing: .1em;
}
.access_t:not(:first-of-type),
.access_d:not(:first-of-type) {
	margin-top: 12px;
}
@media screen and (max-width: 767px) {
	.access_text {
		margin-top: 40px;
	}
}
@media screen and (min-width: 768px) {
	.access_t {
		font-size: 1.1rem;
	}
	.access_d {
		font-size: 1.3rem;
	}
}

/* :::::: google map :::::: */
.access_map {
	max-width: 460px;
	height: 160px;
	margin-top: 32px;
	background: #ccc;
}
.googlemap {
	width: 100%;
	height: 100%;
}
@media screen and (min-width: 768px) {
	.access_map {
		height: 220px;
	}
}

/* :::::: contact :::::: */
.contentsinfo .access_contact {
	margin-top: 40px;
}
.contentsinfo .access_contact a {
	height: 28px;
}
.contentsinfo .access_contact_item.-tel {
	font-size: 1rem;
}
.contentsinfo .access_contact_item.-tel b {
	margin-left: 8px;
	font-size: 1.3rem;
}
.contentsinfo .access_contact_item.-instagram {
	font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
	.contentsinfo .access_contact_item.-instagram {
		margin-top: 8px;
	}
	.contentsinfo .access_contact_item.-instagram img {
		margin-top: -2px;
	}
}
@media screen and (min-width: 768px) {
	.contentsinfo .access_contact {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.contentsinfo .access_contact a {
		height: 36px;
	}
	.contentsinfo .access_contact_item.-tel {
		font-size: 1.1rem;
	}
	.contentsinfo .access_contact_item.-tel b {
		margin-left: 16px;
		font-size: 1.8rem;
	}
	.contentsinfo .access_contact_item.-instagram {
		font-size: 2.1rem;
	}
}

/* :::::: copyright :::::: */
.copyright {
	margin-top: 48px;
	color: #999;
	font-size: 1rem;
}