/* restaurant */

html, body {
    position: relative;
    height: 100%;
    background-color: #fff!important;
}

body {
    font-size: 13px;
}

#header.header {
  position: absolute;
  height: 0;
}

.home_menuttl {
  min-width: 41px;
}

.navi_pc_inner {
  text-orientation: upright
}

.navi-pc-width {
  height: 100%;
}

.navi_pc_inner.index {
  margin: 20px 120px 0;
  height: 100%;
  width: 100%;
}

.navi_pc_inner .ulborder {
  border-left: none;
  position: relative;
}

.navi_pc_inner ul {
  padding: 0 20px;
  height: 65%;
  position: relative;
}

.navi_pc_inner ul li {
  margin-top: 9em;
}

.navi_pc_inner ul .nav-category {
  position: absolute;
  font-size: 15px;
  border: 1px solid;
  padding: 0.7em 0.6em;
  right: 15px;
}

.navi_pc_inner ul .nav-category::before {
    display: inline-block;
    margin-bottom: 0.3em;
    width: 1em;
    height: 1em;
    background: url(../img/suimeiso/index/sui_i_menu.png) no-repeat top left;
    background-size: 100% auto;
    content: '';
}

.navi_pc_information {
  bottom: 20px;
  width: 100%;
}

.navi_pc_information p.navi_pc_tel {
  padding-bottom: 6px;
  width: 202px;
  border-bottom: 1px solid #000;
  white-space: nowrap;
}

.navi_pc_fax {
  border: none;
  margin-bottom: 10px;
}

.navi_pc_information > div {
  display: flex;
  margin-left: 20px;
}

.navi_pc_information > div > * {
  width: 220px;
}

.navi_pc_information > div > *:not(:first-child) {
  margin-left: 20px;
}

.navi_pc_information p {
}

.navi_pc_information a.nav-btn {
  display: block;
  padding: 0.5em 0;
  color: #000;
  font-size: 15px;
  text-align: center;
  border: 1px solid #000;
  width: 200px;
}

.navi_pc_information a.nav-btn:hover {
    color: #fff;
    background: #000;
}

.navi_pc_inner ul.navi_snslist_pc {
  height: auto;
}

.navi_pc_inner .navi_snslist_pc li {
  margin-top: 0;
}


@media only screen and (max-width: 768px) {
  .navi_sp_inner .ulborder {
    border-bottom: none;
  }
  .navi_sp_inner ul .nav-category {
    font-size: 18px;
    margin-bottom: 10px;
  }

  .navi_sp_inner li {
    margin-left: 1em;
  }
}

.navToggle_close.index {
  top: 20px;
  right: -60px;
}


/* footer */;

.pc-footer {
  font-size: .8em!important;
}

.footer-default .list-main {
  font-size: inherit;
}

/*  */

section p {
  line-height: 2;
}

.reservation p {
  line-height: 1.5;
}

a {
  color: inherit;
}

a:hover {
  color: inherit; 
}

a.link-hvrbtn {
  padding: 1em;
}

@media only screen and (max-width: 768px) {
  a.link-hvrbtn {
    margin: 1rem auto;
  }
}


a.link-hvrbtn:hover {
  color: #fff!important;
}

.swiper-container {
  width: 100vw;
  height: 90vh;
}

.swiper-slide-top {
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    min-width: 100vw;
    min-height: 100vh;
}

@media only screen and (max-width: 768px) {
  .swiper-container {
    height: 75vh;
  }

  .margin-header {
    margin-top: 10vh;
  }
  
  .sui-charm-first h2, .sui-top-sec02 h2 {
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    text-orientation: upright;
    text-align: left;
  }

  .sui-charm-first {
    top: 23%;
    width: 0;
  }
}

.restaurant .swiper-pagination.facility-hover-pagenation {
    bottom: 5%;
}

@media only screen and (max-width: 768px) {
  .swiper-slide-top {
    top: 0;
    left: 0;
    transform: none;
    min-width: 100vw;
    min-height: 50vh;
  }

  .restaurant .swiper-pagination.facility-hover-pagenation {
    bottom: 0;
  }

  .restaurant-event-wrap {
    width: 80%;
  }
}

.restaurant-title h2 {
  font-size: 3em;
  color: #000;
}

.restaurant-title h2 span {
  margin-top: 20px;
}

@media only screen and (max-width: 768px) {
  .restaurant-title {
    width: 80%;
    margin: 0 auto;
  }

  .restaurant-title h2 {
    font-size: 2em;
  }

  .restaurant-title h2 span {
    font-size: .5em;
    margin-top: 10px;
  }
}

