@charset "UTF-8";
/* reset add
----------------------------------- */
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

img {
  width: 100%;
  height: auto;
  vertical-align: top;
  image-rendering: -webkit-optimize-contrast;
}

ul {
  list-style: none;
}

/* default
----------------------------------- */
:root{
  --bg:linear-gradient(90deg,rgb(109, 80, 16), rgb(151, 116, 41) 0%,rgb(247, 213, 141));
  --light_bg:linear-gradient(90deg,rgb(170, 131, 47), rgb(209, 181, 121) 0%,rgb(255, 248, 234));
  --gold:rgb(151, 116, 41);
  --light_gold:#e4d9c8;
  --gold_linear:linear-gradient(90deg, #e6ddcf, #c2b8a5  0%, #fff8ec);
  --red:rgb(187, 97, 98);
  --dark_grey:#333333;
  --grey:rgb(77, 77, 77);
  --light_grey:#f5f5f5;
  --yoyaku:#aa0002;
}
body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  background: #ffffff;
  color: var(--grey);
  font-size: 16px;
  line-height: 1.75;
  overflow-x: hidden;
}
@media screen and (max-width: 599px) {
  body {
    font-size: 14px;
  }
}

.inner {
  max-width: 930px;
  padding-right: 60px;
  padding-left: 60px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 0;
  padding-top: 0;
}
.inner3 {
  max-width: 930px;
  padding-right: 60px;
  padding-left: 60px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 0;
  padding-top: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .inner {
    padding-right: 30px;
    padding-left: 30px;
  }
}
@media screen and (max-width: 599px) {
  .inner {
    padding-right: 20px;
    padding-left: 20px;
  }
}
a{
  transition: .3s ease-in-out;
}
a:hover {
  opacity: 0.7;
  transition: .2s ease;
}

br.pc {
  display: inline-block;
}

br.sp {
  display: none;
}
span.kome{
  color:var(--yoyaku);
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  br.pc {
    display: none;
  }

  br.sp {
    display: inline;
  }
}
span.pc {
  display: inline-block;
}

span.sp {
  display: none;
}

@media screen and (max-width: 599px) {
  span.pc {
    display: none;
  }

  span.sp {
    display: inline;
  }
}
.link-adjust {
  margin-top: -80px;
  padding-top: 80px;
}
@media screen and (max-width: 599px) {
  .link-adjust {
    margin-top: -80px;
    padding-top: 80px;
  }
}
#page_food .box {
  padding-bottom: initial;
  max-width: 960px;
  margin: auto;
}
#page_food .button{
 width: 100%;
}
@media screen and (max-width: 768px) {
  #page_food .box {
    padding-top:initial;
  }
  #page_event .box {
    padding-top:initial;
  }
}
#page_event .text2{
  font-size: 16px;
  margin-top: .5em;
}
#page_event .link-adjust {
  margin-top: initial;
  padding-top: 80px;
}
#page_event .box {
  padding-bottom: initial;
  max-width: 960px;
  margin: auto;
}
@media screen and (max-width: 768px){
#page_event .box {
    padding-right: 30px!important;
    padding-left: 30px!important;
    padding-top: 50px;
    width: 80%;
}
#page_event .covi {
  padding-right: 20px!important;
  padding-left: 20px!important;
  width: initial!important;
}
}
/* common
----------------------------------- */
nav {
  background-image: var(--bg);
  position: sticky;
  top: 0;
  z-index: 99;
  opacity: .9;
}
nav .inner {
  max-width: none;
  padding-right: 0;
  padding-left: 0;
}
nav ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  nav ul {
    padding: 5px 0;
  }
}
nav ul li {
  font-size: 21px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  nav ul li {
    font-size: 15px;
  }
}
nav ul li a {
  padding: 22px 25px;
  color: #ffffff;
  display: block;
  font-family: "Lato", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  nav ul li a {
    padding: 5px 6px;
  }
}
nav ul li a.comingsoon {
  opacity: 0.3;
}
nav ul li a.comingsoon::after {
  content: none;
}
nav ul li.active a {
  color: #ffffff;
}

footer .attention {
  padding-bottom: 50px;
}
@media screen and (max-width: 599px) {
  footer .attention {
    padding-bottom: 30px;
  }
}
footer .attention p.box {
  border: solid 2px #DE1600;
  color: #DE1600;
  padding: 20px!important;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px!important;
}
@media screen and (max-width: 599px) {
  footer .attention p.box {
    font-size: 12px;
    margin-bottom: 20px;
    padding: 15px;
  }
}
footer .attention ul.text li {
  margin-left: 1em;
  font-size: 13px;
}
@media screen and (max-width: 599px) {
  footer .attention ul.text li {
    font-size: 12px;
    line-height: 1.2;
    padding-bottom: 10px;
  }
}
footer .attention ul.text li::before {
  content: '※';
  margin-left: -1em;
}
footer .attention .inner2 h4,footer .attention .inner2 h5{
  font-weight: bold;
}
footer .attention .inner2 h5 a{
  color: var(--grey);
  text-decoration: none;
}
footer .contact{
  padding: 1.4em 0 1em;
  background-image: var(--light_bg);
  color: #222;
}
footer .contact h3,footer .contact h4{
  font-size: 42px;
  line-height: 1.2;
  font-family: "Lato", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 900;
  margin: .2em;
}
@media screen and (max-width: 599px) {
  footer .contact h3,footer .contact h4{
    font-size: 36px;
  }
}
footer .contact h3,footer .contact h3{
  font-size: initial;
}
footer .contact a{
  text-decoration: none;
  color: #222;
}
footer .contact .inner{
  max-width: 960px;
  margin: auto;
  text-align: center;
}
footer .hotel ul {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 60px;
}
@media screen and (max-width: 599px) {
  footer .hotel ul {
    padding-bottom: 20px;
  }
}
footer .hotel ul li {
  width: calc( 1/3 * 100%);
  padding-bottom: 20px;
  font-size: 14px;
}
@media screen and (max-width: 599px) {
  footer .hotel ul li {
    width: 100%;
    padding-bottom: 0;
    font-size: 12px;
  }
}
footer .hotel ul li a {
  color: #222;
  text-decoration: none;
}
footer .link p {
  text-align: center;
  padding-bottom: 20px;
  font-size: 14px;
}
footer .link p a {
  color: #222;
  text-decoration: none;
}
footer .copyright {
  padding-bottom: 20px;
}
footer .copyright .inner {
  max-width: none;
}
footer .copyright p {
  text-align: center;
  margin: 0 auto;
  font-size: 14px;
  line-height: 1.2;
}
@media screen and (max-width: 599px) {
  footer .copyright p {
    font-size: 12px;
  }
}

/* top
----------------------------------- */
/* .book{
  text-decoration: none;
  display: inline-block;
}
.book span{
  letter-spacing: 1px;
}
.book p.text{
  letter-spacing: 1px;
  display: block;
  width: fit-content;
  min-width: 280px;
  margin: auto;
} */
#page_top main{
  position: relative;
}
#page_top main section.safety {
  text-align: center;
  background: #ECEFF0;
  padding-top: 50px;
  padding-bottom: 50px;
  margin-bottom: 50px;
}
@media screen and (max-width: 599px) {

  #page_top main section.safety {
    padding-top: 25px;
    padding-bottom: 25px;
    margin-bottom: 25px;
  }
}
#page_top main section.safety h2 {
  font-size: 23px;
  margin-bottom: 1em;
}
@media screen and (max-width: 599px) {
  #page_top main section.safety h2 {
    font-size: 18px;
  }
}
#page_top main section.safety .text {
  margin-bottom: 1em;
}
@media screen and (max-width: 599px) {
  #page_top main section.safety .text {
    font-size: 12px;
  }
}
#page_top main section.safety .text small {
  font-size: 14px;
}
@media screen and (max-width: 599px) {
  #page_top main section.safety .text small {
    font-size: 12px;
  }
}
#page_top main section.safety .image {
  max-width: 620px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 1em;
}
#page_top main section.safety .banner {
  width: 195px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 599px) {
  #page_top main section.safety .banner {
    width: 150px;
  }
}
#page_top .text{
  margin-top: 0.5em;
}
#page_top h3{
  margin-top: 1em;
}

/* top_detail
----------------------------------- */
#page_top .inner2 {
  max-width: 960px;
  margin: auto;
  text-align: center;
}
.h2title {
  max-width: 694px;
  margin: 0.2em auto;
  font-size: clamp(2vw,60px,10vw);
  font-weight: bold;
  font-family: "Bodoni Moda", serif;
  color: var(--gold);
  line-height: 1.2;
  text-align: center;
}

.h2title2 {/*top以外のタイトル*/
  max-width: 694px;
  margin: -1em auto 0;
  padding: 2em 0 1em;
  font-size: clamp(2vw,60px,7vw);
  font-weight: bold;
  font-family: "Bodoni Moda", serif;
  color: var(--grey);
  line-height: 1.2;
  text-align: center;
}

