/**
 * uaplus.css version 0.0.1
 */
*,*::after,*::before{box-sizing:border-box}:focus-visible{outline-offset:3px}:where(html){-webkit-text-size-adjust:none;text-size-adjust:none}:where(html){line-height:1.5}:where(html){scrollbar-gutter:stable}:where(h1){font-size:2em;margin-block:.67em}:where(abbr[title]){cursor:help;text-decoration-line:underline;text-decoration-style:dotted}@media (forced-colors:active){mark{color:HighlightText;background-color:Highlight}}:where(del,ins,s)::before,:where(del,ins,s)::after{clip-path:inset(100%);clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap;content:"test"}:where(s)::before{content:"stricken text start "}:where(s)::after{content:" stricken text end"}:where(del)::before{content:"deletion start "}:where(del)::after{content:" deletion end"}:where(ins)::before{content:"insertion start "}:where(ins)::after{content:" insertion end"}:where(audio,iframe,img,svg,video){max-block-size:100%;max-inline-size:100%}:where(fieldset){min-inline-size:0}:where(label):has(+:where(textarea,input,select)){display:block}:where(textarea:not([rows])){min-block-size:6em}:where(button,input,select,textarea){font-family:inherit;font-size:inherit}:where([type="search"]){-webkit-appearance:textfield}@supports (-webkit-touch-callout:none){:where([type="search"]){border:1px solid -apple-system-secondary-label;background-color:canvas}}:where([type="tel"],[type="url"],[type="email"],[type="number"]):not(:placeholder-shown){direction:ltr}:where(table){border-collapse:collapse;border:1px solid}:where(th,td){border:1px solid;padding:.25em .5em}:where(dialog)::backdrop{background:oklch(0% 0 0 / .3)}:where(dialog),:where(dialog)::backdrop{opacity:0;transition:opacity 300ms ease-out,display 300ms allow-discrete,overlay 300ms allow-discrete}:where(dialog[open]),:where(dialog[open])::backdrop{opacity:1}@starting-style{:where(dialog[open]),:where(dialog[open])::backdrop{opacity:0}}[hidden]:not([hidden="until-found"]){display:none!important}
html,body {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 100%;
  color: rgb(35, 24, 21);
  font-family: "Zen Old Mincho", 游明朝, "Yu Mincho", "Noto Serif", "ヒラギノ明朝 ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN W6", HiraMinProN-W6, HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
:root {
	--link_color: rgb(35, 24, 21);
}
body {
	background: url(img/bg.png) 0 0 repeat;
	background-attachment: fixed;
	background-size: cover;
}
body {
    animation: fadein 3s forwards
}
body#top {
  position: relative;
  transition-duration: 1s;
}
.sp_display {
  display: none;
}
header {
  padding: 25px 40px;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition-duration: 1s;
  margin-top: -100px;
  background: rgb(255 255 255 / 0.8);
  box-shadow: 0px 7px 7px -3px rgb(0 0 0 / 0.05);
  z-index: 3;
}
header.fix_bar, .other_page header {
  position: fixed;
  top: 0;
  left: 0;
  margin-top: 0;
}

.fadeOut {
	opacity: 0;
	visibility: hidden;
}
.fadeIn {
	opacity: 1;
	visibility: visible;
}
#header-in {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#logo {
  width: 15%;
  max-width: 160px;
}
nav {
  width: 85%;
}
nav ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 0;
  padding: 0;
}
nav ul li {
  margin-left: 2em;
  letter-spacing: .1em;
}
nav ul li.sq_link {
  margin-left: 1em;
}
.ml2em {
  margin-left: 2em !important;
}
nav ul li a {
  color: #000;
  text-decoration: none;
}
.sq_link a {
  background: rgb(0 0 0 / 0.2);
  display: inline-block;
  padding: .2em .5em;
}
@keyframes fadein {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}
h1, h2, h3, h4 {
  margin: 0;
  line-height: 1.5;
}
.read_title {
	font-size: 1.5rem;
	line-height: 1.5;
	margin-bottom: 1.5em;
}
  .read_title span {
    display: block;
    font-size: 1.125rem;
    line-height: 1.8;
    position: relative;
    margin-top: 1em;
    font-weight: normal;
  }

