@charset "UTF-8";
@layer generic {
    *,:after,:before {
        box-sizing: border-box;
        min-inline-size: 0;
        border-width: 0;
        border-style: solid
    }

    :where(:root,body) {
        overflow-inline: clip
    }

    @supports not (overflow-inline: clip) {
        : where(:root,body) {
            overflow-x:clip
        }
    }

    :where(:root) {
        font-family: Helvetica Neue,arial,Hiragino Kaku Gothic ProN,Hiragino Sans,BIZ UDPGothic,meiryo,sans-serif;
        font-style: unset;
        font-weight: 400;
        line-height: 1.5;
        text-align: start;
        text-spacing-trim: trim-start;
        text-rendering: optimizeLegibility;
        word-break: initial;
        line-break: strict;
        overflow-wrap: anywhere;
        -webkit-text-size-adjust: 100%;
        -moz-text-size-adjust: 100%;
        text-size-adjust: 100%;
        scrollbar-gutter: stable;
        interpolate-size: allow-keywords;
        -webkit-tap-highlight-color: rgba(0,0,0,0)
    }

    :where(:root):has(:where(:modal)) {
        overflow: hidden
    }

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

    :root {
        --background-current: currentColor
    }

    @media(forced-colors: active) {
        :root {
            --background-current: CanvasText
        }
    }

    :root {
        --ease-in-sine: cubic-bezier(0.47, 0, 0.745, 0.715);
        --ease-out-sine: cubic-bezier(0.39, 0.575, 0.565, 1);
        --ease-in-out-sine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
        --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
        --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
        --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
        --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
        --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
        --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
        --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
        --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
        --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
        --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
        --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
        --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
        --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
        --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
        --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
        --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
        --ease-in-back: cubic-bezier(0.6, -0.28, 0.735, 0.045);
        --ease-out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275);
        --ease-in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55)
    }

    :root {
        --shape-triangle-top: polygon(50% 0, 100% 100%, 0 100%);
        --shape-triangle-bottom: polygon(0 0, 100% 0, 50% 100%);
        --shape-triangle-right: polygon(0 0, 100% 50%, 0 100%);
        --shape-triangle-left: polygon(0 50%, 100% 0, 100% 100%);
        --shape-triangle-lower-left: polygon(0 0, 100% 100%, 0 100%);
        --shape-triangle-upper-left: polygon(0 0, 100% 0, 0 100%);
        --shape-triangle-lower-right: polygon(100% 0, 100% 100%, 0 100%);
        --shape-triangle-upper-right: polygon(0 0, 100% 0, 100% 100%)
    }

    :root {
        --line-height-trim: calc((1em - 1lh)/ 2)
    }

    :where(:lang(en)) {
        --line-height-trim: calc((1cap - 1lh)/2)
    }

    :where(:-moz-any-link,:enabled,summary) {
        --is-hover-true: ;
        --is-hover-false: initial
    }

    :where(:any-link,:enabled,summary) {
        --is-hover-true: ;
        --is-hover-false: initial
    }

    @media(any-hover: hover) {
        :where(:-moz-any-link,:enabled,summary):where(:hover) {
            --is-hover-true: initial;
            --is-hover-false:
        }

        :where(:any-link,:enabled,summary):where(:hover) {
            --is-hover-true: initial;
            --is-hover-false:
        }
    }

    :where(:-moz-any-link,:enabled,summary): where(:focus-visible) {
        --is-hover-true: initial;
        --is-hover-false:
    }

    :where(:any-link,:enabled,summary): where(:focus-visible) {
        --is-hover-true: initial;
        --is-hover-false:
    }

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

    :where(search) {
        display: block
    }

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

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

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

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

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

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

    :where(hr) {
        border-block-start-width: 1px
    }

    :where(pre) {
        -moz-tab-size: 2;
        -o-tab-size: 2;
        tab-size: 2
    }

    @media print {
        :where(pre) {
            white-space: pre-wrap
        }
    }

    :where(b,strong) {
        font-weight: 700
    }

    :where(em): where(:lang(ja, zh)) {
        font-weight:700
    }

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

    :where(small) {
        font-size: 1em;
        font-weight: 400
    }

    :where(:-moz-any-link) {
        background-color: unset;
        color: unset;
        text-decoration-line: none;
        text-decoration-thickness: from-font;
        text-underline-offset: .25em;
        text-decoration-skip-ink: auto
    }

    :where(:any-link) {
        background-color: unset;
        color: unset;
        text-decoration-line: none;
        text-decoration-thickness: from-font;
        text-underline-offset: .25em;
        -webkit-text-decoration-skip: ink;
        text-decoration-skip-ink: auto
    }

    :where(del) {
        text-decoration-style: double
    }

    :where(img,picture,svg,video,canvas,audio,iframe,embed,object) {
        display: block;
        max-inline-size: 100%;
        block-size: auto
    }

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

    :where(caption) {
        text-align: start
    }

    :where(td,th) {
        padding: unset;
        vertical-align: top
    }

    :where(th) {
        font-weight: 700;
        text-align: start
    }

    :where(button,input,select,textarea),: :file-selector-button {
        padding:unset;
        border: none;
        border-radius: unset;
        background-color: unset;
        color: unset;
        font: unset;
        vertical-align: middle;
        letter-spacing: unset;
        text-align: unset;
        text-transform: unset
    }

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

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

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

    :where(button),: :file-selector-button {
        inline-size:-moz-fit-content;
        inline-size: fit-content;
        touch-action: manipulation
    }

    :where(button): :-moz-focus-inner {
        padding:unset
    }

    :where(button,label[for],select,[role=tab],[role=button],[role=option]),: :file-selector-button {
        cursor:pointer
    }

    :where(select): where(:disabled) {
        opacity:inherit
    }

    :where(fieldset) {
        margin-inline: unset;
        padding: unset
    }

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

    :where(optgroup) {
        font: unset
    }

    ::-moz-placeholder {
        opacity: unset
    }

    ::placeholder {
        opacity: unset
    }

    ::picker(select) {
        display: block;
        padding: unset
    }

    :where(summary) {
        display: block;
        cursor: pointer
    }

    ::-webkit-details-marker {
        display: none
    }

    :where(dialog,[popover]) {
        overflow: unset;
        inline-size: unset;
        block-size: unset;
        max-inline-size: unset;
        max-block-size: unset;
        padding: unset;
        background-color: unset;
        color: unset
    }

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

    ::backdrop {
        background-color: unset
    }

    :where(:-moz-focusring) {
        outline: auto
    }

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

    :where(:focus):not(:where(:focus-visible)) {
        outline: 0
    }

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

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

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

    @media(prefers-reduced-motion: reduce) {
        :not([data-safe-animation]),:not([data-safe-animation])::before,:not([data-safe-animation])::after,:not([data-safe-animation])::backdrop {
            background-attachment: unset !important;
            scroll-behavior: unset !important;
            transition-delay: unset !important;
            transition-duration: 1ms !important;
            animation-duration: 1ms !important;
            animation-delay: unset !important;
            animation-iteration-count: unset !important;
            view-transition-name: none !important
        }
    }

    .leading-trim::before,.leading-trim::after {
        content: "";
        display: block;
        inline-size: 0;
        block-size: 1px
    }

    .leading-trim::before {
        margin-block-end:var(--line-height-trim)}

    .leading-trim: :after {
        margin-block-start:var(--line-height-trim)
    }

    .visually-hidden {
        position: fixed !important;
        inset: 0 !important;
        contain: strict !important;
        visibility: initial !important;
        inline-size: 4px !important;
        block-size: 4px !important;
        margin: unset !important;
        padding: unset !important;
        border: none !important;
        opacity: 0 !important;
        pointer-events: none !important
    }

    [lang=en] {
        font-family: var(--font-family-en);
        font-optical-sizing: auto
    }
}

@layer base {
    :root {
        background-color: var(--background-bg);
        color: var(--body-color);
        font-family: var(--font-family-base);
        font-weight: var(--font-weight-base);
        font-feature-settings: "pkna";
        line-height: var(--line-height-base);
        letter-spacing: var(--letter-spacing-base)
    }

    :-moz-any-link {
        text-decoration-color: var(--underline-base)
    }

    :any-link {
        text-decoration-color: var(--underline-base)
    }

    :where([id],: focus) {
        scroll-margin-block-start:var(--global-header-block-size)
    }

    ::-moz-placeholder {
        color: var(--color-placeholder)
    }

    ::placeholder {
        color: var(--color-placeholder)
    }
}

