

/* ---------------------------------------------------------------------------------------------

　   MV

--------------------------------------------------------------------------------------------- */
#mv {
    position: relative;
}
.main_slide {
    max-height: 650px;
    height: 70vh;
}
.slick-list, .slick-track {
    height: 100%;
}
#mv .main_slide_item {
    position: relative;
    overflow: hidden;
    width: 100%;
}
#mv .main_slide_item div {
    background-size: cover;
    width: 100%;
    height: 100%;
    background-position: center right;
}
#mv .mv1 div {
	background-image: url(../img/mv1.jpg);
}
#mv .mv2 div {
	background-image: url(../img/mv2.jpg);
}
#mv .mv3 div {
	background-image: url(../img/mv3.jpg);
}
#mv .mv4 div {
	background-image: url(../img/mv4.jpg);
}
#mv .main_slide_txt {
    z-index: 1;
    position: absolute;
    top: 45%;
    left: 4%;
    transform: translateY(-50%);
}
#mv .main_slide_txt p {
    font-family: fot-tsukuaoldmin-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 40px;
    color: #3f2d0e;
	font-weight: bold;
}
#mv .main_slide_txt p span {
	display: block;
	letter-spacing: 5px;
	background-color: rgb(255 247 234 / 75%);
	width: -webkit-fit-content;
	width: -moz-fit-content; 
	width: fit-content;
}
#mv .main_slide_txt p span:first-of-type {
    position: relative;
    color: #b29748 !important;
}
#mv .main_slide_txt p span:first-of-type img {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: -30px;
	z-index: -1;
}
#mv .main_slide_txt p span:nth-of-type(2) {
    margin: 30px 0 15px;
}
#mv .main_slide_txt p span:last-of-type {
    font-size: 65px;
}
#mv .reservation_btn {
    position: absolute;
    left: 8%;
    bottom: 5%;
    z-index: 1;
}
a.btn small {
    font-size: 75%;
}
#mv .reservation_btn.filter {
    filter: drop-shadow(2px 3px 2px #aaa);
}
@media only screen and ( max-width : 800px )and ( min-width : 500px ) {
	#mv .main_slide_txt {
		/* width: 60%; */
		top: 60%;
		filter: drop-shadow(2px 4px 6px #fff);
	}
	#mv .main_slide_txt p {
		font-size: 24px;
	}
	#mv .main_slide_txt p span:last-of-type {
		font-size: 50px;
	}
	#mv .reservation_btn.filter {
		left: 50%;
		transform: translateX(-50%);
	}
	#mv .reservation_btn img {
		width: 100%;
	}
	#mv .mv1 div {
		background-image: url(../img/mv1_sp.jpg);
	}
	#mv .mv2 div {
		background-image: url(../img/mv2_sp.jpg);
	}
	#mv .mv3 div {
		background-image: url(../img/mv3_sp.jpg);
	}
	#mv .mv4 div {
		background-image: url(../img/mv4_sp.jpg);
	}
	#mv .reservation_btn.sp {
		display: none;
	}
	#mv .reservation_btn.sp_none {
		display: block;
	}
}
@media only screen and ( max-width : 500px ) {
	#mv .reservation_btn  {
		position: fixed;
		width: 100%;
		left: 0;
		bottom: 0;
		height: 60px;
		z-index: 98;
		color: #fff;
		background: #b9726c;
		font-weight: bold;
			display: flex;
			align-items: center;
			justify-content: center;
		align-items: center;
	}
	.main_slide {
		height: 50vh;
	}
	#mv .reservation_btn  span {
		margin-right: 1em;
	}
	#mv .mv1 div {
		background-image: url(../img/mv1_sp.jpg);
	}
	#mv .mv2 div {
		background-image: url(../img/mv2_sp.jpg);
	}
	#mv .mv3 div {
		background-image: url(../img/mv3_sp.jpg);
	}
	#mv .mv4 div {
		background-image: url(../img/mv4_sp.jpg);
	}
	#mv .main_slide_txt {
		top: auto;
		bottom: 1%;
		transform: none;
		width: 90%;
	}
	#mv .main_slide_txt p {
		font-size: 5vw;
	}
	#mv .main_slide_txt p span:first-of-type img {
		bottom: -20px;
		z-index: 1;
	}
	#mv .main_slide_txt p span:nth-of-type(2) {
		margin: 10px 0;
	}
	#mv .main_slide_txt p span:last-of-type {
		font-size: 9.5vw;
	}
}