.read_subtitle {
  font-size: 1.25rem;
  line-height: 1.5;
margin-bottom: 1em;
}
.s_title {
	display: block;
	font-size: .875rem;
	font-weight: normal;
	margin-bottom: .5em;
}

.s_title > span {
	display: inline-block;
	border-bottom: 1px solid rgb(35, 24, 21);
padding-bottom: .5em;
}
ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
p.read {
  line-height: 2.5;
  margin-bottom: 2em;
}
#index_key {
  position: relative;
  width: 100%;
  height: 100vh;
}
.movie {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
#index_key video {
  display: block;
position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%,-50%);
  object-fit: cover;
}
.index_key_nav {
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  z-index: 2;
}

.index_key_footer {
  position: fixed;
  bottom:0;
  left: 0;
  z-index: 2;
  width: 100%;
  padding: 20px 40px;
  background: rgb(0 0 0 / 0.5);
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition-duration: 1s;
}
.index_key_logo, .index_key_copy {
width: 160px;
color: #FFF;
}
.index_key_copy a {
	color: rgb(255 255 255 / 0.6);
	text-decoration: none;
}
.index_key_copy a i {
	display: inline-block;
	margin-right: .5em;
}
.index_key_copy {
  text-align: right;
}
.ls_center_05em {
letter-spacing: .5em;
text-indent: .5em;
}
.ls_05em {
letter-spacing: .5em;
}
.ls_center_01em {
letter-spacing: .1em;
text-indent: .1em;
}
.index_key_bottomnav ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.index_key_nav li {
  margin: 0 1em;
}
.index_key_bottomnav ul li {
	margin: 0 .5em;
}
.index_key_bottomnav ul li {
  letter-spacing: .1em;
  text-indent: .1em;
}
.index_key_nav li a, .index_key_bottomnav ul li a {
  color: #000;
  text-decoration: none;
}
.index_key_bottomnav ul li a {
	display: inline-block;
	background: rgb(255 255 255 / 0.6);
	padding: .2em 1em;
  letter-spacing: .1e
}
.tac { text-align: center; }
.tar { text-align: right; }
.tacleft {
  text-align: center;
}
.tacleft ul, .tacleft li, .tacleft p {
  text-align: left;
  display: inline-block;
}
.img100 {
  display: block;
  width: 100%;
  height: auto;
}
.mb8vw {
  margin-bottom: 8vw;
}
#kari .logo {
  width: 20vw;
  height: auto;
  margin: 0 auto 40px;
}
.flex {
	display: flex;
}
.js_space {
	justify-content: space-between;
}
.s_link a {
	display: inline-block;
	border: 1px solid var(--link_color);
	color: var(--link_color);
	text-decoration: none;
	padding: .3em 1em;
	font-size: .875rem;
}
.s_link a::before {
	font-family: "Font Awesome 6 Pro";
	font-weight: 300;
	content: "\f178";
	display: inline-block;
	margin-right: 1em;
}
.two_46p > div {
	width: 47%;
}
.ml_auto {
  margin-left: auto;
}
.mb4vw {
  margin-bottom: 4vw;
}
.mb8vw {
  margin-bottom: 8vw;
}
.index_sec > div {
	width: 75%;
	margin: 0 auto;
}
.index_bottomsec > div, .section_bottom > div {
width: 90%;
	margin: 0 auto;
}
.img_sec > div {
	width: 85%;
	margin: 0 auto;
}
.index_sec, .img_sec, .index_bottomsec {
	padding: 10vw 8vw 0;
}
.section_bottom {
  padding: 10vw 8vw 10vw;
}
.img_sec p {
	padding-top: 10vw;
}
.index_sec h2, .index_bottomsec h2 {
  font-size: 5.6vw;
  margin: 0 0 .25em;
}
.index_sec h3, .index_bottomsec h3 {
  font-size: 3vw;
  margin-bottom: 1em;
}
.camp {
  padding: 0 8vw;
  margin: 60px 0;
}
.camp > a {
  display: block;
  border:2px solid rgb(35, 24, 21);
  border-radius: .5em;
  padding: 2em 1.5em;
  color: rgb(35, 24, 21);
  text-decoration: none;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  transition-duration: .3s;
}
.camp img {
  display: block;
  width: 50%;
  height: auto;
  margin: 0 auto;
}
.camp span {
  display: block;
}
.banner_wide {
  margin-bottom: 1em;
}
.banner_cap {
  line-height: 1.8;
  font-size:.875rem;
}
.thumb_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.thumb_list li {
  width: 48%;
  margin-bottom: 2em;
}
.thumb_list li.wide {
  width: 100%;
}