@layer base {
    :root {
        --rem: 0.0625rem;
        --em: 0.0625em
    }

    :root {
        --font-family-base: "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro", "ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ Pro W3", ãƒ¡ã‚¤ãƒªã‚ª, Meiryo, sans-serif;
        --font-family-en: "Heebo", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
        --font-size-min: 14;
        --font-size-max: 16;
        --font-normal: 400;
        --font-medium: 500;
        --font-semibold: 600;
        --font-bold: 700
    }

    :root {
        --line-height-tight: 1.25;
        --line-height-snug: 1.618;
        --line-height-normal: 1.5;
        --line-height-relaxed: 2;
        --line-height-loose: 2.8888888889
    }

    :root {
        --letter-spacing-tight: 0.03em;
        --letter-spacing-normal: 0.04em;
        --letter-spacing-relaxed: 0.05em
    }

    :root {
        --color-white: #ffffff;
        --color-black: #000000;
        --color-light-black: #E3E3E3;
        --color-light: #F5F4F0;
        --color-dark: #1A1311;
        --color-primary: #F27E02;
        --color-secondary: #686660;
        --color-emphasis: #FEA800;
        --color-accent: #14499F;
        --color-invalid: #C61717;
        --color-placeholder: color-mix(in sRGB, currentColor 80%, transparent);
        --underline-base: color-mix(in sRGB, currentColor 60%, transparent);
        --color-gradient-primary: linear-gradient(90deg, var(--color-primary), var(--color-emphasis));
        --color-gradient-hover: linear-gradient(90deg, var(--color-emphasis), var(--color-primary))
    }

    :root {
        --ratio-mobile: 1.5
    }

    :root {
        --layout-width-min: 375;
        --layout-width-max: 1196
    }

    :root {
        --spacing-block-xs-mobile: min(2.6666666667dvi, calc(10px * var(--ratio-mobile)));
        --spacing-block-sm-mobile: min(5.3333333333dvi, calc(20px * var(--ratio-mobile)));
        --spacing-block-md-mobile: min(8dvi, calc(30px * var(--ratio-mobile)));
        --spacing-block-lg-mobile: min(10.6666666667dvi, calc(40px * var(--ratio-mobile)));
        --spacing-block-xl-mobile: min(16dvi, calc(60px * var(--ratio-mobile)));
        --spacing-block-xxl-mobile: min(21.3333333333dvi, calc(80px * var(--ratio-mobile)));
        --spacing-block-xs-pc: 1.875dvi;
        --spacing-block-sm-pc: 3.125dvi;
        --spacing-block-md-pc: 3.75dvi;
        --spacing-block-lg-pc: 6.25dvi;
        --spacing-block-xl-pc: 10dvi;
        --spacing-block-xxl-pc: 12.5dvi
    }

    :root {
        --slope-angle: 3.13;
        --slope-tan: 0.05463846413255361
    }

    :root {
        --clip-offset: 5.56dvi
    }

    :root {
        --aspect-slope: 1;
        --aspect-video: 16 / 9;
        --aspect-thumbnail: 3 / 2
    }

    :root {
        --global-header-block-size: min(13.3333333333dvi, calc(60px * var(--ratio-mobile)))
    }

    @media(min-width: 992px) {
        :root {
            --global-header-block-size: 80px
        }
    }

    :root {
        --duration-rapidly: 0.1s;
        --duration-default: 0.5s;
        --duration-relaxed: 0.75s
    }

    :root {
        --rounded-sm: calc(10 * var(--rem));
        --rounded-md: calc(15 * var(--rem));
        --rounded-lg: calc(20 * var(--rem));
        --rounded-full: calc(1px / 0)
    }

    :root {
        --z-index-header: 1000;
        --z-index-overlay: 1001
    }

    :root {
        --icon-arrow-upperRight: url('data:image/svg+xml,<svg height="27.351" viewBox="0 0 27.351 27.351" width="27.351" xmlns="http://www.w3.org/2000/svg"><path d="m196.171-757.331h-15.171a.967.967 0 0 1 -.713-.287.967.967 0 0 1 -.287-.713.967.967 0 0 1 .287-.713.967.967 0 0 1 .713-.287h15.171l-6.893-6.893a.94.94 0 0 1 -.294-.7.991.991 0 0 1 .314-.709 1.045 1.045 0 0 1 .7-.3.932.932 0 0 1 .7.3l8.455 8.455a1.1 1.1 0 0 1 .264.4 1.281 1.281 0 0 1 .077.449 1.281 1.281 0 0 1 -.077.449 1.1 1.1 0 0 1 -.264.4l-8.455 8.455a.954.954 0 0 1 -.686.283 1 1 0 0 1 -.719-.283.981.981 0 0 1 -.31-.713.981.981 0 0 1 .31-.713z" transform="matrix(.70710678 -.70710678 .70710678 .70710678 415.729 684.076)"/></svg>');
        --icon-arrowRight: url('data:image/svg+xml,<svg viewBox="0 0 12 11.8" xmlns="http://www.w3.org/2000/svg"><path d="m9.95 5.27h-9.33c-.16 0-.32.06-.44.18s-.18.28-.18.44.06.32.18.44.27.18.44.18h9.34l-4.24 4.24c-.12.11-.18.27-.18.43 0 .17.07.32.19.44.12.11.27.18.43.18s.32-.06.43-.18l5.2-5.2c.07-.07.13-.15.16-.24s.05-.18.05-.28c0-.09-.01-.19-.05-.28s-.09-.17-.16-.24l-5.2-5.21c-.12-.11-.27-.17-.43-.17-.17 0-.32.06-.44.17s-.19.27-.19.44.07.33.19.44z"/></svg>');
        --icon-arrowLeft: url('data:image/svg+xml,<svg viewBox="0 0 12 11.8" xmlns="http://www.w3.org/2000/svg"><path d="m2.04 5.27h9.34c.16 0 .32.06.44.18s.18.27.18.44c0 .16-.06.32-.18.44s-.27.18-.44.18h-9.34l4.24 4.24c.12.11.18.27.18.43 0 .17-.07.32-.19.44-.12.11-.27.18-.43.18s-.32-.06-.43-.18l-5.2-5.21c-.07-.07-.13-.15-.16-.24s-.05-.18-.05-.28c0-.09.01-.19.05-.28s.09-.17.16-.24l5.2-5.2c.11-.11.26-.17.42-.17.17 0 .32.06.44.17s.19.27.19.44-.07.33-.19.44z"/></svg>');
        --icon-blank: url('data:image/svg+xml,<svg height="14" viewBox="0 0 14 14" width="14" xmlns="http://www.w3.org/2000/svg"><path d="m161.414-786a1.369 1.369 0 0 1 -1.009-.4 1.369 1.369 0 0 1 -.4-1.009v-11.173a1.369 1.369 0 0 1 .4-1.009 1.369 1.369 0 0 1 1.009-.4h4.476a.424.424 0 0 1 .312.125.424.424 0 0 1 .125.312.424.424 0 0 1 -.125.312.424.424 0 0 1 -.312.125h-4.476a.515.515 0 0 0 -.37.168.515.515 0 0 0 -.168.37v11.173a.515.515 0 0 0 .168.37.515.515 0 0 0 .37.168h11.173a.515.515 0 0 0 .37-.168.515.515 0 0 0 .168-.37v-4.476a.424.424 0 0 1 .125-.312.424.424 0 0 1 .312-.125.424.424 0 0 1 .312.125.424.424 0 0 1 .125.312v4.476a1.369 1.369 0 0 1 -.4 1.009 1.369 1.369 0 0 1 -1.009.4zm11.711-12.506-7.794 7.794a.441.441 0 0 1 -.3.131.41.41 0 0 1 -.318-.131.43.43 0 0 1 -.14-.31.429.429 0 0 1 .14-.31l7.794-7.794h-3.318a.424.424 0 0 1 -.312-.125.424.424 0 0 1 -.125-.312.424.424 0 0 1 .125-.312.424.424 0 0 1 .312-.125h4.106a.686.686 0 0 1 .506.2.686.686 0 0 1 .2.506v4.106a.424.424 0 0 1 -.125.312.424.424 0 0 1 -.312.125.424.424 0 0 1 -.312-.125.424.424 0 0 1 -.125-.312z" transform="translate(-160 800)"/></svg>');
        --icon-play: url('data:image/svg+xml,<svg height="100" viewBox="0 0 100 100" width="100" xmlns="http://www.w3.org/2000/svg"><path d="m164.1-773.44 21.314-13.729a3.164 3.164 0 0 0 1.624-2.82 3.212 3.212 0 0 0 -1.624-2.842l-21.314-13.729a3.021 3.021 0 0 0 -3.435-.2 3.227 3.227 0 0 0 -1.779 3.033v27.458a3.227 3.227 0 0 0 1.779 3.033 3.021 3.021 0 0 0 3.435-.204zm5.918 33.44a48.73 48.73 0 0 1 -19.5-3.936 50.531 50.531 0 0 1 -15.883-10.683 50.452 50.452 0 0 1 -10.693-15.869 48.621 48.621 0 0 1 -3.942-19.494 48.732 48.732 0 0 1 3.936-19.5 50.532 50.532 0 0 1 10.683-15.883 50.447 50.447 0 0 1 15.869-10.693 48.623 48.623 0 0 1 19.494-3.942 48.731 48.731 0 0 1 19.5 3.936 50.532 50.532 0 0 1 15.883 10.683 50.452 50.452 0 0 1 10.693 15.869 48.622 48.622 0 0 1 3.942 19.494 48.731 48.731 0 0 1 -3.936 19.5 50.533 50.533 0 0 1 -10.683 15.883 50.449 50.449 0 0 1 -15.869 10.693 48.622 48.622 0 0 1 -19.494 3.942zm-.018-5.556a42.9 42.9 0 0 0 31.528-12.917 42.9 42.9 0 0 0 12.916-31.527 42.9 42.9 0 0 0 -12.917-31.528 42.9 42.9 0 0 0 -31.527-12.917 42.9 42.9 0 0 0 -31.528 12.917 42.9 42.9 0 0 0 -12.916 31.528 42.9 42.9 0 0 0 12.917 31.528 42.9 42.9 0 0 0 31.527 12.916z" transform="translate(-120 840)"/></svg>');
        --icon-index: url('data:image/svg+xml,<svg height="28" viewBox="0 0 28 28" width="28" xmlns="http://www.w3.org/2000/svg"><path d="m225-709.23a2.135 2.135 0 0 1 -1.582-.662 2.193 2.193 0 0 1 -.651-1.593 2.135 2.135 0 0 1 .662-1.582 2.193 2.193 0 0 1 1.593-.651 2.135 2.135 0 0 1 1.582.662 2.192 2.192 0 0 1 .651 1.593 2.135 2.135 0 0 1 -.662 1.582 2.192 2.192 0 0 1 -1.593.651zm11.756 0a2.135 2.135 0 0 1 -1.582-.662 2.193 2.193 0 0 1 -.651-1.593 2.135 2.135 0 0 1 .662-1.582 2.193 2.193 0 0 1 1.593-.651 2.135 2.135 0 0 1 1.582.662 2.192 2.192 0 0 1 .651 1.593 2.135 2.135 0 0 1 -.662 1.582 2.192 2.192 0 0 1 -1.59.651zm11.756 0a2.135 2.135 0 0 1 -1.582-.662 2.193 2.193 0 0 1 -.651-1.593 2.135 2.135 0 0 1 .662-1.582 2.193 2.193 0 0 1 1.593-.651 2.135 2.135 0 0 1 1.582.662 2.192 2.192 0 0 1 .651 1.593 2.135 2.135 0 0 1 -.662 1.582 2.192 2.192 0 0 1 -1.59.651zm-23.512-11.756a2.135 2.135 0 0 1 -1.582-.662 2.192 2.192 0 0 1 -.651-1.593 2.135 2.135 0 0 1 .662-1.582 2.192 2.192 0 0 1 1.593-.651 2.135 2.135 0 0 1 1.582.662 2.193 2.193 0 0 1 .651 1.593 2.135 2.135 0 0 1 -.662 1.582 2.192 2.192 0 0 1 -1.593.651zm11.756 0a2.135 2.135 0 0 1 -1.582-.662 2.192 2.192 0 0 1 -.651-1.593 2.135 2.135 0 0 1 .662-1.582 2.192 2.192 0 0 1 1.593-.651 2.135 2.135 0 0 1 1.582.662 2.192 2.192 0 0 1 .651 1.593 2.135 2.135 0 0 1 -.662 1.582 2.192 2.192 0 0 1 -1.59.651zm11.756 0a2.135 2.135 0 0 1 -1.582-.662 2.192 2.192 0 0 1 -.651-1.593 2.135 2.135 0 0 1 .662-1.582 2.192 2.192 0 0 1 1.593-.651 2.135 2.135 0 0 1 1.582.662 2.192 2.192 0 0 1 .651 1.593 2.135 2.135 0 0 1 -.662 1.582 2.192 2.192 0 0 1 -1.59.651zm-23.512-11.756a2.134 2.134 0 0 1 -1.582-.662 2.192 2.192 0 0 1 -.648-1.596 2.135 2.135 0 0 1 .662-1.582 2.192 2.192 0 0 1 1.593-.651 2.135 2.135 0 0 1 1.582.662 2.192 2.192 0 0 1 .651 1.593 2.135 2.135 0 0 1 -.662 1.582 2.192 2.192 0 0 1 -1.596.654zm11.756 0a2.135 2.135 0 0 1 -1.582-.662 2.192 2.192 0 0 1 -.651-1.593 2.135 2.135 0 0 1 .662-1.582 2.192 2.192 0 0 1 1.593-.651 2.134 2.134 0 0 1 1.582.662 2.192 2.192 0 0 1 .651 1.593 2.135 2.135 0 0 1 -.662 1.582 2.192 2.192 0 0 1 -1.59.651zm11.756 0a2.135 2.135 0 0 1 -1.582-.662 2.192 2.192 0 0 1 -.651-1.593 2.135 2.135 0 0 1 .662-1.582 2.192 2.192 0 0 1 1.593-.651 2.134 2.134 0 0 1 1.582.662 2.192 2.192 0 0 1 .651 1.593 2.135 2.135 0 0 1 -.662 1.582 2.192 2.192 0 0 1 -1.59.651z" transform="translate(-222.77 737.23)"/></svg>');
        --icon-check: url('data:image/svg+xml,<svg height="9.753" viewBox="0 0 14 9.753" width="14" xmlns="http://www.w3.org/2000/svg"><path d="m195.882-674.417 8.532-8.532a.492.492 0 0 1 .334-.151.456.456 0 0 1 .352.151.484.484 0 0 1 .16.346.483.483 0 0 1 -.16.346l-8.669 8.675a.752.752 0 0 1 -.548.235.752.752 0 0 1 -.548-.235l-3.926-3.926a.484.484 0 0 1 -.148-.336.469.469 0 0 1 .154-.355.483.483 0 0 1 .346-.16.484.484 0 0 1 .346.16z" transform="translate(-191.259 683.101)"/></svg>')
    }

    *,:after,:before {
        font-size: min(3.7333333333dvi,14px*var(--ratio-mobile))
    }

    @media(min-width: 992px) {
        *,:after,:before {
            font-size:clamp(16px,1dvi,20px)
        }
    }

    :root {
        --body-bg: var(--color-white);
        --body-color: var(--color-dark);
        --font-weight-base: var(--font-normal);
        --line-height-base: var(--line-height-snug);
        --letter-spacing-base: var(--letter-spacing-normal);
        --border-color: var(--color-light-black);
        --bg-color: var(--color-light);
        --duration-base: var(--duration-default);
        --ease-base: var(--ease-out-expo);
        --fluid-ratio-min: calc(1 / var(--layout-width-min) * 100dvi);
        --fluid-ratio-max: calc(1 / var(--layout-width-max) * 100dvi);
        --spacing-gutter-mobile: calc(25 * var(--fluid-ratio-min));
        --spacing-gutter-pc: calc(60 * var(--fluid-ratio-max));
        --slope: skewY(calc(-1 * var(--slope-angle) * 1deg));
        --slope-positive: skewY(calc(var(--slope-angle) * 1deg));
        --slope-spacing-block: calc((var(--slope-tan) / 2) * 100%);
        --clip-top: polygon(0% var(--clip-offset), 100% 0%, 100% 100%, 0% 100%);
        --clip-bottom: polygon(0% 100%, 100% 0%, 100% var(--clip-offset), 0% 100%);
        --clip-x: polygon(0 var(--clip-offset), 100% 0, 100% calc(100% - var(--clip-offset)), 0% 100%)
    }
}
body {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, sans-serif;
    color: #1A1311;
    font-weight:300;
    display: flex;
            flex-direction: column;
            min-height: 100vh;
}

