@charset "UTF-8";
main {
    background: #FFFFFF;
    color: #212121;
}




/* ========================================
  @media screen and (min-width: 768px), print
======================================== */
@media screen and (min-width: 768px), print {
#exhibition_chiryumodelhouse {
    max-width: 1920px;
    margin-inline: auto;
    width: 100%;
}

.form-step{
    padding: 30px 0px 20px 0px !important;
}


/* header
-------------------------------------*/
.header .inHeader {
    padding: 15px 16px;
}
.header .h-time {
    font-weight: normal;
    font-size: 12px;
    letter-spacing: 0.08em;
    margin: 13px 0 0 11px;
}
.header .inHeader .hnavi {
    position: absolute;
    top: 15px;
    left: 85px;
}
.header .inHeader .h-right {
    padding-right: 44px;
    padding-top: 13px;
}
.header .inHeader .h-right .btn {
    text-align: right;
}
.hamberger {
    display: none;
}

/* mv
-------------------------------------*/
.mv {
    background: url(../img/mv.jpg)no-repeat center / cover;
    margin-bottom: 164px;
}
.mv .inner {
    width: min(95%, 1390px);
    margin-inline: auto;
    padding: 562px 0 225px;
    position: relative;
}
.mv .inner .ttl-box {
    width: min(95%, 519px);
    margin-left: auto;
}
.mv h1 {
    font-weight: 400;
    font-size: 40px;
    letter-spacing: 0.08em;
    line-height: 1.75;
    color: #fff;
    margin-bottom: 3px;
}
.mv h2 {
    font-weight: 400;
    font-size: 24px;
    letter-spacing: 0.08em;
    line-height: 2.91666;
    color: #fff;
}
.mv .btn {
    position: absolute;
    bottom: -58px;
    left: 50%;
    transform: translateX(-50%);
}

/* concept
-------------------------------------*/
.concept .top {
    background: url(../img/concept-bg.jpg)no-repeat center bottom/ contain;
}
.concept .top .inner {
    width: min(95%, 1000px);
    margin-inline: auto;
    padding: 0 0 1153px;
}
.concept .enttl {
    font-weight: 400;
    font-size: 30px;
    letter-spacing: 0.08em;
    line-height: 2.3333;
    text-align: center;
    margin-bottom: 24px;
}
.concept h2 {
    font-weight: bold;
    font-size: 48px;
    letter-spacing: 0.08em;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 46px;
    margin-left: 30px;
}
.concept .lead {
    font-weight: 400;
    font-size: 26px;
    letter-spacing: 0.08em;
    line-height: 1.5834615;
    text-align: center;
    margin-bottom: 13px;
}
.concept .txt {
    font-weight: 400;
    font-size: 18px;
    letter-spacing: 0.08em;
    line-height: 2.22222;
    text-align: center;
}
.concept .middle {
    background: #F2F2F2;
    text-align: center;
    padding: 59px 0 117px;
}
.concept .middle .subt {
    font-weight: 400;
    font-size: 18px;
    letter-spacing: 0.08em;
    line-height: 1;
    text-align: center;
    color: #fff;
    background: url(../img/concept-subt-bg.png)no-repeat top center / cover;
    margin-bottom: 20px;
    display: inline-block;
    padding: 6px 19px 24px;
}
.concept .middle h3 {
    font-weight: 400;
    font-size: 20px;
    letter-spacing: 0.075em;
    line-height: 2.5;
    text-align: center;
}
.concept .middle h3 span {
    font-weight: 400;
    font-size: 22px;
    letter-spacing: 0.08em;
    line-height: 2.272727;
    text-align: center;
    position: relative;
}
.concept .middle h3 span:after {
    height: 1px;
    background: #C13824;
    position: absolute;
    content: "";
    left: 50%;
    transform: translateX(-50%);
    bottom: 1px;
}
.concept .middle h3 span:nth-child(1):after {
    width: 261px;
}
.concept .middle h3 span:nth-child(2):after {
    width: 210px;
}

.concept .bottom {
    position: relative;
    text-align: center;
    padding: 0 0 215px;
}

.concept .bottom .bottom-cnt-center{
    width: 970px; margin: 0 auto;position: relative; padding: 0px 0px 75px 0px;
}

.concept .bottom::before {
    content: "";
    display: block;
    width: 203px;
    height: 89px;
    background: url(../img/concept-bottom-bg-top.svg)no-repeat;
    background-size: contain;
    position: absolute;
    top: -87px;
    left: 50%;
    transform: translateX(-50%);
}


.concept .bottom .icon-subtxt{
position: absolute;
        top: 245px;
        width: 280px;
        text-align: center;
        left: 0;
        font-size: 13px;
}


.concept .bottom h3 {
    font-weight: normal;
    font-size: 30px;
    letter-spacing: 0.08em;
    line-height: 1.8;
    text-align: center;
    position: relative;
    padding: 86px 0 0;
    display: inline-block;
}
.concept .bottom h3::before {
    content: "";
    display: block;
    width: 253px;
    height: 254px;
    background: url(../img/no1.png)no-repeat;
    background-size: contain;
    position: absolute;
    top: -17px;
    left: -305px;
}
.concept .bottom h3 span{
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.08em;
    line-height: 1;
    text-align: center;
    display: block;
    margin-bottom: 13px;
}
.concept .concept-slide{position: relative;z-index: 1;}
.concept .concept-slide .loop {padding-top: 60px;overflow: hidden;padding-bottom: 24px;}
.concept .concept-slide .loop__box {display: flex;width: 100vw;}
.concept .concept-slide .loop__box img {min-width: 112.5vw;object-fit: cover;}
.concept .concept-slide .loop__box img:first-child {animation: loop 50s -25s linear infinite;}
.concept .concept-slide .loop__box img:last-child {animation: loop2 50s linear infinite;}
@keyframes loop {
    0% {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
  }
  @keyframes loop2 {
    0% {
        transform: translateX(0);
    }
    to {
        transform: translateX(-200%);
    }
  }
  
.concept .bottom .lead {
    font-weight: normal;
    font-size: 30px;
    letter-spacing: 0.08em;
    line-height: 1.6;
    text-align: center;
    position: relative;
    display: inline-block;
}
.concept .bottom .lead span {
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.08em;
    line-height: 2.4;
    text-align: center;
    display: block;
    margin-bottom: -5px;
}


.point-linkframe{}
.point-linkframe ul.point-linkinner{ width: 1200px; margin: 0 auto; padding: 0px 0px 50px 0px;
-ms-flex-wrap: wrap;flex-wrap: wrap;
display:-webkit-box;display:-ms-flexbox;display:flex;
-webkit-box-orient:horizontal;-webkit-box-direction:normal;}
.point-linkframe ul li{margin:0 60px 0 0;}
.point-linkframe ul li:nth-child(3n){margin:0 0px 0 0;}
.point-linkframe ul li a{position:relative;}
.point-linkframe ul li a::after{
content: '';
display: inline-block;
width: 30px;
height: 15px;
margin:0px auto;
position: absolute; bottom:-100px; left:0; right: 0;
background-image: url(../img/point-link-arrow.svg);
background-size: contain;
background-repeat: no-repeat;
transition: .3s;}
.point-linkframe ul li a:hover::after{bottom:-110px;}


/* point
-------------------------------------*/
.point {
    position: relative;
}
.point .inner {position: relative;}
.point .photo {
    position: relative;
    z-index: 2;
}
.point .ttl-box {
    position: relative;
    z-index: 3;
    top: 10px;
}
.point .num {
    margin-left: 16px;
    margin-bottom: 22px;
}
.point h2 {
    font-weight: normal;
    font-size: 49px;
    letter-spacing: 0.05em;
    line-height: 1.7551020;
}
.point h2 span {
    background: #FFFFFF;
    padding: 0 12px 5px;
}
.point h2 span:nth-of-type(2) {
    position: relative;
    top: 4px;
}
.point .txt {
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 32px;
}
.point .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}
.point .lead {
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 2;
}
/* point01 */
.point01 {
    margin-bottom: 140px;
}
.point01 .scrolldown {
    animation: scroll 2s infinite;
    background: #212121;
    height: 160px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 1px;
    z-index: 10;
    top: -121px;
}
@keyframes scroll {
    0% {
        transform: scale(1,0);
        transform-origin: 0 0;
    }
    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }
    51% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }
    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}