header:not(.top_header) {
  margin-top: 50px;
  margin-bottom: 40px;
  z-index: 1;
  left: 0;
  right: 0;
  margin: 4% auto 2%;
  top: 300px;
}
header.top_header {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  margin: auto;
  top: 360px;
}

.image01 img{
  margin: auto;
  display: block;
  filter: brightness(0.8);
  height: 100vh;
  object-fit: cover;
  object-position: center 80%;
}
@media screen and (max-width: 768px) {
  header.top_header {
    top: 310px;
    }
  }
@media screen and (max-width: 599px) {
header {
    margin-top: 25px;
    margin-bottom: 20px;
  }
}

header:not(.top_header) .h1 {
  text-align: center;
  margin: .2em auto .5em;
  font-size: clamp(3vw,75px,9vw);
  font-weight: bold;
  font-family: "Bodoni Moda", serif;
  color: var(--gold);
  line-height: 1.5;
  word-break: keep-all;
}

header.top_header .h1 {
  text-align: center;
  margin: auto;
  font-size: clamp(3vw,75px,10vw);
  font-family: "Limelight", sans-serif;
  /* font-family: "Carattere", cursive; */
  font-family: "Bodoni Moda", serif;
  font-weight:600;
  color: rgb(209, 181, 121);
  line-height: 1;
  padding: 10px 0;
  word-break: keep-all;
}

header h2 {
  /* font-weight: bold; */
  /* font-family: serif; */
  color: #fff;
  text-align: center;
}
header h3 {
  font-weight: bold;
  /* font-family: serif; */
  color: #fff;
  text-align: center;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: -.8px;
}
header:not(.top_header) h2 {
  /* font-weight: bold; */
  /* font-family: serif; */
  color: var(--gold);
  text-align: center;
}
header:not(.top_header) h3,.gold_txt {
  font-weight: bold;
  /* font-family: serif; */
  color: var(--gold);
  text-align: center;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: -.8px;
}
.gold_txt {
  font-size:22px!important;
}
#page_top main section.lead {
  padding: 50px 0;
}
@media screen and (max-width: 599px) {
  #page_top main section.lead {
    padding: 40px 0 50px;
  }
  .gold_txt {
    font-size:18px!important;
  }
}
#page_top main section.lead p.lead-text {
  font-size: 17px;
  /* line-height: 2em; */
  text-align: center;
  margin-bottom: 20px;
  color: var(--grey);
}
@media screen and (max-width: 768px) {
  #page_top main section.lead p.lead-text {
    font-size: 14px;
    /* margin-bottom: 35px; */
    letter-spacing: -.6px;
  }
}
#page_top main section.lead .box {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
}
#page_top .lead .detail{
  text-align: center;
  }
@media screen and (max-width: 599px) {
  #page_top main section.lead .box .image {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
  }
  #page_top .lead .detail{
  letter-spacing: -1.2px;
  }
}
#page_top main section.lead .box .detail h2 {
  color: var(--gold);
  margin-bottom: 0.5em;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  #page_top main section.lead .box .detail h2 dl {
    text-align: center;
  }
}
#page_top main section.lead .box .detail h2 dl dt {
  display: inline;
}
#page_top main section.lead .box .detail h2 dl dd {
  display: inline;
  font-weight: bold;
}
#page_top main section.lead .box .detail p.text {
  font-size: 14px;
}
#page_top main section.lead .box .detail p.text span{
  font-weight: bold;
}
#page_top main section.collaboration {
  background-image: var(--bg);
  color: #fff;
  padding: 2em 0;
}
#page_top main section{
  color: #fff;
}
#page_top main section.collaboration .h2title{
  color: #fff;
}

#page_top main section.collaboration h2 {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
}
@media screen and (max-width: 599px) {
  #page_top main section.collaboration h2 {
    text-align: center;
    margin-bottom: 20px;
  }
  #page_top main section.collaboration h2 img {
    max-height: 80px;
    width: auto;
  }
}
#page_top main section.collaboration ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#page_top main section.collaboration ul li {
  /* margin-bottom: 3em; */
}
#page_top .photo_list li{
  width: 49%;
}

#page_top .ceremony_list li{
  display: flex;
}
#page_top .workshop_list li{
  display: flex;
  margin-bottom:0!important;
  width:100%;
}

#page_top .ceremony_list li p,#page_top .ceremony_list li div.box_txt{
  width: 50%;
  display: grid!important;
  align-items: center!important;
}
#page_top .workshop_list li div.box_inner,
#page_top .ceremony_list li div.box_inner,
#page_top .photo_list li div.box_inner{
  padding:1.5em;
}
#page_top .workshop_list li div.box_inner{
  width:fit-content;
}
#page_top .workshop_list li a,#page_top .workshop_list li div.box_txt{
  width:50%;
}
#page_top .workshop_list li p,
#page_top .ceremony_list li p{
  margin-bottom:0!important;
}
#page_top .workshop_list li p.text,
#page_top .ceremony_list li p.text{
  width: 100%;
}
#page_top .workshop_list li p a,
#page_top .ceremony_list li p a{
  height: 100%;
}
#page_top .workshop_list li p img,
#page_top .ceremony_list li p img{
  object-fit: cover;
  height: 100%;
}
#page_top .workshop_list li:nth-child(even),
#page_top .ceremony_list li:nth-child(even){
  flex-direction: row-reverse;
}

.price_wrap li{
  width:49%;
}
@media screen and (max-width: 599px) {
  #page_top ul li {
    width: 100%;
  }
  #page_top nav ul li {
    width: fit-content;
  }
}
#page_top main section.collaboration2 {
  background-image: initial;
  color: var(--grey);
  padding: 2em 0;
}
#page_top main section.collaboration2 .h2title{
  color: var(--gold);
}

#page_top main section.collaboration2 p:not(.white),#page_top main section.collaboration2 h3,#page_top main section.collaboration2 h4{
  color: var(--grey)!important;
}

.workshop_wrap{
  margin-bottom: -1em;
}
.workshop_wrap .inner{
  width:100%;
  max-width: initial;
  padding: 0;
}
.workshop_list li div.box_txt{
  background-color: #fff;
  display: grid!important;
  place-content: center;
}
#page_top main section.collaboration ul li a {
  text-decoration: none;
}
@media screen and (max-width: 599px) {
  #page_top main section.collaboration ul li a {
    width: 100%
  }
}
#page_top main section.collaboration ul li a.comingsoon:hover {
  opacity: 1;
}
#page_top main section.collaboration ul li p.image {
  margin-bottom: 5px;
  position: relative;
}
#page_top .workshop_wrap p.image{
  width: 100%;
  height: 100%;
}
p.image::after {
  content: "事前予約制";
  display: block;
  background-color: var(--yoyaku);
  color: #fff;
  width: 6em;
  text-align: center;
  padding: .4em .5em;
  position: absolute;
  left: 0;
  top: 0;
  font-size: small;
}
p.big_img.image.jizen::after {
  content: "事前予約制";
}
#page_top main section.collaboration ul li p.resav_none::after {
  content: "";
  background: none;
}
#page_top main section.collaboration h3 {
  font-weight: bold;
  line-height: 1.5;
  font-size: 25px;
}

#page_event .yoyaku{
  position: relative;
}
@media screen and (max-width: 599px) {
  #page_top main section.collaboration h3 {
    font-size: 22px;
  }
}
#page_top main section.collaboration h4 {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  line-height: 1.5;
  margin-bottom: 10px;
}
@media screen and (max-width: 599px) {
  #page_top main section.collaboration ul li h4 {
    font-size: 14px;
  }
}
#page_top main section.collaboration ul li p.text {
  font-size: 15px;
}
#page_top main section.sdgs {
  background-image: var(--bg);
  color: #fff;
  padding-bottom: 1.5em;
}
#page_top main section.sdgs img{
  height: 40vw;
  max-height: 462px;
  object-fit: cover;
  min-height: 300px;
}
#page_top main section.sdgs2 {
  margin-bottom: 50px;
  background-image: initial;
  color: var(--grey);
  padding-bottom: 1.5em;
}
@media screen and (max-width: 599px) {
  #page_top main section.sdgs {
    margin-bottom: 10px;
  }
  #page_top main section.sdgs img{
    width: 100%;
  }
}
@media screen and (max-width: 400px) {
  header.top_header{
    top: 210px;
  }
}
.box {
  border-bottom: double 5px #969697;
  padding-top: 80px;
  padding-bottom: 4em;
}
#page_top main section.sdgs .h2title {
  color: #fff;
  /* padding: 1em 0 0.8em; */
  padding-top: 0.5em;
}
#page_top main section.sdgs2 .h2title {
  color: var(--gold);
}

