/*========== 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: #92464D;
  color: #92464D; }
  .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/2025/nav_bg_sp.svg") 0 0 no-repeat #fff;
      background-size: cover; }
      .p-nav.forTeiki .navigation--content {
        border: 1px solid #92464D;
        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: #92464D; }
    @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: #92464D;
      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: #92464D; } }
  @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/2025/index/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/2025/index/mv_bg_pc.webp") left top no-repeat;
      background-size: cover; } }
  @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 #92464D; }
    @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: #92464D; }
      .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: #92464D;
  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/2025/index/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/2025/index/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: #92464D;
  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: #92464D; } }
    .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/2025/index/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/2025/index/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/2025/index/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: #92464D;
        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 .calender_btn span:after {
          content: "";
          display: block;
          width: 1.6em;
          height: 1.6em;
          border: 1px solid #92464D;
          border-radius: 50%;
          margin-left: 1em;
          background: url("../../img/icon_arrow_red.svg") center no-repeat;
          background-size: 40% auto;
          transform: rotate(90deg); }
          @media screen and (max-width: 767px) {
            .p-top-reserve .calender_btn span:after {
              width: 1.125em;
              height: 1.125em; } }
  .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/2025/index/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/2025/index/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/2025/index/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/2025/index/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 / 100 )); }
  @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: 100px; } }
  @media screen and (max-width: 767px) {
    .p-top-about_intro {
      line-height: 1.75;
      margin-bottom: calc(100vw / ( 375 / 37 )); } }
.p-top-about_point {
  background: #92464D;
  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: #92464D;
      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/2025/index/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/2025/index/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/2025/index/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/2025/index/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: #92464D;
  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: #92464d;
          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; }
          .p-top-outline_plan .forLink__item a:after {
            content: "";
            display: block;
            position: absolute;
            right: -2em;
            top: 50%;
            transform: translateY(-50%);
            border: 1px solid #fff;
            border-radius: 50%;
            background: url("../../img/icon_arrow_white.svg") center no-repeat;
            background-size: 50%;
            width: calc(100vw / ( 1366 / 25 ));
            height: calc(100vw / ( 1366 / 25 )); }
            @media screen and (min-width: 1367px) {
              .p-top-outline_plan .forLink__item a:after {
                width: 25px;
                height: 25px; } }
            @media screen and (max-width: 767px) {
              .p-top-outline_plan .forLink__item a:after {
                width: calc(100vw / ( 375 / 25 ));
                height: calc(100vw / ( 375 / 25 )); } }
    @media screen and (min-width: 768px) {
      .p-top-outline_plan .forContactArea {
        text-align: center;
        width: calc(100vw / ( 1366 / 520 )); } }
    @media screen and (min-width: 1367px) {
      .p-top-outline_plan .forContactArea {
        width: 520px; } }
    .p-top-outline_plan .forContactArea_btn {
      background: #fff;
      color: #92464D;
      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 )); }
      .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; } }
      @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 {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%) rotate(90deg);
        border: 1px solid #92464D;
        border-radius: 50%;
        background: url("../../img/icon_arrow_red.svg") center no-repeat;
        background-size: 40% auto;
        width: calc(100vw / ( 1366 / 32 ));
        height: calc(100vw / ( 1366 / 32 ));
        right: calc(100vw / ( 1366 / 54 )); }
        @media screen and (min-width: 1367px) {
          .p-top-outline_plan .forContactArea_btn:after {
            width: 32px;
            height: 32px;
            right: 54px; } }
        @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 #92464D;
        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 #92464D; } }
    #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 #92464D;
    box-shadow: 2px 3px 1px rgba(0, 0, 0, 0.3);
    color: #92464D;
    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/2025/index/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/2025/index/icon_detail_bed.svg); }
    #popupHotel dd.futon {
      background-image: url(../../img/2025/index/icon_detail_futon.svg); }
    #popupHotel dd.bath {
      background-image: url(../../img/2025/index/icon_detail_bath.svg); }
    #popupHotel dd.shower {
      background-image: url(../../img/2025/index/icon_detail_shower.svg); }
    #popupHotel dd.walk {
      background-image: url(../../img/2025/index/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/2025/index/icon_detail_bus.svg); }
    #popupHotel dd.map {
      background-image: url(../../img/2025/index/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: #92464D;
    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: #92464D; }

/*========== p-news2025.scss ==========*/
.p-news2025-year {
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  color: #fff;
  background: url("../../img/index/about_obj01.svg") 107% center no-repeat #92464D;
  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: #92464D;
    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: #92464D; }
      .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: #92464D;
      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;
  }
}

.p-news2025-list .forTtl .date .cat04 {
  background: #426059;
}