@media print, screen and ( min-width : 768px ) {
}
/* ---------------------------------------------------------------------------------------------

　   SERVICE

--------------------------------------------------------------------------------------------- */
.service_lead {
	text-align: center;
	margin-bottom: 3em;
	line-height: 2em;
}
.sercice_box .service_pic {
	position: relative;
}
.sercice_box .service_pic img {
	width: 100%;
}
.sercice_box .service_pic h3 {
	position: absolute;
	z-index: 10;
	left: 0;
	bottom: 2em;
	background: #d1b69b;
	color: #fff;
	width: 100%;
	padding: .5em 1em;
	font-size: 18px;
}
.service_txt {
	padding: 20px 10px 0 10px;
}
@media only screen and ( max-width : 991px ) {
	.sercice_box {
		margin-bottom: 30px;
	}
	.sercice_box:last-child {
		margin-bottom: 0;
	}
}
@media print, screen and ( min-width : 992px ) {
	.sercice_box {
		width: 31%;
	}
	.service_lead {
		font-size: 20px;
	}
}


/* ---------------------------------------------------------------------------------------------

　   ESTHETIC

--------------------------------------------------------------------------------------------- */
.machine_box:last-of-type {
	margin-bottom: 0;
}
.machine_box .machine_txt {
	background: #fff;
	position: relative;
	z-index: 10;
}
.machine_box .machine_txt h3 {
	color: #d1b69b;
	margin-bottom: 1em;
}
.machine_box .machine_txt h3 span {
	display: inline-block;
	background: #d1b69b;
	color: #fff;
	line-height: 1em;
	padding: .4em .8em;
	margin-bottom: .5em;
}
.machine_box .machine_txt p {
	line-height: 1.8em;
}
.machine_esthetic_pic div {
	text-align: center;
	border: solid #d1b69b 1px;
}
.machine_esthetic_pic figcaption {
	background: #d1b69b;
	color: #fff;
}
.machine_esthetic_pic p .number {
    display: block;
    margin: 10px auto;
    background: #ff8383;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-radius: 30px;
    padding: 5px 10px;
    color: #fff;
}
.machine_esthetic_pic p .figcaption_title {
    font-size: 1.2rem;
    border-bottom: solid #d1b69b 2px;
    padding: 0 10px 2px;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 10px;
    font-weight: bold;
}
.machine_esthetic_pic figure img {
	width: 100%;
}
@media only screen and ( max-width : 991px ) {
	.machine_box,
	.machine_esthetic {
		margin-bottom: 50px;
	}
	.machine_box .machine_txt {
		max-width: 90%;
		margin: -30px auto 0;
	}
}
@media only screen and ( max-width : 767px ) {
	.machine_box .machine_txt h3 {
		font-size: 18px;
	}
	.machine_box .machine_txt h3 span {
		font-size: 15px;
	}
	.machine_box .machine_txt {
		padding: 30px 20px 0 20px;
	}
	.machine_esthetic_pic div {
		margin-bottom: 40px;
	}
	.machine_esthetic_pic div:last-child {
		margin-bottom: 0;
	}
	.machine_esthetic_pic figcaption {
		/* margin-top: 20px; */
		font-size: 24px;
		font-weight: bold;
	}
	.machine_esthetic_pic p span {
		font-size: 20px;
	}
}

@media print, screen and ( min-width : 768px ) {
	.machine_box .machine_txt h3 {
		font-size: 24px;
	}
	.machine_box .machine_txt h3 span {
		font-size: 18px;
	}
	.machine_box .machine_txt {
		padding: 50px 40px 0 40px;
	}
	.machine_esthetic_pic div {
		width: 31%;
	}
	.machine_esthetic_pic figcaption {
		/* margin-top: 20px; */
		font-size: 24px;
		font-weight: normal;
	}
}
@media print, screen and ( min-width : 992px ) {
	.machine_box {
		margin-bottom: 120px;
	}
	.machine_box .machine_pic {
		/* width: 52%; */
		width: 50%;
	}
	.machine_box .machine_txt {
		/* width: 52%; */
		width: 50%;
	}
	.machine_box:nth-of-type(even) {
		flex-direction: row-reverse;
	}
	.machine_box:nth-of-type(even) .machine_pic {
		margin-left: -2%;
	}
	.machine_box:nth-of-type(even) .machine_txt {
		margin-right: -2%;
	}
	/* .machine_box:nth-of-type(odd) .machine_pic {
		margin-right: -2%;
	}
	.machine_box:nth-of-type(odd) .machine_txt {
		margin-left: -2%;
	} */
	.machine_esthetic {
		margin-bottom: 120px;
	}
}