#page_top main section.sdgs .box p.image {
  text-align: center;
}
#page_top main section.sdgs .box p.image img {
  height: auto;
}
#page_top main section.sub-navi {
  margin-bottom: 50px;
  background-image: var(--bg);
  padding-top: 50px;
  padding-bottom: 40px;
}
#page_top main section.sdgs2 p.image{
  width: calc(462 / 770 * 100%);
  position: relative;
  margin: auto;
}
#page_top main section.sdgs2 p.image img{
  object-fit: cover;
  height: 100%;
  width: 100%;
}
@media screen and (max-width: 599px) {
  #page_top main section.sub-navi {
    margin-bottom: 40px;
    padding-top: 30px;
    padding-bottom: 5px;
  }
  #page_top main section.sdgs2 p.image{
    width:100%;
  }
}
/* #page_top main section.sdgs2 p.image::after {
  content: "事前予約制";
  display: block;
  background-color: var(--yoyaku);
  color: #fff;
  width: 6em;
  text-align: center;
  padding: .4em .5em;
  position: absolute;
  left: 0;
  top: 0;
  font-size: small;
} */
.label{
  padding:10px 30px;
  /* width: fit-content; */
  width: 80vw;
  max-width: 400px;
  margin: 0 auto;
  font-weight: bold;
  font-size: large;
  /* border: solid 1px var(--gold); */
  background-image: var(--bg);
  border-radius: 50px;
  color: #fff!important;
}
/* .label2{
  background-color: rgba(255,255,255,.9);
  color: rgb(10, 10, 44);
  padding: .05em .4em .03em;
  width: fit-content;
  margin: auto;
  font-weight: bold;
  font-size: xx-large;
} */

.label span{
  vertical-align: middle;
  color: var(--gold)!important;
}
details{
  background: #fff;
  text-align: left;
  margin-bottom: 5px;
}
details p{
  padding: 20px 20px 30px;
  word-break: break-all;
  border: solid 3px #F6F6F6;
  border-top: none;
}
summary {
  background: #F6F6F6;
  position: relative;
  cursor: pointer;
  padding: 14px;
  transition: .2s ease;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
}
summary::-webkit-details-marker {
  display: none;
}
summary span{
  display: inline-block;
  align-self: center;
}
summary:after {
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}
summary:before {
  content: "＋";
  color: #fff;
  font-size: 20px;
  display: inline-block;
  background-color: #555;
  padding: 1% 2%;
  aspect-ratio: 1/1;
  align-self: center;
}
summary:after {
  left: 6px;
  width: 5px;
  height: 5px;
  border: 4px solid transparent;
  border-left: 5px solid #fff;
  box-sizing: border-box;
  transition: .1s;
}
details[open] summary:before {
  content: "－";
}
details a{
  text-decoration: none;
  color: var(--grey);
}

/* .event_detail{
  max-width: 550px;
  margin: 1em auto 0;
}
.event_detail summary{
  background-image: var(--bg);
  color: #fff;
  text-align: center;
  transition: .2s ease;
  height: 28px;
}
.event_detail summary span{
  margin: auto;
}
.event_detail summary:before {
  background: initial;
  padding: initial;
} */

.box_profile summary{
  background: #fff!important;
}
.box_profile summary:before{
  background: var(--gold);
}
.box_profile details p{
  border: none;
}

.food_info{
  margin: 3em 0 4em;
}
.food_info h4,.food_info p{
  text-align: center;
}
.food_info table td{
  width:12em;
}
#page_top main section.sub-navi h2 {
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
}
@media screen and (max-width: 599px) {
  #page_top main section.sub-navi h2 {
    width: 90%;
    margin-bottom: 15px;
  }
  summary:before {
    padding: 1% 3%;
    top: initial;
  }
  .label{
    width: 70vw;
  }
  /* .label2{
    font-size: x-large;
  } */

}
summary:hover{
  opacity: .8;
  transition: .2s ease;
}
#page_top main section.sub-navi h3 {
  font-size: 17px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  color: #ffffff;
}
@media screen and (max-width: 599px) {
  #page_top main section.sub-navi h3 {
    font-size: 14px;
    margin-bottom: 10px;
  }
}
#page_top main section.sub-navi p.text {
  font-size: 17px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  color: #ffffff;
}
@media screen and (max-width: 599px) {
  #page_top main section.sub-navi p.text {
    font-size: 14px;
    margin-bottom: 10px;
  }
}
#page_top main section.sub-navi ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 50px;
}
@media screen and (max-width: 599px) {
  #page_top main section.sub-navi ul {
    margin-bottom: 25px;
  }
}
#page_top main section.sub-navi ul li {
  margin-bottom: 10px;
  height: 84px;
}
#page_top main section.sub-navi ul li.column1 {
  width: calc(400 / 960 * 100%);
  height: 120px;
  margin-right: calc(280 / 960 * 100%);
  margin-left: calc(280 / 960 * 100%);
}
@media screen and (max-width: 599px) {
  #page_top main section.sub-navi ul li.column1 {
    width: 80%;
    margin-right: 10%;
    margin-left: 10%;
    height: 100px;
  }
}
#page_top main section.sub-navi ul li.column1 a {
  height: 120px;
}
@media screen and (max-width: 599px) {
  #page_top main section.sub-navi ul li.column1 a {
    height: 100px;
  }
}
#page_top main section.sub-navi ul li.column2 {
  width: calc(100% / 2 - 10px * 1 / 2);
}
#page_top main section.sub-navi ul li.column3 {
  width: calc(100% / 3 - 10px * 2 / 3);
}
#page_top main section.sub-navi ul li.column4 {
  width: calc(100% / 4 - 10px * 3 / 4);
}
@media screen and (max-width: 768px) {
  #page_top main section.sub-navi ul li.column2, #page_top main section.sub-navi ul li.column3, #page_top main section.sub-navi ul li.column4 {
    width: calc(100% / 2 - 10px * 1 / 2);
    height: 70px;
  }
}
#page_top main section.sub-navi ul li.align-left a {
  text-align: left;
  justify-content: flex-start;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  #page_top main section.sub-navi ul li.align-left a {
    font-size: 12px;
  }
}
@media screen and (max-width: 599px) {
  #page_top main section.sub-navi ul li.align-left a {
    padding: 0 5px;
    font-size: 9px;
  }
}
#page_top main section.sub-navi ul li a {
  color: #000000;
  font-size: 13px;
  background: #ffffff;
  text-decoration: none;
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.seibu a{
  background: #fff;
  border: solid var(--dark_grey) 1px;
  padding: .5em 1.5em;
  display: inline-block;
  margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  #page_top main section.sub-navi ul li a {
    height: 70px;
  }
}
@media screen and (max-width: 599px) {
  #page_top main section.sub-navi ul li a {
    font-size: 10px;
  }
}
#page_top main section.sub-navi ul li a.comingsoon {
  opacity: 1;
}
#page_top main section.event {
  margin-bottom: 40px;
}
@media screen and (max-width: 599px) {
  #page_top main section.event {
    margin-bottom: 20px;
  }
}
#page_top main section.event h2 {
  max-width: 436px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
