@charset "UTF-8";
/* ----------------------- common ----------------------- */
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru&display=swap');
body {
  font-family: 'Kiwi Maru', serif;
	font-size: 14px;
	line-height: 1.8;
	word-wrap: break-word;
	color: #333;
	background-color: #ffffff;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	vertical-align: middle;
}
* {
	margin: 0;
	padding: 0;
	line-height: 1;
	list-style: none;
	/* font-feature-settings: "palt"; */
}

a {
	color: #fabe00;
}
/* ----------------------- wrap ----------------------- */

.wrap {
	position: relative;
	top: 0;
	left: 0;
	margin: 0 auto;
	width: 100%;
	max-width: 750px;
	height: auto;
	box-sizing: border-box;
}
/* ----------------------- header ----------------------- */

#fixed-top-cta-btn {
	position: absolute;
	top: 50%;
	left: calc( 100% * ( 450 / 750));
	display: block;
	width: calc( 100% * ( 284 / 750));
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
[id*="cta-btn"] {
	-webkit-transition: opacity 0.4s;
	transition: opacity 0.4s;
}
[id*="cta-btn"]:hover {
	opacity: 0.8;
}
.header {
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	-webkit-transition: .2s;
	transition: .2s;
	background-color: #fabe00;
	-webkit-box-shadow: 0 1px 5px 0px rgb(0 0 0 / 10%);
	box-shadow: 0 1px 5px 0px rgb(0 0 0 / 10%);
}
@media screen and (max-width: 750px) {
	.header {
		height: calc( 100vw * ( 100 / 750));
	}
}
@media screen and (min-width: 751px) {
	.header {
		height: 100px;
	}
}
.header_wrap {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0 auto;
}
@media screen and (min-width: 751px) {
	.header_wrap {
		max-width: 750px;
	}
}
.header_logo {
	position: absolute;
	top: 50%;
	left: calc( 100% * ( 5 / 750));
	display: block;
	width: calc( 100% * ( 300 / 750));
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.salon-btn {
	position: absolute;
	top: 50%;
	left: calc( 100% * ( 280 / 750));
	display: block;
	width: calc( 100% * ( 160 / 750));
	cursor: pointer;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.salon-btn:hover {
	opacity: 0.7;
}
.cau-btn {
	position: absolute;
	top: 50%;
	left: calc( 100% * ( 495 / 750));
	display: block;
	width: calc( 100% * ( 250 / 750));
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.cau-btn:hover {
	opacity: 0.7;
}
@media screen and (max-width: 750px) {
	.header_space {
		height: calc( 100vw * ( 100 / 750));
	}
}
@media screen and (min-width: 751px) {
	.header_space {
		height: 100px;
	}
}
/* ----------------------- session1 ----------------------- */

.session1 {
	margin-bottom: 0px;
}
.rec_mission>h2 {
	font-family: 'Lato', sans-serif;
	font-size: 32px;
	line-height: 46px;
	margin-bottom: 14px;
}
.rec_mission>h3 {
	font-size: 20px;
	line-height: 1.5;
	margin-bottom: 40px;
}
.rec_mission>p {
	font-size: 13px;
	line-height: 22px;
}
.rec_mission>p:not(:last-child) {
	margin-bottom: 16px;
}
/* ----------------------- btn_section ----------------------- */

.btn_section {
	padding: 20px 0 20px 15px;
  background: #faf9f4;

}
.btn_section img {
	-webkit-animation: bounce 1.4s ease 0s infinite normal;
	animation: bounce 1.4s ease 0s infinite normal;
}

.btn_white_section {
	padding: 20px 0 20px 15px;
  background: #ffffff;

}
.btn_white_section img {
	-webkit-animation: bounce 1.4s ease 0s infinite normal;
	animation: bounce 1.4s ease 0s infinite normal;
}

/*----------btn animations----------*/

@-webkit-keyframes bounce {
	from {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	50% {
		-webkit-transform: scale3d(1.075, 1.075, 1.075);
		transform: scale3d(1.075, 1.075, 1.075);
	}
	to {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}
@keyframes bounce {
	from {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	50% {
		-webkit-transform: scale3d(1.075, 1.075, 1.075);
		transform: scale3d(1.075, 1.075, 1.075);
	}
	to {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}
/* ----------------------- shop list ----------------------- */

.accordion_list, .accordion_list * {
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-size: inherit;
}
.wrap.accordion_list {
	max-width: 750px;
	margin: 0 auto;
	text-align: center;
	font-size: 30px;
	line-height: 1em;
	letter-spacing: .05em;

}
.accordion_list .trigger {
	margin-bottom: 5px;
	color: #ffffff;
	font-weight: bold;
	padding: 30px 0 30px 0;
	background: #fabe00;
}
.content .trigger {
	margin-bottom: 5px;
	background-color: #f2f2f2;
	color: #333333;
	font-weight: bold;
	padding: 22px;
}
.box {
	margin-bottom: 5px;
	background-color: #ffffff;
	color: #333333;
	padding: .9em 1em;
}
.box .material-icons {
	margin-right: 7px;
	font-size: 18px;
	vertical-align: middle;
	color: #fabe00;
}
.box>p {
	position: relative;
	letter-spacing: 0.15em;
	font-size: 20px;
}
@media screen and (max-width: 750px) {
	.box>p {
		margin: 0 0 calc( 100vw * ( 20 / 750)) 0;
		font-size: calc( 100vw * ( 24 / 750));
		line-height: calc( 100vw * ( 50 / 750));
	}
}
@media screen and (min-width: 751px) {
	.box>p {
		margin: 0 0 8px 0;
		font-size: 20px;
		line-height: 17px;
	}
}
/*.box a {
	color: #fabe00;
}
.box a:hover {
	color: #ff7043;
}*/
.tel_link {
	color: #000000;
}
.tel_link:hover {
	color: #ff7043;
}
.list_map {
	position: relative;
	padding-bottom: 55%;
	height: 0;
	overflow: hidden;
	margin-bottom: 10px;
   /* width: 90vw; */
  margin: 0vh auto 0;
  display:none;
}

.list_map iframe {
    position: absolute;
    /* top: -45vw; */
    left: 0;
    width: 100%;
    height: 45vw;
}

/* - contact_btn---- */

.shop_button {
	padding: 30px 0 0 0;
	width: 80%;
	margin: 0 auto;
}
.anime_btn {
	margin: 0 auto;
  width: 90%;
}
.shop_button img {
	-webkit-animation: bounce 1.4s ease 0s infinite normal;
	animation: bounce 1.4s ease 0s infinite normal;
}
.accordion_list .trigger {
	position: relative;
	cursor: pointer;
	transition-duration: 200ms;
}
.wrap.accordion_list .content {
	font-size: 16px;
	text-align: left;
	color: #333333;
}
.accordion_list .trigger:hover {
	opacity: .8;
}
.accordion_list .trigger::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: .5em;
	display: block;
	width: 2em;
	background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"%3E%3Cpolyline fill="none" stroke="%23ffffff" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" points="4 8 12 16 20 8" /%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 1em 1em;
	transform: rotate(0deg);
	transition-duration: inherit;
	pointer-events: none;
}
.accordion_list .trigger.open::after {
	transform: rotate(540deg);
}
@media screen and (max-width: 600px) {
	.wrap.accordion_list {
		font-size: 24px;
	}
	.accordion_list .trigger, .accordion_list .box {
		padding-left: 1em;
	}
}
/* ----------------------- footer ----------------------- */

.footer_notic {
	margin-bottom: 10px;
	background-color: #000000;
	padding: 30px 15px;
	color: #ffffff;
}
.footer_notic>ul {}
.footer_notic li {
	font-size: 14px;
	line-height: 1.5;
}
.footer {
	margin-bottom: 10px;
	background-color: #ffffff;
	padding: 20px 15px;
}
.footer-logo {
	position: relative;
	display: block;
	max-width: 200px;
}
@media screen and (max-width: 750px) {
	.footer-logo {
		margin: calc( 100% * ( 1 / 750)) auto calc( 100% * ( 30 / 750)) auto;
	}
}
@media screen and (min-width: 751px) {
	.footer-logo {
		margin: 40px auto 21px auto;
	}
}
.footer-copyright {
	position: relative;
	text-align: center;
	color: #333;
}
@media screen and (max-width: 750px) {
	#footer-copyright {
		margin: 0 0 calc( 100vw * ( 48 / 750)) 0;
		font-size: calc( 100vw * ( 20 / 750));
		line-height: calc( 100vw * ( 17 / 750));
	}
}
@media screen and (min-width: 751px) {
	#footer-copyright {
		margin: 0 0 48px 0;
		font-size: 20px;
		line-height: 17px;
	}
}
/* ----------------------- Page Top ----------------------- */

#pagetop {
	display: inline-block;
	position: fixed;
	bottom: 3%;
	right: 3%;
}
#pagetop a {
	padding: 20px;
	display: block;
	background: #fabe00;
	color: #fff;
	text-align: center;
	border-radius: 50%;
	width: 70px;
	height: 70px;
	line-height: 20px;
}
#pagetop i {
	font-size: 80px;
	margin: -28px -28px;
}