:root {
    --1rem: calc(var(--rem) * 1vw / var(--w));
    --rem: 25;
    --w: 7.5
}

@media (min-width: 48em) {
    :root {
        --rem: 16;
        --w: 12.8
    }
}

@media (min-width: 80em) {
    :root {
        --1rem: calc(var(--rem) * 1px)
    }
}

html {
    color: #444;
    font-weight: 400;
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%
}

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

:focus-visible {
    outline: rgb(0, 95, 204) auto 1px;
    outline-offset: 1px
}

.font-Heebo,
.font-Heebo_B:before,
.font-Heebo_A:after {
    font-family: Heebo, sans-serif;
    font-feature-settings: "palt"0;
    font-optical-sizing: auto;
    font-weight: 600;
    color: #444444;
}

body {
    --em: var(--rem);
    --let: .05em;
    background-color: #fff;
    container-type: inline-size;
    font-family: Noto Sans JP, sans-serif;
    font-feature-settings: "palt";
    font-optical-sizing: auto;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding-bottom: calc(120 * var(--1rem) / var(--em));
    word-break: break-word
}

@media (min-width: 48em) {
    body {
        padding-bottom: 0
    }
}

label,
button {
    cursor: pointer
}

a {
    color: inherit;
    pointer-events: auto;
    transition: .5s opacity cubic-bezier(0, .55, .45, 1)
}

a[href]:hover {
    opacity: .7
}

@media (hover) {
    a[href^="tel:"] {
        pointer-events: none
    }
}

img,
svg {
    height: auto;
    vertical-align: middle
}

svg {
    fill: #E43433;
}

input,
textarea {
    appearance: revert
}

select {
    align-items: center;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15.308' height='8.077'%3E%3Cpath fill='none' stroke='currentColor' stroke-width='2' d='m.625.781 7.471 5.981L14.634.781'/%3E%3C/svg%3E");
    background-position: right calc(20em / var(--em)) center;
    background-size: calc(17.95em / var(--em));
    padding-right: calc(58em / var(--em));
    padding-left: calc(29.2em / var(--em))
}

@media (min-width: 48em) {
    select {
        background-position: right calc(19em / var(--em)) center;
        background-size: calc(11.97em / var(--em));
        padding-right: calc(50em / var(--em));
        padding-left: calc(20.1em / var(--em))
    }
}

strong,
b {
    font-weight: 700
}

[hidden] {
    display: none
}

.page-width {
    max-width: none
}

.st-Width {
    padding-inline: var(--pd)
}

@media not screen and (min-width: 48em) {
    .st-WidthSP {
        padding-inline: var(--pd)
    }
}

@media (min-width: 48em) {
    .st-WidthPC {
        padding-inlinne: var(--pd)
    }
}

.st-Wide {
    margin-inline: calc(var(--pd) * -1)
}

@media not screen and (min-width: 48em) {
    .st-WideSP {
        margin-inline: calc(var(--pd) * -1)
    }
}

@media (min-width: 48em) {
    .st-WidePC {
        margin-inline: calc(var(--pd) * -1)
    }
}

.st-MenuToggle {
    opacity: 0;
    position: fixed;
    top: 0;
    z-index: -1
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) {
    --1rem: calc(var(--rem) * 1vw / var(--w));
    --pd: calc(50 * var(--1rem) / var(--rem))
}

@supports (container-type: inline-size) {
    :where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) {
        --1rem: calc(var(--rem) * 1cqw / var(--w))
    }
}

@media (min-width: 48em) {
    :where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) {
        --pd: calc(40 * var(--1rem) / var(--rem))
    }
}

@media (min-width: 80em) {
    :where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) {
        --1rem: calc(var(--rem) * 1px);
        --pd: calc((100vw - 1200px)/2)
    }

    @supports (container-type: inline-size) {
        :where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) {
            --pd: calc((100cqw - 1200px)/2)
        }
    }
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) *:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
    all: unset;
    display: revert
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) *,
:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) *:before,
:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) *:after {
    box-sizing: border-box
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) html {
    -webkit-text-size-adjust: none;
    text-size-adjust: none
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) a,
:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) button {
    cursor: revert
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) ol,
:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) ul,
:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) menu,
:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) summary {
    list-style: none
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) img {
    max-inline-size: 100%;
    max-block-size: 100%;
	width:400px;
}

@media (max-width: 768px) {
    :where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) img {
        width: 250px;
    }
}



:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) table {
    border-collapse: collapse
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) input,
:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) textarea {
    -webkit-user-select: auto
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) textarea {
    white-space: revert
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) meter {
    appearance: revert
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) :where(pre) {
    all: revert;
    box-sizing: border-box
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) ::placeholder {
    color: unset
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) :where([hidden]) {
    display: none
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) :where([contenteditable]:not([contenteditable=false])) {
    -moz-user-modify: read-write;
    -webkit-user-modify: read-write;
    overflow-wrap: break-word;
    -webkit-line-break: after-white-space;
    -webkit-user-select: auto
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) :where([draggable=true]) {
    -webkit-user-drag: element
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) :where(dialog:modal) {
    all: revert;
    box-sizing: border-box
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) ::-webkit-details-marker {
    display: none
}

:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment):is(:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment)),
:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) *,
:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) *:before,
:where(.st-Header, .st-Footer, .st-ToTop, .st-Section, .st-Assessment) *:after {
    background-repeat: no-repeat;
    cursor: revert;
    font-size: calc(var(--em) * var(--1rem) / var(--rem));
    letter-spacing: var(--let);
    line-height: calc(var(--lh) / var(--em));
    transition-property: none;
    transition-duration: .5s;
    transition-timing-function: cubic-bezier(0, .55, .45, 1)
}

.st-Header {
    display: contents
}

.st-Header_Inner {
    background-color: #fff;
    display: grid;
    grid-template-columns: calc(265.59em / var(--em)) calc(140em / var(--em));
    justify-content: space-between;
    padding-left: calc(20.21em / var(--em));
    position: sticky;
    top: 0;
    z-index: 100
}

.st-Header_Copy {
    --em: 12;
    --let: .02em;
    --lh: 17
}

.st-Header_Logo {
    align-self: center;
    color: #000;
    transform-origin: 0 100%;
    transition-property: transform
}

.st-Fix .st-Header_Logo {
    transform: translate3d(0, calc(12.1em / var(--em)), 0) scale3d(.9413005008, .9413005008, 1)
}

.st-Header_Logo a {
    display: grid;
    gap: calc(13em / var(--em))
}

.st-Header_Logo .Text {
    --em: 17;
    color: #e43433;
    display: grid;
    font-weight: 500;
    height: calc(30em / var(--em));
    position: relative
}

.st-Header_Logo .Text span {
    background-color: #e8e9f2;
    padding-inline: 1em;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    text-align: center;
    white-space: nowrap;
    min-width: calc(265.59em / var(--em) * 250 / 278.59)
}

.st-Header_Logo .Text+svg {
    width: calc(265.59em / var(--em) * 250 / 278.59)
}

.st-Header_Logo svg {
    width: 100%
}

.st-HeaderMenu a:hover {
    opacity: 1
}

