#main {
    overflow: hidden;
}

.section .inner {
    position: relative;
}

.sec01 {
    background: #f45c3a;
}

.sec01 .text {
    position: relative;
    z-index: 1;
    padding: 10.86% 0 5.29% 7.86%;
}

.sec01 .l1 {
    font-size: 21px;
    margin-bottom: 34px;
}

.sec01 .l2 {
    font-size: 72px;
    color: #fff;
}

.sec01 .pic {
    position: absolute;
    left: 30.86%;
    top: 0;
    margin-top: 4.57%;
    width: 12.57%;
}

.sec01 svg {
    width: 100%;
    fill: #bd2b2f;
}

.sec02 {
    background: #f7f7f7;
}

.sec02 .text {
    position: relative;
    z-index: 1;
    padding: 8.93% 0 16.29% 7.86%;
}

.sec02 .l1 {
    font-size: 45px;
    margin-bottom: 24px;
}

.sec02 .l2 {
    font-size: 24px;
    line-height: 1.4;
    color: #595959;
}

.sec02 .pic {
    position: absolute;
    right: 0;
    top: 0;
    margin-top: -14.43%;
    width: 50.93%;
}

.sec02 .pic img {
    width: 100%;
}

.sec03 {
    position: relative;
    background: url(../../img/en/z3_sec04.jpg) no-repeat center;
    background-size: cover;
}

.sec03:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../../img/en/z3_sec04_on.jpg) no-repeat center;
    background-size: cover;
    opacity: 0;
    transition: opacity .3s ease;
}

.sec03.openScreen:before {
    opacity: 1;
}

.sec03.openScreen .btn {
    display: none;
}

.sec03 .btn {
    position: absolute;
    left: 330px;
    top: 482px;
    width: 5.21%;
}

.sec03 .btn img {
    position: relative;
    z-index: 1;
    width: 100%;
}

.sec03 .btn:before {
    content: '';
    position: absolute;
    left: -27.4%;
    top: -21.88%;
    width: 60.27%;
    height: 68.75%;
    background: url(../../img/z3_sec04_point.png) no-repeat center;
    background-size: 100%;
    animation: btnAnim 1.9s ease-out infinite;
}

@keyframes btnAnim {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.sec03 .inner {
    display: flex;
    justify-content: flex-end;
}

.sec03 .text {
    width: 33.93%;
    padding: 280px 0 430px;
}

.sec03 .l1,
.sec03 .l2 {
    font-size: 18px;
    line-height: 1.67;
    color: #595959;
    white-space: nowrap;
    margin-bottom: 60px;
}

.sec03 .l1 span,
.sec03 .l2 span {
    display: block;
    font-size: 24px;
    line-height: 1;
    color: #333;
    margin-bottom: 12px;
}

.sec03 li {
    position: relative;
    float: left;
    text-align: center;
    color: #f45c3a;
    font-size: 16px;
}

.sec03 .item1 {
    padding-right: 38px;
}

.sec03 .item1:after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 82px;
    background: #c5c5c5;
}

.sec03 .item2 {
    padding-left: 38px;
}

.sec03 li .ihd {
    font-size: 60px;
    margin-bottom: 18px;
}

.sec03 li .ihd .unit {
    margin-left: 3px;
}

.sec03 .item1 .ihd .unit {
    font-size: 14px;
}

.sec03 .item2 .ihd .lt {
    font-size: 30px;
    margin-right: 3px;
}

.sec03 .item2 .ihd .unit {
    font-size: 19px;
}

.sec04 {
    padding-bottom: 7.81%;
    background: #efeff1 url(../../img/z3_sec05.jpg) no-repeat center top;
    background-size: 100% auto;
}

.sec04 .text {
    font-size: 18px;
    line-height: 1.67;
    color: #595959;
    padding: 18.93% 0 33.14%;
}

.sec04 .text span {
    display: block;
    font-size: 24px;
    line-height: 1;
    color: #333;
}

.sec04 .text .l1 {
    margin-bottom: 58px;
}

.sec05 {
    padding: 6.77% 0 4.16%;
    background: url(../../img/en/z3_sec05.jpg) no-repeat center;
    background-size: cover;
}

.sec05 .inner {
    display: flex;
    justify-content: flex-end;
}

.sec05 .text {
    width: 445px;
    padding-right: 65px;
}

.sec05 .l1 {
    font-size: 46px;
    margin-bottom: 30px;
}

.sec05 li {
    font-size: 16px;
    line-height: 1.25;
    color: #8c8c8c;
    padding: 14px 0;
    border-bottom: 1px solid #c3c3c3;
}

.sec05 li span {
    display: block;
    line-height: 1;
    color: #333;
    margin-bottom: 13px;
}

.sec05 li:first-child span {
    margin-bottom: 0;
}

