@charset "UTF-8";
/* Scss Document */
:root {
  --main-width-content: 1200px;
  --margin-block: 130px; }

@media (min-width: 800px) and (max-width: 1200px) {
  :root {
    --margin-block: 90px; } }
@media (max-width: 800px) {
  :root {
    --margin-block: 70px; } }
nav.pc_nav span.mark::before {
  z-index: 10; }

.rough_plan {
  background: url("../images/plan/rough.jpg");
  height: 8543px;
  background-repeat: no-repeat;
  background-position: center; }

.rough_plandetail {
  background: url("../images/plan/rough_plandetail.jpg");
  height: 2043px;
  background-repeat: no-repeat;
  background-position: center; }

body nav {
  max-width: 1100px; }
  body nav ul {
    align-items: center; }
    body nav ul li {
      margin: 0 0.3em; }
      body nav ul li a span {
        line-height: 1.2;
        font-size: 1.5rem; }
      @media only screen and (max-width: 1170px) {
        body nav ul li {
          margin: 0 0.8em; }
          body nav ul li a {
            padding: 10px 2px; }
            body nav ul li a span {
              font-size: 1.4rem; } }
      @media only screen and (max-width: 1000px) {
        body nav ul li {
          margin: 0 0.5em; }
          body nav ul li:first-child {
            margin-left: 0; }
          body nav ul li:last-child {
            margin-right: 0; }
          body nav ul li a {
            padding: 10px 2px; }
            body nav ul li a span {
              font-size: 1.3rem; } }

.pc_nav .br1000 {
  display: none; }
  @media only screen and (max-width: 1000px) {
    .pc_nav .br1000 {
      display: block; } }

.sub_nav ul {
  align-items: center; }
  .sub_nav ul li {
    margin: 0 0.6em; }
    .sub_nav ul li a {
      font-size: 1.4rem; }
      @media only screen and (max-width: 1000px) {
        .sub_nav ul li a {
          font-size: 1.3rem; } }

.sp-nav {
  display: none; }
  @media only screen and (max-width: 768px) {
    .sp-nav {
      position: fixed;
      bottom: 0;
      display: flex;
      width: 100%;
      z-index: 3; } }

.request .sp-nav, .reserve .sp-nav {
  display: none; }

.sp-nav .nav-list {
  width: 50%; }

.sp-nav .reserve-btn, .sp-nav .request-btn {
  padding-bottom: 2px; }

@media only screen and (max-width: 1000px) {
  .menu-text {
    letter-spacing: -0.07em; } }
@media only screen and (max-width: 767px) {
  .menu-text {
    letter-spacing: 0; } }

.ghost-btn {
  max-width: calc(90% - 32px);
  width: 236px;
  min-width: 0px; }
  @media only screen and (max-width: 767px) {
    .ghost-btn {
      width: 180px; } }

@media only screen and (max-width: 768px) {
  footer {
    padding-bottom: 62px; } }
footer .copy {
  padding: 2em 0; }

