@charset "UTF-8";
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, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, footer, header, nav, section, summary, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-weight: normal;
}
img {
	vertical-align: top;
	width: 100%;
	height: auto;
	outline: none;
}
body {
	line-height: 1.7;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
ul, ol {
	list-style: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	text-decoration: none;
}
sub, sup {
	font-size: 75%;
}
sup {
	vertical-align: top;
}
ins {
	background-color: #ff9;
	color: #231815;
	text-decoration: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}
html {
}
/**/
body {
	background-color: #231815;
	color: #231815;
	font-family: "Noto Serif", serif;
	font-weight: 300;
	font-feature-settings: 'palt';
	letter-spacing: 0.08em;
}
body.no-scroll {
	overflow: hidden;
}
.font-jp {
	font-family: "Noto Serif", serif;
	font-weight: 400;
	font-style: normal;
}
.font-en {
	font-family: "Wix Madefor Text", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
.btm_cap_l, .btm_cap_r {
	position: relative;
}
.btm_cap_r span, .btm_cap_l span {
	font-size: 11px;
	position: absolute;
	bottom: 5px;
	color: #fff;
	text-shadow: 1px 1px 2px black, -1px -1px 2px black;
	z-index: 3;
}
.btm_cap_r span {
	text-align: right;
	right: 10px;
}
.btm_cap_l span {
	text-align: left;
	left: 10px;
}
/* 下層メインエフェクト */
.mainimg::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: #231815;
	position: absolute;
	left: 0;
	top: 0;
	animation: mainani 4s 0s forwards ease;
	z-index: 4;
}

.mainv .maintxt h2,
.mainv .maintxt p,
.mainv .maintxt .body_copy {
	opacity: 0;
	transform: translateY(15px);
	}
.mainv .maintxt h2 {
		animation: mtani 1s 2s forwards ease;
	}
.mainv .maintxt p,.mainv .maintxt .body_copy  {
		animation: mtani 1s 2.4s forwards ease;
	}

@keyframes mainani {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@keyframes mtani {
	0% {
		opacity: 0;
		transform: translateY(15px);
	}
	100% {
		opacity: 1;
		transform: translateY(0px);
	}
}



/*-----------------------------------------------------
フッター上のナビ　PC・SP共通
-------------------------------------------------------*/
.und_nav_warp {
	background-color: #443a38;
}
.splide {
	padding: 0 20px;
}
.splide__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.und_nav_thumb {
	background-color: #231815;
}
.und_nav_thumb a {
	color: #000000;
	display: block;
	position: relative;
	transition: .5s;
	
}
.und_nav_thumb a::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: rgba(255, 255, 255, 0.6);
	transition: .5s;
}
.und_nav_thumb a img{
	opacity: 0.5;
}
.und_nav_thumb span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 12px;
	z-index: 2;
	white-space: nowrap;
	text-align: center;
	font-family: "Wix Madefor Text", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
}
/*-----------------------------------------------------
splideの左右ボタン　PC・SP共通
-------------------------------------------------------*/
/* デフォルトの左右ボタン */
.splide__arrow {
	width: 32px;
	height: 64px;
	border-radius: 0%;
	border: none;
	align-items: center;
	cursor: pointer;
	display: flex;
	opacity: .7;
	padding: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index:1;
}
.splide__arrow svg {
	display: none !important;
}
.splide__arrow--prev {
	background: url("../img/common/arrow_sl2.png") left top no-repeat;
	background-size: cover;
	left: -50px;
}
.splide__arrow--next {
	background: url("../img/common/arrow_sr2.png") left top no-repeat;
	background-size: cover;
	right: -50px;
}
.und_nav .splide__arrow--prev {
	background: url("../img/common/arrow_sl.png") left top no-repeat;
	background-size: cover;
}
.und_nav .splide__arrow--next {
	background: url("../img/common/arrow_sr.png") left top no-repeat;
	background-size: cover;
}

/**/
.add_pos {
	opacity: 0;
	transition: 1s;
	transform: translateY(35px);
}
.pos_on {
	opacity: 1;
	transform: translateY(0px);
}

/* 767px以下 スマホ向け
--------------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
	.main-carousel .splide__arrow--prev,.main-carousel .splide__arrow--next {
		display: none;
}	
	.und_nav .splide__arrow {
	width: 10px;
	height: 20px;
}
	.und_nav .splide__arrow--prev {
	left: 0px;
}
.und_nav .splide__arrow--next {
right: 0px;
}
	
}

/* 768px以上 PC向け
--------------------------------------------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.main-carousel .splide__arrow--prev,.main-carousel .splide__arrow--next{
	width: 20px;
	height: 40px;
}
	.main-carousel .splide__arrow--prev {
	left: -70px;
}
.main-carousel .splide__arrow--next {
		right: -70px;
}
}

/*-----------------------------------------------------
splideのサムネイルボタン　PC・SP共通
-------------------------------------------------------*/
	.thumbnails {
		display: flex;
  flex-wrap: wrap;
}

