@charset "UTF-8";

[data-astro-image] {
    width: 100%;
    height: auto;
    object-fit: var(--fit);
    object-position: var(--pos);
    aspect-ratio: var(--w) / var(--h)
}

[data-astro-image=responsive] {
    max-width: calc(var(--w) * 1px);
    max-height: calc(var(--h) * 1px)
}

[data-astro-image=fixed] {
    width: calc(var(--w) * 1px);
    height: calc(var(--h) * 1px)
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translateZ(0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.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-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px;

    .swiper-slide,
    .swiper-cube-shadow {
        transform-style: preserve-3d
    }
}

.swiper-css-mode {
    >.swiper-wrapper {
        overflow: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;

        &::-webkit-scrollbar {
            display: none
        }
    }

    >.swiper-wrapper>.swiper-slide {
        scroll-snap-align: start start
    }

    &.swiper-horizontal {
        >.swiper-wrapper {
            scroll-snap-type: x mandatory
        }
    }

    &.swiper-vertical {
        >.swiper-wrapper {
            scroll-snap-type: y mandatory
        }
    }

    &.swiper-free-mode {
        >.swiper-wrapper {
            scroll-snap-type: none
        }

        >.swiper-wrapper>.swiper-slide {
            scroll-snap-align: none
        }
    }

    &.swiper-centered {
        >.swiper-wrapper:before {
            content: "";
            flex-shrink: 0;
            order: 9999
        }

        >.swiper-wrapper>.swiper-slide {
            scroll-snap-align: center center;
            scroll-snap-stop: always
        }
    }

    &.swiper-centered.swiper-horizontal {
        >.swiper-wrapper>.swiper-slide:first-child {
            margin-inline-start: var(--swiper-centered-offset-before)
        }

        >.swiper-wrapper:before {
            height: 100%;
            min-height: 1px;
            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-wrapper:before {
            width: 100%;
            min-width: 1px;
            height: var(--swiper-centered-offset-after)
        }
    }
}

.swiper-3d {

    .swiper-slide-shadow,
    .swiper-slide-shadow-left,
    .swiper-slide-shadow-right,
    .swiper-slide-shadow-top,
    .swiper-slide-shadow-bottom {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 10
    }

    .swiper-slide-shadow {
        background: #00000026
    }

    .swiper-slide-shadow-left {
        background-image: linear-gradient(to left, #00000080, #0000)
    }

    .swiper-slide-shadow-right {
        background-image: linear-gradient(to right, #00000080, #0000)
    }

    .swiper-slide-shadow-top {
        background-image: linear-gradient(to top, #00000080, #0000)
    }

    .swiper-slide-shadow-bottom {
        background-image: linear-gradient(to bottom, #00000080, #0000)
    }
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
    .swiper-lazy-preloader {
        animation: swiper-preloader-spin 1s infinite linear
    }
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    width: var(--swiper-navigation-size);
    height: var(--swiper-navigation-size);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));

    &.swiper-button-disabled {
        opacity: .35;
        cursor: auto;
        pointer-events: none
    }

    &.swiper-button-hidden {
        opacity: 0;
        cursor: auto;
        pointer-events: none
    }

    .swiper-navigation-disabled & {
        display: none !important
    }

    svg {
        width: 100%;
        height: 100%;
        object-fit: contain;
        transform-origin: center;
        fill: currentColor;
        pointer-events: none
    }
}

.swiper-button-lock {
    display: none
}

.swiper-button-prev,
.swiper-button-next {
    top: var(--swiper-navigation-top-offset, 50%);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2))
}

.swiper-button-prev {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto;

    .swiper-navigation-icon {
        transform: rotate(180deg)
    }
}

.swiper-button-next {
    right: var(--swiper-navigation-sides-offset, 4px);
    left: auto
}

.swiper-horizontal {

    .swiper-button-prev,
    .swiper-button-next,
    ~.swiper-button-prev,
    ~.swiper-button-next {
        top: var(--swiper-navigation-top-offset, 50%);
        margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
        margin-left: 0
    }

    .swiper-button-prev,
    ~.swiper-button-prev,
    &.swiper-rtl .swiper-button-next,
    &.swiper-rtl~.swiper-button-next {
        left: var(--swiper-navigation-sides-offset, 4px);
        right: auto
    }

    .swiper-button-next,
    ~.swiper-button-next,
    &.swiper-rtl .swiper-button-prev,
    &.swiper-rtl~.swiper-button-prev {
        right: var(--swiper-navigation-sides-offset, 4px);
        left: auto
    }

    .swiper-button-prev,
    ~.swiper-button-prev,
    &.swiper-rtl .swiper-button-next,
    &.swiper-rtl~.swiper-button-next {
        .swiper-navigation-icon {
            transform: rotate(180deg)
        }
    }

    &.swiper-rtl .swiper-button-prev,
    &.swiper-rtl~.swiper-button-prev {
        .swiper-navigation-icon {
            transform: rotate(0)
        }
    }
}

.swiper-vertical {

    .swiper-button-prev,
    .swiper-button-next,
    ~.swiper-button-prev,
    ~.swiper-button-next {
        left: var(--swiper-navigation-top-offset, 50%);
        right: auto;
        margin-left: calc(0px - (var(--swiper-navigation-size) / 2));
        margin-top: 0
    }

    .swiper-button-prev,
    ~.swiper-button-prev {
        top: var(--swiper-navigation-sides-offset, 4px);
        bottom: auto;

        .swiper-navigation-icon {
            transform: rotate(-90deg)
        }
    }

    .swiper-button-next,
    ~.swiper-button-next {
        bottom: var(--swiper-navigation-sides-offset, 4px);
        top: auto;

        .swiper-navigation-icon {
            transform: rotate(90deg)
        }
    }
}

.swiper-fade {
    &.swiper-free-mode {
        .swiper-slide {
            transition-timing-function: ease-out
        }
    }

    .swiper-slide {
        pointer-events: none;
        transition-property: opacity;

        .swiper-slide {
            pointer-events: none
        }
    }

    .swiper-slide-active {
        pointer-events: auto;

        .swiper-slide-active {
            pointer-events: auto
        }
    }
}

/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,
:before,
:after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0
}

main {
    display: block
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
    margin: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
    margin: 0
}

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none
}

dt {
    font-weight: 700
}

dd {
    margin-left: 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit
}

pre {
    font-family: monospace, monospace;
    font-size: inherit
}

address {
    font-style: inherit
}

a {
    background-color: transparent;
    text-decoration: none;
    color: inherit
}

abbr[title] {
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: inherit
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

svg,
img,
embed,
object,
iframe {
    vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit
}

button,
[type=button],
[type=reset],
[type=submit] {
    cursor: pointer
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
    cursor: default
}

:-moz-focusring {
    outline: auto
}

select:disabled {
    opacity: inherit
}

option {
    padding: 0
}

fieldset {
    margin: 0;
    padding: 0;
    min-width: 0
}

legend {
    padding: 0
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

[type=number] {
    -moz-appearance: textfield
}

label[for] {
    cursor: pointer
}

details {
    display: block
}

summary {
    display: list-item
}

[contenteditable]:focus {
    outline: auto
}

table {
    border-color: inherit;
    border-collapse: collapse
}

caption {
    text-align: left
}

td,
th {
    vertical-align: top;
    padding: 0
}

th {
    text-align: left;
    font-weight: 700
}

:root {
    --baseColor: #0156d5
}

html {
    scroll-padding-top: 5.625rem
}

@media screen and (max-width: 1366px) {
    html {
        font-size: 1.1713030747vw
    }
}

@media screen and (max-width: 768px) {
    html {
        font-size: 4.2666666667vw
    }
}

body {
    font-family: Noto Sans JP, 游ゴシック体, YuGothic, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック, Yu Gothic, "sans-serif";
    word-break: normal;
    overflow-wrap: anywhere;
    line-break: strict;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -ms-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    overflow-x: hidden;
    padding-top: 5.625rem
}

@media screen and (max-width: 768px) {
    body {
        font-size: .75rem;
        padding-top: 5.9375rem
    }
}

.container {
    margin: 0 auto;
    width: 62.5rem
}

@media screen and (max-width: 768px) {
    .container {
        width: 21.1875rem
    }
}

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

svg {
    width: 100%;
    height: auto
}

.page-header {
    margin-bottom: 4.0625rem;
    padding-top: 5.625rem;
    position: relative
}

.page-header:after {
    content: " ";
    position: absolute;
    width: 100%;
    height: 26.25rem;
    top: 0;
    left: 0;
    z-index: -1;
    background: linear-gradient(180deg, #d2ecf8 40%, #fff)
}

.page-header__eng {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    margin: 0 auto 2.1875rem
}

.numberspage .page-header__eng {
    width: 20.1875rem;
    height: 5.0625rem;
    background-image: url(../../assets/images/numbers-title.svg)
}

.qapage .page-header__eng {
    width: 9.75rem;
    height: 5.25rem;
    background-image: url(../../assets/images/qa-title.svg)
}

.recruitpage .page-header__eng {
    width: 14.25rem;
    height: 4.4375rem;
    background-image: url(../../assets/images/recruit-title.svg)
}

.page-header__ja {
    font-size: 2.0625rem;
    font-weight: 700;
    text-align: center;
    color: var(--baseColor)
}

.page-header__object {
    pointer-events: none;
    position: absolute;
    height: 100%;
    top: 0;
    left: 50%;
    transform: translate(-50%);
    width: 68.75rem
}

.page-header__object li {
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.page-header__object li:nth-child(1) {
    left: 0;
    width: 18.75rem
}

.page-header__object li:nth-child(2) {
    right: 0;
    width: 16.25rem
}

@media screen and (max-width: 768px) {
    .page-header {
        margin-bottom: 2.5rem;
        padding-top: 1.5625rem
    }

    .page-header:after {
        height: 10.9375rem
    }

    .page-header__eng {
        margin: 0 auto .8125rem
    }

    .numberspage .page-header__eng {
        width: 7.6875rem;
        height: 1.875rem
    }

    .qapage .page-header__eng {
        width: 3.5rem;
        height: 1.9375rem
    }

    .recruitpage .page-header__eng {
        width: 6.1875rem;
        height: 1.875rem
    }

    .page-header__ja {
        font-size: .9375rem
    }

    .page-header__object {
        width: 21rem
    }

    .page-header__object li {
        position: absolute;
        top: 50%;
        transform: translateY(-50%)
    }

    .page-header__object li:nth-child(1) {
        left: 0;
        width: auto;
        height: 4.0625rem
    }

    .page-header__object li:nth-child(1) img {
        width: auto;
        height: 4.0625rem
    }

    .page-header__object li:nth-child(2) {
        right: 0;
        width: auto;
        height: 4.375rem
    }

    .page-header__object li:nth-child(2) img {
        width: auto;
        height: 4.375rem
    }
}

.page-breadcrumb {
    display: flex;
    align-items: center;
    font-size: .875rem;
    gap: .5em
}

.page-breadcrumb li {
    display: flex;
    align-items: center;
    gap: .5em
}

.page-breadcrumb li a {
    display: block
}

.page-breadcrumb li:after {
    content: ">";
    display: block
}

.page-breadcrumb li:last-child:after {
    display: none
}

@media screen and (max-width: 768px) {
    .page-breadcrumb {
        display: none
    }
}

[data-only-show=pc] {
    display: block
}

@media screen and (max-width: 640px) {
    [data-only-show=pc] {
        display: none !important
    }
}

[data-only-show=sp] {
    display: none
}

@media screen and (max-width: 640px) {
    [data-only-show=sp] {
        display: block !important
    }
}

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

.header {
    background: #fff;
    height: 5.625rem;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10
}

.header .container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    padding: 1.25rem 0 0
}

.header__logo a {
    display: flex;
    align-items: flex-start;
    gap: 3.6875rem;
    color: #727171;
    font-size: 1.125rem;
    padding-top: .625rem;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .header__logo a:hover {
        opacity: .5
    }
}

.header__logo a span {
    margin-top: -.625rem;
    width: 20.75rem;
    height: 3.75rem;
    background: url(../../assets/images/logo.png) no-repeat center;
    background-size: contain;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent
}

@media screen and (max-width: 768px) {
    .header {
        background: #fff;
        height: 5.9375rem
    }

    .header .container {
        flex-direction: column;
        padding: .625rem 0 0;
        gap: .4375rem
    }

    .header__logo a {
        gap: 1.125rem;
        font-size: .875rem
    }

    .header__logo a span {
        width: 5.625rem;
        height: 2.375rem
    }
}

.nav {
    display: flex;
    gap: 3.75rem;
    align-items: center;
    position: relative;
    z-index: 10
}

.nav__entry {
    width: 7.5rem;
    position: relative
}

.nav__entry>a {
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: .1875rem;
    color: #fff;
    width: 100%;
    height: 2.8125rem;
    font-size: .9375rem;
    font-weight: 600;
    transition: .4s cubic-bezier(.43, .05, .17, 1);
    background: linear-gradient(0deg, #2a6cde .33%, #51aeea)
}

@media (hover: hover) and (pointer: fine) {
    .nav__entry>a:hover {
        opacity: .75
    }
}

.nav__entry>a.is-active {
    background: #fff;
    border: solid 1px #0156d5;
    color: #0156d5
}

.nav__entry:nth-child(2) a {
    background: linear-gradient(0deg, #343434 .55%, #706e68 99.98%)
}

.nav__entry-list {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 3.125rem;
    border: solid 1px #0156d5;
    background: #fff;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

.nav__entry-list.is-active {
    opacity: 1;
    visibility: visible
}

.nav__entry-list li {
    border-bottom: solid 1px #bcdfff
}

.nav__entry-list li:last-child {
    border-bottom: none
}

.nav__entry-list li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: .9375rem;
    padding: .9375rem 1.5625rem;
    white-space: nowrap;
    gap: 1.25rem;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

.nav__entry-list li a:hover {
    background: #0156d5;
    color: #fff
}

.nav__entry-list li a:hover:after {
    background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iYSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNi4zOSIgaGVpZ2h0PSIxMC41OCIgdmlld0JveD0iMCAwIDYuMzkgMTAuNTgiPjxkZWZzPjxzdHlsZT4uYntmaWxsOiNmZmZmZmY7fTwvc3R5bGU+PC9kZWZzPjxwb2x5Z29uIGNsYXNzPSJiIiBwb2ludHM9IjYuMzkgNS4yOSAwIDEwLjU4IDAgMCA2LjM5IDUuMjkiLz48L3N2Zz4=) no-repeat center;
    background-size: contain
}

.nav__entry-list li a:after {
    content: " ";
    width: .375rem;
    height: .625rem;
    display: block;
    transition: .4s cubic-bezier(.43, .05, .17, 1);
    background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iYSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNi4zOSIgaGVpZ2h0PSIxMC41OCIgdmlld0JveD0iMCAwIDYuMzkgMTAuNTgiPjxkZWZzPjxzdHlsZT4uYntmaWxsOiMwMTU2ZDU7fTwvc3R5bGU+PC9kZWZzPjxwb2x5Z29uIGNsYXNzPSJiIiBwb2ludHM9IjYuMzkgNS4yOSAwIDEwLjU4IDAgMCA2LjM5IDUuMjkiLz48L3N2Zz4=) no-repeat center;
    background-size: contain
}

@media screen and (max-width: 768px) {
    .nav {
        width: 100%;
        justify-content: space-between;
        gap: 1.25rem
    }

    .nav ul {
        gap: .5rem
    }

    .nav__entry {
        width: 6.375rem
    }

    .nav__entry>a {
        height: 1.625rem;
        font-size: .875rem
    }

    .nav__entry-list {
        top: 1.9375rem
    }

    .nav__entry-list li a {
        font-size: .875rem;
        padding: .625rem 1.25rem
    }
}

.hamburger-menu-btn {
    width: 3.125rem;
    height: 2.375rem;
    position: relative;
    display: block;
    cursor: pointer
}

.hamburger-menu-btn span {
    position: absolute;
    left: 0;
    width: 100%;
    background: #5a5a5a;
    height: .1875rem;
    transition: all .4s cubic-bezier(.43, .05, .17, 1)
}

.hamburger-menu-btn span:nth-child(1) {
    top: 0
}

.hamburger-menu-btn span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%)
}

.hamburger-menu-btn span:nth-child(3) {
    top: 100%;
    transform: translateY(-100%)
}

.is-hamburger-menu-open .hamburger-menu-btn span:nth-child(1) {
    top: 50%;
    transform: translateY(-50%) rotate(-45deg)
}

.is-hamburger-menu-open .hamburger-menu-btn span:nth-child(2) {
    opacity: 0
}

.is-hamburger-menu-open .hamburger-menu-btn span:nth-child(3) {
    top: 50%;
    transform: translateY(-50%) rotate(45deg)
}

@media screen and (max-width: 768px) {
    .hamburger-menu-btn {
        width: 2rem;
        height: 1.4375rem
    }
}

.hamburger-menu {
    position: absolute;
    right: 0;
    z-index: 5;
    top: 7.5rem;
    visibility: hidden;
    transition-delay: 2s
}

.is-hamburger-menu-open .hamburger-menu {
    transition-delay: 0s;
    visibility: visible
}

.hamburger-menu:before {
    content: " ";
    z-index: 0;
    background: #9fe1ff;
    opacity: .9;
    border-radius: 0 0 0 5.625rem;
    width: 0;
    height: 0;
    position: absolute;
    right: calc((50dvw - 31.25rem)*-1);
    top: -7.5rem;
    transition: all .4s cubic-bezier(.43, .05, .17, 1);
    transition-delay: .25s
}

.is-hamburger-menu-open .hamburger-menu:before {
    transition-delay: 0s;
    width: calc(100% + 50dvw - 27.5rem);
    height: calc(100% + 11.25rem)
}

.hamburger-menu>ul {
    display: grid;
    grid-template-columns: 100%;
    gap: .8125rem;
    z-index: 1;
    position: relative;
    margin-right: -4.375rem;
    transition: all .4s cubic-bezier(.43, .05, .17, 1);
    opacity: 0;
    visibility: hidden
}

.is-hamburger-menu-open .hamburger-menu>ul {
    opacity: 1;
    transition-delay: .25s;
    visibility: visible
}

.hamburger-menu__text a {
    display: block;
    font-size: 1.4375rem;
    font-weight: 700;
    color: var(--baseColor);
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .hamburger-menu__text a:hover {
        opacity: .75
    }
}

.hamburger-menu__interview>span,
.hamburger-menu__interview>a {
    display: block;
    font-size: 1.4375rem;
    font-weight: 700;
    color: var(--baseColor);
    margin-bottom: .75rem
}

.hamburger-menu__interview ul {
    display: grid;
    grid-template-columns: 100%;
    gap: .375rem
}

.hamburger-menu__interview ul li a {
    display: flex;
    align-items: center;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--baseColor);
    gap: .625rem;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .hamburger-menu__interview ul li a:hover {
        opacity: .75
    }
}

.hamburger-menu__interview ul li a span {
    width: 4.375rem;
    min-width: 4.375rem;
    height: 1.125rem;
    border-radius: .25rem;
    background-color: var(--baseColor);
    padding: .25rem .5rem;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    position: relative
}

.hamburger-menu__interview ul li a span:before {
    content: " ";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #fff;
    mask-image: var(--bg);
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: auto .625rem
}

.hamburger-menu__movie>span,
.hamburger-menu__movie>a {
    display: block;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--baseColor);
    margin-bottom: .75rem
}

