@charset "utf-8";

/*---------------------------------------*/
/*      プラン > グランドメニュー CSS      */
/*---------------------------------------*/

#content {
  padding: 0 !important;
}

.plan-menu-article * {
  color: #434343;
  font-family: "Zen Antique", serif !important;
  font-weight: 400;
  font-style: normal;
}

.plan-menu-section-inner {
  margin: auto;
  max-width: 95%;
  padding: 100px 0 120px;
  width: 1140px;
}

.plan-menu-section-header {
  margin-bottom: 85px;
  text-align: center;
}

.plan-menu-section-title-en {
  font-size: 35px;
  line-height: 1.25;
  margin-bottom: 20px;
}

.plan-menu-section-title {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 2.5em;
  font-size: 17px;
  margin: 0 auto 20px;
  max-width: 100%;
  width: 480px;
}

.plan-menu-section-title::before,
.plan-menu-section-title::after {
  content: "";
  border-bottom: 1px solid #434343;
  flex: 1;
  height: 1px;
  width: 100%;
}

.plan-menu-section-lead {
  font-size: 16px;
  margin-bottom: 0;
}

#plan-menu-intro {
  background:
  url(../img/plan/menu/bg_intro_pc.webp) no-repeat bottom center / cover,
  url(../img/plan/menu/bg_intro_top_pc.webp) no-repeat top center / 100% auto;
}

.plan-menu-intro-header {
  padding: 10px 0 30px;
}

.plan-menu-intro-title {
  font-size: 25px;
  line-height: 1.7;
  text-align: center;
}

.plan-menu-intro-subsection {
  clear: both;
  margin-top: 85px;
  position: relative;
}

.plan-menu-intro-subsection::after {
  content: "";
  clear: both;
  display: block;
}

.plan-menu-intro-subsection-figure {
  max-width: 56%;
  z-index: 0;
}

.plan-menu-intro-subsection-figure img {
  filter: drop-shadow(4px 4px 8px rgba(0,0,0,.3));
}

#plan-menu-intro .plan-menu-intro-subsection:nth-of-type(odd) .plan-menu-intro-subsection-figure {
  float: right;
}

#plan-menu-intro .plan-menu-intro-subsection:nth-of-type(even) .plan-menu-intro-subsection-figure {
  float: left;
}

.plan-menu-intro-subsection-content {
  padding-top: 35px;
  position: absolute;
  top: 0;
  width: min(40vw,554px);
  z-index: 2;
}

#plan-menu-intro .plan-menu-intro-subsection:nth-of-type(odd) .plan-menu-intro-subsection-content {
  left: 0;
}

#plan-menu-intro .plan-menu-intro-subsection:nth-of-type(even) .plan-menu-intro-subsection-content {
  right: 0;
}

.plan-menu-intro-subsection-header {
  border-bottom: 1px solid #452C2D;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 1em;
  padding-bottom: 2px;
}

.plan-menu-intro-subsection-subtitle {
  font-size: 18px;
  margin-bottom: 0;
  width: 100%;
}

.plan-menu-intro-subsection-title {
  font-size: 30px;
  margin-bottom: 0;
}

.plan-menu-intro-subsection-title-en {
  color: #90713B;
  font-size: 19px;
  margin-bottom: 0;
}

.plan-menu-intro-subsection-text {
  font-size: 17px;
  line-height: 2.35;
}

.plan-menu-intro-subsection-deco {
  position: absolute;
  z-index: 1;
}

.plan-menu-intro-subsection-deco.deco1 {
  top: 58%;
  left: -75px;
}

.plan-menu-intro-subsection-deco.deco2 {
  bottom: -22%;
  right: -90px;
}

.plan-menu-intro-subsection-deco.deco3 {
  bottom: -16%;
  left: 5px;
}

.plan-menu-interlude img {
  height: auto;
  width: 100%;
}

#plan-menu-grandmenu {
  background: url(../img/plan/menu/bg_grandmenu_pc.webp) no-repeat top center / cover;
}

#plan-menu-grandmenu .plan-menu-section-title-en {
  color: #fff;
}

#plan-menu-grandmenu .plan-menu-section-title {
  color: #fff;
}

#plan-menu-grandmenu .plan-menu-section-title::before,
#plan-menu-grandmenu .plan-menu-section-title::after {
  border-bottom-color: #fff;
}

#plan-menu-grandmenu .plan-menu-section-lead {
  color: #fff;
}

.plan-menu-grandmenu-container {
  display: flex;
  justify-content: space-between;
}

.plan-menu-grandmenu-box {
  max-width: 32%;
  text-align: center;
  width: 340px;
}

.plan-menu-grandmenu-box-figure {
  margin-bottom: 30px;
}

.plan-menu-grandmenu-box-figure img {
  height: auto;
  width: 100%;
}

.plan-menu-grandmenu-box-name {
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: .75em;
  justify-content: center;
  margin-bottom: 20px;
}

.plan-menu-grandmenu-box-name .floor {
  border: 1px solid #fff;
  color: #fff;
  font-size: 13px;
  min-width: 55px;
}

