@charset "UTF-8";
*, ::after, ::before {
    box-sizing: border-box
}

a, body, button, dd, div, dl, dt, figure, h1, h2, h3, h4, h5, h6, html, img, li, ol, p, small, span, table, td, th, time, tr, ul {
    border: 0;
    font: inherit;
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline
}

html {
    line-height: 1
}

ol, ul {
    list-style: none
}

dd, li {
    list-style-type: none
}

article, aside, figcaption, figure, footer, header, main, nav, section {
    display: block
}

img {
    border: none;
    vertical-align: bottom
}

@media screen and (max-width: 1111px) and (min-width: 768px) {
    html {
        font-size: calc(16 / 1112 * 100vw)
    }
}

@media screen and (max-width: 389px) {
    html {
        font-size: calc(16 / 390 * 100vw)
    }
}

body {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: max(1rem, 12.8px);
    font-weight: 500;
    line-height: 1.8
}

@media screen and (max-width: 767px) {
    body {
        font-size: 1rem;
        font-size: max(.9375rem, 12px);
        line-height: 1.7
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    body {
        font-size: .9375rem
    }
}

a {
    color: inherit;
    text-decoration: none;
    transition: .3s
}

@media (hover: hover) {
    a:hover {
        cursor: pointer
    }
}

a, img, picture, span {
    display: inline-block
}

img, svg, video {
    height: 100%;
    width: 100%
}

button {
    background: 0 0;
    background: 0 0;
    border: none;
    color: inherit
}

button, input, select, textarea {
    font: inherit
}

@media (min-width: 768px) {
    a[href*="tel:"] {
        cursor: default;
        pointer-events: none;
        text-decoration: none
    }
}

.l-container {
    margin-inline: auto;
    max-width: 69.5rem;
    padding-inline: 2.5rem
}

.l-container.--faq {
    max-width: 58.625rem
}

@media screen and (max-width: 767px) {
    .l-container {
        max-width: 41.375rem;
        padding-inline: 1.9375rem;
        width: 100%
    }

    .l-container.--narrow {
        max-width: 27.5rem;
        padding-inline: 1.5rem
    }
}

.l-footer {
    background-color: #1b95d4;
    padding-bottom: 6.125rem
}

@media screen and (max-width: 767px) {
    .l-footer {
        padding-bottom: 7.0625rem
    }
}

.l-footer__wrap {
    background-color: #ffe109;
    padding-block: 4rem 1rem;
    text-align: center
}

@media screen and (max-width: 767px) {
    .l-footer__wrap {
        padding-block: 1.9375rem .5rem
    }
}

.l-footer__wrap-logo {
    aspect-ratio: 233/136;
    height: auto;
    margin-inline: auto;
    width: 14.5625rem
}

@media screen and (max-width: 767px) {
    .l-footer__wrap-logo {
        aspect-ratio: 96/56;
        width: 6rem
    }
}

.l-footer__wrap-copyright {
    font-size: max(.6875rem, 8.8px);
    margin-block-start: 3.125rem
}

@media screen and (max-width: 767px) {
    .l-footer__wrap-copyright {
        font-size: .6875rem;
        font-size: max(.5625rem, 7.2px);
        margin-block-start: 1.1875rem
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .l-footer__wrap-copyright {
        font-size: .5625rem
    }
}

.c-button {
    background-color: #00c300;
    border: .125rem solid #fff;
    border-radius: 1rem;
    box-shadow: .125rem .125rem 0 0 #000;
    display: inline-block;
    transition: .3s
}

@media (any-hover: hover) {
    .c-button:focus, .c-button:hover {
        box-shadow: unset;
        cursor: pointer;
        transform: translate(.25rem, .25rem)
    }
}

.c-button__container {
    align-items: center;
    display: flex;
    gap: .75rem;
    padding: 1.25rem 2rem
}

@media screen and (max-width: 767px) {
    .c-button__container {
        padding: .625rem 1.375rem .625rem 2.125rem
    }
}

.c-button__container.--following {
    padding: .5rem 1rem
}

@media screen and (max-width: 767px) {
    .c-button__container.--following {
        gap: 1.25rem;
        justify-content: center;
        padding: .8125rem 0
    }
}

.c-button__container-icon {
    aspect-ratio: 49/48;
    height: auto;
    margin-block-start: .25rem;
    width: 3.0625rem
}

@media screen and (max-width: 767px) {
    .c-button__container-icon {
        aspect-ratio: 32/34;
        height: auto;
        margin-block-start: 0;
        width: 2rem
    }
}

.c-button__container-icon.--following {
    aspect-ratio: 40/42;
    width: 2.5rem
}

@media screen and (max-width: 767px) {
    .c-button__container-icon.--following {
        aspect-ratio: 34/34;
        width: 2.125rem
    }
}

.c-button__container-items {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: .5rem
}

@media screen and (max-width: 767px) {
    .c-button__container-items {
        gap: .25rem
    }
}

.c-button__container-items.--following {
    gap: .25rem
}

.c-button__container-items-top {
    color: #fff;
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 800;
    line-height: 1;
    padding-inline: 1rem;
    position: relative
}

.c-button__container-items-top:before {
    left: 0;
    rotate: -30deg
}

.c-button__container-items-top:after, .c-button__container-items-top:before {
    background-color: #fff;
    content: "";
    height: .9375rem;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    width: .0625rem
}

.c-button__container-items-top:after {
    right: 0;
    rotate: 30deg
}

.c-button__container-items-top span.c-button-top-accent {
    color: #ffe109
}

@media screen and (max-width: 767px) {
    .c-button__container-items-top {
        font-size: max(.75rem, 9.6px);
        padding-inline: .625rem
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .c-button__container-items-top {
        font-size: .75rem
    }
}

@media screen and (max-width: 767px) {
    .c-button__container-items-top:after, .c-button__container-items-top:before {
        height: .6875rem
    }
}

.c-button__container-items-top.--following {
    font-size: max(.8125rem, 10.4px);
    font-weight: 700;
    letter-spacing: .08em
}

@media screen and (max-width: 767px) {
    .c-button__container-items-top.--following {
        font-size: .8125rem;
        font-size: max(.875rem, 11.2px)
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .c-button__container-items-top.--following {
        font-size: .875rem
    }
}

.c-button__container-items-bottom {
    color: #fff;
    font-family: "M PLUS 1p", sans-serif;
    font-size: max(1.5rem, 19.2px);
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1
}

@media screen and (max-width: 767px) {
    .c-button__container-items-bottom {
        font-size: 1.5rem
    }
}

.c-button__container-items-bottom span.c-button-bottom-accent {
    color: #ffe109;
    font-size: max(1.875rem, 24px);
    letter-spacing: -.02em
}

@media screen and (max-width: 767px) {
    .c-button__container-items-bottom span.c-button-bottom-accent {
        font-size: 1.875rem
    }

    .c-button__container-items-bottom {
        font-size: max(1rem, 12.8px)
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .c-button__container-items-bottom {
        font-size: 1rem
    }
}

@media screen and (max-width: 767px) {
    .c-button__container-items-bottom span.c-button-bottom-accent {
        font-size: max(1.25rem, 16px)
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .c-button__container-items-bottom span.c-button-bottom-accent {
        font-size: 1.25rem
    }
}

.c-button__container-items-bottom.--following {
    font-size: max(1.0625rem, 13.6px);
    font-weight: 800;
    letter-spacing: unset
}

@media screen and (max-width: 767px) {
    .c-button__container-items-bottom.--following {
        font-size: 1.0625rem
    }
}

.c-button__container-items-bottom.--following span.c-button-bottom-accent {
    font-size: max(1.375rem, 17.6px);
    font-weight: 800;
    letter-spacing: unset
}

@media screen and (max-width: 767px) {
    .c-button__container-items-bottom.--following span.c-button-bottom-accent {
        font-size: 1.375rem
    }

    .c-button__container-items-bottom.--following {
        font-size: max(1.125rem, 14.4px)
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .c-button__container-items-bottom.--following {
        font-size: 1.125rem
    }
}

@media screen and (max-width: 767px) {
    .c-button__container-items-bottom.--following span.c-button-bottom-accent {
        font-size: max(1.375rem, 17.6px)
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .c-button__container-items-bottom.--following span.c-button-bottom-accent {
        font-size: 1.375rem
    }
}

.c-following {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
    visibility: hidden
}

.c-following.is-active {
    opacity: 1;
    transform: none;
    transition: opacity .25s ease, transform .25s ease;
    visibility: visible
}

@media screen and (max-width: 767px) {
    .c-following {
        background-color: rgba(255, 255, 255, .8);
        bottom: 0;
        height: 5.75rem;
        left: 0;
        padding: .5rem 1rem .5rem;
        position: fixed;
        right: 0;
        z-index: 100
    }
}

.c-following-button {
    bottom: 1rem;
    position: fixed;
    right: 5rem;
    z-index: 100
}

@media screen and (max-width: 767px) {
    .c-following-button {
        bottom: .8125rem;
        right: 50%;
        translate: 50%;
        width: 22.375rem
    }
}

.c-title-deco {
    background: radial-gradient(circle, #fff .15rem, transparent .15rem) 0 0/2rem 2rem repeat, #ffe109;
    border: .125rem solid #000;
    box-shadow: .25rem .25rem 0 #000;
    display: inline-block;
    font-size: max(2rem, 25.6px);
    font-weight: 700;
    letter-spacing: .04em;
    padding: .375rem 1rem;
    text-align: center
}

@media screen and (max-width: 767px) {
    .c-title-deco {
        font-size: 2rem;
        background: radial-gradient(circle, #fff .15rem, transparent .15rem) 0 0/1.2rem 1.2rem repeat, #ffe109;
        box-shadow: .125rem .125rem 0 #000;
        font-size: max(1.5rem, 19.2px);
        letter-spacing: .04em;
        line-height: 1.05;
        padding: .6875rem .75rem
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .c-title-deco {
        font-size: 1.5rem
    }
}

.c-title {
    margin-inline: auto
}

.c-title span.c-title-hidden {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px
}

.p-fv__top {
    position: relative
}

.p-fv__top:after {
    animation: flowDown 1.5s linear infinite;
    background: url(../img/fv-vector.webp) no-repeat center center/contain;
    bottom: 0;
    content: "";
    height: 6.25rem;
    position: absolute;
    width: 5.875rem;
    z-index: 2
}

@media screen and (max-width: 767px) {
    .p-fv__top:after {
        height: 3.5625rem;
        left: .625rem;
        width: 3.75rem
    }

    .p-fv__top:after:after {
        animation: flowDown .7s linear infinite
    }
}

@media (min-width: 768px) and (max-width: 1079px) {
    .p-fv__top:after {
        left: 5rem
    }
}

@media (min-width: 1080px) {
    .p-fv__top:after {
        left: 10.625rem
    }
}

@keyframes flowDown {
    0% {
        opacity: 0;
        transform: translateY(0)
    }
    10% {
        opacity: 1;
        transform: translateY(10)
    }
    80% {
        opacity: 1;
        transform: translateY(80px)
    }
    100% {
        opacity: 0;
        transform: translateY(80px)
    }
}

@media (max-width: 767px) {
    @keyframes flowDown {
        0% {
            opacity: 0;
            transform: translateY(-20px)
        }
        10% {
            opacity: 1;
            transform: translateY(-10px)
        }
        80% {
            opacity: 1;
            transform: translateY(25px)
        }
        100% {
            opacity: 0;
            transform: translateY(25px)
        }
    }
}

.p-fv__top-image {
    height: auto;
    width: 100%
}

.p-fv__top-image img {
    -o-object-fit: cover;
    -o-object-position: center;
    object-fit: cover;
    object-position: center
}

.p-cta {
    align-items: center;
    background-color: #ffe109;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    margin-block-start: -.1875rem;
    padding-block: 2.5rem;
    position: relative;
    z-index: 1
}

@media screen and (max-width: 767px) {
    .p-cta {
        gap: .25rem;
        margin-block-start: 0;
        padding-block: 1.5rem
    }
}

.p-cta-text {
    font-family: "M PLUS 1p", sans-serif;
    font-size: max(1.25rem, 16px);
    font-weight: 800;
    letter-spacing: .03em;
    line-height: normal;
    position: relative
}

@media screen and (max-width: 767px) {
    .p-cta-text {
        font-size: 1.25rem
    }
}

.p-cta-text:before {
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='32' viewBox='0 0 24 32' fill='none'><line x1='15.123' y1='30.8666' x2='1.51801' y2='17.6038' stroke='black' stroke-width='2' stroke-linecap='round'/><line x1='22.1267' y1='30.5612' x2='4.52141' y2='1.47422' stroke='black' stroke-width='2' stroke-linecap='round'/></svg>") no-repeat center center/contain;
    left: -1.875rem
}

.p-cta-text:after, .p-cta-text:before {
    content: "";
    display: inline-block;
    height: 1.9375rem;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    width: 1.375rem
}

.p-cta-text:after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='32' viewBox='0 0 24 32' fill='none'%3E%3Cline x1='1' y1='-1' x2='20' y2='-1' transform='matrix(0.716053 -0.698046 -0.698046 -0.716053 7.5 30.8486)' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='1' y1='-1' x2='35' y2='-1' transform='matrix(0.517803 -0.8555 -0.8555 -0.517803 0.5 30.8989)' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center center/contain;
    right: -1.875rem
}

@media screen and (max-width: 767px) {
    .p-cta-text {
        font-size: max(1.125rem, 14.4px);
        letter-spacing: .03em
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .p-cta-text {
        font-size: 1.125rem
    }
}

@media screen and (max-width: 767px) {
    .p-cta-text:after, .p-cta-text:before {
        height: 1.1875rem;
        width: .875rem
    }
}

.p-worries {
    background: url(../img/worries-bg.webp) no-repeat center center/cover;
    padding-block: 6.75rem 7rem;
    position: relative;
    text-align: center
}

@media screen and (max-width: 767px) {
    .p-worries {
        padding-block: 4.125rem 4.25rem
    }
}

.p-worries__title-image {
    aspect-ratio: 714/141;
    height: auto;
    width: 44.625rem
}

@media screen and (max-width: 767px) {
    .p-worries__title-image {
        aspect-ratio: 350/73;
        width: 21.5625rem
    }
}

.p-worries__container {
    margin-block-start: 4rem;
    margin-inline: auto;
    max-width: 53.25rem;
    position: relative
}

@media screen and (max-width: 767px) {
    .p-worries__container {
        margin-block-start: 2rem;
        max-width: 37.5rem
    }
}

.p-worries__container-text {
    display: inline-block;
    font-size: max(1.125rem, 14.4px);
    line-height: 1.7;
    opacity: 0;
    position: absolute;
    text-align: center;
    z-index: 1
}

@media screen and (max-width: 767px) {
    .p-worries__container-text {
        font-size: 1.125rem
    }
}

.p-worries__container-text:before {
    content: "";
    left: 50%;
    position: absolute;
    top: calc(50% + .375rem);
    translate: -50% -50%;
    z-index: -1
}

.p-worries__container-text.--1 {
    left: 8.25rem;
    top: 1.25rem
}

.p-worries__container-text.--1:before {
    background: url(../img/worries-treat-left.webp) no-repeat center center/contain;
    height: 9.0625rem;
    width: 18.375rem
}

.p-worries__container-text.--2 {
    right: 7.25rem;
    top: 1.25rem
}

.p-worries__container-text.--2:before {
    background: url(../img/worries-treat-right.webp) no-repeat center center/contain;
    height: 9.0625rem;
    width: 18.375rem
}

.p-worries__container-text.--3 {
    left: 1.3125rem;
    top: 13.4375rem
}

.p-worries__container-text.--3:before {
    background: url(../img/worries-treat-left.webp) no-repeat center center/contain;
    height: 9.0625rem;
    width: 18.375rem
}

.p-worries__container-text.--4 {
    right: 2.3125rem;
    top: 13.4375rem
}

.p-worries__container-text.--4:before {
    background: url(../img/worries-treat-right.webp) no-repeat center center/contain;
    height: 9.0625rem;
    width: 15.9375rem
}

.p-worries__container-text span.accent {
    color: #ed254e;
    font-weight: 700
}

@media screen and (max-width: 767px) {
    .p-worries__container-text {
        font-size: max(.9375rem, 12px);
        line-height: 1.5;
        opacity: 1 !important
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .p-worries__container-text {
        font-size: .9375rem
    }
}

@media screen and (max-width: 767px) {
    .p-worries__container-text.--1 {
        left: unset;
        right: 1.0625rem;
        top: .625rem
    }

    .p-worries__container-text.--1:before {
        background-image: url(../img/worries-treat-right-sp.webp);
        height: 6.3125rem;
        width: 14.125rem
    }

    .p-worries__container-text.--2 {
        left: 1.25rem;
        right: unset;
        top: 7.25rem
    }

    .p-worries__container-text.--2:before {
        background-image: url(../img/worries-treat-left-sp.webp);
        height: 6.8125rem;
        width: 11.875rem
    }

    .p-worries__container-text.--3 {
        left: unset;
        right: 1.0625rem;
        top: 14.3125rem
    }

    .p-worries__container-text.--3:before {
        background-image: url(../img/worries-treat-right-sp.webp);
        height: 6.75rem;
        width: 15.125rem
    }

    .p-worries__container-text.--4 {
        left: 1.25rem;
        right: unset;
        top: 21.125rem
    }

    .p-worries__container-text.--4:before {
        background-image: url(../img/worries-treat-left-sp.webp);
        height: 6.5625rem;
        width: 11.625rem
    }
}

.p-worries__container-image {
    aspect-ratio: 222/255;
    height: auto;
    margin-block-start: 14.8125rem;
    margin-inline: auto;
    width: 13.875rem
}

@media screen and (max-width: 767px) {
    .p-worries__container-image {
        aspect-ratio: 172/193;
        margin-block-start: 23rem;
        margin-inline: unset;
        margin-inline-start: auto;
        width: 10.75rem
    }
}

.p-worries.is-visible .p-worries__container-text {
    animation: worries-fade .8s ease forwards
}

.p-worries.is-visible .p-worries__container-text.--1 {
    animation-delay: 0s
}

.p-worries.is-visible .p-worries__container-text.--2 {
    animation-delay: .4s
}

.p-worries.is-visible .p-worries__container-text.--3 {
    animation-delay: .8s
}

.p-worries.is-visible .p-worries__container-text.--4 {
    animation-delay: 1.2s
}

@media screen and (max-width: 767px) {
    .p-worries.is-visible {
        animation: none
    }
}

@keyframes worries-fade {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

.p-worries__arrow {
    margin-block-start: -5rem;
    position: relative;
    z-index: 1
}

@media screen and (max-width: 767px) {
    .p-worries__arrow {
        margin-block-start: -1.25rem
    }
}

.p-worries__arrow-image {
    aspect-ratio: 254/207;
    height: auto;
    left: 50%;
    position: absolute;
    translate: -50%;
    width: 15.875rem
}

@media screen and (max-width: 767px) {
    .p-worries__arrow-image {
        aspect-ratio: 133/104;
        width: 7.5rem
    }
}

.p-worries__arrow-text {
    aspect-ratio: 197/81;
    height: auto;
    left: 50%;
    position: absolute;
    top: 5.625rem;
    translate: -50%;
    width: 10.0625rem
}

@media screen and (max-width: 767px) {
    .p-worries__arrow-text {
        aspect-ratio: 148/58;
        top: 2.125rem;
        width: 7.4375rem
    }
}

.p-solution {
    background-color: #1b95d4;
    overflow-x: clip;
    padding-block-end: 7.125rem;
    position: relative;
    text-align: center
}

@media screen and (max-width: 767px) {
    .p-solution {
        margin-block-start: 1rem;
        padding-block-end: 4rem
    }
}

@media (min-width: 768px) and (max-width: 939px) {
    .p-solution {
        margin-block-start: 3.3125rem
    }
}

@media (min-width: 940px) {
    .p-solution {
        margin-block-start: 5rem
    }
}

.p-solution__title {
    aspect-ratio: 824/88;
    height: auto;
    padding-block-start: 10rem;
    width: 51.5rem
}

@media screen and (max-width: 767px) {
    .p-solution__title {
        aspect-ratio: 328/88;
        padding-block-start: 5rem;
        width: 20.5rem
    }
}

.p-solution__top {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-block-start: 3.9375rem;
    opacity: 0;
    position: relative;
    transform: translateY(40px);
    transition: opacity .8s ease, transform .8s ease;
    z-index: 1
}

.p-solution__top.is-visible {
    opacity: 1;
    transform: translateY(0)
}

.p-solution__top:after {
    background: url(../img/solution-sparkling.webp) no-repeat center center/contain;
    content: "";
    height: 7.8125rem;
    position: absolute;
    right: 5.9375rem;
    top: -2.1875rem;
    width: 6.375rem
}

@media screen and (max-width: 767px) {
    .p-solution__top {
        align-items: start;
        flex-direction: column-reverse;
        margin-block-start: .1875rem
    }

    .p-solution__top:after {
        height: 3.375rem;
        right: -.125rem;
        top: -1.0625rem;
        width: 2.75rem
    }
}

.p-solution__top-image {
    aspect-ratio: 265/256;
    height: auto;
    position: relative;
    width: 16.5625rem;
    z-index: 1
}

@media screen and (max-width: 767px) {
    .p-solution__top-image {
        aspect-ratio: 178/160;
        margin-block-start: -1rem;
        width: 11.125rem
    }
}

.p-solution__top-text {
    background-color: #fff;
    border: .125rem solid #000;
    border-radius: 1rem;
    box-shadow: .125rem .125rem .125rem .125rem;
    margin-inline-start: -2rem;
    padding: 2rem 2rem 2rem 3.5rem;
    position: relative;
    text-align: start;
    z-index: 0
}

.p-solution__top-text span.accent {
    color: #ed254e;
    display: inline;
    font-weight: 700
}

@media screen and (max-width: 767px) {
    .p-solution__top-text {
        margin-inline-start: 0;
        padding: 1.5rem
    }
}

.p-solution__bottom {
    margin-block-start: 6.8125rem
}

@media screen and (max-width: 767px) {
    .p-solution__bottom {
        margin-block-start: 3.5rem
    }
}

.p-solution__bottom-container {
    align-items: start;
    display: flex;
    gap: 2.3255813953%;
    justify-content: center;
    margin-block-start: 4.1875rem
}

@media screen and (max-width: 767px) {
    .p-solution__bottom-container {
        flex-direction: column;
        gap: 2.4375rem;
        margin-block-start: 2.375rem
    }
}

.p-solution__bottom-container-item {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .8s ease, transform .8s ease;
    width: 32800%
}

.p-solution__bottom-container-item.is-visible {
    opacity: 1;
    transform: translateY(0)
}

@media screen and (max-width: 767px) {
    .p-solution__bottom-container-item {
        width: 100%
    }
}

.p-solution__bottom-container-item-number {
    aspect-ratio: 56/40;
    height: auto;
    margin-inline: auto;
    width: 3.5rem
}

@media screen and (max-width: 767px) {
    .p-solution__bottom-container-item-number {
        aspect-ratio: 56/39;
        width: 3.125rem
    }
}

.p-solution__bottom-container-item-head {
    aspect-ratio: 328/73;
    height: auto;
    margin-block-start: 2.3125rem;
    margin-inline: auto;
    width: 15.8125rem
}

.p-solution__bottom-container-item-head.--3 {
    aspect-ratio: 328/63;
    width: 18.75rem
}

@media screen and (max-width: 767px) {
    .p-solution__bottom-container-item-head {
        margin-block-start: 1.3125rem
    }
}

.p-solution__bottom-container-item-image {
    aspect-ratio: 131/128;
    height: auto;
    margin-block-start: 2.8125rem;
    margin-inline: auto;
    width: 8.1875rem
}

@media screen and (max-width: 767px) {
    .p-solution__bottom-container-item-image {
        aspect-ratio: 146/142;
        margin-block-start: 1.125rem;
        width: 9.125rem
    }
}

.p-solution__bottom-container-item-text {
    color: #fff;
    font-weight: 700;
    line-height: 1.7;
    margin-block-start: 2.5625rem
}

@media screen and (max-width: 767px) {
    .p-solution__bottom-container-item-text {
        font-size: max(1.125rem, 14.4px);
        margin-block-start: 1.0625rem
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .p-solution__bottom-container-item-text {
        font-size: 1.125rem
    }
}

@media (min-width: 768px) and (max-width: 899px) {
    .p-solution__bottom-container-item-text:after {
        font-size: max(1rem, 12.8px)
    }
}

@media screen and (min-width: 768px) and (max-width: 899px) and (max-width: 767px) {
    .p-solution__bottom-container-item-text:after {
        font-size: 1rem
    }
}

@media (min-width: 900px) {
    .p-solution__bottom-container-item-text {
        font-size: max(1.125rem, 14.4px)
    }
}

@media screen and (min-width: 900px) and (max-width: 767px) {
    .p-solution__bottom-container-item-text {
        font-size: 1.125rem
    }
}

.p-solution__deco-1 {
    aspect-ratio: 50/50;
    height: auto;
    position: absolute;
    top: -1.5625rem;
    width: 3.125rem
}

@media screen and (max-width: 767px) {
    .p-solution__deco-1 {
        aspect-ratio: 27/27;
        left: .625rem;
        top: -2.3125rem;
        width: 1.6875rem
    }
}

@media (min-width: 768px) and (max-width: 1440px) {
    .p-solution__deco-1 {
        left: .875rem
    }
}

@media (min-width: 1441px) {
    .p-solution__deco-1 {
        left: calc(50% - 43.75rem)
    }
}

.p-solution__deco-2 {
    aspect-ratio: 84/84;
    height: auto;
    position: absolute;
    top: 2.3125rem;
    width: 5.25rem
}

@media screen and (max-width: 767px) {
    .p-solution__deco-2 {
        aspect-ratio: 46/46;
        left: 2.75rem;
        top: 0;
        width: 2.875rem
    }
}

@media (min-width: 768px) and (max-width: 1440px) {
    .p-solution__deco-2 {
        left: 4.6875rem
    }
}

@media (min-width: 1441px) {
    .p-solution__deco-2 {
        left: calc(50% - 42.5rem)
    }
}

.p-solution__deco-3 {
    aspect-ratio: 256/180;
    height: auto;
    position: absolute;
    top: -2.1875rem;
    width: 16.0625rem
}

@media screen and (max-width: 767px) {
    .p-solution__deco-3 {
        aspect-ratio: 130/91;
        right: -1.5rem;
        top: 21.0625rem;
        width: 8.125rem
    }
}

@media (min-width: 768px) and (max-width: 1440px) {
    .p-solution__deco-3 {
        right: -.625rem
    }
}

@media (min-width: 1441px) {
    .p-solution__deco-3 {
        right: calc(50% - 46.25rem)
    }
}

.p-solution__deco-4 {
    aspect-ratio: 50/50;
    height: auto;
    position: absolute;
    top: 11.1875rem;
    width: 3.125rem
}

@media screen and (max-width: 767px) {
    .p-solution__deco-4 {
        aspect-ratio: 50/50;
        right: -.75rem;
        top: 28.5rem;
        width: 3.125rem
    }
}

@media (min-width: 768px) and (max-width: 1440px) {
    .p-solution__deco-4 {
        right: 2.3125rem
    }
}

@media (min-width: 1441px) {
    .p-solution__deco-4 {
        right: calc(50% - 42.5rem)
    }
}

.p-solution__deco-5 {
    aspect-ratio: 317/250;
    height: auto;
    position: absolute;
    top: 36.625rem;
    width: 19.8125rem
}

@media screen and (max-width: 767px) {
    .p-solution__deco-5 {
        aspect-ratio: 259/230;
        left: -6.75rem;
        top: 54.5625rem;
        width: 16.1875rem
    }
}

@media (min-width: 768px) and (max-width: 1440px) {
    .p-solution__deco-5 {
        left: -7.875rem
    }
}

@media (min-width: 1441px) {
    .p-solution__deco-5 {
        left: calc(50% - 53.125rem)
    }
}

.p-solution__deco-6 {
    aspect-ratio: 289/289;
    height: auto;
    position: absolute;
    top: 31.6875rem;
    width: 18.0625rem
}

@media screen and (max-width: 767px) {
    .p-solution__deco-6 {
        aspect-ratio: 244/244;
        right: -9.75rem;
        top: 62.875rem;
        width: 15.25rem
    }
}

@media (min-width: 768px) and (max-width: 1440px) {
    .p-solution__deco-6 {
        right: -2.6875rem
    }
}

@media (min-width: 1441px) {
    .p-solution__deco-6 {
        right: calc(50% - 50rem)
    }
}

.p-solution__deco-7 {
    aspect-ratio: 364/364;
    bottom: -8rem;
    height: auto;
    position: absolute;
    width: 22.75rem
}

@media screen and (max-width: 767px) {
    .p-solution__deco-7 {
        aspect-ratio: 201/201;
        bottom: 0;
        left: -7.375rem;
        width: 12.5625rem
    }
}

@media (min-width: 768px) and (max-width: 1300px) {
    .p-solution__deco-7 {
        left: -11.25rem
    }
}

@media (min-width: 1301px) and (max-width: 1440px) {
    .p-solution__deco-7 {
        left: -5.9375rem
    }
}

@media (min-width: 1441px) {
    .p-solution__deco-7 {
        left: calc(50% - 53.125rem)
    }
}

.p-solution__deco-8 {
    aspect-ratio: 145/46;
    bottom: 11.375rem;
    height: auto;
    position: absolute
}

@media screen and (max-width: 767px) {
    .p-solution__deco-8 {
        aspect-ratio: 91/29;
        bottom: 16.875rem;
        right: -2.0625rem;
        width: 5.6875rem
    }
}

@media (min-width: 768px) and (max-width: 1300px) {
    .p-solution__deco-8 {
        bottom: 12.5rem;
        right: .875rem;
        width: 6.25rem
    }
}

@media (min-width: 1301px) and (max-width: 1440px) {
    .p-solution__deco-8 {
        right: 1.0625rem;
        width: 9.0625rem
    }
}

@media (min-width: 1441px) {
    .p-solution__deco-8 {
        right: calc(50% - 43.75rem)
    }
}

.p-solution__deco-9 {
    aspect-ratio: 50/50;
    bottom: 3.8125rem;
    height: auto;
    position: absolute;
    width: 3.125rem
}

@media screen and (max-width: 767px) {
    .p-solution__deco-9 {
        aspect-ratio: 50/50;
        bottom: 11.0625rem;
        right: -.75rem;
        width: 3.125rem
    }
}

@media (min-width: 768px) and (max-width: 1440px) {
    .p-solution__deco-9 {
        right: .875rem
    }
}

@media (min-width: 1441px) {
    .p-solution__deco-9 {
        right: calc(50% - 43.75rem)
    }
}

.p-result {
    background: url(../img/result-bg.webp) repeat-y center top/cover
}

@media screen and (max-width: 767px) {
    .p-result {
        background-image: url(../img/result-bg-sp.webp)
    }
}

.p-result__title {
    padding-block-start: 7.75rem;
    text-align: center
}

@media screen and (max-width: 767px) {
    .p-result__title {
        padding-block-start: 4.25rem
    }
}

.p-result__title-top {
    font-size: max(1.5rem, 19.2px);
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1;
    position: relative;
    z-index: 1
}

@media screen and (max-width: 767px) {
    .p-result__title-top {
        font-size: 1.5rem
    }
}

.p-result__title-top:before {
    background: url(../img/result-deco-1.webp) no-repeat center center/contain;
    content: "";
    height: 4.375rem;
    left: 50%;
    position: absolute;
    top: calc(50% + .375rem);
    translate: -50% -50%;
    width: 10.5625rem;
    z-index: -1
}

@media screen and (max-width: 767px) {
    .p-result__title-top {
        font-size: max(1rem, 12.8px);
        letter-spacing: .03
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .p-result__title-top {
        font-size: 1rem
    }
}

@media screen and (max-width: 767px) {
    .p-result__title-top:before {
        height: 2.0625rem;
        top: calc(50% + .1875rem);
        width: 5rem
    }
}

.p-result__title-bottom {
    aspect-ratio: 512/67;
    height: auto;
    margin-block-start: 2.8125rem;
    position: relative;
    width: 28.875rem
}

.p-result__title-bottom:after {
    background: url(../img/result-deco-2.webp) no-repeat center center/cover;
    bottom: -1.25rem;
    content: "";
    height: .8125rem;
    left: calc(50% - 6.25rem);
    position: absolute;
    translate: -50%;
    width: 12.125rem
}

@media screen and (max-width: 767px) {
    .p-result__title-bottom {
        aspect-ratio: 250/30;
        height: auto;
        margin-block-start: 1.125rem;
        width: 15.875rem
    }

    .p-result__title-bottom:after {
        bottom: -.875rem;
        content: "";
        left: calc(50% - 3rem);
        width: 7.875rem
    }
}

.p-result__items {
    display: flex;
    flex-direction: column;
    gap: 4.875rem;
    margin-block-start: 5.0625rem;
    padding-block-end: 9rem
}

@media screen and (max-width: 767px) {
    .p-result__items {
        gap: 2.0625rem;
        margin-block-start: 3.125rem;
        padding-block-end: 4.0625rem
    }
}

.p-result__items-item-box {
    grid-area: box
}

.p-result__items-item-head {
    grid-area: head
}

.p-result__items-item-text {
    grid-area: text
}

.p-result__items-item-figure {
    grid-area: figure
}

.p-result__items-item {
    -moz-column-gap: 2.5rem;
    align-items: start;
    background: #fff;
    border: .125rem solid #000;
    border-radius: 1rem;
    box-shadow: .25rem .25rem 0 0 #000;
    column-gap: 2.5rem;
    display: grid;
    grid-template-areas:"box head" "box text" "box figure";
    grid-template-columns:15.125rem 1fr;
    grid-template-rows:auto auto auto;
    opacity: 0;
    padding: 3rem;
    transform: translateY(40px);
    transition: opacity .6s ease, transform .6s ease
}

.p-result__items-item.is-visible {
    opacity: 1;
    transform: translateY(0)
}

@media screen and (max-width: 767px) {
    .p-result__items-item {
        grid-template-areas:"head" "box" "text" "figure";
        grid-template-columns:1fr;
        padding: 1.3125rem 1.5rem 1.1875rem
    }
}

.p-result__items-item-box {
    position: relative;
    text-align: center
}

@media screen and (max-width: 767px) {
    .p-result__items-item-box {
        margin-block-start: .875rem;
        margin-inline: auto;
        width: 17.5rem
    }
}

.p-result__items-item-box-image {
    aspect-ratio: 242/296;
    height: auto;
    width: 15.125rem
}

@media screen and (max-width: 767px) {
    .p-result__items-item-box-image {
        aspect-ratio: 280/210;
        margin-inline: auto;
        width: 17.5rem
    }
}

.p-result__items-item-box-name {
    background-color: #1b95d4;
    bottom: .5rem;
    color: #fff;
    font-weight: 700;
    line-height: 1.6;
    padding-inline: .5rem;
    position: absolute;
    right: 0;
    text-align: center
}

.p-result__items-item-box-name span.small {
    font-size: max(.875rem, 11.2px)
}

@media screen and (max-width: 767px) {
    .p-result__items-item-box-name span.small {
        font-size: .875rem
    }

    .p-result__items-item-box-name {
        line-height: 1.4;
        width: 10.125rem
    }

    .p-result__items-item-box-name span.small {
        font-size: max(.75rem, 9.6px)
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .p-result__items-item-box-name span.small {
        font-size: .75rem
    }
}

.p-result__items-item-head {
    font-size: max(1.75rem, 22.4px);
    font-weight: 700;
    line-height: 1.7
}

@media screen and (max-width: 767px) {
    .p-result__items-item-head {
        font-size: 1.75rem
    }
}

.p-result__items-item-head span {
    display: inline-block;
    position: relative;
    z-index: 0
}

.p-result__items-item-head span::before {
    background-color: #ffe109;
    bottom: -.0625rem;
    content: "";
    height: 1rem;
    left: 0;
    position: absolute;
    right: 0;
    z-index: -1
}

@media screen and (max-width: 767px) {
    .p-result__items-item-head {
        font-size: max(1.25rem, 16px);
        letter-spacing: .03em;
        line-height: 1.85
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .p-result__items-item-head {
        font-size: 1.25rem
    }
}

@media screen and (max-width: 767px) {
    .p-result__items-item-head span:before {
        bottom: .25rem;
        height: .625rem
    }

    .p-result__items-item-head span.narrow {
        letter-spacing: 0
    }
}

.p-result__items-item-text {
    margin-block-start: 1rem
}

@media screen and (max-width: 767px) {
    .p-result__items-item-text {
        line-height: 1.75
    }
}

.p-result__items-item-figure {
    aspect-ratio: 524/175;
    height: auto;
    margin-block-start: .75rem;
    margin-inline: auto;
    width: 32.75rem
}

@media screen and (max-width: 767px) {
    .p-result__items-item-figure {
        aspect-ratio: 280/163;
        margin-block-start: .375rem;
        width: 17.5rem
    }
}

.p-use {
    background-color: #1b95d4;
    background-image: repeating-linear-gradient(135deg, #1b95d4 0, #1b95d4 25px, #339ed6 25px, #339ed6 50px);
    padding-block: 8.6875rem 5.375rem;
    text-align: center
}

@media screen and (max-width: 767px) {
    .p-use {
        padding-block: 4.9375rem 5rem
    }
}

.p-use__items {
    display: flex;
    gap: 1.5rem;
    margin-block-start: 3.8125rem
}

@media screen and (max-width: 767px) {
    .p-use__items {
        flex-direction: column;
        gap: 4.4375rem;
        margin-block-start: 2.5rem
    }
}

.p-use__items-item {
    opacity: 0;
    position: relative;
    transform: translateX(-40px);
    transition: opacity .6s ease, transform .6s ease;
    width: 32800%
}

.p-use__items-item.is-visible {
    opacity: 1;
    transform: translateX(0)
}

.p-use__items-item:not(:last-child)::after {
    background: url(../img/use-triangle.webp) no-repeat center center/contain;
    content: "";
    height: 1.6875rem;
    position: absolute;
    right: -2.8125rem;
    top: calc(50% - 1.625rem);
    translate: 0 -50%;
    width: 5.625rem
}

@media screen and (max-width: 767px) {
    .p-use__items-item {
        opacity: 1;
        transform: none;
        transition: none;
        width: 100%
    }

    .p-use__items-item:not(:last-child)::after {
        bottom: -3.125rem;
        height: 1rem;
        right: calc(50% - 3.375rem);
        rotate: 90deg;
        top: unset;
        translate: -50% 0;
        width: 3.3125rem
    }
}

.p-use__items-item-order {
    align-items: flex-start;
    color: #ffe109;
    display: flex;
    flex-direction: column
}

@media screen and (max-width: 767px) {
    .p-use__items-item-order {
        margin-inline-start: .5rem
    }
}

.p-use__items-item-order-step {
    font-size: max(.875rem, 11.2px);
    font-weight: 700;
    line-height: 1
}

@media screen and (max-width: 767px) {
    .p-use__items-item-order-step {
        font-size: .875rem
    }
}

.p-use__items-item-order-number {
    font-family: Roboto, sans-serif;
    font-size: max(2rem, 25.6px);
    font-weight: 700;
    line-height: 1
}

@media screen and (max-width: 767px) {
    .p-use__items-item-order-number {
        font-size: 2rem
    }
}

.p-use__items-item-order-deco {
    align-items: center;
    display: flex;
    gap: .25rem
}

.p-use__items-item-order-deco span.dot, .p-use__items-item-order-deco span.line {
    background: currentColor;
    display: block;
    height: .25rem
}

.p-use__items-item-order-deco span.dot {
    border-radius: 50%;
    width: .25rem
}

.p-use__items-item-order-deco span.line {
    border-radius: .25rem;
    width: 1.6875rem
}

.p-use__items-item-image {
    aspect-ratio: 278/323;
    height: auto;
    margin-inline: auto;
    width: 17.375rem
}

@media screen and (max-width: 767px) {
    .p-use__items-item-image {
        aspect-ratio: 216/251;
        margin-block-start: -1.375rem;
        width: 13.5rem
    }

    .p-use__items-item-image.--3 {
        aspect-ratio: 278/200;
        width: 17.375rem
    }
}

.p-use__items-item-text {
    color: #fff;
    font-size: max(1.125rem, 14.4px);
    font-weight: 700;
    line-height: 1.7;
    margin-block-start: 1.25rem
}

@media screen and (max-width: 767px) {
    .p-use__items-item-text {
        font-size: 1.125rem;
        margin-block-start: .5625rem
    }

    .p-use__items-item-text.--small {
        font-size: max(.9375rem, 12px)
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .p-use__items-item-text.--small {
        font-size: .9375rem
    }
}

.p-review {
    background: url(../img/result-bg.webp) repeat-y center top/cover
}

@media screen and (max-width: 767px) {
    .p-review {
        background-image: url(../img/result-bg-sp.webp)
    }
}

.p-review__title {
    aspect-ratio: 482/92;
    height: auto;
    margin-block-start: 9.125rem;
    width: 13.1875rem
}

@media screen and (max-width: 767px) {
    .p-review__title {
        aspect-ratio: 297/63;
        height: auto;
        margin-block-start: 4.125rem;
        width: 10.375rem
    }
}

.p-review__items {
    display: flex;
    gap: 1.5rem;
    margin-block-start: 4.125rem;
    padding-block-end: 9rem
}

@media screen and (max-width: 767px) {
    .p-review__items {
        flex-direction: column;
        gap: 2rem;
        margin-block-start: 2.5625rem;
        padding-block-end: 4rem
    }
}

.p-review__items-item {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .8s ease, transform .8s ease;
    width: 32800%
}

.p-review__items-item.is-visible {
    opacity: 1;
    transform: translateY(0)
}

@media screen and (max-width: 767px) {
    .p-review__items-item {
        width: 100%
    }
}

.p-review__items-item-wrap {
    background: #fff;
    border: .125rem solid #000;
    border-radius: .75rem;
    box-shadow: .125rem .125rem 0 0 #000;
    padding: 1.5rem;
    position: relative;
    z-index: 0
}

.p-review__items-item-wrap::before {
    background: #000;
    bottom: -1.25rem;
    left: calc(50% - .5625rem);
    width: 1.25rem;
    z-index: -1
}

.p-review__items-item-wrap::after, .p-review__items-item-wrap::before {
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    content: "";
    height: 1.25rem;
    position: absolute
}

.p-review__items-item-wrap::after {
    background: #fff;
    bottom: -.875rem;
    left: calc(50% - .5rem);
    width: 1rem
}

@media screen and (max-width: 767px) {
    .p-review__items-item-wrap {
        padding: 1.5rem 1rem
    }
}

.p-review__items-item-wrap-head {
    font-weight: 700;
    line-height: 1.6;
    text-align: center
}

@media screen and (max-width: 767px) {
    .p-review__items-item-wrap-head {
        font-size: max(1.25rem, 16px);
        letter-spacing: .04em
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .p-review__items-item-wrap-head {
        font-size: 1.25rem
    }
}

@media (min-width: 768px) and (max-width: 849px) {
    .p-review__items-item-wrap-head {
        font-size: max(1.125rem, 14.4px)
    }
}

@media screen and (min-width: 768px) and (max-width: 849px) and (max-width: 767px) {
    .p-review__items-item-wrap-head {
        font-size: 1.125rem
    }
}

@media (min-width: 850px) {
    .p-review__items-item-wrap-head {
        font-size: max(1.25rem, 16px)
    }
}

@media screen and (min-width: 850px) and (max-width: 767px) {
    .p-review__items-item-wrap-head {
        font-size: 1.25rem
    }
}

.p-review__items-item-wrap-head span.accent {
    color: #ed254e
}

.p-review__items-item-wrap-text {
    margin-block-start: 1rem
}

@media screen and (max-width: 767px) {
    .p-review__items-item-wrap-text {
        font-size: max(.9375rem, 12px);
        line-height: 1.8;
        margin-block-start: .5rem;
        padding-inline: .5rem
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .p-review__items-item-wrap-text {
        font-size: .9375rem
    }
}

@media (min-width: 768px) and (max-width: 849px) {
    .p-review__items-item-wrap-text {
        font-size: max(.875rem, 11.2px)
    }
}

@media screen and (min-width: 768px) and (max-width: 849px) and (max-width: 767px) {
    .p-review__items-item-wrap-text {
        font-size: .875rem
    }
}

@media (min-width: 850px) {
    .p-review__items-item-wrap-text {
        font-size: max(1rem, 12.8px)
    }
}

@media screen and (min-width: 850px) and (max-width: 767px) {
    .p-review__items-item-wrap-text {
        font-size: 1rem
    }
}

.p-review__items-item-image {
    aspect-ratio: 1;
    border: .125rem solid #000;
    border-radius: 50%;
    height: auto;
    margin-block-start: 2.375rem;
    margin-inline: auto;
    width: 15rem
}

@media screen and (max-width: 767px) {
    .p-review__items-item-image {
        margin-block-start: 1.5rem
    }
}

.p-faq {
    background-color: #1b95d4;
    padding-block: 9.1875rem 9rem
}

@media screen and (max-width: 767px) {
    .p-faq {
        padding-block: 5rem
    }
}

.p-faq__title {
    aspect-ratio: 340/50;
    height: auto;
    width: 18.0625rem
}

@media screen and (max-width: 767px) {
    .p-faq__title {
        aspect-ratio: 338/58;
        height: auto;
        width: 14.375rem
    }
}

.p-faq__items {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-block-start: 4.0625rem
}

@media screen and (max-width: 767px) {
    .p-faq__items {
        gap: 2.375rem;
        margin-block-start: 2rem
    }
}

.p-faq__items-item {
    border: .125rem solid #000;
    border-radius: 1rem;
    box-shadow: .125rem .125rem 0 0 #000;
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .6s ease, transform .6s ease
}

.p-faq__items-item.is-visible {
    opacity: 1;
    transform: translateY(0)
}

.p-faq__items-item-question {
    background-color: #ffe109;
    border-radius: 1rem 1rem 0 0;
    font-weight: 700;
    line-height: 2;
    padding: 1.4375rem 2rem 1.4375rem 4.6875rem;
    position: relative
}

.p-faq__items-item-question:before {
    content: "Q.";
    font-family: Roboto, sans-serif;
    font-size: max(2rem, 25.6px);
    font-weight: 500;
    left: 2rem;
    position: absolute;
    top: .625rem
}

@media screen and (max-width: 767px) {
    .p-faq__items-item-question:before {
        font-size: 2rem
    }

    .p-faq__items-item-question {
        line-height: 1.7;
        padding: 1rem 1rem 1rem 2.75rem
    }

    .p-faq__items-item-question:before {
        font-size: max(1.5rem, 19.2px);
        left: 1rem
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .p-faq__items-item-question:before {
        font-size: 1.5rem
    }
}

.p-faq__items-item-answer {
    background-color: #fff;
    border-radius: 0 0 1rem 1rem;
    font-weight: 400;
    letter-spacing: .04em;
    line-height: 2;
    padding: 1.4375rem 2rem 1.8125rem 4.6875rem;
    position: relative
}

.p-faq__items-item-answer:before {
    content: "A.";
    font-family: Roboto, sans-serif;
    font-size: max(2rem, 25.6px);
    font-weight: 500;
    left: 2rem;
    position: absolute;
    top: .625rem
}

@media screen and (max-width: 767px) {
    .p-faq__items-item-answer:before {
        font-size: 2rem
    }

    .p-faq__items-item-answer {
        line-height: 1.7;
        padding: .75rem 1rem 1rem 2.75rem
    }

    .p-faq__items-item-answer:before {
        font-size: max(1.5rem, 19.2px);
        left: 1rem;
        top: .4375rem
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .p-faq__items-item-answer:before {
        font-size: 1.5rem
    }
}

@media (min-width: 768px) {
    .u-sp {
        display: none
    }
}

@media screen and (max-width: 767px) {
    .u-pc {
        display: none
    }
}

.u-visually-hidden {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}