.point01::before ,
.point01::after {
    content: "";
    display: block;
    width: 83.3333%;
    background: #F2F2F2;
    position: absolute;
    left: 0;
    pointer-events: none;
    z-index: 1;
}
.point01::before {
    top: 0;
    height: 487px;
}
.point01::after {
    bottom: 0;
    height: 443px;
}
.point01 .inner {
    width: min(95%, 1652px);
    margin-left: auto;
    padding: 136px 0 61px;
}
.point01 .photo{
    text-align: right;
    position: relative;
    top: -256px;
    margin-bottom: -256px;
}
.point01 .inBox01 {
    z-index: 3;
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 70px;
    width: min(95%, 1050px);
    margin-left: 191px;
    position: relative;
    top: -88px;
    margin-bottom: -86px;
}
.point01 .inBox01 .txt-box {
    margin: 154px 0 -28px;
}
.point01 .inBox02 {
    z-index: 3;
    display: grid;
    grid-template-columns: 590px 1fr;
    gap: 80px;
    width: min(95%, 1100px);
    margin-left: 142px;
    position: relative;
    top: -15px;
    margin-bottom: 13px;
}
.point01 .inBox02 .txt-box {
    margin: 161px 0 0;
}
.point01 .inBox02 .txt:nth-of-type(2) {
    margin-bottom: 23px;
}
.point01 .inBox02 .lead {

margin:  -9px 0 0;
}
/* point02 */
.point02 .photo {
    max-width: 1920px;
    width: 100%;
    margin-inline: auto;
}
.point02 .inner {
    width: min(95%, 1200px);
    margin-inline: auto;
    padding: 0 0 127px;
}
.point02 .ttl-box {
    top: -99px;
    left: 35px;
}
.point02 .inBox01 {
    z-index: 3;
    display: grid;
    grid-template-columns: 590px 1fr;
    gap: 80px;
    position: relative;
    top: -136px;
    width: min(95%, 1100px);
    margin-inline: auto;
    align-items: center;
    margin-bottom: -136px;
}
.point02 .inBox01 .txt-box {
    margin: 41px 0 0;
}
.point02 .inBox02 {
    z-index: 3;
    /* display: grid;
    grid-template-columns: 590px 1fr;
    gap: 49px;*/ 
    width: min(95%, 1100px);
    position: relative;
    margin-inline: auto;
    align-items: center;
}
.point02 .inBox02 .txt-box {
    margin: 35px 37px 0 0;
}
.point02 .inBox02 .txt-box .txt:nth-of-type(2) {
    margin-bottom: 23px;
}

/* point03 */
.point03 {
    background: #F2F2F2;
    text-align: center;
}
.point03 .ttl-box {
    position: relative;
    text-align: center;
    display: inline-block;
    padding: 83px 0 0 0;
    margin-bottom: 32px;
}
.point03 .ttl-box::before {
    position: absolute;
    content: "";
    background: url(../img/point03-label.png)no-repeat;
    background-size: contain;
    width: 229px;
    height: 230px;
    top: 94px;
    left: -242px;
}
.point03 .num {
    margin-left: 0;
    margin-bottom: 17px;
}
.point03 h2 {
    margin-bottom: 35px;
}
.point03 .ttl-box .txt {
    margin-bottom: 36px;
}
.point03 .photo {
    max-width: 1920px;
    width: 100%;
    margin-inline: auto;
}
.point03 .inBox01 {
    width: min(95%, 1180px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 660px 1fr;
    gap: 60px;
    padding: 60px 0 0;
    text-align: left;
}
.point03 .inBox01 .txt-box {
    background: #F2F2F2;
    position: relative;
    top: -120px;
    z-index: 3;
    padding: 35px 30px 0 40px;
    margin-bottom: -120px;
}
.point03 .inBox01 .photo02 {
    margin-right: 40px;
}
.point03 .inBox02 {
    width: min(95%, 1100px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 591px 550px;
    text-align: left;
    padding: 20px 0 101px;
}
.point03 .inBox02 .txt-box {
    position: relative;
    left: -33px;
    margin-top: 69px;
}
.point03 .inBox02 .txt-box h3 {
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 2.2;
    margin-bottom: 33px;
}
.point03 .inBox02 .txt-box h3 span {
    background: #FFFFFF;
    padding: 5px 10px;
}
.point03 .inBox02 .txt-box .txt {
    margin-left: 12px;
}

/* bnr-box
-------------------------------------*/
.bnr-box {
    width: min(95%, 1100px);
    margin-inline: auto;
    padding: 160px 0;
}
.bnr-box .item { 
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 44px;
}

/* floor
-------------------------------------*/
.floor {
    background: #F2F2F2;
}
.floor .inner{
    width: min(95%, 1280px);
    margin-inline: auto;
    padding: 114px 0 150px;
}
.floor .ttl {
    font-weight: normal;
    font-size: 26px;
    letter-spacing: 0.05em;
    line-height: 2.730769;
    text-align: center;
    margin-bottom: 18px;
}
.floor .img-box {
    position: relative;
    margin-bottom: 86px;
}
.floor .img-box .en{
    position: absolute;
    top: -45px;
    left: -82px;
}
.pin {
    position: absolute;
    left: var(--x);
    top: var(--y);
    transform: translate(-50%, -50%);
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}
.pin img {
    width: 41px;  
    height: auto;
    display: block;
}
/* モーダル */
.modal {
    position: fixed;
    inset: 0;
    display: none;
    /* overflow-y: auto; */
    height: 100dvh;            
    /* -webkit-overflow-scrolling: touch; */
    z-index: 100;
}
  .modal.is-open {
    display: grid;
    place-items: center;
}
  .modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(29,29,29,.9);
    min-height: 1120px;
}
  .modal__box {
    position: relative;
    width: 1280px;
}
  .modal__close {
    position: absolute;
    right: -263px;
    top: 39px;
}
.modal__slider {
    margin: 51px 0 0!important;
}
.modal__slider .txt {
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.75;
    color: #FFFFFF;
    width: min(95%,1000px);
    margin-inline: auto;
}
  .modal__slider .photo {
    margin-bottom: 26px;
}
  .modal__slider .photo img {
    width: 100%;
    height: 560px;
    display: block;
    object-fit: contain;
}
  
  .slick-list {
    height: auto!important;
  }
  .slide-arrow {
    position: absolute;
    top: 49%;
    transform: translateY(-50%);
    z-index: 10;
    width: 80px;
    height: 80px;
    cursor: pointer;
    left: 50%;
  }
  .prev-arrow {
    margin-left: -781px;
  }
  .next-arrow {
    margin-left: 699px;
  }
  .slide-dots {
    margin: 50px  0 0;
    padding: 0;
    text-align: center;
  }
  .slide-dots li {
    display: inline-block;
    margin: 0 30px;
  }
  .slide-dots li button {
    position: relative;
    text-indent: -9999px;
  }
  .slide-dots li button::before {
    background-image: url(../img/slide-dots.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    cursor: pointer;
    width: 20px;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
  }
  .slide-dots li.slick-active button::before {
    background-image: url(../img/slide-dots-active.svg);
    background-repeat: no-repeat;
    background-size: contain;
  }
  button {
    background: none;
    border: none;
    outline: none;
    padding: 0 7px;
  }

/* ttl共通
-------------------------------------*/
.sec-ttl {
    font-weight: 400;
    font-size: 44px;
    letter-spacing: 0.05em;
    line-height: 1.590909;
    position: relative;
    text-align: center;
    margin-bottom: 69px;
}
.sec-ttl::before,
.sec-ttl::after {
    content: "";
    display: block;
    width: 490px;
    height: 1px;
    background: #212121;
    position: absolute;
    top: 56%;
    transform: translateY(-50%);
}
.sec-ttl::before {
    left: 0;
}
.sec-ttl::after {
    right: 0;
}

/* gallery
-------------------------------------*/
.gallery .list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 51px 40px;
}
.gallery .list li .ttl-wrap {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 10px;
    align-items: center;
    border-bottom: 1px solid #212121;
    padding: 0 0 15px;
    margin-bottom: 26px;
}
.gallery .list li .ttl-wrap h3 {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
}
.gallery .list li .photo {
    margin-bottom: 10px;
    position: relative;
}
.gallery .list li .photo::after {
    position: absolute;
    content: "";
    background: url(../img/open-icon.svg)no-repeat;
    background-size: contain;
    width: 25px;
    height: 25px;
    bottom: 0;
    right: 0;
}
.gallery .list li .txt {
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 2;
}

/* room-tour
-------------------------------------*/
.room-tour .inner {
    width: min(95%, 1280px);
    margin-inline: auto;
    padding: 145px 0 0;
}
.room-tour .sec-ttl {
    margin-bottom: 40px;
}
.room-tour .sec-ttl::before,
.room-tour .sec-ttl::after {
    width: 460px;
}
.room-tour .ytArea {
    width: min(95%, 880px);
    margin-inline: auto;
}
.room-tour .ytArea iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
}
.room-tour .bnr-box {
    padding: 173px 0;
}
.room-tour .bnr-box li:nth-child(3) {
    grid-column: 1 / -1;
}
.room-tour .bnr-box .item {
    gap: 26px 44px;
    margin-bottom: 16px;
}
.room-tour .desc {
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 2;
}

