:root {
  --f-en: "YakuHanJP", "din-2014", sans-serif;
  --f-ja: "YakuHanJP", "Noto Sans JP", sans-serif;
}

.modelroom_wrapp {
    font-family: var(--f-ja);
    padding-top: 80px;
    width: 100%;
    overflow: hidden;
}
.modelroom_wrapp img {
    width: 100%;
    max-width: inherit;
    height: auto;
}


.modelroom_wrapp .en_title {
        font-family: din-2014, sans-serif, 'YakuHanJP', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "sans-serif";
    color: #525D63;
    text-align: center;
    font-size: min(3.5vw, 35px);
    line-height: 140%;
    letter-spacing:0;
    font-weight: 900;
    margin-bottom: 40px;
}


.modelroom_wrapp .read_text {
   margin-bottom: 80px;
text-align: center;
    position: relative;
}

.modelroom_wrapp .read_text h3 {
    display: inline-block;
    text-align: center;
    color: #81C0E9;
    font-size: min(3.3vw, 33px);
    font-weight: 500;
    margin-bottom: 30px;
    letter-spacing: 0.1em;
}
.modelroom_wrapp .read_text h3 sup {
    font-size: 50%;
}
.modelroom_wrapp .read_text h3 small {
      font-size: 12px;
    color: #333;
    display: block;
    text-align: right;
    line-height: 100%;
}

.modelroom_wrapp .read_text p {
    text-align: center;
     width: 70%;
    margin: 0 auto;
    font-size: min(1.5vw, 16px);
}

.modelroom_wrapp .read_text .image_illust {
    position: absolute;
    width: 14%;
    max-width: 200px;
}

.modelroom_wrapp .read_text .image_illust.illust_1 {
    position: absolute;
    width: 14%;
    max-width: 200px;
    top: 40%;
    right: 6vw;
}
.modelroom_wrapp .read_text .image_illust.illust_2 {
    position: absolute;
    width: 10%;
    max-width: 130px;
    top: 40%;
    left: 6vw;
}
.modelroom_wrapp .read_text .image_illust.illust_4 {
    position: absolute;
    width: 14%;
    max-width: 140px;
    top: auto;
    bottom: 0;
    left: 6vw;
}
.modelroom_wrapp .read_text .image_illust.illust_5 {
    position: absolute;
    width: 10%;
    max-width: 100px;
    top: -12%;
    right: 6vw;
}

.pers_1 {
    width: 100%;
    max-width: 1200px;
    position: relative;
    margin: 0 auto 80px;
}
.pers_1 .pers_cap {
    position: relative;
    display: block;
    text-align: right;
    padding: 15px;
    font-size: 11px;
}

/***Photo***/
.design_th {
        width: 90%;
    max-width: 960px;
    position: relative;
    margin: 0 auto 190px;
    display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
    padding-bottom: 20px;
}

.design_th h4 {
    width: 100%;
    position: relative;
     font-size: min(1.9vw, 20px);
    line-height: 100%;
    margin-bottom: 20px;
}
.design_th h4::before {
    content: "";
    width: calc(100% - 5em);
    height: 1px;
    border-top: 1px solid #333;
    position: absolute;
    top: 0.5em;
    left: 5em;
}

.design_th .design_th_in {
    width: 46%;
        margin: 0 auto;
}
.design_th .design_th_in .thou_logo {
    width: 90%;
    margin-bottom: 15px;
}
.design_th .design_th_in .thou_logo.iao {
    width: 60%;
}
.modelroom_wrapp .design_th .image_illust.illust_3 {
    position: absolute;
    width: 13%;
    max-width: 150px;
    top: 0%;
    right: -6vw;
}


.pers_2 {
    width: 100%;
    position: relative;
    margin: 0 auto;
    overflow: hidden;
}
.pers_2 .pers_cap {
    position: absolute;
    right: 10px;
    bottom: 10px;
        font-size: 11px;
    color: #fff;
}
.pers_2 .pers_text {
    position: absolute;
   top: 10%;
    right: 10%;
    color: #fff;
    font-size: clamp(12px, 2.8vw, 36px);
    letter-spacing: 0.25em;
    opacity: 0;
    transform: scale(1.2);
    transition: all 1s ease-out;
    transition-delay: 0.5s;
}

