@charset "UTF-8";
/* stylelint-disable */
/* stylelint-enable */
body {
    color: #4c4948;
}

#Contents img {
    max-width: 100%;
    height: auto;
}

.GridSet {
    width: 100%;
}

.Section {
    max-width: 1000px;
    margin: 0 auto 40px;
}

.Section:last-child {
    margin-bottom: 10px;
}

.Section * {
    box-sizing: border-box;
}

.TextStyle1 {
    font-size: 86%;
    line-height: 1.65;
    margin-bottom: 20px;
}

ul.AnnotationsStyle1 li {
    font-size: 82.5%;
    font-weight: normal;
}

/* ====================
   トップページ
==================== */
#platMainHero {
    background: #fff url('../image/mainvisual_bg.png') no-repeat 50% 100%;
    background-size: auto 635px;
    max-width: none;
    min-height: 635px;
    border-bottom: 2px solid #b4b4b5;
}

h2.platImgStyle {
    position: relative;
    width: 990px;
    height: 340px;
    margin: 0 auto;
    padding: 45px 0 0;
    background: none;
}

h2.platImgStyle .animHero01,
h2.platImgStyle .animHero02,
h2.platImgStyle .animHero03,
h2.platImgStyle .animHero04 {
    position: absolute;
    top: 45px;
    left: 0;
}

h2.platImgStyle .animHero04.is-visible {
    opacity: 1 !important;
    transition: none !important;
    animation: flash 2.5s linear;
}

@keyframes flash {
    0%,
    50%,
    100% {
        opacity: 1;
    }
    25%,
    75% {
        opacity: 0;
    }
}
.platMovieBtn a {
    transition: 0.3s;
}

.platMovieBtn a:hover {
    opacity: 0.7;
}

#builPass {
    background: #fff url('../image/section_bg.png') no-repeat 50% 100%;
    background-size: 2000px auto;
    max-width: none !important;
    padding-bottom: 40px;
}

#builPass .row {
    display: flex;
    justify-content: space-between;
    max-width: 990px;
    margin: 20px auto 0;
}

#builPass .row:first-child {
    margin-top: 0;
}

#builPass .row .col1 {
    background-color: #fff;
}

#builPass .row .col2 {
    background-color: #fff;
    max-width: 486px;
}

#builPass a {
    transition: 0.3s;
}

#builPass a:hover {
    opacity: 0.7;
}

#builMirai,
#builPass {
    background: #fff url('../image/section_bg.png') no-repeat 50% 100%;
    background-size: 2000px auto;
    max-width: none !important;
    padding-bottom: 40px;
}

#builMirai .row,
#builPass .row {
    display: flex;
    justify-content: space-between;
    max-width: 990px;
    margin: 20px auto 0;
}

#builMirai .row:first-child,
#builPass .row:first-child {
    margin-top: 0;
}

#builMirai .row .col1,
#builPass .row .col1 {
    background-color: #fff;
}

#builMirai .row .col2,
#builPass .row .col2 {
    background-color: #fff;
    max-width: 486px;
}

#builMirai a,
#builPass a {
    transition: 0.3s;
}

#builMirai a:hover,
#builPass a:hover {
    opacity: 0.7;
}

#builMirai .builmiraiAnim {
    position: relative;
    width: 990px;
    height: 560px;
}

#builMirai .builmiraiAnim .animMirai01,
#builMirai .builmiraiAnim .animMirai02,
#builMirai .builmiraiAnim .animMirai03,
#builMirai .builmiraiAnim .animMirai04 {
    position: absolute;
    top: 0;
    left: 0;
}

.platLink01 {
    max-width: 990px;
    margin: 20px auto 0;
}

.platLink01 p {
    /*width: 340px;*/
		width: 470px;
    margin: 0 0 0 auto;
}

.platLink01 a {
    display: block;
    background-color: #ff0026;
    line-height: 44px;
    text-align: center;
    text-decoration: none;
    font-size: 1.25rem;
    color: #fff;
    position: relative;
}

.platLink01 a:hover {
    background-color: #cc0022;
    opacity: 1 !important;
}

.platLink01 a::after {
    content: '';
    background: url('../image/icon_arrow.png') no-repeat 0 0;
    background-size: 22px 25px;
    width: 22px;
    height: 25px;
    position: absolute;
    top: 9px;
    right: 20px;
}