.restaurant-event-wrap {
  text-align: center;
  width: 100%;
}

.restaurant-event-wrap h2 {
  color: #000;
}

.restaurant-event-wrap ul {
  margin: 0;
  padding: 0;
  display: inline-block;
}

.restaurant-event-wrap ul li {
  text-align: left;
  margin-top: 10px;
}

.restaurant-event-wrap ul li a {
  color: #333;
}

.restaurant-event-wrap ul li span {
  padding: 0 10px;
}

@media only screen and (max-width: 768px) {
  .topics .logdate {
    display: block;
  }

  .topics ul {
    display: block;
    width: 85%;
    margin: 0 auto;
  }

  .topics ul li:not(:first-child) {
    margin-top: 20px;
  }
}

.section-border {
  width: 20px;
  border-bottom: solid 2px;
  margin: 20px auto;
  color: #941212;
  display: block;
}

.restaurant section.category {
  position: relative;
  display: block;
  width: 100%;
  height: 80%;
  min-height: 580px;

  transition: opacity .3s;
}

.restaurant section.category:hover {
  opacity: .7;
}

.restaurant section.category:active {
  opacity: 1;
}

.top-facility {
  cursor: pointer;
  position: absolute;
}

.restaurant .category.category-left .category-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
    position: absolute;
    top: 0;
    left:  0px;
    min-width:  100px;
    min-height: 550px;
    background: #fff;
    z-index: 3;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    text-orientation: upright;
    text-align: center;
}

.restaurant .category.category-left .category-comment {
    overflow: hidden;
    position: absolute;
    bottom: 50px;
    right: 0;
    min-width:  300px;
    padding: 10px 120px;
    background: rgba(0, 0, 0, 0.5);
    z-index: 2;
}

.restaurant .category.category-right .category-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
    position: absolute;
    top: 0;
    right:  0px;
    min-width:  100px;
    min-height: 80%;
    background: #fff;
    z-index: 2;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    text-orientation: upright;
    text-align: center;
}

.restaurant .category.category-right .category-comment {
    overflow: hidden;
    position: absolute;
    bottom: 50px;
    left: 0;
    min-width:  300px;
    padding: 10px 120px;
    background: rgba(0, 0, 0, 0.5);
    z-index: 2;
}

.restaurant .category .category-comment p {
  color: #fff;
  font-size:  1.5em;
  margin: 0;
}

.restaurant .category .category-title {
  padding: 20px 0;
}

.restaurant .category .category-title h2 {
  color: #333;
  display: inline;
  height:  100%;
  font-size: 24px;
}

.restaurant .category .category-title h2 p {
  font-size:  3em;
  margin-bottom: 20px;
  display: inline;
}

.restaurant .category .category-title h2 span {
  font-size:  .7em;
}

@media screen and (max-width: 800px) {
  .restaurant section.category {
    height: 35%;
    min-height: 0;
  }
  .restaurant .category .category-title h2 {
    text-align: left;
    margin: 0;
    padding: 0;
  }
  .restaurant .category .category-title h2 p {
    font-size:  1em;
    margin: 0;
  }

  .restaurant .category .category-title h2 span {
    font-size: 10px;
    margin-top: 10px;
  }
  .top-facility {
    height: 100%;
  }
  .restaurant .category.category-left .category-title,
  .restaurant .category.category-right .category-title {
    width: 60px;
    height: 100%;
    min-height: 0;
    min-width: 0;
    margin: 0;
    padding: 5px 0 0;
  }

  .restaurant .category.category-left .category-comment,
  .restaurant .category.category-right .category-comment {
    bottom: 0;
    width: calc(100% - 60px)!important;
    padding: 10px;
    text-align: center;
  }

  .restaurant .category.category-left .category-comment {
    margin-left: 60px;
  }

  .restaurant .category.category-right .category-comment {
    margin-right: 60px;
  }

  .restaurant .category .category-comment p {
    font-size: .8em;
  }

  .restaurant .category.category-left .category-bg {
    width: calc(100% - 60px)!important;
    margin-left: 60px;
  }

  .restaurant .category.category-right .category-bg {
    width: calc(100% - 60px)!important;
    margin-right: 60px;
  }
}


.category__menu-wrapper {
  display: none;
}

.category__menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.category__item-img {
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  color: white;
  position: relative;
  height: 180px;
  min-height: 0;
}