footer .footer_logo {
  background: #fff; }
  footer .footer_logo li span {
    color: #000; }

.bn-footer {
  margin: 0 auto 0; }
  @media only screen and (max-width: 767px) {
    .bn-footer {
      margin: 0 auto 0; } }
  .bn-footer a {
    display: block;
    max-width: 90%;
    width: fit-content;
    margin: 0 auto; }
  .bn-footer_gotoplan {
    background-image: -moz-linear-gradient(180deg, #1b3660 0%, #25416a 50%, #213c67 100%);
    background-image: -webkit-linear-gradient(180deg, #1b3660 0%, #25416a 50%, #213c67 100%);
    background-image: -ms-linear-gradient(180deg, #1b3660 0%, #25416a 50%, #213c67 100%);
    padding: 65px 0; }
    @media only screen and (max-width: 767px) {
      .bn-footer_gotoplan {
        padding: 40px 0; } }
  .bn-footer_respre {
    background-image: url("../images/plan/bg_plan_reserve.jpg");
    background-size: cover;
    padding: 100px 0; }
    @media only screen and (max-width: 767px) {
      .bn-footer_respre {
        padding: 60px 0; } }
  .bn-footer ul.footer_box_campaign {
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2.5rem; }
    @media only screen and (max-width: 800px) {
      .bn-footer ul.footer_box_campaign {
        justify-content: center; } }
    .bn-footer ul.footer_box_campaign li {
      width: 48%;
      max-width: 587px; }
      @media only screen and (max-width: 800px) {
        .bn-footer ul.footer_box_campaign li {
          width: 100%;
          margin-bottom: 2rem; }
          .bn-footer ul.footer_box_campaign li:last-child {
            margin-bottom: 0; } }
      .bn-footer ul.footer_box_campaign li img {
        width: 100%;
        max-width: 575px; }

.home .hensai {
  width: 1000px;
  display: block;
  margin: 8rem auto 40px;
  max-width: 90%; }
  .home .hensai img:not(.pc, .sp) {
    display: block; }
  .home .hensai img {
    max-width: 100%; }

#home .kodo-wrap {
  background: none;
  padding-top: 0px; }
  #home .kodo-wrap #kodo {
    padding-bottom: 0px; }
  #home .kodo-wrap .gradback {
    padding: 40px 0 40px;
    background: linear-gradient(to right, #fff 0, #fefbe9 25%, #f2efd9 45%, #f2efd9 65%, #fefbe9 75%, #fff 100%); }
    @media only screen and (max-width: 767px) {
      #home .kodo-wrap .gradback {
        background: linear-gradient(to right, #fff 0, #fefbe9 10%, #f2efd9 25%, #f2efd9 75%, #fefbe9 90%, #fff 100%); } }
  #home .kodo-wrap.bg-banner {
    padding: 5rem 0;
    background: #eeefda; }

.bn {
  margin-top: 15px; }
  @media only screen and (max-width: 767px) {
    .bn {
      margin-top: 30px; } }

#kodo sup {
  font-size: 12px;
  letter-spacing: 0;
  vertical-align: top; }

@media only screen and (max-width: 960px) {
  #home #kodo .txt02 br.sp {
    display: block; } }
@media only screen and (max-width: 960px) {
  #home #kodo .txt02 {
    line-height: 1.4; } }

.holiday {
  margin: 4rem auto 0;
  width: 860px;
  max-width: 100%;
  border: double 10px #81050b;
  background: #fff;
  padding: 3rem;
  box-sizing: border-box;
  color: #000; }
  .holiday_tit {
    font-size: 2.4rem;
    text-align: center;
    margin: 0 auto 2rem;
    line-height: 1; }
    @media only screen and (max-width: 480px) {
      .holiday_tit {
        font-size: 5vw; } }
  .holiday_detail {
    text-align: left;
    line-height: 1.8;
    font-size: 1.6rem; }
    .holiday_detail span {
      color: #b51251;
      font-weight: bold; }

#home .limited-content .inner {
  padding: 50px 0; }
  @media only screen and (max-width: 767px) {
    #home .limited-content .inner {
      padding: 25px 0; } }
#home .limited-content .inner_tit {
  margin: 0 auto 20px; }
#home .limited-content .menu-text {
  line-height: 1; }
  @media only screen and (max-width: 767px) {
    #home .limited-content .menu-text {
      font-size: 1.4rem;
      padding: 4px; } }
#home .limited-content .menu-thumb {
  height: 65px; }
  @media only screen and (max-width: 767px) {
    #home .limited-content .menu-thumb {
      height: 60px; } }
  #home .limited-content .menu-thumb img {
    transform: translate(0, -15%); }
#home .limited-content .over-content {
  top: calc(50% - 13px);
  justify-content: center;
  align-items: center; }
  @media only screen and (max-width: 767px) {
    #home .limited-content .over-content {
      display: block;
      top: calc(50% - 10px); } }
  #home .limited-content .over-content .ghost-btn {
    width: 80px;
    margin-left: 10px;
    line-height: 1;
    padding: 8px 15px 5px 15px; }
    @media only screen and (max-width: 767px) {
      #home .limited-content .over-content .ghost-btn {
        line-height: 2;
        padding: 0;
        width: 180px;
        margin-left: 0px; } }
#home .limited-content .menu-title {
  line-height: 2;
  font-size: 2.8rem;
  margin-bottom: 0px; }
  @media only screen and (max-width: 970px) {
    #home .limited-content .menu-title {
      font-size: 2.4rem;
      letter-spacing: 0em; } }
  @media only screen and (max-width: 767px) {
    #home .limited-content .menu-title {
      line-height: 1;
      font-size: 2rem;
      margin-top: 0px; } }