/* ------ お問い合わせボタン ------ */
.platContact {
    text-align: center;
    font-size: 1.5rem;
    background-color: #f2f2f2;
    padding-top: 25px;
}

.platContact small {
    font-size: 1.125rem;
}

.platContact h2{
    font-size: 1.5rem;
    font-weight: bold;
}
.platContact ul{
    background-color: #535353;
    width: 500px;
    margin: 0 auto 25px;
}
.platContact ul li.NewWin a{
    -webkit-background-size: 25px 25px;
    background-position: 340px center;
}
.platContact ul li a{
    color: #fff;
    text-decoration: none;
    display: block;
    width: 500px;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 1.125rem;
}
.platContact ul:hover{
    opacity:0.8;
}
.platContact ul li a:hover,
.platContact ul li a:visited{
    color: #fff;
    text-decoration: none;
}


/* ====================
   ビルパス
==================== */
#builPassSystem {
    padding-top: 40px;
}

#builPassSystem .Section {
    max-width: 1080px;
}

#builPassSystem .passTop {
    margin-bottom: 0;
    padding-bottom: 0;
}

h2.builPassSystem__title {
    background: url('../image/builpass/pass_title.png') no-repeat 50% 0;
    background-size: 324px 82px;
    height: 82px;
    padding: 0;
}

h2.builPassSystem__title span {
    display: inline-block;
    background-color: transparent;
    padding: 0;
    text-align: left;
    text-indent: -999px;
    overflow: hidden;
}

#builPassSystem #builPass {
    background: #fff url('../image/section_bg2.png') repeat-y 50% 0;
    background-size: 2000px auto;
    padding-top: 40px;
}

#builPassSystem .row .col1 {
    width: 100%;
    max-width: 990px;
    margin: auto;
    padding: 58px 0 0;
    text-align: center;
    border: 2px solid #ef8200;
}

#builPassSystem .row .col1 h3 {
    margin-bottom: 0;
    padding-top: 110px;
}

#builPassSystem .row .col1 h3.num1 {
    background: url('../image/builpass/pass_icon1.png') no-repeat 50% 0;
    background-size: 110px 110px;
}

#builPassSystem .row .col1 h3.num2 {
    background: url('../image/builpass/pass_icon2.png') no-repeat 50% 0;
    background-size: 110px 110px;
}

#builPassSystem .row .col1 h3.num3 {
    background: url('../image/builpass/pass_icon3.png') no-repeat 50% 0;
    background-size: 110px 110px;
}

#builPassSystem .row .col1 h3 span {
    display: inline-block;
    background-color: transparent;
    line-height: 0;
    text-align: left;
    text-indent: -999px;
    overflow: hidden;
}

#builPassSystem .row .col1 h4 {
    background-color: #ef8200;
    max-width: 210px;
    margin: 2rem auto 0;
    line-height: 1.8;
    font-size: 1.125rem;
    color: #fff;
}

#builPassSystem .row .col1 p {
    font-size: 2.5rem;
    color: #ef8200;
}

#builPassSystem .row .col1 strong {
    font-weight: 700;
    color: #ef8200;
}

#builPassSystem .row .col1 small {
    display: inline-block;
    line-height: 1.6;
    /*font-size: 1.25rem;*/
    font-size: 1.5rem;
}

#builPassSystem .row .col1 h4 + p {
    margin-top: 1.125rem;
    font-size: 1.125rem;
    color: #ef8200;
}

#builPassSystem .row .col1 .fig1,
#builPassSystem .row .col1 .fig2,
#builPassSystem .row .col1 .fig3 {
    padding: 2rem 0 50px;
}

#builPassSystem .row .col1 .fig4,
#builPassSystem .row .col1 .fig5 {
    margin: 12px 0 0;
}

#builPassSystem .row .col1 .figGroup {
    position: relative;
    max-width: 650px;
    margin: 3.125rem auto 0;
}

#builPassSystem .row .col1 .fig1 {
    position: relative;
    max-width: 210px;
    min-height: 750px;
    margin: 0 0 0 auto;
    padding: 178px 0 0;
    z-index: 2;
}

#builPassSystem .row .col1 .slideArea {
    width: 362px;
    margin: 0 auto 0 0;
    position: absolute;
    top: 0;
    left: 0;
}

#builPassSystem .row .col1 .slideFrame {
    position: absolute;
    top: 0;
    left: 0;
}

