/*========== p-kaiteiki2025.scss ==========*/
:root {
  --transition03: 0.3s ease-in-out 0s;
  --transition04: 0.4s ease-in-out 0s;
  --transition05: 0.5s ease-in-out 0s; }

/*========== c-btn.scss ==========*/
.c-btn-pageTop {
  border-color: #426059;
  color: #426059; }
  .c-btn-pageTop:after {
    background-image: url("../img/icon_arrow_red_down.svg");
    transform: translateX(-50%) rotate(180deg); }

/*========== p-header.scss ==========*/
.p-header-logo.forTeiki {
  width: 185px; }
  @media screen and (min-width: 768px) {
    .p-header-logo.forTeiki {
      margin-right: 60px; } }
  @media screen and (max-width: 767px) {
    .p-header-logo.forTeiki {
      width: calc(100vw / ( 375 / 255 ));
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: calc(100vw / ( 375 / 20 )); } }
.p-header-kai {
  margin-bottom: calc(100vw / ( 375 / 15 )); }

/*========== p-nav.scss ==========*/
.p-nav.forTeiki {
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1); }
  @media screen and (min-width: 768px) {
    .p-nav.forTeiki {
      display: flex;
      justify-content: center;
      align-items: center; } }
  @media screen and (max-width: 767px) {
    .p-nav.forTeiki .navigation {
      box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.16) inset;
      padding: calc(100vw / ( 375 / 10 ));
      background: url("../img/nav_bg_sp.svg") 0 0 no-repeat #fff;
      background-size: cover; }
      .p-nav.forTeiki .navigation--content {
        border: 1px solid #426059;
        padding-top: calc(100vw / ( 375 / 13 )); }
        .p-nav.forTeiki .navigation--content .c-inner {
          width: calc(100vw / ( 375 / 275 )); } }
  @media screen and (max-width: 767px) {
    .p-nav.forTeiki .p-nav-menu {
      display: block; } }
  @media screen and (max-width: 767px) {
    .p-nav.forTeiki .p-nav-menu .menu {
      text-align: center;
      margin-bottom: 1.3em; }
      .p-nav.forTeiki .p-nav-menu .menu:last-child {
        margin-bottom: 0; } }
  @media screen and (max-width: 767px) {
    .p-nav.forTeiki .p-nav-menu .menu a {
      padding-left: 0; } }
  .p-nav.forTeiki .p-nav-menu .menu a:after {
    background-color: #426059; }
    @media screen and (max-width: 767px) {
      .p-nav.forTeiki .p-nav-menu .menu a:after {
        position: relative;
        left: auto;
        top: auto;
        margin: calc(100vw / ( 375 / 10 )) auto 0;
        transform: rotate(90deg); } }
  .p-nav.forTeiki .p-nav-menu .menu.forOther a:after {
    background-color: #000;
    transform: rotate(0); }
    @media screen and (min-width: 768px) {
      .p-nav.forTeiki .p-nav-menu .menu.forOther a:after {
        transform: translateY(-50%); } }
  @media screen and (max-width: 767px) {
    .p-nav.forTeiki .p-nav-menu .menu.forApply {
      height: calc(100vw / ( 375 / 45 )); } }
  @media screen and (max-width: 767px) {
    .p-nav.forTeiki .p-nav-menu .menu.forApply a {
      height: 100%;
      background: #426059;
      color: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: calc(100vw / ( 375 / 22.5 ));
      font-size: calc(100vw / ( 375 / 15 )); }
      .p-nav.forTeiki .p-nav-menu .menu.forApply a:after {
        display: none; }
      .p-nav.forTeiki .p-nav-menu .menu.forApply a:before {
        content: "";
        display: block;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: calc(100vw / ( 375 / 265 ));
        height: calc(100vw / ( 375 / 36 ));
        border-radius: calc(100vw / ( 375 / 18 ));
        border: 1px solid #fff; } }
  @media screen and (max-width: 767px) {
    .p-nav.forTeiki .p-nav-menu .menu.forApply a .in {
      position: relative;
      display: flex;
      align-items: center; }
      .p-nav.forTeiki .p-nav-menu .menu.forApply a .in:after {
        content: "";
        display: block;
        border: 1px solid #fff;
        border-radius: 50%;
        background: url("../img/icon_arrow_white.svg") center no-repeat;
        background-size: 45% auto;
        width: calc(100vw / ( 375 / 19 ));
        height: calc(100vw / ( 375 / 19 ));
        margin-left: 0.5em; } }

.p-top-mv {
  position: relative;
  overflow: hidden;
  height: calc(100vw / ( 1366 / 643 )); }
  @media screen and (min-width: 768px) {
    .p-top-mv {
      background: url("../img/fv_bg.jpg") no-repeat;
      background-size: 50%;
      background-position: right; } }
  @media screen and (min-width: 1367px) {
    .p-top-mv {
      height: 643px; } }
  @media screen and (max-width: 767px) {
    .p-top-mv {
      height: calc(100svh - calc(100vw / ( 375 / 100 )));
      background: url("../img/mv_bg_sp.webp") center top no-repeat;
      background-size: cover; } }
  @media screen and (min-width: 768px) {
    .p-top-mv:after {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 50%;
      height: 100%;
      background: url("../img/mv_bg_pc.webp") left top no-repeat;
      background-size: cover;
      background-position: bottom center;
     } }
  @media screen and (min-width: 768px) {
    .p-top-mv__inner {
      width: 50%;
      margin-left: 50%;
      height: 100%;
      position: relative; } }
  .p-top-mv_logo {
    position: absolute;
    z-index: 2; }
    @media screen and (min-width: 768px) {
      .p-top-mv_logo {
        top: calc(100vw / ( 1366 / 30 ));
        left: 50%;
        transform: translateX(calc(-50% - calc(100vw / ( 1366 / 16 ))));
        width: calc(100vw / ( 1366 / 505 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-mv_logo {
        top: 30px;
        width: 505px; } }
    @media screen and (max-width: 767px) {
      .p-top-mv_logo {
        left: calc(-100vw / ( 375 / 2 ));
        top: calc(100vw / ( 375 / 18 ));
        width: calc(100vw / ( 375 / 357 )); } }
  .p-top-mv_catch {
    font-family: "Shippori Mincho", serif;
    color: #fff;
    text-align: center;
    font-weight: 700;
    font-size: calc(100vw / ( 1366 / 24 ));
    line-height: calc(100vw / ( 1366 / 38 ));
    position: absolute;
    bottom: calc(100vw / ( 1366 / 57 ));
    left: 0;
    width: 100%; }
    @media screen and (max-width: 767px) {
      .p-top-mv_catch {
        display: none; } }
    @media screen and (min-width: 1367px) {
      .p-top-mv_catch {
        font-size: 24px;
        line-height: 38px;
        bottom: 57px; } }
  .p-top-mv_scroll {
    display: block;
    position: absolute;
    z-index: 2;
    right: calc(100vw / ( 1366 / 14 ));
    bottom: 57px;
    width: 36px; }
    @media screen and (max-width: 767px) {
      .p-top-mv_scroll {
        width: calc(100vw / ( 375 / 26 ));
        right: calc(100vw / ( 375 / 12 ));
        bottom: calc(100svh / ( 667 / 30 )); } }
.p-top-news {
  margin-bottom: calc(100vw / ( 1366 / 80 ));
  padding-top: calc(100vw / ( 1366 / 100 )); }
  @media screen and (min-width: 1367px) {
    .p-top-news {
      margin-bottom: 80px;
      padding-top: 100px; } }
  @media screen and (max-width: 767px) {
    .p-top-news {
      margin-bottom: calc(100vw / ( 375 / 60 ));
      padding-top: calc(100vw / ( 375 / 50 )); } }
  .p-top-news__inner {
    position: relative;
    border: 1px solid #7C7E8D; }
    @media screen and (min-width: 768px) {
      .p-top-news__inner {
        width: calc(100vw / ( 1366 / 920 ));
        max-width: 920px;
        padding: calc(100vw / ( 1366 / 35 )) calc(100vw / ( 1366 / 60 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-news__inner {
        padding: 35px 60px; } }
    @media screen and (max-width: 767px) {
      .p-top-news__inner {
        border-left: none;
        border-right: none;
        padding: calc(100vw / ( 375 / 35 )) 0; } }
    @media screen and (min-width: 768px) {
      .p-top-news__inner:before, .p-top-news__inner:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        background: #fff;
        width: calc(100vw / ( 1366 / 24 ));
        height: calc(100vw / ( 1366 / 24 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-news__inner:before, .p-top-news__inner:after {
        width: 24px;
        height: 24px; } }
    .p-top-news__inner:before {
      left: 0;
      transform: translateX(-50%) translateY(50%); }
    .p-top-news__inner:after {
      right: 0;
      transform: translateX(50%) translateY(50%); }
  .p-top-news_ttl {
    display: inline-block;
    background: #fff;
    padding: 0 1em;
    text-align: center;
    font-weight: 700;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%); }
    @media screen and (max-width: 767px) {
      .p-top-news_ttl {
        font-size: calc(100vw / ( 375 / 18 )); } }
    @media screen and (min-width: 768px) {
      .p-top-news_ttl:before, .p-top-news_ttl:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        background: #fff;
        width: calc(100vw / ( 1366 / 24 ));
        height: calc(100vw / ( 1366 / 24 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-news_ttl:before, .p-top-news_ttl:after {
        width: 24px;
        height: 24px; } }
    .p-top-news_ttl:before {
      left: 50%;
      transform: translateX(calc(-100vw / ( 1366 / 472 ))); }
      @media screen and (min-width: 1367px) {
        .p-top-news_ttl:before {
          transform: translateX(-460px); } }
    .p-top-news_ttl:after {
      right: 50%;
      transform: translateX(calc(100vw / ( 1366 / 472 ))); }
      @media screen and (min-width: 1367px) {
        .p-top-news_ttl:after {
          transform: translateX(460px); } }
  .p-top-news_btn {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
    background: #000;
    display: flex;
    align-items: center;
    padding: 0 calc(100vw / ( 1366 / 7 )) 0 1em;
    height: calc(100vw / ( 1366 / 32 ));
    border-radius: calc(100vw / ( 1366 / 16 )); }
    @media screen and (min-width: 1367px) {
      .p-top-news_btn {
        height: 32px;
        border-radius: 16px;
        padding-right: 7px; } }
    @media screen and (max-width: 767px) {
      .p-top-news_btn {
        height: calc(100vw / ( 375 / 32 ));
        padding-right: calc(100vw / ( 375 / 7 ));
        border-radius: calc(100vw / ( 375 / 16 )); } }
    .p-top-news_btn span {
      color: #fff;
      display: flex;
      align-items: center;
      font-weight: 600;
      font-size: calc(100vw / ( 1366 / 14 )); }
      @media screen and (min-width: 1367px) {
        .p-top-news_btn span {
          font-size: 14px; } }
      @media screen and (max-width: 767px) {
        .p-top-news_btn span {
          font-size: calc(100vw / ( 375 / 14 )); } }
      .p-top-news_btn span:after {
        content: "";
        display: block;
        border-radius: 50%;
        margin-left: 0.5em;
        transform: rotate(-90deg);
        background: url("../img/icon_arrow_bk.svg") center no-repeat #fff;
        background-size: 40% auto;
        width: calc(100vw / ( 1366 / 24 ));
        height: calc(100vw / ( 1366 / 24 )); }
        @media screen and (min-width: 1367px) {
          .p-top-news_btn span:after {
            width: 24px;
            height: 24px; } }
        @media screen and (max-width: 767px) {
          .p-top-news_btn span:after {
            width: calc(100vw / ( 375 / 24 ));
            height: calc(100vw / ( 375 / 24 )); } }
  .p-top-news .forItems-item:not(:last-child) {
    margin-bottom: calc(100vw / ( 1366 / 20 )); }
    @media screen and (min-width: 1367px) {
      .p-top-news .forItems-item:not(:last-child) {
        margin-bottom: 20px; } }
    @media screen and (max-width: 767px) {
      .p-top-news .forItems-item:not(:last-child) {
        margin-bottom: calc(100vw / ( 375 / 20 )); } }
  @media screen and (min-width: 768px) {
    .p-top-news .forItems-item__inner {
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap; } }
  .p-top-news .forItems-item .date {
    display: flex;
    margin-bottom: 0.5em; }
    @media screen and (min-width: 768px) {
      .p-top-news .forItems-item .date {
        width: 14em;
        font-size: calc(100vw / ( 1366 / 16 ));
        padding-top: 0.2em; } }
    @media screen and (min-width: 1367px) {
      .p-top-news .forItems-item .date {
        font-size: 16px; } }
    .p-top-news .forItems-item .date .cat {
      color: #fff;
      border-radius: 1em;
      text-align: center;
      margin-left: 1em;
      width: calc(100vw / ( 1366 / 112 ));
      height: calc(100vw / ( 1366 / 24 ));
      line-height: calc(100vw / ( 1366 / 24 ));
      font-size: calc(100vw / ( 1366 / 12 )); }
      @media screen and (min-width: 1367px) {
        .p-top-news .forItems-item .date .cat {
          width: 112px;
          height: 24px;
          line-height: 24px;
          font-size: 12px; } }
      @media screen and (max-width: 767px) {
        .p-top-news .forItems-item .date .cat {
          width: calc(100vw / ( 375 / 112 ));
          height: calc(100vw / ( 375 / 24 ));
          line-height: calc(100vw / ( 375 / 24 ));
          font-size: calc(100vw / ( 375 / 12 )); } }
      .p-top-news .forItems-item .date .cat01 {
        background: #426059; }
      .p-top-news .forItems-item .date .cat02 {
        background: #646464; }
  @media screen and (min-width: 768px) {
    .p-top-news .forItems-item .txt {
      width: calc(100% - 14em); } }
  .p-top-news .forItems-item .txt a {
    color: #000;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.02em; }
    @media screen and (min-width: 768px) {
      .p-top-news .forItems-item .txt a {
        font-size: calc(100vw / ( 1366 / 16 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-news .forItems-item .txt a {
        font-size: 16px; } }
.p-top-flow {
  background: #426059;
  margin: 0 auto;
  text-align: center;
  color: #fff; }
  @media screen and (min-width: 768px) {
    .p-top-flow {
      width: calc(100vw / ( 1366 / 1000 ));
      max-width: 1000px;
      padding: calc(100vw / ( 1366 / 10 ));
      margin-bottom: calc(100vw / ( 1366 / 100 )); } }
  @media screen and (min-width: 1367px) {
    .p-top-flow {
      padding: 10px;
      margin-bottom: 100px; } }
  @media screen and (max-width: 767px) {
    .p-top-flow {
      padding: calc(100vw / ( 375 / 5 ));
      margin-bottom: calc(100vw / ( 375 / 103 )); } }
  .p-top-flow__inner {
    border: 1px solid #fff;
    position: relative;
    padding: calc(100vw / ( 1366 / 90 )) 0 calc(100vw / ( 1366 / 100 )); }
    @media screen and (min-width: 1367px) {
      .p-top-flow__inner {
        padding: 90px 0 100px; } }
    @media screen and (max-width: 767px) {
      .p-top-flow__inner {
        padding: calc(100vw / ( 375 / 45 )) 0 calc(100vw / ( 375 / 70 )); } }
    .p-top-flow__inner:before, .p-top-flow__inner:after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      height: 100%;
      background: url("../img/flow_bg.svg") center top repeat-y;
      background-size: 100% auto;
      width: calc(100vw / ( 1366 / 17 )); }
      @media screen and (min-width: 1367px) {
        .p-top-flow__inner:before, .p-top-flow__inner:after {
          width: 17px; } }
      @media screen and (max-width: 767px) {
        .p-top-flow__inner:before, .p-top-flow__inner:after {
          width: calc(100vw / ( 375 / 15 )); } }
    .p-top-flow__inner:before {
      left: 0; }
      @media screen and (min-width: 768px) {
        .p-top-flow__inner:before {
          left: calc(100vw / ( 1366 / 90 )); } }
      @media screen and (min-width: 1367px) {
        .p-top-flow__inner:before {
          left: 90px; } }
    .p-top-flow__inner:after {
      right: 0; }
      @media screen and (min-width: 768px) {
        .p-top-flow__inner:after {
          right: calc(100vw / ( 1366 / 90 )); } }
      @media screen and (min-width: 1367px) {
        .p-top-flow__inner:after {
          right: 90px; } }
  .p-top-flow_ttl {
    font-family: "Shippori Mincho", serif;
    font-weight: 600;
    line-height: 1.18;
    font-size: calc(100vw / ( 1366 / 28 ));
    margin-bottom: calc(100vw / ( 1366 / 50 )); }
    @media screen and (min-width: 1367px) {
      .p-top-flow_ttl {
        font-size: 28px;
        margin-bottom: 50px; } }
    @media screen and (max-width: 767px) {
      .p-top-flow_ttl {
        font-size: calc(100vw / ( 375 / 22 ));
        margin-bottom: calc(100vw / ( 375 / 50 )); } }
    .p-top-flow_ttl:after {
      content: "";
      display: block;
      margin: 0 auto;
      background: url("../img/icon_obj.svg") center no-repeat;
      background-size: contain;
      margin-top: calc(100vw / ( 1366 / 17 ));
      width: calc(100vw / ( 1366 / 17 ));
      height: calc(100vw / ( 1366 / 17 )); }
      @media screen and (min-width: 1367px) {
        .p-top-flow_ttl:after {
          margin-top: 17px;
          width: 17px;
          height: 17px; } }
      @media screen and (max-width: 767px) {
        .p-top-flow_ttl:after {
          margin-top: calc(100vw / ( 375 / 15 ));
          width: calc(100vw / ( 375 / 15 ));
          height: calc(100vw / ( 375 / 15 )); } }
    .p-top-flow_ttl .sub {
      display: block;
      margin-bottom: 0.5em;
      font-size: calc(100vw / ( 1366 / 20 )); }
      @media screen and (min-width: 1367px) {
        .p-top-flow_ttl .sub {
          font-size: 20px; } }
      @media screen and (max-width: 767px) {
        .p-top-flow_ttl .sub {
          font-size: calc(100vw / ( 375 / 16 )); } }
  .p-top-flow_steps__item:not(:last-child) {
    margin-bottom: calc(100vw / ( 1366 / 40 )); }
    @media screen and (min-width: 1367px) {
      .p-top-flow_steps__item:not(:last-child) {
        margin-bottom: 40px; } }
    @media screen and (max-width: 767px) {
      .p-top-flow_steps__item:not(:last-child) {
        margin-bottom: calc(100vw / ( 375 / 50 )); } }
  .p-top-flow_steps__item .forTtl {
    font-family: "Shippori Mincho", serif;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.4;
    margin-bottom: 1em;
    font-size: calc(100vw / ( 1366 / 22 )); }
    @media screen and (min-width: 1367px) {
      .p-top-flow_steps__item .forTtl {
        font-size: 22px; } }
    @media screen and (max-width: 767px) {
      .p-top-flow_steps__item .forTtl {
        font-size: calc(100vw / ( 375 / 20 )); } }
    .p-top-flow_steps__item .forTtl .num {
      display: block;
      margin: 0 auto;
      width: calc(100vw / ( 1366 / 39 ));
      margin-bottom: calc(100vw / ( 1366 / 20 )); }
      @media screen and (min-width: 1367px) {
        .p-top-flow_steps__item .forTtl .num {
          width: 39px;
          margin-bottom: 20px; } }
      @media screen and (max-width: 767px) {
        .p-top-flow_steps__item .forTtl .num {
          width: calc(100vw / ( 375 / 34 ));
          margin-bottom: calc(100vw / ( 375 / 20 )); } }
  .p-top-flow_steps__item .forImg {
    display: block;
    margin: 0 auto;
    width: calc(100vw / ( 1366 / 252 )); }
    @media screen and (min-width: 1367px) {
      .p-top-flow_steps__item .forImg {
        width: 252px; } }
    @media screen and (max-width: 767px) {
      .p-top-flow_steps__item .forImg {
        width: calc(100vw / ( 375 / 232 )); } }
  .p-top-flow_steps__item .forNote {
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-bottom: 1em; }
    @media screen and (min-width: 768px) {
      .p-top-flow_steps__item .forNote {
        line-height: 1.57;
        font-size: calc(100vw / ( 1366 / 14 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-flow_steps__item .forNote {
        font-size: 14px; } }
.p-top-reserve {
  background: #426059;
  overflow-x: hidden; }
  .p-top-reserve__inner {
    border: 1px solid #fff; }
    @media screen and (min-width: 768px) {
      .p-top-reserve__inner {
        margin: calc(100vw / ( 1366 / 10 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-reserve__inner {
        margin: 10px; } }
    @media screen and (max-width: 767px) {
      .p-top-reserve__inner {
        margin: calc(100vw / ( 375 / 5 )); } }
    .p-top-reserve__inner.part01 {
      position: relative;
      margin-bottom: 0;
      border-bottom: 0;
      padding: calc(100vw / ( 1366 / 140 )) 0 calc(100vw / ( 1366 / 50 )); }
      @media screen and (min-width: 1367px) {
        .p-top-reserve__inner.part01 {
          padding: 140px 0 50px; } }
      @media screen and (max-width: 767px) {
        .p-top-reserve__inner.part01 {
          padding: calc(100vw / ( 375 / 25 )) 0 calc(100vw / ( 375 / 30 )); } }
    .p-top-reserve__inner.part02 {
      margin-top: 0;
      margin-bottom: 0;
      border-top: none;
      border-bottom: none; }
      @media screen and (max-width: 767px) {
        .p-top-reserve__inner.part02 {
          border-color: #426059; } }
    .p-top-reserve__inner.part03 {
      margin-bottom: 0;
      border-bottom: 0;
      margin-top: 0;
      border-top: 0;
      padding: calc(100vw / ( 1366 / 150 )) 0 0; }
      @media screen and (min-width: 1367px) {
        .p-top-reserve__inner.part03 {
          padding-top: 150px; } }
      @media screen and (max-width: 767px) {
        .p-top-reserve__inner.part03 {
          padding: calc(100vw / ( 375 / 96 )) calc(100vw / ( 375 / 45 )) 0; } }
    .p-top-reserve__inner.part04 {
      margin-top: 0;
      border-top: 0;
      padding: calc(100vw / ( 1366 / 80 )) 0 calc(100vw / ( 1366 / 120 )); }
      @media screen and (min-width: 1367px) {
        .p-top-reserve__inner.part04 {
          padding: 80px 0 120px; } }
      @media screen and (max-width: 767px) {
        .p-top-reserve__inner.part04 {
          padding: calc(100vw / ( 375 / 76 )) 0 calc(100vw / ( 375 / 70 )); } }
  .p-top-reserve_ttl {
    width: calc(100vw / ( 1366 / 55 )); }
    @media screen and (min-width: 768px) {
      .p-top-reserve_ttl {
        position: absolute;
        top: calc(100vw / ( 1366 / 90 ));
        left: 50%;
        transform: translateX(calc(-100vw / ( 1366 / 484 ))); } }
    @media screen and (min-width: 1367px) {
      .p-top-reserve_ttl {
        top: 90px;
        width: 55px;
        transform: translateX(-484px); } }
    @media screen and (max-width: 767px) {
      .p-top-reserve_ttl {
        width: calc(100vw / ( 375 / 153 ));
        margin: 0 auto calc(100vw / ( 375 / 30 )); } }
  @media screen and (min-width: 768px) {
    .p-top-reserve .precedent {
      display: flex;
      justify-content: center;
      align-items: center; } }
  @media screen and (max-width: 767px) {
    .p-top-reserve .precedent {
      width: calc(100vw / ( 375 / 245 ));
      margin: 0 auto 2vw; } }
  .p-top-reserve .precedent_ttl {
    color: #fff;
    text-align: center;
    font-weight: 700;
    font-family: "Shippori Mincho", serif;
    letter-spacing: 0.03em;
    margin-bottom: 1.5em;
    font-size: calc(100vw / ( 1366 / 26 ));
    margin-bottom: calc(100vw / ( 1366 / 60 )); }
    @media screen and (min-width: 1367px) {
      .p-top-reserve .precedent_ttl {
        font-size: 26px;
        margin-bottom: 60px; } }
    @media screen and (max-width: 767px) {
      .p-top-reserve .precedent_ttl {
        font-size: calc(100vw / ( 375 / 20 )); } }
  .p-top-reserve .precedent_note {
    letter-spacing: 0.05em;
    color: white;
    text-align: center; }
    @media screen and (min-width: 768px) {
      .p-top-reserve .precedent_note {
        font-size: calc(100vw / ( 1366 / 16 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-reserve .precedent_note {
        font-size: 16px; } }
  .p-top-reserve .precedent li {
    color: #fff;
    position: relative;
    letter-spacing: 0.05em;
    font-size: calc(100vw / ( 375 / 14 )); }
    @media screen and (min-width: 768px) {
      .p-top-reserve .precedent li {
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: calc(100vw / ( 1366 / 16 ));
        margin-bottom: 2em; } }
    @media screen and (max-width: 767px) {
      .p-top-reserve .precedent li {
        padding: 1em 0 1em calc(100vw / ( 375 / 100 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-reserve .precedent li {
        font-size: 16px; } }
    @media screen and (min-width: 768px) {
      .p-top-reserve .precedent li:not(:last-child) {
        border-right: 1px solid #fff;
        padding-right: 1.2em;
        margin-right: 1em; } }
    @media screen and (max-width: 767px) {
      .p-top-reserve .precedent li:not(:last-child) {
        border-bottom: 1px solid #fff; } }
    .p-top-reserve .precedent li:before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain; }
    @media screen and (min-width: 768px) {
      .p-top-reserve .precedent li:nth-child(1) {
        padding-left: calc(100vw / ( 1366 / 65 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-reserve .precedent li:nth-child(1) {
        padding-left: 65px; } }
    .p-top-reserve .precedent li:nth-child(1):before {
      background-image: url("../img/icon_reserve_info1_white.svg");
      width: calc(100vw / ( 1366 / 55 ));
      height: calc(100vw / ( 1366 / 28 )); }
      @media screen and (min-width: 1367px) {
        .p-top-reserve .precedent li:nth-child(1):before {
          width: 55px;
          height: 28px; } }
      @media screen and (max-width: 767px) {
        .p-top-reserve .precedent li:nth-child(1):before {
          width: calc(100vw / ( 375 / 43 ));
          height: calc(100vw / ( 375 / 22 ));
          left: calc(100vw / ( 375 / 30 )); } }
    @media screen and (min-width: 768px) {
      .p-top-reserve .precedent li:nth-child(2) {
        padding-left: calc(100vw / ( 1366 / 46 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-reserve .precedent li:nth-child(2) {
        padding-left: 46px; } }
    .p-top-reserve .precedent li:nth-child(2):before {
      background-image: url("../img/icon_reserve_info2_white.svg");
      width: calc(100vw / ( 1366 / 36 ));
      height: calc(100vw / ( 1366 / 43 )); }
      @media screen and (min-width: 1367px) {
        .p-top-reserve .precedent li:nth-child(2):before {
          width: 36px;
          height: 43px; } }
      @media screen and (max-width: 767px) {
        .p-top-reserve .precedent li:nth-child(2):before {
          width: calc(100vw / ( 375 / 28 ));
          height: calc(100vw / ( 375 / 34 ));
          left: calc(100vw / ( 375 / 34 )); } }
    @media screen and (min-width: 768px) {
      .p-top-reserve .precedent li:nth-child(3) {
        padding-left: calc(100vw / ( 1366 / 50 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-reserve .precedent li:nth-child(3) {
        padding-left: 50px; } }
    .p-top-reserve .precedent li:nth-child(3):before {
      background-image: url("../img/icon_reserve_info3_white.svg");
      width: calc(100vw / ( 1366 / 40 ));
      height: calc(100vw / ( 1366 / 38 )); }
      @media screen and (min-width: 1367px) {
        .p-top-reserve .precedent li:nth-child(3):before {
          width: 40px;
          height: 38px; } }
      @media screen and (max-width: 767px) {
        .p-top-reserve .precedent li:nth-child(3):before {
          width: calc(100vw / ( 375 / 32 ));
          height: calc(100vw / ( 375 / 30 ));
          left: calc(100vw / ( 375 / 35 )); } }
  .p-top-reserve .calender {
    text-align: center;
    color: #fff; }
    .p-top-reserve .calender_ttl {
      font-weight: 700;
      font-family: "Shippori Mincho", serif;
      letter-spacing: 0.03em;
      margin-bottom: 1.5em;
      font-size: calc(100vw / ( 1366 / 26 )); }
      @media screen and (min-width: 1367px) {
        .p-top-reserve .calender_ttl {
          font-size: 26px; } }
      @media screen and (max-width: 767px) {
        .p-top-reserve .calender_ttl {
          font-size: calc(100vw / ( 375 / 20 )); } }
    .p-top-reserve .calender_notice {
      text-align: left;
      letter-spacing: 0.02em; }
      @media screen and (min-width: 768px) {
        .p-top-reserve .calender_notice {
          margin: 0 auto calc(100vw / ( 1366 / 30 ));
          width: calc(100vw / ( 1366 / 520 ));
          max-width: 520px; } }
      @media screen and (min-width: 1367px) {
        .p-top-reserve .calender_notice {
          margin-bottom: 30px; } }
      @media screen and (max-width: 767px) {
        .p-top-reserve .calender_notice {
          margin-bottom: calc(100vw / ( 375 / 60 )); } }
      .p-top-reserve .calender_notice .forTtl {
        margin-bottom: 0.5em; }
        @media screen and (max-width: 767px) {
          .p-top-reserve .calender_notice .forTtl {
            font-size: calc(100vw / ( 375 / 18 )); } }
      .p-top-reserve .calender_notice .forItems__item {
        line-height: 1.875;
        position: relative;
        padding-left: 1.2em; }
        @media screen and (min-width: 768px) {
          .p-top-reserve .calender_notice .forItems__item {
            font-size: calc(100vw / ( 1366 / 16 )); } }
        @media screen and (min-width: 1367px) {
          .p-top-reserve .calender_notice .forItems__item {
            font-size: 16px; } }
        .p-top-reserve .calender_notice .forItems__item:before {
          content: "";
          display: block;
          position: absolute;
          width: 0.5em;
          height: 0.5em;
          border-radius: 50%;
          background: #fff;
          left: 0;
          top: 0.8em; }
    .p-top-reserve .calender_btn {
      cursor: pointer;
      background: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto;
      text-align: center;
      filter: drop-shadow(2px 3px 1px rgba(0, 0, 0, 0.3));
      width: calc(100vw / ( 1366 / 520 ));
      height: calc(100vw / ( 1366 / 70 ));
      border-radius: calc(100vw / ( 1366 / 35 )); }
      @media screen and (min-width: 1367px) {
        .p-top-reserve .calender_btn {
          width: 520px;
          height: 70px;
          border-radius: 35px; } }
      @media screen and (max-width: 767px) {
        .p-top-reserve .calender_btn {
          width: calc(100vw / ( 375 / 313 ));
          height: calc(100vw / ( 375 / 50 ));
          border-radius: calc(100vw / ( 375 / 35 ));
          margin: 0 calc(-100vw / ( 375 / 20 )); } }
      .p-top-reserve .calender_btn span {
        display: flex;
        align-items: center;
        color: #426059;
        font-weight: 700; }
        @media screen and (min-width: 768px) {
          .p-top-reserve .calender_btn span {
            font-size: calc(100vw / ( 1366 / 20 )); } }
        @media screen and (min-width: 1367px) {
          .p-top-reserve .calender_btn span {
            font-size: 20px; } }
  .p-top-reserve .contact {
    text-align: center;
    color: #fff; }
    .p-top-reserve .contact_ttl {
      font-weight: 700;
      font-family: "Shippori Mincho", serif;
      letter-spacing: 0.03em;
      margin-bottom: 1.5em;
      font-size: calc(100vw / ( 1366 / 26 )); }
      @media screen and (min-width: 1367px) {
        .p-top-reserve .contact_ttl {
          font-size: 26px; } }
      @media screen and (max-width: 767px) {
        .p-top-reserve .contact_ttl {
          font-size: calc(100vw / ( 375 / 20 )); } }
    .p-top-reserve .contact_tel {
      margin-bottom: calc(100vw / ( 1366 / 30 )); }
      @media screen and (min-width: 1367px) {
        .p-top-reserve .contact_tel {
          margin-bottom: 30px; } }
      @media screen and (max-width: 767px) {
        .p-top-reserve .contact_tel {
          margin-bottom: calc(100vw / ( 375 / 20 )); } }
      .p-top-reserve .contact_tel .forTtl {
        font-weight: 600;
        line-height: 1.75;
        letter-spacing: 0.05em;
        margin-bottom: 0.5em; }
        @media screen and (min-width: 768px) {
          .p-top-reserve .contact_tel .forTtl {
            font-size: calc(100vw / ( 1366 / 16 )); } }
        @media screen and (min-width: 1367px) {
          .p-top-reserve .contact_tel .forTtl {
            font-size: 16px; } }
      .p-top-reserve .contact_tel .forNum {
        font-weight: 700;
        letter-spacing: 0.06em;
        font-size: calc(100vw / ( 1366 / 35 )); }
        @media screen and (min-width: 1367px) {
          .p-top-reserve .contact_tel .forNum {
            font-size: 35px; } }
        @media screen and (max-width: 767px) {
          .p-top-reserve .contact_tel .forNum {
            font-size: calc(100vw / ( 375 / 25 )); } }
        .p-top-reserve .contact_tel .forNum a {
          color: #fff;
          padding: 0.2em 0;
          display: block; }
      .p-top-reserve .contact_tel .forHour {
        letter-spacing: 0.06em;
        font-size: calc(100vw / ( 1366 / 16 )); }
        @media screen and (min-width: 1367px) {
          .p-top-reserve .contact_tel .forHour {
            font-size: 16px; } }
        @media screen and (max-width: 767px) {
          .p-top-reserve .contact_tel .forHour {
            font-size: calc(100vw / ( 375 / 14 )); } }
    .p-top-reserve .contact_txt {
      line-height: 1.25;
      letter-spacing: 0.06em; }
      @media screen and (min-width: 768px) {
        .p-top-reserve .contact_txt {
          font-size: calc(100vw / ( 1366 / 16 )); } }
      @media screen and (min-width: 1367px) {
        .p-top-reserve .contact_txt {
          font-size: 16px; } }
      .p-top-reserve .contact_txt .att {
        font-weight: 700;
        font-size: calc(100vw / ( 1366 / 18 )); }
        @media screen and (min-width: 1367px) {
          .p-top-reserve .contact_txt .att {
            font-size: 18px; } }
        @media screen and (max-width: 767px) {
          .p-top-reserve .contact_txt .att {
            font-size: calc(100vw / ( 375 / 18 )); } }
        .p-top-reserve .contact_txt .attWrap {
          display: block;
          line-height: 1.75;
          padding: 0.75em 0; }
.p-top-obsession {
  position: relative;
  padding: calc(100vw / ( 1366 / 60 )) 0 calc(100vw / ( 1366 / 290 ));
  background: url("../img/obsession_bg_pc.svg") left top no-repeat;
  background-size: calc(100vw / ( 1366 / 467 )) auto; }
  @media screen and (min-width: 1367px) {
    .p-top-obsession {
      padding: 60px 0 290px; } }
  @media screen and (max-width: 767px) {
    .p-top-obsession {
      background: url("../img/obsession_bg_sp.svg") center top no-repeat;
      background-size: calc(100vw / ( 375 / 414 )) auto;
      padding: calc(100vw / ( 375 / 150 )) 0 calc(100vw / ( 375 / 70 )); } }
  @media screen and (min-width: 768px) {
    .p-top-obsession:after {
      content: "";
      display: block;
      position: absolute;
      right: 0;
      top: 0;
      width: calc(100vw / ( 1366 / 467 ));
      height: calc(100vw / ( 1366 / 718 ));
      background: url("../img/obsession_bg_pc.svg") center no-repeat;
      background-size: contain;
      transform: scale(-1, 1); } }
  .p-top-obsession .forTtl {
    line-height: 1;
    font-weight: 700;
    text-align: center;
    font-family: "Shippori Mincho", serif;
    letter-spacing: 0.03em;
    margin-bottom: 1em;
    font-size: calc(100vw / ( 1366 / 30 )); }
    @media screen and (min-width: 1367px) {
      .p-top-obsession .forTtl {
        font-size: 30px; } }
    @media screen and (max-width: 767px) {
      .p-top-obsession .forTtl {
        font-size: calc(100vw / ( 375 / 30 )); } }
    .p-top-obsession .forTtl:after {
      content: "";
      display: block;
      margin: 1em auto 0;
      background: #000;
      height: 1px;
      width: calc(100vw / ( 1366 / 38 )); }
      @media screen and (min-width: 1367px) {
        .p-top-obsession .forTtl:after {
          width: 38px; } }
      @media screen and (max-width: 767px) {
        .p-top-obsession .forTtl:after {
          width: calc(100vw / ( 375 / 38 ));
          margin-bottom: calc(100vw / ( 375 / 25 )); } }
  .p-top-obsession .forItems {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    .p-top-obsession .forItems__item {
      line-height: 1;
      font-family: "Shippori Mincho", serif;
      text-align: center;
      letter-spacing: 0.03em;
      font-weight: 700;
      font-size: calc(100vw / ( 1366 / 30 ));
      width: calc(100vw / ( 1366 / 260 )); }
      @media screen and (min-width: 768px) {
        .p-top-obsession .forItems__item {
          margin: 0 calc(100vw / ( 1366 / 12 )); } }
      @media screen and (min-width: 1367px) {
        .p-top-obsession .forItems__item {
          font-size: 30px;
          width: 260px;
          margin: 0 12px; } }
      @media screen and (max-width: 767px) {
        .p-top-obsession .forItems__item {
          font-size: calc(100vw / ( 375 / 18 ));
          width: calc(100vw / ( 375 / 140 ));
          margin-bottom: calc(100vw / ( 375 / 30 )); }
          .p-top-obsession .forItems__item:nth-child(odd) {
            margin-right: calc(100vw / ( 375 / 25 )); } }
      .p-top-obsession .forItems__item img {
        margin-bottom: calc(100vw / ( 1366 / 30 )); }
        @media screen and (min-width: 1367px) {
          .p-top-obsession .forItems__item img {
            margin-bottom: 30px; } }
        @media screen and (max-width: 767px) {
          .p-top-obsession .forItems__item img {
            margin-bottom: calc(100vw / ( 375 / 20 )); } }
.p-top-about_ttl {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.03em;
  position: relative;
  font-size: calc(100vw / ( 1366 / 26 ));
  margin-bottom: calc(100vw / ( 1366 / 20 )); }
  @media screen and (min-width: 1367px) {
    .p-top-about_ttl {
      font-size: 26px;
      margin-bottom: 20px; } }
  @media screen and (max-width: 767px) {
    .p-top-about_ttl {
      margin-bottom: 1em;
      letter-spacing: 0.1em;
      font-size: calc(100vw / ( 375 / 18 )); } }
  .p-top-about_ttl:after {
    content: "";
    display: block;
    margin: 0 auto;
    background: url("../img/icon_obj_bk.svg") center no-repeat;
    background-size: contain;
    margin-top: calc(100vw / ( 1366 / 18 ));
    width: calc(100vw / ( 1366 / 17 ));
    height: calc(100vw / ( 1366 / 17 )); }
    @media screen and (min-width: 1367px) {
      .p-top-about_ttl:after {
        margin-top: 18px;
        width: 17px;
        height: 17px; } }
    @media screen and (max-width: 767px) {
      .p-top-about_ttl:after {
        margin-top: calc(100vw / ( 375 / 15 ));
        width: calc(100vw / ( 375 / 15 ));
        height: calc(100vw / ( 375 / 15 )); } }
.p-top-about_intro {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.7;
  margin-bottom: calc(100vw / ( 1366 / 80 )); }
  @media screen and (min-width: 768px) {
    .p-top-about_intro {
      text-align: center;
      font-size: calc(100vw / ( 1366 / 20 )); } }
  @media screen and (min-width: 1367px) {
    .p-top-about_intro {
      font-size: 20px;
      margin-bottom: 80px; } }
  @media screen and (max-width: 767px) {
    .p-top-about_intro {
      line-height: 1.75;
      margin-bottom: calc(100vw / ( 375 / 60 )); } }
.p-top-about_point {
  background: #426059;
  color: #fff;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .p-top-about_point {
      padding: calc(100vw / ( 1366 / 10 ));
      margin-bottom: calc(100vw / ( 1366 / 100 )); } }
  @media screen and (min-width: 1367px) {
    .p-top-about_point {
      padding: 10px;
      margin-bottom: 100px; } }
  @media screen and (max-width: 767px) {
    .p-top-about_point {
      padding: calc(100vw / ( 375 / 5 ));
      margin: 0 calc(-100vw / ( 375 / 25 )) calc(100vw / ( 375 / 106 )); } }
  .p-top-about_point__inner {
    position: relative;
    border: 1px solid #fff;
    padding: calc(100vw / ( 1366 / 120 )) 0 calc(100vw / ( 1366 / 90 )); }
    @media screen and (min-width: 1367px) {
      .p-top-about_point__inner {
        padding: 120px 0 90px; } }
    @media screen and (max-width: 767px) {
      .p-top-about_point__inner {
        padding: calc(100vw / ( 375 / 63 )) calc(100vw / ( 375 / 30 )) calc(100vw / ( 375 / 65 )); } }
  .p-top-about_point__sec:not(:last-child) {
    margin-bottom: calc(100vw / ( 1366 / 73 )); }
    @media screen and (min-width: 1367px) {
      .p-top-about_point__sec:not(:last-child) {
        margin-bottom: 73px; } }
    @media screen and (max-width: 767px) {
      .p-top-about_point__sec:not(:last-child) {
        margin-bottom: calc(100vw / ( 375 / 50 )); } }
  @media screen and (min-width: 768px) {
    .p-top-about_point_ttl {
      position: absolute;
      left: calc(100vw / ( 1366 / 90 ));
      top: calc(100vw / ( 1366 / 90 ));
      width: calc(100vw / ( 1366 / 55 )); } }
  @media screen and (min-width: 1367px) {
    .p-top-about_point_ttl {
      left: 90px;
      top: 90px;
      width: 55px; } }
  @media screen and (max-width: 767px) {
    .p-top-about_point_ttl {
      width: calc(100vw / ( 375 / 182 ));
      margin: 0 auto calc(100vw / ( 375 / 30 )); } }
  .p-top-about_point .forTtl {
    font-family: "Shippori Mincho", serif;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.05em;
    font-size: calc(100vw / ( 1366 / 26 ));
    margin-bottom: calc(100vw / ( 1366 / 23 )); }
    @media screen and (min-width: 1367px) {
      .p-top-about_point .forTtl {
        font-size: 26px;
        margin-bottom: 23px; } }
    @media screen and (max-width: 767px) {
      .p-top-about_point .forTtl {
        font-size: calc(100vw / ( 375 / 22.5 ));
        margin-bottom: calc(100vw / ( 375 / 20 )); } }
    .p-top-about_point .forTtl .num {
      display: block;
      margin: 0 auto calc(100vw / ( 1366 / 35 ));
      width: calc(100vw / ( 1366 / 90 )); }
      @media screen and (min-width: 1367px) {
        .p-top-about_point .forTtl .num {
          width: 90px;
          margin-bottom: 35px; } }
      @media screen and (max-width: 767px) {
        .p-top-about_point .forTtl .num {
          width: calc(100vw / ( 375 / 66 ));
          margin-bottom: calc(100vw / ( 375 / 20 )); } }
    .p-top-about_point .forTtl .bg {
      background: #fff;
      color: #426059;
      display: inline-block;
      line-height: 1;
      padding: 0.2em; }
    @media screen and (min-width: 768px) {
      .p-top-about_point .forTtl.point03 {
        margin-bottom: calc(100vw / ( 1366 / 45 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-about_point .forTtl.point03 {
        margin-bottom: 45px; } }
  .p-top-about_point .forTxt {
    font-family: "Shippori Mincho", serif;
    line-height: 1.75;
    margin-bottom: 1.5em;
    font-weight: 600;
    letter-spacing: 0.03em; }
  .p-top-about_point .forMap {
    margin: 0 auto calc(100vw / ( 1366 / 19 ));
    width: calc(100vw / ( 1366 / 351 )); }
    @media screen and (min-width: 1367px) {
      .p-top-about_point .forMap {
        width: 351px;
        margin-bottom: 19px; } }
    @media screen and (max-width: 767px) {
      .p-top-about_point .forMap {
        width: calc(100vw / ( 375 / 278 ));
        margin-bottom: calc(100vw / ( 375 / 35 )); } }
  .p-top-about_point .forNote {
    text-align: left; }
    @media screen and (min-width: 768px) {
      .p-top-about_point .forNote {
        display: inline-block; } }
    @media screen and (max-width: 767px) {
      .p-top-about_point .forNote {
        margin: 0 auto;
        width: calc(100vw / ( 375 / 245 )); } }
    .p-top-about_point .forNote__item {
      line-height: 1.5;
      letter-spacing: 0.03em; }
      @media screen and (min-width: 768px) {
        .p-top-about_point .forNote__item {
          text-align: center;
          margin-bottom: 0.5em;
          font-size: calc(100vw / ( 1366 / 16 )); } }
      @media screen and (min-width: 1367px) {
        .p-top-about_point .forNote__item {
          font-size: 16px; } }
  .p-top-about_point .forPlan {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (min-width: 768px) {
      .p-top-about_point .forPlan {
        position: relative;
        margin: 0 auto calc(100vw / ( 1366 / 30 ));
        width: calc(100vw / ( 1366 / 750 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-about_point .forPlan {
        width: 750px;
        margin-bottom: 30px; } }
    @media screen and (max-width: 767px) {
      .p-top-about_point .forPlan {
        padding-top: calc(100vw / ( 375 / 20 )); } }
    @media screen and (min-width: 768px) {
      .p-top-about_point .forPlan:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        height: 100%;
        width: 2px;
        right: 31%;
        background: url("../img/about_plan_line_pc.svg") center no-repeat;
        background-size: 100% 100%; } }
    .p-top-about_point .forPlan__item {
      width: calc(100vw / ( 1366 / 190 )); }
      @media screen and (min-width: 1367px) {
        .p-top-about_point .forPlan__item {
          width: 190px; } }
      @media screen and (max-width: 767px) {
        .p-top-about_point .forPlan__item {
          width: calc(100vw / ( 375 / 130 )); } }
      @media screen and (min-width: 768px) {
        .p-top-about_point .forPlan__item.forA {
          order: 1; } }
      @media screen and (max-width: 767px) {
        .p-top-about_point .forPlan__item.forA .forPlan-img {
          margin: 0 auto;
          width: calc(100vw / ( 375 / 114 )); } }
      @media screen and (min-width: 768px) {
        .p-top-about_point .forPlan__item.forB {
          order: 2; } }
      @media screen and (max-width: 767px) {
        .p-top-about_point .forPlan__item.forB .forPlan-img {
          margin: 0 auto;
          width: calc(100vw / ( 375 / 114 )); } }
      @media screen and (min-width: 768px) {
        .p-top-about_point .forPlan__item.forC {
          order: 3; } }
      @media screen and (max-width: 767px) {
        .p-top-about_point .forPlan__item.forC {
          position: relative;
          width: 100%;
          padding-top: calc(100vw / ( 375 / 50 ));
          margin-top: calc(100vw / ( 375 / 50 )); }
          .p-top-about_point .forPlan__item.forC:before {
            content: "";
            display: block;
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 2px;
            background: url("../img/about_plan_line_sp.svg") center top no-repeat;
            background-size: cover; } }
      @media screen and (max-width: 767px) {
        .p-top-about_point .forPlan__item.forC .forPlan-img {
          margin: 0 auto;
          width: calc(100vw / ( 375 / 138 )); } }
      .p-top-about_point .forPlan__item.forOP {
        position: relative; }
        @media screen and (min-width: 768px) {
          .p-top-about_point .forPlan__item.forOP {
            padding-top: calc(100vw / ( 1366 / 30 ));
            margin-top: calc(100vw / ( 1366 / 40 )); } }
        @media screen and (min-width: 1367px) {
          .p-top-about_point .forPlan__item.forOP {
            padding-top: 30px;
            margin-top: 40px; } }
        @media screen and (max-width: 767px) {
          .p-top-about_point .forPlan__item.forOP {
            width: 100%;
            margin-top: calc(100vw / ( 375 / 30 ));
            padding-top: calc(100vw / ( 375 / 30 )); } }
        .p-top-about_point .forPlan__item.forOP:before {
          content: "";
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          background: url("../img/about_plan_op.svg") center top no-repeat;
          background-size: auto 100%;
          height: calc(100vw / ( 1366 / 6 )); }
          @media screen and (min-width: 1367px) {
            .p-top-about_point .forPlan__item.forOP:before {
              height: 6px; } }
          @media screen and (max-width: 767px) {
            .p-top-about_point .forPlan__item.forOP:before {
              height: calc(100vw / ( 375 / 6 )); } }
    .p-top-about_point .forPlan-ttl {
      line-height: 1.4;
      font-weight: 500;
      margin-bottom: 0.5em; }
      @media screen and (min-width: 768px) {
        .p-top-about_point .forPlan-ttl {
          font-family: "Shippori Mincho", serif; } }
      @media screen and (max-width: 767px) {
        .p-top-about_point .forPlan-ttl {
          font-size: calc(100vw / ( 375 / 14 )); } }
      .p-top-about_point .forPlan-ttl .icon {
        display: block;
        margin: 0 auto calc(100vw / ( 1366 / 30 ));
        width: calc(100vw / ( 1366 / 90 )); }
        @media screen and (min-width: 1367px) {
          .p-top-about_point .forPlan-ttl .icon {
            width: 90px;
            margin-bottom: 30px; } }
        @media screen and (max-width: 767px) {
          .p-top-about_point .forPlan-ttl .icon {
            width: calc(100vw / ( 375 / 83 ));
            margin-bottom: calc(100vw / ( 375 / 28 )); } }
    .p-top-about_point .forPlan-price {
      font-family: "Shippori Mincho", serif;
      font-weight: 600;
      display: inline-block;
      border-bottom: 1px solid #fff;
      padding-bottom: 0.35em;
      margin-bottom: calc(100vw / ( 1366 / 22 )); }
      @media screen and (min-width: 1367px) {
        .p-top-about_point .forPlan-price {
          margin-bottom: 22px; } }
      @media screen and (max-width: 767px) {
        .p-top-about_point .forPlan-price {
          margin-bottom: calc(100vw / ( 375 / 30 )); } }
      .p-top-about_point .forPlan-price .num {
        letter-spacing: 0.05em;
        font-size: calc(100vw / ( 1366 / 36 )); }
        @media screen and (min-width: 1367px) {
          .p-top-about_point .forPlan-price .num {
            font-size: 36px; } }
        @media screen and (max-width: 767px) {
          .p-top-about_point .forPlan-price .num {
            font-size: calc(100vw / ( 375 / 24 )); } }
  .p-top-about_point .forOP_price {
    font-family: "Shippori Mincho", serif;
    font-weight: 600;
    letter-spacing: 0.05em; }
    .p-top-about_point .forOP_price__ttl {
      margin-bottom: 0.5em;
      font-size: calc(100vw / ( 1366 / 18 )); }
      @media screen and (min-width: 1367px) {
        .p-top-about_point .forOP_price__ttl {
          font-size: 18px; } }
      @media screen and (max-width: 767px) {
        .p-top-about_point .forOP_price__ttl {
          font-size: calc(100vw / ( 375 / 18 )); } }
    .p-top-about_point .forOP_price__yen {
      display: inline-block;
      border-bottom: 1px solid #fff;
      margin-bottom: 0.5em;
      font-size: calc(100vw / ( 1366 / 16 )); }
      @media screen and (min-width: 768px) {
        .p-top-about_point .forOP_price__yen {
          padding-bottom: 0.5em; } }
      @media screen and (min-width: 1367px) {
        .p-top-about_point .forOP_price__yen {
          font-size: 16px; } }
      @media screen and (max-width: 767px) {
        .p-top-about_point .forOP_price__yen {
          margin-bottom: 1em;
          font-size: calc(100vw / ( 375 / 14 )); } }
      .p-top-about_point .forOP_price__yen .num {
        display: inline-block;
        padding: 0 0.2em;
        font-size: calc(100vw / ( 1366 / 38 )); }
        @media screen and (min-width: 768px) {
          .p-top-about_point .forOP_price__yen .num {
            line-height: 1; } }
        @media screen and (min-width: 1367px) {
          .p-top-about_point .forOP_price__yen .num {
            font-size: 38px; } }
        @media screen and (max-width: 767px) {
          .p-top-about_point .forOP_price__yen .num {
            font-size: calc(100vw / ( 375 / 30 )); } }
    .p-top-about_point .forOP_price__note {
      line-height: 1.5; }
      @media screen and (max-width: 767px) {
        .p-top-about_point .forOP_price__note {
          font-size: calc(100vw / ( 375 / 18 )); } }
    .p-top-about_point .forOP_price__nolimit {
      font-size: calc(100vw / ( 1366 / 25 )); }
      @media screen and (min-width: 1367px) {
        .p-top-about_point .forOP_price__nolimit {
          font-size: 25px; } }
      @media screen and (max-width: 767px) {
        .p-top-about_point .forOP_price__nolimit {
          font-size: calc(100vw / ( 375 / 25 )); } }
  .p-top-about_point .forOP_explain {
    text-align: left; }
    @media screen and (min-width: 768px) {
      .p-top-about_point .forOP_explain {
        margin: 0 auto;
        width: calc(100vw / ( 1366 / 750 ));
        font-size: calc(100vw / ( 1366 / 16 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-about_point .forOP_explain {
        width: 750px;
        font-size: 16px; } }
    .p-top-about_point .forOP_explain__ttl {
      font-weight: 700;
      position: relative;
      padding-left: 1.25em;
      margin-bottom: 0.5em; }
      .p-top-about_point .forOP_explain__ttl:before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 1em;
        height: 1em;
        background: url("../img/icon_obj.svg") left center no-repeat;
        background-size: 0.7em; }
    .p-top-about_point .forOP_explain__txt {
      line-height: 1.5; }
  @media screen and (min-width: 768px) {
    .p-top-about_point .type01 {
      order: 4;
      width: calc(100vw / ( 1366 / 470 )); } }
  @media screen and (min-width: 1367px) {
    .p-top-about_point .type01 {
      width: 470px; } }
  @media screen and (max-width: 767px) {
    .p-top-about_point .type01 .forOP_price {
      margin-bottom: calc(100vw / ( 375 / 57 )); } }
  @media screen and (min-width: 768px) {
    .p-top-about_point .type02 {
      order: 5; } }
  @media screen and (max-width: 767px) {
    .p-top-about_point .type02 {
      padding-top: calc(100vw / ( 375 / 40 )); } }
  @media screen and (max-width: 767px) {
    .p-top-about_point .type02 .forOP_price__ttl {
      font-size: calc(100vw / ( 375 / 16 )); } }
.p-top-outline {
  position: relative;
  background: #426059;
  color: #fff; }
  @media screen and (min-width: 768px) {
    .p-top-outline {
      padding: calc(100vw / ( 1366 / 10 ));
      margin-bottom: calc(100vw / ( 1366 / 150 )); } }
  @media screen and (min-width: 1367px) {
    .p-top-outline {
      padding: 10px;
      margin-bottom: 150px; } }
  @media screen and (max-width: 767px) {
    .p-top-outline {
      padding: calc(100vw / ( 375 / 5 )); } }
  .p-top-outline__bg {
    border: 1px solid #fff;
    padding: calc(100vw / ( 1366 / 206 )) 0 calc(100vw / ( 1366 / 90 )) calc(100vw / ( 1366 / 90 )); }
    @media screen and (min-width: 1367px) {
      .p-top-outline__bg {
        padding: 206px 0 90px 90px; } }
    @media screen and (max-width: 767px) {
      .p-top-outline__bg {
        padding: calc(100vw / ( 375 / 179 )) calc(100vw / ( 375 / 35 )) calc(100vw / ( 375 / 35 )); } }
  @media screen and (min-width: 768px) {
    .p-top-outlineWrap {
      padding: 0 0 0 calc(100vw / ( 1366 / 183 )); } }
  @media screen and (min-width: 1367px) {
    .p-top-outlineWrap {
      padding: 0 0 0 calc((100% - 1000px) / 2); } }
  .p-top-outline_ph {
    position: absolute;
    width: calc(100vw / ( 1366 / 903 ));
    left: calc(-100vw / ( 1366 / 183 ));
    top: calc(100vw / ( 1366 / 70 )); }
    @media screen and (min-width: 1367px) {
      .p-top-outline_ph {
        width: 903px;
        top: 70px;
        left: -183px; } }
    @media screen and (max-width: 767px) {
      .p-top-outline_ph {
        width: calc(100vw / ( 375 / 350 ));
        left: 0;
        top: calc(-100vw / ( 375 / 16 )); } }
  .p-top-outline_plan {
    position: relative; }
    @media screen and (min-width: 768px) {
      .p-top-outline_plan {
        width: calc(100vw / ( 1366 / 900 ));
        padding-top: calc(100vw / ( 1366 / 372 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-outline_plan {
        width: 900px;
        padding-top: 372px; } }
    .p-top-outline_plan .forTtl {
      color: #fff;
      font-family: "Shippori Mincho", serif;
      font-weight: 600;
      letter-spacing: 0.1em; }
      @media screen and (min-width: 768px) {
        .p-top-outline_plan .forTtl {
          position: absolute;
          right: 0;
          top: 0;
          writing-mode: vertical-rl;
          font-size: calc(100vw / ( 1366 / 36 )); } }
      @media screen and (min-width: 1367px) {
        .p-top-outline_plan .forTtl {
          font-size: 36px; } }
      @media screen and (max-width: 767px) {
        .p-top-outline_plan .forTtl {
          text-align: center;
          font-size: calc(100vw / ( 375 / 26 ));
          margin-bottom: 0.5em; } }
    .p-top-outline_plan .forIntro {
      color: #fff;
      font-family: "Shippori Mincho", serif;
      font-weight: 600;
      letter-spacing: 0.03em; }
      @media screen and (min-width: 768px) {
        .p-top-outline_plan .forIntro {
          position: absolute;
          top: 0;
          writing-mode: vertical-rl;
          text-orientation: upright;
          right: calc(100vw / ( 1366 / 100 ));
          font-size: calc(100vw / ( 1366 / 20 )); } }
      @media screen and (min-width: 1367px) {
        .p-top-outline_plan .forIntro {
          right: 100px;
          font-size: 20px; } }
      @media screen and (max-width: 767px) {
        .p-top-outline_plan .forIntro {
          line-height: 1.7;
          font-size: calc(100vw / ( 375 / 17 ));
          margin-bottom: calc(100vw / ( 375 / 47 )); } }
    .p-top-outline_plan .forNote {
      margin-bottom: 1.875em; }
      .p-top-outline_plan .forNote__item {
        line-height: 1.5;
        text-align: left;
        letter-spacing: 0.02em; }
        @media screen and (min-width: 768px) {
          .p-top-outline_plan .forNote__item {
            font-size: calc(100vw / ( 1366 / 16 )); } }
        @media screen and (min-width: 1367px) {
          .p-top-outline_plan .forNote__item {
            font-size: 16px; } }
        .p-top-outline_plan .forNote__item:not(:last-child) {
          margin-bottom: 0.5em; }
    .p-top-outline_plan .forSchedule {
      text-align: center;
      position: relative; }
      @media screen and (min-width: 768px) {
        .p-top-outline_plan .forSchedule {
          padding-left: calc(100vw / ( 1366 / 140 ));
          padding-top: calc(100vw / ( 1366 / 50 ));
          margin-bottom: calc(100vw / ( 1366 / 50 )); } }
      @media screen and (min-width: 1367px) {
        .p-top-outline_plan .forSchedule {
          padding-left: 140px;
          padding-top: 50px;
          margin-bottom: 50px; } }
      @media screen and (max-width: 767px) {
        .p-top-outline_plan .forSchedule {
          margin-bottom: calc(100vw / ( 375 / 75 )); } }
      @media screen and (min-width: 768px) {
        .p-top-outline_plan .forSchedule .flex {
          display: flex;
          align-items: center;
          margin-bottom: calc(100vw / ( 1366 / 40 )); } }
      @media screen and (min-width: 1367px) {
        .p-top-outline_plan .forSchedule .flex {
          margin-bottom: 40px; } }
      @media screen and (min-width: 768px) {
        .p-top-outline_plan .forSchedule_ttl {
          position: absolute;
          left: 0;
          top: 0;
          width: calc(100vw / ( 1366 / 45 )); } }
      @media screen and (min-width: 1367px) {
        .p-top-outline_plan .forSchedule_ttl {
          width: 45px; } }
      @media screen and (max-width: 767px) {
        .p-top-outline_plan .forSchedule_ttl {
          margin: 0 auto calc(100vw / ( 375 / 50 ));
          width: calc(100vw / ( 375 / 153 )); } }
      .p-top-outline_plan .forSchedule_subTtl {
        writing-mode: vertical-rl;
        text-orientation: upright;
        border: 1px solid #fff;
        font-family: "Shippori Mincho", serif;
        position: relative;
        font-weight: 600;
        letter-spacing: 0.05em;
        padding: 0.7em;
        font-size: calc(100vw / ( 1366 / 18 )); }
        .p-top-outline_plan .forSchedule_subTtl.end {
          background: #FFF;
          color: #426059;
          letter-spacing: .5em;
          text-indent: .25em;
        }
        @media screen and (min-width: 1367px) {
          .p-top-outline_plan .forSchedule_subTtl {
            font-size: 18px; } }
        @media screen and (max-width: 767px) {
          .p-top-outline_plan .forSchedule_subTtl {
            margin: 0 auto calc(100vw / ( 375 / 24 ));
            font-size: calc(100vw / ( 375 / 18 ));
            padding: 0.5em; } }
        .p-top-outline_plan .forSchedule_subTtl:after {
          content: "";
          display: block;
          position: absolute;
          width: 100%;
          height: 100%;
          border-right: 1px solid #fff;
          border-bottom: 1px solid #fff;
          top: 7px;
          right: -8px; }
          @media screen and (max-width: 767px) {
            .p-top-outline_plan .forSchedule_subTtl:after {
              top: calc(100vw / ( 375 / 7 ));
              right: calc(-100vw / ( 375 / 8 )); } }
      .p-top-outline_plan .forSchedule_term.end {
        opacity: .5;
      }
      @media screen and (min-width: 768px) {
        .p-top-outline_plan .forSchedule_term {
          padding-left: calc(100vw / ( 1366 / 38 )); } }
      @media screen and (min-width: 1367px) {
        .p-top-outline_plan .forSchedule_term {
          padding-left: 38px; } }
      @media screen and (max-width: 767px) {
        .p-top-outline_plan .forSchedule_term {
          display: inline-block;
          margin-bottom: calc(100vw / ( 375 / 40 )); } }
      .p-top-outline_plan .forSchedule_termWrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        font-weight: 700; }
        .p-top-outline_plan .forSchedule_termWrap .ttl {
          width: 7em; }
        .p-top-outline_plan .forSchedule_termWrap .date {
          border-left: 1px solid #fff;
          width: calc(100% - 7em);
          padding-left: 1em; }
      .p-top-outline_plan .forSchedule_term__item {
        text-align: left; }
        .p-top-outline_plan .forSchedule_term__item:not(:last-child) {
          margin-bottom: 1em; }
    .p-top-outline_plan .forCondition {
      position: relative; }
      @media screen and (min-width: 768px) {
        .p-top-outline_plan .forCondition {
          padding-left: calc(100vw / ( 1366 / 140 ));
          padding-top: calc(100vw / ( 1366 / 50 )); } }
      @media screen and (min-width: 1367px) {
        .p-top-outline_plan .forCondition {
          padding-left: 140px;
          padding-top: 50px; } }
      @media screen and (min-width: 768px) {
        .p-top-outline_plan .forCondition_ttl {
          position: absolute;
          left: 0;
          top: 0;
          width: calc(100vw / ( 1366 / 45 )); } }
      @media screen and (min-width: 1367px) {
        .p-top-outline_plan .forCondition_ttl {
          width: 45px; } }
      @media screen and (max-width: 767px) {
        .p-top-outline_plan .forCondition_ttl {
          margin: 0 auto calc(100vw / ( 375 / 30 ));
          width: calc(100vw / ( 375 / 153 )); } }
      .p-top-outline_plan .forCondition_subTtl {
        font-weight: 700;
        letter-spacing: 0.05em;
        position: relative;
        padding-left: 1em;
        margin-bottom: 0.75em; }
        .p-top-outline_plan .forCondition_subTtl:before {
          content: "";
          display: block;
          position: absolute;
          left: 0;
          top: 0.7em;
          width: 0.375em;
          height: 0.375em;
          background: #fff;
          border-radius: 50%; }
        .p-top-outline_plan .forCondition_subTtl + .box {
          padding-left: 1em; }
      .p-top-outline_plan .forCondition_type {
        font-weight: 700;
        margin-top: 1.875em; }
        .p-top-outline_plan .forCondition_type:last-child {
          margin-bottom: 1.875em; }
        @media screen and (min-width: 768px) {
          .p-top-outline_plan .forCondition_type__inner {
            display: flex;
            align-items: center; } }
    .p-top-outline_plan .forMove {
      letter-spacing: 0.02em;
      font-size: calc(100vw / ( 1366 / 16 ));
      margin-bottom: 2em; }
      @media screen and (min-width: 1367px) {
        .p-top-outline_plan .forMove {
          font-size: 16px; } }
      @media screen and (max-width: 767px) {
        .p-top-outline_plan .forMove {
          text-align: left;
          line-height: 1.4;
          font-size: calc(100vw / ( 375 / 14 ));
          margin-bottom: 2.5em; } }
    .p-top-outline_plan .forLink {
      text-align: center;
      display: flex;
      flex-direction: column;
      justify-content: center; }
      .p-top-outline_plan .forLink__item {
        display: inline-block;
        padding-right: 1em; }
        @media screen and (min-width: 768px) {
          .p-top-outline_plan .forLink__item {
            font-size: calc(100vw / ( 1366 / 16 )); } }
        @media screen and (min-width: 1367px) {
          .p-top-outline_plan .forLink__item {
            font-size: 16px; } }
        .p-top-outline_plan .forLink__item:not(:last-child) {
          margin-bottom: 1em; }
        .p-top-outline_plan .forLink__item a {
          color: #fff;
          font-weight: 700;
          border-bottom: 1px solid #fff;
          position: relative; }
    @media screen and (min-width: 768px) {
      .p-top-outline_plan .forContactArea {
        text-align: center;
        width: calc(100vw / ( 1366 / 570 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-outline_plan .forContactArea {
        width: 570px; } }
    .p-top-outline_plan .forContactArea_btn {
      background: #000;
      color: #FFF;
      display: flex;
      align-items: center;
      margin-bottom: 1em;
      box-shadow: 2px 3px 0px rgba(0, 0, 0, 0.3);
      font-weight: 700;
      position: relative;
      height: calc(100vw / ( 1366 / 70 ));
      border-radius: calc(100vw / ( 1366 / 35 ));
      padding-left: calc(100vw / ( 1366 / 43 ));
      letter-spacing: .05em;
      width: calc(460 / 1366 * 100vw);
    }
      .p-top-outline_plan .forContactArea_btn.disable {
        opacity: .3;
        pointer-events: none;
      }
      @media screen and (min-width: 1367px) {
        .p-top-outline_plan .forContactArea_btn {
          height: 70px;
          border-radius: 35px;
          padding-left: 43px;
          width: 460px;
         } }
      @media screen and (max-width: 767px) {
        .p-top-outline_plan .forContactArea_btn {
          justify-content: center;
          text-align: center;
          height: calc(100vw / ( 375 / 72 ));
          border-radius: calc(100vw / ( 375 / 35 )); } }
      .p-top-outline_plan .forContactArea_btn:after {
        aspect-ratio: 1 / 1;
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        transform: rotate(-90deg);
        background: url("../img/ar.svg") no-repeat;
        background-size: cover;
        width: calc(100vw / ( 1366 / 32 ));
        height: calc(100vw / ( 1366 / 32 ));
        right: calc(100vw / ( 1366 / 25 )); }
        @media screen and (min-width: 1367px) {
          .p-top-outline_plan .forContactArea_btn:after {
            width: 32px;
            height: 32px;
            right: 25px; } }
        @media screen and (max-width: 767px) {
          .p-top-outline_plan .forContactArea_btn:after {
            width: calc(100vw / ( 375 / 17 ));
            height: calc(100vw / ( 375 / 17 ));
            right: calc(100vw / ( 375 / 23 )); } }

/* ================================================================================
HOTEL
================================================================================ */
@media screen and (max-width: 767px) {
  #HOTEL {
    background: #fff; } }
#HOTEL .alertArea {
  width: fit-content;
  border: 1px solid white;
  padding: 1rem 2rem;
  margin: 3rem auto 0; }
  @media screen and (max-width: 767px) {
    #HOTEL .alertArea {
      max-width: 80vw;
      padding: 1rem; } }
  #HOTEL .alertArea dl {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
    margin: 0 0 1em;
    color: white;
    font-size: 16px;
    line-height: 1.5; }
    #HOTEL .alertArea dl dt {
      font-weight: 700; }
    #HOTEL .alertArea dl dd {
      padding-left: 1em;
      text-indent: -1em; }
#HOTEL .hotels {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    #HOTEL .hotels {
      width: calc(100vw / ( 1366 / 800 )); } }
  @media screen and (min-width: 1367px) {
    #HOTEL .hotels {
      width: 800px; } }
  @media screen and (max-width: 767px) {
    #HOTEL .hotels {
      width: 100%; } }
  #HOTEL .hotels li {
    cursor: pointer;
    position: relative;
    background-color: white; }
    @media screen and (min-width: 768px) {
      #HOTEL .hotels li {
        width: calc(100vw / ( 1366 / 265 ));
        padding: calc(100vw / ( 1366 / 20 )) calc(100vw / ( 1366 / 28 )) calc(100vw / ( 1366 / 30 ));
        margin-bottom: calc(100vw / ( 1366 / 2 )); }
        #HOTEL .hotels li:not(:nth-child(3n)) {
          margin-right: calc(100vw / ( 1366 / 2 )); } }
    @media screen and (min-width: 1367px) {
      #HOTEL .hotels li {
        width: 265px;
        padding: 20px 28px 30px;
        margin-bottom: 2px; }
        #HOTEL .hotels li:not(:nth-child(3n)) {
          margin-right: 2px; } }
    @media screen and (max-width: 767px) {
      #HOTEL .hotels li {
        display: flex;
        flex-direction: column;
        width: calc(100vw / ( 375 / 181 ));
        border-bottom: calc(100vw / ( 375 / 1 )) solid #426059;
        padding: calc(100vw / ( 375 / 20 )) calc(100vw / ( 375 / 19 )); }
        #HOTEL .hotels li:nth-child(odd) {
          width: calc(100vw / ( 375 / 182 ));
          border-right: calc(100vw / ( 375 / 1 )) solid #426059; } }
    #HOTEL .hotels li.soldout {
      filter: brightness(90%) grayscale(60%) contrast(80%);
      pointer-events: none; }
    #HOTEL .hotels li:has(.disabled)::before {
      z-index: 10;
      position: absolute;
      top: 0;
      left: 0;
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      background: #333;
      opacity: 0;
      transition: var(--transition03); }
      @media screen and (max-width: 767px) {
        #HOTEL .hotels li:has(.disabled)::before {
          z-index: 10;
          position: absolute;
          top: 18vw;
          left: calc((100% - 40vw)/2);
          width: 40vw;
          height: 38vw;
          opacity: 0.85; } }
    #HOTEL .hotels li .disabled {
      z-index: 11;
      position: absolute;
      top: 0;
      left: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100%;
      padding: 0 2em 3em;
      color: white;
      font-size: 16px;
      line-height: 1.8;
      opacity: 0;
      transition: var(--transition03); }
      @media screen and (max-width: 767px) {
        #HOTEL .hotels li .disabled {
          padding: 0 7vw 8vw;
          opacity: 1;
          font-size: 3vw; } }
    #HOTEL .hotels li:hover:has(.disabled)::before {
      opacity: 0.85; }
    #HOTEL .hotels li:hover .disabled {
      opacity: 1; }
  #HOTEL .hotels .place {
    color: black;
    font-weight: 500; }
    @media screen and (max-width: 767px) {
      #HOTEL .hotels .place {
        font-size: calc(100vw / ( 375 / 16 ));
        order: 2;
        line-height: 1.25;
        margin-bottom: calc(100vw / ( 375 / 8 )); }
        #HOTEL .hotels .place.lines {
          line-height: 2.5; } }
    #HOTEL .hotels .place.thin {
      letter-spacing: -0.1em; }
  #HOTEL .hotels h4 {
    font-family: "Shippori Mincho", serif;
    margin: 0 0 10px;
    color: black;
    font-weight: 600;
    font-size: calc(100vw / ( 1366 / 30 )); }
    @media screen and (min-width: 1367px) {
      #HOTEL .hotels h4 {
        font-size: 30px; } }
    @media screen and (max-width: 767px) {
      #HOTEL .hotels h4 {
        margin: 0 0 calc(100vw / ( 375 / 5 ));
        font-size: calc(100vw / ( 375 / 20 ));
        order: 1; } }
  #HOTEL .hotels .thumb {
    width: 100%;
    height: calc(100vw / ( 1366 / 150 ));
    margin: 0 auto calc(100vw / ( 1366 / 10 )); }
    @media screen and (min-width: 1367px) {
      #HOTEL .hotels .thumb {
        height: 150px;
        margin-bottom: 10px; } }
    @media screen and (max-width: 767px) {
      #HOTEL .hotels .thumb {
        height: calc(100vw / ( 375 / 143 ));
        margin: 0 auto calc(100vw / ( 375 / 10 ));
        order: 3; } }
    #HOTEL .hotels .thumb img {
      object-fit: cover; }
      @media screen and (max-width: 767px) {
        #HOTEL .hotels .thumb img {
          height: 100%; } }
  #HOTEL .hotels .facilities {
    display: flex;
    gap: 0 calc(100vw / ( 1366 / 10 ));
    margin: 0 auto calc(100vw / ( 1366 / 10 )); }
    @media screen and (min-width: 1367px) {
      #HOTEL .hotels .facilities {
        gap: 0 10px;
        margin-bottom: 10px; } }
    @media screen and (max-width: 767px) {
      #HOTEL .hotels .facilities {
        justify-content: space-between;
        gap: 0 2vw;
        margin: 0 auto 3vw;
        order: 4; } }
    #HOTEL .hotels .facilities picture {
      width: calc(100vw / ( 1366 / 45 ));
      height: calc(100vw / ( 1366 / 45 )); }
      @media screen and (min-width: 1367px) {
        #HOTEL .hotels .facilities picture {
          width: 45px;
          height: 45px; } }
      @media screen and (max-width: 767px) {
        #HOTEL .hotels .facilities picture {
          width: calc(100vw / ( 375 / 42 ));
          height: calc(100vw / ( 375 / 42 )); } }
  @media screen and (max-width: 767px) {
    #HOTEL .hotels .detailBtn {
      order: 5; } }
  #HOTEL .hotels .detailBtn span {
    font-size: calc(100vw / ( 1366 / 18 )); }
    @media screen and (min-width: 1367px) {
      #HOTEL .hotels .detailBtn span {
        font-size: 18px; } }
    @media screen and (max-width: 767px) {
      #HOTEL .hotels .detailBtn span {
        font-size: calc(100vw / ( 375 / 14 )); } }
  #HOTEL .hotels .detailBtn a, #HOTEL .hotels .detailBtn .nonLink {
    border: 1px solid #426059;
    box-shadow: 2px 3px 1px rgba(0, 0, 0, 0.3);
    color: #426059;
    font-weight: 600;
    z-index: 1;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 0.5em;
    min-height: 38px;
    padding: 0.3em 0;
    background-color: white;
    border-radius: 100px; }
    #HOTEL .hotels .detailBtn a:after, #HOTEL .hotels .detailBtn .nonLink:after {
      content: "";
      display: block;
      background: url("../img/icon_reserve_detail_arrow.svg") center no-repeat;
      background-size: contain;
      width: calc(100vw / ( 1366 / 37 ));
      height: calc(100vw / ( 1366 / 20 )); }
      @media screen and (min-width: 1367px) {
        #HOTEL .hotels .detailBtn a:after, #HOTEL .hotels .detailBtn .nonLink:after {
          width: 37px;
          height: 20px; } }
      @media screen and (max-width: 767px) {
        #HOTEL .hotels .detailBtn a:after, #HOTEL .hotels .detailBtn .nonLink:after {
          width: calc(100vw / ( 375 / 24 ));
          height: calc(100vw / ( 375 / 12 )); } }

#popupHotel {
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  opacity: 0;
  pointer-events: none;
  transition: var(--transition03); }
  #popupHotel.open {
    opacity: 1;
    pointer-events: all; }
  #popupHotel > .inner {
    position: relative;
    width: 900px;
    height: 100%;
    margin: 0 auto;
    overflow-y: scroll; }
    @media screen and (min-width: 768px) {
      #popupHotel > .inner {
        background: #fff; } }
    @media screen and (max-width: 767px) {
      #popupHotel > .inner {
        width: 100%;
        height: 100%;
        overflow-y: scroll; } }
  #popupHotel .close {
    z-index: 110;
    position: absolute;
    top: 50px;
    right: 50px;
    width: 42px;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      #popupHotel .close {
        position: fixed;
        top: 5vw;
        right: 5vw;
        width: 9vw; } }
  #popupHotel .hotel {
    display: none;
    padding: 50px;
    background-color: white;
    overflow-y: scroll; }
    @media screen and (min-width: 768px) {
      #popupHotel .hotel {
        position: relative;
        top: 50%;
        transform: translateY(-50%);
        max-height: 100vh; } }
    @media screen and (max-width: 767px) {
      #popupHotel .hotel {
        padding: calc(100vw / ( 375 / 98 )) calc(100vw / ( 375 / 25 )) calc(100vw / ( 375 / 80 )); } }
    #popupHotel .hotel.open {
      display: block; }
  #popupHotel .location {
    font-family: "Shippori Mincho", serif;
    margin: 0 0 5px;
    font-size: 16px;
    font-weight: 700; }
    @media screen and (max-width: 767px) {
      #popupHotel .location {
        margin: 0 0 2vw;
        text-align: center; } }
  #popupHotel .name {
    font-family: "Shippori Mincho", serif;
    margin: 0 0 40px;
    font-size: 32px;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      #popupHotel .name {
        margin-bottom: 1em;
        font-size: calc(100vw / ( 375 / 28 ));
        text-align: center; } }
  #popupHotel .boxes {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  #popupHotel .box:first-child {
    width: 490px; }
    @media screen and (max-width: 767px) {
      #popupHotel .box:first-child {
        width: 90vw; } }
    #popupHotel .box:first-child p {
      margin-bottom: 1em;
      letter-spacing: 0.01em;
      font-size: 16px;
      line-height: 1.8; }