@media not screen and (min-width: 48em) {
    .st-Header_Copy {
        filter: opacity(0);
        position: absolute;
        left: calc(20.54em / var(--em));
        top: calc(11.3em / var(--em));
        transition-property: filter
    }

    .st-Fix .st-Header_Copy {
        filter: opacity(1)
    }

    .st-HeaderHamburger {
        background-color: #e8e9f2;
        display: grid;
        height: calc(120em / var(--em));
        place-items: center
    }

    .st-HeaderHamburger:before,
    .st-HeaderHamburger:after {
        content: "";
        transform: translate3d(0, calc(12em / var(--em)), 0)
    }

    .st-HeaderHamburger:before,
    .st-HeaderHamburger:after,
    .st-HeaderHamburger span {
        background-color: #000;
        grid-area: 1/1;
        height: 1px;
        transition-property: transform;
        width: calc(50em / var(--em))
    }

    .st-Fix .st-HeaderHamburger:before,
    .st-Fix .st-HeaderHamburger:after,
    .st-Fix .st-HeaderHamburger span {
        transform: rotate3d(0, 0, 1, 45deg)
    }

    .st-HeaderHamburger:after {
        transform: translate3d(0, calc(-12em / var(--em)), 0)
    }

    .st-Fix .st-HeaderHamburger:after {
        transform: rotate3d(0, 0, 1, 135deg)
    }

    .st-HeaderMenu {
        background-color: #e8e9f2;
        filter: opacity(0);
        min-height: calc(100vh - 120em / var(--em));
        min-height: calc(100dvh - 120em / var(--em));
        overflow-x: hidden;
        overflow-y: auto;
        padding-top: calc(30em / var(--em));
        padding-right: calc(30em / var(--em));
        padding-bottom: calc(74em / var(--em));
        padding-left: calc(30em / var(--em));
        position: absolute;
        transition-property: filter, visibility;
        visibility: hidden;
        z-index: 99
    }

    .st-Fix .st-HeaderMenu {
        filter: opacity(1);
        position: relative;
        visibility: visible
    }

    .st-HeaderMenu_List {
        display: grid;
        gap: calc(10em / var(--em));
        grid-template-columns: repeat(2, 1fr)
    }

    :where(.st-HeaderMenu_List>li) {
        display: grid;
        gap: calc(10em / var(--em));
        grid-column: span 2
    }

    :where(.st-HeaderMenu_List>li):nth-child(3),
    :where(.st-HeaderMenu_List>li):nth-child(4),
    :where(.st-HeaderMenu_List>li):nth-child(5) {
        /* margin-top: calc(40em / var(--em)); */
    }

    .st-HeaderMenu_Col1 {
        grid-column: span 1
    }

    .st-HeaderMenu_Item {
        align-items: center;
        background-color: #fff;
        box-shadow: 0 0 0 1px #ccc inset;
        display: grid;
        grid-template-columns: 1fr calc(8.077em / var(--em));
        height: calc(80em / var(--em));
        padding-right: calc(19.7em / var(--em));
        padding-left: calc(29.5em / var(--em))
    }

    .st-HeaderMenu_Item svg {
        width: 100%
    }

    .st-HeaderMenu_Sub {
        display: grid;
        gap: calc(10em / var(--em));
        grid-template-columns: repeat(2, 1fr)
    }

    .st-HeaderMenu_Sub a {
        align-items: center;
        background-color: #fff;
        display: grid;
        grid-template-columns: calc(59.5em / var(--em)) 1fr calc(8.077em / var(--em));
        height: calc(80em / var(--em));
        padding-right: calc(19.7em / var(--em))
    }

    .st-HeaderMenu_Sub img {
        place-self: center
    }

    .st-HeaderMenu_Sub [src$="icon-store.svg"] {
        width: calc(41em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-truck.svg"] {
        width: calc(42em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-banner.svg"] {
        width: calc(26em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-gold.svg"] {
        width: calc(32.58em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-jewelry.svg"] {
        width: calc(29.37em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-watch.svg"] {
        width: calc(22.53em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-bag.svg"] {
        width: calc(28.92em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-sake.svg"] {
        width: calc(14.06em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-wallet.svg"] {
        width: calc(30.35em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-clothes.svg"] {
        width: calc(34.38em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-stamp.svg"] {
        width: calc(24.25em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-ticket.svg"] {
        width: calc(33.4em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-commemorative-medal.svg"] {
        width: calc(28.73em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-old-coin.svg"] {
        width: calc(34.23em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-camera.svg"] {
        width: calc(32.12em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-phone-tablet.svg"] {
        width: calc(26.04em / var(--em))
    }

    .st-HeaderMenu_Sub [src$="icon-card.svg"] {
        width: calc(31.57em / var(--em))
    }

    .st-HeaderMenu_Sub svg {
        width: 100%
    }

    .st-HeaderMenu_Method a {
        box-shadow: 0 0 0 calc(3em / var(--em)) #e43433 inset;
        grid-template-columns: calc(72.5em / var(--em)) 1fr calc(19em / var(--em));
/*        padding-right: calc(21em / var(--em))*/
        padding-left: 5px;
    }

    /*.st-HeaderMenu_Method img {
        filter: invert(11%) sepia(61%) saturate(6556%) hue-rotate(241deg) brightness(56%) contrast(112%)
    }*/

    .st-HeaderMenu_Items {
        --let: -.05em
    }

    .st-HeaderMenu_Items img {
        filter: invert(27%) sepia(92%) saturate(1211%) hue-rotate(34deg) brightness(94%) contrast(105%)
    }

    .st-HeaderMenu_FC a {
        background-color: #000;
        color: #fff
    }

    .st-HeaderMenuAssessment {
        margin-top: calc(61em / var(--em))
    }

    .st-HeaderMenuAssessment:is(.st-HeaderMenuAssessment) {
        visibility: hidden
    }

    .st-Fix .st-HeaderMenuAssessment:is(.st-HeaderMenuAssessment) {
        visibility: visible
    }

    .st-HeaderAssessment {
        display: grid;
        gap: 1px;
        grid-column: span 2;
        grid-template-columns: repeat(2, 1fr);
        margin-top: calc(100vh - 120em / var(--em));
        position: absolute;
        right: 0;
        left: 0;
        top: 0
    }

    .st-HeaderAssessment_Freedial {
        background-image: linear-gradient(to right, #e43433, #452d94);
        color: #fff;
        display: grid;
        gap: 0 calc(.6em / var(--em));
        grid-template-columns: calc(50em / var(--em)) auto;
        grid-template-rows: calc(45.7em / var(--em)) calc(21em / var(--em));
        height: calc(120em / var(--em));
        padding-top: calc(34em / var(--em));
        padding-left: calc(41em / var(--em))
    }

    .st-HeaderAssessment_Freedial svg {
        max-height: calc(28em / var(--em));
        margin-top: calc(12.9em / var(--em));
        width: 100%
    }

    .st-HeaderAssessment_Freedial .font-Heebo {
        --em: 40;
        --let: -.03em;
        --lh: 59;
        font-weight: 700
    }

    .st-HeaderAssessment_Freedial .Text {
        --em: 15;
        --let: .02em;
        --lh: 21;
        grid-column: span 2
    }

    .st-HeaderAssessment_Mail {
        --let: 0;
        align-items: center;
        background-image: linear-gradient(to right, #eb046a, #f14fae);
        color: #fff;
        display: grid;
        font-weight: 500;
        gap: calc(7em / var(--em));
        grid-template-columns: calc(25em / var(--em)) auto;
        height: calc(120em / var(--em));
        justify-content: center
    }

    .st-HeaderAssessment_Mail svg {
        width: 100%
    }
}

@media (min-width: 48em) {
    .st-Header {
        display: contents
    }

    .st-Header_Inner {
        grid-template-columns: calc(278.59em / var(--em)) 1fr calc(567em / var(--em));
        grid-template-rows: calc(60em / var(--em)) calc(80em / var(--em));
        padding-left: calc(30.8em / var(--em))
    }

    .st-Header_Copy {
        --lh: 18;
        align-items: center;
        /* border-right:1px solid #CCC; */
        display: grid;
        height: calc(45em / var(--em));
        justify-self: end;
        margin-top: calc(15em / var(--em));
        width: calc(223em / var(--em))
    }

    .st-Header_Logo {
        grid-row: span 2;
        order: -1
    }

    .st-Fix .st-Header_Logo {
        transform: none
    }

    .st-Header_Logo .Text span {
        min-width: calc(278.59em / var(--em) * 250 / 278.59)
    }

    .st-Header_Logo .Text+svg {
        width: calc(278.59em / var(--em) * 250 / 278.59)
    }

    .st-HeaderAssessment {
        display: grid;
        grid-template-columns: 1fr calc(250em / var(--em))
    }

    .st-HeaderAssessment_Freedial {
        color: #e43433;
        display: grid;
        gap: 0 calc(1.6em / var(--em));
        grid-template-columns: calc(44em / var(--em)) auto;
        grid-template-rows: calc(40.7em / var(--em)) calc(19em / var(--em));
        padding-left: calc(30em / var(--em))
    }

    .st-HeaderAssessment_Freedial:not(:has(.Text)) {
        padding-top: calc(8em / var(--em))
    }

    .st-HeaderAssessment_Freedial svg {
        max-height: calc(25.17em / var(--em));
        margin-top: calc(11.9em / var(--em));
        width: 100%
    }

    .st-HeaderAssessment_Freedial .font-Heebo {
        --em: 35;
        --let: -.03em;
        --lh: 52;
        font-weight: 700
    }

    .st-HeaderAssessment_Freedial .Text {
        --em: 13;
        --let: .03em;
        --lh: 19;
        color: #444;
        grid-column: span 2
    }

    .st-HeaderAssessment_Mail {
        --em: 17;
        --let: .1em;
        --lh: 25;
        background-image: linear-gradient(160deg, #E43433 50%, #FCCD25);
        color: #fff;
        display: grid;
        font-weight: 500;
        height: calc(60em / var(--em));
        padding-left: .1em;
        padding-bottom: calc(3em / var(--em));
        place-items: center
    }

    .st-HeaderMenu {
        --em: 17;
        --let: 0;
        --lh: 25;
        align-self: center;
        grid-column: span 2;
        padding-right: calc(30.6em / var(--em) - 1em);
        margin-left: -1em
    }

    .st-HeaderMenu_List {
        display: flex;
        justify-content: end
    }

    .st-HeaderMenu_List>li {
        position: relative
    }

    .st-HeaderMenu_Title {
        align-items: center;
        display: grid;
        height: calc(80em / var(--em));
        padding-inline: 1em;
        transition-property: color
    }

    .st-HeaderMenu_Title:hover {
        color: #e43433;
    }

    .st-HeaderMenu_Title:is(span) {
        align-items: center;
        display: grid;
        gap: 1em;
        grid-template-columns: auto calc(12em / var(--em));
        height: calc(80em / var(--em));
        padding-right: .5em
    }

    .st-HeaderMenu_Title:is(span) svg {
        rotate: 90deg;
        width: calc(7em / var(--em))
    }

    .st-HeaderMenu_Sub {
        --em: 17;
        --lh: 25;
        background-color: #e8e9f2;
        display: grid;
        filter: opacity(0);
        padding-block: calc(10em / var(--em));
        position: absolute;
        left: 50%;
        transition-property: filter, visibility, z-index;
        translate: -50% 0;
        visibility: hidden;
        white-space: nowrap;
        min-width: calc(200em / var(--em));
        z-index: 1
    }

    .st-HeaderMenu_Sub.Col2 {
        grid-template-columns: repeat(2, 1fr)
    }

    .st-HeaderMenu_Sub.Col2 li:nth-child(odd):before {
        margin-right: calc(10em / var(--em))
    }

    .st-HeaderMenu_Sub.Col2 li:nth-child(odd) a {
        padding-right: calc(10em / var(--em))
    }

    .st-HeaderMenu_Sub.Col2 li:nth-child(2n):before {
        margin-left: calc(10em / var(--em))
    }

    .st-HeaderMenu_Sub.Col2 li:nth-child(2n) a {
        padding-left: calc(10em / var(--em))
    }

    .st-HeaderMenu_Sub.Col2 li:nth-child(2):before {
        content: none
    }

    .st-HeaderMenu_Sub.Col3 {
        grid-auto-flow: column;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(var(--row), auto) auto
    }

    .st-HeaderMenu_Sub.Col3 li:nth-child(n+1):nth-child(-n+5):before {
        margin-right: calc(10em / var(--em))
    }

    .st-HeaderMenu_Sub.Col3 li:nth-child(n+1):nth-child(-n+5) a {
        padding-right: calc(10em / var(--em))
    }

    .st-HeaderMenu_Sub.Col3 li:nth-child(n+6):nth-child(-n+10):before {
        margin-inline: calc(10em / var(--em))
    }

    .st-HeaderMenu_Sub.Col3 li: nth-child(n+6):nth-child(-n+10) a {
        padding-inline: calc(10em / var(--em))
    }

    .st-HeaderMenu_Sub.Col3 li:nth-child(n+11):nth-child(-n+15):before {
        margin-left: calc(10em / var(--em))
    }

    .st-HeaderMenu_Sub.Col3 li:nth-child(n+11):nth-child(-n+15) a {
        padding-left: calc(10em / var(--em))
    }

    .st-HeaderMenu_Sub.Col3 li:nth-child(5n+1):before {
        content: none
    }

    li:hover .st-HeaderMenu_Sub {
        filter: opacity(1);
        visibility: visible;
        z-index: 2
    }

    .st-HeaderMenu_Sub:before {
        background-color: #e8e9f2;
        clip-path: polygon(50% 0, 100% 100%, 0 100%);
        content: "";
        height: calc(20em / var(--em));
        margin-inline: auto;
        position: absolute;
        right: 0;
        left: 0;
        top: calc(-20em / var(--em));
        width: calc(20em / var(--em))
    }

    .st-HeaderMenu_Sub>li+li:before {
        background-color: #fff;
        content: "";
        display: block;
        height: 1px;
        margin-inline: calc(20em / var(--em))
    }

    .st-HeaderMenu_Sub a {
        align-items: center;
        display: grid;
        gap: calc(10em / var(--em));
        grid-template-columns: calc(24em / var(--em)) auto;
        height: calc(50em / var(--em));
        padding-inline: calc(20em / var(--em));
        transition-property: color, font-weight
    }

    .st-HeaderMenu_Sub a:hover {
        color: #e43433;
        font-weight: 500
    }

    .st-HeaderMenu_Sub svg {
        color: #e43433;
        justify-self: end;
        width: calc(19em / var(--em))
    }

    .st-HeaderMenu_All {
        --em: 17;
        font-weight: 500;
        margin-top: calc(10em / var(--em));
        margin-bottom: calc(-10em / var(--em))
    }

    .st-HeaderMenu_All:is(.st-HeaderMenu_All):before {
        content: none
    }

    .st-HeaderMenu_All:is(.st-HeaderMenu_All) a {
        align-items: center;
        background-image: linear-gradient(to right, #e43433, #452d94);
        color: #fff;
        display: grid;
        grid-template-columns: auto calc(17em / var(--em));
        height: calc(50em / var(--em));
        justify-content: center
    }

    .st-HeaderMenu_All:is(.st-HeaderMenu_All) svg {
        color: inherit;
        width: 100%
    }

    .Col2 .st-HeaderMenu_All {
        grid-column: span 2
    }

    .Col3 .st-HeaderMenu_All {
        grid-column: 1/span 3;
        grid-row: calc(var(--row) + 1);
        order: -1
    }
}

.st-Footer_Primary {
    background-color: #282828;
    color: #fff;
    padding-top: calc(100em / var(--em));
    padding-bottom: calc(80em / var(--em))
}

.st-FooterMenu {
    display: grid
}

:where(.st-FooterMenu>li) {
    display: grid;
    gap: calc(10em / var(--em))
}

.st-Footer_FC {
    margin-top: calc(-70em / var(--em))
}

.st-Footer_FC a {
    align-items: center;
    background-color: #000;
    display: grid;
    grid-template-columns: 1fr calc(8.077em / var(--em));
    height: calc(80em / var(--em));
    padding-right: calc(19.7em / var(--em));
    padding-left: calc(29.5em / var(--em))
}

.st-Footer_FC svg {
    width: 100%
}

.st-FooterGreat {
    display: grid;
    margin-top: calc(80em / var(--em));
    padding-top: calc(40.9em / var(--em));
    padding-inline: calc(95em / var(--em));
    padding-bottom: calc(32.3em / var(--em));
    position: relative;
    z-index: 1
}

.st-FooterGreat:before {
    background-color: #fff;
    content: "";
    opacity: .05;
    position: absolute;
    inset: 0;
    z-index: -1
}

.st-FooterGreat_Title {
    --em: 30;
    --lh: 44;
    display: grid;
    font-weight: 500;
    gap: calc(13.6em / var(--em));
    text-align: center
}

.st-FooterGreat_Title:after {
    background-color: #494e92;
    content: "";
    height: 1px
}

.st-FooterGreat_List {
    --lh: 40;
    columns: 2;
    margin-top: calc(42.2em / var(--em))
}

.st-Footer_Secondary {
    display: grid;
    justify-items: center;
    padding-top: calc(50em / var(--em));
    padding-bottom: calc(40em / var(--em))
}

.st-Footer_Logo {
    color: #000;
    width: calc(290em / var(--em))
}

.st-Footer_Logo svg {
    width: 100%
}

.st-Footer_License {
    --em: 20;
    --let: 0;
    --lh: 30;
    margin-top: calc(24.4em / var(--em));
    text-align: center
}

.st-Footer_Sns {
    color: #fff;
    display: grid;
    gap: calc(6.5em / var(--em));
    grid-template-columns: repeat(5, calc(65em / var(--em)));
    margin-top: calc(26.1em / var(--em))
}

.st-Footer_Sns a {
    background-color: var(--bg, #000);
    border-radius: 50%;
    display: grid;
    height: calc(65em / var(--em));
    place-items: center
}

.st-Footer_Sns svg {
    height: calc(32em / var(--em));
    width: auto
}

.st-Footer_Copyright {}

@media not screen and (min-width: 48em) {
    .st-Footer_Primary {
        padding-right: calc(30em / var(--em));
        padding-left: calc(30em / var(--em))
    }

    .st-FooterMenu {
        gap: calc(80em / var(--em)) calc(10em / var(--em));
        grid-template-columns: repeat(2, 1fr)
    }

    :where(.st-FooterMenu>li) {
        grid-column: span 2
    }

    .st-FooterMenu_Title {
        align-items: center;
        box-shadow: 0 0 0 1px #fff inset;
        display: grid;
        font-weight: 500;
        grid-template-columns: 1fr calc(8.077em / var(--em));
        height: calc(80em / var(--em));
        padding-right: calc(19.7em / var(--em));
        padding-left: calc(29.5em / var(--em));
        position: relative;
        z-index: 1
    }

    .st-FooterMenu_Title:before {
        background-color: #fff;
        content: "";
        opacity: .1;
        position: absolute;
        inset: 0;
        z-index: 1
    }

    .st-FooterMenu_Title svg {
        width: 100%
    }

    .st-FooterMenu_List {
        --lh: 30;
        display: grid;
        gap: calc(10em / var(--em));
        grid-template-columns: repeat(2, 1fr)
    }

    .st-FooterMenu_List a {
        align-items: center;
        display: grid;
        grid-template-columns: 1fr calc(8.077em / var(--em));
        height: calc(80em / var(--em));
        padding-right: calc(19.7em / var(--em));
        padding-left: calc(29.5em / var(--em));
        position: relative;
        z-index: 1
    }

    .st-FooterMenu_List a:before {
        box-shadow: 0 0 0 1px #fff inset;
        content: "";
        opacity: .3;
        position: absolute;
        inset: 0;
        z-index: -1
    }

    .st-FooterMenu_List a svg {
        width: 100%
    }

    .st-FooterMenu_Contact {
        display: contents
    }

    .st-FooterMenu_Contact .st-FooterMenu_Title {
        box-shadow: none;
        margin-top: calc(-70em / var(--em))
    }

    .st-FooterMenu_Contact .st-FooterMenu_Title:before {
        background-color: transparent;
        box-shadow: 0 0 0 1px #fff inset;
        opacity: .3
    }

    .st-FooterMenu_Contact .st-FooterMenu_List {
        display: contents
    }

    .st-FooterMenu_Contact .st-FooterMenu_List li {
        margin-top: calc(-70em / var(--em))
    }
}

@media (min-width: 48em) {
    .st-Footer_Primary {
        padding-top: calc(114.7em / var(--em));
        padding-bottom: calc(50em / var(--em))
    }

    .st-FooterMenu {
        align-items: start;
        grid-template-columns: calc(200em / var(--em)) calc(283em / var(--em)) calc(413em / var(--em)) calc(165em / var(--em)) 1fr
    }

    :where(.st-FooterMenu>li) {
        gap: 0
    }

    :where(.st-FooterMenu>li):nth-child(1),
    :where(.st-FooterMenu>li):nth-child(3),
    :where(.st-FooterMenu>li):nth-child(4) {
        grid-row: span 2
    }

    :where(.st-FooterMenu>li):nth-child(3) {
        order: -2
    }

    :where(.st-FooterMenu>li):nth-child(4) {
        order: -1
    }

    .st-FooterMenu_Title {
        --em: 18;
        --lh: 26;
        align-items: center;
        display: grid;
        font-weight: 500;
        gap: calc(10em / var(--em));
        grid-template-columns: auto calc(6em / var(--em));
        justify-content: start
    }

    .st-FooterMenu_Title svg {
        width: 100%
    }

    .st-FooterMenu_List {
        --em: 14;
        --lh: 20;
        display: grid;
        gap: calc(5em / var(--em));
        margin-top: calc(15em / var(--em))
    }

    li:nth-child(1) .st-FooterMenu_List {
        gap: calc(5em / var(--em)) calc(30em / var(--em));
        grid-auto-flow: column;
        grid-template-rows: repeat(var(--row, 7), auto);
        justify-content: start
    }

    .st-FooterMenu_List svg {
        display: none
    }

    .st-Footer_FC {
        grid-column: span 2;
        margin-top: calc(46em / var(--em));
        width: calc(200em / var(--em))
    }

    .st-Footer_FC a {
        height: calc(50em / var(--em));
        padding-right: calc(18em / var(--em));
        padding-left: calc(18em / var(--em))
    }

    .st-Footer_FC svg {
        display: none
    }

    .st-FooterGreat {
        grid-template-columns: calc(220em / var(--em)) 1fr;
        margin-top: calc(77em / var(--em));
        padding-block: calc(30em / var(--em));
        padding-inline: 0
    }

    .st-FooterGreat_Title {
        --em: 18;
        --lh: 26;
        align-items: center;
        gap: 0;
        grid-template-columns: 1fr 1px;
        height: calc(60em / var(--em))
    }

    .st-FooterGreat_Title:after {
        align-self: stretch;
        background-color: #494e92;
        height: auto
    }

    .st-FooterGreat_List {
        --em: 14;
        --lh: 30;
        clip-path: polygon(2.5em 0%, 100% 0%, 100% 100%, 2.5em 100%);
        display: flex;
        flex-wrap: wrap;
        columns: revert;
        margin-top: 0;
        padding-right: calc(20em / var(--em))
    }

    .st-FooterGreat_List li:before {
        color: #494e92;
        content: "　/　"
    }

    .st-Footer_Secondary {
        grid-template-columns: calc(197em / var(--em)) 1fr calc(270em / var(--em));
        justify-items: revert;
        padding-top: calc(20em / var(--em));
        padding-bottom: calc(16.1em / var(--em))
    }

    .st-Footer_Logo {
        grid-row: span 2;
        margin-top: calc(15em / var(--em));
        width: 100%
    }

    .st-Footer_License {
        --em: 15;
        --lh: 25;
        grid-row: span 2;
        margin-top: calc(15.4em / var(--em));
        margin-left: calc(29.4em / var(--em));
        text-align: left
    }

    .st-Footer_Sns {
        gap: calc(5em / var(--em));
        grid-template-columns: repeat(5, calc(50em / var(--em)));
        margin-top: 0
    }

    .st-Footer_Sns a {
        height: calc(50em / var(--em))
    }

    .st-Footer_Sns svg {
        height: calc(24em / var(--em))
    }

    .st-Footer_Copyright {}
}

.st-Container {
    position: relative;
    z-index: 1
}

.st-Fix .st-Container {
    padding-top: calc(120 * var(--1rem) / var(--rem));
    position: fixed;
    right: 0;
    left: 0;
    top: 0
}

@media (min-width: 48em) {
    .st-Fix .st-Container {
        padding-top: calc(140 * var(--1rem) / var(--rem))
    }
}

.st-Contents {
    margin-top: calc(-80em / var(--em));
}

.st-Contents>:nth-child(2) {}

/*.st-Contents:after {
    content: "";
    display: block;
    height: calc(120 * var(--1rem) / var(--em));
    background: #f8f8f8;
}
*/
@media not screen and (min-width: 48em) {
    .st-Contents:has(.st-Assessment: last-child)>:nth-child(2) {
        margin-top: calc(-320 * var(--1rem) / var(--em))
    }
}

/*@media (min-width: 48em) {
    .st-Contents>:nth-child(2) {}

    .st-Contents:after {
        height: calc(80 * var(--1rem) / var(--em));
    }
}*/

.st-ToTop {
    background-color: #fff;
    border-radius: 50%;
    display: grid;
    height: calc(80em / var(--em));
    margin-right: calc(10em / var(--em));
    margin-bottom: calc(10em / var(--em));
    margin-left: auto;
    place-items: center;
    position: sticky;
    top: calc(100vh - 270em / var(--em));
    top: calc(100dvh - 270em / var(--em));
    width: calc(80em / var(--em));
    z-index: 50;
    cursor: pointer;
}

.st-ToTop:before {
    border-radius: 50%;
    box-shadow: calc(7.07em / var(--em)) calc(7.07em / var(--em)) calc(20em / var(--em)) #040000;
    content: "";
    opacity: .05;
    position: absolute;
    inset: 0;
    z-index: -1
}

.st-ToTop svg {
    rotate: -90deg;
    width: calc(22.69em / var(--em));
    fill: #444444;
}

@media not screen and (min-width: 48em) {
    .st-Contents:has(.st-Assessment: last-child) .st-ToTop {
        margin-bottom: calc(230em / var(--em))
    }
}

@media (min-width: 48em) {
    .st-ToTop {
        margin-right: calc(30em / var(--em));
        margin-bottom: calc(30em / var(--em));
        top: calc(100vh - 110em / var(--em));
        top: calc(100dvh - 110em / var(--em))
    }

    .st-ToTop:before {
        box-shadow: 0 calc(10em / var(--em)) calc(20em / var(--em)) #040000
    }
}

.st-FadeIn {
    filter: opacity(0);
    transition-delay: .5s;
    transition-property: filter, translate;
    translate: 0 2em 0
}

.st-FadeIn.Inview {
    filter: opacity(1);
    translate: 0 0 0
}

.st-Section_Copy {
    --let: .1em;
    --lh: 36;
    color: #E43433;
    font-weight: 500;
    margin-bottom: calc(-2em / var(--em));
    text-align: center
}

.st-Section_Title {
    --em: 50;
    --let: .1em;
    --lh: 72;
    gap: calc(15.3em / var(--em));
    display: grid;
    font-weight: 600;
    justify-items: center;
    text-align: center
}

.st-Section_Title:after {
    background-image: radial-gradient(circle farthest-side, #E43433, #E43433 calc(3em / var(--em)), transparent calc(3em / var(--em)), transparent);
    background-repeat: repeat-x;
    background-size: 10px;
    content: "";
    height: 4px;
    width: 52px;
}

.st-Section_Title b {
    color: #e43433
}

.st-Section_Title .font-Heebo {
    --em: 55;
    --lh: 55
}

.st-Section_Title2 {
    --em: 35;
    --let: .1em;
    --lh: 45;
    display: grid;
    font-weight: 600;
    gap: calc(10.9em / var(--em));
    grid-template-columns: calc(31em / var(--em)) 1fr;
    margin-inline: calc(-20em / var(--em));
    padding-block: calc(6em / var(--em))
}

.st-Section_Title2 svg {
    color: #e43433;
    margin-top: calc(14.3em / var(--em));
    width: 100%
}

.st-Section_Text {
    --lh: 40;
    margin-top: calc(20.9em / var(--em))
}

.st-Section_Text>*+* {
    margin-top: calc(40em / var(--em))
}

.st-Section_Btn {
    --em: 27;
    align-items: center;
    background-image: linear-gradient(to right, #FCCD25, #FCCD25);
    border-radius: 10em;
    box-shadow: calc(2.12em / var(--em)) calc(2.12em / var(--em)) calc(10em / var(--em)) #04000026;
    color: #282828;
    display: grid;
    font-weight: 500;
    height: calc(100em / var(--em));
    margin-top: calc(50em / var(--em));
    margin-inline: auto;
    padding-right: calc(35em / var(--em));
    padding-left: calc(38.7em / var(--em));
    width: -moz-fit-content;
    width: fit-content;
    min-width: calc(500em / var(--em));
    text-align: center;
}

.st-Section_Btn svg {
    width: 100%
}

@media (min-width: 48em) {
    .st-Section_Copy {
        --em: 18;
        --lh: 26;
        margin-bottom: calc(3em / var(--em))
    }

    .st-Section_Title {
        --em: 40;
        --lh: 58;
        gap: calc(16.3em / var(--em))
    }

    .st-Section_Title:after {
        background-image: radial-gradient(circle farthest-side, #E43433, #E43433 calc(2em / var(--em)), transparent calc(2em / var(--em)), transparent);
        height: 4px;
    }

    .st-Section_Title .font-Heebo {
        --em: 50;
        --lh: 50
    }

    .st-Section_Title2 {
        --em: 25;
        --lh: 36;
        gap: calc(8.8em / var(--em));
        grid-template-columns: calc(23.1em / var(--em)) 1fr;
        margin-inline: 0;
        padding-block: 0
    }

    .st-Section_Title2 svg {
        margin-top: calc(9.1em / var(--em))
    }

    .st-Section_Text {
        --lh: 30;
        margin-top: calc(24.6em / var(--em));
        text-align: center
    }

    .st-Section_Text>*+* {
        margin-top: calc(30em / var(--em))
    }

    .st-Section_Btn {
        --em: 17;
        box-shadow: 0 calc(3em / var(--em)) calc(10em / var(--em)) #04000026;
        height: calc(80em / var(--em));
        padding-right: calc(24.9em / var(--em));
        padding-left: calc(39.7em / var(--em));
        min-width: calc(350em / var(--em))
    }
}

.st-Assessment,
.st-Brand,
.st-Brand_List,
.st-ColumnCard,
.st-Faq,
.st-Feedback,
.st-Items,
.st-MainBrand,
.st-Method,
.st-Need,
.st-News,
.st-Peace,
.st-Reason,
.st-Results,
.st-ResultsUnit,
.st-Situation,
.st-Store {
    visibility: visible;
}

[class*=st-PC] {
    display: none
}

@media (min-width: 48em) {
    .st-SP.st-SP {
        display: none
    }

    .st-PC.st-PC {
        display: block
    }

    .st-PCI.st-PCI {
        display: inline
    }

    .st-PCIB.st-PCIB {
        display: inline-block
    }

    .st-PCF.st-PCF {
        display: flex
    }

    .st-PCG.st-PCG {
        display: grid
    }
}

.st-Target {
    position: absolute;
    top: 0
}

.visuallyhidden,
.screen-reader-text {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

@media print {

    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important
    }

    a,
    a:visited {
        text-decoration: underline
    }

    pre {
        white-space: pre-wrap !important
    }

    pre,
    blockquote {
        page-break-inside: avoid
    }

    thead {
        display: table-header-group
    }

    tr,
    img {
        page-break-inside: avoid
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3
    }

    h2,
    h3 {
        page-break-after: avoid
    }
}

.st-Footer .st-Footer_Primary {
    display: flex;
    display: inline-flex;
    justify-content: space-between;
    width: 100%;
}

.st-Footer .st-Footer_Primary .st-Footer_l {}

.st-Footer .st-Footer_Primary .st-Footer_l .logo {
	max-width: 200px !important;
}

.st-Footer .st-Footer_Primary .st-Footer_l .txt {
    font-weight: 400;
    font-size: 16px;
    line-height: 40px;
    letter-spacing: 0.8px;
    margin-top: 10%;
}

.st-Footer .st-Footer_Primary .st-Footer_r {}

.st-Footer .st-Footer_Primary .st-Footer_r ul {
    overflow: hidden;
}

.st-Footer .st-Footer_Primary .st-Footer_r ul li {
    float: left;
}


/* 手机版上下排列并居中 */
@media (max-width: 768px) {
    .st-Footer .st-Footer_Primary .st-Footer_r ul {
        display: flex;
        flex-direction: column;  /* 上下排列 */
        justify-content: center;  /* 垂直居中 */
        align-items: center;      /* 水平居中 */
    }

    .st-Footer .st-Footer_Primary .st-Footer_r ul li {
        float: none;  /* 移除 float 样式 */
    }
}




.st-Footer .st-Footer_Primary .st-Footer_r ul li a {
    font-weight: 400;
    font-size: 15px;
    line-height: 25px;
    padding: 0 10px;
}

.st-Footer .st-Footer_Primary .st-Footer_r .img {
    text-align: right;
    margin-top: 5%;
}

.st-Footer .st-Footer_Primary .st-Footer_r .img img {
    max-width: 139px;
    margin-left: 15px;
}

.st-Footer .st-Footer_Copyright {
    background-color: #f8f8f8;
    text-align: center;
    padding: 2% 0;
}

.st-Footer .st-Footer_Copyright p {
    color: #444444;
    font-weight: 400;
    font-size: 15px;
    line-height: 22px;
}

.flow_top {
    width: 100%;
}

.flow_top .box {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    margin-bottom: 80px;
	
}

.flow_top .box_left {
    width: 100%;
    text-align: left;
}

.flow_top .box_right {
    width: 20%;
}

.flow_top h1 {
    font-size: 40px;
    color: #2f2f2f;
    font-weight: bold;
    margin-bottom: 10px;
}

.flow_top p {
    font-size: 18px;
    color: #000;
}

@media (max-width: 767px) {
    body {
        padding-bottom: 0;
    }

    .st-Footer .st-Footer_Primary {
        display: block;
    }

    .st-Footer .st-Footer_Primary .st-Footer_r {
        margin-top: 6%;
    }

    .st-Footer .st-Footer_Primary .st-Footer_r .img {
        text-align: center;
        margin-top: 6%;
    }

    .st-Footer .st-Footer_Primary .st-Footer_r .img img:first-child {
        margin-left: 0;
    }

    .flow_top .box_left {
        margin-left: 3%;
        box-sizing: border-box;
        width: 90%;
    }

    .st-Footer .st-Footer_Primary .st-Footer_l .logo {
        text-align: center;
		max-width: 175px;
        margin: 0 auto;
    }

    .st-Footer .st-Footer_Primary .st-Footer_l .txt {
        font-size: 13px;
        line-height: 1.5;
        margin-top: 3%;
        text-align: center;
    }
    .st-Footer .st-Footer_Primary .st-Footer_r .img img {
        width: 25%;
    }
}