a {
    /* color:currentColor; */
  text-decoration: none;
}

.text__en {
    font-family: "Heebo", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}

h1 {
    font-size: clamp(48px, 1.8vw, 60px);
}

h1.text__en {
    font-weight: bold;
}

h1.pageHeader__heading {
    font-family: "Heebo", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    font-weight: bold;
    margin-top: 30px;
}

h1.pageHeader__heading::first-letter {
    color: #0092d7;
}

@media(min-width: 992px) {
    .pageHeader__heading {
        font-size: 60px;

    }
}

h2 {
    /* font-size: 36px; */
    margin: 10px 0;
}


h3 {
    font-size: 24px;
}


img {
    width: 100%;
    height: auto;
}

.c-pageHeader__heading {
font-weight: 500;
}

#content {
    padding-top: 20px;
    padding-bottom: 20px;
}

#content-wrap {
    margin: 0 auto;
    background-color: white;
}

#sidebar {
    text-align: center;
}

footer {
    background-color: #686660;
    color: #b2b2b2;
    margin-top: auto;;
}

footer p {
    padding: 15px 0;
    font-size: 12px;
}

/*footer logo*/
@media(min-width: 0px) {
    footer img.logo {
        width: 40%;
    }
}

@media(min-width: 576px) {
    footer img.logo {
        width: 172px;
    }
}

#catchphrase {
    margin-bottom: 0;
    padding-bottom: 0.5rem;
    font-size: 13px;
}


/*color*/
.bg-color-blue {
    background-color: #0092d7;
}

.bg-color-blue50 {
    background-color: #96c7eb;
}

.bg-color-gray {
    background-color: #fcfcfc;
}

.bg-color-sky {
    background-color: #00b9e7;
}

.bg-color-sky50 {
    background-color: #addef4;
}

/*header*/
l-header {
    position: sticky;
    top: 0;
    z-index: var(--z-index-header);
    grid-area: header;
}

/*navbar*/
.navbar {
    background-color: #FFFFFF;
}

.navbar-brand img {
    width: 152px;
}

.navbar .navbar-nav .nav-link,
.navbar .navbar-nav .active>.nav-link {
    color: #1A1311;
}

.navbar .navbar-nav .nav-link:focus,
.navbar .navbar-nav .nav-link:hover {
    color: #1A1311;
    opacity: 0.5;
}

.navbar-toggler {
    background-color: #00b9e7;
    border: none;
    border-radius: 0;

}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
    margin: 8px 0;
}




/*footer*/

footer h5 {
    color: #FFFFFF;
    font-weight: bold;
}

footer a.nav-link,
footer .active>a.nav-link {
    color: #b2b2b2;
}

footer a.nav-link:focus,
footer a.nav-link:hover {
    color: #b2b2b2;
    opacity: 0.5;
}

/*media size*/
@media(min-width: 0) {
    .u-xs-none {
        display: none !important
    }

    .u-xs-block {
        display: block !important
    }
}

@media(min-width: 576px) {
    .u-sm-none {
        display: none !important
    }

    .u-sm-block {
        display: block !important
    }
}

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

    .u-md-block {
        display: block !important
    }
}

@media(min-width: 992px) {
    .u-lg-none {
        display: none !important
    }

    .u-lg-block {
        display: block !important
    }
}

