@charset "UTF-8";

*,
:before,
:after {
    box-sizing: border-box
}

:where(:root) {
    font-family: sans-serif;
    line-height: 1.5;
    text-spacing-trim: trim-start;
    text-autospace: normal;
    line-break: strict;
    overflow-wrap: anywhere;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scrollbar-gutter: stable;
    -webkit-tap-highlight-color: transparent
}

:where(body) {
    min-block-size: 100dvb;
    margin: unset
}

:where(:is(h1, h2, h3, h4, h5, h6):lang(en)) {
    text-wrap: pretty
}

:where(h1) {
    margin-block: unset;
    font-size: unset
}

:where(h2, h3, h4, h5, h6) {
    margin-block: unset
}

:where(search) {
    display: block flow
}

:where(p, blockquote, figure, pre, address, ul, ol, dl, menu) {
    margin-block: unset
}

:where(blockquote, figure) {
    margin-inline: unset
}

:where(p:lang(en)) {
    text-wrap: pretty
}

:where(address:lang(ja)) {
    font-style: unset
}

:where(ul, ol, menu) {
    padding-inline-start: unset;
    list-style-type: ""
}

:where(dt) {
    font-weight: bolder
}

:where(dd) {
    margin-inline-start: unset
}

:where(pre) {
    text-spacing-trim: space-all;
    text-autospace: no-autospace
}

@media print {
    :where(pre) {
        text-wrap-mode: unset
    }
}

:where(em:lang(ja)) {
    font-weight: bolder
}

:where(:is(i, cite, em, dfn):lang(ja)) {
    font-style: unset
}

:where(u, s, del, ins) {
    text-decoration-inset: auto
}

:where(code, kbd, samp) {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
    font-feature-settings: initial;
    font-variation-settings: initial;
    font-size: unset;
    font-variant-ligatures: none
}

:where(abbr[title]) {
    text-decoration-line: underline;
    text-decoration-style: dotted;
    text-decoration-inset: auto;
    cursor: help
}

:where(time) {
    text-autospace: no-autospace
}

@media(forced-colors:active) {
    :where(mark) {
        background-color: Highlight;
        color: HighlightText
    }
}

@media print {
    :where(mark) {
        border-width: 1px;
        border-style: dotted
    }
}

:where(a) {
    color: unset
}

:where(a:any-link) {
    text-decoration-line: unset;
    text-decoration-thickness: from-font;
    text-decoration-inset: auto
}

:where(img, svg, picture, video, audio, canvas, model, iframe, embed, object) {
    max-inline-size: 100%;
    vertical-align: bottom
}

:where(img, svg, picture, video, canvas, model, iframe, embed, object) {
    block-size: auto
}

:where(iframe) {
    border: unset
}

:where(table) {
    border-collapse: collapse
}

:where(caption, th) {
    text-align: unset
}

:where(caption:lang(en)) {
    text-wrap: pretty
}

:where(button, input, select, textarea),
::file-selector-button {
    border-width: 1px;
    border-style: solid;
    border-color: unset;
    border-radius: unset;
    color: unset;
    font: unset;
    letter-spacing: unset;
    text-align: unset
}

:where(input:is([type=radio i], [type=checkbox i])) {
    margin: unset
}

:where(input[type=file i]) {
    border: unset
}

:where(input[type=search i]) {
    -webkit-appearance: textfield
}

@supports (-webkit-touch-callout: none) {
    :where(input[type=search i]) {
        background-color: Canvas
    }
}

:where(input:is([type=tel i], [type=url i], [type=email i], [type=number i]):not(:placeholder-shown)) {
    direction: ltr
}

:where(textarea) {
    margin-block: unset;
    resize: block
}

:where(input:not([type=button i], [type=submit i], [type=reset i]), textarea, [contenteditable]) {
    text-autospace: no-autospace
}

:where(button, input:is([type=button i], [type=submit i], [type=reset i])),
::file-selector-button {
    background-color: unset
}

:where(button, input:is([type=button i], [type=submit i], [type=reset i]), [role=tab i], [role=button i], [role=option i]),
::file-selector-button {
    touch-action: manipulation
}

:where(button:enabled, label[for], select:enabled, input:is([type=button i], [type=submit i], [type=reset i], [type=radio i], [type=checkbox i]):enabled, [role=tab i], [role=button i], [role=option i]),
:where(:enabled)::file-selector-button {
    cursor: pointer
}

:where(fieldset) {
    min-inline-size: 0;
    margin-inline: unset;
    padding: unset;
    border: unset
}

:where(legend) {
    padding-inline: unset
}

:where(progress) {
    vertical-align: unset
}

::placeholder {
    opacity: unset
}

:where(summary) {
    list-style-type: "";
    cursor: pointer
}

:where(summary)::-webkit-details-marker {
    display: none
}

:where(dialog, [popover]) {
    overscroll-behavior-block: contain;
    padding: unset;
    border: unset
}

:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
    display: none !important
}

:where(dialog) {
    max-inline-size: unset;
    max-block-size: unset
}

:where(dialog)::backdrop {
    background-color: #0000004d
}

:where([popover]) {
    margin: unset
}

:where(:focus-visible) {
    outline-offset: 3px
}

[tabindex="-1"]:focus {
    outline: none !important
}

:where(:disabled, [aria-disabled=true i]) {
    cursor: default
}

[hidden]:not([hidden=until-found i]) {
    display: none !important
}

body {
    background-color: #fff;
    color: #1a0c08;
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    line-height: 1.7;
    font-feature-settings: "palt"
}

a {
    color: inherit;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent
}

a:focus:not(:focus-visible),
a:active {
    text-decoration: none
}

.main-content {
    background-color: #f1f0f2;
    padding-block-end: 50px
}

:root {
    --site-header-h: 0px
}

:where([id]) {
    scroll-margin-top: var(--site-header-h)
}

html {
    scroll-behavior: smooth
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 1100;
    background-color: #f1f0f2;
    inline-size: 100%
}

.site-header__inner {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px 40px 0
}

@media(max-width:750px) {
    .site-header__inner {
        gap: calc(16 / 375 * 100vw);
        padding: 3.2vw calc(20 / 375 * 100vw) 0
    }
}

.site-header__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    inline-size: 100%;
    gap: 10px
}

.site-header__brand {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0
}

@media screen and (min-width:751px)and (max-width:1024px) {
    .site-header__brand {
        gap: 1.1111111111vw
    }
}

@media(max-width:750px) {
    .site-header__brand {
        gap: calc(16 / 375 * 100vw)
    }
}

.site-header__logo-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    transition: opacity .3s
}

@media(any-hover:hover) {
    .site-header__logo-link:hover {
        opacity: .7
    }
}

.site-header__logo {
    display: block;
    inline-size: 180px;
    block-size: auto
}

@media(max-width:750px) {
    .site-header__logo {
        inline-size: calc(115 / 375 * 100vw)
    }
}

.site-header__cross {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 16px;
    block-size: 16px;
    color: #1a0c08
}

@media(max-width:750px) {
    .site-header__cross {
        inline-size: calc(16 / 375 * 100vw);
        block-size: calc(16 / 375 * 100vw)
    }
}

.site-header__cross svg {
    inline-size: 100%;
    block-size: 100%
}

.site-header__partner {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: inherit;
    transition: opacity .3s
}

@media(max-width:750px) {
    .site-header__partner {
        gap: calc(8 / 375 * 100vw)
    }
}

@media(any-hover:hover) {
    .site-header__partner:hover {
        opacity: .7
    }
}

.site-header__partner:focus-visible {
    opacity: .7
}

.site-header__partner-logo {
    display: block;
    inline-size: 94px;
    block-size: auto
}

@media(max-width:750px) {
    .site-header__partner-logo {
        inline-size: calc(71 / 375 * 100vw)
    }
}