@media screen and (max-width: 599px) {
  #page_top main section.event h2 {
    text-align: center;
    margin-bottom: 10px;
  }
  #page_top main section.event h2 img {
    max-height: 80px;
    width: auto;
  }
}
#page_top main section.event ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-bottom: double 5px #969697;
  justify-content: center;
}
#page_top main section.event ul li {
  margin-bottom: 3em;
  width: calc(298 / 960 * 100%);
}
#page_top main section.event ul li + li {
  margin-left: calc(33 / 960 * 100%);
}
@media screen and (max-width: 599px) {
  #page_top main section.event ul li {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }
}
#page_top main section.event ul li a {
  text-decoration: none;
}
#page_top main section.event ul li a.comingsoon:hover {
  opacity: 1;
}
#page_top main section.event ul li p.image {
  margin-bottom: 5px;
}
#page_top main section.event ul li h3 {
  font-size: 14px;
  font-weight: bold;
  color: #66BCEA;
  line-height: 1.5;
}
#page_top main section.event ul li h3::before {
  content: "●";
}
#page_top .table_about tr td:first-of-type{
  text-align: right;
  font-weight: bold;
  white-space: pre;
}
@media screen and (max-width: 599px) {
  #page_top main section.event ul li h3 {
    font-size: 14px;
  }
}
#page_top main section.event ul li h4 {
  font-size: 16px;
  font-weight: bold;
  color: #F4678B;
  line-height: 1.5;
  margin-bottom: 10px;
}
@media screen and (max-width: 599px) {
  #page_top main section.event ul li h4 {
    font-size: 14px;
  }
}
#page_top main section.event ul li p.text {
  font-size: 14px;
}
#page_top main section.other-menu {
  margin-bottom: 70px;
}
@media screen and (max-width: 599px) {
  #page_top main section.other-menu {
    margin-bottom: 35px;
  }
}
#page_top main section.other-menu ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-bottom: double 5px #969697;
}
#page_top main section.other-menu ul li {
  margin-bottom: 3em;
  width: calc(298 / 960 * 100%);
}
@media screen and (max-width: 599px) {
  #page_top main section.other-menu ul li {
    width: 46%;
  }
  #page_top main section.other-menu ul li:nth-child(3) {
    margin-right: 27%;
    margin-left: 27%;
  }
}
#page_top main section.other-menu ul li a {
  text-decoration: none;
}
#page_top main section.other-menu ul li a.comingsoon:hover {
  opacity: 1;
}
#page_top main section.other-menu ul li h3 {
  max-width: 250px;
  margin-left: auto;
  margin-right: auto;
}
#page_top main section.other-menu ul li p.text {
  font-size: 17px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
}
@media screen and (max-width: 599px) {
  #page_top main section.other-menu ul li p.text {
    font-size: 14px;
  }
}
#page_top main section.other-menu ul li p.image {
  max-width: 208px;
  margin-left: auto;
  margin-right: auto;
}
#page_top main section.message {
  margin-bottom: 60px;
}
@media screen and (max-width: 599px) {
  #page_top main section.message {
    margin-bottom: 30px;
  }
}
#page_top main section.message .inner {
  max-width: 728px;
}
#page_top main section.message .box {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#page_top main section.message .profile {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 20px;
  width: 100%;
}
#page_top main section.message .profile .image {
  width: 116px;
}
@media screen and (max-width: 599px) {
  #page_top main section.message .profile .image {
    width: 100%;
    text-align: center;
  }
  #page_top main section.message .profile .image img {
    width: 116px;
  }
}
#page_top main section.message .profile .detail {
  flex: 1;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 599px) {
  #page_top main section.message .profile .detail {
    padding-left: 0;
    padding-right: 0;
  }
}
#page_top main section.message .profile .detail h2, #page_top main section.message .profile .detail p {
  width: 100%;
  line-height: 1.5;
}
#page_top main section.message .profile .detail h2 {
  font-size: 20px;
  font-family: "Lato", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 900;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 599px) {
  #page_top main section.message .profile .detail h2 {
    font-size: 16px;
  }
}
#page_top main section.message .profile .detail p.name01 {
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  #page_top main section.message .profile .detail p.name01 {
    font-size: 18px;
  }
}
#page_top main section.message .profile .detail p.name02 {
  margin-bottom: 0.5em;
}
#page_top main section.message .profile .logo {
  width: 160px;
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 599px) {
  #page_top main section.message .profile .logo {
    width: 80px;
  }
}
#page_top main section.message p.text {
  font-size: 14px;
  width: 100%;
}
#page_top main section.other .box {
  border-bottom: double 5px #969697;
  margin-bottom: 80px;
  padding-bottom: 50px;
  padding-right: calc(50% - 600px / 2);
  padding-left: calc(50% - 600px / 2);
}
@media screen and (max-width: 599px) {
  #page_top main section.other .box {
    margin-bottom: 25px;
    padding-bottom: 25px;
  }
}
#page_top main section.other .box ul.text {
  font-size: 14px;
  margin-bottom: 30px;
}
@media screen and (max-width: 599px) {
  #page_top main section.other .box ul.text {
    margin-bottom: 20px;
  }
}
#page_top main section.other .box ul.text li {
  text-indent: -3em;
  margin-left: 3em;
}
#page_top main section.other .box ul.text li a {
  color: #F4678B;
}
#page_top main section.other .box p.logo {
  margin-bottom: 40px;
}
@media screen and (max-width: 599px) {
  #page_top main section.other .box p.logo {
    margin-bottom: 20px;
  }
}
#page_top main section.other .box ul.banner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#page_top main section.other .box ul.banner li {
  width: calc(274 / 600 * 100%);
  margin-bottom: 30px;
}
@media screen and (max-width: 599px) {
  #page_top main section.other .box ul.banner li {
    margin-bottom: 10px;
    width: calc(50% - 5px);
  }
}
#page_top main section.introduction {
  margin-bottom: 50px;
}
@media screen and (max-width: 599px) {
  #page_top main section.introduction {
    margin-bottom: 25px;
  }
}
#page_top main section.introduction .box {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
#page_top main section.introduction .box h2 {
  font-size: 28px;
  text-align: center;
  font-weight: bold;
  color: #3E3A39;
  line-height: 1.2;
  margin-bottom: 30px;
}
@media screen and (max-width: 599px) {
  #page_top main section.introduction .box h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }
}
#page_top main section.introduction .box h2 small {
  font-size: 22px;
  display: block;
  color: #222;
}
@media screen and (max-width: 599px) {
  #page_top main section.introduction .box h2 small {
    font-size: 18px;
  }
}
#page_top main section.introduction .box p.text {
  font-size: 14px;
  margin-bottom: 20px;
}
#page_top main section.introduction .box ul.image {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#page_top main section.introduction .box ul.image li {
  width: calc(192 / 600 * 100%);
}
#page_top main section.introduction .box ul.image li p.pic {
  margin-bottom: 5px;
}
#page_top main section.introduction .box ul.image li p.caption {
  font-size: 14px;
  line-height: 1.3;
}
@media screen and (max-width: 599px) {
  #page_top main section.introduction .box ul.image li p.caption {
    font-size: 12px;
  }
}
#page_top dl{
  color: var(--grey);
  margin-bottom: 1em;
  text-align: center;
}
#page_top dt{
  font-size: 18px;
  font-weight: bold;
  line-height: 2em;
}
#page_top dd{
  font-size: 17px;
  line-height: 1.8em;
}
@media screen and (max-width: 599px) {
  #page_top dt{
    font-size: 15px;
  }
  #page_top dd{
    font-size: 14px;
  }
}
#page_top .text2{
  color:var(--grey);
}
/* lower_common
----------------------------------- */
body.lower header .sub-navi {
  margin-bottom: 80px;
}
#page_event .sub-navi ul li{
  padding-top: 80px;
  margin-top: -80px;
}
#page_event .sub-navi ul li{
  position: relative;
}

#page_stay header .sub-navi ul li a {
  justify-content: flex-start;
  text-align: left;
  background: #ffffff;
  border: solid 1px #231815;
}

#page_stay header .sub-navi ul li a .text {
  line-height: 1;
  padding: 5px 10px 5px;
}
#page_stay header .sub-navi ul li a .text strong {
  font-weight: bold;
  font-size: 17px;
  color: var(--grey);
  display: block;
  margin-bottom: 5px;
}
@media screen and (max-width: 599px) {
  body.lower header .sub-navi {
    margin-bottom: 40px;
  }
}
body.lower header .sub-navi ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
body.lower header .sub-navi ul li {
  margin-bottom: 10px;
  height: 84px;
}
body.lower header .sub-navi ul li.column2 {
  width: calc(100% / 2 - 10px * 1 / 2);
}
body.lower header .sub-navi ul li.column3 {
  width: calc(100% / 3 - 10px * 2 / 3);
}
body.lower header .sub-navi ul li.column4 {
  width: calc(100% / 4 - 10px * 3 / 4);
}
@media screen and (max-width: 768px) {
  body.lower header .sub-navi ul li.column2, body.lower header .sub-navi ul li.column3, body.lower header .sub-navi ul li.column4 {
    width: calc(100% / 2 - 10px * 1 / 2);
    height: 70px;
  }
}

body.lower header .sub-navi ul li.align-left a {
  text-align: left;
  justify-content: flex-start;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  body.lower header .sub-navi ul li.align-left a {
    font-size: 12px;
  }
}
@media screen and (max-width: 599px) {
  body.lower header .sub-navi ul li.align-left a {
    padding: 0 5px;
    font-size: 9px;
  }
}
body.lower header .sub-navi ul li a {
  color: #222;
  font-size: 13px;
  background: #D4E8EA;
  text-decoration: none;
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  body.lower header .sub-navi ul li a {
    height: 70px;
  }
}
@media screen and (max-width: 599px) {
  body.lower header .sub-navi ul li a {
    font-size: 10px;
  }
}
body.lower header .sub-navi ul li.active a {
  background: linear-gradient(90deg, #5DB6E5, #6BD5C9);
  color: #ffffff;
}
body.lower header h1 p {
  text-align: center;
}
p.button {
  text-align: center;
  position: relative;
  max-width: 550px;
  margin-right: auto;
  margin-left: auto;
}
p.button a {
  color: #ffffff;
  background: var(--bg);
  width: 100%;
  height: 56px;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.4!important;

}
p.button a::after {
  content: '＞';
  color: #fff;
  font-size: 18px;
  position: absolute;
  right: 15px;
}
@media screen and (max-width: 599px) {
  p.button a::after {
    display: none;
  }
}
p.button.comingsoon a {
  background: #B4B4B5;
}
p.button.comingsoon a:hover {
  opacity: 1;
}
p.button + p {
  margin-top: 1em;
}

/* food_common
----------------------------------- */
#page_food header .sub-navi02 ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-right: 20px;
  margin-left: 20px;
  margin-bottom: 90px;
}
@media screen and (max-width: 599px) {
  #page_food header .sub-navi02 ul {
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 45px;
  }
}
#page_food header .sub-navi02 ul li {
  padding-right: 30px;
  padding-left: 30px;
}
@media screen and (max-width: 599px) {
  #page_food header .sub-navi02 ul li {
    width: 30%;
    padding-right: 0;
    padding-left: 0;
  }
}
#page_food header .sub-navi02 ul li::before {
  content: "＞";
  margin-right: 0.5em;
  color: #DE1600;
}
#page_food header .sub-navi02 ul li a {
  font-size: 19px;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  #page_food header .sub-navi02 ul li a {
    font-size: 14px;
  }
}
#page_food header .sub-navi02 p {
  text-align: center;
  font-size: 14px;
  margin-bottom: 30px;
}
@media screen and (max-width: 599px) {
  #page_food header .sub-navi02 p {
    margin-bottom: 15px;
    font-size: 12px;
    line-height: 1.5;
  }
}
#page_food main section.hotel h2 p {
  margin-bottom: 55px;
  text-align: center;
}
@media screen and (max-width: 599px) {
  #page_food main section.hotel h2 p {
    margin-bottom: 30px;
  }
}
#page_food main section.hotel h2 p img {
  height: 45px;
  width: auto;
}
#page_food main section.hotel h2 p img.tall {
  height: 158px;
}
@media screen and (max-width: 599px) {
  #page_food main section.hotel h2 p img.wide {
    width: 100%;
    height: auto;
  }
}
#page_food main section.hotel h2 p.date {
  font-size: 18px;
  font-weight: bold;
  margin-top: -80px;
}
@media screen and (max-width: 599px) {
  #page_food main section.hotel h2 p.date {
    font-size: 16px;
    margin-top: -40px;
  }
}

