@charset "UTF-8";
/* Scss Document */
/*color*/
/*font*/
/*layout*/
* {
  box-sizing: border-box; }

html {
  width: 100% !important;
  min-height: 100% !important;
  margin: 0px;
  padding: 0px; }

body {
  width: 100% !important;
  min-height: 100% !important;
  color: #1a1a1a;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
  min-width: 1200px !important;
  overflow-x: hidden;
  }

/* rakuten parts 
----------------------------------------------------*/
.rt-header {
  z-index: 1; }

#htlMainContent {
  padding: 0px 0px 0px 0px;
}
#htlContents {
  margin-left: 0; }

#htlContents #htlBrdCrmbs {
  margin: 0 auto;
  max-width: 1600px;
  width: 100%;
}
#htlContents #htlHeader {
  margin: 0 auto;
  max-width: 1600px;
  width: 100%;
}
#htlMainContent {
  width: 100%;
  float: none;
  margin-left: auto;
  margin-right: auto;
  padding-top: 5px;
  display: block !important;
  /*background: #fdf5e9;*/
} 

#htlMainContent > div:first-child {
  margin: 0 auto;
  max-width: 1600px; }

div#RthCustomizeW {
  clear: both;
  width: 100%;
  margin: 0 auto 10px auto;
  padding: 0; }


/* layout
----------------------------------------------------*/
#wrapper {
	font-family: '游明朝','Yu Mincho', '游明朝体', 'YuMincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	font-weight: 400;
	zoom: 100%;
	width: 100%;
	font-size: 16px;
	color: #000000;
	line-height: 2.2;
	letter-spacing: 0.10em;
  background-image: url("../images/kemuri01.png"),url("../images/kemuri02.png"),url("../images/kemuri04.png"),url("../images/kemuri05.png"),url("../images/kemuri06.png"),url("../images/kemuri05.png"),url("../images/kemuri06.png"),url("../images/kemuri01.png"),url("../images/kemuri02.png");
  background-repeat: no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;
  background-position: left 850px,right 850px,left 1650px,right 2400px,left 2500px,right 2700px,left 4000px,left 5000px,center 7500px;
}
#wrapper:after {
    content: '';
    display: block;
    clear: both;
}
#contents {
  position: relative;
}
.col {
	width: 100%;
}
.cont {
  max-width: 950px;
  margin: 0 auto;
}

.sub_col {
	width: 950px;
}

.cf:after {
  content: '';
  display: block;
  clear: both;
}

.bg_gray {
	background: #eeeeee;
}

.pb30 {
	padding-bottom: 30px;
}



/* link
----------------------------------------------------*/
#wrapper a {
	cursor: pointer;
	color: #424446;
	text-decoration: none;
	transition: all 0.5s;
}
#wrapper a img {
	transition: all 0.5s;
}
#wrapper a[href]:hover img {
	opacity: 0.6;
}
#wrapper a:active, #wrapper a:hover, #wrapper a:link, #wrapper a:visited {
    color: #424446;
}


/* img
----------------------------------------------------*/
img {
  border: 0;
  max-width: 100%;
  vertical-align: bottom;
}


/* fix btn
----------------------------------------------------*/
#right_plan {
	position: fixed;
	right: 0;
	top: 45%;
	width: 70px;
	height: 200px;
	z-index: 20;
}
#right_plan a {
	width: 100%;
	height: 100%;
	-webkit-border-top-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-radius-topleft: 5px;
	-moz-border-radius-bottomleft: 5px;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	background-color: #8e1515;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	transition: all 0.2s;
	font-size: 18px;
	color: #fff !important;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-o-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	letter-spacing: 0.1em;
}
#right_plan a:hover {
	background-color: #ffffff;
	color: #8e1515 !important;
  border: 1px solid #8e1515;
}

#main:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  max-height: 0;
  visibility: hidden;
}

/* header
----------------------------------------------------*/
#header {
	width: 100%;
	position: relative;
}
#h_logo {
    position: absolute;
	z-index: 10;
}
.nav {
	width: 100%;
	text-align: center;
	padding-top: 40px;
	padding-bottom: 40px;
	background: #000000;
}
.nav li {
	display: inline-block;
	margin: 0 40px;
}
.nav li a {
	position: relative;
	padding: 0 0 20px;
	font-size: 18px;
	color: #ffffff !important;
	transition: all 0.5s;
}
.nav li a:hover {
    color: #cccccc;
}
.nav li a:before {
	content: "";
	display: block;
	width: 0;
	height: 1px;
	background: #ffffff;
	position: absolute;
	bottom: 10px;
	left: 50%;
	transition: all 0.5s;
}
.nav li a:hover:before {
	width: 100%;
	left: 0px;
}