.category__item-img .overlay {
  position: absolute;
  height: 100%;
  width:  100%;
  background-color: #000;
  opacity: 0.3;
  z-index: 1;
}

.category__item-img p {
  font-size: 1em;
  z-index: 2;
  opacity:  1;
  line-height: 3em;
  pointer-events: none;
  margin: 0;
}

@media screen and (min-width: 800px) {
  .category__item-img {
    min-height: 350px;
    height: 0;
  }

  .category__item-title {
    font-size: 1rem;
    margin: 10px 0 1em;
  }

}
@media screen and (min-width: 800px) {
  .category__item-img p {
    font-size:  1.5em;
    line-height: 4em;
  }
}

.category__item-title {
  font-size: 10px;
  text-align: center;
}

@media screen and (min-width: 576px) {
  .category__item-title {
    font-size: 1rem;
  }

  .category__item-img p,
  .category__item-img .overlay {
    opacity: 0;
    transition: opacity .3s;
  }

  .category__item-img .overlay:hover {
    opacity:  .3;
  }

  .category__item-img p:hover ~ .overlay  {
    opacity:  .5;
  }

  .category__item-img .overlay:hover + p {
    opacity:  1;
  }
}

@media screen and (min-width: 1080px) {
  .category__item-title {
    font-size: 1.2vw;
  }
}


.restaurant .category .category-bg_1 {
    background: url(/assets/img/facility/index/facility_1.jpg) no-repeat center/cover;
    width: 100%;
    height: 100%;
    background-position: 90%;
}

.restaurant .category .category-bg_2 {
    background: url(/assets/img/facility/index/facility_2.jpg) no-repeat center/cover;
    width: 100%;
    height: 100%;
}

.restaurant .category .category-bg_3 {
    background: url(/assets/img/facility/index/facility_3.jpg) no-repeat center/cover;
    width: 100%;
    height: 100%;
}

.restaurant .category .category-bg_4 {
    background: url(/assets/img/facility/index/facility_4.jpg) no-repeat center/cover;
    width: 100%;
    height: 100%;
}

.restaurant .category .category-bg_5 {
    background: url(/assets/img/facility/index/facility_5.jpg) no-repeat center/cover;
    width: 100%;
    height: 100%;
}

.restaurant .category .category-bg_6 {
    background: url(/assets/img/facility/index/facility_6.jpg) no-repeat center/cover;
    width: 100%;
    height: 100%;
}

.restaurant .category__item-img.category__item-img__bg-1 {
  background: url(/assets/img/facility/index/facility_3-6-sp.png) no-repeat center/cover;
}

.restaurant .category__item-img.category__item-img__bg-2 {
  background: url(/assets/img/facility/index/facility_3-7-sp.png) no-repeat center/cover;
}

.restaurant .category__item-img.category__item-img__bg-3 {
  background: url(/assets/img/facility/index/hermeparis_cafe.jpg) no-repeat center/cover;
}

.restaurant .category__item-img.category__item-img__bg-4 {
  background: url(/assets/img/facility/index/20230620_saunaSP1126_466_.jpg) no-repeat center/cover;
}

.restaurant .category__item-img.category__item-img__bg-5 {
  background: url(/assets/img/facility/index/20231007iro_shakyo_563_233.jpg) no-repeat center/cover;
}

@media screen and (min-width: 576px) {
  .restaurant .category__item-img.category__item-img__bg-1 {
    background: url(/assets/img/facility/index/facility_3-6.png) no-repeat center/cover;
  }

  .restaurant .category__item-img.category__item-img__bg-2 {
    background: url(/assets/img/facility/index/facility_3-7.png) no-repeat center/cover;
  }

  .restaurant .category__item-img.category__item-img__bg-3 {
    background: url(/assets/img/facility/index/hermeparis_cafe.jpg) no-repeat center/cover;
  }

  .restaurant .category__item-img.category__item-img__bg-4 {
    background: url(/assets/img/facility/index/20230620_sauna_3820_700_.jpg) no-repeat center/cover;
  }

  .restaurant .category__item-img.category__item-img__bg-5 {
    background: url(/assets/img/facility/index/20231011iro_shakyo_1920_350.jpg) no-repeat center/cover;
  }
}

.restaurant .category__item-img.category__item-img__popupstore {
  background: url(/assets/img/facility/index/20250722_touchingnk2025_bnr.jpg) no-repeat center/cover;
  aspect-ratio: 3/2;
}