@media(min-width: 1200px) {
    .u-xl-none {
        display: none !important
    }

    .u-xl-block {
        display: block !important
    }
}

@media(min-width: 1400px) {
    .u-xxl-none {
        display: none !important
    }

    .u-xxl-block {
        display: block !important
    }
}

@media(max-width: 575px) {
    .u-min-sm-none {
        display: none !important
    }

    .u-min-sm-block {
        display: block !important
    }
}

@media(max-width: 767px) {
    .u-min-md-none {
        display: none !important
    }

    .u-min-md-block {
        display: block !important
    }
}

@media(max-width: 991px) {
    .u-min-lg-none {
        display: none !important
    }

    .u-min-lg-block {
        display: block !important
    }
}

@media(max-width: 1199px) {
    .u-min-xl-none {
        display: none !important
    }

    .u-min-xl-block {
        display: block !important
    }
}

@media(max-width: 1399px) {
    .u-min-xxl-none {
        display: none !important
    }

    .u-min-xxl-block {
        display: block !important
    }
}
@layer components {
    .c-container {
        --_container-size-min: 880px;
        width: calc(100dvi - var(--spacing-gutter-mobile)*2);
        margin-inline:auto}

    @media(min-width: 992px) {
        .c-container {
            width:max(74.75dvi,var(--_container-size-min))
        }
    }

    @media(min-width: 992px) {
        .c-container.--md {
            width:max(62dvi,var(--_container-size-min))
        }
    }

    @media(min-width: 768px) {
        .c-container.--lg {
            width:100%;
            padding-inline:2.5dvi}
    }

    .c-contentWrapper {
        margin-top: min(8dvi,30px*var(--ratio-mobile))
    }

    @media(min-width: 992px) {
        .c-contentWrapper {
            margin-top:3.75dvi
        }
    }

    .c-ul {
        list-style-type: disc;
        padding-left: 1em;
        line-height: var(--line-height-normal)
    }

    @supports(-webkit-touch-callout: none) {
        .c-ul {
            padding-left: 1.5em
        }
    }

    @media(min-width: 992px) {
        .c-ul {
            line-height:var(--line-height-relaxed)
        }
    }

    .c-ul li: not(:first-child) {
        margin-top:.1em
    }

    .c-ul li: :marker {
        color:var(--color-secondary)
    }

    .c-ol {
        list-style-type: revert;
        padding-left: 1em;
        line-height: var(--line-height-normal)
    }

    @supports(-webkit-touch-callout: none) {
        .c-ol {
            padding-left: 1.5em
        }
    }

    @media(min-width: 992px) {
        .c-ol {
            line-height:var(--line-height-relaxed)
        }
    }

    .c-ol li: not(:first-child) {
        margin-top:.1em
    }

    .c-text {
        line-height: var(--line-height-normal)
    }

    @media(min-width: 992px) {
        .c-text {
            line-height:var(--line-height-relaxed)
        }
    }

    .c-text.--note {
        font-size: min(3.2dvi,12px*var(--ratio-mobile));
        padding-left: 1em;
        text-indent: -1em
    }

    @media(min-width: 992px) {
        .c-text.--note {
            font-size:max(.8125dvi,12px)
        }
    }

    .c-text__link {
        color: var(--color-secondary);
        font-weight: var(font-normal);
        display: inline-flex;
        -moz-column-gap: .5em;
        column-gap: .5em
    }

    .c-text__link span {
        text-decoration: underline
    }

    .c-text__link[target=_blank]: :after {
        content:"";
        width: 1em;
        aspect-ratio: 1;
        background-color: var(--color-secondary);
        display: inline-block;
        -webkit-mask: var(--icon-blank) no-repeat center/contain;
        mask: var(--icon-blank) no-repeat center/contain
    }

    @media(any-hover: hover) {
        .c-text__link:hover span {
            text-decoration:none
        }
    }

    .c-heading {
        font-size: min(5.3333333333dvi,20px*var(--ratio-mobile));
        font-weight: var(--font-bold);
        line-height: var(--line-height-tight)
    }

    @media(min-width: 992px) {
        .c-heading {
            font-size:max(1.75dvi,24px)
        }
    }

    .c-heading.--md {
        font-size: min(4.2666666667dvi,16px*var(--ratio-mobile))
    }

    @media(min-width: 992px) {
        .c-heading.--md {
            font-size:max(1.375dvi,20px)
        }
    }

    .c-heading.--lg {
        font-size: min(5.8666666667dvi,22px*var(--ratio-mobile))
    }

    @media(min-width: 992px) {
        .c-heading.--lg {
            font-size:max(2dvi,28px)
        }
    }

    .c-heading.--xl {
        font-size: min(6.9333333333dvi,26px*var(--ratio-mobile))
    }

    @media(min-width: 992px) {
        .c-heading.--xl {
            font-size:max(2.75dvi,38px)
        }
    }

    .c-heading.--accent {
        color: var(--color-accent)
    }

    .c-heading.--secondary {
        color: var(--color-secondary)
    }

    .c-heading.--hasBorder: :after {
        content:"";
        width: 100%;
        height: 1px;
        display: block;
        background: linear-gradient(to right, var(--color-primary) 0%, var(--color-primary) 6%, var(--border-color) 6%, var(--border-color) 100%);
        margin-top: 1em
    }

    @media(min-width: 992px) {
        .c-heading.--hasBorder::after {
            background:linear-gradient(to right, var(--color-primary) 0%, var(--color-primary) 3%, var(--border-color) 3%, var(--border-color) 100%)
        }
    }

    .c-heading__sub {
        color: var(--color-primary);
        font-size: min(3.4666666667dvi,13px*var(--ratio-mobile));
        font-weight: var(--font-bold);
        line-height: var(--line-height-snug);
        order: -1
    }

    @media(min-width: 992px) {
        .c-heading__sub {
            font-size:max(1dvi,14px)
        }
    }

    .c-heading__sub.--en {
        font-size: min(3.7333333333dvi,14px*var(--ratio-mobile))
    }

    @media(min-width: 992px) {
        .c-heading__sub.--en {
            font-size:max(1.125dvi,16px)
        }
    }

    .c-heading__sub.--en--sm {
        font-size: min(3.2dvi,12px*var(--ratio-mobile))
    }

    @media(min-width: 992px) {
        .c-heading__sub.--en--sm {
            font-size:max(.875dvi,12px)
        }
    }

    .c-heading__wrapper:has(.c-heading__sub) {
        display: grid;
        grid-template-rows: repeat(2, auto);
        row-gap: .5em
    }

    .c-btn {
        display: inline-grid;
        grid-template-columns: repeat(2, auto);
        -moz-column-gap: min(4dvi,15px*var(--ratio-mobile));
        column-gap: min(4dvi,15px*var(--ratio-mobile));
        align-items: center
    }

    @media(min-width: 992px) {
        .c-btn {
            -moz-column-gap:1.25dvi;
            column-gap: 1.25dvi
        }
    }

    @media(any-hover: hover) {
        .c-btn:hover .c-btn__label {
            color:var(--color-primary)
        }

        .c-btn:hover .c-btn__icon::before {
            filter: opacity(1)
        }
    }

    .c-btn__label {
        font-size: min(4.2666666667dvi,16px*var(--ratio-mobile));
        font-weight: var(--font-medium);
        line-height: var(--line-height-tight);
        transition: color var(--duration-base) var(--ease-base)
    }

    @media(min-width: 992px) {
        .c-btn__label {
            font-size:max(1.25dvi,16px)
        }
    }

    .c-btn__icon {
        width: min(11.7333333333dvi,44px*var(--ratio-mobile));
        aspect-ratio: 1;
        background: var(--color-gradient-primary);
        border-radius: var(--rounded-full);
        justify-self: end;
        display: grid;
        place-items: center;
        position: relative;
        overflow: hidden
    }

    @media(min-width: 992px) {
        .c-btn__icon {
            width:4.375dvi
        }
    }

    .c-btn__icon::before {
        content: "";
        background: var(--color-gradient-hover);
        position: absolute;
        inset: 0;
        z-index: 1;
        filter: opacity(0);
        transition: filter var(--duration-relaxed) var(--ease-base)
    }

    .c-btn__icon::after {
        content: "";
        width: 40%;
        aspect-ratio: 1;
        background-color: var(--color-white);
        display: block;
        position: relative;
        z-index: 2;
        -webkit-mask: var(--icon-arrow-upperRight) no-repeat center/contain;
        mask: var(--icon-arrow-upperRight) no-repeat center/contain
    }

    .c-pageHeader {
        margin-top: var(--spacing-block-sm-mobile)
    }

    @media(min-width: 992px) {
        .c-pageHeader {
            margin-top:var(--spacing-block-sm-pc)
        }
    }

    .c-pageHeader__heading__en {
        font-size: min(9.6dvi,36px*var(--ratio-mobile));
        font-weight: var(--font-semibold);
        line-height: var(--line-height-tight)
    }

    @media(min-width: 992px) {
        .c-pageHeader__heading__en {
            font-size:5.3125dvi
        }
    }

    .c-pageHeader__heading__en::first-letter {
        color: var(--color-primary)
    }

    .c-pageHeader__heading__ja {
        color: var(--color-secondary);
        font-size: min(3.4666666667dvi,15px);
        font-weight: var(--font-semibold);
        line-height: var(--line-height-tight);
        margin-top: .5em
    }

    @media(min-width: 992px) {
        .c-pageHeader__heading__ja {
            font-size:max(.875dvi,13px);
            margin-top: .3125dvi
        }
    }

    .c-slope {
        padding-block:var(--slope-spacing-block);position: relative
    }

    .c-slope__wrapper {
        aspect-ratio: calc(var(--aspect-slope) + var(--slope-tan));
        transform: var(--slope);
        border-radius: var(--rounded-md);
        background-color: var(--color-light);
        overflow: hidden;
        position: relative
    }

    .c-slope__inner {
        width: calc(100% + 2*var(--slope-tan)*100%);
        height: calc(100% + 2*var(--slope-tan)*100%*var(--aspect-slope));
        position: absolute;
        top: 50%;
        left: 50%;
        translate: -50% -50%;
        transform: var(--slope-positive)
    }

    .c-slope__textEN {
        display: none
    }

    @media(min-width: 992px) {
        .c-slope__textEN {
            color:var(--color-primary);
            font-size: 3.75vw;
            font-weight: var(--font-semibold);
            line-height: 1;
            text-align: center;
            writing-mode: vertical-rl;
            filter: opacity(0.8);
            display: inline-block;
            height: 100%;
            position: absolute;
            top: 0;
            z-index: 1
        }

        .c-slope__textEN.--right {
            right: -0.1em
        }

        .c-slope__textEN.--left {
            left: -0.18em
        }

        .c-slope__textEN.--mix-multiply {
            mix-blend-mode: multiply
        }

        .c-slope__textEN.--mix-screen {
            mix-blend-mode: screen
        }
    }

    .c-objectfit.--cover {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }

    .c-articles {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(min(240 * var(--rem), 100%), 1fr));
        gap: min(8dvi,30px*var(--ratio-mobile)) min(5.3333333333dvi,20px*var(--ratio-mobile))
    }

    @media(min-width: 992px) {
        .c-articles {
            grid-template-columns:repeat(3, 1fr);
            gap: 2dvi 1.75dvi
        }
    }

    .c-articles__item {
        display: grid;
        grid-template: subgrid/[full] auto [full-end];
        grid-row: span 4;
        gap: min(2.6666666667dvi,10px*var(--ratio-mobile)) 0
    }

    @media(min-width: 992px) {
        .c-articles__item {
            gap:.625dvi 0
        }
    }

    .c-articles__title {
        grid-area: 3/full
    }

    .c-articles__title__link {
        font-size: min(4dvi,15px*var(--ratio-mobile));
        font-weight: var(--font-bold);
        display: -webkit-box;
        width: 100%;
        overflow: clip;
        text-overflow: ellipsis;
        -webkit-box-orient: block-axis;
        -webkit-line-clamp: 2;
        transition: color var(--duration-base) var(--ease-base)
    }

    @media(min-width: 992px) {
        .c-articles__title__link {
            font-size:max(1dvi,16px)
        }
    }

    .c-articles__title__link:is(.c-articles__item:has(.c-articles__link:focus-visible) *) {
        color: var(--color-primary)
    }

    @media(any-hover: hover) {
        .c-articles__title__link:is(.c-articles__item:has(.c-articles__link:hover) *) {
            color:var(--color-primary)
        }
    }

    .c-articles__date {
        grid-area: 2/full;
        color: var(--color-secondary);
        font-family: var(--font-family-en);
        font-size: min(3.4666666667dvi,13px*var(--ratio-mobile));
        font-weight: var(--font-semibold)
    }

    @media(min-width: 992px) {
        .c-articles__date {
            font-size:max(.8125dvi,13px)
        }
    }

    .c-articles__category {
        grid-area: 4/full;
        border-top: 1px solid var(--border-color);
        margin-top: min(1.3333333333dvi,5px*var(--ratio-mobile));
        padding-top: min(4dvi,15px*var(--ratio-mobile))
    }

    @media(min-width: 992px) {
        .c-articles__category {
            margin-top:.3125dvi;
            padding-top: .9375dvi
        }
    }

    .c-articles__category__link {
        display: inline-block;
        font-size: min(3.2dvi,12px*var(--ratio-mobile));
        font-weight: var(--font-medium);
        background-color: var(--color-white);
        border-radius: var(--rounded-full);
        padding: .6em 2em;
        transition: color var(--duration-base) var(--ease-base),background-color var(--duration-base) var(--ease-base)
    }

    @media(min-width: 992px) {
        .c-articles__category__link {
            font-size:max(.8125dvi,13px)
        }
    }

    @media(any-hover: hover) {
        .c-articles__category__link:hover {
            color:var(--color-white);
            background-color: var(--color-primary)
        }
    }

    .c-articles__thumbnail {
        display: block;
        grid-area: 1/full;
        aspect-ratio: var(--aspect-thumbnail);
        border-radius: var(--rounded-sm);
        contain: content
    }

    .c-articles__thumbnail__img {
        transition: scale var(--duration-base) var(--ease-base)
    }

    .c-articles__thumbnail__img:is(.c-articles__item:has(.c-articles__link:focus-visible) *) {
        scale: 1.1
    }

    @media(any-hover: hover) {
        .c-articles__thumbnail__img:is(.c-articles__item:has(.c-articles__link:hover) *) {
            scale:1.1
        }
    }

    .c-nav__about {
        margin-top: var(--spacing-block-md-mobile)
    }

    @media(min-width: 992px) {
        .c-nav__about {
            margin-top:var(--spacing-block-md-pc)
        }
    }

    .c-nav__about__inner {
        position: relative
    }

    .c-nav__about__list {
        position: absolute;
        top: 50%;
        left: 50%;
        translate: -50% -50%;
        z-index: 1
    }

    @media(min-width: 992px) {
        .c-nav__about__list {
            display:grid;
            grid-template-columns: repeat(3, 1fr);
            -moz-column-gap: 1.75dvi;
            column-gap: 1.75dvi
        }
    }

    .c-nav__about__item {
        margin-inline:5.3333333333dvi}

    @media(min-width: 992px) {
        .c-nav__about__item {
            margin-inline:0
        }
    }

    .c-nav__about__item:first-child .c-nav__about__link {
        border-top: 1px solid hsla(0,0%,100%,.26)
    }

    .c-nav__about__link {
        color: var(--color-white);
        display: grid;
        grid-template-columns: 1fr auto;
        -moz-column-gap: min(2.6666666667dvi,10px*var(--ratio-mobile));
        column-gap: min(2.6666666667dvi,10px*var(--ratio-mobile));
        align-items: center;
        padding-block:1em;border-bottom: 1px solid hsla(0,0%,100%,.26)
    }

    @media(min-width: 992px) {
        .c-nav__about__link {
            -moz-column-gap:.625dvi;
            column-gap: .625dvi;
            padding-block:1.75em;border-top: 1px solid hsla(0,0%,100%,.26)
        }
    }

    @media(any-hover: hover) {
        .c-nav__about__link:hover .c-nav__about__text {
            translate:1.3333333333dvi
        }
    }

    @media(any-hover: hover)and (min-width: 992px) {
        .c-nav__about__link:hover .c-nav__about__text {
            translate:.5dvi
        }
    }

    @media(any-hover: hover) {
        .c-nav__about__link:hover .c-nav__about__icon::before {
            filter:opacity(1)
        }
    }

    .c-nav__about__text {
        transition: translate var(--duration-base) var(--ease-base)
    }

    .c-nav__about__text__en {
        font-size: min(2.9333333333dvi,11px*var(--ratio-mobile));
        font-weight: var(--font-semibold);
        display: block
    }

    @media(min-width: 992px) {
        .c-nav__about__text__en {
            font-size:max(.75dvi,10px)
        }
    }

    .c-nav__about__text__ja {
        font-size: min(4.2666666667dvi,16px*var(--ratio-mobile));
        font-weight: var(--font-bold);
        display: block
    }

    @media(min-width: 992px) {
        .c-nav__about__text__ja {
            font-size:max(1.75dvi,20px)
        }
    }

    .c-nav__about__icon {
        width: min(8dvi,30px*var(--ratio-mobile));
        aspect-ratio: 1;
        background: var(--color-gradient-primary);
        border-radius: var(--rounded-full);
        justify-self: end;
        display: grid;
        place-items: center;
        position: relative;
        overflow: hidden
    }

    @media(min-width: 992px) {
        .c-nav__about__icon {
            width:max(3dvi,38px)
        }
    }

    .c-nav__about__icon::before {
        content: "";
        background: var(--color-gradient-hover);
        position: absolute;
        inset: 0;
        z-index: 1;
        filter: opacity(0);
        transition: filter var(--duration-relaxed) var(--ease-base)
    }

    .c-nav__about__icon::after {
        content: "";
        width: 40%;
        aspect-ratio: 1;
        background-color: var(--color-white);
        display: block;
        position: relative;
        z-index: 2;
        -webkit-mask: var(--icon-arrow-upperRight) no-repeat center/contain;
        mask: var(--icon-arrow-upperRight) no-repeat center/contain
    }

    .c-nav__about__bg__inner {
        --aspect-slope: 1 / 1.15
    }

    @media(min-width: 768px) {
        .c-nav__about__bg__inner {
            --aspect-slope: 1.25 / 1
        }
    }

    @media(min-width: 992px) {
        .c-nav__about__bg__inner {
            --aspect-slope: 1520 / 540
        }
    }

    .c-table {
        width: 100%;
        display: table;
        border-collapse: collapse
    }

    @media(min-width: 992px) {
        .c-table.--lgPC .c-table__th,.c-table.--lgPC .c-table__td {
            padding-block:1.75em
        }
    }

    .c-table__row {
        line-height: var(--line-height-snug);
        display: table-row
    }

    .c-table__th,.c-table__td {
        border: 1px solid var(--border-color);
        padding: .75em;
        display: table-cell
    }

    .c-table__th {
        font-weight: var(--font-medium);
        background-color: #fcfcfc
    }

    @media(min-width: 992px) {
        .c-table__th {
            padding:1em 1.25em;
            width: 28.2258064516%
        }
    }

    .c-table__th.--head {
        background-color: #efefef;
        width: auto
    }

    @media(min-width: 992px) {
        .c-table__th.--colR {
            padding-inline:2em
        }
    }

    .c-table__td {
        vertical-align: middle
    }

    @media(min-width: 992px) {
        .c-table__td {
            padding:1em 2em
        }
    }

    .c-table__td>*:not(:first-child) {
        margin-top: .25em
    }

    .c-table__text__map {
        color: var(--color-secondary);
        font-weight: var(font-normal);
        display: inline-flex;
        -moz-column-gap: .5em;
        column-gap: .5em
    }

    .c-table__text__map span {
        text-decoration: underline
    }

    .c-table__text__map::after {
        content: "";
        width: 1em;
        aspect-ratio: 1;
        background-color: var(--color-secondary);
        display: inline-block;
        -webkit-mask: var(--icon-blank) no-repeat center/contain;
        mask: var(--icon-blank) no-repeat center/contain
    }

    @media(any-hover: hover) {
        .c-table__text__map:hover span {
            text-decoration:none
        }
    }

    .c-table__list {
        list-style: disc;
        padding-left: 1em
    }

    @supports(-webkit-touch-callout: none) {
        .c-table__list {
            padding-left: 1.5em
        }
    }

    .c-table__list__item:not(:first-child) {
        margin-top: .2em
    }

    .c-table__list__item::marker {
        color: var(--color-secondary)
    }

    .c-modal {
        display: none
    }

    .c-modal.is-open {
        display: block
    }

    .c-modal__overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(26,19,17,.9);
        -webkit-backdrop-filter: blur(30px);
        backdrop-filter: blur(30px);
        display: grid;
        place-items: center;
        z-index: var(--z-index-overlay)
    }

    .c-modal__container {
        position: relative
    }

    .c-modal__video {
        width: 100%;
        aspect-ratio: var(--aspect-video)
    }

    .c-modal__btnClose {
        width: 9.0666666667dvi;
        aspect-ratio: 1;
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        translate: 0 -110%;
        z-index: 1
    }

    @media(min-width: 992px) {
        .c-modal__btnClose {
            width:3.125dvi
        }
    }

    .c-modal__btnClose::before,.c-modal__btnClose::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        height: 1px;
        background-color: var(--color-white);
        translate: -50% -50%
    }

    .c-modal__btnClose::before {
        rotate: 45deg
    }

    .c-modal__btnClose::after {
        rotate: -45deg
    }

    .c-productsList {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(min(240 * var(--rem), 100%), 1fr));
        gap: min(5.3333333333dvi,20px*var(--ratio-mobile)) min(5.3333333333dvi,20px*var(--ratio-mobile))
    }

    @media(min-width: 992px) {
        .c-productsList {
            grid-template-columns:repeat(3, 1fr);
            gap: 1.75dvi 1.75dvi
        }
    }

    @media(any-hover: hover) {
        .c-productsList__link:hover .c-productsList__thumbnail__img {
            scale:1.1
        }

        .c-productsList__link:hover .c-productsList__name__icon::before {
            filter: opacity(1)
        }
    }

    .c-productsList__thumbnail {
        aspect-ratio: var(--aspect-thumbnail);
        border-radius: var(--rounded-sm);
        contain: content
    }

    .c-productsList__thumbnail__img {
        transition: scale var(--duration-base) var(--ease-base)
    }

    .c-productsList__name {
        display: grid;
        grid-template-columns: 1fr auto;
        -moz-column-gap: min(2.6666666667dvi,10px*var(--ratio-mobile));
        column-gap: min(2.6666666667dvi,10px*var(--ratio-mobile));
        align-items: center;
        margin-top: .5em
    }

    @media(min-width: 992px) {
        .c-productsList__name {
            -moz-column-gap:.625dvi;
            column-gap: .625dvi;
            margin-top: .75em
        }
    }

    .c-productsList__name__label {
        font-size: min(4.2666666667dvi,16px*var(--ratio-mobile));
        font-weight: var(--font-bold);
        line-height: var(--line-height-tight);
        transition: color var(--duration-base) var(--ease-base)
    }

    @media(min-width: 992px) {
        .c-productsList__name__label {
            font-size:max(1.25dvi,16px)
        }
    }

    .c-productsList__name__icon {
        width: min(8dvi,30px*var(--ratio-mobile));
        aspect-ratio: 1;
        background: var(--color-gradient-primary);
        border-radius: var(--rounded-full);
        justify-self: end;
        display: grid;
        place-items: center;
        position: relative;
        overflow: hidden
    }

    @media(min-width: 992px) {
        .c-productsList__name__icon {
            width:2.125dvi
        }
    }

    .c-productsList__name__icon::before {
        content: "";
        background: var(--color-gradient-hover);
        position: absolute;
        inset: 0;
        z-index: 1;
        filter: opacity(0);
        transition: filter var(--duration-relaxed) var(--ease-base)
    }

    .c-productsList__name__icon::after {
        content: "";
        width: 40%;
        aspect-ratio: 1;
        background-color: var(--color-white);
        display: block;
        position: relative;
        z-index: 2;
        -webkit-mask: var(--icon-arrow-upperRight) no-repeat center/contain;
        mask: var(--icon-arrow-upperRight) no-repeat center/contain
    }

    .c-form__select {
        font-weight: var(--font-medium);
        line-height: var(--line-height-tight);
        max-width: 100%;
        border: 1px solid var(--border-color);
        border-radius: var(--rounded-full);
        padding: 1em 3em 1em 2em;
        display: inline-block;
        background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2020%2020.01%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22m9.26%2017.67v-16.94c0-.2.07-.38.21-.52s.33-.21.52-.21c.2%200%20.39.07.52.21.14.14.22.33.21.52v16.94l7.99-7.96c.13-.14.31-.22.51-.22s.4.08.53.23c.14.13.23.32.24.52%200%20.2-.09.39-.24.52l-8.94%208.9c-.11.12-.24.21-.39.27-.14.05-.29.08-.44.08s-.3-.03-.44-.08c-.15-.06-.28-.15-.39-.27l-8.93-8.9c-.14-.13-.21-.31-.22-.5%200-.2.07-.4.22-.54.13-.15.32-.24.52-.24s.39.09.52.24l7.99%207.95z%22%20fill%3D%22%231a1311%22/%3E%3C/svg%3E");
        background-size: 1em auto;
        background-repeat: no-repeat;
        background-position: right 1em center;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none
    }

    .c-pagination {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: .5em
    }

    @media(min-width: 992px) {
        .c-pagination {
            gap:1em
        }
    }

    .c-pagination .page-numbers {
        font-family: var(--font-en);
        font-size: min(3.7333333333dvi,14px*var(--ratio-mobile));
        font-weight: var(--font-semibold);
        line-height: 1;
        width: min(10.6666666667dvi,40px*var(--ratio-mobile));
        aspect-ratio: 1;
        display: grid;
        place-content: center
    }

    @media(min-width: 992px) {
        .c-pagination .page-numbers {
            font-size:max(.9375dvi,14px);
            width: 3.125dvi
        }
    }

    .c-pagination .page-numbers:not(.dots) {
        background-color: var(--color-white);
        border: 1px solid var(--border-color);
        border-radius: 50%
    }

    .c-pagination .page-numbers:not(.current,.dots) {
        transition: background-color var(--duration-base) var(--ease-base)
    }

    @media(any-hover: hover) {
        .c-pagination .page-numbers:not(.current,.dots):hover {
            background-color:var(--color-light-black)
        }
    }

    .c-pagination .page-numbers.current {
        color: var(--color-white);
        background-color: var(--color-primary);
        border-color: var(--color-primary)
    }

    .c-pagination .page-numbers.prev::before,.c-pagination .page-numbers.next::before {
        content: "";
        background-color: currentColor;
        width: min(3.2dvi,12px*var(--ratio-mobile));
        aspect-ratio: 1;
        display: inline-block
    }

    @media(min-width: 992px) {
        .c-pagination .page-numbers.prev::before,.c-pagination .page-numbers.next::before {
            width:.75dvi
        }
    }

    .c-pagination .page-numbers.prev::before {
        -webkit-mask: var(--icon-arrowLeft) no-repeat center/contain;
        mask: var(--icon-arrowLeft) no-repeat center/contain
    }

    .c-pagination .page-numbers.next::before {
        -webkit-mask: var(--icon-arrowRight) no-repeat center/contain;
        mask: var(--icon-arrowRight) no-repeat center/contain
    }
}