/* ---------------------------------------------------------------------------------------------

　   PRICE

--------------------------------------------------------------------------------------------- */
.price_box {
	background: #fff;
	box-shadow: 0 0 30px rgba(0,0,0,.1);
}
.price_box:last-child {
	margin-bottom: 0;
}
.price_txt h3 {
	margin-bottom: 1em;
}
#price dt {
	font-weight: bold;
}
#price dd {
	text-align: right;
}
.total_price {
	/* font-size: 20px; */
}
.ohitori_price {
	background: #d1b69b;
	display: inline-block;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
	padding: .3em .5em;
}
.ohitori_price span {
	margin-right: .4em;
}
.ohitori_price span,
.ohitori_price small {
	font-size: 13px;
	line-height: 1;
}
dt.recommend {
    position: relative;
}
.recommend span {
    position: absolute;
	display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background: #ff8383;
    color: #fff;
    border-radius: 20px;
    padding: 3px 7px;
    font-size: 13px;
	right: 0;
}
@media only screen and ( max-width : 767px ) {
	.price_box {
		margin-bottom: 30px;
	}
	.price_txt {
		padding: 20px;
	}
	#price dt:first-of-type {
		border-top: 1px solid #eee;
		padding-top: 20px;
	}
	#price dd {
		border-bottom: 1px solid #eee;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
	#price dd:last-of-type {
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 0;
	}
	.price_txt h3 {
		font-size: 18px;
	}
	.recommend span {
		top: 0;
	}
}

@media print, screen and ( min-width : 768px ) {
	.price_box {
		margin-bottom: 50px;
	}
	.price_txt {
		padding: 30px;
	}
	.price_txt h3 {
		font-size: 22px;
	}
	#price dt,
	#price dd {
		border-bottom: 1px solid #eee;
		padding: 20px 0;
	}
	#price dt:last-of-type,
	#price dd:last-of-type {
		border-bottom: none;
		padding-bottom: 0;
	}
	#price dt {
		width: calc(100% - 200px);
	}
	#price dd {
		width: 200px;
	}
	.recommend span {
		top: 16%;
	}
}
@media print, screen and ( min-width : 992px ) {
	.price_pic {
		width: 50%;
	}
	.price_txt {
		width: 50%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		/* padding: 40px; */
	}
}
/* ---------------------------------------------------------------------------------------------

　   campaign

--------------------------------------------------------------------------------------------- */
.campaign{
	background: url(../img/campaign.jpg);
	padding-bottom: 3em;
	margin-bottom: 3em;
}
.campaign h3 {
    text-align: center;
    font-size: 56px;
    background: #ff8282;
    color: #fff;
}
.campaign_weapper {
    background: #f5ebe2;
    padding: 0 3em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
}
.campaign p {
    color: #958376;
    font-size: 28px;
	margin-bottom: 1em;
}
.campaign table {
    margin: auto;
    font-weight: bold;
}
.campaign table th:last-of-type {
    color: #d1b69b;
}
.campaign table td {
    padding: 1em;
    vertical-align: middle;
}
.campaign table td:last-of-type {
    text-align: right;
}
.campaign_plan {
    color: #ff8282;
    font-size: 20px;
    display: block;
    text-align: left;
    margin: 0;
}
span.campaign_time, span.campaign_price {
    font-size: 34px;
}
span.campaign_price {
    margin-left: 1em;
}
@media only screen and ( max-width : 767px ) {
	.campaign {
		background: none;
		padding: 0;
	}
	.campaign h3 {
		font-size: 28px;
	}
	.campaign_weapper {
		padding: 0;
		width: auto;
	}
	.campaign p {
		font-size: 17px;
		text-align: center;
		padding: 0 .5em;
	}
	.campaign_plan {
		font-size: 17px;
	}
	.campaign table td {
		font-size: 14px;
	}
	.campaign table td:nth-of-type(2){
		padding: 0;
	}
	span.campaign_time, span.campaign_price {
		font-size: 18px;
	}
	span.campaign_price {
		margin-left: 0;
	}
	.campaign .ohitori_price {
		font-size: 15px;
	}
}
/* ---------------------------------------------------------------------------------------------

　   FLOW

--------------------------------------------------------------------------------------------- */
.step_box {
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 30px 20px;
	box-shadow: 0 0 30px rgba(0,0,0,.1);
}
.step01 {
	background: url(../img/step01.jpg) no-repeat center / cover;
}
.step02 {
	background: url(../img/step02.jpg) no-repeat center / cover;
}
.step03 {
	background: url(../img/step03.jpg) no-repeat center / cover;
}
.step04 {
	background: url(../img/step04.jpg) no-repeat center / cover;
}
.step_box .step_num {
	font-size: 30px;
}
.step_box .step_num span {
	font-size: 40px;
	margin-left: .2em;
}
.step_box h3 {
	font-size: 20px;
	margin-bottom: 1.2em;
	letter-spacing: .1em;
}
.step_box p {
	text-shadow: 0 0 10px rgba(0,0,0,.4);
}
.step_box p small {
	display: block;
	margin-top: 1em;
}
@media only screen and ( max-width : 991px ) {
	.step_box {
		min-height: 380px;
	}
}