/* access
-------------------------------------*/
.access .inner {
    width: min(95%, 1280px);
    margin-inline: auto;
}
.access .sec-ttl {
    margin-bottom: 40px;
}
.access .sec-ttl::before,
.access .sec-ttl::after {
    width: 510px;
}
.access .map {
    margin-bottom: 24px;
    height: 640px;
}
.access .map iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.access .address {
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.08em;
    text-align: center;
}


/* contact
-------------------------------------*/
#exhibition_chiryumodelhouse .cm-form {
    margin-top: 155px;
}
#exhibition_chiryumodelhouse .cm-form .form-blocks.bg-gray {
    padding: 0 0 78px;
}
#exhibition_chiryumodelhouse .contact {
    background: #F2F2F2;
}
#exhibition_chiryumodelhouse .contact .inner {
    width: min(95%, 1280px);
    margin-inline: auto;
    background: #FFFFFF;
    padding: 70px 0 80px;
}
#exhibition_chiryumodelhouse .contact .wcm03 {
    position: relative;
    max-width: 1000px;
    padding: 0;
}
#exhibition_chiryumodelhouse .contact .ttl-box {
    position: relative;
    width: min(95%, 300px);
    margin-inline: auto;
    padding: 123px 0 56px;
}
#exhibition_chiryumodelhouse .contact h2 {
    font-weight: normal;
    font-size: 40px;
    letter-spacing: 0.05em;
    line-height: 1.75;
    text-align: center;
    margin-bottom: 10px;
    position: relative;
    z-index: 2;
}
#exhibition_chiryumodelhouse .contact .en {
    position: absolute;
    content: "";
    width: 180px;
    height: 74px;
    top: 94px;
    left: -19px;
}
#exhibition_chiryumodelhouse .contact h3 {
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.08em;
    text-align: center;
}
#exhibition_chiryumodelhouse .contact .form-note {
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 2.142857;
    text-align: left;
    margin: 0;
    width: min(95%,605px);
    margin-inline: auto;
}
#exhibition_chiryumodelhouse .cm-form .box-form{
    margin-top: 29px;
}
#exhibition_chiryumodelhouse .form-group-title .ttl:before {
    content: none;
}
#exhibition_chiryumodelhouse .form-group-title .ttl.is-required:before {
    background: #C13824;
    font-size: 13px;
    font-weight: 400;
    line-height: 2.2;
    width: 50px;
    height: 30px;
    right: 14px;
    left: initial; 
    content: "必須";
    background: #C13924;
}
#exhibition_chiryumodelhouse .form-group-title {
    font-weight: normal;
    font-size: 17px;
    letter-spacing: 0.05em;
    line-height: 2.235294;
    text-align: left;
    padding: 0 10px 1px 25px;
    max-width: 384px;
    width: 40%;
}
#exhibition_chiryumodelhouse .contact .form-group {
    border-bottom: 1px solid #DDDDDD;
    padding: 29px 0 30px;
}
#exhibition_chiryumodelhouse .contact .form-group:first-child {
    padding: 29px 0 30px;
    border-top: 1px solid #DDDDDD;
}
#exhibition_chiryumodelhouse .contact .form-group:first-child:last-child {
    align-items: flex-start;
}
#exhibition_chiryumodelhouse .form-group-content {
    width: 54.6%;
}
#exhibition_chiryumodelhouse .contact .form-group:first-child input {
    width: 320px;
}
#exhibition_chiryumodelhouse .contact .form-group:nth-child(2) input {
    width: 320px;
}
#exhibition_chiryumodelhouse .box-datetimepicker .input-date {
    height: 50px;
    border-radius: 5px;
    background: #f2f2f2;
    border: 1px solid #e6e6e6;
    color: #999999;
}
#exhibition_chiryumodelhouse .box-select select {
    height: 50px;
    border-radius: 5px;
    background: #f2f2f2;
    border: 1px solid #e6e6e6;
    color: #999999;
}
#exhibition_chiryumodelhouse .input-text {
    /* width: 320px; */
    height: 50px;
    border-radius: 5px;
    background: #f2f2f2;
    border: 1px solid #e6e6e6;
    color: #999999;
}
#exhibition_chiryumodelhouse .input-area {
    height: 220px;
    border-radius: 5px;
    background: #f2f2f2;
    border: 1px solid #e6e6e6;
    color: #999999;
}
#exhibition_chiryumodelhouse .form-policy {
    height: 160px;
    background: #f2f2f2;
    border: 1px solid #ddd;
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.571428;
    margin-top: 46px;
    padding: 32px 36px;
}
#exhibition_chiryumodelhouse .form-policy .policy-list{
    margin-top: 10px;
}
#exhibition_chiryumodelhouse .form-action .btn-agree {
    max-width: 380px;
    margin: 0 auto 35px;
}
#exhibition_chiryumodelhouse .form-action {
    margin-top: 46px;
}
#exhibition_chiryumodelhouse .form-action .btn-agree label {
    font-weight: normal;
    font-size: 17px;
    letter-spacing: 0.05em;
    line-height: 2.235294;
    border-bottom: 1px solid #212121;
    border-top: none;
    border-left: none;
    border-right: none;
    padding: 0 0 10px;
}
#exhibition_chiryumodelhouse .form-action .btn-agree label span {
    margin-left: 0;
}
#exhibition_chiryumodelhouse .cm-btn02 {
    max-width: 500px;
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
    color: #fff;
    padding: 27px 22px 32px 0;
}
#exhibition_chiryumodelhouse .form-action .submit-button:after {
    background: url(../img/submit-arrow.svg)no-repeat;
    background-size: contain;
    width: 17px;
    height: 13px;
    right: 51px;
}

