/*! Writen	by SCSS */
.holiday_box {
  margin-top: clamp(30px, 4.17%, 50px);
  text-align: center; }
  .holiday_box > p {
    color: #bf2937;
    font-weight: bold; }
  .holiday_box .holiday_ttl {
    font-size: clamp(16px, 2.25vw, 28px);
    margin-bottom: 1em;
    line-height: 1;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 480px) {
      .holiday_box .holiday_ttl {
        font-size: calc(20vw/3.9); } }
  .holiday_box .holiday_copy {
    line-height: 1.3;
    letter-spacing: 0.05em;
    font-size: clamp(13px, 1.61vw, 20px); }
    @media screen and (max-width: 480px) {
      .holiday_box .holiday_copy {
        font-size: calc(15vw/3.9);
        line-height: 1.4; } }
    .holiday_box .holiday_copy + .holiday_copy {
      margin-top: 0.1em; }

.inner {
  max-width: 1080px;
  width: calc(100% - 40px);
  margin: 0 auto; }

.flex {
  display: flex;
  justify-content: space-between; }

.flex_wrap {
  flex-wrap: wrap; }

.flex_rr {
  flex-direction: row-reverse; }

.pos_r {
  position: relative; }

.pos_a {
  position: absolute; }

.sec {
  letter-spacing: 0; }

.sec_content {
  padding-top: clamp(80px, 10%, 120px); }

.sec_plan > .inner {
  padding-bottom: clamp(80px, 10%, 120px);
  border-bottom: 1px solid; }

main {
  padding-top: 0; }

.sec_main {
  position: relative;
  overflow: hidden; }
  .sec_main::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 47.47%; }
    @media screen and (max-width: 480px) {
      .sec_main::before {
        padding-top: 127.4%; } }
  .sec_main .main_video {
    position: absolute;
    inset: 0;
    width: 100%; }
  .sec_main .main_image {
    position: absolute;
    pointer-events: none;
    inset: 0;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s ease-in-out; }
  .sec_main.movie_end .main_image {
    opacity: 1;
    pointer-events: all; }
  .sec_main video,
  .sec_main img {
    width: 100%; }

@media screen and (max-width: 480px) {
  .mb0_sp {
    margin-bottom: 0 !important; } }

@media screen and (max-width: 480px) {
  .pb0_sp {
    padding-bottom: 0 !important; } }