.hamburger-menu__movie ul {
    display: grid;
    grid-template-columns: 100%;
    gap: .375rem
}

.hamburger-menu__movie ul li a {
    display: flex;
    align-items: center;
    font-size: .9375rem;
    font-weight: 700;
    color: var(--baseColor);
    gap: .625rem;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .hamburger-menu__movie ul li a:hover {
        opacity: .75
    }
}

.hamburger-menu__movie ul li a span {
    width: 6.25rem;
    min-width: 6.25rem;
    height: 1.125rem;
    border-radius: .25rem;
    background-color: var(--baseColor);
    padding: .25rem .5rem;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    position: relative
}

.hamburger-menu__movie ul li a span:before {
    content: " ";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #fff;
    mask-image: var(--bg);
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: auto .625rem
}

.hamburger-menu__numbers a {
    display: flex;
    align-items: flex-end;
    font-size: .9375rem;
    font-weight: 700;
    color: var(--baseColor);
    gap: .6875rem;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .hamburger-menu__numbers a:hover {
        opacity: .75
    }
}

.hamburger-menu__numbers a span {
    width: 6rem;
    height: 1.125rem;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    background: url(../../assets/images/hamburger-menu__numbers.svg) no-repeat center;
    background-size: contain
}

.hamburger-menu__qa a {
    display: flex;
    align-items: flex-end;
    font-size: .9375rem;
    font-weight: 700;
    color: var(--baseColor);
    gap: .6875rem;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .hamburger-menu__qa a:hover {
        opacity: .75
    }
}

.hamburger-menu__qa a span {
    width: 3.1875rem;
    height: 1.3125rem;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    background: url(../../assets/images/hamburger-menu__qa.svg) no-repeat center;
    background-size: contain;
    margin-bottom: -.1875rem
}

.hamburger-menu__recruit a {
    display: flex;
    align-items: flex-end;
    font-size: .9375rem;
    font-weight: 700;
    color: var(--baseColor);
    gap: .6875rem;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .hamburger-menu__recruit a:hover {
        opacity: .75
    }
}

.hamburger-menu__recruit a span {
    width: 4.6875rem;
    height: 1.125rem;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    background: url(../../assets/images/hamburger-menu__recruit.svg) no-repeat center;
    background-size: contain
}

@media screen and (max-width: 768px) {
    .hamburger-menu {
        top: 5.9375rem
    }

    .hamburger-menu:before {
        border-radius: 0 0 0 2.8125rem;
        width: 0;
        height: 0;
        position: absolute;
        right: -1rem;
        top: -5.9375rem;
        transition: all .4s cubic-bezier(.43, .05, .17, 1);
        transition-delay: .25s
    }

    .is-hamburger-menu-open .hamburger-menu:before {
        width: 100vw;
        height: 100vh
    }

    .hamburger-menu>ul {
        gap: .8125rem;
        margin-right: 0;
        overflow: auto;
        max-height: calc(100vh - 6.25rem);
        padding-bottom: 2.8125rem;
        width: 100vw;
        padding-left: 3.125rem
    }

    .hamburger-menu__text a {
        font-size: 1.125rem
    }

    .hamburger-menu__interview>span {
        font-size: 1.125rem;
        margin-bottom: .5625rem
    }

    .hamburger-menu__interview ul {
        gap: .375rem
    }

    .hamburger-menu__interview ul li a {
        align-items: flex-start;
        flex-direction: column;
        font-size: .8125rem;
        gap: .25rem
    }

    .hamburger-menu__interview ul li a span {
        width: 4.125rem;
        min-width: 4.125rem;
        height: .875rem;
        border-radius: .125rem;
        padding: .1875rem .6875rem
    }

    .hamburger-menu__interview ul li a span:before {
        mask-size: auto .5rem
    }

    .hamburger-menu__movie>span {
        font-size: .9375rem;
        margin-bottom: .5rem
    }

    .hamburger-menu__movie ul {
        gap: .375rem
    }

    .hamburger-menu__movie ul li a {
        align-items: flex-start;
        flex-direction: column;
        font-size: .8125rem;
        gap: .25rem
    }

    .hamburger-menu__movie ul li a span {
        width: 6rem;
        min-width: 6rem;
        height: .8125rem;
        border-radius: .125rem;
        padding: .1875rem .6875rem
    }

    .hamburger-menu__movie ul li a span:before {
        mask-size: auto .5rem
    }

    .hamburger-menu__numbers a {
        font-size: .75rem;
        gap: .5625rem
    }

    .hamburger-menu__numbers a span {
        width: 4.6875rem;
        height: .875rem
    }

    .hamburger-menu__qa a {
        font-size: .75rem;
        gap: .5625rem
    }

    .hamburger-menu__qa a span {
        width: 2.5rem;
        height: 1rem;
        margin-bottom: -.125rem
    }

    .hamburger-menu__recruit a {
        font-size: .75rem;
        gap: .5625rem
    }

    .hamburger-menu__recruit a span {
        width: 3.6875rem;
        height: .875rem
    }
}

.movienav__overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    background: #9b9b9b;
    left: 0;
    top: 0;
    z-index: 99;
    mix-blend-mode: multiply;
    opacity: 0;
    visibility: hidden;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

.movienav__overlay.is-show {
    opacity: 1;
    visibility: visible
}

.movienav__modal {
    position: fixed;
    width: 50rem;
    border: .5rem solid #aad4ed;
    background: #fff;
    padding: 2.1875rem;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: .4s cubic-bezier(.43, .05, .17, 1);
    filter: blur(.9375rem)
}

.movienav__modal.is-show {
    opacity: 1;
    visibility: visible;
    filter: blur(0)
}

.movienav__modal-movie {
    position: relative
}

.movienav__modal-movie:before {
    content: " ";
    width: 100%;
    padding-top: 56.25%;
    display: block
}

.movienav__modal-movie video {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.movienav__modal-close {
    position: absolute;
    right: 1.5625rem;
    top: 1.5625rem;
    width: 2.875rem;
    height: 2.875rem;
    display: block;
    z-index: 10;
    background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iYSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNDYuMTMiIGhlaWdodD0iNDYuMTMiIHZpZXdCb3g9IjAgMCA0Ni4xMyA0Ni4xMyI+PGRlZnM+PHN0eWxlPi5ie2ZpbGw6I2ZmZjt9LmN7ZmlsbDojNjQ2NDY0O308L3N0eWxlPjwvZGVmcz48Y2lyY2xlIGNsYXNzPSJjIiBjeD0iMjMuMDciIGN5PSIyMy4wNyIgcj0iMjMuMDciLz48cGF0aCBjbGFzcz0iYiIgZD0iTTIyLjkyLDI0Ljk5bC05LjMxLDkuMzQtMS42Ny0xLjY0LDkuMzQtOS4zNC05LjM0LTkuMzEsMS42Ny0xLjY3LDkuMzEsOS4zNCw5LjM0LTkuMzQsMS42NCwxLjY0LTkuMzEsOS4zNCw5LjMxLDkuMzQtMS42NCwxLjY0LTkuMzQtOS4zNFoiLz48L3N2Zz4=) no-repeat center;
    background-size: contain
}

@media screen and (max-width: 768px) {
    .movienav__modal {
        position: fixed;
        width: 21.25rem;
        border: .375rem solid #aad4ed;
        padding: 1.25rem
    }

    .movienav__modal-close {
        position: absolute;
        right: .625rem;
        top: .625rem;
        width: 2.1875rem;
        height: 2.1875rem
    }
}

.pagetop {
    position: fixed;
    right: 7.5rem;
    z-index: 20;
    bottom: 0;
    transform: translateY(100%);
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

.pagetop.is-show {
    bottom: 3.125rem;
    transform: translateY(0)
}

.pagetop a {
    text-align: center;
    font-size: 1.3125rem;
    font-weight: 600;
    width: 7.0625rem;
    height: 7.0625rem;
    background: linear-gradient(0deg, #2a6cde .33%, #51aeea);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .625rem;
    color: #fff
}

.pagetop a:before {
    content: " ";
    width: 1.75rem;
    height: 1.125rem;
    display: block;
    background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iYSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjguNzIiIGhlaWdodD0iMTguODQiIHZpZXdCb3g9IjAgMCAyOC43MiAxOC44NCI+PGRlZnM+PHN0eWxlPi5ie2ZpbGw6I2ZmZjt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImIiIGQ9Ik0uOTMsMTMuNDNMMTQuMzYsMGwxMy40MywxMy40M2MxLjI0LDEuMjQsMS4yNCwzLjI0LDAsNC40OC0xLjI0LDEuMjQtMy4yNCwxLjI0LTQuNDgsMGwtOC45Ni04Ljk2LTguOTUsOC45NWMtLjYyLjYyLTEuNDMuOTMtMi4yNC45M3MtMS42Mi0uMzEtMi4yNC0uOTNjLTEuMjQtMS4yNC0xLjI0LTMuMjQsMC00LjQ4WiIvPjwvc3ZnPg==) no-repeat center;
    background-size: contain
}

@media screen and (max-width: 768px) {
    .pagetop {
        right: .3125rem
    }

    .pagetop.is-show {
        bottom: 1.25rem
    }

    .pagetop a {
        font-size: .9375rem;
        width: 5.0625rem;
        height: 5.0625rem;
        gap: .3125rem;
        color: #fff
    }

    .pagetop a:before {
        width: 1.25rem;
        height: .8125rem
    }
}

.footer__nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .9375rem;
    margin-bottom: 4.0625rem
}

.footer__nav li {
    width: 19.375rem
}

.footer__nav li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 4.6875rem;
    color: #fff;
    font-size: 1.5625rem;
    font-weight: 600;
    border-radius: .1875rem;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .footer__nav li a:hover {
        opacity: .75
    }
}

