
footer { text-align: center; margin-top: 1.5rem; padding: 1rem 0 6% 0; background: url(../image/footer.webp) center bottom no-repeat; background-size: 100% auto; }
.card { border-radius: 8px; padding: 30px; background: #fafafa; }
.terms { border-radius: 8px; background: #fff; }
a { color: #e40000; }
@media (min-width: 768px) {
    body { font-family: "Hiragino Kaku Gothic ProN", sans-serif; background-image:  url(../image/bg_02.webp), url(../image/bg.webp); background-repeat: no-repeat, repeat-y; background-position: left 100vw, top center; background-size: 100% auto, 100% auto; color: #333; line-height: 1.7; }
    img {display: inline; vertical-align: bottom; }
    .kv img { width: 100%; }
    .container { margin: 0 auto; }
    h2 { width: 180px; margin: 60px auto 30px auto; }
    .section,
    .present { margin: 0 auto; width: 1000px; }
    .flex { display: flex; gap: 2rem; flex-wrap: nowrap; justify-content: center; }
    .card { flex: 1 1 45%; border-radius: 8px; padding: 30px; background: #fafafa; width: 450px; }
    .logo { margin-bottom: 20px; text-align: center; }
    .logo + h3 { margin-bottom: 15px; text-align: center; }
    .terms { margin: 1rem 0; padding: 20px 30px; }
    .terms dt { font-weight: bold; margin-top: 1.5rem; font-size: 18px; }
    .terms dd { margin-left: 1rem; margin-bottom: .5rem; line-height: 1.8; font-size: 15px; }
    footer { text-align: center; font-size: 0.8rem; margin-top: 1.5rem; padding: 1rem 0 6% 0; background: url(../image/footer.webp) center bottom no-repeat; background-size: 100% auto; }
}
@media screen and (max-width:767px) {
    body { background-image:  url(../image/bg_02.webp), url(../image/bg.webp); background-repeat: repeat-y, repeat-y; background-position: left bottom, top center; background-size: 100% auto, 100% auto; color: #333; line-height: 1.7; }
    img { max-width: 100%; }
    .section { margin: 0 5vw;  }
    h2 { margin: 30px auto 20px auto; text-align: center; }
    h2 img { height: 30px; width: auto; }
    .present { margin: 4vw 0 8vw; }
    .card { margin-bottom: 5vw; }
    .card:last-child { margin-bottom: 10vw; }
    .card p { font-size: 4vw; }
    .logo { margin-bottom: 20px; text-align: center; }
    .logo + h3 { margin-bottom: 15px; text-align: center; }
    .logo + h3 img { height: 25px; }
    .terms { margin: 1rem 0; padding: 5vw; }
    .terms dt { font-weight: bold; margin-top: 1.5rem; font-size: 4vw; }
    .terms dd { margin-left: 0; margin-bottom: .5rem; line-height: 1.8; font-size: 3.4vw; }
    footer { text-align: center; font-size: 3vw; margin-top: 6vw; padding: 0 0 10vw 0; background: url(../image/footer.webp) center bottom no-repeat; background-size: 100% auto; }
}