/*table*/
    .c-table {
        width: 100%;
        display: table;
        border-collapse: collapse
    }

    @media(min-width: 992px) {
        .c-table.--lgPC .c-table__th,.c-table.--lgPC .c-table__td {
            padding-block:1.75em
        }
    }

    .c-table__row {
        line-height: var(--line-height-snug);
        display: table-row
    }

    .c-table__th,.c-table__td {
        border: 1px solid #E3E3E3;
        padding: .75em;
        display: table-cell
    }

    .c-table__th {
        font-weight: var(--font-medium);
        background-color: #fcfcfc
    }

    @media(min-width: 992px) {
        .c-table__th {
            padding:1em 1.25em;
            width: 28.2258064516%
        }
    }

    .c-table__th.--head {
        background-color: #efefef;
        width: auto
    }

    @media(min-width: 992px) {
        .c-table__th.--colR {
            padding-inline:2em
        }
    }

    .c-table__td {
        vertical-align: middle
    }

    @media(min-width: 992px) {
        .c-table__td {
            padding:1em 2em
        }
    }

    .c-table__td>*:not(:first-child) {
        margin-top: .25em
    }

    .c-table__text__map {
        color: var(--color-secondary);
        font-weight: var(font-normal);
        display: inline-flex;
        -moz-column-gap: .5em;
        column-gap: .5em
    }

    .c-table__text__map span {
        text-decoration: underline
    }

    .c-table__text__map::after {
        content: "";
        width: 1em;
        aspect-ratio: 1;
        background-color: var(--color-secondary);
        display: inline-block;
        -webkit-mask: var(--icon-blank) no-repeat center/contain;
        mask: var(--icon-blank) no-repeat center/contain
    }