@inclue sp {
  #popupHotel .box:first-child p {
    line-height: 1.875; } }
      #popupHotel .box:first-child p .EOS {
        color: green; }
  #popupHotel .box:last-child {
    width: 250px; }
    @media screen and (max-width: 767px) {
      #popupHotel .box:last-child {
        width: calc(100vw / ( 375 / 250 ));
        padding: calc(100vw / ( 375 / 47 )) 0 0;
        margin: 0 auto; } }
  #popupHotel dl:nth-child(2) {
    margin: 40px 0 0; }
    @media screen and (max-width: 767px) {
      #popupHotel dl:nth-child(2) {
        margin: 10vw 0 0; } }
    #popupHotel dl:nth-child(2) dt {
      border-bottom: 1px solid #c1c1c1;
      padding: 0 0 0.5em; }
      @media screen and (max-width: 767px) {
        #popupHotel dl:nth-child(2) dt {
          font-size: 3.5vw; } }
  #popupHotel dt {
    font-size: 16px; }
    @media screen and (max-width: 767px) {
      #popupHotel dt {
        font-size: calc(100vw / ( 375 / 14 )); } }
  #popupHotel dd {
    border-bottom: 1px solid #c1c1c1;
    padding: 15px 0;
    font-size: 18px; }
    @media screen and (max-width: 767px) {
      #popupHotel dd {
        padding: calc(100vw / ( 375 / 20 )) 0;
        font-size: calc(100vw / ( 375 / 16 )); } }
    #popupHotel dd.icon {
      padding: 15px 50px 15px 0;
      background-repeat: no-repeat;
      background-position: right center;
      background-size: 38px auto; }
      @media screen and (max-width: 767px) {
        #popupHotel dd.icon {
          padding: calc(100vw / ( 375 / 20 )) calc(100vw / ( 375 / 70 )) calc(100vw / ( 375 / 20 )) 0;
          font-size: calc(100vw / ( 375 / 14 ));
          background-size: calc(100vw / ( 375 / 44 )) auto; } }
    #popupHotel dd.bed {
      background-image: url(../img/icon_detail_bed.svg); }
    #popupHotel dd.futon {
      background-image: url(../img/icon_detail_futon.svg); }
    #popupHotel dd.bath {
      background-image: url(../img/icon_detail_bath.svg); }
    #popupHotel dd.shower {
      background-image: url(../img/icon_detail_shower.svg); }
    #popupHotel dd.walk {
      background-image: url(../img/icon_detail_walk.svg);
      line-height: 1.5; }
      @media screen and (max-width: 767px) {
        #popupHotel dd.walk {
          padding-right: calc(100vw / ( 375 / 50 )); } }
    #popupHotel dd.bus {
      background-image: url(../img/icon_detail_bus.svg); }
    #popupHotel dd.map {
      background-image: url(../img/icon_detail_map.svg); }
    #popupHotel dd span {
      display: block;
      line-height: 1.5; }
      @media screen and (min-width: 768px) {
        #popupHotel dd span {
          font-size: 14px;
          padding-top: 0.5em; } }
  #popupHotel .btn {
    margin: 40px 0 0;
    border-radius: 21px;
    box-shadow: 2px 3px 0px #000;
    background-color: #426059;
    font-size: 14px;
    font-weight: 700;
    line-height: 42px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      #popupHotel .btn {
        margin: calc(100vw / ( 375 / 46 )) auto 0;
        border-radius: calc(100vw / ( 375 / 27 ));
        background-size: 10vw;
        height: calc(100vw / ( 375 / 54 ));
        line-height: calc(100vw / ( 375 / 54 ));
        text-align: left; } }
    #popupHotel .btn a {
      display: block;
      color: #fff;
      position: relative; }
      @media screen and (max-width: 767px) {
        #popupHotel .btn a {
          padding-left: calc(100vw / ( 375 / 78 )); } }
      #popupHotel .btn a:after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 24px;
        height: 12px;
        right: 18px;
        background: url("../img/icon_arrow_white.svg") center no-repeat;
        background-size: contain; }
        @media screen and (max-width: 767px) {
          #popupHotel .btn a:after {
            width: calc(100vw / ( 375 / 25 ));
            height: calc(100vw / ( 375 / 25 ));
            background: url("../img/icon_arrow_red.svg") center no-repeat #fff;
            background-size: 40% auto;
            border-radius: 50%;
            right: calc(100vw / ( 375 / 65 ));
            transform: translateY(-50%) rotate(90deg); } }