.thumb_list li img {
  margin-bottom: 1em;
}
.thumb_list li h4 {
  margin-bottom: .5em;
}
.thumb_list li p {
  font-size: .875rem;
  line-height: 1.5;
}
.n_sec {
  padding: 40px 8vw;
}

.bord {
  border:2px solid #CCC;
  padding: 3em 4em;
  border-radius: .5em;
  margin: 0 auto;
  width: 100%;
  max-width: 960px;
}

.bord h1 {
  border-bottom: 1px solid #CCC; 
  padding-bottom: 1em;
  margin-bottom: 1em;
}
#copy {
 text-align: right;
}
.insta {
  width: 300px;
  height: 60px;
  margin: 2em auto;
}
.insta a {
  display: block;
  width: 100%;
  line-height: 60px;
  text-align: center;
  text-decoration: none !important;
  border:2px solid rgb(35, 24, 21);
  border-radius: 999px;
  color: rgb(35, 24, 21) !important;
  transition-duration: .3s;
}
.insta_feed {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.insta_feed::before {
	content: "";
	display: block;
	width: 23%;
	order: 1;
}
.insta_feed::after {
	content: "";
	display: block;
	width: 23%;
}
.insta_feed li {
	width: 23%;
	margin-bottom: 3%;
}
#insta_sec {
	padding: 15vw 8vw;
}
address {
	font-style: normal;
	line-height: 1.8;
}
.footer_top, .footer_bottom {
	padding: 40px;
}
.footer_top {
	background: rgb(0 0 0 / 0.2);
}
.footer_bottom {
	background: rgb(0 0 0 / 0.4);
}
.footer_bottom ul {
	display: flex;
	align-items: center;
}
.footer_bottom ul li {
	width: 120px;
	margin-right: 2em;
}
.footer_bottom ul li a {
	text-decoration: none;
	color: var(--link_color);
	display: inline-block;
	white-space: nowrap;
}
#kanichi {
	width: 200px;
}
.footer_title {
	font-size: 1rem;
	margin-bottom: 1em;
}
.contactinfo {
	line-height: 1.8;
}
.contactinfo p {
	margin-top: 0;
}
.bottom_link {
	display: flex;
	margin-bottom: 4em;
}
.bottom_link li {
	margin-right: 2em;
}
.bottom_link a {
	color: var(--link_color) !important;
	text-decoration: none !important;
}
#to_top {
	position: fixed;
	bottom: 40px;
	right: 40px;
	z-index: 2;
	width: 40px;
	height: 40px;
	opacity: 0;
	visibility: hidden;
	transition-duration: 1s;
}
#to_top.fadeIn {
	opacity: 1;
	visibility: visible;
}
#to_top a {
	display: block;
	width: 40px;
	height: 40px;
	text-align: center;
	line-height: 40px;
	color: var(--link_color);
	text-decoration: none;
	font-size:40px;
	font-weight: 400;
}
figure {
  margin-bottom: 2em;
}
figcaption {
  text-align: center;
  padding: 1em;
}
#about .section_header, 
#access .section_header, 
#facility .section_header, 
#food .section_header,
#exp .section_header, #kasumi .section_header, #rooms .section_header  {
position: relative;
  width: 100%;
  height: 100vh;
}
#access .section_header {
  background: url(img/bg_access.jpg) 50% 50% no-repeat;
  background-size: cover;
}
#facility .section_header {
  background: url(img/bg_facility.jpg) 50% 50% no-repeat;
  background-size: cover;
}
#about .section_header {
  background: url(img/bg_about.jpg) 50% 50% no-repeat;
  background-size: cover;
}
#kasumi .section_header {
  background: url(img/bg_kasumi.jpg) 50% 50% no-repeat;
  background-size: cover;
}
#kasumi picture {
  display: block;
  margin-top: 4vw;
}
#rooms .section_header {
  background: url(img/bg_rooms.jpg) 50% 50% no-repeat;
  background-size: cover;
}
#food .section_header {
  background: url(img/bg_food.jpg) 50% 50% no-repeat;
  background-size: cover;
}
#exp .section_header {
  background: url(img/bg_exp.jpg) 50% 50% no-repeat;
  background-size: cover;
}
.mt-6vw {
  margin-top: -6vw;
} 
.mt-30vw {
  margin-top: -30vw;
} 
.section_header > div {
  position: absolute;
  bottom: 4vw;
  left: 8vw;
}
.section_header h1 {
  color: #FFF;
  font-size: 5rem;
  margin-bottom: .5em;
}
.section_header h1 span {
  display: inline-block;
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: .5em;
  text-align: left;
  margin-left: 1em;

}