p.c-table__text {
            margin-bottom: 0;
}


   .c-text.--note {
        font-size: min(3.2dvi,12px*var(--ratio-mobile));
        padding-left: 1em;
        text-indent: -1em
    }

    @media(min-width: 992px) {
        .c-text.--note {
            font-size:max(.8125dvi,12px)
        }
    }

    @media(any-hover: hover) {
        .c-table__text__map:hover span {
            text-decoration:none
        }
    }

    .c-table__list {
        list-style: disc;
        padding-left: 1em;
        margin-bottom: 0;
    }

    @supports(-webkit-touch-callout: none) {
        .c-table__list {
            padding-left: 1.5em
        }
    }

    .c-table__list__item:not(:first-child) {
        margin-top: .2em
    }

    .c-table__list__item::marker {
        color: #686660;
    }

a[target="_blank"] {
  position: relative;
  
}
a[target="_blank"]::after {
   content: "";
    width: .9em;
    margin-inline:.5em 1em;
    aspect-ratio: 1;
    background-color: currentColor;
    display: inline-block;
    -webkit-mask: var(--icon-blank) no-repeat center/contain;
    mask: var(--icon-blank) no-repeat center/contain;
    opacity:0.5;
}


/*section*/
.section-border {
  position: relative;
  width: 100%;
  height: 2px;
}
.section-border:before {
  content: "";
  position: absolute;
  background-color: #2b2f380d;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.section-border__bar {
  position: absolute;
  left: 0;
  top: -1px;
  height: 4px;
  background: #0092d7;
  width: 2rem;
}



