@charset "UTF-8";
/*----------------------------------------------------
	レスポンシブ
----------------------------------------------------*/
.hide {
	display: none;
}

.pc {
	display: inline;
}
.pc.block {
	display: block;
}
.pc_hide {
	display: none;
}
.pc_hide.block {
	display: none;
}

.sp {
	display: none;
}
.sp.block {
	display: none;
}

@media (max-width: 767px) {
	.sp {
		display: inline;
	}
	.sp.block {
		display: block;
	}
	.sp_hide {
		display: none;
	}
	.sp_hide.block {
		display: none;
	}
	.pc {
		display: none;
	}
	.pc.block {
		display: none;
	}
	.pc_hide {
		display: inline;
	}
	.pc_hide.block {
		display: block;
	}
}

.container {
	position: relative;
	padding-right: 40px; 
	padding-left: 40px;
	margin: 0 auto;
}
@media (min-width: 768px) {
	.container {
		max-width: 1100px;
	}
}
@media (max-width: 767px) {
	.container {
		padding-right: 20px; 
		padding-left: 20px;
	}
}

@media (min-width: 768px) {
	.container--l {
		max-width: 1360px;
	}
}

@media (min-width: 768px) {
	.container--s {
		max-width: 720px;
	}
}

@media (max-width: 767px) {
	.sp_justify {
		margin-right: -20px; 
		margin-left: -20px;
	}
}

/*----------------------------------------------------
	フォント等
----------------------------------------------------*/
.serif {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ 明朝", serif;
}

.ff-gm {
	font-family: "EB Garamond", serif;
}

@media screen and (max-width: 767px), only screen and (max-device-width: 1024px) and (min-device-width: 768px) {
	a,
	button {
		-webkit-tap-highlight-color: rgba(255, 255, 255, 0); 
		-webkit-touch-callout: none;
	}
}

/*----------------------------------------------------
	アニメーション
----------------------------------------------------*/
.anime {
	opacity: 0; 
	visibility: hidden;
}

.anime.opacity {
	opacity: 1;
}

.animated {
	visibility: visible;
}

.fadeIn.animated {
	-webkit-animation: fadeIn .5s forwards;
	        animation: fadeIn .5s forwards;
}

.fadeInUp.animated {
	-webkit-animation: fadeInUp .5s forwards;
	        animation: fadeInUp .5s forwards;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@-webkit-keyframes fadeInUp {
	from {
		-webkit-transform: translateY(20px);
		        transform: translateY(20px); 
		opacity: 0;
	}
	to {
		-webkit-transform: translateY(0px);
		        transform: translateY(0px); 
		opacity: 1;
	}
}

@keyframes fadeInUp {
	from {
		-webkit-transform: translateY(20px);
		        transform: translateY(20px); 
		opacity: 0;
	}
	to {
		-webkit-transform: translateY(0px);
		        transform: translateY(0px); 
		opacity: 1;
	}
}

/*----------------------------------------------------
	メイン
----------------------------------------------------*/
/*----------------------------------------------------
	セクション
----------------------------------------------------*/
@media (min-width: 768px) {
	.main-section {
		padding: 80px 0;
	}
}

@media (max-width: 767px) {
	.main-section {
		padding: 12.5vw 0;
	}
}

.wrap {
	position: relative;
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

@-webkit-keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/*----------------------------------------------------
	見出し
----------------------------------------------------*/
.main_ttlA {
	line-height: 1.325;
	text-align: center;
}
.main_ttlA .en {
	display: block;
	letter-spacing: .1em;
}
.main_ttlA .ja {
	display: block;
	color: #333;
}
@media (min-width: 768px) {
	.main_ttlA .en {
		font-size: 40px;
	}
	.main_ttlA .ja {
		font-size: 16px;
	}
}
@media (max-width: 767px) {
	.main_ttlA .en {
		font-size: 28px;
	}
	.main_ttlA .ja {
		font-size: 11px;
	}
}

.main_ttlA--left {
	text-align: left;
}

.main_ttlB {
	line-height: 1.325;
	letter-spacing: .1em;
}
@media (min-width: 768px) {
	.main_ttlB {
		font-size: 40px;
	}
}
@media (max-width: 767px) {
	.main_ttlB {
		font-size: 28px;
	}
}

/*----------------------------------------------------
	ボタン
----------------------------------------------------*/
.btnA {
	position: relative;
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	        justify-content: center;
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display:         inline-flex;
	color: #fff;
	background-color: #94835d; 

	-webkit-box-align: center;
	-webkit-box-pack: center;
}
.btnA:after {
	position: absolute;
	top: 50%;
	right: 40px;
	margin-right: .5em;
	content: "\f061";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	-webkit-transform: translate(0, -50%);
	    -ms-transform: translate(0, -50%);
	        transform: translate(0, -50%);
	-webkit-transition: all .3s;
	        transition: all .3s; 

	     -o-transition: all .3s;
}
@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	.btnA:hover:after {
		-webkit-transform: translate(10px, -50%);
		    -ms-transform: translate(10px, -50%);
		        transform: translate(10px, -50%);
	}
}
@media (min-width: 768px) {
	.btnA {
		width: 400px;
		height: 80px;
		font-size: 20px;
	}
}
@media (max-width: 767px) {
	.btnA {
		width: 100%;
		height: 50px;
	}
	.btnA:after {
		right: 20px;
	}
}

/*----------------------------------------------------
	汎用クラス
----------------------------------------------------*/
.breadcrumb {
	position: absolute;
	top: .5em;
	margin-bottom: 1em;
	color: #666;
}
.breadcrumb a {
	color: #666;
}
.breadcrumb ul {
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;

	aline-items: center;
}
.breadcrumb li:not(:first-child):before {
	display: inline-block;
	margin: 0 .5em; 
	content: ">";
}
@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	.breadcrumb a:hover {
		color: #94835d;
	}
}
@media (min-width: 768px) {
	.breadcrumb {
		left: 40px;
	}
}
@media (max-width: 767px) {
	.breadcrumb {
		left: 20px;
		font-size: 12px;
	}
}