#home .limited-content .menu-link:hover img {
  transform: translate(0, -15%) scale(1.3); }
@media only screen and (max-width: 767px) {
  #home .limited-content .limited-menu {
    gap: 10px; } }
#home .limited-content .limited-menu .flex-item:nth-child(3) .menu-thumb img {
  transform: translate(0, -35%); }
#home .limited-content .limited-menu .flex-item:nth-child(3) .menu-link:hover img {
  transform: translate(0, -35%) scale(1.3); }

.cta-btn {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding: 0px;
  width: 200px;
  height: 80px;
  background: #087674;
  font-size: 1.8rem;
  line-height: 1;
  color: #fff;
  white-space: nowrap; }

.reserve-btn {
  background: #81050b; }

.request-btn {
  background: #142f5b; }

.cta-btn-sub {
  font-size: 70%;
  line-height: 1.8; }

.text-center {
  text-align: center; }

.text-right {
  text-align: right; }

.text-left {
  text-align: left; }

.inner_tit {
  font-size: 2.4rem;
  margin: 0 auto 30px;
  text-align: center;
  color: #9a9261;
  font-weight: bold; }
  @media only screen and (max-width: 1200px) {
    .inner_tit {
      font-size: 2vw; } }
  @media only screen and (max-width: 800px) {
    .inner_tit {
      font-size: 4vw;
      margin: 0 auto 3%; } }

@media screen and (max-width: 900px) {
  .cta-btn {
    width: 100%;
    height: 60px; } }
div.flyer-img {
  max-width: none; }

main#home #kodo .btn.flex-wrapper {
  justify-content: center; }

#location .area1 figcaption {
  text-align: left; }
  #location .area1 figcaption.right {
    text-align: right;
    position: relative;
    z-index: 2; }

#location div.area2 {
  margin-bottom: 0px; }

#location .area3 {
  padding-top: 120px; }
  @media screen and (max-width: 900px) {
    #location .area3 {
      padding-top: 60px; } }
  #location .area3 h2 {
    font-family: 'EB Garamond', serif;
    text-align: center;
    color: #1b2d58;
    opacity: .7;
    letter-spacing: .2em;
    font-size: 5.5rem;
    margin-bottom: 30px; }

@media screen and (max-width: 900px) {
  #location .area3 h2 {
    font-size: 6.5vw;
    margin-bottom: 40px; } }
#location .area1 p.p1 {
  margin: 0 auto 60px; }
  @media only screen and (max-width: 800px) {
    #location .area1 p.p1 {
      margin: 0 auto 50px; } }

#location .area3 ul.meritbox {
  display: flex;
  width: 100%;
  align-items: flex-start;
  flex-wrap: wrap; }
  #location .area3 ul.meritbox li {
    width: 334px;
    max-width: calc(100% / 3); }
    @media only screen and (max-width: 480px) {
      #location .area3 ul.meritbox li {
        max-width: 100%;
        width: 100%; } }
    #location .area3 ul.meritbox li .wrap {
      position: relative; }
    #location .area3 ul.meritbox li .txt {
      width: 100%;
      font-size: 2.5vw;
      line-height: 1.2;
      box-sizing: border-box;
      color: #5f6c8a;
      filter: drop-shadow(0px 0px 3px #fff) drop-shadow(0px 0px 3px #fff) drop-shadow(0px 0px 3px #fff) drop-shadow(0px 0px 15px #fff);
      text-align: center;
      position: absolute;
      bottom: 15px; }
      @media only screen and (max-width: 480px) {
        #location .area3 ul.meritbox li .txt {
          font-size: 10vw;
          bottom: 10px; } }
      #location .area3 ul.meritbox li .txt sup {
        font-size: 12px;
        filter: drop-shadow(0px 0px 3px #fff) drop-shadow(0px 0px 3px #fff) drop-shadow(0px 0px 3px #fff) drop-shadow(0px 0px 15px #fff); }
    #location .area3 ul.meritbox li p {
      margin: 10px 0 0;
      font-size: 12px;
      text-align: left;
      line-height: 1.4; }

#access .area1 figure.rosen {
  margin-top: 60px;
  max-width: 100%; }
  @media only screen and (max-width: 800px) {
    #access .area1 figure.rosen {
      margin-top: 40px; } }