#builPassSystem .row .col1 .slider {
    width: 315px;
    margin: 78px auto 0 24px;
    position: relative;
    z-index: 1;
}

/*#builPassSystem .row .col1 .slider .slick-dots {
    bottom: -60px;
}
#builPassSystem .row .col1 .slider .slick-dots li {
    margin: 0 3px;
}
#builPassSystem .row .col1 .slider .slick-dots li button:before {
    font-size: 10px;
    opacity: 1;
    color: #c8c8c8;
}
#builPassSystem .row .col1 .slider .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #ef8200;
}*/
#builPassSystem .row .col1 .slick-btn li {
    margin-bottom: 1.5rem;
}

#builPassSystem .row .col1 .slick-btn button {
    background-color: transparent;
    width: 210px;
    height: 50px;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
            appearance: none;
    text-align: left;
    text-indent: -999px;
    overflow: hidden;
}

#builPassSystem .row .col1 .slick-btn li:nth-of-type(1) button {
    background: url('../image/builpass/pass_slide_btn1.png') no-repeat 0 0;
    background-size: 210px 50px;
}

#builPassSystem .row .col1 .slick-btn li:nth-of-type(2) button {
    background: url('../image/builpass/pass_slide_btn2.png') no-repeat 0 0;
    background-size: 210px 50px;
}

#builPassSystem .row .col1 .slick-btn li:nth-of-type(3) button {
    background: url('../image/builpass/pass_slide_btn3.png') no-repeat 0 0;
    background-size: 210px 50px;
}

#builPassSystem .row .col1 .slick-btn li:nth-of-type(4) button {
    background: url('../image/builpass/pass_slide_btn4.png') no-repeat 0 0;
    background-size: 210px 50px;
}

#builPassSystem .row .col1 .slick-btn li:nth-of-type(5) button {
    background: url('../image/builpass/pass_slide_btn5.png') no-repeat 0 0;
    background-size: 210px 50px;
}

#builPassSystem .row .col1 .fig6 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 650px;
    margin: 0 auto;
    padding-bottom: 50px;
}

#builPassSystem .row .col1 .fig6 > li {
    max-width: 205px;
    margin: 2rem 0 0 17px;
}

#builPassSystem .row .col1 .fig6 > li:nth-of-type(1),
#builPassSystem .row .col1 .fig6 > li:nth-of-type(4) {
    margin: 2rem 0 0 0;
}

#builPassSystem .row .col1 .fig6 > li span {
    display: block;
    margin-top: 0.825rem;
    text-align: left;
    line-height: 1.4;
    font-size: 0.825rem;
}
/* modaal */
.modaal-close:hover:before,
.modaal-close:hover:after {
    background: #e60027;
}

