.l-spfglasses__base {
    z-index: 1;
    --mask-top-stop: 40%;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--mask-top-stop), #000 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--mask-top-stop), #000 100%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--mask-top-stop), #000 100%);
    position: relative
}

@media (prefers-reduced-motion:reduce) {
    .l-spfglasses__base {
        --mask-top-stop: 0%
    }
}

.l-heading-wrapper {
    z-index: 2;
    padding-top: 50vh;
    position: relative;
    overflow: hidden
}

@media screen and (max-width:767px) {
    .l-heading-wrapper {
        padding-top: 30vh
    }
}

.l-heading-wrapper .l-heading-wrapper__bg {
    z-index: 1;
    pointer-events: none;
    background: url(../images/about_bg.webp) no-repeat center var(--color-bg);
    --mask-alpha: 1;
    width: 100%;
    height: 100%;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgb(0, 0, 0, var(--mask-alpha)) 80%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, rgb(0, 0, 0, var(--mask-alpha)) 80%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgb(0, 0, 0, var(--mask-alpha)) 80%, transparent 100%);
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0
}

@media screen and (max-width:767px) {
    .l-heading-wrapper .l-heading-wrapper__bg {
        background: url(../images/about_bg_sp.webp) no-repeat center var(--color-bg);
        background-size: cover
    }
}

.l-pickup {
    z-index: 2;
    padding: 92px 0 0;
    position: relative
}

.l-pickup .l-pickup__title {
    text-align: center
}

.l-pickup .c-pickup-card:first-child {
    order: 2
}

@media screen and (max-width:767px) {
    .l-pickup .c-pickup-card:first-child {
        order: 1
    }
}

.l-pickup .c-pickup-card:nth-child(2) {
    order: 1
}

@media screen and (max-width:767px) {
    .l-pickup .c-pickup-card:nth-child(2) {
        order: 3
    }
}

.l-pickup .c-pickup-card:nth-child(3) {
    order: 3
}

@media screen and (max-width:767px) {
    .l-pickup .c-pickup-card:nth-child(3) {
        order: 2
    }
}

.l-pickup .l-pickup__button {
    justify-content: center;
    align-items: center;
    width: 201px;
    margin-top: 33px;
    margin-left: auto;
    margin-right: auto;
    transition: opacity .3s cubic-bezier(.32, .72, 0, 1);
    display: flex
}

.l-pickup .l-pickup__notice {
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    background: rgba(255, 255, 255, .21);
    border-radius: 6px;
    width: 616px;
    margin-top: 32px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 38px;
    padding-bottom: 40px
}

@media screen and (max-width:767px) {
    .l-pickup .l-pickup__notice {
        width: calc(100% - 32px);
        margin-top: 24px;
        padding: 31px 5.06667% 38px
    }
}

.l-pickup .l-pickup__notice .l-pickup__notice-title {
    text-align: center;
    letter-spacing: .08em;
    color: var(--color-white);
    font-optical-sizing: auto;
    font-family: Noto Sans JP, sans-serif;
    font-size: 1.0625rem;
    font-style: normal;
    font-weight: 500;
    line-height: 140%
}

@media screen and (max-width:767px) {
    .l-pickup .l-pickup__notice .l-pickup__notice-title {
        font-size: 1rem;
        line-height: 121%
    }
}

.l-pickup .l-pickup__notice .l-pickup__notice-read {
    text-align: center;
    letter-spacing: .08em;
    color: var(--color-white);
    font-optical-sizing: auto;
    margin-top: 24px;
    font-family: Noto Sans JP, sans-serif;
    font-size: .875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 140%
}

@media screen and (max-width:767px) {
    .l-pickup .l-pickup__notice .l-pickup__notice-read {
        margin-top: 16px;
        font-size: .8125rem
    }
}

.l-pickup .l-pickup__notice .l-pickup__notice-date {
    border-radius: 6px;
    margin-top: 11px;
    padding: 17px 0
}

@media screen and (max-width:767px) {
    .l-pickup .l-pickup__notice .l-pickup__notice-date {
        margin-top: 10px;
        padding: 19px 0
    }
}

.l-pickup .l-pickup__notice .l-pickup__notice-date .l-pickup__notice-date-hr {
    border: 1px dashed #fff;
    width: 63%;
    height: 0;
    margin: 0 auto
}

@media screen and (max-width:767px) {
    .l-pickup .l-pickup__notice .l-pickup__notice-date .l-pickup__notice-date-hr {
        width: 100%
    }
}