.restaurant .category__item-img.category__item-img__museum {
  background: url(/assets/img/facility/index/20250226_chiharu_nijinohagoromo.jpg) no-repeat center/cover;
  aspect-ratio: 3/2;
  border: #000 0.6em solid;
}

.swiper-slide-top.restaurant-slide-img_1 {
  background: url(/assets/img/facility/index/main_01.png) no-repeat center/cover;
}
.swiper-slide-top.restaurant-slide-img_2 {
  background: url(/assets/img/facility/index/main_02.png) no-repeat center/cover;
}
.swiper-slide-top.restaurant-slide-img_3 {
  background: url(/assets/img/facility/index/main_03.png) no-repeat center/cover;
}
.swiper-slide-top.restaurant-slide-img_4 {
  background: url(/assets/img/facility/index/main_04.png) no-repeat center/cover;
}
.swiper-slide-top.restaurant-slide-img_5 {
  background: url(/assets/img/facility/index/main_05.png) no-repeat center/cover;
}

/* show */

.m-top {
  margin-top: 5rem;
}

@media screen and (min-width: 576px) {
  .m-top {
    margin-top: 4.5rem;
  }
}

.m-top-ps {
  margin-top: 4rem;
}

@media screen and (min-width: 576px) {
  .m-top-ps {
    margin-top: 8rem;
  }
}

.p-top {
  padding-top: 3.8rem;
}

@media screen and (min-width: 576px) {
  .p-top {
    padding-top: 4.5rem;
  }
}


.u-hero {
  position: relative;
  display: flex;
  width: 100vw;
  height: 80vh;
  flex-direction: column;
}

.u-hero__title {
  text-align: center;
}

.u-hero__title h1 {
  font-size: 2em;
  line-height: 100%;
}

.u-hero__title h1 span {
  font-size: 13px;
  display: block;
  line-height: 4rem;
}

.u-hero__title ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
}

.u-hero__title ul li img {
  height: 30px;
  width: auto;
}

.u-hero__title ul li:not(:first-child) {
  margin-top: 15px;
}

.u-hero__img {
  object-fit: cover;
  width: 100%;
  height: 70vh;
}

.u-hero__img_pc {
  object-fit: contain;
  width: 100%;
  height: 70vh;
}

.u-hero__title .sns {
}

@media screen and (min-width: 576px) {
  .u-hero {
    flex-direction: row;
    min-height: 600px;
  }

  /*
  .u-hero {
    margin-top: 10vh;
    flex-direction: row;
    height: fit-content;
  }
  */

  .u-hero__img {
    width: 80%;
    height: 100%;
  }

  .u-hero__title {
    width:  20%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
  }

  /*
  .u-hero__title {
    width:  20%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
  }
  */

  .u-hero__title h1 {
    font-size: 1.8em;
    line-height: 100%;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    text-orientation: upright;
    height: 1000px;
  }

  /*
  .u-hero__title h1 {
    font-size: 1.8em;
    line-height: 100%;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    text-orientation: upright;
    margin: auto;
  }
  */

  .u-hero__title h1 p {
    margin: 0;
    padding: 0;
    line-height: 1.5;
  }

  /*
  .u-hero__title h1 p {
    font-size: 30px;
    margin: 0;
    padding: 0;
    line-height: 1.5;
  }
  */

  .u-hero__title h1 span {
    font-size: 13px;
    display: inline;
    margin-top: 0;
  }

  /*
  .u-hero__title h1 span {
    font-size: 10px;
    display: inline;
    line-height: 2rem;
    margin-top: 0;
  }
  */
}

/*
@media screen and (min-width: 768px) {
  .u-hero {
    margin-top: 0;
  }

  .u-hero__title h1 p {
    font-size: 50px;
    margin: 0;
    padding: 0;
    line-height: 1.5;
  }

  .u-hero__title h1 span {
    font-size: 13px;
    display: inline;
    margin-top: 0;
    line-height: 4rem;
  }
}
*/

.restaurant__desc {
  width:  90%;
  margin-left: auto;
  margin-right: auto;
}

.restaurant__desc .restaurant__desc-contents {
  width: 95%;
  margin: 0 auto;
  text-align: center;
}

.restaurant__desc-contents ul {
  display: flex;
  justify-content: center;
  margin-top: 20px;
  align-items: center;
}
.restaurant__desc-contents ul li {
    margin: 0 5px;
    text-align: center;
}

.restaurant__desc-contents ul li img {
  width: 70%;
}