#builMiraiSystem *,
#builMiraiSystem *::before,
#builMiraiSystem *::after {
    box-sizing: border-box;
}
#builMiraiSystem h2 {
    background: none;
}
#builMiraiSystem h2 span {
    display: inline;
    padding: 0;
    font-size: 1rem;
    font-weight: 400;
    color: #3e3732;
    line-height: 1.5;
    background-color: transparent;
}
#builMiraiSystem .l-section .page-title {
    padding: 2.625em 0 1.5em;
    margin: 0;
    text-align: center;
    font-size: 1rem;
    line-height: 1;
}
#builMiraiSystem .l-section .page-title > .decoration {
    display: inline-block;
    padding: 0.25rem 0;
    text-align: center;
    line-height: 1;
}
#builMiraiSystem .l-section .page-title > .plain {
    padding: 0.4em 0;
    color: #3e3732;
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.02em;
}
#builMiraiSystem .l-section.syscfg {
    padding: 0 0 3.125em;
}
#builMiraiSystem .l-section.syscfg > .l-section__inner {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-content: normal;
    align-items: flex-start;
    width: 60.25em;
    padding: 0;
    margin: 0 auto;
    background-image: url('/products/buildingsystems/products-solutions/building-common/image/builmirai/syscfg_bg.png');
    background-size: contain;
    background-position: center top;
    background-repeat: no-repeat;
    min-height: 38.125em;
}
#builMiraiSystem .l-section.syscfg > .l-section__inner > .item:nth-child(1) {
    order: 1;
}
#builMiraiSystem .l-section.syscfg > .l-section__inner > .item:nth-child(2) {
    order: 3;
    width: 37%;
}
#builMiraiSystem .l-section.syscfg > .l-section__inner > .item:nth-child(3) {
    order: 2;
    width: 31%;
}
#builMiraiSystem .l-section.syscfg > .l-section__inner > .item:nth-child(4) {
    order: 4;
    width: 31%;
}
#builMiraiSystem .l-section.syscfg > .l-section__inner > .figure {
    order: 1;
    width: 100%;
    text-align: center;
}
#builMiraiSystem .l-section.syscfg > .l-section__inner > .navigation {
    position: relative;
    width: 33%;
    height: 100%;
    flex-grow: 0;
    flex-shrink: 1;
    padding: 1.625em 0;
    text-align: center;
}
#builMiraiSystem
    .l-section.syscfg
    > .l-section__inner
    > .navigation:nth-of-type(2)
    > .c-button {
    animation-delay: 1200ms;
}
#builMiraiSystem
    .l-section.syscfg
    > .l-section__inner
    > .navigation:nth-of-type(3)
    > .c-button {
    animation-delay: 0ms;
}
#builMiraiSystem
    .l-section.syscfg
    > .l-section__inner
    > .navigation:nth-of-type(4)
    > .c-button {
    animation-delay: 2400ms;
}
#builMiraiSystem
    .l-section.syscfg
    > .l-section__inner
    > .navigation
    > .c-button {
    position: relative;
    -webkit-appearance: none;
            appearance: none;
    border: none;
    background-color: transparent;
    display: inline-block;
    pointer-events: auto;
    padding: 0;
    margin: 0 auto;
    cursor: pointer;
    transition: opacity 260ms ease-out;
    border-radius: 9999px;
    color: #ffffff;
    background-color: #44af35;
    box-shadow: 0 0.34em 0 rgba(109, 129, 79, 0.77);
}
#builMiraiSystem
    .l-section.syscfg
    > .l-section__inner
    > .navigation
    > .c-button.is-active {
    top: 0.34em;
    box-shadow: 0 0 0 rgba(109, 129, 79, 0.77);
    animation: none;
    filter: brightness(0.88);
}
#builMiraiSystem
    .l-section.syscfg
    > .l-section__inner
    > .navigation
    > .c-button:hover {
    filter: brightness(1.002);
}
#builMiraiSystem
    .l-section.syscfg
    > .l-section__inner
    > .navigation
    > .c-button
    img {
    vertical-align: bottom;
}
#builMiraiSystem .l-section.usage-example {
    padding: 3.25em 0 3.75em;
    background-image: url('/products/buildingsystems/products-solutions/building-common/image/builmirai/usage_bg.png');
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
}
#builMiraiSystem .l-section.usage-example > .l-section__inner {
    width: 60.25em;
    padding: 4.188em 0;
    margin: 0 auto;
    border: solid 1px #44af35;
    background-color: #ffffff;
}
#builMiraiSystem .l-section.usage-example > .l-section__inner > .heading {
    text-align: center;
    padding: 0;
    margin: 0;
}
#builMiraiSystem
    .l-section.usage-example
    > .l-section__inner
    > .heading
    > .heading__caption {
    display: inline-block;
    min-width: 13.125em;
    font-size: 1.375rem;
    line-height: 1.8;
    color: #ffffff;
    background-color: #44af35;
}
#builMiraiSystem
    .l-section.usage-example
    > .l-section__inner
    > .heading
    > .heading__body {
    display: block;
    padding: 0.5em 0;
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #44af35;
}
#builMiraiSystem .l-section.usage-example > .l-section__inner > .step-section {
    margin-top: 1.75rem;
    text-align: center;
}
#builMiraiSystem
    .l-section.usage-example
    > .l-section__inner
    > .step-section
    > .step-section__title {
    color: #44af35;
    font-size: 1.125em;
    letter-spacing: 0.04em;
}
#builMiraiSystem
    .l-section.usage-example
    > .l-section__inner
    > .step-section
    > .step-section__title::before {
    content: attr(data-symbol);
    display: block;
    margin: 0 auto;
    padding: 0.25em;
    font-size: 2.125rem;
}
#builMiraiSystem
    .l-section.usage-example
    > .l-section__inner
    > .step-section
    > .step-section__description {
    font-size: 1em;
    color: #3e3732;
}
#builMiraiSystem
    .l-section.usage-example
    > .l-section__inner
    > .step-section
    > .step-section__figure {
    margin-top: 1.438em;
}
#builMiraiSystem .l-section.portal {
    padding: 3.75em 0 3.125em;
}
#builMiraiSystem .l-section.portal > .l-section__inner {
    text-align: center;
}
#builMiraiSystem .l-section.portal > .l-section__inner > .heading {
    font-size: 2.25rem;
    letter-spacing: 0.02em;
    padding: 0;
    margin: 0;
    color: #3e3732;
}
#builMiraiSystem .l-section.portal > .l-section__inner > .figure {
    padding: 1.5em 0 1.875em;
}
#builMiraiSystem .l-section.portal > .l-section__inner > .contact-inform,
#builPassSystem .contact-inform {
    padding: 1.875em 0 1.875em;
}
#builMiraiSystem
    .l-section.portal
    > .l-section__inner
    > .contact-inform
    > .sub,