.l-pickup .l-pickup__notice .l-pickup__notice-date .l-pickup__notice-date-item:not(:first-child) {
    margin-top: 20px
}

@media screen and (max-width:767px) {
    .l-pickup .l-pickup__notice .l-pickup__notice-date .l-pickup__notice-date-item:not(:first-child) {
        margin-top: 16px
    }
}

.l-pickup .l-pickup__notice .l-pickup__notice-date .l-pickup__notice-date-item .l-pickup__notice-date-item-title {
    text-align: center;
    letter-spacing: .08em;
    color: var(--color-white);
    font-optical-sizing: auto;
    font-family: Noto Sans JP, sans-serif;
    font-size: .8125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 140%
}

.l-pickup .l-pickup__notice .l-pickup__notice-date .l-pickup__notice-date-item .l-pickup__notice-date-item-text {
    text-align: center;
    letter-spacing: .02em;
    color: var(--color-white);
    font-optical-sizing: auto;
    font-family: Noto Sans JP, sans-serif;
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 500;
    line-height: 140%
}

.l-pickup .l-pickup__notice .l-pickup__notice-date .l-pickup__notice-date-text {
    text-align: center;
    letter-spacing: .08em;
    color: var(--color-white);
    font-optical-sizing: auto;
    padding-top: 4px;
    padding-bottom: 22px;
    font-family: Noto Sans JP, sans-serif;
    font-size: .6875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    display: block
}

@media screen and (max-width:767px) {
    .l-pickup .l-pickup__notice .l-pickup__notice-date .l-pickup__notice-date-text {
        padding-bottom: 16px
    }
}

.l-pickup .l-pickup__notice .l-pickup__notice-date .l-pickup__notice-date-item-text-note {
    text-align: center;
    letter-spacing: .08em;
    color: var(--color-white);
    font-optical-sizing: auto;
    padding-top: 4px;
    font-family: Noto Sans JP, sans-serif;
    font-size: .6875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    display: block
}

.l-pickup .l-pickup__notice .l-pickup__notice-note {
    text-align: center;
    letter-spacing: .08em;
    color: var(--color-white);
    font-optical-sizing: auto;
    padding-top: 16px;
    font-family: Noto Sans JP, sans-serif;
    font-size: .6875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    display: block
}

@media screen and (max-width:767px) {
    .l-pickup .l-pickup__notice .l-pickup__notice-note {
        padding-top: 12px
    }
}

.l-pickup .l-pickup__notice .l-pickup__notice-note a {
    color: var(--color-white);
    text-decoration: underline
}

@media (hover:hover) {
    .l-pickup .l-pickup__notice .l-pickup__notice-note a:hover {
        text-decoration: none
    }
}

.l-pickup .l-pickup__all-line-up-link {
    text-align: center;
    letter-spacing: .03em;
    color: var(--color-white);
    font-optical-sizing: auto;
    margin-top: 24px;
    font-family: Noto Sans JP, sans-serif;
    font-size: .8125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    display: block;
    position: relative
}

@media (hover:hover) {
    .l-pickup .l-pickup__all-line-up-link:hover span:after {
        transform-origin: 100%;
        transform: scaleX(0)
    }
}

.l-pickup .l-pickup__all-line-up-link span {
    position: relative
}

.l-pickup .l-pickup__all-line-up-link span:after {
    content: "";
    transform-origin: 0;
    background-color: var(--color-white);
    width: 100%;
    height: 1px;
    transition: transform .3s cubic-bezier(.32, .72, 0, 1);
    position: absolute;
    bottom: -2px;
    left: 0;
    transform: scaleX(1)
}

.l-about {
    z-index: 2;
    padding: 160px 0;
    position: relative
}

@media screen and (max-width:767px) {
    .l-about {
        padding: 120px 0 160px
    }
}

.l-about__content {
    position: relative
}

@media screen and (max-width:767px) {
    .l-about__content {
        padding-left: 9.6%;
        padding-right: 9.6%
    }
}

.l-about__content:before {
    content: "";
    aspect-ratio: 155/179;
    background: url(../images/flare-1.webp) 50%/cover no-repeat;
    width: 41%;
    display: none;
    position: absolute;
    top: -37%;
    right: 0
}

@media screen and (max-width:767px) {
    .l-about__content:before {
        display: block
    }
}

.l-about__content:after {
    content: "";
    aspect-ratio: 83/98;
    background: url(../images/flare-2.webp) 50%/cover no-repeat;
    width: 22%;
    display: none;
    position: absolute;
    bottom: -29%;
    left: 0
}