.section_header h2 {
  color: #FFF;
  line-height: 2.5;
  font-size: 1.25rem;
  margin-bottom: 1em;
  letter-spacing: .1em;
}
.section_header p {
  color: #FFF;
  line-height: 2.5;
}
.p_sec {
  padding: 8vw 8vw 0;
}

.p_sec_c {
  padding: 4vw 8vw 0;
}
.p_sec_d {
  padding: 4vw 8vw 8vw;
}
.r_sec {
  padding: 8vw 0 0;
}
.p_sec:last-of-type {
  padding: 8vw;
}
.data {
  line-height: 1.5;
  border-bottom: 1px solid #333;
}
.data > dt {
  float: left;
  clear: both;
  width: 7em;
  padding: 1em 0;
}
.data > dd {
  padding: 1em 0 1em 7em;
  border-top: 1px solid #333;
  margin: 0;
}
.data > dd dt {
  float: left;
  width: 7em;
  margin-bottom: .5em;
}
.data > dd dd {
  padding: 0 0 0 7em;
  margin-bottom: .5em;
}
.data > dd dt:last-of-type, .data > dd dd:last-of-type {
  margin-bottom: 0;
}
.ls1em {
  letter-spacing: 1em;
}
.ls05em {
  letter-spacing: .5em;
}
.r_header {
  padding: 0 8vw;
  margin-bottom: 8vw;
  overflow-x: hidden;
   -ms-overflow-style: none;
 scrollbar-width: none;
}
.r_header::-webkit-scrollbar {
 display:none;
}
.r_header h1 {
  margin: 0 0 .5em;
  position: relative;
display: inline-block;
}
.r_header h1::before {
  content: "";
  width: 100vw;
  height: 3px;
  background: #000;
  position: absolute;
  top: 1em;
  left: calc(100% + 1em);
}
.r_header h1 span {
  display: block;
  font-size: 1rem;
  font-weight: normal;
}
.r_header p {
  line-height: 1.8;
  margin-bottom: 1.5em;
}
.r_header h2 {
  font-size: 1.25rem;
}
.r_content > div.room_center {
  margin-bottom: 4em;
  padding: 0 8vw;
}
.r_content > div.room_right {
  margin-bottom: 4em;
  padding-left: 8vw;
}
.r_content > div.room_left {
  margin-bottom: 4em;
  padding-right: 8vw;
}
.r_content > div h1 {
  font-size: 1.5rem !important;
  letter-spacing: .1em;
}
.r_content > div p {
  line-height: 1.8;
}
.r_content > div:last-of-type {
  margin-bottom: 0;
}
.ul_flush {
  list-style: none;
  padding-left: 0;
  display: table;
}
.ul_flush li:after {
  content: "";
  display: block;
  margin-bottom: 0.5em;
}
 
.ul_flush li {
  display: table-row;
  margin-bottom: 0.5em;
}
.ul_flush li:before {
  content: "•";
  display: table-cell;
  padding-right: 0.4em;
}

.page_content .r_sec:last-child {
  padding-bottom: 8vw;
}
.subpage {
  padding: 16vw 8vw 8vw;
  line-height: 1.8;
}
.subpage > div {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
} 
.subpage h2 {
  font-size: 1.25rem;
}
.subpage p {
  margin-bottom: 2em;
}
.subpage ol {
  margin-bottom: 2em;
  list-style: none;
  padding-left: 0;
  display: table;
}
.subpage ol li:after {
  content: "";
  display: block;
  margin-bottom: 0.5em;
}
 