/*----------------------------------------------------
	トップページ
----------------------------------------------------*/
.top-visual {
	position: relative;
}
.top-visual .item-text {
	position: absolute;
	text-align: right;
}
.top-visual .item-logo {
	line-height: 1.375;
}
@media (min-width: 768px) {
	.top-visual {
		padding-bottom: 80px;
	}
	.top-visual .item-text {
		right: 40px;
		bottom: 34px;
	}
	.top-visual .item-logo {
		font-size: 60px; 
		letter-spacing: .2em;
	}
	.top-visual .item-desc {
		color: #333; 
		font-size: 14px;
		letter-spacing: .1em;
	}
}
@media (max-width: 767px) {
	.top-visual {
		padding-bottom: 12.5vw 0;
	}
	.top-visual .item-text {
		right: 0;
		bottom: -1.25em;
	}
	.top-visual .item-logo {
		font-size: 36px; 
		letter-spacing: .2em;
	}
	.top-visual .item-desc {
		height: 6em;
		overflow: hidden; 
		font-size: 12px;
	}
}

.top-about {
	background-color: #eee9e2;
}
@media (min-width: 768px) {
	.top-about {
		padding: 80px 0;
	}
	.top-about .item-pictures {
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		        justify-content: space-between; 
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;

		-webkit-box-pack: justify;
	}
	.top-about .item {
		width: 31.25%;
	}
}
@media (max-width: 767px) {
	.top-about {
		padding: 12.5vw 0;
	}
	.top-about .item-pictures {
		padding: 0 10%;
	}
	.top-about .item:not(:last-child) {
		margin-bottom: 10px;
	}
}

.top-menu .item-picture {
	overflow: hidden;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	.top-menu .item-picture img {
		-webkit-transition: all .3s;
		        transition: all .3s; 

		     -o-transition: all .3s;
	}
	.top-menu .item-picture a:hover img {
		-webkit-transform: scale(1.05, 1.05);
		    -ms-transform: scale(1.05, 1.05);
		        transform: scale(1.05, 1.05);
	}
}

@media (min-width: 768px) {
	.top-menu {
		padding: 80px 0;
	}
	.top-menu .items {
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		        justify-content: space-between; 
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;

		-webkit-box-pack: justify;
	}
	.top-menu .item {
		width: 47%;
	}
}

@media (max-width: 767px) {
	.top-menu {
		padding: 12.5vw 0;
	}
	.top-menu .item:not(:last-child) {
		margin-bottom: 20px;
	}
}

.top-access {
	position: relative;
}
.top-access dd {
	margin-bottom: 1.5em;
}
@media (min-width: 768px) {
	.top-access {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex; 
		padding-bottom: 80px;
	}
	.top-access > div {
		width: 50%;
	}
	.top-access .info {
		-webkit-flex-direction: column;
		    -ms-flex-direction: column;
		        flex-direction: column;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		padding: 0 40px; 

		-webkit-box-direction: normal;
		-webkit-box-orient: vertical;
	}
	.top-access .more {
		margin-top: auto;
	}
}
@media (max-width: 767px) {
	.top-access {
		padding-bottom: 12.5vw;
	}
	.top-access .map iframe {
		height: 240px;
	}
	.top-access .info {
		padding: 0 20px 0;
	}
}