@media screen and (max-width:767px) {
    .l-about__content:after {
        display: block
    }
}

.l-about__read {
    width: 27.3649%;
    min-width: 405px;
    margin: 0 auto
}

@media screen and (max-width:767px) {
    .l-about__read {
        width: 100%;
        min-width: 100%
    }
}

.l-about__read img {
    width: 100%;
    height: auto
}

.l-about__title {
    width: 41.1486%;
    min-width: 609px;
    margin-top: 72px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width:767px) {
    .l-about__title {
        width: 100%;
        min-width: 100%
    }
}

.l-about__title img {
    width: 100%;
    height: auto
}

.l-spfglasses__background {
    z-index: 1;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden
}

.l-spfglasses__background .l-spfglasses__background-image {
    object-fit: cover;
    object-position: center top;
    width: 100%;
    height: 115%;
    display: block;
    transform: translateY(-7.5%)
}

.l-spfglasses-wrapper {
    z-index: 1;
    width: 100%;
    height: 100%;
    position: relative
}

.l-spfglasses {
    z-index: 3;
    --spfglasses-transition-threshold-pct: 60;
    position: relative;
    overflow: hidden
}

.l-spfglasses .l-spfglasses__cloud {
    z-index: 3;
    position: absolute
}

.l-spfglasses .l-spfglasses__cloud img {
    width: 100%;
    height: auto
}

.l-spfglasses .l-spfglasses__cloud--1 {
    width: 29.7297%;
    top: 8%;
    left: -17%
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__cloud--1 {
        --spfglasses-parallax-x-distance: 150;
        width: 61%
    }
}

.l-spfglasses .l-spfglasses__cloud--1 {
    --spfglasses-parallax-distance: 1000;
    --spfglasses-parallax-direction: -;
    --spfglasses-parallax-x-distance: 80;
    --spfglasses-parallax-x-direction: 1
}

.l-spfglasses .l-spfglasses__cloud--2 {
    width: 23.4459%;
    top: -4%;
    right: -11%
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__cloud--2 {
        --spfglasses-parallax-x-distance: 150;
        width: 44.33%
    }
}

.l-spfglasses .l-spfglasses__cloud--2 {
    --spfglasses-parallax-distance: 1000;
    --spfglasses-parallax-direction: 1;
    --spfglasses-parallax-x-distance: 80;
    --spfglasses-parallax-x-direction: -1
}

.l-spfglasses .l-spfglasses__cloud--3 {
    width: 30.2027%;
    top: 45%;
    left: -15%
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__cloud--3 {
        --spfglasses-parallax-x-distance: 120;
        width: 51.67%
    }
}

.l-spfglasses .l-spfglasses__cloud--3 {
    --spfglasses-parallax-distance: 1000;
    --spfglasses-parallax-direction: 1;
    --spfglasses-parallax-x-distance: 60;
    --spfglasses-parallax-x-direction: 1
}

.l-spfglasses .l-spfglasses__cloud--4 {
    width: 29.324%;
    top: 51%;
    right: -11%;
    display: none;
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__cloud--4 {
        --spfglasses-parallax-x-distance: 120;
        width: 48.33%
    }
}

.l-spfglasses .l-spfglasses__cloud--4 {
    --spfglasses-parallax-distance: 1000;
    --spfglasses-parallax-direction: 1;
    --spfglasses-parallax-x-distance: 60;
    --spfglasses-parallax-x-direction: -1
}

.l-spfglasses .l-spfglasses__cloud--5 {
    width: 24.3243%;
    top: 62%;
    left: -11%;
    display: none;
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__cloud--5 {
        --spfglasses-parallax-x-distance: 150;
        width: 47.33%
    }
}

.l-spfglasses .l-spfglasses__cloud--5 {
    --spfglasses-parallax-distance: 1000;
    --spfglasses-parallax-direction: 1;
    --spfglasses-parallax-x-distance: 80;
    --spfglasses-parallax-x-direction: 1
}

.l-spfglasses .l-spfglasses__cosmic-flare {
    z-index: 2;
    width: 28.9865%;
    position: absolute;
    top: 65%;
    left: -4%
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__cosmic-flare {
        width: 66.6667%;
        top: 73%
    }
}

.l-spfglasses .l-spfglasses__cosmic-flare {
    mix-blend-mode: screen;
    --spfglasses-parallax-distance: 300;
    --spfglasses-parallax-direction: -1
}

.l-spfglasses .l-spfglasses__cosmic-flare img {
    width: 100%;
    height: auto
}