#popupCalender {
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 50px 0 0;
  background-color: rgba(255, 255, 255, 0.8);
  opacity: 0;
  pointer-events: none;
  transition: var(--transition03); }
  @media screen and (max-width: 767px) {
    #popupCalender {
      padding: 0; } }
  #popupCalender.open {
    opacity: 1;
    pointer-events: all; }
  #popupCalender > .inner {
    position: relative;
    width: 900px;
    margin: 0 auto;
    overflow-y: scroll; }
    @media screen and (min-width: 768px) {
      #popupCalender > .inner {
        top: 50%;
        transform: translateY(-50%);
        min-height: 70vh; } }
    @media screen and (max-width: 767px) {
      #popupCalender > .inner {
        width: 100%;
        height: 100%;
        overflow-y: scroll; } }
  #popupCalender .close {
    z-index: 110;
    position: absolute;
    width: 42px;
    cursor: pointer; }
    @media screen and (min-width: 768px) {
      #popupCalender .close {
        top: 50px;
        right: 50px; } }
    @media screen and (max-width: 767px) {
      #popupCalender .close {
        position: fixed;
        left: 50%;
        transform: translateX(-50%);
        width: 9vw;
        bottom: calc(100svh / ( 653 / 40 )); } }
  #popupCalender .calender {
    display: none;
    padding: 50px 50px 0;
    background-color: white;
    overflow-y: scroll; }
    @media screen and (max-width: 767px) {
      #popupCalender .calender {
        padding: calc(100svh / ( 653 / 70 )) 0 0;
        min-height: 100svh; } }
    #popupCalender .calender.open {
      display: block; }
    #popupCalender .calender ul {
      width: 484px;
      margin: 0 auto; }
      @media screen and (max-width: 767px) {
        #popupCalender .calender ul {
          width: calc(100vw / ( 375 / 325 )); } }
    #popupCalender .calender .slick-arrow {
      cursor: pointer;
      position: absolute;
      top: 25px;
      width: 70px;
      height: 70px;
      background-color: transparent;
      z-index: 1;
      text-indent: -99999px; }
      @media screen and (max-width: 767px) {
        #popupCalender .calender .slick-arrow {
          top: calc(100svh / ( 653 / 15 ));
          width: calc(100vw / ( 375 / 60 ));
          height: calc(100vw / ( 375 / 60 )); } }
    #popupCalender .calender .slick-next {
      right: 0; }
    #popupCalender .calender .slick-prev {
      left: 0; }
    #popupCalender .calender p {
      display: inline-block;
      font-size: 17px; }
      @media screen and (max-width: 767px) {
        #popupCalender .calender p {
          font-size: calc(100vw / ( 375 / 14 ));
          padding-left: calc(100vw / ( 375 / 25 )); } }
      #popupCalender .calender p .disc {
        color: #426059; }