/*ページリンク*/

.page-link-container {
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(2.5rem * 0.5);
}
.page-link-container a {
  width: calc(50% - 60px * 0.5 / 2);
  margin-right: calc(60px * 0.5);
  font-size: 0.87rem;
}
.page-link-container a:nth-child(2n+2) {
  margin-right: 0;
}
@media (min-width: 48em) {
  .page-link-container {
    margin-top: calc(3.75rem * 0.8);
  }
}
@media (min-width: 64.0625em) {
  .page-link-container a {
    width: calc(25% - 48px + 48px / 4);
    font-size: 1rem;
  }
  .page-link-container a:nth-child(1n) {
    margin-right: 48px;
  }
  .page-link-container a:nth-child(4n) {
    margin-right: 0;
  }
}

/*ページリンクボタン*/
.page-link-button {
    position: relative;
    display: inline-flex;
    padding: 0.93rem 0;
    font-size: 0.75rem;
    justify-content: space-between;
    line-height: 1.5em;
}
.page-link-button:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 2px;
    background-color:#2b2f380d;
}




.c-heading.--md {
    font-size: max(1.375dvi,20px);
}


/*privacy*/

.p-privacy__main__inner>:not(:where(:first-child)) {
    margin-top: .75em
}

.p-privacy__main__inner>:not(:where(:last-child)) {
    margin-bottom: .75em;
}

.p-privacy__main__inner h2:not(:first-child) {
    margin-top: 2em;
}

.p-privacy__main__inner h2.c-heading {
    padding-left: 1em;
    text-indent: -1em;
    font-size:1.2rem;
}

.p-privacy__main__inner h3:not(:first-child) {
    margin-top: 1.5em
}


.p-privacy__main__inner :where(:-moz-any-link:not([class])) {
    text-decoration: underline
}

.p-privacy__main__inner :where(:any-link:not([class])) {
    text-decoration: underline
}

.p-privacy__main__inner :where(:-moz-any-link:not([class]))[target=_blank]::after {
    content: "";
    width: .9em;
    margin-inline:.5em 1em;aspect-ratio: 1;
    background-color: currentColor;
    display: inline-block;
    mask: var(--icon-blank) no-repeat center/contain
}

.p-privacy__main__inner :where(:any-link:not([class]))[target=_blank]::after {
    content: "";
    width: .9em;
    margin-inline:.5em 1em;aspect-ratio: 1;
    background-color: currentColor;
    display: inline-block;
    -webkit-mask: var(--icon-blank) no-repeat center/contain;
    mask: var(--icon-blank) no-repeat center/contain
}

@media(any-hover: hover) {
    .p-privacy__main__inner :where(:-moz-any-link:not([class])):hover {
        text-decoration:none
    }

    .p-privacy__main__inner :where(:any-link:not([class])):hover {
        text-decoration: none
    }
}


/*company*/
.p-company__main__inner :where(:-moz-any-link:not([class])) {
    text-decoration: underline
}

.p-company__main__inner :where(:any-link:not([class])) {
    text-decoration: underline
}

.p-company__main__inner :where(:-moz-any-link:not([class]))[target=_blank]::after {
    content: "";
    width: .9em;
    margin-inline:.5em 1em;aspect-ratio: 1;
    background-color: currentColor;
    display: inline-block;
    mask: var(--icon-blank) no-repeat center/contain
}

.p-company__main__inner :where(:any-link:not([class]))[target=_blank]::after {
    content: "";
    width: .9em;
    margin-inline:.5em 1em;aspect-ratio: 1;
    background-color: currentColor;
    display: inline-block;
    -webkit-mask: var(--icon-blank) no-repeat center/contain;
    mask: var(--icon-blank) no-repeat center/contain
}

@media(any-hover: hover) {
    .p-company__main__inner :where(:-moz-any-link:not([class])):hover {
        text-decoration:none
    }

    .p-company__main__inner :where(:any-link:not([class])):hover {
        text-decoration: none
    }
}


/*contact*/
.p-contact__main__nav {
    display: grid;
    row-gap: .5em
}

@media(min-width: 992px) {
    .p-contact__main__nav {
        grid-template-columns:repeat(2, 1fr);
        gap: 1.25em
    }
}

.p-contact__main__nav__link {
    font-size: min(3.7333333333dvi,14px*var(--ratio-mobile));
    font-weight: var(--font-medium);
    line-height: var(--line-height-tight);
    border: 1px solid var(--border-color);
    border-radius:99999px;
    padding: 1.25em 1.5em;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    -moz-column-gap: min(1.3333333333dvi,5px*var(--ratio-mobile));
    column-gap: min(1.3333333333dvi,5px*var(--ratio-mobile));
    align-items: center;
    transition: background-color var(--duration-base) var(--ease-base)
}

@media(min-width: 992px) {
    .p-contact__main__nav__link {
        font-size:max(1dvi,14px);
        padding: 1.5em 2em
    }
}

.p-contact__main__nav__link::before {
    content: ""
}

.p-contact__main__nav__link::after {
    content: "";
    justify-self: end;
    width: min(3.2dvi,12px*var(--ratio-mobile));
    background-color: currentColor;
    aspect-ratio: 1;
    -webkit-mask: var(--icon-blank) no-repeat center/contain;
    mask: var(--icon-blank) no-repeat center/contain
}

@media(min-width: 992px) {
    .p-contact__main__nav__link::after {
        width:max(1dvi,14px)
    }
}

@media(any-hover: hover) {
    .p-contact__main__nav__link:hover {
        background-color:var(--color-light)
    }
}

.p-contact__main__body {
    margin-top: var(--spacing-block-md-mobile)
}

@media(min-width: 992px) {
    .p-contact__main__body {
        margin-top:var(--spacing-block-md-pc)
    }
}

.p-contact__main__body .--label__required {
    color: #FFFFFF;
    font-size: min(3.2dvi,12px*var(--ratio-mobile));
    font-weight: var(--font-medium);
    line-height: 1;
    display: inline-block;
    background-color:#C61717;
    border-radius: 99999px;
    padding: .5em .75em;
    margin-right: .5em
}

@media(min-width: 992px) {
    .p-contact__main__body .--label__required {
        font-size:max(.75dvi,11px);
        padding-inline:1em}
}

.p-contact__main__form {
    margin-top: var(--spacing-block-md-mobile)
}

@media(min-width: 992px) {
    .p-contact__main__form {
        margin-top:var(--spacing-block-sm-pc)
    }
}

.p-contact__main__form .fluentform .ff-el-form-control {
    font-size: min(4.2666666667dvi,16px*var(--ratio-mobile));
    background-color: #f5f5f5;
    border-radius: var(--rounded-sm);
    padding: .75em 1em
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-el-form-control {
        font-size:inherit;
        padding: 1em 1.25em
    }
}

.p-contact__main__form .fluentform .ff-el-form-check {
    margin-bottom: 2.6666666667dvi
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-el-form-check {
        margin-bottom:.3125dvi
    }
}