@media screen and (max-width: 599px) {
  #page_food main section.category {
    margin-bottom: 40px;
  }
  #page_food main section.category_event {
    margin-bottom: 0;
  }
}
#page_food main section.category.border:after {
  content: "";
  display: block;
  border-bottom: double 5px #969697;
  padding-bottom: 20px;
  max-width: 930px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
  width: calc(100% - 120px);
}
@media screen and (max-width: 768px) {
  #page_food main section.category.border:after {
    padding-right: 30px;
    padding-left: 30px;
    width: calc(100% - 60px);
  }
}
@media screen and (max-width: 599px) {
  #page_food main section.category.border:after {
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 0px;
    width: calc(100% - 40px);
  }
}
#page_food main section.category h3 .box {
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 599px) {
  #page_food main section.category h3 .box {
    margin-bottom: 20px;
  }
}
#page_food main section.category h3 .type {
  color: #66BCEA;
  font-family: "Lato", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 900;
  background: linear-gradient(90deg, #5DB6E5, #6BD5C9);
  background-clip: text;
  -webkit-background-clip: text;
  text-fill-color: transparent;
  -webkit-text-fill-color: transparent;
  font-size: 37px;
}
@media screen and (max-width: 599px) {
  #page_food main section.category h3 .type {
    font-size: 18px;
  }
}
#page_food main section.category h3 .text {
  display: block;
  margin-bottom: 1em;
}
#page_food main section.category h3 .attention {
  display: block;
  font-size: 12px;
  margin-top: -1em;
  margin-bottom: 1em;
}
#page_food main section.category h3 .sub-text {
  display: block;
  font-size: 14px;
  margin-top: -1em;
  margin-bottom: 1em;
}
#page_food main section.menu {
  margin-bottom: 60px;
  padding: 0 1em;
}
#page_food main section.menu2 {
  margin-bottom: 0;
}
@media screen and (max-width: 599px) {
  #page_food main section.menu {
    margin-bottom: 40px;
  }
  #page_food main .category_event section.menu2 {
    margin-bottom: 0!important;
  }
}
#page_food main section.menu .inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: column;
}
#page_food main section.menu2 .inner {
  padding-bottom: 40px!important;
}
#page_food main section.menu .image {
  width: calc(520 / 930 * 100%);
}
@media screen and (max-width: 768px) {
  #page_food main section.menu .image {
    width: 100%;
  }
}
#page_food main section.menu .image p {
  margin-bottom: 1em;
  font-size: 11px;
  position: relative;
}
/* .yoyaku::after {
content: "事前予約制";
display: block;
background-color:  var(--yoyaku);
color: #fff;
width: 6em;
text-align: center;
padding: .4em .5em;
position: absolute;
left: 0;
top: 0;
font-size: small;
} */
#page_food main section.menu .detail {
  width: calc(365 / 930 * 100%);
}
@media screen and (max-width: 768px) {
  #page_food main section.menu .detail {
    width: 100%;
  }
}
#page_food main section.menu .detail h4 {
  color: var(--gold);
  font-weight: bold;
  margin-bottom: 1em;
  font-size: 20px;
  line-height: 1.2;
}
@media screen and (max-width: 599px) {
  #page_food main section.menu .detail h4 {
    font-size: 16px;
  }
}
#page_food main section.menu .detail h4 small {
  font-size: 14px;
}
@media screen and (max-width: 599px) {
  #page_food main section.menu .detail h4 small {
    font-size: 12px;
  }
}
#page_food main section.menu .detail h5 {
  font-size: 14px;
  font-weight: bold;
  color: var(--gold);
}
#page_food main section.menu .detail h5 small {
  font-weight: normal;
}
#page_food main section.menu .detail p.date {
  font-size: 27px;
  font-weight: bold;
  color: #66BCEA;
  line-height: 1.2;
  margin-bottom: 0.3em;
}
@media screen and (max-width: 599px) {
  #page_food main section.menu .detail p.date {
    font-size: 20px;
  }
}
#page_food main section.menu .detail p.date small {
  font-size: 14px;
  display: block;
  color: #000000;
  font-weight: normal;
}
#page_food main section.menu .detail p.date.type_small {
  font-size: 18px;
}
#page_food main section.menu .detail p.icon {
  color: #ffffff;
  background: #66BCEA;
  display: inline-block;
  line-height: 1.2;
  padding: 2px 10px;
  font-weight: bold;
  margin-bottom: 0.5em;
}
#page_food main section.menu .detail p.price {
  margin-bottom: 1em;
  font-size: 14px;
}
#page_food main section.menu .detail p.price strong {
  font-weight: bold;
}
#page_food main section.menu .detail p.price small {
  font-size: 12px;
  color: #222;
}
#page_food main section.menu .detail p.price.type_short {
  margin-top: -1.2em;
}
#page_food main section.menu .detail p.text {
  margin-bottom: 1em;
  font-size: 14px;
}
#page_food main section.menu .detail p.text small {
  font-size: 12px;
}
#page_food main section.menu .detail p.logo img + img {
  margin-left: 10px;
}
#page_food main section.menu .detail table {
  margin-bottom: 2em;
}
#page_food .price_table tr td{
  font-size: large;
  padding: .8em 0.6em;
}
#page_food .price_table .num{
  font-size: x-large!important;
}
#page_food .detail{
  width: 100%!important;
}
#page_food main section.menu .detail table th small, #page_food main section.menu .detail table td small {
  font-weight: normal;
}
#page_food main section.menu .detail table th {
  text-align: left;
  white-space: nowrap;
}
#page_food main section.menu .detail table.price th, #page_food main section.menu .detail table.price td {
  font-weight: normal;
}
#page_food main section.menu .detail ul.link {
  margin-bottom: 1em;
}
#page_food main section.menu .detail ul.link + ul {
  margin-top: 1em;
}
#page_food main section.menu .detail ul.link li {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 0.5em;
  font-weight: bold;
}
#page_food main section.menu .detail ul.link li a {
  color: var(--gold);
}
#page_food main section.category.category_event {
  background: var(--light_grey);
  padding-top: 30px;
}
#page_food main section.category.category_event2 h3{
    font-weight: bold;
    color: var(--gold);
    text-align: center;
    font-size: clamp(25px,4vw,38px);
    line-height: 1.5;
    letter-spacing: -.8px;
}
#page_food main section.category.category_event2 h4{
  font-weight: bold;
  color: var(--gold);
  margin: .5em 0 1em;
  text-align: center;
  font-size: larger;
}
#page_food main section.category.category_event2 {
  background: var(--light_gold);
  padding-top: 60px;
  padding-bottom: 1px;
  margin-bottom: 80px;
}
#page_food .cancel_table{
  text-align: center;
  margin: auto;
}
#page_food .cancel_table tr:first-of-type td{
  background: var(--light_grey);
  font-weight: bold;
}
#page_food .cancel_table tr td{
  border:solid 2px #a7a7a7;
  padding:.5em;
  vertical-align: middle;
}
@media screen and (max-width: 599px) {
  #page_food main section.category.category_event {
    padding-top: 12px;
  }
}

#page_food main section.feature {
  margin-bottom: 60px;
}
@media screen and (max-width: 599px) {
  #page_food main section.feature {
    margin-bottom: 30px;
  }
  #page_food .price_table .num{
    font-size: large!important;
  }
  #page_food main section.menu{
    padding: 0;
  }
}
#page_food main section.feature .box {
  background: linear-gradient(90deg, #5DB6E5, #6BD5C9);
  padding: 30px 50px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}
