body {
    position: relative;
    z-index: 1;
    width: 100%;
    height: auto;
    overflow: hidden;
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
body > * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    text-decoration: none;
    outline: none;
}

a:hover {
    text-decoration: none;
}

a:focus,
*:focus {
    outline: none;
}

img {
    vertical-align: top;
    border: none;
    border-style: none;
}

ol,
ul,
li {
    list-style: none;
}

input[type="submit"],
input[type="button"] {
    -webkit-box-sizing: content-box;
    box-sizing: border-box;
    border: none;
    border-radius: 0;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
    outline-offset: -2px;
}

.SPshow {
    display: block;
}

.PCshow {
    display: none;
}

.header__inner > h1 > img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.lp2507 {
    padding-top: 40px;
    background: linear-gradient(
        174.31deg,
        #fdfdfb 4.2%,
        #faf8ee 46.67%,
        #fdfdfb 93.29%
    );
}

.lp2507-fv {
    position: relative;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}
.lp2507-fv__image {
    display: block;
    width: 100%;
    height: auto;
}
.lp2507-fv__image > source,
.lp2507-fv__image > img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.lp2507-contents {
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    max-width: 500px;
    height: auto;
    margin: 0 auto;
}
.lp2507-contents__inner {
    width: 100%;
    max-width: 500px;
    height: auto;
}

.lp2507-sec01 {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}
.lp2507-sec01__bg {
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
    width: 100%;
    height: 100%;
}
.lp2507-sec01__image {
    position: absolute;
    top: 132.31vw;
    left: 0;
    z-index: 10;
    display: block;
    width: 100%;
    height: auto;
    -webkit-transition: 1s;
    transition: 1s;
}
.lp2507-sec01__image.js-target {
    opacity: 0;
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transform: translateY(12px);
    transform: translateY(12px);
}

.lp2507-sec02 {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}
.lp2507-sec02__bg {
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
    width: 100%;
    height: 100%;
}
.lp2507-sec02__container {
    position: absolute;
    top: 94.62vw;
    left: 0;
    z-index: 10;
    display: block;
    width: 100%;
    height: auto;
    padding: 15px;
}
.lp2507-sec02__container--movie {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
}

.lp2507-sec03 {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}
.lp2507-sec03__bg {
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
    width: 100%;
    height: 100%;
}
.lp2507-sec03__image01 {
    position: absolute;
    top: 35.64vw;
    right: 0;
    left: 0;
    z-index: 10;
    display: block;
    width: 96%;
    height: auto;
    margin: 0 auto;
    -webkit-transition: 1s;
    transition: 1s;
}
.lp2507-sec03__image01.js-target {
    opacity: 0;
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transform: translateY(12px);
    transform: translateY(12px);
}
.lp2507-sec03__image02 {
    position: absolute;
    top: 171.03vw;
    right: 0;
    left: 0;
    z-index: 10;
    display: block;
    width: 96%;
    height: auto;
    margin: 0 auto;
    -webkit-transition: 1s;
    transition: 1s;
}
.lp2507-sec03__image02.js-target {
    opacity: 0;
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transform: translateY(12px);
    transform: translateY(12px);
}

.lp2507-sec04 {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}
.lp2507-sec04__bg {
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
    width: 100%;
    height: 100%;
}
.lp2507-sec04__image01 {
    position: absolute;
    top: 95.13vw;
    left: 3.59vw;
    z-index: 10;
    display: block;
    width: 61.79vw;
    height: 36.92vw;
    -webkit-transition: 1s;
    transition: 1s;
}
.lp2507-sec04__image01.js-target {
    opacity: 0;
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transform: translateX(-12px);
    transform: translateX(-12px);
}
.lp2507-sec04__image02 {
    position: absolute;
    top: 71.79vw;
    right: 0;
    z-index: 10;
    display: block;
    width: 49.23vw;
    height: 94.87vw;
    -webkit-transition: 1s;
    transition: 1s;
}
.lp2507-sec04__image02.js-target {
    opacity: 0;
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transform: translateX(12px);
    transform: translateX(12px);
}

.lp2507-sec05 {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}
.lp2507-sec05__bg {
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
    width: 100%;
    height: 100%;
}
.lp2507-sec05__image01 {
    position: absolute;
    top: 95.9vw;
    right: 0;
    left: 0;
    z-index: 10;
    display: block;
    width: calc(100% - 28px);
    height: auto;
    margin: 0 auto;
    -webkit-transition: 1s;
    transition: 1s;
}
.lp2507-sec05__image01.js-target {
    opacity: 0;
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transform: translateY(12px);
    transform: translateY(12px);
}