.plan-menu-grandmenu-box-name .shopname {
  color: #fff;
  font-size: 17px;
}

.plan-menu-grandmenu-box-menu {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  color: #fff;
  font-size: 14px;
  margin-bottom: 0;
  padding: 2px 0;
}

.plan-menu-grandmenu-box-btnarea {
  margin-top: 30px;
}

.btn-grandmenu {
  background-color: #90713b;
  color: #fff;
  display: block;
  font-size: 12px;
  padding: 18px;
  transition: .2s;
}

.btn-grandmenu:hover {
  background-color: #B08A49;
}

#plan-menu-rooms {
  background: url(../img/plan/menu/bg_rooms_pc.webp) no-repeat top center / cover;
}

.plan-menu-rooms-container {
  display: flex;
  align-items: flex-end;
  column-gap: 1.5%;
  justify-content: space-between;
  margin-top: 120px;
  position: relative;
}

#plan-menu-rooms-hall {
  margin-top: 180px;
}

.plan-menu-rooms-image-l {
  max-width: 64%;
  position: relative;
  width: 728px;
}

.plan-menu-rooms-image-s {
  display: flex;
  flex-wrap: wrap;
  row-gap: 20px;
  max-width: 34.5%;
  width: 378px;
}

#plan-menu-rooms-hall .plan-menu-rooms-image-s {
  justify-content: flex-end;
}

.plan-menu-rooms-name {
  background-color: #840E0E;
  box-shadow: -4px 6px 0 #90713b;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 128px;
  font-size: 20px;
  letter-spacing: .2em;
  position: absolute;
  top: -35px;
  width: 86px;
  writing-mode: vertical-rl;
  z-index: 1;
}

#plan-menu-rooms-private .plan-menu-rooms-name {
  right: -35px;
}

#plan-menu-rooms-hall .plan-menu-rooms-name {
  left: -35px;
}

.plan-menu-rooms-image-l-caption {
  font-size: 16px;
  margin-top: 30px;
  padding: 0 0 18px 18px;
}

#plan-menu-rooms-hall .plan-menu-rooms-image-l-caption {
  padding-bottom: 80px;
}

.plan-menu-rooms-private-deco {
  aspect-ratio: 1 / 1;
  position: absolute;
  z-index: 1;
}

.plan-menu-rooms-private-deco.square1 {
  background-color: #90713b;
  bottom: 39%;
  right: -16px;
  width: 29px;
}

.plan-menu-rooms-private-deco.square2 {
  background-color: #D1AF75;
  bottom: 34.5%;
  right: -22px;
  width: 19px;
}

.plan-menu-rooms-private-deco.square3 {
  background-color: #90713b;
  top: 57.5%;
  left: -12px;
  width: 33px;
}

.plan-menu-rooms-private-deco.square4 {
  background-color: #D1AF75;
  bottom: -32px;
  left: 31%;
  width: 38px;
}

.plan-menu-rooms-private-deco.square5 {
  background-color: #90713b;
  bottom: -55px;
  left: 34.5%;
  width: 13px;
}

#plan-menu-service {
  background: url(../img/plan/menu/bg_service_pc.webp) no-repeat top center / cover;
}

#plan-menu-service .plan-menu-section-inner {
  width: 1245px;
}

.plan-menu-service-container {
  display: flex;
  justify-content: space-between;
}

.plan-menu-service-box {
  max-width: 32%;
  width: 384px;
}

.plan-menu-service-box-figure {
  margin-bottom: 25px;
}

.plan-menu-service-box-figure img {
  height: auto;
  width: 100%;
}

.plan-menu-service-box-title {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  line-height: 1.5;
  margin-bottom: 25px;
  min-height: 3em;
  text-align: center;
}

.plan-menu-service-box-text {
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0;
  margin-bottom: 0;
}


/* Tablet Style */
@media screen and (min-width: 768px) and (max-width: 1080px) {
  .plan-menu-intro-subsection-text {
    font-size: 15px;
    line-height: 2;
  }
  .plan-menu-service-box-title {
    font-size: 15.5px;
  }
  .plan-menu-service-box-text {
    font-size: 14px;
  }
}