@media screen and (max-width: 599px) {
  #page_food main section.feature .box {
    padding: 20px;
  }
}
#page_food main section.feature .box .image {
  width: calc(320 / 830 * 100%);
}
@media screen and (max-width: 599px) {
  #page_food main section.feature .box .image {
    width: 100%;
    margin-bottom: 1em;
  }
}
#page_food main section.feature .box .image p + p {
  margin-top: 1em;
  text-align: right;
}
#page_food main section.feature .box .detail {
  width: calc(480 / 830 * 100%);
}
@media screen and (max-width: 599px) {
  #page_food main section.feature .box .detail {
    width: 100%;
  }
}
#page_food main section.feature .box .detail h4 {
  color: #ffffff;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 1em;
}
#page_food main section.feature .box .detail p.icon {
  color: #ffffff;
  background: #66BCEA;
  display: inline-block;
  line-height: 1.2;
  padding: 1px 10px;
}
#page_food main section.feature .box .detail p.text {
  font-size: 14px;
  color: #ffffff;
  margin-bottom: 1em;
}
@media screen and (max-width: 599px) {
  #page_food main section.feature .box .detail p.text {
    font-size: 12px;
  }
}
#page_food main section.feature .box .detail p.text small {
  font-size: 12px;
}
#page_food main section.feature .box .detail p.text a {
  color: #ffffff;
}
#page_food main section.feature .box .detail ul.link + ul {
  margin-top: 1.5em;
}
#page_food main section.feature .box .detail ul.link li {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 1em;
  font-weight: bold;
}
#page_food main section.feature .box .detail ul.link li a {
  color: #ffffff;
}
#page_food main section.feature.type_wide .box .image {
  width: calc(460 / 830 * 100%);
}
@media screen and (max-width: 599px) {
  #page_food main section.feature.type_wide .box .image {
    width: 100%;
  }
}
#page_food main section.feature.type_wide .box .detail {
  width: calc(340 / 830 * 100%);
}
@media screen and (max-width: 599px) {
  #page_food main section.feature.type_wide .box .detail {
    width: 100%;
  }
}
#page_food main section.info {
  text-align: center;
  color: #000000;
  background: linear-gradient(90deg, #cee8f7, #d2f2ee);
  margin-bottom: 100px;
  padding-top: 40px;
  padding-bottom: 40px;
}
@media screen and (max-width: 599px) {
  #page_food main section.info {
    padding-top: 20px;
    padding-bottom: 20px;
    margin-bottom: 50px;
  }
}
#page_food main section.info h3 {
  line-height: 1.5;
}
#page_food main section.info h4 {
  font-size: 18px;
  margin-bottom: 1em;
  font-weight: normal;
}
@media screen and (max-width: 599px) {
  #page_food main section.info h4 {
    font-size: 14px;
  }
}
#page_food main section.info p.tel {
  font-size: 42px;
  line-height: 1.2;
  font-family: "Lato", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 900;
}
@media screen and (max-width: 599px) {
  #page_food main section.info p.tel {
    font-size: 24px;
  }
}
@media screen and (max-width: 599px) {
  #page_food main section.info p.time {
    font-size: 12px;
  }
}
#page_food main section.info.double .box {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
#page_food main section.info.double p.text {
  font-size: 18px;
  margin-bottom: 1em;
  width: 100%;
}
@media screen and (max-width: 599px) {
  #page_food main section.info.double p.text {
    font-size: 14px;
  }
}
#page_food main section.info.double .box2 {
  width: 50%;
}
@media screen and (max-width: 599px) {
  #page_food main section.info.double .box2 {
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  #page_food main section.info.double .box2:first-of-type {
    margin-bottom: 1em;
  }
}
#page_food main section.info.double .box2 h3 {
  margin-bottom: 0;
}

/* food_detail
----------------------------------- */
#page_food main section.category.category_event .box_profile {
  background: #ffffff;
  padding: 45px;
  margin-top: 50px;
}
@media screen and (max-width: 599px) {
  #page_food main section.category.category_event .box_profile {
    padding: 20px;
    margin-top: 25px;
  }
}
#page_food main section.category.category_event .box_profile section.profile {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}
#page_food main section.category.category_event .box_profile section.profile:after {
  content: "";
  display: block;
  width: 100%;
  border-bottom: double 5px #969697;
  margin-bottom: 40px;
  padding-bottom: calc(40px - 1em);
}
#page_food main section.category.category_event .box_profile section.profile.no-border:after {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
#page_food main section.category.category_event .box_profile section.profile .image {
  width: calc(230 / 840 * 100%);
}
@media screen and (max-width: 599px) {
  #page_food main section.category.category_event .box_profile section.profile .image {
    width: 100%;
  }
}
#page_food main section.category.category_event .box_profile section.profile .detail {
  width: calc(570 / 840 * 100%);
}
@media screen and (max-width: 599px) {
  #page_food main section.category.category_event .box_profile section.profile .detail {
    width: 100%;
  }
}
#page_food main section.category.category_event .box_profile section.profile .detail h5 {
  font-size: 16px;
  margin-bottom: 1em;
}
@media screen and (max-width: 599px) {
  #page_food main section.category.category_event .box_profile section.profile .detail h5 {
    font-size: 14px;
  }
}
/* food_detail2
----------------------------------- */
#page_food main section.category.category_event2 .box_profile {
  background: #ffffff;
  padding: 45px;
  margin-top: 50px;
  width: 100%;
}
@media screen and (max-width: 599px) {
  #page_food main section.category.category_event2 .box_profile {
    padding: 20px;
    margin-top: 25px;
  }
}
#page_food main section.category.category_event2 .box_profile section.profile {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row;
}
#page_food main section.category.category_event2 .box_profile section.profile:nth-of-type(2) {
  flex-direction: row-reverse;
}

#page_food main section.category.category_event2 .box_profile section.profile.no-border:after {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
#page_food main section.category.category_event2 .box_profile section.profile .image p{
  aspect-ratio: 1/1;
}
@media screen and (max-width: 599px) {
  #page_food main section.category.category_event2 .box_profile section.profile .image p{
    aspect-ratio: initial;
  }
}
#page_food main section.category.category_event2 .box_profile section.profile .image p img{
  object-fit: cover;
  height: 100%;
  width: 100%;
}
#page_food main section.category.category_event2 .box_profile section.profile:nth-of-type(2) .image p img,
#page_food main section.category.category_event2 .box_profile section.profile:last-of-type .image p img{
  object-position: left;
}

#page_food main section.category.category_event2 .box_profile section.profile .image {
  width: calc(230 / 840 * 100%);
}
@media screen and (max-width: 599px) {
  #page_food main section.category.category_event2 .box_profile section.profile .image {
    width: 100%;
  }
}
#page_food main section.category.category_event2 .box_profile section.profile .detail {
  width: calc(570 / 840 * 100%);
}
@media screen and (max-width: 599px) {
  #page_food main section.category.category_event2 .box_profile section.profile .detail {
    width: 100%;
  }
}
#page_food main section.category.category_event2 .box_profile section.profile .detail h5 {
  font-size: 16px;
  margin-bottom: 1em;
}
@media screen and (max-width: 599px) {
  #page_food main section.category.category_event2 .box_profile section.profile .detail h5 {
    font-size: 14px;
  }
}
#page_food main section.feature-mini .box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 655px;
  border: solid 1px #231815;
  margin-left: auto;
  margin-right: auto;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 599px) {
  #page_food main section.feature-mini .box {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
#page_food main section.feature-mini .image {
  width: calc(225 / 655 * 100%);
}
@media screen and (max-width: 599px) {
  #page_food main section.feature-mini .image {
    width: 100%;
  }
}
#page_food main section.feature-mini .detail {
  width: calc(410 / 655 * 100%);
  padding: 15px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  #page_food main section.feature-mini .detail {
    width: 100%;
    padding: 10px;
  }
}
#page_food main section.feature-mini .detail p.icon {
  color: #ffffff;
  background: #66BCEA;
  display: inline-block;
  line-height: 1.2;
  padding: 2px 10px;
  font-weight: bold;
  margin-bottom: 0.5em;
  position: absolute;
  top: 15px;
  right: 15px;
}
@media screen and (max-width: 599px) {
  #page_food main section.feature-mini .detail p.icon {
    position: relative;
    top: 0;
    left: 0;
  }
}
#page_food main section.feature-mini .detail h4 {
  color: #F4678B;
  font-weight: bold;
  margin-bottom: 0.5em;
  font-size: 16px;
  line-height: 1.2;
}
@media screen and (max-width: 599px) {
  #page_food main section.feature-mini .detail h4 {
    font-size: 16px;
  }
}
#page_food main section.feature-mini .detail h4 small {
  font-size: 16px;
}
@media screen and (max-width: 599px) {
  #page_food main section.feature-mini .detail h4 small {
    font-size: 14px;
  }
}
#page_food main section.feature-mini .detail p.text {
  margin-bottom: 0.5em;
  font-size: 14px;
  line-height: 1.5;
}
#page_food main section.feature-mini .detail p.text small {
  font-size: 12px;
}
#page_food main section.feature-mini .detail ul.link {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
#page_food main section.feature-mini .detail ul.link li {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 0.5em;
  font-weight: bold;
}
#page_food main section.feature-mini .detail ul.link li a {
  color: #F4678B;
}
#page_food main section.menu .box {
  padding: 20px;
  border: solid 1px #231815;
  margin-bottom: 1em;
}
@media screen and (max-width: 599px) {
  #page_food main section.menu .box {
    padding: 15px;
  }
}
#page_food main section.menu .box h5 {
  color: #000000;
  line-height: 1.2;
  margin-bottom: 0.5em;
  font-size: 16px;
}
#page_food main section.menu .box h5 small {
  font-size: 14px;
}
#page_food main section.menu .box p.text {
  margin-bottom: 0;
}
#page_food main section.menu .box ul.link {
  margin-top: 0;
  margin-bottom: 0;
}
#page_food main section.menu .box ul.link li {
  margin-bottom: 0;
}
#page_food main section.menu .banner {
  width: 100%;
  margin-top: 50px;
}
@media screen and (max-width: 599px) {
  #page_food main section.menu .banner {
    margin-top: 25px;
  }
}
#page_food main section.menu .banner p {
  max-width: 655px;
  margin-left: auto;
  margin-right: auto;
}
#page_food main section.box_general {
  margin-bottom: 60px;
}
@media screen and (max-width: 599px) {
  #page_food main section.box_general {
    margin-bottom: 30px;
  }
}
#page_food main section.box_general.type1 .box .image {
  width: calc(460 / 840 * 100%);
}
#page_food main section.box_general.type1 .box .detail {
  width: calc(350 / 840 * 100%);
}
#page_food main section.box_general.type2 .box .image {
  width: calc(230 / 840 * 100%);
}
#page_food main section.box_general.type2 .box .detail {
  width: calc(580 / 840 * 100%);
}
#page_food main section.box_general.type2 .box .image {
  width: calc(325 / 840 * 100%);
}
#page_food main section.box_general.type2 .box .detail {
  width: calc(485 / 840 * 100%);
}
@media screen and (max-width: 599px) {
  #page_food main section.box_general.type1 .box .image, #page_food main section.box_general.type2 .box .image, #page_food main section.box_general.type3 .box .image {
    width: 100%;
  }
  #page_food main section.box_general.type1 .box .detail, #page_food main section.box_general.type2 .box .detail, #page_food main section.box_general.type3 .box .detail {
    width: 100%;
  }
}
#page_food main section.box_general .box {
  padding: 45px;
  border: solid 1px #231815;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}