/* bnr04
-------------------------------------*/
.bnr04 {
    padding: 90px 0 145px;
    text-align: center;
}

/* event
-------------------------------------*/
.event {
    width: min(95%, 1280px);
    margin-inline: auto;
    padding: 0px 0px 80px 0px;
}
.event .sec-ttl {
    margin-bottom: 12px;
}
.event .sec-ttl::before,
.event .sec-ttl::after {
    width: 528px;
}
.event .subt {
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.08em;
    text-align: center;
}


/* floating bnr
-------------------------------------*/
.side-fix {
    display: none;
}
.fix-list {
    display: none;
}
.float-bnr{
    position: fixed;
    top: 80px;
    right: -10px;
    z-index: 400;
}
.float-bnr__img{
    display: block;
    width: 100%;
    height: auto;
}

/*スマホ用メニュー*/
.sp-fix-list {
    display: none;
}
  
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1000px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1000px) {
/* header
-------------------------------------*/
.header .h-time {margin: 0;font-size: 10px;}
.header .inHeader .h-right .btn img {
    width: 26.8vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
/* concept
-------------------------------------*/
.concept .top .inner {
    width: 69.444vw;
    padding: 0 0 80.417vw;
}
.concept .enttl {
    font-size: 2.083vw;
    margin-bottom: 1.667vw;
}
.concept h2 {
    font-size: 3.333vw;
    margin-bottom: 2.778vw;
    margin-left: 2.083vw;
}
.concept .lead {
    font-size: 1.806vw;
    margin-bottom: 0.903vw;
}
.concept .txt {
    font-size: clamp(0.625rem, 0.054rem + 1.19vw, 1.125rem);
}
.concept .middle {
    padding: 4.167vw 0 8.542vw;
}
.concept .middle .subt {
    font-size: clamp(0.625rem, 0.054rem + 1.19vw, 1.125rem);
    margin-bottom: 0.972vw;
    padding: 0.417vw 1.319vw 1.667vw;
}
.concept .middle h3 {
    font-size: clamp(0.75rem, 0.179rem + 1.19vw, 1.25rem);
}
.concept .middle h3 span {
    font-size: 1.528vw;
}
.concept .middle h3 span:after {
    height: 0.069vw;
    bottom: -0.417vw;
}
.concept .middle h3 span:nth-child(1):after {
    width: 18.125vw;
}
.concept .middle h3 span:nth-child(2):after {
    width: 14.583vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1540px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1540px) {
.concept .bottom {
    padding: 0 0 14.221vw;
    position:relative;
}

.concept .bottom .bottom-cnt-center{
    width: 71vw;
}

.concept .bottom::before {
    width: 13.182vw;
    height: 5.779vw;
    top: -5.649vw;
}

.concept .bottom .icon-subtxt{
position: absolute;
top: 16vw;
width: 26vw;
font-size: 13px;
text-align: center;
}

.concept .bottom h3 {
    font-size: 1.948vw;
    padding: 5.195vw 0 0;
}
.concept .bottom h3::before {
    width: 16.429vw;
    height: 16.494vw;
    top: -1.104vw;
    left: -19.805vw;
}
.concept .bottom h3 span{
    font-size: 1.299vw;
    margin-bottom: 0.844vw;
}
.concept .bottom .lead {
    font-size: 1.948vw;
}
.concept .bottom .lead span {
    font-size: 1.299vw;
    margin-bottom: -0.325vw;
}
.concept .bottom .lead::before {
    width: 22.662vw;
    height: 14.545vw;
    top: -0.39vw;
    left: -26.494vw;
}
.concept .bottom .lead::after {
    width: 13.182vw;
    height: 17.338vw;
    top: -0.39vw;
    right: -15.39vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1700px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1700px) {
/* point
-------------------------------------*/
.point .ttl-box {
    top: 0.588vw;
}
.point .num {
    margin-left: 0.941vw;
    margin-bottom: 1.294vw;
}
.point h2 {
    font-size: 2.882vw;
    letter-spacing: 0.05em;
    line-height: 1.7551020;
}
.point h2 span {
    padding: 0 0.706vw 0.294vw;
}
.point h2 span:nth-of-type(2) {
    top: 0.235vw;
}
.point .txt {
    font-size: clamp(0.75rem, 0.544rem + 0.43vw, 1rem);
    margin-bottom: 1.882vw;
}
.point .lead {
    font-size: clamp(0.875rem, 0.566rem + 0.64vw, 1.25rem);
}
/* point01 */
.point01 {
    margin-bottom: 8.235vw;
}
.point01 .scrolldown {
    height: 9.412vw;
    width: 0.059vw;
    top: -7.118vw;
}
.point01::before {
    top: 0;
    height: 28.647vw;
}
.point01::after {
    bottom: 0;
    height: 26.059vw;
}
.point01 .inner {
    width: 97.176vw;
    padding: 8vw 0 3.882vw;
}
.point01 .photo{
    top: -15.059vw;
    margin-bottom: -15.059vw;
}
.point01 .photo img {
    width: 76.471vw;
}
.point01 .inBox01 {
    grid-template-columns: 21.176vw 1fr;
    gap: 4.118vw;
    width:61.765vw;
    margin-left: 11.235vw;
    top: -5.059vw;
    margin-bottom: -5.059vw;
}
.point01 .inBox01 .txt-box {
    margin: 8.706vw 0 -1.647vw;
}
.point01 .inBox02 {
    grid-template-columns: 34.706vw 1fr;
    gap: 4.706vw;
    width: 64.706vw;
    margin-left: 8.353vw;
    top: -0.765vw;
    margin-bottom: 0.765vw;
}
.point01 .inBox02 .txt-box {
    margin: 9.235vw 0 0;
}
.point01 .inBox02 .txt:nth-of-type(2) {
    margin-bottom: 1.353vw;
}
/* point02 */
.point02 .inner {
    width: 70.588vw;
    padding: 0 0 7.647vw;
}
.point02 .ttl-box {
    top: -5.824vw;
    left: 2.059vw;
}
.point02 .inBox01 {
    grid-template-columns: 34.706vw 1fr;
    gap: 4.706vw;
    top: -8vw;
    width: 64.706vw;
    margin-bottom: -8vw;
}
.point02 .inBox01 .txt-box {
    margin: 1.882vw 0 0;
}
.point02 .inBox02 {
    grid-template-columns: 30.059vw 1fr;
    gap: 2.882vw;
}
.point02 .inBox02 .txt-box {
    margin: 3.588vw 2.176vw 0 0;
}
.point02 .inBox02 .txt-box .txt:nth-of-type(2) {
    margin-bottom: 1.353vw;
}

/* point03 */
.point03 .ttl-box {
    padding: 4.882vw 0 0 0;
    margin-bottom: 2.176vw;
}
.point03 .ttl-box::before {
    width: 13.471vw;
    height: 13.529vw;
    top: 5.529vw;
    left: -14.235vw;
}
.point03 .num {
    margin-left: 0;
    margin-bottom: 1vw;
}
.point03 h2 {
    margin-bottom: 1.882vw;
}
.point03 .ttl-box .txt {
    margin-bottom: 2.118vw;
}
.point03 .inBox01 {
    width: 69.412vw;
    grid-template-columns: 38.824vw 1fr;
    gap: 3.529vw;
    padding: 3.529vw 0 0;
}
.point03 .inBox01 .txt-box {
    top: -7.059vw;
    padding: 1.824vw 1.765vw 0 2.353vw;
    margin-bottom: -7.059vw;
}
.point03 .inBox01 .photo02 {
    margin-right: 2.353vw;
}
.point03 .inBox02 {
    width: 64.706vw;
    grid-template-columns: 34.765vw 32.353vw;
    padding: 1.176vw 0 5.941vw;
}
.point03 .inBox02 .txt-box {
    left: -1.941vw;
    margin-top: 4.059vw;
}
.point03 .inBox02 .txt-box h3 {
    font-size: clamp(0.875rem, 0.566rem + 0.64vw, 1.25rem);
    margin-bottom: 1.706vw;
}
.point03 .inBox02 .txt-box h3 span {
    padding: 0.294vw 0.588vw;
}
.point03 .inBox02 .txt-box .txt {
    margin-left: 0.706vw;
}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px)
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
/* floor
-------------------------------------*/
.floor .img-box .en{
    position: absolute;
    top: -3.125vw;
    left: -2.694vw;
}
.floor .img-box .en img {
    width: 27.083vw;
}

}


/* ========================================
@media screen and (min-width:768px) and (max-width:1919px)
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
/* モーダル */
.modal {
    position: fixed;
    inset: 0;
    display: none;
    overflow-y: auto;
    height: 100dvh;            
    -webkit-overflow-scrolling: touch;
    z-index: 1000;
}
  .modal.is-open {
    display: grid;
    place-items: center;
}
  .modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(29,29,29,.9);
    min-height: 58.364vw;
}
  .modal__box {
    position: relative;
    width: 66.701vw;
}
  .modal__close {
    position: absolute;
    right: -13.705vw;
    top: 2.032vw;
}
.modal__slider {
    margin: 51px 0 0!important;
}
.modal__slider .txt {
    font-weight: normal;
    /* font-size: clamp(0.875rem, 0.792rem + 0.17vw, 1rem); */
    letter-spacing: 0.05em;
    line-height: 1.75;
    color: #FFFFFF;
    width: min(95%,1000px);
    margin-inline: auto;
}
  .modal__slider .photo {
    margin-bottom: 1.355vw;
}
  .modal__slider .photo img {
    width: 100%;
    height: 29.182vw;
    display: block;
    object-fit: contain;
}
  
  .slick-list {
    height: auto;
  }
  .slide-arrow {
    position: absolute;
    top: 49%;
    transform: translateY(-50%);
    z-index: 10;
    width: 4.169vw;
    height: 4.169vw;
    cursor: pointer;
    left: 50%;
  }
  .prev-arrow {
    margin-left: -40.698vw;
  }
  .next-arrow {
    margin-left: 36.425vw;
  }
  .slide-dots {
    margin: 2.606vw  0 0;
    padding: 0;
    text-align: center;
  }
  .slide-dots li {
    display: inline-block;
    margin: 0 1.563vw;
  }
  .slide-dots li button {
    position: relative;
    text-indent: -521.053vw;
  }
  .slide-dots li button::before {
    background-image: url(../img/slide-dots.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    cursor: pointer;
    width: 1.042vw;
    height: 1.042vw;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
  }
  .slide-dots li.slick-active button::before {
    background-image: url(../img/slide-dots-active.svg);
    background-repeat: no-repeat;
    background-size: contain;
  }
  button {
    background: none;
    border: none;
    outline: none;
    padding: 0 0.365vw;
  }

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px)
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
/* ttl
-------------------------------------*/
.sec-ttl {
    font-size: 3.056vw;
    margin-bottom: 4.792vw;
}
.sec-ttl::before,
.sec-ttl::after {
    width: 34.028vw;
    height: 0.069vw;
}

.room-tour .sec-ttl {
    margin-bottom: 2.778vw;
}
.room-tour .sec-ttl::before,
.room-tour .sec-ttl::after {
    width: 31.944vw;
}

.access .sec-ttl {
    margin-bottom: 2.778vw;
}
.access .sec-ttl::before,
.access .sec-ttl::after {
    width: 35.417vw;
}

.event .sec-ttl {
    margin-bottom: 0.833vw;
}
.event .sec-ttl::before,
.event .sec-ttl::after {
    width: 36.667vw;
}
}


