@charset "UTF-8";
/*! Writen  by SCSS */
.breadlist {
  display: none; }

button {
  cursor: pointer;
  border: none;
  padding: 0;
  background: none;
  margin: 0; }
  button:focus {
    outline: 0; }

.lead_l {
  font-size: clamp(16px, 1.93vw, 24px); }
  @media screen and (max-width: 480px) {
    .lead_l {
      font-size: 20px; } }

.lead {
  font-size: clamp(14px, 1.45vw, 18px); }
  @media screen and (max-width: 480px) {
    .lead {
      font-size: 14px; } }

.read {
  font-size: clamp(12px, 1.29vw, 16px); }
  @media screen and (max-width: 480px) {
    .read {
      font-size: 14px; } }

.sec_main {
  position: relative; }
  .sec_main .main_slide_outer {
    position: relative;
    border-bottom: 1px solid #e5e5e5;
    background: #fdfdf0; }
  .sec_main .swiper,
  .sec_main .swiper-wrapper {
    z-index: unset; }
  .sec_main .main_wrap {
    height: auto; }
    .sec_main .main_wrap .main_inner {
      display: flex;
      height: 100%; }
      @media screen and (max-width: 480px) {
        .sec_main .main_wrap .main_inner {
          flex-direction: column; } }
    .sec_main .main_wrap img {
      width: 100%; }
  .sec_main .slide_wakaba img {
    object-fit: cover;
    width: 100%;
    height: 100%; }
  .sec_main .main_wrap_01 .main_01_left {
    width: 47.5%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-top: 4.38%; }
    @media screen and (max-width: 480px) {
      .sec_main .main_wrap_01 .main_01_left {
        width: 100%;
        padding-top: 20px;
        padding-bottom: 20px; } }
    .sec_main .main_wrap_01 .main_01_left .main_01_lead {
      font-size: 1.63vw;
      line-height: 2.16;
      font-weight: 700;
      margin-bottom: 9.22%; }
      @media screen and (max-width: 480px) {
        .sec_main .main_wrap_01 .main_01_left .main_01_lead {
          font-size: 14px;
          margin-bottom: 10px; } }
    .sec_main .main_wrap_01 .main_01_left .main_01_head {
      font-size: 3.88vw;
      display: flex;
      flex-direction: column;
      margin-inline: auto;
      gap: 0.32em;
      font-weight: 800;
      line-height: 1; }
      @media screen and (max-width: 480px) {
        .sec_main .main_wrap_01 .main_01_left .main_01_head {
          font-size: 26px; } }
      .sec_main .main_wrap_01 .main_01_left .main_01_head .text_in {
        text-align: justify;
        text-align-last: justify;
        text-justify: inter-character; }
    .sec_main .main_wrap_01 .main_01_left .reservation_box {
      margin-top: 9.22%; }
      @media screen and (max-width: 480px) {
        .sec_main .main_wrap_01 .main_01_left .reservation_box {
          margin-top: 10px; } }
      .sec_main .main_wrap_01 .main_01_left .reservation_box .reservation_lead {
        font-size: 1.38vw;
        display: flex;
        align-items: baseline;
        justify-content: center;
        gap: 0.8em;
        line-height: 1;
        margin-bottom: 0.9em; }
        @media screen and (max-width: 480px) {
          .sec_main .main_wrap_01 .main_01_left .reservation_box .reservation_lead {
            font-size: 14px; } }
        .sec_main .main_wrap_01 .main_01_left .reservation_box .reservation_lead .text {
          display: flex;
          justify-content: center;
          align-items: baseline;
          flex-shrink: 0;
          letter-spacing: 0.2em; }
          .sec_main .main_wrap_01 .main_01_left .reservation_box .reservation_lead .text .text_lg {
            font-size: 1.2em;
            color: #d90714; }
        .sec_main .main_wrap_01 .main_01_left .reservation_box .reservation_lead::before, .sec_main .main_wrap_01 .main_01_left .reservation_box .reservation_lead::after {
          content: "";
          display: block;
          width: 1px;
          height: 1.27em;
          background: currentColor; }
        .sec_main .main_wrap_01 .main_01_left .reservation_box .reservation_lead::before {
          transform: rotate(-25deg); }
        .sec_main .main_wrap_01 .main_01_left .reservation_box .reservation_lead::after {
          transform: rotate(25deg); }
      .sec_main .main_wrap_01 .main_01_left .reservation_box .reservation_button {
        width: fit-content;
        margin-inline: auto; }
        .sec_main .main_wrap_01 .main_01_left .reservation_box .reservation_button a {
          border-radius: 100vmax;
          font-size: 1.25vw;
          padding: 0.8em 4em;
          line-height: 1;
          display: flex;
          align-items: center;
          justify-content: center;
          color: #fff;
          background: #d90714;
          transition: none;
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
          animation: scaleLoop 2s infinite ease-in-out; }
          @media screen and (max-width: 480px) {
            .sec_main .main_wrap_01 .main_01_left .reservation_box .reservation_button a {
              font-size: 16px; } }
          @media (hover: hover) {
            .sec_main .main_wrap_01 .main_01_left .reservation_box .reservation_button a:hover {
              opacity: 0.7; } }
@keyframes scaleLoop {
  0% {
    transform: scale(1); }
  20% {
    transform: scale(1.1); }
  30% {
    transform: scale(1); }
  40% {
    transform: scale(1.1); }
  50% {
    transform: scale(1); }
  100% {
    transform: scale(1); } }
  .sec_main .main_wrap_01 .main_01_right {
    width: 52.5%; }
    @media screen and (max-width: 480px) {
      .sec_main .main_wrap_01 .main_01_right {
        width: 100%; } }
    @media screen and (max-width: 480px) {
      .sec_main .main_wrap_01 .main_01_right img {
        display: block;
        width: 100%;
        height: 100%;
        aspect-ratio: 2 / 1;
        object-fit: cover;
        object-position: 50% 80%; } }
  .sec_main .main_wrap_02 .main_inner {
    align-items: center;
    justify-content: center;
    gap: 0 13.75%;
    font-weight: 700; }
    @media screen and (max-width: 480px) {
      .sec_main .main_wrap_02 .main_inner {
        align-self: stretch;
        gap: 30px 0; } }
  .sec_main .main_wrap_02 .main_02_left {
    text-align: center;
    font-size: 1.76vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 480px) {
      .sec_main .main_wrap_02 .main_02_left {
        height: auto;
        font-size: 18px;
        justify-content: flex-start; } }
    .sec_main .main_wrap_02 .main_02_left .main_02_head {
      line-height: 1.93; }
    .sec_main .main_wrap_02 .main_02_left .main_02_logo {
      line-height: 0;
      width: 12.6em; }
      @media screen and (max-width: 480px) {
        .sec_main .main_wrap_02 .main_02_left .main_02_logo {
          width: 60%; } }
  .sec_main .main_wrap_02 .main_02_right {
    font-size: 1.25vw;
    display: flex;
    flex-direction: column;
    line-height: 2.21;
    gap: 1em; }
    @media screen and (max-width: 480px) {
      .sec_main .main_wrap_02 .main_02_right {
        font-size: 12px; } }
  .sec_main .main_scroll_box {
    position: absolute;
    right: 1.25%;
    bottom: 3.13%;
    color: #eee;
    mix-blend-mode: exclusion;
    text-align: center;
    display: flex;
    align-items: baseline;
    align-items: center;
    justify-content: center;
    gap: 0.62em;
    line-height: 1;
    font-size: clamp(12px, 1.29vw, 16px);
    transition-property: transform,opacity;
    opacity: 0;
    transform: translateY(30px);
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.5, 1, 0.89, 1);
    transition-delay: 1.2s; }
    @media screen and (max-width: 480px) {
      .sec_main .main_scroll_box {
        font-size: 14px;
        transform: translateY(20px); } }
    .loaded .sec_main .main_scroll_box {
      opacity: 1;
      transform: translateY(0); }
    .sec_main .main_scroll_box .arrow {
      animation: arrowmove 3s cubic-bezier(0.5, 1, 0.89, 1) infinite;
      position: relative; }
  .sec_main .main_news_wrap {
    max-width: 786px;
    width: calc(100% - 40px);
    margin-inline: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 5.56%;
    z-index: 2;
    display: flex;
    justify-content: center;
    background: rgba(255, 255, 255, 0.8);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
    @media screen and (max-width: 480px) {
      .sec_main .main_news_wrap {
        position: static;
        margin-top: 25px;
        flex-direction: column; } }
    .sec_main .main_news_wrap .news_head {
      flex-shrink: 0;
      font-size: clamp(14px, 2.42vw, 20px);
      line-height: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      background: #999;
      padding-left: 3em;
      padding-right: 3em;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 480px) {
        .sec_main .main_news_wrap .news_head {
          width: 100%;
          padding: 1em; } }
    .sec_main .main_news_wrap .news_text {
      flex-grow: 1;
      font-size: clamp(12px, 1.69vw, 14px);
      padding: 1.28em 2em; }
      @media screen and (max-width: 480px) {
        .sec_main .main_news_wrap .news_text {
          width: 100%; } }
      .sec_main .main_news_wrap .news_text .item {
        display: flex;
        align-items: baseline;
        gap: 0.4em 1em; }
        .sec_main .main_news_wrap .news_text .item a {
          color: #d90714;
          text-decoration: underline; }

@keyframes arrowmove {
  0% {
    transform: translateY(0); }
  50% {
    transform: translateY(10px); }
  100% {
    transform: translateY(0); } }
.main_cap {
  font-size: 10px;
  line-height: 1.6;
  padding-top: 20px; }

.sec_property {
  padding-top: clamp(50px, 7.5%, 90px); }
  @media screen and (max-width: 480px) {
    .sec_property {
      padding-top: 70px; } }

.sec_about {
  background: #fdfdf0;
  padding-top: clamp(50px, 7.5%, 90px);
  padding-bottom: clamp(80px, 10%, 120px); }
  @media screen and (max-width: 480px) {
    .sec_about {
      padding-top: 70px; } }

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

.sec_head {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1;
  font-size: clamp(20px, 2.41vw, 30px);
  gap: 0.4em; }
  @media screen and (max-width: 480px) {
    .sec_head {
      font-size: 22px; } }
  .sec_head .text_sub {
    padding-bottom: 0.4em;
    border-bottom: 1px solid; }
  .sec_head .text_jp {
    letter-spacing: 0.2em; }

.property_head {
  letter-spacing: 0.1em;
  margin-bottom: clamp(50px, 6.67%, 80px);
  gap: 0.5em; }
  @media screen and (max-width: 480px) {
    .property_head {
      margin-bottom: 40px; } }
  .property_head .text_sub {
    width: 6.46em;
    line-height: 0; }
    @media screen and (max-width: 480px) {
      .property_head .text_sub {
        width: auto;
        height: 1em; } }

.kdtk_wrap .txt1 {
  font-size: clamp(24px, 3.22vw, 44px);
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-align: center;
  margin-bottom: 0.5em; }
.kdtk_wrap .txt2 {
  font-size: clamp(23px, 3.22vw, 40px);
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-align: center;
  margin-bottom: 1.3em; }
  .kdtk_wrap .txt2 .price {
    font-size: 60%;
    color: #fff;
    background: #bca688;
    padding: 0 0.4em 0.1em;
    margin: 0 0.6em;
    display: inline-block;
    transform: translate(0, -0.2em); }
  .kdtk_wrap .txt2 .red {
    color: #ba1b24; }
  .kdtk_wrap .txt2 .s1 {
    font-size: 80%; }
  .kdtk_wrap .txt2 .s2 {
    font-size: 80%; }
  .kdtk_wrap .txt2 .l1 {
    font-size: 120%; }
  .kdtk_wrap .txt2 .l2 {
    font-size: 150%;
    font-weight: 500; }
  .kdtk_wrap .txt2 .l3 {
    font-size: 120%;
    font-weight: 500; }

.bnner_wrap {
  margin-bottom: clamp(80px, 10%, 120px); }
  .bnner_wrap p {
    max-width: 1200px;
    margin: 0 auto; }

.property_list {
  margin-bottom: clamp(30px, 4.17%, 50px); }

.property_more {
  max-width: 340px;
  margin-inline: auto; }
  .property_more a {
    font-size: clamp(12px, 4.21vw, 16px);
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    position: relative;
    padding: 0.87em;
    transition: color 0.3s ease-in-out;
    color: #fff;
    background: #370601;
    border-radius: 100vmax;
    overflow: hidden; }
    .property_more a .link_in {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      z-index: 1;
      gap: 0.5em; }
      .property_more a .link_in .text {
        text-align: center;
        flex-grow: 1; }
      .property_more a .link_in .icon_property {
        content: "";
        display: block;
        flex-shrink: 0;
        width: 1.25em;
        fill: currentColor; }
    .property_more a::before, .property_more a::after {
      content: "";
      display: block;
      position: absolute;
      inset: 0; }
    .property_more a::before {
      transform: scaleX(0);
      transform-origin: left center;
      transition: transform 0.3s ease-in-out;
      background: #fff; }
    .property_more a::after {
      border: 1px solid #370601;
      border-radius: 100vmax; }
    @media (hover: hover) {
      .property_more a:hover {
        color: #370601; }
        .property_more a:hover::before {
          transform: scaleX(1); } }

.event_wrap {
  padding-top: clamp(50px, 6.67%, 80px);
  padding-bottom: clamp(80px, 10%, 120px); }

.event_head {
  letter-spacing: 0.1em;
  margin-bottom: clamp(25px, 3.34%, 40px);
  gap: 0.5em; }
  @media screen and (max-width: 480px) {
    .event_head {
      margin-bottom: 40px; } }
  .event_head .text_sub {
    width: 4.86em;
    line-height: 0; }
    @media screen and (max-width: 480px) {
      .event_head .text_sub {
        width: auto;
        height: 1em; } }

.event_list {
  max-width: fit-content;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  line-height: 1.6;
  gap: 1.2em; }
  @media screen and (max-width: 480px) {
    .event_list {
      max-width: 100%;
      font-size: 13px; } }
  .event_list .item {
    display: flex;
    align-items: center;
    gap: 0.8em; }
    @media screen and (max-width: 480px) {
      .event_list .item {
        gap: 0.6em; } }
    .event_list .item dt {
      font-weight: 700;
      font-size: clamp(14px, 1.93vw, 24px);
      width: 10em;
      flex-shrink: 0; }
      @media screen and (max-width: 480px) {
        .event_list .item dt {
          width: 11em; } }
      .event_list .item dt .date_list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0.4em; }
        @media screen and (max-width: 480px) {
          .event_list .item dt .date_list {
            gap: 0.2em; } }
        .event_list .item dt .date_list .date_item {
          padding: 0.2em 0.3em;
          line-height: 1;
          display: flex;
          align-items: baseline;
          justify-content: center;
          gap: 0;
          color: #fff;
          border-radius: 6px; }
          @media screen and (max-width: 480px) {
            .event_list .item dt .date_list .date_item {
              padding: 0.2em;
              border-radius: 4px; } }
          .event_list .item dt .date_list .date_item.item_sat {
            background: #1515ca; }
          .event_list .item dt .date_list .date_item.item_sun {
            background: #d90714; }
      .event_list .item dt .text_min {
        font-size: 0.5em; }

.area_outer {
  margin-top: clamp(40px, 5.84%, 70px);
  background: url("../images/top/bg_area.webp") center/cover no-repeat;
  padding-top: clamp(30px, 4.17%, 50px);
  padding-bottom: clamp(40px, 5.84%, 70px); }
  .area_outer .area_head {
    font-size: clamp(20px, 2.41vw, 30px);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25em;
    text-align: center;
    line-height: 1;
    color: #fff;
    margin-bottom: clamp(30px, 4.17%, 50px); }
    @media screen and (max-width: 480px) {
      .area_outer .area_head {
        font-size: 24px; } }
    .area_outer .area_head .icon_serch {
      width: 1em;
      line-height: 0; }
  .area_outer .area_list {
    font-size: clamp(14px, 1.61vw, 20px);
    text-align: center;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(15px, 2.5vw, 30px) 3.33%; }
    @media screen and (max-width: 960px) {
      .area_outer .area_list {
        gap: clamp(15px, 2.5vw, 30px) 2%; } }
    @media screen and (max-width: 768px) {
      .area_outer .area_list {
        grid-template-columns: repeat(3, 1fr); } }
    @media screen and (max-width: 480px) {
      .area_outer .area_list {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px 4%; } }
    .area_outer .area_list .item a {
      width: 100%;
      height: 100%;
      line-height: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: opacity 0.3s ease-in-out;
      color: #453f35;
      background: #fff;
      border-radius: 100vmax;
      padding: 1em;
      gap: 0 0.5em; }
      @media (hover: hover) {
        .area_outer .area_list .item a:hover {
          opacity: 0.7; } }
      .area_outer .area_list .item a .text {
        flex-shrink: 0;
        margin-left: auto;
        margin-right: auto; }
      .area_outer .area_list .item a::after {
        content: "";
        display: block;
        line-height: 0;
        width: 1.4em;
        aspect-ratio: 28 / 6;
        transform: skewX(45deg);
        border-right: 1px solid currentColor;
        border-bottom: 1px solid currentColor; }
        @media screen and (max-width: 480px) {
          .area_outer .area_list .item a::after {
            width: 0.8em;
            aspect-ratio: 28 / 10; } }
    .area_outer .area_list .item:nth-child(1) a, .area_outer .area_list .item:nth-child(3) a, .area_outer .area_list .item:nth-child(4) a, .area_outer .area_list .item:nth-child(6) a, .area_outer .area_list .item:nth-child(8) a {
      pointer-events: none;
      opacity: 0.4; }

.about_lead {
  margin-bottom: clamp(60px, 8.34%, 100px); }
  .about_lead .about_head {
    margin-bottom: clamp(25px, 3.34%, 40px); }
    @media screen and (max-width: 480px) {
      .about_lead .about_head {
        margin-bottom: 30px; } }
    .about_lead .about_head .text_in {
      display: flex;
      justify-content: center;
      align-items: baseline;
      gap: 0 0.4em; }
    .about_lead .about_head .en {
      line-height: 0;
      width: 2.76em; }
    .about_lead .about_head .text_sub {
      width: 2.76em;
      line-height: 0; }
      @media screen and (max-width: 480px) {
        .about_lead .about_head .text_sub {
          width: auto;
          height: 1em; } }
  .about_lead .txts .lead {
    line-height: 2; }
    .about_lead .txts .lead.mb {
      margin-bottom: 1em; }
  .about_lead .txts .lead_l.mb {
    margin-bottom: 1em; }

.point_lead {
  font-size: clamp(16px, 1.93vw, 24px);
  line-height: 1.67; }

.about_bg_wrap .inner {
  margin-top: clamp(-150px, -12.5%, -30px); }
.about_bg_wrap .modal_button {
  text-align: left;
  display: flex;
  flex-direction: column;
  width: 53.34%;
  position: relative;
  z-index: 2;
  padding: 2.5% 3.33%;
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  transition: opacity 0.3s ease-in-out; }
  @media screen and (max-width: 768px) {
    .about_bg_wrap .modal_button {
      width: 100%;
      padding: 25px 20px; } }
  @media screen and (max-width: 480px) {
    .about_bg_wrap .modal_button {
      padding: 20px 15px; } }
  @media (hover: hover) {
    .about_bg_wrap .modal_button:hover {
      opacity: 0.7; } }
  .about_bg_wrap .modal_button .point_number {
    margin-bottom: 5.36%;
    line-height: 0; }
    @media screen and (max-width: 768px) {
      .about_bg_wrap .modal_button .point_number {
        margin-bottom: 15px; } }
  .about_bg_wrap .modal_button .point_head {
    display: flex;
    align-items: flex-end;
    grid-gap: 0 15px;
    margin-bottom: 8.93%;
    line-height: 0; }
    @media screen and (max-width: 768px) {
      .about_bg_wrap .modal_button .point_head {
        margin-bottom: 25px;
        grid-gap: 0 10px; } }
    .about_bg_wrap .modal_button .point_head .ico_poppo {
      width: calc(60%/5.6); }
  .about_bg_wrap .modal_button .more_wrap {
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0 20px; }
    @media screen and (max-width: 480px) {
      .about_bg_wrap .modal_button .more_wrap {
        flex-direction: column;
        gap: 10px 0;
        align-items: flex-start; } }
    .about_bg_wrap .modal_button .more_wrap .point_lead {
      color: #333; }
    .about_bg_wrap .modal_button .more_wrap .more {
      width: 25%;
      line-height: 0;
      background: #666;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 100vmax;
      padding: 2.14% 3.57%; }
      @media screen and (max-width: 480px) {
        .about_bg_wrap .modal_button .more_wrap .more {
          width: 120px;
          margin-left: auto;
          text-align: center; } }
      .about_bg_wrap .modal_button .more_wrap .more .text_more {
        width: 44%;
        flex-shrink: 0;
        margin-left: auto;
        margin-right: auto; }
      .about_bg_wrap .modal_button .more_wrap .more::after {
        content: "";
        display: block;
        line-height: 0;
        width: 20%;
        aspect-ratio: 28 / 6;
        transform: skewX(45deg);
        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff; }

.about_bg_wrap_01 .modal_button .point_number {
  width: 30.72%; }
.about_bg_wrap_01 .modal_button .point_head {
  width: 75.54%; }

.about_bg_wrap_02 .modal_button {
  margin-left: auto; }
  .about_bg_wrap_02 .modal_button .point_number {
    width: 31.43%; }
  .about_bg_wrap_02 .modal_button .point_head {
    width: 21.97%; }

.modal_wrap {
  opacity: 0;
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  transition: opacity 0.3s ease-in-out; }
  .modal_open .modal_wrap {
    opacity: 1; }
  .modal_wrap .modal_box {
    position: absolute;
    inset: 0;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease-in-out; }
    .modal_wrap .modal_box::before {
      cursor: pointer;
      content: "";
      display: block;
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.8); }
    .modal_wrap .modal_box.active {
      opacity: 1;
      pointer-events: all; }
    .modal_wrap .modal_box .modal_inner {
      position: relative;
      z-index: 2;
      max-width: 800px;
      width: calc(100% - 40px);
      margin-left: auto;
      margin-right: auto;
      background: #fff;
      padding: 3.12% 5%; }
      @media screen and (max-width: 480px) {
        .modal_wrap .modal_box .modal_inner {
          padding: 15px; } }
      .modal_wrap .modal_box .modal_inner .point_number {
        margin-bottom: 4.17%; }
        @media screen and (max-width: 480px) {
          .modal_wrap .modal_box .modal_inner .point_number {
            margin-bottom: 10px; } }
        .modal_wrap .modal_box .modal_inner .point_number img {
          width: 100%; }
      .modal_wrap .modal_box .modal_inner .point_head {
        display: flex;
        align-items: flex-end;
        grid-gap: 0 15px;
        margin-bottom: 6.95%;
        width: 100%;
        max-width: 100%; }
        @media screen and (max-width: 480px) {
          .modal_wrap .modal_box .modal_inner .point_head {
            margin-bottom: 15px;
            grid-gap: 0 10px; } }
        .modal_wrap .modal_box .modal_inner .point_head .txt_img {
          width: calc(423% / 6.62); }
          @media screen and (max-width: 480px) {
            .modal_wrap .modal_box .modal_inner .point_head .txt_img {
              width: calc(350% / 4.1); } }
        .modal_wrap .modal_box .modal_inner .point_head .ico_poppo {
          width: calc(60% / 6.62); }
      .modal_wrap .modal_box .modal_inner .point_lead {
        font-size: clamp(16px, 2.85vw, 24px);
        line-height: 1.6;
        margin-bottom: 5.56%; }
        @media screen and (max-width: 480px) {
          .modal_wrap .modal_box .modal_inner .point_lead {
            margin-bottom: 15px; } }
      .modal_wrap .modal_box .modal_inner .read {
        line-height: 2.19; }
        @media screen and (max-width: 480px) {
          .modal_wrap .modal_box .modal_inner .read {
            line-height: 1.8; } }
      .modal_wrap .modal_box .modal_inner .modal_close {
        font-size: clamp(24px, 5.71vw, 48px);
        position: absolute;
        right: 0;
        bottom: calc(100% + 10px);
        color: #fff;
        line-height: 1;
        font-family: YakuHanMP,"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho","游明朝",YuMincho,"游明朝体","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝",serif;
        transition: opacity 0.3s ease-in-out; }
        @media (hover: hover) {
          .modal_wrap .modal_box .modal_inner .modal_close:hover {
            opacity: 0.7; } }
        @media screen and (max-width: 480px) {
          .modal_wrap .modal_box .modal_inner .modal_close {
            font-size: 30px; } }
    .modal_wrap .modal_box.about01 .modal_inner .point_number {
      width: 23.89%; }
      @media screen and (max-width: 480px) {
        .modal_wrap .modal_box.about01 .modal_inner .point_number {
          width: 39.1%; } }
    .modal_wrap .modal_box.about02 .modal_inner .point_number {
      width: 24.45%; }
      @media screen and (max-width: 480px) {
        .modal_wrap .modal_box.about02 .modal_inner .point_number {
          width: 40%; } }
    .modal_wrap .modal_box.about02 .modal_inner .point_head {
      width: 17.09%; }
      @media screen and (max-width: 480px) {
        .modal_wrap .modal_box.about02 .modal_inner .point_head {
          width: 27.96%; } }

.voice_lead_wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0 4.16%;
  margin-bottom: clamp(30px, 4.17%, 50px); }
  @media screen and (max-width: 480px) {
    .voice_lead_wrap {
      flex-direction: column;
      gap: 20px 0;
      justify-content: flex-start; } }
  .voice_lead_wrap .voice_head {
    flex-shrink: 0;
    max-width: 153px;
    width: 12.75%;
    line-height: 0; }
    @media screen and (max-width: 480px) {
      .voice_lead_wrap .voice_head {
        width: 120px;
        align-self: center; } }
  .voice_lead_wrap .voice_read {
    flex-grow: 1;
    font-size: clamp(10px, 1.12vw, 14px);
    line-height: 2.15; }
    @media screen and (max-width: 480px) {
      .voice_lead_wrap .voice_read {
        font-size: 12px;
        line-height: 1.8; } }

.voice_list {
  width: 97.5%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  gap: 3px 0.18%;
  flex-wrap: wrap; }
  @media screen and (max-width: 960px) {
    .voice_list {
      flex-wrap: wrap;
      justify-content: center;
      gap: 3px; } }
  .voice_list .item {
    width: calc(50% - 2px);
    position: relative;
    color: #fff; }
    @media screen and (max-width: 960px) {
      .voice_list .item {
        width: calc(50% - 6px); } }
    @media screen and (max-width: 480px) {
      .voice_list .item {
        width: 100%; } }
    .voice_list .item .text_box {
      text-align: center;
      position: absolute;
      inset: 0;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 15px 3.87%; }
      @media screen and (max-width: 480px) {
        .voice_list .item .text_box {
          padding: 15px 20px; } }
      .voice_list .item .text_box .voice_number {
        display: flex;
        align-items: baseline;
        justify-content: center;
        gap: 0.1em;
        font-size: clamp(24px, 2.68vw, 44px);
        line-height: 1;
        font-weight: 300; }
        .voice_list .item .text_box .voice_number .item_number {
          line-height: 0; }
      .voice_list .item .text_box .item_head {
        font-size: clamp(14px, 1.58vw, 26px);
        line-height: 1.24;
        margin-top: 6.28%;
        margin-bottom: 4.19%; }
        @media screen and (max-width: 480px) {
          .voice_list .item .text_box .item_head {
            font-size: 18px; } }
      .voice_list .item .text_box .item_text {
        max-width: 648px;
        margin-left: auto;
        margin-right: auto;
        font-size: clamp(10px, 0.85vw, 14px);
        text-align: left;
        line-height: 2.15; }
        @media screen and (max-width: 480px) {
          .voice_list .item .text_box .item_text {
            font-size: 14px;
            line-height: 1.8; } }
    .voice_list .item.item01 .text_box .voice_number .item_number {
      width: 0.95em; }
    .voice_list .item.item02 .text_box .voice_number .item_number {
      width: 1.13em; }
    .voice_list .item.item03 .text_box .voice_number .item_number {
      width: 1.13em; }
    .voice_list .item.item04 .text_box .voice_number .item_number {
      width: 1.13em; }

.sec_entry {
  padding-top: clamp(50px, 6.67%, 80px);
  padding-bottom: clamp(40px, 5%, 60px);
  background: url("../images/top/bg_entry.webp") top left/80px 80px repeat; }
  @media screen and (max-width: 768px) {
    .sec_entry {
      background: url("../images/top/bg_entry.webp") top left/40px 40px repeat; } }
  .sec_entry .entry_head {
    gap: 0.4em;
    margin-bottom: 1em; }
    .sec_entry .entry_head .text_jp {
      letter-spacing: 0.2em; }
    .sec_entry .entry_head .text_sub {
      width: 4.36em;
      line-height: 0; }
  .sec_entry .entry_merit_head {
    margin-top: 2em;
    font-size: clamp(18px, 1.93vw, 24px);
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.83em;
    margin-bottom: 1.2em;
    text-align: center; }
    @media screen and (max-width: 480px) {
      .sec_entry .entry_merit_head {
        font-size: 20px;
        line-height: 1.4;
        align-items: flex-end; } }
    .sec_entry .entry_merit_head .text {
      flex-shrink: 0; }
    .sec_entry .entry_merit_head::before, .sec_entry .entry_merit_head::after {
      content: "";
      display: block;
      width: 1px;
      height: 1.25em;
      background: currentColor; }
    .sec_entry .entry_merit_head::before {
      transform: rotate(-25deg); }
    .sec_entry .entry_merit_head::after {
      transform: rotate(25deg); }
  .sec_entry .merit_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 3.75%;
    margin-bottom: clamp(40px, 5%, 60px); }
    @media screen and (max-width: 960px) {
      .sec_entry .merit_list {
        gap: 0 1.5%; } }
    @media screen and (max-width: 480px) {
      .sec_entry .merit_list {
        gap: 25px 0;
        grid-template-columns: 1fr; } }
    .sec_entry .merit_list .item_number {
      position: relative;
      z-index: 2;
      margin-left: auto;
      margin-right: auto;
      max-width: 60px;
      width: 16.22%;
      margin-bottom: -6.75%; }
    .sec_entry .merit_list .item_in {
      background: #fff;
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); }
      .sec_entry .merit_list .item_in .lead {
        text-align: center;
        line-height: 1.67;
        padding: 1em 0.2em; }
  .sec_entry .entry_button {
    font-size: 20px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 480px) {
      .sec_entry .entry_button {
        font-size: 16px; } }
    .sec_entry .entry_button a {
      width: 100%;
      line-height: 1;
      border-radius: 100vmax;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      background: #ec6a2e;
      padding: 1em 1.66em;
      gap: 0 0.66em;
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
      transition: opacity 0.3s ease-in-out; }
      @media (hover: hover) {
        .sec_entry .entry_button a:hover {
          opacity: 0.7; } }
      .sec_entry .entry_button a::after {
        content: "";
        display: block;
        transform: skewX(45deg);
        border-right: 1px solid;
        border-bottom: 1px solid;
        width: 1.5em;
        height: 0.33em; }

.sec_instagram {
  padding-top: clamp(50px, 7.5%, 90px);
  padding-bottom: clamp(50px, 7.5%, 90px); }
  .sec_instagram .instagram_head {
    margin-bottom: clamp(50px, 6.67%, 80px); }
    .sec_instagram .instagram_head .text_sub {
      width: 3.4em;
      line-height: 0; }
  .sec_instagram .instagram_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(15px, 2.5vw, 30px) 2.5%; }
    @media screen and (max-width: 480px) {
      .sec_instagram .instagram_list {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px; } }
    .sec_instagram .instagram_list .item {
      aspect-ratio: 1 / 1;
      background: #7e7e7e; }
  .sec_instagram .instagram_button_wrap {
    margin-top: clamp(25px, 3.34%, 40px);
    display: flex;
    justify-content: center;
    gap: 3.33%; }
    @media screen and (max-width: 480px) {
      .sec_instagram .instagram_button_wrap {
        flex-direction: column;
        gap: 20px 0;
        width: 80%;
        margin-inline: auto; } }
    .sec_instagram .instagram_button_wrap .instagram_button {
      width: 23.34%;
      font-size: clamp(12px, 1.29vw, 16px);
      line-height: 1; }
      @media screen and (max-width: 480px) {
        .sec_instagram .instagram_button_wrap .instagram_button {
          font-size: 14px;
          width: 100%;
          height: 3em; } }
      .sec_instagram .instagram_button_wrap .instagram_button .button_in {
        width: 100%;
        height: 100%;
        padding: 0.62em 0.2em;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 100vmax;
        transition: opacity 0.3s ease-in-out;
        border: 1px solid #333333;
        gap: 1em; }
        @media (hover: hover) {
          .sec_instagram .instagram_button_wrap .instagram_button .button_in:hover {
            opacity: 0.7; } }
      .sec_instagram .instagram_button_wrap .instagram_button.instagram_button_more .button_in {
        color: #fff;
        background: #333; }
      .sec_instagram .instagram_button_wrap .instagram_button.instagram_button_link .button_in {
        color: #333;
        background: #fff; }
        .sec_instagram .instagram_button_wrap .instagram_button.instagram_button_link .button_in .icon {
          width: 1.87em;
          line-height: 0; }

.floating_banner {
  max-width: 300px;
  position: fixed;
  bottom: 20px;
  right: 2.5%;
  z-index: 9999; }
  @media screen and (max-width: 768px) {
    .floating_banner {
      width: 300px;
      right: 20px;
      bottom: 80px; } }
  .floating_banner a {
    display: block; }
  .floating_banner .floating_banner_close {
    background: #333;
    border-radius: 100%;
    color: #fff;
    font-size: 16px;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -32px;
    right: 0;
    cursor: pointer;
    width: 22px;
    height: 22px; }

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