/*! Writen  by SCSS */
.inner_main .main_deco {
  width: 33.75%; }
  @media screen and (max-width: 480px) {
    .inner_main .main_deco {
      width: 40%; } }
  .inner_main .main_deco.right {
    top: calc(450%/6.06);
    right: 0; }
    @media screen and (max-width: 600px) {
      .inner_main .main_deco.right {
        top: calc(350%/6.06); } }

.read_lg {
  font-size: clamp(12px, 1.334vw, 16px); }

.sec01 {
  padding-bottom: clamp(60px, 8.334vw, 100px); }
  @media screen and (max-width: 480px) {
    .sec01 {
      padding-bottom: 40px; } }
  .sec01 .sec_ttl_wrap {
    margin-bottom: clamp(30px, 10vw, 120px); }
  .sec01 .read_lg {
    line-height: 2.125;
    letter-spacing: 0.05em;
    margin-bottom: clamp(30px, 6.667vw, 80px); }
  .sec01 .img_pickup {
    max-width: 1202px;
    width: calc(100% - 40px);
    margin: 0 auto; }
    @media screen and (max-width: 600px) {
      .sec01 .img_pickup .sp_txt {
        max-width: 100%;
        width: calc(475.7%/6.68); } }
  .sec01 .view_photo {
    width: 100%;
    margin: clamp(40px, 6.667vw, 80px) auto 0;
    display: flex;
    flex-direction: column;
    row-gap: 15px; }
    .sec01 .view_photo .view_title {
      color: #6f5762;
      text-align: center;
      font-size: clamp(16px, 2.167vw, 26px); }
    .sec01 .view_photo .view_img {
      width: 100%; }
  .sec01 .type_btn {
    max-width: 1000px;
    margin: clamp(60px, 10.834vw, 130px) auto 0;
    display: flex;
    justify-content: space-between; }
    .sec01 .type_btn li {
      width: calc(300%/10);
      border-color: #6f5762;
      border-top: 2px solid;
      border-bottom: 2px solid;
      position: relative; }
      @media screen and (max-width: 480px) {
        .sec01 .type_btn li {
          width: 30%; } }
      .sec01 .type_btn li::before, .sec01 .type_btn li::after {
        content: "";
        height: 1px;
        position: absolute;
        left: 0;
        right: 0;
        background: #6f5762;
        pointer-events: none; }
      .sec01 .type_btn li::before {
        top: 5px; }
        @media screen and (max-width: 600px) {
          .sec01 .type_btn li::before {
            top: 2px; } }
      .sec01 .type_btn li::after {
        bottom: 5px; }
        @media screen and (max-width: 600px) {
          .sec01 .type_btn li::after {
            bottom: 2px; } }
      .sec01 .type_btn li a {
        font-size: clamp(16px, 2.167vw, 26px);
        line-height: 1;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        padding: calc(20%/3) 0; }
        .sec01 .type_btn li a .lg {
          font-size: clamp(25px, 3.834vw, 46px);
          line-height: 0.8;
          padding-bottom: 0.1em; }
        .sec01 .type_btn li a .ico {
          line-height: 0;
          width: calc(28%/3);
          margin-left: calc(24%/3); }
          @media screen and (max-width: 600px) {
            .sec01 .type_btn li a .ico {
              width: calc(40%/3); } }

.type_txt {
  max-width: 476px;
  margin: 0 auto;
  margin-bottom: clamp(20px, 6.667vw, 40px); }
  @media screen and (max-width: 600px) {
    .type_txt {
      max-width: 100%;
      width: calc(475.7%/6.68); } }
  .type_txt img {
    width: 100%; }