@media screen and (min-width:768px) and (max-width:1260px) {
.point-linkframe {}
.point-linkframe ul.point-linkinner { width:95.24vw; margin:0 auto; padding:0 0 3.97vw 0; -ms-flex-wrap:wrap; flex-wrap:wrap; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:horizontal; -webkit-box-direction:normal; }
.point-linkframe ul li { margin:0 4.76vw 0 0; width: 28vw; }
.point-linkframe ul li img{ width: 100%;}
.point-linkframe ul li:nth-child(3n) { margin:0 0 0 0; }
.point-linkframe ul li a { position:relative; }
.point-linkframe ul li a::after { content:''; display:inline-block; width:2.38vw; height:1.19vw; margin:0 auto; position:absolute; bottom:-7.94vw; left:0; right:0; background-image:url(../img/point-link-arrow.svg); background-size:contain; background-repeat:no-repeat; transition:.3s; }
.point-linkframe ul li a:hover::after { bottom:-8.73vw; }
}



/* ========================================
@media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
/* header
-------------------------------------*/
.header .inHeader .h-logo {
    width: 34.5vw;
    padding: 4vw 0 0 0;
    position: relative;
    left: 5vw;
}
.header .inHeader .h-logo img {
    width: auto;
}

/* mv
-------------------------------------*/
.mv {
    background: url(../img/mv_sp.jpg)no-repeat center / cover;
    margin-bottom: 36.8vw;
}
.mv .inner {
    width: 94.205vw;
    margin-inline: auto;
    padding: 32vw 0 87vw;
    position: relative;
}
.mv .inner .ttl-box {
    margin: 0 0 0 4vw;
}
.mv h1 {
    font-weight: 400;
    font-size:6.763vw;
    letter-spacing: 0.075em;
    line-height: 1.55;
    color: #fff;
    margin-bottom: 1.2vw;
}
.mv h2 {
    font-weight: 400;
    font-size:3.865vw;
    letter-spacing: 0.08em;
    line-height: 1;
    color: #fff;
}
.mv .btn {
    position: absolute;
    bottom: -21vw;
    left: 50%;
    transform: translateX(-50%);
    width: 98.6vw;
}


/* concept
-------------------------------------*/
.concept .top {
    background: url(../img/concept-bg_sp.jpg)no-repeat center bottom/ contain;
}
.concept .top .inner {
    margin-inline: auto;
    padding: 0 0 74vw;
}
.concept .enttl {
    font-weight: 400;
    font-size:7.729vw;
    letter-spacing: 0.08em;
    line-height: 1;
    text-align: center;
    margin-bottom: 8vw;
}
.concept h2 {
    font-weight: bold;
    font-size:6.763vw;
    letter-spacing: 0.075em;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 5vw;
    margin-left: 4.2vw;
}
.concept .lead {
    font-weight: 400;
    font-size:4.831vw;
    letter-spacing: 0.075em;
    line-height: 1.8;
    text-align: center;
    margin-bottom: 6.5vw;
}
.concept .txt {
    font-weight: 400;
    font-size:4.348vw;
    letter-spacing: 0.075em;
    line-height: 1.77777;
    text-align: left;
    width: 89.375vw;
    margin-inline: auto;
}
.concept .middle {
    background: #F2F2F2;
    text-align: center;
    padding: 7.5vw 0 15vw;
}
.concept .middle .subt {
    font-weight: 400;
    font-size:4.348vw;
    letter-spacing: 0.08em;
    line-height: 1;
    text-align: center;
    color: #fff;
    background: url(../img/concept-subt-bg.png)no-repeat top center / cover;
    margin-bottom: 2.2vw;
    display: inline-block;
    padding: 1.5vw 4.6vw 5.5vw;
}
.concept .middle h3 {
    font-weight: 400;
    font-size: 3.865vw;
    letter-spacing: 0.075em;
    line-height: 1.15;
    text-align: center;
}
.concept .middle h3 span {
    font-weight: 400;
    font-size: 4.831vw;
    letter-spacing: 0.075em;
    line-height: 2.5;
    text-align: center;
    position: relative;
    display: block;
}
.concept .middle h3 span:after {
    height: 0.2vw;
    background: #C13824;
    position: absolute;
    content: "";
    left: 50%;
    transform: translateX(-50%);
    bottom: 2.2vw;
}
.concept .middle h3 span:nth-child(1):after {
    width: 56.54vw;
}
.concept .middle h3 span:nth-child(2):after {
    width: 46.9vw;
}