.restaurant__desc-contents p {
    font-size: 13px;
}

@media screen and (max-width: 576px) {
  .restaurant__desc-contents p {
    text-align: left!important;
    font-size: 13px;
  }
}

@media screen and (min-width: 576px) {
  .restaurant__desc-contents p {
    max-width: 600px;
    margin: 0 auto 1rem;
  }
}

.swiper-container.swiper-sub-images {
  width: 100vw;
  min-height: 167px;
  height: 20vh;
}

@media screen and (min-width: 576px) {
  .swiper-container.swiper-sub-images {
    min-height: 384px;
    height: 30vh;
  }
}

.swiper-container.swiper-sub-images .swiper-wrapper .swiper-slide-show {
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translate(-25%,0);
}

.swiper-container.swiper-sub-images .swiper-wrapper .swiper-slide-show img {
  width: calc(100vw / 1.5)!important;
  height: 100%;
  object-fit: cover;
}

.restaurant__business_date {
  display: block;
  margin-top: 40px;
}

.restaurant__business_date .section-border {
  color: #fff;
}

.restaurant__business_date .restaurant__business_date-image {
  position: relative;
  display: block;
  width: 100%;
  height: 50%;
  min-height: 500px;
  padding:  50px 0;
  color: #fff;

  background-repeat: no-repeat;
  background-size: cover;
}

.restaurant__business_date .restaurant__business_date-image .overlay {
  position: absolute;
  height: 100%;
  width:  100%;
  top: 0;
  bottom: 0;
  background-color: #000;
  opacity: .5;
}

.restaurant__business_date .restaurant__business_date-title {
  text-align: center;
  font-size: 30px;
  padding: 40px 0;
  position: relative;
}

.restaurant__business_date .restaurant__business_date-title::after {
  content: '';
  position: absolute;
  border: solid 1px #fff;
  width: 20px;
  display: block;
  left: calc(50% - 10px);
  margin-top: 10px;
}

.restaurant__business_date__inner {
  display: flex;
  justify-content: center;
  position: relative;
  flex-direction: column;
  align-items: center;
}

.restaurant__business_date__inner .restaurant__business_date__inner-desc {
  display: flex;
  flex-direction: column;
  margin: 0 20px 0;
}
.restaurant__business_date__inner .restaurant__business_date__inner-calendar {
  margin-top: 50px;
  min-width: 400px;
}

.restaurant__business_date__inner .restaurant__business_date__inner-calendar-remarks {
  text-align: right;
  margin-top: 10px;
  display: inline;
  float: right;
  padding: 5px 10px;
}

.restaurant__business_date__inner .restaurant__business_date__inner-calendar-remarks>p {
  display: inline;
  margin-right: 10px;
}

.restaurant__business_date__inner .restaurant__business_date__inner-calendar-remarks p span {
  width: 1em;
  display: inline-block;
  height: 1em;
  background-color: white;
  line-height: 1em;
  margin-right: 5px;
}

.restaurant__business_date__inner .restaurant__business_date__inner-calendar-remarks p span.businss {
  background-color: #fff;
}

.restaurant__business_date__inner .restaurant__business_date__inner-calendar-remarks p span.holiday {
  background-color: #6c6c6c;
}

.restaurant__introduce {
  display: block;
  margin-top: 80px;
}

.restaurant__introduce h2 {
  text-align: center;
  font-size: 30px;
}

.restaurant__introduce-sparator {
  height: 0;
  margin: 40px auto;
  background-color: #6c6c6c;
  width: 100%;
}

.restaurant__introduce .restaurant__introduce-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  margin: 20px 20px 0;
}

.restaurant__introduce .restaurant__introduce-image {
  flex: 0 1 30%;
}

.restaurant__introduce .restaurant__introduce-image img {
  object-fit: cover;
  width: 100%;
  height: auto;
}

.restaurant__introduce .restaurant__introduce-text {
  flex: 0 1 30%;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  margin-top: 40px;
}

.restaurant__introduce .restaurant__introduce-title {
  font-size:  1.8em;
  margin: 0;
}

.restaurant__introduce .restaurant__introduce-desc {
  margin-top:  20px;
}

.restaurant__introduce .restaurant__introduce-sns {
  display: flex;
  flex-direction: row;
  align-items: center;
}


@media screen and (max-width: 576px) {
  .restaurant__introduce .restaurant__introduce-sns {
    margin: 1.2rem auto;
  }
}

.restaurant__introduce .restaurant__introduce-sns li img {
  height: 30px;
  width: auto;
}