.site-header__nav {
    display: flex;
    align-items: center;
    gap: 32px
}

@media screen and (min-width:751px)and (max-width:1024px) {
    .site-header__nav {
        gap: 2.2222222222vw
    }
}

@media(max-width:1024px) {
    .site-header__nav {
        display: none
    }
}

.site-header__list {
    display: flex;
    align-items: center;
    gap: 28px;
    list-style: none;
    margin: 0;
    padding: 0
}

@media screen and (min-width:751px)and (max-width:1024px) {
    .site-header__list {
        gap: 1.9444444444vw
    }
}

.site-header__item {
    display: inline-flex
}

.site-header__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-block: 8px;
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5;
    color: #20174d;
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s ease
}

.site-header__link:after {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block-end: 0;
    block-size: 1px;
    background-color: #700018;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .3s ease
}

.site-header__link:hover,
.site-header__link:focus-visible {
    color: #700018
}

.site-header__link:hover:after,
.site-header__link:focus-visible:after {
    transform: scaleX(1)
}

.site-header__link:not(:hover):not(:focus-visible):after {
    transform-origin: right center
}

@media(prefers-reduced-motion:reduce) {

    .site-header__link,
    .site-header__link:after {
        transition: none
    }
}

@media screen and (min-width:751px)and (max-width:1024px) {
    .site-header__tab-wrap {
        display: flex;
        justify-content: space-between;
        gap: 30px
    }
}

@media(min-width:1025px) {
    .site-header__tab-wrap {
        display: none
    }
}

.site-header__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 24px;
    border-radius: 4px;
    background-image: linear-gradient(to bottom, #700018 25%, #570013);
    color: #fff;
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 0 8px #08002e1a;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition: box-shadow .25s ease
}

.site-header__cta:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    border-radius: inherit;
    background-image: linear-gradient(to bottom, #8a001e 25%, #700018);
    opacity: 0;
    transition: opacity .25s ease
}

.site-header__cta:hover,
.site-header__cta:focus-visible {
    box-shadow: 0 2px 12px #08002e66
}

.site-header__cta:hover:before,
.site-header__cta:focus-visible:before {
    opacity: 1
}

@media(prefers-reduced-motion:reduce) {

    .site-header__cta,
    .site-header__cta:before {
        transition: none
    }
}

.site-header__cta:hover,
.site-header__cta:focus-visible {
    box-shadow: 0 0 8px #08002e66
}

@media(max-width:1024px) {
    .site-header__cta {
        display: none
    }
}

.site-header__divider {
    inline-size: 100%;
    block-size: 1px;
    background-color: #20174d
}

.site-footer {
    background-color: #20174d;
    color: #fff;
    text-align: center
}

.site-footer__copyright {
    margin: 0;
    padding-block: 16px;
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-size: 14px;
    line-height: 1.5
}

@media(max-width:750px) {
    .site-footer__copyright {
        padding-block: 3.2vw;
        font-size: 3.2vw
    }
}

.c-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 32px;
    border-radius: 9999px;
    background-color: #700018;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease
}

@media(any-hover:hover) {
    .c-button:hover {
        text-decoration: none;
        opacity: .9
    }
}

.c-btn-nav-menu {
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background-color: transparent;
    color: #20174d;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: opacity .2s ease
}

@media(max-width:1024px) {
    .c-btn-nav-menu {
        display: inline-flex;
        inline-size: 34px;
        block-size: 34px
    }
}

@media(max-width:750px) {
    .c-btn-nav-menu {
        inline-size: calc(34 / 375 * 100vw);
        block-size: calc(34 / 375 * 100vw)
    }
}

.c-btn-nav-menu:focus-visible {
    opacity: .7
}

.c-btn-nav-menu__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 100%;
    block-size: 100%
}

.c-btn-nav-menu__icon svg {
    inline-size: 100%;
    block-size: 100%
}

.c-btn-nav-menu__icon--open {
    display: inline-flex
}

.c-btn-nav-menu__icon--close,
.c-btn-nav-menu[aria-expanded=true] .c-btn-nav-menu__icon--open {
    display: none
}

.c-btn-nav-menu[aria-expanded=true] .c-btn-nav-menu__icon--close {
    display: inline-flex
}

.c-btn-pagetop {
    position: fixed;
    z-index: 800;
    inset-block-end: 70px;
    inset-inline-end: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 60px;
    block-size: 60px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background-image: linear-gradient(to bottom, #20174d 25%, #08002e);
    color: #fff;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    opacity: 0;
    pointer-events: none;
    box-shadow: 0 2px 12px #08002e1a;
    overflow: hidden;
    isolation: isolate;
    transition: opacity .3s ease, box-shadow .25s ease
}

@media(max-width:750px) {
    .c-btn-pagetop {
        inset-block-end: calc(55 / 375 * 100vw);
        inset-inline-end: calc(20 / 375 * 100vw);
        inline-size: 12.8vw;
        block-size: 12.8vw;
        border-radius: calc(8 / 375 * 100vw)
    }
}

.c-btn-pagetop:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    border-radius: inherit;
    background-image: linear-gradient(to bottom, #342771 25%, #20174d);
    opacity: 0;
    transition: opacity .25s ease
}

.c-btn-pagetop.is-visible {
    opacity: 1;
    pointer-events: auto
}

.c-btn-pagetop:hover,
.c-btn-pagetop:focus-visible {
    box-shadow: 0 2px 12px #08002e66
}

.c-btn-pagetop:hover:before,
.c-btn-pagetop:focus-visible:before {
    opacity: 1
}

.c-btn-pagetop__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 28px;
    block-size: 28px
}

@media(max-width:750px) {
    .c-btn-pagetop__icon {
        inline-size: 6.4vw;
        block-size: 6.4vw
    }
}

.c-btn-pagetop__icon svg {
    inline-size: 100%;
    block-size: 100%
}

@media(prefers-reduced-motion:reduce) {
    .c-btn-pagetop {
        transition: opacity .15s ease
    }

    .c-btn-pagetop:before {
        transition: none
    }
}

.c-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border-radius: 8px;
    background-image: linear-gradient(to bottom, #700018 25%, #570013);
    text-decoration: none;
    box-shadow: 0 2px 12px #08002e1a;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition: box-shadow .25s ease
}

.c-btn-primary:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    border-radius: inherit;
    background-image: linear-gradient(to bottom, #8a001e 25%, #700018);
    opacity: 0;
    transition: opacity .25s ease
}

.c-btn-primary:hover,
.c-btn-primary:focus-visible {
    box-shadow: 0 2px 12px #08002e66
}

.c-btn-primary:hover:before,
.c-btn-primary:focus-visible:before {
    opacity: 1
}

@media(prefers-reduced-motion:reduce) {

    .c-btn-primary,
    .c-btn-primary:before {
        transition: none
    }
}

@media(max-width:750px) {
    .c-btn-primary {
        padding: calc(8 / 375 * 100vw);
        border-radius: calc(8 / 375 * 100vw)
    }
}

.c-btn-primary__inner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 16px 80px;
    border: 1px solid #face00
}

@media(max-width:750px) {
    .c-btn-primary__inner {
        gap: calc(4 / 375 * 100vw);
        padding: 3.2vw calc(40 / 375 * 100vw);
        inline-size: 100%
    }
}

.c-btn-primary__label {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.5;
    color: #fff;
    white-space: nowrap
}

@media(max-width:750px) {
    .c-btn-primary__label {
        font-size: 4.8vw
    }
}

.c-btn-primary__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 28px;
    block-size: 28px;
    color: #fff
}

@media(max-width:750px) {
    .c-btn-primary__icon {
        inline-size: calc(20 / 375 * 100vw);
        block-size: calc(20 / 375 * 100vw)
    }
}

.c-btn-primary__icon svg {
    inline-size: 100%;
    block-size: 100%
}

