#sec1 {
    padding: 76px 0 80px
}

#sec1 h2 {
    margin: 0 26px
}

#sec1 h2 span {
    display: block;
    font-weight: bold
}

#sec1 h2 span:nth-child(1) {
    position: relative;
    padding-left: 15px;
    font-size: 14px;
    line-height: 1;
    letter-spacing: .08em
}

#sec1 h2 span:nth-child(1)::before {
    content: "";
    position: absolute;
    background: #a9a9a9;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    top: 5px;
    left: 0
}

#sec1 h2 span:nth-child(2) {
    color: #333;
    margin-top: 11px;
    font-size: 38px;
    line-height: 51.3px;
    letter-spacing: .04em
}

#sec1 .sec1-js1 {
    margin-top: 50px
}

#sec1 .sec1-js1 .item {
    margin: 0 10px
}

#sec1 .sec1-js1 .item img {
    width: 192px;
    border-radius: 16px
}

#sec1 .txt {
    margin: 31px 28px 0
}

#sec1 .sec1-js2 {
    margin-top: 32px
}

#sec1 .sec1-js2 img {
    width: auto;
    height: 65px
}

@media screen and (min-width: 768px) {
    #sec1 {
        padding: 72px 0 69px
    }

    #sec1 .lead {
        background: #fff;
        width: 492px;
        margin: 0 auto;
        padding: 22px 0 83px
    }

    #sec1 h2 {
        width: fit-content;
        margin: 0 auto
    }

    #sec1 h2 span:nth-child(1) {
        display: none
    }

    #sec1 h2 span:nth-child(2) {
        margin-top: 0;
        font-size: 32px;
        line-height: 44.8px
    }

    #sec1 .sec1-js1 {
        position: absolute;
        top: 72px;
        left: 0;
        right: 0;
        margin-top: 0;
        z-index: -1
    }

    #sec1 .sec1-js1 .item {
        margin: 0 12px
    }

    #sec1 .sec1-js1 .item img {
        width: 308px
    }

    #sec1 .txt {
        width: 332px;
        margin: 39px auto 0;
        font-size: 18px;
        line-height: 31.5px;
        letter-spacing: .03em
    }

    #sec1 .sec1-js2 {
        margin-top: 0
    }

    #sec1 .sec1-js2 img {
        height: 117px
    }
}

#sec2 {
    background: #f7f7f7;
    border: 1px solid #969696;
    border-radius: 16px;
    margin: 0 8px
}

#sec2 .wrap {
    padding: 80px 20px
}

#sec2 .history .item {
    border-top: 1px solid #969696;
    padding: 33px 0
}

#sec2 .history .item .sub-ttl {
    color: #1a36c8;
    font-size: 18px;
    font-weight: bold;
    line-height: 27px;
    letter-spacing: .04em
}

#sec2 .history .item .desc {
    margin-top: 17px
}

#sec2 .history .item .desc dl * {
    letter-spacing: .04em
}

#sec2 .history .item .desc dl dt {
    color: #1a36c8
}

#sec2 .history .item .desc dl dd {
    color: #212121;
    margin-top: 2px
}

#sec2 .history .item .desc dl+dl {
    margin-top: 8px
}

#sec2 .history .item:last-child {
    padding-bottom: 0
}

@media screen and (min-width: 768px) {
    #sec2 {
        border-radius: 24px;
        border: none
    }

    #sec2 .wrap {
        max-width: 100%;
        padding: 120px 64px
    }

    #sec2 .history {
        max-width: 868px;
        margin-left: auto
    }

    #sec2 .history .item {
        padding: 39px 24px 42px 24px
    }

    #sec2 .history .item .desc {
        margin-top: 18px
    }

    #sec2 .history .item .desc dl {
        font-size: 16px;
        line-height: 28px
    }

    #sec2 .history .item .desc dl dd {
        margin-top: 0
    }

    #sec2 .history .item .desc dl+dl {
        margin-top: 10px
    }

    #sec2 .history .item:last-child {
        border-bottom: 1px solid #969696;
        padding-bottom: 42px
    }
}