.footer__nav li:nth-child(1) a {
    background: linear-gradient(0deg, #2a6cde .33%, #51aeea)
}

.footer__nav li:nth-child(2) a {
    background: linear-gradient(0deg, #343434 .55%, #706e68 99.98%)
}

@media screen and (max-width: 768px) {
    .footer__nav {
        margin-bottom: 1.875rem
    }

    .footer__nav li {
        width: 9.375rem
    }

    .footer__nav li a {
        height: 2.8125rem;
        font-size: .9375rem
    }
}

.footer__corporate {
    display: flex;
    justify-content: center
}

.footer__corporate a {
    display: flex;
    align-items: center;
    font-size: 1.3125rem;
    font-weight: 600;
    gap: .9375rem;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .footer__corporate a:hover {
        opacity: .75
    }
}

.footer__corporate a:after {
    content: " ";
    width: 1.625rem;
    height: 1.625rem;
    display: block;
    background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iYSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjYuNTgiIGhlaWdodD0iMjYuNTgiIHZpZXdCb3g9IjAgMCAyNi41OCAyNi41OCI+PGRlZnM+PHN0eWxlPi5ie2ZpbGw6IzVjNWM1Yzt9LmN7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48Y2lyY2xlIGNsYXNzPSJiIiBjeD0iMTMuMjkiIGN5PSIxMy4yOSIgcj0iMTMuMjkiLz48cGF0aCBjbGFzcz0iYyIgZD0iTTkuODcsMjEuNjNjLS4zOSwwLS43Ny0uMTUtMS4wNy0uNDQtLjU5LS41OS0uNTktMS41NCwwLTIuMTNsNS43Ny01Ljc3LTUuNzctNS43N2MtLjU5LS41OS0uNTktMS41NCwwLTIuMTMuNTktLjU5LDEuNTQtLjU5LDIuMTMsMGw2LjgzLDYuODNjLjI4LjI4LjQ0LjY3LjQ0LDEuMDdzLS4xNi43OC0uNDQsMS4wN2wtNi44Myw2LjgzYy0uMjkuMjktLjY4LjQ0LTEuMDcuNDRaIi8+PC9zdmc+) no-repeat center;
    background-size: contain
}

@media screen and (max-width: 768px) {
    .footer__corporate a {
        font-size: .875rem;
        gap: .625rem
    }

    .footer__corporate a:after {
        width: 1.125rem;
        height: 1.125rem
    }
}

.footer__copyright {
    background-image: repeating-linear-gradient(125deg, #5c5c5c, #5c5c5c .125rem, #848484 .125rem .4375rem);
    z-index: 20;
    position: relative;
    color: #fff;
    text-align: center;
    padding: 3.125rem 0;
    margin-top: 8.75rem
}

@media screen and (max-width: 768px) {
    .footer__copyright {
        background-image: repeating-linear-gradient(125deg, #5c5c5c, #5c5c5c .0625rem, #848484 .0625rem .25rem);
        font-size: .875rem;
        padding: 1.25rem 0;
        margin-top: 2.8125rem
    }
}

.homepage .mv {
    position: relative;
    margin-bottom: -4.7584187408vw;
    z-index: -1
}

.homepage .mv__copy {
    position: absolute;
    width: 45.375rem;
    left: 8.0527086384vw;
    top: 3.6603221083vw;
    z-index: 1
}

.homepage .mv__image {
    width: 100%
}

@media screen and (max-width: 768px) {
    .homepage .mv {
        margin-bottom: 0
    }

    .homepage .mv__copy {
        width: 20.8125rem;
        left: 1.25rem;
        top: 0rem
    }

    .homepage .mv__image {
        width: 100%
    }
}

.homepage .placelike {
    width: 62.5rem;
    margin: 0 auto
}

.homepage .placelike>h2 {
    width: 53.59375rem;
    margin-left: 8.625rem
}

.homepage .placelike ul {
    width: 62.5rem;
    height: 36.875rem;
    position: relative
}

.homepage .placelike ul li {
    position: absolute
}

.homepage .placelike ul li a {
    transition: all .4s cubic-bezier(.43, .05, .17, 1);
    display: block
}

@media (hover: hover) and (pointer: fine) {
    .homepage .placelike ul li a:hover {
        opacity: .75;
        transform: scale(1.05)
    }
}

.homepage .placelike__photo1 {
    width: 11.25rem;
    left: .9375rem;
    top: 2.5rem
}

.homepage .placelike__photo2 {
    width: 15rem;
    left: 14.1875rem;
    top: 0rem
}

.homepage .placelike__photo3 {
    width: 14.1875rem;
    left: 32.125rem;
    top: 5.625rem
}

.homepage .placelike__photo4 {
    width: 10.9375rem;
    left: 51.25rem;
    top: .8125rem
}

.homepage .placelike__photo5 {
    width: 14.1875rem;
    left: -.25rem;
    top: 20.5rem
}

.homepage .placelike__photo6 {
    width: 12.625rem;
    left: 17.0625rem;
    top: 18.8125rem
}

.homepage .placelike__photo7 {
    width: 17.9375rem;
    left: 33rem;
    top: 19.6875rem
}

.homepage .placelike__photo8 {
    width: 13rem;
    left: 50.1875rem;
    top: 21.0625rem
}

.homepage .placelike__overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    background: #9b9b9b;
    left: 0;
    top: 0;
    z-index: 99;
    mix-blend-mode: multiply;
    opacity: 0;
    visibility: hidden;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

.homepage .placelike__overlay.is-show {
    opacity: 1;
    visibility: visible
}

.homepage .placelike__modal {
    position: fixed;
    width: 21.5625rem;
    border: .5rem solid #aad4ed;
    background: #fff;
    padding: 2.1875rem;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: .4s cubic-bezier(.43, .05, .17, 1);
    filter: blur(.9375rem)
}

.homepage .placelike__modal.is-show {
    opacity: 1;
    visibility: visible;
    filter: blur(0)
}

.homepage .placelike__modal-image {
    margin-bottom: 1.25rem
}

.homepage .placelike__modal-close {
    position: absolute;
    right: 1.5625rem;
    top: 1.5625rem;
    width: 2.875rem;
    height: 2.875rem;
    display: block;
    background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iYSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNDYuMTMiIGhlaWdodD0iNDYuMTMiIHZpZXdCb3g9IjAgMCA0Ni4xMyA0Ni4xMyI+PGRlZnM+PHN0eWxlPi5ie2ZpbGw6I2ZmZjt9LmN7ZmlsbDojNjQ2NDY0O308L3N0eWxlPjwvZGVmcz48Y2lyY2xlIGNsYXNzPSJjIiBjeD0iMjMuMDciIGN5PSIyMy4wNyIgcj0iMjMuMDciLz48cGF0aCBjbGFzcz0iYiIgZD0iTTIyLjkyLDI0Ljk5bC05LjMxLDkuMzQtMS42Ny0xLjY0LDkuMzQtOS4zNC05LjM0LTkuMzEsMS42Ny0xLjY3LDkuMzEsOS4zNCw5LjM0LTkuMzQsMS42NCwxLjY0LTkuMzEsOS4zNCw5LjMxLDkuMzQtMS42NCwxLjY0LTkuMzQtOS4zNFoiLz48L3N2Zz4=) no-repeat center;
    background-size: contain
}

.homepage .placelike__modal h2 {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    color: #00a53d;
    margin-bottom: .9375rem
}

.homepage .placelike__modal p {
    font-size: .9375rem;
    line-height: 1.7333333333;
    font-weight: 500
}

@media screen and (max-width: 768px) {
    .homepage .placelike {
        width: 100%
    }

    .homepage .placelike>h2 {
        width: 100%;
        margin-left: 0
    }

    .homepage .placelike ul {
        margin-left: 1.4375rem;
        width: 21.3125rem;
        height: 28.25rem
    }

    .homepage .placelike__photo1 {
        width: 6.6875rem;
        left: .625rem;
        top: 3rem
    }

    .homepage .placelike__photo2 {
        width: 7.4375rem;
        left: 6rem;
        top: 0rem
    }

    .homepage .placelike__photo3 {
        width: 7.5rem;
        left: 13.75rem;
        top: 3.625rem
    }

    .homepage .placelike__photo4 {
        width: 6.6875rem;
        left: 1.9375rem;
        top: 9.75rem
    }

    .homepage .placelike__photo5 {
        width: 7.6875rem;
        left: 10.5rem;
        top: 9.5rem
    }

    .homepage .placelike__photo6 {
        width: 6.6875rem;
        left: 0rem;
        top: 17.25rem
    }

    .homepage .placelike__photo7 {
        width: 8.625rem;
        left: 7.125rem;
        top: 18.6875rem
    }

    .homepage .placelike__photo8 {
        width: 6.6875rem;
        left: 13.75rem;
        top: 17.0625rem
    }

    .homepage .placelike__modal {
        position: fixed;
        width: 21.25rem;
        border: .375rem solid #aad4ed;
        padding: 1.25rem
    }

    .homepage .placelike__modal-image {
        margin-bottom: .625rem
    }

    .homepage .placelike__modal-close {
        position: absolute;
        right: .625rem;
        top: .625rem;
        width: 2.1875rem;
        height: 2.1875rem
    }

    .homepage .placelike__modal h2 {
        font-size: 1.4375rem;
        margin-bottom: .625rem
    }

    .homepage .placelike__modal p {
        font-size: .75rem
    }
}

.homepage .introduction {
    height: 88.0673499268vw;
    width: 100%;
    position: relative;
    display: flex;
    align-items: center
}

.homepage .introduction__bg {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1
}

.homepage .introduction__photo {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 69.9853587116vw;
    pointer-events: none
}

.homepage .introduction__body {
    position: relative;
    z-index: 1
}

.homepage .introduction__body h2 {
    width: 14.8125rem;
    height: 5rem;
    background: url(../../assets/images/home-introduction__title.svg) no-repeat center;
    background-size: contain;
    margin-bottom: 2.1875rem;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent
}

.homepage .introduction__body h3 {
    font-size: 1.6875rem;
    line-height: 1.7777777778;
    font-weight: 700;
    margin-bottom: 2.1875rem
}

.homepage .introduction__body p {
    width: 28.75rem;
    font-size: 1.125rem;
    line-height: 1.7222222222
}

.homepage .introduction__btn {
    margin-top: 3.4375rem;
    width: 16.5625rem
}

.homepage .introduction__btn a {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: .625rem;
    border: solid .125rem var(--baseColor);
    color: var(--baseColor);
    background: #fff;
    font-size: 1.0625rem;
    position: relative;
    line-height: 1;
    text-box: trim-both cap alphabetic;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

.homepage .introduction__btn a:after {
    content: " ";
    width: .5625rem;
    height: .8125rem;
    background: var(--baseColor);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    position: absolute;
    right: .9375rem;
    top: 50%;
    transform: translateY(-50%);
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .homepage .introduction__btn a:hover {
        background: var(--baseColor);
        color: #fff
    }

    .homepage .introduction__btn a:hover:after {
        background: #fff
    }
}

.homepage .introduction .container {
    display: flex;
    justify-content: space-between
}

@media screen and (max-width: 768px) {
    .homepage .introduction {
        height: 31.5rem;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        padding-top: 5.625rem;
        margin-top: -1.875rem
    }

    .homepage .introduction__photo {
        position: absolute;
        right: 0;
        top: auto;
        bottom: 0;
        transform: translateY(0);
        width: 100%;
        z-index: 0
    }

    .homepage .introduction__body {
        position: relative;
        z-index: 1
    }

    .homepage .introduction__body h2 {
        width: 8.0625rem;
        height: 2.6875rem;
        margin-bottom: 1.4375rem
    }

    .homepage .introduction__body h3 {
        font-size: .9375rem;
        line-height: 1.4666666667;
        margin-bottom: .9375rem
    }

    .homepage .introduction__body p {
        width: 11.875rem;
        font-size: .75rem;
        line-height: 1.6666666667
    }

    .homepage .introduction__btn {
        margin-top: .9375rem;
        width: 8.75rem
    }

    .homepage .introduction__btn a {
        padding: .3125rem .625rem;
        border: solid 1px var(--baseColor);
        font-size: .6875rem
    }

    .homepage .introduction__btn a:after {
        width: .4375rem;
        height: .5625rem;
        right: .625rem
    }

    .homepage .introduction .container {
        display: flex;
        justify-content: space-between
    }
}

.homepage .correlation {
    height: 73.9385065886vw;
    margin-top: -34.4070278184vw;
    position: relative;
    padding-top: 28.5505124451vw
}

.homepage .correlation__bg {
    position: absolute;
    width: 62.737920937vw;
    right: 0;
    top: -14.6412884334vw;
    mix-blend-mode: multiply;
    z-index: 0
}

.homepage .correlation__photo {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: -1
}

.homepage .correlation .container {
    display: flex;
    justify-content: flex-end
}

.homepage .correlation__body {
    margin-left: auto
}

.homepage .correlation__body h2 {
    width: 18.3125rem;
    height: 5.25rem;
    background: url(../../assets/images/home-correlation__title.svg) no-repeat center;
    background-size: contain;
    margin-bottom: 2.1875rem;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    margin-left: -2.5rem
}

.homepage .correlation__body h3 {
    font-size: 1.6875rem;
    line-height: 1.7777777778;
    font-weight: 700;
    margin-bottom: 2.1875rem
}

.homepage .correlation__body p {
    font-size: 1.125rem;
    line-height: 1.7222222222
}

.homepage .correlation__btn {
    margin-top: 3.4375rem;
    width: 16.5625rem
}

.homepage .correlation__btn a {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: .625rem;
    border: solid .125rem var(--baseColor);
    color: var(--baseColor);
    background: #fff;
    font-size: 1.0625rem;
    position: relative;
    line-height: 1;
    text-box: trim-both cap alphabetic;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

.homepage .correlation__btn a:after {
    content: " ";
    width: .5625rem;
    height: .8125rem;
    background: var(--baseColor);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    position: absolute;
    right: .9375rem;
    top: 50%;
    transform: translateY(-50%);
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .homepage .correlation__btn a:hover {
        background: var(--baseColor);
        color: #fff
    }

    .homepage .correlation__btn a:hover:after {
        background: #fff
    }
}

@media screen and (max-width: 768px) {
    .homepage .correlation {
        height: auto;
        min-height: 25.625rem;
        margin-top: -8.3125rem;
        padding-top: 8.125rem;
        padding-bottom: 4.375rem
    }

    .homepage .correlation__photo {
        z-index: 0
    }

    .homepage .correlation__bg {
        width: 20.8125rem;
        top: -9.25rem
    }

    .homepage .correlation .container {
        display: flex;
        justify-content: flex-end
    }

    .homepage .correlation__body h2 {
        width: 10.0625rem;
        height: 2.875rem;
        margin-bottom: .9375rem;
        margin-left: -.625rem
    }

    .homepage .correlation__body h3 {
        font-size: .9375rem;
        line-height: 1.4666666667;
        margin-bottom: .9375rem
    }

    .homepage .correlation__body p {
        width: 13.125rem;
        font-size: .75rem;
        line-height: 1.6666666667
    }

    .homepage .correlation__btn {
        margin-top: .9375rem;
        width: auto;
        display: flex;
        justify-content: flex-start
    }

    .homepage .correlation__btn a {
        width: auto;
        padding: .3125rem 1.5625rem .3125rem .625rem;
        border: solid 1px var(--baseColor);
        font-size: .6875rem;
        justify-content: flex-start
    }

    .homepage .correlation__btn a:after {
        width: .4375rem;
        height: .5625rem;
        right: .625rem
    }
}

.homepage .interview {
    position: relative;
    padding-top: 2.9282576867vw;
    padding-bottom: 3.75rem
}

.homepage .interview__bg {
    top: -20.3125rem;
    position: absolute;
    z-index: -1;
    width: 100%
}

.homepage .interview__bg img {
    width: 100%;
    max-height: 130.375rem
}

.homepage .interview .container {
    position: relative
}

.homepage .interview__object {
    pointer-events: none
}

.homepage .interview__object li {
    position: absolute
}

.homepage .interview__object li:nth-child(1) {
    right: -1.5625rem;
    top: 3.4375rem;
    width: 24.375rem
}

.homepage .interview__object li:nth-child(2) {
    left: -3.4375rem;
    bottom: -1.25rem;
    width: 3.75rem;
    z-index: 0
}

.homepage .interview__lead h2 {
    width: 35.6875rem;
    height: 6.75rem;
    background: url(../../assets/images/home-interview__title.svg) no-repeat center;
    background-size: contain;
    margin-bottom: 1.875rem;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent
}

.homepage .interview__lead h3 {
    font-size: 1.6875rem;
    line-height: 1.7777777778;
    font-weight: 700;
    margin-bottom: 1.875rem
}

.homepage .interview__lead p {
    font-size: 1.125rem;
    line-height: 1.7222222222
}

.homepage .interview__container .js-slide_nav {
    display: none
}

.homepage .interview__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin-top: 3.125rem
}

.homepage .interview__item a {
    display: block;
    background: #fff;
    border: solid 1px #8f94a8;
    padding: .75rem .75rem 1.875rem
}

@media (hover: hover) and (pointer: fine) {
    .homepage .interview__item a:hover .interview__item-btn {
        background: var(--baseColor);
        color: #fff
    }

    .homepage .interview__item a:hover .interview__item-btn:after {
        background: #fff
    }
}

.homepage .interview__item-photo {
    width: 100%;
    height: 22.8125rem;
    position: relative;
    background: #eee;
    margin-bottom: 1.5625rem
}

.homepage .interview__item-photo img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.homepage .interview__item-photo p {
    background: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
    padding: .9375rem 1.25rem 0 .9375rem
}

.homepage .interview__item-photo p span {
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    width: 4.0625rem;
    height: .8125rem;
    background: var(--bg) no-repeat left;
    background-size: contain
}

.homepage .interview__item-body {
    padding-left: .9375rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

.homepage .interview__item-body h4 {
    font-size: 1.3125rem
}

.homepage .interview__item-text {
    font-size: .75rem;
    line-height: 1.5833333333;
    margin-top: .625rem
}

.homepage .interview__item-position {
    font-size: .8125rem;
    margin-top: .9375rem
}

.homepage .interview__item-name {
    font-size: 1.375rem;
    margin-top: .625rem
}

.homepage .interview__item-name span {
    font-size: .8125rem
}

.homepage .interview__item-btn {
    font-size: .9375rem;
    border: solid 1px var(--baseColor);
    padding: .625rem 1.25rem;
    display: flex;
    align-items: center;
    gap: .9375rem;
    margin-top: 1.25rem;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

.homepage .interview__item-btn:after {
    content: " ";
    width: .5625rem;
    height: .8125rem;
    background: var(--baseColor);
    clip-path: polygon(0 0, 0% 100%, 100% 50%)
}

@media screen and (max-width: 768px) {
    .homepage .interview {
        padding-top: 5.625rem;
        padding-bottom: 5rem;
        overflow-x: clip
    }

    .homepage .interview__bg {
        top: -8.4375rem
    }

    .homepage .interview__bg img {
        max-height: 105.4375rem
    }

    .homepage .interview__object li:nth-child(1) {
        right: 1.5625rem;
        top: -5.3125rem;
        width: 10.625rem
    }

    .homepage .interview__object li:nth-child(2) {
        display: none
    }

    .homepage .interview__lead h2 {
        width: 12.5rem;
        height: 4.6875rem;
        background: url(../../assets/images/home-interview__title_sp.svg) no-repeat center;
        margin-bottom: 1.25rem
    }

    .homepage .interview__lead h3 {
        font-size: .9375rem;
        line-height: 1.4666666667;
        margin-bottom: .875rem
    }

    .homepage .interview__lead p {
        font-size: .75rem;
        line-height: 1.6666666667
    }

    .homepage .interview__container {
        position: relative;
        width: 18.4375rem;
        margin: auto
    }

    .homepage .interview__container .js-slide_nav {
        display: block
    }

    .homepage .interview__container .btn-prev,
    .homepage .interview__container .btn-next {
        width: .875rem;
        height: 1.5rem;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: var(--baseColor);
        clip-path: polygon(0 0, 0% 100%, 100% 50%);
        text-indent: 100%;
        display: block;
        overflow: hidden;
        white-space: nowrap;
        color: transparent
    }

    .homepage .interview__container .btn-prev {
        left: -.375rem;
        transform: translate(-100%, -50%) scaleX(-1)
    }

    .homepage .interview__container .btn-next {
        right: -.375rem;
        transform: translate(100%, -50%)
    }

    .homepage .interview__list {
        display: flex;
        flex-wrap: inherit;
        gap: 0;
        margin-top: 1.875rem
    }

    .homepage .interview__item a {
        display: block;
        background: #fff;
        border: solid 1px #8f94a8;
        padding: .75rem .75rem 1.875rem
    }

    .homepage .interview__item-photo {
        width: 100%;
        height: 11.875rem;
        margin-bottom: .9375rem
    }

    .homepage .interview__item-photo p {
        padding: .9375rem .625rem 0 .9375rem;
        left: -1px;
        bottom: -1px
    }

    .homepage .interview__item-body {
        padding-left: 0
    }

    .homepage .interview__item-body h4 {
        font-size: .9375rem
    }

    .homepage .interview__item-text {
        font-size: .6875rem;
        line-height: 1.7272727273;
        margin-top: .625rem
    }

    .homepage .interview__item-position {
        font-size: .6875rem;
        margin-top: .9375rem
    }

    .homepage .interview__item-name {
        font-size: 1.125rem;
        margin-top: .625rem
    }

    .homepage .interview__item-name span {
        font-size: .6875rem
    }

    .homepage .interview__item-btn {
        margin-left: auto;
        width: auto;
        font-size: .6875rem;
        padding: .4375rem;
        gap: .4375rem;
        margin-top: -.625rem
    }

    .homepage .interview__item-btn:after {
        width: .4375rem;
        height: .5625rem
    }
}

.homepage .movie {
    padding-top: 4.0625rem;
    position: relative
}

.homepage .movie__bg {
    width: 95.168374817vw;
    position: absolute;
    left: -14.375rem;
    top: 0;
    mix-blend-mode: multiply;
    z-index: 0
}

.homepage .movie__bg img {
    max-height: 48.4375rem;
    width: 100%
}

.homepage .movie__object {
    pointer-events: none
}

.homepage .movie__object li {
    position: absolute
}

.homepage .movie__object li:nth-child(1) {
    width: 8.4375rem;
    left: 3.4375rem;
    top: -12.5rem
}

.homepage .movie__object li:nth-child(2) {
    width: 9.875rem;
    right: 1.875rem;
    top: -11.875rem
}

.homepage .movie h2 {
    width: 7.875rem;
    height: 2.8125rem;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    margin: 0 auto;
    background: url(../../assets/images/home-movie__title.svg) no-repeat center;
    background-size: contain;
    z-index: 1
}

.homepage .movie .container {
    position: relative;
    margin-top: 5.625rem;
    z-index: 1
}

.homepage .movie .container .js-slide_nav {
    display: none
}

.homepage .movie__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    z-index: 1;
    position: relative;
    gap: 1.875rem 1.25rem
}

.homepage .movie__item {
    width: calc(33.33% - .875rem)
}

.homepage .movie__item a {
    display: block;
    background: #fff;
    padding: .75rem .75rem 1.875rem;
    border: solid 1px #8f94a8;
    transition: all .4s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .homepage .movie__item a:hover {
        opacity: .75
    }

    .homepage .movie__item a:hover .movie__item-photo:before {
        opacity: 0
    }

    .homepage .movie__item a:hover .movie__item-photo:after {
        transform: translate(-50%, -50%) scale(1.05)
    }
}

.homepage .movie__item-photo {
    width: 100%;
    height: 14.125rem;
    position: relative;
    margin-bottom: 1.5625rem
}

.homepage .movie__item-photo img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0
}

.homepage .movie__item-photo:before {
    content: " ";
    background: #d6dad8;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    mix-blend-mode: multiply;
    transition: all .4s cubic-bezier(.43, .05, .17, 1)
}

.homepage .movie__item-photo:after {
    content: " ";
    width: 2.6875rem;
    height: 2.6875rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    transition: all .4s cubic-bezier(.43, .05, .17, 1);
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0My40MSIgaGVpZ2h0PSI0My40MSIgdmlld0JveD0iMCAwIDQzLjQxIDQzLjQxIj48ZGVmcz48c3R5bGU+LmJ7ZmlsbDojMWExMzExO30uY3tmaWxsOiNmZmY7b3BhY2l0eTouODt9PC9zdHlsZT48L2RlZnM+PGNpcmNsZSBjbGFzcz0iYyIgY3g9IjIxLjcxIiBjeT0iMjEuNzEiIHI9IjIxLjcxIi8+PHBvbHlnb24gY2xhc3M9ImIiIHBvaW50cz0iMTQuNTEgMzUuMzYgMTQuNTEgOC4wNSAzNS4wNCAyMS43MSAxNC41MSAzNS4zNiIvPjwvc3ZnPg==) no-repeat center;
    background-size: contain
}

.homepage .movie__item-photo p {
    background: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
    padding: .9375rem 1.25rem 0 .9375rem;
    z-index: 2
}

.homepage .movie__item-photo p span {
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    width: 6.5rem;
    height: .8125rem;
    background: var(--bg) no-repeat left;
    background-size: contain
}

.homepage .movie__item-body {
    padding-left: .9375rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

.homepage .movie__item-body h3 {
    font-size: 1.3125rem
}

.homepage .movie__item-position {
    font-size: .8125rem;
    margin-top: .9375rem
}

.homepage .movie__item-name {
    font-size: 1.375rem;
    margin-top: .625rem
}

.homepage .movie__item-name span {
    font-size: .8125rem
}

.homepage .movie__overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    background: #9b9b9b;
    left: 0;
    top: 0;
    z-index: 99;
    mix-blend-mode: multiply;
    opacity: 0;
    visibility: hidden;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

.homepage .movie__overlay.is-show {
    opacity: 1;
    visibility: visible
}

.homepage .movie__modal {
    position: fixed;
    width: 50rem;
    border: .5rem solid #aad4ed;
    background: #fff;
    padding: 2.1875rem;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: .4s cubic-bezier(.43, .05, .17, 1);
    filter: blur(.9375rem)
}

.homepage .movie__modal.is-show {
    opacity: 1;
    visibility: visible;
    filter: blur(0)
}

.homepage .movie__modal-movie {
    position: relative
}

.homepage .movie__modal-movie:before {
    content: " ";
    width: 100%;
    padding-top: 56.25%;
    display: block
}

.homepage .movie__modal-movie video {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.homepage .movie__modal-close {
    position: absolute;
    right: 1.5625rem;
    top: 1.5625rem;
    width: 2.875rem;
    height: 2.875rem;
    display: block;
    z-index: 10;
    background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iYSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNDYuMTMiIGhlaWdodD0iNDYuMTMiIHZpZXdCb3g9IjAgMCA0Ni4xMyA0Ni4xMyI+PGRlZnM+PHN0eWxlPi5ie2ZpbGw6I2ZmZjt9LmN7ZmlsbDojNjQ2NDY0O308L3N0eWxlPjwvZGVmcz48Y2lyY2xlIGNsYXNzPSJjIiBjeD0iMjMuMDciIGN5PSIyMy4wNyIgcj0iMjMuMDciLz48cGF0aCBjbGFzcz0iYiIgZD0iTTIyLjkyLDI0Ljk5bC05LjMxLDkuMzQtMS42Ny0xLjY0LDkuMzQtOS4zNC05LjM0LTkuMzEsMS42Ny0xLjY3LDkuMzEsOS4zNCw5LjM0LTkuMzQsMS42NCwxLjY0LTkuMzEsOS4zNCw5LjMxLDkuMzQtMS42NCwxLjY0LTkuMzQtOS4zNFoiLz48L3N2Zz4=) no-repeat center;
    background-size: contain
}

@media screen and (max-width: 768px) {
    .homepage .movie {
        padding-top: 0
    }

    .homepage .movie__bg {
        display: none
    }

    .homepage .movie__object li {
        position: absolute
    }

    .homepage .movie__object li:nth-child(1) {
        width: 4.4375rem;
        left: 1.5625rem;
        top: -7rem
    }

    .homepage .movie__object li:nth-child(2) {
        width: 5.1875rem;
        right: 0rem;
        top: -4.4375rem
    }

    .homepage .movie h2 {
        width: 4.25rem;
        height: 1.5rem
    }

    .homepage .movie .container {
        width: 18.4375rem;
        margin-top: 1.25rem;
        position: relative
    }

    .homepage .movie .container .js-slide_nav {
        display: block
    }

    .homepage .movie .container .btn-prev,
    .homepage .movie .container .btn-next {
        width: .875rem;
        height: 1.5rem;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: var(--baseColor);
        clip-path: polygon(0 0, 0% 100%, 100% 50%);
        text-indent: 100%;
        display: block;
        overflow: hidden;
        white-space: nowrap;
        color: transparent
    }

    .homepage .movie .container .btn-prev {
        left: -.375rem;
        transform: translate(-100%, -50%) scaleX(-1)
    }

    .homepage .movie .container .btn-next {
        right: -.375rem;
        transform: translate(100%, -50%)
    }

    .homepage .movie__list {
        margin-top: 0;
        display: flex;
        justify-content: flex-start;
        gap: 0;
        flex-wrap: inherit
    }

    .homepage .movie__item {
        width: 100%
    }

    .homepage .movie__item a {
        padding: .75rem .75rem 1.25rem
    }

    .homepage .movie__item-photo {
        height: 11.875rem;
        margin-bottom: .9375rem
    }

    .homepage .movie__item-photo:after {
        width: 2.375rem;
        height: 2.375rem
    }

    .homepage .movie__item-photo p {
        background: #fff;
        position: absolute;
        left: -1px;
        bottom: -1px;
        padding: .625rem .9375rem 0 .625rem;
        z-index: 2
    }

    .homepage .movie__item-photo p span {
        width: 6.875rem;
        height: .8125rem
    }

    .homepage .movie__item-body {
        padding-left: 0
    }

    .homepage .movie__item-body h3 {
        font-size: .9375rem
    }

    .homepage .movie__item-position {
        font-size: .6875rem;
        margin-top: .9375rem
    }

    .homepage .movie__item-name {
        font-size: 1.125rem;
        margin-top: .625rem
    }

    .homepage .movie__item-name span {
        font-size: .6875rem
    }

    .homepage .movie__modal {
        position: fixed;
        width: 21.25rem;
        border: .375rem solid #aad4ed;
        padding: 1.25rem
    }

    .homepage .movie__modal-close {
        position: absolute;
        right: .625rem;
        top: .625rem;
        width: 2.1875rem;
        height: 2.1875rem
    }
}

.homepage .crosstalk {
    margin-top: 27.8184480234vw;
    position: relative
}

.homepage .crosstalk__photo {
    bottom: -27.0863836018vw;
    left: 0;
    position: absolute;
    width: 100vw
}

.homepage .crosstalk__bg {
    position: absolute;
    top: -35.8711566618vw;
    right: 0;
    mix-blend-mode: multiply;
    overflow-x: hidden;
    width: 100%;
    height: 61.7496339678vw
}

.homepage .crosstalk__bg img {
    position: absolute;
    top: 0;
    width: 89.2020497804vw;
    right: -23.7920937042vw
}

.homepage .crosstalk .container {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: flex-end
}

.homepage .crosstalk__object {
    pointer-events: none
}

.homepage .crosstalk__object li {
    position: absolute
}

.homepage .crosstalk__object li:nth-child(1) {
    width: 3.875rem;
    right: -7.5rem;
    top: -23.125rem
}

.homepage .crosstalk__object li:nth-child(2) {
    width: 7.1875rem;
    left: 1.875rem;
    bottom: -10.625rem
}

.homepage .crosstalk__body h2 {
    width: 16.75rem;
    height: 4.5625rem;
    background: url(../../assets/images/home-crosstalk__title.svg) no-repeat center;
    background-size: contain;
    margin-bottom: 1.875rem;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    margin-left: -2.1875rem
}

.homepage .crosstalk__body h3 {
    font-size: 1.6875rem;
    line-height: 1.7777777778;
    font-weight: 700;
    margin-bottom: 1.875rem
}

.homepage .crosstalk__body p {
    font-size: 1.125rem;
    line-height: 1.7222222222
}

.homepage .crosstalk__btn {
    margin-top: 3.4375rem;
    width: 16.5625rem
}

.homepage .crosstalk__btn a {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: .625rem;
    border: solid .125rem var(--baseColor);
    color: var(--baseColor);
    background: #fff;
    font-size: 1.0625rem;
    position: relative;
    line-height: 1;
    text-box: trim-both cap alphabetic;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

.homepage .crosstalk__btn a:after {
    content: " ";
    width: .5625rem;
    height: .8125rem;
    background: var(--baseColor);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    position: absolute;
    right: .9375rem;
    top: 50%;
    transform: translateY(-50%);
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .homepage .crosstalk__btn a:hover {
        background: var(--baseColor);
        color: #fff
    }

    .homepage .crosstalk__btn a:hover:after {
        background: #fff
    }
}

@media screen and (max-width: 768px) {
    .homepage .crosstalk {
        margin-top: 7.6875rem;
        position: relative
    }

    .homepage .crosstalk__photo {
        bottom: 0;
        position: relative;
        width: 100%;
        margin-top: -4.375rem
    }

    .homepage .crosstalk__bg {
        display: none
    }

    .homepage .crosstalk .container {
        flex-direction: column;
        width: 18.75rem
    }

    .homepage .crosstalk__object {
        pointer-events: none
    }

    .homepage .crosstalk__object li {
        position: absolute
    }

    .homepage .crosstalk__object li:nth-child(1) {
        width: 2rem;
        right: 2.8125rem;
        top: 0rem
    }

    .homepage .crosstalk__object li:nth-child(2) {
        width: 4.0625rem;
        left: 3.4375rem;
        bottom: -23.75rem
    }

    .homepage .crosstalk__body h2 {
        width: 9.1875rem;
        height: 2.5rem;
        margin-bottom: 1.4375rem;
        margin-left: 0rem
    }

    .homepage .crosstalk__body h3 {
        font-size: .9375rem;
        line-height: 1.4666666667;
        margin-bottom: 1.875rem
    }

    .homepage .crosstalk__body p {
        font-size: .75rem;
        line-height: 1.6666666667;
        width: 100%
    }

    .homepage .crosstalk__btn {
        margin-top: 1.375rem;
        width: auto;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: .625rem
    }

    .homepage .crosstalk__btn a {
        width: auto;
        padding: .3125rem .625rem;
        border: solid 1px var(--baseColor);
        font-size: .6875rem;
        gap: .625rem;
        display: flex;
        justify-content: flex-start;
        align-items: center
    }

    .homepage .crosstalk__btn a:after {
        width: .4375rem;
        height: .5625rem;
        position: relative;
        right: 0;
        top: auto;
        transform: translateY(0)
    }
}

.homepage .message {
    margin-top: 23.4260614934vw;
    height: 57.467057101vw;
    position: relative
}

.homepage .message__bg {
    width: 100%;
    top: -27.2327964861vw;
    position: absolute;
    z-index: -1
}

.homepage .message .container {
    display: grid;
    grid-template-columns: auto 25.9375rem;
    gap: 3.75rem;
    position: relative
}

.homepage .message__object {
    pointer-events: none
}

.homepage .message__object li {
    position: absolute
}

.homepage .message__object li:nth-child(1) {
    width: 6.0625rem;
    right: 13.4375rem;
    top: -10.9375rem
}

.homepage .message__object li:nth-child(2) {
    width: 16.625rem;
    right: -5.3125rem;
    bottom: -8.75rem
}

.homepage .message__body h2 {
    width: 21.125rem;
    height: 6rem;
    background: url(../../assets/images/home-message__title.svg) no-repeat center;
    background-size: contain;
    margin-bottom: 1.875rem;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    margin-top: -5rem
}

.homepage .message__body p {
    font-size: 1.125rem;
    line-height: 1.8333333333
}

.homepage .message__photo-image {
    margin-bottom: 1.5625rem
}

.homepage .message__photo p {
    font-size: 1.125rem;
    line-height: 1.8333333333
}

.homepage .message__photo p span {
    font-size: 1.375rem
}

.homepage .message__photo .message__btn {
    display: none
}

.homepage .message__btn {
    margin-top: 3.4375rem;
    width: 18.4375rem
}

.homepage .message__btn a {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: .625rem;
    border: solid .125rem var(--baseColor);
    color: var(--baseColor);
    background: #fff;
    font-size: 1.0625rem;
    position: relative;
    line-height: 1;
    text-box: trim-both cap alphabetic;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

.homepage .message__btn a:after {
    content: " ";
    width: .5625rem;
    height: .8125rem;
    background: var(--baseColor);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    position: absolute;
    right: .9375rem;
    top: 50%;
    transform: translateY(-50%);
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .homepage .message__btn a:hover {
        background: var(--baseColor);
        color: #fff
    }

    .homepage .message__btn a:hover:after {
        background: #fff
    }
}

@media screen and (max-width: 768px) {
    .homepage .message {
        margin-top: 0;
        height: auto;
        position: relative;
        overflow-x: clip
    }

    .homepage .message__bg {
        width: 100%;
        height: 100%;
        top: -4.375rem;
        position: absolute;
        z-index: -1
    }

    .homepage .message__bg img {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 110%;
        object-fit: cover;
        object-position: bottom
    }

    .homepage .message .container {
        padding-top: 5.3125rem;
        padding-bottom: 9.375rem;
        display: grid;
        grid-template-columns: 100%;
        gap: 1.875rem;
        position: relative
    }

    .homepage .message__object li {
        position: absolute
    }

    .homepage .message__object li:nth-child(1) {
        width: 3.1875rem;
        right: 1.25rem;
        top: .625rem
    }

    .homepage .message__object li:nth-child(2) {
        width: 9.6875rem;
        right: 1.25rem;
        bottom: 0
    }

    .homepage .message__body h2 {
        width: 12.75rem;
        height: 3.125rem;
        margin-bottom: 1.5625rem;
        margin-top: 0
    }

    .homepage .message__body p {
        font-size: .75rem;
        line-height: 1.6666666667
    }

    .homepage .message__body .message__btn {
        display: none
    }

    .homepage .message__photo-image {
        margin-bottom: .9375rem
    }

    .homepage .message__photo p {
        font-size: .6875rem
    }

    .homepage .message__photo p span {
        font-size: .9375rem
    }

    .homepage .message__photo .message__btn {
        display: flex;
        justify-content: flex-start
    }

    .homepage .message__btn {
        margin-top: .75rem;
        width: auto
    }

    .homepage .message__btn a {
        width: auto;
        padding: .3125rem .625rem;
        border: solid 1px var(--baseColor);
        font-size: .6875rem;
        gap: .625rem;
        display: flex;
        align-items: center;
        justify-content: center
    }

    .homepage .message__btn a:after {
        width: .4375rem;
        height: .5625rem;
        position: relative;
        right: auto;
        top: auto;
        transform: translateY(0)
    }
}

.homepage .contentnav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin-bottom: 11.875rem
}

.homepage .contentnav__item {
    position: relative
}

.homepage .contentnav__item:nth-child(2) {
    margin-top: 3.125rem
}

.homepage .contentnav__item:after {
    content: " ";
    width: 19.6875rem;
    height: 19.6875rem;
    display: block;
    position: absolute;
    right: -1.25rem;
    top: 1.25rem;
    background: url(../../assets/images/home-contentnav__bg.svg) no-repeat center;
    background-size: contain;
    z-index: -1
}

.homepage .contentnav__item a {
    background: linear-gradient(180deg, #00b2ed 0, #1caf76, #00b2ed);
    background-size: 100% 200%;
    background-position: top;
    border-radius: 50%;
    position: relative;
    display: block;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .homepage .contentnav__item a:hover {
        background-position: bottom;
        transform: scale(1.05)
    }
}

.homepage .contentnav__item a:before {
    content: " ";
    display: block;
    width: 100%;
    padding-top: 100%
}

.homepage .contentnav__item a div {
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .9375rem
}

.homepage .contentnav__item a div img {
    width: auto;
    height: 4.6875rem
}

.homepage .contentnav__item a div p {
    text-align: center;
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: -.037em;
    color: #fff
}

.homepage .contentnav__item a div p span {
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    width: 10.5rem;
    height: 2.5rem;
    margin: auto;
    margin-bottom: 1.25rem;
    background: var(--bg) no-repeat center;
    background-size: contain
}

.homepage .contentnav__item a div:after {
    content: " ";
    width: 2.25rem;
    height: 2.25rem;
    display: block;
    background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iYSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzYuNDUiIGhlaWdodD0iMzYuNDUiIHZpZXdCb3g9IjAgMCAzNi40NSAzNi40NSI+PGRlZnM+PHN0eWxlPi5ie2ZpbGw6IzE4YjA3ZTt9LmN7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48Y2lyY2xlIGNsYXNzPSJjIiBjeD0iMTguMjMiIGN5PSIxOC4yMyIgcj0iMTguMjMiLz48cGF0aCBjbGFzcz0iYiIgZD0iTTEzLjU0LDI5LjkxYy0uNTksMC0xLjE4LS4yMy0xLjY0LS42OC0uOS0uOS0uOS0yLjM3LDAtMy4yN2w3Ljc0LTcuNzQtNy43NC03Ljc0Yy0uOS0uOS0uOS0yLjM3LDAtMy4yNy45LS45LDIuMzctLjksMy4yNywwbDkuMzcsOS4zN2MuNDMuNDMuNjgsMS4wMi42OCwxLjYzcy0uMjQsMS4yLS42OCwxLjYzbC05LjM3LDkuMzdjLS40NS40NS0xLjA0LjY4LTEuNjQuNjhaIi8+PC9zdmc+) no-repeat center;
    background-size: contain
}

@media screen and (max-width: 768px) {
    .homepage .contentnav {
        display: block;
        width: 21rem;
        height: 21.0625rem;
        margin-top: 2.5rem;
        margin-bottom: 3.125rem
    }

    .homepage .contentnav__item {
        position: absolute;
        width: 10rem;
        height: 10rem
    }

    .homepage .contentnav__item:nth-child(1) {
        left: 0;
        bottom: 0
    }

    .homepage .contentnav__item:nth-child(2) {
        margin-top: 0;
        top: 0;
        left: 5.3125rem
    }

    .homepage .contentnav__item:nth-child(3) {
        right: 0;
        bottom: 1.375rem
    }

    .homepage .contentnav__item:after {
        width: 10.125rem;
        height: 10.125rem;
        right: -.625rem;
        top: .625rem
    }

    .homepage .contentnav__item a div {
        gap: .625rem
    }

    .homepage .contentnav__item a div img {
        width: auto;
        height: 2.375rem
    }

    .homepage .contentnav__item a div p {
        font-size: .75rem;
        letter-spacing: 0
    }

    .homepage .contentnav__item a div p span {
        width: 6.0625rem;
        height: 1.375rem;
        margin-bottom: .625rem
    }

    .homepage .contentnav__item a div:after {
        width: 1.125rem;
        height: 1.125rem
    }
}

.bubble-background {
    position: fixed;
    z-index: 0;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    overflow: hidden;
    pointer-events: none
}

.bubble {
    position: absolute;
    bottom: -50px;
    background-color: transparent;
    border-radius: 50%;
    pointer-events: none;
    box-shadow: inset 0 0 10px #24bbee33;
    animation: bubble 8s linear infinite
}

.bubble {
    position: absolute;
    bottom: -50px;
    background-color: transparent;
    border-radius: 50%;
    pointer-events: none;
    animation: bubble 8s linear infinite
}

.bubble--type1 {
    box-shadow: inset 0 0 .9375rem #24bbee80
}

.bubble--type2 {
    background: linear-gradient(40deg, #009ddd00, #009ddd40);
    box-shadow: none
}

.bubble:before {
    position: absolute;
    width: 100%;
    height: 100%;
    transform: scale(.25) translate(-70%, -70%);
    border-radius: 50%
}

@keyframes bubble {
    0% {
        transform: translatY(0) scale(1);
        opacity: .8
    }

    60% {
        opacity: .8
    }

    to {
        transform: translateY(-100vh) scale(.2) rotate(180deg);
        opacity: 0
    }
}

.correlationpage .correlation__header {
    height: 17.1875rem;
    display: flex;
    align-items: center;
    position: relative
}

.correlationpage .correlation__header h1 {
    font-size: 3.25rem;
    font-weight: 700;
    color: var(--baseColor);
    margin-bottom: 1.5625rem
}

.correlationpage .correlation__header p {
    font-size: 1.1875rem;
    line-height: 1.6842105263;
    font-weight: 500;
    margin-bottom: 2.5rem
}

.correlationpage .correlation__header-bg {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1
}

.correlationpage .correlation__header-bg img {
    width: 100%
}

@media screen and (max-width: 768px) {
    .correlationpage .correlation__header {
        height: 8.125rem;
        align-items: flex-start;
        padding-top: 1.25rem
    }

    .correlationpage .correlation__header .container {
        z-index: 1
    }

    .correlationpage .correlation__header h1 {
        font-size: 1.75rem;
        margin-bottom: .9375rem
    }

    .correlationpage .correlation__header p {
        font-size: .9375rem;
        line-height: 1.4666666667;
        margin-bottom: 0
    }

    .correlationpage .correlation__header-bg {
        position: absolute;
        left: 0;
        top: 0;
        z-index: -1
    }

    .correlationpage .correlation__header-bg img {
        width: 100%
    }
}

.correlationpage .correlation__overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    background: #9b9b9b;
    left: 0;
    top: 0;
    z-index: 99;
    mix-blend-mode: multiply;
    opacity: 0;
    visibility: hidden;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

.correlationpage .correlation__overlay.is-show {
    opacity: 1;
    visibility: visible
}

.correlationpage .correlation__modal {
    position: fixed;
    width: 43.75rem;
    border: .5rem solid #aad4ed;
    background: #fff;
    padding: 3.4375rem;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: .4s cubic-bezier(.43, .05, .17, 1);
    filter: blur(.9375rem)
}

.correlationpage .correlation__modal.is-show {
    opacity: 1;
    visibility: visible;
    filter: blur(0)
}

.correlationpage .correlation__modal-close {
    position: absolute;
    right: 1.5625rem;
    top: 1.5625rem;
    width: 2.875rem;
    height: 2.875rem;
    display: block;
    background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iYSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNDYuMTMiIGhlaWdodD0iNDYuMTMiIHZpZXdCb3g9IjAgMCA0Ni4xMyA0Ni4xMyI+PGRlZnM+PHN0eWxlPi5ie2ZpbGw6I2ZmZjt9LmN7ZmlsbDojNjQ2NDY0O308L3N0eWxlPjwvZGVmcz48Y2lyY2xlIGNsYXNzPSJjIiBjeD0iMjMuMDciIGN5PSIyMy4wNyIgcj0iMjMuMDciLz48cGF0aCBjbGFzcz0iYiIgZD0iTTIyLjkyLDI0Ljk5bC05LjMxLDkuMzQtMS42Ny0xLjY0LDkuMzQtOS4zNC05LjM0LTkuMzEsMS42Ny0xLjY3LDkuMzEsOS4zNCw5LjM0LTkuMzQsMS42NCwxLjY0LTkuMzEsOS4zNCw5LjMxLDkuMzQtMS42NCwxLjY0LTkuMzQtOS4zNFoiLz48L3N2Zz4=) no-repeat center;
    background-size: contain
}

.correlationpage .correlation__modal h2 {
    text-align: center;
    font-size: 1.875rem;
    font-weight: 700;
    color: var(--baseColor);
    margin-bottom: 1.875rem
}

.correlationpage .correlation__modal p {
    font-size: .9375rem;
    line-height: 1.7333333333;
    font-weight: 500
}

.correlationpage .correlation__modal p span {
    text-align: center;
    display: block;
    font-size: 1.125rem
}

@media screen and (max-width: 768px) {
    .correlationpage .correlation__modal {
        position: fixed;
        width: 21.25rem;
        border: .375rem solid #aad4ed;
        padding: 1.25rem
    }

    .correlationpage .correlation__modal-close {
        position: absolute;
        right: .625rem;
        top: .625rem;
        width: 2.1875rem;
        height: 2.1875rem
    }

    .correlationpage .correlation__modal h2 {
        font-size: .9375rem;
        margin-bottom: .625rem
    }

    .correlationpage .correlation__modal p {
        font-size: .6875rem
    }

    .correlationpage .correlation__modal p span {
        font-size: .8125rem
    }
}

.correlationpage .content {
    background: #fff;
    box-shadow: .4375rem .4375rem .4375rem #00000026;
    padding: 3.125rem 4.1875rem;
    margin-bottom: 5.625rem;
    position: relative;
    z-index: 2
}

@media screen and (max-width: 768px) {
    .correlationpage .content {
        box-shadow: .25rem .25rem .25rem #00000026;
        padding: 1.875rem .625rem;
        margin-bottom: 5.625rem;
        border-radius: .625rem
    }
}

.correlationpage .flow {
    position: relative;
    width: 53.875rem;
    margin: auto
}

.correlationpage .flow ul li {
    position: absolute;
    width: 14.5625rem;
    height: 8.9375rem;
    left: 18.875rem;
    z-index: 2
}

.correlationpage .flow ul li a {
    width: 100%;
    height: 100%;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent
}

.correlationpage .flow ul li:nth-child(1) {
    top: 7.5625rem
}

.correlationpage .flow ul li:nth-child(2) {
    top: 21.75rem
}

.correlationpage .flow ul li:nth-child(3) {
    top: 35rem
}

@media screen and (max-width: 768px) {
    .correlationpage .flow {
        width: 19.75rem
    }

    .correlationpage .flow ul li:nth-child(1) {
        width: 10.625rem;
        height: 3.8125rem;
        left: 5.125rem;
        top: 15.3125rem
    }

    .correlationpage .flow ul li:nth-child(2) {
        width: 6.875rem;
        height: 6.875rem;
        left: .75rem;
        top: 22.1875rem
    }

    .correlationpage .flow ul li:nth-child(3) {
        width: 8.75rem;
        height: 7.5rem;
        left: 8.125rem;
        top: 22.1875rem
    }
}

.correlationpage .attention {
    margin-top: 1.25rem
}

.correlationpage .main {
    border: solid .3125rem #99bbee;
    border-radius: 1.25rem;
    padding: 2.5rem 1.875rem;
    margin-top: 3.4375rem;
    position: relative
}

.correlationpage .main__bg {
    position: absolute;
    right: 2.8125rem;
    bottom: 0;
    width: 10.625rem
}

.correlationpage .main h2 {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%);
    background: var(--baseColor);
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
    border-radius: 1.875rem;
    padding: .3125rem 3.125rem
}

@media screen and (max-width: 768px) {
    .correlationpage .main {
        border: solid .25rem #99bbee;
        padding: 2.5rem 1.25rem;
        margin-top: 2.8125rem
    }

    .correlationpage .main__bg {
        position: relative;
        right: auto;
        bottom: auto;
        margin: .9375rem auto -2.5rem;
        width: 4.6875rem
    }

    .correlationpage .main h2 {
        font-size: 1.0625rem;
        border-radius: .9375rem;
        padding: .3125rem 2.1875rem
    }
}

.correlationpage .list {
    display: grid;
    grid-template-columns: repeat(3, auto);
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
    gap: 1.5625rem 1.25rem
}

@media screen and (max-width: 768px) {
    .correlationpage .list {
        grid-template-columns: 100%;
        grid-template-rows: auto;
        grid-auto-flow: row;
        gap: 0
    }
}

.correlationpage .item a {
    display: flex;
    align-items: center;
    gap: .9375rem;
    transition: all .4s cubic-bezier(.43, .05, .17, 1);
    position: relative
}

@media (hover: hover) and (pointer: fine) {
    .correlationpage .item a:hover {
        opacity: .5
    }
}

.correlationpage .item a:after {
    content: " ";
    position: absolute;
    right: 0;
    top: .625rem;
    transform: translateY(-50%);
    width: .9375rem;
    height: .9375rem;
    background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iYSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTUuMDQiIGhlaWdodD0iMTUuMDQiIHZpZXdCb3g9IjAgMCAxNS4wNCAxNS4wNCI+PGRlZnM+PHN0eWxlPi5ie2ZpbGw6I2ZmZjt9LmN7ZmlsbDojOWJlO308L3N0eWxlPjwvZGVmcz48Y2lyY2xlIGNsYXNzPSJjIiBjeD0iNy41MiIgY3k9IjcuNTIiIHI9IjcuNTIiLz48cGF0aCBjbGFzcz0iYiIgZD0iTTYuMTMsMTEuNmMtLjI1LDAtLjQ5LS4xLS42Ny0uMy0uMzMtLjM3LS4zLS45NC4wNy0xLjI3bDIuODEtMi41MS0yLjgxLTIuNTFjLS4zNy0uMzMtLjQtLjktLjA3LTEuMjcuMzMtLjM3LjktLjQsMS4yNy0uMDdsMy41NiwzLjE4Yy4xOS4xNy4zLjQxLjMuNjdzLS4xMS41LS4zLjY3bC0zLjU2LDMuMThjLS4xNy4xNS0uMzkuMjMtLjYuMjNaIi8+PC9zdmc+) no-repeat center;
    background-size: contain
}

.correlationpage .item__photo {
    width: 5rem;
    min-width: 5rem
}

.correlationpage .item__body h3 {
    font-size: 1.0625rem;
    color: var(--baseColor);
    font-weight: 700;
    margin-bottom: .3125rem
}

.correlationpage .item__body p {
    font-size: .75rem;
    line-height: 1.4166666667
}

@media screen and (max-width: 768px) {
    .correlationpage .item {
        border-bottom: solid .03125rem #0156d5
    }

    .correlationpage .item:last-child {
        border-bottom: none
    }

    .correlationpage .item:first-child a {
        padding-top: 0
    }

    .correlationpage .item a {
        padding: .9375rem 0;
        align-items: flex-start
    }

    .correlationpage .item a:after {
        top: 50%
    }

    .correlationpage .item__photo {
        width: 3.75rem;
        min-width: 3.75rem
    }

    .correlationpage .item__body h3 {
        font-size: .9375rem;
        margin-bottom: .3125rem
    }

    .correlationpage .item__body p {
        font-size: .6875rem;
        line-height: 1.4545454545
    }
}

.recruitpage .list {
    padding: 0 2.1875rem;
    display: grid;
    grid-template-columns: auto 1fr;
    margin-bottom: 11.875rem;
    margin-top: 5.625rem
}

@media screen and (max-width: 768px) {
    .recruitpage .list {
        padding: 0;
        grid-template-columns: 100%;
        margin-bottom: 7.8125rem;
        margin-top: 1.875rem;
        gap: 2.5rem
    }
}

.recruitpage .item {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    gap: 1.875rem;
    padding: .9375rem 0;
    border-bottom: solid .0625rem var(--baseColor);
    align-items: baseline
}

.recruitpage .item h2 {
    color: #fff;
    text-align: center;
    background: linear-gradient(180deg, #588ede 14.68%, #0156d5 99.82%);
    font-size: 1.25rem;
    font-weight: 700;
    padding: .625rem 2.1875rem
}

.recruitpage .item p {
    font-size: 1.0625rem;
    line-height: 1.5294117647
}

.recruitpage .item p a {
    text-decoration: underline;
    color: var(--baseColor)
}

@media screen and (max-width: 768px) {
    .recruitpage .item {
        grid-template-columns: 100%;
        grid-column: span 1;
        gap: 1.25rem;
        padding: 0;
        border-bottom: none;
        align-items: baseline
    }

    .recruitpage .item:last-child {
        border-bottom: none
    }

    .recruitpage .item h2 {
        font-size: .9375rem;
        padding: .5rem 2.1875rem
    }

    .recruitpage .item p {
        font-size: .75rem;
        line-height: 1.5
    }
}

.recruitpage .subitem {
    display: grid;
    grid-template-columns: 100%;
    gap: .3125rem;
    padding-bottom: .625rem;
    padding-top: .625rem;
    border-bottom: dotted .125rem var(--baseColor)
}

.recruitpage .subitem:first-child {
    padding-top: 0
}

.recruitpage .subitem:last-child {
    border-bottom: none;
    padding-bottom: 0
}

.recruitpage .subitem h3 {
    font-size: 1.0625rem
}

.recruitpage .subitem p,
.recruitpage .subitem ul {
    font-size: 1rem;
    line-height: 1.625
}

.recruitpage .subitem li {
    display: flex
}

.recruitpage .subitem li:before {
    content: "・";
    display: block
}

@media screen and (max-width: 768px) {
    .recruitpage .subitem h3 {
        font-size: .75rem
    }

    .recruitpage .subitem p,
    .recruitpage .subitem ul {
        font-size: .75rem;
        line-height: 1.5
    }
}

.recruitpage .guideline {
    grid-column: span 2;
    margin-top: 3.125rem;
    display: flex;
    justify-content: center;
    align-items: center
}

.recruitpage .guideline a {
    border: solid 1px #990000;
    color: #900;
    padding: .9375rem 3.125rem;
    font-size: 1.125rem;
    transition: .5s all
}

.recruitpage .guideline a:hover {
    background: #900;
    color: #fff
}

.qapage .anchor {
    margin-top: 2.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 6.875rem
}

.qapage .anchor li {
    border-right: 1px solid #000000
}

.qapage .anchor li:first-child {
    border-left: 1px solid #000000
}

.qapage .anchor li a {
    display: block;
    padding: 0 1.875rem
}

@media screen and (max-width: 768px) {
    .qapage .anchor {
        margin-top: 1.875rem;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        margin-bottom: 1.875rem;
        gap: .9375rem 0
    }

    .qapage .anchor li {
        border-right: 1px solid #000000
    }

    .qapage .anchor li:first-child {
        border-left: 1px solid #000000
    }

    .qapage .anchor li:nth-child(2) {
        grid-column: span 2
    }

    .qapage .anchor li:nth-child(3) {
        border-left: 1px solid #000000
    }

    .qapage .anchor li a {
        font-size: .6875rem;
        padding: 0;
        text-align: center
    }
}

.qapage .content {
    display: grid;
    grid-template-columns: 100%;
    gap: 5.3125rem;
    margin-bottom: 20rem
}

.qapage .content h2 {
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 700;
    gap: .625rem;
    color: var(--baseColor);
    margin-bottom: 1.875rem
}

.qapage .content h2:before {
    content: " ";
    width: 2rem;
    height: 2rem;
    display: block;
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMi4zNiIgaGVpZ2h0PSIzMi4zNSIgdmlld0JveD0iMCAwIDMyLjM2IDMyLjM1Ij48ZGVmcz48c3R5bGU+LmJ7ZmlsbDojMDE1NmQ1O308L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iYiIgZD0iTTMwLjg5LDEuNDdjLTEuODQtMS44NC00Ljc3LTEuOTctNi43Ni0uMzFsNy4wNyw3LjA3YzEuNjYtMS45OSwxLjUzLTQuOTMtLjMxLTYuNzZoMFpNMjIuNiwyLjAzTC44NiwyMy43Ny4yMiwzMS45NGwtLjIyLjIyLjIxLS4wMi0uMDIuMi4yMi0uMjIsOC4xNy0uNjRMMzAuMzIsOS43NmwtNy43Mi03LjczWk0yMi43Miw3LjUxbDIuMTIsMi4xMi0xMC4xNSwxMC4xNS0yLjEyLTIuMTIsMTAuMTUtMTAuMTVaTTIyLjcyLDcuNTEiLz48L3N2Zz4=) no-repeat center;
    background-size: contain
}

@media screen and (max-width: 768px) {
    .qapage .content {
        gap: 2.1875rem;
        margin-bottom: 7.1875rem
    }

    .qapage .content h2 {
        font-size: 1.125rem;
        gap: .625rem;
        margin-bottom: 1.875rem
    }

    .qapage .content h2:before {
        width: 1.25rem;
        height: 1.25rem
    }
}

.qapage .list {
    display: grid;
    grid-template-columns: 100%;
    gap: 1.875rem
}

@media screen and (max-width: 768px) {
    .qapage .list {
        gap: 1.25rem
    }
}

.qapage .question {
    display: flex;
    align-items: first baseline;
    gap: 2.5rem;
    padding: 0 1.25rem 1.25rem;
    border-bottom: solid 1px var(--baseColor);
    cursor: pointer;
    transition: .5s all
}

@media (hover: hover) and (pointer: fine) {
    .qapage .question:hover {
        opacity: .75
    }
}

.qapage .question h3 {
    font-size: 1.3125rem;
    font-weight: 700;
    color: var(--baseColor)
}

.qapage .question:before {
    content: "";
    width: 1.5625rem;
    min-width: 1.5625rem;
    height: 2.6875rem;
    position: relative;
    bottom: -.1875rem;
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMy4yNiIgaGVpZ2h0PSI0My4zMyIgdmlld0JveD0iMCAwIDIzLjI2IDQzLjMzIj48ZGVmcz48c3R5bGU+LmJ7ZmlsbDojNzBhMGU3O308L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iYiIgZD0iTTE3LjUyLDQwLjY2Yy0xLjc0LDEuMjgtMy45NCwxLjkxLTYuOSwxLjkxLTcuNDIsMC0xMC42MS0zLjgzLTEwLjYxLTEyLjc2VjEyLjc2QzAsMy44MywzLjE5LDAsMTAuNjEsMHMxMC42NywzLjgzLDEwLjY3LDEyLjc2djE3LjA1YzAsMy42LS4yOSw1LjM5LTEuMjIsNy41NGwzLjE5LDMuMTMtMy4wNywyLjg0LTIuNjctMi42N1pNOC43NiwzMi4wMmwzLjA3LTIuNzgsMy44OSwzLjgzYy4xNy0xLjA0LjIzLTIuMDkuMjMtMy43N1YxMy4yOGMwLTYuNDQtMS40NS04LjkzLTUuMzQtOC45M3MtNS4yOCwyLjQ5LTUuMjgsOC45M3YxNi4wMWMwLDYuNSwxLjQ1LDguOTMsNS4zNCw4LjkzLDEuMzksMCwyLjM4LS4zNSwzLjI1LTEuMWwtNS4xNi01LjFaIi8+PC9zdmc+) no-repeat center;
    background-size: contain
}

.qapage .question .icon {
    width: 1.875rem;
    min-width: 1.875rem;
    height: 1.875rem;
    margin-left: auto;
    position: relative;
    align-self: center
}

.qapage .question .icon:before,
.qapage .question .icon:after {
    content: " ";
    width: 1.875rem;
    height: .1875rem;
    background: #b6b6b6;
    position: absolute
}

.qapage .question .icon:before {
    left: 0;
    top: 50%;
    transform: translateY(-50%)
}

.qapage .question .icon:after {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
    transition: .5s all
}

.qapage .question.is-open .icon:after {
    transform: translate(-50%, -50%) rotate(0)
}

@media screen and (max-width: 768px) {
    .qapage .question {
        gap: .625rem;
        padding: 0 0 .625rem
    }

    .qapage .question h3 {
        font-size: .875rem
    }

    .qapage .question:before {
        width: .625rem;
        min-width: .625rem;
        height: 1.25rem
    }

    .qapage .question .icon {
        width: 1.25rem;
        min-width: 1.25rem;
        height: 1.25rem
    }

    .qapage .question .icon:before,
    .qapage .question .icon:after {
        width: 1.25rem;
        height: .125rem
    }
}

.qapage .answer {
    height: 0;
    overflow: hidden
}

.qapage .answer__container {
    display: flex;
    gap: 2.5rem;
    padding: 1.25rem
}

.qapage .answer__container p {
    line-height: 1.56
}

.qapage .answer__container p a {
    text-decoration: underline;
    color: var(--baseColor)
}

.qapage .answer__container:before {
    content: "";
    width: 1.5625rem;
    height: 2.5625rem;
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS45OCIgaGVpZ2h0PSI0MS40MSIgdmlld0JveD0iMCAwIDI1Ljk4IDQxLjQxIj48ZGVmcz48c3R5bGU+LmJ7ZmlsbDojNzBhMGU3O308L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iYiIgZD0iTTcuNjYsMzIuNDhsLTEuOTEsOC45M0gwTDEwLjc5LDBoNC40N2wxMC43Myw0MS40MWgtNS43NGwtMS45MS04LjkzSDcuNjZaTTEyLjk5LDcuNDhsLTQuMzUsMjAuNzFoOC43NkwxMi45OSw3LjQ4WiIvPjwvc3ZnPg==) no-repeat center;
    background-size: contain
}