@media screen and (max-width: 599px) {
  #page_food main section.box_general .box {
    padding: 15px;
  }
}
@media screen and (max-width: 599px) {
  #page_food main section.box_general .box .image {
    width: 100%;
    margin-bottom: 1em;
  }
}
#page_food main section.box_general .box .image p + p {
  margin-top: 1em;
  text-align: right;
}
#page_food main section.box_general .box .detail h4 {
  color: #F4678B;
  font-weight: bold;
  margin-bottom: 1em;
  font-size: 20px;
  line-height: 1.2;
}
@media screen and (max-width: 599px) {
  #page_food main section.box_general .box .detail h4 {
    font-size: 16px;
  }
}
#page_food main section.box_general .box .detail h4 small {
  font-size: 14px;
}
@media screen and (max-width: 599px) {
  #page_food main section.box_general .box .detail h4 small {
    font-size: 12px;
  }
}
#page_food main section.box_general .box .detail p.date {
  font-size: 24px;
  font-weight: bold;
  color: #66BCEA;
}
@media screen and (max-width: 599px) {
  #page_food main section.box_general .box .detail p.date {
    font-size: 20px;
  }
}
#page_food main section.box_general .box .detail p.text {
  margin-bottom: 1em;
  font-size: 14px;
}
#page_food main section.box_general .box .detail p.text small {
  font-size: 12px;
}
#page_food main section.box_general .box .detail p.text a {
  color: #000000;
}
#page_food main section.feature .movie {
  width: 100%;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  aspect-ratio: 16 / 9;
}
@media screen and (max-width: 599px) {
  #page_food main section.feature .movie {
    margin-top: 20px;
  }
}
#page_food main section.feature .movie iframe {
  width: 100%;
  height: 100%;
}
#page_food main img.logo01 {
  width: 96px;
}
@media screen and (max-width: 599px) {
  #page_food main img.logo01 {
    width: 48px;
  }
}
#page_food main img.logo02 {
  width: 130px;
}
#page_food main img.logo03 {
  width: 100px;
}
#page_food main img.logo04 {
  width: 100px;
}
#page_food main img.logo05 {
  width: 176px;
}
#page_food main img.logo06 {
  width: 155px;
}
@media screen and (max-width: 599px) {
  #page_food main img.logo06 {
    width: 100px;
  }
}
#page_food main img.sign01 {
  width: 140px;
}
#page_food main p.sdgs {
  width: 100%;
  max-width: 365px;
}
#page_food main p.sdgs.quantity_3 img {
  width: calc(3 / 4 * 100%);
  height: auto;
}

#page_food .box:first-of-type{
  width: 85%;
  max-width: 960px;
  padding-top: initial;
}

#page_food .menu_detail{
  padding: 3rem;
  border: 2px solid #a7a7a7;
  margin-bottom: 4rem;
}
@media screen and (max-width: 599px){
  #page_food .menu_detail{
  padding: 1rem;
  }
}
#page_food .menu_detail h4{
  text-align: center;
  font-size: 1.2rem!important;

}
#page_food .menu_detail h5{
  font-size: 1.1rem!important;
  border-bottom: 1px solid var(--gold);
  margin-top: 10px;

}
/* event
----------------------------------- */
@media screen and (max-width: 599px) {
  #page_event header .sub-navi ul li {
    width: 100%;
    height: 60px;
  }
}
#page_event header .sub-navi ul li a {
  justify-content: flex-start;
  text-align: left;
  background: #ffffff;
  border: solid 1px #231815;
  z-index: 2;
  position: relative;
}
@media screen and (max-width: 599px) {
  #page_event header .sub-navi ul li a {
    height: 60px;
  }
}

@media screen and (max-width: 768px) {
  #page_event header .sub-navi ul li a .image img {
    height: 70px;
  }
  .hotel{
    text-align: center;
  }
}
@media screen and (max-width: 599px) {
  #page_event header .sub-navi ul li a .image img {
    height: 60px;
  }
}
#page_event header .sub-navi ul li a .text {
  line-height: 1.2;
  padding: 1em;
}
#page_event header .sub-navi ul li a .text strong {
  font-weight: bold;
  font-size: 19px;
  color: var(--grey);
  display: block;
}
@media screen and (max-width: 599px) {
  #page_event header .sub-navi ul li a .text strong {
    font-size: 16px;
  }
}

.sub-navi ul .column2 a .image,
.sub-navi ul .column3 a .image{
    height: 100%;
    aspect-ratio: 1/1;
  }
  .sub-navi ul .column2 a .image img,
  .sub-navi ul .column3 a .image img{
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.sub-navi ul .column2 a .image_position img{
  object-position: left;
}

#page_event main section.place .inner {
  max-width: 832px;
}
#page_event .attention{
  margin-top: 80px;
}
.contest_page main section.place .inner {
  max-width: 832px;
  text-align: center;
}
.contest_page main .button {
  margin-top: 30px;
}
.on_bg{
  background: #fff!important;
  color: var(--grey)!important;
}
p.button .on_bg::after{
  color: var(--grey)!important;
}
.contest_page .attention2{
  margin-top: 80px;
  margin-bottom: 50px;
  font-size: smaller;
}
.contest_page .place2{
  background: var(--light_grey);
  padding: 80px 0;
}

@media screen and (max-width: 599px) {
  #page_event main section.place .inner:after {
    margin-bottom: 35px;
    padding-bottom: 35px;
  }
}
#page_event main section.place.no-border .inner:after {
  border-bottom: none;
  padding-bottom: 0;
}
#page_event main section.place h2 {
  font-size: 30px;
  color: var(--gold);
  font-weight: bold;
  line-height: 1.2;

  margin:1em 0;
}
@media screen and (max-width: 599px) {
  #page_event main section.place h2 {
    font-size: 18px;
  }
}
#page_event main section.place h2 small {
  font-size: 22px;
}
@media screen and (max-width: 599px) {
  #page_event main section.place h2 small {
    font-size: 14px;
  }
}
#page_event main section.place p.date {
  font-size: 24px;
  font-weight: 900;
  color: var(--gold);
  text-align: center;
  line-height: 1.2;
}
@media screen and (max-width: 599px) {
  #page_event main section.place p.date {
    font-size: 14px;
    margin-bottom: 3px;
  }
}
#page_event main section.place p.area {
  font-size: 19px;
  font-weight: bold;
  color: #66BCEA;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 30px;
}
@media screen and (max-width: 599px) {
  #page_event main section.place p.area {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 599px) {
  #page_event main section.place p.area {
    font-size: 14px;
  }
}
#page_event main section.place .detail p.text {
  font-size: 1rem;
  margin-bottom: 1em;
}
/* #page_event main section.place .detail p.text small {
  font-size: 12px;
} */
#page_event main section.place .detail h3 {
  font-size: 1.2rem;
  font-weight: bold;
}
#page_event main section.place .detail p.link a {
  font-size: 16px;
  font-weight: bold;
  color: #F4678B;
}
@media screen and (max-width: 599px) {
  #page_event main section.place .detail p.link a {
    font-size: 14px;
  }
}
#page_event main section.place .image {
  margin-bottom: 1em;
}
#page_event main section.place .image ul {
  display: flex;
  justify-content: center;
}
#page_event main section.place .image ul li {
  width: 100%;
  object-fit: cover;
  height: 35vw;
  min-height: 300px;
  max-height: 462px;
}
#page_event main section.place .image ul li img{
  object-fit: cover;
  height: 100%;
}