.sec_merit {
  background: #fff;
  color: #333;
  text-align: center;
  padding-bottom: clamp(40px, 5%, 60px);
  font-weight: 900;
  padding-bottom: 0; }
  .sec_merit .information_wrap {
    padding-top: clamp(25px, 3.34%, 40px);
    padding-bottom: clamp(25px, 3.34%, 40px);
    background: #fff;
    position: relative; }
    @media screen and (max-width: 480px) {
      .sec_merit .information_wrap {
        padding-top: 25px;
        padding-bottom: 25px; } }
    .sec_merit .information_wrap::after {
      content: "";
      display: block;
      position: absolute;
      inset: 10px;
      pointer-events: none;
      border: 1px solid; }
    .sec_merit .information_wrap .information_head {
      font-size: clamp(16px, 1.93vw, 24px);
      line-height: 1;
      margin-bottom: 0.8em;
      color: #333; }
      @media screen and (max-width: 480px) {
        .sec_merit .information_wrap .information_head {
          font-size: 18px; } }
    .sec_merit .information_wrap .information_text {
      font-size: clamp(16px, 2.9vw, 36px);
      line-height: 1;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: baseline;
      gap: 0.25em;
      margin-bottom: 0;
      flex-direction: column;
      align-items: center;
      row-gap: 5px; }
      @media screen and (max-width: 480px) {
        .sec_merit .information_wrap .information_text {
          flex-direction: column;
          align-items: center;
          font-size: 20px; } }
      .sec_merit .information_wrap .information_text + .information_text {
        margin-top: 0.8em; }
      .sec_merit .information_wrap .information_text .text_top {
        display: flex;
        align-items: baseline;
        justify-content: center;
        font-weight: bold;
        color: #DAAF08;
        font-size: 120%; }
        .sec_merit .information_wrap .information_text .text_top .text_min {
          font-size: 0.8em; }
      .sec_merit .information_wrap .information_text .text_sub {
        font-size: 0.6em;
        color: #333; }
    .sec_merit .information_wrap .info_cv_button {
      margin-top: 0.8em; }
  .sec_merit .merit_list {
    display: flex;
    gap: 10px; }
    @media screen and (max-width: 480px) {
      .sec_merit .merit_list {
        flex-wrap: wrap; } }
    .sec_merit .merit_list .item {
      width: calc(25% - 5px);
      padding: 10px 0 0;
      background: #d17830; }
      @media screen and (max-width: 480px) {
        .sec_merit .merit_list .item {
          width: calc(50% - 5px); } }
      .sec_merit .merit_list .item a {
        display: flex;
        flex-direction: column;
        transition: opacity 0.3s ease-in-out;
        position: relative; }
        @media (hover: hover) {
          .sec_merit .merit_list .item a:hover {
            opacity: 0.7; } }
        .sec_merit .merit_list .item a .merit_head {
          width: 90%;
          margin-inline: auto;
          font-size: clamp(12px, 2vw, 26px);
          line-height: 1;
          border-radius: 100vmax;
          padding: 0.31em 0.2em;
          color: #d17830;
          margin-bottom: 0.62em;
          background: #fff;
          font-weight: 700;
          position: relative; }
          @media screen and (max-width: 1200px) {
            .sec_merit .merit_list .item a .merit_head {
              font-size: clamp(12px, 1.8vw, 18px); } }
          @media screen and (max-width: 480px) {
            .sec_merit .merit_list .item a .merit_head {
              font-size: 3.5vw;
              line-height: 1.4; } }
        .sec_merit .merit_list .item a .merit_image {
          position: relative; }
          .sec_merit .merit_list .item a .merit_image img {
            width: 100%; }
          .sec_merit .merit_list .item a .merit_image .cap {
            position: absolute;
            bottom: 0;
            right: 0;
            font-size: 11px;
            display: block;
            padding: 3px;
            line-height: 1.2;
            color: #FFF;
            text-align: right; }
            @media screen and (max-width: 767px) {
              .sec_merit .merit_list .item a .merit_image .cap {
                font-size: 10px; } }
        .sec_merit .merit_list .item a .more {
          font-size: clamp(14px, 1.78vw, 20px);
          line-height: 1;
          color: #d17830;
          background: #fff;
          padding: 0.6em 0.2em;
          margin-bottom: 0;
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 0.25em; }
          @media screen and (max-width: 480px) {
            .sec_merit .merit_list .item a .more {
              font-size: 3.5vw; } }
          .sec_merit .merit_list .item a .more .arrow {
            width: 1em;
            height: 1em;
            line-height: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 100%;
            background: currentColor; }
            .sec_merit .merit_list .item a .more .arrow::after {
              content: "";
              display: block;
              width: 0.3em;
              height: 0.3em;
              border-top: 1px solid #fff;
              border-right: 1px solid #fff;
              transform: rotate(45deg);
              margin-right: 0.1em; }

.sec_info {
  padding-top: clamp(40px, 5.84%, 70px); }
  .sec_info .movie_wrap {
    margin-bottom: 40px; }
    @media screen and (max-width: 480px) {
      .sec_info .movie_wrap {
        margin-bottom: 30px; } }
    .sec_info .movie_wrap .txt {
      font-size: 16px;
      margin-bottom: 1em;
      text-align: center;
      display: flex;
      align-items: center;
      column-gap: 5px;
      justify-content: center;
      font-weight: bold; }
      @media screen and (max-width: 480px) {
        .sec_info .movie_wrap .txt {
          flex-direction: column;
          row-gap: 5px; } }
      .sec_info .movie_wrap .txt .icon {
        padding: 5px 10px;
        line-height: 1;
        background: #650f17;
        color: #fff;
        display: inline-block; }
      @media screen and (max-width: 480px) {
        .sec_info .movie_wrap .txt {
          font-size: 14px; } }
    .sec_info .movie_wrap .movie {
      max-width: 676px;
      margin-inline: auto; }
      .sec_info .movie_wrap .movie iframe {
        width: 100%;
        aspect-ratio: 2/1;
        display: block; }
  .sec_info .info_bnr {
    text-align: center;
    margin-bottom: clamp(25px, 3.34%, 40px); }
  .sec_info .info_head {
    text-align: center;
    font-size: clamp(24px, 4.01vw, 45px);
    line-height: 1.34;
    color: #650f17;
    margin-bottom: 0.66em; }
    @media screen and (max-width: 480px) {
      .sec_info .info_head {
        font-size: 28px;
        font-weight: 900; } }
  .sec_info .pamf_image {
    width: 26.79%;
    margin-inline: auto;
    margin-bottom: clamp(25px, 3.34%, 40px); }
    @media screen and (max-width: 480px) {
      .sec_info .pamf_image {
        width: 60%; } }

.info_cv_button {
  font-size: clamp(18px, 2.86vw, 32px);
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  gap: 0.62em; }
  @media screen and (max-width: 480px) {
    .info_cv_button {
      font-size: 24px;
      flex-direction: column-reverse;
      align-items: center;
      gap: 20px 0; } }
  .info_cv_button .button_item {
    width: 34.82%; }
    @media screen and (max-width: 480px) {
      .info_cv_button .button_item {
        width: 90%; } }
    .info_cv_button .button_item a {
      padding: 0.5em;
      position: relative;
      width: 100%;
      height: 100%;
      line-height: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 1;
      color: #fff;
      gap: 0.5em;
      box-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
      transition: opacity 0.3s ease-in-out; }
      @media (hover: hover) {
        .info_cv_button .button_item a:hover {
          opacity: 0.7; } }
      .info_cv_button .button_item a::before {
        inset: -2px; }
      .info_cv_button .button_item a .arrow {
        width: 1em; }

.sec_content .sec_main_image {
  margin-bottom: clamp(25px, 3.34%, 40px); }
  .sec_content .sec_main_image img {
    width: 100%; }
  .sec_content .sec_main_image .cap_r {
    text-align: right;
    font-size: 10px;
    margin-top: 5px;
    margin-left: auto;
    margin-right: auto; }
.sec_content .sec_lead_wrap {
  margin-bottom: clamp(30px, 4.17%, 50px);
  text-align: center; }
  .sec_content .sec_lead_wrap .sec_head {
    font-size: clamp(16px, 1.78vw, 20px);
    color: #000;
    line-height: 1;
    margin-bottom: 1.3em; }
  .sec_content .sec_lead_wrap .sec_lead {
    font-size: clamp(32px, 4.28vw, 48px);
    color: #9b8a63;
    line-height: 1;
    margin-bottom: 0; }
    @media screen and (max-width: 480px) {
      .sec_content .sec_lead_wrap .sec_lead {
        font-size: 32px;
        line-height: 1.6; } }
.sec_content .slide_outer {
  max-width: 1080px;
  position: relative;
  margin-left: auto;
  margin-right: auto; }
  .sec_content .slide_outer .swiper-slide .slide_image img {
    max-width: 100%; }
  .sec_content .slide_outer .swiper-slide .slide_image .cap_r {
    text-align: right;
    font-size: 10px;
    margin-top: 5px;
    line-height: 1; }
  .sec_content .slide_outer .swiper-slide .slide_text {
    font-size: clamp(16px, 2.6vw, 26px);
    line-height: 1;
    margin-bottom: 0; }
    @media screen and (max-width: 480px) {
      .sec_content .slide_outer .swiper-slide .slide_text {
        font-size: 24px; } }
  .sec_content .slide_outer .swiper-button-next,
  .sec_content .slide_outer .swiper-button-prev {
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    line-height: 0;
    transition: opacity 0.3s ease-in-out;
    height: auto; }
    @media (hover: hover) {
      .sec_content .slide_outer .swiper-button-next:hover,
      .sec_content .slide_outer .swiper-button-prev:hover {
        opacity: 0.7; } }
    @media screen and (max-width: 480px) {
      .sec_content .slide_outer .swiper-button-next,
      .sec_content .slide_outer .swiper-button-prev {
        width: 20px; } }
    .sec_content .slide_outer .swiper-button-next img,
    .sec_content .slide_outer .swiper-button-prev img {
      width: 100%; }
    .sec_content .slide_outer .swiper-button-next::after,
    .sec_content .slide_outer .swiper-button-prev::after {
      content: none; }
  .sec_content .slide_outer .swiper-button-next {
    right: 0; }
  .sec_content .slide_outer .swiper-button-prev {
    left: 0; }
  .sec_content .slide_outer .slider_access,
  .sec_content .slide_outer .slider_publicspace,
  .sec_content .slide_outer .slider_support {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 480px) {
      .sec_content .slide_outer .slider_access,
      .sec_content .slide_outer .slider_publicspace,
      .sec_content .slide_outer .slider_support {
        max-width: 300px;
        width: calc(100% - 50px); } }
    .sec_content .slide_outer .slider_access .swiper-slide,
    .sec_content .slide_outer .slider_publicspace .swiper-slide,
    .sec_content .slide_outer .slider_support .swiper-slide {
      max-width: 300px;
      width: 31.25%; }
      @media screen and (max-width: 480px) {
        .sec_content .slide_outer .slider_access .swiper-slide,
        .sec_content .slide_outer .slider_publicspace .swiper-slide,
        .sec_content .slide_outer .slider_support .swiper-slide {
          width: 100%; } }
  .sec_content .slide_outer .slider_access .swiper-slide .slide_text {
    margin-top: 10px;
    display: flex;
    justify-content: center;
    align-items: baseline; }
    .sec_content .slide_outer .slider_access .swiper-slide .slide_text .text_in {
      display: flex;
      align-items: baseline; }
      .sec_content .slide_outer .slider_access .swiper-slide .slide_text .text_in .text_lg {
        font-size: 2em; }
  .sec_content .slide_outer .slider_publicspace .swiper-slide .slide_text,
  .sec_content .slide_outer .slider_support .swiper-slide .slide_text {
    margin-top: 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.25em 0; }
    .sec_content .slide_outer .slider_publicspace .swiper-slide .slide_text .text_min,
    .sec_content .slide_outer .slider_support .swiper-slide .slide_text .text_min {
      font-size: 0.64em; }
      @media screen and (max-width: 480px) {
        .sec_content .slide_outer .slider_publicspace .swiper-slide .slide_text .text_min,
        .sec_content .slide_outer .slider_support .swiper-slide .slide_text .text_min {
          font-size: 0.6em; } }
    .sec_content .slide_outer .slider_publicspace .swiper-slide .slide_text .text_cap,
    .sec_content .slide_outer .slider_support .swiper-slide .slide_text .text_cap {
      font-size: 10px; }
  .sec_content .slide_outer .slider_support .swiper-wrapper {
    justify-content: space-between; }
    @media screen and (max-width: 480px) {
      .sec_content .slide_outer .slider_support .swiper-wrapper {
        justify-content: flex-start; } }
  .sec_content .slide_outer .slider_plan {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto; }
    .sec_content .slide_outer .slider_plan .swiper-slide {
      max-width: 440px;
      width: 48.89%;
      display: flex;
      flex-direction: column;
      align-items: center;
      align-self: stretch;
      padding-bottom: 20px; }
      .sec_content .slide_outer .slider_plan .swiper-slide .slide_image {
        flex-grow: 1;
        max-width: 360px;
        width: 81.82%;
        position: relative;
        padding-top: 118.41%; }
        .sec_content .slide_outer .slider_plan .swiper-slide .slide_image img {
          position: absolute;
          inset: 0;
          margin: auto; }
      .sec_content .slide_outer .slider_plan .swiper-slide .plan_text_wrap {
        flex-shrink: 0;
        margin-top: 15px;
        display: flex;
        justify-content: center;
        align-items: flex-end; }
        .sec_content .slide_outer .slider_plan .swiper-slide .plan_text_wrap .plan_type {
          font-size: clamp(24px, 5.95vw, 56px);
          display: flex;
          align-items: baseline;
          justify-content: center;
          color: #544945;
          margin-bottom: 0;
          line-height: 1;
          padding-right: 0.35em;
          margin-right: 0.35em;
          border-right: 1px solid #999999; }
          @media screen and (max-width: 480px) {
            .sec_content .slide_outer .slider_plan .swiper-slide .plan_text_wrap .plan_type {
              font-size: 40px; } }
          .sec_content .slide_outer .slider_plan .swiper-slide .plan_text_wrap .plan_type .text_lg {
            font-size: 1.2em; }
        .sec_content .slide_outer .slider_plan .swiper-slide .plan_text_wrap .size {
          font-size: clamp(24px, 5.95vw, 56px);
          display: flex;
          flex-direction: column;
          color: #544945;
          margin-bottom: 0;
          line-height: 1; }
          @media screen and (max-width: 480px) {
            .sec_content .slide_outer .slider_plan .swiper-slide .plan_text_wrap .size {
              font-size: 40px; } }
          .sec_content .slide_outer .slider_plan .swiper-slide .plan_text_wrap .size .size_head {
            font-size: 0.25em;
            margin-bottom: 0.5em; }
          .sec_content .slide_outer .slider_plan .swiper-slide .plan_text_wrap .size .size_main {
            display: flex;
            align-items: baseline; }
            .sec_content .slide_outer .slider_plan .swiper-slide .plan_text_wrap .size .size_main .text_min {
              font-size: 0.71em; }
.sec_content .more_button {
  margin-top: clamp(40px, 5.84%, 70px);
  max-width: 416px;
  width: 38.52%;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(20px, 3.22vw, 36px); }
  @media screen and (max-width: 480px) {
    .sec_content .more_button {
      width: 80%;
      font-size: 24px; } }
  .sec_content .more_button a {
    text-align: center;
    padding: 0.6em 0.2em;
    position: relative;
    width: 100%;
    height: 100%;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    color: #fff;
    gap: 0.5em;
    box-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
    transition: opacity 0.3s ease-in-out; }
    @media screen and (max-width: 480px) {
      .sec_content .more_button a {
        align-items: flex-end !important; } }
    @media (hover: hover) {
      .sec_content .more_button a:hover {
        opacity: 0.7; } }
    .sec_content .more_button a::after {
      content: "";
      display: block;
      z-index: -1;
      position: absolute;
      inset: 0;
      background: #a3996f; }
    .sec_content .more_button a::before {
      content: "";
      display: block;
      z-index: -2;
      position: absolute;
      inset: -2px;
      background: linear-gradient(90deg, #bfb57f 0%, #e7e2d0 50%, #bfb57f 100%); }
    .sec_content .more_button a .text {
      font-size: 1em;
      font-size: 0.8em;
      color: #fff;
      line-height: 1;
      margin-bottom: 0;
      letter-spacing: 0; }
      @media screen and (max-width: 1200px) {
        .sec_content .more_button a .text {
          font-size: 0.8em; } }
      @media screen and (max-width: 480px) {
        .sec_content .more_button a .text {
          font-size: 0.85em; } }
    .sec_content .more_button a .arrow {
      width: 1em;
      position: absolute;
      right: 10px;
      top: 0;
      bottom: 0;
      margin: auto; }
    .sec_content .more_button a span {
      display: inline-block;
      line-height: 1.2 !important; }

.sec_support .slide_outer .swiper-button-next,
.sec_support .slide_outer .swiper-button-prev {
  display: none; }
  @media screen and (max-width: 480px) {
    .sec_support .slide_outer .swiper-button-next,
    .sec_support .slide_outer .swiper-button-prev {
      display: flex; } }

@media screen and (max-width: 480px) {
  .ta_c_sp {
    text-align: center; } }

.annotation::before {
  content: "";
  display: block;
  max-width: 1080px;
  width: calc(100% - 40px);
  margin: 0 auto;
  border-top: 1px solid;
  margin-bottom: 30px; }

/*# sourceMappingURL=top.css.map */
