#header #key h2 {
    top: 29.3vw;
}
#lead {
    padding: 15vw 0 0;
}
#lead h2 {
    font-size: 4.8vw;
    letter-spacing: 0.025em;
    line-height: 1.8;
    text-align: left;
    margin: 6vw 0 4vw;
}
#sec1 {
    padding: 22vw 0 0;
}
#sec1 .set1 {
    margin-bottom: 9vw;
}
#sec1 .set1 h2 {
    margin-bottom: 5vw;
}
#sec1 .set1 .list li {
    position: relative;
    padding-left: 20px;
    margin-right: -5px;
}
#sec1 .set1 .list li:not(:last-child) {
    margin-bottom: 4px;
}
#sec1 .set1 .list li::before {
    content: "";
    background: var(--blue);
    width: 12px;
    height: 12px;
    position: absolute;
    top: 8px;
    left: 5px;
}
#sec1 .set2 {
    margin-bottom: 14vw;
}
#sec1 .set2 .item:not(:last-child) {
    margin-bottom: 10vw;
}
#sec1 .set2 .item h3 {
    font-size: 6.4vw;
    letter-spacing: 0.025em;
    line-height: 1.7;
}
#sec1 .set2 .item .photo {
    margin: 4vw 0;
}
#sec1 .set3 h3 {
    font-size: 4.8vw;
    line-height: 1.7;
    text-align: left;
    letter-spacing: 0.025em;
    margin-bottom: 4vw;
}
#application {
    padding: 24vw 0 27vw;
}
#application h2 {
    margin-bottom: 9vw;
}
#application .info {
    background: #fff8f4;
    border-radius: 15px;
    padding: 3vw 4% 8vw;
}
#application .info dl {
    padding: 20px 0;
    border-bottom: 1px solid #d9d9d9;
}
#application .info dl:last-of-type {
    border-bottom: 0;
}
#application .info dl dt {
    font-family: "Shippori Mincho";
    font-size: 5.33vw;
    font-weight: 500;
    letter-spacing: 0.025em;
    margin-bottom: 13px;
}
#application .info dl dd span {
    font-size: 12px;
    letter-spacing: -0.07em;
}
#application .info .btn-link {
    margin: 2px 2% 0;
}
#application .info .btn-link a::before {
    top: 1px;
    left: 12%;
}
#application .info .btn-link a::after {
    right: 8%;
}
#contact {
    padding-bottom: 0;
}
#bnr {
    padding: 27vw 0;
}
@media screen and (min-width: 768px) {
    #header #key h2 {
        top: 108px;
    }
    #lead {
        padding: 50px 0 0;
    }
    #lead h2 {
        font-size: 18px;
        line-height: 32px;
        margin: 23px 0 16px;
    }
    #sec1 {
        padding: 89px 0 0;
    }
    #sec1 .set1 {
        margin-bottom: 40px;
    }
    #sec1 .set1 h2 {
        margin-bottom: 28px;
    }
    #sec1 .set1 .list li {
        margin-right: -10px;
    }
    #sec1 .set2 {
        margin-bottom: 48px;
    }
    #sec1 .set2 .item:not(:last-child) {
        margin-bottom: 44px;
    }
    #sec1 .set2 .item h3 {
        font-size: 24px;
        line-height: 32px;
    }
    #sec1 .set2 .item .photo {
        margin: 17px 0;
    }
    #sec1 .set3 h3 {
        font-size: 18px;
        line-height: 32px;
        margin-bottom: 14px;
    }
    #application {
        padding: 98px 0 100px;
    }
    #application h2 {
        margin-bottom: 40px;
    }
    #application .info {
        padding: 16px 10px 32px;
    }
    #application .info dl {
        padding: 20px 0;
    }
    #application .info dl dt {
        font-size: 20px;
        margin-bottom: 13px;
    }
    #application .info dl dd span {
        letter-spacing: -0.07em;
    }
    #application .info .btn-link {
        margin: 0 11px 0;
    }
    #application .info .btn-link a::before {
        left: 28px;
    }
    #application .info .btn-link a::after {
        right: 21px;
    }
    #application .info .btn-link a:hover::after {
        right: 16px;
    }
    #bnr {
        padding: 100px 0;
    }
}