@media screen and (max-width: 768px) {
    .qapage .answer__container {
        gap: .5rem;
        padding: .625rem 0
    }

    .qapage .answer__container p {
        line-height: 1.56
    }

    .qapage .answer__container:before {
        width: .75rem;
        min-width: .75rem;
        height: 1.1875rem
    }
}

.numberspage .numbers,
.numberspage .welfare {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 51.875rem;
    margin: 0 auto;
    gap: 1.875rem 1.125rem
}

.numberspage .numbers__title,
.numberspage .welfare__title {
    order: 2;
    width: 16.25rem;
    height: 16.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: linear-gradient(0deg, #7bddf2, #0156d5);
    color: #fff;
    font-size: 2.0625rem;
    font-weight: 700;
    border-radius: 50%;
    text-align: center
}

.numberspage .numbers__item,
.numberspage .welfare__item {
    width: 16.25rem;
    height: 16.25rem;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: linear-gradient(0deg, #7bddf2, #0156d5);
    position: relative
}

.numberspage .numbers__item h3,
.numberspage .numbers__item h4,
.numberspage .numbers__item div,
.numberspage .numbers__item p,
.numberspage .welfare__item h3,
.numberspage .welfare__item h4,
.numberspage .welfare__item div,
.numberspage .welfare__item p {
    position: relative;
    z-index: 1
}

.numberspage .numbers__item h3,
.numberspage .welfare__item h3 {
    font-size: 1.375rem;
    line-height: 1.2727272727;
    text-align: center;
    font-weight: 700;
    color: var(--baseColor);
    margin-bottom: .3125rem
}

.numberspage .numbers__item h4,
.numberspage .welfare__item h4 {
    font-size: 1.25rem;
    color: var(--baseColor);
    text-align: center;
    font-weight: 700;
    margin-top: .3125rem
}

.numberspage .numbers__item-icon,
.numberspage .welfare__item-icon {
    height: 4.375rem;
    margin-bottom: .3125rem
}

.numberspage .numbers__item-icon.-small,
.numberspage .welfare__item-icon.-small {
    height: 3.125rem
}

.numberspage .numbers__item-icon img,
.numberspage .welfare__item-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: bottom
}

.numberspage .numbers__item-data,
.numberspage .welfare__item-data {
    font-size: 4.5rem;
    font-weight: 500;
    color: var(--baseColor);
    font-family: Akshar, Noto Sans JP, 游ゴシック体, YuGothic, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック, Yu Gothic, "sans-serif";
    line-height: 1
}

.numberspage .numbers__item-data span,
.numberspage .welfare__item-data span {
    font-size: 3.5625rem;
    font-family: Akshar, Noto Sans JP, 游ゴシック体, YuGothic, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック, Yu Gothic, "sans-serif";
    line-height: 1
}

.numberspage .numbers__item-data span.unit,
.numberspage .welfare__item-data span.unit {
    font-size: 2rem;
    font-family: Akshar, Noto Sans JP, 游ゴシック体, YuGothic, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック, Yu Gothic, "sans-serif"
}

.numberspage .numbers__item-comment,
.numberspage .welfare__item-comment {
    font-size: .8125rem;
    line-height: 1.1;
    text-align: center
}

.numberspage .numbers__item-ratio,
.numberspage .welfare__item-ratio {
    display: flex;
    gap: .625rem
}

.numberspage .numbers__item-ratio .numbers__item-icon,
.numberspage .welfare__item-ratio .numbers__item-icon {
    height: 4.0625rem;
    display: flex;
    align-items: flex-end
}

.numberspage .numbers__item-ratio .numbers__item-icon img.-small,
.numberspage .welfare__item-ratio .numbers__item-icon img.-small {
    height: 3.125rem
}

.numberspage .numbers__item-ratio h4,
.numberspage .welfare__item-ratio h4 {
    font-size: 1.0625rem;
    color: var(--baseColor);
    text-align: center;
    font-weight: 700
}

.numberspage .numbers__item-ratio .numbers__item-data,
.numberspage .welfare__item-ratio .numbers__item-data {
    font-size: 3.125rem;
    text-align: center
}

.numberspage .numbers__item-ratio .numbers__item-data span,
.numberspage .welfare__item-ratio .numbers__item-data span {
    font-size: 2.5rem
}

.numberspage .numbers__item-ratio .numbers__item-data span.unit,
.numberspage .welfare__item-ratio .numbers__item-data span.unit {
    font-size: 1.875rem
}

.numberspage .numbers__item-ratio .numbers__item-data span.no,
.numberspage .welfare__item-ratio .numbers__item-data span.no {
    font-size: 1.4375rem
}

.numberspage .numbers__item:before,
.numberspage .welfare__item:before {
    content: " ";
    width: 15.625rem;
    height: 15.625rem;
    position: absolute;
    left: .3125rem;
    top: .3125rem;
    border-radius: 50%;
    background: #fff;
    z-index: 0
}

@media screen and (max-width: 768px) {

    .numberspage .numbers,
    .numberspage .welfare {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        width: 21rem;
        gap: .9375rem .625rem
    }

    .numberspage .numbers__title,
    .numberspage .welfare__title {
        order: 1;
        margin: 0 1.25rem;
        width: 10.1875rem;
        height: 10.1875rem;
        font-size: 1.375rem
    }

    .numberspage .numbers__item,
    .numberspage .welfare__item {
        width: 10.1875rem;
        height: 10.1875rem
    }

    .numberspage .numbers__item h3,
    .numberspage .welfare__item h3 {
        font-size: 1rem;
        line-height: 1.0625;
        margin-bottom: .3125rem
    }

    .numberspage .numbers__item h4,
    .numberspage .welfare__item h4 {
        font-size: .625rem;
        margin-top: .3125rem
    }

    .numberspage .numbers__item-icon,
    .numberspage .welfare__item-icon {
        height: 2.6875rem;
        margin-bottom: .3125rem
    }

    .numberspage .numbers__item-icon.-small,
    .numberspage .welfare__item-icon.-small {
        height: 2.5rem
    }

    .numberspage .numbers__item-data,
    .numberspage .welfare__item-data {
        font-size: 2.8125rem
    }

    .numberspage .numbers__item-data span,
    .numberspage .welfare__item-data span {
        font-size: 2.1875rem
    }

    .numberspage .numbers__item-data span.unit,
    .numberspage .welfare__item-data span.unit {
        font-size: 1.25rem
    }

    .numberspage .numbers__item-comment,
    .numberspage .welfare__item-comment {
        font-size: .5rem
    }

    .numberspage .numbers__item-ratio,
    .numberspage .welfare__item-ratio {
        gap: .4375rem
    }

    .numberspage .numbers__item-ratio .numbers__item-icon,
    .numberspage .welfare__item-ratio .numbers__item-icon {
        height: 2.5rem
    }

    .numberspage .numbers__item-ratio .numbers__item-icon img.-small,
    .numberspage .welfare__item-ratio .numbers__item-icon img.-small {
        height: 1.875rem
    }

    .numberspage .numbers__item-ratio h4,
    .numberspage .welfare__item-ratio h4 {
        font-size: .625rem
    }

    .numberspage .numbers__item-ratio .numbers__item-data,
    .numberspage .welfare__item-ratio .numbers__item-data {
        font-size: 1.9375rem
    }

    .numberspage .numbers__item-ratio .numbers__item-data span,
    .numberspage .welfare__item-ratio .numbers__item-data span {
        font-size: 1.5625rem
    }

    .numberspage .numbers__item-ratio .numbers__item-data span.unit,
    .numberspage .welfare__item-ratio .numbers__item-data span.unit {
        font-size: 1.125rem
    }

    .numberspage .numbers__item-ratio .numbers__item-data span.no,
    .numberspage .welfare__item-ratio .numbers__item-data span.no {
        font-size: .875rem
    }

    .numberspage .numbers__item:before,
    .numberspage .welfare__item:before {
        width: 9.8125rem;
        height: 9.8125rem;
        left: .1875rem;
        top: .1875rem
    }
}

.numberspage .numbers {
    margin-top: 6.25rem
}

.numberspage .numbers__item:nth-child(2) {
    order: 1
}

.numberspage .numbers__item:nth-child(3) {
    order: 3
}

.numberspage .numbers__item:nth-child(4) {
    order: 4
}

.numberspage .numbers__item:nth-child(5) {
    order: 5
}

.numberspage .numbers__item:nth-child(6) {
    order: 6
}

.numberspage .numbers__item:nth-child(7) {
    order: 7
}

.numberspage .numbers__item:nth-child(8) {
    order: 8
}

.numberspage .numbers__item:nth-child(9) {
    order: 9
}

.numberspage .numbers__item:nth-child(10) {
    order: 10
}

.numberspage .numbers__item:nth-child(11) {
    order: 11
}

@media screen and (max-width: 768px) {
    .numberspage .numbers {
        margin-top: 2.8125rem
    }
}

.numberspage .welfare {
    margin-bottom: 13.125rem
}

.numberspage .welfare__bg {
    position: relative;
    padding-top: 25.2562225476vw;
    padding-bottom: 19.3997071742vw
}

.numberspage .welfare__bg-image {
    position: absolute;
    z-index: -1;
    width: 100%;
    top: 0;
    left: 0
}

.numberspage .welfare__item:nth-child(2) {
    order: 1
}

.numberspage .welfare__item:nth-child(3) {
    order: 3
}

.numberspage .welfare__item:nth-child(4) {
    order: 4
}

.numberspage .welfare__item:nth-child(5) {
    order: 5
}

.numberspage .welfare__item:nth-child(6) {
    order: 6
}

.numberspage .welfare__item:nth-child(7) {
    order: 7
}

.numberspage .welfare__item:nth-child(8) {
    order: 8
}

.numberspage .welfare__item:nth-child(9) {
    order: 9
}

.numberspage .welfare__item:nth-child(10) {
    order: 10
}

.numberspage .welfare__item-refresh {
    text-align: center
}

.numberspage .welfare__item-refresh h4 {
    font-size: .8125rem;
    color: #fff;
    background: var(--baseColor);
    padding: .1875rem .5rem;
    border-radius: 1.25rem;
    margin: 0
}

.numberspage .welfare__item-refresh p {
    font-size: 1rem;
    line-height: 1.375;
    color: var(--baseColor);
    font-weight: 500;
    margin: 0
}

@media screen and (max-width: 768px) {
    .numberspage .welfare {
        margin-bottom: 0;
        margin-top: 3.4375rem
    }

    .numberspage .welfare__bg {
        padding-top: 0;
        padding-bottom: 7.1875rem
    }

    .numberspage .welfare__bg-image {
        top: -11.5625rem
    }

    .numberspage .welfare__item-refresh {
        width: 14.875rem;
        height: 14.875rem
    }

    .numberspage .welfare__item-refresh:before {
        width: 14.5rem;
        height: 14.5rem
    }

    .numberspage .welfare__item-refresh h4 {
        font-size: .6875rem;
        padding: .1875rem .5rem;
        border-radius: .625rem;
        margin-top: .3125rem
    }

    .numberspage .welfare__item-refresh p {
        margin-top: .125rem;
        font-size: .875rem;
        line-height: 1.2142857143
    }
}

.interviewpage .interview__header {
    height: 43.9238653001vw;
    margin-bottom: 4.39238653vw;
    position: relative;
    display: flex;
    align-items: center
}

.interviewpage .interview__header-image {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: -1
}

.interviewpage .interview__header-copy {
    margin-bottom: 3.125rem;
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start
}

.interviewpage .interview__header-copy .title {
    width: 19.6875rem;
    height: 3.75rem;
    background: var(--baseColor);
    mask-image: url(../../assets/images/home-interview__title.svg);
    mask-size: contain;
    mask-repeat: no-repeat;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    position: relative;
    z-index: 1
}

.interviewpage .interview__header-copy .number {
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    position: absolute;
    width: 5.9375rem;
    height: 5.625rem;
    left: 18.4375rem;
    bottom: 0;
    background: var(--bg) no-repeat center;
    background-size: contain;
    z-index: 0;
    mix-blend-mode: multiply
}

.interviewpage .interview__header-title {
    font-size: 2.75rem;
    line-height: 1.5454545455;
    margin-bottom: 1.875rem;
    font-weight: 700;
    color: var(--baseColor)
}

.interviewpage .interview__header-data {
    font-size: .9375rem
}

.interviewpage .interview__header-data span {
    font-size: 1.375rem
}

.interviewpage .interview__header-white {
    --baseColor: #ffffff;
    color: #fff
}

.interviewpage .interview__header-white .interview__header-copy .number {
    mix-blend-mode: normal
}

@media screen and (max-width: 768px) {
    .interviewpage .interview__header {
        height: 20.625rem;
        margin-bottom: 2.196193265vw;
        align-items: flex-start
    }

    .interviewpage .interview__header-copy {
        margin-bottom: 1.25rem;
        margin-top: 3.125rem
    }

    .interviewpage .interview__header-copy .title {
        width: 8.9375rem;
        height: 3.375rem;
        mask-image: url(../../assets/images/home-interview__title_sp.svg)
    }

    .interviewpage .interview__header-copy .number {
        width: 2.8125rem;
        height: 2.8125rem;
        left: 8.75rem;
        bottom: .625rem
    }

    .interviewpage .interview__header-title {
        font-size: 1.1875rem;
        line-height: 1.4736842105;
        margin-bottom: .9375rem
    }

    .interviewpage .interview__header-data {
        font-size: .6875rem
    }

    .interviewpage .interview__header-data span {
        font-size: 1.1875rem
    }
}

.interviewpage .interview__container {
    margin-top: 6.875rem;
    display: grid;
    grid-template-columns: 100%;
    gap: 6.25rem;
    margin-bottom: 7.8125rem
}

@media screen and (max-width: 768px) {
    .interviewpage .interview__container {
        margin-top: 1.875rem;
        gap: 2.8125rem;
        margin-bottom: 2.8125rem
    }
}

.interviewpage .interview__item {
    display: flex;
    justify-content: space-between;
    gap: 3.4375rem
}

.interviewpage .interview__item:nth-child(2n) {
    flex-direction: row-reverse
}

.interviewpage .interview__item-photo {
    width: 31.875rem;
    min-width: 31.875rem
}

.interviewpage .interview__item-body h2 {
    font-size: 1.6875rem;
    line-height: 1.6666666667;
    font-weight: 700;
    margin-bottom: 1.25rem
}

.interviewpage .interview__item-body p {
    font-size: .9375rem;
    line-height: 1.7333333333
}

@media screen and (max-width: 768px) {
    .interviewpage .interview__item {
        flex-direction: column;
        gap: .9375rem
    }

    .interviewpage .interview__item:nth-child(2n) {
        flex-direction: column
    }

    .interviewpage .interview__item-photo {
        width: 100%;
        min-width: 100%
    }

    .interviewpage .interview__item-body h2 {
        font-size: .9375rem;
        line-height: 1.4666666667;
        margin-bottom: .9375rem
    }

    .interviewpage .interview__item-body p {
        font-size: .75rem;
        line-height: 1.6666666667
    }
}

.interviewpage .interview__message {
    position: relative;
    background: #fff;
    padding: 5.625rem;
    margin-top: 7.8125rem;
    display: grid;
    grid-template-columns: auto 19.375rem;
    gap: 3.75rem;
    align-items: center;
    margin-bottom: 10.980966325vw
}

.interviewpage .interview__message-body h2 {
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    width: 21.5rem;
    height: 4.625rem;
    background: url(../../assets/images/interview-message__title.svg) no-repeat left;
    background-size: contain;
    margin-bottom: 1.25rem
}

.interviewpage .interview__message-body p {
    font-size: .9375rem;
    line-height: 1.7333333333
}

.interviewpage .interview__message-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0
}