.l-spfglasses .l-spfglasses__sun {
    z-index: 1;
    width: 78.7838%;
    position: absolute;
    top: 20%;
    right: -37%
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__sun {
        width: 135%;
        top: 16%;
        left: 32%
    }
}

.l-spfglasses .l-spfglasses__sun {
    aspect-ratio: 1
}

.l-spfglasses .l-spfglasses__sun .l-spfglasses__sun-item {
    transform-origin: 50%;
    aspect-ratio: 1;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.l-spfglasses .l-spfglasses__sun .l-spfglasses__sun-item img {
    object-fit: contain;
    width: 100%;
    height: 100%;
    display: block
}

.l-spfglasses .l-spfglasses__sun .l-spfglasses__sun-item--1 {
    --spfglasses-parallax-rotation: 50;
    --spfglasses-parallax-rotation-direction: -1
}

.l-spfglasses .l-spfglasses__sun .l-spfglasses__sun-item--2 {
    --spfglasses-parallax-rotation: 40;
    --spfglasses-parallax-rotation-direction: -1
}

.l-spfglasses .l-spfglasses__sun .l-spfglasses__sun-item--3 {
    --spfglasses-parallax-rotation: 20;
    --spfglasses-parallax-rotation-direction: -1
}

.l-spfglasses .l-spfglasses__sun .l-spfglasses__sun-item--4 {
    --spfglasses-parallax-rotation: 30;
    --spfglasses-parallax-rotation-direction: -1
}

.l-spfglasses .l-spfglasses__heading {
    z-index: 3;
    padding-top: 135px;
    padding-bottom: 50px;
    position: relative;
    overflow: hidden
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__heading {
        padding-top: 70px;
        padding-bottom: 50px
    }
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__title {
    width: 35%;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__heading .l-spfglasses__title {
        width: 100%;
        padding-left: 5.6%;
        padding-right: 4.53333%
    }
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__title img {
    width: 100%;
    height: auto
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__description {
    text-align: center;
    padding-top: 46px
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__heading .l-spfglasses__description {
        text-align: left;
        padding-top: 46px;
        padding-left: 3.73333%;
        padding-right: 4.8%
    }
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__description-title {
    text-align: center;
    letter-spacing: .25em;
    width: fit-content;
    color: var(--color-white);
    font-optical-sizing: auto;
    margin-left: auto;
    margin-right: auto;
    font-family: Noto Sans JP, sans-serif;
    font-size: 1.4375rem;
    font-style: normal;
    font-weight: 500;
    line-height: 131%;
    position: relative
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__heading .l-spfglasses__description-title {
        letter-spacing: .27em;
        font-size: 1.45rem
    }
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__description-title img {
    width: 100%;
    height: auto
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__description-text {
    color: var(--color-white);
    font-optical-sizing: auto;
    padding-top: 24px;
    font-family: Noto Sans JP, sans-serif;
    font-size: .81rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__heading .l-spfglasses__description-text {
        letter-spacing: .01em;
        padding-top: 20px;
        line-height: 201%
    }
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__cutimage {
    width: 44.0541%;
    max-width: 652px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 50px
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__heading .l-spfglasses__cutimage {
        width: 100%;
        max-width: 100%;
        padding-top: 68px;
        padding-left: 6.4%;
        padding-right: 6.4%
    }
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__cutimage-title {
    letter-spacing: .25em;
    width: fit-content;
    color: var(--color-white);
    font-optical-sizing: auto;
    margin-left: auto;
    margin-right: auto;
    font-family: Noto Sans JP, sans-serif;
    font-size: 1.45rem;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
    position: relative
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__heading .l-spfglasses__cutimage-title {
        text-align: center;
        line-height: 135%
    }
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__cutimage-content {
    justify-content: center;
    align-items: center;
    gap: 0 32px;
    margin-top: 39px;
    display: flex
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__heading .l-spfglasses__cutimage-content {
        margin-top: 42px;
        display: block
    }
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__cutimage-text {
    color: var(--color-white);
    font-optical-sizing: auto;
    flex: 1;
    font-family: Noto Sans JP, sans-serif;
    font-size: .81rem;
    font-style: normal;
    font-weight: 350;
    line-height: 190%
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__cutimage-text small {
    letter-spacing: .03em;
    color: var(--color-white);
    font-optical-sizing: auto;
    justify-content: flex-start;
    align-items: flex-start;
    gap: .5rem;
    padding-top: 14px;
    font-family: Noto Sans JP, sans-serif;
    font-size: .6875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 145%;
    display: flex
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__heading .l-spfglasses__cutimage-text small {
        letter-spacing: .03em;
        padding-top: 24px;
        line-height: 170%
    }
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__cutimage-text small span {
    flex-shrink: 0;
    display: block
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__cutimage-image {
    width: 50%;
    height: auto
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__heading .l-spfglasses__cutimage-image {
        width: 100%;
        margin-top: 38px;
        margin-left: auto;
        margin-right: auto
    }
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__cutimage-image img {
    width: 100%;
    height: auto
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__logo {
    width: 146px;
    margin-top: 32px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__heading .l-spfglasses__logo {
        width: 140px;
        margin-top: 28px
    }
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__logo img {
    width: 100%;
    height: auto
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__image {
    width: fit-content;
    max-width: 460px;
    margin: 0 auto;
    padding-top: 28px
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__heading .l-spfglasses__image {
        padding-top: 30px;
        padding-left: 4.26667%;
        padding-right: 4.26667%
    }
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__image img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__heading .l-spfglasses__image img {
        width: 100%
    }
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__image-caption {
    color: var(--color-white);
    font-optical-sizing: auto;
    justify-content: flex-start;
    align-items: flex-start;
    gap: .5rem;
    padding-top: 32px;
    font-family: Noto Sans JP, sans-serif;
    font-size: .7rem;
    font-style: normal;
    font-weight: 400;
    line-height: 145%;
    display: flex
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__heading .l-spfglasses__image-caption {
        letter-spacing: .03em;
        padding-top: 24px;
        padding-left: 5.33333%;
        padding-right: 5.33333%;
        line-height: 170%
    }
}

.l-spfglasses .l-spfglasses__heading .l-spfglasses__image-caption span {
    flex-shrink: 0;
    display: block
}

.l-spfglasses .l-spfglasses__alllineup {
    z-index: 3;
    padding-top: 90px;
    padding-bottom: 46px;
    position: relative
}

.l-spfglasses .l-spfglasses__alllineup .l-spfglasses__alllineup-title {
    text-align: center
}

.l-spfglasses .l-spfglasses__alllineup .l-spfglasses__alllineup-items {
    grid-template-columns: repeat(4, 1fr);
    place-content: center;
    gap: 33px;
    width: 100%;
    max-width: 894px;
    margin: 0 auto;
    padding-top: 64px;
    display: grid
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__alllineup .l-spfglasses__alllineup-items {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px 2.6%;
        width: 100%;
        padding-left: 2.5%;
        padding-right: 2.5%
    }

    .l-spfglasses .l-spfglasses__alllineup .l-spfglasses__alllineup-items .c-lineup-item:nth-last-child(2):nth-child(4n+1) {
        grid-column-start: 1 !important
    }
}

.l-spfglasses .l-spfglasses__alllineup .l-spfglasses__alllineup-items .c-lineup-item:nth-last-child(2):nth-child(4n+1) {
    grid-column-start: 2
}

.l-spfglasses .l-spfglasses__alllineup .c-button--view-all {
    width: 314px;
    margin: 56px auto 0;
    display: none
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__alllineup .c-button--view-all {
        width: 314px;
        margin-top: 45px;
        display: flex
    }
}

.l-spfglasses .l-spfglasses__feature {
    z-index: 3;
    padding-top: 90px;
    position: relative
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__feature {
        padding-top: 200px
    }
}

.l-spfglasses .l-spfglasses__feature .l-spfglasses__feature-title {
    text-align: center
}

.l-spfglasses .l-spfglasses__feature .l-spfglasses__feature-items {
    padding-top: 38px
}

.l-spfglasses .l-spfglasses__feature .c-feature-item {
    width: 46.6216%;
    min-width: 690px;
    margin: 0 auto
}

@media screen and (min-width:768px) and (max-width:1480px) {
    .l-spfglasses .l-spfglasses__feature .c-feature-item {
        min-width: 690px
    }
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__feature .c-feature-item {
        width: 100%;
        min-width: 100%;
        padding-left: 9.6%;
        padding-right: 9.6%
    }
}

.l-spfglasses .l-spfglasses__feature .c-feature-item:not(:first-child) {
    margin-top: 30px
}

@media screen and (max-width:767px) {
    .l-spfglasses .l-spfglasses__feature .c-feature-item:not(:first-child) {
        margin-top: 50px
    }
}

.l-spfglasses .l-spfglasses__feature .l-spfglasses__feature-notice {
    text-align: center;
    color: var(--color-white);
    font-optical-sizing: auto;
    padding-top: 35px;
    font-family: Noto Sans JP, sans-serif;
    font-size: .75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 170%;
    display: block
}

.l-library-campaign__light {
    z-index: 10;
    pointer-events: none;
    opacity: 0;
    aspect-ratio: 1;
    width: 100vw;
    transition: opacity .6s cubic-bezier(.32, .72, 0, 1), transform .6s cubic-bezier(.32, .72, 0, 1);
    position: fixed;
    top: -30%;
    left: 0
}

@media screen and (max-width:767px) {
    .l-library-campaign__light {
        aspect-ratio: 1/2.5;
        top: 0;
    }
}

.l-library-campaign__light {
    mix-blend-mode: screen
}

.l-library-campaign__light.is-active {
    opacity: 1
}

.l-library-campaign__light img {
    transform-origin: 50%;
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

.l-library-campaign__background {
    opacity: 0;
    background: url(https://www.meganeichiba.jp/spfglasses/assets/images/library-campaign-background.webp) no-repeat center var(--color-bg);
    background-size: cover;
    width: 100%;
    height: 100dvh;
    position: sticky;
    top: 0
}

@media screen and (max-width:767px) {
    .l-library-campaign__background {
        min-height: 100dvh;
        padding-top: env(safe-area-inset-top);
        padding-bottom: env(safe-area-inset-bottom);
        background: url(https://www.meganeichiba.jp/spfglasses/assets/images/library-campaign-background_sp.webp) no-repeat center var(--color-bg);
        background-size: cover;
        place-items: center;
        display: grid
    }
}

.l-library-campaign {
    z-index: 3;
    --library-campaign-top-leave-target: section;
    --library-campaign-top-leave-threshold-pct: 0;
    position: relative
}

.l-library-campaign .l-library-campaign__content {
    z-index: 2;
    background: var(--gradient-library-campaign-content-bg);
    -webkit-backdrop-filter: blur(56px);
    backdrop-filter: blur(56px);
    margin-top: 100vh;
    position: relative
}

@media screen and (max-width:767px) {
    .l-library-campaign .l-library-campaign__content {
        margin-top: 100svh
    }
}

.l-library-campaign .l-adlibrary {
    padding-top: 90px;
    padding-bottom: 42px
}

.l-library-campaign .l-adlibrary .l-adlibrary__title {
    text-align: center
}

.l-library-campaign .l-adlibrary .l-adlibrary__items {
    width: 700px;
    margin: 0 auto;
    padding-top: 36px
}

@media screen and (max-width:767px) {
    .l-library-campaign .l-adlibrary .l-adlibrary__items {
        width: 100%;
        padding-left: 5.86667%;
        padding-right: 5.86667%
    }
}

.l-library-campaign .l-adlibrary .l-adlibrary__items .l-adlibrary__items-inner:not(:first-child) {
    margin-top: 80px
}

.l-library-campaign .l-adlibrary .l-adlibrary__items .l-adlibrary__items-subtitle {
    text-align: center;
    letter-spacing: .05em;
    color: var(--color-white);
    padding-bottom: 26px;
    font-family: futura-pt, sans-serif;
    font-size: 1.25rem;
    font-style: italic;
    font-weight: 400;
    line-height: 26px
}

.l-library-campaign .l-adlibrary .l-adlibrary__items .c-adlibrary-item__graphics {
    padding-top: 32px
}

@media screen and (max-width:767px) {
    .l-library-campaign .l-adlibrary .l-adlibrary__items .c-adlibrary-item__graphics {
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw)
    }
}

@media screen and (min-width:768px) {
    .l-library-campaign .l-adlibrary .l-adlibrary__items .c-adlibrary-item__graphics .c-adlibrary-item__graphics-inner {
        grid-template-columns: repeat(3, 1fr);
        gap: 0 11px;
        display: grid
    }

    .l-library-campaign .l-adlibrary .l-adlibrary__items .c-adlibrary-item__graphics .c-adlibrary-item__graphics-inner .swiper-wrapper {
        display: contents
    }

    .l-library-campaign .l-adlibrary .l-adlibrary__items .c-adlibrary-item__graphics .c-adlibrary-item__graphics-inner .swiper-slide {
        width: auto;
        height: auto
    }
}

@media screen and (max-width:767px) {
    .l-library-campaign .l-adlibrary .l-adlibrary__items .c-adlibrary-item__graphics .c-adlibrary-item__graphics-inner {
        width: 100%;
        overflow: hidden
    }
}

.l-library-campaign .l-adlibrary .l-adlibrary__items .c-adlibrary-item__videos {
    padding-top: 32px
}

@media screen and (max-width:767px) {
    .l-library-campaign .l-adlibrary .l-adlibrary__items .c-adlibrary-item__videos {
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw)
    }
}

@media screen and (min-width:768px) {
    .l-library-campaign .l-adlibrary .l-adlibrary__items .c-adlibrary-item__videos .c-adlibrary-item__videos-inner {
        grid-template-columns: repeat(3, 1fr);
        gap: 0 11px;
        display: grid
    }

    .l-library-campaign .l-adlibrary .l-adlibrary__items .c-adlibrary-item__videos .c-adlibrary-item__videos-inner .swiper-wrapper {
        display: contents
    }

    .l-library-campaign .l-adlibrary .l-adlibrary__items .c-adlibrary-item__videos .c-adlibrary-item__videos-inner .swiper-slide {
        width: auto;
        height: auto
    }
}

@media screen and (max-width:767px) {
    .l-library-campaign .l-adlibrary .l-adlibrary__items .c-adlibrary-item__videos .c-adlibrary-item__videos-inner {
        width: 100%;
        overflow: hidden
    }
}

.l-library-campaign .l-campaign {
    padding-top: 90px;
    padding-bottom: 104px
}

.l-library-campaign .l-campaign .l-campaign__title {
    text-align: center
}

.l-library-campaign .l-campaign .l-campaign__subtitle {
    text-align: center;
    letter-spacing: .27em;
    color: var(--color-white);
    font-optical-sizing: auto;
    margin-top: 12px;
    font-family: Noto Sans JP, sans-serif;
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 144%
}

.l-library-campaign .l-campaign .l-campaign__item,
.l-library-campaign .l-campaign .l-campaign__item:not(:first-child) {
    margin-top: 34px
}

@media screen and (max-width:767px) {
    .l-library-campaign .l-campaign .l-campaign__item:not(:first-child) {
        margin-top: 14px
    }
}

.l-library-campaign .l-campaign .l-campaign__x {
    width: 50px;
    height: 50px;
    margin: 0 auto
}

.l-library-campaign .l-campaign .l-campaign__x img {
    width: 100%;
    height: auto
}

.l-library-campaign .l-campaign .l-campaign__text {
    text-align: center;
    letter-spacing: .03em;
    color: var(--color-white);
    font-optical-sizing: auto;
    margin-top: 22px;
    font-family: Noto Sans JP, sans-serif;
    font-size: .8125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%
}

@media screen and (max-width:767px) {
    .l-library-campaign .l-campaign .l-campaign__text {
        font-size: 1.0625rem
    }
}

.l-library-campaign .l-campaign .l-campaign__info {
    text-align: center;
    color: var(--color-white);
    font-optical-sizing: auto;
    padding-top: 25px;
    font-family: Noto Sans JP, sans-serif;
    font-size: .6875rem;
    font-style: normal;
    font-weight: 350;
    line-height: 160%
}

.l-library-campaign .l-campaign .c-button--campaign {
    width: 273px;
    margin-top: 31px;
    margin-left: auto;
    margin-right: auto
}

.l-library-campaign .l-campaign .l-campaign__description {
    border: 1px solid var(--color-white);
    border-radius: 8px;
    width: 319px;
    margin: 20px auto 0;
    padding: 16px
}

@media screen and (max-width:767px) {
    .l-library-campaign .l-campaign .l-campaign__description {
        margin-top: 50px
    }
}

.l-library-campaign .l-campaign .l-campaign__description-title {
    color: var(--color-white);
    font-optical-sizing: auto;
    font-family: Noto Sans JP, sans-serif;
    font-size: .875rem;
    font-style: normal;
    font-weight: 350;
    line-height: 160%
}

.l-library-campaign .l-campaign .l-campaign__description-list {
    padding-top: 10px
}

.l-library-campaign .l-campaign .l-campaign__description-item {
    color: var(--color-white);
    font-optical-sizing: auto;
    font-family: Noto Sans JP, sans-serif;
    font-size: .6875rem;
    font-style: normal;
    font-weight: 350;
    line-height: 160%
}

.l-modal {
    z-index: 9999;
    visibility: hidden;
    pointer-events: none;
    width: 100%;
    height: 100%;
    transition: visibility 0s linear .5s;
    position: fixed;
    top: 0;
    left: 0
}

.l-modal.is-visible {
    visibility: visible;
    pointer-events: auto;
    transition: visibility
}

.l-modal__inner {
    z-index: 2;
    width: 100%;
    height: 100%;
    position: relative
}

.l-modal__inner:before {
    z-index: 0;
    content: "";
    opacity: 0;
    background: rgba(0, 0, 0, .5);
    width: 100%;
    height: 100%;
    transition: opacity 1s cubic-bezier(.32, .72, 0, 1);
    position: absolute;
    top: 0;
    left: 0
}

.l-modal.is-active .l-modal__inner:before {
    opacity: 1
}

.l-modal__close {
    z-index: 2;
    opacity: 0;
    width: 48px;
    height: 48px;
    transition: opacity .4s cubic-bezier(.32, .72, 0, 1) .15s;
    position: absolute;
    top: 16px;
    right: 16px
}

.l-modal__close span {
    background: var(--color-white);
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translate(-50%)
}

.l-modal__close span:first-child {
    transform: rotate(45deg)
}

.l-modal__close span:nth-child(2) {
    transform: rotate(-45deg)
}

.l-modal.is-active .l-modal__close {
    opacity: 1
}

.l-modal__content {
    z-index: 1;
    opacity: 0;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    transition: opacity 1s cubic-bezier(.32, .72, 0, 1) .1s, transform .4s cubic-bezier(.32, .72, 0, 1) .3s;
    display: flex;
    position: relative;
    transform: translateY(.5rem)
}

.l-modal__content iframe,
.l-modal__content img {
    width: min(90vw, 960px);
    height: auto;
    display: none
}

.l-modal__content iframe {
    aspect-ratio: 16/9;
    border: 0
}

.l-modal__content img {
    object-fit: contain;
    max-height: 90vh
}

.l-modal__content.is-video iframe,
.l-modal__content.is-image img {
    display: block
}

.l-modal.is-active .l-modal__content {
    opacity: 1;
    transition: opacity 1s cubic-bezier(.32, .72, 0, 1) .3s, transform .4s cubic-bezier(.32, .72, 0, 1) .1s;
    transform: translateY(0)
}

@media (prefers-reduced-motion:reduce) {
    .l-modal {
        transition: none
    }

    .l-modal__inner:before,
    .l-modal__content,
    .l-modal__close {
        transition: none;
        transform: none
    }
}

.l-pickup-page {
    z-index: 1;
    background: url(../images/pickup_bg.webp) no-repeat center var(--color-bg);
    background-size: cover;
    position: relative;
    overflow: hidden
}

.l-pickup-page .l-spfglasses__cloud {
    z-index: 1;
    position: absolute
}

.l-pickup-page .l-spfglasses__cloud img {
    width: 100%;
    height: auto
}

.l-pickup-page .l-spfglasses__cloud--1 {
    width: 29.7297%;
    top: 10%;
    left: -4%
}

@media screen and (max-width:767px) {
    .l-pickup-page .l-spfglasses__cloud--1 {
        --spfglasses-parallax-x-distance: 120;
        width: 61%
    }
}

.l-pickup-page .l-spfglasses__cloud--1 {
    --spfglasses-parallax-distance: 600;
    --spfglasses-parallax-direction: -1;
    --spfglasses-parallax-x-distance: 60;
    --spfglasses-parallax-x-direction: 1
}

.l-pickup-page .l-spfglasses__cloud--2 {
    width: 23.4459%;
    top: 15%;
    right: -4%
}

@media screen and (max-width:767px) {
    .l-pickup-page .l-spfglasses__cloud--2 {
        --spfglasses-parallax-x-distance: 120;
        width: 44%
    }
}

.l-pickup-page .l-spfglasses__cloud--2 {
    --spfglasses-parallax-distance: 600;
    --spfglasses-parallax-direction: 1;
    --spfglasses-parallax-x-distance: 60;
    --spfglasses-parallax-x-direction: -1
}

.l-pickup-page .l-spfglasses__cloud--3 {
    width: 30.2027%;
    top: 45%;
    left: -10%
}

@media screen and (max-width:767px) {
    .l-pickup-page .l-spfglasses__cloud--3 {
        --spfglasses-parallax-x-distance: 120;
        width: 52%
    }
}

.l-pickup-page .l-spfglasses__cloud--3 {
    --spfglasses-parallax-distance: 600;
    --spfglasses-parallax-direction: 1;
    --spfglasses-parallax-x-distance: 60;
    --spfglasses-parallax-x-direction: 1
}