.p-contact__main__form .fluentform .ff-el-form-check.ff_item_selected .ff-el-form-check-label .ff-el-form-check-input::before,.p-contact__main__form .fluentform .ff-el-form-check.ff_item_selected .ff-el-form-check-label .ff-el-form-check-input::after {
    filter: opacity(1)
}

.p-contact__main__form .fluentform .ff-el-form-check-label {
    display: grid;
    grid-template-columns: max-content 1fr;
    -moz-column-gap: 2.1333333333dvi;
    column-gap: 2.1333333333dvi;
    cursor: pointer
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-el-form-check-label {
        -moz-column-gap:.625dvi;
        column-gap: .625dvi
    }
}

.p-contact__main__form .fluentform .ff-el-form-check-label .ff-el-form-check-input {
    display: inline-grid;
    grid-template-areas: "stack";
    background-color: #f5f4f0;
    border: 1px solid #e3e3e3;
    width: 1.5em;
    height: auto;
    aspect-ratio: 1;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    align-self: start;
    top: .1em
}

.p-contact__main__form .fluentform .ff-el-form-check-label .ff-el-form-check-input::before {
    content: "";
    background-color: #00b9e7;
    grid-area: stack;
    block-size: 0;
    min-block-size: 100%;
    border-radius: inherit;
    pointer-events: none;
    filter: opacity(0);
    transition: filter var(--duration-base) var(--ease-base)
}

.p-contact__main__form .fluentform .ff-el-form-check-label .ff-el-form-check-radio {
    border-radius: 99999px;
    padding: .3em
}

.p-contact__main__form .fluentform .ff-el-form-check-label .ff-el-form-check-checkbox {
    border-radius: .25em;
    position: relative;
    overflow: hidden
}

.p-contact__main__form .fluentform .ff-el-form-check-label .ff-el-form-check-checkbox::after {
    content: "";
    background-color: var(--color-white);
    width: 60%;
    aspect-ratio: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    z-index: 1;
    display: block;
    -webkit-mask: var(--icon-check) no-repeat center/contain;
    mask: var(--icon-check) no-repeat center/contain;
    filter: opacity(0);
    pointer-events: none;
    transition: filter var(--duration-base) var(--ease-base)
}

.p-contact__main__form .fluentform .ff-el-help-message {
    color: var(--color-secondary);
    font-size: min(3.4666666667dvi,13px*var(--ratio-mobile));
    font-style: inherit;
    margin-top: 1.3333333333dvi
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-el-help-message {
        font-size:max(.8125dvi,12px);
        margin-top: .625dvi
    }
}

.p-contact__main__form .fluentform .ff-el-help-message a {
    font-size: inherit;
    text-decoration: underline
}

.p-contact__main__form .fluentform .ff-el-help-message a[target=_blank]::after {
    content: "";
    width: .8em;
    margin-inline:.5em 1em;aspect-ratio: 1;
    background-color: currentColor;
    display: inline-block;
    -webkit-mask: var(--icon-blank) no-repeat center/contain;
    mask: var(--icon-blank) no-repeat center/contain
}

@media(any-hover: hover) {
    .p-contact__main__form .fluentform .ff-el-help-message a:hover {
        text-decoration:none
    }
}

.p-contact__main__form .fluentform .ff-el-group {
    margin-bottom: 60px;
}

.p-contact__main__form .fluentform .ff-el-group::before,.p-contact__main__form .fluentform .ff-el-group::after {
    display: none
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-el-group {
        display:grid;
        grid-template-columns: max(15.75dvi,252px) 1fr;
        grid-template-areas: "label content";
        -moz-column-gap: 1.5625dvi;
        column-gap: 1.5625dvi;
        margin-bottom: 20px;
    }
}

.p-contact__main__form .fluentform .ff-el-group .ff-el-input--label {
    margin-bottom: 2.6666666667dvi
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-el-group .ff-el-input--label {
        grid-area:label;
        align-self: start;
        margin: 1.1em 0 0
    }
}

.p-contact__main__form .fluentform .ff-el-group .ff-el-input--label label {
    font-size: min(4dvi,15px*var(--ratio-mobile))
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-el-group .ff-el-input--label label {
        font-size:max(1dvi,15px)
    }
}

.p-contact__main__form .fluentform .ff-el-group:not(.ff-el-form-hide_label) .ff-el-input--label {
    font-weight: bold;
    display: block
}

.p-contact__main__form .fluentform .ff-el-group:not(.ff-el-form-hide_label) .ff-el-input--label.ff-el-is-required {
    display: grid;
    grid-template-columns: auto max-content;
    -moz-column-gap: 1.3333333333dvi;
    column-gap: 1.3333333333dvi
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-el-group:not(.ff-el-form-hide_label) .ff-el-input--label.ff-el-is-required {
        -moz-column-gap:.3125dvi;
        column-gap: .3125dvi
    }
}

.p-contact__main__form .fluentform .ff-el-group:not(.ff-el-form-hide_label) .ff-el-input--label.ff-el-is-required::after {
    content: "必須";
    color: #FFFFFF;
    font-size: min(3.2dvi,12px*var(--ratio-mobile));
    line-height: 1;
    display: inline-block;
    background-color: #C61717;
    border-radius: 999999px;
    padding: .5em .75em;
    align-self: start
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-el-group:not(.ff-el-form-hide_label) .ff-el-input--label.ff-el-is-required::after {
        font-size:max(.75dvi,11px);
        padding-inline:1em}
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-el-group .ff-el-input--content {
        grid-area:content;
        align-self: start
    }
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-el-group.ff_list_inline .ff-el-input--label {
        margin-top:.1em
    }
}

.p-contact__main__form .fluentform .ff-el-group.ff_list_inline .ff-el-form-check {
    margin: 0
}

.p-contact__main__form .fluentform .ff-el-group.ff_list_inline .ff-el-input--content {
    display: grid;
    row-gap: .75em
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-el-group.ff_list_inline .ff-el-input--content {
        display:flex;
        flex-wrap: wrap;
        gap: .75em 1.5em
    }
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-el-group.ff_list_inline .text-danger {
        flex-basis:100%;
        margin-top: 0
    }
}

.p-contact__main__form .fluentform .ff-el-group.ff-el-is-error .ff-el-form-check-label {
    color: inherit
}

.p-contact__main__form .fluentform .ff-el-group.--sales .ff-el-form-check-label,.p-contact__main__form .fluentform .ff-el-group.--privacy .ff-el-form-check-label {
    padding: 1.5em;
    border: 1px solid var(--border-color);
    border-radius: var(--rounded-sm)
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-el-group.--sales .ff-el-form-check-label,.p-contact__main__form .fluentform .ff-el-group.--privacy .ff-el-form-check-label {
        padding:2em
    }
}

.p-contact__main__form .fluentform .ff-el-group.--sales .ff-el-help-message {
    padding-left: 1em;
    text-indent: -1em
}

.p-contact__main__form .fluentform .ff-el-group .ff-el-input--content {
    margin-left: 0 !important
}

.p-contact__main__form .fluentform .ff_submit_btn_wrapper {
    margin-block:var(--spacing-block-lg-mobile) 0;display: flex;
    justify-content: center
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff_submit_btn_wrapper {
        margin-top:var(--spacing-block-md-pc)
    }
}

.p-contact__main__form .fluentform .ff-btn-submit {
    background: #00b9e7;
    border-radius:99999px;
    min-width: 60%;
    padding: 1.5em 3em;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
    color:#FFFFFF;
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-btn-submit {
        min-width:inherit;
        padding: 1.5em 5.25em;
        color:#FFFFFF;
    }
}

.p-contact__main__form .fluentform .ff-btn-submit::before {
    content: "";
    background: #00b9e7;
    position: absolute;
    inset: 0;
    z-index: 1;
    filter: opacity(0);
    transition: filter var(--duration-relaxed) var(--ease-base);
    color:#FFFFFF;
}

.p-contact__main__form .fluentform .ff-btn-submit::after {
    content: "";
    background-color: #FFFFFF;
    display: block;
    width: 1.25em;
    aspect-ratio: 1;
    position: absolute;
    top: 50%;
    right: 1.5em;
    z-index: 2;
    translate: 0 -50%;
    -webkit-mask: var(--icon-arrow-upperRight) no-repeat center/contain;
    mask: var(--icon-arrow-upperRight) no-repeat center/contain;
    
}

@media(any-hover: hover) {
    .p-contact__main__form .fluentform .ff-btn-submit:hover::before {
        filter:opacity(0.5);
    }
}

.p-contact__main__form .fluentform .ff-btn-submit span {
    color: #FFFFFF;
    font-size: min(3.7333333333dvi,14px*var(--ratio-mobile));
    font-weight: var(--font-medium);
    line-height: var(--line-height-tight);
    position: relative;
    z-index: 2
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-btn-submit span {
        font-size:max(1dvi,14px)
    }
}

.p-contact__main__form .fluentform .text-danger {
    color: red;
}

.p-contact__main__form .fluentform .ff-el-is-error .text-danger {
    font-size: min(3.4666666667dvi,13px*var(--ratio-mobile));
    margin-top: 1.3333333333dvi
}

@media(min-width: 992px) {
    .p-contact__main__form .fluentform .ff-el-is-error .text-danger {
        font-size:max(.875dvi,13px);
        margin-top: .625dvi
    }
}

.p-contact__main__footer {
    margin-top: var(--spacing-block-md-mobile)
}

@media(min-width: 992px) {
    .p-contact__main__footer {
        margin-top:var(--spacing-block-md-pc)
    }
}