#builPassSystem .contact-inform .sub {
    color: #706a67;
    font-size: 1.125rem;
    line-height: 160%;
}
#builMiraiSystem
    .l-section.portal
    > .l-section__inner
    > .contact-inform
    > .main,
#builPassSystem .contact-inform .main {
    margin-top: 0.75em;
    color: #706a67;
    font-size: 1.125rem;
    line-height: 160%;
}

.download {
		padding-top: 1.875em;
}
.download .LinkListStyle1 {
    font-size: 1.125rem;
}

#builMiraiSystem .l-section.portal .c-link,
#builPassSystem .c-link {
    display: inline-block;
}
#builMiraiSystem .l-section.portal .c-link.-telephone,
#builPassSystem .c-link.-telephone {
    pointer-events: none;
    cursor: text;
    color: inherit;
    text-decoration: none;
}

.l-main .c-pagetop {
    position: fixed;
    width: 3.75em;
    bottom: 2.813em;
    right: 1.875em;
    z-index: 1;
}

.c-hint {
    opacity: 0;
    position: absolute;
    width: 38.75em;
    height: 25.75em;
    animation: hideHint 320ms ease-in forwards;
}
.c-hint.is-show {
    bottom: 5.625em;
    animation: showHint 320ms ease-out forwards;
}
.c-hint.is-hidden {
    display: none;
}
.c-hint .c-hint__content {
    position: relative;
    z-index: 1;
}
.c-hint .c-hint__close {
    position: absolute;
    top: 1.125em;
    right: 1.375em;
    display: none;
    -webkit-appearance: none;
            appearance: none;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    margin: 0;
    border: none;
    z-index: 2;
}

#hint01 {
    transform: translateX(-30%);
}

#hint02 {
    transform: translateX(5%);
}

#hint03 {
    transform: translateX(-60%);
}