/*----------------------------------------------------
	サロンについて
----------------------------------------------------*/
.about-message {
	background-image: url(../images/bgA.svg), url(../images/bgB.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: left 0, right bottom;
}
@media (min-width: 768px) {
	.about-message {
		padding: 80px 0;
	}
	.about-message .item {
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		        justify-content: space-between; 
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;

		-webkit-box-pack: justify;
	}
	.about-message .item-picture {
		width: 320px;
		margin-right: 40px;
	}
	.about-message .item-body {
		-webkit-flex: 1;
		    -ms-flex: 1;
		        flex: 1; 

		-webkit-box-flex: 1;
	}
}
@media (max-width: 767px) {
	.about-message {
		padding: 12.5vw 0;
	}
	.about-message .item-picture {
		margin-bottom: 12px;
		text-align: center;
	}
}

.about-faq {
	background: #eee9e2;
}
.about-faq .item {
	background-color: #fff;
}
.about-faq .item-q {
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	margin-bottom: .5em; 

	-webkit-box-align: center;
}
.about-faq i {
	margin-right: .25em;
	font-style: normal;
}
.about-faq .item-a {
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1; 

	-webkit-box-flex: 1;
}
@media (min-width: 768px) {
	.about-faq {
		padding: 80px 0;
	}
	.about-faq .item {
		padding: 1em 1.5em;
	}
	.about-faq .item:not(:last-child) {
		margin-bottom: 32px;
	}
	.about-faq i {
		font-size: 24px;
	}
}
@media (max-width: 767px) {
	.about-faq {
		padding: 12.5vw 0;
	}
	.about-faq .item {
		padding: 1em 1.5em;
	}
	.about-faq .item:not(:last-child) {
		margin-bottom: 5vw;
	}
	.about-faq i {
		font-size: 20px;
	}
}

/*----------------------------------------------------
	メニュー
----------------------------------------------------*/
.menu-content {
	background-color: #f6f4f0;
}
@media (min-width: 768px) {
	.menu-content {
		padding: 80px 0;
	}
}
@media (max-width: 767px) {
	.menu-content {
		padding: 12.5vw 0;
	}
}

.menu-content--bg {
	background-color: #eee9e2;
}

.menu-items:not(:last-child) {
	background: url(../images/line.png) center bottom no-repeat;
}

@media (min-width: 768px) {
	.menu-items {
		padding-bottom: 50px;
		margin-bottom: 40px;
	}
	.menu-items.col2 {
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		        justify-content: space-between; 
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;

		-webkit-box-pack: justify;
	}
	.menu-items.col2 > div {
		width: 48%;
	}
}

@media (max-width: 767px) {
	.menu-items {
		padding-bottom: 26px;
		margin-bottom: 20px;
	}
	.menu-items:not(:last-child) {
		background-size: 100% auto;
	}
}

.menu-item .item-head {
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	padding-bottom: .75em;
	margin-bottom: .75em;
	border-bottom: 1px solid #666; 

	-webkit-box-align: center;
	-webkit-box-pack: justify;
}

.menu-item .item-title {
	font-size: 1.125em;
	font-weight: bold; 
	line-height: 1.325;
}

.menu-item .item-price {
	font-weight: bold;
}

@media (min-width: 768px) {
	.menu-item:not(:last-child) {
		margin-bottom: 30px;
	}
	.menu-item td:not(:first-child) {
		padding-left: 3em;
	}
	.menu-item span.t {
		display: inline-block;
		width: 9em;
	}
	.menu-item span.t2 {
		display: inline-block;
		width: 19em;
	}
}

@media (max-width: 767px) {
	.menu-item:not(:last-child) {
		margin-bottom: 20px;
	}
	.menu-item td:not(:first-child) {
		padding-left: 3em;
	}
	.menu-item span.t {
		display: inline-block;
		width: 9em;
	}
	.menu-item span.t2 {
		display: inline-block;
		width: 19em;
	}
}

/*----------------------------------------------------
	アクセス
----------------------------------------------------*/
@media (min-width: 768px) {
	.access-content {
		padding: 80px 0;
	}
}

@media (max-width: 767px) {
	.access-content {
		padding: 12.5vw 0;
	}
}

.access-detail dt {
	font-weight: bold;
}

.access-detail dd {
	margin-bottom: 1.5em;
}

@media (max-width: 767px) {
	.access-map iframe {
		height: 300px;
	}
}

/*----------------------------------------------------
	会社概要
----------------------------------------------------*/
@media (min-width: 768px) {
	.company-content {
		padding: 80px 0;
	}
}

@media (max-width: 767px) {
	.company-content {
		padding: 12.5vw 0;
	}
}

.company-detail dl {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	padding-bottom: 1.25em;
	margin-bottom: 1.25em;
	border-bottom: 1px solid #ccc;
}

.company-detail dt {
	width: 6em;
	font-weight: bold;
}

.company-detail dd {
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1; 

	-webkit-box-flex: 1;
}

@media (max-width: 767px) {
	.company-map iframe {
		height: 300px;
	}
}

/*----------------------------------------------------
	汎用クラス
----------------------------------------------------*/
.fadeIn {
	display: none;
}
.fadeIn.show {
	-webkit-animation: fadeIn .6s linear;
	        animation: fadeIn .6s linear;
}

.crop {
	position: relative;
	display: block;
	padding: 100% 0 0;
	overflow: hidden;
}
.crop img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	-webkit-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

.bold,
.strong {
	font-weight: bold;
}

.center {
	text-align: center;
}

.left {
	text-align: left;
}

.right {
	text-align: right;
}

.indent {
	padding-left: 1em;
	text-indent: -1em;
}

.indent--2 {
	padding-left: 2em;
	text-indent: -2em;
}

.indent--3 {
	padding-left: 3em;
	text-indent: -3em;
}

.lh18 {
	line-height: 1.8;
}
@media (max-width: 767px) {
	.lh18 {
		line-height: 1.5;
	}
}

.lh2 {
	line-height: 2;
}
@media (max-width: 767px) {
	.lh2 {
		line-height: 1.75;
	}
}

.mb5 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb55 {
	margin-bottom: 55px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb65 {
	margin-bottom: 65px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.mb75 {
	margin-bottom: 75px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

@media (max-width: 767px) {
	.mb5 {
		margin-bottom: .78125vw !important;
	}
	.mb10 {
		margin-bottom: 1.5625vw !important;
	}
	.mb15 {
		margin-bottom: 2.34375vw !important;
	}
	.mb20 {
		margin-bottom: 3.125vw !important;
	}
	.mb25 {
		margin-bottom: 3.90625vw !important;
	}
	.mb30 {
		margin-bottom: 4.6875vw !important;
	}
	.mb35 {
		margin-bottom: 5.46875vw !important;
	}
	.mb40 {
		margin-bottom: 6.25vw !important;
	}
	.mb45 {
		margin-bottom: 7.03125vw !important;
	}
	.mb50 {
		margin-bottom: 7.8125vw !important;
	}
	.mb55 {
		margin-bottom: 8.59375vw !important;
	}
	.mb60 {
		margin-bottom: 9.375vw !important;
	}
	.mb65 {
		margin-bottom: 10.15625vw !important;
	}
	.mb70 {
		margin-bottom: 10.9375vw !important;
	}
	.mb75 {
		margin-bottom: 11.71875vw !important;
	}
	.mb80 {
		margin-bottom: 12.5vw !important;
	}
}

.fz-12 {
	font-size: .75em;
}

.fz-14 {
	font-size: .875em;
}

.fz-16 {
	font-size: 1em;
}

.fz-18 {
	font-size: 1.125em;
}

.fz-20 {
	font-size: 1.25em;
}

.fz-22 {
	font-size: 1.375em;
}

.fz-24 {
	font-size: 1.5em;
}

.fz-26 {
	font-size: 26px !important;
}

.fz-28 {
	font-size: 28px !important;
}

.fz-30 {
	font-size: 30px !important;
}

@media (max-width: 767px) {
	.fz-12--sp {
		font-size: .75em;
	}
	.fz-14--sp {
		font-size: .875em;
	}
	.fz-16--sp {
		font-size: 1em;
	}
	.fz-18--sp {
		font-size: 1.125em;
	}
	.fz-20--sp {
		font-size: 1.25em;
	}
	.fz-22--sp {
		font-size: 1.375em;
	}
	.fz-24--sp {
		font-size: 1.5em;
	}
	.fz-26--sp {
		font-size: 1.625em;
	}
	.fz-28--sp {
		font-size: 1.75em;
	}
	.fz-30--sp {
		font-size: 1.875em;
	}
}