.subpage ol li {
  display: table-row;
  counter-increment: table-ol;
  margin-bottom: .5em;
}
.subpage ol li:before {
  content: counter(table-ol) ".";
  display: table-cell;
  padding-right: 0.4em;
  text-align: right;
}
#contact h1, #contact h2 {
  line-height: 1.8;
}
#contact h1 {
  margin-bottom: .5em;
}
#contact h2 {
  font-weight: normal;
}
.form dt {
  font-weight: bold;
  margin-bottom: .5em;
}
.form dd {
  margin: 0 0 1em;
  padding: 0;
}
.form input[type="text"], .form input[type="email"], .form textarea {
  width: 100%;
  display: block;
}
.submit input[type="submit"] {
  display: block;
  padding: 1em 2em;
  width: 240px;
  background: #000;
  color: #FFF;
  border:none;
  border-radius: 999px;
  letter-spacing: .1em;
  text-indent: .1em;
  transition-duration: .3s;
  cursor: pointer;
}
.submit input[type="submit"]:disabled {
  background: #CCC;
  color: #666;
}
.doui .wpcf7-list-item {
  margin-left: 0 !important;
}
.doui a {
  color: #000;
}
.sticky {
  position: sticky;
  top: 12vw;
}
.wpcf7 form .wpcf7-response-output {
    margin: .5em 0 0 !important;
    padding: 0 !important;
    border: none !important;
}
.wpcf7-spinner {
    display: inline-block;
    margin: .5em 108px 0 !important;
}
.thumbnail-carouse .splide__list  {
	justify-content: space-between;
}
.thumbnail-carouse .splide__list li {
	width: 33.33% !important;
	height: auto !important;
}
.splide__slide img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}
.thumbnail-carouse {
	background: #FFF;
}
#food_content_5 h1 {
	font-size: 2.5rem;
	letter-spacing: .25em;
	text-indent: .1em;
	margin-bottom: 1.5em;
}
#food_content_5 h1 span {
	display: block;
	letter-spacing: 0;
	text-indent: 0;
	color: #454545;
	font-size: 1.5rem;
	padding: .5em 0 1em;
}
.bottom_span {
  font-size: 3rem !important;
}
.bottom_span span {
  font-size: 1rem;
  display: inline-block;
  margin-left: 1.5em;
}
.room_title {
  margin-bottom: 1em;
}
.room_title span {
  font-size: 1rem;
  font-weight: normal;
  display: block;
  margin-bottom: .5em;
}
.room_subtitle {
  font-size: 1rem;
  margin-top: 1em;
}
.access_root h2 {
  margin-bottom: 1.5em;
}
.k_access {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 4vw;
}
.k_access dl {
  width: 48%;
  margin: 0 0 4%;
  background: rgb(255 255 255 / .6);
  padding: 0 1em 1em 1em;
}
.k_access dl dt {
  padding: 2em 1em 1em;
  font-weight: bold;
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.8;
}
.k_access dl dt span {
  display: block;
  font-weight: normal;
  font-size: 1rem;
}
.k_access dl dd {
  padding: 1em;
  margin: 0 0 2em;
  text-align: center;
  position: relative;
  border:1px solid #000;
}
.k_access dl dd::after {
    content: "\f078";
    font-family: "Font Awesome 5 Pro";
    font-weight: 300;
    position: absolute;
    bottom: -2em;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 40px;
    left: 50%;
    margin-left: -20px;
}
.k_access dl dd:last-of-type {
  margin: 0;
}
.k_access dl dd:last-of-type::after {
  display: none;
}
.splide-caption {
 padding-top: 1em;
  text-align: center;
  transition: opacity .3s ease;
}
#gmap {
    position: relative;
    width: 100%;
    max-width: 1366px;
    margin: 0 auto 2em;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