.interviewpage .interview__message-bg span {
    width: 3.625rem;
    height: 3.625rem;
    background: url(../../assets/images/interview-message__bg.svg) no-repeat left;
    background-size: contain;
    position: absolute
}

.interviewpage .interview__message-bg span:nth-child(1) {
    left: .625rem;
    top: .625rem
}

.interviewpage .interview__message-bg span:nth-child(2) {
    right: .625rem;
    top: .625rem;
    transform: rotate(90deg)
}

.interviewpage .interview__message-bg span:nth-child(3) {
    left: .625rem;
    bottom: .625rem;
    transform: rotate(-90deg)
}

.interviewpage .interview__message-bg span:nth-child(4) {
    right: .625rem;
    bottom: .625rem;
    transform: rotate(-180deg)
}

@media screen and (max-width: 768px) {
    .interviewpage .interview__message {
        padding: 1.25rem;
        margin-top: 0;
        display: flex;
        flex-direction: column-reverse;
        gap: .9375rem;
        margin-bottom: 4.6875rem
    }

    .interviewpage .interview__message-photo {
        width: 9.0625rem;
        margin-left: auto
    }

    .interviewpage .interview__message-body h2 {
        width: 7.5625rem;
        height: 3.125rem;
        background: url(../../assets/images/interview-message__title_sp.svg) no-repeat left;
        background-size: contain;
        margin-bottom: 0;
        position: absolute;
        left: 1.875rem;
        top: 3.75rem
    }

    .interviewpage .interview__message-body p {
        font-size: .75rem;
        line-height: 1.6666666667
    }

    .interviewpage .interview__message-bg span {
        width: 1.1875rem;
        height: 1.1875rem
    }

    .interviewpage .interview__message-bg span:nth-child(1) {
        left: .3125rem;
        top: .3125rem
    }

    .interviewpage .interview__message-bg span:nth-child(2) {
        right: .3125rem;
        top: .3125rem
    }

    .interviewpage .interview__message-bg span:nth-child(3) {
        left: .3125rem;
        bottom: .3125rem
    }

    .interviewpage .interview__message-bg span:nth-child(4) {
        right: .3125rem;
        bottom: .3125rem
    }
}