.concept .bottom {
    position: relative;
    text-align: center;
    padding: 0 0 42vw;
}

.concept .bottom .bottom-cnt-center{
    width: 90vw; margin: 0 auto;position: relative;
}

.concept .bottom::before {
    content: "";
    display: block;
    width: 21.5vw;
    height: 9.43vw;
    background: url(../img/concept-bottom-bg-top.svg)no-repeat;
    background-size: contain;
    position: absolute;
    top: -9vw;
    left: 50%;
    transform: translateX(-50%);
}

.concept .bottom .icon-subtxt{
        position: absolute;
        top: 60vw;
        font-size: 3vw;
        /* left: 0; */
        margin: 0 auto;
        text-align: center;
        width: 100%;
}

.concept .bottom h3 {
    font-weight: normal;
    font-size:5.797vw;
    letter-spacing: 0.075em;
    line-height: 1.6666;
    text-align: center;
    position: relative;
    padding: 73.8vw 0 0;
    display: inline-block;
}
.concept .bottom h3::before {
    content: "";
    display: block;
    width: 53.4vw;
    height: 53.9vw;
    background: url(../img/no1_sp.png)no-repeat;
    background-size: contain;
    position: absolute;
    top: 5.5vw;
    left: 50%;
    transform: translateX(-50%);
}
.concept .bottom h3 span{
    font-weight: normal;
    font-size:3.865vw;
    letter-spacing: 0.075em;
    line-height: 1;
    text-align: center;
    display: block;
    margin-bottom: 2vw;
}
.concept .concept-slide{position: relative;z-index: 1;}
.concept .concept-slide .loop {padding-top: 4.5vw;overflow: hidden;padding-bottom: 8vw;}
.concept .concept-slide .loop__box {display: flex;width: 100vw;}
.concept .concept-slide .loop__box img {min-width: 198.12vw;object-fit: cover;}
.concept .concept-slide .loop__box img:first-child {animation: loop 50s -25s linear infinite;}
.concept .concept-slide .loop__box img:last-child {animation: loop2 50s linear infinite;}
@keyframes loop {
    0% {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
  }
  @keyframes loop2 {
    0% {
        transform: translateX(0);
    }
    to {
        transform: translateX(-200%);
    }
  }
  
.concept .bottom .lead {
    font-weight: normal;
    font-size:5.797vw;
    letter-spacing: 0.075em;
    line-height: 1.66666;
    text-align: center;
    position: relative;
    display: inline-block;
    margin: 0;
}
.concept .bottom .lead span {
    font-weight: normal;
    font-size:3.865vw;
    letter-spacing: 0.075em;
    line-height: 2.5;
    text-align: center;
    display: block;
    margin-bottom: -1vw;
}

.point-linkframe{}
.point-linkframe ul.point-linkinner{width: 100%;margin: 0 auto;padding: 8vw 0 8vw 0;}
.point-linkframe ul li{margin: 0 0 10vw 0; text-align: center; padding: 0 5vw 0 5vw;}
.point-linkframe ul li a{position:relative;}
.point-linkframe ul li a::after{content: '';display: inline-block;width: 8vw;height: 4vw;margin: 0 auto;position: absolute;bottom: -24.6vw;left: 0;right: 0;background-image: url(../img/point-link-arrow.svg);background-size: contain;background-repeat: no-repeat;transition: .3s;}
.point-linkframe ul li a:hover::after{bottom: -27.3vw;}




/* point
-------------------------------------*/
.point {
    position: relative;
}
.point .inner {position: relative;}
.point .photo {
    position: relative;
    z-index: 2;
    margin-top: -6.7vw;
    margin-bottom: 6.5vw;
}
.point .ttl-box {
    width: 89.375vw;
    margin-inline: auto;
    position: relative;
    z-index: 3;
}
.point .num {
    margin-left: 4vw;
    margin-bottom: 3vw;
}
.point h2 {
    font-weight: normal;
    font-size:6.28vw;
    letter-spacing: 0.05em;
    line-height: 2;
}
.point h2 span {
    background: #FFFFFF;
    padding: 1vw 2vw;
}
.point h2 span:nth-of-type(2) {
}
.point .txt {
    font-weight: normal;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 7vw;
}
.point .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}
.point .lead {
    font-weight: normal;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    line-height: 1.7777;
}
.point .inBox01 {
    display: grid;
    width: 89.375vw;
    margin-inline: auto;
    margin-bottom: 13.5vw;
    position: relative;
}
.point .inBox01 .txt-box {
    order: 1;
    margin-bottom: 5vw;
}
.point .inBox01 .photo02 {
    order: 2;
}
.point .inBox02 {
    display: grid;
    position: relative;
}
.point .inBox02 .photo02 {
    margin-bottom: 5vw;
}
.point .inBox02 .txt-box {
    margin-bottom: 4vw;
    width: 89.375vw;
    margin-inline: auto;
    position: relative;
    z-index: 2;
}
.point .inBox02 .photo03 {
    margin-bottom: 5vw;
    width: 89.375vw;
    margin-inline: auto;
    position: relative;
    z-index: 2;
}
/* point01 */
.point01 {
    margin-bottom: 11.5vw;
}
.point01 .scrolldown {
    animation: scroll 2s infinite;
    background: #212121;
    height: 33.4vw;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 0.2vw;
    z-index: 10;
    top: -26vw;
}
@keyframes scroll {
    0% {
        transform: scale(1,0);
        transform-origin: 0 0;
    }
    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }
    51% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }
    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}
.point01::before  {
    content: "";
    display: block;
    width: 100%;
    background: #F2F2F2;
    position: absolute;
    left: 0;
    pointer-events: none;
    z-index: 1;
}
.point01::before {
    top: 0;
    height: 70.8vw;
}
.point01 .inner {
    padding: 9vw 0 0;
}
.point01 .inBox02::before {
    content: "";
    display: block;
    width: 100%;
    background: #F2F2F2;
    position: absolute;
    left: 0;
    pointer-events: none;
    z-index: 1;
    top: -6vw;
    height: 114.1vw;
}
.point01 .inBox02 .lead{
    margin: -3vw 0 0;
}

/* point02 */
.point02 {
    display: grid;
    margin-bottom: 14.5vw;
}
.point02 .inner {
    display: contents;
}
.point02 .ttl-box {
    order: 1;
}
.point02 .photo {
    order: 2;
}
.point02 .inBox01 {
    order: 3;
    margin-bottom: 6vw;
}
.point02 .inBox02 {
    order: 4;
}
.point02 .inBox02 .photo03 {
    order: 2;
}
.point02 .lead {
    margin: -3vw 0 0;
}