.thumbnail {
  overflow: hidden;
  list-style: none;
  cursor: pointer;
	position: relative;
}
.thumbnail::after{
	content: "";
	display: block;
	opacity: 0;
	transition: .5s;
	border: solid 6px #231815;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	top: 0;
}
.thumbnail.is-active::after{
	opacity: 1;
}
/* 767px以下 スマホ向け
--------------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
	.thumbnails {
		width: 100%;
  gap: 2px;
}
	.thumbnail {
  flex-basis: calc((100% - 6px) / 4);
}
	.thumbnail::after{
	border: solid 4px #231815;
}
}
/* 768px以上 PC向け
--------------------------------------------------------------------------------- */
@media print, screen and (min-width: 768px) {
		.thumbnails {
		width: 1000px;
			gap: 4px;
}
	.thumbnail {
  flex-basis: calc((100% - 12px) / 4);
}
	.thumbnail:hover::after{
	opacity: 1;
}
}

/*-----------------------------------------------------
タブ切り替え
-------------------------------------------------------*/
.ul_tab li a.showtabbox{
	cursor: default;
}
 .block_tab {
  display: none;
 }
.block_tab.showtabbox{
	display: block;
}





/* 767px以下 スマホ向け
--------------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
	.isPC {
		display: none !important;
	}
	.isSP {
		display: block;
	}
	/*-----------------------------------------------------
ヘッダー
-------------------------------------------------------*/
	header {
		width: 100%;
		height: 50px;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 15;
		background-color: #231815;
		box-sizing: border-box;
		border-bottom: solid 1px #fff;
		padding: 15px 0 0 15px;
	}
	header h1 {
		width: 172px;
		font-size: 0;
	}
	header h1 > a {
		display: block;
	}
	header h1 img {}
	/**/
	header #menu {
		position: absolute;
		top: 10px;
		right: 15px;
		height: 30px;
		width: 40px;
		transition: all .2s ease-in-out;
		z-index: 20;
	}
	header .menu span {
		display: block;
		position: absolute;
		top: 7px;
		left: 0;
		transition: all .3s ease-in-out;
	}
	header .menu span:before, header .menu span:after {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		transition: all .3s ease-in-out;
	}
	header .menu span, header .menu span:before, header .menu span:after {
		box-sizing: border-box;
		width: 40px;
		height: 0;
		border-bottom: 2px solid #fff;
		border-left: 2px solid transparent;
		border-right: 2px solid transparent;
	}
	header .menu span:before, header .menu span:after {
		margin-left: -2px;
	}
	header .menu span:before {
		margin-top: -6px;
	}
	header .menu span:after {
		margin-top: 6px;
	}
	header .menu div {
		text-align: center;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		transition: .5s;
		opacity: 1;
		font-size: 0;
	}
	/**/
	/* アニメーション */
	header .peke {}
	header #menu.peke div {}
	header .peke span:before, header .peke span:after {
		margin-top: 6px;
		border: 1px solid #fff;
	}
	header .peke span {
		background: transparent !important;
	}
	header .peke span:before {
		transform: rotate(-45deg);
	}
	header .peke span:after {
		transform: rotate(45deg);
	}
	header .peke div {
		opacity: 0;
	}
	header .peke span {
		border-color: transparent;
	}
	/* サイドナビ */
	.sidenav {
		background: rgba(35, 24, 21, 0.9);
		position: fixed;
		right: 0;
		top: 50px;
		width: 100%;
		height: calc(100% - 50px);
		padding: 40px 0 0;
		box-sizing: border-box;
		z-index: 15;
		transform: translate3d(100%, 0, 0);
		transition: transform cubic-bezier(0.2, 0.1, 0.2, 1) 0.4s;
		overflow: auto;
		font-family: "Wix Madefor Text", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
		display: flex;
		flex-direction: column;
	}
	.sidenav ul.gnav {
		margin: 0 50px;
		flex-grow: 1;
	}
	.sidenav ul.gnav li {
		font-size: 15px;
		margin-bottom: 25px;
	}
	.sidenav ul.gnav li a {
		color: #fff;
		padding: 0 20px 10px 0;
		border-bottom: solid 1px #ffffff;
		display: block;
		position: relative;
		background-color: transparent;
	}
	.sidenav ul.gnav li a::before {
		display: block;
		content: "";
  position: absolute;
  right: 0;
		top: 2px;
  width: 8px;
  height: 8px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(-45deg);
	}
	.sidenav ul.gnav li a::after {
		content: "";
		display: block;
		width: 25px;
		height: 0;
		border-bottom: 2px solid #fff;
		border-left: 2px solid transparent;
		border-right: 2px solid transparent;
		position: absolute;
		left: 0;
		bottom: 0;
		transition: .5s;
	}
	.sidenav ul.gnav li.current a {
		padding-left: 10px;
	}
	.sidenav ul.gnav li.current a::before {
		right: 10px;
	}
	.sidenav .btn_outline {
		margin: 20px 50px 50px;
		border: solid 1px #fff;
		border-bottom: none;
	}
	.sidenav .btn_outline a {
		display: block;
		text-align: center;
		color: #fff;
		font-size: 15px;
		position: relative;
		padding: 20px 0;
		background-color: transparent;
		transition: .5s;
	}
	.sidenav .btn_outline a::after {
		content: "";
		display: block;
		width: 100%;
		box-sizing: border-box;
		height: 0;
		border-bottom: 2px solid #fff;
		border-left: 2px solid transparent;
		border-right: 2px solid transparent;
		position: absolute;
		left: -1px;
		bottom: -5px;
	}
	.sidenav .btm_btn {
		display: flex;
		width: 100%;
		font-family: "Noto Serif", serif;
		font-weight: 300;
	}
	.sidenav .ft_btn1, .btn_fixed .ft_btn1:nth-of-type(1) {
		width: 60%;
	}
	.sidenav .ft_btn1 a, .btn_fixed .ft_btn1 a {
		background-color: #bd9369;
		display: block;
		font-size: 12px;
		text-align: left;
		padding: 15px 5px 0 15px;
		height: 50px;
		box-sizing: border-box;
	}
	.sidenav .ft_btn1:nth-of-type(2), .btn_fixed .ft_btn1:nth-of-type(2) {
		width: 40%;
	}
	.sidenav .ft_btn1:nth-of-type(2) a, .btn_fixed .ft_btn1:nth-of-type(2) a {
		position: relative;
		padding-left: 40px;
		border-left: solid 1px #fff;
	}
	.sidenav .ft_btn1:nth-of-type(2) a:after, .btn_fixed .ft_btn1:nth-of-type(2) a:after {
		content: none;
	}
	.sidenav .ft_btn1:nth-of-type(2) a:before, .btn_fixed .ft_btn1:nth-of-type(2) a:before {
		background-color: transparent;
		background: url("../img/common/icon_phone.png") left 50% no-repeat;
		background-size: 15px;
		display: block;
		width: 15px;
		height: 20px;
		position: absolute;
		left: 15px;
		top: 50%;
		transform: translateY(-50%);
	}
	/* 表示 */
	.sidenav.nav_open {
		transform: translate3d(0, 0, 0);
	}
	/*-----------------------------------------------------
固定ボタン
-------------------------------------------------------*/
	.btn_fixed {
		position: fixed;
		left: 0px;
		bottom: 0px;
		z-index: 10;
		display: flex;
		width: 100%;
		transition: .5s;
		visibility: visible;
		opacity: 1;
	}
	.fixednone.btn_fixed {
		visibility: hidden;
		opacity: 0;
	}
	.btn_fixed .ft_btn1 {}
	.btn_fixed .ft_btn1 a {
		display: block;
		box-sizing: border-box;
	}
	/*-----------------------------------------------------
コンテンツ
-------------------------------------------------------*/
	main {
		padding-top: 50px;
	}
	/* 各メインビジュアル
-------------------------------------------------------*/
	.mainv {
		position: relative;
		height: calc(100dvh - 100px);
		width: 100%;
		display: flex;
  flex-direction: column;
	}
	.mainv .mainimg {
		width: 100%;
		position: relative;
		flex: 1;
	}
	.mainv .maintxt {
		flex: 0 0 auto;
		z-index: 2;
		display: block;
		width: 100%;
		background-color: #231815;
	}
	.mainv .maintxt h2, .mainv .maintxt p, .mainv .maintxt .body_copy {
		letter-spacing: 0.05em;
	}
	.mainv .maintxt h2 {
		font-size: clamp(1.25rem, 1.011rem + 1.02vw, 1.5rem); /*20-24px*/
		font-size: 22px;
		font-family: "Wix Madefor Text", sans-serif;
		font-weight: 400;
		color: #fff;
		padding: 25px 10px 15px 20px;
	}
	.mainv .maintxt p {
		font-size: 15px;
		color: #fff;
		padding: 0 10px 0 20px;
	}
	.mainv .maintxt .body_copy {
		font-size: clamp(0.75rem, 0.630rem + 0.51vw, 0.875rem); /*12-14px*/
		color: #fff;
		padding: 15px 50px 20px 20px;
	}
	/*-----------------------------------------------------
content 
-------------------------------------------------------*/
	.content {
		padding: 0 20px 50px;
		background-color: #f2eae1;
		margin: 0 auto;
		
	}
	h3 {
		font-size: clamp(1.25rem, 1.011rem + 1.02vw, 1.5rem); /*20-24px*/
		font-family: "Wix Madefor Text", sans-serif;
		font-weight: 400;
		text-align: center;
		padding: 40px 0 30px;
		position: relative;
	}
	

	h3::before{
		content: "";
		display: block;
		width : calc(100% + 40px) ;
		height: 130px;
		background-color: #e8d9c9;
		position: absolute;
		left: -20px;
		top: 0;
	}
	h3.h3_ex::before{
		height: 100px;
	}
	/*h3.h3_ex2::before{
		height: 120px;
	}*/