.lp2507-sec06 {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}
.lp2507-sec06__bg {
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
    width: 100%;
    height: 100%;
}
.lp2507-sec06__image01 {
    position: absolute;
    top: 145.9vw;
    right: 0;
    left: 0;
    z-index: 10;
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    -webkit-transition: 1s;
    transition: 1s;
}
.lp2507-sec06__image01.js-target {
    opacity: 0;
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transform: translateY(12px);
    transform: translateY(12px);
}

.lp2507-sec07 {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}
.lp2507-sec07__bg {
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
    width: 100%;
    height: 100%;
}

.lp2507-sec08 {
    position: relative;
    display: block;
    width: 100%;
    height: 87.18vw;
    overflow: hidden;
}
.lp2507-sec08__movie {
    top: 0;
    left: 0;
    display: block;
    width: 288%;
    max-width: none !important;
    height: 102%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: -150.59vw -209.95vw;
    object-position: -150.59vw -209.95vw;
}
.lp2507-sec08__image01 {
    position: absolute;
    bottom: 10.26vw;
    left: 7.69vw;
    z-index: 10;
    display: block;
    width: 52.82vw;
    height: 21.54vw;
    -o-object-fit: contain;
    object-fit: contain;
}

.lp2507-sec09 {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}
.lp2507-sec09__bg {
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
    width: 100%;
    height: 100%;
}

.lp2507-sec10 {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}
.lp2507-sec10__bg {
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
    width: 100%;
    height: 100%;
}
.lp2507-sec10__image01 {
    position: absolute;
    top: 64.1vw;
    left: 12px;
    z-index: 10;
    display: block;
    width: 88.72vw;
    height: auto;
    -webkit-transition: 1s;
    transition: 1s;
    -o-object-fit: contain;
    object-fit: contain;
}
.lp2507-sec10__image01.js-target {
    opacity: 0;
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transform: translateY(12px);
    transform: translateY(12px);
}
.lp2507-sec10__image02 {
    position: absolute;
    top: 123.33vw;
    right: 7px;
    z-index: 10;
    display: block;
    width: 88.72vw;
    height: auto;
    -webkit-transition: 1s;
    transition: 1s;
    -o-object-fit: contain;
    object-fit: contain;
}
.lp2507-sec10__image02.js-target {
    opacity: 0;
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transform: translateY(12px);
    transform: translateY(12px);
}

.lp2507-sec11 {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}
.lp2507-sec11__bg {
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
    width: 100%;
    height: 100%;
}