.interviewpage .other {
    padding-bottom: 16.6178623719vw;
    position: relative
}

.interviewpage .other__bg {
    width: 100%;
    z-index: -1;
    position: absolute;
    left: 0;
    bottom: -14.0625rem
}

.interviewpage .other h2 {
    width: 27.6875rem;
    height: 5.3125rem;
    background: url(../../assets/images/home-interview__title.svg) no-repeat center;
    background-size: contain;
    margin: 0 auto 3.75rem;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent
}

.interviewpage .other__container .js-slide_nav {
    display: none
}

.interviewpage .other__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin-top: 3.125rem
}

.interviewpage .other__item a {
    display: block;
    background: #fff;
    border: solid 1px #8f94a8;
    padding: .75rem .75rem 1.875rem
}

@media (hover: hover) and (pointer: fine) {
    .interviewpage .other__item a:hover .other__item-btn {
        background: var(--baseColor);
        color: #fff
    }

    .interviewpage .other__item a:hover .other__item-btn:after {
        background: #fff
    }
}

.interviewpage .other__item-photo {
    width: 100%;
    height: 22.8125rem;
    position: relative;
    background: #eee;
    margin-bottom: 1.5625rem
}

.interviewpage .other__item-photo img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top
}

.interviewpage .other__item-photo p {
    background: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
    padding: .9375rem 1.25rem 0 .9375rem
}