h3 span{
		position: relative;
		z-index: 3;
	}
	h3 + * {
  z-index: 5;
		position: relative;
}
	
	/*-----------------------------------------------------
フッター上のナビ
-------------------------------------------------------*/
	.und_nav_warp {
		padding: 40px 20px;
	}
	.und_nav {
		margin: 0 auto;
	}
	/*-----------------------------------------------------
フッター
-------------------------------------------------------*/
	.footer {
		color: #fff;
		padding: 30px 0 0;
	}
	.sp_w {
	}
	.box_bt1{
		width: 90%;
		margin: 0 auto 30px;
		border: solid 1px #fff;
		box-sizing: border-box;
		padding: 40px 20px 30px;
	}
	.ft_logo {
		margin: 0 auto 5px;
	}
	.ft_info {
		margin: 0 auto 20px;
		text-align: center;
		font-size: clamp(1.25rem, 1.084rem + 0.347vw, 1.5rem); /*20-24px*/
	}
	.ft_info span {
		font-size: clamp(0.813rem, 0.729rem + 0.173vw, 0.938rem); /*13-15px*/
		line-height: 1.6;
		display: block;
	}
	ul.ft_btn {
	}
	ul.ft_btn li {
		width: 100%;
		text-align: center;
		font-size: clamp(1.375rem, 1.209rem + 0.347vw, 1.625rem); /*22-26px*/
	}
	ul.ft_btn li:not(:last-child) {
		margin-bottom: 15px;
	}
	.ft_btn {
		text-align: center;
		position: relative;
		z-index: 1;
	}
	.ft_btn1 a {
		display: inline-block;
		width: 100%;
		padding: 20px 0;
		font-size: clamp(1rem, 0.834rem + 0.347vw, 1.25rem); /*16-20px*/
		text-align: center;
		color: #fff;
		position: relative;
		background-color: #bd9369;
	}
	.ft_btn1 a::before {
		background-color: #fff;
		position: absolute;
		top: 50%;
		right: 13px;
		width: 15px;
		height: 1px;
		margin-top: 0px;
		content: "";
		transform: rotate(-45deg);
	}
	.ft_btn1 a::after {
		position: absolute;
		top: 50%;
		right: 13px;
		width: 12px;
		height: 12px;
		margin-top: -6px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		content: "";
		display: inline-block;
		vertical-align: middle;
	}
	
	
	
	.salon_wrap {
		margin: 0 auto ;
		color: #000000;
		padding: 25px 20px;
		background-color: #dec9b2;
	}
	.salon {
		padding: 30px 0;
	}
	.salon_ttl {
		font-family: "Wix Madefor Text", sans-serif;
		font-size: clamp(1.125rem, 0.886rem + 1.018vw, 1.375rem); /*18-22px*/
		text-align: center;
	}
	.salon_phone {
		font-family: "Wix Madefor Text", sans-serif;
		font-size: clamp(2rem, 1.523rem + 2.036vw, 2.5rem); /*32-40px*/
		text-align: center;
		transform: scale(0.95, 1);
		margin-bottom: 15px;
		line-height: 1;
	}
	.salon_phone a {
		color: #000000;
	}
	.salon_phone::before {
		content: '';
		display: inline-block;
		width: 23px;
		height: 30px;
		background-image: url("../img/common/tel.png");
		background-size: contain;
		background-repeat: no-repeat;
		vertical-align: middle;
		margin-right: 5px;
	}
	ul.salon_time {
		display: block;
		font-size: 13px;
		color: #000000;
		width: 100%;
		margin: 0 auto 10px;
		box-sizing: border-box;
		text-align: center;
	}
	ul.salon_time li {
	}

	ul.salon_time div {
		border: 1px solid #000000;
		padding: 5px 3px;
		text-align: center;
		margin-right: 10px;
		min-width: 5em;
		display: inline-block;
	}
	.salon_add {
		font-size: 13px;
		color: #000000;
		line-height: 1.4;
	}
	
	
	.box_bnr{
		background-color: #dec9b2;
		padding: 30px 0 30px;
	}
	.box_bnr .bnr{
		text-align: center;
		margin: 0 20px ;
		border-top: solid 1px #000000;
		padding-top: 30px;
		color: #000000;
	}
	.box_bnr .bnr .h_bnr{
		font-size: 14px;
		margin-bottom: 10px;
	}
	.box_bnr .bnr .btn_bnr{
		margin: 0 auto;
	}
	.box_bnr .bnr .btn_bnr a{
		transition: .5s;
		display: block;
	}
	
	ul.ft_nav_txt {
		margin:20px auto 10px;
		width: 90%;
		display: grid;
		grid-template-columns: 70% 1fr;
	}
	ul.ft_nav_txt li {
		margin-bottom: 5px;
	}
	ul.ft_nav_txt li a {
		font-family: "Wix Madefor Text", sans-serif;
		padding: 5px 0;
		display: block;
		color: #e8eaeb;
		font-size: 14px;
	}
	.ft_white_wrap {
		background-color: #dec9b2;
		padding: 20px 0 0;
		color: #231815;
		position: relative;
	}
	ul.ft_logos {
		margin: 0 5% 10px 5%;
		width: 90%;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: center;
	}
	ul.ft_logos li {
		width: 47%;
		margin-bottom: 15px;
	}
	ul.ft_logos li img {
		width: auto;
		height: 17px;
	}
	
	.totop {
		position: fixed;
		right: 0px;
		bottom: 50px;
		width: 52px;
		z-index: 5;
	}
	.totop a {
		display: block;
		transition: .5s;
		height: 49px;
		box-sizing: border-box;
		border: solid 1px #fff;
		border-right: none;
		position: relative;
			background-color: #231815;
	}
	.totop a::after{
		content: "";
		display: block;
  position: absolute;
  right: 50%;
		top: 60%;
  width: 9px;
  height: 9px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff; transform-origin: 50% 50%; 
  transform: translateY(-50%) translateX(50%) rotate(-135deg); 
	}
	ul.ft_logos li span {
		display: block;
		font-size: 10px;
		margin-bottom: 5px;
	}
	ul.prv_copy {
		margin: 0 auto;
		border-top: solid 1px #000000;
		text-align: center;
	}
	ul.prv_copy li.privacy {
		font-size: 12px;
		padding: 20px 0;
		background-color: #dec9b2;
		position: relative;
	}
	ul.prv_copy li.privacy a {
		color: #231815;
		padding-left: 11px;
		position: relative;
		display: inline-block;
	}
	ul.prv_copy li.privacy a::before {
		content: "";
		display: block;
		width: 6px;
		height: 6px;
		border-top: 1px solid #231815;
		border-right: 1px solid #231815;
		transform: translateY(-50%) rotate(45deg);
		position: absolute;
		top: 50%;
		left: 0;
	}
	ul.prv_copy li.copyright {
		font-size: 10px;
		padding: 20px 0;
		background-color: #231815;
		color: #fff;
	}
	.caption_block {
		padding: 20px 5%;
		box-sizing: border-box;
		background-color: #fff;
	}
	.caption_block div {
		margin: 0 auto;
		font-size: 11px;
	}
	
	
	/*-----------------------------------------------------
予告広告
-------------------------------------------------------*/
	header {
		height:108px;
		padding-top: 70px;
	}
	.box_yokoku{
		color: #fff;
		display: flex;
		background-color: #39302d;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		align-items: center;
		line-height: 1.3;
		height: 50px;
	}
	.box_yokoku div{}
	.box_yokoku div:first-of-type{
		font-size: 13px;
		padding: 0px 5px 0 10px;
		letter-spacing: 0.05em;
		white-space: nowrap;
	}
	.box_yokoku div:nth-of-type(2){
			font-size: 10px;
		padding:2px 10px;
		border-left: solid 1px #231815;
	}
	.box_yokoku div:nth-of-type(2) span{
	
	}
	header #menu {
		top: 62px;
	}
	.sidenav {
		top: 108px;
		height: calc(100% - 108px);
	}

	
	
}