.pers_2 .pers_text.on {
    transform: scale(1);
    opacity: 1;
}

.pers_3 {
    width: 100%;
    position: relative;
    margin: 0 auto 90px;
    overflow: hidden;
}
.pers_3 .pers_cap {
    position: relative;
    display: block;
    text-align: right;
    padding:5px 10px;
    font-size: 11px;
}
.pers_3 .pers_text {
    position: absolute;
   top: 13%;
    left: 12%;
    color: #000;
    font-size: clamp(12px, 2.8vw, 36px);
    letter-spacing: 0.15em;
    opacity: 0;
    transform: scale(1.2);
    transition: all 1s ease-out;
    transition-delay: 0.5s;
}

.pers_3 .pers_text.on {
    transform: scale(1);
    opacity: 1;
}

.pers_4 {
    width: 100%;
    position: relative;
    margin: 0 auto 90px;
    overflow: hidden;
}
.pers_4 .pers_cap {
    position: absolute;
    right: 10px;
    bottom: 10px;
        font-size: 11px;
    color: #fff;
}


.mr_flex_box {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto 60px;
    display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
}
.mr_flex_box.reverse {
flex-direction:row-reverse
}

.mr_flex_box .mr_text {
    width: 48%;
    position: relative;
}
.mr_flex_box .mr_text h4 {
        display: inline-block;
    text-align: left;
    color: #81C0E9;
    font-size: min(3.0vw, 30px);
    font-weight: 500;
    margin-bottom: 30px;
    line-height: 160%;
    letter-spacing: 0.1em;
}
.mr_flex_box .mr_text p {
font-size: min(1.5vw, 16px);
}

.mr_flex_box .mr_image {
    width: 48%;
}
.mr_flex_box .mr_image div {
   overflow: hidden;
    border-radius: 30px;
}
.mr_flex_box .mr_image .pers_cap {
    position: relative;
    display: block;
    text-align: right;
    padding: 5px 10px;
    font-size: 12px;
}
.mr_flex_box.reverse .mr_image .pers_cap {
    text-align: left;
}


.mr_flex_box .mr_text .image_illust {
    position: absolute;
    width: 20%;
    max-width: 240px;
    bottom: -32%;
    right: 0;
}
.mr_flex_box .mr_text .image_illust.illust_4 {
    bottom: -12%;
    right: 0;
}


.mr_wide_box {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto 60px;
}
.mr_wide_box .mr_wide_in {
   overflow: hidden;
    border-radius: 30px;
}

.mr_wide_box .pers_cap {
    position: relative;
    display: block;
    text-align: right;
    padding: 5px 10px;
    font-size: 12px;
}