.lp2507-sec12 {
    padding: 76px 20px 51px;
    background-color: #ffffff;
}
.lp2507-sec12__title {
    margin-bottom: 40px;
    font-family: Outfit;
    font-size: 32px;
    font-style: normal;
    font-weight: 300;
    line-height: 100%;
    color: var(--blk, #4c4a4a);
    text-align: center;
    letter-spacing: 0.96px;
}

.lp2507-sec13 {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}
.lp2507-sec13__bg {
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
    width: 100%;
    height: 100%;
}
.lp2507-sec13__button {
    position: absolute;
    right: 0;
    bottom: 16.67vw;
    left: 0;
    display: block;
    width: 83.08vw;
    max-width: 418px;
    height: auto;
    margin: 0 auto;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.lp2507-sec13__button > img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.lp2507-sec14 {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}
.lp2507-sec14__bg {
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
    width: 100%;
    height: 100%;
}

.lp2507-sec15 {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}
.lp2507-sec15__bg {
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
    width: 100%;
    height: 100%;
}

.lp2507-sec12__list--inner {
    position: relative;
    border-top: 1px solid #bababa;
}
.lp2507-sec12__list--inner:last-of-type {
    border-bottom: 1px solid #bababa;
}
.lp2507-sec12__list--inner.js-icon-transform::before,
.lp2507-sec12__list--inner.js-icon-transform::after {
    position: relative;
    z-index: 10;
    display: block;
    width: 100%;
    height: 1px;
    content: "";
}
.lp2507-sec12__list--inner.js-icon-transform .lp2507-sec12-qa-header::before {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}
.lp2507-sec12__list--inner::before,
.lp2507-sec12__list--inner::after {
    display: block;
    width: 100%;
    height: 1px;
    content: "";
}
.lp2507-sec12__list--inner .lp2507-sec12-qa-header {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 12px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px 20px 20px 0;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    color: var(--blk, #4c4a4a);
    letter-spacing: 0.32px;
    cursor: pointer;
}
.lp2507-sec12__list--inner .lp2507-sec12-qa-header.js-icon-transform::after {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}
.lp2507-sec12__list--inner .lp2507-sec12-qa-header::before {
    position: absolute;
    right: 2px;
    display: block;
    width: 12px;
    height: 2px;
    content: "";
    background-color: #4c4a4a;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
.lp2507-sec12__list--inner .lp2507-sec12-qa-header::after {
    position: absolute;
    right: 2px;
    display: block;
    width: 12px;
    height: 2px;
    content: "";
    background-color: #4c4a4a;
}
.lp2507-sec12__list--inner .lp2507-sec12-qa-header > span {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: calc(100% - 8px);
    padding-left: 40px;
}
.lp2507-sec12__list--inner .lp2507-sec12-qa-header > span::before {
    position: absolute;
    top: 0;
    bottom: -7px;
    left: 0;
    display: block;
    width: 28px;
    height: 25px;
    margin: auto 0;
    content: "";
    background-image: url(../img/icon_q.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
.lp2507-sec12__list--inner .lp2507-sec12-qa-answer {
    max-height: 0;
    padding-left: 21px;
    overflow: hidden;
    font-family: "Noto Sans JP";
    font-size: 15px;
    font-style: normal;
    font-weight: 300;
    line-height: 170%;
    color: var(--blk, #4c4a4a);
    -webkit-transition: max-height 0.2s ease;
    transition: max-height 0.2s ease;
}
.lp2507-sec12__list--inner .lp2507-sec12-qa-answer.js-toggle-open {
    max-height: 1000px;
    -webkit-transition: max-height 1.2s ease;
    transition: max-height 1.2s ease;
}
.lp2507-sec12__list--inner .lp2507-sec12-qa-answer > span {
    display: block;
    padding-bottom: 20px;
}
.lp2507-sec12__list--inner .lp2507-sec12-qa-answer > img {
    display: block;
    width: 80%;
    height: auto;
    margin: 0 auto 26px;
    -o-object-fit: contain;
    object-fit: contain;
}

.lp2507-floating-cta {
    position: fixed;
    bottom: 15px;
    z-index: 1000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    max-width: 500px;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}
.lp2507-floating-cta.js-cta-show {
    visibility: visible;
    opacity: 1;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}
.lp2507-floating-cta__button {
    display: block;
    width: 87.69vw;
    max-width: 440px;
    height: auto;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.lp2507-floating-cta__button > img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.l-footer {
    position: relative;
    z-index: 2000;
    padding: 95px 0;
    background-color: #434748;
}

@media screen and (min-width: 500px) {
    .lp2507-sec01__image {
        top: 661.55px;
    }
    .lp2507-sec02__container {
        top: 473.1px;
    }
    .lp2507-sec03__image01 {
        top: 178.2px;
    }
    .lp2507-sec03__image02 {
        top: 855.15px;
    }
    .lp2507-sec04__image01 {
        top: 475.65px;
        left: 17.95px;
        width: 308.95px;
        height: 184.6px;
    }
    .lp2507-sec04__image02 {
        top: 358.95px;
        width: 246.15px;
        height: 474.35px;
    }
    .lp2507-sec05__image01 {
        top: 479.5px;
    }
    .lp2507-sec06__image01 {
        top: 729.5px;
    }
    .lp2507-sec08 {
        height: 435.9px;
    }
    .lp2507-sec08__movie {
        -o-object-position: -752.95px -1049.75px;
        object-position: -752.95px -1049.75px;
    }
    .lp2507-sec08__image01 {
        bottom: 51.3px;
        left: 38.45px;
        width: 264.1px;
        height: 107.7px;
    }
    .lp2507-sec10__image01 {
        top: 320.5px;
        width: 443.6px;
    }
    .lp2507-sec10__image02 {
        top: 616.65px;
        width: 443.6px;
    }
    .lp2507-sec13__button {
        bottom: 83.35px;
        width: 415.4px;
    }
    .lp2507-floating-cta__button {
        width: 440px;
    }
}

@media print, screen and (min-width: 1025px) {
    .lp2507-sec13__button:hover {
        opacity: 0.5;
        -webkit-transition: 0.3s;
        transition: 0.3s;
    }
    .lp2507-floating-cta__button:hover {
        opacity: 0.5;
        -webkit-transition: 0.3s;
        transition: 0.3s;
    }
}