/* 768px以上 PC向け
--------------------------------------------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.isSP {
		display: none !important;
	}
	.isPC {
		display: block;
	}
	body {
		min-width: 1000px;
	}
	a[href^="tel:"] {
		pointer-events: none;
		cursor: default;
	}
	
	/*-----------------------------------------------------
ヘッダー
-------------------------------------------------------*/
	header {
		width: 100%;
		height: 84px;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 15;
		background-color: #231815;
		box-sizing: border-box;
		border-bottom: solid 1px #fff;
		padding: 25px 0 0 40px;
	}
	header h1 {
		width: 284px;
		font-size: 0;
	}
	header h1 > a {
		display: block;
	}
	header .head_phone {
		position: absolute;
		right: 130px;
		top: 15px;
	}
	header .head_phone .salon_ttl {
		color: #ffffff;
		font-size: 13px;
	}
	header .head_phone .salon_phone {
		font-size: 32px;
		transform: scale(0.95, 1);
		margin: 0 auto;
	}
	header .head_phone .salon_phone a{
		color: #fff;
	}
	header .head_phone .salon_phone::before {
		content: '';
		display: inline-block;
		width: 20px;
		height: 25px;
		margin-right: 10px;
		padding-bottom: 4px;
		background-image: url("../img/common/icon_phone.png");
	}
	
	
	
	
	/**/
	header #menu {
		position: absolute;
		top: 17px;
		right: 40px;
		height: 50px;
		width: 50px;
		transition: all .2s ease-in-out;
		z-index: 20;
	}
	header .menu span {
		display: block;
		position: absolute;
		top: 12px;
		left: 0;
		transition: all .3s ease-in-out;
	}
	header .menu span:before, header .menu span:after {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		transition: all .3s ease-in-out;
	}
	header .menu span, header .menu span:before, header .menu span:after {
		box-sizing: border-box;
		width: 50px;
		height: 0;
		border-bottom: 4px solid #fff;
		border-left: 5px solid transparent;
		border-right: 5px solid transparent;
	}
	header .menu span:before, header .menu span:after {
		margin-left: -5px;
	}
	header .menu span:before {
		margin-top: -9px;
	}
	header .menu span:after {
		margin-top: 9px;
	}
	header #menu:hover {
		cursor: pointer;
	}
	header .menu:hover {
		opacity: 0.5;
	}
	header .menu div {
		text-align: center;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		transition: .5s;
		opacity: 1;
		font-size: 0;
	}
	/**/
	/* アニメーション */
	header .peke {}
	header #menu.peke div {}
	header .peke span:before, header .peke span:after {
		margin-top: 10px;
		border: 1px solid #fff;
	}
	header .peke span {
		background: transparent !important;
	}
	header .peke span:before {
		transform: rotate(-45deg);
	}
	header .peke span:after {
		transform: rotate(45deg);
	}
	header .peke div {
		opacity: 0;
	}
	header .peke span {
		border-color: transparent;
	}
	/* サイドナビ */
	.sidenav {
		background: rgba(35, 24, 21, 0.9);
		position: fixed;
		right: 0;
		top: 84px;
		width: 480px;
		height: calc(100% - 84px);
		padding: 45px 0 0;
		box-sizing: border-box;
		z-index: 15;
		transform: translate3d(100%, 0, 0);
		transition: transform cubic-bezier(0.2, 0.1, 0.2, 1) 0.4s;
		overflow: auto;
		font-family: "Wix Madefor Text", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
		display: flex;
		flex-direction: column;
	}
	.sidenav ul.gnav {
		margin: 0 50px 20px;
		flex-grow: 1;
	}
	.sidenav ul.gnav li {
		font-size: 15px;
		margin-bottom: 35px;
	}
	.sidenav ul.gnav li a {
		color: #fff;
		padding: 0px 20px 10px 0;
		border-bottom: solid 1px #ffffff;
		display: block;
		position: relative;
		transition: .5s;
		background-color: transparent;
	}
	.sidenav ul.gnav li a::before {
		content: "";
		display: block;
  position: absolute;
  right: 0;
		top: 2px;
  width: 8px;
  height: 8px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(-45deg);
		transition: .5s;
	}
	.sidenav ul.gnav li a::after {
		content: "";
		display: block;
		width: 25px;
		height: 0;
		border-bottom: 2px solid #fff;
		border-left: 2px solid transparent;
		border-right: 2px solid transparent;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	.sidenav ul.gnav li a:hover, .sidenav ul.gnav li.current a {
		padding: 0px 20px 10px 10px;
	}
	.sidenav ul.gnav li a:hover::before, .sidenav ul.gnav li.current a::before {
		right: 10px;
	}
	.sidenav .btn_outline {
		margin: 0 50px 60px;
		border: solid 1px #fff;
		border-bottom: none;
	}
	.sidenav .btn_outline a {
		display: block;
		text-align: center;
		color: #fff;
		font-size: 15px;
		position: relative;
		padding: 20px 0;
		background-color: transparent;
		transition: .5s;
	}
	.sidenav .btn_outline a::after {
		content: "";
		display: block;
		width: 100%;
		box-sizing: border-box;
		height: 0;
		border-bottom: 2px solid #fff;
		border-left: 2px solid transparent;
		border-right: 2px solid transparent;
		position: absolute;
		left: -1px;
		bottom: -5px;
	}
	.sidenav .btn_outline a:hover {
		background: rgba(255, 255, 255, 0.1);
	}
	.sidenav .btm_btn {
		font-family: "Noto Serif", serif;
		font-weight: 300;
	}
	/* 表示 */
	.sidenav.nav_open {
		transform: translate3d(0, 0, 0);
	}
	/*-----------------------------------------------------
固定ボタン
-------------------------------------------------------*/
	.btn_fixed {
		position: fixed;
		right: 0px;
		bottom: 100px;
		z-index: 10;
		transition: .5s;
		visibility: visible;
		opacity: 1;
	}
	.fixednone.btn_fixed {
		visibility: hidden;
		opacity: 0;
	}
	.btn_fixed .ft_btn1 {
		border-right: 0;
		box-sizing: border-box;
		min-width: 40px;
		text-align: center;
	}
	.btn_fixed .ft_btn1 a {	
		display: block;
		background-color: #bd9369;
		padding: 40px 10px 90px;
		writing-mode: vertical-rl;
		box-sizing: border-box;
		text-align: center;
  font-feature-settings: initial;
		line-height: 1.4;
	}
	.btn_fixed .ft_btn1 a::before {
		top: auto;
		bottom: 30px;
	}
	.btn_fixed .ft_btn1 a::after {
		top: auto;
		bottom: 24px;
	}
	/*-----------------------------------------------------
コンテンツ
-------------------------------------------------------*/
	main {
		padding-top: 84px;
	}
	/* 各メインビジュアル
-------------------------------------------------------*/
	.mainv {
		position: relative;
		height: calc(100vh - 84px);
		width: 100%;
	}
	.mainv .btm_cap_r {}
	.mainv .mainimg {
		height: 100%;
		width: 100%;
	}
	.mainv .maintxt {
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 2;
		display: block;
		width: 100%;
		background-image: linear-gradient(transparent 20%, #221815 95%);
	}
	.mainv .maintxt h2, .mainv .maintxt p, .mainv .maintxt .body_copy {
		text-shadow: 0px 0px 1px #231815, 0px 0px 1px #231815, 0px 0px 10px #231815;
		letter-spacing: 0.05em;
		text-indent: 0.05em;
	}
	.mainv .maintxt h2 {
		/*font-size: 60px;*/
		font-size: 54px;
		font-family: "Wix Madefor Text", sans-serif;
		font-weight: 400;
		color: #fff;
		margin: 0 auto 120px;
		text-align: center;
	}
	.mainv .maintxt p {
		font-size: 34px;
		color: #fff;
		margin: 0 auto;
		padding: 0 20px 20px;
		text-align: center;
	}
	.mainv .maintxt .body_copy {
		font-size: clamp(14px, 12.667px + 0.174vw, 20px); /*14-16px*/
		color: #fff;
		padding-bottom: 30px;
		text-align: center;
	}
	/*-----------------------------------------------------
content 
-------------------------------------------------------*/
	.content {
		padding: 0 0 80px;
		background-color: #f2eae1;
		margin: 0 auto;
		
	}
	h3 {
		font-size: clamp(1.5rem, 1.334rem + 0.347vw, 1.75rem); /*24-28px*/
		font-family: "Wix Madefor Text", sans-serif;
		font-weight: 400;
		text-align: center;
		padding: 120px 0 50px;
		position: relative;
	}
	h3::before{
		content: "";
		display: block;
		width: 100%;
		height: 420px;
		background-color: #e8d9c9;
		position: absolute;
		left: 0;
		top: 0;
	}
	h3.h3_ex::before,h3.h3_ex_pc::before{
		height: 240px;
	}
	h3.h3_ex2::before{
		height: 300px;
	}
h3 span{
		position: relative;
		z-index: 3;
	}
	h3 + * {
  z-index: 5;
		position: relative;
}
	.box_w1000{
		width: 1000px;
		margin: 0 auto;
	}
	/*-----------------------------------------------------
フッター上のナビ
-------------------------------------------------------*/
	.und_nav_warp {
		padding: 50px 20px;
		box-sizing: border-box;
	}
	.und_nav {
		margin: 0 auto;
		width: 1000px;
	}
	.splide__track {
		margin: 0 auto;
	}
	ul.splide__list {
		display: flex !important;
		justify-content: space-between;
		flex-wrap: nowrap;
	}
	ul.splide__list li {
		width: calc(calc(100% / 8) - 10px);
	}
	
	.und_nav_thumb span {
font-size: 20px;
	}
	.und_nav_thumb a:hover{
		color: #fff;
	}
	.und_nav_thumb a:hover::after {
		background: rgba(255, 255, 255, 0.2);
		cursor: pointer;
	}
	/*-----------------------------------------------------
フッター
-------------------------------------------------------*/
	.footer {
		color: #fff;
		margin: 0 auto;
		padding: 60px 0 0;
	}
	.box_bt1{
		width: 890px;
		margin: 0 auto 50px;
		border: solid 1px #fff;
		box-sizing: border-box;
		padding: 75px 0;
	}
	.ft_logo {
		width: 530px;
		margin: 0 auto 30px;
	}
	.ft_info {
		text-align: center;
		font-size: clamp(1.5rem, 1.251rem + 0.52vw, 1.875rem); /*24-30px     22px     */
		margin: 0 auto 60px;
	}
	.ft_info span {
		font-size: clamp(0.813rem, 0.729rem + 0.173vw, 0.938rem); /*13-15px*/
		display: block;
	}
	ul.ft_btn {
		width: 530px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	ul.ft_btn li {
		width: 100%;
		text-align: center;
		font-size: clamp(1.375rem, 1.209rem + 0.347vw, 1.625rem); /*22-26px*/
	}
	.ft_btn1 {
		text-align: center;
		position: relative;
		z-index: 1;
		background-color: #fff;
	}
	.ft_btn1 a {
		display: inline-block;
		width: 100%;
		padding: 20px 0;
		font-size: clamp(1rem, 0.834rem + 0.347vw, 1.25rem); /*16-20px*/
		text-align: center;
		position: relative;
		transition: .3s;
		background-color: #bd9369;
		color: #fff;
	}
	.ft_btn1 a::before{
	background-color: #fff;
		position: absolute;
		top: 50%;
		right: 25px;
		width: 15px;
		height: 1px;
		margin-top: 0px;
		content: "";
		transform: rotate(-45deg);
	}
	.ft_btn1 a::after{
		position: absolute;
		top: 50%;
		right: 26px;
		width: 12px;
		height: 12px;
		margin-top: -6px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		content: "";
		display: inline-block;
		vertical-align: middle;
	}
	
	
	
	/**/
	
	
	.ft_btn1 a:hover {
		opacity: 0.5;
	}
	.salon_wrap {
		margin: 0 auto;
		color: #000000;
		padding: 70px 0 0;
		background-color: #dec9b2;
	}
	.salon_ttl {
		font-family: "Wix Madefor Text", sans-serif;
		font-size: clamp(1.25rem, 1.084rem + 0.347vw, 1.5rem); /*20-24px*/
		font-size: 20px;
		text-align: center;
	}
	.salon_phone {
		font-family: "Wix Madefor Text", sans-serif;
		font-size: clamp(2.25rem, 1.917rem + 0.694vw, 2.75rem); /*36-44px*/
		font-size: 48px;
		text-align: center;
		line-height: 1;
		transform: scale(0.95, 1);
		margin: 0 auto 20px;
	}
	.salon_phone a {
		color: #000000;
	}
	.salon_phone::before {
		content: '';
		display: inline-block;
		width: 38px;
		height: 50px;
		background-image: url("../img/common/tel.png");
		background-size: contain;
		background-repeat: no-repeat;
		vertical-align: middle;
		margin-right: 5px;
	}
	ul.salon_time {
		display: flex;
		justify-content: center;
		font-size: 16px;
		
	}
	ul.salon_time li {
		display: flex;
		align-items: center;
	}
	ul.salon_time li:not(:last-child) {
		margin-right: 30px;
	}
	ul.salon_time div {
		border: 1px solid #000000;
		padding: 3px 20px;
		text-align: center;
		margin-right: 15px;
	}
	.salon_add {
		font-size: 13px;
		text-align: center;
		padding: 10px 0 0;
	}
	
	.box_bnr{
		background-color: #dec9b2;
		padding: 70px 0 0;
		
	}
	.box_bnr .bnr{
		text-align: center;
		width: 890px;
		margin: 0 auto ;
		border-top: solid 1px #000000;
		padding-top: 60px;
		color: #000000;
	}
	.box_bnr .bnr .h_bnr{
		font-size: 18px;
		margin-bottom: 10px;
	}
	.box_bnr .bnr .btn_bnr{
		width: 528px;
		margin: 0 auto;
	}
	.box_bnr .bnr .btn_bnr a{
		transition: .5s;
		display: block;
	}
	.box_bnr .bnr .btn_bnr a:hover{
		opacity: 0.5;
	}
	ul.ft_nav_txt {
		display: none;
	}
	.ft_white_wrap {
		width: 100%;
		margin: 0 auto;
		padding: 60px 0 0;
		color: #231815;
		position: relative;
		background-color: #dec9b2;
	}
	ul.ft_logos {
		width: 1000px;
		margin: 0 auto 60px;
		display: flex;
		flex-wrap: nowrap;
	}
	ul.ft_logos li:not(:last-child) {
		margin-right: 30px;
	}
	ul.ft_logos li span {
		display: block;
		font-size: 10px;
		margin-bottom: 7px;
	}
	ul.ft_logos li img {
		width: auto;
		height: 27px;
	}
	.totop {
		position: fixed;
		right: 0px;
		bottom: 0px;
		width: 52px;
		z-index: 5;
	}
	.totop a {
		display: block;
		transition: .5s;
		height: 49px;
		box-sizing: border-box;
		border: solid 1px #fff;
		border-right: none;
		position: relative;
		background-color: #231815;
	}
	.totop a::after{
		content: "";
		display: block;
  position: absolute;
  right: 50%;
		top: 60%;
  width: 9px;
  height: 9px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff; transform-origin: 50% 50%; 
  transform: translateY(-50%) translateX(50%) rotate(-135deg); 
	}
	.totop a:hover {
		opacity: 0.5;
	}
	ul.prv_copy {
		border-top: solid 1px #000000;
		margin: 0 auto;
		text-align: center;
		font-size: 13px; 
	}
	ul.prv_copy li.privacy {
		font-size: 13px;
		padding: 20px 0;
		background-color: #dec9b2;
		position: relative;
	}
	ul.prv_copy li.privacy a {
		color: #231815;
		padding-left: 16px;
		position: relative;
		display: inline-block;
		transition: .5s;
	}
	ul.prv_copy li.privacy a::before {
		content: "";
		display: block;
		width: 6px;
		height: 6px;
		border-top: 1px solid #231815;
		border-right: 1px solid #231815;
		transform: translateY(-50%) rotate(45deg);
		position: absolute;
		top: 50%;
		left: 0;
	}
	ul.prv_copy li.privacy a:hover {
		opacity: 0.5;
	}
	ul.prv_copy li.copyright {
		background-color: #231815;
		color: #fff;
		padding: 20px 0;
	}
	.caption_block {
		width: 100%;
		margin: 0 auto;
		padding: 30px 0;
		font-size: 10px;
		background-color: #fff;
		
	}
	.caption_block div {
		width: 1000px;
		margin: 0 auto;
	}
	
	
	/*-----------------------------------------------------
予告広告
-------------------------------------------------------*/
	header {
		height: 129px;
		padding-top: 70px
	}
	.box_yokoku{
		color: #fff;
		display: flex;
		background-color: #39302d;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		align-items: center;
		line-height: 1.3;
		height: 45px;
	}
	.box_yokoku div{}
	.box_yokoku div:first-of-type{
		font-size: 18px;
		border-right: solid 3px #231815;
		padding: 10px 30px;
		letter-spacing: 0.15em;
	}
	.box_yokoku div:nth-of-type(2){
		font-size: 12px;
				padding-left: 25px;
	}
	.box_yokoku div:nth-of-type(2) span{
		font-size: 10px;
	}
	header .head_phone {
		top: 58px;
	}
	header #menu {
		top: 62px;
	}
	.sidenav {
		top: 129px;
		height: calc(100% - 129px);
	}
}