/*========== p-news2025.scss ==========*/
.p-news2025-year {
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  color: #fff;
  background: url("../img/about_obj01.svg") 107% center no-repeat #426059;
  background-size: calc(100vw / ( 1366 / 102 )) auto;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  letter-spacing: 0.05em;
  margin: 0 auto calc(100vw / ( 1366 / 30 ));
  height: calc(100vw / ( 1366 / 80 ));
  width: calc(100vw / ( 1366 / 385 ));
  font-size: calc(100vw / ( 1366 / 24 )); }
  @media screen and (min-width: 1367px) {
    .p-news2025-year {
      height: 80px;
      width: 385px;
      margin-bottom: 30px;
      font-size: 24px;
      background-size: 102px auto; } }
  @media screen and (max-width: 767px) {
    .p-news2025-year {
      height: calc(100vw / ( 375 / 45 ));
      font-size: calc(100vw / ( 375 / 17 ));
      width: calc(100vw / ( 375 / 180 ));
      margin-bottom: calc(100vw / ( 375 / 15 ));
      background-size: calc(100vw / ( 375 / 60 )) auto; } }
.p-news2025-tab .c-tab__item {
  border-color: rgba(146, 70, 77, 0.7);
  color: rgba(146, 70, 77, 0.7); }
  .p-news2025-tab .c-tab__item:after {
    background-image: url("../img/icon_arrow_red_down.svg"); }
  .p-news2025-tab .c-tab__item.current {
    background: #426059;
    color: #fff; }
    .p-news2025-tab .c-tab__item.current:after {
      background-image: url("../img/icon_arrow_white_down.svg"); }
.p-news2025-ttl {
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  margin-bottom: 2.5em;
  font-size: calc(100vw / ( 1366 / 24 )); }
  @media screen and (min-width: 1367px) {
    .p-news2025-ttl {
      font-size: 24px; } }
  @media screen and (max-width: 767px) {
    .p-news2025-ttl {
      font-size: calc(100vw / ( 375 / 18 ));
      margin-bottom: 1.5em; } }
.p-news2025-list .forTtl {
  line-height: 1.65; }
  @media screen and (min-width: 768px) {
    .p-news2025-list .forTtl {
      display: flex;
      align-items: center; } }
  .p-news2025-list .forTtl .date {
    font-weight: 400;
    display: flex;
    align-items: center; }
    @media screen and (min-width: 768px) {
      .p-news2025-list .forTtl .date {
        width: calc(100vw / ( 1366 / 280 ));
        padding-right: calc(100vw / ( 1366 / 35 )); } }
    @media screen and (min-width: 1367px) {
      .p-news2025-list .forTtl .date {
        width: 280px;
        padding-right: 35px; } }
    @media screen and (max-width: 767px) {
      .p-news2025-list .forTtl .date {
        margin-bottom: 0.3em; } }
    .p-news2025-list .forTtl .date .cat {
      display: inline-block;
      color: #fff;
      border-radius: 1em;
      text-align: center;
      margin-left: 1em;
      width: calc(100vw / ( 1366 / 112 ));
      height: calc(100vw / ( 1366 / 24 ));
      line-height: calc(100vw / ( 1366 / 24 ));
      font-size: calc(100vw / ( 1366 / 12 )); }
      @media screen and (min-width: 1367px) {
        .p-news2025-list .forTtl .date .cat {
          width: 112px;
          height: 24px;
          line-height: 24px;
          font-size: 12px; } }
      @media screen and (max-width: 767px) {
        .p-news2025-list .forTtl .date .cat {
          width: calc(100vw / ( 375 / 112 ));
          height: calc(100vw / ( 375 / 24 ));
          line-height: calc(100vw / ( 375 / 24 ));
          font-size: calc(100vw / ( 375 / 12 )); } }
      .p-news2025-list .forTtl .date .cat01 {
        background: #426059; }
      .p-news2025-list .forTtl .date .cat02 {
        background: #646464; }
  @media screen and (min-width: 768px) {
    .p-news2025-list .forTtl .ttl {
      width: calc(100% - calc(100vw / ( 1366 / 190 ))); } }
  @media screen and (min-width: 1367px) {
    .p-news2025-list .forTtl .ttl {
      width: calc(100% - 190px); } }
  @media screen and (max-width: 767px) {
    .p-news2025-list .forTtl .ttl {
      display: block;
      line-height: 1.4; } }
@media screen and (min-width: 768px) {
  .p-news2025-list .forCtt {
    padding-left: calc(100vw / ( 1366 / 260 )); } }
@media screen and (min-width: 1367px) {
  .p-news2025-list .forCtt {
    padding-left: 260px; } }
.p-news2025-list .forCtt p {
  letter-spacing: 0.03em; }
  @media screen and (min-width: 768px) {
    .p-news2025-list .forCtt p {
      font-size: calc(100vw / ( 1366 / 17 )); } }
  @media screen and (min-width: 1367px) {
    .p-news2025-list .forCtt p {
      font-size: 17px; } }
  .p-news2025-list .forCtt p:not(:last-child) {
    margin-bottom: 1.5em; }

/*========== p-terms.scss ==========*/
.p-terms {
  font-size: calc(100vw / ( 1366 / 16 )); }
  @media screen and (min-width: 1367px) {
    .p-terms {
      font-size: 16px; } }
  @media screen and (max-width: 767px) {
    .p-terms {
      font-size: calc(100vw / ( 375 / 15 )); } }
  .p-terms-sec {
    margin-bottom: calc(100vw / ( 1366 / 30 )); }
    @media screen and (min-width: 1367px) {
      .p-terms-sec {
        margin-bottom: 30px; } }
    @media screen and (max-width: 767px) {
      .p-terms-sec {
        margin-bottom: calc(100vw / ( 375 / 30 )); } }
    .p-terms-sec .forTtl {
      color: #426059;
      font-weight: 600;
      letter-spacing: 0.03em;
      margin-bottom: 1em; }
    .p-terms-sec .forTbl {
      text-align: center;
      border-top: 1px solid #C1C1C1;
      width: 100%;
      border-collapse: collapse; }
      @media screen and (min-width: 768px) {
        .p-terms-sec .forTbl {
          margin: 0 auto;
          width: 87.5%; } }
      .p-terms-sec .forTbl tr th:not(:last-child), .p-terms-sec .forTbl tr td:not(:last-child) {
        border-right: 1px solid #C1C1C1; }
      .p-terms-sec .forTbl th {
        font-weight: 600;
        padding: 0.5em 0;
        border-bottom: 1px solid #C1C1C1; }
      .p-terms-sec .forTbl td {
        padding: 0.5em 0;
        border-bottom: 1px solid #C1C1C1; }
    .p-terms-sec p {
      line-height: 1.75; }
      .p-terms-sec p:not(:last-child) {
        margin-bottom: 1em; }
  .p-terms-date {
    text-align: right;
    margin-top: calc(100vw / ( 1366 / 45 )); }
    @media screen and (min-width: 1367px) {
      .p-terms-date {
        margin-top: 45px; } }
    @media screen and (max-width: 767px) {
      .p-terms-date {
        margin-top: calc(100vw / ( 375 / 45 )); } }

.p-top-mv_logo .soldout {
  position: absolute;
  bottom: -15px;
  right: calc(65 / 1366 * 100vw);
  width: calc(68 / 1366 * 100vw);
}
@media screen and (min-width: 1367px) {
  .p-top-mv_logo .soldout {
    right: 65px;
    width: 68px;
  }
}
@media screen and (max-width: 767px) {
  .p-top-mv_logo .soldout {
    bottom: 0;
    right: calc(100 / 767 * 100vw);
    width: 15vw;
  }
}

.btnwrap {
  margin: auto;
}
.btnwrap .btn02 {
  align-items: center;
  background: #000;
  border: 1px solid #FFF;
  border-radius: 100px;
  box-sizing: border-box;
  box-shadow: 2px 3px 0px rgba(0, 0, 0, 0.3);
  color: #FFF;
  display: flex;
  font-weight: bold;
  justify-content: center;
  margin: auto;
  position: relative;
  text-align: center;
}
.btnwrap .btn02:before {
  aspect-ratio: 1 / 1;
  background: url(../img/ar.svg) no-repeat;
  background-size: cover;
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  transform: rotate(-90deg);
}
.btnwrap .btn03 {
  align-items: center;
  background: #FFF;
  border-radius: 100px;
  box-sizing: border-box;
  box-shadow: 2px 3px 0px rgba(0, 0, 0, 0.3);
  color: #426059;
  cursor: pointer;
  display: flex;
  font-weight: bold;
  justify-content: center;
  letter-spacing: .1em;
  margin: auto;
  position: relative;
  text-indent: -2em;
}
.btnwrap .btn03 .ico-arr-cir {
  position: absolute;
}
.lead {
  background: url("../img/lead_bg.webp") no-repeat;
  background-size: cover;
}
.lead .btnwrap .btn03 {
  margin: auto;
  text-indent: 0;
}
.lead .btnwrap .btn03 span {
  align-items: center;
  display: flex;
  margin-left: -1em;
}
.lead .btnwrap .btn03 img {
  aspect-ratio: 1 / 1;
  display: inline-block;
  margin: 0 .25em;
  width: 2em;  
}
.forContactArea h3 {
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
  text-align: center;
}
.forContactArea h3:before {
  aspect-ratio: 20 / 22.5;
  content: "";
  display: block;
  margin: 0 auto;
  background: url(../img/icon_obj.svg) center no-repeat;
  background-size: cover;
}
.forContactArea_btn {
  align-items: center;
  background: #000;
  border: 1px solid #FFF;
  border-radius: 100px;
  box-sizing: border-box;
  box-shadow: 2px 3px 0px rgba(0, 0, 0, 0.3);
  color: #FFF;
  display: flex;
  font-weight: bold;
  justify-content: center;
  margin: auto;
  position: relative;
  text-align: center;
}
.forContactArea .forMove {
  margin-top: 1em;
  margin-bottom: 2em;
  text-align: center;
}
.forContactArea .forLink {
  text-align: center;
}
.forContactArea .forLink .forLink__item {
  position: relative;
}
.forContactArea .forLink .forLink__item .ico-arr-cir {
  display: inline-block;
  margin-left: 8px;
  vertical-align: middle;
}
.forContactArea .forLink .forLink__item:nth-of-type(1) {
  margin-bottom: 1em;
}
.forContactArea_btn02 {
  align-items: center;
  background: #FFF;
  border-radius: 100px;
  box-sizing: border-box;
  box-shadow: 2px 3px 0px rgba(0, 0, 0, 0.3);
  color: #426059;
  cursor: pointer;
  display: flex;
  font-weight: bold;
  justify-content: center;
  letter-spacing: .05em;
  margin: auto;
  position: relative;
  text-indent: -2em;
}
.forContactArea_btn02 .ico-arr-cir {
  position: absolute;
}
.contactProm {
  color: #FFF;
  text-align: center;
}
.contactProm_number {
  letter-spacing: .1em;
}
.contactProm_text span .ico-arr-cir {
  display: inline-block;
  margin-right: 8px;
  vertical-align: middle;
}
.contactProm_text02 {
  line-height: 2;
}
.contactProm_text02 .fs20 {
  font-weight: bold;
}
.contactProm_text03 {
  margin: auto;
  width: 87%;
}
.page__end h2 {
  font-family: "Shippori Mincho", serif;
  font-weight: normal;
  margin-bottom: 20px;
  text-align: center;
}
.page__end h2 span:before,
.page__end h2 span:after {
  background: #000;
  content: "";
  height: 1.5em;
  display: inline-block;width: 1px;
}
.page__end h2 span:before {
  transform: rotate(-45deg) translate(-1em, -.5em);
}
.page__end h2 span:after {
  transform: rotate(45deg) translate(1em, -.5em);
}
.bg_bnr {
  align-items: center;
  aspect-ratio: 100 / 42;
  background: url("../img/page_end_img.webp") no-repeat;
  background-size: cover;
  display: flex;
  justify-content: center;
  margin: auto;
  text-align: center;
}
.bg_bnr .inner h3 {
  color: #FFF;
  font-family: "Shippori Mincho", serif;
}
.bg_bnr .inner h3 span {
  display: block;
}
.bg_bnr .inner .btnwrap .btn02 {
  cursor: pointer;
  width: 100%;
}

#popupHotel .name span {
  margin-left: 1em;
}
#popupHotel .name span a {
  border-bottom: 1px solid #426059;
  font-family: "Noto Sans JP", sans-serif;
  padding-bottom: 3px;
}
#popupHotel .name span a {
  color: #426059;
}
.hotel .btns {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}
.hotel .btns li {
  width: 100%;
}
.hotel .btns span.ttl {
  background: linear-gradient(0deg, rgba(66,96,89,.15) 50%, transparent 50%);
  box-sizing: border-box;
  color: #000;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}
.hotel .btns .btn {
  box-sizing: border-box;
  box-shadow: 2px 3px 0px rgba(0,0,0,.5) !important;
  margin: 0 auto !important;
}
.hotel .btns .btn .ico-arr {
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  transform: rotate(-90deg);
  vertical-align: middle;
}
#popupHotel .btns .btn a {
  letter-spacing: .1em;
}
#popupHotel .btns .btn a:after {
  display: none;
}
#popupHotel .btns .btn:has(.typeA) {
  border: 1px solid #FFF;
}
#popupHotel .btns .btn:has(.typeB) {
  background: #FFF;
  border: 1px solid #426059;
}
#popupHotel .btns .btn a.typeB {
  color: #426059;
}
#popupHotel .btns .btn a.typeB .ico-arr {
  fill: #426059;
}
@media screen and (min-width: 768px) {
  #popupHotel .name span {
    font-size: calc(14 / 1366 * 100vw);
  }
  .hotel .btns {
    row-gap: calc(60 /1366 * 100vw);
    margin-top: calc(50 / 1366 * 100vw);
  }
  .hotel .btns span.ttl {
    font-size: calc(16 / 1366 * 100vw);
    margin-bottom: calc(16 / 1366 * 100vw);
    padding-bottom: calc(6 / 1366 * 100vw);
  }
  .hotel .btns .btn {
    font-size: calc(18 / 1366 * 100vw);
    width: calc(330 / 1366 * 100vw);
  }
  .hotel .btns .btn .ico-arr {
    right: calc(30 / 1366 * 100vw);
    width: calc(13 / 1366 * 100vw);
  }
}
@media screen and (min-width: 1367px) {
  #popupHotel .name span {
    font-size: 14px;
  }
  .hotel .btns {
    row-gap: 60px;
    margin-top: 50px;
  }
  .hotel .btns span.ttl {
    font-size: 16px;
    margin-bottom: 16px;
    padding-bottom: 6px;
  }
  .hotel .btns .btn {
    font-size: 18px;
    width: 330px;
  }
  .hotel .btns .btn .ico-arr {
    right: 30px;
    width: 13px;
  }
}
@media screen and (max-width: 767px) {
  #popupHotel .name span {
    display: block;
    font-size: calc(14 / 375 * 100vw);
    margin: 1em auto 0;
  }
  .hotel .btns {
    margin-top: calc(50 / 375 * 100vw);
    row-gap: calc(30 / 375 * 100vw);
  }
  .hotel .btns .btn .ico-arr {
    width: calc(13 / 375 * 100vw);
  }
  #popupHotel .btns .btn {
    margin-top: 1em !important;
  }
  .hotel .btns span.ttl {
    display: inline;
  }
}