@keyframes hideHint {
    0% {
        display: block;
        opacity: 1;
        bottom: 3.875em;
        @media screen and (max-width: 767px) {
            bottom: 18.133vw;
        }
    }
    99% {
        opacity: 0;
        bottom: 2.625em;
    }
    100% {
        display: none;
    }
}
@keyframes showHint {
    0% {
        display: none;
    }
    1% {
        display: block;
        opacity: 0;
        bottom: 4.375em;
    }
    100% {
        opacity: 1;
        bottom: 5.625em;
    }
}
@keyframes hideHintSm {
    0% {
        opacity: 1;
        bottom: 20.8vw;
    }
    99% {
        display: block;
    }
    100% {
        display: none;
        opacity: 0;
        bottom: 16vw;
    }
}
@keyframes showHintSm {
    0% {
        display: none;
    }
    1% {
        display: block;
        opacity: 0;
        bottom: 12.8vw;
    }
    100% {
        opacity: 1;
        bottom: 15.467vw;
    }
}
@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop,
    .u-fit-contain {
        object-fit: contain;
        font-family: 'object-fit: contain';
    }

    *::-ms-backdrop,
    .u-fit-cover {
        object-fit: cover;
        font-family: 'object-fit: cover';
    }
}
@media screen and (max-width: 767px) {
    #Contents {
        overflow-x: hidden;
    }

    .JS .GridSet {
        margin: 0 -15px;
    }

    .JS .Grid4 {
        padding: 0;
    }

    .Section {
        max-width: 767px;
        margin-bottom: 20px;
    }

    #platMainHero {
        background: #fff url('../image/mainvisual_bg_sp.png') no-repeat 50% 100%;
        background-size: 100% auto;
        max-width: none;
        min-height: 83.3333333333vw;
        border-bottom: none;
    }

    h2.platImgStyle {
        margin: 0 auto;
        padding: 30px 30px 0;
        background: none;
        position: relative;
        width: 93.3333333333vw;
        height: 39.2vw;
    }

    h2.platImgStyle .animHero01,
    h2.platImgStyle .animHero02,
    h2.platImgStyle .animHero03,
    h2.platImgStyle .animHero04 {
        top: 30px;
    }

    .platMovieBtn a {
        display: block;
        width: 56.8vw;
        margin: 0 auto;
    }

    #builMirai,
    #builPass {
        background: #fff url('../image/section_bg_sp.png') no-repeat 50% 100%;
        background-size: 100% auto;
        max-width: none;
        padding: 0 15px 40px;
    }

    #builMirai .row,
    #builPass .row {
        display: block;
        margin: 0 auto;
        padding: 0 30px;
    }

    #builMirai .row:first-child,
    #builPass .row:first-child {
        margin-top: 0;
    }

    #builMirai .row .col1,
    #builPass .row .col1,
    #builMirai .row .col2,
    #builPass .row .col2 {
        max-width: 486px;
        margin: 20px auto 0;
    }

    #builMirai .builmiraiAnim {
        position: relative;
        width: 100%;
        height: 75.7333333333vw;
    }

    .platLink01 {
        max-width: 468px;
        margin: 20px auto 0;
        padding: 0 30px;
    }

    .platLink01 p {
        /*width: 56vw;*/
				width: 100%;
        margin: 0 auto;
    }

    .platLink01 a {
        line-height: 44px;
        font-size: 1.125rem;
    }

    .platLink01 a::after {
        top: 9px;
        right: 12px;
    }

