@charset "UTF-8";
/*! Writen  by SCSS */
/*
	間取り詳細ページを作る際に、
	このcssを名称変更（roomplan_detail.scss）して、使用して下さい。
*/
.plan_detail_wrap {
  padding-bottom: clamp(50px, 6.429vw, 90px); }
  .plan_detail_wrap .sec_ttl_group {
    margin-bottom: clamp(30px, 4.033vw, 50px); }
  .plan_detail_wrap .detail_in {
    display: grid;
    align-items: flex-start;
    justify-content: space-between;
    grid-template-columns: 29.04% 67.75%; }
    @media screen and (max-width: 820px) {
      .plan_detail_wrap .detail_in {
        grid-template-columns: 30% 66.67%; } }
    @media screen and (max-width: 480px) {
      .plan_detail_wrap .detail_in {
        grid-template-columns: 100%;
        row-gap: 30px; } }
    .plan_detail_wrap .detail_in .type_group .type_name_group {
      align-items: flex-start; }
      .plan_detail_wrap .detail_in .type_group .type_name_group .name_group {
        width: 36.12%;
        flex-direction: column;
        align-items: center;
        color: #FFF;
        padding: 5px 5px 10px;
        background-position: top center;
        background-repeat: no-repeat;
        background-size: cover;
        background-image: url("../images/roomplan/detail/type_bg.jpg"); }
        @media screen and (max-width: 820px) {
          .plan_detail_wrap .detail_in .type_group .type_name_group .name_group {
            width: 33%; } }
        @media screen and (max-width: 480px) {
          .plan_detail_wrap .detail_in .type_group .type_name_group .name_group {
            padding: 5px 10px 10px; } }
        .plan_detail_wrap .detail_in .type_group .type_name_group .name_group .n01 {
          font-size: clamp(14px, 1.715vw, 24px);
          line-height: 1; }
          @media screen and (max-width: 480px) {
            .plan_detail_wrap .detail_in .type_group .type_name_group .name_group .n01 {
              font-size: 5vw; } }
          .plan_detail_wrap .detail_in .type_group .type_name_group .name_group .n01 .big {
            font-size: 240%;
            display: block; }
        .plan_detail_wrap .detail_in .type_group .type_name_group .name_group .n02 {
          width: 100%;
          text-align: center;
          font-size: clamp(10px, 1.143vw, 16px);
          padding-top: 10px;
          margin-top: 10px;
          position: relative; }
          @media screen and (max-width: 820px) {
            .plan_detail_wrap .detail_in .type_group .type_name_group .name_group .n02 {
              padding-top: 5px; } }
          @media screen and (max-width: 480px) {
            .plan_detail_wrap .detail_in .type_group .type_name_group .name_group .n02 {
              font-size: 3vw; } }
          .plan_detail_wrap .detail_in .type_group .type_name_group .name_group .n02:before {
            content: "";
            position: absolute;
            inset: 0;
            bottom: auto;
            border-top: 1px solid #FFF;
            mix-blend-mode: soft-light; }
      .plan_detail_wrap .detail_in .type_group .type_name_group .ldk_group {
        width: 58.34%;
        display: flex;
        flex-direction: column;
        row-gap: 10px; }
        @media screen and (max-width: 820px) {
          .plan_detail_wrap .detail_in .type_group .type_name_group .ldk_group {
            width: 61%; } }
        @media screen and (max-width: 480px) {
          .plan_detail_wrap .detail_in .type_group .type_name_group .ldk_group {
            row-gap: 5px; } }
        .plan_detail_wrap .detail_in .type_group .type_name_group .ldk_group .model_type {
          font-size: clamp(11px, 1.143vw, 16px);
          color: #f3d295;
          background: #8a0000;
          text-align: center; }
          @media screen and (max-width: 480px) {
            .plan_detail_wrap .detail_in .type_group .type_name_group .ldk_group .model_type {
              font-size: 4vw;
              padding: 0 0 2px; } }
        .plan_detail_wrap .detail_in .type_group .type_name_group .ldk_group .ldk {
          font-size: clamp(10px, 1.215vw, 17px);
          color: #131c62;
          font-weight: 500;
          line-height: 1.4;
          letter-spacing: normal; }
          @media screen and (max-width: 820px) {
            .plan_detail_wrap .detail_in .type_group .type_name_group .ldk_group .ldk {
              font-size: 1.3vw; } }
          @media screen and (max-width: 480px) {
            .plan_detail_wrap .detail_in .type_group .type_name_group .ldk_group .ldk {
              font-size: 4vw; } }
          .plan_detail_wrap .detail_in .type_group .type_name_group .ldk_group .ldk .big {
            display: block;
            font-size: 200%;
            line-height: 1.4; }
    .plan_detail_wrap .detail_in .type_group .area {
      border-top: 1px solid #131c62;
      border-bottom: 1px solid #131c62;
      padding: 6px 0 10px;
      margin: 20px 0;
      font-size: clamp(13px, 1.429vw, 20px);
      line-height: 1.2;
      text-align: center; }
      @media screen and (max-width: 820px) {
        .plan_detail_wrap .detail_in .type_group .area {
          font-size: 1.55vw; } }
      @media screen and (max-width: 480px) {
        .plan_detail_wrap .detail_in .type_group .area {
          font-size: 4.2vw; } }
      .plan_detail_wrap .detail_in .type_group .area span {
        display: inline-block;
        line-height: 1; }
        .plan_detail_wrap .detail_in .type_group .area span.big {
          font-size: 250%; }
        .plan_detail_wrap .detail_in .type_group .area span.small {
          font-size: 80%; }
    .plan_detail_wrap .detail_in .type_group .area02_group {
      width: fit-content;
      margin: 0 auto clamp(25px, 2.858vw, 40px);
      flex-direction: column; }
      .plan_detail_wrap .detail_in .type_group .area02_group .group_in {
        justify-content: flex-start;
        column-gap: 10px;
        font-size: clamp(11px, 1.143vw, 16px); }
        @media screen and (max-width: 480px) {
          .plan_detail_wrap .detail_in .type_group .area02_group .group_in {
            font-size: 3.8vw; } }
        .plan_detail_wrap .detail_in .type_group .area02_group .group_in dt {
          width: 7.5em; }
        .plan_detail_wrap .detail_in .type_group .area02_group .group_in dd.num {
          flex-grow: 1;
          text-align: right; }
        .plan_detail_wrap .detail_in .type_group .area02_group .group_in dd.slash {
          width: 0.5em; }
    .plan_detail_wrap .detail_in .type_group .torikago {
      position: relative; }
      .plan_detail_wrap .detail_in .type_group .torikago:before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        background: #d2f6ff;
        mix-blend-mode: multiply;
        width: 8.62%; }
      .plan_detail_wrap .detail_in .type_group .torikago.type_k:before {
        right: 0;
        bottom: auto;
        height: 90%; }
    .plan_detail_wrap .detail_in .draw_group {
      grid-column: 2/3;
      grid-row: 1/4;
      flex-direction: column;
      position: relative;
      row-gap: clamp(30px, 2.858vw, 40px); }
      @media screen and (max-width: 480px) {
        .plan_detail_wrap .detail_in .draw_group {
          grid-column: auto;
          grid-row: auto; } }
      .plan_detail_wrap .detail_in .draw_group:after {
        content: "";
        position: absolute;
        inset: 0;
        border: 1px solid #ccc;
        pointer-events: none; }
      .plan_detail_wrap .detail_in .draw_group .draw_box {
        background: #FFF;
        padding: 30px 25px clamp(30px, 3.572vw, 50px);
        text-align: center; }
        @media screen and (max-width: 480px) {
          .plan_detail_wrap .detail_in .draw_group .draw_box {
            padding: 15px; } }
      .plan_detail_wrap .detail_in .draw_group .hanrei {
        margin-top: clamp(20px, 2.858vw, 40px);
        align-items: center;
        justify-content: center;
        column-gap: 10px; }
        @media screen and (max-width: 480px) {
          .plan_detail_wrap .detail_in .draw_group .hanrei {
            column-gap: 5px; } }
        .plan_detail_wrap .detail_in .draw_group .hanrei .hanrei_txt {
          font-size: 12px;
          column-gap: 5px;
          align-items: center; }
          @media screen and (max-width: 480px) {
            .plan_detail_wrap .detail_in .draw_group .hanrei .hanrei_txt {
              font-size: 10px; } }
        @media screen and (max-width: 480px) {
          .plan_detail_wrap .detail_in .draw_group .hanrei .icon {
            width: 40px; } }
        .plan_detail_wrap .detail_in .draw_group .hanrei .box {
          width: 30px;
          height: 13px; }
          .plan_detail_wrap .detail_in .draw_group .hanrei .box.storage {
            background: #c7c4a6; }
          .plan_detail_wrap .detail_in .draw_group .hanrei .box.water {
            background: #b6e0e4; }
    .plan_detail_wrap .detail_in .point_group {
      margin-top: clamp(40px, 4.286vw, 60px); }
      @media screen and (max-width: 480px) {
        .plan_detail_wrap .detail_in .point_group {
          margin-top: 0; } }
      .plan_detail_wrap .detail_in .point_group .point_ttl {
        font-size: clamp(16px, 1.572vw, 22px);
        color: #FFF;
        padding: 5px 5px 8px;
        line-height: 1.2;
        text-align: center;
        background: #c27d2d; }
        @media screen and (max-width: 480px) {
          .plan_detail_wrap .detail_in .point_group .point_ttl {
            font-size: 5.4vw; } }
      .plan_detail_wrap .detail_in .point_group .point_lead {
        margin: 10px 0 20px;
        text-align: center;
        font-size: clamp(10px, 1.215vw, 17px);
        color: #c27d2d; }
        @media screen and (max-width: 480px) {
          .plan_detail_wrap .detail_in .point_group .point_lead {
            font-size: 4vw; } }
        .plan_detail_wrap .detail_in .point_group .point_lead .big {
          display: block;
          font-size: 122%; }
      .plan_detail_wrap .detail_in .point_group .movie_image_group {
        position: relative;
        flex-direction: column;
        row-gap: 10px; }
        .plan_detail_wrap .detail_in .point_group .movie_image_group .movie_thum {
          text-align: center;
          transition: 0.3s opacity ease-in-out; }
          body:not(.mobile) .plan_detail_wrap .detail_in .point_group .movie_image_group .movie_thum:hover {
            opacity: 0.7; }
        .plan_detail_wrap .detail_in .point_group .movie_image_group .movie_txt {
          font-size: clamp(11px, 1.072vw, 15px); }
          @media screen and (max-width: 480px) {
            .plan_detail_wrap .detail_in .point_group .movie_image_group .movie_txt {
              font-size: 12px; } }
    .plan_detail_wrap .detail_in .draw_button {
      grid-column: 2/3;
      grid-row: 4/5;
      max-width: 300px;
      width: 100%;
      margin: clamp(30px, 2.858vw, 40px) auto 0; }
      @media screen and (max-width: 480px) {
        .plan_detail_wrap .detail_in .draw_button {
          grid-column: auto;
          grid-row: auto;
          max-width: 300px;
          margin: 0 auto;
          flex-direction: column;
          row-gap: 20px; } }
      .plan_detail_wrap .detail_in .draw_button li {
        width: 100%; }
        .plan_detail_wrap .detail_in .draw_button li a {
          width: 100%;
          height: 100%;
          border: 1px solid #093155;
          padding: 10px 5px;
          font-size: clamp(12px, 1.143vw, 16px);
          color: #000033;
          display: flex;
          justify-content: center;
          align-items: center;
          column-gap: 15px;
          background: rgba(9, 49, 85, 0);
          transition: 0.3s all ease-in-out 0s;
          text-decoration: none !important; }
          @media screen and (max-width: 480px) {
            .plan_detail_wrap .detail_in .draw_button li a {
              font-size: 14px; } }
          body:not(.mobile) .plan_detail_wrap .detail_in .draw_button li a:hover {
            background: rgba(9, 49, 85, 0.1); }

/*	動画モーダル	*/
.modal_box {
  position: fixed;
  z-index: 99999999;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease-in-out 0s; }
  .modal_box .modal_bg {
    background: rgba(0, 0, 0, 0.5);
    inset: 0;
    position: absolute;
    z-index: -1; }
  .modal_box.opened {
    opacity: 1;
    pointer-events: all;
    cursor: pointer; }
    .modal_box.opened .modal_in {
      transform: scale(1);
      opacity: 1; }
  .modal_box .modal_in {
    position: absolute;
    inset: 0;
    margin: auto;
    width: calc(100vw - 40px);
    max-width: calc((100vh - 300px)/0.5625);
    height: calc((100vw - 40px) * 0.5625);
    max-height: calc(100vh - 300px);
    transform: scale(0.95);
    opacity: 0;
    transition: all 0.3s ease-in-out 0s, opacity 0.3s ease-in-out 0.3s; }
    .modal_box .modal_in .video {
      position: relative;
      width: 100%;
      padding-top: 56.25%; }
      .modal_box .modal_in .video iframe {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%; }
  .modal_box .close_button {
    width: 60px;
    height: 60px;
    cursor: pointer;
    top: 0;
    right: 0px;
    background: #fff;
    position: fixed;
    transition: all 0.3s ease-in-out 0s; }
    .modal_box .close_button::before, .modal_box .close_button::after {
      content: "";
      display: block;
      position: absolute;
      width: 40px;
      height: 2px;
      background: #000;
      top: 29px;
      left: 10px; }
    .modal_box .close_button::before {
      transform: rotate(45deg); }
    .modal_box .close_button::after {
      transform: rotate(-45deg); }
    @media (hover: hover) {
      .modal_box .close_button:hover {
        opacity: 0.7; } }

.loaded .modal_box {
  transition: all 0.3s ease-in-out 0s; }