.sec02 {
  background: rgba(242, 242, 243, 0.6); }
  .sec02 .type_group {
    flex-direction: column; }
    .sec02 .type_group .type_group_in {
      padding-bottom: clamp(60px, 7.5vw, 90px); }
      .sec02 .type_group .type_group_in .type_infor {
        background: #e6e6e8;
        padding: clamp(20px, 2.5vw, 30px) 0;
        margin-bottom: clamp(30px, 4.584vw, 55px); }
        @media screen and (max-width: 480px) {
          .sec02 .type_group .type_group_in .type_infor {
            margin-bottom: 30px; } }
        .sec02 .type_group .type_group_in .type_infor .type_infor_in {
          max-width: 1160px;
          justify-content: flex-start;
          align-items: center; }
          @media screen and (max-width: 480px) {
            .sec02 .type_group .type_group_in .type_infor .type_infor_in {
              flex-wrap: wrap;
              column-gap: 15px; } }
          .sec02 .type_group .type_group_in .type_infor .type_infor_in .type_name {
            padding: 7px 5px 15px;
            width: 25.18%;
            text-align: center;
            font-size: clamp(40px, 5.231vw, 68px);
            color: #FFF;
            background: #6f5762;
            display: flex;
            justify-content: center;
            align-items: baseline; }
            @media screen and (max-width: 480px) {
              .sec02 .type_group .type_group_in .type_infor .type_infor_in .type_name {
                width: auto;
                font-size: 9vw;
                padding: 5px 10px;
                letter-spacing: normal; } }
            .sec02 .type_group .type_group_in .type_infor .type_infor_in .type_name .small {
              font-size: 70%; }
          .sec02 .type_group .type_group_in .type_infor .type_infor_in .ldk_name {
            color: #6f5762;
            font-size: clamp(40px, 5.231vw, 68px);
            line-height: 1.15;
            padding-left: 2.59%;
            padding-right: 4.32%;
            margin-right: 4.32%;
            border-right: 1px solid #6f5762; }
            @media screen and (max-width: 480px) {
              .sec02 .type_group .type_group_in .type_infor .type_infor_in .ldk_name {
                font-size: 10vw;
                margin: 0;
                padding: 0;
                border-right: none; } }
            .sec02 .type_group .type_group_in .type_infor .type_infor_in .ldk_name .small {
              font-size: 55%; }
            .sec02 .type_group .type_group_in .type_infor .type_infor_in .ldk_name .sub {
              font-size: 38%;
              display: block; }
              @media screen and (max-width: 480px) {
                .sec02 .type_group .type_group_in .type_infor .type_infor_in .ldk_name .sub {
                  font-size: 30%;
                  width: fit-content; } }
          .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group {
            flex-direction: column; }
            @media screen and (max-width: 480px) {
              .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group {
                flex-direction: row;
                justify-content: flex-start;
                align-items: flex-end;
                column-gap: 15px;
                width: 100%;
                padding-top: 15px;
                margin-top: 15px;
                border-top: 1px solid #6f5762; } }
            .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group .area {
              font-size: clamp(40px, 5.539vw, 72px);
              line-height: 1.1;
              color: #9d6577; }
              @media screen and (max-width: 480px) {
                .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group .area {
                  font-size: 10vw; } }
              .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group .area .area_num {
                display: block;
                line-height: 0.85;
                display: flex;
                align-items: baseline; }
                @media screen and (max-width: 480px) {
                  .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group .area .area_num {
                    flex-wrap: wrap; } }
                .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group .area .area_num > .garamond .small {
                  font-size: 75%; }
                .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group .area .area_num .small02 {
                  font-size: 63%; }
                .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group .area .area_num .small03 {
                  font-size: 27%;
                  color: #333; }
                  @media screen and (max-width: 480px) {
                    .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group .area .area_num .small03 {
                      font-size: 10px;
                      width: fit-content;
                      margin-top: 5px; } }
                  .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group .area .area_num .small03 .garamond {
                    font-size: 120%; }
              .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group .area .sub {
                font-size: 28%;
                display: block;
                color: #333; }
              .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group .area .sub2 {
                font-size: 28%;
                display: block;
                color: #333; }
            .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group .area02 {
              font-size: clamp(14px, 1.847vw, 24px);
              line-height: 1.2; }
              @media screen and (max-width: 480px) {
                .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group .area02 {
                  font-size: 11px; } }
              .sec02 .type_group .type_group_in .type_infor .type_infor_in .area_group .area02 .garamond {
                font-size: 120%; }
      .sec02 .type_group .type_group_in .plan_box .inner_690 {
        max-width: 690px;
        margin: 0 auto; }
      .sec02 .type_group .type_group_in .plan_box .inner_570 {
        max-width: 570px;
        margin: 0 auto; }
      .sec02 .type_group .type_group_in .plan_box .plan_tab {
        display: flex;
        justify-content: center;
        gap: 0 30px; }
        @media screen and (max-width: 600px) {
          .sec02 .type_group .type_group_in .plan_box .plan_tab {
            gap: 0;
            justify-content: space-between; } }
        .sec02 .type_group .type_group_in .plan_box .plan_tab li {
          width: calc(250%/2.7);
          cursor: pointer;
          display: flex;
          justify-content: center;
          align-items: center;
          border-radius: 40px;
          background: #fff;
          font-size: clamp(12px, 2.858vw, 20px);
          letter-spacing: 0.1em;
          font-weight: 400;
          line-height: 1;
          padding: 0.75em 0;
          position: relative;
          font-feature-settings: "palt";
          filter: drop-shadow(0 4px 0 rgba(51, 51, 51, 0.2)); }
          @media screen and (max-width: 600px) {
            .sec02 .type_group .type_group_in .plan_box .plan_tab li {
              width: 48%;
              letter-spacing: 0; } }
          .sec02 .type_group .type_group_in .plan_box .plan_tab li.active {
            background: #6f5762;
            color: #fff;
            filter: none; }
            .sec02 .type_group .type_group_in .plan_box .plan_tab li.active .ico .b {
              display: none; }
            .sec02 .type_group .type_group_in .plan_box .plan_tab li.active .ico .w {
              display: block; }
          .sec02 .type_group .type_group_in .plan_box .plan_tab li .ico {
            position: absolute;
            right: 15px;
            top: 0;
            bottom: 0;
            width: calc(30%/2.5);
            display: flex;
            justify-content: center;
            align-items: center; }
            @media screen and (max-width: 600px) {
              .sec02 .type_group .type_group_in .plan_box .plan_tab li .ico {
                width: 15px; } }
            .sec02 .type_group .type_group_in .plan_box .plan_tab li .ico .w {
              display: none; }
      .sec02 .type_group .type_group_in .plan_box .fig_box_group {
        position: relative; }
        .sec02 .type_group .type_group_in .plan_box .fig_box_group .fig_box {
          margin-bottom: clamp(20px, 3.75vw, 30px);
          text-align: center; }
          .sec02 .type_group .type_group_in .plan_box .fig_box_group .fig_box li:not(.active) {
            display: none; }
        .sec02 .type_group .type_group_in .plan_box .fig_box_group .hanrei_group {
          position: absolute;
          inset: 0;
          top: auto;
          bottom: 30px;
          column-gap: 10px;
          justify-content: center;
          align-items: center;
          font-size: clamp(10px, 1.4vw, 14px); }
          .sec02 .type_group .type_group_in .plan_box .fig_box_group .hanrei_group .hanrei_txt {
            display: flex;
            justify-content: center;
            align-items: center;
            column-gap: 5px; }
            .sec02 .type_group .type_group_in .plan_box .fig_box_group .hanrei_group .hanrei_txt .icon {
              line-height: 0; }
          @media screen and (max-width: 600px) {
            .sec02 .type_group .type_group_in .plan_box .fig_box_group .hanrei_group {
              bottom: 10px;
              margin-left: auto;
              margin-right: auto;
              flex-wrap: wrap;
              max-width: 190px; } }
      .sec02 .type_group .type_group_in .plan_box .plan_txts {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        max-width: 1000px;
        width: 100%;
        margin: 0 auto; }
        @media screen and (max-width: 600px) {
          .sec02 .type_group .type_group_in .plan_box .plan_txts {
            gap: 10px 0; } }
        .sec02 .type_group .type_group_in .plan_box .plan_txts li {
          text-align: center;
          width: calc(470%/10);
          padding: 10px;
          background: #c4b5bc;
          font-size: clamp(12px, 3.334vw, 20px);
          min-height: 5em;
          display: flex;
          justify-content: center;
          align-items: center;
          position: relative; }
          @media screen and (max-width: 600px) {
            .sec02 .type_group .type_group_in .plan_box .plan_txts li {
              width: 100%;
              min-height: 4.5em; } }
          .sec02 .type_group .type_group_in .plan_box .plan_txts li:nth-child(-n+2) {
            margin-bottom: calc(30%/10); }
            @media screen and (max-width: 600px) {
              .sec02 .type_group .type_group_in .plan_box .plan_txts li:nth-child(-n+2) {
                margin-bottom: 0; } }
          .sec02 .type_group .type_group_in .plan_box .plan_txts li::after {
            content: "";
            position: absolute;
            inset: 6px;
            margin: auto;
            pointer-events: none;
            border: 1px solid #6f5762; }
            @media screen and (max-width: 600px) {
              .sec02 .type_group .type_group_in .plan_box .plan_txts li::after {
                inset: 3px; } }

.sec03 {
  padding-top: clamp(45px, 5vw, 60px); }
  @media screen and (max-width: 480px) {
    .sec03 {
      padding-top: 40px; } }
  .sec03 .private_area {
    position: relative;
    z-index: 1;
    align-items: center; }
    @media screen and (max-width: 480px) {
      .sec03 .private_area {
        flex-direction: column;
        row-gap: 20px; } }
    .sec03 .private_area .private_left {
      width: 52.4%; }
      @media screen and (max-width: 480px) {
        .sec03 .private_area .private_left {
          width: 100%; } }
      .sec03 .private_area .private_left .p01 {
        font-size: clamp(16px, 2vw, 26px);
        line-height: 2; }
        @media screen and (max-width: 480px) {
          .sec03 .private_area .private_left .p01 {
            font-size: 5vw;
            text-align: center; } }
      .sec03 .private_area .private_left .p02 {
        font-size: clamp(12px, 1.334vw, 16px);
        line-height: 2.75; }
        @media screen and (max-width: 820px) {
          .sec03 .private_area .private_left .p02 {
            line-height: 2; } }
    .sec03 .private_area .private_right {
      width: 40.8%;
      position: relative; }
      @media screen and (max-width: 480px) {
        .sec03 .private_area .private_right {
          width: 100%; } }
      .sec03 .private_area .private_right .p01 {
        font-size: clamp(16px, 2vw, 26px);
        margin-bottom: clamp(20px, 3.334vw, 40px); }
        @media screen and (max-width: 480px) {
          .sec03 .private_area .private_right .p01 {
            font-size: 5vw; } }
      .sec03 .private_area .private_right .cap_l {
        position: absolute;
        bottom: 15%; }
  .sec03 .view_img {
    margin-top: -8%; }
    .sec03 .view_img img {
      width: 100%; }
    .sec03 .view_img .cap_l {
      font-size: 14px; }
      @media screen and (max-width: 480px) {
        .sec03 .view_img .cap_l {
          font-size: 12px; } }