@media screen and (min-width: 768px) and (max-width: 1365px) {
  .btnwrap {
    text-align: center;
    width: calc(100vw / (1366 / 430));
  }
}



@media screen and (min-width: 768px) {
  .fs20 {
    font-size: calc(20 / 1366 * 100vw);
  }
  .btnwrap .btn02 {
    height: calc(70 / 1366 * 100vw);
    margin-bottom: calc(30 / 1366 * 100vw);
    width: calc(460 / 1366 * 100vw);
    text-indent: -1em;
  }
  .btnwrap .btn02:before {
    right: calc(30 / 1366 * 100vw);
    height: calc(32 / 1366 * 100vw);
    width: calc(32 / 1366 * 100vw);
  }
  .btnwrap .btn03 {
    height: calc(70 / 1366 * 100vw);
    margin-top: calc(20 / 1366 * 100vw);
    margin-bottom: calc(20 / 1366 * 100vw);
    width: calc(330 / 1366 * 100vw);
  }
  .btnwrap .btn03 .ico-arr-cir {
    right: calc(30 / 1366 * 100vw);
    width: calc(32 / 1366 * 100vw);
  }
  .lead {
    padding: calc(100 / 1366 * 100vw) 0 calc(90 / 1366 * 100vw);
    margin-bottom: calc(100 / 1366 * 100vw);
  }
  .lead .btnwrap {
    margin: calc(80 / 1366 * 100vw) auto 0;
  }
  .forContactArea h3 {
    font-size: calc(24 / 1366 * 100vw);
    margin-bottom: calc((30 / 1366 * 100vw));
  }
  .forContactArea h3:before {
    margin: calc(50 / 1366 * 100vw) auto;
    width: calc(20 / 1366 * 100vw);
  }
  .forContactArea_btn {
    height: calc(70 / 1366 * 100vw);
    width: calc(430 / 1366 * 100vw);
    text-indent: -1em;
  }
  .forContactArea .forMove {
    font-size: calc(16 / 1366 * 100vw);
  }
  .forContactArea .forLink {
    font-size: calc(16 / 1366 * 100vw);
    margin-bottom: calc(60 / 1366 * 100vw);
  }
  .forContactArea .forLink .forLink__item .ico-arr-cir {
    width: calc(25 / 1366 * 100vw);
  }
  .forContactArea_btn02 {
    height: calc(70 / 1366 * 100vw);
    margin-bottom: calc(40 / 1366 * 100vw);
    width: calc(350 / 1366 * 100vw);
  }
  .forContactArea_btn02 .ico-arr-cir {
    right: calc(30 / 1366 * 100vw);
    width: calc(32 / 1366 * 100vw);
  }
  .contactProm {
    font-size: calc(18 / 1366 * 100vw);
  }
  .contactProm_text {
    margin-bottom: calc(30 / 1366 * 100vw);
  }
  .contactProm_text span .ico-arr-cir {
    width: calc(25 / 1366 * 100vw);
  }
  .contactProm_text_tit {
    margin-bottom: calc(20 / 1366 * 100vw);
  }
  .contactProm_number {
    font-size: calc(24 / 1366 * 100vw);
    margin-bottom: calc(20 / 1366 * 100vw);
  }
  .contactProm_time {
    font-size: calc(16 / 1366 * 100vw);
    margin-bottom: calc(30 / 1366 * 100vw);
  }
  .contactProm_text02 {
    margin-bottom: calc(90 / 1366 * 100vw);
  }
  .page__end {
    padding: calc(150 / 1366 * 100vw) 0;
    
  }
  .page__end h2 {
    font-size: calc(18 / 1366 * 100vw);
  }
  .bg_bnr {
    width: calc(1000 / 1366 * 100vw);
  }
  .bg_bnr .inner {
    margin-top: calc(100 / 1366 * 100vw);
  }
  .bg_bnr .inner h3 {
    font-size: calc(29 / 1366 * 100vw);
    margin-bottom: calc(20 / 1366 * 100vw);
  }
  .bg_bnr .inner h3 span {
    font-size: calc(48 / 1366 * 100vw);
  }
  .bg_bnr .inner .btnwrap {
    width: calc(530 / 1366 * 100vw);
  }
}
@media screen and (min-width: 1367px) {
  .fs20 {
    font-size: 20px;
  }
  .btnwrap .btn02 {
    height: 70px;
    margin-bottom: 30px;
    width: 460px;
  }
  .btnwrap .btn02:before {
    right: 30px;
    height: 32px;
    width: 32px;
  }
  .btnwrap .btn03 {
    height: 70px;
    margin-top: 20px;
    margin-bottom: 20px;
    width: 330px;
  }
  .btnwrap .btn03 .ico-arr-cir {
    right: 30px;
    width: 32px;
  }
  .lead {
    padding: 100px 0 80px;
    margin-bottom: 100px;
  }
  .lead .btnwrap {
    margin: 80px auto 0;
  }
  .forContactArea h3 {
    font-size: 24px;
    margin-bottom: 30px;
  }
  .forContactArea h3:before {
    margin: 50px auto;
    width: 20px;
  }
  .forContactArea_btn {
    height: 70px;
    width: 430px;
  }
  .forContactArea .forMove {
    font-size: 16px;
  }
  .forContactArea .forLink {
    font-size: 16px;
    margin-bottom: 60px;
  }
  .forContactArea .forLink .forLink__item .ico-arr-cir {
    width: 25px;
  }
  .forContactArea_btn02 {
    height: 70px;
    margin-bottom: 40px;
    width: 350px;
  }
  .forContactArea_btn02 .ico-arr-cir {
    right: 30px;
    width: 32px;
  }
  .contactProm {
    font-size: 18px;
  }
  .contactProm_text {
    margin-bottom: 30px;
  }
  .contactProm_text span .ico-arr-cir {
    width: 25px;
  }
  .contactProm_text_tit {
    margin-bottom: 20px;
  }
  .contactProm_time {
    font-size: 16px;
    margin-bottom: 30px;
  }
  .contactProm_text02 {
    margin-bottom: 90px;
  }
  .page__end {
    padding: 150px 0;
  }
  .page__end h2 {
    font-size: 18px;
  }
  .bg_bnr {
    width: 1000px;
  }
  .bg_bnr .inner {
    margin-top: 100px;
  }
  .bg_bnr .inner h3 {
    font-size: 29px;
    margin-bottom: 20px;
  }
  .bg_bnr .inner h3 span {
    font-size: 48;
  }
  .bg_bnr .inner .btnwrap {
    width: 530px;
  }
}
@media screen and (max-width: 767px) {
  .lead {
    padding: calc(100 / 375 * 100vw) 0 calc(60 / 375 * 100vw);
    margin-bottom: calc(25 / 375 * 100vw) 0;;
  }
  .lead .btnwrap {
    margin: calc(60 / 375 * 100vw) 0;
  }
  .page__end {
    padding: calc(75 / 375 * 100vw) 0;
  }
  .page__end h2 {
    font-size: calc(14 / 375 * 100vw);;
  }
  .page__end h2 span {
    display: inline-block;
    position: relative;
  }
  .page__end h2 span:before,
  .page__end h2 span:after {
    display: block;
    position: absolute;
    bottom: 0;
  }
    .page__end h2 span:before {
      left: 0;
    }
    .page__end h2 span:after {
      right: 0;
    }
  .lead .btnwrap .btn03,
  .p-top-flow .btnwrap .btn02,
  .p-top-flow .btnwrap .btn03 {
    height: calc(144 / 750 * 100vw);
    margin-bottom: calc(40 / 750 * 100vw);
    width: calc(600 / 750 * 100vw);
  }
  .p-top-flow .btnwrap .btn02:before {
    background-size: calc(40 / 750 * 100vw);
    background-position: center;
    position: absolute;
    right: 0;
  }
  .lead .btnwrap .btn03 .ico-arr-cir,
  .p-top-flow .btnwrap .btn03 .ico-arr-cir {
    right: calc(60 / 750 * 100vw);
    width: calc(40 / 750 * 100vw);
  }
  .forContactArea h3:before {
    margin-bottom: 1.875em;
    width: calc(30 / 750 * 100vw);
  }
  .forContactArea .btnwrap {
    margin-top: calc(40 / 750 * 100vw);
  }
  .forContactArea .btnwrap .btn02,
  .forContactArea .forContactArea_btn02 {
    height: calc(144 / 750 * 100vw);
    width: calc(600 / 750 * 100vw);
  }
  .forContactArea .btnwrap .btn02:before {
    background-size: calc(40 / 750 * 100vw);
    background-position: center;
    position: absolute;
    right: 0;
  }
  .forContactArea .forLink {
    white-space: nowrap;
  }
  .forContactArea .forLink .forLink__item .ico-arr-cir {
    width: calc(50 / 750 * 100vw);
  }
  .forContactArea_btn02 {
    margin: calc(40 / 750 * 100vw) auto calc(60 / 750 * 100vw);
  }
  .forContactArea_btn02 .ico-arr-cir {
    right: calc(60 / 750 * 100vw);
    width: calc(40 / 750 * 100vw);
  }
  .contactProm_text span .ico-arr-cir {
    width: calc(50 / 750 * 100vw);
  }
  #HOTEL .hotels li:nth-child(odd) {
    width: calc(100vw / ( 375 / 180 ));
  }
  
}
/* ===============
予約定期券入力モーダル
=============== */
.login__md {
  background: rgba(255, 255, 255, 0.8);
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}
.login__md__inner {
  background-color: #426059;
  background-image: url(../img/md_bg.svg), url(../img/md_bg.svg);
  background-repeat: repeat-y, repeat-y;
  background-position: left 20px center, right 20px center;
  margin: auto;
  height: 100%;
  padding: 110px 0 130px;
  position: relative;
  width: 1000px;
}
.login__md .close {
    z-index: 110;
    position: absolute;
    top: 50px;
    right: 50px;
    width: 42px;
    cursor: pointer;
}
.login__md__inner__ttl {
  margin-bottom: 60px;
}
.login__md__inner__ttl p {
  color: #FFF;
  font-family: "Shippori Mincho", serif;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: .1em;
  text-align: center;
}
.login__md__inner__content {
  display: flex;
  justify-content: space-between;
  margin: auto;
  width: 600px;
}
.login__md__inner__content figure {
  border-radius: 15px;
  width: 230px;
}
.login__md__inner__content figure img {
  box-shadow: 2px 7px 20px rgba(0,0,0,.23);
}
.login__md__inner__content .form {
  color: #FFF;
  width: 300px;
}
.login__md__inner__content .form dl dt {
  align-items: center;
  background: #000;
  display: flex;
  font-size: 16px;
  font-weight: bold;
  height: 35px;
  letter-spacing: .05em;
  margin-bottom: 20px;
  padding-left: 10px;
}
.login__md__inner__content .form .select-plan {
  margin-bottom: 30px;
}
.login__md__inner__content .form .select-plan li {
  align-items: center;
  display: flex;
  column-gap: 8px;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: .05em;
  margin-bottom: 10px;
  position: relative;
}
.login__md__inner__content .form .select-plan li input {
  position: relative;
  margin: 0;
}
.login__md__inner__content .form .select-plan li input:before {
  background: #FFF;
  border: 1px solid #CCCCCC;
  border-radius: 100px;
  box-sizing: border-box;
  box-shadow: inset 0px 3px 6px rgba(0,0,0,.16);
  content: "";
  display: block;
  height: 28px;
  margin: auto;
  width: 28px;
}
.login__md__inner__content .form .select-plan li:has(input:checked) input:after {
  background: #000;
  border-radius: 100px;
  content: "";
  display: block;
  height: 14px;
  position: absolute;
  left: 7px;
  top: 7px;
  width: 14px;
  z-index: +1;
}
.login__md__inner__content .form .select-plan li label span {
  font-size: 12px;
}
.login__md__inner__content .form dl dd .fs12 {
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 12px;
}
.login__md__inner__content .form dl dd .number-entry {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.login__md__inner__content .form dl dd .number-entry p {
  font-size: 26px;
  font-weight: 100;
  letter-spacing: .05em;
}
.login__md__inner__content .form dl dd .number-entry input {
  align-items: center;
  background: #FFF;
  box-shadow: inset 2px 2px 4px rgba(0,0,0,.16);
  display: flex;
  font-size: 30px;
  height: 44px;
  text-align: center;
  letter-spacing: .1em;
  width: 198px;
}
.login__md__inner__content .form dl dd .number-entry input::placeholder {
  color: #D1D1D1;
}
.login__md__inner__content .form .btnBc {
  align-items: center;
  border: none;
  color: #FFF;
  display: flex;
  justify-content: center;
  font-size: 16px;
  font-weight: bold;
  height: 52px;
  margin-top: 45px;
  margin-left: 0;
  position: relative;
  text-indent: -2em;
  width: 200px;
}
.login__md__inner__content .form .btnBc:before {
  background-image: url(../img/ar.svg);
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  height: 32px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  transform: rotate(-90deg);
  right: 15px;
  width: 32px;
}
@media screen and (max-width: 767px) {
  .login__md {
    background: #426059;
    box-sizing: border-box;
    padding: calc(10 / 750 * 100vw);
    height: 100%;
  }
  .login__md__inner {
    background-image: none;
    border: 1px solid #FFF;
    box-sizing: border-box;
    padding: calc(200 / 750 * 100vw) 0 calc(100 / 750 * 100vw);
    overflow-y: scroll;
    width: 100%;
  }
  .login__md .close {
    position: fixed;
    top: 5vw;
    right: 5vw;
    width: 9vw;
  }
  .login__md__inner__ttl {
    margin-bottom: calc(40 / 750 * 100vw);
  }
  .login__md__inner__ttl p {
    font-size: calc(32 / 750 * 100vw);
  }
  .login__md__inner__content {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: calc(60 / 750 * 100vw);
    width: 100%;
  }
  .login__md__inner__content figure {
    width: calc(290 / 750 * 100vw);
  }
  .login__md__inner__content .form {
    width: calc(570 / 750 * 100vw);
  }
  .login__md__inner__content .form dl dt {
     height: calc(64 / 750 * 100vw);
     font-size: calc(28 / 750 * 100vw);
     margin-bottom: calc(40 / 750 * 100vw);
     padding-left: calc(40 / 750 / 100vw);
  }
  .login__md__inner__content .form .select-plan li {
    column-gap: calc(16 / 750 * 100vw);;
    font-size: calc(36 / 750 * 100vw);
    margin-bottom: calc(32 / 750 * 100vw);
  }
  .login__md__inner__content .form .select-plan li label {
    padding-left: 1em;
  }
  .login__md__inner__content .form .select-plan li label span {
    font-size: calc(24 / 750 * 100vw);
  }
  .login__md__inner__content .form .select-plan li input:before {
    height: calc(38 / 750 * 100vw);
    width: calc(38 / 750 * 100vw);
    position: absolute;
    top: 0;
    bottom: 0;
  }
  .login__md__inner__content .form .select-plan li input {
    padding-inline: 0px;
    padding-block: 0px;
  }
  .login__md__inner__content .form .select-plan li:has(input:checked) input:after {
    height: calc(20 / 750 * 100vw);
    top: 0;
    bottom: 0;
    margin: auto;
    left: calc(8.5 / 750 * 100vw);
    width: calc(20 / 750 * 100vw);
  }
  .login__md__inner__content .form .select-plan {
    margin-bottom: calc(60 / 750 * 100vw);
  }
  .login__md__inner__content .form dl dd .fs12 {
    font-size: calc(24 / 750 * 100vw);
  }
  .login__md__inner__content .form dl dd .number-entry p {
    font-size: calc(52 / 750 * 100vw);
  }
  .login__md__inner__content .form dl dd .number-entry input {
    font-size: calc(60 / 750 * 100vw);
    height: calc(82 / 750 * 100vw);
    width: calc(360 / 750 * 100vw);
  }
  .login__md__inner__content .form .btnBc {
    font-size: calc(30 / 750 * 100vw);;
    height: calc(96 / 750 * 100vw);
    margin-top: calc(60 / 750 * 100vw);
    margin-left: auto;
    width: calc(380 / 750 * 100vw);
  }
  .login__md__inner__content .form .btnBc:before {
    height: calc(60 / 750 * 100vw);
    right: calc(30 / 750 * 100vw);;
    width: calc(60 / 750 * 100vw);
  }
  .page__end h2 {
    margin-bottom: calc(30 / 750 * 100vw);
  }
  .bg_bnr {
    aspect-ratio: 768 / 970;
    background: url("../img/page_end_img_sp.webp") no-repeat;
    background-size: cover;
    width: calc(600 / 750 * 100vw);
  }
  .bg_bnr .inner {
    padding-top: calc(100 / 750 * 100vw);
  }
  .bg_bnr .inner h3 {
    font-size: calc(36 / 750 * 100vw);
  }
  .bg_bnr .inner h3 span {
    font-size: calc(66 / 750 * 100vw);
  }
  .bg_bnr .btnwrap .btn02 {
    height: calc(144 / 750 * 100vw);
    width: calc(540 / 750 * 100vw) !important;
  }
  .bg_bnr .btnwrap {
    margin-top: calc(20 / 750 * 100vw);
  }
  .bg_bnr .btnwrap .btn02:before {
    height: calc(36 / 750 * 100vw);
    right: calc(40 / 750 * 100vw);
  }
}






.bookingProcess {
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
  margin-bottom: calc(20 / 1366 * 100vw);
}
@media screen and (min-width: 1367px) {
  .bookingProcess {
    margin-bottom: 20px;
  }
}
.bookingProcess .ico-arr {
  display: block;
  margin: .75em auto;
  width: 14.27px;
}

.p-top-outlineWrap {
  padding-left: 0;
}
.p-top-outline {
  background: #426059;
  margin-bottom: 0;
  padding-bottom: 0;
}
.plan__wrap {
  border: 1px solid #fff;
}
.plan__inner {
  max-width: 1366px;
  margin: auto;
  position: relative;
}
.p-top-outline_ph {
  left: calc(100vw / (1366 / -10));
}
.p-top-outline__bg {
  border: none;
  padding-bottom: 0;
}
.p-top-outline_plan {
  margin: auto;
}
@media screen and (max-width: 767px) {
  .plan__wrap {
    padding-bottom: calc(100 / 750 * 100vw);
  }
  .p-top-outline_ph {
    left: calc(100vw / ( 375 / -6 ));
  }
}
/* ==================================================
TOP　calendar
================================================== */
.p-top-reserve {
  margin-top: -1px;
}
@media screen and (min-width: 768px) {
  .p-top-reserve {
    padding: 0 calc(100vw / ( 1366 / 10 )) calc(100vw / ( 1366 / 10 ));
  }
}
@media screen and (min-width: 1367px) {
  .p-top-reserve {
    padding: 0 10px 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-top-reserve {
    padding: 0 calc(100vw / ( 375 / 5 ));
  }
}


.p-top-reserve .p-top-reserve_wrap {
  border: 1px solid #FFF;
}
@media screen and (min-width: 768px) {
  .p-top-reserve .p-top-reserve_wrap {
    padding-bottom: calc(100 / 1366 * 100vw);
  }
}
@media screen and (min-width: 1367px) {
  .p-top-reserve .p-top-reserve_wrap {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .p-top-reserve .p-top-reserve_wrap {
    padding-bottom: calc(120 / 750 * 100vw);
  }
}


.p-top-reserve .ac_btn__wrap {
  border-bottom: 1px solid #FFF;
}
@media screen and (min-width: 768px) {
  .p-top-reserve .ac_btn__wrap {
    padding: calc(30 / 1366 * 100vw) 0;
  }
}
@media screen and (min-width: 1367px) {
  .p-top-reserve .ac_btn__wrap {
    padding: 30px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top-reserve .ac_btn__wrap {
    padding: calc(40 / 750 * 100vw) 0;
  }
}


.p-top-reserve .ac_btn__wrap .btn01 {
  align-items: center;
  background: #000;
  border: 1px solid #FFF;
  border-radius: 100px;
  box-sizing: border-box;
  box-shadow: 2px 3px 0px rgba(0, 0, 0, 0.3);
  color: #FFF;
  cursor: pointer;
  display: flex;
  font-weight: bold;
  justify-content: center;
  margin: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top-reserve .ac_btn__wrap .btn01 {
    height: calc(70 / 1366 * 100vw);
    width: calc(467 / 1366 * 100vw);
    text-indent: -1em;
  }
}
@media screen and (min-width: 1367px) {
  .p-top-reserve .ac_btn__wrap .btn01 {
    height: 70px;
    width: 467px;
  }
}
@media screen and (max-width: 767px) {
  .p-top-reserve .ac_btn__wrap .btn01 {
    height: calc(144 / 750 * 100vw);;
    width: calc(590 / 750 * 100vw);
  }
}

.p-top-reserve .ac_btn__wrap .btn01 {
  position: relative;
}
.p-top-reserve .ac_btn__wrap .btn01 .ico-arr {
  position: absolute;
}
.p-top-reserve .ac_btn__wrap .btn01.open .ico-arr {
  display: none;
}
.p-top-reserve .ac_btn__wrap .btn01 .ico-cross {
  display: none;
  fill: #FFF;
  position: absolute;
}
.p-top-reserve .ac_btn__wrap .btn01.open .ico-cross {
  display: block;
}
@media screen and (min-width: 768px) {
  .p-top-reserve .ac_btn__wrap .btn01 .ico-arr {
    right: calc(30 / 1366 * 100vw);
    width: calc(23 / 1366 * 100vw);
  }
  .p-top-reserve .ac_btn__wrap .btn01 .ico-cross {
    right: calc(30 / 1366 * 100vw);
    width: calc(22 / 1366 * 100vw);
  }
}
@media screen and (min-width: 1366px) {
  .p-top-reserve .ac_btn__wrap .btn01 .ico-arr {
    right: 30px;
    width: 23px;
  }
  .p-top-reserve .ac_btn__wrap .btn01 .ico-cross {
    right: 30px;
    width: 22px;
  }
}
@media screen and (max-width: 767px) {
  .p-top-reserve .ac_btn__wrap .btn01 .ico-arr {
    right: calc(30 / 750 * 100vw);
    width: calc(23 / 750 * 100vw);
  }
  .p-top-reserve .ac_btn__wrap .btn01 .ico-cross {
    right: calc(30 / 750 * 100vw);
    width: calc(22 / 750 * 100vw);
  }
}

.p-top-reserve .ac_btn__wrap .btn01 span {
  text-align: center;
}
.p-top-reserve .ac_btn__wrap .btn01 span.ac_open {
  display: none;
}
.p-top-reserve .ac_btn__wrap .btn01.open span.ac_open {
  display: inline;
}
.p-top-reserve .ac_btn__wrap .btn01.open span.ac_close {
  display: none;
}

.p-top-reserve .ac_wrap {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-top-reserve .ac_wrap {
    margin-top: calc(35 / 1366 * 100vw);
  }
}
@media screen and (min-width: 1367px) {
  .p-top-reserve .ac_wrap {
    margin-top: 35px;
  }
}


@media screen and (min-width: 768px) {
  .p-top-reserve .precedent li {
    margin-bottom: calc(45 / 1366 * 100vw);
  }
}
@media screen and (min-width: 1367px) {
  .p-top-reserve .precedent li {
    margin-bottom: 45px;
  }
}


@media screen and (min-width: 768px) {
  #HOTEL {
    margin-top: calc(50 / 1366 * 100vw);
  }
}
@media screen and (min-width: 1367px) {
  #HOTEL {
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  #HOTEL {
    margin-top: calc(70 / 750 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .p-top-reserve .precedent_note{
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .p-top-reserve__inner.part02 {
    border-bottom: none;
    margin: auto;
  }
}

@media screen and (min-width: 767px) {
  .p-top-reserve__inner.part03 {
    padding-top: calc(100 / 1366 * 100vw);
  }
}
@media screen and (min-width: 1367px) {
  .p-top-reserve__inner.part03 {
    padding-top: 100px;
  }
}
#HOTEL .hotels li:nth-child(odd),
#HOTEL .hotels li {
  border-color: #426059;
}
.p-top-reserve .calender_btn span {
  color: #426059;
}
#calenderButton .ico-arr-cir {
  color: #426059;
  position: absolute;
}
@media screen and (min-width: 767px) {
  #calenderButton {
    margin-bottom: calc(80 / 1366 * 100vw);
  }
  #calenderButton .ico-arr-cir {
    right: calc(30 / 1366 * 100vw);
    width: calc(32 / 1366 * 100vw);
  }
}
@media screen and (min-width: 1367px) {
  #calenderButton {
    margin-bottom: 80px;
  }
  #calenderButton .ico-arr-cir {
    right: 30px;
    width: 32px;
  }
}
@media screen and (max-width: 767px) {
  #calenderButton {
    margin-bottom: calc(100 / 750 * 100vw);
  }
  #calenderButton .ico-arr-cir {
    right: calc(30 / 750 * 100vw);
    width: calc(32 / 750 * 100vw);
  }
}