/* slider 
----------------------------------------------------*/
.slider01 {
	width: 950px;
	margin: 0 auto;
}
.slider01 iframe {
    width: 100%;
    height: 520px;
}

.room_img {
	width: 950px;
	margin: 0 auto 60px;
}
.room_img iframe {
    width: 100%;
    height: 550px;
}





/* link_area
----------------------------------------------------*/
.link_area {
	padding: 80px 0 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.link_btn {
	padding-bottom: 80px;
}
.link_area li {
	width: 300px;
	/*margin: 0 25px;*/
}
.link_area li a,
.link_btn a {
	display: block;
	width: 300px;
	padding: 25px 0 20px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	background: #000000;
	box-sizing: border-box;
	font-size: 13px;
	color: #b1b1b1 !important;
	text-align: center;
	transition: all 0.5s;
}
.link_btn a {
	width: 950px;
}
.link_area li a:hover,
.link_btn a:hover {
	background: #ffffff;
	color: #000000 !important;
}
.link_area li a span,
.link_btn a span {
	display: block;
	margin-bottom: 5px;
	text-align: center;
	font-family: Helvetica, sans-serif;
	font-size: 22px;
	line-height: 1.0;
	letter-spacing: 0.05em;
	color: #ffffff;
	transition: all 0.5s;
}
.link_area li a:hover span,
.link_btn a:hover span {
	color: #000000;
}


/* footer
----------------------------------------------------*/
#footer {
	width: 100%;
	padding-top: 80px;
	padding-bottom: 15px;
	background: #343333;
}
.footer_inner {
	width: 950px;
	height: 460px;
	position: relative;
}
.f_nav {
	position: absolute;
	top: 40px;
	right: 0;
	text-align: right;
}
.f_nav li {
	display: inline-block;
	margin: 0 0 0 40px;
}
.f_nav li a {
	position: relative;
	padding: 0 0 40px;
	font-size: 18px;
	color: #fff !important;
	transition: all 0.5s;
}
.f_nav li a:hover {
    color: #666666 !important;
}
.f_col {
	position: absolute;
	top: 0;
	left: 0;
}
.f_logo {
	width: 300px;
	margin: 0 0 80px;
} 
.f_col p {
	font-size: 16px;
	color: #ffffff;
}
.f_address {
	margin-bottom: 20px;
}
.f_schedule {
	margin-bottom: 10px;
}
.f_credit {
	margin-bottom: 20px;
}
.f_credit p {
	margin-bottom: 5px;
}
.f_credit span {
	font-size: 16px;
}
p.copy {
	position: absolute;
	width: 100%;
	bottom: 10px;
	font-size: 13px;
	color: #ffffff;
	text-align: center;
}
.l-footer-banner.-for-pc {
    display: block;
}
.l-footer-banner__set {
    margin-bottom: 10px;
    display: flex;
    gap: 0 10px;
}
.l-footer-banner__item {
    width: 238px;
    height: 62px;
}
.l-footer-banner__item a {
    display: block;
    transition: all .3s ease-in-out;
}
.l-footer-banner__cake {
    width: 350px;
    height: 80px;
}
/*2025.5.15*/
/* mv-title
----------------------------------------------------*/

.c-page-mv {
	width: 100%;
	height: 700px;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 1;
}
.c-page-ttl {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	opacity: 1;
}
.c-page-ttl:before {
	width: 20px;
	height: 1px;
	margin-bottom: 25px;
	margin-inline: auto;
	content: '';
	display: block;
	background: #8e1515;
}
.c-page-ttl--ja,
.c-page-ttl--en {
	display: block;
	color: #fff;
	line-height: 1;
}
.c-page-ttl--ja {
	margin-bottom: 25px;
	font-size: 2.8rem;
}

/* lead
----------------------------------------------------*/
.p-lead {
  position: relative;
  padding: 240px 0;
  text-align: center;
}
.p-cont-intro__lead{
    margin-bottom: 50px;
    font-size: 2.25rem;
    letter-spacing: 0.2em;
    line-height: 1.9;
}
.p-cont-intro__txt {
    font-size: 1.125rem;
    line-height: 2.2;
}