.restaurant__introduce .restaurant__introduce-sns li:not(:first-child) {
  margin-left: 15px;
}

.wpsbc-legend {
  display: none!important;
}

.wpsbc-calendars-wrapper.wpsbc-legend-position-side {
  height: 320px;
  margin: 0!important;
  padding: 0!important;
}

.wpsbc-container h2 {
  display: none!important;
}

.wpsbc-calendar-wrapper {
  color: #2f2f2f;
}

/*WP Calendar */

.wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-2 div:first-of-type {
  background-color: gray !important;
  color: white !important;
}

.wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-1 div:first-of-type {
  background-color: white !important;
  border: 0.5px solid !important;
}

.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-select-container select {
  border: none !important;
  font-size: 16px !important;
  text-align: center!important;
}

.restaurant__desc-contents .link-hvrbtn {
  width: 100%;
  display: inline-block;
}

.restaurant__desc-contents a.link-hvrbtn:first-child {
  margin-top: 2.5rem;
}

@media screen and (max-width: 576px) {
  .restaurant__business_date__inner .restaurant__business_date__inner-calendar {
      min-width: 330px;
  }
}


@media screen and (max-width: 576px) {
  .restaurant__introduce .restaurant__introduce-title {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }

  .restaurant__introduce .restaurant__introduce-title p {
    margin: 0;
    font-size: .8rem;
  }
}

@media screen and (min-width: 768px) {
  .restaurant__sub_images {
    margin-top: 80px;
  }
  .swiper-container.swiper-sub-images .swiper-wrapper .swiper-slide-show img {
    width: calc(100vw / 2.5)!important;
  }
  .swiper-container.swiper-sub-images .swiper-wrapper .swiper-slide-show {
    transform: translate(-50%,0);
  }

  .restaurant__desc {
    width:  80%;
    margin: 80px auto 0;
  }

  .restaurant__desc-contents .link-hvrbtn {
    width: 39%;
    padding: 1em;
    margin-left: 10%;
    margin-right: 10%;
  }

  .sec02 .link-hvrbtn {
    width: 30%;
    margin: 4.5rem auto;
  }

  .restaurant__business_date__inner {
    flex-direction: row;
    margin-right: 30px;
  }

  .restaurant__business_date__inner .restaurant__business_date__inner-desc {
    margin-right: 20px;
    justify-content: center;
    max-width: 30%;
  }

  .restaurant__business_date__inner .restaurant__business_date__inner-calendar {
    margin-top: 0;
  }

  .restaurant__introduce .restaurant__introduce-wrapper {
    margin-top:  80px;
    flex-direction: row;
    height:  50%;
    min-height:  400px;
  }

  .restaurant__introduce div.restaurant__introduce-wrapper:nth-child(4n) {
    flex-direction: row-reverse;  
  }

  .restaurant__business_date {
    margin-top:  80px;
  }

  .restaurant__introduce .restaurant__introduce-text {
    margin-top: 0;
  }

  .restaurant__introduce .restaurant__introduce-desc {
    margin-top:  30px;
  }

  .restaurant__introduce-sparator {
    margin: 80px auto;
    width: 85%;
  }

}

@media screen and (max-width: 576px) {
  .pc {
    display: none!important;
  }
}

@media screen and (min-width: 576px) {
  .sp {
    display: none!important;
  }
}

/* calendar */

.fc .fc-scrollgrid {
  background-color: white;
  color: #2f2f2f;
}

.fc .fc-button-primary {
  color: #2f2f2f;
  background-color: #f2f2f2;
  border: none;
  width: 100%;
}

.fc .fc-bg-event {
  opacity: 1;
}

.fc-daygrid-day-bg .fc-daygrid-bg-harness:nth-child(n+2) {
  display: none;
}


.fc-event .fc-title {
  color: #fff;
}

.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-frame::after {
  content: '●';
  width: 10px;
  height: 10px;
  color: #6495ed;
  position: absolute;
  top: 65%;
  left: calc(50% + 2px);
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  z-index: 2;
  text-align: center;
  font-size: 1.2rem;
}

.fc .fc-daygrid-day.fc-day-today {
  background-color: inherit;
}

.gotolink {
  width: 60%;
  margin: 0 auto;
  transition: .3s;
}

@media only screen and (max-width: 768px) {
  .gotolink {
    width: 100%;
  }
}


.mouseon {
  opacity: 1
}

.mouseon:hover {
  opacity: .8;
}