/* SmartPhone Style */
@media screen and (max-width: 767px) {
  .plan-menu-section-inner {
    max-width: inherit;
    padding: 50px 10% 60px;
    width: 100%;
  }
  .plan-menu-section-header {
    margin-bottom: 35px;
  }
  .plan-menu-section-title-en {
    font-size: 25px;
    margin-bottom: 10px;
  }
  .plan-menu-section-title {
    column-gap: 1em;
    font-size: 15px;
    margin-bottom: 10px;
  }
  #plan-menu-intro {
    background:
    url(../img/plan/menu/bg_intro_sp.webp) no-repeat bottom center / cover,
    url(../img/plan/menu/bg_intro_top_sp.webp) no-repeat top center / 100% auto;
  }
  .plan-menu-intro-header {
  padding: 10px 0 0;
  }
  .plan-menu-intro-title {
    font-size: 16px;
  }
  .plan-menu-intro-subsection {
    margin-top: 75px;
  }
  .plan-menu-intro-subsection-figure {
    margin-bottom: 25px;
    max-width: inherit;
    padding-top: 85px;
    text-align: center;
  }
  .plan-menu-intro-subsection-figure img {
    height: auto;
    width: 100%;
  }
  #plan-menu-intro .plan-menu-intro-subsection:nth-of-type(odd) .plan-menu-intro-subsection-figure {
    float: none;
  }
  #plan-menu-intro .plan-menu-intro-subsection:nth-of-type(even) .plan-menu-intro-subsection-figure {
    float: none;
  }
  .plan-menu-intro-subsection-content {
    padding-top: 0;
    position: static;
    width: 100%;
  }
  .plan-menu-intro-subsection-header {
    position: absolute;
    top: 0;
  }
  .plan-menu-intro-subsection-subtitle {
    font-size: 16px;
  }
  .plan-menu-intro-subsection-title {
    font-size: 25px;
  }
  .plan-menu-intro-subsection-title-en {
    font-size: 15px;
  }
  .plan-menu-intro-subsection-text {
    font-size: 16px;
    line-height: 1.5;
  }
  .plan-menu-intro-subsection-deco.deco1 {
    top: 85%;
    left: -10%;
  }
  .plan-menu-intro-subsection-deco.deco2 {
    right: -10%;
  }
  .plan-menu-intro-subsection-deco.deco3 {
    left: 0;
  }
  #plan-menu-grandmenu {
    background-image: url(../img/plan/menu/bg_grandmenu_sp.webp);
  }
  .plan-menu-grandmenu-container {
    flex-wrap: wrap;
    row-gap: 75px;
  }
  .plan-menu-grandmenu-box {
    max-width: inherit;
    width: 100%;
  }
  .plan-menu-grandmenu-box-figure {
    margin-bottom: 20px;
  }
  .plan-menu-grandmenu-box-name {
    column-gap: .5em;
    line-height: 1.5;
  }
  .plan-menu-grandmenu-box-name .floor {
    font-size: 15px;
    min-width: 60px;
  }
  .plan-menu-grandmenu-box-name .shopname {
    font-size: 16px;
  }
  .plan-menu-grandmenu-box-menu {
    font-size: 15px;
  }
  .plan-menu-grandmenu-box-btnarea {
    margin-top: 20px;
  }
  .btn-grandmenu {
    font-size: 16px;
    padding: 11px;
  }
  #plan-menu-rooms {
    background-image: url(../img/plan/menu/bg_rooms_sp.webp);
  }
  .plan-menu-rooms-container {
    flex-wrap: wrap;
    row-gap: 10px;
    margin-top: 40px;
  }
  #plan-menu-rooms-hall {
    margin-top: 60px;
  }
  .plan-menu-rooms-image-l {
    max-width: inherit;
    width: 100%;
  }
  .plan-menu-rooms-image-s {
    display: none;
  }
  .plan-menu-rooms-name {
    box-shadow: -2px 4px 0 #90713b;
    height: 77px;
    font-size: 16px;
    top: -16px;
    width: 52px;
  }
  #plan-menu-rooms-private .plan-menu-rooms-name {
    right: -14px;
  }
  #plan-menu-rooms-hall .plan-menu-rooms-name {
    left: -14px;
  }
  .plan-menu-rooms-image-l-caption {
    font-size: 14px;
    line-height: 1.5;
    margin-top: 25px;
    padding: 0;
  }
  #plan-menu-rooms-hall .plan-menu-rooms-image-l-caption {
    padding-bottom: 0;
  }
  .plan-menu-rooms-private-deco.square1 {
    bottom: 27%;
    right: 7%;
    width: 15px;
  }
  .plan-menu-rooms-private-deco.square2 {
    bottom: 24%;
    right: 3.5%;
    width: 10px;
  }
  .plan-menu-rooms-private-deco.square3 {
    top: 48%;
    left: auto;
    right: 0;
    width: 13px;
  }
  .plan-menu-rooms-private-deco.square4 {
    background-color: #D1AF75;
    bottom: 28%;
    left: 5%;
    width: 15px;
  }
  .plan-menu-rooms-private-deco.square5 {
    bottom: 26.5%;
    left: 3%;
    width: 5px;
  }
  #plan-menu-service {
    background-image: url(../img/plan/menu/bg_service_sp.webp);
  }
  #plan-menu-service .plan-menu-section-inner {
    width: 100%;
  }
  .plan-menu-service-container {
    flex-wrap: wrap;
    row-gap: 60px;
  }
  .plan-menu-service-box {
    max-width: inherit;
    width: 100%;
  }
  .plan-menu-service-box-title {
    display: block;
    font-size: 18px;
    margin-bottom: 20px;
    min-height: inherit;
  }
  .plan-menu-service-box-text {
    font-size: 16px;
  }

}