#gmap iframe, #gmap object, #gmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#gmap + address {
	margin-bottom: 2em;
}
.nonlink {
    pointer-events: none;
}
.junbi {
  font-size: .75rem;
  text-align: center;
}
@media (max-width: 1024px) {
	#food .section_header {
  background: url(img/bg_food_sp.jpg) 50% 50% no-repeat;
  background-size: cover;
}
.k_access dl dt {
    padding: 2em 1em 1em;
    font-weight: bold;
    text-align: center;
    font-size: 1.125rem;
}
.k_access dl dd::after {
    bottom: -2.5em;
}
.k_access dl {
    width: 100%;
    margin: 0 0 20px;
    padding: 0 1em 1em 1em;
}
.k_access {
    display: block;
    margin-bottom: 12vw;
}
.subpage {
    padding: 140px 8vw 8vw;
}
.submit input[type="submit"] {
    width: 100%;
     padding: 1.5em 2em;
}
.subpage .two_46p > div {
   margin:0 0 2em !important;
}
  .sticky {
  position: static;
  top: auto;
}
.subpage h1 {
  font-size: 1.25rem;
}
.subpage h2 {
  font-size: 1rem;
}
  #contact > div {
    flex-direction: column;
  }
 .r_content > div.room_right, .r_content > div.room_center {
  flex-direction: column-reverse;
  padding-left: 0;
  padding-right: 0;
 }
  .r_content > div.room_left {
    flex-direction: column;
     padding-left: 0;
  padding-right: 0;
  }
 .r_content > div > div:first-of-type {
  padding: 0 8vw;
  margin: 0;
 }
  #food .r_content > div > div:first-of-type {
  padding: 0;
  margin: 0;
 }
 .r_content > div.room_left > div:first-of-type {
  flex-direction: column;
  padding: 0 !important;
 }
 .r_content > div.room_left > div:last-of-type {
    padding: 0 8vw;
 }
.r_header {
  margin-top: 8vw;
}
#food_content_1 div.flex, #food_content_2 div.flex {
	flex-direction: column;
}
#food_content_3 div.flex, #food_content_4 div.flex {
flex-direction: column-reverse;
}
#food_content_5 h1 {
	font-size: 1.5rem;
	text-indent: 0;
}
#food_content_5 .tac {
	text-align: left ;
}
#food_content_5 h1 span {
  font-size: 1rem;
  padding: 0 0 0.5em;
}
.kisetu:nth-child(even) div.flex {
	flex-direction: column-reverse;
}
.kisetu:nth-child(odd) div.flex {
	flex-direction: column;
}
  #kasumi .page_content .p_sec:nth-child(2) .mb8vw {
    margin-top: 8vw;
  }
  .data > dt {
    float: none;
    clear: none;
    width: 100%;
    padding: 1em 0 .3em;
    border-top: 1px solid #333;
    font-weight: bold;
}
.data > dd {
    padding: 0 0 1em 0;
    border-top: none;
    margin: 0;
}
.read_subtitle, .read_title span {
font-size: 1rem;
}
#exp .section_header {
  background: url(img/bg_exp_sp.jpg) 50% 50% no-repeat;
  background-size: cover;
}
  #about .p_sec:nth-child(odd) > div, #exp .p_sec:nth-child(even) > div, #facility .p_sec:nth-child(odd) > div {
    flex-direction: column-reverse;
  }
   #about .p_sec:nth-child(even) > div, #exp .p_sec:nth-child(odd) > div, #facility .p_sec:nth-child(even) > div {
    flex-direction: column;
  }
  #kasumi .p_sec:nth-child(1) > div {
flex-direction: column;
  }
   #kasumi .page_content .p_sec:nth-child(2) {
    display: flex;
flex-direction: column-reverse;
  }
     #kasumi .page_content .p_sec:nth-child(3) > div {
    flex-direction: column;
  }
  #kasumi .page_content .p_sec:nth-child(3) > div .mt-30vw {
    display: none;
  }
     #kasumi .page_content .p_sec:nth-child(4) > div, 
     #kasumi .page_content .p_sec:nth-child(5) > div {