@media print, screen and ( min-width : 992px ) {
	.step_box {
		width: 25%;
		height: 450px;
	}
	.step_box:nth-child(even) {
		margin-top: 60px;
	}
}

/* ---------------------------------------------------------------------------------------------

　   MOVIE

--------------------------------------------------------------------------------------------- */
#video {
  display: none;
}
.fancybox-content {
	position: relative;
	padding: 0 !important;
	background: none !important;
	padding-top: 60px !important;
}
.video_inner {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.fancybox-content video {
	display: block;
	width: 100%;

	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.fancybox-close-small svg path {
	fill: #fff !important;
}
.fancybox-close-small {
	width: 60px !important;
	height: 60px !important;
}
.movie_thumb {
	display: block;
	margin: 0 auto;
}
.movie_thumb img {
	width: 100%;
}

@media only screen and ( max-width : 767px ) {
	.movie_thumb {
		display: block;
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		padding: 0 2%;
	}
	.fancybox-slide--html {
		padding: 0 !important;
	}
	.fancybox-content {
		width: 100%;
	}
}

@media print, screen and ( min-width : 768px ) {
	.fancybox-content {
		width: 80%;
	}
}


/* ---------------------------------------------------------------------------------------------

　   VOICE

--------------------------------------------------------------------------------------------- */
.voice_box {
	background: #f8f4ef;
	color: #94917c;
}
.voice_box figure {
	text-align: center;
}
.voice_box p {
	line-height: 1.8em;
}
.voice_box .customer {
	text-align: right;
	margin-top: 1em;
}
@media only screen and ( max-width : 991px ) {
	.voice_box {
		margin-top: 130px;
	}
}
@media only screen and ( max-width : 767px ) {
	.voice_wrapper {
		margin-top: 120px;
	}
	.voice_box {
		padding: 20px;
		margin-top: 100px;
	}
	.voice_box figure {
		margin-top: -100px;
		margin-bottom: 20px;
	}
	/* .voice_box figure img {
		width: 120px;
	} */
}

@media print, screen and ( min-width : 768px ) {
	.voice_wrapper {
		margin-top: 180px;
	}
	.voice_box {
		padding: 30px;
	}
	.voice_box figure {
		margin-top: -140px;
		margin-bottom: 30px;
	}
}
@media print, screen and ( min-width : 992px ) {
	.voice_box {
		width: 31%;
	}
}


/* ---------------------------------------------------------------------------------------------

　   FAQ

--------------------------------------------------------------------------------------------- */
#faq {
	position: relative;
}
.faq_box {
	margin-bottom: 20px;
	box-shadow: 0 0 30px rgba(0,0,0,.1);
}
.faq_box .faq_box_tit {
	background: #fff;
	cursor: pointer;
	transition: .3s;
	position: relative;
    display: -ms-flexbox;
	display: flex;
    -ms-flex-align: center;
	align-items: center;
	margin-bottom: 10px;
}
.faq_box .faq_box_tit.open {
}
.faq_q,
.faq_a {
	position: absolute;
	top: 0;
	text-align: center;
	height: 100%;
	overflow: hidden;
	background: #d1b69b;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.faq_a {
	background: #b9726c;
}
.faq_q p,
.faq_a p {
	position: relative;
	z-index: 10;
	font-size: 28px;
	color: #fff;
}

.faq_box h3 {
	position: relative;
	z-index: 13;
	font-weight: 700;
}
.faq_content {
	position: relative;
	background: #fff;
}
.icon-wrap {
	position: absolute;
	width: 60px;
	height: 60px;
	z-index: 11;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}
.icon {
  position: relative;
  display: inline-block;
  width: 34px;
  height: 34px;
  z-index: 2;
}
.icon:before,
.icon:after {
  position: absolute;
  content: "";
  display: block;
  transition: all 0.4s;
  background: #d1b69b;
  left: 50%;
  top: 50%;
  width: 50%;
  height: 2px;
  transform: translate(-50%, -50%);
}
.icon:before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.switch.open .icon:before {
  transform: translate(-50%, -50%) rotate(0deg);
}
@media only screen and ( max-width : 767px ) {
	.faq_box {
	}
	.faq_box .faq_box_tit {
		padding: 10px 55px 10px 15px;
		min-height: 80px;
	}
	.faq_q,
	.faq_a {
		left: 10px;
		top: 10px;
	}
	.faq_box h3 {
		padding-left: 70px;
		font-size: 16px;
	}
	.faq_content {
		padding: 15px 15px 15px 85px;
		font-size: 16px;
	}
	.faq_content:before {
		left: 10px;
		width: 57px;
		height: 77px;
	}
}

@media print, screen and ( min-width : 768px ) {
	.faq_box .faq_box_tit {
		padding: 10px 90px 10px 100px;
		min-height: 80px;
	}
	.faq_q,
	.faq_a {
		left: 20px;
		top: 10px;
	}
	.faq_box h3 {
		font-size: 18px;
		line-height: 1.2;
	}
	.faq_content {
		padding: 30px 30px 30px 100px;
		font-size: 18px;
	}
	.faq_content.open {
	}
}

/* ---------------------------------------------------------------------------------------------

　   HOTEL

--------------------------------------------------------------------------------------------- */
.operating_company {
	/*background: #f8f4ef;*/
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
	border: 1px solid #d4af9b;
}
.operating_company h3 {
	color: #d4af9b;
	font-size: 18px;
}
.operating_company a {
	display: inline-block;
	font-size: 14px;
}
.operating_company_logo {
}
.map iframe {
	width: 100%;
	display: block;
}
.detail {
    margin: 2em auto;
    padding: 1em;
    border: 1px solid #d4af9b;
    width: 50%;
}
.detail ul {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: left;
    margin: auto;
}
.detail ul li {
    margin: 10px 0;
}
@media only screen and ( max-width : 767px ) {
	#hotel .container {
		padding: 0;
	}
	.map iframe {
		height: 300px;
	}
	.operating_company {
		padding: 20px;
		max-width: 88%;
		margin: 30px auto 0;
	}
	.detail {
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		padding: 0.7em;
	}
}

@media print, screen and ( min-width : 768px ) {
	.operating_company {
		padding: 30px 40px;
		margin-top: 50px;
	}
	.operating_company h3 {
		border-right: 1px solid #d4af9b;
		width: 14em;
		display: flex;
		align-items: center;
		justify-content: center;
		padding-right: 3em;
		margin-right: 3em;
	}
	.operating_company .operating_company_link {
		width: calc(100% - (14em + 3em));
	}
	/* .map iframe {
		height: 420px;
	} */
}
@media print, screen and ( min-width : 992px ) {
	.hotel_ph {
		width: 50%;
	}
	.map {
		width: 50%;
		/* margin-top: 60px; */
	}
}

/* ---------------------------------------------------------------------------------------------

　   RESERVATION

--------------------------------------------------------------------------------------------- */
@media only screen and ( max-width : 991px ) {
	.reservation .d-lg-flex a.btn:first-of-type {
		margin-bottom: 20px;
	}
}
@media only screen and ( max-width : 767px ) {

}

@media print, screen and ( min-width : 768px ) {

}
@media print, screen and ( min-width : 992px ) {

}