#page_event main .attention .inner {
  max-width: 832px;
}
#page_event main .attention p {
  font-size: 12px;
  margin-bottom: 50px;
}
#page_event .text strong{
  font-size: large;
}
#page_event .table_about{
  font-size: 15px;
}
#page_event .table_about td:first-of-type{
  word-break: keep-all;
  font-weight: bold;
  text-align: right;
}
.bold_large{
  font-weight: bold;
  font-size: larger;
  color: var(--gold);
}
.border_btn{
  border-bottom: solid 1px var(--grey);
}
@media screen and (max-width: 768px) {
  #page_event main section.place .image ul li {
    width: 100%;
  }
  #page_event .table_about .long_td{
    font-size: smaller;
    letter-spacing: -1px;
    text-align: center!important;
  }
  #page_event .table_about .long_td + td{
    vertical-align: bottom;
  }
}
#page_event a.insta{
  color: var(--gold);
}
/*------------------eventここまで----------------- */


/* contest
----------------------------------- */
.contest_detail{
  text-align: center;
}
.contest_detail h4{
  font-size: 1.1rem;
  font-weight: bold;
  color: var(--gold);
  margin-top: 16px;
}

/* -------------------contestここまで---------------- */

/* stay
----------------------------------- */
#page_stay main .group {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#page_stay main section.plan:nth-child(1){
margin-bottom:50px;
}
#page_stay .plan2{
background: var(--light_grey);
padding-top:50px;
}
@media screen and (max-width: 768px) {
  #page_stay main .group {
    margin-bottom: 0;
    border-bottom: none;
  }
  #page_stay header .sub-navi ul li a .image img {
    height: 70px;
  }
}
#page_stay main .group.no-border {
  border: none;
  margin-bottom: 0;
}
#page_stay main section.plan {
  width: calc(443 / 930 * 100%);
  margin-bottom: 126px;
  position: relative;
}

@media screen and (max-width: 768px) {
  #page_stay main section.plan:nth-child(1){
    margin-bottom:0;
    }
  #page_stay main section.plan {
    margin-bottom: 50px;
    width: 100%;
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 768px) {
  #page_stay main section.plan.no-border {
    border-bottom: none;
    margin-bottom: 0;
  }
}

#page_stay h2:not(.h1) {
  font-size: 16px;
  color: var(--gold);
  font-weight: bold;
  margin-bottom: 0.5em;
  line-height: 1.5;
}
#page_stay h3:not(.contact h3){
  font-weight: bold;
  /* font-family: serif; */
  color: var(--gold);
  text-align: center;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: -.8px;
  margin-bottom: 55px;
  margin-top: 10px;
}
@media screen and (max-width: 599px){
  #page_stay .large_txt{
    font-size: 18px;
  }
  #page_stay header .sub-navi ul li a .image img {
      height: 60px;
  }
  #page_stay body.lower header .sub-navi ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
#page_stay body.lower header .sub-navi ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  }
}
@media screen and (max-width: 599px) {
  #page_stay header .sub-navi ul li a {
    height: 60px;
  }
  #page_stay main section.plan .detail h2 {
    font-size: 14px;
  }
  #page_stay header .sub-navi ul li {
    width: 100%;
    height: 60px;
  }
}
#page_stay main section.plan .detail h2 small {
  font-size: 14px;
}
@media screen and (max-width: 599px) {
  #page_stay main section.plan .detail h2 small {
    font-size: 12px;
  }
}
#page_stay .sub-navi {
  margin-bottom: 160px;
}
#page_stay main section.plan .detail h3 {
  font-size: 16px;
  font-weight: bold;
  color: var(--grey);
  margin-bottom: 1em;
  line-height: 1.5;
}
@media screen and (max-width: 599px) {
  #page_stay main section.plan .detail h3 {
    font-size: 14px;
  }
}
#page_stay main section.plan .detail h3 small {
  font-size: 14px;
}
@media screen and (max-width: 599px) {
  #page_stay main section.plan .detail h3 small {
    font-size: 12px;
  }
}
#page_stay main section.plan .detail p.text {
  font-size: 14px;
  margin-bottom: 1em;
}
#page_stay main section.plan .detail p.text small {
  font-size: 12px;
}
.text2{
  font-size: 12px;
}
#page_stay main section.plan .detail p.info {
  font-size: 16px;
  margin-bottom: 1em;
  color: #F4678B;
  line-height: 1.5;
}
@media screen and (max-width: 599px) {
  #page_stay main section.plan .detail p.info {
    font-size: 14px;
  }
  .text2{
    font-size: 11px;
  }
}
#page_stay main section.plan .detail p.info small {
  font-weight: normal;
  font-size: 12px;
  display: inline-block;
}
#page_stay main section.plan .detail p.link a {
  font-size: 14px;
  color: #DE1600;
  font-weight: bold;
}
#page_stay main section.plan .image {
  margin-bottom: 1em;
}

@media screen and (max-width: 768px) {
  #page_stay main section.plan .link {
    position: relative;
    bottom: 0;
  }
}
#page_stay main section.plan .link.double {
  bottom: calc(-112px - 1em);
}

.price_table{
  font-size: 16px;
  border: 1px solid;
  margin: .3em auto 1em;
  width:100%;
  border: solid 2px #a7a7a7!important;
}
.price_table tr:first-of-type{
  border: solid 2px #a7a7a7!important;
  background: #fff;
}
.price_table tr td{
  padding: .6em;
  vertical-align: middle;
  border: 1px solid #a7a7a7;
}
.price_table tr td:first-of-type{
  text-align: left;
  border-right: solid 2px #a7a7a7!important;
  background: #fff;
}
.price_table tr:first-of-type td{
  text-align: center;
}
.price_table .num{
  color:var(--gold)!important;
  font-weight: bold;
  font-size: large;
  background: var(--light_grey)!important;
  text-align: center;
}
.h3title_time{
  color:#fff;
  font-size: clamp(16px,30vw,22px)!important;
  font-family: "Bodoni Moda", serif;
  text-align: left;
}

.h3title{
  color:var(--grey)!important;
  margin: 0.2em auto;
  font-size: clamp(2vw,30px,6vw)!important;
  font-family: "Bodoni Moda", serif;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.buffet.collaboration{
  background-image:initial;
  background: var(--bg)!important;
}
.buffet.collaboration li{
  color:var(--grey)!important;
}
.big_img.image,.yoyaku_img.image{
  height: 40vw;
  /* max-height: 462px; */
  position: relative;
  margin: auto;
  object-fit: cover;
  /* min-height: 300px; */
}
.big_img.image,.yoyaku_img.image{
    object-fit: cover;
    height: 100%;
}
#page_food main section.menu .image{
  width: 100%;
}
#page_food .inner .yoyaku::after{
  display: none;
}
@media screen and (max-width: 599px) {
  #page_stay main section.plan .link.double {
    bottom: 0;
  }
  .price_table,.price_table tr td{
    font-size: small!important;
  }
  .ceremony_list li,.photo_list,.workshop_list li{
    flex-direction: column!important;
    width:100%;
  }
  .box_txt,.ceremony_list li p,#page_top .photo_list li,.workshop_list li p{
    width:100%!important;
  }
  #page_top main section.collaboration2{
    background-color: #fff;
  }
  .spbtn{
    padding:0 20px;
  }
  p.button.spbtn a::after{
    right:36px;
  }
}
/* stay_detail
----------------------------------- */
/* #pagetop{display:none;position:fixed;right:20px;bottom:20px;height:0;z-index:99}#pagetop a{display:block;position:absolute;right:0;bottom:0;overflow:hidden;width:60px;height:60px;background:rgba(0,0,0,0.5);border-radius:3px;text-indent:-999px}#pagetop a::after{content:'';position:absolute;left:calc(50% - 15px);top:calc(50% - 15px);width:30px;height:30px;background:url(../images/icon_arrow.png) no-repeat center center;background-size:100% auto;transform:rotate(-90deg)} */

#snow {
  height: 100vh;
  overflow: hidden;
  position: relative;
}
canvas{
  position:absolute;
  height:100vh!important;
  top:0;
}

.white{
  color: #fff!important;
}