flex-direction: column;
  }
  .p_sec_c {
    padding: 8vw 8vw 0;
}
.p_sec_d {
    padding: 8vw;
}
  .section_header h1 {
    color: #FFF;
    font-size: 3rem;
    margin-bottom: 0;
}
.section_header h2 {
    font-size: 1.125rem;
    margin-bottom: .5em;
}
  .section_header h1 span {
    display: block;
    margin-left: 0;
}
  .section_header p br {
    display: none;
  }
  .section_header > div {
    position: absolute;
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    padding: 8vw;
}

  #index_key {
    height: 60vh;
}
 .read_title {
  font-size: 1rem;
  }

 .sp_display {
  display: block;
}
html, body {
    font-size: 85%;
}
#dr-menu {
cursor: pointer;
position: relative;
z-index: 99;
width: 40px;
height: 40px;
border-radius: 999px;
transition-duration: .3s;
}
#dr-menu span {
display: block;
width: 40px;
height: 1px;
top: 20px;
left: 0;
transition-duration: .3s;
position: absolute;
}
#dr-menu span:before {
width: 24px;
height: 2px;
background: var(--link_color);
content: "";
position: absolute;
top: -6px;
left: 8px;
transition-duration: .3s;
}
#dr-menu span:after {
width: 24px;
height: 2px;
background: var(--link_color);
content: "";
position: absolute;
bottom: -6px;
left: 8px;
transition-duration: .3s;
}
.open {
overflow: hidden;
}
.open #dr-menu span:before {
transform: rotate(45deg);
top: 50%;
margin-top: -1px;
background: var(--link_color);
}
.open #dr-menu span {
height: 0;
background: var(--link_color);
}
.open #dr-menu span:after {
transform: rotate(-45deg);
margin-top: 0;
bottom: 50%;
background: var(--link_color);
}
.menu_drawer {
position: fixed;
z-index: 50;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: #FFF;
-webkit-transition: all .5s;
transition: all .5s;
visibility: hidden;
opacity: 0;
padding: 2em;
overflow-y: scroll;
}
.open .menu_drawer {
-webkit-transition: all .5s;
transition: all .5s;
visibility: visible;
opacity: 1;
z-index: 30;
}
.menu_drawer ul {
          display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
}
.menu_drawer ul li {
  margin: 0;
  text-align: center;
}
.menu_drawer ul li a {
 display: inline-block;
 padding: 1em;
}
.sp_logo {
	width: 200px;
	margin: 10vh 0 40px;
}
.sq_link a {
    background: transparent;
    display: inline;
    padding: 0;
}
header {
    padding: 15px 20px;
    margin-top: 0;
    position: fixed;
}
.fadeOut {
    opacity: 1;
    visibility: visible;
}
.index_key_bottomnav {
	width: 100%;
}
.index_key_bottomnav ul {
    justify-content: space-between;
}
.index_key_bottomnav ul li {
    margin: 0;
    width: 33%;
    text-align: center;
}
.index_key_footer {
 display: block;
    padding: 2px;
}
#to_top, .index_key_logo, .index_key_copy {
	display: none;
}
.ml2em {
    margin-left: 0 !important;
}
.index_key_bottomnav ul li a {
    display: block;
    padding: 1em;
}
.index_key_nav {
	display: none;
}
#logo {
	max-width: 100px;
}
#logo, nav {
    width:auto;
}
#index_key {
    margin-bottom: 40px;
}
#kari .logo {
    width: 30vw;
    margin: 0 auto 30px;
}
#head_sec h3 {
    font-size: 4vw;
}
#head_sec {
padding: 0 8vw;
	}
	.camp {
    padding: 0;
    margin: 40px 0;
}
.camp img {
    display: block;
    width: 60%;
}
.banner_cap {
    font-size: .75rem;
}
.thumb_list li {
    width: 100%;
    margin-bottom: 2em;
}
.bord {
    border: none;
    padding: 0;
    margin: 0 auto;
    width: 100%;
    max-width: 960px;
}
.bord h1 {
    border-bottom: 1px solid #CCC;
    padding-bottom: 1em;
    margin-bottom: 1em;
    font-size: 5vw;
}
.thumb_list li p br{
	display: none;
}
.index_sec > div, .img_sec > div, .index_bottomsec > div {
    width: 100%;
    margin: 0 auto;
}
#head_sec .flex, #ryori_sec .flex {
	flex-direction: column;
}
#taiken_sec .flex, #room .flex {
	flex-direction: column-reverse;
}
.index_bottomsec > div, .section_bottom > div {
    width: 100%;
}
.two_46p > div {
	width: 100%;
}
.two_46p > div {
	margin: 40px 0;
}
.insta_feed li {
    width: 48%;
    margin-bottom: 3%;
}
.footer_top, .footer_bottom {
    padding: 40px 8vw;
}
.bottom_link {
	display: none;
}
.footer_bottom {
        padding: 40px 8vw 80px;
    }
    .footer_bottom ul {
    justify-content: space-between;
    flex-wrap: wrap;
}
.footer_bottom ul li {
    width:40%;
    margin: 0 0 1em;
}
}
@media (any-hover: hover) {
  .camp > a:hover, .insta a:hover {
    background: #EEE;
  }
  .s_link a {
  	transition-duration: .3s;
  }
  .s_link a:hover {
  	background: #FFF;
  }
}