.c-btn-cta-hero {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 460px;
    padding: 12px;
    border-radius: 8px;
    background-image: linear-gradient(to bottom, #700018 25%, #570013);
    text-decoration: none;
    box-shadow: 0 2px 12px #08002e1a;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition: box-shadow .25s ease
}

.c-btn-cta-hero:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    border-radius: inherit;
    background-image: linear-gradient(to bottom, #8a001e 25%, #700018);
    opacity: 0;
    transition: opacity .25s ease
}

.c-btn-cta-hero:hover,
.c-btn-cta-hero:focus-visible {
    box-shadow: 0 2px 12px #08002e66
}

.c-btn-cta-hero:hover:before,
.c-btn-cta-hero:focus-visible:before {
    opacity: 1
}

@media(prefers-reduced-motion:reduce) {

    .c-btn-cta-hero,
    .c-btn-cta-hero:before {
        transition: none
    }
}

@media(min-width:751px)and (max-width:1024px) {
    .c-btn-cta-hero {
        inline-size: calc(460 / 1025 * 100vw);
        padding: calc(12 / 1025 * 100vw);
        border-radius: calc(8 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .c-btn-cta-hero {
        inline-size: 100%;
        padding: calc(7 / 375 * 100vw) calc(8 / 375 * 100vw);
        border-radius: calc(8 / 375 * 100vw)
    }
}

.c-btn-cta-hero__inner {
    display: flex;
    flex-direction: column;
    flex: 1 1 0%;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 14px 40px;
    border: 1px solid #face00
}

@media(min-width:751px)and (max-width:1024px) {
    .c-btn-cta-hero__inner {
        padding: calc(14 / 1025 * 100vw) calc(40 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .c-btn-cta-hero__inner {
        gap: 0;
        padding: calc(4 / 375 * 100vw);
        flex-direction: row
    }
}

.c-btn-cta-hero__minutes {
    transform: translateY(-5px);
    font-family: EB Garamond, Times New Roman, Garamond, serif;
    font-weight: 700;
    font-style: italic;
    font-size: 48px;
    line-height: 1;
    background: linear-gradient(90deg, #face00, #fffbd0 25%, #ca9a0c 60%, #f2e08b 85%, #fffbd0);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent
}

@media(min-width:751px)and (max-width:1024px) {
    .c-btn-cta-hero__minutes {
        transform: translateY(calc(-5 / 1025 * 100vw));
        font-size: calc(48 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .c-btn-cta-hero__minutes {
        font-size: calc(38 / 375 * 100vw)
    }
}

.c-btn-cta-hero__unit-wrap {
    display: inline-flex;
    align-items: center;
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 28px;
    line-height: 1.25
}

@media(min-width:751px)and (max-width:1024px) {
    .c-btn-cta-hero__unit-wrap {
        font-size: calc(28 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .c-btn-cta-hero__unit-wrap {
        font-size: calc(20 / 375 * 100vw);
        padding-block-start: calc(4 / 375 * 100vw)
    }
}

.c-btn-cta-hero__unit {
    background: linear-gradient(90deg, #face00, #fffbd0 25%, #ca9a0c 60%, #f2e08b 85%, #fffbd0);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent
}

.c-btn-cta-hero__lead {
    color: #fff
}

.c-btn-cta-hero__action {
    display: inline-flex;
    align-items: center;
    gap: 4px
}

@media(min-width:751px)and (max-width:1024px) {
    .c-btn-cta-hero__action {
        gap: calc(4 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .c-btn-cta-hero__action {
        gap: calc(4 / 375 * 100vw);
        padding-block-start: calc(4 / 375 * 100vw)
    }
}

.c-btn-cta-hero__main {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 1.25;
    color: #fff;
    white-space: nowrap
}

@media(min-width:751px)and (max-width:1024px) {
    .c-btn-cta-hero__main {
        font-size: calc(32 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .c-btn-cta-hero__main {
        font-size: calc(20 / 375 * 100vw)
    }
}

.c-btn-cta-hero__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 32px;
    block-size: 32px;
    color: #fff
}

@media(min-width:751px)and (max-width:1024px) {
    .c-btn-cta-hero__icon {
        inline-size: calc(32 / 1025 * 100vw);
        block-size: calc(32 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .c-btn-cta-hero__icon {
        inline-size: 4.8vw;
        block-size: 4.8vw
    }
}

.c-btn-cta-hero__icon svg {
    inline-size: 100%;
    block-size: 100%
}

.c-btn-cta-documentation {
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 100%;
    padding: 12px;
    border-radius: 8px;
    background-image: linear-gradient(to bottom, #700018 25%, #570013);
    text-decoration: none;
    box-shadow: 0 2px 12px #08002e1a;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition: box-shadow .25s ease
}

.c-btn-cta-documentation:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    border-radius: inherit;
    background-image: linear-gradient(to bottom, #8a001e 25%, #700018);
    opacity: 0;
    transition: opacity .25s ease
}

.c-btn-cta-documentation:hover,
.c-btn-cta-documentation:focus-visible {
    box-shadow: 0 2px 12px #08002e66
}

.c-btn-cta-documentation:hover:before,
.c-btn-cta-documentation:focus-visible:before {
    opacity: 1
}

@media(prefers-reduced-motion:reduce) {

    .c-btn-cta-documentation,
    .c-btn-cta-documentation:before {
        transition: none
    }
}

@media(max-width:750px) {
    .c-btn-cta-documentation {
        padding: calc(10 / 375 * 100vw) calc(8 / 375 * 100vw);
        border-radius: calc(8 / 375 * 100vw)
    }
}

.c-btn-cta-documentation__inner {
    display: flex;
    flex: 1 1 0%;
    align-items: center;
    justify-content: center;
    gap: 28px;
    padding: 12px 40px 28px;
    border: 1px solid #face00
}

@media(max-width:750px) {
    .c-btn-cta-documentation__inner {
        gap: 3.2vw;
        padding: calc(8 / 375 * 100vw) calc(22 / 375 * 100vw) calc(20 / 375 * 100vw)
    }
}

.c-btn-cta-documentation__doctor-icon {
    display: inline-flex;
    align-items: center;
    inline-size: 124px;
    block-size: 110px;
    flex-shrink: 0;
    padding-block-start: 10px
}

@media(max-width:750px) {
    .c-btn-cta-documentation__doctor-icon {
        inline-size: 19.2vw;
        block-size: calc(68 / 375 * 100vw);
        padding-block-start: calc(8 / 375 * 100vw)
    }
}

.c-btn-cta-documentation__doctor-icon img,
.c-btn-cta-documentation__doctor-icon svg {
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain
}

@media(max-width:750px) {
    .c-btn-cta-documentation__action {
        gap: calc(2 / 375 * 100vw)
    }
}

.c-btn-cta-documentation__minutes {
    font-family: EB Garamond, Times New Roman, Garamond, serif;
    font-weight: 700;
    font-style: italic;
    font-size: 80px;
    line-height: 1;
    background: linear-gradient(90deg, #face00, #fffbd0 25%, #ca9a0c 60%, #f2e08b 85%, #fffbd0);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent
}

@media(max-width:750px) {
    .c-btn-cta-documentation__minutes {
        font-size: calc(44 / 375 * 100vw);
        transform: translateY(-4px)
    }
}

.c-btn-cta-documentation__unit-wrap {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.25;
    padding-block-start: 20px
}

@media(max-width:750px) {
    .c-btn-cta-documentation__unit-wrap {
        font-size: 4.8vw;
        padding-block-start: calc(10 / 375 * 100vw)
    }
}

.c-btn-cta-documentation__unit {
    background: linear-gradient(90deg, #face00, #fffbd0 25%, #ca9a0c 60%, #f2e08b 85%, #fffbd0);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent
}

.c-btn-cta-documentation__lead {
    color: #fff
}

.c-btn-cta-documentation__action-wrap {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    transform: translateY(.4em)
}

.c-btn-cta-documentation__main-wrap {
    display: inline-flex;
    align-items: center;
    gap: 4px
}

@media(max-width:750px) {
    .c-btn-cta-documentation__main-wrap {
        gap: calc(4 / 375 * 100vw)
    }
}

.c-btn-cta-documentation__main {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 40px;
    line-height: 1.25;
    color: #fff;
    white-space: nowrap
}

@media(max-width:750px) {
    .c-btn-cta-documentation__main {
        font-size: calc(20 / 375 * 100vw);
        letter-spacing: .08em
    }
}

.c-btn-cta-documentation__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 40px;
    block-size: 40px;
    color: #fff
}

@media(max-width:750px) {
    .c-btn-cta-documentation__icon {
        inline-size: calc(20 / 375 * 100vw);
        block-size: calc(20 / 375 * 100vw)
    }
}

.c-btn-cta-documentation__icon svg {
    inline-size: 100%;
    block-size: 100%
}

.c-drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility 0s linear .3s
}

.c-drawer[aria-hidden=false] {
    opacity: 1;
    visibility: visible;
    transition: opacity .3s ease, visibility 0s linear 0s
}

@media(min-width:1025px) {
    .c-drawer {
        display: none
    }
}

.c-drawer__overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #1a0c08cc;
    mix-blend-mode: multiply;
    cursor: pointer;
    border: 0;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.c-drawer__panel {
    position: absolute;
    inset-block-start: var(--site-header-h, calc(66 / 375 * 100vw));
    inset-inline: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(32 / 375 * 100vw);
    padding: calc(16 / 375 * 100vw) calc(20 / 375 * 100vw) calc(32 / 375 * 100vw);
    background-color: #f1f0f2;
    box-shadow: 0 2px 8px #08002e33
}

@media screen and (min-width:751px)and (max-width:1024px) {
    .c-drawer__panel {
        inset-block-start: var(--site-header-h, 80px);
        gap: 32px;
        padding: 16px 20px 32px
    }
}

.c-drawer__nav {
    inline-size: 100%
}

.c-drawer__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column
}

.c-drawer__item {
    inline-size: 100%;
    border-bottom: 1px solid #cac7da
}

.c-drawer__link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-block: 6.4vw;
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 4.8vw;
    line-height: 1.5;
    color: #20174d;
    text-decoration: none;
    text-align: center
}

@media screen and (min-width:751px)and (max-width:1024px) {
    .c-drawer__link {
        padding-block: 24px;
        font-size: 18px
    }
}

.c-drawer__link:focus-visible {
    text-decoration: underline
}

.c-drawer__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 100%;
    padding: calc(16 / 375 * 100vw) 6.4vw;
    border-radius: calc(4 / 375 * 100vw);
    background: linear-gradient(to bottom, #700018 25%, #570013);
    color: #fff;
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 4.8vw;
    line-height: 1.5;
    text-decoration: none;
    box-shadow: 0 0 4px #08002e1a;
    transition: opacity .2s ease
}

@media screen and (min-width:751px)and (max-width:1024px) {
    .c-drawer__cta {
        padding: 16px 24px;
        border-radius: 4px;
        font-size: 18px
    }
}

.c-drawer__cta:focus-visible {
    opacity: .85
}

.is-drawer-open {
    overflow: hidden
}

@media(prefers-reduced-motion:reduce) {
    .c-drawer {
        transition: opacity .2s ease, visibility 0s linear .2s
    }

    .c-drawer[aria-hidden=false] {
        transition: opacity .2s ease, visibility 0s linear 0s
    }
}

.c-ttl-primary {
    display: flex;
    flex-direction: column;
    gap: 20px
}

@media(max-width:750px) {
    .c-ttl-primary {
        gap: calc(4 / 375 * 100vw)
    }
}

.c-ttl-primary__hr {
    inline-size: 100%;
    block-size: 1px;
    background-color: #20174d
}

.c-ttl-primary__row {
    display: flex;
    align-items: flex-start
}

@media(max-width:750px) {
    .c-ttl-primary__row {
        flex-direction: column;
        align-items: flex-start;
        gap: calc(8 / 375 * 100vw)
    }
}

.c-ttl-primary__eyebrow {
    display: inline-flex;
    align-items: center;
    padding-block-start: 8px;
    inline-size: 116px;
    font-family: EB Garamond, Times New Roman, Garamond, serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.4;
    color: #20174d;
    flex-shrink: 0
}

@media(max-width:750px) {
    .c-ttl-primary__eyebrow {
        inline-size: 100%;
        padding-block-start: calc(8 / 375 * 100vw);
        font-size: calc(20 / 375 * 100vw)
    }
}

.c-ttl-primary__heading {
    flex: 1 1 0%;
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 52px;
    line-height: 1.25;
    letter-spacing: .054em;
    color: #20174d
}

@media(max-width:750px) {
    .c-ttl-primary__heading {
        font-size: 9.6vw;
        letter-spacing: .03em
    }
}

.c-ttl-primary__sub {
    font-size: 39px
}

@media(max-width:750px) {
    .c-ttl-primary__sub {
        font-size: calc(27 / 375 * 100vw)
    }
}

.c-ttl-secondary {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 44px;
    line-height: 1.4;
    color: #700018
}

@media(max-width:750px) {
    .c-ttl-secondary {
        font-size: calc(28 / 375 * 100vw)
    }
}

.c-ttl-secondary--center {
    text-align: center
}

.c-txt-paragraph {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 400;
    font-size: 22px;
    line-height: 1.9;
    letter-spacing: .02em;
    color: #1a0c08
}

@media(max-width:750px) {
    .c-txt-paragraph {
        line-height: 1.75;
        font-size: 4vw
    }
}

.c-txt-paragraph--bold {
    font-weight: 600;
    font-size: 30px;
    line-height: 1.5;
    letter-spacing: .05em
}

@media(max-width:750px) {
    .c-txt-paragraph--bold {
        font-size: 4.8vw
    }
}

.c-txt-paragraph--center {
    text-align: center
}

.c-badge-hero {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 100px 2px 32px;
    background: linear-gradient(to right, #20174d, #20174d 20%, #20174d00);
    color: #fff
}

@media(min-width:751px)and (max-width:1024px) {
    .c-badge-hero {
        gap: calc(4 / 1025 * 100vw);
        padding: 0 calc(100 / 1025 * 100vw) calc(2 / 1025 * 100vw) calc(32 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .c-badge-hero {
        gap: calc(4 / 375 * 100vw);
        padding: 0 3.2vw
    }
}

.c-badge-hero__label {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 800;
    font-size: 28px;
    line-height: 1.5;
    letter-spacing: .05em;
    white-space: nowrap
}

@media(min-width:751px)and (max-width:1024px) {
    .c-badge-hero__label {
        font-size: calc(28 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .c-badge-hero__label {
        font-size: calc(14 / 375 * 100vw)
    }
}

.c-badge-hero__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-block-end: 6px;
    font-family: EB Garamond, Times New Roman, Garamond, serif;
    font-weight: 700;
    font-style: italic;
    font-size: 56px;
    line-height: 1;
    background: linear-gradient(90deg, #face00, #fffbd0 25%, #ca9a0c 60%, #f2e08b 85%, #fffbd0);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    white-space: nowrap
}

@media(min-width:751px)and (max-width:1024px) {
    .c-badge-hero__number {
        padding-block-end: calc(6 / 1025 * 100vw);
        font-size: calc(56 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .c-badge-hero__number {
        padding-block-end: calc(4 / 375 * 100vw);
        font-size: calc(28 / 375 * 100vw)
    }
}

.c-feature-icon {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    inline-size: 112px;
    block-size: 112px;
    padding: 8px;
    background-color: #fff;
    box-shadow: 0 2px 12px #08002e26
}

@media(max-width:750px) {
    .c-feature-icon {
        inline-size: calc(88 / 375 * 100vw);
        block-size: calc(88 / 375 * 100vw);
        padding: calc(8 / 375 * 100vw)
    }
}

.c-feature-icon__inner {
    display: flex;
    flex: 1 1 0%;
    flex-direction: column;
    align-items: center;
    inline-size: 100%;
    padding: 22px 8px 12px;
    border: 1px solid #20174d
}

@media(max-width:750px) {
    .c-feature-icon__inner {
        padding: calc(22 / 375 * 100vw) calc(8 / 375 * 100vw) 3.2vw
    }
}

.c-feature-icon__label {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 800;
    font-size: 14px;
    line-height: 1.4;
    color: #20174d;
    text-align: center
}

@media(max-width:750px) {
    .c-feature-icon__label {
        font-size: 3.2vw
    }
}

.c-feature-icon__value {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 800;
    font-size: 30px;
    line-height: 1;
    color: #20174d;
    text-align: center
}

@media(max-width:750px) {
    .c-feature-icon__value {
        font-size: 6.4vw
    }
}

.c-feature-icon__badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translate(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 8px 13px;
    border-radius: 20px;
    background-color: #20174d
}

@media(max-width:750px) {
    .c-feature-icon__badge {
        top: calc(-8 / 375 * 100vw);
        padding: 2.4vw 1.6vw calc(11 / 375 * 100vw);
        border-radius: 4.8vw
    }
}

.c-feature-icon__badge-text {
    display: inline-block;
    font-family: EB Garamond, Times New Roman, Garamond, serif;
    font-weight: 700;
    font-style: italic;
    font-size: 18px;
    line-height: 1;
    background: linear-gradient(90deg, #face00, #fffbd0 25%, #ca9a0c 60%, #f2e08b 85%, #fffbd0);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent
}

@media(max-width:750px) {
    .c-feature-icon__badge-text {
        font-size: calc(16 / 375 * 100vw)
    }
}

.c-logo-strip {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 50px;
    inline-size: 100%
}

@media(max-width:750px) {
    .c-logo-strip {
        gap: calc(32 / 375 * 100vw)
    }
}

.c-logo-strip__row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px
}

@media(max-width:750px) {
    .c-logo-strip__row {
        gap: calc(20 / 375 * 100vw)
    }
}

.c-logo-strip__item {
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.c-logo-strip__item--carenet {
    inline-size: 169px
}

@media(max-width:750px) {
    .c-logo-strip__item--carenet {
        inline-size: calc(108 / 375 * 100vw)
    }
}

.c-logo-strip__item--academia {
    inline-size: 237px
}

@media(max-width:750px) {
    .c-logo-strip__item--academia {
        inline-size: calc(154 / 375 * 100vw)
    }
}

.c-logo-strip__item--carenetv {
    inline-size: 182px
}

@media(max-width:750px) {
    .c-logo-strip__item--carenetv {
        inline-size: calc(116 / 375 * 100vw)
    }
}

.c-logo-strip__item--carenetvschool {
    inline-size: 110px
}

@media(max-width:750px) {
    .c-logo-strip__item--carenetvschool {
        inline-size: calc(70 / 375 * 100vw)
    }
}

.c-logo-strip__item img {
    display: block;
    inline-size: 100%;
    block-size: auto
}

.c-card-problem {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    inline-size: 360px
}

@media(max-width:750px) {
    .c-card-problem {
        inline-size: 100%;
        gap: calc(8 / 375 * 100vw)
    }
}

.c-card-problem__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 52px;
    block-size: 58px;
    flex-shrink: 0
}

@media(max-width:750px) {
    .c-card-problem__icon {
        inline-size: 12.8vw;
        block-size: calc(53 / 375 * 100vw)
    }
}

.c-card-problem__icon img,
.c-card-problem__icon svg {
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain
}

.c-card-problem__body {
    flex: 1 1 0%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px 8px;
    background-color: #fff;
    border-radius: 8px;
    position: relative
}

@media(max-width:750px) {
    .c-card-problem__body {
        padding: calc(10 / 375 * 100vw) calc(8 / 375 * 100vw);
        border-radius: calc(8 / 375 * 100vw)
    }
}

.c-card-problem__body:before {
    position: absolute;
    top: 50%;
    left: -10px;
    transform: translateY(-50%);
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-right: 12px solid #ffffff;
    border-left: 0;
    pointer-events: none
}

.c-card-problem__text {
    flex: 1 1 0%;
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 28px;
    line-height: 1.5;
    color: #570013;
    text-align: center
}

@media(max-width:750px) {
    .c-card-problem__text {
        font-size: calc(22 / 375 * 100vw)
    }
}

.c-card-about {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 24px 32px 40px;
    background-color: #700018;
    color: #fff
}

@media(max-width:750px) {
    .c-card-about {
        gap: calc(16 / 375 * 100vw);
        padding: calc(20 / 375 * 100vw) calc(20 / 375 * 100vw) 6.4vw
    }
}

.c-card-about__header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    inline-size: 100%;
    padding-block-end: 12px;
    border-bottom: 1px solid #face00
}

@media(max-width:750px) {
    .c-card-about__header {
        gap: calc(8 / 375 * 100vw);
        padding-block-end: calc(10 / 375 * 100vw)
    }
}

.c-card-about__header-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 56px;
    block-size: 56px
}

@media(max-width:750px) {
    .c-card-about__header-icon {
        inline-size: calc(40 / 375 * 100vw);
        block-size: calc(40 / 375 * 100vw)
    }
}

.c-card-about__header-icon img,
.c-card-about__header-icon svg {
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain
}

.c-card-about__header-text {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 1.5;
    text-align: center
}

@media(max-width:750px) {
    .c-card-about__header-text {
        font-size: 6.4vw
    }
}

.c-card-about__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    inline-size: 100%
}

@media(max-width:750px) {
    .c-card-about__body {
        gap: calc(10 / 375 * 100vw)
    }
}

.c-card-about__lead {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 400;
    font-size: 28px;
    line-height: 1.5;
    text-align: center
}

@media(max-width:750px) {
    .c-card-about__lead {
        font-size: calc(20 / 375 * 100vw)
    }
}

.c-card-about__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 32px;
    block-size: 32px
}

@media(max-width:750px) {
    .c-card-about__arrow {
        inline-size: 6.4vw;
        block-size: 6.4vw
    }
}

.c-card-about__arrow svg {
    inline-size: 100%;
    block-size: 100%
}

.c-card-about__caption {
    inline-size: 100%;
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 400;
    font-size: 32px;
    line-height: 1.5;
    text-align: center
}

@media(max-width:750px) {
    .c-card-about__caption {
        font-size: calc(22 / 375 * 100vw)
    }
}

.c-card-about__highlight {
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 100%;
    padding-inline: 16px;
    background-image: linear-gradient(90deg, #face00, #fffbd0 25%, #ca9a0c 60%, #f2e08b 85%, #fffbd0);
    box-shadow: 0 2px 12px #21100b4d
}

@media(max-width:750px) {
    .c-card-about__highlight {
        padding-inline: 0;
        margin-block-start: calc(-4 / 375 * 100vw)
    }
}

.c-card-about__highlight-text {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 40px;
    line-height: 1.5;
    color: #570013;
    text-align: center
}

@media(max-width:750px) {
    .c-card-about__highlight-text {
        letter-spacing: -.02em;
        font-size: calc(27 / 375 * 100vw)
    }
}

.c-card-reason {
    display: flex;
    flex-direction: column;
    gap: 10px;
    inline-size: 100%;
    padding: 40px;
    background-color: #fff;
    box-shadow: 0 2px 12px #08002e4d
}

@media(max-width:750px) {
    .c-card-reason {
        block-size: auto;
        gap: 1.6vw;
        padding: calc(20 / 375 * 100vw)
    }
}

.c-card-reason__image {
    inline-size: 100%;
    block-size: auto;
    aspect-ratio: 720 / 406;
    overflow: hidden
}

@media(max-width:750px) {
    .c-card-reason__image {
        block-size: auto;
    }
}

.c-card-reason__image img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain;
    display: block
}

.c-card-reason__body {
    display: flex;
    flex-direction: column;
    gap: 8px
}

@media(max-width:750px) {
    .c-card-reason__body {
        gap: 1.6vw
    }
}

.c-card-reason__title {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 800;
    font-size: 26px;
    line-height: 1.5;
    color: #700018
}

@media(max-width:750px) {
    .c-card-reason__title {
        font-size: calc(20 / 375 * 100vw)
    }
}

.c-card-reason__text {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.5;
    color: #1a0c08
}

@media(max-width:750px) {
    .c-card-reason__text {
        font-size: calc(16 / 375 * 100vw)
    }
}

.c-card-faq {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    inline-size: 100%;
    padding: 32px 42px 40px;
    background-color: #fff;
    border: 1px solid #cac7da
}

@media(max-width:750px) {
    .c-card-faq {
        gap: 3.2vw;
        padding: calc(16 / 375 * 100vw) calc(16 / 375 * 100vw) 6.4vw
    }
}

.c-card-faq__question,
.c-card-faq__answer {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    inline-size: 100%
}

.c-card-faq__qa-mark {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    inline-size: 48px;
    padding-block-end: 8px;
    font-family: EB Garamond, Times New Roman, Garamond, serif;
    font-weight: 700;
    font-style: italic;
    line-height: 1;
    flex-shrink: 0
}

@media(max-width:750px) {
    .c-card-faq__qa-mark {
        inline-size: calc(32 / 375 * 100vw);
        padding-block-end: calc(4 / 375 * 100vw)
    }
}

.c-card-faq__qa-mark--q {
    color: #700018;
    font-size: 38px
}

@media(max-width:750px) {
    .c-card-faq__qa-mark--q {
        font-size: 6.4vw
    }
}

.c-card-faq__qa-mark--a {
    color: #473c39;
    font-size: 32px
}

@media(max-width:750px) {
    .c-card-faq__qa-mark--a {
        font-size: calc(22 / 375 * 100vw)
    }
}

.c-card-faq__text {
    flex: 1 1 0%;
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    line-height: 1.5;
    color: #1a0c08
}

.c-card-faq__text--question {
    font-weight: 600;
    font-size: 32px
}

@media(max-width:750px) {
    .c-card-faq__text--question {
        font-size: calc(22 / 375 * 100vw)
    }
}

.c-card-faq__text--answer {
    font-weight: 400;
    font-size: 24px
}

@media(max-width:750px) {
    .c-card-faq__text--answer {
        font-size: calc(16 / 375 * 100vw)
    }
}

.p-hero {
    position: relative;
    inline-size: 100%;
    background-color: #f1f0f2
}

@media(max-width:750px) {
    .p-hero:after {
        position: absolute;
        bottom: 4vw;
        left: 50%;
        transform: translate(-50%);
        inline-size: calc(100% - calc(40 / 375 * 100vw));
        block-size: 1px;
        background-color: #20174d;
        pointer-events: none;
        content: ""
    }
}

.p-hero__inner {
    position: relative;
    inline-size: 100%;
    max-inline-size: 1440px;
    margin-inline: auto;
    padding: 16px 40px 20px
}

@media(min-width:751px)and (max-width:1024px) {
    .p-hero__inner {
        padding: calc(16 / 1025 * 100vw) 40px calc(20 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .p-hero__inner {
        padding: 0
    }
}

.p-hero__inner:after {
    content: "";
    display: block;
    inline-size: 100%;
    block-size: 1px;
    background-color: #20174d;
    transform: translateY(20px);
    pointer-events: none
}

@media(min-width:751px)and (max-width:1024px) {
    .p-hero__inner:after {
        transform: translateY(calc(20 / 1025 * 100vw))
    }
}

.p-hero__container {
    background: url(/lp/dwibs-search/img/img_kv.png) right top no-repeat;
    background-size: auto 100%
}

@media(max-width:750px) {
    .p-hero__container {
        background: url(/lp/dwibs-search/img/img_kv_sp.png) right bottom calc(62 / 375 * 100vw) no-repeat;
        background-size: 100% auto;
        padding-inline: calc(20 / 375 * 100vw)
    }
}

.p-hero__main {
    position: relative;
    z-index: 2;
    inline-size: 625px;
    block-size: 669px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-block: 48px
}

@media(min-width:751px)and (max-width:1024px) {
    .p-hero__main {
        inline-size: calc(625 / 1025 * 100vw);
        block-size: calc(669 / 1025 * 100vw);
        padding-block: calc(48 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .p-hero__main {
        inline-size: 100%;
        block-size: 160vw;
        gap: 0;
        padding-block: calc(16 / 375 * 100vw) 8vw
    }
}

.p-hero__copy {
    display: flex;
    flex-direction: column;
    gap: 12px
}

@media(min-width:751px)and (max-width:1024px) {
    .p-hero__copy {
        gap: calc(12 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .p-hero__copy {
        gap: calc(4 / 375 * 100vw)
    }
}

.p-hero__headline {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 84px;
    line-height: 1.15;
    letter-spacing: -.005em;
    color: #20174d;
    margin-block: 5px 2px
}

@media(min-width:751px)and (max-width:1024px) {
    .p-hero__headline {
        font-size: calc(84 / 1025 * 100vw);
        margin-block: calc(5 / 1025 * 100vw) calc(2 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .p-hero__headline {
        font-size: calc(42 / 375 * 100vw);
        margin-block-start: calc(8 / 375 * 100vw)
    }
}

.p-hero__lead {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 30px;
    line-height: 1.5;
    letter-spacing: .05em;
    color: #20174d
}

@media(min-width:751px)and (max-width:1024px) {
    .p-hero__lead {
        font-size: calc(30 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .p-hero__lead {
        font-size: 4.8vw;
        letter-spacing: 0
    }
}

.p-hero__kv {
    position: absolute;
    top: 16px;
    right: 40px;
    inline-size: 816px;
    block-size: 669px;
    z-index: 1;
    overflow: hidden
}

@media(min-width:751px)and (max-width:1024px) {
    .p-hero__kv {
        top: calc(16 / 1025 * 100vw);
        right: calc(40 / 1025 * 100vw);
        inline-size: calc(816 / 1025 * 100vw);
        block-size: calc(669 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .p-hero__kv {
        position: relative;
        top: auto;
        right: auto;
        inline-size: calc(100% + calc(40 / 375 * 100vw));
        margin-inline: calc(-20 / 375 * 100vw);
        block-size: calc(262 / 375 * 100vw)
    }
}

.p-hero__kv img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.p-hero__features {
    position: absolute;
    right: 40px;
    top: 534px;
    z-index: 3;
    display: flex;
    inline-size: 384px;
    gap: 12px
}

@media(min-width:751px)and (max-width:1024px) {
    .p-hero__features {
        right: calc(40 / 1025 * 100vw);
        top: calc(534 / 1025 * 100vw);
        inline-size: calc(384 / 1025 * 100vw);
        gap: calc(12 / 1025 * 100vw)
    }
}

@media(max-width:750px) {
    .p-hero__features {
        position: relative;
        inline-size: 100%;
        top: -24vw;
        right: auto;
        justify-content: center;
        gap: calc(8 / 375 * 100vw)
    }
}

@media(min-width:751px)and (max-width:1024px) {
    .p-hero__feature-item {
        inline-size: calc(112 / 1025 * 100vw);
        block-size: calc(128 / 1025 * 100vw)
    }

    .p-hero__feature-item img {
        inline-size: 100%
    }
}

@media(max-width:750px) {
    .p-hero__feature-item {
        inline-size: calc(88 / 375 * 100vw);
        block-size: 25.6vw
    }

    .p-hero__feature-item img {
        inline-size: 100%
    }
}

.p-hero__cta {
    align-self: flex-start
}

@media(max-width:750px) {
    .p-hero__cta {
        align-self: stretch;
        inline-size: 100%
    }
}

.p-intro {
    inline-size: 100%;
    background-color: #f1f0f2
}

.p-intro__inner {
    inline-size: 100%;
    margin-inline: auto;
    padding-inline: 40px
}

@media screen and (min-width:1025px) {
    .p-intro__inner {
        max-inline-size: 1220px
    }
}

@media(max-width:750px) {
    .p-intro__inner {
        padding-inline: calc(20 / 375 * 100vw)
    }
}

.p-intro__inner {
    display: flex;
    align-items: stretch;
    gap: 40px;
    padding-block: 82px
}

@media(max-width:750px) {
    .p-intro__inner {
        align-items: center;
        flex-direction: column;
        gap: calc(20 / 375 * 100vw);
        padding-block: 4.8vw 12.8vw
    }
}

.p-intro__logos {
    padding: 80px 52px;
    max-inline-size: 552px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 50px 40px;
    border: 1px solid #cac7da;
    background-color: #fff;
    flex-shrink: .8
}

.p-intro__logos img {
    flex-shrink: 0
}

@media screen and (min-width:751px)and (max-width:1024px) {
    .p-intro__logos {
        padding: calc(80 / 1440 * 100vw) calc(52 / 1440 * 100vw)
    }
}

@media(max-width:750px) {
    .p-intro__logos {
        order: 2;
        inline-size: 100%;
        padding: calc(32 / 375 * 100vw) calc(24.5 / 375 * 100vw);
        gap: 0;
    }

    .p-intro__logos img.p-intro__logos-sp {
        inline-size: 100%;
        block-size: auto;
        display: block;
    }
}

.p-intro__body {
    max-inline-size: 536px;
    display: flex;
    flex-direction: column;
    gap: 12px
}

@media(max-width:750px) {
    .p-intro__body {
        gap: 8px;
        order: 1;
        inline-size: 100%
    }
}

@media(max-width:750px) {
    .p-intro__body .c-txt-paragraph {
        font-size: 4.8vw
    }
}

.p-problem {
    position: relative;
    inline-size: 100%;
    padding-block: 80px 96px;
    background-image: url(/lp/dwibs-search/img/bg_problem_pc.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden
}

@media(max-width:750px) {
    .p-problem {
        padding-block: calc(40 / 375 * 100vw) 12.8vw;
        background-image: url(/lp/dwibs-search/img/bg_problem_sp.jpg)
    }
}

.p-problem__inner {
    inline-size: 100%;
    margin-inline: auto;
    padding-inline: 40px
}

@media screen and (min-width:1025px) {
    .p-problem__inner {
        max-inline-size: 1220px
    }
}

@media(max-width:750px) {
    .p-problem__inner {
        padding-inline: calc(20 / 375 * 100vw)
    }
}

.p-problem__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px
}

@media(max-width:750px) {
    .p-problem__inner {
        gap: calc(10 / 375 * 100vw)
    }
}

.p-problem__heading {
    text-align: center;
    color: #fff;
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 40px;
    line-height: 1.4;
    letter-spacing: .05em
}

@media(max-width:750px) {
    .p-problem__heading {
        font-size: 6.4vw
    }
}

.p-problem__cards {
    margin-block-start: 4px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 24px;
    inline-size: 100%
}

@media(max-width:750px) {
    .p-problem__cards {
        flex-direction: column;
        gap: 3.2vw
    }
}

.p-problem__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 64px;
    block-size: 64px
}

@media(max-width:750px) {
    .p-problem__arrow {
        margin-block-start: calc(10 / 375 * 100vw);
        inline-size: calc(40 / 375 * 100vw);
        block-size: calc(40 / 375 * 100vw)
    }
}

.p-problem__cta-text {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    text-align: center;
    color: #fff;
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 44px;
    line-height: 1.4;
    letter-spacing: -.02em
}

@media(max-width:750px) {
    .p-problem__cta-text {
        font-size: calc(28 / 375 * 100vw);
        gap: 1.6vw
    }

    .p-problem__cta-text>span:first-child {
        flex-basis: 100%
    }
}

.p-problem__cta-emphasis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 16px;
    background-image: linear-gradient(90deg, #face00, #fffbd0 25%, #ca9a0c 60%, #f2e08b 85%, #fffbd0);
    color: #570013;
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 44px;
    line-height: 1.4;
    filter: drop-shadow(0 2px 12px rgba(33, 16, 11, .3))
}

@media(max-width:750px) {
    .p-problem__cta-emphasis {
        padding: .8vw calc(10 / 375 * 100vw);
        font-size: calc(28 / 375 * 100vw)
    }
}

.p-about {
    inline-size: 100%;
    padding-block: 80px;
    background-color: #f1f0f2
}

@media(max-width:750px) {
    .p-about {
        padding-block: calc(40 / 375 * 100vw)
    }
}

.p-about__inner {
    inline-size: 100%;
    margin-inline: auto;
    padding-inline: 40px
}

@media screen and (min-width:1025px) {
    .p-about__inner {
        max-inline-size: 1220px
    }
}

@media(max-width:750px) {
    .p-about__inner {
        padding-inline: calc(20 / 375 * 100vw)
    }
}

@media(min-width:751px)and (max-width:1024px) {
    .p-about__inner {
        max-inline-size: 100%;
        padding-inline: 40px
    }
}

.p-about__heading-wrap {
    inline-size: 100%;
    max-inline-size: 1440px;
    margin-inline: auto;
    padding-inline: 40px
}

@media screen and (min-width:751px)and (max-width:1024px) {
    .p-about__heading-wrap {
        padding-inline: 20px
    }
}

@media(max-width:750px) {
    .p-about__heading-wrap {
        padding-inline: calc(20 / 375 * 100vw)
    }
}

.p-about__heading-wrap {
    margin-block-end: 32px
}

@media(min-width:751px)and (max-width:1024px) {
    .p-about__heading-wrap {
        padding-inline: 40px
    }
}

@media(max-width:750px) {
    .p-about__heading-wrap {
        margin-block-end: calc(20 / 375 * 100vw)
    }
}

.p-about__lead {
    margin-block-end: 32px;
    font-size: 24px
}

@media(max-width:750px) {
    .p-about__lead {
        margin-block-end: calc(26 / 375 * 100vw);
        font-size: 4.8vw
    }
}

.p-about__cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-block-end: 40px
}

@media screen and (min-width:751px)and (max-width:1168px) {
    .p-about__cards {
        grid-template-columns: 1fr;
        margin-inline: auto
    }
}

@media(max-width:750px) {
    .p-about__cards {
        grid-template-columns: 1fr;
        gap: 3.2vw;
        margin-block-end: calc(32 / 375 * 100vw)
    }
}

.p-about__doctor {
    inline-size: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    background-color: #fff;
    border: 1px solid #cac7da;
    padding-block: 30px 40px;
    padding-inline: 20px
}

@media(max-width:750px) {
    .p-about__doctor {
        padding-block: 6.4vw
    }
}

.p-about__doctor-heading {
    text-align: center;
    font-size: 40px;
    letter-spacing: .05em
}

@media(max-width:750px) {
    .p-about__doctor-heading {
        font-size: 6.4vw
    }
}

.p-about__doctor-body {
    display: flex;
    align-items: center;
    gap: 32px;
    max-inline-size: 952px
}

@media(max-width:750px) {
    .p-about__doctor-body {
        flex-direction: column;
        align-items: center;
        inline-size: 100%;
        gap: calc(16 / 375 * 100vw)
    }
}

.p-about__doctor-img {
    inline-size: 160px;
    block-size: 214px;
    flex-shrink: 0;
    overflow: hidden
}

@media(max-width:750px) {
    .p-about__doctor-img {
        inline-size: calc(128 / 375 * 100vw);
        block-size: calc(171 / 375 * 100vw)
    }
}

.p-about__doctor-img img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    display: block
}

.p-about__doctor-text {
    flex: 1 1 0%;
    max-inline-size: 760px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    line-height: 1.8
}

@media(max-width:750px) {
    .p-about__doctor-text {
        inline-size: 100%
    }
}

.p-about__doctor-text .c-txt-paragraph {
    font-size: 18px
}

@media(max-width:750px) {
    .p-about__doctor-text .c-txt-paragraph {
        font-size: calc(16 / 375 * 100vw)
    }
}

.p-about__doctor-name {
    font-family: YuMincho, Yu Mincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.5;
    color: #20174d
}

@media(max-width:750px) {
    .p-about__doctor-name {
        font-size: calc(20 / 375 * 100vw);
        text-align: center
    }
}

.p-reason {
    position: relative;
    inline-size: 100%;
    padding-block: 80px 90px;
    background-image: url(/lp/dwibs-search/img/bg_reason_pc.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden
}

@media(max-width:750px) {
    .p-reason {
        padding-block: calc(40 / 375 * 100vw);
        background-image: url(/lp/dwibs-search/img/bg_reason_sp.jpg)
    }
}

.p-reason__inner {
    inline-size: 100%;
    margin-inline: auto;
    padding-inline: 40px
}

@media screen and (min-width:1025px) {
    .p-reason__inner {
        max-inline-size: 1220px
    }
}

@media(max-width:750px) {
    .p-reason__inner {
        padding-inline: calc(20 / 375 * 100vw)
    }
}

.p-reason__inner {
    position: relative
}

.p-reason__heading-wrap {
    inline-size: 100%;
    max-inline-size: 1440px;
    margin-inline: auto;
    padding-inline: 40px
}

@media screen and (min-width:751px)and (max-width:1024px) {
    .p-reason__heading-wrap {
        padding-inline: 20px
    }
}

@media(max-width:750px) {
    .p-reason__heading-wrap {
        padding-inline: calc(20 / 375 * 100vw)
    }
}

.p-reason__heading-wrap {
    position: relative;
    margin-block-end: 40px
}

@media(min-width:751px)and (max-width:1024px) {
    .p-reason__heading-wrap {
        padding-inline: 40px
    }
}

@media(max-width:750px) {
    .p-reason__heading-wrap {
        margin-block-end: 9.6vw
    }
}

.p-reason__heading .c-ttl-primary__hr {
    background-color: #fff
}

.p-reason__heading .c-ttl-primary__eyebrow,
.p-reason__heading .c-ttl-primary__heading {
    color: #fff
}

.p-reason__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-block-end: 64px
}

@media(max-width:750px) {
    .p-reason__cards {
        grid-template-columns: 1fr;
        gap: calc(16 / 375 * 100vw);
        margin-block-end: calc(32 / 375 * 100vw)
    }
}

.p-reason__cta {
    display: flex;
    justify-content: center
}

.p-reason .c-btn-primary {
    inline-size: 431px
}

@media(max-width:750px) {
    .p-reason .c-btn-primary {
        inline-size: 100%;
        max-inline-size: calc(335 / 375 * 100vw)
    }
}

.p-banner {
    inline-size: 100%;
    padding-block: 80px;
    background-color: #fff
}

@media(max-width:750px) {
    .p-banner {
        padding-block: calc(40 / 375 * 100vw)
    }
}

.p-banner__inner {
    inline-size: 100%;
    margin-inline: auto;
    padding-inline: 40px
}

@media screen and (min-width:1025px) {
    .p-banner__inner {
        max-inline-size: 1220px
    }
}

@media(max-width:750px) {
    .p-banner__inner {
        padding-inline: calc(20 / 375 * 100vw)
    }
}

.p-banner__heading-wrap {
    inline-size: 100%;
    max-inline-size: 1440px;
    margin-inline: auto;
    padding-inline: 40px
}

@media screen and (min-width:751px)and (max-width:1024px) {
    .p-banner__heading-wrap {
        padding-inline: 20px
    }
}

@media(max-width:750px) {
    .p-banner__heading-wrap {
        padding-inline: calc(20 / 375 * 100vw)
    }
}

.p-banner__heading-wrap {
    margin-block-end: 46px
}

@media(min-width:751px)and (max-width:1024px) {
    .p-banner__heading-wrap {
        padding-inline: 40px
    }
}

@media(max-width:750px) {
    .p-banner__heading-wrap {
        margin-block-end: calc(38 / 375 * 100vw)
    }
}

.p-banner__list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0
}

@media(max-width:750px) {
    .p-banner__list {
        gap: 3.2vw
    }
}

.p-banner__list>li {
    inline-size: 100%;
    display: flex;
    justify-content: center
}

.p-banner__item {
    display: block;
    inline-size: 744px;
    block-size: 157px;
    text-decoration: none;
    transition: opacity .2s ease
}

@media(max-width:750px) {
    .p-banner__item {
        inline-size: 100%;
        block-size: calc(70 / 375 * 100vw)
    }
}

.p-banner__item:focus-visible {
    opacity: .85
}

.p-banner__item img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    display: block
}

.p-faq {
    inline-size: 100%;
    padding-block: 80px;
    background-color: #f1f0f2
}

@media(max-width:750px) {
    .p-faq {
        padding-block: calc(40 / 375 * 100vw)
    }
}

.p-faq__inner {
    inline-size: 100%;
    margin-inline: auto;
    padding-inline: 40px
}

@media screen and (min-width:1025px) {
    .p-faq__inner {
        max-inline-size: 1220px
    }
}

@media(max-width:750px) {
    .p-faq__inner {
        padding-inline: calc(20 / 375 * 100vw)
    }
}

.p-faq__heading-wrap {
    inline-size: 100%;
    max-inline-size: 1440px;
    margin-inline: auto;
    padding-inline: 40px
}

@media screen and (min-width:751px)and (max-width:1024px) {
    .p-faq__heading-wrap {
        padding-inline: 20px
    }
}

@media(max-width:750px) {
    .p-faq__heading-wrap {
        padding-inline: calc(20 / 375 * 100vw)
    }
}

.p-faq__heading-wrap {
    margin-block-end: 40px
}

@media(min-width:751px)and (max-width:1024px) {
    .p-faq__heading-wrap {
        padding-inline: 40px
    }
}

@media(max-width:750px) {
    .p-faq__heading-wrap {
        margin-block-end: calc(34 / 375 * 100vw)
    }
}

.p-faq__list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-block-end: 64px
}

@media(max-width:750px) {
    .p-faq__list {
        gap: 3.2vw;
        margin-block-end: 6.4vw
    }
}

.p-faq__cta {
    inline-size: 100%
}

.u-container {
    width: 100%;
    max-width: 1128px;
    margin-inline: auto;
    padding-inline: 20px
}

@media(min-width:751px) {
    .u-container {
        padding-inline: 0
    }
}

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

[data-fade] {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .8s ease, transform .8s ease;
    will-change: opacity, transform
}

[data-fade].is-visible {
    opacity: 1;
    transform: translateY(0)
}

@media(prefers-reduced-motion:reduce) {

    [data-fade],
    [data-fade].is-visible {
        opacity: 1;
        transform: none;
        transition: none
    }
}

@media(max-width:750px) {
    .u-sp-hidden {
        display: none
    }
}

@media(min-width:751px) {
    .u-pc-hidden {
        display: none
    }
}

.u-tb-visible {
    display: none
}

@media screen and (min-width:751px)and (max-width:1024px) {
    .u-tb-visible {
        display: block
    }
}