.next-footer-paddingbottom {
  padding-bottom: 140px !important; }
  @media only screen and (max-width: 800px) {
    .next-footer-paddingbottom {
      padding-bottom: 75px !important; } }

/*臨時休業のお知らせ用*/
footer .ft1 {
  padding: 60px 0 30px 0; }
  @media only screen and (max-width: 800px) {
    footer .ft1 {
      padding: 30px 0 30px 0; } }

footer .footer-dayoff {
  width: 90%;
  max-width: 1000px;
  margin: 9rem auto 0;
  text-align: center; }
  @media only screen and (max-width: 800px) {
    footer .footer-dayoff {
      margin: 5rem auto 0; } }
  footer .footer-dayoff .dayoff {
    text-align: center;
    border: 1px solid #9c1517;
    padding: 20px; }
  footer .footer-dayoff .dayoff .title {
    color: #9c1517;
    line-height: 2; }
  footer .footer-dayoff .dayoff .title span {
    color: #9c1517;
    font-size: 1.8rem; }
  footer .footer-dayoff .dayoff .info_alert {
    font-size: 1.6rem;
    color: #9c1517;
    text-align: center;
    line-height: 1.6; }
  footer .footer-dayoff .dayoff .info_alert span {
    display: inline-block;
    text-align: center;
    font-weight: bold; }
  footer .footer-dayoff .dayoff .sub_info {
    margin-top: 10px;
    text-align: center;
    font-size: 1.3rem;
    line-height: 1.6; }

/* スペシャルコンテンツ  */
.block_special {
  padding: var(--margin-block) 0;
  background: url("../images/top/bg_special.jpg") no-repeat;
  background-size: cover;
  overflow-x: hidden; }
  .block_special .wrapper_special {
    width: 100%;
    max-width: calc(var(--main-width-content) + 140px);
    margin: auto; }
  .block_special .title_special {
    margin: auto;
    color: #fff;
    text-align: center;
    margin-bottom: 4rem; }
    @media only screen and (max-width: 1280px) {
      .block_special .title_special {
        margin-bottom: 3rem;
        padding: 0.2em 0.5em; } }
    @media only screen and (max-width: 800px) {
      .block_special .title_special {
        width: 90%;
        margin-bottom: 2rem; } }
    .block_special .title_special .tit_main {
      font-size: 8rem;
      line-height: 1.2;
      margin-bottom: 0.5rem; }
      @media only screen and (max-width: 1280px) {
        .block_special .title_special .tit_main {
          font-size: 6rem; } }
      @media only screen and (max-width: 800px) {
        .block_special .title_special .tit_main {
          font-size: 4rem; } }
    .block_special .title_special .tit_sub {
      color: #9cabc3;
      font-size: 2rem; }
      @media only screen and (max-width: 800px) {
        .block_special .title_special .tit_sub {
          font-size: 1.8rem; } }

.slick02 {
  position: relative;
  margin-bottom: 0px; }
  .slick02 img {
    width: 100%; }
  .slick02 .pc {
    display: block; }
    @media only screen and (max-width: 800px) {
      .slick02 .pc {
        display: none; } }
  .slick02 .sp {
    display: none; }
    @media only screen and (max-width: 800px) {
      .slick02 .sp {
        display: block; } }
  .slick02 .slick-slide {
    padding: 0 20px;
    filter: drop-shadow(0px 5px 9px #0f1c32); }
  .slick02 .slick-dots {
    bottom: -25px; }
    .slick02 .slick-dots li.slick-active button:before {
      color: #4462a3; }
    .slick02 .slick-dots button:before {
      font-size: 15px;
      color: #c1cad3;
      opacity: 1; }
      @media only screen and (max-width: 800px) {
        .slick02 .slick-dots button:before {
          font-size: 10px; } }
  .slick02 button.slide-arrow {
    cursor: pointer;
    z-index: 2;
    background: none;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    width: 80px; }
    @media only screen and (max-width: 800px) {
      .slick02 button.slide-arrow {
        top: 42%;
        width: 40px; } }
    .slick02 button.slide-arrow.prev-arrow {
      left: -10px; }
      @media only screen and (max-width: 1380px) {
        .slick02 button.slide-arrow.prev-arrow {
          left: 0; } }
    .slick02 button.slide-arrow.next-arrow {
      right: -10px; }
      @media only screen and (max-width: 1380px) {
        .slick02 button.slide-arrow.next-arrow {
          right: 0; } }