.interviewpage .other__item-photo p span {
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    width: 4.0625rem;
    height: .8125rem;
    background: var(--bg) no-repeat left;
    background-size: contain
}

.interviewpage .other__item-body {
    padding-left: .9375rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

.interviewpage .other__item-body h4 {
    font-size: 1.3125rem
}

.interviewpage .other__item-text {
    font-size: .75rem;
    line-height: 1.5833333333;
    margin-top: .625rem
}

.interviewpage .other__item-position {
    font-size: .8125rem;
    margin-top: .9375rem
}

.interviewpage .other__item-name {
    font-size: 1.375rem;
    margin-top: .625rem
}

.interviewpage .other__item-name span {
    font-size: .8125rem
}

.interviewpage .other__item-btn {
    font-size: .9375rem;
    border: solid 1px var(--baseColor);
    padding: .625rem 1.25rem;
    display: flex;
    align-items: center;
    gap: .9375rem;
    margin-top: 1.25rem;
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

.interviewpage .other__item-btn:after {
    content: " ";
    width: .5625rem;
    height: .8125rem;
    background: var(--baseColor);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    transition: .4s cubic-bezier(.43, .05, .17, 1)
}

@media screen and (max-width: 768px) {
    .interviewpage .other {
        padding-bottom: 8.125rem
    }

    .interviewpage .other__bg {
        width: 100%;
        z-index: -1;
        position: absolute;
        left: 0;
        top: -17.3125rem;
        bottom: auto
    }

    .interviewpage .other h2 {
        width: 13.5625rem;
        height: 2.5625rem;
        margin: 0 auto 1.875rem
    }

    .interviewpage .other__container {
        position: relative;
        width: 18.4375rem;
        margin: auto
    }

    .interviewpage .other__container .js-slide_nav {
        display: block
    }

    .interviewpage .other__container .btn-prev,
    .interviewpage .other__container .btn-next {
        width: .875rem;
        height: 1.5rem;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: var(--baseColor);
        clip-path: polygon(0 0, 0% 100%, 100% 50%);
        text-indent: 100%;
        display: block;
        overflow: hidden;
        white-space: nowrap;
        color: transparent
    }

    .interviewpage .other__container .btn-prev {
        left: -.375rem;
        transform: translate(-100%, -50%) scaleX(-1)
    }

    .interviewpage .other__container .btn-next {
        right: -.375rem;
        transform: translate(100%, -50%)
    }

    .interviewpage .other__list {
        display: flex;
        flex-wrap: inherit;
        gap: 0;
        margin-top: 1.875rem
    }

    .interviewpage .other__item a {
        display: block;
        background: #fff;
        border: solid 1px #8f94a8;
        padding: .75rem .75rem 1.875rem
    }

    .interviewpage .other__item-photo {
        width: 100%;
        height: 11.875rem;
        margin-bottom: .9375rem
    }

    .interviewpage .other__item-photo p {
        padding: .9375rem .625rem 0 .9375rem;
        left: -1px;
        bottom: -1px
    }

    .interviewpage .other__item-body {
        padding-left: 0
    }

    .interviewpage .other__item-body h4 {
        font-size: .9375rem
    }

    .interviewpage .other__item-text {
        font-size: .6875rem;
        line-height: 1.7272727273;
        margin-top: .625rem
    }

    .interviewpage .other__item-position {
        font-size: .6875rem;
        margin-top: .9375rem
    }

    .interviewpage .other__item-name {
        font-size: 1.125rem;
        margin-top: .625rem
    }

    .interviewpage .other__item-name span {
        font-size: .6875rem
    }

    .interviewpage .other__item-btn {
        margin-left: auto;
        width: auto;
        font-size: .6875rem;
        padding: .4375rem;
        gap: .4375rem;
        margin-top: -.625rem
    }

    .interviewpage .other__item-btn:after {
        width: .4375rem;
        height: .5625rem
    }
}

.crosstalkpage {
    background: linear-gradient(180deg, #d2ecf8, #fff)
}

.crosstalkpage .crosstalk__header {
    position: relative;
    height: 43.9238653001vw;
    margin-bottom: 4.39238653vw;
    padding-top: 3.75rem
}

.crosstalkpage .crosstalk__header-image {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1
}

.crosstalkpage .crosstalk__header p {
    width: 28.3125rem;
    height: 5.125rem;
    background: url(../../assets/images/crosstalk-title.svg) no-repeat left;
    background-size: contain;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    margin-bottom: 2.5rem
}

.crosstalkpage .crosstalk__header h1 {
    font-size: 2.75rem;
    font-weight: 700;
    color: var(--baseColor)
}

@media screen and (max-width: 768px) {
    .crosstalkpage .crosstalk__header {
        height: 20.625rem;
        margin-bottom: 0;
        padding-top: 1.25rem
    }

    .crosstalkpage .crosstalk__header p {
        width: 10.75rem;
        height: 1.875rem;
        margin-bottom: 1.0625rem
    }

    .crosstalkpage .crosstalk__header h1 {
        font-size: 1.1875rem
    }
}

.crosstalkpage .profile {
    margin-top: 7.5rem;
    margin-bottom: 6.25rem
}

.crosstalkpage .profile h2 {
    width: 22.5rem;
    height: 2.8125rem;
    background: url(../../assets/images/crosstalk-profile__title.svg) no-repeat left;
    background-size: contain;
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    margin: 0 auto 5rem
}

.crosstalkpage .profile__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.0625rem
}

.crosstalkpage .profile__item {
    background: #fff;
    border: solid .125rem #8f94a8;
    padding: .625rem
}

.crosstalkpage .profile__item-photo {
    margin-bottom: .625rem
}

.crosstalkpage .profile__item-name {
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: .625rem
}

.crosstalkpage .profile__item-name+p {
    font-size: .625rem;
    line-height: 1.5;
    text-align: center
}

@media screen and (max-width: 768px) {
    .crosstalkpage .profile {
        margin-top: 0;
        margin-bottom: 3.4375rem
    }

    .crosstalkpage .profile h2 {
        width: 12.1875rem;
        height: 1.5rem;
        margin: 0 auto 1.25rem
    }

    .crosstalkpage .profile__list {
        gap: .375rem
    }

    .crosstalkpage .profile__item {
        border: solid .0625rem #8f94a8;
        padding: .3125rem
    }

    .crosstalkpage .profile__item-photo {
        margin-bottom: .3125rem
    }

    .crosstalkpage .profile__item-name {
        font-size: .875rem;
        margin-bottom: .4375rem
    }

    .crosstalkpage .profile__item-name+p {
        font-size: .625rem;
        line-height: 1.4
    }
}

.crosstalkpage .talk {
    margin-bottom: 9.375rem
}

.crosstalkpage .talk h2 {
    font-size: 2.0625rem;
    color: var(--baseColor);
    display: flex;
    justify-content: center;
    align-items: baseline
}

.crosstalkpage .talk h2 span {
    text-indent: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    background-position: left;
    background-repeat: no-repeat;
    background-size: contain;
    height: 2.0625rem
}

.crosstalkpage .talk h2 span[data-type=Q1] {
    width: 2.625rem;
    background-image: url(../../assets/images/crosstalk-q1.svg)
}

.crosstalkpage .talk h2 span[data-type=Q2] {
    width: 2.875rem;
    background-image: url(../../assets/images/crosstalk-q2.svg)
}

.crosstalkpage .talk h2 span[data-type=Q3] {
    width: 2.8125rem;
    background-image: url(../../assets/images/crosstalk-q3.svg)
}

.crosstalkpage .talk h2 span[data-type=Q4] {
    width: 2.875rem;
    background-image: url(../../assets/images/crosstalk-q4.svg)
}

.crosstalkpage .talk h2 span[data-type=Q5] {
    width: 2.8125rem;
    background-image: url(../../assets/images/crosstalk-q5.svg)
}

.crosstalkpage .talk .container {
    display: grid;
    grid-template-columns: 100%;
    gap: 5rem
}

.crosstalkpage .talk__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3.125rem
}

.crosstalkpage .talk__item:nth-child(2n) {
    flex-direction: row-reverse
}

.crosstalkpage .talk__item:nth-child(2n) .talk__item-body:before {
    left: auto;
    right: -1.5rem;
    clip-path: polygon(0 0, 0% 100%, 100% 50%)
}

.crosstalkpage .talk__item:nth-child(2n) .talk__item-body:after {
    left: auto;
    right: -1.3125rem;
    clip-path: polygon(0 0, 0% 100%, 100% 50%)
}

.crosstalkpage .talk__item:nth-child(2n) .talk__item-body p {
    border-left: none;
    border-right: solid .1875rem var(--baseColor)
}

.crosstalkpage .talk__item:nth-child(2n) .talk__item-body p:before {
    left: auto;
    right: -1.3125rem;
    clip-path: polygon(0 0, 0% 100%, 100% 50%)
}

.crosstalkpage .talk__item-photo {
    width: 15.625rem;
    min-width: 15.625rem
}

.crosstalkpage .talk__item-photo span {
    display: block;
    text-align: center;
    font-size: 1.5rem;
    margin-top: 1.25rem
}

.crosstalkpage .talk__item-body {
    background: #fff;
    position: relative;
    flex-grow: 1;
    padding: .1875rem
}

.crosstalkpage .talk__item-body:before {
    content: " ";
    width: 1.5rem;
    height: 1.75rem;
    background: #fff;
    position: absolute;
    left: -1.5rem;
    top: 50%;
    transform: translateY(-50%);
    clip-path: polygon(100% 0, 0 50%, 100% 100%)
}

.crosstalkpage .talk__item-body:after {
    content: " ";
    width: 1.5rem;
    height: 1.75rem;
    background: var(--baseColor);
    position: absolute;
    left: -1.3125rem;
    top: 50%;
    transform: translateY(-50%);
    clip-path: polygon(100% 0, 0 50%, 100% 100%)
}

.crosstalkpage .talk__item-body p {
    padding: 2.5rem 3.75rem;
    font-size: .9375rem;
    line-height: 1.7333333333;
    border-bottom: solid .1875rem var(--baseColor);
    border-left: solid .1875rem var(--baseColor);
    position: relative
}

.crosstalkpage .talk__item-body p:before {
    content: " ";
    width: 1.5rem;
    height: 1.75rem;
    background: #fff;
    position: absolute;
    left: -1.3125rem;
    top: calc(50% + .125rem);
    transform: translateY(-50%);
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
    z-index: 1
}

.crosstalkpage .talk__image img {
    width: 100%;
    margin-top: -4.39238653vw
}

@media screen and (max-width: 768px) {
    .crosstalkpage .talk {
        margin-bottom: 3.125rem
    }

    .crosstalkpage .talk h2 {
        font-size: 1.125rem;
        width: 21.1875rem;
        margin: 0 auto .9375rem
    }

    .crosstalkpage .talk h2 span {
        height: 1.2375rem
    }

    .crosstalkpage .talk h2 span[data-type=Q1] {
        width: 1.575rem
    }

    .crosstalkpage .talk h2 span[data-type=Q2] {
        width: 1.725rem
    }

    .crosstalkpage .talk h2 span[data-type=Q3] {
        width: 1.6875rem
    }

    .crosstalkpage .talk h2 span[data-type=Q4] {
        width: 1.725rem
    }

    .crosstalkpage .talk h2 span[data-type=Q5] {
        width: 1.6875rem
    }

    .crosstalkpage .talk .container {
        grid-template-columns: 100%;
        gap: 10.625rem;
        margin-bottom: 12.5rem
    }

    .crosstalkpage .talk__item {
        flex-direction: column;
        gap: 3.125rem;
        position: relative
    }

    .crosstalkpage .talk__item:nth-child(2n) {
        flex-direction: column
    }

    .crosstalkpage .talk__item:nth-child(2n) .talk__item-photo {
        right: auto;
        left: 0
    }

    .crosstalkpage .talk__item:nth-child(2n) .talk__item-body:before {
        right: 50%;
        clip-path: polygon(100% 0, 10% 0%, 0% 100%)
    }

    .crosstalkpage .talk__item:nth-child(2n) .talk__item-body:after {
        right: 50%;
        transform: translateY(100%) translate(.1875rem);
        clip-path: polygon(100% 0, 10% 0%, 0% 100%)
    }

    .crosstalkpage .talk__item:nth-child(2n) .talk__item-body p {
        border-right: solid .09375rem var(--baseColor)
    }

    .crosstalkpage .talk__item:nth-child(2n) .talk__item-body p span {
        float: left
    }

    .crosstalkpage .talk__item:nth-child(2n) .talk__item-body p:before {
        right: 50%;
        transform: translateY(100%) translate(.5rem);
        clip-path: polygon(100% 0, 10% 0%, 0% 100%)
    }

    .crosstalkpage .talk__item-photo {
        width: 8.125rem;
        min-width: 8.125rem;
        position: absolute;
        bottom: 2.5rem;
        transform: translateY(100%);
        z-index: 1;
        right: 0
    }

    .crosstalkpage .talk__item-photo span {
        font-size: 1.125rem;
        margin-top: .625rem
    }

    .crosstalkpage .talk__item-body {
        background: #fff;
        position: relative;
        flex-grow: 1;
        padding: 0;
        display: flex
    }

    .crosstalkpage .talk__item-body:before {
        width: 1.25rem;
        height: 1.125rem;
        left: 50%;
        top: auto;
        bottom: .0625rem;
        transform: translateY(100%);
        clip-path: polygon(90% 0, 0 0%, 100% 100%)
    }

    .crosstalkpage .talk__item-body:after {
        content: " ";
        width: 1.25rem;
        height: 1.125rem;
        left: 50%;
        top: auto;
        bottom: .25rem;
        transform: translateY(100%) translate(-.1875rem);
        clip-path: polygon(90% 0, 0 0%, 100% 100%)
    }

    .crosstalkpage .talk__item-body p {
        padding: .9375rem .9375rem 1.875rem;
        font-size: .75rem;
        line-height: 1.5833333333;
        border-bottom: solid .09375rem var(--baseColor);
        border-left: solid .09375rem var(--baseColor);
        position: relative;
        left: -.1875rem;
        top: -.1875rem
    }

    .crosstalkpage .talk__item-body p:before {
        width: 1.25rem;
        height: 1.125rem;
        left: 50%;
        top: auto;
        bottom: .1875rem;
        transform: translateY(100%) translate(-.125rem);
        clip-path: polygon(90% 0, 0 0%, 100% 100%)
    }

    .crosstalkpage .talk__image {
        margin-top: 5rem
    }

    .crosstalkpage .talk__image img {
        width: 100%;
        margin-top: 0
    }
}

.introductionpage .introduction__header {
    height: 22.1875rem;
    display: flex;
    align-items: center;
    position: relative
}

.introductionpage .introduction__header h1 {
    font-size: 3.25rem;
    font-weight: 700;
    color: var(--baseColor);
    margin-bottom: 1.5625rem
}

.introductionpage .introduction__header p {
    font-size: 1.1875rem;
    line-height: 1.6842105263;
    font-weight: 500;
    margin-bottom: 2.5rem
}

.introductionpage .introduction__header-photo {
    position: absolute;
    right: 0;
    z-index: 0;
    top: 0;
    width: 69.9853587116vw
}

.introductionpage .introduction__header-bg {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1
}

.introductionpage .introduction__header-bg img {
    width: 100%
}

@media screen and (max-width: 768px) {
    .introductionpage .introduction__header {
        height: 18.125rem;
        align-items: flex-start;
        padding-top: 1.25rem
    }

    .introductionpage .introduction__header .container {
        z-index: 1
    }

    .introductionpage .introduction__header h1 {
        font-size: 1.75rem;
        margin-bottom: .9375rem
    }

    .introductionpage .introduction__header p {
        font-size: .9375rem;
        line-height: 1.4666666667;
        margin-bottom: 0
    }

    .introductionpage .introduction__header-photo {
        top: auto;
        bottom: -3.75rem;
        width: 100%;
        z-index: 0
    }

    .introductionpage .introduction__header-bg {
        position: absolute;
        left: 0;
        top: 0;
        z-index: -1
    }

    .introductionpage .introduction__header-bg img {
        width: 100%
    }
}

.introductionpage .content {
    background: #fff;
    box-shadow: .4375rem .4375rem .4375rem #00000026;
    padding: 3.125rem 4.1875rem;
    margin-bottom: 5.625rem;
    position: relative;
    z-index: 2
}

.introductionpage .content h2 {
    font-size: 1.875rem;
    text-align: center;
    color: var(--baseColor);
    font-weight: 700;
    margin-bottom: 1.25rem
}

.introductionpage .content h3 {
    text-align: center
}

.introductionpage .content p {
    font-size: 1.125rem;
    line-height: 1.7777777778;
    text-align: center
}

.introductionpage .content p.text {
    text-align: left;
    margin-bottom: 3.75rem
}

@media screen and (max-width: 768px) {
    .introductionpage .content {
        box-shadow: .25rem .25rem .25rem #00000026;
        padding: 1.875rem .625rem;
        margin-bottom: 5.625rem;
        border-radius: .625rem
    }

    .introductionpage .content h2 {
        font-size: 1rem;
        line-height: 1.4375;
        margin-bottom: .9375rem
    }

    .introductionpage .content>p {
        font-size: .75rem;
        line-height: 1.5;
        white-space: nowrap
    }

    .introductionpage .content>p.text {
        margin-bottom: 1.25rem
    }

    .introductionpage .content>h3 {
        font-size: .875rem;
        text-align: center;
        margin-bottom: .625rem;
        padding: .625rem;
        border: solid 1px #000000;
        line-height: 1
    }
}

.introductionpage .photo1 {
    margin-top: 1.875rem
}

@media screen and (max-width: 768px) {
    .introductionpage .photo1 {
        margin: 2.5rem auto 0;
        width: 18.75rem
    }
}

.introductionpage .photo2 {
    margin-top: .625rem
}

.introductionpage .arrow {
    width: 7.3125rem;
    height: 3.5rem;
    margin: 2.5rem auto 3.125rem;
    background: url(../../assets/images/introduction-arrow.svg) no-repeat center;
    background-size: contain
}

@media screen and (max-width: 768px) {
    .introductionpage .arrow {
        width: 4.6875rem;
        height: 2.25rem;
        margin: 2.375rem auto 1.875rem
    }
}

.introductionpage .attention h3 {
    font-size: .8125rem
}

.introductionpage .attention div {
    display: flex
}

.introductionpage .attention div p {
    font-size: .8125rem;
    line-height: 1.3846153846
}

@media screen and (max-width: 768px) {
    .introductionpage .attention {
        margin-top: -.625rem
    }

    .introductionpage .attention h3 {
        font-size: .625rem
    }

    .introductionpage .attention div p {
        font-size: .625rem;
        line-height: 1.4;
        text-align: left
    }

    .introductionpage .attention div p:nth-child(1) {
        white-space: nowrap
    }
}

.messagepage .message__header {
    height: 17.1875rem;
    display: flex;
    align-items: center;
    position: relative
}

.messagepage .message__header h1 {
    font-size: 3.25rem;
    font-weight: 700;
    color: var(--baseColor);
    margin-bottom: 1.5625rem
}

.messagepage .message__header-bg {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1
}

.messagepage .message__header-bg img {
    width: 100%
}

@media screen and (max-width: 768px) {
    .messagepage .message__header {
        height: 8.125rem;
        padding-top: 1.25rem
    }

    .messagepage .message__header .container {
        z-index: 1
    }

    .messagepage .message__header h1 {
        font-size: 1.75rem;
        margin-bottom: .9375rem
    }

    .messagepage .message__header p {
        font-size: .9375rem;
        line-height: 1.4666666667;
        margin-bottom: 0
    }

    .messagepage .message__header-bg {
        position: absolute;
        left: 0;
        top: 0;
        z-index: -1
    }

    .messagepage .message__header-bg img {
        width: 100%
    }
}

.messagepage .content {
    background: #fff;
    box-shadow: .4375rem .4375rem .4375rem #00000026;
    padding: 6.875rem 4.375rem;
    margin-bottom: 5.625rem;
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: auto 18.125rem;
    gap: 2.5rem
}

@media screen and (max-width: 768px) {
    .messagepage .content {
        box-shadow: .25rem .25rem .25rem #00000026;
        padding: 1.875rem 1.25rem;
        margin-bottom: 5.625rem;
        border-radius: .625rem;
        grid-template-columns: 100%;
        gap: 1.875rem
    }
}

.messagepage .body p {
    font-size: 1.125rem;
    line-height: 1.8333333333
}

@media screen and (max-width: 768px) {
    .messagepage .body p {
        font-size: .875rem
    }
}

.messagepage .photo p {
    margin-top: 1.25rem;
    font-size: 1.125rem;
    line-height: 1.6111111111
}

.messagepage .photo p span {
    font-size: 1.4375rem
}

@media screen and (max-width: 768px) {
    .messagepage .photo p {
        font-size: .875rem
    }

    .messagepage .photo p span {
        font-size: 1.125rem
    }
}