@media all and (max-width: 1480px) {
    .sec01 .l1 {
        font-size: 18px;
        margin-bottom: 26px;
    }

    .sec01 .l2 {
        font-size: 55px;
    }

    .sec02 .l1 {
        font-size: 34px;
        margin-bottom: 18px;
    }

    .sec02 .l2 {
        font-size: 22px;
    }

    .sec03 .btn {
        left: 240px;
        top: 380px;
    }

    .sec03 .text {
        padding: 213px 0 327px;
    }

    .sec03 .l1,
    .sec03 .l2 {
        font-size: 16px;
        margin-bottom: 46px;
    }

    .sec03 .l1 span,
    .sec03 .l2 span {
        font-size: 22px;
        margin-bottom: 9px;
    }

    .sec03 li {
        font-size: 14px;
    }

    .sec03 .item1 {
        padding-right: 29px;
    }

    .sec03 .item1:after {
        height: 62px;
    }

    .sec03 .item2 {
        padding-left: 29px;
    }

    .sec03 li .ihd {
        font-size: 46px;
        margin-bottom: 14px;
    }

    .sec03 .item1 .ihd .unit {
        font-size: 12px;
    }

    .sec03 .item2 .ihd .lt {
        font-size: 24px;
    }

    .sec03 .item2 .ihd .unit {
        font-size: 17px;
    }

    .sec04 .text {
        font-size: 16px;
    }

    .sec04 .text span {
        font-size: 22px;
    }

    .sec04 .text .l1 {
        margin-bottom: 44px;
    }

    .sec05 .text {
        width: 370px;
        padding-right: 49px;
    }

    .sec05 .l1 {
        font-size: 35px;
        margin-bottom: 23px;
    }

    .sec05 li {
        font-size: 14px;
        padding: 11px 0;
    }

    .sec05 li span {
        margin-bottom: 10px;
    }
}

@media all and (max-width: 767px) {
    .sec01 .text {
        padding: 8% 0 6.27% 12.93%;
    }

    .sec01 .l1 {
        font-size: 3.47vw;
        margin-bottom: 5.01vw;
    }

    .sec01 .l2 {
        font-size: 9.73vw;
        margin-bottom: 2.27vw;
    }

    .sec01 .pic {
        left: auto;
        right: 12.8vw;
        top: 50%;
        bottom: auto;
        margin-top: 0;
        width: 22vw;
        transform: translateY(-50%);
    }

    .sec02 {
        padding-bottom: 20vw;
    }

    .sec02 .text {
        padding: 13.33vw 0 0;
        text-align: center;
    }

    .sec02 .l1 {
        font-size: 6vw;
        margin-bottom: 4.53vw;
    }

    .sec02 .l2 {
        font-size: 3.47vw;
        padding: 0 4.27vw;
        margin-bottom: 14.93vw;
    }

    .sec02 .pic {
        position: static;
        margin: 0 auto;
        width: 70%;
    }

    .sec03 {
        background-image: url(../../img/en/z3_sec03_sp.jpg);
    }

    .sec03 .btn {
        display: none;
    }

    .sec03 .inner {
        display: block;
        padding: 14.4vw 4.27vw 90.67vw;
        box-sizing: border-box;
    }

    .sec03 .text {
        width: auto;
        padding: 0;
    }

    .sec03 .l1,
    .sec03 .l2 {
        font-size: 3.2vw;
        line-height: 1.42;
        margin-bottom: 4.67vw;
        white-space: normal;
    }

    .sec03 .l1 span,
    .sec03 .l2 span {
        font-size: 3.73vw;
        line-height: 1;
        margin-bottom: 1.6vw;
    }

    .sec03 .l2 {
        margin-bottom: 12.8vw;
    }

    .sec03 li {
        font-size: 3.2vw;
    }

    .sec03 .item1 {
        padding: 0 8.4vw 0 5.4vw;
    }

    .sec03 .item1:after {
        height: 14vw;
        background: #d2d2d2;
    }

    .sec03 .item2 {
        padding-left: 11.5vw;
    }

    .sec03 li .ihd {
        font-size: 10.4vw;
        line-height: .7;
        margin-bottom: 3.47vw;
    }

    .sec03 li .ihd .unit {
        margin-left: 2.27vw;
    }

    .sec03 .item1 .ihd .unit {
        font-size: 3.2vw;
    }

    .sec03 .item2 .ihd .lt {
        font-size: 4.27vw;
        margin-right: .4vw;
    }

    .sec03 .item2 .ihd .unit {
        font-size: 3.2vw;
    }

    .sec04 {
        padding: 15.2vw 4.27vw 92.67vw;
        background-image: url(../../img/en/z3_sec04_sp.jpg);
        background-size: cover;
    }

    .sec04 .text {
        padding: 0;
        font-size: 3.2vw;
        line-height: 1.42;
        margin-bottom: 4.67vw;
    }

    .sec04 .text span {
        font-size: 3.73vw;
        line-height: 1;
        margin-bottom: 1.6vw;
    }

    .sec04 .text .l1 {
        margin-bottom: 4.53vw;
    }

    .sec05 {
        padding: 17.33vw 4.27vw 145.33vw;
        background-color: #f3f3f3;
        background-image: url(../../img/en/z3_sec05_sp.jpg);
        background-size: 100% auto;
        background-position: center bottom;
    }

    .sec05 .inner {
        display: block;
    }

    .sec05 .text {
        width: auto;
        padding-right: 0;
    }

    .sec05 .l1 {
        font-size: 6.4vw;
        margin-bottom: 30px;
    }

    .sec05 li {
        font-size: 3.2vw;
        line-height: 1.5;
        padding: 3.2vw 0;
    }

    .sec05 li span {
        font-size: 3.47vw;
        line-height: 1;
        margin-bottom: 1.2vw;
    }

    .sec05 li:first-child span {
        margin-bottom: 0;
    }
}
