@charset "UTF-8";*,*:before,*:after {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

html {
    font-size: 62.5%;
    line-height: 1.5;
    -moz-tab-size: 4;
    tab-size: 4;
    -webkit-tap-highlight-color: transparent;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    word-break: break-word
}



:where([hidden]:not([hidden=until-found])) {
    display: none!important
}

:where(html) {
    -webkit-text-size-adjust: none;
    color-scheme: dark light
}

@supports not (min-block-size: 100dvb) {
    :where(html) {
        block-size:100%
    }
}

@media (prefers-reduced-motion: no-preference) {
    :where(html:focus-within) {
        scroll-behavior: smooth
    }
}

:where(body) {
    block-size: 100%;
    block-size: 100dvb;
    line-height: 1.5;
    font-family: system-ui,sans-serif;
    -webkit-font-smoothing: antialiased
}

:where(input,button,textarea,select) {
    font: inherit;
    color: inherit
}

:where(textarea) {
    resize: vertical;
    resize: block
}

:where(button,label,select,summary,[role=button],[role=option]) {
    cursor: pointer
}

:where(:disabled) {
    cursor: not-allowed
}

:where(label:has(> input:disabled),label:has(+ input:disabled)) {
    cursor: not-allowed
}

:where(button) {
    border-style: solid
}

:where(a) {
    text-underline-offset: .2ex
}

:where(ul,ol) {
    list-style: none
}

:where(img,svg,video,canvas,audio,iframe,embed,object) {
    display: block
}

:where(img,picture,svg) {
    max-inline-size: 100%;
    block-size: auto
}

:where(p,h1,h2,h3,h4,h5,h6) {
    overflow-wrap: break-word
}

:where(h1,h2,h3) {
    line-height: calc(1em + .5rem)
}

:where(hr) {
    border: none;
    border-block-start:1px solid;color: inherit;
    block-size: 0;
    overflow: visible
}

:where(:focus-visible) {
    outline: 2px solid var(--focus-color, Highlight);
    outline-offset: 2px
}

:where(.visually-hidden:not(:focus,:active,:focus-within,.not-visually-hidden)) {
    clip-path: inset(50%)!important;
    height: 1px!important;
    width: 1px!important;
    overflow: hidden!important;
    position: absolute!important;
    white-space: nowrap!important;
    border: 0!important
}

:root {
    font-size: .78125vw;
    color-scheme: normal;
    --font-color-black: #231815;
    --color-red: #E60012;
    --color-white1: #FFFFFF;
    --color-white2: #F3F3F4;
    --color-gray1: #DEDEDE;
    --color-gray2: #999999;
    --color-gray3: #e8e8e8
}

@media screen and (min-width: 1680px) {
    :root {
        font-size:13.125px
    }
}

@media screen and (max-width: 767px) {
    :root {
        font-size:2.6666666667vw
    }
}

body {
    block-size: 100%;
    color: var(--font-color-black);
    font-weight: 400;
    font-family: YakuHanJP_Noto,Noto Sans JP,sans-serif;
    background-image: linear-gradient(0deg,var(--color-white1) 200px,var(--color-white2) 200px);
    letter-spacing: -.02em
}

body._fixed {
    overflow: hidden;
    overscroll-behavior: contain
}

img {
    max-width: 100%;
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

a {
    text-decoration: none;
    color: currentColor
}

@media (prefers-reduced-motion: no-preference) {
    :where(html:focus-within) {
        scroll-behavior: auto
    }
}

@font-face {
    font-family: swiper-icons;
    src: url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA) format("woff");
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box
}

.swiper-android .swiper-slide,.swiper-wrapper {
    transform: translateZ(0)
}

.swiper-pointer-events {
    touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform,height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden
}

.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d
}

.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0,0,0,.15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-centered>.swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start:var(--swiper-centered-offset-before)}

.swiper-centered.swiper-horizontal>.swiper-wrapper: before {
    height:100%;
    width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start:var(--swiper-centered-offset-before)}

.swiper-centered.swiper-vertical>.swiper-wrapper: before {
    width:100%;
    height: var(--swiper-centered-offset-after)
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop:always}

@media screen and (max-width: 767px) {
    .display-pc {
        display:none!important
    }
}

@media screen and (min-width: 768px) {
    .display-sp {
        display:none!important
    }
}

.visually-hidden {
    color: transparent
}

.js-row-animation {
    --animTrDuration: 1.6s;
    opacity: 0
}

.js-row-animation.is-builded {
    opacity: 1
}

.hm-kv .js-row-animation {
    --animTrDuration: 1.4s
}

.js-row-animation ._row {
    display: inline-block;
    clip-path: inset(0 0 -.2em)
}

.js-row-animation ._row ._visible {
    transform: translate(0)
}

.js-row-animation ._text {
    display: inline-block;
    transform: translateY(calc(100% + .2em));
    transition: transform var(--animTrDuration) cubic-bezier(.77,0,.175,1)
}

.js-accordion .js-accordion-body {
    overflow: hidden;
    height: 0;
    transition: height .25s ease
}

.l-svg {
    display: none
}



.l-contact {
    overflow: hidden
}

.c-nav {
    opacity: 0;
    visibility: hidden;
    width: 100%;
    height: 100vh;
    background-color: var(--color-white2);
    pointer-events: all
}

.c-nav._preparation {
    transition: opacity .5s .5s ease,visibility .5s .5s ease
}

.c-nav.is-visible {
    transition: opacity .25s ease,visibility .25s ease;
    opacity: 1;
    visibility: visible
}

.c-nav:not(.is-visible)._run-anim {
    opacity: 0;
    visibility: hidden
}

.c-nav__inner {
    height: 100dvh
}

@media screen and (min-width: 768px) {
    .c-nav__inner {
        display:flex;
        height: 100%
    }
}

@media screen and (min-width: 768px) {
    .c-nav__visual {
        width:50%
    }
}

.c-nav__visualInner {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%
}

.c-nav__photos {
    width: 34.5rem;
    aspect-ratio: 345/460;
    margin-left: 1rem;
    background-color: var(--color-gray1);
    opacity: 0;
    clip-path: inset(100% 0 0 0)
}

.c-nav:where(.is-visible) .c-nav__photos {
    transition: clip-path .35s ease,opacity .35s ease
}

.c-nav:where(._run-anim) .c-nav__photos {
    clip-path: inset(0);
    opacity: 1
}

.c-nav:not(.is-visible):where(._run-anim) .c-nav__photos {
    transition: clip-path .35s ease,opacity .35s ease;
    clip-path: inset(0 0 100% 0)
}

@media screen and (min-width: 768px) {
    .c-nav__photosContainer {
        translate:0 1.5rem;
        transition: translate .2s ease
    }
}

.c-nav:where(._run-anim) .c-nav__photosContainer {
    translate: 0
}

.c-nav:not(.is-visible):where(._run-anim) .c-nav__photosContainer {
    translate: 0 -1.5rem
}

@media screen and (min-width: 768px) {
    .c-nav__photosSlide {
        transition-property:transform,opacity
    }
}

.c-nav__photosSlide ._img {
    width: 100%
}

.c-nav__copy {
    position: absolute;
    left: 4rem;
    bottom: 4rem;
    opacity: 0;
    transition: opacity .25s .4s ease
}

.c-nav__copy ._txt {
    font-family: Poppins,sans-serif;
    font-size: 1.3rem;
    letter-spacing: -.01em;
    text-transform: uppercase
}

.c-nav.is-visible:where(._run-anim) .c-nav__copy {
    opacity: 1
}

.c-nav:not(.is-visible):where(._run-anim) .c-nav__copy {
    opacity: 0
}

.c-nav__connect {
    height: 100%
}

@media screen and (min-width: 768px) {
    .c-nav__connect {
        width:50%;
        padding-left: 13.5rem;
        border-left: 1px solid var(--color-gray1)
    }
}

.c-nav__connectInner {
    display: flex;
    flex-direction: column;
    height: 100%;
    font-family: Poppins,sans-serif;
    letter-spacing: -.01em
}

@media screen and (max-width: 767px) {
    .c-nav__connectInner {
        padding-top:6.2rem
    }
}

@media screen and (min-width: 768px) {
    .c-nav__connectInner {
        justify-content:center
    }
}

@media screen and (max-width: 767px) {
    .c-nav__menu {
        flex-grow:1;
        display: flex;
        align-items: center;
        padding-left: 5.6rem
    }
}

.c-nav__pagesItem {
    text-transform: uppercase;
    opacity: 0;
    translate: .5rem 0
}

.c-nav__pagesItem:nth-child(n+2) {
    margin-top: 2.4rem
}

@media screen and (min-width: 768px) {
    .c-nav__pagesItem:nth-child(n+2) {
        margin-top:3rem
    }
}

.c-nav.is-visible:where(._run-anim) .c-nav__pagesItem {
    opacity: 1;
    translate: 0
}

.c-nav.is-visible:where(._run-anim) .c-nav__pagesItem:nth-child(7) {
    transition: color .25s ease,opacity .25s .05s ease,translate .25s .05s ease
}

.c-nav.is-visible:where(._run-anim) .c-nav__pagesItem:nth-child(6) {
    transition: color .25s ease,opacity .25s .1s ease,translate .25s .1s ease
}

.c-nav.is-visible:where(._run-anim) .c-nav__pagesItem:nth-child(5) {
    transition: color .25s ease,opacity .25s .15s ease,translate .25s .15s ease
}

.c-nav.is-visible:where(._run-anim) .c-nav__pagesItem:nth-child(4) {
    transition: color .25s ease,opacity .25s .2s ease,translate .25s .2s ease
}

.c-nav.is-visible:where(._run-anim) .c-nav__pagesItem:nth-child(3) {
    transition: color .25s ease,opacity .25s .25s ease,translate .25s .25s ease
}

.c-nav.is-visible:where(._run-anim) .c-nav__pagesItem:nth-child(2) {
    transition: color .25s ease,opacity .25s .3s ease,translate .25s .3s ease
}

.c-nav.is-visible:where(._run-anim) .c-nav__pagesItem:nth-child(1) {
    transition: color .25s ease,opacity .25s .35s ease,translate .25s .35s ease
}

.c-nav__pagesItem:nth-child(1) {
    transition: color .25s ease,opacity .25s .05s ease,translate .25s .05s ease
}

.c-nav__pagesItem:nth-child(2) {
    transition: color .25s ease,opacity .25s .1s ease,translate .25s .1s ease
}

.c-nav__pagesItem:nth-child(3) {
    transition: color .25s ease,opacity .25s .15s ease,translate .25s .15s ease
}

.c-nav__pagesItem:nth-child(4) {
    transition: color .25s ease,opacity .25s .2s ease,translate .25s .2s ease
}

.c-nav__pagesItem:nth-child(5) {
    transition: color .25s ease,opacity .25s .25s ease,translate .25s .25s ease
}

.c-nav__pagesItem:nth-child(6) {
    transition: color .25s ease,opacity .25s .3s ease,translate .25s .3s ease
}

.c-nav__pagesItem:nth-child(7) {
    transition: color .25s ease,opacity .25s .35s ease,translate .25s .35s ease
}

.c-nav:not(.is-visible):where(._run-anim) .c-nav__pagesItem {
    opacity: 0;
    translate: -.5rem 0
}

.c-nav__page {
    display: inline-block
}

.c-nav__page._current {
    position: relative;
    color: var(--color-red)
}

.c-nav__page._current:before {
    position: absolute;
    top: calc(50% - .5em);
    left: -2.8rem;
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    font-size: .8rem;
    background-color: currentColor;
    border-radius: 50%
}

@media (hover: hover) {
    .c-nav__page {
        transition:color .25s ease
    }

    .c-nav__page:hover {
        color: var(--color-red)
    }
}

.c-nav__page ._txt {
    font-weight: 600;
    font-size: 2.8rem;
    line-height: 1
}

@media screen and (min-width: 768px) {
    .c-nav__page ._txt {
        font-size:3.8rem
    }
}

.c-nav__social {
    margin-top: auto
}

@media screen and (max-width: 767px) {
    .c-nav__social {
        padding:0 3.2rem 3.2rem
    }
}

@media screen and (min-width: 768px) {
    .c-nav__social {
        position:absolute;
        right: 4rem;
        bottom: 4rem;
        margin-top: 0;
        opacity: 0;
        transition: opacity .25s .4s ease
    }
}

.c-nav.is-visible:where(._run-anim) .c-nav__social {
    opacity: 1
}

.c-nav:not(.is-visible):where(._run-anim) .c-nav__social {
    opacity: 0
}

.c-nav__sns {
    display: flex;
    gap: 1.5rem 3.9rem
}

@media screen and (max-width: 767px) {
    .c-nav__sns {
        flex-wrap:wrap;
        justify-content: center
    }
}

@media screen and (min-width: 768px) {
    .c-nav__sns {
        gap:2.4rem
    }
}

.c-nav__snsItem {
    text-transform: uppercase
}

.c-nav__snsItem._l {
    text-transform: lowercase
}

.c-nav__snsItem._c {
    text-transform: capitalize
}

@media (hover: hover) {
    .c-nav__snsLink {
        transition:color .25s ease
    }

    .c-nav__snsLink:hover {
        color: var(--color-red)
    }
}

.c-nav__snsLink ._txt {
    font-size: 1.3rem
}

.c-nav__snsLink ._txt ._upper {
    text-transform: uppercase
}

.c-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 15;
    width: 100%
}

.home .c-header {
    opacity: 0;
    transition: opacity .25s ease;
    pointer-events: none
}

.home .c-header.is-visible {
    opacity: 1;
    pointer-events: all
}

.c-header__inner {
    position: absolute;
    top: 1rem;
    right: 2rem;
    display: flex;
    overflow: hidden;
    border-radius: .3rem
}

@media screen and (min-width: 768px) {
    .c-header__inner {
        top:4rem;
        right: 4rem
    }
}

.c-header__convLink {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 15.5rem;
    height: 5.2rem;
    color: var(--color-white1);
    background-color: var(--color-red)
}

@media screen and (min-width: 768px) {
    .c-header__convLink {
        width:17.2rem;
        height: 5.6rem
    }
}

@media (hover: hover) {
    .c-header__convLink {
        overflow:hidden;
        position: relative
    }

    .c-header__convLink:hover:before {
        transform: translateY(0);
        transition: transform .35s ease;
        animation: none
    }

    .c-header__convLink:hover ._txt {
        transform: translateY(-50%);
        transition: transform .35s ease;
        animation: none
    }

    .c-header__convLink:where(._animate):before {
        animation: slideOutCircle .5s ease
    }

    .c-header__convLink:where(._animate) ._txt {
        animation: bottomUpTextRoll .5s ease
    }

    .c-header__convLink:before {
        position: absolute;
        inset: 50%;
        z-index: 1;
        content: "";
        display: block;
        width: 21.6rem;
        height: 12rem;
        background-color: var(--font-color-black);
        border-radius: 50%;
        translate: -50% -50%;
        transform: translateY(calc(100% + 2.9rem))
    }
}

.c-header__convLink ._mask {
    overflow: hidden;
    position: relative;
    z-index: 2;
    height: 1.95rem
}

@media screen and (min-width: 768px) {
    .c-header__convLink ._mask {
        height:2.1rem
    }
}

.c-header__convLink ._txt {
    display: flex;
    flex-direction: column;
    font-weight: 700;
    font-size: 1.3rem
}

@media screen and (min-width: 768px) {
    .c-header__convLink ._txt {
        font-size:1.4rem
    }

    .c-header__convLink ._txt:before {
        content: attr(data-txt)
    }
}

@keyframes slideOutCircle {
    0% {
        transform: translateY(0)
    }

    to {
        transform: translateY(calc((100% + 2.8rem)*-1))
    }
}

@keyframes bottomUpTextRoll {
    0% {
        transform: translateY(0)
    }

    99.9% {
        transform: translateY(-50%)
    }

    to {
        transform: translateY(0)
    }
}

.c-header__menuBtn {
    --close-anim-delay: 400;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1em;
    height: 1em;
    font-size: 5.2rem;
    background-color: var(--color-white1);
    border: 0
}

@media screen and (min-width: 768px) {
    .c-header__menuBtn {
        font-size:5.6rem
    }
}

@media (hover: hover) {
    .c-header__menuBtn:not(.is-open,:focus):hover ._line:nth-child(1):before {
        translate:0 2px
    }

    .c-header__menuBtn:not(.is-open,:focus):hover ._line:nth-child(2):before {
        opacity: 0
    }

    .c-header__menuBtn:not(.is-open,:focus):hover ._line:nth-child(3):before {
        translate: 0 -2px
    }

    .c-header__menuBtn.is-open:not(._noHover) ._line:before {
        transition: transform .15s linear,translate .15s linear
    }

    .c-header__menuBtn.is-open:not(._noHover):hover ._line:nth-child(1):before {
        transform: rotate(20deg)
    }

    .c-header__menuBtn.is-open:not(._noHover):hover ._line:nth-child(3):before {
        transform: rotate(-20deg)
    }
}

.c-header__menuBtn.is-open ._line {
    overflow: visible;
    background-color: transparent
}

.c-header__menuBtn.is-open ._line:before {
    transition: transform .2s .2s linear,translate .2s linear
}

.c-header__menuBtn.is-open ._line:nth-child(1):before {
    transform: rotate(45deg);
    translate: 0 .5rem
}

.c-header__menuBtn.is-open ._line:nth-child(2):before {
    opacity: 0
}

.c-header__menuBtn.is-open ._line:nth-child(3):before {
    transform: rotate(-45deg);
    translate: 0 -.5rem
}

.c-header__menuBtn ._lines {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 2.2rem;
    height: 1.1rem
}

.c-header__menuBtn ._line {
    display: block;
    width: 100%;
    height: 1px
}

.c-header__menuBtn ._line:before {
    content: "";
    display: block;
    width: inherit;
    height: inherit;
    background-color: currentColor;
    transform-origin: center;
    transition: translate .2s ease-in,opacity .2s ease-in
}

.c-contact {
    position: relative;
    overflow: hidden;
    padding-block:8.8rem 9.6rem;background-color: var(--color-white1)
}

@media screen and (min-width: 768px) {
    .c-contact {
        padding-block:12.8rem 13.6rem
    }
}

.c-contact__target {
    position: absolute;
    left: 50%;
    z-index: 2;
    width: 40.7rem;
    transform: translate(-50%);
    overflow: hidden;
    border-radius: 50%;
    cursor: pointer
}

@media screen and (min-width: 768px) {
    .c-contact__target {
        width:50.4rem;
        margin-inline:auto}
}

.c-contact__target:before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 100%
}

@media (hover: hover) {
    .c-contact__target:hover+.c-contact__connect .c-contact__circle+.c-contact__connectBg {
        transform:scale(1.05)
    }

    .c-contact__target:hover~.c-contact__bg .c-contact__bgSlot ._row:nth-child(1) {
        opacity: 0
    }
}

.c-contact__target ._link {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%
}

.c-contact__connect {
    position: relative;
    z-index: 1;
    width: 40.7rem
}

@media screen and (max-width: 767px) {
    .c-contact__connect {
        left:50%;
        transform: translate(-50%)
    }
}

@media screen and (min-width: 768px) {
    .c-contact__connect {
        width:50.4rem;
        margin-inline:auto}
}

.c-contact__connect:before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 100%
}

.c-contact__circle {
    position: absolute;
    overflow: hidden;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-red);
    border-radius: 50%
}

.c-contact__connectBg {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-red);
    border-radius: 50%;
    transform: scale(1);
    transition: transform .25s ease
}

.c-contact__bg {
    position: absolute;
    inset: 50% 0 0 0;
    transform: translateY(-21%)
}

@keyframes slideContactBgTextLoop {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(-50%)
    }
}

@media screen and (min-width: 768px) {
    .c-contact__bgSlot {
        position:relative;
        display: flex;
        flex-direction: column;
        width: max-content;
        color: var(--color-gray1);
        font-family: Poppins,sans-serif;
        font-weight: 500;
        font-size: 16.8rem;
        line-height: .9;
        text-transform: uppercase;
        white-space: nowrap;
        animation: slideContactBgTextLoop var(--cContactSlide, 50s) linear infinite
    }

    .c-contact__bgSlot ._row {
        position: relative;
        z-index: 2;
        display: inline-block;
        transition: transform .25s ease
    }
}

@media screen and (min-width: 768px) and (hover: hover) {
    .c-contact__bgSlot ._row:first-child {
        transition:opacity .45s cubic-bezier(.26,.06,0,1)
    }
}

@media screen and (min-width: 768px) {
    .c-contact__bgSlot ._row:nth-child(2) {
        position:absolute;
        top: 0;
        left: 0;
        z-index: 1;
        color: transparent;
        -webkit-text-stroke: 1px var(--color-gray1)
    }
}

.c-contact-circle {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    color: var(--color-white1);
    text-align: center
}

.c-contact-circle__title ._title {
    font-family: Poppins,sans-serif;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1;
    text-transform: uppercase
}

.c-contact-circle__title ._separator {
    display: inline-block;
    transform: scaleY(.7);
    margin-inline:.7em;vertical-align: 0
}

.c-contact-circle__catch {
    margin-top: 3.9rem
}

@media screen and (min-width: 768px) {
    .c-contact-circle__catch {
        margin-top:4.7rem
    }
}

.c-contact-circle__catch ._txt {
    font-weight: 700;
    font-size: 3rem;
    line-height: 1.2;
    letter-spacing: 0
}

@media screen and (min-width: 768px) {
    .c-contact-circle__catch ._txt {
        font-size:4rem
    }
}

.c-contact-circle__desc {
    margin-top: 1.3rem
}

@media screen and (min-width: 768px) {
    .c-contact-circle__desc {
        margin-top:2rem
    }
}

.c-contact-circle__desc ._txt {
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.6;
    letter-spacing: .02em
}

@media screen and (min-width: 768px) {
    .c-contact-circle__desc ._txt {
        font-size:1.4rem
    }
}

.c-contact-circle__connect {
    width: fit-content;
    margin-top: 3.4rem;
    margin-inline:auto}

@media screen and (min-width: 768px) {
    .c-contact-circle__connect {
        margin-top:4.6rem;
        overflow: hidden;
        position: relative
    }

    .c-contact-circle__connect:after {
        position: absolute;
        bottom: 0;
        left: 0;
        content: "";
        display: block;
        width: 100%;
        height: .1rem;
        background-color: var(--color-white1);
        transform-origin: 0 0;
        transform: scaleX(1)
    }
}

@media screen and (min-width: 768px) and (hover: hover) {
    .c-contact__target+.c-contact__connect .c-contact__circle .c-contact-circle__connect:after {
        transition:trnasform .3s cubic-bezier(.13,.78,.38,.98)
    }

    .c-contact__target:hover+.c-contact__connect .c-contact__circle .c-contact-circle__connect:after {
        animation: underline_anim .6s 1;
        animation-fill-mode: forwards
    }
}

.c-contact-circle__connect ._txt {
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: calc(1em + 2rem);
    letter-spacing: -.06em
}

@media screen and (max-width: 767px) {
    .c-contact-circle__connect ._txt {
        border-bottom:.1rem solid currentColor
    }
}

.c-contact-circle__connect ._txt:after {
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    margin-top: .3rem;
    margin-left: 1.2rem;
    background-color: var(--color-white1);
    clip-path: polygon(0 0,100% 50%,0 100%)
}

.c-footer {
    padding-inline:2rem;background-color: var(--color-white1)
}

@media screen and (min-width: 768px) {
    .c-footer {
        padding-inline:0
    }
}

.l-contact+.l-footer .c-footer__inner {
    border-top: 1px solid currentColor
}

.c-footer__inner {
    padding-block:8.8rem 8rem}

@media screen and (min-width: 768px) {
    .c-footer__inner {
        display:flex;
        flex-wrap: wrap;
        width: 110rem;
        margin: 0 auto;
        padding-block:16rem 14rem}
}

.c-footer__logo ._link {
    display: block;
    width: 14.8rem;
    height: 6.05rem
}

@media screen and (min-width: 768px) {
    .c-footer__logo ._link {
        width:22.6rem;
        height: 9.25rem
    }
}

@media (hover: hover) {
    .c-footer__logo ._link {
        transition:opacity .25s ease
    }

    .c-footer__logo ._link:hover {
        opacity: .6
    }
}

.c-footer__logo ._logo {
    width: 100%;
    height: 100%
}

@media screen and (max-width: 767px) {
    .c-footer__nav {
        margin-top:8.8rem
    }
}

@media screen and (min-width: 768px) {
    .c-footer__nav {
        margin-left:auto
    }
}

.c-footer__info {
    display: flex;
    flex-wrap: wrap;
    margin-top: 8.8rem
}

@media screen and (min-width: 768px) {
    .c-footer__info {
        width:100%;
        margin-top: 12rem
    }
}

.c-footer__desc {
    width: 100%;
    margin-bottom: 1.8rem;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.6
}

@media screen and (max-width: 767px) {
    .c-footer__connect {
        display:contents
    }
}

@media screen and (min-width: 768px) {
    .c-footer__connect {
        flex-grow:1;
        display: flex;
        justify-content: space-between
    }
}

@media screen and (max-width: 767px) {
    .c-footer__connectItem:first-child {
        width:100%;
        margin-bottom: 8rem
    }
}

.c-footer__connectItem ._link {
    font-family: Poppins,sans-serif;
    font-size: 1.3rem;
    line-height: 1;
    letter-spacing: -.01em;
    text-transform: uppercase
}

@media (hover: hover) {
    .c-footer__connectItem ._link:not(._external) {
        transition:color .25s ease
    }

    .c-footer__connectItem ._link:not(._external):hover {
        color: var(--color-red)
    }
}

.c-footer__connectItem ._external {
    letter-spacing: .03em;
    overflow: hidden;
    position: relative
}

.c-footer__connectItem ._external:after {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: .1rem;
    background-color: var(--color-gray2);
    transform-origin: 0 0;
    transform: scaleX(1)
}

@media (hover: hover) {
    .c-footer__connectItem ._external:after {
        transition:trnasform .3s cubic-bezier(.13,.78,.38,.98)
    }

    .c-footer__connectItem ._external:hover:after {
        animation: underline_anim .6s 1;
        animation-fill-mode: forwards
    }
}

.c-footer__connectItem ._external ._icon {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-left: 1.2rem
}

.c-footer__connectItem ._external ._entity {
    width: 100%;
    height: 100%
}

.c-footer__copy {
    margin-left: auto
}

@media screen and (min-width: 768px) {
    .c-footer__copy {
        flex-shrink:0;
        margin-left: 5.6rem
    }
}

.c-footer__copy ._txt {
    font-family: Poppins,sans-serif;
    font-size: 1.3rem;
    line-height: 1;
    letter-spacing: -.01em;
    text-transform: uppercase
}

.c-footer-nav {
    display: flex
}

@media screen and (max-width: 767px) {
    .c-footer-nav {
        padding-inline:1.2rem
    }
}

@media screen and (min-width: 768px) {
    .c-footer-nav__item {
        width:20.7rem
    }
}

@media screen and (max-width: 767px) {
    .c-footer-nav__item:nth-child(2) {
        margin-left:4.8rem
    }
}

.c-footer-nav__title ._txt {
    color: var(--color-gray2);
    font-family: Poppins,sans-serif;
    font-size: 1.2rem;
    letter-spacing: 1;
    text-transform: uppercase
}

.c-footer-nav__list {
    margin-top: 2.8rem
}

.c-footer-nav__listItem {
    text-transform: uppercase
}

.c-footer-nav__listItem._l {
    text-transform: lowercase
}

.c-footer-nav__listItem._c {
    text-transform: capitalize
}

.c-footer-nav__listItem:nth-child(n+2) {
    margin-top: 1.6rem
}

.c-footer-nav__listItem ._link {
    display: flex;
    align-items: center
}

@media (hover: hover) {
    .c-footer-nav__listItem ._link {
        transition:color .25s ease
    }

    .c-footer-nav__listItem ._link:hover {
        color: var(--color-red)
    }
}

.c-footer-nav__listItem ._link:before {
    content: "";
    display: block;
    width: .4rem;
    height: .4rem;
    margin-right: 1.2rem;
    background-color: var(--color-red);
    border-radius: 50%
}

.c-footer-nav__listItem ._txt {
    font-family: Poppins,sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1
}

.c-footer-nav__listItem ._txt ._upper {
    text-transform: uppercase
}

.c-sec-header {
    padding-top: 5.6rem;
    border-top: .1rem solid currentColor
}

.c-sec-header__ttl {
    text-transform: uppercase
}

.c-sec-header__ttl._en {
    display: flex;
    align-items: center;
    font-family: Poppins,sans-serif;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: -.01em
}

.c-sec-header__ttl._en:before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    margin-right: 2.2rem;
    font-size: .8rem;
    background-color: var(--color-red);
    border-radius: 50%
}

@media screen and (min-width: 768px) {
    .c-sec-header__ttl._en:before {
        font-size:.8rem
    }
}

.c-sec-header__ttl._ja {
    margin-top: 3.2rem;
    font-weight: 700;
    font-size: 3rem;
    line-height: 1.3
}

@media screen and (min-width: 768px) {
    .c-sec-header__ttl._ja {
        margin-top:4rem;
        font-size: 4rem
    }
}

.c-sec-header__sub {
    margin-top: 1.4rem;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .02em
}

.c-sec-header__desc {
    margin-top: 5.6rem;
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

.c-sec-header__note {
    margin-top: .8rem;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .c-sec-header__note {
        margin-top:.8rem;
        font-size: 1.1rem
    }
}

.c-page-connect {
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: stretch;
    width: fit-content;
    min-width: 27.2rem;
    padding-block:1.1rem;border-radius: .3rem
}

@media screen and (min-width: 768px) {
    .c-page-connect {
        min-width:27.6rem;
        padding-block:1.4rem}
}

.c-page-connect._reverse {
    flex-direction: row-reverse
}

.c-page-connect._reverse ._frame {
    margin-inline:auto 0}

.c-page-connect._reverse ._deco {
    border-left: 0;
    border-right-width: .1rem;
    border-right-style: solid
}

.c-page-connect._reverse ._deco:before {
    left: 100%
}

.c-page-connect._reverse ._arrow:before {
    rotate: 180deg
}

.c-page-connect._red {
    color: var(--color-white1);
    --connectBg: var(--color-red);
    background-color: var(--font-color-black)
}

.c-page-connect._red ._deco:before {
    background-color: var(--color-white1)
}

.c-page-connect._black {
    color: var(--color-white1);
    --connectBg: var(--font-color-black);
    background-color: var(--color-red)
}

.c-page-connect._black :where(._deco) {
    border-left: 1px solid var(--color-white1)
}

@media (hover: hover) {
    .c-page-connect._black:hover ._deco:before {
        opacity:0
    }
}

.c-page-connect._white {
    color: var(--font-color-black);
    --connectBg: var(--color-white1);
    background-color: var(--color-white2)
}

@media (hover: hover) {
    .c-page-connect:hover:after {
        opacity:0
    }
}

.c-page-connect:before {
    position: absolute;
    inset: 0;
    content: "";
    display: block;
    background-color: var(--connectBg)
}

@media (hover: hover) {
    .c-page-connect:before {
        transition:opacity .25s ease
    }

    .c-page-connect:hover:before {
        opacity: 0
    }

    .c-page-connect:hover ._txt {
        transform: translateY(-50%)
    }

    .c-page-connect:hover ._arrow:before {
        animation: slideOutIn .5s ease
    }
}

.c-page-connect ._frame {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    height: 3.2rem;
    margin-right: auto;
    padding-inline:2.6rem}

.c-page-connect ._mask {
    overflow: hidden
}

@media screen and (min-width: 768px) {
    .c-page-connect ._mask {
        height:calc(1em + 1rem);
        line-height: calc(1em + 1rem)
    }
}

.c-page-connect ._txt {
    display: flex;
    flex-direction: column;
    font-weight: 700;
    font-size: 1.4rem
}

@media screen and (min-width: 768px) {
    .c-page-connect ._txt:before {
        content:attr(data-txt)
    }
}

@media (hover: hover) {
    .c-page-connect ._txt {
        transition:transform .65s cubic-bezier(.19,1,.22,1)
    }
}

.c-page-connect ._deco {
    position: relative;
    z-index: 1;
    display: block;
    width: 5.8rem;
    height: 3.2rem
}

.c-page-connect ._deco:before {
    position: absolute;
    top: 0;
    left: -1px;
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background-color: var(--color-gray1)
}

.c-page-connect ._arrow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    overflow: hidden
}

.c-page-connect ._arrow:before {
    content: "";
    display: block;
    width: .8rem;
    height: 1rem;
    background-color: var(--color-white1);
    clip-path: polygon(0 0,100% 50%,0 100%)
}

@keyframes slideOutIn {
    0% {
        transform: translate(0)
    }

    50% {
        transform: translate(100%)
    }

    51% {
        transform: translate(-100%)
    }

    to {
        transform: translate(0)
    }
}

.c-entry-connect {
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: stretch;
    width: fit-content;
    min-width: 27.2rem;
    padding-block:1.1rem;border-radius: .3rem;
    color: var(--color-white1);
    --connectBg: var(--font-color-black);
    background-color: var(--color-red)
}

@media screen and (min-width: 768px) {
    .c-entry-connect {
        min-width:27.6rem;
        padding-block:1.4rem}
}

@media (hover: hover) {
    .c-entry-connect:before {
        position:absolute;
        inset: 50%;
        z-index: 1;
        content: "";
        display: block;
        width: 32rem;
        height: 20rem;
        background-color: var(--font-color-black);
        border-radius: 50%;
        translate: -50% -50%;
        transform: translateY(calc(100% + 2.9rem));
        animation: slideOutCircle .5s ease
    }

    .c-entry-connect:hover:before {
        transform: translateY(0);
        transition: transform .35s ease;
        animation: none
    }

    .c-entry-connect:hover ._txt {
        transform: translateY(-50%);
        transition: transform .65s cubic-bezier(.19,1,.22,1);
        animation: none
    }

    .c-entry-connect:hover ._arrow {
        transform: translate(0);
        transition: transform .5s ease;
        animation: none
    }
}

.c-entry-connect ._frame {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    height: 3.2rem;
    margin-right: auto;
    padding-inline:2.6rem}

.c-entry-connect ._mask {
    overflow: hidden
}

@media screen and (min-width: 768px) {
    .c-entry-connect ._mask {
        height:calc(1em + 1rem);
        line-height: calc(1em + 1rem)
    }
}

.c-entry-connect ._txt {
    display: flex;
    flex-direction: column;
    font-weight: 700;
    font-size: 1.4rem
}

@media screen and (min-width: 768px) {
    .c-entry-connect ._txt:before {
        content:attr(data-txt)
    }
}

@media (hover: hover) {
    .c-entry-connect ._txt {
        animation:bottomUpTextRoll .5s ease
    }
}

.c-entry-connect ._deco {
    position: relative;
    z-index: 2;
    display: block;
    width: 5.8rem;
    height: 3.2rem;
    border-left: 1px solid var(--color-white1)
}

.c-entry-connect ._decoInner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: .8rem;
    height: 1rem;
    transform: translate(-50%,-50%);
    overflow: hidden
}

@media (hover: hover) {
    .c-entry-connect ._arrow {
        position:relative;
        display: flex;
        width: 2.4rem;
        transform: translate(-1.6rem);
        animation: kvArrowSlideOutIn .5s ease
    }

    .c-entry-connect ._arrow:after {
        content: "";
        display: block;
        width: .8rem;
        height: 1rem;
        margin-left: auto;
        background-color: var(--color-white1);
        clip-path: polygon(0 0,100% 50%,0 100%)
    }
}

.c-entry-connect ._arrow:before {
    content: "";
    display: block;
    width: .8rem;
    height: 1rem;
    background-color: var(--color-white1);
    clip-path: polygon(0 0,100% 50%,0 100%)
}

@keyframes kvArrowSlideOutIn {
    0% {
        transform: translate(-1.6rem)
    }

    99.9% {
        transform: translate(0)
    }

    to {
        transform: translate(-1.6rem)
    }
}

.c-modal {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100dvh;
    z-index: 20;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s .5s ease,visibility .25s .5s ease
}

.c-modal._visible {
    transition: opacity .25s ease;
    opacity: 1;
    visibility: visible
}

.c-modal__inner {
    display: contents;
    height: inherit
}

.c-modal__overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-color: var(--font-color-black);
    opacity: .25
}

.c-modal__contents {
    position: relative;
    z-index: 1;
    height: inherit;
    pointer-events: none
}

.c-modal__item {
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    inset: 0;
    width: 100%;
    height: inherit;
    transition: opacity .25s .5s ease,visibility .25s .5s ease
}

.c-modal__item._inView {
    transition: visibility 0s ease;
    opacity: 1;
    visibility: visible
}

.c-modal__item>* {
    pointer-events: auto
}

.c-modal-supp {
    height: 100%;
    background-color: var(--color-white1);
    transform: translate(100%);
    transition: transform .5s cubic-bezier(.4,0,.2,1)
}

@media screen and (min-width: 768px) {
    .c-modal-supp {
        width:70.9rem;
        margin-left: auto
    }
}

._inView .c-modal-supp {
    transform: translate(0)
}

.c-modal-supp__inner {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 6.4rem;
    height: inherit
}

@media screen and (min-width: 768px) {
    .c-modal-supp__inner {
        grid-template-columns:1fr;
        grid-template-rows: 5.6rem 1fr
    }
}

.c-modal-supp__controller {
    grid-column: 1/2;
    grid-row: 2/3;
    height: 6.4rem;
    background-color: var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .c-modal-supp__controller {
        grid-row:1/2;
        height: 5.6rem;
        background-color: transparent;
        border-bottom: .1rem solid var(--color-gray1)
    }
}

.c-modal-supp__controller ._btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding-inline:3.2rem;appearance: none;
    background-color: transparent;
    border: 0
}

@media screen and (min-width: 768px) {
    .c-modal-supp__controller ._btn {
        justify-content:flex-start
    }
}

@media (hover: hover) {
    .c-modal-supp__controller ._btn {
        transition:background-color .1s ease
    }

    .c-modal-supp__controller ._btn:hover {
        background-color: var(--color-gray1)
    }

    .c-modal-supp__controller ._btn:hover ._icon {
        opacity: .5
    }

    .c-modal-supp__controller ._btn:hover ._icon:before {
        rotate: 0deg
    }

    .c-modal-supp__controller ._btn:hover ._icon:after {
        rotate: 0deg
    }

    .c-modal-supp__controller ._btn:hover ._txt {
        opacity: .5
    }
}

.c-modal-supp__controller ._btn ._icon {
    position: relative;
    width: 1.2rem;
    height: 1.3rem
}

.c-modal-supp__controller ._btn ._icon:before {
    position: absolute;
    left: 0;
    top: 50%;
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--font-color-black);
    rotate: 45deg
}

.c-modal-supp__controller ._btn ._icon:after {
    position: absolute;
    left: 0;
    top: 50%;
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--font-color-black);
    rotate: -45deg
}

@media (hover: hover) {
    .c-modal-supp__controller ._btn ._icon {
        transition:opacity .1s ease-in
    }

    .c-modal-supp__controller ._btn ._icon:before,.c-modal-supp__controller ._btn ._icon:after {
        transition: rotate .1s ease-in
    }
}

.c-modal-supp__controller ._btn ._txt {
    margin-left: 1.2rem;
    font-family: Poppins,sans-serif;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: -.01em;
    text-transform: uppercase
}

@media (hover: hover) {
    .c-modal-supp__controller ._btn ._txt {
        transition:opacity .1s ease-in
    }
}

.c-modal-supp__contents {
    grid-column: 1/2;
    grid-row: 1/2;
    overflow: auto
}

@media screen and (min-width: 768px) {
    .c-modal-supp__contents {
        grid-row:2/3;
        display: flex
    }
}

.c-modal-supp__contentsInner {
    display: flex;
    flex-wrap: wrap;
    padding: 3.2rem 3.2rem 4.8rem
}

@media screen and (min-width: 768px) {
    .c-modal-supp__contentsInner {
        margin-block:auto;
        padding: 6.4rem 8rem
    }
}

.c-modal-supp__info {
    order: 2;
    width: 100%;
    margin-top: 2.4rem;
    display: flex;
    flex-direction: column;
    align-items: center
}

@media screen and (min-width: 768px) {
    .c-modal-supp__info {
        flex-grow:1;
        justify-content: center;
        align-items: flex-start;
        width: calc(100% - 26rem);
        margin-top: 0;
        padding-left: 4rem
    }
}

.c-modal-supp__info ._relative {
    color: var(--color-red);
    font-size: 1.1rem;
    line-height: 1;
    letter-spacing: -.01em;
    text-transform: uppercase
}

.c-modal-supp__info ._post {
    margin-top: 1.6rem;
    font-size: 1.1rem;
    line-height: 1.3;
    text-align: center
}

@media screen and (min-width: 768px) {
    .c-modal-supp__info ._post {
        margin-top:2.4rem;
        font-size: 1.3rem;
        letter-spacing: 0;
        text-align: left
    }
}

.c-modal-supp__info ._name {
    margin-top: 1rem;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1
}

@media screen and (min-width: 768px) {
    .c-modal-supp__info ._name {
        font-size:2.2rem
    }
}

.c-modal-supp__desc {
    order: 3;
    width: 100%;
    margin-top: 4rem
}

@media screen and (min-width: 768px) {
    .c-modal-supp__desc {
        margin-top:4.8rem
    }
}

.c-modal-supp__desc ._txt {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: -.02em
}

.c-modal-supp__thumb {
    order: 1;
    width: 1em;
    height: 1em;
    margin-inline:auto;overflow: hidden;
    border-radius: 50%;
    font-size: 23.3rem
}

@media screen and (min-width: 768px) {
    .c-modal-supp__thumb {
        margin-inline:0;
        font-size: 26rem
    }
}

.c-modal-supp__thumb ._img {
    width: 100%
}

.c-donate {
    padding-block:11.2rem 7rem;background-color: var(--color-white1)
}

@media screen and (min-width: 768px) {
    .c-donate {
        padding-block:16rem 11.4rem
    }
}

.c-donate__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .c-donate__inner {
        padding-inline:0
    }
}

.c-donate__frame {
    padding: 4rem 3.2rem 4.3rem;
    background-color: var(--color-white2);
    border: .1rem solid currentColor;
    border-radius: .6rem;
    opacity: 0
}

@media screen and (min-width: 768px) {
    .c-donate__frame {
        width:96.6rem;
        margin-inline:auto;padding: 5.6rem 7.6rem 5.6rem 6.9rem
    }
}

.c-donate__frame._visible {
    opacity: 1;
    transition: opacity .75s ease
}

@media screen and (min-width: 768px) {
    .c-donate__frameInner {
        display:flex;
        align-items: center
    }
}

@media screen and (min-width: 768px) {
    .c-donate__text {
        width:38.9rem;
        margin-right: auto
    }
}

.c-donate__title {
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    font-feature-settings: "palt"
}

@media screen and (min-width: 768px) {
    .c-donate__title {
        font-size:3.5rem
    }
}

.c-donate__title ._strong {
    color: var(--color-red)
}

.c-donate__desc {
    margin-top: 1.6rem;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.6;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .c-donate__desc {
        margin-top:3.2rem;
        font-size: 1.4rem;
        line-height: 1.8
    }
}

.c-donate__visual {
    margin-top: 3.2rem;
    padding-inline:3.7rem 2rem}

@media screen and (min-width: 768px) {
    .c-donate__visual {
        width:34rem;
        margin-top: 0;
        padding-inline:0}
}

.c-donate__visual ._img {
    width: 100%
}

.c-donate__toContact {
    color: var(--black, #231815);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: -.02em;
    margin-top: 1.2rem;
    display: inline-block
}

@media screen and (min-width: 768px) {
    .c-donate__toContact {
        margin-top:1.4rem
    }
}

.c-donate__toContact>span {
    display: block;
    padding-bottom: .2rem;
    overflow: hidden;
    position: relative
}

.c-donate__toContact>span:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: .1rem;
    background-color: var(--color-gray2);
    transform-origin: 0 0;
    transform: scaleX(1)
}

@media (hover: hover) {
    .c-donate__toContact>span:after {
        transition:trnasform .3s cubic-bezier(.13,.78,.38,.98)
    }

    .c-donate__toContact>span:hover:after {
        animation: underline_anim .6s 1;
        animation-fill-mode: forwards
    }
}

.c-donate__toContact ._deco {
    display: inline-block;
    margin-left: .65rem;
    vertical-align: .1em
}

.c-donate__toContact ._deco:before {
    content: "";
    display: block;
    width: .8rem;
    height: .8rem;
    background-color: currentColor;
    clip-path: polygon(0 0,100% 50%,0 100%);
    scale: .9
}

@media screen and (min-width: 768px) {
    .c-job-list {
        display:flex;
        flex-wrap: wrap;
        gap: 9.6rem 4.2rem
    }
}

@media screen and (min-width: 768px) {
    .c-job-list__item {
        width:calc((100% - 8.5rem) / 3)
    }
}

.c-job-list__item._full {
    width: 100%
}

@media screen and (max-width: 767px) {
    .c-job-list__item:nth-child(n+2) {
        margin-top:5.6rem
    }
}

.c-job-list__result {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 20rem;
    margin-bottom: 8.8rem
}

@media screen and (min-width: 768px) {
    .c-job-list__result {
        margin-bottom:14.4rem
    }
}

.c-job-list__result ._txt {
    color: var(--color-gray2);
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: -.02em;
    text-align: center
}

.c-job-article {
    height: 100%
}

@media (hover: hover) {
    .c-job-article__link:hover .c-job-article__title ._txt {
        background-position:bottom left;
        background-size: 100% 100%
    }

    .c-job-article__link:hover .c-job-article__thumb {
        clip-path: inset(.5rem round .6rem)
    }

    .c-job-article__link:hover .c-job-article__thumb:before {
        opacity: .5
    }

    .c-job-article__link:hover .c-job-article__thumb ._img {
        transform: scale(1.04)
    }
}

.c-job-article__inner {
    display: flex;
    flex-direction: column;
    height: 100%
}

.c-job-article__title {
    order: 3;
    padding-inline:.8rem;margin-top: 1.4rem
}

.c-job-article__title ._txt {
    font-size: 2rem;
    line-height: 1.4
}

@media (hover: hover) {
    .c-job-article__title ._txt {
        display:inline;
        background-image: linear-gradient(0deg,currentColor .1rem,transparent .1rem);
        background-size: 0 100%;
        background-repeat: no-repeat;
        background-position: bottom right;
        transition: background-size .25s ease
    }
}

.c-job-article__com {
    order: 4;
    padding-inline:.8rem;margin-top: .8rem
}

@media screen and (min-width: 768px) {
    .c-job-article__com {
        margin-bottom:auto
    }
}

.c-job-article__com ._txt {
    font-weight: 300;
    font-size: 1.3rem;
    line-height: 1.4;
    letter-spacing: -.02em
}

.c-job-article__info {
    order: 5;
    display: flex;
    margin-top: 3.2rem;
    margin-inline:.8rem;padding-bottom: 2.5rem;
    border-bottom: .1rem solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .c-job-article__info {
        padding-bottom:2.4rem
    }
}

.c-job-article__pref {
    display: flex;
    align-items: center;
    height: 3rem;
    padding-inline:.8rem 1.2rem;background-color: var(--color-gray3);
    border-radius: .3rem
}

.c-job-article__pref ._icon {
    display: block;
    width: 1em;
    height: 1em;
    margin-right: .4rem;
    font-size: 1.6rem
}

.c-job-article__pref ._icon ._entity {
    width: 100%;
    height: 100%
}

.c-job-article__pref ._txt {
    font-weight: 500;
    font-size: 1.2rem
}

.c-job-article__personItems {
    margin-left: auto;
    text-align: right;
    display: flex;
    gap: 1.2rem
}

.c-job-article__post {
    color: var(--color-gray2);
    font-size: 1rem;
    line-height: 1
}

.c-job-article__name {
    font-weight: 500;
    margin-top: .6rem;
    font-size: 1.2rem;
    line-height: 1
}

.c-job-article__industry {
    order: 2;
    z-index: 1;
    display: flex;
    align-items: center;
    width: fit-content;
    height: 3.5rem;
    margin-top: -1.75rem;
    margin-left: .8rem;
    padding-inline:.8rem 1.6rem;padding-bottom: .1rem;
    color: var(--color-red);
    border: .1rem solid currentColor;
    border-radius: .3rem;
    background-color: var(--color-white1)
}

.c-job-article__industry ._icon {
    position: relative;
    display: inline-block;
    width: 1em;
    height: 1em;
    font-size: 2.8rem;
    margin-right: .6rem
}

.c-job-article__industry ._icon ._img {
    width: 100%
}

.c-job-article__purpose {
    font-weight: 500;
    font-size: 1.4rem;
    letter-spacing: 0
}

.c-job-article__thumb {
    position: relative;
    order: 1;
    aspect-ratio: 4/3;
    clip-path: inset(0 round .6rem)
}

@media (hover: hover) {
    .c-job-article__thumb {
        position:relative;
        transition: clip-path .8s cubic-bezier(.19,1,.22,1)
    }

    .c-job-article__thumb:before {
        position: absolute;
        inset: 0;
        z-index: 1;
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-color: var(--font-color-black);
        opacity: 0;
        transition: opacity .55s cubic-bezier(.26,.06,0,1)
    }
}

.c-job-article__thumb ._img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media (hover: hover) {
    .c-job-article__thumb ._img {
        transition:transform .8s cubic-bezier(.19,1,.22,1)
    }
}

.c-fellow-card {
    position: relative
}

@media screen and (min-width: 768px) {
    body:where(.interview.detail) .c-fellow-card {
        padding-inline:0
    }
}

@media screen and (min-width: 768px) {
    body:where(.interview) .c-fellow-card__link {
        display:block;
        padding-inline:10.8rem 6rem}
}

@media screen and (min-width: 768px) and (hover: hover) {
    body:where(.interview) .c-fellow-card__link:hover .c-fellow-card__desc ._txt {
        background-position:bottom left;
        background-size: 100% 100%
    }
}

@media screen and (min-width: 768px) {
    body:where(.interview) ._reverse .c-fellow-card__link {
        padding-inline:13.1rem 6rem
    }
}

@media (hover: hover) {
    .c-fellow-card__link:hover .c-fellow-card__thumb {
        clip-path:inset(.8rem round 50%)
    }

    .c-fellow-card__link:hover .c-fellow-card__thumb:before {
        opacity: .5
    }

    .c-fellow-card__link:hover .c-fellow-card__thumb ._img {
        transform: scale(1.04)
    }
}

.c-fellow-card__inner {
    display: flex;
    flex-direction: column
}

@media screen and (min-width: 768px) {
    body:where(.interview) .c-fellow-card__inner {
        flex-direction:row;
        align-items: flex-start;
        justify-content: space-between;
        width: 100%
    }
}

@media screen and (min-width: 768px) {
    body:where(.interview) ._reverse .c-fellow-card__inner {
        flex-direction:row-reverse
    }
}

.c-fellow-card__text {
    order: 2;
    position: relative;
    z-index: 2;
    width: 100%;
    transform: translateZ(0)
}

@media screen and (min-width: 768px) {
    body:where(.interview) .c-fellow-card__text {
        position:static;
        width: 51.9rem;
        padding-top: 1.6rem
    }
}

@media screen and (min-width: 768px) {
    body:where(.interview.detail) .c-fellow-card__text {
        width:56.5rem;
        padding-top: 2.5rem
    }
}

.c-fellow-card__title {
    position: absolute;
    width: calc(100% + 3rem);
    transform: translateY(calc(-100% + 1.8rem))
}

@media screen and (max-width: 767px) {
    body:where(.interview) .c-fellow-card__title {
        width:100%;
        margin-inline:1.2rem}
}

@media screen and (min-width: 768px) {
    body:where(.interview) .c-fellow-card__title {
        position:relative;
        transform: none
    }
}

.c-fellow-card__title ._deco {
    position: absolute;
    top: -1.3rem;
    left: -1.8rem;
    display: inline-block;
    width: 1em;
    height: 1em;
    font-size: 2.2rem;
    z-index: 2
}

@media screen and (min-width: 768px) {
    .c-fellow-card__title ._deco {
        left:-2rem;
        font-size: 2.4rem
    }
}

@media screen and (min-width: 768px) {
    body:where(.interview) .c-fellow-card__title ._deco {
        top:-1.6rem;
        left: -2.7rem;
        font-size: 3.2rem
    }
}

@media screen and (min-width: 768px) {
    body:where(.interview.detail) .c-fellow-card__title ._deco {
        top:-2.3rem;
        left: -3.4rem;
        font-size: 4rem
    }
}

.c-fellow-card__title ._deco ._icon {
    width: 100%;
    height: 100%
}

.c-fellow-card__title ._txt {
    line-height: 1;
    font-weight: 500;
    font-size: 2rem;
    letter-spacing: -.02em;
    font-feature-settings: "palt"
}

@media screen and (min-width: 768px) {
    .c-fellow-card__title ._txt {
        font-size:2.2rem
    }
}

body:where(.interview) .c-fellow-card__title ._txt {
    font-feature-settings: unset;
    font-size: 2.2rem
}

@media screen and (min-width: 768px) {
    body:where(.interview) .c-fellow-card__title ._txt {
        font-size:4rem
    }
}

.c-fellow-card__title ._txt>._l {
    line-height: 1.5;
    background: #fff;
    border-radius: .3rem;
    padding-right: .3em;
    white-space: nowrap;
    display: inline-block
}

.c-fellow-card__title ._txt>._l:not(:last-child) {
    margin-bottom: .4rem
}

@media screen and (min-width: 768px) {
    .c-fellow-card__title ._txt>._l:not(:last-child) {
        margin-bottom:.6rem
    }
}

.c-fellow-card__info {
    display: flex;
    align-items: center;
    margin-top: 3.4rem
}

@media screen and (max-width: 767px) {
    body:where(.interview) .c-fellow-card__info {
        margin-top:4.5rem;
        margin-inline:1.2rem}
}

@media screen and (min-width: 768px) {
    body:where(.interview) .c-fellow-card__info {
        margin-top:3.6rem
    }
}

.c-fellow-card__graduate {
    position: relative;
    margin-right: 1.4rem;
    padding-right: .6rem;
    border-right: .1rem solid currentColor
}

@media screen and (min-width: 768px) {
    body:where(.interview) .c-fellow-card__graduate {
        margin-right:1.6rem;
        padding-right: 1.6rem;
        border-right: 0
    }
}

@media screen and (min-width: 768px) {
    body:where(.interview) .c-fellow-card__graduate:after {
        position:absolute;
        top: calc(50% - .6rem);
        right: 0;
        content: "";
        display: block;
        width: 1px;
        height: 1.2rem;
        background-color: currentColor;
        top: calc(50% - .7rem);
        height: 1.5rem
    }
}

.c-fellow-card__graduate ._txt {
    display: flex;
    flex-direction: column;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.1;
    letter-spacing: 0
}

@media screen and (min-width: 768px) {
    body:where(.interview) .c-fellow-card__graduate ._txt {
        display:block;
        font-size: 1.5rem
    }
}

.c-fellow-card__graduate ._num {
    font-size: 1.1rem;
    text-combine-upright: all;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    body:where(.interview) .c-fellow-card__graduate ._num {
        padding-inline:.1rem;
        font-size: 1.6rem
    }
}

@media screen and (min-width: 768px) {
    body:where(.interview) .c-fellow-card__profile {
        display:flex
    }
}

.c-fellow-card__name ._txt {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1
}

.c-fellow-card__current {
    margin-top: 1rem
}

.c-fellow-card__current ._txt {
    color: var(--color-gray2);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: 0
}

@media screen and (min-width: 768px) {
    body:where(.interview) .c-fellow-card__current {
        margin-left:1.2rem;
        margin-top: 0
    }

    body:where(.interview) .c-fellow-card__current ._txt {
        font-size: 1.5rem
    }
}

.c-fellow-card__desc {
    margin-top: 2.9rem;
    margin-inline:1.6rem}

@media screen and (min-width: 768px) {
    .c-fellow-card__desc {
        margin-top:4.4rem;
        margin-inline:0}
}

.c-fellow-card__desc ._txt {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .c-fellow-card__desc ._txt {
        display:inline;
        font-size: 1.6rem
    }
}

@media screen and (min-width: 768px) and (hover: hover) {
    .c-fellow-card__desc ._txt {
        display:inline;
        background-image: linear-gradient(0deg,currentColor .1rem,transparent .1rem);
        background-size: 0 100%;
        background-repeat: no-repeat;
        background-position: bottom right;
        transition: background-size .25s ease
    }
}

.c-fellow-card__thumb {
    position: relative;
    z-index: 1;
    order: 1;
    width: 1em;
    height: 1em;
    font-size: 26.6rem;
    clip-path: inset(0 round 50%);
    overflow: hidden;
    border-radius: 50%
}

@media screen and (min-width: 768px) {
    .c-fellow-card__thumb {
        font-size:28rem
    }
}

body:where(.interview) .c-fellow-card__thumb {
    font-size: 27.3rem
}

@media screen and (max-width: 767px) {
    body:where(.interview) .c-fellow-card__thumb {
        margin-inline:auto
    }
}

@media screen and (min-width: 768px) {
    body:where(.interview) .c-fellow-card__thumb {
        font-size:34.5rem
    }
}

@media screen and (max-width: 767px) {
    body:where(.interview.detail) .c-fellow-card__thumb {
        font-size:31.1rem
    }
}

@media screen and (min-width: 768px) {
    body:where(.interview.detail) .c-fellow-card__thumb {
        font-size:48.3rem
    }
}

@media (hover: hover) {
    .c-fellow-card__thumb {
        position:relative;
        transition: clip-path .8s cubic-bezier(.19,1,.22,1)
    }

    .c-fellow-card__thumb:before {
        position: absolute;
        inset: 0;
        z-index: 1;
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-color: var(--font-color-black);
        opacity: 0;
        transition: opacity .55s cubic-bezier(.26,.06,0,1)
    }
}

.c-fellow-card__thumb ._img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media (hover: hover) {
    .c-fellow-card__thumb ._img {
        transition:transform .8s cubic-bezier(.19,1,.22,1)
    }
}

@media screen and (min-width: 768px) {
    .c-supp__stalker {
        position:absolute;
        top: 0;
        left: 0;
        z-index: 2;
        display: none;
        color: var(--color-white1);
        pointer-events: none
    }

    .c-supp__stalker ._icon {
        position: relative;
        font-size: 2.5rem;
        width: 1em
    }

    .c-supp__stalker ._icon:before {
        position: absolute;
        top: 50%;
        left: 0;
        content: "";
        display: block;
        width: 100%;
        height: .15rem;
        background-color: currentColor;
        translate: -50%
    }

    .c-supp__stalker ._icon:after {
        position: absolute;
        top: 50%;
        left: 0;
        content: "";
        display: block;
        width: 100%;
        height: .15rem;
        background-color: currentColor;
        translate: -50%;
        rotate: 90deg
    }

    .c-supp__stalker._visible {
        display: block
    }
}

.c-under-logo {
    position: absolute;
    top: 1.7rem;
    left: 2rem;
    z-index: 2;
    width: 8.8rem;
    height: 3.6rem
}

@media screen and (min-width: 768px) {
    .c-under-logo {
        top:4rem;
        left: 4rem;
        width: 13rem;
        height: 5.3rem
    }
}

.c-under-logo ._logo {
    width: 100%;
    height: 100%
}

.c-under-kv {
    padding-block:9.4rem 0}

@media screen and (min-width: 768px) {
    .c-under-kv {
        padding-block:16rem 0
    }
}

.c-under-kv__inner {
    display: flex;
    flex-wrap: wrap;
    margin-inline:2rem;padding-bottom: 4rem;
    border-bottom: .1rem solid currentColor
}

@media screen and (min-width: 768px) {
    .c-under-kv__inner {
        width:110.4rem;
        margin-inline:auto}
}

.c-under-kv__title {
    order: 2;
    width: 100%
}

@media screen and (min-width: 768px) {
    .feature .c-under-kv__title {
        width:58.9rem
    }
}

@media screen and (min-width: 768px) {
    .job .c-under-kv__title {
        width:44.7rem
    }
}

@media screen and (min-width: 768px) {
    .interview .c-under-kv__title {
        width:61.4rem
    }
}

@media screen and (min-width: 768px) {
    .c-under-kv__title .topics,.news .c-under-kv__title {
        width:68.9rem
    }
}

@media screen and (min-width: 768px) {
    .supporters .c-under-kv__title {
        width:62rem
    }
}

@media screen and (min-width: 768px) {
    .contact .c-under-kv__title {
        width:62rem
    }
}

.policy .c-under-kv__title {
    width: 100%
}

.c-under-kv__title ._sub {
    display: block;
    color: var(--color-red);
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1;
    letter-spacing: 0
}

@media screen and (min-width: 768px) {
    .c-under-kv__title ._sub {
        font-size:1.3erm
    }
}

.c-under-kv__title ._title {
    display: block;
    margin-top: 2rem;
    font-family: Poppins,sans-serif;
    font-weight: 500;
    font-size: 4.2rem;
    line-height: 1;
    letter-spacing: -.02em;
    text-transform: uppercase
}

@media screen and (min-width: 768px) {
    .c-under-kv__title ._title {
        margin-top:3rem;
        font-size: 8.4rem
    }
}

.c-under-kv__desc {
    order: 3;
    width: 100%;
    margin-top: 4rem
}

@media screen and (min-width: 768px) {
    .c-under-kv__desc {
        display:flex;
        align-items: flex-end;
        margin-top: 0;
        padding-top: 4.5rem
    }
}

@media screen and (min-width: 768px) {
    .feature .c-under-kv__desc {
        width:51.4rem
    }
}

@media screen and (min-width: 768px) {
    .job .c-under-kv__desc {
        width:65.6rem
    }
}

@media screen and (min-width: 768px) {
    .interview .c-under-kv__desc {
        width:48.9rem
    }
}

@media screen and (min-width: 768px) {
    .c-under-kv__desc .topics,.news .c-under-kv__desc {
        width:41.4rem
    }
}

@media screen and (min-width: 768px) {
    .supporters .c-under-kv__desc {
        width:48.3rem
    }
}

@media screen and (min-width: 768px) {
    .contact .c-under-kv__desc {
        width:48.3rem
    }
}

.c-under-kv__desc ._txt {
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .c-under-kv__desc ._txt {
        font-size:1.4rem
    }
}

.c-under-kv__breadcramb {
    order: 1;
    display: flex;
    justify-content: flex-end;
    width: 100%;
    margin-bottom: 5.6rem
}

.c-breadcramb {
    order: 1;
    display: flex
}

.c-breadcramb__item {
    display: flex;
    align-items: center;
    color: var(--color-gray2)
}

.c-breadcramb__item:nth-child(n+2):before {
    display: inline-block;
    content: ">";
    margin-inline:.5em;transform: scaleY(2) scale(.7) translateY(-.05rem)
}

.c-breadcramb__item:last-child ._txt {
    color: var(--color-red)
}

.c-breadcramb__item ._link,.c-breadcramb__item ._txt {
    overflow: hidden;
    display: inline-block;
    max-width: 18rem;
    font-family: Poppins,sans-serif;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.4;
    letter-spacing: -.01em;
    text-transform: uppercase;
    text-overflow: ellipsis;
    white-space: nowrap
}

@media screen and (min-width: 768px) {
    .c-breadcramb__item ._link,.c-breadcramb__item ._txt {
        max-width:46.9rem
    }
}

.c-breadcramb__item ._link:where(._ja),.c-breadcramb__item ._txt:where(._ja) {
    font-weight: 700;
    font-feature-settings: "palt"
}

@media screen and (min-width: 768px) {
    .c-under-sticky__inner {
        display:grid;
        grid-template-rows: 1fr;
        grid-template-columns: 20.7rem 1fr;
        width: 110.4rem;
        margin-inline:auto;padding-top: 13.6rem
    }
}

@media screen and (min-width: 768px) {
    .c-under-sticky:where(._topics) .c-under-sticky__inner {
        padding-top:7.2rem
    }
}

@media screen and (min-width: 768px) {
    .c-under-sticky:where(._interview) .c-under-sticky__inner {
        padding-top:0
    }
}

@media screen and (min-width: 768px) {
    .c-under-sticky:where(._contact) .c-under-sticky__inner {
        padding-top:9.6rem
    }
}

@media screen and (min-width: 768px) {
    .c-under-sticky__fix {
        grid-column:1/2;
        grid-row: 1/2;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        width: 20.7rem;
        z-index: 2
    }
}

@media screen and (max-width: 767px) {
    .c-under-sticky:where(._feature) .c-under-sticky__fix {
        position:fixed;
        right: 0;
        bottom: 1rem;
        z-index: 2;
        padding: 1.8rem 1.8rem 1.8rem 1.6rem;
        background: rgba(255,255,255,.9);
        border-radius: .3rem 0 0 .3rem;
        opacity: 1;
        visibility: visible;
        transition: opacity .25s ease,visibility .25s ease
    }

    .c-under-sticky:where(._feature) .c-under-sticky__fix._hidden {
        opacity: 0;
        visibility: hidden
    }
}

@media screen and (max-width: 767px) {
    .c-under-sticky:not(:where(._feature)) .c-under-sticky__fix {
        display:none
    }
}

@media screen and (min-width: 768px) {
    .c-under-sticky__nav {
        position:sticky;
        bottom: 0
    }
}

@media screen and (min-width: 768px) {
    .c-under-sticky__list {
        padding-bottom:8.8rem
    }
}

.c-under-sticky__listItem:nth-child(n+2) {
    margin-top: 1.8rem
}

@media screen and (min-width: 768px) {
    .c-under-sticky__listItem:nth-child(n+2) {
        margin-top:1.6rem
    }
}

.c-under-sticky__listItem._hidden {
    display: none
}

.c-under-sticky__listItem._hidden+.c-under-sticky__listItem {
    margin-top: 0
}

@media screen and (max-width: 767px) {
    .c-under-sticky:where(._feature) .c-under-sticky__listItem:nth-child(1) {
        display:none
    }

    .c-under-sticky:where(._feature) .c-under-sticky__listItem:nth-child(2) {
        margin-top: 0
    }
}

.c-under-sticky__listItem ._link {
    display: flex;
    align-items: center;
    font-family: Poppins,sans-serif;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.01em;
    text-transform: uppercase;
    font-size: 1.2rem
}

.c-under-sticky__listItem ._link:before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    border-radius: 50%;
    font-size: .4rem;
    margin-right: 1.2rem
}

._scroll .c-under-sticky__listItem ._link {
    color: var(--color-gray2)
}

.c-under-sticky__listItem ._link._current {
    color: var(--font-color-black)
}

.c-under-sticky__listItem ._txt {
    display: flex;
    align-items: center;
    font-family: Poppins,YakuHanJP_Noto,Noto Sans JP,sans-serif;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.01em;
    text-transform: uppercase;
    font-size: 1.2rem
}

._contact .c-under-sticky__listItem ._txt {
    color: var(--color-gray2)
}

.c-under-sticky__listItem ._txt._strong {
    color: var(--color-red)
}

.c-under-sticky__listItem ._txt:not(._noMarker):before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    border-radius: 50%;
    font-size: .4rem;
    margin-right: 1.2rem
}

@media screen and (min-width: 768px) {
    .c-under-sticky__contents {
        grid-column:1/3;
        grid-row: 1/2;
        width: 100%;
        z-index: 1
    }
}

@media screen and (min-width: 768px) {
    .c-ui-category {
        display:flex;
        align-items: center
    }
}

@media screen and (min-width: 768px) {
    .c-ui-category__name {
        width:6.2rem;
        margin-right: 1.6rem
    }
}

.c-ui-category__name ._txt {
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.02em;
    font-size: 1.3rem
}

.c-ui-category__name ._txt:after {
    content: "：";
    display: inline-block;
    width: .8em;
    text-align: center
}

.c-ui-category__value {
    overflow: scroll;
    margin-top: 1.6rem;
    margin-inline:calc(50% - 50vw)}

@media screen and (min-width: 768px) {
    .c-ui-category__value {
        margin-top:0;
        margin-inline:0}
}

.c-ui-category__value::-webkit-scrollbar {
    display: none
}

.c-ui-category__valueInner {
    display: flex;
    gap: .6rem;
    padding-left: 2rem
}

@media screen and (min-width: 768px) {
    .c-ui-category__valueInner {
        gap:.8rem;
        padding-left: 0
    }
}

.c-ui-category__valueItem {
    flex-shrink: 0
}

.c-ui-category__valueItem ._btn {
    display: flex;
    align-items: center;
    height: 2.6rem;
    padding-inline:1.4rem;font-size: 1.2rem;
    border-radius: 2rem;
    border: 0;
    background-color: var(--color-white1)
}

@media (hover: hover) {
    .c-ui-category__valueItem ._btn {
        transition:color .25s ease,background-color .25s ease
    }

    .c-ui-category__valueItem ._btn:hover {
        color: var(--color-white1);
        background-color: var(--color-red)
    }
}

.c-ui-category__valueItem ._btn._current {
    color: var(--color-white1);
    background-color: var(--color-red)
}

.c-ui-category__valueItem:last-child {
    padding-right: 2rem
}

.c-list-pager__inner {
    display: flex;
    justify-content: center;
    gap: 1.2rem
}

@media screen and (min-width: 768px) {
    .c-list-pager__inner {
        gap:1.6rem
    }
}

.c-list-pager__block {
    display: flex;
    align-items: center;
    gap: 1.6rem
}

@media screen and (min-width: 768px) {
    .c-list-pager__block {
        gap:2rem
    }
}

.c-list-pager__block._prev {
    flex-direction: row-reverse
}

.c-list-pager__link {
    display: contents
}

.c-list-pager__circle {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1em;
    height: 1em;
    border: 0;
    background-color: transparent;
    overflow: hidden;
    appearance: none;
    opacity: .45;
    font-size: 5.4rem
}

@media (hover: hover) {
    .c-list-pager__circle:hover:before {
        transform:scale(.8888888889)
    }
}

:where(.c-list-pager__link) .c-list-pager__circle {
    opacity: 1
}

.c-list-pager__circle:before {
    position: absolute;
    inset: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: .1rem solid var(--color-gray1);
    border-radius: 50%
}

@media (hover: hover) {
    .c-list-pager__circle:before {
        transition:transform .8s cubic-bezier(.19,1,.22,1)
    }
}

.c-list-pager__circle ._circle {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    stroke: currentColor;
    stroke-width: 1px;
    stroke-dasharray: 200px 200px;
    stroke-dashoffset: 200px;
    fill: none;
    transform: rotate(-90deg);
    overflow: hidden;
    border-radius: 50%
}

.c-list-pager__circle ._icon {
    display: flex;
    align-items: center;
    width: 1em;
    height: 1em;
    font-size: 1.4rem
}

.c-list-pager__circle ._icon:before {
    content: "";
    display: block;
    width: 100%;
    height: .6rem;
    background-color: currentColor;
    clip-path: polygon(0 50%,.6rem 0,.6rem .25rem,100% .25rem,100% .35rem,.6rem .35rem,.6rem 100%,0 50%)
}

._next .c-list-pager__circle ._icon {
    rotate: 180deg
}

.c-list-pager__dir {
    opacity: .45
}

:where(.c-list-pager__link) .c-list-pager__dir {
    opacity: 1
}

.c-list-pager__dir ._txt {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1
}

@media screen and (min-width: 768px) {
    .c-list-pager__dir ._txt {
        font-size:1.4rem
    }
}

.c-detail-pager {
    padding-bottom: 8.8rem
}

@media screen and (min-width: 768px) {
    .c-detail-pager {
        padding-bottom:14.4rem
    }
}

.c-detail-pager__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .c-detail-pager__inner {
        padding-inline:20.7rem 0
    }
}

.c-detail-pager__connect {
    position: relative;
    display: flex;
    border-top: .1rem solid var(--color-gray1);
    border-bottom: .1rem solid var(--color-gray1)
}

.c-detail-pager__connect:before {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    display: block;
    width: .1rem;
    height: calc(100% - 4.8rem);
    transform: translateY(-50%);
    background-color: var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .c-detail-pager__connect:before {
        height:calc(100% - 8rem)
    }
}

.c-detail-pager__connectItem {
    position: relative;
    width: 50%;
    padding-block:2.4rem}

@media screen and (min-width: 768px) {
    .c-detail-pager__connectItem {
        padding-block:3.6rem
    }
}

@media (hover: hover) {
    .c-detail-pager__block._prev:hover:before {
        translate:-.8rem
    }

    .c-detail-pager__block._next:hover:before {
        translate: .8rem
    }
}

.c-detail-pager__block._prev:before,.c-detail-pager__block._next:before {
    position: absolute;
    top: calc(50% - .5rem);
    content: "";
    display: block;
    width: .8rem;
    height: 1rem;
    background-color: currentColor;
    clip-path: polygon(0 0,100% 50%,0 100%)
}

@media (hover: hover) {
    .c-detail-pager__block._prev:before,.c-detail-pager__block._next:before {
        transition:translate .25s ease
    }
}

.c-detail-pager__block._prev {
    margin-right: auto
}

.c-detail-pager__block._prev:before {
    left: .8rem;
    rotate: 180deg
}

@media screen and (min-width: 768px) {
    .c-detail-pager__block._prev:before {
        left:2.4rem
    }
}

.c-detail-pager__block._next {
    margin-left: auto
}

.c-detail-pager__block._next:before {
    right: .8rem
}

@media screen and (min-width: 768px) {
    .c-detail-pager__block._next:before {
        right:2.4rem
    }
}

.c-detail-pager__link {
    position: absolute;
    inset: 0
}

@media (hover: hover) {
    .c-detail-pager__link:hover+.c-detail-pager__text .c-detail-pager__title {
        background-position:bottom left;
        background-size: 100% 100%
    }
}

@media screen and (min-width: 768px) {
    .c-detail-pager__text {
        padding-inline:7.2rem
    }
}

@media screen and (max-width: 767px) {
    ._prev .c-detail-pager__text {
        padding-inline:3.2rem 3.7rem
    }
}

@media screen and (max-width: 767px) {
    ._next .c-detail-pager__text {
        padding-inline:2.5rem 4.4rem
    }
}

.c-detail-pager__dir {
    color: var(--color-gray2);
    font-weight: 300;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: 0
}

.c-detail-pager__title {
    overflow: hidden;
    margin-top: 1.6rem;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
    font-feature-settings: "palt"
}

@media screen and (max-width: 767px) {
    .c-detail-pager__title {
        display:-webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical
    }
}

@media screen and (min-width: 768px) {
    .c-detail-pager__title {
        max-width:30.8rem;
        margin-top: 1.8rem;
        text-overflow: ellipsis;
        white-space: nowrap
    }
}

@media (hover: hover) {
    .c-detail-pager__title {
        display:inline-block;
        background-image: linear-gradient(0deg,currentColor .1rem,transparent .1rem);
        background-size: 0 100%;
        background-repeat: no-repeat;
        background-position: bottom right;
        transition: background-size .25s ease
    }
}

.c-detail-pager__title>br {
    display: none
}

.c-detail-pager__name {
    margin-top: .8rem;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1
}

.c-detail-pager__back {
    display: flex;
    justify-content: center;
    margin-top: 6.4rem
}

@media screen and (min-width: 768px) {
    .c-detail-pager__back {
        margin-top:7.2rem
    }
}

.hm-splash {
    position: fixed;
    inset: 0;
    z-index: 5;
    background-color: var(--color-white2);
    transition: opacity .6s ease,visibility .6s ease
}

.hm-splash~:where(section,div):not(.hm-kv) {
    display: none
}

.is-loaded .hm-splash~:where(section,div):not(.hm-kv) {
    display: revert
}

.is-loaded .hm-splash {
    opacity: 0;
    visibility: hidden
}

.hm-splash__logo {
    position: absolute;
    inset: 50%;
    width: 15rem;
    height: 6.22rem;
    transform: translate(-50%,-50%)
}

@media screen and (min-width: 768px) {
    .hm-splash__logo {
        width:20rem;
        height: 8.3rem
    }
}

.hm-splash__logo ._logo {
    width: 100%;
    height: 100%
}

.hm-kv {
    position: relative
}

@media screen and (min-width: 768px) {
    .hm-kv {
        height:100vh
    }
}

@media screen and (min-width: 768px) {
    .hm-kv__inner {
        overflow:hidden
    }
}

.hm-kv__bg {
    position: relative;
    z-index: 0;
    --animDuration: .55s;
    --translate: -24%;
    display: flex;
    align-items: flex-end;
    width: 100%;
    height: 87.6rem;
    transform: translate(0,0,0)
}

@media screen and (max-width: 767px) {
    .hm-kv__bg {
        opacity:0
    }

    ._visibled .hm-kv__bg {
        opacity: 1
    }
}

@media screen and (min-width: 768px) {
    .hm-kv__bg {
        width:calc(100% - 41.3rem);
        height: 100vh
    }
}

.hm-kv__bg:after {
    position: absolute;
    inset: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(var(--font-color-black) 20%,transparent 30%),radial-gradient(var(--font-color-black) 20%,transparent 30%);
    background-size: 4px 4px;
    background-position: 0 0,2px 2px;
    opacity: var(--opacity, .15)
}

.hm-kv__bgInner {
    width: 100%;
    height: 46.8rem
}

@media screen and (min-width: 768px) {
    .hm-kv__bgInner {
        height:100%;
        transform: translate(var(--translate, -20%))
    }

    ._visibled .hm-kv__bgInner {
        transition: transform var(--animDuration) cubic-bezier(.46,.03,.52,.96);
        transform: translate(0)
    }
}

.hm-kv__bgInner ._video {
    object-fit: cover;
    width: 100%;
    height: 100%
}

.hm-kv__bgFrameWrapper {
    height: inherit
}

@media screen and (min-width: 768px) {
    .hm-kv__bgFrameWrapper {
        display:flex;
        justify-content: center
    }
}

.hm-kv__bgFrame {
    height: inherit
}

@media screen and (min-width: 768px) {
    .hm-kv__bgFrame {
        position:absolute;
        left: calc(50% - 40vw);
        width: 100vw
    }
}

.hm-kv__logo {
    position: absolute;
    top: 1.7rem;
    left: 2rem;
    z-index: 2;
    width: 8.8rem;
    height: 3.6rem;
    opacity: 1;
    transition: opacity .25s .2s ease;
    pointer-events: none
}

@media screen and (min-width: 768px) {
    .hm-kv__logo {
        top:4rem;
        left: 4rem;
        width: 13rem;
        height: 5.3rem
    }
}

.hm-kv__logo ._logo {
    width: 100%;
    height: 100%
}

._visibled .hm-kv__logo {
    opacity: 1;
    pointer-events: all
}

.hm-kv__menu {
    position: absolute;
    top: 1.4rem;
    right: 1.3rem;
    z-index: 2;
    opacity: 1;
    transition: opacity .25s .2s ease,visibility .25s .2s ease
}

@media screen and (min-width: 768px) {
    .hm-kv__menu {
        top:5rem;
        right: 4rem
    }
}

._visibled .hm-kv__menu {
    opacity: 1;
    visibility: visible
}

.hm-kv__menuBtn {
    display: flex;
    align-items: center;
    border: 0;
    background-color: transparent;
    appearance: none
}

@media (hover: hover) {
    .hm-kv__menuBtn:hover ._row {
        transform:translateY(-50%)
    }

    .hm-kv__menuBtn:hover ._line:nth-child(1):before {
        transform: translateY(2px)
    }

    .hm-kv__menuBtn:hover ._line:nth-child(2):before {
        opacity: 1
    }

    .hm-kv__menuBtn:hover ._line:nth-child(3):before {
        transform: translateY(-2px)
    }
}

.hm-kv__menuBtn ._txt {
    overflow: hidden;
    height: 1.2rem;
    font-family: Poppins,sans-serif;
    font-size: 1.2rem;
    line-height: 1.2rem;
    letter-spacing: .03em;
    text-transform: uppercase
}

.hm-kv__menuBtn ._row {
    display: flex;
    flex-direction: column
}

.hm-kv__menuBtn ._row:after {
    content: attr(data-txt)
}

@media (hover: hover) {
    .hm-kv__menuBtn ._row {
        transition:transform .25s ease
    }
}

.hm-kv__menuBtn ._lines {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 4.2rem;
    height: 3.2rem
}

@media screen and (min-width: 768px) {
    .hm-kv__menuBtn ._lines {
        width:4rem;
        height: 3.4rem;
        margin-left: 1.2rem
    }
}

.hm-kv__menuBtn ._line {
    display: block;
    width: 2.8rem;
    height: 1px
}

@media screen and (min-width: 768px) {
    .hm-kv__menuBtn ._line {
        width:100%
    }
}

.hm-kv__menuBtn ._line:nth-child(2) {
    margin-block:.4rem}

.hm-kv__menuBtn ._line:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor
}

@media (hover: hover) {
    .hm-kv__menuBtn ._line:before {
        transition:transform .15s ease-in,opacity .15s ease-in
    }
}

.hm-kv__text {
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: 100%;
    height: 100vh
}

@media screen and (max-width: 767px) {
    .hm-kv__textShutter {
        --animDuration: .25s;
        position: absolute;
        top: 0;
        left: 50%;
        z-index: 1;
        width: 200%;
        padding-top: 100vh;
        background-color: var(--color-white2);
        translate: -50% 0
    }

    ._visibled .hm-kv__textShutter {
        clip-path: inset(0 round 0 0 50% 50%);
        padding-top: 46rem;
        transition: padding-top var(--animDuration) ease,clip-path var(--animDuration) ease
    }
}

@media screen and (min-width: 768px) {
    .hm-kv__textShutter {
        --animDuration: .5s;
        position: absolute;
        inset: 0;
        z-index: 1;
        display: flex;
        width: 100%;
        height: 100vh
    }

    ._visibled .hm-kv__textShutter._fixed {
        transform: translate(calc(100vw - 49.4rem))
    }

    .hm-kv__textShutter ._round {
        overflow: hidden;
        position: relative;
        height: 100%
    }

    .hm-kv__textShutter ._round ._inner {
        position: absolute;
        top: 50%;
        left: 0;
        display: block;
        width: var(--sideWidth, 100%);
        height: var(--sideWidth, 100vh);
        background-color: var(--color-white2);
        translate: 0 -50%;
        clip-path: inset(0 round 0%)
    }

    .is-loaded .hm-kv__textShutter ._round ._inner {
        clip-path: inset(0 round 25%)
    }

    ._visibled .hm-kv__textShutter ._round ._inner {
        clip-path: inset(0 round 50%);
        transition: clip-path var(--animDuration) cubic-bezier(.4,.25,.3,1.05);
    }

    .hm-kv__textShutter ._rect {
        width: calc(50% - 25rem);
        height: 100%;
        margin-left: auto;
        background-color: var(--color-white2);
        clip-path: inset(0 round 50%);
    }
}

.hm-kv__textInner {
    position: relative;
    z-index: 2
}

@media screen and (max-width: 767px) {
    .hm-kv__textInner {
        padding:13.3rem 3.2rem 0
    }
}

@media screen and (min-width: 768px) {
    .hm-kv__textInner {
        display:flex;
        flex-direction: column;
        justify-content: center;
        width: 41.4rem;
        height: 100%;
        margin-left: auto
    }
}

.hm-kv__catch ._txt {
    font-weight: 700;
    font-size: 3.1rem;
    line-height: 1.3;
    letter-spacing: 0
}

@media screen and (min-width: 768px) {
    .hm-kv__catch ._txt {
        font-size:3.1rem
    }
}

.hm-kv__catch ._strong {
    color: var(--color-red)
}

.hm-kv__anim {
    --animDuration: .45s;
    margin-top: 1.6rem;
    opacity: 0;
    transition: opacity var(--animDuration) ease-in-out;
    pointer-events: none
}

@media screen and (min-width: 768px) {
    .hm-kv__anim {
        margin-top:2.4rem
    }
}

.hm-kv__anim._visible {
    opacity: 1;
    pointer-events: all
}

.hm-kv__site {
    display: flex;
    align-items: center
}

.hm-kv__site ._txt {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .hm-kv__site:before {
        content:"";
        display: block;
        width: 4.4rem;
        height: .1rem;
        margin-right: 1rem;
        background-color: currentColor
    }
}

.hm-kv__connect {
    margin-top: 4rem
}

@media screen and (min-width: 768px) {
    .hm-kv__connect {
        margin-top:5.6rem
    }
}

@media screen and (min-width: 768px) {
    .hm-kv__connect ._txt {
        font-size:1.6rem
    }
}

@media (hover: hover) {
    .hm-kv__connect .c-page-connect ._frame,.hm-kv__connect .c-page-connect ._deco {
        position:relative;
        z-index: 2
    }

    .hm-kv__connect .c-page-connect:before {
        content: revert
    }

    .hm-kv__connect .c-page-connect:after {
        position: absolute;
        inset: 50%;
        z-index: 1;
        content: "";
        display: block;
        width: 32rem;
        height: 20rem;
        background-color: var(--font-color-black);
        border-radius: 50%;
        translate: -50% -50%;
        transform: translateY(calc(100% + 2.9rem));
        transition: transform .35s ease;
        animation: slideOutCircle .5s ease
    }

    .hm-kv__connect .c-page-connect:hover {
        background-color: var(--color-red)
    }

    .hm-kv__connect .c-page-connect:hover:after {
        transform: translateY(0);
        animation: none
    }
}

.hm-kv__topics {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    opacity: 0;
    transition: opacity .25s .2s ease;
    pointer-events: none
}

._visibled .hm-kv__topics {
    opacity: 1;
    pointer-events: all
}

.hm-kv__topicsInner {
    display: flex;
    background-color: var(--color-white1);
    border-top: .1rem solid var(--color-gray1);
    border-bottom: .1rem solid var(--color-gray1)
}

.hm-kv__topicsHead {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 8.2rem;
    height: 5.8rem;
    font-family: Poppins,sans-serif;
    font-weight: 600;
    font-size: 1.3rem;
    line-height: 1.1;
    letter-spacing: -.01em;
    text-transform: uppercase;
    border-right: .1rem solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .hm-kv__topicsHead {
        width:13.4rem;
        height: 5rem;
        font-size: 1.2rem;
        letter-spacing: -.01em
    }
}

.hm-kv__topicsHead ._txt {
    display: flex;
    justify-content: center
}

.hm-kv__topicsBody {
    overflow: hidden;
    flex-grow: 1
}

@media (hover: hover) {
    .hm-kv__topicsBody:hover .hm-kv__topicsSlot {
        animation-play-state:paused
    }
}

.hm-kv__topicsSlot {
    display: flex;
    width: fit-content;
    height: 100%;
    animation: slideKvTopics 50s linear infinite
}

@keyframes slideKvTopics {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(-50%)
    }
}

.hm-kv__topicsItem {
    height: inherit
}

.hm-kv__topicsLink {
    position: relative;
    display: block;
    height: inherit;
    color: var(--font-color-black);
    background-color: transparent
}

.hm-kv__topicsLink:before {
    position: absolute;
    inset: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--font-color-black);
    opacity: 0
}

@media (hover: hover) {
    .hm-kv__topicsLink:before {
        transition:opacity .25s ease
    }
}

@media (hover: hover) {
    .hm-kv__topicsLink {
        transition:color .25s ease
    }

    .hm-kv__topicsLink:hover {
        color: var(--color-white1)
    }

    .hm-kv__topicsLink:hover:before {
        opacity: 1
    }
}

.hm-kv__topicsTxt {
    position: relative;
    z-index: 1;
    display: flex;
    width: max-content;
    padding: 1.9rem 1.8rem 2rem
}

@media screen and (min-width: 768px) {
    .hm-kv__topicsTxt {
        padding:1.6rem 2rem
    }
}

.hm-kv__topicsTxt ._cat {
    display: flex;
    align-items: center;
    padding-top: .1rem;
    font-family: Poppins,sans-serif;
    font-weight: 300;
    font-size: 1.2rem;
    letter-spacing: -.01em;
    text-transform: uppercase
}

@media screen and (min-width: 768px) {
    .hm-kv__topicsTxt ._cat {
        font-size:1rem
    }
}

.hm-kv__topicsTxt ._cat:before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background-color: #e60012;
    border-radius: 50%;
    font-size: .4rem;
    margin-right: 1rem
}

.hm-kv__topicsTxt ._date {
    margin-left: .7rem;
    padding-top: .1rem;
    font-family: Poppins,sans-serif;
    font-weight: 300;
    font-size: 1.2rem;
    letter-spacing: -.01em
}

@media screen and (min-width: 768px) {
    .hm-kv__topicsTxt ._date {
        font-size:1.1rem
    }
}

.hm-kv__topicsTxt ._date:before {
    content: "|";
    margin-right: .9rem;
    color: var(--color-gray1)
}

.hm-kv__topicsTxt ._title {
    margin-left: 1rem;
    font-weight: 500;
    font-size: 1.3rem;
    letter-spacing: 0;
    line-height: 1.4;
    max-width: 38em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

@media screen and (min-width: 768px) {
    .hm-kv__topicsTxt ._title {
        margin-left:.8rem;
        font-size: 1.2rem
    }
}

.hm-commit {
    padding-block:10.4rem}

@media screen and (min-width: 768px) {
    .hm-commit {
        padding-block:23.2rem 26.4rem
    }
}

@media screen and (max-width: 767px) {
    .hm-commit__inner {
        padding-inline:3.2rem
    }
}

@media screen and (min-width: 768px) {
    .hm-commit__inner {
        width:96.6rem;
        margin-inline:auto}
}

@media screen and (max-width: 767px) {
    .hm-commit__header {
        width:calc(100% + 3rem)
    }
}

.hm-commit__title {
    font-family: Noto Sans JP,sans-serif;
    font-weight: 700;
    font-size: 3.5rem;
    line-height: 1.3;
    font-feature-settings: "palt"
}

@media screen and (min-width: 768px) {
    .hm-commit__title {
        font-size:7.1rem;
        line-height: 1.1;
        letter-spacing: -.02em
    }

    .hm-commit__title:first-line {
        letter-spacing: -.04em
    }
}

.hm-commit__title ._strong {
    color: var(--color-red);
    font-family: Poppins,YakuHanJP_Noto,Noto Sans JP,sans-serif
}

.hm-commit__title ._num {
    font-weight: 500;
    font-size: 4.3rem;
    line-height: 1;
    vertical-align: -.06em
}

@media screen and (min-width: 768px) {
    .hm-commit__title ._num {
        font-size:8.6rem
    }
}

.hm-commit__body {
    margin-top: 2.4rem
}

@media screen and (min-width: 768px) {
    .hm-commit__body {
        margin-top:7.2rem
    }
}

@media screen and (min-width: 768px) {
    .hm-commmit__desc {
        padding-left:13.7rem
    }
}

.hm-commmit__desc ._txt {
    width: calc(100% + .1em);
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.4
}

@media screen and (min-width: 768px) {
    .hm-commmit__desc ._txt {
        font-size:3.2rem;
        line-height: 1.6
    }
}

.hm-commmit__desc ._row {
    display: inline-block;
    --delay: .35s
}

@media screen and (max-width: 767px) {
    .hm-commmit__desc ._row+._row {
        margin-top:1.6rem
    }
}

.hm-commmit__desc ._row:nth-child(1) {
    transition: opacity .6s calc(0 * var(--delay)) ease-in-out
}

.hm-commmit__desc ._row:nth-child(2) {
    transition: opacity .6s calc(1 * var(--delay)) ease-in-out
}

.hm-commmit__desc ._row:nth-child(3) {
    transition: opacity .6s calc(2 * var(--delay)) ease-in-out
}

.hm-commmit__desc ._row:nth-child(4) {
    transition: opacity .6s calc(3 * var(--delay)) ease-in-out
}

.hm-commmit__desc ._row:nth-child(5) {
    transition: opacity .6s calc(4 * var(--delay)) ease-in-out
}

.hm-commmit__desc ._palt {
    font-feature-settings: "palt"
}

.hm-fellow {
    overflow: hidden;
    padding-bottom: 10.4rem
}

@media screen and (min-width: 768px) {
    .hm-fellow {
        padding-bottom:17.1rem
    }
}

.hm-fellow__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .hm-fellow__inner {
        position:relative;
        width: 110.4rem;
        margin-inline:auto;padding-inline:0}
}

.hm-fellow__body {
    margin-top: 7.2rem
}

@media screen and (min-width: 768px) {
    .hm-fellow__body {
        margin-top:11.2rem
    }
}

.hm-fellow__connect {
    display: flex;
    justify-content: center;
    margin-top: 7.2rem
}

@media screen and (min-width: 768px) {
    .hm-fellow__connect {
        position:absolute;
        right: 0;
        z-index: 1;
        display: block;
        margin-top: .3rem;
        transform: translateY(-100%)
    }
}

@media screen and (min-width: 768px) {
    .hm-fmember {
        position:relative
    }
}

@media screen and (min-width: 768px) {
    .hm-fmember__swiper {
        position:relative;
        margin-inline:calc(50% - 50vw)}
}

@media screen and (min-width: 768px) {
    .hm-fmember__swiperBody {
        width:110.4rem;
        margin-inline:auto}
}

.hm-fmember__swiperContainer {
    position: static;
    overflow: visible
}

@media screen and (min-width: 768px) {
    .hm-fmember__swiperContainer {
        margin-left:0;
        margin-right: 0
    }
}

.hm-fmember__swiperContainer .c-fellow-card__title ._txt>._l:not(:last-child) {
    margin-bottom: .4rem
}

.hm-fmember__swiperWrapper {
    transition-timing-function: cubic-bezier(.2,1,.3,1)
}

@media screen and (min-width: 768px) {
    .hm-fmember__swiperWrapper._to-left {
        animation:toLeft .35s forwards
    }

    .hm-fmember__swiperWrapper._to-left._to-left-back {
        animation: toLeftBack .35s
    }
}

@media screen and (min-width: 768px) {
    .hm-fmember__swiperWrapper._to-right {
        animation:toRight .35s forwards
    }

    .hm-fmember__swiperWrapper._to-right._to-right-back {
        animation: toRightBack .35s
    }
}

@keyframes toLeft {
    0% {
        translate: 0
    }

    to {
        translate: -4rem
    }
}

@keyframes toLeftBack {
    0% {
        translate: -4rem
    }

    to {
        translate: 0
    }
}

@keyframes toRight {
    0% {
        translate: 0
    }

    to {
        translate: 4rem
    }
}

@keyframes toRightBack {
    0% {
        translate: 4rem
    }

    to {
        translate: 0
    }
}

.hm-fmember__slide {
    width: 30.8rem;
    padding-inline:1.8rem 2.4rem}

@media screen and (min-width: 768px) {
    .hm-fmember__slide {
        width:28rem;
        padding-inline:5.1rem 1.8rem}
}

.hm-fmember__slide:nth-child(even) {
    padding-top: 2rem
}

@media screen and (min-width: 768px) {
    .hm-fmember__slide:nth-child(even) {
        padding-top:4.3rem
    }
}

.hm-fmember__num {
    position: absolute;
    color: var(--color-red);
    font-family: Poppins,sans-serif;
    font-weight: 500;
    font-style: italic;
    font-size: 1.6rem;
    letter-spacing: -.02em
}

.hm-fmember__targets {
    display: none
}

@media screen and (min-width: 768px) {
    .hm-fmember__targets {
        position:relative;
        display: block;
        margin-inline:calc(50% - 50vw)}
}

@media screen and (min-width: 768px) {
    .hm-fmember__target {
        position:absolute;
        top: 0;
        z-index: 2;
        height: 39.7rem;
        cursor: pointer;
        transform: translateY(-100%)
    }

    .hm-fmember__target._disabled {
        display: none
    }
}

@media screen and (min-width: 768px) {
    .hm-fmember__target._prev {
        left:0;
        width: calc((100vw - 110.4rem)/2 + 17.45rem)
    }
}

@media (hover: hover) {
    .hm-fmember__target._prev:hover~.hm-fmember__stalker ._circle:after {
        content:"prev"
    }
}

@media screen and (min-width: 768px) {
    .hm-fmember__target._next {
        right:0;
        width: calc((100vw - 110.4rem) / 2 + 17.45rem + 3.9rem)
    }
}

@media (hover: hover) {
    .hm-fmember__target._next:hover~.hm-fmember__stalker ._circle:after {
        content:"next"
    }
}

@media (hover: hover) {
    .hm-fmember__target:not(._disabled):hover~.hm-fmember__stalker ._circle {
        opacity:1;
        scale: 1.1162790698
    }
}

@media screen and (min-width: 768px) {
    .hm-fmember__stalker {
        position:absolute;
        top: 0;
        left: 0;
        z-index: 2
    }
}

@media screen and (min-width: 768px) {
    .hm-fmember__stalker ._circle {
        position:absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 1em;
        height: 1em;
        font-size: 8.6rem;
        opacity: 0;
        transform: translate(-50%,-50%);
        transition: opacity .25s ease,scale .25s ease;
        pointer-events: none
    }

    .hm-fmember__stalker ._circle:before {
        position: absolute;
        inset: 0;
        z-index: 0;
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-color: var(--color-red);
        border-radius: 50%;
        opacity: .7
    }

    .hm-fmember__stalker ._circle:after {
        position: relative;
        content: "";
        color: var(--color-white1);
        font-family: Poppins,sans-serif;
        font-weight: 500;
        font-size: 1.2rem;
        letter-spacing: -.01em;
        text-transform: uppercase
    }
}

.hm-fmember__controller {
    display: none
}

@media screen and (min-width: 768px) {
    .hm-fmember__controller {
        display:flex;
        align-items: center;
        margin-top: 6rem
    }
}

.hm-fmember__btns {
    display: flex;
    align-items: center
}

.hm-fmember__btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1em;
    height: 1em;
    border: 0;
    background-color: transparent;
    overflow: hidden;
    appearance: none
}

@media screen and (min-width: 768px) {
    .hm-fmember__btn {
        font-size:5.4rem
    }
}

@media (hover: hover) {
    .hm-fmember__btn:hover:before {
        transform:translate(-50%,-50%) scale(.8888888889)
    }
}

.hm-fmember__btn:disabled {
    opacity: .45;
    pointer-events: none
}

@media screen and (min-width: 768px) {
    .hm-fmember__btn._next {
        margin-left:1rem
    }
}

.hm-fmember__btn._next ._icon {
    rotate: 180deg
}

.hm-fmember__btn:before {
    position: absolute;
    inset: 50%;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: .1rem solid var(--color-gray1);
    border-radius: 50%;
    transform: translate(-50%,-50%)
}

@media (hover: hover) {
    .hm-fmember__btn:before {
        transition:transform .8s cubic-bezier(.19,1,.22,1)
    }
}

.hm-fmember__btn ._icon {
    display: flex;
    align-items: center;
    width: 1em;
    height: 1em;
    font-size: 1.4rem
}

.hm-fmember__btn ._icon:before {
    content: "";
    display: block;
    width: 100%;
    height: .6rem;
    background-color: currentColor;
    clip-path: polygon(0 50%,.6rem 0,.6rem .25rem,100% .25rem,100% .35rem,.6rem .35rem,.6rem 100%,0 50%)
}

@keyframes circle-run-hover-out {
    0% {
        transform: rotate(90deg);
        stroke-dashoffset: 0
    }

    to {
        transform: rotate(270deg);
        stroke-dashoffset: -200px
    }
}

@keyframes circle-run-hover {
    0% {
        transform: rotate(-90deg);
        stroke-dashoffset: 200px
    }

    to {
        transform: rotate(90deg);
        stroke-dashoffset: 0
    }
}

@keyframes swing-arrow {
    0% {
        transform: translate(0);
        opacity: 1
    }

    50% {
        transform: translate(-50%);
        opacity: 0
    }

    50.1% {
        transform: translate(50%);
        opacity: 0
    }

    to {
        transform: translate(0);
        opacity: 1
    }
}

.hm-marge {
    overflow: hidden;
    padding-bottom: 10.7rem
}

@media screen and (min-width: 768px) {
    .hm-marge {
        padding-bottom:14rem
    }
}

.hm-marge__inner {
    position: relative
}

.hm-marge__top {
    position: relative;
    overflow: hidden;
    height: 2.8rem
}

@media screen and (min-width: 768px) {
    .hm-marge__top {
        height:8.8rem
    }
}

.hm-marge__top ._inner {
    width: 100%;
    height: 100%;
    transform-origin: center bottom;
    transform: scaleY(var(--scaleY))
}

.hm-marge__top ._inner:before {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
    content: "";
    display: block;
    width: 220%;
    height: 1740%;
    transform: translate(-50%);
    background-color: var(--color-white1);
    border-radius: 100% 100% 0 0;
    clip-path: polygon(0 0,100% 0,100% 50%,0 50%)
}

@media screen and (min-width: 768px) {
    .hm-marge__top ._inner:before {
        height:1840%
    }
}

.hm-marge__body {
    position: relative;
    z-index: 2;
    background-color: var(--color-white1)
}

.hm-marge__bottom {
    position: relative;
    overflow: hidden;
    height: 2.8rem
}

@media screen and (min-width: 768px) {
    .hm-marge__bottom {
        height:8.8rem
    }
}

.hm-marge__bottom ._inner {
    width: 100%;
    height: 100%;
    transform-origin: center top;
    transform: scaleY(var(--scaleY))
}

.hm-marge__bottom ._inner:before {
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 1;
    content: "";
    display: block;
    width: 220%;
    height: 1740%;
    transform: translate(-50%);
    background-color: var(--color-white1);
    border-radius: 0 0 100% 100%;
    clip-path: polygon(0 50%,100% 50%,100% 100%,0 100%)
}

@media screen and (min-width: 768px) {
    .hm-marge__bottom ._inner:before {
        height:1840%
    }
}

.hm-job {
    padding-bottom: 10.4rem
}

@media screen and (min-width: 768px) {
    .hm-job {
        padding-bottom:16rem
    }
}

.hm-job__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .hm-job__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:0}
}

.hm-job__header .c-sec-header__sub {
    opacity: 0;
    transition: opacity .25s ease
}

.hm-job__header .c-sec-header__sub._visible {
    opacity: 1
}

.hm-job__body {
    margin-top: 5.6rem
}

@media screen and (min-width: 768px) {
    .hm-job__body {
        margin-top:10.4rem
    }
}

.hm-job__connect {
    display: flex;
    justify-content: center;
    margin-top: 6.4rem
}

@media screen and (min-width: 768px) {
    .hm-job__connect {
        margin-top:8rem;
        justify-content: flex-end
    }
}

.hm-illust {
    padding-top: 10.4rem;
    padding-bottom: 10.4rem
}

@media screen and (min-width: 768px) {
    .hm-illust {
        padding-bottom:16.8rem
    }
}

.hm-illust__inner {
    display: flex;
    flex-direction: column;
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .hm-illust__inner {
        flex-direction:row;
        justify-content: space-between;
        align-items: flex-end;
        width: 96.6rem;
        margin-inline:auto;padding-inline:0}
}

.hm-illust__wrappwer {
    display: contents
}

@media screen and (min-width: 768px) {
    .hm-illust__wrappwer {
        order:2;
        display: flex;
        flex-direction: column;
        width: 33.9rem
    }
}

.hm-illust__header {
    order: 1
}

.hm-illust__header .c-sec-header {
    border-top: 0;
    padding-top: 0
}

.hm-illust__header .c-sec-header__sub {
    margin-top: 1.4rem;
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.4;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .hm-illust__header .c-sec-header__sub {
        width:calc(100% + 1em);
        font-size: 2.4rem
    }
}

.hm-illust__header .c-sec-header__sub ._strong {
    color: var(--color-red)
}

.hm-illust__text {
    order: 3;
    margin-top: 3.8rem
}

@media screen and (min-width: 768px) {
    .hm-illust__text {
        order:2;
        margin-top: 2.4rem
    }
}

.hm-illust__desc ._txt {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

.hm-illust__connect {
    display: flex;
    justify-content: center;
    margin-top: 4.8rem
}

@media screen and (min-width: 768px) {
    .hm-illust__connect {
        justify-content:flex-start;
        margin-top: 4rem
    }
}

.hm-illust__visual {
    position: relative;
    order: 2;
    width: calc(100% + 4rem - 2px);
    margin-top: 3.8rem;
    margin-left: -2rem
}

@media screen and (min-width: 768px) {
    .hm-illust__visual {
        order:1;
        width: 58rem;
        margin-top: 0
    }
}

.hm-illust__visualBg ._img {
    width: 100%
}

.hm-illust__visualAnim {
    position: absolute;
    inset: 0;
    width: 100%;
    opacity: 0
}

.hm-illust__visualAnim._reloaded {
    opacity: 1
}

.hm-illust__visualAnim ._img {
    width: 100%
}

.hm-supporters__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .hm-supporters__inner {
        width:96.6rem;
        margin-inline:auto;padding-inline:0}
}

@media screen and (max-width: 767px) {
    .hm-supporters__inner .c-supporter-card__info {
        margin-top:-5.2rem
    }
}

.hm-supporters__body {
    margin-top: 5rem
}

@media screen and (min-width: 768px) {
    .hm-supporters__body {
        margin-top:10.4rem
    }
}

.hm-supporters__donate {
    border-bottom: .1rem solid var(--color-gray1);
    padding-bottom: 5rem
}

@media screen and (min-width: 768px) {
    .hm-supporters__donate {
        padding-bottom:7.2rem
    }
}

.hm-supportera__donateList {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

@media screen and (min-width: 768px) {
    .hm-supportera__donateList {
        gap:1.8rem
    }
}

.hm-supportera__donateItem {
    width: 16.3rem
}

@media screen and (min-width: 768px) {
    .hm-supportera__donateItem {
        width:31rem
    }
}

.hm-supportera__donateItem ._img {
    width: 100%
}

@media screen and (max-width: 767px) {
    .hm-supportera__donateItem:nth-child(1) {
        order:1;
        scale: 1.3
    }
}

@media screen and (max-width: 767px) {
    .hm-supportera__donateItem:nth-child(2) {
        order:3;
        scale: 1.1
    }
}

@media screen and (max-width: 767px) {
    .hm-supportera__donateItem:nth-child(3) {
        order:2;
        scale: 1.1
    }
}

.hm-supporters__member {
    margin-top: 6.4rem;
    margin-inline:calc(50% - 50vw)}

@media screen and (min-width: 768px) {
    .hm-supporters__member {
        margin-top:9.6rem
    }
}

.hm-supporters__partner {
    margin-top: 5.6rem;
    margin-inline:calc(50% - 50vw)}

@media screen and (min-width: 768px) {
    .hm-supporters__partner {
        margin-top:7.2rem
    }
}

.hm-supporters__partnerRow {
    height: 6.2rem
}

@media screen and (min-width: 768px) {
    .hm-supporters__partnerRow {
        height:8.8rem
    }
}

.hm-supporters__partnerRow+.hm-supporters__partnerRow {
    margin-top: .8rem
}

.hm-supporters__partnerSlot {
    display: flex;
    width: max-content;
    height: 100%
}

._setSpStatus .hm-supporters__partnerSlot {
    width: fit-content
}

._setSpStatus ._right .hm-supporters__partnerSlot {
    animation: slidePartnerRightLoop var(--partnerSlide, 36s) linear infinite;
    transform: translate(-50%)
}

@media screen and (min-width: 768px) {
    ._setSpStatus ._right .hm-supporters__partnerSlot {
        animation:slidePartnerRightLoop var(--partnerSlide, 57.6s) linear infinite
    }
}

._setSpStatus ._left .hm-supporters__partnerSlot {
    animation: slidePartnerLeftLoop var(--partnerSlide, 25s) linear infinite
}

@media screen and (min-width: 768px) {
    ._setSpStatus ._left .hm-supporters__partnerSlot {
        animation:slidePartnerLeftLoop var(--partnerSlide, 40s) linear infinite
    }
}

@keyframes slidePartnerRightLoop {
    0% {
        transform: translate(calc(var(--translate) * -1))
    }

    to {
        transform: translate(0)
    }
}

@keyframes slidePartnerLeftLoop {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(calc(var(--translate) * -1))
    }
}

.hm-supporters__partnerList {
    display: flex;
    width: max-content
}

._setSpStatus .hm-supporters__partnerList {
    width: fit-content
}

.hm-supporters__partnerItem {
    width: var(--width);
    margin-right: 2.4rem
}

@media screen and (min-width: 768px) {
    .hm-supporters__partnerItem {
        margin-right:4rem
    }
}

.hm-supporters__partnerItem ._img {
    width: auto;
    height: 100%
}

.hm-supporters__connect {
    display: flex;
    justify-content: center;
    margin-top: 6.4rem
}

@media screen and (min-width: 768px) {
    .hm-supporters__connect {
        justify-content:end;
        margin-top: 8rem
    }
}

@media screen and (min-width: 768px) {
    .hm-smember {
        width:96.6rem;
        margin-inline:auto}
}

.hm-smember__container {
    --width: 22rem;
    overflow: visible;
    position: relative
}

.hm-smember__wrapper {
    position: static
}

.hm-smember__slide {
    padding-inline:1.6rem;backface-visibility: hidden
}

@media screen and (min-width: 768px) {
    .hm-smember__slide {
        padding-inline:2.9rem 3.5rem
    }
}

.hm-smember__slideInner {
    width: var(--width)
}

@media screen and (min-width: 768px) {
    .hm-smember__slideInner {
        --width: 24rem
    }
}

.hm-smember__controller {
    display: none
}

@media screen and (min-width: 768px) {
    .hm-smember__controller {
        position:absolute;
        top: calc(var(--width) / 2);
        left: -1.6rem;
        z-index: 2;
        display: flex;
        justify-content: space-between;
        width: calc(100% + 3.2rem);
        height: 0
    }
}

.hm-smember__btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1em;
    height: 1em;
    border: 0;
    border-radius: 50%;
    transform: translateY(-50%);
    background-color: transparent
}

@media screen and (min-width: 768px) {
    .hm-smember__btn {
        font-size:7.2rem
    }
}

@media (hover: hover) {
    .hm-smember__btn:hover:before {
        transform:translate(-50%,-50%) scale(.8888888889)
    }
}

.hm-smember__btn._next ._icon {
    rotate: 180deg
}

.hm-smember__btn:before {
    position: absolute;
    inset: 50%;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: .1rem solid var(--color-gray1);
    border-radius: 50%;
    background-color: var(--color-white1);
    transform: translate(-50%,-50%)
}

@media (hover: hover) {
    .hm-smember__btn:before {
        transition:transform .8s cubic-bezier(.19,1,.22,1)
    }
}

.hm-smember__btn ._icon {
    display: flex;
    align-items: center;
    width: 1em;
    height: 1em;
    font-size: 1.4rem
}

.hm-smember__btn ._icon:before {
    content: "";
    display: block;
    width: 100%;
    height: .6rem;
    background-color: currentColor;
    clip-path: polygon(0 50%,.6rem 0,.6rem .25rem,100% .25rem,100% .35rem,.6rem .35rem,.6rem 100%,0 50%)
}

.c-suppporter-card {
    width: 100%
}

@media (hover: hover) {
    .c-supporter-card__link {
        cursor:none
    }

    .c-supporter-card__link:hover .c-supporter-card__thumb {
        clip-path: inset(.8rem round 50%)
    }

    .c-supporter-card__link:hover .c-supporter-card__thumb:before {
        opacity: .5
    }

    .c-supporter-card__link:hover .c-supporter-card__thumb ._img {
        transform: scale(1.035)
    }
}

.c-supporter-card__inner {
    position: relative
}

.c-supporter-card__info {
    position: relative;
    margin-top: -4rem
}

@media screen and (min-width: 768px) {
    .c-supporter-card__info {
        margin-top:-5.2rem
    }
}

.c-supporter-card__name {
    order: 2;
    margin-bottom: .5rem;
    transform: translateZ(0)
}

.c-supporter-card__name ._txt {
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.5
}

.c-supporter-card__name ._txt>span {
    background-color: var(--color-white1);
    border-radius: .3rem;
    padding-right: .3em
}

.c-supporter-card__post {
    width: calc(100% + 1em)
}

.c-supporter-card__post ._txt {
    font-weight: 300;
    font-size: 1.3rem;
    line-height: 1;
    transform: translateZ(0)
}

.c-supporter-card__post ._txt ._l {
    background-color: var(--color-white1);
    border-top-right-radius: .3rem;
    border-bottom-right-radius: .3rem;
    padding-right: .3em;
    line-height: 1.3;
    padding-bottom: 1px
}

.c-supporter-card__post ._txt ._l:first-of-type {
    border-top-left-radius: .3rem;
    position: relative
}

.c-supporter-card__post ._txt ._l:last-of-type {
    border-bottom-left-radius: .3rem
}

.c-supporter-card__relative {
    order: 4;
    text-transform: uppercase;
    margin-top: 1.5rem
}

@media screen and (min-width: 768px) {
    .c-supporter-card__relative {
        margin-top:2rem
    }
}

.c-supporter-card__relative ._txt {
    color: var(--color-gray2);
    font-family: Poppins,sans-serif;
    font-size: 1.1rem
}

.c-supporter-card__thumb {
    position: relative;
    width: 1em;
    height: 1em;
    font-size: var(--width);
    clip-path: inset(0 round 50%)
}

@media (hover: hover) {
    .c-supporter-card__thumb {
        transition:clip-path .8s cubic-bezier(.19,1,.22,1)
    }

    .c-supporter-card__thumb:before {
        transition: opacity .55s cubic-bezier(.26,.06,0,1)
    }
}

.c-supporter-card__thumb:before {
    position: absolute;
    inset: 0;
    z-index: 2;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-color: var(--font-color-black)
}

.c-supporter-card__thumb ._img {
    width: 100%
}

@media (hover: hover) {
    .c-supporter-card__thumb ._img {
        transition:transform .8s cubic-bezier(.19,1,.22,1)
    }
}

.c-supporter-card__modal {
    display: none
}

.hm-news {
    padding-bottom: 8.8rem
}

@media screen and (min-width: 768px) {
    .hm-news {
        padding-bottom:14.4rem
    }
}

.hm-news__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .hm-news__inner {
        width:96.6rem;
        margin-inline:auto;padding-inline:0}
}

.hm-news__body {
    margin-top: 4.8rem
}

@media screen and (min-width: 768px) {
    .hm-news__body {
        width:66.6rem;
        margin-top: -4.5rem;
        margin-left: auto
    }
}

.hm-news__list {
    border-top: .1rem solid var(--color-gray1)
}

.hm-news__listItem {
    border-bottom: .1rem solid var(--color-gray1)
}

.hm-news__connect {
    display: flex;
    justify-content: center;
    margin-top: 6.4rem
}

@media screen and (min-width: 768px) {
    .hm-news__connect {
        justify-content:flex-end;
        margin-top: 5.6rem
    }
}

.hm-news-slot {
    overflow: hidden
}

.hm-news-slot__link {
    display: block
}

@media (hover: hover) {
    .hm-news-slot__link {
        transition:transform .3s cubic-bezier(.64,.05,.35,1)
    }

    .hm-news-slot__link:hover {
        transform: translate(1.6rem)
    }

    .hm-news-slot__link:hover .hm-news-slot__summary ._txt {
        background-position: bottom left;
        background-size: 100% 100%
    }
}

.hm-news-slot__linkInner {
    position: relative;
    display: flex;
    padding-block:2.4rem;gap: 2.4rem
}

@media screen and (min-width: 768px) {
    .hm-news-slot__linkInner {
        gap:3.2rem
    }

    .hm-news-slot__linkInner:after {
        position: absolute;
        top: 50%;
        right: 2.4rem;
        content: "";
        display: block;
        width: .8rem;
        height: 1rem;
        background-color: var(--font-color-black);
        clip-path: polygon(0 0,100% 50%,0 100%);
        transform: translateY(-50%)
    }
}

.hm-news-slot__thumb {
    flex-shrink: 0;
    width: 13.2rem;
    background-color: var(--color-white1);
    clip-path: inset(0 round .3rem);
    position: relative
}

.hm-news-slot__thumb:after {
    content: "";
    display: block;
    padding-top: 66.8604651163%;
    pointer-events: none
}

.hm-news-slot__thumb>._img {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto
}

.hm-news-slot__text {
    display: flex;
    flex-direction: column;
    justify-content: center
}

@media screen and (min-width: 768px) {
    .hm-news-slot__text {
        padding-right:8.8rem
    }
}

.hm-news-slot__info {
    display: flex;
    align-items: center;
    font-family: Poppins,sans-serif;
    font-weight: 300;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: -.01em;
    text-transform: uppercase
}

.hm-news-slot__info:before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background-color: #e60012;
    border-radius: 50%;
    font-size: .4rem;
    margin-right: 1rem
}

.hm-news-slot__date {
    display: flex;
    align-items: center
}

.hm-news-slot__date:before {
    content: "";
    display: block;
    width: .1rem;
    height: 1rem;
    background-color: var(--color-gray1);
    margin-inline:.7rem .9rem}

.hm-news-slot__summary {
    margin-top: 1rem
}

@media screen and (max-width: 767px) {
    .hm-news-slot__summary {
        display:-webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-feature-settings: "palt"
    }
}

.hm-news-slot__summary ._txt {
    display: inline;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.4
}

@media (hover: hover) {
    .hm-news-slot__summary ._txt {
        background-image:linear-gradient(0deg,currentColor .1rem,transparent .1rem);
        background-size: 0 100%;
        background-repeat: no-repeat;
        background-position: bottom right;
        transition: background-size .25s ease
    }
}

.home:not(.is-loaded) .l-contact,.home:not(.is-loaded) .l-footer {
    display: none
}

.home .l-nav,.home .l-contact,.home .l-footer,.home .hm-body {
    content-visibility: hidden
}

.home.is-loaded .l-nav,.home.is-loaded .l-contact,.home.is-loaded .l-footer,.home.is-loaded .hm-body {
    content-visibility: auto;
    visibility: visible
}

@media screen and (max-width: 767px) {
    .fe-visual {
        margin-top:-.5rem;
        padding-top: .5rem;
        background-color: var(--color-white2)
    }
}

.fe-visual__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .fe-visual__inner {
        padding-inline:20.7rem 0
    }
}

.fe-visual__picture {
    overflow: hidden;
    border-radius: .3rem
}

@media screen and (max-width: 767px) {
    .fe-visual__picture {
        aspect-ratio:335/251
    }
}

@media screen and (min-width: 768px) {
    .fe-visual__picture {
        margin-right:-8.8rem;
        border-radius: .6rem 0 0 .6rem
    }
}

.fe-visual__picture ._img {
    object-fit: cover;
    width: 100%;
    height: 100%
}

.fe-value {
    margin-top: 10.4rem;
    padding-bottom: 11.2rem
}

@media screen and (min-width: 768px) {
    .fe-value {
        margin-top:14.4rem;
        padding-bottom: 12rem
    }
}

.fe-value__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .fe-value__inner {
        padding-inline:20.7rem 0
    }
}

.fe-value__body {
    margin-top: 4.8rem
}

@media screen and (min-width: 768px) {
    .fe-value__body {
        margin-top:8rem
    }
}

.fe-value__reasonList {
    counter-reset: count
}

.fe-value__reasonItem {
    position: relative;
    counter-increment: count
}

@media screen and (min-width: 768px) {
    .fe-value__reasonItem {
        padding-left:13.8rem
    }
}

.fe-value__reasonItem:before {
    color: var(--color-red);
    font-family: Poppins,sans-serif;
    font-style: italic;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: -.05em;
    content: "#0" counter(count)
}

@media screen and (min-width: 768px) {
    .fe-value__reasonItem:before {
        position:absolute;
        left: 0;
        margin-top: 1rem
    }
}

.fe-value__reasonItem:nth-child(n+2) {
    margin-top: 7.2rem;
    padding-top: 4.8rem;
    border-top: .1rem solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .fe-value__reasonItem:nth-child(n+2) {
        margin-top:9.6rem;
        padding-top: 6.4rem
    }
}

.fe-value-reason {
    margin-top: 3.2rem
}

@media screen and (min-width: 768px) {
    .fe-value-reason {
        margin-top:0
    }
}

.fe-value-reason__body {
    margin-top: 4rem
}

@media screen and (min-width: 768px) {
    .fe-value-reason__body {
        margin-top:5.6rem
    }
}

.fe-value-reason-header__title {
    color: var(--color-red);
    font-weight: 700;
    font-size: 2.8rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    text-transform: uppercase
}

@media screen and (min-width: 768px) {
    .fe-value-reason-header__title {
        font-size:3.2rem
    }
}

.fe-value-reason-header__desc {
    margin-top: 1.2rem;
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.4;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .fe-value-reason-header__desc {
        font-size:2.4rem
    }
}

@media screen and (min-width: 768px) {
    .fe-value-reason1 {
        margin-top:-.9rem
    }
}

.fe-value-reason1__desc ._txt {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .fe-value-reason1__desc ._txt {
        font-size:1.7rem;
        line-height: 2.2
    }
}

.fe-value-reason1__desc ._txt+._txt {
    margin-top: 2.4rem
}

@media screen and (min-width: 768px) {
    .fe-value-reason1__desc ._txt+._txt {
        margin-top:3.2rem
    }
}

.fe-value-reason1__step {
    position: relative;
    z-index: 2;
    margin-top: 1.6rem;
    margin-bottom: -5.6rem
}

@media screen and (min-width: 768px) {
    .fe-value-reason1__step {
        width:110.4rem;
        margin-left: -34.5rem;
        margin-block:-53rem 0;translate: 0 18.8rem
    }
}

@media screen and (min-width: 768px) {
    .fe-value-reason1__stepInner {
        overflow:hidden;
        margin-inline:calc(50% - 50vw)}
}

@media screen and (min-width: 768px) {
    .fe-value-reason1__stepContainer {
        width:110.4rem;
        margin-inline:auto}
}

@media screen and (min-width: 768px) {
    .fe-value-reason1__stepImage {
        width:53rem;
        height: 55.3rem;
        margin-left: auto;
        translate: 28.9rem 0
    }
}

.fe-value-reason1__stepImage ._img {
    width: 100%
}

.fe-value-reason2 {
    padding-block:2.7rem 3.2rem;background-color: var(--color-white1);
    border-radius: .6rem
}

@media screen and (min-width: 768px) {
    .fe-value-reason2 {
        padding-block:4rem 4.8rem
    }
}

.fe-value-reason2__inner {
    padding-inline:3.1rem}

@media screen and (min-width: 768px) {
    .fe-value-reason2__inner {
        padding-inline:5.6rem
    }
}

.fe-value-reason2__listItem:nth-child(n+2) {
    margin-top: 3.2rem;
    padding-top: 2.7rem;
    border-top: .1rem solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .fe-value-reason2__listItem:nth-child(n+2) {
        margin-top:4.8rem;
        padding-top: 4rem
    }
}

.fe-value-reason2__sec {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center
}

@media screen and (min-width: 768px) {
    .fe-value-reason2__sec {
        display:block;
        padding-top: 1.6rem;
        padding-left: 8.2rem
    }
}

.fe-value-reason2__icon {
    display: block;
    width: 1em;
    height: 1em;
    font-size: 5.2rem;
    background-color: var(--color-red);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 2.2rem;
    border-radius: 50%
}

@media screen and (min-width: 768px) {
    .fe-value-reason2__icon {
        position:absolute;
        top: 0;
        left: 0;
        font-size: 5.6rem
    }
}

.fe-value-reason2__icon._agreement {
    background-size: 2.4rem
}

.fe-value-reason2__secTtl {
    margin-left: 1.6rem;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .fe-value-reason2__secTtl {
        margin-left:0;
        font-size: 2.2rem
    }
}

.fe-value-reason2__desc {
    width: 100%;
    margin-top: 1.4rem;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .fe-value-reason2__desc {
        margin-top:2rem
    }
}

.fe-value-reason3 {
    margin-top: .8rem
}

@media screen and (min-width: 768px) {
    .fe-value-reason3 {
        margin-top:0
    }
}

.fe-value-reason3__charm {
    counter-reset: charms
}

@media screen and (min-width: 768px) {
    .fe-value-reason3__charm {
        display:flex;
        justify-content: space-between
    }
}

.fe-value-reason3__charmItem {
    counter-increment: charms
}

@media screen and (min-width: 768px) {
    .fe-value-reason3__charmItem {
        width:calc((100% - 3.9rem)/2)
    }
}

@media screen and (max-width: 767px) {
    .fe-value-reason3__charmItem:nth-child(n+2) {
        margin-top:4rem
    }
}

.fe-value-reason3__sec {
    padding-inline:1.2rem}

@media screen and (min-width: 768px) {
    .fe-value-reason3__sec {
        padding-inline:0
    }
}

.fe-value-reason3__header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 1em;
    height: 1em;
    font-size: 31.1rem;
    background-color: var(--color-white1);
    border-radius: 50%
}

@media screen and (min-width: 768px) {
    .fe-value-reason3__header {
        font-size:36rem
    }
}

.fe-value-reason3__header:before {
    content: "0" counter(charms);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    height: 4rem;
    color: var(--color-white1);
    font-family: Poppins,sans-serif;
    font-size: 1.8rem;
    line-height: 1;
    letter-spacing: -.02em;
    background-color: var(--font-color-black);
    border-radius: 50%
}

.fe-value-reason3__title {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 2.4rem
}

.fe-value-reason3__title ._ja {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.02em
}

.fe-value-reason3__title ._en {
    margin-top: 1.2rem;
    color: var(--color-gray2);
    font-weight: 400;
    font-family: Poppins,sans-serif;
    font-size: 1.2rem;
    line-height: 1.2;
    letter-spacing: -.01em
}

.fe-value-reason3__desc {
    margin-top: 2rem;
    margin-inline:1.9rem;padding-top: 1.7rem;
    border-top: .1rem solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .fe-value-reason3__desc {
        margin-top:4rem;
        margin-inline:1.6rem;padding-top: 2.4rem
    }
}

.fe-value-reason3__desc ._txt {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: -.02em
}

.fe-road {
    padding-top: 6.4rem;
    padding-inline:2rem;background-color: var(--color-white1)
}

@media screen and (min-width: 768px) {
    .fe-road {
        margin-inline:calc(50% - 50vw);
        padding-top: 12.8rem;
        padding-inline:0}
}

@media screen and (min-width: 768px) {
    .fe-road__inner {
        width:110.4rem;
        margin-inline:auto;padding-left: 20.7rem
    }
}

.fe-road__header .c-sec-header__sub {
    opacity: 0;
    transition: opacity .25s ease
}

.fe-road__header .c-sec-header__sub._visible {
    opacity: 1
}

@media screen and (min-width: 768px) {
    .fe-road__body {
        display:flex;
        justify-content: space-between;
        margin-top: 6.4rem
    }
}

@media screen and (max-width: 767px) {
    .fe-road__visual {
        width:calc(100% + 4rem);
        margin-left: -2rem
    }
}

@media screen and (min-width: 768px) {
    .fe-road__visual {
        width:58rem
    }
}

.fe-road__visual ._img {
    width: 100%
}

.fe-road__growth {
    overflow: auto;
    margin-top: 5.7rem;
    width: calc(100% + 4rem);
    margin-left: -2rem
}

@media screen and (min-width: 768px) {
    .fe-road__growth {
        display:flex;
        align-items: flex-end;
        width: 26rem;
        margin-top: 0;
        margin-left: 0;
        padding-bottom: 8rem
    }
}

@media screen and (max-width: 767px) {
    .fe-road__growthInner {
        width:fit-content;
        padding-inline:2rem}
}

.fe-road__growthSteps {
    display: flex
}

@media screen and (min-width: 768px) {
    .fe-road__growthSteps {
        flex-direction:column-reverse
    }
}

.fe-road__growthStep {
    flex-shrink: 0;
    width: 24.4rem;
    padding: 1.6rem 2rem;
    background-color: var(--color-white2)
}

@media screen and (min-width: 768px) {
    .fe-road__growthStep {
        width:100%;
        padding: 2rem 2.4rem
    }
}

.fe-road__growthStep:nth-child(n+2) {
    position: relative;
    margin-left: 4rem
}

@media screen and (min-width: 768px) {
    .fe-road__growthStep:nth-child(n+2) {
        margin-bottom:5.6rem;
        margin-left: 0
    }
}

.fe-road__growthStep:nth-child(n+2):before {
    position: absolute;
    content: "";
    top: calc(50% - .5rem);
    left: -2.4rem;
    display: block;
    width: .8rem;
    height: 1rem;
    background-color: var(--font-color-black);
    clip-path: polygon(0 0,100% 50%,0 100%)
}

@media screen and (min-width: 768px) {
    .fe-road__growthStep:nth-child(n+2):before {
        top:auto;
        bottom: -3.2rem;
        left: calc(50% - .5rem);
        width: 1rem;
        height: .8rem;
        clip-path: polygon(50% 0,100% 100%,0 100%)
    }
}

.fe-road__growthStatus {
    color: var(--color-red);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: -.02em;
    text-transform: uppercase
}

@media screen and (min-width: 768px) {
    .fe-road__growthStatus {
        text-align:center
    }
}

.fe-road__growthDesc {
    margin-top: .6rem;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -.02em
}

.fe-training {
    padding-top: 10.4rem;
    background-color: var(--color-white1)
}

@media screen and (min-width: 768px) {
    .fe-training {
        margin-inline:calc(50% - 50vw);
        padding-block:12.8rem 3.2rem}
}

.fe-training__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .fe-training__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:20.7rem 0}
}

.fe-training__header .c-sec-header__sub {
    opacity: 0;
    transition: opacity .25s ease
}

.fe-training__header .c-sec-header__sub._visible {
    opacity: 1
}

.fe-training__body {
    margin-top: 6.4rem
}

@media screen and (min-width: 768px) {
    .fe-training__body {
        margin-top:8rem
    }
}

.fe-training__stepItem:not(:last-child) {
    border-bottom: .1rem solid var(--color-gray1)
}

.fe-training__stepItem:nth-child(n+2) {
    margin-top: 6.4rem
}

@media screen and (min-width: 768px) {
    .fe-training__stepItem:nth-child(n+2) {
        margin-top:8rem
    }
}

.fe-training-step__title {
    color: var(--color-red);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.fe-training-step__desc {
    margin-top: 1.4rem;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1;
    letter-spacing: -.02em
}

.fe-training-step__body {
    margin-top: 4rem
}

@media screen and (min-width: 768px) {
    .fe-training-step__body {
        margin-top:3.2rem
    }
}

.fe-training-step__contentsList {
    counter-reset: contents
}

.fe-training-step__contentsItem {
    counter-increment: contents;
    border-top: .1rem solid var(--color-gray1)
}

.fe-training-contents__inner {
    display: flex;
    flex-direction: column;
    padding: 3.2rem 0 3.1rem
}

@media screen and (min-width: 768px) {
    .fe-training-contents__inner {
        display:block;
        padding: 0
    }
}

.fe-training-contents__header {
    display: contents
}

@media screen and (min-width: 768px) {
    .fe-training-contents__header {
        position:relative;
        display: block
    }
}

.fe-training-contents__target {
    display: flex;
    align-items: center;
    width: 100%;
    appearance: none;
    border: 0;
    background-color: transparent
}

@media screen and (min-width: 768px) {
    .fe-training-contents__target {
        height:14.6rem;
        padding-block:2.4rem;box-sizing: content-box
    }
}

@media (hover: hover) {
    .fe-training-contents__target:hover .fe-training-contents__toggle {
        background-color:var(--font-color-black)
    }

    .fe-training-contents__target:hover .fe-training-contents__toggle ._icon:before,.fe-training-contents__target:hover .fe-training-contents__toggle ._icon:after {
        background-color: var(--color-white1)
    }
}

.fe-training-contents__toggle {
    order: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1em;
    height: 1em;
    margin-left: auto;
    font-size: 4rem;
    border: .1rem solid var(--color-gray2);
    border-radius: 50%;
    transition: background-color .25s ease
}

@media screen and (min-width: 768px) {
    .fe-training-contents__toggle {
        order:1;
        margin-inline:0 9.6rem}
}

.is-open .fe-training-contents__toggle {
    background-color: var(--font-color-black)
}

.is-open .fe-training-contents__toggle ._icon:after {
    background-color: var(--color-white1);
    transform: rotate(0)
}

.fe-training-contents__toggle ._icon {
    position: relative;
    display: block;
    width: 1em;
    height: 1em;
    font-size: 1.7rem
}

.fe-training-contents__toggle ._icon:before {
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: .1rem;
    margin-inline:auto;background-color: var(--font-color-black)
}

@media (hover: hover) {
    .fe-training-contents__toggle ._icon:before {
        transition:background-color .25s ease,transform .25s ease
    }
}

.fe-training-contents__toggle ._icon:after {
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: .1rem;
    margin-inline:auto;background-color: var(--font-color-black);
    transform: rotate(-90deg);
    transform-origin: center;
    transition: background-color .25s ease,transform .25s ease
}

.fe-training-contents__title {
    order: 1;
    position: relative;
    padding-left: 3.5rem;
    text-align: left
}

@media screen and (min-width: 768px) {
    .fe-training-contents__title {
        order:2;
        padding-left: 3.7rem
    }
}

.fe-training-contents__title:before {
    position: absolute;
    left: 0;
    content: "0" counter(contents) ".";
    font-size: 2em;
    font-family: Poppins,sans-serif;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.05em
}

.fe-training-contents__title ._ja {
    display: block;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.02em
}

.fe-training-contents__title ._en {
    display: block;
    margin-top: 1.3rem;
    color: var(--color-gray2);
    font-weight: 400;
    font-size: 1.2rem;
    font-family: Poppins,sans-serif;
    line-height: 1;
    letter-spacing: -.01em;
    text-transform: capitalize
}

.fe-training-contents__thumb {
    order: 3;
    overflow: hidden;
    width: 100%;
    margin-top: 3.2rem;
    border-radius: .4rem
}

@media screen and (min-width: 768px) {
    .fe-training-contents__thumb {
        position:absolute;
        top: 50%;
        right: 0;
        width: 26rem;
        margin-top: 0;
        border-radius: .3rem;
        transform: translateY(-50%);
        pointer-events: none
    }
}

.fe-training-contents__thumb ._img {
    width: 100%
}

.fe-training-contents__body {
    order: 2
}

.fe-training-contents__container {
    padding-top: 3.2rem;
    padding-left: 3.5rem
}

@media screen and (min-width: 768px) {
    .fe-training-contents__container {
        padding-top:0;
        padding-left: 17.5rem;
        padding-bottom: 4.7rem
    }
}

.fe-training-contents__desc ._txt {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: .02em
}

.fe-training-contents__detail {
    border-left: .1rem solid var(--color-gray2);
    margin-top: 2.4rem;
    padding-left: 1.8rem
}

@media screen and (min-width: 768px) {
    .fe-training-contents__detail {
        padding-left:2.6rem
    }
}

.fe-training-contents__cource ._item {
    position: relative;
    padding-left: calc(1em + .3rem);
    font-size: 1.2rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.fe-training-contents__cource ._item:before {
    position: absolute;
    left: 0;
    content: "・"
}

.fe-training-contents__cource ._item+._item {
    margin-top: .4rem
}

@media screen and (min-width: 768px) {
    .fe-training-contents__cource ._item+._item {
        margin-top:.2rem
    }
}

.fe-training-contents__achievement ._txt {
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    font-feature-settings: "palt"
}

.fe-training-contents__achievement ._list {
    margin-top: .4rem
}

.fe-training-contents__achievement ._item {
    font-size: 1.2rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.fe-training-contents__achievement ._item+._item {
    margin-top: .2rem
}

.fe-training-contents__cource+.fe-training-contents__achievement {
    margin-top: 1.6rem
}

.fe-movie {
    padding-block:8.8rem}

@media screen and (min-width: 768px) {
    .fe-movie {
        padding-block:12.8rem
    }
}

.fe-movie .c-sec-header {
    padding-top: 0;
    border: 0
}

.fe-movie__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .fe-movie__inner {
        display:flex;
        padding-inline:20.7rem 0}
}

@media screen and (min-width: 768px) {
    .fe-movie__header {
        display:flex;
        align-items: center
    }
}

.fe-movie__header .c-sec-header__sub {
    opacity: 0;
    transition: opacity .25s ease
}

.fe-movie__header .c-sec-header__sub._visible {
    opacity: 1
}

.fe-movie__body {
    margin-top: 4.8rem
}

@media screen and (min-width: 768px) {
    .fe-movie__body {
        margin-top:0;
        margin-left: auto
    }
}

.fe-movie__frame {
    overflow: hidden;
    position: relative;
    aspect-ratio: 560/315;
    border-radius: .6rem
}

@media screen and (min-width: 768px) {
    .fe-movie__frame {
        width:57.5rem
    }
}

.fe-movie__entity {
    width: 100%;
    height: 100%
}

.jo-search {
    margin-top: 4.8rem
}

@media screen and (min-width: 768px) {
    .jo-search {
        margin-top:10.4rem
    }
}

.jo-search__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .jo-search__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:0}
}

.jo-search__uiItem:nth-child(n+2) {
    margin-top: 2.4rem
}

@media screen and (min-width: 768px) {
    .jo-search__uiItem:nth-child(n+2) {
        margin-top:2.4rem
    }
}

.jo-search__result {
    margin-top: 4.8rem
}

@media screen and (min-width: 768px) {
    .jo-search__result {
        margin-top:5.6rem
    }
}

.jo-search__pager {
    margin-top: 4rem;
    padding-bottom: 8.8rem
}

@media screen and (min-width: 768px) {
    .jo-search__pager {
        margin-top:8.8rem;
        padding-bottom: 14.4rem
    }
}

.jo-search__pager:empty {
    margin-top: 0
}

@media screen and (min-width: 768px) {
    .jo-search-category {
        display:flex;
        align-items: center
    }
}

@media screen and (min-width: 768px) {
    .jo-search-category__name {
        width:6.7rem;
        margin-right: 1.6rem
    }
}

.jo-search-category__name ._txt {
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.02em;
    font-size: 1.3rem
}

.jo-search-category__name ._txt:after {
    content: "：";
    display: inline-block
}

.jo-search-category__value {
    overflow: scroll;
    margin-top: 1.6rem;
    margin-inline:calc(50% - 50vw)}

@media screen and (min-width: 768px) {
    .jo-search-category__value {
        margin-top:0;
        margin-inline:0}
}

.jo-search-category__value::-webkit-scrollbar {
    display: none
}

.jo-search-category__valueInner {
    display: flex;
    gap: .6rem;
    padding-left: 2rem
}

@media screen and (min-width: 768px) {
    .jo-search-category__valueInner {
        gap:.8rem;
        padding-left: 0
    }
}

.jo-search-category__valueItem {
    flex-shrink: 0
}

.jo-search-category__valueItem ._btn {
    display: flex;
    align-items: center;
    height: 2.6rem;
    padding-inline:1.4rem;border-radius: 2rem;
    border: 0;
    background-color: var(--color-white1)
}

@media screen and (min-width: 768px) {
    .jo-search-category__valueItem ._btn {
        font-size:1.2rem
    }
}

@media (hover: hover) {
    .jo-search-category__valueItem ._btn {
        transition:color .25s ease,background-color .25s ease
    }

    .jo-search-category__valueItem ._btn:hover {
        color: var(--color-white1);
        background-color: var(--color-red)
    }
}

.jo-search-category__valueItem ._btn._current {
    color: var(--color-white1);
    background-color: var(--color-red)
}

.jo-search-category__valueItem:last-child {
    padding-right: 2rem
}

.job.detail .c-sec-header__ttl._ja {
    font-size: 2.8rem
}

@media screen and (min-width: 768px) {
    .job.detail .c-sec-header__ttl._ja {
        font-size:3.2rem
    }
}

.jd-kv {
    padding-block:9.4rem 0}

@media screen and (min-width: 768px) {
    .jd-kv {
        padding-block:16rem 0
    }
}

.jd-kv__inner {
    display: flex;
    flex-wrap: wrap;
    margin-inline:2rem;padding-bottom: 9.8rem
}

@media screen and (min-width: 768px) {
    .jd-kv__inner {
        width:110.4rem;
        margin-inline:auto;padding-bottom: 4rem
    }
}

.jd-kv__contents {
    order: 2;
    width: 100%;
    margin-top: 5.6rem
}

@media screen and (min-width: 768px) {
    .jd-kv__contents {
        margin-top:2.4rem
    }
}

.jd-kv__breadcramb {
    order: 1;
    display: flex;
    justify-content: flex-end;
    width: 100%
}

.jd-kv-job {
    height: 100%
}

.jd-kv-job__inner {
    display: flex
}

@media screen and (max-width: 767px) {
    .jd-kv-job__inner {
        flex-direction:column
    }
}

@media screen and (min-width: 768px) {
    .jd-kv-job__inner {
        justify-content:space-between
    }
}

.jd-kv-job__text {
    display: contents
}

@media screen and (min-width: 768px) {
    .jd-kv-job__text {
        order:2;
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 48.8rem;
        margin-left: auto
    }
}

.jd-kv-job__title {
    order: 3;
    margin-top: 1.6rem
}

@media screen and (min-width: 768px) {
    .jd-kv-job__title {
        margin-top:4rem
    }
}

.jd-kv-job__title ._txt {
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.5;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .jd-kv-job__title ._txt {
        font-size:2.8rem
    }
}

.jd-kv-job__com {
    order: 4;
    margin-top: 2.4rem
}

@media screen and (min-width: 768px) {
    .jd-kv-job__com {
        margin-top:3.2rem
    }
}

.jd-kv-job__com ._txt {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.4;
    letter-spacing: -.02em
}

.jd-kv-job__info {
    order: 5;
    display: flex;
    flex-wrap: wrap;
    margin-top: 1.2rem
}

@media screen and (min-width: 768px) {
    .jd-kv-job__info {
        align-items:center;
        margin-top: 1.3rem
    }
}

.jd-kv-job__pref {
    order: 3;
    display: flex;
    align-items: center;
    height: 3rem;
    margin-left: 1.2rem;
    padding-inline:.8rem 1.2rem;background-color: var(--color-gray3);
    border-radius: .3rem
}

.jd-kv-job__pref ._icon {
    display: block;
    width: 1em;
    height: 1em;
    margin-right: .4rem;
    font-size: 1.6rem
}

.jd-kv-job__pref ._icon ._entity {
    width: 100%;
    height: 100%
}

.jd-kv-job__pref ._txt {
    font-weight: 500;
    font-size: 1.2rem
}

.jd-kv-job__personItems {
    order: 1;
    width: 100%;
    margin-bottom: 4rem;
    text-align: right;
    color: var(--color-gray2);
    font-size: 1.3rem;
    line-height: 1;
    letter-spacing: -.02em;
    display: flex;
    flex-direction: column;
    gap: .8rem
}

@media screen and (min-width: 768px) {
    .jd-kv-job__personItems {
        padding-bottom:4rem;
        border-bottom: .1rem solid var(--color-gray1)
    }
}

.jd-kv-job__person {
    display: flex
}

.jd-kv-job__person>dd {
    margin-left: .6rem
}

.jd-kv-job__updated {
    order: 4;
    margin-left: auto
}

@media screen and (max-width: 767px) {
    .jd-kv-job__updated {
        width:100%;
        margin-top: 2.4rem
    }
}

.jd-kv-job__updated ._txt {
    color: var(--color-gray2);
    font-family: Poppins,sans-serif;
    font-weight: 300;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: -.01em
}

.jd-kv-job__training {
    order: 2;
    --f-color: var(--font-color-black);
    --b-color: transparent
}

.jd-kv-job__training._exist {
    --f-color: var(--color-white1);
    --b-color: var(--font-color-black)
}

.jd-kv-job__training ._txt {
    display: flex;
    align-items: center;
    height: 3rem;
    padding-inline:.8rem;color: var(--f-color);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: 0;
    background-color: var(--b-color);
    border-radius: .3rem;
    text-transform: uppercase;
    border: .1rem solid var(--font-color-black)
}

.jd-kv-job__industry {
    order: 2;
    z-index: 1;
    display: flex;
    align-items: center;
    width: fit-content;
    height: 3.5rem;
    margin-top: -1.75rem;
    padding-inline:.8rem 1.6rem;color: var(--color-red);
    border: .1rem solid currentColor;
    border-radius: .3rem;
    background-color: var(--color-white1)
}

@media screen and (min-width: 768px) {
    .jd-kv-job__industry {
        margin-top:0
    }
}

.jd-kv-job__industry ._icon {
    position: relative;
    display: inline-block;
    width: 1em;
    height: 1em;
    font-size: 2.8rem;
    margin-right: .6rem
}

.jd-kv-job__industry ._icon:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--color-red);
    mix-blend-mode: screen
}

.jd-kv-job__industry ._icon ._img {
    width: 100%
}

.jd-kv-job__purpose {
    font-weight: 500;
    font-size: 1.4rem;
    letter-spacing: 0
}

.jd-kv-job__thumb {
    order: 1;
    overflow: hidden;
    aspect-ratio: 335/231;
    border-radius: .6rem
}

@media screen and (min-width: 768px) {
    .jd-kv-job__thumb {
        aspect-ratio:1/1;
        width: 55.2rem
    }
}

.jd-kv-job__thumb ._img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.jd-prof {
    padding-bottom: 10.4rem
}

@media screen and (min-width: 768px) {
    .jd-prof {
        padding-bottom:16rem
    }
}

.jd-prof__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .jd-prof__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:20.7rem 0}
}

.jd-prof__body {
    margin-top: 4.8rem
}

@media screen and (min-width: 768px) {
    .jd-prof__body {
        margin-top:7.2rem
    }
}

.jd-prof__list {
    border-top: .1rem solid var(--color-gray1)
}

.jd-prof__listItem {
    border-bottom: .1rem solid var(--color-gray1)
}

.jd-prof__slot {
    position: relative;
    display: flex
}

.jd-prof__slot>.js-profileAccordion__trigger {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer
}

@media screen and (min-width: 768px) {
    .jd-prof__slot._immovable {
        padding-left:13.8rem
    }
}

.jd-prof__slot._immovable .js-profileAccordion__trigger,.jd-prof__slot._immovable .jd-prof__toggle {
    display: none!important
}

@media (hover: hover) {
    .jd-prof__slot:hover .jd-prof__toggle {
        background-color:var(--font-color-black)
    }

    .jd-prof__slot:hover .jd-prof__toggle ._icon:before,.jd-prof__slot:hover .jd-prof__toggle ._icon:after {
        background-color: var(--color-white1)
    }
}

.jd-prof__slotStatus {
    display: none
}

.jd-prof__toggle {
    order: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    margin-left: auto;
    font-size: 4rem;
    border: .1rem solid var(--color-gray2);
    border-radius: 50%;
    transition: background-color .25s ease
}

@media screen and (max-width: 767px) {
    .jd-prof__toggle {
        position:absolute;
        top: 3.5rem;
        right: 0
    }
}

@media screen and (min-width: 768px) {
    .jd-prof__toggle {
        order:1;
        margin-top: 8.4rem;
        margin-inline:0 9.8rem}
}

.is-open .jd-prof__toggle {
    background-color: var(--font-color-black)
}

.is-open .jd-prof__toggle ._icon:after {
    background-color: var(--color-white1);
    transform: rotate(0)
}

.jd-prof__toggle ._icon {
    position: relative;
    display: block;
    width: 1em;
    height: 1em;
    font-size: 1.7rem
}

.jd-prof__toggle ._icon:before {
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: .1rem;
    margin-inline:auto;background-color: var(--font-color-black)
}

@media (hover: hover) {
    .jd-prof__toggle ._icon:before {
        transition:background-color .25s ease
    }
}

.jd-prof__toggle ._icon:after {
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: .1rem;
    margin-inline:auto;background-color: var(--font-color-black);
    transform: rotate(-90deg);
    transform-origin: center;
    transition: background-color .25s ease,transform .25s ease
}

.jd-prof__slotText {
    order: 2;
    padding-block:3.2rem;position: relative;
    z-index: 2;
    pointer-events: none
}

@media screen and (min-width: 768px) {
    .jd-prof__slotText {
        padding-block:4.8rem
    }
}

.jd-prof__slotText__g {
    overflow: hidden
}

.jd-prof__slotTitle {
    display: flex;
    align-items: center;
    padding-right: 6.4rem;
    font-weight: 700;
    font-size: 1.8rem;
    letter-spacing: -.02em
}

@media screen and (max-width: 767px) {
    .jd-prof__slotTitle {
        min-height:4.4rem;
        line-height: 1.2
    }
}

@media screen and (min-width: 768px) {
    .jd-prof__slotTitle {
        line-height:1.4
    }
}

.jd-prof__slotDesc {
    height: 12.6rem;
    margin-top: 1.2rem;
    font-size: 1.4rem;
    line-height: 1.8;
    font-feature-settings: "palt"
}

@media screen and (min-width: 768px) {
    .jd-prof__slotDesc {
        height:7.56rem;
        letter-spacing: -.02em
    }
}

.jd-prof__slot:not(.is-open) .jd-prof__slotDesc {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden
}

@media screen and (min-width: 768px) {
    .jd-prof__slot:not(.is-open) .jd-prof__slotDesc {
        -webkit-line-clamp:3
    }
}

.jd-prof__slotDesc ._txt {
    word-break: break-all
}

.jd-prof__slotDesc a {
    color: var(--color-red);
    pointer-events: auto
}

@media (hover: hover) {
    .jd-prof__slotDesc a {
        transition:opacity .25s ease
    }

    .jd-prof__slotDesc a:hover {
        opacity: .5
    }
}

.jd-prof__slotDesc ._txt ul {
    list-style-type: none;
    list-style-position: outside;
    padding-left: 2rem
}

.jd-prof__slotDesc ._txt ul>li {
    position: relative
}

.jd-prof__slotDesc ._txt ul>li:before {
    position: absolute;
    top: .9em;
    left: -1.1rem;
    display: block;
    width: .3rem;
    height: .3rem;
    background-color: currentColor;
    border-radius: 50%;
    transform: translateY(-50%);
    content: ""
}

.jd-prof__slotDesc ._txt ol {
    list-style: revert;
    list-style-position: outside;
    padding-left: 2rem
}

.jd-prof__slotDesc ._txt ol>li::marker {
    font-size: 1.4rem
}

.jd-prof__training {
    margin-top: 4rem
}

@media screen and (min-width: 768px) {
    .jd-prof__training {
        margin-top:5.6rem
    }
}

.jd-prof__trainingDetail {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-block:3.2rem 4rem;background-color: var(--color-gray1);
    border-radius: .3rem;
    --b-color: var(--color-white1);
    --f-color: var(--font-color-black)
}

@media screen and (min-width: 768px) {
    .jd-prof__trainingDetail {
        flex-direction:row;
        padding: 4.1rem 4rem
    }
}

.jd-prof__trainingDetail ._head {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    height: 4rem;
    padding-inline:1.4rem;color: var(--f-color);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: 0;
    background-color: var(--b-color);
    border-radius: .3rem;
    text-transform: uppercase;
    border: 1px solid var(--font-color-black)
}

@media screen and (min-width: 768px) {
    .jd-prof__trainingDetail ._head {
        padding-inline:1.3rem
    }
}

.jd-prof__trainingDetail ._head._exist {
    --b-color: var(--font-color-black);
    --f-color: var(--color-white1)
}

.jd-prof__trainingDetail ._body {
    margin-top: 2rem;
    font-size: 1.3rem;
    line-height: 1.8;
    letter-spacing: -.02em;
    text-transform: uppercase;
    font-feature-settings: "palt";
    text-align: center
}

@media screen and (min-width: 768px) {
    .jd-prof__trainingDetail ._body {
        margin-top:0;
        margin-left: 3.2rem;
        line-height: 1.6;
        text-align: left
    }
}

.jd-prof__trainingDetail ._link {
    text-decoration: underline;
    text-underline-offset: .2rem
}

@media (hover: hover) {
    .jd-prof__trainingDetail ._link {
        transition:opacity .25s ease
    }

    .jd-prof__trainingDetail ._link:hover {
        opacity: .5
    }
}

.jd-prof__trainingDetail ._strong {
    color: var(--color-red)
}

.jd-intro {
    padding-bottom: 9.6rem
}

@media screen and (min-width: 768px) {
    .jd-intro {
        padding-bottom:12.8rem
    }
}

.jd-intro__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .jd-intro__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:20.7rem 0}
}

.jd-intro__body {
    margin-top: 4.8rem
}

@media screen and (min-width: 768px) {
    .jd-intro__body {
        margin-top:7.2rem
    }
}

.jd-intro__columnItem:nth-child(n+2) {
    margin-top: 5.6rem
}

@media screen and (min-width: 768px) {
    .jd-intro__columnItem:nth-child(n+2) {
        margin-top:8rem
    }
}

.jd-intro__thumb {
    overflow: hidden;
    aspect-ratio: 335/189;
    margin-bottom: 3.2rem;
    border-radius: .3rem
}

@media screen and (min-width: 768px) {
    .jd-intro__thumb {
        aspect-ratio:897/505;
        margin-bottom: 4.8rem
    }
}

.jd-intro__thumb ._img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.jd-intro__heading h3 {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .jd-intro__heading h3 {
        font-size:2.4rem
    }
}

.jd-intro__txt {
    margin-top: 2.4rem;
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

.jd-intro__txt p {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

.jd-intro__txt p+p {
    margin-top: 2em
}

.jd-intro__txt ul {
    list-style-type: none;
    list-style-position: outside;
    padding-left: 2rem
}

.jd-intro__txt ul>li {
    position: relative
}

.jd-intro__txt ul>li:before {
    position: absolute;
    left: -1.3rem;
    content: "・"
}

.jd-intro__txt ol {
    list-style: revert;
    list-style-position: outside;
    padding-left: 2rem
}

.jd-intro__txt ol>li::marker {
    font-size: 1.4rem
}

.jd-requ {
    padding-bottom: 8.8rem
}

@media screen and (min-width: 768px) {
    .jd-requ {
        padding-bottom:12rem
    }
}

.jd-requ__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .jd-requ__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:20.7rem 0}
}

.jd-requ__body {
    margin-top: 6.4rem
}

@media screen and (min-width: 768px) {
    .jd-requ__body {
        margin-top:8rem
    }
}

.jd-requ__connect {
    display: flex;
    justify-content: center;
    margin-top: 6.4rem
}

@media screen and (min-width: 768px) {
    .jd-requ__connect {
        margin-top:7.2rem;
        justify-content: flex-end
    }
}

.jd-requ-detail__name ._txt {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .jd-requ-detail__name ._txt {
        font-size:2.2rem;
        line-height: 1.4
    }
}

.jd-requ-detail__info {
    margin-top: 3.2rem
}

.jd-requ-detail__infoItem:nth-child(n+2) {
    margin-top: 6.4rem
}

@media screen and (min-width: 768px) {
    .jd-requ-detail__infoItem:nth-child(n+2) {
        margin-top:8rem
    }
}

.jd-requ-detail__infoTitle ._txt {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.02em
}

.jd-requ-detail__infoList {
    margin-top: 2.4rem;
    border-top: .1rem solid var(--color-gray1)
}

.jd-requ-detail__infoRow {
    padding-block:2.4rem 2.3rem;border-bottom: .1rem solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .jd-requ-detail__infoRow {
        display:flex;
        padding-block:3.2rem}
}

.jd-requ-detail__infoRow ._head {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .jd-requ-detail__infoRow ._head {
        flex-shrink:0;
        width: 17rem;
        padding-top: .4rem;
        padding-right: 6rem
    }
}

.jd-requ-detail__infoRow ._body {
    margin-top: 1.6rem;
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .jd-requ-detail__infoRow ._body {
        margin-top:0
    }
}

.jd-requ-detail__infoRow ._body small,.jd-requ-detail__infoRow ._body em {
    display: inline-block;
    font-size: 1.1rem;
    font-style: normal;
    line-height: 1.4;
    letter-spacing: inherit
}

@media screen and (max-width: 767px) {
    .jd-requ-detail__infoRow ._body small,.jd-requ-detail__infoRow ._body em {
        padding-top:.4rem
    }
}

.jd-requ-detail__infoRow ._body p+:where(ol,ul) {
    margin-top: 1rem
}

.jd-requ-detail__infoRow ._body ul {
    list-style-type: none;
    list-style-position: outside;
    padding-left: 2rem
}

.jd-requ-detail__infoRow ._body ul>li {
    position: relative
}

.jd-requ-detail__infoRow ._body ul>li:before {
    position: absolute;
    left: -1.3rem;
    content: "・"
}

.jd-requ-detail__infoRow ._body ol {
    list-style: revert;
    list-style-position: outside;
    padding-left: 2rem
}

.jd-requ-detail__infoRow ._body ol>li::marker {
    font-size: 1.4rem
}

.jd-other {
    padding-top: 6.4rem;
    padding-bottom: 8.8rem;
    background-color: var(--color-white1)
}

@media screen and (min-width: 768px) {
    .jd-other {
        padding-top:12.8rem;
        padding-bottom: 10.8rem
    }
}

.jd-other__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .jd-other__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:0}
}

.jd-other__body {
    margin-top: 5.6rem
}

@media screen and (min-width: 768px) {
    .jd-other__body {
        margin-top:7.4rem
    }
}

.jd-other__connect {
    display: flex;
    justify-content: center;
    margin-top: 6.4rem
}

@media screen and (min-width: 768px) {
    .jd-other__connect {
        margin-top:8rem;
        justify-content: flex-end
    }
}

@keyframes underline_anim {
    0% {
        transform-origin: 100% 0;
        transform: scaleX(1)
    }

    50% {
        transform-origin: 100% 0;
        transform: scaleX(0)
    }

    50.1% {
        transform-origin: 0% 0;
        transform: scaleX(0)
    }

    to {
        transform-origin: 0% 0;
        transform: scaleX(1)
    }
}

.in-fellows {
    padding-block:6.4rem 8.8rem}

@media screen and (min-width: 768px) {
    .in-fellows {
        padding-block:9.6rem 13.8rem
    }
}

.in-fellows__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .in-fellows__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:0}
}

.in-fellows__listItem {
    position: relative
}

.in-fellows__listItem:nth-child(n+2) {
    margin-top: 4.8rem;
    padding-top: 4.8rem;
    border-top: .1rem solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .in-fellows__listItem:nth-child(n+2) {
        margin-top:8.2rem;
        padding-top: 8.8rem
    }
}

.in-fellows__num {
    position: absolute;
    left: 1.2rem;
    color: var(--color-red);
    font-family: Poppins,sans-serif;
    font-weight: 500;
    font-style: italic;
    font-size: 1.8rem;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .in-fellows__num {
        left:0;
        font-size: 1.6rem
    }
}

.ind-kv {
    padding-block:9.4rem 10.4rem}

@media screen and (min-width: 768px) {
    .ind-kv {
        padding-block:16rem 12.8rem
    }
}

.ind-kv__inner {
    display: flex;
    flex-wrap: wrap;
    margin-inline:2rem}

@media screen and (min-width: 768px) {
    .ind-kv__inner {
        width:110.4rem;
        margin-inline:auto}
}

.ind-kv__contents {
    order: 2;
    width: 100%;
    margin-top: 5.6rem
}

@media screen and (min-width: 768px) {
    .ind-kv__contents {
        margin-top:4.8rem
    }
}

.ind-kv__breadcramb {
    order: 1;
    display: flex;
    justify-content: flex-end;
    width: 100%
}

.ind-detail {
    margin-bottom: 7.2rem;
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .ind-detail {
        margin-bottom:10.4rem;
        padding-inline:20.7rem 0}
}

.ind-detail__inner {
    border-top: .1rem solid var(--font-color-black)
}

.ind-chapter {
    padding-top: 4rem
}

@media screen and (min-width: 768px) {
    .ind-chapter {
        padding-top:4.8rem
    }
}

.ind-chapter+.ind-chapter {
    margin-top: 7.2rem;
    border-top: .1rem solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .ind-chapter+.ind-chapter {
        margin-top:9.6rem
    }
}

.ind-chapter__title {
    margin-bottom: 4.8rem;
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .ind-chapter__title {
        margin-bottom:7.2rem;
        font-size: 3.2rem
    }
}

.ind-chapter__thumb {
    margin-bottom: 4.8rem
}

@media screen and (min-width: 768px) {
    .ind-chapter__thumb {
        margin-bottom:7.2rem
    }
}

.ind-chapter__thumb>._img {
    width: 100%;
    overflow: hidden;
    border-radius: .3rem
}

.ind-chapter__thumb>._img.-aspectFixed {
    aspect-ratio: 897/505;
    object-fit: cover
}

.ind-chapter__thumb ._caption {
    margin-top: 1.2rem;
    font-size: 1.2rem
}

.ind-chapter__section+.ind-chapter__section {
    margin-top: 4rem
}

@media screen and (min-width: 768px) {
    .ind-chapter__section+.ind-chapter__section {
        margin-top:6.4rem
    }
}

.ind-chapter__question {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .ind-chapter__question {
        font-size:2rem
    }
}

.ind-chapter__question:before {
    content: "";
    display: inline-block;
    width: 1.8em;
    height: .1rem;
    margin-right: .5rem;
    background-color: currentColor;
    vertical-align: super
}

.ind-chapter__answer {
    margin-top: 2.4rem;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .ind-chapter__answer {
        font-size:1.7rem;
        line-height: 2
    }
}

.ind-chapter__answer>p {
    margin-bottom: 1em
}

.ind-chapter__answer>p:last-child {
    margin-bottom: 0
}

.tp-search {
    margin-top: 4.8rem
}

@media screen and (min-width: 768px) {
    .tp-search {
        margin-top:10.4rem
    }
}

.tp-search__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .tp-search__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:0}
}

.tp-list {
    margin-top: 4.8rem;
    margin-bottom: 8.8rem
}

@media screen and (min-width: 768px) {
    .tp-list {
        margin-top:5.6rem;
        margin-bottom: 14.4rem
    }
}

.tp-list__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .tp-list__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:0}
}

.tp-list__panel {
    border-top: .1rem solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .tp-list__panel {
        display:flex;
        flex-wrap: wrap;
        gap: 7.2rem 3.6rem;
        border: 0
    }
}

.tp-list__panelItem {
    border-bottom: .1rem solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .tp-list__panelItem {
        width:calc((100% - 7.2rem) / 3);
        border: 0
    }
}

.tp-list__pager {
    margin-top: 4rem
}

@media screen and (min-width: 768px) {
    .tp-list__pager {
        margin-top:8.8rem
    }
}

.tp-list__pager:empty {
    margin-top: 0
}

.tp-panel {
    display: flex;
    padding-block:2.4rem}

@media screen and (min-width: 768px) {
    .tp-panel {
        flex-direction:column;
        padding-block:0}
}

.tp-panel__link {
    display: flex
}

@media screen and (min-width: 768px) {
    .tp-panel__link {
        flex-direction:column
    }
}

@media (hover: hover) {
    .tp-panel__link:hover .tp-panel__title ._txt {
        background-position:bottom left;
        background-size: 100% 100%
    }

    .tp-panel__link:hover .tp-panel__thumb {
        clip-path: inset(.5rem round .6rem)
    }

    .tp-panel__link:hover .tp-panel__thumb:before {
        opacity: .5
    }

    .tp-panel__link:hover .tp-panel__thumb ._img {
        scale: 1.04
    }
}

.tp-panel__text {
    order: 2;
    display: flex;
    justify-content: center;
    flex-direction: column
}

@media screen and (min-width: 768px) {
    .tp-panel__text {
        margin-top:3.2rem
    }
}

.tp-panel__title {
    order: 2;
    margin-top: 1rem
}

@media screen and (max-width: 767px) {
    .tp-panel__title {
        display:-webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-feature-settings: "palt"
    }
}

@media screen and (min-width: 768px) {
    .tp-panel__title {
        margin-top:1.6rem
    }
}

.tp-panel__title ._txt {
    display: inline;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.4
}

@media screen and (min-width: 768px) {
    .tp-panel__title ._txt {
        font-size:1.6rem;
        line-height: 1.6
    }
}

@media (hover: hover) {
    .tp-panel__title ._txt {
        background-image:linear-gradient(0deg,currentColor .1rem,transparent .1rem);
        background-size: 0 100%;
        background-repeat: no-repeat;
        background-position: bottom right;
        transition: background-size .25s ease
    }
}

.tp-panel__info {
    order: 1;
    display: flex;
    align-items: center
}

.tp-panel__info:before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background-color: #e60012;
    border-radius: 50%;
    font-size: .4rem;
    margin-right: 1rem
}

.tp-panel__cat ._txt {
    font-weight: 300;
    font-size: 1.1rem;
    line-height: 1;
    letter-spacing: -.01em;
    padding-bottom: .1rem
}

.tp-panel__date {
    display: flex;
    align-items: center
}

.tp-panel__date:before {
    content: "";
    display: block;
    width: .1rem;
    height: 1rem;
    background-color: var(--color-gray1);
    margin-inline:1rem 1.2rem}

.tp-panel__date ._txt {
    font-family: Poppins,sans-serif;
    font-weight: 300;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: -.01em;
    text-transform: uppercase
}

.tp-panel__thumb {
    order: 1;
    flex-shrink: 0;
    width: 13.2rem;
    margin-right: 2rem;
    position: relative;
    background-color: var(--color-white1);
    clip-path: inset(0 round .3rem)
}

@media screen and (min-width: 768px) {
    .tp-panel__thumb {
        width:100%;
        margin-right: 0
    }
}

@media (hover: hover) {
    .tp-panel__thumb {
        transition:clip-path .8s cubic-bezier(.19,1,.22,1)
    }

    .tp-panel__thumb ._img {
        transition: scale .8s cubic-bezier(.19,1,.22,1)
    }
}

.tp-panel__thumb:after {
    content: "";
    display: block;
    padding-top: 66.8604651163%;
    pointer-events: none
}

@media (hover: hover) {
    .tp-panel__thumb:before {
        position:absolute;
        inset: 0;
        z-index: 1;
        content: "";
        display: block;
        width: 100%;
        height: 100;
        background-color: var(--font-color-black);
        opacity: 0;
        transition: opacity .55s cubic-bezier(.26,.06,0,1)
    }
}

.tp-panel__thumb>._img {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto
}

.tpd-kv {
    padding-block:9.4rem 0}

@media screen and (min-width: 768px) {
    .tpd-kv {
        padding-block:16rem 0
    }
}

.tpd-kv__inner {
    display: flex;
    flex-wrap: wrap;
    margin-inline:2rem;padding-bottom: 4.8rem
}

@media screen and (min-width: 768px) {
    .tpd-kv__inner {
        width:110.4rem;
        margin-inline:auto;padding-bottom: 5.6rem;
        border-bottom: .1rem solid var(--color-gray1)
    }
}

.tpd-kv__contents {
    order: 2;
    width: 100%;
    margin-top: 5.6rem
}

@media screen and (min-width: 768px) {
    .tpd-kv__contents {
        margin-top:5.6rem
    }
}

.tpd-kv__info {
    display: flex;
    align-items: center;
    font-family: Poppins,sans-serif;
    font-weight: 300;
    font-size: 1.3rem;
    line-height: 1;
    letter-spacing: -.01em;
    text-transform: uppercase
}

.tpd-kv__info:before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background-color: #e60012;
    border-radius: 50%;
    font-size: .4rem;
    margin-right: 1rem
}

.tpd-kv__date {
    display: flex;
    align-items: center
}

@media screen and (min-width: 768px) {
    .tpd-kv__date {
        font-size:1.4rem
    }
}

.tpd-kv__date:before {
    content: "";
    display: block;
    width: .1rem;
    height: 1rem;
    background-color: var(--color-gray1);
    margin-inline:1.2rem 1.4rem}

.tpd-kv__summary {
    margin-top: 3.2rem
}

@media screen and (min-width: 768px) {
    .tpd-kv__summary {
        margin-top:4rem
    }
}

.tpd-kv__summary ._txt {
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.5;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .tpd-kv__summary ._txt {
        font-size:3.2rem;
        line-height: 1.6
    }
}

.tpd-kv__breadcramb {
    order: 1;
    display: flex;
    justify-content: flex-end;
    width: 100%
}

.tpd-contents {
    margin-block:0 7.3rem}

@media screen and (min-width: 768px) {
    .tpd-contents {
        margin-block:0 8rem
    }
}

.tpd-contents__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .tpd-contents__inner {
        padding-inline:20.7rem 0
    }
}

.tpd-contents__text {
    margin-top: 4.8rem;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .tpd-contents__text {
        margin-top:8rem;
        font-size: 1.7rem;
        line-height: 2
    }
}

.tpd-contents__text hr {
    margin-top: 8rem;
    margin-bottom: 4.8rem;
    border-top: 1px solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .tpd-contents__text hr {
        margin-top:7.3rem;
        margin-bottom: 4rem
    }
}

.tpd-contents__thumb {
    overflow: hidden;
    border-radius: .6rem;
    margin-bottom: 4.8rem
}

@media screen and (min-width: 768px) {
    .tpd-contents__thumb {
        margin-bottom:8rem
    }
}

.tpd-contents__thumb ._img {
    width: 100%
}

.tpd-contents__flexible>._hr {
    margin-top: 3.2rem;
    margin-bottom: 4rem;
    border-top: 1px solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .tpd-contents__flexible>._hr {
        margin-bottom:4.8rem
    }
}

.tpd-contentsImg {
    width: 100%;
    margin-bottom: 4rem
}

@media screen and (min-width: 768px) {
    .tpd-contentsImg {
        margin-bottom:4.8rem
    }
}

.tpd-contentsImg>img {
    overflow: hidden;
    border-radius: .3rem
}

.tpd-contents-primaryHeading {
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    margin-bottom: 4.8rem
}

@media screen and (min-width: 768px) {
    .tpd-contents-primaryHeading {
        font-size:3.2rem
    }
}

.tpd-contents-subHeading {
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.4;
    letter-spacing: -.02em;
    margin-bottom: 2.4rem
}

@media screen and (min-width: 768px) {
    .tpd-contents-subHeading {
        font-size:2rem;
        margin-bottom: 1.6rem
    }
}

.tpd-contents-editor {
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: -.02em;
    margin-bottom: 4rem
}

@media screen and (min-width: 768px) {
    .tpd-contents-editor {
        font-size:1.7rem;
        line-height: 2;
        margin-bottom: 4.8rem
    }
}

.tpd-contents-editor ul>li {
    position: relative;
    padding-left: 1em
}

.tpd-contents-editor ul>li:before {
    content: "・";
    position: absolute;
    left: 0
}

.tpd-contents-editor ol {
    counter-reset: count 0
}

.tpd-contents-editor ol>li {
    position: relative;
    padding-left: 1.25em;
    text-indent: -1.25em
}

.tpd-contents-editor ol>li:before {
    content: counter(count) ".";
    counter-increment: count 1;
    padding-right: .5em
}

.tpd-contents-editor hr {
    margin-top: 3.2rem;
    margin-bottom: 4rem;
    border-top: 1px solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .tpd-contents-editor hr {
        margin-bottom:4.8rem
    }
}

.tpd-contents-editor a {
    color: var(--color-red);
    text-decoration: underline;
    text-underline-offset: .2rem
}

@media (hover: hover) {
    .tpd-contents-editor a:hover {
        text-decoration:none
    }
}

.tpd-contents-editor+.tpd-intro {
    margin-top: -.8rem
}

@media screen and (min-width: 768px) {
    .tpd-contents-editor+.tpd-intro {
        margin-top:-1.6rem
    }
}

.tpd-contents__intro {
    margin-bottom: 3.2rem
}

.tpd-contents__lineLinkGroup {
    margin-top: 3.2rem;
    padding-top: 4rem;
    border-top: 1px solid var(--color-gray1);
    font-size: 1.7rem;
    line-height: 2
}

@media screen and (min-width: 768px) {
    .tpd-contents__lineLinkGroup {
        padding-top:4.8rem
    }
}

.tpd-contents__lineLinkGroup>a {
    display: inline-block;
    color: var(--color-red);
    text-decoration: underline;
    text-underline-offset: .2rem
}

@media (hover: hover) {
    .tpd-contents__lineLinkGroup>a:hover {
        text-decoration:none
    }
}

.tpd-overview {
    margin-bottom: 8.8rem;
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .tpd-overview {
        margin-bottom:8rem;
        padding-inline:20.7rem 0}
}

.tpd-overview__inner {
    padding-top: 4.1rem;
    border-top: .1rem solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .tpd-overview__inner {
        padding-top:4.8rem
    }
}

.tpd-overview__title ._txt {
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .tpd-overview__title ._txt {
        font-size:3.2rem
    }
}

.tpd-overview__detail {
    margin-top: 4.8rem
}

.tpd-overview__detailIrem:nth-child(n+2) {
    margin-top: 4rem
}

@media screen and (min-width: 768px) {
    .tpd-overview__detailIrem:nth-child(n+2) {
        margin-top:4.8rem
    }
}

.tpd-overview__detailIrem ._head {
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.4;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .tpd-overview__detailIrem ._head {
        font-size:2rem
    }
}

.tpd-overview__detailIrem ._body {
    margin-top: 2.4rem;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

@media screen and (max-width: 767px) {
    .tpd-overview__detailIrem ._body {
        word-break:break-all
    }
}

@media screen and (min-width: 768px) {
    .tpd-overview__detailIrem ._body {
        margin-top:1.6rem;
        font-size: 1.7rem;
        line-height: 2
    }
}

.tpd-overview__detailIrem ._body a {
    color: var(--color-red);
    text-decoration: underline;
    text-underline-offset: .2rem
}

@media (hover: hover) {
    .tpd-overview__detailIrem ._body a {
        transition:opacity .25s ease
    }

    .tpd-overview__detailIrem ._body a:hover {
        opacity: .5
    }
}

.tpd-overview__detailIrem ._body ol {
    list-style: decimal outside;
    padding-left: 1em
}

.tpd-overview__intro {
    margin-top: 3.2rem
}

.tpd-overview__introItem:nth-child(n+2) {
    margin-top: 3.2rem
}

.tpd-overview__connect {
    display: flex;
    justify-content: center;
    margin-top: 6.4rem
}

@media screen and (min-width: 768px) {
    .tpd-overview__connect {
        justify-content:flex-end;
        margin-top: 7.2rem
    }
}

.tpd-intro {
    margin-bottom: 3.2rem;
    padding-block:3.2rem;background-color: var(--color-gray1);
    border-radius: .6rem
}

@media screen and (min-width: 768px) {
    .tpd-intro {
        padding-block:5.4rem 5.6rem;
        border-radius: .3rem
    }
}

.tpd-intro__inner {
    display: flex;
    flex-wrap: wrap;
    padding-inline:2.4rem}

@media screen and (min-width: 768px) {
    .tpd-intro__inner {
        flex-wrap:nowrap;
        padding-inline:5.4rem}
}

.tpd-intro__text {
    display: contents
}

@media screen and (min-width: 768px) {
    .tpd-intro__text {
        order:2;
        display: block;
        margin-left: 4.7rem
    }
}

.tpd-intro__who {
    order: 2;
    display: flex;
    margin-top: 2.4rem;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.8;
    letter-spacing: -.02em;
    gap: .3rem;
    margin-bottom: .8rem
}

@media screen and (min-width: 768px) {
    .tpd-intro__who {
        order:1;
        margin-top: 0;
        margin-bottom: 1.6rem;
        font-size: 1.6rem
    }
}

.tpd-intro__desc {
    order: 2;
    width: 100%;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .tpd-intro__desc {
        order:3
    }
}

.tpd-intro__desc ._txt {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: -.02em
}

.tpd-intro__desc a {
    color: var(--color-red);
    text-decoration: underline;
    text-underline-offset: .2rem
}

@media (hover: hover) {
    .tpd-intro__desc a:hover {
        text-decoration:none
    }
}

.tpd-intro__photo {
    order: 1;
    flex-shrink: 0;
    width: 23.3rem;
    height: 17.5rem;
    margin-inline:auto}

@media screen and (min-width: 768px) {
    .tpd-intro__photo {
        width:24.8rem;
        height: 18.6rem;
        margin-inline:0}
}

.tpd-intro__photo ._img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: .3rem
}

.tpd-about {
    margin-bottom: 7.2rem;
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .tpd-about {
        margin-bottom:10.2rem;
        padding-inline:20.7rem 0}
}

.tpd-about__inner {
    padding-top: 5.6rem;
    border-top: .1rem solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .tpd-about__inner {
        padding-top:7.4rem
    }
}

.tpd-about__frame {
    padding-block:4rem 4.4rem;background-color: var(--color-white1);
    border: .1rem solid currentColor;
    border-radius: .6rem
}

@media screen and (min-width: 768px) {
    .tpd-about__frame {
        padding-block:6.2rem 6.6rem
    }
}

.tpd-about__frameInner {
    display: flex;
    flex-direction: column;
    align-items: center
}

.tpd-about__title {
    margin-inline:4.5rem}

@media screen and (min-width: 768px) {
    .tpd-about__title {
        margin-inline:0
    }
}

.tpd-about__title ._txt {
    position: relative;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    text-align: center
}

@media screen and (min-width: 768px) {
    .tpd-about__title ._txt {
        font-size:3.2rem;
        line-height: 1.4
    }
}

.tpd-about__title ._txt:before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background-color: #e60012;
    border-radius: 50%;
    font-size: .8rem
}

@media screen and (max-width: 767px) {
    .tpd-about__title ._txt:before {
        position:absolute;
        top: 1.3rem;
        left: -2.4rem
    }
}

@media screen and (min-width: 768px) {
    .tpd-about__title ._txt:before {
        margin-right:4rem;
        margin-left: -4.8rem
    }
}

.tpd-about__desc {
    margin-top: 2.4rem;
    padding-inline:2.4rem}

@media screen and (min-width: 768px) {
    .tpd-about__desc {
        padding-inline:0
    }
}

.tpd-about__desc ._txt {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: -.02em;
    text-align: center
}

.tpd-about__connect {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    margin-top: 3.2rem
}

@media screen and (min-width: 768px) {
    .tpd-about__connect {
        flex-direction:row;
        justify-content: center;
        gap: 2rem;
        margin-top: 4rem
    }
}

.tpd-about__link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 17.8rem;
    height: 5.4rem;
    background-color: var(--font-color-black);
    border-radius: .3rem
}

@media screen and (min-width: 768px) {
    .tpd-about__link {
        height:6rem
    }
}

@media (hover: hover) {
    .tpd-about__link {
        transition:background-color .25s ease
    }

    .tpd-about__link:hover {
        background-color: var(--color-red)
    }

    .tpd-about__link:hover ._txt {
        transform: translateY(-50%)
    }
}

.tpd-about__link ._mask {
    overflow: hidden;
    display: block;
    height: 2rem
}

.tpd-about__link ._txt {
    color: var(--color-white1);
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase
}

@media (hover: hover) {
    .tpd-about__link ._txt {
        display:flex;
        flex-direction: column;
        transition: transform .25s ease
    }

    .tpd-about__link ._txt:after {
        content: attr(data-txt)
    }
}

@media screen and (max-width: 767px) {
    body:where(.supporters) .c-sec-header__ttl._ja {
        font-size:3rem
    }
}

@media screen and (min-width: 768px) {
    .su-contents {
        width:96.6rem;
        margin-inline:auto}
}

.su-contents__inner.js-supporterStalkerLimit {
    position: relative
}

.su-logo__list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.4rem
}

.su-logo__listItem {
    width: calc((100% - 1.4rem)/2)
}

@media screen and (min-width: 768px) {
    .su-logo__listItem {
        width:calc((100% - 4.3rem)/4)
    }
}

.su-logo__frame {
    overflow: hidden;
    display: flex;
    justify-content: center;
    background-color: var(--color-white1);
    border-radius: .3rem
}

.su-logo__frame ._img {
    width: auto;
    height: 100%
}

.su-cont {
    padding-bottom: 10.4rem
}

@media screen and (min-width: 768px) {
    .su-cont {
        margin-top:3.4rem;
        padding-bottom: 13.2rem
    }
}

.su-cont__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .su-cont__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:0}
}

.su-cont__header .c-sec-header {
    border: 0
}

.su-cont__body {
    margin-top: 5rem
}

@media screen and (min-width: 768px) {
    .su-cont__body {
        margin-top:9.6rem
    }
}

.su-cont__com {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem 1.5rem
}

@media screen and (min-width: 768px) {
    .su-cont__com {
        gap:1.8rem
    }
}

.su-cont__comItem {
    width: 16rem;
    position: relative
}

@media screen and (min-width: 768px) {
    .su-cont__comItem {
        width:31rem
    }
}

.su-cont__comItem__spLink {
    position: absolute;
    inset: 0;
    margin: auto;
    z-index: 2
}

@media screen and (min-width: 768px) {
    .su-cont__comItem__spLink {
        display:none!important
    }
}

.su-cont__comLogo {
    overflow: hidden;
    display: flex;
    justify-content: center;
    background-color: var(--color-white1);
    border-radius: .3rem
}

.su-cont__comLogo ._img {
    width: auto;
    height: 100%
}

.su-cont__comCatch {
    margin-top: 1.3rem
}

@media screen and (min-width: 768px) {
    .su-cont__comCatch {
        margin-top:2rem
    }
}

.su-cont__comCatch ._txt {
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.4;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .su-cont__comCatch ._txt {
        font-size:1.5rem
    }
}

@media (hover: hover) {
    .su-cont__comCatch ._txt {
        display:inline;
        background-image: linear-gradient(0deg,currentColor .1rem,transparent .1rem);
        background-size: 0 100%;
        background-repeat: no-repeat;
        background-position: bottom right
    }
}

.su-cont__comName {
    margin-top: 1.2rem;
    display: inline-block
}

@media screen and (min-width: 768px) {
    .su-cont__comName {
        display:inline-flex;
        align-items: center
    }
}

@media (hover: hover) {
    .su-cont__comName:hover ._txt {
        background-position:bottom left;
        background-size: 100% 100%
    }
}

.su-cont__comName ._txt {
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .su-cont__comName ._txt {
        font-size:1.2rem
    }
}

@media (hover: hover) {
    .su-cont__comName ._txt {
        display:inline;
        background-image: linear-gradient(0deg,currentColor .1rem,transparent .1rem);
        background-size: 0 100%;
        background-repeat: no-repeat;
        background-position: bottom right;
        transition: background-size .25s ease
    }
}

.su-cont__comName ._icon {
    display: inline-block;
    width: 1rem;
    height: .8em;
    margin-left: .4rem;
    vertical-align: .2rem
}

.su-cont__comName ._icon ._entity {
    width: 100%;
    height: 100%
}

.su-cont__comPerson {
    margin-top: .4rem;
    color: var(--color-gray2);
    font-size: 1.1rem;
    line-height: 1.4;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .su-cont__comPerson {
        margin-top:.5rem
    }
}

.su-cont__comPerson ._title {
    display: inline
}

.su-cont__comPerson ._name {
    display: inline;
    margin-left: .5em
}

.su-adv {
    padding-bottom: 10.4rem
}

@media screen and (min-width: 768px) {
    .su-adv {
        padding-bottom:12.8rem
    }
}

.su-adv__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .su-adv__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:0}
}

.su-adv__body {
    margin-top: 5rem
}

@media screen and (min-width: 768px) {
    .su-adv__body {
        margin-top:10.4rem
    }
}

.su-adv__list {
    display: flex;
    flex-wrap: wrap;
    gap: 2.6rem 1.5rem
}

@media screen and (min-width: 768px) {
    .su-adv__list {
        gap:5.6rem 2.2rem
    }
}

.su-adv__listItem {
    --width: 16rem;
    width: var(--width)
}

@media screen and (min-width: 768px) {
    .su-adv__listItem {
        --width: 22.4rem
    }
}

@media screen and (max-width: 767px) {
    .su-adv__card .c-supporter-card__post ._txt {
        font-size:1rem
    }

    .su-adv__card .c-supporter-card__name {
        margin-bottom: .5rem
    }

    .su-adv__card .c-supporter-card__name ._txt {
        font-size: 1.8rem
    }

    .su-adv__card .c-supporter-card__relative {
        margin-top: 1.5rem
    }

    .su-adv__card .c-supporter-card__relative ._txt {
        font-size: 1rem
    }
}

.su-part {
    padding-bottom: 10.4rem
}

@media screen and (min-width: 768px) {
    .su-part {
        padding-bottom:12.8rem
    }
}

.su-part__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .su-part__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:0}
}

.su-part__body {
    margin-top: 5rem
}

@media screen and (min-width: 768px) {
    .su-part__body {
        margin-top:10.4rem
    }
}

.su-ship {
    padding-bottom: 10.4rem
}

@media screen and (min-width: 768px) {
    .su-ship {
        padding-bottom:12.8rem
    }
}

.su-ship__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .su-ship__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:0}
}

.su-ship__body {
    margin-top: 5rem
}

@media screen and (min-width: 768px) {
    .su-ship__body {
        margin-top:10.4rem
    }
}

.contact._confirm .c-under-sticky__listItem:nth-child(1)>._txt {
    color: var(--color-gray2)
}

.contact._confirm .c-under-sticky__listItem:nth-child(2)>._txt {
    color: var(--color-red)
}

.co-flow {
    margin-top: 5.6rem;
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .co-flow {
        width:110.4rem;
        margin-top: 9.6rem;
        margin-inline:auto;padding-inline:0}
}

.co-flow__inner {
    padding: 5rem 2.4rem 4rem;
    background-color: var(--color-white1);
    border-radius: .6rem
}

@media screen and (min-width: 768px) {
    .co-flow__inner {
        padding:7.4rem 9rem 6.4rem
    }
}

.co-flow__header .c-sec-header {
    padding-top: 0;
    border-top: 0
}

.co-flow__header .c-sec-header__ttl._ja {
    margin-top: 3.2rem;
    font-size: 2.2rem;
    line-height: 1.4;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .co-flow__header .c-sec-header__ttl._ja {
        font-size:2.4rem
    }
}

.co-flow__header .c-sec-header__desc {
    margin-top: 2rem
}

@media screen and (min-width: 768px) {
    .co-flow__header .c-sec-header__desc {
        margin-top:1.6rem
    }
}

.co-flow__body {
    margin-top: 3.2rem
}

@media screen and (min-width: 768px) {
    .co-flow__body {
        margin-top:4rem
    }
}

@media screen and (max-width: 767px) {
    .co-flow__step {
        padding:3.2rem 2rem;
        background-color: var(--color-white2);
        border-radius: .6rem
    }
}

@media screen and (min-width: 768px) {
    .co-flow__step {
        padding-inline:1.5rem
    }
}

.co-flow__stepList {
    counter-reset: step
}

@media screen and (min-width: 768px) {
    .co-flow__stepList {
        display:flex;
        justify-content: space-between
    }
}

.co-flow__stepItem {
    counter-increment: step
}

.co-flow__stepItem:nth-child(n+2) {
    position: relative
}

@media screen and (max-width: 767px) {
    .co-flow__stepItem:nth-child(n+2) {
        margin-top:4rem
    }
}

.co-flow__stepItem:nth-child(n+2):before {
    position: absolute;
    top: -2.3rem;
    left: calc(50% - .5rem);
    content: "";
    display: block;
    width: 1rem;
    height: .8rem;
    background-color: var(--font-color-black);
    clip-path: polygon(0 0,100% 0,50% 100%)
}

@media screen and (min-width: 768px) {
    .co-flow__stepItem:nth-child(n+2):before {
        top:calc(50% - .5rem);
        left: -3.2rem;
        width: .8rem;
        height: 1rem;
        clip-path: polygon(0 0,100% 50%,0 100%)
    }
}

.co-flow__stepFrame {
    position: relative;
    display: flex
}

@media screen and (min-width: 768px) {
    .co-flow__stepFrame {
        justify-content:center;
        width: 26rem;
        height: 26rem;
        padding-top: 11.2rem;
        background-color: var(--color-white2);
        border-radius: 50%
    }
}

.co-flow__stepFrame:before {
    content: "0" counter(step);
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    height: 4rem;
    color: var(--color-white1);
    font-family: Poppins,sans-serif;
    font-size: 1.8rem;
    line-height: 1;
    letter-spacing: -.02em;
    background-color: var(--font-color-black);
    border-radius: 50%
}

@media screen and (min-width: 768px) {
    .co-flow__stepFrame:before {
        position:absolute;
        top: 5.4rem;
        left: calc(50% - 2rem)
    }
}

.co-flow__stepTxt {
    display: flex;
    flex-direction: column;
    margin-left: 1.8rem;
    font-weight: 500
}

@media screen and (min-width: 768px) {
    .co-flow__stepTxt {
        align-items:center;
        margin-left: 0;
        text-align: center
    }
}

.co-flow__stepTxt ._txt {
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .co-flow__stepTxt ._txt {
        width:19.4rem
    }
}

.co-flow__stepTxt ._note {
    width: 100%;
    margin-top: .4rem;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .co-flow__stepTxt ._note {
        margin-top:.6rem;
        font-size: 1.1rem
    }
}

.co-column__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .co-column__inner {
        padding-inline:20.7rem 0
    }
}

.co-inquiry__confirm {
    margin-top: 5.6rem
}

@media screen and (min-width: 768px) {
    .co-inquiry__confirm {
        margin-top:-4rem
    }
}

.co-inquiry__confirm ._txt {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: -.02em
}

.co-inquiry__note {
    margin-top: 6.5rem;
    padding-top: 4.9rem;
    border-top: .1rem solid currentColor
}

@media screen and (min-width: 768px) {
    .co-inquiry__note {
        margin-top:0;
        padding-top: 7.3rem
    }
}

.co-inquiry__note ._txt {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: -.02em
}

.co-inquiry__form {
    position: relative;
    padding-block:4.8rem 8.8rem;border-top: .1rem solid var(--color-gray1)
}

@media screen and (min-width: 768px) {
    .co-inquiry__form {
        padding-block:7.2rem 14.4rem
    }
}

.co-inquiry__required {
    text-align: right;
    margin-top: 1.2rem;
    margin-bottom: 1.6rem
}

@media screen and (min-width: 768px) {
    .co-inquiry__required {
        margin-top:4rem;
        margin-bottom: 1.2rem
    }
}

.co-inquiry__required ._txt {
    color: var(--color-red);
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .co-inquiry__required ._txt {
        padding-bottom:1.2rem
    }
}

@media screen and (min-width: 768px) {
    .co-inquiry__formRow {
        display:flex
    }
}

.co-inquiry__formRow:nth-child(n+2) {
    margin-top: 2.8rem
}

@media screen and (min-width: 768px) {
    .co-inquiry__formRow:nth-child(n+2) {
        margin-top:3.4rem
    }
}

.co-inquiry__formRow._empty {
    display: none
}

.co-inquiry__formRow._empty+.co-inquiry__formRow {
    display: none
}

@media screen and (min-width: 768px) {
    ._confirm .co-inquiry__formRow._affiliation1,._confirm .co-inquiry__formRow._affiliation2 {
        align-items:center
    }
}

@media screen and (max-width: 767px) {
    ._confirm .co-inquiry__formRow:nth-child(n+2) {
        margin-top:3.2rem
    }
}

.co-inquiry__formRow._files._hidden {
    display: none!important
}

@media screen and (min-width: 768px) {
    .co-inquiry__formLabel {
        flex-shrink:0;
        width: 20.7rem;
        padding-top: .7rem
    }
}

.co-inquiry__formLabel ._txt {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.02em
}

.co-inquiry__formLabel ._required {
    margin-left: .2em;
    color: var(--color-red)
}

.co-inquiry__formLabel ._small {
    margin-left: .8rem;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.5;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .co-inquiry__formLabel ._small {
        display:block;
        margin-top: .5rem;
        margin-left: 0
    }
}

.co-inquiry__formContents {
    width: 100%
}

@media screen and (max-width: 767px) {
    .co-inquiry__formContents {
        margin-top:1.6rem
    }
}

@media screen and (min-width: 768px) {
    .co-inquiry__formContents {
        width:calc(100% - 20.7rem)
    }
}

@media screen and (min-width: 768px) {
    .co-inquiry__formContents._wide {
        width:100%;
        padding-left: 20.7rem
    }
}

._input .co-inquiry__formElement._select {
    position: relative
}

._input .co-inquiry__formElement._select:after {
    position: absolute;
    top: calc(50% - .4rem);
    right: 2rem;
    content: "";
    display: block;
    width: 1rem;
    height: .8rem;
    background-color: var(--font-color-black);
    clip-path: polygon(0 0,100% 0,50% 100%)
}

.co-inquiry__formConfirm ._txt {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

.co-inquiry__formConfirm ._txt+._txt {
    margin-top: .8rem
}

._file .co-inquiry__formConfirm .mw-wp-form_file {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

._file .co-inquiry__formConfirm .mw-wp-form_file+.mw-wp-form_file {
    margin-top: .8rem
}

.co-inquiry__formInvalid {
    padding-top: .6rem
}

.co-inquiry__formInvalid:empty {
    display: none
}

.co-inquiry__formInvalid ._txt {
    color: var(--color-red)
}

@media screen and (min-width: 768px) {
    .co-inquiry__formInvalid ._txt {
        font-size:1.1rem;
        line-height: 1;
        letter-spacing: -.02em
    }
}

.co-inquiry__formNote {
    margin-top: 1rem
}

.co-inquiry__formNote ._txt {
    font-size: 1.1rem;
    line-height: 1.5;
    letter-spacing: -.02em;
    padding-left: 1em;
    text-indent: -1em
}

.co-inquiry__formNote ._txt:before {
    content: "※"
}

.co-inquiry__formNote ._txt+._txt {
    margin-top: 1rem
}

.co-inquiry__formNote ._list {
    padding-left: .5rem
}

.co-inquiry__formNote ._list li:before {
    content: "・";
    margin-right: .5rem
}

.co-inquiry__formNote ._list+._txt {
    margin-top: 1rem
}

.co-inquiry__formFile:nth-child(n+2) {
    margin-top: 1rem
}

.co-field__formCheck {
    padding-top: 2rem;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .co-field__formCheck {
        padding-top:1.2rem
    }
}

.co-field__formCheck .mwform-checkbox-field,.co-field__formCheck .co-checkbox-field {
    vertical-align: -.3rem
}

.co-field__formCheck .mwform-checkbox-field-text,.co-field__formCheck .co-checkbox-fieldText {
    display: none
}

.co-field__formCheck ._link {
    margin-left: 1.1rem;
    color: var(--color-red);
    text-decoration: underline;
    text-underline-offset: .2rem
}

.co-inquiry__formControll {
    display: flex;
    flex-direction: column;
    margin-top: 4rem
}

@media screen and (min-width: 768px) {
    .co-inquiry__formControll {
        flex-direction:row
    }
}

._confirm .co-inquiry__formControll {
    margin-top: 6.4rem
}

@media screen and (min-width: 768px) {
    ._confirm .co-inquiry__formControll {
        margin-top:9.6rem
    }
}

.co-field__text {
    display: block;
    width: 100%;
    height: 4.8rem;
    padding: 0 1.6rem;
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em;
    background-color: var(--color-white1);
    border: 0;
    border-radius: .3rem
}

.co-field__text._invalid {
    border: .1rem solid var(--color-red)
}

.co-field__text::placeholder {
    color: #99999980
}

.co-field__select {
    appearance: none;
    display: block;
    width: 100%;
    height: 4.8rem;
    padding: 0 1.6rem;
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em;
    background-color: var(--color-white1);
    border: 0;
    border-radius: .3rem
}

.co-field__select._invalid {
    border: .1rem solid var(--color-red)
}

.co-field__textarea {
    display: block;
    width: 100%;
    height: 17rem;
    padding: 1.7rem 1.6rem;
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em;
    background-color: var(--color-white1);
    border: 0;
    border-radius: .3rem
}

.co-field__textarea._invalid {
    border: .1rem solid var(--color-red)
}

.co-field__textarea::placeholder {
    color: #99999980
}

.co-field__radio {
    display: none
}

.co-field__radio+.mwform-radio-field-text,.co-field__radio+.co-field__radio__fieldText {
    position: relative;
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

.co-field__radio+.mwform-radio-field-text:before,.co-field__radio+.co-field__radio__fieldText:before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 1.4rem;
    font-size: 1.8rem;
    background-color: var(--color-white1);
    border: .1rem solid var(--font-color-black);
    border-radius: 50%;
    vertical-align: text-bottom
}

.co-field__radio:checked+.mwform-radio-field-text:after,.co-field__radio:checked+.co-field__radio__fieldText:after {
    position: absolute;
    left: 0;
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    font-size: 1.8rem;
    background-image: radial-gradient(circle at center,var(--color-red) .4rem,transparent .4rem);
    border-radius: 50%
}

.co-field__file {
    display: none!important
}

.co-field__fileContaier {
    display: flex;
    align-items: center
}

.co-field__fileContaier .mw-wp-form_file {
    display: none
}

.co-field__fileBtn {
    appearance: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 16.6rem;
    height: 4.8rem;
    background-color: var(--color-white1);
    border: 0;
    border-radius: .3rem
}

.co-field__fileBtn ._icon {
    width: 1.8rem;
    height: 1.8rem
}

.co-field__fileBtn ._icon ._entity {
    width: 100%;
    height: 100%
}

.co-field__fileBtn ._txt {
    margin-left: .8rem;
    font-size: 1.4rem;
    line-height: 1.8rem;
    letter-spacing: -.02em
}

.co-field__fileChose {
    margin-inline:1.2rem 1rem;font-size: 1.2rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

.co-field__deleteFile {
    cursor: pointer;
    visibility: hidden
}

.co-field__check {
    appearance: none;
    width: 1.6rem;
    height: 1.6rem;
    margin: 0;
    background-color: var(--color-white1);
    border: .1rem solid var(--font-color-black);
    border-radius: .3rem;
    cursor: pointer
}

.co-field__check:checked {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADDSURBVHgB7ZRBCsIwEEV/orhxExRc9whewaP0ZB6lR9AbxIUouLEXMHXGWigjxkUSW2gefFLaNC8TmACZzGS5whQWxsj3GglgWQNdLShSGl3YyeixUJQlBalg2QUrS2ko9xvMFqnIsvHI2kXWFY+/50WojH4+vBex36Qhso8+dHAlDTXl1U9S2u8znjeH221QHxHCmXbMO5eVxjhG5ZPqthK+mk4P6HIGt0dgZcr3UUg74hyjT9o73rR9JqT2L7JMZnCeYq2FrWSP+M8AAAAASUVORK5CYII=);
    background-repeat: no-repeat;
    background-size: 1.4rem 1.4rem;
    background-position: center
}

.co-field__back {
    order: 2;
    appearance: none;
    width: 33.5rem;
    height: 8rem;
    color: var(--font-color-black);
    font-weight: 700;
    font-size: 1.6rem;
    letter-spacing: -.02em;
    background-color: var(--color-white1);
    border: 0;
    border-radius: .3rem;
    cursor: pointer
}

@media screen and (min-width: 768px) {
    .co-field__back {
        order:1;
        width: 25.6rem;
        height: 8.8rem
    }
}

@media (hover: hover) {
    .co-field__back {
        transition:opacity .25s ease
    }

    .co-field__back:hover {
        opacity: .5
    }
}

.co-field__submit {
    order: 1;
    appearance: none;
    width: 33.5rem;
    height: 8rem;
    margin-bottom: 1.6rem;
    color: var(--color-white1);
    font-weight: 700;
    font-size: 1.6rem;
    letter-spacing: -.02em;
    background-color: var(--font-color-black);
    border: 0;
    border-radius: .3rem;
    cursor: pointer
}

@media screen and (min-width: 768px) {
    .co-field__submit {
        order:2;
        width: 62.1rem;
        height: 8.8rem;
        margin-left: auto;
        margin-bottom: 0
    }
}

@media (hover: hover) {
    .co-field__submit {
        transition:opacity .25s ease
    }

    .co-field__submit:hover {
        opacity: .5
    }
}

.co-field__confirm {
    appearance: none;
    width: 33.5rem;
    height: 8rem;
    color: var(--color-white1);
    font-weight: 700;
    font-size: 1.6rem;
    letter-spacing: -.02em;
    background-color: var(--font-color-black);
    border: 0;
    border-radius: .3rem;
    cursor: pointer
}

@media screen and (min-width: 768px) {
    .co-field__confirm {
        width:69rem;
        height: 8.8rem;
        margin-left: auto
    }
}

.co-field__confirm._disabled,.co-field__confirm:disabled {
    background-color: var(--color-gray1);
    cursor: pointer;
    pointer-events: none
}

@media (hover: hover) {
    .co-field__confirm {
        transition:opacity .25s ease
    }

    .co-field__confirm:not(:where(._disabled,:disabled)):hover {
        opacity: .5
    }
}

.co-thanks {
    padding-block:5.6rem 8.8rem}

@media screen and (min-width: 768px) {
    .co-thanks {
        padding-block:0 14.4rem
    }
}

.co-thanks__title ._txt {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: -.02em
}

.co-thanks__body {
    margin-top: 3.2rem
}

.co-thanks__desc ._txt {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

.co-thanks__connect {
    display: flex;
    justify-content: center;
    margin-top: 4.8rem
}

@media screen and (min-width: 768px) {
    .co-thanks__connect {
        justify-content:flex-end;
        margin-top: 4rem
    }
}

.pp-contents {
    margin-top: 5.6rem;
    padding-bottom: 8.8rem
}

@media screen and (min-width: 768px) {
    .pp-contents {
        margin-top:9.6rem;
        padding-bottom: 14.4rem
    }
}

.pp-contents__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .pp-contents__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:20.7rem 0}
}

.pp-contents__declaration ._txt {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: -.02em
}

.pp-contents__detail {
    margin-top: 5.6rem
}

@media screen and (min-width: 768px) {
    .pp-contents__detail {
        margin-top:9.6rem
    }
}

.pp-contents__treat {
    margin-top: 6.4rem
}

@media screen and (min-width: 768px) {
    .pp-contents__treat {
        margin-top:8rem
    }
}

.pp-policy__title {
    padding-bottom: 2.4rem;
    border-bottom: .1rem solid var(--color-gray1)
}

.pp-policy__title ._txt {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.02em
}

.pp-policy__detail {
    margin-top: 2.4rem
}

@media screen and (min-width: 768px) {
    .pp-policy__detail {
        margin-top:5.6rem
    }
}

.pp-policy__list {
    counter-reset: policy
}

.pp-policy__listItem {
    counter-increment: policy
}

.pp-policy__listItem:nth-child(n+1) {
    margin-top: 2.3rem
}

@media screen and (min-width: 768px) {
    .pp-policy__listItem:nth-child(n+1) {
        margin-top:4rem
    }
}

.pp-policy__listItem ._title {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.02em
}

.pp-policy__listItem ._title:before {
    content: counter(policy) ".";
    margin-right: .5rem
}

.pp-policy__listItem ._desc {
    margin-top: 1.6rem;
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

@media screen and (min-width: 768px) {
    .pp-policy__listItem ._desc {
        margin-top:1.2rem
    }
}

.pp-treat__title {
    padding-bottom: 2.4rem;
    border-bottom: .1rem solid var(--color-gray1)
}

.pp-treat__title ._txt {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.02em
}

.pp-treat__detail {
    margin-top: 2.4rem
}

@media screen and (min-width: 768px) {
    .pp-treat__detail {
        margin-top:5.6rem
    }
}

.pp-treat__contact ._txt {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.02em
}

.pp-treat__desc {
    margin-top: 1.6rem
}

@media screen and (min-width: 768px) {
    .pp-treat__desc {
        margin-top:1.2rem
    }
}

.pp-treat__desc ._txt {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

.pp-treat__connect {
    display: flex;
    justify-content: center;
    margin-top: 4.8rem
}

@media screen and (min-width: 768px) {
    .pp-treat__connect {
        justify-content:flex-end;
        margin-top: 4rem
    }
}

.er-404 {
    padding-block:5.6rem 8.8rem}

@media screen and (min-width: 768px) {
    .er-404 {
        padding-block:9.6rem 14.4rem
    }
}

.er-404__inner {
    padding-inline:2rem}

@media screen and (min-width: 768px) {
    .er-404__inner {
        width:110.4rem;
        margin-inline:auto;padding-inline:0}
}

@media screen and (min-width: 768px) {
    .er-404__text {
        padding-left:20.7rem
    }
}

.er-404__title {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: -.02em
}

.er-404__title ._txt {
    display: inline-block
}

.er-404__desc {
    margin-top: 3.2rem;
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

.er-404__connect {
    display: flex;
    justify-content: center;
    margin-top: 4.8rem
}

@media screen and (min-width: 768px) {
    .er-404__connect {
        justify-content:flex-end;
        margin-top: 4rem
    }
}



@media(hover: hover) {
    .l-footer__sdgs__inner:hover {
        border-color:#ec6c00
    }

    .l-footer__sdgs__inner:hover:before {
        background: #ec6c00
    }
}

.l-footer__sdgs__figure {
    text-align: center
}

@media screen and (min-width: 769px) {
    .l-footer__sdgs__figure {
        width:9rem
    }
}

@media not screen and (min-width: 769px) {
    .l-footer__sdgs__figure {
        width:7rem
    }
}

.l-footer__sdgs__figure img {
    width: 50%
}

.l-footer__sdgs__content {
    position: relative
}

@media screen and (min-width: 769px) {
    .l-footer__sdgs__content {
        width:calc(100% - 9rem)
    }
}

@media not screen and (min-width: 769px) {
    .l-footer__sdgs__content {
        width:calc(100% - 7rem)
    }
}

.l-footer__sdgs__text {
    font-size: var(--font-size14);
    font-weight: 700;
    line-height: 1.5
}

.l-footer__sdgs__copyright {
    opacity: .75;
    margin-top: 1em
}

@media screen and (min-width: 769px) {
    .l-footer__sdgs__copyright {
        font-size:1.2rem
    }
}

@media not screen and (min-width: 769px) {
    .l-footer__sdgs__copyright {
        font-size:1rem
    }
}

@media not screen and (min-width: 769px) {
    .l-footer__policy-nav {
        position:relative;
        z-index: 5
    }
}

.l-footer__pagetop {
    border-radius: 50%;
    background: #fff;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #fff;
    position: absolute;
    top: -3rem
}

@media screen and (min-width: 769px) {
    .l-footer__pagetop {
        right:10rem;
        width: 10rem;
        height: 10rem
    }
}

@media not screen and (min-width: 769px) {
    .l-footer__pagetop {
        right:2rem;
        width: 8rem;
        height: 8rem
    }
}

.l-footer__pagetop:before {
    content: "";
    width: 1rem;
    height: 2.6rem;
    background-image: url(../img/common/icon_arrow_top_orange.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -0.5rem;
    margin-top: -2.8rem;
    transition: opacity .3s,transform .3s;
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.l-footer__pagetop:after {
    content: "";
    width: 1rem;
    height: 2.6rem;
    background-image: url(../img/common/icon_arrow_top_orange.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -0.5rem;
    margin-top: -2.8rem;
    transition: opacity .3s,transform .3s;
    opacity: 0;
    transform: translate3d(0, 1rem, 0)
}

@media(hover: hover) {
    .l-footer__pagetop:hover:before {
        opacity:0;
        transform: translate3d(0, -1rem, 0)
    }

    .l-footer__pagetop:hover:after {
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

.l-footer__pagetop__text {
    font-size: 70%;
    margin-top: 3rem;
    font-family: "Roboto",sans-serif
}

@media screen and (min-width: 769px) {
    .l-nav {
        position:fixed;
        right: 2.5rem;
        top: 2.5rem;
        background: #fff;
        border-radius: .3rem;
        display: flex;
        align-items: center;
        height: 4em;
        padding: 0 1.5em 0 1em
    }
}

@media not screen and (min-width: 769px) {
    .l-nav {
        position:absolute;
        top: 0;
        left: 0;
        z-index: 5;
        height: 6rem;
        width: 100%;
        background: transparent;
        display: flex;
        align-items: flex-start;
        padding-left: 0
    }
}

@media screen and (min-width: 769px) {
    .l-nav__list {
        display:flex;
        height: 100%
    }
}

@media not screen and (min-width: 769px) {
    .l-nav__list {
        visibility:hidden;
        opacity: 0
    }
}

.l-nav__list li {
    height: 100%
}

.l-nav__list li:not(.l-nav__list__contact) a {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 0 1em;
    font-size: var(--font-size16);
    font-weight: 700;
    position: relative
}

@media(hover: hover) {
    .l-nav__list li:not(.l-nav__list__contact) a:hover .-default .-character {
        transform:translate3d(0, -100%, 0)
    }
}

.l-nav__list li:not(.l-nav__list__contact) a .-character {
    transition: transform .4s
}

.l-nav__list li.l-nav__list__contact {
    margin-left: 1.75rem
}

.l-nav__list li.is-current a:before {
    content: "";
    width: 2rem;
    height: .3rem;
    position: absolute;
    left: 50%;
    margin-left: -1rem;
    top: 0;
    background-image: linear-gradient(45deg, #EC6C00, #FAD6B4);
    background-size: 180%
}

.l-nav__list__contact {
    display: flex;
    align-items: center
}

@media screen and (min-width: 769px) {
    .l-nav__logo {
        width:0;
        overflow: hidden;
        transition: width .3s
    }
}

@media not screen and (min-width: 769px) {
    .l-nav__logo {
        width:15rem;
        background: #fff;
        height: 6rem;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0px 1.2rem;
        position: relative;
        border-bottom-right-radius: .2rem
    }
}

@media screen and (min-width: 769px) {
    .l-nav__logo img {
        max-width:initial;
        max-width: auto;
        width: 15rem
    }
}

@media not screen and (min-width: 769px) {
    .l-nav__logo img {
        width:100%
    }
}

.is-show-logo .l-nav__logo {
    width: 17rem
}

@keyframes l-nav__logo-fadein {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

.c-barba__leave {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%
}

.c-barba-backforward-filter {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 9999;
    visibility: hidden;
    opacity: 0
}

.c-barba-backforward-filter.is-backforward-loading {
    animation: bf-fadein .6s
}

@keyframes bf-fadein {
    0% {
        visibility: visible;
        opacity: 1
    }

    100% {
        visibility: hidden;
        opacity: 0
    }
}

.c-barba-filter {
    position: fixed;
    top: 0;
    z-index: 9999;
    width: 100%;
    height: 100vh;
    pointer-events: none
}

.c-barba-filter__path.--orange {
    fill: url(#g)
}

.c-barba-filter.-opening .c-barba-filter__path.--white {
    transform: translateX(-0.05rem)
}

.c-barba-filter__path.--white {
    fill: #fff
}

.c-barba-loading {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    padding-left: 20rem;
    display: flex;
    align-items: center;
    visibility: hidden
}

@media screen and (min-width: 769px) {
    .c-barba-loading {
        padding-left:20rem
    }
}

@media not screen and (min-width: 769px) {
    .c-barba-loading {
        padding-left:2rem
    }
}

.c-barba-loading__logo {
    position: fixed;
    top: 50%;
    z-index: 10002;
    transition: visibility 2s,opacity 2s;
    visibility: hidden;
    opacity: 0
}

@media screen and (min-width: 769px) {
    .c-barba-loading__logo {
        width:28rem;
        left: 20rem;
        margin-top: -3.6585rem
    }
}

@media not screen and (min-width: 769px) {
    .c-barba-loading__logo {
        width:15rem;
        left: 2rem;
        margin-top: -1.96rem
    }
}

.c-barba-loading__logo.is-show {
    transition: visibility .3s,opacity .3s;
    visibility: visible;
    opacity: 1
}

.c-barba-loading__logo .-logo-type-jp {
    opacity: 0;
    transform: translate3d(1rem, 0, 0);
    transition: all .3s
}

.c-barba-loading__logo.is-show .-logo-type-jp {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.c-barba-loading__logo.is-hide .-logo-type-jp {
    opacity: 0;
    transform: translate3d(-1rem, 0, 0)
}

.c-barba-loading__logo .-logo-type-en {
    opacity: 0;
    transform: translate3d(1rem, 0, 0);
    transition: all .3s .05s
}

.c-barba-loading__logo.is-show .-logo-type-en {
    opacity: 1;
    transform: translate3d(0, 0rem, 0)
}

.c-barba-loading__logo.is-hide .-logo-type-en {
    opacity: 0;
    transform: translate3d(-1rem, 0, 0)
}

.c-barba-loading__logo .-masking-logo,.c-barba-loading__logo .-masking-logo-top-flat,.c-barba-loading__logo .-masking-logo-top-gradation,.c-barba-loading__logo .-masking-logo-bottom-flat,.c-barba-loading__logo .-masking-logo-bottom-gradation,.c-barba-loading__logo .-masking-logo-left-flat,.c-barba-loading__logo .-masking-logo-left-gradation,.c-barba-loading__logo .-masking-logo-right-flat,.c-barba-loading__logo .-masking-logo-right-gradation {
    transition: opacity .5s,transform .5s;
    transform-origin: calc(55 / 400 * 100%) 50%
}

.-masking-logo {
    opacity: 0
}

.is-show .-masking-logo {
    opacity: 1
}

.is-hide .-masking-logo {
    transition: opacity .3s,transform .3s;
    opacity: 0
}

.c-barba-loading__logo .-masking-logo-top-flat {
    transform: translate3d(-3%, -3%, 0)
}

.c-barba-loading__logo .-masking-logo-top-gradation {
    transform: translate3d(3%, 0%, 0)
}

.c-barba-loading__logo .-masking-logo-left-flat {
    transform: translate3d(0, 3%, 0)
}

.c-barba-loading__logo .-masking-logo-left-gradation {
    transform: translate3d(0, -3%, 0)
}

.c-barba-loading__logo .-masking-logo-bottom-flat {
    transform: translate3d(3%, 3%, 0)
}

.c-barba-loading__logo .-masking-logo-bottom-gradation {
    transform: translate3d(-3%, 0%, 0)
}

.c-barba-loading__logo .-masking-logo-right-flat {
    transform: translate3d(0, -3%, 0)
}

.c-barba-loading__logo .-masking-logo-right-gradation {
    transform: translate3d(0, 3%, 0)
}

.is-show .-masking-logo-top-flat,.is-show .-masking-logo-top-gradation,.is-show .-masking-logo-bottom-flat,.is-show .-masking-logo-bottom-gradation,.is-show .-masking-logo-left-flat,.is-show .-masking-logo-left-gradation,.is-show .-masking-logo-right-flat,.is-show .-masking-logo-right-gradation {
    transform: translate3d(0, 0, 0)
}

.is-hide .-masking-logo-top-flat,.is-hide .-masking-logo-top-gradation,.is-hide .-masking-logo-bottom-flat,.is-hide .-masking-logo-bottom-gradation,.is-hide .-masking-logo-left-flat,.is-hide .-masking-logo-left-gradation,.is-hide .-masking-logo-right-flat,.is-hide .-masking-logo-right-gradation {
    transform: translate3d(0, 0, 0)
}

.c-barba-progressbar {
    position: fixed;
    bottom: 0;
    right: 0;
    background: #fff;
    z-index: 9999;
    width: 10rem;
    height: 100%
}

.c-breadcrumb {
    position: absolute;
    bottom: 3rem;
    z-index: 5
}

@media screen and (min-width: 769px) {
    .c-breadcrumb {
        right:5rem
    }
}

@media not screen and (min-width: 769px) {
    .c-breadcrumb {
        right:2rem;
        bottom: 2rem;
        width: calc(100% - 2rem);
        left: 2rem;
        height: 1em
    }
}

@media not screen and (min-width: 769px) {
    .c-breadcrumb__scroller {
        white-space:nowrap;
        overflow-y: hidden;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        overflow-scrolling: touch;
        padding-bottom: 1em
    }
}

.c-breadcrumb__list {
    display: flex;
    font-size: 1.6rem;
    color: #fff
}

@media not screen and (min-width: 769px) {
    .c-breadcrumb__list {
        font-size:1.2rem
    }
}

@media screen and (min-width: 769px) {
    .c-breadcrumb__list li:last-child {
        text-overflow:ellipsis;
        max-width: 32rem;
        overflow: hidden;
        white-space: nowrap;
        display: block
    }
}

.c-breadcrumb__list li:not(:last-child) {
    margin-right: .5em
}

.c-breadcrumb__list li:not(:last-child):after {
    margin-left: .5em;
    content: "/"
}

.c-breadcrumb__list li:not(:last-child) a {
    color: #fff;
    transition: background-size .4s cubic-bezier(0.83, 0, 0.17, 1);
    background: linear-gradient(0, #fff, #fff) 0% 100%/100% .1rem no-repeat
}

@media(hover: hover) {
    .c-breadcrumb__list li:not(:last-child) a:hover {
        background-size:0 .1rem;
        background-position: 100% 100%
    }
}

@media not screen and (min-width: 769px) {
    .-company .c-breadcrumb {
        bottom:1.2rem
    }
}

.c-btn-contact {
    width: 12.666em;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    letter-spacing: var(--letter-spacing01);
    color: #fff;
    overflow: hidden;
    padding: .8em 0;
    border-radius: 4em;
    font-size: var(--font-size15);
    font-weight: bold;
    background: #ec6c00
}

.c-btn-contact:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 200%;
    height: 100%;
    transition: opacity .4s;
    background-image: linear-gradient(45deg, #EC6C00, #FAD6B4)
}

.c-btn-contact:after {
    content: "";
    position: absolute;
    left: -100%;
    top: 0;
    width: 200%;
    height: 100%;
    background-image: linear-gradient(45deg, #EC6C00, #FAD6B4);
    transform: rotate(180deg);
    transition: opacity .4s;
    opacity: 0
}

.c-btn-contact:hover:before {
    opacity: 0
}

.c-btn-contact:hover:after {
    opacity: 1
}

.c-btn-contact.--large {
    max-width: 38rem;
    width: 100%;
    padding: 1em 0;
    font-size: 100%
}

.c-btn-contact__icon {
    width: 1.3em;
    margin-right: 1rem;
    position: relative;
    z-index: 5;
    top: .07em
}

.c-btn-contact__text {
    position: relative;
    z-index: 5
}

.c-btn {
    width: 16.666em;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    letter-spacing: var(--letter-spacing01);
    padding: 1em 1.75em;
    color: #0f1821;
    margin: auto;
    font-size: var(--font-size18);
    border-radius: 4rem;
    overflow: hidden;
    transition: background .1s
}

.c-btn:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    border: .2rem solid #ccc;
    border-radius: 4rem;
    transition: opacity .2s,border-color .2s
}

@media(hover: hover) {
    .c-btn:hover:after {
        opacity:1;
        border-color: #0f1821
    }
}

.c-btn__text {
    font-weight: bold;
    position: relative;
    z-index: 5;
    transition: color .3s
}

.c-btn__arrow {
    width: 2.6rem;
    height: 2.6rem;
    position: relative;
    z-index: 5
}

.c-btn__arrow:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: url(../img/icon_arrow_left_orange.svg) no-repeat center/contain;
    left: 0;
    top: 0;
    transition: opacity .3s,transform .3s;
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.c-btn__arrow:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: url(../img/icon_arrow_left_orange.svg) no-repeat center/contain;
    left: 0;
    top: 0;
    transition: opacity .3s,transform .3s;
    opacity: 0;
    transform: translate3d(-0.5em, 0, 0)
}

@media(hover: hover) {
    .c-btn:hover .c-btn__arrow:before {
        opacity:0;
        transform: translate3d(0.5em, 0, 0)
    }

    .c-btn:hover .c-btn__arrow:after {
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

.c-btn__back {
    width: 2.6rem;
    height: 2.6rem;
    position: relative
}

.c-btn__back:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: url(../img/common/icon_back.svg) no-repeat center/70%;
    left: 0;
    top: 0;
    transition: opacity .3s,transform .3s;
    opacity: 1
}

.c-btn.--center {
    justify-content: center
}

.c-btn.--white {
    color: #fff
}

.c-btn.--white: before {
    background:#fff
}

.c-btn.--white: after {
    border-color:#fff
}

.c-btn.--white .c-btn__arrow: before {
    background:url(../img/icon_arrow_left_white.svg) no-repeat center/contain
}

.c-btn.--white .c-btn__arrow: after {
    background:url(../img/icon_arrow_left_orange.svg) no-repeat center/contain
}

@media(hover: hover) {
    .c-btn.--white:hover {
        background:#fff
    }

    .c-btn.--white: hover .c-btn__text {
        color:#ec6c00
    }
}

.c-btn.--small {
    width: 14.375em;
    font-size: var(--font-size16);
    padding: 1em 1.75em
}

.c-column {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between
}

@media not screen and (min-width: 769px) {
    .c-column {
        flex-wrap:wrap;
        flex-direction: column
    }
}

.c-column p {
    line-height: 2;
    margin-top: 1.5em
}

.c-column :is(h1, h2, h3, h4, h5, h6)+* {
    margin-top: 0
}

.c-column .c-column__wrapper p:first-child {
    margin-top: 0
}

@media screen and (min-width: 769px) {
    .c-column__side {
        width:29rem
    }
}

@media not screen and (min-width: 769px) {
    .c-column__side {
        width:100%;
        margin-top: 8rem
    }
}

@media screen and (min-width: 769px) {
    .c-column__main {
        width:calc(100% - 38rem)
    }
}

@media not screen and (min-width: 769px) {
    .c-column__main {
        width:100%
    }
}

.c-column__wrapper .c-column__group:first-child .c-column__title.--large {
    margin-top: 0
}

.c-column__wrapper.-numbering .c-column__group {
    counter-increment: title
}

.c-column__wrapper.-numbering .c-column__title.--large span {
    position: relative;
    display: flex
}

.c-column__wrapper.-numbering .c-column__title.--large span: before {
    content:counter(title) ".";
    position: relative;
    left: 0;
    top: 0;
    margin-right: .3em;
    white-space: nowrap
}

.c-column__title.--large,.c-column__main.-single h2 {
    font-size: var(--font-size29);
    margin-top: 2.5em;
    position: relative;
    line-height: 1.5
}

@media screen and (min-width: 769px) {
    .c-column__title.--large,.c-column__main.-single h2 {
        padding-top:1em;
        margin-bottom: calc(1em - .8rem)
    }
}

@media not screen and (min-width: 769px) {
    .c-column__title.--large,.c-column__main.-single h2 {
        padding-top:1.3em;
        margin-bottom: calc(1.3em - .8rem)
    }
}

.c-column__title.--large: before,.c-column__main.-single h2:before {
    content:"";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: .2rem;
    background: #ccc
}

.c-column__title.--large: after,.c-column__main.-single h2:after {
    content:"";
    position: absolute;
    left: 0;
    top: 0;
    width: 15rem;
    height: .2rem;
    background-image: linear-gradient(0deg, #EC6C00, #FAD6B4)
}

@media not screen and (min-width: 769px) {
    .c-column__title.--large:after,.c-column__main.-single h2:after {
        width:20%
    }
}

.c-column__wrapper.-numbering .c-column__group.--medium {
    counter-increment: medium-title
}

.c-column__wrapper.-numbering .c-column__title.--medium span {
    position: relative;
    display: block;
    padding-left: 1.8em
}

.c-column__wrapper.-numbering .c-column__title.--medium span: before {
    content:"(" counter(medium-title) ")";
    position: absolute;
    left: 0;
    top: 0
}

.c-column__title.--medium,.c-column__main.-single h3 {
    font-size: var(--font-size22);
    color: #ec6c00;
    position: relative;
    margin-top: 2em;
    margin-bottom: 1.25em;
    line-height: 1.5
}

.c-column__main.-single h4 {
    font-size: var(--font-size20);
    position: relative;
    margin-top: 2em;
    margin-bottom: 1.25em;
    line-height: 1.5
}

.c-column__block.--sticky {
    position: sticky;
    top: 4rem;
    left: 0
}

.c-column__block__title.--en {
    font-family: "Roboto",sans-serif;
    letter-spacing: .1em;
    margin-bottom: 2em
}

.c-column__block__title .__mask {
    background-image: linear-gradient(45deg, #EC6C00, #FAD6B4);
    -webkit-text-fill-color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
    background-size: 200%
}

.c-column__block__list {
    font-size: var(--font-size16)
}

.c-column__block__list li {
    position: relative;
    padding-left: 1.25em
}

.c-column__block__list li:before {
    content: "";
    width: .5em;
    height: .5em;
    position: absolute;
    top: .58em;
    left: 0;
    border-radius: 50%;
    background-image: linear-gradient(45deg, #EC6C00, #FAD6B4)
}

.c-column__block__list li:not(:first-child) {
    margin-top: 1.5em
}

.c-column__block__list li a {
    position: relative;
    line-height: 1.5;
    background: linear-gradient(0, #0F1821, #0F1821) 100% 100%/0 1px no-repeat;
    transition: background-size .4s cubic-bezier(0.83, 0, 0.17, 1)
}

@media(hover: hover) {
    .c-column__block__list li a:hover {
        background-position:0 100%;
        background-size: 100% .1rem
    }
}

.c-column__block__list li.is-current a {
    color: #ec6c00;
    pointer-events: none
}

.c-column__link-text {
    color: #ec6c00;
    position: relative;
    transition: background-size .4s cubic-bezier(0.83, 0, 0.17, 1);
    background: linear-gradient(0, #EC6C00, #EC6C00) 0% 100%/100% .1rem no-repeat
}

@media(hover: hover) {
    .c-column__link-text:hover {
        background-size:0 .1rem;
        background-position: 100% 100%
    }
}

.c-column__table {
    width: 100%;
    font-size: var(--font-size16)
}

.c-column__table th {
    background: #ffe0c2;
    padding: 1em 1.5em;
    border: .1rem solid #ccc;
    text-align: left;
    font-weight: 400;
    line-height: 1.5;
    vertical-align: top;
    width: 20rem
}

.c-column__table td {
    padding: 1em 1.5em;
    border: .1rem solid #ccc;
    background: #fff;
    line-height: 1.5;
    vertical-align: top
}

@media not screen and (min-width: 769px) {
    .c-column__table {
        border-top:.1rem solid #ccc
    }

    .c-column__table th,.c-column__table td {
        padding: 1rem 2rem;
        width: 100%;
        display: block
    }

    .c-column__table th {
        border-top: none
    }

    .c-column__table td {
        border-top: none
    }
}

@media screen and (min-width: 769px) {
    .c-column__table.-col3 th {
        width:20%
    }

    .c-column__table.-col3 td {
        width: 40%
    }
}

@media not screen and (min-width: 769px) {
    .c-column__table.-col3 th,.c-column__table.-col3 td {
        padding:2rem 2rem;
        width: 100%;
        display: block
    }
}

.c-column__list {
    margin-top: 1.5em
}

.c-column__contact {
    width: 75%;
    background: #f2f2f2;
    padding: 4rem 6rem;
    margin-top: 4rem
}

@media not screen and (min-width: 769px) {
    .c-column__contact {
        width:100%;
        padding: 3rem 2rem
    }
}

.c-column__contact .c-column__title {
    margin-top: 0
}

.c-column__archive-title {
    margin-bottom: 3rem;
    font-weight: bold;
    line-height: 1.5
}

.c-column__eyecatch {
    margin: 3rem 0
}

.c-column__eyecatch img {
    border-radius: .5rem
}

.c-cta {
    position: relative;
    overflow: hidden
}

.c-cta__slider {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.c-cta__slider:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(0,0,0,.6);
    z-index: 5
}

.c-cta__slider__inner {
    transition-timing-function: linear;
    position: relative
}

.c-cta__slider__slide {
    overflow: hidden
}

.c-cta__slider__slide img {
    height: auto;
    width: 100%;
    object-fit: cover;
    width: auto;
    height: 100%
}

.c-cta__head {
    margin-bottom: 5rem
}

.c-cta__body {
    width: 100%;
    background: rgba(255,255,255,.8);
    backdrop-filter: blur(1rem);
    padding: 3rem 0;
    border-radius: .5rem
}

.c-cta__text {
    --line-height: 1.5
}

.c-cta__container {
    max-width: 114rem;
    color: #fff;
    width: 100%;
    margin: auto;
    height: 52rem;
    position: relative;
    left: 0;
    top: 0;
    z-index: 5;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column
}

@media not screen and (min-width: 769px) {
    .c-cta__container {
        padding:0 2rem
    }
}

.c-cta__body {
    position: relative;
    width: 100%;
    background: #fff;
    padding: 3rem 0;
    border-radius: .5rem
}

@media not screen and (min-width: 769px) {
    .c-cta__body.-frame {
        padding:3rem 2rem
    }
}

@media screen and (min-width: 769px) {
    .c-cta__body.-frame:before {
        content:"";
        width: .1rem;
        height: 3rem;
        position: absolute;
        left: 50%;
        top: 50%;
        margin-top: -1.5rem;
        background: #6b6b6b
    }
}

.c-cta__body.-frame .c-cta__tel {
    color: #0f1821
}

.c-cta__body.-frame .c-cta__tel__number {
    background-image: linear-gradient(45deg, #EC6C00, #FAD6B4);
    -webkit-text-fill-color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
    background-size: 400%
}

.c-cta__body.-frame .c-cta__tel__number:before {
    content: "";
    background-image: url(../img/common/icon_tel_orange.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center
}

@media screen and (min-width: 769px) {
    .c-cta__body.-frame .c-cta__tel__number:before {
        width:3rem;
        height: 3.8rem
    }
}

@media not screen and (min-width: 769px) {
    .c-cta__body.-frame .c-cta__tel__number:before {
        width:2.4rem;
        height: 3rem;
        margin-right: .6rem
    }
}

.c-cta__group {
    display: flex;
    justify-content: space-between
}

@media not screen and (min-width: 769px) {
    .c-cta__group {
        flex-direction:column
    }
}

.c-cta__group.--center {
    justify-content: center;
    align-items: center;
    position: relative;
    left: 0
}

@media screen and (min-width: 769px) {
    .c-cta__group.--center {
        gap:16rem
    }
}

@media not screen and (min-width: 769px) {
    .c-cta__group.--center {
        gap:0
    }
}

@media screen and (min-width: 769px) {
    .c-cta__group.--center .c-cta__tel {
        width:50%;
        text-align: right
    }
}

@media not screen and (min-width: 769px) {
    .c-cta__group.--center .c-cta__tel {
        width:100%
    }
}

.c-cta__group.--center .c-cta__tel dl {
    display: inline-block;
    text-align: center
}

.c-cta__group.--center .c-cta__tel__number {
    justify-content: center
}

@media screen and (min-width: 769px) {
    .c-cta__group.--center .c-cta__tel__number {
        font-size:4.2rem
    }
}

@media not screen and (min-width: 769px) {
    .c-cta__group.--center .c-cta__tel__number {
        font-size:3.2rem
    }
}

.c-cta__group.--center .c-cta__mail {
    text-align: center;
    max-width: initial;
    max-width: auto
}

@media screen and (min-width: 769px) {
    .c-cta__group.--center .c-cta__mail {
        width:50%
    }
}

@media not screen and (min-width: 769px) {
    .c-cta__group.--center .c-cta__mail {
        width:100%
    }
}

.c-cta__tel dt {
    font-size: 90%;
    margin-bottom: 1rem;
    font-weight: bold
}

.c-cta__tel__number {
    color: #fff;
    font-family: "Roboto",sans-serif;
    font-weight: bold;
    font-size: 3.6rem;
    letter-spacing: .05em;
    position: relative;
    display: flex;
    align-items: center
}

.c-cta__tel__number:before {
    content: "";
    width: 2.6rem;
    height: 3.2rem;
    margin-right: 1rem;
    background-image: url(../img/common/icon_tel.svg);
    background-repeat: no-repeat;
    background-size: contain
}

.c-cta__tel__hour {
    font-size: 90%;
    margin-top: 1rem
}

.c-cta__tel__hour:before {
    content: "[";
    margin-right: .2em
}

.c-cta__tel__hour:after {
    content: "]";
    margin-left: .2em
}

.c-cta__mail {
    width: 100%;
    max-width: 38rem
}

@media not screen and (min-width: 769px) {
    .c-cta__mail {
        margin-top:2rem
    }
}

.c-curve-filter {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 10
}

.c-curve-filter__path.--gray {
    fill: #e2e5e8
}

.c-curve-filter__path.--orange {
    fill: url(#g)
}

.c-container {
    width: 100%;
    margin: auto;
    position: relative;
    padding: 0 20rem
}

@media not screen and (min-width: 769px) {
    .c-container {
        width:calc(100% - 4rem);
        padding: 0
    }
}

.c-container.--large {
    max-width: 172rem
}

.c-container.--small {
    max-width: 114rem;
    padding: 0
}

.c-container.--liquid {
    max-width: initial;
    max-width: auto;
    width: 100%
}

@media screen and (min-width: 769px) {
    .c-container.--liquid {
        padding:0 10rem
    }
}

@media not screen and (min-width: 769px) {
    .c-container.--liquid {
        padding:0 2rem
    }
}

.c-container.--right {
    padding-right: 0
}

@media screen and (min-width: 769px) {
    .c-container.--right {
        padding-left:10rem
    }
}

@media not screen and (min-width: 769px) {
    .c-container.--right {
        padding-left:2rem
    }
}

.c-container.--left {
    padding-left: 0
}

@media screen and (min-width: 769px) {
    .c-container.--left {
        padding-right:10rem
    }
}

@media not screen and (min-width: 769px) {
    .c-container.--left {
        padding-right:2rem
    }
}

.c-container.-sidelink {
    display: flex;
    justify-content: space-between
}

@media not screen and (min-width: 769px) {
    .c-container.-sidelink {
        flex-direction:column
    }
}

.c-container__side {
    position: absolute;
    height: 100%;
    width: 29rem;
    padding-top: 10rem;
    padding-bottom: 10rem
}

@media not screen and (min-width: 769px) {
    .c-container__side {
        display:none
    }
}

.c-container__side__block {
    position: sticky;
    top: 10rem;
    left: 0;
    z-index: 5;
    background-image: linear-gradient(45deg, #EC6C00, #FAD6B4);
    background-size: 180%;
    border-radius: .5rem;
    color: #fff;
    padding: 4rem 4rem 6rem 4rem
}

.c-container__side__block__title {
    opacity: .5;
    font-size: var(--font-size14);
    letter-spacing: .1em
}

.c-container__side__block__list {
    margin-top: 5rem
}

.c-container__side__block__list li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5em 0;
    font-size: var(--font-size16);
    border-top: .1rem solid rgba(255,255,255,.5);
    color: #fff
}

.c-container__side__block__list li a .c-container__side__block__list__text {
    position: relative;
    transition: background-color .3s
}

.c-container__side__block__list li a .c-container__side__block__list__text:before {
    content: "";
    width: 100%;
    height: .1rem;
    position: absolute;
    left: 0;
    bottom: -0.2em;
    background: #fff;
    transition: transform .4s cubic-bezier(0.83, 0, 0.17, 1);
    transform-origin: right;
    transform: scaleX(0)
}

.c-container__side__block__list li:last-child {
    border-bottom: .1rem solid rgba(255,255,255,.5)
}

.c-container__side__block__list__arrow {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: .1rem solid rgba(255,255,255,.5);
    position: relative;
    transition: background-color .1s;
    overflow: hidden
}

.c-container__side__block__list__arrow:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background-image: url(../img/icon_arrow_left_white.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 55%;
    transition: oapcity .3s,transform .3s;
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.c-container__side__block__list__arrow:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background-image: url(../img/icon_arrow_left_orange.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 55%;
    transition: oapcity .3s,transform .3s;
    opacity: 0;
    transform: translate3d(-1rem, 0, 0)
}

.c-container__side__block__list li a.is-current .c-container__side__block__list__arrow {
    background: #fff
}

.c-container__side__block__list li a.is-current .c-container__side__block__list__arrow:before {
    opacity: 0;
    transform: translate3d(1rem, 0, 0)
}

.c-container__side__block__list li a.is-current .c-container__side__block__list__arrow:after {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

@media(hover: hover) {
    .c-container__side__block__list li a:hover .c-container__side__block__list__text:before {
        transform-origin:left;
        transform: scaleX(1)
    }

    .c-container__side__block__list li a:hover .c-container__side__block__list__arrow {
        background: #fff
    }

    .c-container__side__block__list li a:hover .c-container__side__block__list__arrow:before {
        opacity: 0;
        transform: translate3d(1rem, 0, 0)
    }

    .c-container__side__block__list li a:hover .c-container__side__block__list__arrow:after {
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

.c-container__main {
    width: 100%
}

@media screen and (min-width: 769px) {
    .c-container__main__inner {
        padding-left:38rem
    }
}

.c-croptext {
    line-height: var(--line-height)
}

.c-croptext::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - var(--line-height)) * .5em);
    content: ""
}

.c-croptext::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - var(--line-height)) * .5em);
    content: ""
}

.c-filter {
    position: relative;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.c-filter__inner {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.c-filter.--screen {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    mix-blend-mode: screen;
    z-index: 5
}

.--orange .c-filter.--screen {
    background: #ed730d
}

.c-filter.--multiply {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    z-index: 5
}

.--orange .c-filter.--multiply {
    background: #ed730d
}

.--blue .c-filter.--multiply {
    background: #103581
}

.c-filter__blur {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 5
}

.c-form dl {
    border-top: .1rem solid #ccc;
    display: flex;
    padding: 2rem 0
}

@media not screen and (min-width: 769px) {
    .c-form dl {
        flex-direction:column
    }
}

.c-form dl dt {
    padding-right: 1em;
    padding-top: 1em;
    padding-bottom: 1em;
    line-height: 1.5
}

@media screen and (min-width: 769px) {
    .c-form dl dt {
        width:30rem
    }
}

@media not screen and (min-width: 769px) {
    .c-form dl dt {
        width:100%
    }
}

.c-form dl dd {
    line-height: 1.5
}

@media screen and (min-width: 769px) {
    .c-form dl dd {
        width:calc(100% - 30rem)
    }
}

@media not screen and (min-width: 769px) {
    .c-form dl dd {
        width:100%
    }
}

.c-form dl dd input[type=text],.c-form dl dd input[type=tel],.c-form dl dd input[type=email] {
    width: 100%;
    padding: 1em;
    border: .1rem solid #ccc;
    font-size: var(--font-size18)
}

@media not screen and (min-width: 769px) {
    .c-form dl dd input[type=text],.c-form dl dd input[type=tel],.c-form dl dd input[type=email] {
        font-size:1.2rem
    }
}

.c-form dl dd .-post input[type=text] {
    max-width: 24rem;
    width: calc(100% - 1em);
    margin-left: 1em;
    margin-right: .5em
}

.c-form dl dd textarea {
    width: 100%;
    padding: 1em;
    border: .1rem solid #ccc;
    height: 30rem
}

@media screen and (min-width: 769px) {
    .c-form.-confirm dl dd {
        display:flex;
        flex-direction: column;
        justify-content: center
    }
}

.c-form__required-tag {
    background-image: linear-gradient(45deg, #EC6C00, #FAD6B4);
    color: #fff;
    display: inline-block;
    padding: .2em .4em;
    font-size: var(--font-size14);
    font-weight: 700;
    border-radius: .2rem
}

.c-form__label {
    display: inline-block;
    margin-right: 2rem
}

.c-form:not(.-confirm) .c-form__inputarea+.c-form__inputarea {
    margin-top: 1em
}

.c-form__inputarea+.c-form__inputarea {
    margin-top: 1em
}

.c-form__inputarea.-post {
    display: flex;
    align-items: center;
    flex-wrap: wrap
}

.c-form__supplement {
    font-size: 85%;
    margin-bottom: .75em;
    --line-height: 1.5
}

.-confirm .c-form__supplement {
    display: none
}

.c-form__content.-padding {
    padding: 1em 0
}

@media not screen and (min-width: 769px) {
    .c-form__content.-padding {
        padding-top:0
    }
}

.c-form__inputarea__title {
    color: #ec6c00
}

.c-form__inputarea__checkarea {
    margin-top: .5em;
    display: flex;
    flex-wrap: wrap
}

@media screen and (min-width: 769px) {
    .c-form__inputarea__checkarea {
        width:34em
    }
}

@media not screen and (min-width: 769px) {
    .c-form__inputarea__checkarea {
        width:100%
    }
}

.c-form__inputarea__checkarea>span {
    margin: .25em 2em .25em 0;
    margin-left: 0 !important
}

@media not screen and (min-width: 769px) {
    .c-form__inputarea__checkarea>span {
        font-size:76%;
        margin-right: 0;
        width: 50%
    }

    .c-form__inputarea__checkarea>span:nth-child(even) {
        margin-right: 0
    }
}

.c-form dd label,.c-form__privacy label {
    position: relative;
    padding-left: 1.75em
}

.c-form dd label:before,.c-form__privacy label:before {
    width: 1.25em;
    height: 1.25em;
    content: "";
    position: absolute;
    left: 0;
    top: .17em;
    background: #fff;
    border: .1rem solid #aaa
}

@media screen and (max-width: 769px)and (min-width: 429px) {
    .c-form dd label:before,.c-form__privacy label:before {
        top:.1rem
    }
}

.c-form .mwform-checkbox-field-text:after,.c-form .mwform-radio-field-text:after,.c-form__privacy .mwform-checkbox-field-text:after {
    content: "";
    width: .7em;
    height: .4em;
    border: .2em solid #ec6c00;
    position: absolute;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: .3em;
    top: .5em;
    border-top: none;
    border-right: none;
    opacity: 0
}

.c-form input[type=checkbox]:checked~.mwform-checkbox-field-text:after,.c-form input[type=radio]:checked~.mwform-radio-field-text:after,.c-form__privacy input[type=checkbox]:checked~.mwform-checkbox-field-text:after {
    opacity: 1
}

.c-form input[type=checkbox],.c-form input[type=radio],.c-form__privacy input[type=checkbox] {
    display: none
}

.c-form dd label,.c-form__privacy label {
    cursor: pointer
}

.c-form__foot {
    text-align: center;
    border-top: .1rem solid #ccc;
    padding-top: 6rem
}

.c-form__privacy-link {
    margin-top: 1.5em;
    font-size: 90%
}

.-confirm .c-form__privacy-link {
    display: none
}

.c-form__btn {
    margin-top: 3em
}

.-confirm .c-form__btn {
    margin-top: 0
}

.c-form__submit {
    max-width: 38rem;
    width: 100%;
    margin: auto;
    background-color: #ec6c00;
    border-radius: 3em;
    position: relative;
    overflow: hidden
}

.c-form__submit:hover:before {
    opacity: 0
}

.c-form__submit:hover:after {
    opacity: 1
}

.c-form__submit:before {
    content: "";
    position: absolute;
    left: 0%;
    top: 0;
    width: 200%;
    height: 100%;
    background-image: linear-gradient(45deg, #EC6C00, #FAD6B4);
    transform: translate3d(0, 0, 0);
    transition: opacity .4s
}

.c-form__submit:after {
    content: "";
    position: absolute;
    left: -100%;
    top: 0;
    width: 200%;
    height: 100%;
    background-image: linear-gradient(45deg, #EC6C00, #FAD6B4);
    transform: rotate(180deg);
    transition: opacity .4s;
    opacity: 0
}

.c-form__submit input {
    position: relative;
    z-index: 5;
    background: transparent;
    width: 100%;
    cursor: pointer;
    padding: 1em 0;
    color: #fff;
    font-weight: 700
}

.c-form__submit__arrow {
    width: 2.6rem;
    height: 2.6rem;
    position: absolute;
    z-index: 5;
    right: 2em;
    top: 50%;
    margin-top: -1.3rem
}

.c-form__submit__arrow:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: url(../img/icon_arrow_left_white.svg) no-repeat center/contain;
    left: 0;
    top: 0
}

.c-form__back {
    margin-top: 1em;
    margin-left: auto;
    margin-right: auto;
    max-width: 38rem;
    width: 100%
}

.c-form__back input {
    width: 100%;
    padding: calc(1em - .4rem) 0;
    border: .2rem solid #ccc;
    font-weight: bold;
    cursor: pointer;
    border-radius: 3em;
    transition: border-color .3s
}

.c-form__back input:hover {
    border-color: #666
}

.c-form__complete__title {
    font-size: var(--font-size29);
    text-align: center;
    line-height: 1.5
}

.c-form__complete__text {
    line-height: 2
}

@media screen and (min-width: 769px) {
    .c-form__complete__text {
        margin-top:6rem
    }
}

@media not screen and (min-width: 769px) {
    .c-form__complete__text {
        margin-top:3rem
    }
}

.c-form__complete__contact {
    margin-top: 4rem
}

.c-form__complete__contact p {
    line-height: 2
}

.c-form__complete__btn-area {
    margin-top: 4rem;
    text-align: center
}

.c-form.-complete {
    max-width: 58rem;
    width: 100%;
    margin: auto
}

.c-form.-confirm .-confirm-none {
    display: none
}

.c-form .mw_wp_form .error {
    color: #fff;
    background: red;
    display: inline-block;
    padding: .2em .4em;
    font-size: 80%
}

.c-group-img {
    position: relative;
    height: 76rem;
    width: 100%;
    overflow: hidden
}

@media not screen and (min-width: 769px) {
    .c-group-img {
        height:15rem
    }
}

.c-group-img img {
    object-position: bottom
}

.c-group-img__bg {
    width: 100%;
    height: 100%
}

.c-group-img__people {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%
}

.c-group-img__typo {
    position: absolute;
    left: 0;
    width: 100%;
    background-image: url(../img/common/group_img_typo.svg)
}

@media screen and (min-width: 769px) {
    .c-group-img__typo {
        height:52rem;
        top: 6rem;
        background-repeat: repeat-x;
        background-size: 302.1rem;
        animation: bgroop_pc 40s linear infinite;
        opacity: .7
    }
}

@media not screen and (min-width: 769px) {
    .c-group-img__typo {
        height:12rem;
        top: 3rem;
        background-size: 66.1rem;
        animation: bgroop_sp 30s linear infinite
    }
}

@keyframes bgroop_pc {
    from {
        background-position: 0 0
    }

    to {
        background-position: -302.1rem 0
    }
}

@keyframes bgroop_sp {
    from {
        background-position: 0 0
    }

    to {
        background-position: -66.1rem 0
    }
}

.c-group-img__typo2 {
    opacity: .6;
    position: absolute;
    left: 0;
    width: 100%;
    overflow: hidden
}

@media screen and (min-width: 769px) {
    .c-group-img__typo2 {
        top:5%
    }
}

@media not screen and (min-width: 769px) {
    .c-group-img__typo2 {
        top:7%
    }
}

.c-group-img__typo2__item {
    width: 50%
}

.c-group-img__typo2__item img {
    width: 100%
}

.c-group-img__typo2__inner {
    width: 320%;
    display: flex
}

@media screen and (min-width: 769px) {
    .c-group-img__typo2__inner {
        animation:group-typo-loop 30s linear infinite
    }
}

@media not screen and (min-width: 769px) {
    .c-group-img__typo2__inner {
        animation:group-typo-loop 15s linear infinite
    }
}

@keyframes group-typo-loop {
    from {
        transform: translate3d(0, 0, 0)
    }

    to {
        transform: translate3d(-50%, 0, 0)
    }
}

.c-hamburger {
    border: none
}

@media screen and (min-width: 769px) {
    .c-hamburger {
        display:none
    }
}

@media not screen and (min-width: 769px) {
    .c-hamburger {
        position:fixed;
        top: 0;
        right: 0;
        z-index: 8;
        width: 6rem;
        height: 6rem;
        background-image: linear-gradient(45deg, #EC6C00, #ffbf83);
        display: flex;
        align-items: center;
        justify-content: center;
        border-bottom-left-radius: .2rem
    }
}

.c-hamburger__icon {
    width: 3rem;
    position: relative;
    transition: transform .4s cubic-bezier(0.68, -0.55, 0.265, 1.55)
}

.c-hamburger__icon__line {
    display: block;
    background: #fff;
    width: 100%;
    height: .2rem;
    transition: transform .4s cubic-bezier(0.68, -0.55, 0.265, 1.55),opacity .4s
}

.c-hamburger__icon__line.--line01 {
    transform: translate3d(0, 0, 0) rotate(0deg)
}

.c-hamburger__icon__line.--line02 {
    margin: .8rem 0;
    transition: transform .2s .3s,opacity .2s .3s
}

.c-hamburger__icon__line.--line03 {
    transform: translate3d(0, 0, 0) rotate(0deg)
}

.is-hamburger-open .c-hamburger__icon {
    transform: rotate(180deg);
    transition-delay: .2s
}

.is-hamburger-open .c-hamburger__icon__line.--line01 {
    transform: translate3d(0, 1rem, 0) rotate(45deg)
}

.is-hamburger-open .c-hamburger__icon__line.--line02 {
    transition: transform .2s,opacity .2s;
    transform: scaleX(0)
}

.is-hamburger-open .c-hamburger__icon__line.--line03 {
    transform: translate3d(0, -1rem, 0) rotate(-45deg)
}

.c-hero {
    overflow: hidden;
    position: relative;
    background: #f2f2f2
}

@media screen and (min-width: 769px) {
    .c-hero {
        height:48rem
    }
}

@media not screen and (min-width: 769px) {
    .c-hero {
        height:35rem
    }
}

@media screen and (min-width: 769px) {
    .c-hero.--small {
        height:35rem
    }
}

@media not screen and (min-width: 769px) {
    .c-hero.--small {
        height:25rem
    }
}

.c-hero__inner {
    width: 100%;
    height: 100%
}

@media not screen and (min-width: 769px) {
    .c-hero__inner {
        padding-top:3rem
    }
}

@media not screen and (min-width: 769px) {
    .-company .c-hero__inner {
        padding-top:6rem
    }
}

.c-hero__bg {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    transition: transform 1s,opacity 1s;
    opacity: 0;
    transform: scale(1.1)
}

.is-loaded .c-hero__bg {
    opacity: 1;
    transform: scale(1)
}

.c-hero__bg:before {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.2);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 5
}

@media not screen and (min-width: 769px) {
    .-contact .c-hero__bg img {
        object-position:70%
    }
}

.c-hero__content {
    position: relative;
    z-index: 5;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    color: #fff
}

@media screen and (min-width: 769px) {
    .c-hero__content {
        align-items:flex-start;
        top: 50%;
        margin-top: -2em
    }
}

@media not screen and (min-width: 769px) {
    .c-hero__content {
        align-items:center
    }
}

.c-hero__title {
    display: flex;
    flex-direction: column-reverse;
    text-align: center
}

.c-hero__title__jp {
    font-size: var(--font-size46);
    margin-top: .2em;
    margin-bottom: .5em;
    --line-height: 1.25;
    order: 2
}

.--small .c-hero__title__jp {
    font-size: var(--font-size36)
}

@media screen and (min-width: 769px) {
    .c-hero__title__jp.--pc-flex {
        display:flex
    }
}

@media not screen and (min-width: 769px) {
    .c-hero__title__jp.--pc-flex .__br {
        display:none
    }
}

.c-hero__title__jp>span {
    display: flex;
    justify-content: center
}

.c-hero__title__jp>span .-character {
    transition: opacity .7s,transform .7s;
    opacity: 0;
    transform: translate3d(1em, 0, 0)
}

.is-loaded .c-hero__title__jp>span .-character {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.c-hero__title__en {
    font-size: var(--font-size18);
    font-family: "Roboto",sans-serif;
    font-weight: 700;
    order: 3;
    display: flex;
    justify-content: center;
    gap: .5em;
    letter-spacing: var(--letter-spacing03)
}

@media not screen and (min-width: 769px) {
    .c-hero__title__en {
        font-size:1.6rem
    }
}

.--small .c-hero__title__en {
    font-size: var(--font-size16)
}

.c-hero__title__en>span {
    display: flex;
    justify-content: center
}

.c-hero__title__en>span>span {
    display: flex;
    justify-content: center
}

.c-hero__title__en>span>span .-character {
    transition: opacity .7s,transform .7s;
    opacity: 0;
    transform: translate3d(0.5em, 0, 0)
}

.is-loaded .c-hero__title__en>span>span .-character {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.c-hero__supplement {
    font-size: var(--font-size22);
    order: 1;
    font-weight: 700
}

.c-hero__supplement>span {
    display: flex;
    justify-content: center
}

.c-hero__supplement>span .-character {
    transition: opacity .7s,transform .7s;
    opacity: 0;
    transform: translate3d(1em, 0, 0)
}

.is-loaded .c-hero__supplement>span .-character {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.c-hero.-company {
    background: transparent
}

@media screen and (min-width: 769px) {
    .c-hero.-company {
        height:34rem
    }
}

@media not screen and (min-width: 769px) {
    .c-hero.-company {
        height:auto
    }
}

.c-hero.-company .c-hero__content {
    align-items: flex-end;
    top: auto;
    margin-top: 0
}

@media not screen and (min-width: 769px) {
    .c-hero.-company .c-hero__title {
        margin-top:4rem
    }
}

.c-hero.-company .c-hero__title__jp {
    margin-bottom: 6rem
}

.c-hover__text-replace__inner {
    position: relative;
    display: block;
    z-index: 5
}

.c-hover__text-replace__child {
    transition: visibility .3s,opacity .3s,transform .3s;
    display: block
}

.c-hover__text-replace__child.-default {
    visibility: visible;
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.c-hover__text-replace__child.-hover {
    position: absolute;
    left: 0;
    top: 0;
    visibility: hidden;
    opacity: 0;
    transform: translate3d(0, 50%, 0);
    color: #ec6c00
}

.c-hover__text-replace__child.-hover.--white {
    color: #fff
}

.c-hover__text-replace__child.-hover.--black {
    color: #0f1821
}

@media(hover: hover) {
    .c-hover__text-replace:hover .c-hover__text-replace__child.-default {
        visibility:hidden;
        opacity: 0;
        transform: translate3d(0, -50%, 0)
    }

    .c-hover__text-replace:hover .c-hover__text-replace__child.-hover {
        visibility: visible;
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

.c-keyvisual {
    width: 100%
}

.c-keyvisual.-fixed {
    position: fixed;
    left: 0;
    top: 0
}

.c-keyvisual__video-wrap {
    position: fixed;
    z-index: -1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    background: #777
}

@media not screen and (min-width: 769px) {
    .c-keyvisual__video-wrap {
        height:100lvh
    }
}

@media(orientation: landscape)and (max-width: 767px) {
    .c-keyvisual__video-wrap {
        min-height:65rem
    }
}

.c-keyvisual__video-wrap__blur {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    backdrop-filter: blur(3rem)
}

.c-keyvisual__video {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
    object-fit: cover
}

@media screen and (min-width: 769px) {
    .c-keyvisual__video {
        object-position:50% 85%
    }
}

@media not screen and (min-width: 769px) {
    .c-keyvisual__video {
        object-position:50% 50%;
        height: 100lvh
    }
}

.c-keyvisual__video.--blur {
    filter: blur(30px)
}

.c-linktext {
    color: #0f1821;
    position: relative;
    transition: background-size .4s cubic-bezier(0.83, 0, 0.17, 1);
    background: linear-gradient(0, #0f1821, #0f1821) 0% 100%/100% .1rem no-repeat
}

@media(hover: hover) {
    .c-linktext:hover {
        background-size:0 .1rem;
        background-position: 100% 100%
    }
}

.c-link-arrow {
    width: 7rem;
    height: 7rem;
    border-radius: 50%;
    border: .2rem solid #fff;
    position: relative;
    overflow: hidden;
    transition: background .1s
}

.c-link-arrow:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url(../img/icon_arrow_left_white.svg);
    background-size: 40%;
    background-repeat: no-repeat;
    background-position: center;
    transition: opacity .3s,transform .3s;
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.c-link-arrow:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url(../img/icon_arrow_left_orange.svg);
    background-size: 40%;
    background-repeat: no-repeat;
    background-position: center;
    transition: opacity .3s,transform .3s;
    opacity: 0;
    transform: translate3d(-0.5em, 0, 0)
}

@media(hover: hover) {
    .c-link-arrow-hoverarea:hover .c-link-arrow {
        background:#fff
    }

    .c-link-arrow-hoverarea:hover .c-link-arrow:before {
        opacity: 0;
        transform: translate3d(0.5em, 0, 0)
    }

    .c-link-arrow-hoverarea:hover .c-link-arrow:after {
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

.c-list li {
    line-height: 1.75;
    position: relative;
    padding-left: 1.2em
}

.c-list li:not(:first-child) {
    margin-top: .5em
}

.c-list li:before {
    content: "";
    width: .3em;
    height: .3em;
    border-radius: 50%;
    position: absolute;
    top: .8em;
    left: 0;
    background: #0f1821
}

.c-list--numbering li {
    counter-increment: list-no;
    line-height: 1.75;
    position: relative;
    padding-left: 1.75em
}

.c-list--numbering li:not(:first-child) {
    margin-top: .5em
}

.c-list--numbering li:before {
    content: "(" counter(list-no) ")";
    position: absolute;
    left: 0;
    top: 0
}

.c-objectfit:after {
    content: "";
    display: block
}

.c-objectfit img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0
}

.c-objectfit.-position-top img {
    object-position: top
}

.c-objectfit.-position-bottom img {
    object-position: bottom
}

@media screen and (min-width: 769px) {
    .c-page {
        padding-top:10rem
    }
}

@media not screen and (min-width: 769px) {
    .c-page {
        padding-top:6rem
    }
}

.c-page.-pt0 {
    padding-top: 0
}

.c-pagelink {
    position: relative
}

.c-pagelink__list {
    display: flex;
    gap: 6rem
}

@media not screen and (min-width: 769px) {
    .c-pagelink__list {
        gap:2rem
    }
}

.c-pagelink__list li {
    width: 50%
}

.c-pagelink__list__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: bold;
    position: relative;
    padding: 1em 0
}

.c-pagelink__list__link:before {
    content: "";
    width: 100%;
    height: .1rem;
    position: absolute;
    left: 0;
    bottom: 0;
    background: #0f1821
}

.c-pagelink__list__arrow {
    position: relative;
    border-radius: 50%;
    width: 3.8rem;
    height: 3.8rem;
    border: .1rem solid #ccc;
    transition: border-color .1s,background-color .1s
}

@media not screen and (min-width: 769px) {
    .c-pagelink__list__arrow {
        width:2.4rem;
        height: 2.4rem
    }
}

.c-pagelink__list__arrow:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background-image: url(../img/common/icon_arrow_bottom_black.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 14%;
    transition: opacity .3s,transform .3s;
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.c-pagelink__list__arrow:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background-image: url(../img/common/icon_arrow_bottom_black.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 14%;
    transition: opacity .3s,transform .3s;
    opacity: 0;
    transform: translate3d(0, -1rem, 0)
}

@media(hover: hover) {
    .c-pagelink__list__link:hover .c-pagelink__list__arrow {
        border-color:#0f1821
    }

    .c-pagelink__list__link:hover .c-pagelink__list__arrow:before {
        opacity: 0;
        transform: translate3d(0, 1rem, 0)
    }

    .c-pagelink__list__link:hover .c-pagelink__list__arrow:after {
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

.c-pagination ul {
    display: flex;
    justify-content: flex-end;
    height: 2.5em;
    margin-top: 8rem
}

@media not screen and (min-width: 769px) {
    .c-pagination ul {
        margin-top:3rem
    }
}

.c-pagination li {
    margin-left: 1em;
    max-width: 2em;
    width: 100%;
    max-height: 2.5em;
    height: 100%
}

.c-pagination .current {
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: linear-gradient(45deg, #EC6C00, #FAD6B4);
    color: #fff;
    border-radius: .2rem;
    width: 100%;
    height: 100%
}

.c-pagination li a {
    display: flex;
    align-items: center;
    justify-content: center;
    border: .1rem solid #ccc;
    width: 100%;
    height: 100%;
    border-radius: .2rem;
    transition: color .3s,background .3s
}

@media(hover: hover) {
    .c-pagination li a:hover {
        color:#fff;
        background: #0f1821
    }
}

@media screen and (min-width: 769px) {
    .c-row-list li:not(:first-child) {
        margin-top:1.5em
    }
}

@media not screen and (min-width: 769px) {
    .c-row-list li:not(:first-child) {
        margin-top:1.5em
    }
}

.c-row-list__container {
    display: flex
}

@media not screen and (min-width: 769px) {
    .c-row-list__container {
        flex-direction:column
    }
}

.c-row-list__container dt {
    margin-right: 1em
}

@media not screen and (min-width: 769px) {
    .c-row-list__container dt {
        margin-right:0;
        margin-bottom: .5em
    }
}

.c-site-bottom {
    border-top: .1rem solid #ccc;
    padding: 6rem 0;
    margin-top: 8rem;
    font-size: 80%;
    position: relative
}

@media not screen and (min-width: 769px) {
    .c-site-bottom {
        display:flex;
        flex-direction: column-reverse;
        margin-top: 0;
        padding-bottom: 3rem
    }
}

.c-site-bottom__copyright {
    font-family: "Roboto",sans-serif;
    font-size: 90%
}

@media not screen and (min-width: 769px) {
    .c-site-bottom__copyright {
        margin-top:11rem;
        font-size: 80%
    }
}

@media screen and (min-width: 769px) {
    .c-site-bottom__policy-nav {
        display:flex
    }
}

@media not screen and (min-width: 769px) {
    .c-site-bottom__policy-nav {
        display:block
    }
}

@media screen and (min-width: 769px) {
    .c-site-bottom__policy-nav li {
        margin-left:3rem
    }
}

@media not screen and (min-width: 769px) {
    .c-site-bottom__policy-nav li:not(:last-child) {
        margin-bottom:3rem
    }
}

@media screen and (min-width: 769px) {
    .c-site-bottom__logomark {
        display:none
    }
}

@media not screen and (min-width: 769px) {
    .c-site-bottom__logomark {
        position:absolute;
        bottom: 0;
        right: -2rem;
        overflow: hidden;
        width: 23.5rem;
        height: 23.6rem
    }
}

@media not screen and (min-width: 769px) {
    .c-site-bottom__logomark__inner {
        position:absolute;
        top: 1rem;
        left: 5rem;
        width: 100%
    }
}

.c-sitemap {
    margin-top: 4rem
}

.c-sitemap__list {
    display: flex;
    flex-wrap: wrap;
    width: 100%
}

@media screen and (min-width: 769px) {
    .c-sitemap__list {
        max-width:calc(22em + 8em * 0.9);
        max-width: calc(22em + (8em + var(--letter-spacing01) * 8) * 0.9)
    }
}

@media screen and (min-width: 769px) {
    .c-sitemap__list>li {
        width:11em
    }
}

@media not screen and (min-width: 769px) {
    .c-sitemap__list>li {
        width:100%;
        border-top: .1rem solid #ccc
    }
}

.c-sitemap__list>li>a {
    font-weight: bold;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end
}

.c-sitemap__list>li>a .-character {
    transition: color .4s
}

@media not screen and (min-width: 769px) {
    .c-sitemap__list>li>a {
        padding:1.5em 0;
        display: flex;
        align-items: center;
        position: relative
    }
}

@media not screen and (min-width: 769px) {
    .c-sitemap__list>li>ul {
        display:flex;
        padding-left: 1.95em
    }
}

.c-sitemap__list>li li {
    font-size: 90%;
    padding-left: 1em;
    position: relative
}

@media screen and (min-width: 769px) {
    .c-sitemap__list>li li {
        margin-top:1.5em
    }
}

@media not screen and (min-width: 769px) {
    .c-sitemap__list>li li {
        width:50%;
        margin-bottom: 2rem
    }
}

.c-sitemap__list>li li:before {
    content: "";
    width: .4em;
    height: .4em;
    border-radius: 50%;
    background-image: linear-gradient(45deg, #EC6C00, #FAD6B4);
    position: absolute;
    left: 0;
    top: .3em
}

.c-sitemap__list>li li>ul {
    margin-top: 1em
}

@media not screen and (min-width: 769px) {
    .c-sitemap__list>li li>ul>li {
        width:100%;
        margin-bottom: 0
    }
}

.c-sitemap__list>li li>ul>li:before {
    content: "";
    width: .5em;
    height: .1rem;
    background: #ccc;
    position: absolute;
    top: 50%;
    left: 0
}

@media screen and (min-width: 769px) {
    .c-sitemap__list>li:nth-child(3) {
        width:calc((8em + var(--letter-spacing01) * 8) * 0.9)
    }
}

@media screen and (min-width: 769px) {
    .c-sitemap__list>li:nth-child(n+4) {
        margin-top:5rem
    }
}

@media not screen and (min-width: 769px) {
    .c-sitemap__list>li:nth-child(n+4) {
        margin-top:0rem
    }
}

@media not screen and (min-width: 769px) {
    .c-sitemap__arrow {
        width:1.25em;
        height: 1.25em;
        position: relative;
        background-image: linear-gradient(45deg, #EC6C00, #ffa147);
        margin-right: .7em;
        border-radius: 50%
    }

    .c-sitemap__arrow:after {
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        background-image: url(../img/icon_arrow_left_white.svg);
        background-size: 60%;
        background-repeat: no-repeat;
        background-position: center
    }
}

@media screen and (min-width: 769px) {
    .c-sp-navigation {
        display:none
    }
}

@media not screen and (min-width: 769px) {
    .c-sp-navigation {
        position:fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #fff;
        padding-top: 6rem;
        transition: visibility .3s,opacity .3s;
        visibility: hidden;
        opacity: 0;
        z-index: 7
    }
}

@media not screen and (min-width: 769px) {
    .c-sp-navigation__logo {
        position:absolute;
        left: 0;
        top: 0;
        width: 15rem;
        background: #fff;
        height: 6rem;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0px 1.5rem
    }
}

@media not screen and (min-width: 769px) {
    .c-sp-navigation__logo img {
        width:100%
    }
}

@media not screen and (min-width: 769px) {
    .c-sp-navigation__inner {
        position:relative;
        height: 100%;
        overflow: auto;
        padding-left: 2rem;
        padding-right: 2rem
    }
}

@media not screen and (min-width: 769px) {
    .c-sp-navigation__sitemap {
        margin-top:3rem
    }
}

@media not screen and (min-width: 769px) {
    .c-sp-navigation__arrow {
        transition-duration:.4s;
        transform: scale(0)
    }
}

@media not screen and (min-width: 769px) {
    .c-sp-navigation__text,.c-sp-navigation__list>li li {
        opacity:0;
        transform: translate3d(0.5rem, 0, 0);
        transition: opacity .3s,transform .3s
    }
}

@media not screen and (min-width: 769px) {
    .c-sp-navigation__bottom__policy-nav li,.c-sp-navigation__bottom__copyright {
        opacity:0;
        transform: translate3d(0.5rem, 0, 0);
        transition: opacity .3s,transform .3s
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation {
        visibility:visible;
        opacity: 1
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__arrow {
        transition-timing-function:cubic-bezier(0.02, 0.955, 0.745, 1.4);
        transform: scale(1)
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__text,.is-hamburger-open .c-sp-navigation__list>li li,.is-hamburger-open .c-sp-navigation__bottom__policy-nav li {
        opacity:1;
        transform: translate3d(0, 0, 0)
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__bottom__copyright {
        transition-delay:.4s;
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__list li:nth-child(1) .c-sp-navigation__arrow {
        transition-delay:.1s
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__list li:nth-child(1) .c-sp-navigation__text,.is-hamburger-open .c-sp-navigation__list>li:nth-child(1) li {
        transition-delay:.1s
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__bottom__policy-nav>li:nth-child(1) {
        transition-delay:.1s
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__list li:nth-child(2) .c-sp-navigation__arrow {
        transition-delay:.15s
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__list li:nth-child(2) .c-sp-navigation__text,.is-hamburger-open .c-sp-navigation__list>li:nth-child(2) li {
        transition-delay:.15s
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__bottom__policy-nav>li:nth-child(2) {
        transition-delay:.15s
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__list li:nth-child(3) .c-sp-navigation__arrow {
        transition-delay:.2s
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__list li:nth-child(3) .c-sp-navigation__text,.is-hamburger-open .c-sp-navigation__list>li:nth-child(3) li {
        transition-delay:.2s
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__bottom__policy-nav>li:nth-child(3) {
        transition-delay:.2s
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__list li:nth-child(4) .c-sp-navigation__arrow {
        transition-delay:.25s
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__list li:nth-child(4) .c-sp-navigation__text,.is-hamburger-open .c-sp-navigation__list>li:nth-child(4) li {
        transition-delay:.25s
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__bottom__policy-nav>li:nth-child(4) {
        transition-delay:.25s
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__list li:nth-child(5) .c-sp-navigation__arrow {
        transition-delay:.3s
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__list li:nth-child(5) .c-sp-navigation__text,.is-hamburger-open .c-sp-navigation__list>li:nth-child(5) li {
        transition-delay:.3s
    }
}

@media not screen and (min-width: 769px) {
    .is-hamburger-open .c-sp-navigation__bottom__policy-nav>li:nth-child(5) {
        transition-delay:.3s
    }
}

.c-supplement {
    margin-top: 2.5em
}

.c-supplement p {
    position: relative;
    font-size: 90%;
    padding-left: 1.5em;
    margin-top: 1.5em
}

.c-supplement p:first-child {
    margin-top: 0
}

.c-supplement p:before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0
}

.c-swiper {
    overflow: hidden
}

.c-swiper__btn {
    width: 11rem;
    height: 11rem;
    padding: 1rem;
    position: absolute;
    top: 50%;
    margin-top: -5.5rem;
    z-index: 6
}

.c-swiper__btn.-prev {
    left: 4rem
}

.c-swiper__btn.-next {
    right: 4rem
}

@media not screen and (min-width: 769px) {
    .c-swiper__btn {
        display:none
    }
}

.c-swiper__btn.--small {
    width: 7rem;
    height: 7rem
}

.c-swiper__btn__inner {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.c-swiper__btn__arrow {
    position: relative;
    width: 2.6rem;
    height: 1rem;
    margin-bottom: .75em;
    margin-top: .5em
}

.--small .c-swiper__btn__arrow {
    margin-top: 0;
    margin-bottom: 0
}

.-prev .c-swiper__btn__arrow:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background-image: url(../img/icon_arrow_right_orange.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: opacity .3s,transform .3s;
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.-prev .c-swiper__btn__arrow:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background-image: url(../img/icon_arrow_right_orange.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: opacity .3s,transform .3s;
    opacity: 0;
    transform: translate3d(0.5em, 0, 0)
}

@media(hover: hover) {
    .-prev .c-swiper__btn__inner:hover .c-swiper__btn__arrow:before {
        opacity:0;
        transform: translate3d(-0.5em, 0, 0)
    }

    .-prev .c-swiper__btn__inner:hover .c-swiper__btn__arrow:after {
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

.-next .c-swiper__btn__arrow:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background-image: url(../img/icon_arrow_left_orange.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: opacity .3s,transform .3s;
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.-next .c-swiper__btn__arrow:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background-image: url(../img/icon_arrow_left_orange.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: opacity .3s,transform .3s;
    opacity: 0;
    transform: translate3d(-0.5em, 0, 0)
}

@media(hover: hover) {
    .-next .c-swiper__btn__inner:hover .c-swiper__btn__arrow:before {
        opacity:0;
        transform: translate3d(0.5em, 0, 0)
    }

    .-next .c-swiper__btn__inner:hover .c-swiper__btn__arrow:after {
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

.--small.-prev .c-swiper__btn__arrow: before,.--small.-prev .c-swiper__btn__arrow:after,.--small.-next .c-swiper__btn__arrow:before,.--small.-next .c-swiper__btn__arrow:after {
    background-size:80%
}

.c-swiper__btn__text {
    font-size: 1.2rem;
    font-weight: 700;
    font-family: "Roboto",sans-serif
}

.c-swiper__pagination {
    position: absolute;
    width: 100%;
    display: flex;
    justify-content: center;
    z-index: 6
}

@media screen and (min-width: 769px) {
    .c-swiper__pagination {
        bottom:3rem
    }
}

@media not screen and (min-width: 769px) {
    .c-swiper__pagination {
        bottom:1rem
    }
}

.c-swiper__pagination__body {
    width: auto !important;
    background: #fff;
    display: flex;
    border-radius: 4rem
}

@media screen and (min-width: 769px) {
    .c-swiper__pagination__body {
        padding:1.25rem 2rem
    }
}

@media not screen and (min-width: 769px) {
    .c-swiper__pagination__body {
        padding:.5rem 1rem
    }
}

@media screen and (min-width: 769px) {
    .c-swiper__pagination__body .swiper-pagination-bullet {
        width:1rem;
        height: 1rem
    }
}

@media not screen and (min-width: 769px) {
    .c-swiper__pagination__body .swiper-pagination-bullet {
        width:.5rem;
        height: .5rem
    }
}

.c-swiper__pagination__body .swiper-pagination-bullet-active {
    background-image: linear-gradient(45deg, #EC6C00, #FAD6B4)
}

@media screen and (min-width: 769px) {
    .c-swiper__pagination__body .swiper-pagination-bullet {
        margin:0 .5rem !important
    }
}

@media not screen and (min-width: 769px) {
    .c-swiper__pagination__body .swiper-pagination-bullet {
        margin:0 .2rem !important
    }
}

.c-table {
    width: 100%
}

.c-table tr {
    border-top: .1rem solid #ccc;
    border-bottom: .1rem solid #ccc
}

.c-table th {
    width: 25%;
    padding: 1.75em 0;
    text-align: left;
    vertical-align: top
}

@media not screen and (min-width: 769px) {
    .c-table th {
        display:block;
        padding-bottom: 1.5em;
        width: 100%
    }
}

.c-table th p {
    --line-height: 1.5
}

.c-table td {
    width: 75%;
    padding: 1.75em 0;
    vertical-align: top
}

@media not screen and (min-width: 769px) {
    .c-table td {
        display:block;
        padding-top: 0;
        width: 100%
    }
}

.c-table td p {
    --line-height: 1.5
}

.c-textlink {
    background: linear-gradient(0, #0F1821, #0F1821) 100% 100%/0 1px no-repeat;
    transition: background-size .4s cubic-bezier(0.83, 0, 0.17, 1)
}

@media(hover: hover) {
    .c-textlink:hover {
        background-position:0 100%;
        background-size: 100% .1rem
    }

    a:hover .c-textlink {
        background-position: 0 100%;
        background-size: 100% .1rem
    }
}

.c-title {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 1em
}

.c-title.--center {
    align-items: center
}

.c-title.-icon-insurance--business {
    position: relative
}

@media screen and (min-width: 769px) {
    .c-title.-icon-insurance--business {
        padding-left:7.5rem
    }
}

@media not screen and (min-width: 769px) {
    .c-title.-icon-insurance--business {
        padding-left:5.2rem
    }
}

.c-title.-icon-insurance--business:before {
    content: "";
    width: 6rem;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0
}

@media screen and (min-width: 769px) {
    .c-title.-icon-insurance--business:before {
        background-image:url(../img/icon_business_customer_orange.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center
    }
}

@media not screen and (min-width: 769px) {
    .c-title.-icon-insurance--business:before {
        background-image:url(../img/icon_business_customer_orange.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: left center
    }
}

.c-title.-icon-insurance--personal {
    position: relative
}

@media screen and (min-width: 769px) {
    .c-title.-icon-insurance--personal {
        padding-left:7.5rem
    }
}

@media not screen and (min-width: 769px) {
    .c-title.-icon-insurance--personal {
        padding-left:5.2rem
    }
}

.c-title.-icon-insurance--personal:before {
    content: "";
    width: 6rem;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0
}

@media screen and (min-width: 769px) {
    .c-title.-icon-insurance--personal:before {
        background-image:url(../img/icon_personal_customer.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center
    }
}

@media not screen and (min-width: 769px) {
    .c-title.-icon-insurance--personal:before {
        background-image:url(../img/icon_personal_customer_orange.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: left center
    }
}

.c-title.--small {
    font-size: var(--font-size26)
}

.c-title.--medium {
    font-size: var(--font-size36)
}

.c-title.--large {
    font-size: 4.1rem;
    font-size: var(--font-size41)
}

.c-title__jp.--white {
    color: #fff
}

@media not screen and (min-width: 769px) {
    .c-title__jp.--sp-black {
        color:#0f1821
    }
}

.c-title__en {
    font-weight: 700;
    font-family: "Roboto",sans-serif;
    letter-spacing: var(--letter-spacing03);
    margin-bottom: .5em;
    line-height: 1
}

.--small .c-title__en {
    font-size: var(--font-size14)
}

.--medium .c-title__en {
    font-size: var(--font-size14)
}

.--large .c-title__en {
    font-size: var(--font-size16)
}

.--center .c-title__en {
    margin-right: -0.5em
}

.c-title__en.--white {
    color: #fff
}

.c-title__en.--orange .__mask {
    display: inline-block;
    background-image: linear-gradient(45deg, #ec6c00 0%, #fad6b4 100%);
    background-size: 1000%;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    -webkit-background-clip: text
}

.c-title__en .__mask {
    letter-spacing: var(--letter-spacing03)
}

.p-company-visual {
    position: relative;
    z-index: 6
}

@media not screen and (min-width: 769px) {
    .p-company-visual {
        overflow:hidden
    }
}

.p-company-visual__bg-line {
    position: absolute
}

@media screen and (min-width: 769px) {
    .p-company-visual__bg-line {
        width:calc(100% + 6rem);
        height: auto;
        left: -3rem;
        top: -28rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-visual__bg-line {
        width:230%;
        height: 100%;
        left: -110%;
        top: -27%
    }
}

.p-company-visual__bg-line path:nth-child(odd) {
    opacity: .2
}

.p-company-visual__bg-line path:nth-child(even) {
    opacity: .2
}

.p-company-visual__bg-line circle {
    -webkit-filter: blur(0.2rem);
    filter: blur(0.2rem);
    color: #fff;
    fill: #fff
}

.p-company-features__bg-line {
    position: absolute
}

@media screen and (min-width: 769px) {
    .p-company-features__bg-line {
        width:calc(100% + 6rem);
        height: auto;
        left: -3rem;
        top: -28rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-features__bg-line {
        width:230%;
        height: 100%;
        left: -110%;
        top: -13rem
    }
}

.p-company-features__bg-line path:nth-child(odd) {
    opacity: .2
}

.p-company-features__bg-line path:nth-child(even) {
    opacity: .2
}

.p-company-features__bg-line circle {
    -webkit-filter: blur(0.2rem);
    filter: blur(0.2rem);
    color: #fff;
    fill: #fff
}

@media screen and (min-width: 769px) {
    .p-company-features__bg-line__inner.-no2 {
        transform:rotate(90deg);
        transform-origin: left;
        position: relative;
        top: -79rem
    }
}

@media screen and (min-width: 769px) {
    .p-company-features__bg-line__inner.-no3 {
        transform:rotate(90deg);
        transform-origin: left;
        position: relative;
        top: -105rem
    }
}

.p-company-visual__slider {
    position: relative;
    z-index: 5
}

@media screen and (min-width: 769px) {
    .p-company-visual__slider__slide {
        width:76rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-visual__slider__slide {
        width:26rem
    }
}

.p-company-visual__slider__slide__inner {
    overflow: hidden;
    position: relative;
    z-index: 1;
    background: #f2f2f2;
    border-radius: .5rem
}

@media screen and (min-width: 769px) {
    .p-company-visual__slider__slide__inner {
        margin:0 4rem;
        height: 68rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-visual__slider__slide__inner {
        margin:0 1rem;
        height: auto;
        height: 26rem
    }
}

.p-company-visual__slider__slide__inner img {
    max-width: initial;
    max-width: auto;
    width: 130%;
    height: 100%;
    position: absolute;
    top: 0;
    left: -15%;
    object-fit: cover
}

.p-company-visual__slider__slide__inner__mask {
    width: 100%;
    height: 100%;
    transition: opacity 1s .2s,transform 1s .2s,filter 2s .4s,-webkit-filter 2s .4s;
    opacity: 0;
    transform: scale(1.05);
    filter: brightness(1.4);
    -webkit-filter: brightness(1.4)
}

.is-loaded .p-company-visual__slider__slide__inner__mask {
    opacity: 1;
    transform: scale(1);
    filter: brightness(1);
    -webkit-filter: brightness(1)
}

.p-company-section-mt {
    margin-top: 15rem
}

@media not screen and (min-width: 769px) {
    .p-company-section-mt {
        margin-top:8rem
    }
}

.p-company__wide-img {
    position: relative
}

@media screen and (min-width: 769px) {
    .p-company__wide-img {
        margin-bottom:12rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company__wide-img {
        margin-bottom:4rem
    }
}

.p-company-mission {
    position: relative;
    z-index: 5
}

@media screen and (min-width: 769px) {
    .p-company-mission {
        margin-top:-34rem;
        padding-bottom: 24rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-mission {
        margin-top:-13rem;
        padding-bottom: 18rem
    }
}

.p-company-mission:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #fff
}

.p-company-mission__inner {
    position: relative;
    z-index: 6
}

@media screen and (min-width: 769px) {
    .p-company-mission__inner {
        padding-top:54rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-mission__inner {
        padding-top:22rem
    }
}

.p-company-features {
    background: transparent;
    position: relative;
    z-index: 5
}

@media not screen and (min-width: 769px) {
    .p-company-features {
        overflow:hidden
    }
}

.p-company-mission__logomark {
    position: absolute;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 5;
    margin-left: auto
}

@media screen and (min-width: 769px) {
    .p-company-mission__logomark {
        width:76rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-mission__logomark {
        width:24rem
    }
}

.p-company-mission__logomark__inner {
    position: sticky;
    left: 0
}

@media screen and (min-width: 769px) {
    .p-company-mission__logomark__inner {
        top:calc(100% - 69rem)
    }
}

@media not screen and (min-width: 769px) {
    .p-company-mission__logomark__inner {
        top:calc(100% - 24rem)
    }
}

.p-company-mission__logomark .-masking-logo,.p-company-mission__logomark .-masking-logo-top-flat,.p-company-mission__logomark .-masking-logo-top-gradation,.p-company-mission__logomark .-masking-logo-bottom-flat,.p-company-mission__logomark .-masking-logo-bottom-gradation,.p-company-mission__logomark .-masking-logo-left-flat,.p-company-mission__logomark .-masking-logo-left-gradation,.p-company-mission__logomark .-masking-logo-right-flat,.p-company-mission__logomark .-masking-logo-right-gradation {
    transition: transform 1s
}

.p-company-mission__logomark {
    transition: opacity .5s;
    opacity: 0
}

.p-company-mission__logomark.is-show {
    opacity: 1
}

.p-company-mission__logomark .-masking-logo-top-gradation {
    transform: translate3d(5%, 0%, 0)
}

.p-company-mission__logomark .-masking-logo-left-gradation {
    transform: translate3d(0, -5%, 0)
}

.p-company-mission__logomark .-masking-logo-bottom-gradation {
    transform: translate3d(-5%, 0%, 0)
}

.p-company-mission__logomark .-masking-logo-right-gradation {
    transform: translate3d(0, 5%, 0)
}

.p-company-mission__logomark.is-show .-masking-logo-top-flat,.p-company-mission__logomark.is-show .-masking-logo-top-gradation,.p-company-mission__logomark.is-show .-masking-logo-bottom-flat,.p-company-mission__logomark.is-show .-masking-logo-bottom-gradation,.p-company-mission__logomark.is-show .-masking-logo-left-flat,.p-company-mission__logomark.is-show .-masking-logo-left-gradation,.p-company-mission__logomark.is-show .-masking-logo-right-flat,.p-company-mission__logomark.is-show .-masking-logo-right-gradation {
    transform: translate3d(0, 0, 0)
}

.p-company-mission__copy--big {
    line-height: 1.25;
    position: relative;
    display: inline-block;
    margin-top: .5em;
    padding-bottom: .75em;
    margin-bottom: 0
}

@media screen and (min-width: 769px) {
    .p-company-mission__copy--big {
        font-size:7.4rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-mission__copy--big {
        font-size:4.3rem;
        margin-bottom: 0
    }
}

.p-company-mission__copy--big:after {
    content: "";
    position: absolute;
    width: 3rem;
    height: .4rem;
    background-image: linear-gradient(45deg, #EC6C00, #FAD6B4);
    bottom: 0;
    left: 0
}

.p-company-mission__copy--big .__line {
    display: block;
    position: relative;
    letter-spacing: .05em
}

.p-company-mission__copy--big__croptext {
    --line-height: 1.25
}

.p-company-mission__text {
    font-size: var(--font-size29);
    --line-height: 2.75;
    display: flex;
    font-weight: bold;
    flex-direction: column;
    margin-top: 4em;
    letter-spacing: .025em;
    white-space: nowrap
}

.p-company-features__white-bg {
    position: absolute;
    left: 0;
    bottom: 0;
    background: #fff;
    width: 100%;
    height: 40rem
}

.p-company-features__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 4rem
}

@media screen and (min-width: 769px) {
    .p-company-features__head {
        padding-right:20rem
    }
}

.p-company-features__head__title {
    margin-bottom: 0
}

@media not screen and (min-width: 769px) {
    .p-company-features__head__navi {
        display:none
    }
}

.p-company-features__head__navi ul {
    display: flex;
    gap: 1em;
    font-family: "Roboto",sans-serif;
    font-weight: 700
}

.p-company-features__head__navi ul a {
    display: block;
    color: #fff;
    letter-spacing: .05em;
    padding-bottom: .2em;
    position: relative;
    font-size: var(--font-size16)
}

.p-company-features__head__navi ul a:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: calc(100% - .05em);
    height: .2rem;
    background: #fff;
    transition: transform .4s cubic-bezier(0.83, 0, 0.17, 1);
    transform-origin: left;
    transform: scaleX(1)
}

@media(hover: hover) {
    .p-company-features__head__navi ul a:hover:before {
        transform-origin:right;
        transform: scaleX(0)
    }
}

.p-company-features {
    position: relative
}

@media screen and (min-width: 769px) {
    .p-company-features {
        padding:14rem 0 20rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-features {
        padding:8rem 0
    }
}

.p-company-features:before {
    content: "";
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    background: #fff
}

@media screen and (min-width: 769px) {
    .p-company-features:before {
        width:10rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-features:before {
        width:2rem
    }
}

.p-company-features:after {
    content: "";
    width: .5rem;
    height: .5rem;
    position: absolute;
    top: 0;
    background-image: url(../img/company/curve-top-left.svg);
    background-size: contain;
    background-position: right top;
    background-repeat: no-repeat
}

@media screen and (min-width: 769px) {
    .p-company-features:after {
        right:10rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-features:after {
        right:2rem
    }
}

.p-company-features__inner {
    position: relative;
    z-index: 5
}

.p-company-features__body {
    overflow: hidden;
    border-radius: .5rem 0 0 .5rem
}

.p-company-features__item {
    position: relative;
    height: 100vh;
    overflow: hidden
}

@media screen and (min-width: 769px) {
    .p-company-features__item {
        min-height:56rem
    }
}

@media screen and (min-width: 769px)and (orientation: portrait) {
    .p-company-features__item {
        max-height:92rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-features__item {
        height:52rem;
        max-height: initial;
        max-height: auto
    }
}

.p-company-features__item__bg {
    position: absolute;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 100%
}

.p-company-features__item__bg.-parallax {
    top: -25%;
    height: calc(100% + 30%)
}

.p-company-features__item__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media screen and (min-width: 769px) {
    .-no1 .p-company-features__item__bg {
        height:135%;
        top: -18%
    }
}

@media screen and (min-width: 769px) {
    .-no2 .p-company-features__item__bg {
        height:140%;
        top: -20%
    }
}

@media not screen and (min-width: 769px) {
    .-no2 .p-company-features__item__bg {
        height:117%;
        top: -12%
    }
}

@media screen and (min-width: 769px) {
    .-no3 .p-company-features__item__bg {
        height:159%;
        top: -19%;
        right: 14%
    }
}

@media screen and (min-width: 769px) {
    .-no4 .p-company-features__item__bg img {
        object-position:50% 9%
    }
}

.p-company-features__item__bg__inner {
    width: 100%;
    height: 100%
}

.p-company-features__item__bg__inner:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.1)
}

.p-company-features__item__content {
    position: relative;
    color: #fff;
    width: 100%;
    height: 100%
}

.p-company-features__item__number {
    position: absolute;
    right: 0;
    top: 0
}

@media screen and (min-width: 769px) {
    .p-company-features__item__number {
        width:44rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-features__item__number {
        width:10rem
    }
}

.p-company-features__item__number object {
    width: 100%
}

.p-company-features__item__title {
    position: absolute
}

@media screen and (min-width: 769px) {
    .p-company-features__item__title {
        left:5rem;
        bottom: 5rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-features__item__title {
        width:calc(100% - 4rem);
        left: 2rem;
        bottom: 2rem
    }
}

.p-company-features__item__title .__jp {
    --line-height: 1.25;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    font-weight: bold
}

@media screen and (min-width: 769px) {
    .p-company-features__item__title .__jp {
        font-size:9.4rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-features__item__title .__jp {
        font-size:2.6rem
    }
}

@media screen and (min-width: 769px) {
    .p-company-features__item__title .__jp .__line.--pc-flex {
        display:flex
    }
}

@media not screen and (min-width: 769px) {
    .p-company-features__item__title .__jp .__br {
        display:none
    }
}

.p-company-features__item__title .__en {
    font-family: "Roboto",sans-serif;
    --line-height: 1.25;
    font-weight: bold;
    margin-top: 2em;
    letter-spacing: .05em
}

@media screen and (min-width: 769px) {
    .p-company-features__item__title .__en {
        font-size:var(--font-size22)
    }
}

@media not screen and (min-width: 769px) {
    .p-company-features__item__title .__en {
        font-size:1.2rem
    }
}

.p-company-about__white-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 20rem;
    background: #fff
}

.p-company-about {
    position: relative;
    z-index: 6;
    padding-bottom: 15rem
}

.p-company-about__title {
    background: #fff;
    margin-bottom: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    font-size: var(--font-size22)
}

@media screen and (min-width: 769px) {
    .p-company-about__title {
        padding-left:10rem;
        padding-bottom: 1.25em
    }
}

@media not screen and (min-width: 769px) {
    .p-company-about__title {
        padding-left:2rem;
        padding-bottom: 1em
    }
}

.p-company-about__title__logo {
    width: 1.5em;
    margin-right: .5em
}

.p-company-about__title__logo object {
    width: 100%
}

.p-company-message {
    position: relative
}

.p-company-about__container {
    padding: 0 20rem
}

@media not screen and (min-width: 769px) {
    .p-company-about__container {
        padding:0 2rem
    }
}

.p-company-about__inner {
    background: #fff;
    border-radius: .5rem 0 0 .5rem;
    overflow: hidden;
    position: relative;
    z-index: 1
}

@media screen and (min-width: 769px) {
    .p-company-about__inner {
        padding-bottom:15rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-about__inner {
        padding-bottom:10rem
    }
}

.p-company-about__row {
    display: flex
}

@media not screen and (min-width: 769px) {
    .p-company-about__row {
        flex-direction:column
    }
}

.p-company-about__row+.p-company-about__row {
    margin-top: 15rem
}

.p-company-about__row__head {
    width: 44rem
}

@media not screen and (min-width: 769px) {
    .p-company-about__row__head {
        width:100%
    }
}

.p-company-about__row__body {
    width: calc(100% - 44rem)
}

@media not screen and (min-width: 769px) {
    .p-company-about__row__body {
        width:100%;
        margin-top: 1rem
    }
}

.p-company-message__text p {
    --line-height: 2
}

.p-company-message__text p:not(:first-child) {
    margin-top: 2em
}

.p-company-message__name {
    text-align: right;
    font-weight: 700;
    margin-top: 3em
}

.p-company-message__name p {
    --line-height: 2
}

.p-company-philosophy__text p {
    font-size: var(--font-size29);
    font-weight: 700;
    display: flex;
    flex-direction: column;
    --line-height: 2
}

@media not screen and (min-width: 769px) {
    .p-company-philosophy__text p {
        font-size:1.6rem
    }
}

@media screen and (min-width: 769px) {
    .p-company-philosophy__text p .__line.--pc-flex {
        display:flex
    }
}

.p-company-message__img {
    width: 100%;
    overflow: hidden
}

@media screen and (min-width: 769px) {
    .p-company-message__img {
        height:80rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-message__img {
        height:30rem
    }
}

.p-company-message__img__inner {
    width: 100%;
    height: 100%;
    position: relative
}

.p-company-message__img__inner.-parallax {
    height: 120%;
    top: -10%
}

.p-company-message__img__inner img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media screen and (min-width: 769px) {
    .p-company-profile__img {
        height:80rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-profile__img {
        height:18rem
    }
}

@media screen and (min-width: 769px) {
    .p-company-profile {
        margin-bottom:20rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-profile {
        /*margin-top:10rem*/
    }
}

.p-company-profile__map {
    width: 100%;
    height: 42rem;
    position: relative;
    margin-top: .75em
}

.p-company-profile__map iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0
}

.p-company-profile__table tr:last-child {
    border-bottom: none
}

.p-company-about__orange-title {
    color: #ec6c00;
    font-size: var(--font-size20);
    --line-height: 1.5
}

@media screen and (min-width: 769px) {
    .p-company-about__orange-title {
        margin-bottom:1.5em
    }
}

@media not screen and (min-width: 769px) {
    .p-company-about__orange-title {
        margin-bottom:1em
    }
}

@media screen and (min-width: 769px) {
    .p-company-handling__group+.p-company-handling__group {
        margin-top:6rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-handling__group+.p-company-handling__group {
        margin-top:3rem
    }
}

.p-company-handling__list.-logo {
    display: flex;
    flex-wrap: wrap
}

.p-company-handling__list.-logo li {
    border-bottom: .1rem solid #ccc;
    border-left: .1rem solid #ccc;
    font-size: var(--font-size16);
    text-align: center
}

@media screen and (min-width: 769px) {
    .p-company-handling__list.-logo li {
        width:33.33%
    }
}

@media not screen and (min-width: 769px) {
    .p-company-handling__list.-logo li {
        width:50%
    }
}

@media screen and (min-width: 769px) {
    .p-company-handling__list.-logo li:nth-child(-n+3) {
        border-top:.1rem solid #ccc
    }

    .p-company-handling__list.-logo li:nth-child(3n) {
        border-right: .1rem solid #ccc
    }
}

@media not screen and (min-width: 769px) {
    .p-company-handling__list.-logo li:nth-child(-n+2) {
        border-top:.1rem solid #ccc
    }

    .p-company-handling__list.-logo li:nth-child(even) {
        border-right: .1rem solid #ccc
    }
}

.p-company-handling__list.-logo li:last-child {
    border-right: .1rem solid #ccc
}

.p-company-handling__list.-logo li a {
    display: block
}

@media screen and (min-width: 769px) {
    .p-company-handling__list.-logo li a {
        padding:2.5rem 3rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-handling__list.-logo li a {
        padding:1.5rem 1rem
    }
}

.p-company-sdgs__figure {
    padding-bottom: 5rem;
    margin-bottom: 5rem;
    border-bottom: .1rem solid #ccc
}

@media screen and (min-width: 769px) {
    .p-company-sdgs__group+.p-company-sdgs__group {
        margin-top:8rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-sdgs__group+.p-company-sdgs__group {
        margin-top:6rem
    }
}

@media screen and (min-width: 769px) {
    .p-company-sdgs__group__1 {
        display:flex
    }
}

@media screen and (min-width: 769px) {
    .p-company-sdgs__group__1__content {
        width:calc(100% - 24rem)
    }
}

.p-company-sdgs__group__1__content p {
    --line-height: 2
}

.p-company-sdgs__group__1__kumamon {
    width: 24rem;
    text-align: center
}

@media not screen and (min-width: 769px) {
    .p-company-sdgs__group__1__kumamon {
        margin:3rem auto 0
    }
}

.p-company-sdgs__group__1__kumamon img {
    display: block;
    width: 40%;
    margin: auto
}

.p-company-sdgs__group__1__kumamon figcaption {
    margin-top: 1.5em;
    font-size: 1.2rem
}

.p-company-about__text--big {
    font-size: var(--font-size26);
    --line-height: 1.75;
    font-weight: 700
}

@media not screen and (min-width: 769px) {
    .p-company-about__text--big {
        font-size:1.6rem
    }
}

.p-company-sdgs__table {
    width: 100%
}

@media screen and (min-width: 769px) {
    .p-company-sdgs__table {
        font-size:var(--font-size16)
    }
}

@media not screen and (min-width: 769px) {
    .p-company-sdgs__table {
        font-size:1.2rem
    }
}

.p-company-sdgs__table th,.p-company-sdgs__table td {
    line-height: 1.5;
    padding: 1em;
    border: .1rem solid #ccc
}

.p-company-sdgs__table thead {
    background: #ffe0c2
}

@media screen and (min-width: 769px) {
    .p-company-sdgs__table tbody th {
        width:12rem
    }
}

@media not screen and (min-width: 769px) {
    .p-company-sdgs__table tbody th {
        width:6rem
    }
}

.p-company-sdgs__table tbody td {
    width: calc((100% - 12rem) / 2)
}

.p-company-handling__created-date {
    font-size: 80%;
    text-align: right
}

.p-company-handling__created-date p {
    line-height: 1.75
}

.p-contact-intro {
    margin-bottom: 6rem
}

.p-contact-intro__information {
    display: flex;
    justify-content: space-between
}

@media not screen and (min-width: 769px) {
    .p-contact-intro__information {
        flex-direction:column
    }
}

.p-contact-intro__tel {
    text-align: center;
    border: .2rem solid #ccc;
    border-radius: .5rem
}

@media screen and (min-width: 769px) {
    .p-contact-intro__tel {
        padding:3rem 4rem
    }
}

@media not screen and (min-width: 769px) {
    .p-contact-intro__tel {
        margin-top:2rem;
        padding: 2rem 1.5rem
    }
}

.p-contact-intro__text p {
    line-height: 2
}

.p-contact-intro__tel dt {
    font-size: 90%;
    margin-bottom: 1rem;
    font-weight: bold
}

.p-contact-intro__tel__number {
    color: #fff;
    font-family: "Roboto",sans-serif;
    font-weight: bold;
    font-size: 3.6rem;
    letter-spacing: .05em;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

@media not screen and (min-width: 769px) {
    .p-contact-intro__tel__number {
        font-size:3.2rem
    }
}

.p-contact-intro__tel__number:before {
    content: "";
    width: 2.6rem;
    height: 3.2rem;
    margin-right: 1rem;
    background-image: url(../img/common/icon_tel.svg);
    background-repeat: no-repeat;
    background-size: contain
}

.p-contact-intro__tel__hour {
    font-size: 90%;
    margin-top: 1rem
}

.p-contact-intro__tel__hour:before {
    content: "[";
    margin-right: .2em
}

.p-contact-intro__tel__hour:after {
    content: "]";
    margin-left: .2em
}

.p-contact-intro__tel__number {
    background-image: linear-gradient(45deg, #EC6C00, #FAD6B4);
    -webkit-text-fill-color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
    background-size: 400%
}

.p-contact-intro__tel__number:before {
    content: "";
    background-image: url(../img/common/icon_tel_orange.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center
}

@media screen and (min-width: 769px) {
    .p-contact-intro__tel__number:before {
        width:3rem;
        height: 3.8rem
    }
}

@media not screen and (min-width: 769px) {
    .p-contact-intro__tel__number:before {
        width:2.4rem;
        height: 3rem;
        margin-right: .6rem
    }
}

.p-contact-form {
    background: #f2f2f2;
    border-radius: .5rem
}

@media screen and (min-width: 769px) {
    .p-contact-form {
        padding:10rem 0
    }
}

@media not screen and (min-width: 769px) {
    .p-contact-form {
        padding:5rem 2rem
    }
}

.p-contact-form__inner {
    max-width: 114rem;
    width: 100%;
    margin: auto
}

.p-contact-form__table {
    margin-top: 6rem
}

.p-contact__form__confirm-text {
    text-align: center;
    --line-height: 1.5
}

.p-error404-overview {
    text-align: center
}

.p-error404-overview__text {
    --line-height: 2
}

.p-error404-overview__btn {
    margin-top: 4rem
}

.p-insurance-navi {
    padding: calc(6rem - 1em) 0 6rem;
    border-bottom: .1rem solid #ccc
}

@media not screen and (min-width: 769px) {
    .p-insurance-content {
        overflow:hidden
    }
}

.p-insurance .p-insurance-section__title {
    margin-bottom: 1.2em
}

@media screen and (min-width: 769px) {
    .p-insurance .p-insurance-section__title {
        padding-left:10rem
    }
}

@media not screen and (min-width: 769px) {
    .p-insurance .p-insurance-section__title {
        padding-left:6rem
    }
}

.p-insurance .p-insurance-section__title.-icon-insurance--business:before {
    content: "";
    height: 124%;
    position: absolute;
    left: 0;
    top: -12%;
    background-image: url(../img/common/icon_business_customer_orange.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center
}

@media screen and (min-width: 769px) {
    .p-insurance .p-insurance-section__title.-icon-insurance--business:before {
        width:8.5rem
    }
}

@media not screen and (min-width: 769px) {
    .p-insurance .p-insurance-section__title.-icon-insurance--business:before {
        width:5rem
    }
}

.p-insurance .p-insurance-section__title.-icon-insurance--personal:before {
    content: "";
    height: 124%;
    position: absolute;
    left: 0;
    top: -12%;
    background-image: url(../img/common/icon_personal_customer_orange.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center
}

@media screen and (min-width: 769px) {
    .p-insurance .p-insurance-section__title.-icon-insurance--personal:before {
        width:8.5rem
    }
}

@media not screen and (min-width: 769px) {
    .p-insurance .p-insurance-section__title.-icon-insurance--personal:before {
        width:5rem
    }
}

@media screen and (min-width: 769px) {
    .p-insurance-section {
        padding-top:10rem
    }
}

@media not screen and (min-width: 769px) {
    .p-insurance-section {
        padding-top:6rem;
        padding-bottom: 2rem
    }
}

@media screen and (min-width: 769px) {
    .p-insurance-section__slider__slide {
        width:calc(100% - 3rem)
    }
}

@media not screen and (min-width: 769px) {
    .p-insurance-section__slider__slide {
        width:100%
    }
}

.p-insurance-section__slider__slide img {
    width: 100%
}

.p-insurance-section__slider__slide__inner {
    overflow: hidden;
    position: relative;
    z-index: 1
}

@media screen and (min-width: 769px) {
    .p-insurance-section__slider__slide__inner {
        margin-right:5rem;
        border-radius: .5rem;
        height: 50rem
    }
}

@media not screen and (min-width: 769px) {
    .p-insurance-section__slider__slide__inner {
        margin-right:0;
        height: auto
    }
}

.p-insurance-section__slider__slide__inner img {
    max-width: initial;
    max-width: auto;
    width: 100%;
    height: 100%;
    left: 0%;
    object-fit: cover;
    object-position: center
}

.p-insurance-business .p-insurance-section__slider__slide__inner img {
    object-position: 0 87%
}

.p-insurance-personal .p-insurance-section__slider__slide__inner img {
    object-position: 0 30%
}

.p-insurance-section__visual {
    position: relative
}

@media screen and (min-width: 769px) {
    .p-insurance-section__visual {
        margin-top:8rem;
        width: calc(100% + 20rem);
        left: -12rem
    }
}

@media not screen and (min-width: 769px) {
    .p-insurance-section__visual {
        margin-top:4rem;
        left: -2rem;
        width: 100vw
    }
}

.p-insurance-section__visual:before {
    content: "";
    width: 100%;
    height: 50%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #f2f2f2
}

.p-insurance-section__slider {
    width: 100%;
    position: relative
}

@media not screen and (min-width: 769px) {
    .p-insurance-section__slider {
        left:0
    }
}

.p-insurance-section__slider__btn.-prev {
    position: absolute;
    margin-top: 0;
    left: auto;
    right: 4.5rem;
    top: 4rem
}

.p-insurance-section__slider__btn.-next {
    position: absolute;
    margin-top: 0;
    right: 4.5rem;
    top: 10rem
}

.p-insurance-section__head__text p {
    --line-height: 2;
    padding-left: 8rem
}

@media not screen and (min-width: 769px) {
    .p-insurance-section__head__text p {
        padding-left:0
    }
}

.p-insurance-section__body {
    position: relative
}

.p-insurance-section__body:before {
    content: "";
    height: 100%;
    position: absolute;
    background: #f2f2f2;
    top: 0
}

@media screen and (min-width: 769px) {
    .p-insurance-section__body:before {
        width:calc(100% + 20rem);
        left: -10rem
    }
}

@media not screen and (min-width: 769px) {
    .p-insurance-section__body:before {
        width:100%;
        left: -2rem;
        width: calc(100% + 4rem);
        height: calc(100% + 2rem)
    }
}

.p-insurance-section__content {
    position: relative;
    z-index: 5;
    border-radius: .5rem 0 0 .5rem;
    background: #fff
}

@media screen and (min-width: 769px) {
    .p-insurance-section__content {
        width:calc(100% + 10rem);
        top: -10rem;
        padding: 10rem
    }
}

@media not screen and (min-width: 769px) {
    .p-insurance-section__content {
        top:-4rem;
        padding: 4rem 2rem;
        width: calc(100% + 2rem)
    }
}

.p-insurance-section__block__title {
    position: relative
}

.p-insurance-section__block__title:before {
    content: "";
    width: 100%;
    height: .1rem;
    background: #ccc;
    position: absolute;
    left: 0;
    top: 50%
}

.p-insurance-section__block__title span {
    position: relative;
    z-index: 5;
    background: #fff;
    display: inline-block;
    padding-right: 1em;
    color: #ec6c00;
    font-size: var(--font-size20)
}

@media not screen and (min-width: 769px) {
    .p-insurance-section__block__title span {
        font-size:1.4rem
    }
}

.p-insurance-section__block__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.p-insurance-section__block__list__item {
    position: relative
}

@media screen and (min-width: 769px) {
    .p-insurance-section__block__list__item {
        width:calc(50% - 4rem);
        padding-left: 2.5em;
        margin-top: 6rem
    }
    .p-insurance-section__block__list__item2 {
        width:calc(100% - 4rem);
        padding-left: 2.5em;
        margin-top: 3rem
    }
}

@media not screen and (min-width: 769px) {
    .p-insurance-section__block__list__item {
        width:100%;
        padding-left: 3rem;
        margin-top: 4rem
    }
    .p-insurance-section__block__list__item2 {
        width:100%;
        padding-left: 3rem;
        margin-top: 4rem
    }
}

.p-insurance-section__block__list__item__title {
    font-weight: 700;
    line-height: 1.5
}

.p-insurance-section__block__list__item__title__num {
    color: #ec6c00;
    font-family: "Roboto",sans-serif;
    font-weight: 700;
    margin-right: 1em;
    position: absolute;
    left: 0;
    top: .8em
}

@media not screen and (min-width: 769px) {
    .p-insurance-section__block__list__item__title__num {
        top:.7em;
        font-size: 1.4rem
    }
}

.p-insurance-section__block__list__item__title__text {
    font-size: 2rem
}

@media screen and (min-width: 769px) {
    .p-insurance-section__block__list__item__sentence {
        margin-top:3rem
    }
}

@media not screen and (min-width: 769px) {
    .p-insurance-section__block__list__item__sentence {
        margin-top:2rem
    }
}

.p-insurance-section__block__list__item__sentence p {
    --line-height: 2
}

.p-insurance-section__block__created-date {
    font-size: 80%;
    text-align: right
}

@media screen and (min-width: 769px) {
    .p-insurance-section__block__created-date {
        margin-top:9rem
    }
}

@media not screen and (min-width: 769px) {
    .p-insurance-section__block__created-date {
        margin-top:3rem
    }
}

.p-news-archive__link {
    display: flex;
    justify-content: space-between;
    padding: 1.5em 1em;
    position: relative;
    transition: background .3s
}

.p-news-archive__link:before {
    content: "";
    position: absolute;
    width: 2.6rem;
    height: 1rem;
    background-image: url(../img/common/icon_arrow_left_black.svg);
    background-repeat: no-repeat;
    background-position: center;
    top: 50%;
    margin-top: -0.5rem;
    opacity: .3;
    transform: translate3d(0, 0, 0);
    transition: opacity .3s,transform .3s
}

@media screen and (min-width: 769px) {
    .p-news-archive__link:before {
        right:2rem
    }
}

@media not screen and (min-width: 769px) {
    .p-news-archive__link:before {
        right:0
    }
}

.p-news-archive__link:after {
    content: "";
    position: absolute;
    width: 2.6rem;
    height: 1rem;
    background-image: url(../img/common/icon_arrow_left_black.svg);
    background-repeat: no-repeat;
    background-position: center;
    top: 50%;
    margin-top: -0.5rem;
    opacity: 0;
    transform: translate3d(-0.5em, 0, 0);
    transition: opacity .3s,transform .3s
}

@media screen and (min-width: 769px) {
    .p-news-archive__link:after {
        right:2rem
    }
}

@media not screen and (min-width: 769px) {
    .p-news-archive__link:after {
        right:0
    }
}

@media(hover: hover) {
    .p-news-archive__link:hover {
        background:#f2f2f2
    }

    .p-news-archive__link:hover:before {
        opacity: 0;
        transform: translate3d(0.5em, 0, 0)
    }

    .p-news-archive__link:hover:after {
        opacity: .5;
        transform: translate3d(0, 0, 0)
    }
}

.p-news-archive>li {
    border-top: .1rem solid #ccc
}

.p-news-archive>li:last-child {
    border-bottom: .1rem solid #ccc
}

.p-news__info {
    display: flex;
    align-items: center
}

.p-news__time {
    color: #ec6c00;
    margin-right: 2rem;
    font-size: var(--font-size16);
    font-family: "Roboto",sans-serif
}

@media not screen and (min-width: 769px) {
    .p-news__time {
        margin-right:1.5rem
    }
}

.p-news__category {
    display: flex
}

.p-news__category li:not(:first-child) {
    margin-left: 1rem
}

.p-news__category__label {
    display: block;
    background: #0f1821;
    padding: .8rem 1.5rem;
    color: #fff;
    border-radius: .3rem;
    font-size: var(--font-size14)
}

.p-news-archive__title {
    margin-top: .75em;
    font-weight: 400;
    --line-height: 1.5
}

@media not screen and (min-width: 769px) {
    .p-news-archive__content {
        width:calc(100% - 4rem)
    }
}

.p-news__detail-title {
    font-size: var(--font-size36);
    margin-bottom: 1em;
    padding-bottom: 1em;
    --line-height: 1.5;
    margin-top: .5em;
    border-bottom: .1rem solid #ccc
}

.p-news__back {
    margin-top: 8rem
}

.p-news__back__btn {
    margin-right: 0
}

.p-top-keyvisual {
    width: 100%;
    height: 100vh
}

@media not screen and (min-width: 769px) {
    .p-top-keyvisual {
        height:auto
    }
}

.p-top-filter--blur {
    opacity: 0
}

.p-top-filter--blur.is-show {
    opacity: 1
}

.p-top-filter--blur:not(.-no-transition) {
    transition: opacity .3s linear
}

.p-top-keyvisual__video-poster {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.is-loaded .p-top-keyvisual__video-poster {
    visibility: hidden;
    opacity: 0
}

.p-top-keyvisual__video-poster img {
    object-fit: cover;
    width: 100%;
    max-width: initial;
    max-width: auto
}

@media screen and (min-width: 769px) {
    .p-top-keyvisual__video-poster img {
        object-position:50% 85%;
        height: 100%
    }
}

@media not screen and (min-width: 769px) {
    .p-top-keyvisual__video-poster img {
        object-position:50% 50%;
        height: 100lvh
    }
}

.p-top-keyvisual__video-wrap__inner {
    width: 100%;
    height: 100%;
    position: relative
}

.p-top-keyvisual__video {
    transition: filter .75s;
    filter: blur(30px);
    transform: translate3d(0, 0, 0) rotate(0.1deg);
    will-change: filter;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

body:not(.is-show-mission) .p-top-keyvisual__video {
    filter: blur(0px)
}

.p-top-keyvisual__circle {
    position: fixed
}

@media screen and (min-width: 769px) {
    .p-top-keyvisual__circle {
        width:28rem;
        right: 6rem;
        bottom: 5rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-keyvisual__circle {
        width:12rem;
        right: 1rem;
        bottom: auto;
        top: calc(100svh - 14rem)
    }
}

@media(orientation: landscape)and (max-width: 767px) {
    .p-top-keyvisual__circle {
        transform:scale(0.6);
        transform-origin: right bottom
    }
}

.p-top-keyvisual__circle.is-show {
    opacity: 1;
    transform: scale(1);
    transition: opacity 1s,transform 1s
}

.is-show-mission .p-top-keyvisual__circle.is-show {
    opacity: 0
}

@media(orientation: landscape)and (max-width: 767px) {
    .p-top-keyvisual__circle.is-show {
        transform:scale(0.6);
        transform-origin: right bottom
    }
}

.p-top-keyvisual__circle__image {
    position: relative;
    opacity: 0;
    transform: scale(0.6);
    transition: opacity 1s,transform 1s
}

.is-show .p-top-keyvisual__circle__image {
    opacity: 1;
    transform: scale(1)
}

.p-top-keyvisual__circle__image:before {
    content: "";
    width: 80%;
    height: 80%;
    position: absolute;
    inset: 0;
    margin: auto;
    border-radius: 50%;
    opacity: .3;
    filter: blur(1.5rem);
    transition: background 1s
}

.is-orange .p-top-keyvisual__circle__image:before {
    background: #ec6c00
}

.is-red .p-top-keyvisual__circle__image:before {
    background: red;
    animation: .3s linear 0s 2 circleFlashAnimation
}

.is-blue .p-top-keyvisual__circle__image:before {
    opacity: .25;
    background: blue
}

.p-top-keyvisual__circle img {
    animation: 4s linear 0s infinite circleRotateAnimation
}

.p-top-keyvisual__circle-01 {
    transform-origin: 50% 50%;
    animation: 4s linear 0s infinite circleRotateAnimation
}

.p-top-keyvisual__circle-02 {
    transform-origin: 50% 50%;
    animation: 2s linear 0s infinite circleRotateAnimation
}

.p-top-keyvisual__circle-03 {
    transform-origin: 50% 50%;
    animation: 3s linear 0s infinite circleRotateAnimation
}

.p-top-keyvisual__circle-04 {
    transform-origin: 50% 50%;
    animation: 4s linear 0s infinite circleRotateAnimation
}

@keyframes circleFlashAnimation {
    0% {
        opacity: .3
    }

    25% {
        opacity: .1
    }

    50% {
        opacity: .3
    }

    75% {
        opacity: .1
    }

    100% {
        opacity: .3
    }
}

@keyframes circleRotateAnimation {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

.p-top-keyvisual__circle .p-top-keybisual__circle-item:not(:first-child) {
    position: absolute;
    left: 0;
    top: 0
}

.p-top-keyvisual__circle__text {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 1s;
    opacity: 0
}

.is-show .p-top-keyvisual__circle__text {
    opacity: 1
}

.p-top-keyvisual__circle__text .__inner {
    position: relative;
    width: 100%
}

.p-top-keyvisual__circle__text .__item {
    display: block;
    transition: visibility 1s,opacity 1s,transform 1s;
    visibility: hidden;
    opacity: 0;
    transform: translate3d(0, 1em, 0);
    position: absolute;
    left: 0;
    top: -0.5em;
    color: #fff;
    font-weight: 700;
    width: 100%;
    letter-spacing: .25em;
    text-indent: .15em;
    text-align: center
}

@media screen and (min-width: 769px) {
    .p-top-keyvisual__circle__text .__item {
        font-size:2.5rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-keyvisual__circle__text .__item {
        font-size:1.3rem
    }
}

.p-top-keyvisual__circle__text .__item.is-current {
    visibility: visible;
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.p-top-keyvisual__circle__text .__item.is-current.is-leave {
    visibility: hidden;
    opacity: 0;
    transform: translate3d(0, -1em, 0)
}

.p-top-keyvisual__circle__text .__item.-no1 {
    transform: translate3d(0, 0, 0)
}

.p-top-keyvisual__contents {
    position: relative;
    z-index: 10;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: flex-end;
    padding: 10rem;
    color: #fff;
    font-weight: 700
}

@media not screen and (min-width: 769px) {
    .p-top-keyvisual__contents {
        height:100svh;
        min-height: initial;
        min-height: auto
    }
}

.p-top-keyvisual__text {
    position: absolute;
    bottom: 8rem;
    left: 10rem;
    color: #fff
}

@media not screen and (min-width: 769px) {
    .p-top-keyvisual__text {
        left:2rem;
        bottom: 2.5rem
    }
}

.p-top-keyvisual__copyright {
    position: absolute;
    bottom: 8rem;
    right: 10rem;
    color: #fff;
    font-family: "Roboto",sans-serif;
    font-size: 1.3rem;
    opacity: .75;
    transition: opacity .2s;
    font-weight: bold
}

@media not screen and (min-width: 769px) {
    .p-top-keyvisual__copyright {
        display:none
    }
}

.is-show-mission .p-top-keyvisual__copyright {
    opacity: 0
}

.p-top-keyvisual__copy {
    --line-height: 1.25;
    font-weight: 700;
    letter-spacing: .05em
}

@media screen and (min-width: 769px) {
    .p-top-keyvisual__copy {
        font-size:7rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-keyvisual__copy {
        font-size:2.6rem
    }
}

.p-top-keyvisual__copy .__line>span {
    display: flex
}

.p-top-keyvisual__copy .__line>span .-character {
    transition: opacity .5s,transform .5s;
    opacity: 0;
    transform: translate3d(0.5em, 0, 0)
}

.is-loaded .p-top-keyvisual__copy .__line>span .-character {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.p-top-keyvisual__company-name-jp {
    font-weight: 700;
    position: relative;
    transition: opacity .3s .4s,transform .3s .4s;
    opacity: 0;
    transform: translate3d(1rem, 0, 0)
}

.is-loaded .p-top-keyvisual__company-name-jp {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

@media screen and (min-width: 769px) {
    .p-top-keyvisual__company-name-jp {
        font-size:2.2rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-keyvisual__company-name-jp {
        font-size:1.2rem
    }
}

.p-top-keyvisual__company-name-en {
    font-family: "Roboto",sans-serif;
    font-weight: 700;
    margin-top: 1em;
    transition: opacity .3s .5s,transform .3s .5s;
    opacity: 0;
    transform: translate3d(1rem, 0, 0)
}

.is-loaded .p-top-keyvisual__company-name-en {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

@media screen and (min-width: 769px) {
    .p-top-keyvisual__company-name-en {
        font-size:1.5rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-keyvisual__company-name-en {
        font-size:.8rem
    }
}

.p-top-keyvisual__copy>span {
    display: block
}

.p-top-keyvisual__line {
    background: #fff;
    left: 0;
    top: 0;
    display: block;
    position: relative;
    transition: opacity .3s .3s;
    opacity: 0
}

.is-loaded .p-top-keyvisual__line {
    opacity: 1
}

@media screen and (min-width: 769px) {
    .p-top-keyvisual__line {
        width:3rem;
        height: .4rem;
        margin-top: 3.7rem;
        margin-bottom: 3.5rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-keyvisual__line {
        width:1.5rem;
        height: .2rem;
        margin-top: 1.7rem;
        margin-bottom: 1.5rem
    }
}

.p-top-keyvisual__filter--black {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    will-change: opacity
}

@media not screen and (min-width: 769px) {
    .p-top-keyvisual__filter--black {
        height:100lvh
    }
}

.p-top-keyvisual__filter--black .__inner {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    backdrop-filter: blur(3rem);
    -webkit-backdrop-filter: blur(3rem)
}

@media not screen and (min-width: 769px) {
    .p-top-keyvisual__filter--black .__inner {
        height:100lvh
    }
}

.p-top-mission {
    background: linear-gradient(90deg, rgb(255 173 85), rgb(225 88 1));
    width: 100%;
    position: relative;
    z-index: 10;
    color: #fff;
    text-align: center
}

@media not screen and (min-width: 769px) {
    .p-top-mission {
        padding-top:10rem;
        padding-bottom: 1rem
    }
}

.p-top-mission__bg-line {
    position: absolute
}

@media screen and (min-width: 769px) {
    .p-top-mission__bg-line {
        width:100%;
        height: auto;
        left: -3rem;
        top: 3rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-mission__bg-line {
        width:100%;
        height: 100%;
        top: 0
    }
}

.p-top-mission__bg-line path:nth-child(odd) {
    opacity: .2
}

.p-top-mission__bg-line path:nth-child(even) {
    opacity: .2
}

.p-top-mission__bg-line circle {
    filter: blur(0.2rem);
    color: #fff;
    fill: #fff
}

@media not screen and (min-width: 769px) {
    .p-top-mission__bg-line__inner {
        overflow:hidden;
        position: sticky;
        left: 0;
        top: 0;
        height: auto
    }
}

@media not screen and (min-width: 769px) {
    .p-top-mission__bg-line__inner svg {
        width:230%
    }
}

.p-top-mission__title {
    margin-bottom: 3.5rem
}

.p-top-mission__copy--big {
    line-height: 1.25;
    position: relative;
    display: inline-block;
    margin-top: .5em;
    padding-bottom: .75em;
    margin-bottom: .75em
}

@media screen and (min-width: 769px) {
    .p-top-mission__copy--big {
        font-size:7.4rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-mission__copy--big {
        font-size:4.3rem;
        margin-bottom: 0
    }
}

@media screen and (min-width: 769px) {
    .p-top-mission__copy--big:after {
        content:"";
        position: absolute;
        width: 3rem;
        height: .4rem;
        background: #fff;
        bottom: 0;
        left: 50%;
        margin-left: -1.5rem
    }
}

.p-top-mission__copy--big .__line {
    display: block;
    position: relative;
    letter-spacing: .05em;
    text-indent: .45em
}

.p-top-mission__copy--big__croptext {
    --line-height: 1.25
}

.p-top-mission__copy--small {
    font-size: var(--font-size36);
    letter-spacing: .05em;
    --line-height: 1
}

@media not screen and (min-width: 769px) {
    .p-top-mission__copy--small {
        font-size:3rem;
        --line-height: 1.5
    }
}

.p-top-mission__text {
    font-size: var(--font-size22);
    font-weight: 700;
    --line-height: 2;
    margin-top: 2em;
    letter-spacing: .05em
}

.p-top-mission__inner {
    max-width: 180rem;
    width: 100%;
    margin: auto;
    position: relative;
    padding: 12rem 6rem 15rem;
}

@media not screen and (min-width: 769px) {
    .p-top-mission__inner {
        padding:0
    }
}

@media not screen and (min-width: 769px) {
    .p-top-mission__figure-area {
        position:relative;
        overflow: hidden
    }

    .p-top-mission__figure-area.-area01 {
        height: 20rem;
        margin-bottom: 2rem
    }

    .p-top-mission__figure-area.-area02 {
        height: 24rem;
        margin-bottom: 5rem
    }

    .p-top-mission__figure-area.-area03 {
        height: 58rem;
        margin-top: 6rem;
        margin-bottom: 6rem
    }
}

.p-top-mission__figure {
    position: absolute;
    overflow: hidden;
    border-radius: .5rem;
    z-index: 1
}

@media screen and (min-width: 769px) {
    .p-top-mission__figure.-img01 {
        left: 12rem;
    top: 4rem;
    width: 16rem;
    }
}

@media not screen and (min-width: 769px) {
    .p-top-mission__figure.-img01 {
        width:50%;
        top: 0;
        right: 0;
        left: auto;
        border-radius: .5rem 0 0 .5rem
    }
}

@media screen and (min-width: 769px) {
    .p-top-mission__figure.-img02 {
        left:0;
        top: 27rem;
        width: 25rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-mission__figure.-img02 {
        left:0;
        top: 3rem;
        width: 14rem;
        border-radius: 0 .5rem .5rem 0
    }
}

@media screen and (min-width: 769px) {
    .p-top-mission__figure.-img03 {
            left: 3rem;
    top: 26rem;
    width: 22rem;
    }
}

@media not screen and (min-width: 769px) {
    .p-top-mission__figure.-img03 {
        left:auto;
        right: 0;
        top: 4rem;
        width: 14rem;
        border-radius: .5rem 0 0 .5rem
    }
}

@media screen and (min-width: 769px) {
    .p-top-mission__figure.-img04 {
        left: 31.5rem;
    top: 83rem;
    width: 15rem;
    }
}

@media not screen and (min-width: 769px) {
    .p-top-mission__figure.-img04 {
        top:15rem;
        left: 8rem;
        width: 11rem;
        z-index: 2
    }
}

@media screen and (min-width: 769px) {
    .p-top-mission__figure.-img05 {
        left: 15rem;
    top: 55rem;
    width: 25rem;
    }
}

@media not screen and (min-width: 769px) {
    .p-top-mission__figure.-img05 {
        left:0;
        top: 0rem;
        width: 14rem;
        border-radius: 0 .5rem .5rem 0
    }
}

@media screen and (min-width: 769px) {
    .p-top-mission__figure.-img06 {
        right: 15rem;
    top: 6.5rem;
    width: 25rem;
    }
}

@media not screen and (min-width: 769px) {
    .p-top-mission__figure.-img06 {
        top:4rem;
        right: auto;
        left: 0;
        width: 16rem;
        border-radius: 0 .5rem .5rem 0
    }
}

@media screen and (min-width: 769px) {
    .p-top-mission__figure.-img07 {
        right: 6rem;
    top: 26rem;
    width: 20rem;
    }
}

@media not screen and (min-width: 769px) {
    .p-top-mission__figure.-img07 {
        right:0;
        top: 0;
        width: 16rem;
        border-radius: .5rem 0 0 .5rem
    }
}

@media screen and (min-width: 769px) {
    .p-top-mission__figure.-img08 {
            right: 17rem;
    top: 50rem;
    width: 25rem;
    }
}

@media not screen and (min-width: 769px) {
    .p-top-mission__figure.-img08 {
        width:16.5rem;
        right: 50%;
        top: 21rem;
        margin-right: -8.25rem
    }
}

@media screen and (min-width: 769px) {
    .p-top-mission__figure.-img09 {
        right: 6rem;
    top: 77rem;
    width: 24rem;
    }
}

@media not screen and (min-width: 769px) {
    .p-top-mission__figure.-img09 {
        width:18rem;
        top: 37rem;
        right: 0;
        border-radius: .5rem 0 0 .5rem
    }
}

@media screen and (min-width: 769px) {
    .p-top-mission__figure.-img10 {
        right: 47.5rem;
    top: 82rem;
    width: 15rem;
    }
}

@media not screen and (min-width: 769px) {
    .p-top-mission__figure.-img10 {
        top:48rem;
        left: 3rem;
        width: 10rem
    }
}

.p-top-mission__btn-area {
    margin-top: 3em
}

.p-top__effect__keyvisual__text {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 1;
    transition: opacity .3s
}

.is-show-mission .p-top__effect__keyvisual__text {
    opacity: 0
}

@media(orientation: landscape)and (max-width: 767px) {
    .p-top__effect__keyvisual__text {
        transform:scale(0.6);
        transform-origin: left bottom
    }
}

.p-top__effect__filter-little {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 0;
    transition: opacity .5s
}

.is-show-blur .p-top__effect__filter-little {
    opacity: 1
}

.p-top__effect__filter {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: opacity .5s
}

.is-show-mission .p-top__effect__filter {
    transition: opacity .75s
}

body:not(.is-show-mission) .p-top__effect__filter {
    opacity: 1 !important
}

.p-top__effect__mission-img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 1;
    transition: opacity .5s,transform .5s,filter .7s;
    transform: scale(1);
}

.is-show-mission .p-top__effect__mission-img {
    opacity: 1;
    transition: opacity .75s .1s,transform 1s,filter .7s .3s;
    transform: scale(1);
    filter: brightness(1)
}

.p-top__effect__mission-text {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 1;
    transition: opacity .5s
}

.is-show-mission .p-top__effect__mission-text {
    opacity: 1
}

.p-top__effect__mpath {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 1;
    transition: opacity .5s
}

.is-show-mission .p-top__effect__mpath {
    opacity: 1
}

.p-top__effect__black-filter {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 1;
    transition: opacity .5s
}

.is-show-mission .p-top__effect__black-filter {
    opacity: 1
}

.p-top-insurance {
    padding-top: 15rem;
    position: relative;
    z-index: 10;
    background: linear-gradient(90deg, rgb(46 65 83), rgb(57 122 187));
}

@media not screen and (min-width: 769px) {
    .p-top-insurance {
        padding-top:6rem
    }
}

.p-top-insurance__head {
    position: relative
}

.p-top-insurance__typo {
    position: absolute;
    right: 0;
    z-index: 6;
    color: #fff;
    overflow: hidden;
    pointer-events: none;
    font-family: "Roboto",sans-serif;
    line-height: 1;
    letter-spacing: .15em;
    white-space: nowrap;
    background-clip: text;
    mix-blend-mode: overlay;
    opacity: .3
}

@media screen and (min-width: 769px) {
    .p-top-insurance__typo {
        font-size:31rem;
        top: 12rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-insurance__typo {
        font-size:9rem;
        top: 18rem
    }
}

@media not screen and (min-width: 429px) {
    .p-top-insurance__typo {
        top:24rem
    }
}

.p-top-insurance__typo span {
    position: relative;
    display: block
}

@media screen and (min-width: 769px) {
    .p-top-insurance__typo span {
        right:-61rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-insurance__typo span {
        right:-26.3rem
    }
}

.p-top-insurance__text {
    color: #fff;
    --line-height: 2
}

@media not screen and (min-width: 769px) {
    .p-top-insurance__text {
        padding-right:2rem
    }
}

.p-top-insurance__body {
    display: flex;
    position: relative
}

@media screen and (min-width: 769px) {
    .p-top-insurance__body {
        margin-top:6rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-insurance__body {
        flex-direction:column;
        margin-top: 4rem
    }
}

.p-top-insurance__body:before {
    content: "";
    position: absolute;
    left: -10rem;
    bottom: 0;
    width: calc(100% + 10rem);
    background: #fff
}

@media screen and (min-width: 769px) {
    .p-top-insurance__body:before {
        height:50%
    }
}

@media not screen and (min-width: 769px) {
    .p-top-insurance__body:before {
        height:calc(100% - 17rem)
    }
}

@media screen and (min-width: 769px) {
    .p-top-insurance__body .p-top-insurance__item:first-child {
        border-radius:.5rem 0 0 .5rem;
        overflow: hidden;
        position: relative;
        z-index: 1
    }
}

@media not screen and (min-width: 769px) {
    .p-top-insurance__body .p-top-insurance__item .p-top-insurance__item__img {
        border-radius:.5rem 0 0 .5rem;
        overflow: hidden;
        position: relative;
        z-index: 1
    }
}

.p-top-insurance__item {
    position: relative;
    z-index: 5;
    overflow: hidden;
    z-index: 1
}

@media screen and (min-width: 769px) {
    .p-top-insurance__item {
        width:50%;
        color: #fff
    }
}

@media not screen and (min-width: 769px) {
    .p-top-insurance__item {
        width:100%
    }
}

@media not screen and (min-width: 769px) {
    .p-top-insurance__item+.p-top-insurance__item {
        margin-top:6rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-insurance__item__img {
        position:relative
    }
}

.p-top-insurance__item__content {
    position: absolute;
    bottom: 10rem;
    left: 10rem;
    z-index: 5;
    width: 50%;
    max-width: 40.5rem;
    color: #fff
}

@media screen and (min-width: 769px)and (max-width: 1280px) {
    .p-top-insurance__item__content {
        width:50%;
        max-width: initial;
        max-width: auto
    }
}

@media not screen and (min-width: 769px) {
    .p-top-insurance__item__content {
        position:relative;
        display: block;
        width: 100%;
        left: 0;
        bottom: 0;
        padding-right: 2rem;
        margin-top: 3rem;
        color: #0f1821
    }
}

@media not screen and (min-width: 769px) {
    .p-top-insurance__item__content__title .__mask {
        display:inline-block;
        background-image: linear-gradient(45deg, #EC6C00, #FAD6B4);
        -webkit-text-fill-color: transparent;
        background-clip: text;
        -webkit-background-clip: text;
        background-size: 200%
    }
}

.p-top-insurance__item__text {
    --line-height: 2;
    margin: 2.25em 0
}

@media not screen and (min-width: 769px) {
    .p-top-insurance__item__text {
        margin:3rem 0 0
    }
}

@media screen and (min-width: 769px) {
    /*.p-top-insurance__item__img {
        height:90rem
    }*/
}

.p-top-insurance__item__figure.-parallax {
    position: relative;
    height: calc(100% + 20%);
    top: -10%
}

@media screen and (min-width: 769px) {
    .p-top-insurance__item__figure:before {
        content:"";
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        background: #000;
        opacity: 0;
        z-index: 4;
        transition: opacity .5s .5s
    }

    .is-done .p-top-insurance__item__figure:before {
        opacity: .25
    }
}

@media(hover: hover) {
    .p-top-insurance__item:hover .p-top-insurance__item__figure:before {
        animation:hover-flash 1s
    }

    @keyframes hover-flash {
        0% {
            opacity: 0
        }

        100% {
            opacity: .25
        }
    }
}

@media(hover: hover) {
    .p-top-insurance__item:hover .p-top-insurance__item__arrow:before {
        opacity:0
    }

    .p-top-insurance__item:hover .p-top-insurance__item__arrow:after {
        opacity: 1
    }
}

.p-top-insurance__item__figure:after {
    padding-top: 100%
}

@media not screen and (min-width: 769px) {
    .p-top-insurance__item__arrow {
        position:absolute;
        right: 2rem;
        top: .3rem;
        border: .2rem solid #ccc;
        width: 4rem;
        height: 4rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-insurance__item__arrow:before {
        background-image:url(../img/icon_arrow_left_orange.svg);
        background-size: 40%;
        background-repeat: no-repeat;
        background-position: center
    }
}

.p-top-news {
    background: #fff;
    position: relative;
    z-index: 10;
    padding-top: 18rem;
    padding-bottom: 20rem
}

@media not screen and (min-width: 769px) {
    .p-top-news {
        padding-top:6rem;
        padding-bottom: 8rem
    }
}

.p-top-news__inner {
    display: flex;
    justify-content: space-between
}

@media not screen and (min-width: 769px) {
    .p-top-news__inner {
        flex-direction:column
    }
}

@media screen and (min-width: 769px) {
    .p-top-news__head {
        width:25%
    }
}

@media not screen and (min-width: 769px) {
    .p-top-news__head {
        width:100%
    }
}

@media screen and (min-width: 769px) {
    .p-top-news__body {
        width:75%
    }
}

@media not screen and (min-width: 769px) {
    .p-top-news__body {
        width:100%
    }
}

@media screen and (min-width: 769px) {
    .p-top-news__btn-area {
        margin-top:3rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-news__btn-area {
        margin-top:3rem
    }
}

.p-top-news__btn {
    margin-right: 0
}

.p-top-contact {
    position: relative;
    z-index: 10
}

.p-top-contact__typo {
    position: absolute;
    right: 0;
    z-index: 6;
    overflow: hidden;
    color: #fff;
    pointer-events: none;
    font-family: "Roboto",sans-serif;
    line-height: 1;
    letter-spacing: .15em;
    white-space: nowrap;
    background-clip: text;
    mix-blend-mode: overlay;
    opacity: .3
}

@media screen and (min-width: 769px) {
    .p-top-contact__typo {
        font-size:31rem;
        bottom: -7rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-contact__typo {
        bottom:-2.5rem;
        font-size: 9rem
    }
}

.p-top-contact__typo span {
    position: relative;
    display: block
}

@media screen and (min-width: 769px) {
    .p-top-contact__typo span {
        right:-50rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-contact__typo span {
        right:-15rem
    }
}

.p-top-contact__img {
    left: 0;
    overflow: hidden;
    z-index: 1;
    border-radius: 0 .5rem .5rem 0;
    display: flex
}

@media screen and (min-width: 769px) {
    .p-top-contact__img {
        position:absolute;
        top: -10rem;
        width: calc(((100% - 152rem) / 2) + 57rem);
        height: calc(100% + 2.5rem)
    }
}

@media not screen and (min-width: 769px) {
    .p-top-contact__img {
        position:relative;
        top: -2rem;
        width: calc(100% - 2rem);
        height: auto
    }
}

.p-top-contact__img__item {
    position: relative;
    width: calc(100% / 3);
    overflow: hidden
}

.p-top-contact__text {
    line-height: 2
}

.p-top-contact {
    color: #fff
}

.p-top-contact__figure:after {
    height: 100%
}

.p-top-contact__figure {
    position: relative;
    width: 100%;
    height: 100%;
    left: 0%
}

.p-top-contact__figure.-parallax {
    width: 116%
}

@media not screen and (min-width: 769px) {
    .p-top-contact__figure {
        padding-top:200%
    }
}

@media not screen and (min-width: 769px) {
    .p-top-contact__figure img {
        object-position:top
    }
}

.p-top-contact__content {
    width: 50%;
    position: relative;
    padding: 13rem 0;
    margin-left: auto
}

@media not screen and (min-width: 769px) {
    .p-top-contact__content {
        width:100%;
        padding: 1rem 0 6rem
    }
}

@media screen and (min-width: 769px) {
    .p-top-contact__body {
        margin-top:6rem
    }
}

@media not screen and (min-width: 769px) {
    .p-top-contact__body {
        margin-top:3rem
    }
}

.p-top-contact__group {
    display: flex;
    justify-content: space-between
}

@media not screen and (min-width: 769px) {
    .p-top-contact__group {
        flex-direction:column
    }
}

.p-top-contact__tel dt {
    font-size: 90%;
    margin-bottom: 1rem
}

.p-top-contact__tel__number {
    color: #fff;
    font-family: "Roboto",sans-serif;
    font-weight: bold;
    font-size: 3.6rem;
    letter-spacing: .05em
}

.p-top-contact__tel__number {
    position: relative;
    display: flex;
    align-items: center
}

.p-top-contact__tel__number:before {
    content: "";
    width: 2.6rem;
    height: 3.2rem;
    margin-right: 1rem;
    background-image: url(../img/common/icon_tel.svg);
    background-repeat: no-repeat;
    background-size: contain
}

.p-top-contact__tell__hour {
    font-size: 90%;
    margin-top: 1rem
}

.p-top-contact__tell__hour:before {
    content: "[";
    margin-right: .2em
}

.p-top-contact__tell__hour:after {
    content: "]";
    margin-left: .2em
}

.p-top-contact__mail {
    width: 100%;
    max-width: 38rem
}

@media not screen and (min-width: 769px) {
    .p-top-contact__mail {
        margin-top:2rem
    }
}

@media screen and (min-width: 769px) {
    .u-visible-pc {
        display:block
    }

    .u-visible-sp {
        display: none
    }
}

@media not screen and (min-width: 769px) {
    .u-visible-pc {
        display:none !important
    }

    .u-visible-sp {
        display: block !important
    }
}

.u-atmark:before {
    content: "@"
}

.u-margin-footer {
    margin-bottom: 15rem
}

.u-padding-footer {
    padding-bottom: 15rem
}

@media screen and (min-width: 769px) {
    .u-anchor-space {
        margin-top:-10rem;
        padding-top: 10rem
    }
}

@media not screen and (min-width: 769px) {
    .u-anchor-space {
        margin-top:-8rem;
        padding-top: 8rem
    }
}

.u-overflow-hidden {
    overflow: hidden
}

.js-enter {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.js-enter .js-enter__character {
    transition: opacity .2s;
    opacity: 0
}

.js-enter .js-enter__character>span {
    display: flex
}

.js-enter .js-enter__character>span .-character {
    transition: opacity .6s,transform .6s,color 1.4s;
    opacity: 0;
    color: #ec6c00;
    transform: translate3d(2rem, 0, 0)
}

.js-enter .js-enter__character.-en.--orange .__mask {
    transition: opacity .6s,background-position 3s;
    background: linear-gradient(90deg, rgba(236, 108, 0, 0) 0%, rgba(236, 108, 0, 0) 8%, #ec6c00 15%, #fad6b4 25%, #ec6c00 33%, #ec6c00 86%, #ec6c00 100%);
    background-size: 350%;
    background-position: 0% 50%;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    -webkit-background-clip: text
}

.js-enter .js-enter__character.--white>span .-character {
    color: #fff
}

.js-enter.is-done .js-enter__character {
    opacity: 1
}

.js-enter.is-done .js-enter__character>span .-character {
    color: currentColor;
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.js-enter.is-done .js-enter__character.-en.--orange .__mask {
    background: linear-gradient(90deg, rgba(236, 108, 0, 0) 0%, rgba(236, 108, 0, 0) 8%, #ec6c00 15%, #fad6b4 25%, #ec6c00 33%, #ec6c00 86%, #ec6c00 100%);
    background-size: 350%;
    background-position: 100% 50%;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    -webkit-background-clip: text
}

.js-enter.is-done .js-enter__character.-en.--orange .__mask {
    background: linear-gradient(90deg, rgba(236, 108, 0, 0) 0%, rgba(236, 108, 0, 0) 8%, #ec6c00 15%, #fad6b4 25%, #ec6c00 33%, #ec6c00 86%, #ec6c00 100%);
    background-size: 350%;
    background-position: 100% 50%;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    -webkit-background-clip: text
}

.js-enter.-fadein,.js-enter .-fadein {
    transition: opacity .5s,transform .5s;
    opacity: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.js-enter.is-done.-fadein,.js-enter.is-done .-fadein {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.js-enter.-fadeinup,.js-enter .-fadeinup {
    transition: opacity .5s,transform .5s;
    opacity: 0;
    transform: translate3d(0, 2rem, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.js-enter.is-done.-fadeinup,.js-enter.is-done .-fadeinup {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.js-enter.-fadeinleft,.js-enter .-fadeinleft {
    transition: opacity .5s,transform .5s;
    opacity: 0;
    transform: translate3d(2rem, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.js-enter.-fadeinleft.--short,.js-enter .-fadeinleft.--short {
    transform: translate3d(1rem, 0, 0)
}

.js-enter.is-done.-fadeinleft,.js-enter.is-done .-fadeinleft {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.js-enter.-stagger *:nth-child(1),.js-enter .-stagger *:nth-child(1) {
    transition-delay: 0.1s
}

.js-enter.-stagger *:nth-child(2),.js-enter .-stagger *:nth-child(2) {
    transition-delay: 0.16s
}

.js-enter.-stagger *:nth-child(3),.js-enter .-stagger *:nth-child(3) {
    transition-delay: 0.22s
}

.js-enter.-stagger *:nth-child(4),.js-enter .-stagger *:nth-child(4) {
    transition-delay: 0.28s
}

.js-enter.-stagger *:nth-child(5),.js-enter .-stagger *:nth-child(5) {
    transition-delay: 0.34s
}

.js-enter.-stagger *:nth-child(6),.js-enter .-stagger *:nth-child(6) {
    transition-delay: 0.4s
}

.js-enter.-stagger *:nth-child(7),.js-enter .-stagger *:nth-child(7) {
    transition-delay: 0.46s
}

.js-enter.-stagger *:nth-child(8),.js-enter .-stagger *:nth-child(8) {
    transition-delay: 0.52s
}

.js-enter .-delay1 {
    transition-delay: 0.1s
}

.js-enter .-delay2 {
    transition-delay: 0.15s
}

.js-enter .-delay3 {
    transition-delay: 0.2s
}

.js-enter .-delay4 {
    transition-delay: 0.25s
}

.js-enter .-delay5 {
    transition-delay: 0.3s
}

.js-enter .-delay6 {
    transition-delay: 0.35s
}

.js-enter .-delay7 {
    transition-delay: 0.4s
}

.js-enter .-delay8 {
    transition-delay: 0.45s
}

.js-enter.-fadeinbright,.js-enter .-fadeinbright {
    transition: opacity .5s,transform .5s,filter .5s .2s;
    opacity: 0;
    filter: brightness(1.5);
    transform: translate3d(0, 2rem, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.js-enter.is-done.-fadeinbright,.js-enter.is-done .-fadeinbright {
    opacity: 1;
    filter: brightness(1);
    transform: translate3d(0, 0, 0)
}

.js-parallax-hero {
    width: 100%;
    height: 120%;
    position: relative;
    top: -10%
}



.inner {
    width: 60%;
    height: 300px;
    background-color: #fff;
    padding: 20px 10px;
    /* 縦スクロールの設定 */
    overflow-y: scroll;
    margin: 0 auto;
}

.inner dl{display: block;
    text-align: left;}
.inner dl dt{width: 100%}
.inner dl dd{width: 100%}

.c-form__privacy{
    font-size: 1.4rem;
    line-height: 150%;
}