/* point03 */
.point03 {
    background: #F2F2F2;
    padding: 8.9vw 0 3vw;
}
.point03 .ttl-box {
    position: relative;
}
.point03 .ttl-box::before {
    position: absolute;
    content: "";
    background: url(../img/point03-label.png)no-repeat;
    background-size: contain;
    width: 42.1vw;
    height: 42.3vw;
    right: 0;
    top: -13vw;
}
.point03 h2 {
    margin-bottom: 5vw;
}
.point03 .photo {
    margin: 5vw 0 0;
}
.point03 .inBox01 {
    width: 94.205vw;
    margin-bottom: 5vw;
}
.point03 .inBox01 .txt-box {
    display: contents;
}
.point03 .inBox01 .txt-box .txt:nth-of-type(1) {
    order: 1;
    background: #F2F2F2;
    position: relative;
    top: -7vw;
    z-index: 3;
    padding: 3.5vw 2.5vw;
    margin-bottom: -6vw;
}
.point03 .inBox01 .txt-box .txt:nth-of-type(2) {
    order: 3;
    width: 89.375vw;
    margin-inline: auto;
    margin-bottom: 6.5vw;
}
.point03 .inBox01 .txt-box .txt:nth-of-type(3) {
    order: 4;
    width: 89.375vw;
    margin-inline: auto;
}
.point03 .inBox01 .photo02 {
    order: 2;
    width: 89.375vw;
    margin-inline: auto;
    margin-bottom: 6.9vw;
}
.point03 .inBox02 .txt-box h3 {
    font-weight: normal;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    line-height: 2.22222;
    margin-bottom: -7vw;
    position: relative;
    top: -11.5vw;
}
.point03 .inBox02 .txt-box h3 span {
    background: #FFFFFF;
    padding: 1.4vw 2.2vw 0;
}

/* bnr-box
-------------------------------------*/
.bnr-box {
    width: 94.205vw;
    margin-inline: auto;
    padding: 19vw 0;
}
.bnr-box .item {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 5vw;
}

/* floor
-------------------------------------*/
.floor {
    background: #F2F2F2;
}
.floor .inner{
    padding: 13vw 0 2vw;
}
.floor .ttl {
    font-weight: normal;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    line-height: 1.7777;
    text-align: center;
    margin-bottom: 8vw;
}
.floor .img-box {
    position: relative;
    margin-bottom: 6.75vw;
}
.floor .img-box .en{
    position: absolute;
    top: -5vw;
    left: 5.9vw;
}
.floor .img-box .en img {
    width: 30.2vw;
}
.pin {
    position: absolute;
    left: var(--x);
    top: var(--y);
    transform: translate(-50%, -50%);
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}
.pin img {
    width: 4.9vw;
    height: auto;
    display: block;
}

/* モーダル */
.modal {
    position: fixed;
    inset: 0;
    display: none;
    overflow-y: auto;
    height: 100dvh;
    -webkit-overflow-scrolling: touch;
    z-index: 1000;
}
  .modal.is-open {
    display: grid;
    place-items: center;
}
  .modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(29,29,29,.9);
    /* min-height: 1120px; */
}
  .modal__box {
    position: relative;
    width: 100vw;
    /* padding: 13vw 0 0; */
}
  .modal__close {
    position: absolute;
    right: 6.5vw;
    top: -5vw;
}
.modal__close img {
    
width: 5.9vw;
}
.modal__slider {
    margin:0 0 0vw!important;
}
.modal__slider .txt {
    font-weight: normal;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2;
    color: #FFFFFF;
    width: 89.375vw;
    margin-inline: auto;
}
  .modal__slider .photo {
    margin-bottom: 5vw;
}
  .modal__slider .photo img {
    width: 100%;
    /* height: 800px; */
    display: block;
    object-fit: contain;
}
  
.slick-list {
    height: auto!important;
    /* margin: 0 0 21vw!important; */
    padding: 8vw 0 0;
}
.slide-dots {
    margin: 0  0 0;
    padding: 0;
    text-align: center;
  }
  .slide-dots li {
    display: inline-block;
    margin: 0 5.5vw;
  }
  .slide-dots li button {
    position: relative;
    text-indent: -9999px;
  }
  .slide-dots li button::before {
    background-image: url(../img/slide-dots.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    cursor: pointer;
    width: 3.7vw;
    height: 3.7vw;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
  }
  .slide-dots li.slick-active button::before {
    background-image: url(../img/slide-dots-active.svg);
    background-repeat: no-repeat;
    background-size: contain;
  }
  button {
    background: none;
    border: none;
    outline: none;
    /* padding: 0 7px; */
  }

  /* ttl共通
-------------------------------------*/
.sec-ttl {
    font-weight: 400;
    font-size:7.729vw;
    letter-spacing: 0.05em;
    line-height: 2.1875;
    position: relative;
    text-align: center;
    margin-bottom: 2.2vw;
}
.sec-ttl::before,
.sec-ttl::after {
    content: "";
    display: block;
    width: 23.2vw;
    height: 0.2vw;
    background: #212121;
    position: absolute;
    top: 56%;
    transform: translateY(-50%);
}
.sec-ttl::before {
    left: 0;
}
.sec-ttl::after {
    right: 0;
}

/* gallery
-------------------------------------*/
.gallery .list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 7.3vw;
    width: 89.375vw;
    margin-inline: auto;
    padding: 0 0 8vw;
}
.gallery .list li .ttl-wrap {
    display: grid;
    grid-template-columns: 5.315vw 1fr;
    gap: 2.5vw;
    align-items: center;
    border-bottom: 0.2vw solid #212121;
    padding: 0 0 3.5vw;
    margin-bottom: 3.5vw;
}
.gallery .list li .ttl-wrap h3 {
    font-weight: normal;
    font-size:5.314vw;
    letter-spacing: 0.05em;
}
.gallery .list li .photo {
    margin-bottom: 3vw;
    position: relative;
}
.gallery .list li .photo::after {
    position: absolute;
    content: "";
    background: url(../img/open-icon_sp.svg)no-repeat;
    background-size: contain;
    width: 7.3vw;
    height: 7.3vw;
    bottom: 0;
    right: 0;
}
.gallery .list li .txt {
    font-weight: normal;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2;
}

/* room-tour
-------------------------------------*/
.room-tour .inner {
    margin-inline: auto;
    padding: 13.9vw 0 0;
}
.room-tour .sec-ttl {
    margin-bottom: 3vw;
}
.room-tour .sec-ttl::before,
.room-tour .sec-ttl::after {
    width: 17.2vw;
}
.room-tour .ytArea {
    margin-inline: auto;
    width: 94.205vw;
    margin-bottom: 14vw;
}
.room-tour .ytArea iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
}
.room-tour .bnr-box {
    padding: 4vw 0 10.5vw;
    display: grid;
    width: 100%;
}
.room-tour .bnr-box li:nth-child(1) {
    order: 1;
    width: 94.205vw;
    margin-inline: auto;
    margin-bottom: 3.6vw;
}
.room-tour .bnr-box a  {
    order: 4;
    display: block;
}
.room-tour .bnr-box li:nth-child(3) {
    order: 2;
    width: 96.2vw;
    margin: 0 0 2.6vw 1vw;
}
.room-tour .bnr-box .item {
    display: contents;
}
.room-tour .desc {
    font-weight: normal;
    font-size:2.898vw;
    letter-spacing: 0;
    line-height: 2.083333;
    order: 3;
    width: 94.205vw;
    margin-inline: auto;
    margin-bottom: 8vw;
}


/* access
-------------------------------------*/
.access .sec-ttl {
    margin-bottom: 3.5vw;
}
.access .sec-ttl::before,
.access .sec-ttl::after {
    width: 27.1vw;
}
.access .map {
    margin-bottom: 3.5vw;
    height: 72.5vw;
}
.access .map iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: 100%;
}
.access .address {
    font-weight: normal;
    font-size:3.382vw;
    letter-spacing: 0.075em;
    text-align: center;
}

/* contact
-------------------------------------*/