.txt-center { text-align: center; }
@media screen and (min-width: 768px) {
  .fs16 { font-size: calc(16 / 1366 * 100vw); }
  .fs18 { font-size: calc(18 / 1366 * 100vw); }
  .fs20 { font-size: calc(20 / 1366 * 100vw); }
}
@media screen and (min-width: 1367px) {
  .fs16 { font-size: 16px; }
  .fs18 { font-size: 18px; }
  .fs20 { font-size: 20px; }
}





.svgs {
  display: none;
}
.ico-arr {
  aspect-ratio: 11.3 / 14.3;
  fill: #FFF;
  stroke-width: 1;
}
.ico-arr-cir {
  aspect-ratio: 1 / 1;
}
.ico-arr-cir circle {
  fill: none;
}
.ico-arr-cir.toR {
  transform: rotate(-90deg);
}
.ico-cross {
  aspect-ratio: 22 / 20;
}




/* ==================================================
予約導線ページ
================================================== */
.teiki2026.reserve .ttl {
  color: #FFF;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
  text-align: center;
}
.teiki2026.reserve .p-top-reserve {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .teiki2026.reserve .p-top-reserve {
    padding: calc(10 / 1366 * 100vw);
  }
  .teiki2026.reserve .ttl {
    font-size: calc(32 / 1366 * 100vw);
    margin-bottom: calc(90 / 1366 * 100vw);
  }
  .teiki2026.reserve .p-top-reserve_wrap {
    padding-top: calc(130 / 1366 * 100vw);
  }
  .teiki2026.reserve .contactProm {
    margin: calc(150 / 1366 * 100vw) auto;
  }
}
@media screen and (min-width: 1367px) {
  .teiki2026.reserve .p-top-reserve {
    padding: 10px;
  }
  .teiki2026.reserve .ttl {
    font-size: 32px;
    margin-bottom: 90px;
  }
  .teiki2026.reserve .p-top-reserve_wrap {
    padding-top: 130px;
  }
  .teiki2026.reserve .contactProm {
    margin: 150px auto;
  }
}
@media screen and (max-width: 767px) {
  .teiki2026.reserve .p-top-reserve {
    padding: 0;
  }
  .winter .p-top-reserve .p-top-reserve_wrap {
    border: none;
  }
  .teiki2026.reserve .ttl {
    font-size: calc(40 / 750 * 100vw);
    margin-bottom: calc(70 / 750 * 100vw);
  }
  .teiki2026.reserve .p-top-reserve_wrap {
    padding-top: calc(90 / 750 * 100vw);
  }
  .teiki2026.reserve .contactProm {
    margin: calc(120 / 750 * 100vw) auto calc(160 / 750 * 100vw);
  }
  #popupHotel .btn a:after {
    right: calc(100vw / ( 375 / 40 ));
  }
  .teiki2026.reserve #popupHotel .btn a {
    padding: 0;
    text-align: center;
    text-indent: -1em;
  }
}
.p-top-news .forItems-item .date .cat04 {
  background: #426059;
}
#HOTEL .hotels li.prevent {
  pointer-events: none;
}
#HOTEL .hotels li.prevent .detailBtn .nonLink {
  background: #DDD;
  border: none;
  box-shadow: none;
  color: #888;
}