/* ------ お問い合わせボタン ------ */
    .platContact {
        font-size: 13px;
    }

    .platContact small {
        font-size: 10px;
    }
    h2.builPassSystem__title {
        background-size: 54vw auto;
        height: 14vw;
    }

    #builPassSystem #builPass {
        background: #fff url('../image/section_bg2_sp.png') repeat-y 50% 0;
        background-size: 100% auto;
    }

    #builPassSystem .row {
        padding: 4vw 0 0;
    }

    #builPassSystem .row .col1 {
        width: 100%;
        padding: 5vw 4vw 0;
    }

    #builPassSystem .row .col1 h3 {
        padding-top: 10.6666666667vw;
    }

    #builPassSystem .row .col1 h4 {
        font-size: 4.333vw;
    }

    #builPassSystem .row .col1 h3.num1,
    #builPassSystem .row .col1 h3.num2,
    #builPassSystem .row .col1 h3.num3 {
        background-size: 10.6666666667vw 10.6666666667vw;
    }

    #builPassSystem .row .col1 p {
        font-size: 4.333vw;
    }

    #builPassSystem .row .col1 small {
        line-height: 1.6;
        font-size: 4.333vw;
    }

    #builPassSystem .row .col1 strong {
        line-height: 1.6;
        font-size: 6.666vw;
    }

    #builPassSystem .row .col1 h4 + p {
        font-size: 4.333vw;
    }

    #builPassSystem .row .col1 .fig1,
    #builPassSystem .row .col1 .fig2,
    #builPassSystem .row .col1 .fig3 {
        padding: 4vw 0;
    }

    #builPassSystem .row .col1 .figGroup {
        width: 100%;
        max-width: none;
    }

    #builPassSystem .row .col1 .fig1 {
        max-width: none;
        min-height: initial;
        margin: 0 auto;
        padding: 22vw 0 0;
    }

    #builPassSystem .row .col1 .slideArea {
        width: 51.7333333333vw;
        margin: 0 auto;
        position: static;
    }

    #builPassSystem .row .col1 .slideFrame {
        width: 59.4666666667vw;
        margin: 0 auto;
        left: 0;
        right: 0;
    }

    #builPassSystem .row .col1 .slider {
        width: 51.7333333333vw;
        margin: 0 auto;
        padding-top: 12.888vw;
    }

    /*#builPassSystem .row .col1 .slider .slick-dots {
      bottom: -9.5vw;
  }
  #builPassSystem .row .col1 .slider .slick-dots li {
      width: 9px;
      height: 9px;
      margin: 0 2px;
  }
  #builPassSystem .row .col1 .slider .slick-dots li button {
      width: 9px;
      height: 9px;
      padding: 0;
  }
  #builPassSystem .row .col1 .slider .slick-dots li button:before {
      width: 9px;
      height: 9px;
      line-height: 10px;
      font-size: 10px;
  }*/
    #builPassSystem .row .col1 .slick-btn {
        display: flex;
        flex-wrap: wrap;
    }

    #builPassSystem .row .col1 .slick-btn li {
        margin-bottom: 4vw;
    }

    #builPassSystem .row .col1 .slick-btn li:nth-of-type(2n) {
        margin-left: 2.6666666667vw;
    }

    #builPassSystem .row .col1 .slick-btn button {
        width: 40vw;
        height: 9.6vw;
    }

    #builPassSystem .row .col1 .slick-btn li:nth-of-type(1) button,
    #builPassSystem .row .col1 .slick-btn li:nth-of-type(2) button,
    #builPassSystem .row .col1 .slick-btn li:nth-of-type(3) button,
    #builPassSystem .row .col1 .slick-btn li:nth-of-type(4) button,
    #builPassSystem .row .col1 .slick-btn li:nth-of-type(5) button {
        background-size: 100% auto;
    }

    #builPassSystem .row .col1 .fig6 {
        max-width: 650px;
        margin: 0 auto;
        padding-bottom: 4vw;
    }

    #builPassSystem .row .col1 .fig6 > li {
        margin: 2rem 0 0 0;
    }
    #builMiraiSystem .l-section .page-title > .decoration {
        padding: 0.8vw 6.133vw;
    }
    #builMiraiSystem .l-section .page-title > .decoration img {
        width: 62.667vw;
    }
    #builMiraiSystem .l-section .page-title > .plain {
        font-size: 4.8vw;
    }
    #builMiraiSystem .l-section.syscfg > .l-section__inner {
        width: 93.333vw;
        min-height: 120vw;
        background-image: url('/products/buildingsystems/products-solutions/building-common/image/builmirai/syscfg_bg_sm.png');
    }
    #builMiraiSystem .l-section.syscfg > .l-section__inner > .figure {
        width: 100%;
    }
    #builMiraiSystem .l-section.syscfg > .l-section__inner > .navigation {
        padding: 0;
    }
    #builMiraiSystem
        .l-section.syscfg
        > .l-section__inner
        > .navigation
        > .c-button {
        width: 25.867vw;
    }
    #builMiraiSystem .l-section.usage-example {
        background-image: url('/products/buildingsystems/products-solutions/building-common/image/builmirai/usage_bg_sm.png');
    }
    #builMiraiSystem .l-section.usage-example > .l-section__inner {
        width: 93.333vw;
        padding: 5.333vw 2.667vw;
    }
    #builMiraiSystem
        .l-section.usage-example
        > .l-section__inner
        > .heading
        > .heading__caption {
        font-size: 3.467vw;
        min-width: auto;
        width: 41.333vw;
    }
    #builMiraiSystem
        .l-section.usage-example
        > .l-section__inner
        > .heading
        > .heading__body {
        font-size: 4.533vw;
    }
    #builMiraiSystem
        .l-section.usage-example
        > .l-section__inner
        > .step-section {
        margin-top: 6.667vw;
    }
    #builMiraiSystem
        .l-section.usage-example
        > .l-section__inner
        > .step-section
        > .step-section__title {
        font-size: 4vw;
        letter-spacing: 0.02em;
    }
    #builMiraiSystem
        .l-section.usage-example
        > .l-section__inner
        > .step-section
        > .step-section__title::before {
        padding: 0.34em;
        font-size: 8vw;
    }
    #builMiraiSystem
        .l-section.usage-example
        > .l-section__inner
        > .step-section
        > .step-section__description {
        width: 66.667vw;
        margin: 0 auto;
        text-align: left;
        font-size: 3.2vw;
    }
    #builMiraiSystem
        .l-section.usage-example
        > .l-section__inner
        > .step-section
        > .step-section__figure {
        width: 66.667vw;
        margin-right: auto;
        margin-left: auto;
    }
    #builMiraiSystem .l-section.portal {
        padding: 8vw 0 8vw;
    }
    #builMiraiSystem .l-section.portal > .l-section__inner > .heading {
        font-size: 4.533vw;
        line-height: 1.6;
    }
    #builMiraiSystem
        .l-section.portal
        > .l-section__inner
        > .contact-inform
        > .sub,
		#builPassSystem .contact-inform .sub {
        font-size: 10px;
    }
    #builMiraiSystem
        .l-section.portal
        > .l-section__inner
        > .contact-inform
        > .main,
		#builPassSystem .contact-inform .main {
        font-size: 10px;
    }
		.download .LinkListStyle1 {
    font-size: 10px;
		}
    #builMiraiSystem .l-section.portal .c-link.-telephone,
		#builPassSystem .c-link.-telephone{
        pointer-events: auto;
        cursor: pointer;
    }
    .l-main .c-pagetop {
        display: none;
    }
    .c-hint {
        width: 88vw;
        height: auto;
        animation: hideHintSm 320ms ease-in forwards;
    }
    .c-hint.is-show {
        animation: showHintSm 320ms ease-out forwards;
    }
    .c-hint .c-hint__close {
        cursor: pointer;
        top: 4vw;
        right: 4vw;
        display: block;
        width: 5.333vw;
        height: 5.333vw;
    }
    #hint01 {
        transform: translateX(-32%);
        height: 79.467vw;
    }
    #hint02 {
        transform: translateX(3%);
        height: 117.333vw;
    }
    #hint03 {
        transform: translateX(-67.75%);
        height: 82.133vw;
    }
}