.form-step{
    padding: 4vw 0px 2vw 0px !important;
}

.info-mail{ text-align: center !important;}

#exhibition_chiryumodelhouse .cm-form {
    margin-top: 18.2vw;
}
#exhibition_chiryumodelhouse .cm-form .form-blocks.bg-gray {
    padding: 0 0 14.49vw;
}
#exhibition_chiryumodelhouse .contact {
    background: #F2F2F2;
}
#exhibition_chiryumodelhouse .contact .inner {
    width: 94.375vw;
    margin-inline: auto;
    background: #FFFFFF;
    padding: 9vw 0 9.66vw;
}
#exhibition_chiryumodelhouse .contact .wcm03 {
    position: relative;
    /* max-width: 1000px; */
    padding: 0;
}
#exhibition_chiryumodelhouse .contact .ttl-box {
    position: relative;
    width: 70vw;
    margin-inline: auto;
    padding: 18.2vw 0 6.2vw;
}
#exhibition_chiryumodelhouse .contact h2 {
    font-weight: normal;
    font-size: 7.729vw;
    letter-spacing: 0.05em;
    line-height: 1.75;
    text-align: center;
    margin-bottom: 1vw;
    position: relative;
    z-index: 2;
}
#exhibition_chiryumodelhouse .contact .en {
    position: absolute;
    content: "";
    top: 13.2vw;
    left: 0.2vw;
}
#exhibition_chiryumodelhouse .contact .en img {
    
width: 34.6vw;
}
#exhibition_chiryumodelhouse .contact h3 {
    font-weight: normal;
    font-size: 4.348vw;
    letter-spacing: 0.075em;
    text-align: center;
}
#exhibition_chiryumodelhouse .contact .form-note {
    font-weight: normal;
    font-size: 3.382vw;
    letter-spacing: 0.075em;
    line-height: 2;
    text-align: left;
    margin: 0;
    width: 84vw;
    margin-inline: auto;
}
#exhibition_chiryumodelhouse .cm-form .box-form{
    margin-top: 8.7vw;
    padding: 0 4.9vw;
}
#exhibition_chiryumodelhouse .form-group-title .ttl:before {
    content: none;
}
#exhibition_chiryumodelhouse .form-group-title .ttl.is-required:before {
    background: #C13824;
    font-size: 3.14vw;
    font-weight: 400;
    line-height: 2.5;
    width: 12.1vw;
    height: 7.3vw;
    right: 0;
    left: initial;
    content: "必須";
    background: #C13924;
}
#exhibition_chiryumodelhouse .form-group-title {
    font-weight: normal;
    font-size: 3.623vw;
    letter-spacing: 0.05em;
    line-height: 2.53333;
    text-align: left;
    padding: 0 0 0 1vw;
    /* max-width: 384px; */
    /* width: 40%; */
    margin-bottom: 1vw;
}
#exhibition_chiryumodelhouse .contact .form-group {
    border-bottom: 1px solid #DDDDDD;
    padding: 2.2vw 1.2vw 3vw;
}
#exhibition_chiryumodelhouse .contact .form-group:first-child {
    padding: 0 1.2vw 3vw;
    /* border-top: 1px solid #DDDDDD; */
}
#exhibition_chiryumodelhouse .contact .form-group:first-child:last-child {
    align-items: flex-start;
}
#exhibition_chiryumodelhouse .form-group-content {
    width: 100%;
    margin-inline: auto;
}
#exhibition_chiryumodelhouse .form-group-title .ttl {
    padding: 0;
}
#exhibition_chiryumodelhouse .contact .form-group:first-child input {
    /* width: 320px; */
}
#exhibition_chiryumodelhouse .contact .form-group:nth-child(2) input {
    /* width: 320px; */
}
#exhibition_chiryumodelhouse .box-datetimepicker .input-date {
    height: 50px;
    border-radius: 5px;
    background: #f2f2f2;
    border: 1px solid #e6e6e6;
    color: #999999;
}
#exhibition_chiryumodelhouse .box-select select {
    height: 50px;
    border-radius: 5px;
    background: #f2f2f2;
    border: 1px solid #e6e6e6;
    color: #999999;
}
#exhibition_chiryumodelhouse .input-text {
    /* width: 320px; */
    height: 50px;
    border-radius: 1.2vw;
    background: #f2f2f2;
    border: 0.2vw solid #e6e6e6;
    color: #999999;
    font-size: 3.623vw;
}
#exhibition_chiryumodelhouse .input-area {
    height: 38.7vw;
    border-radius: 5px;
    background: #f2f2f2;
    border: 1px solid #e6e6e6;
    color: #999999;
}
#exhibition_chiryumodelhouse .form-policy {
    height: 38.7vw;
    background: #f2f2f2;
    border: 0.2vw solid #ddd;
    font-weight: normal;
    font-size: 2.657vw;
    letter-spacing: 0.05em;
    line-height: 1.72727;
    margin-top: 7vw;
    padding: 4.6vw 4.7vw;
    width: 82.2vw;
    margin-inline: auto;
    overflow-y: scroll;
}
#exhibition_chiryumodelhouse .form-policy .policy-ttl{
    font-size: 2.898vw;
    text-indent: 0;
}
#exhibition_chiryumodelhouse .form-policy .policy-list{
    margin-top: 1.2vw;
}
#exhibition_chiryumodelhouse .form-action .btn-agree {
    max-width: 82.2vw;
    margin: 0 auto 7vw;
}
#exhibition_chiryumodelhouse .form-action {
    margin-top: 5.1vw;
}
#exhibition_chiryumodelhouse .form-action .btn-agree label {
    font-weight: normal;
    font-size: 3.623vw;
    letter-spacing: 0.05em;
    line-height: 2.235294;
    border-bottom: 0.2vw solid #212121;
    border-top: none;
    border-left: none;
    border-right: none;
    padding: 0 0 4vw;
}
#exhibition_chiryumodelhouse .form-action .btn-agree label span {
    margin-left: 0;
}
#exhibition_chiryumodelhouse .cm-btn02 {
    max-width: 82.2vw;
    font-weight: normal;
    font-size: 3.865vw;
    letter-spacing: 0.05em;
    line-height: 2.5;
    text-align: center;
    color: #fff;
    padding: 6vw 0 6.2vw;
}
#exhibition_chiryumodelhouse .form-action .submit-button:after {
    background: url(../img/submit-arrow.svg)no-repeat;
    background-size: contain;
    width: 4.2vw;
    height: 3.2vw;
    right: 9vw;
}

/* event
-------------------------------------*/
.event {
padding: 0px 0px 15vw 0px;
}


.event .sec-ttl {
    margin-bottom: 0;
}
.event .sec-ttl::before,
.event .sec-ttl::after {
    width: 29vw;
}
.event .subt {
    font-weight: normal;
    font-size:4.348vw;
    letter-spacing: 0.075em;
    text-align: center;
}


/* bnr04
-------------------------------------*/
.bnr04 {
    padding: 14.6vw 0 14.3vw;
    text-align: center;
    width: 94.375vw;
    margin-inline: auto;
}


/* floating bnr
-------------------------------------*/
.side-fix {
    display: none;
}
.fix-list {
    display: none;
}

/* sp-fix-list
-------------------------------------*/
.sp-fix-list {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 96;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: flex-end;
    z-index: 400;
}
  
.sp-fix-list li{
    width: 50vw;
}

.sp-fix-list li img{
    width: 100%;
}

}


/* ========================================
   @media screen and (max-height: 450px)
======================================== */
@media screen and (max-height: 450px) {
/* 高さ450px以下の場合 andoroidのフォーム対策 ストーカーバナー用　*/
    .sp-fix-list {
        display: none;
    }
}