.mr_arrow {
         display: none;
     } 



 @media only screen and (max-width: 768px) {
     
.modelroom_wrapp .en_title {
    font-size: min(5.8vw, 35px);
    margin-bottom: 20px;
}
     
     
.modelroom_wrapp .read_text h3 {
    font-size: min(5.5vw, 36px);
}
     
.modelroom_wrapp .read_text h3 small {
    font-size: 11px;
    width: 80%;
}  
     
.modelroom_wrapp .read_text p {
    text-align: center;
    width: 90%;
    margin: 0 auto;
    font-size: min(3.2vw, 16px);
}

.modelroom_wrapp .read_text {
    margin-bottom: 20px;
    padding-bottom: 24vw;
    }  
     
 .modelroom_wrapp .read_text.sp_btm {
    margin-bottom: 20px;
    padding-bottom: 10px;
    } 
     
.modelroom_wrapp .read_text .image_illust.illust_1 {
    width: 26%;
    max-width: inherit;
    top: -15%;
    bottom: auto;
        right: 6vw;
}
.modelroom_wrapp .read_text .image_illust.illust_2 {
    width: 16%;
    max-width: inherit;
    top: auto;
    bottom: 0;
    right: 9vw;
} 
     
     
.design_th {
    margin: 0 auto 60px;
}  
.design_th h4 {
    font-size: min(4.6vw, 20px);
}    
.design_th .design_th_in {
    width: 90%;
    margin: 0 auto 40px;
}    
.design_th .design_th_in p {
 font-size: 14px;
}    
.modelroom_wrapp .design_th .image_illust.illust_3 {
    width: 18%;
    max-width: 150px;
    top: auto;
    right: 6vw;
    bottom: -280%;
}   
.modelroom_wrapp .read_text .image_illust.illust_4 {
    width: 16%;
    max-width: 160px;
    bottom: 10px;
    left: 15vw;
}   
.modelroom_wrapp .read_text .image_illust.illust_5 {
    width: 15%;
    max-width: 100px;
    top: -15%;
    right: 6vw;
}   
.planting_wrapp .image_illust.illust_6 {
    width: 16%;
    top: -2%;
    left: 16vw
}
.planting_wrapp .image_illust.illust_7 {
    width: 26%;
    top: -1%;
    right: 8vw;
}  
     
.pers_2 .pers_text {
    top: 10%;
    right: 2%;
    font-size: clamp(12px, 2.8vw, 36px);
    letter-spacing: 0.2em;
}    
.pers_3 .pers_text {
    top: 13%;
    left: 6%;
    font-size: clamp(12px, 2.8vw, 36px);
    letter-spacing: 0.1em;
}    
  
.pers_3 {
    margin: 0 auto 60px;
}  
     
.pers_4 {
    margin: 0 auto 60px;
}  
    

.mr_flex_box {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto 60px;
    display: block;
}  
.mr_flex_box .mr_text {
    width: 100%;
    position: relative;
    margin-bottom: 30px;
}   
.mr_flex_box .mr_text h4 {
         font-size: min(5.9vw, 38px);
}    
.mr_flex_box .mr_text  p {
        font-size: min(3.2vw, 16px);
}
.mr_flex_box .mr_text .image_illust {
    bottom: 0%;
    right: 0;
} 
.mr_flex_box .mr_text .image_illust.illust_4 {
    bottom:2%;
    right: 0;
}  
.mr_flex_box .mr_image
 {
    width: 100%;
}
.mr_flex_box .mr_image div {
    border-radius: 20px;
} 
.mr_wide_box .pers_cap {
    font-size: 11px;
}   
   
.mr_wide_box {
    width: 100%;
    margin: 0 auto 50px;
    position: relative;
}  
.mr_wide_box .mr_wide_in {
    overflow: hidden;
    border-radius: 20px;
    width: 200%;
    margin-left: 5%;
} 
     
.slide_image {
 transform: translateX(0%);
  transition: transform 0.1s linear;
  will-change: transform;
     }    
     
.mr_arrow {
         display: block;
         position: absolute;
         width: 15%;
         top: 45%;
         left: 10%;
     }     
.mr_arrow.rig {
         left: auto;
         right: 2%;
         transform: rotate(180deg);
     } 
 .mr_arrow img {
    filter: drop-shadow(0 0 0.1em #000);
}   
     
     
}




/***アニメーション***/
.flat_in {
    display: block;
    transition: all 1.6s;
    opacity: 0;
    transform: scale(1.1);
}
.flat_in.on {
    opacity: 1;
    transform: scale(1.0);
}


.fadein_bl {
     -ms-filter: blur(16px);
  filter: blur(16px);
    transform: scale(1.05);
    opacity: 0;
    transition: all 1s ease-out;
}
.fadein_bl.on {
    -ms-filter: blur(0px);
  filter: blur(0px);
    transform: scale(1);
    opacity: 1;
}


.fadein_up {
    -webkit-transform: translateY(6%);
    -ms-transform: translateY(6%);
    transform: translateY(6%);
    opacity: 0;
    transition: all 1s ease-out;
}
.fadein_up.on {
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
    opacity: 1;
}

.cliper span {
    display: block;
    -webkit-clip-path: circle(0);
    clip-path: circle(0);
    transition: 1.6s cubic-bezier(0.075, 0.82, 0.165, 1)
}


.cliper.on span {
    -webkit-clip-path: circle(73%);
    clip-path: circle(73%)
}