@media screen and (max-width: 415px) {
    .platLink01 p a {
			padding-right: 34px;
			font-size: 1rem;
    }
}
@media screen and (max-width: 399px) {
    .platLink01 p a {
			font-size: 0.9rem;
    }
}
@media screen and (max-width: 320px) {
    #builPassSystem .row .col1 .slick-btn li:nth-of-type(2n) {
        margin-left: 0;
    }
}


.newsBox {
	padding: 30px 30px 5px;
	border: #000 3px solid;
    overflow: scroll;
    height: 305px;
}
#builMirai .newsBox {
	border-color: #44af35;
}
#builPass .newsBox {
	border-color: #ef8200;
}

@media screen and (max-width: 767px) {
	.JS .newsBox {
		padding: 15px 15px 1px;
	}
}

/* ------ Heading ------ */
h2.TopStyle {
	margin: 0 0 20px;
	padding: 0;
	background: none;
}
h2.TopStyle > span {
	padding: 0;
	background-color: transparent;
}
h2.TopStyle img {
  vertical-align: middle;
}

/* ------ NewsRelease ------ */
.NewsRelease .DateListStyle2 {
	border-bottom: solid 1px #ddd;
  margin-bottom: 15px;
}
.NewsRelease .DateListStyle2 dt {
	width: 9em;
	padding: 15px 0;
	border-top: solid 1px #ddd;
}
.NewsRelease .DateListStyle2 ul {
	margin: 0 !important;
}
.NewsRelease .DateListStyle2 li {
	padding: 15px 0 !important;
	border-top: solid 1px #ddd;
	overflow: hidden;
}
.NewsRelease .DateListStyle2 a {
  display: inline-block;
  padding-left: 20px;
	border-left: solid 1px #ddd;
}
.NewsRelease .DateListStyle2 span {
	display: block;
	float: right;
	width: 120px;
	margin-left: 15px;
}
.NewsRelease .LinkListStyle1 li a {padding-right: 0;}
.NewsRelease .LinkListStyle1 li a:hover,
.NewsRelease .LinkListStyle1 li a:active, {
	color: #4d4d4d;
  background: none;
}
.NewsRelease .LinkListStyle1 li a:link,
.NewsRelease .LinkListStyle1 li a:visited {
	color: #4d4d4d;
  background: none;
}

@media screen and (max-width: 767px) {
  /* ------ NewsRelease ------ */
  .JS .NewsRelease .DateListStyle2 {
		margin-bottom: 30px;
	}
  .JS .NewsRelease .DateListStyle2 dt {
    width: 100%;
    padding: 15px 15px 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .JS .NewsRelease .DateListStyle2 dd {
    width: 100%;
    margin: 0;
    padding-bottom: 15px;
  }
	.JS .NewsRelease .DateListStyle2 li {
		padding: 15px 15px 0 !important;
		border-top: 0 none;
	}
	.JS .NewsRelease .DateListStyle2 a {
    padding-left: 0;
    border-left: none;
  }
}






