@charset "UTF-8";

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

body {
    line-height: 1
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

.lh-115 {
    line-height: 115%
}

.lh-120 {
    line-height: 120%
}

.lh-130 {
    line-height: 130%
}

.lh-140 {
    line-height: 140%
}

.lh-150 {
    line-height: 150%
}

.lh-160 {
    line-height: 160%
}

.lh-165 {
    line-height: 165%
}

.lh-175 {
    line-height: 175%
}

.lh-180 {
    line-height: 180%
}

.lh-240 {
    line-height: 240%
}

.ja-sans-50-5,
.ja-sans-m-14-5,
.ja-sans-m-40-5 {
    font-family: MFW-PA1GothicStdN-Medium
}

.ja-sans-16-5 {
    text-align: justify
}

.ja-sans-m-18-5,
.ja-sans-m-20-5,
.ja-sans-24-5,
.ja-sans-m-16-5,
.ja-sans-m-26-5 {
    font-family: MFW-PA1GothicStdN-Medium
}

.ja-sans-m-36-5 {
    font-size: 2.25rem;
    font-family: MFW-PA1GothicStdN-Medium;
    letter-spacing: .05em
}

.en-sans-sb-12,
.en-sans-sb-14,
.en-sans-sb-20,
.en-sans-sb-26,
.en-sans-sb-16 {
    font-style: normal;
    font-weight: 600;
    font-family: Albert Sans, sans-serif;
    font-optical-sizing: auto
}

.en-serif-22,
.en-serif-32,
.en-serif-40,
.en-serif-64 {
    font-style: normal;
    font-weight: 400;
    font-family: Forum, serif
}

.ja-sans-m-14-5-sp,
.ja-sans-m-26-5-sp {
    font-family: MFW-PA1GothicStdN-Medium
}

.en-sans-sb-14-sp,
.en-sans-sb-20-sp {
    font-style: normal;
    font-weight: 600;
    font-family: Albert Sans, sans-serif;
    font-optical-sizing: auto
}

.ja-sans-m-24-5-sp,
.ja-sans-m-18-5-sp {
    font-family: MFW-PA1GothicStdN-Medium
}

:root {
    --black: #1D2026;
    --white: #fff;
    --blue: #005AD8;
    --orange: #F65109;
    --white15: rgba(255, 255, 255, .15);
    --white30: rgba(255, 255, 255, .3);
    --white65: rgba(255, 255, 255, .65);
    --gray-dark: #606673;
    --red: #BB0000;
}

html,
body,
html.-overscroll-none,
body.-overscroll-none {
    overscroll-behavior-y: none
}

html {
    box-sizing: border-box
}

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

html.-no-scroll {
    overflow: hidden;
    touch-action: none
}

body {
    position: relative;
    background-color: var(--blue);
    color: var(--white);
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    font-family: MFW-PA1GothicStdN-Regular;
    overflow-wrap: anywhere;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: "palt"
}

body.-modal {
    height: 100vh;
    overflow: hidden
}

em,
strong,
time,
video {
    display: block
}

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

video {
    width: 100%;
    height: auto
}

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

html.lenis,
html.lenis body {
    height: auto
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain
}

.lenis.lenis-stopped {
    overflow: auto !important
}

.lenis.lenis-scrolling iframe {
    pointer-events: none
}

.u-show-sp {
    display: block !important
}

.u-show-pc {
    display: none !important
}

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

.u-hover-alpha {
    transition: opacity .3s cubic-bezier(.215, .61, .355, 1)
}

.u-hover-scaleup img {
    transition: transform .5s cubic-bezier(.165, .84, .44, 1)
}

.c-icon-blank {
    display: block;
    position: relative
}

.c-icon-blank svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

.c-icon-arrow-r {
    display: block
}

.c-icon-arrow-r2 {
    display: block;
    position: relative
}

.c-icon-arrow-r2 img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain
}

.c-btn-border {
    position: relative;
    width: fit-content
}

.c-btn-border[data-inview] {
    visibility: hidden;
    clip-path: inset(-10% 99% -10% -10%)
}

.c-btn-border[data-inview]:after {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 1px);
    height: 100%;
    transform: scaleX(1);
    transform-origin: 100% 50%;
    border-radius: .1875em;
    background-color: var(--white);
    content: ""
}

.c-btn-border[data-inview].-inview {
    visibility: visible;
    clip-path: inset(-10% -10% -10% -10%);
    transition: clip-path .5s cubic-bezier(.77, 0, .175, 1), visibility .5s
}

.c-btn-border[data-inview].-inview:after {
    transform: scaleX(0);
    transition: transform 1s .35s cubic-bezier(.19, 1, .22, 1)
}

.c-btn-border[data-inview].-inview:nth-of-type(2) {
    transition-delay: .1s
}

.c-btn-border[data-inview].-inview:nth-of-type(2):after {
    transition-delay: .45s
}

.c-btn-border[data-inview].-blue:after {
    background-color: var(--blue)
}

.c-btn-border.-blue a:before {
    background-color: var(--blue)
}

.c-btn-border.-blue a:after {
    border-color: var(--blue)
}

.c-btn-border.-blue a .c-icon-blank g {
    fill: var(--blue)
}

.c-btn-border.-blue a .c-icon-arrow-r g {
    fill: var(--blue)
}

.c-btn-border.-sns a span {
    font-style: normal;
    font-weight: 500;
    font-family: Albert Sans, sans-serif;
    font-optical-sizing: auto
}

.c-btn-border.-sns .c-icon-sns {
    position: relative
}

.c-btn-border a {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    min-height: 2.875em;
    overflow: hidden;
    border-radius: .1875em;
    transition: color .15s cubic-bezier(.165, .84, .44, 1)
}

.c-btn-border a:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: 100% 50%;
    border-radius: .1875em;
    background-color: var(--white);
    content: "";
    transition: transform .5s cubic-bezier(.19, 1, .22, 1)
}

.c-btn-border a:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid var(--white);
    border-radius: .1875em;
    content: ""
}

.c-btn-border a span {
    z-index: 1;
    position: relative;
    font-family: MFW-PA1GothicStdN-Medium
}

.c-btn-border a .c-icon-blank {
    z-index: 1;
    position: absolute
}

.c-btn-border a .c-icon-blank g {
    fill: var(--white);
    transition: fill .15s .1s cubic-bezier(.165, .84, .44, 1)
}

.c-btn-border a .c-icon-arrow-r {
    z-index: 1;
    position: relative
}

.c-btn-border a .c-icon-arrow-r svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

.c-btn-border a .c-icon-arrow-r g {
    fill: var(--white);
    transition: fill .15s .1s cubic-bezier(.165, .84, .44, 1)
}

.c-anchor,
.c-section-head {
    position: relative
}

.c-section-head.-ja2-bottom .c-section-head__column2>div:nth-of-type(2) {
    width: 46.9230769231%;
    margin-bottom: .5em
}

.c-section-head .c-section-head__column1.-inview .c-heading-ja1>span>span {
    transform: translateZ(0);
    transition: transform 1s cubic-bezier(.19, 1, .22, 1)
}

.c-section-head .c-section-head__column1.-inview .c-heading-ja1>span:nth-of-type(1)>span {
    transition-delay: .3s
}

.c-section-head .c-section-head__column1.-inview .c-heading-ja1>span:nth-of-type(2)>span {
    transition-delay: .4s
}

.c-section-head .c-section-head__column1.-inview .c-heading-ja1>span:nth-of-type(3)>span {
    transition-delay: .5s
}

.c-section-head .c-section-head__column1.-inview .c-heading-ja1>span:nth-of-type(4)>span {
    transition-delay: .6s
}

.c-section-head .c-section-head__column1.-inview .c-heading-ja2 span {
    transform: translateZ(0);
    transition: transform 1.2s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .7s
}

.c-section-head .c-section-head__column1.-inview .c-heading-ja3 {
    visibility: visible;
    opacity: 1;
    transition: opacity .8s cubic-bezier(.39, .575, .565, 1);
    transition-delay: .9s
}

.c-section-head .c-section-head__column1.-inview .p-top-figure__txt__service {
    visibility: visible;
    opacity: 1;
    transition: opacity .8s cubic-bezier(.39, .575, .565, 1);
    transition-delay: 1.05s
}

.c-section-head .c-section-head__column1 .c-heading-ja1>span {
    display: inline-block;
    clip-path: inset(0 0 0 0)
}

.c-section-head .c-section-head__column1 .c-heading-ja1>span>span {
    display: inline-block;
    transform: translate3d(0, 100%, 0)
}

.c-section-head .c-section-head__column1 .c-heading-ja2 {
    display: inline-block;
    clip-path: inset(0 0 0 0)
}

.c-section-head .c-section-head__column1 .c-heading-ja2 span {
    display: inline-block;
    transform: translate3d(0, 100%, 0);
    will-change: transform
}

.c-section-head .c-section-head__column1 .c-heading-ja3 {
    visibility: hidden;
    opacity: .01;
    will-change: opacity, transform
}

.c-section-head .c-section-head__column1 div:nth-of-type(1) {
    margin-bottom: 1.125em
}

.c-section-head .c-section-head__column1 .p-top-figure__txt__service {
    visibility: hidden;
    opacity: .01;
    will-change: opacity, transform
}

.c-section-head .c-section-head__column2.-inview .c-heading-ja1>span>span {
    transform: translateZ(0);
    transition: transform 1.2s cubic-bezier(.19, 1, .22, 1)
}

.c-section-head .c-section-head__column2.-inview .c-heading-ja1>span:nth-of-type(1)>span {
    transition-delay: .3s
}

.c-section-head .c-section-head__column2.-inview .c-heading-ja1>span:nth-of-type(2)>span {
    transition-delay: .4s
}

.c-section-head .c-section-head__column2.-inview .c-heading-ja1>span:nth-of-type(3)>span {
    transition-delay: .5s
}

.c-section-head .c-section-head__column2.-inview .c-heading-ja1>span:nth-of-type(4)>span {
    transition-delay: .6s
}

.c-section-head .c-section-head__column2.-inview .c-heading-ja2 span {
    transform: translateZ(0);
    transition: transform 1.2s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .6s
}

.c-section-head .c-section-head__column2.-inview .c-heading-ja3 {
    visibility: visible;
    opacity: 1;
    transition: opacity .8s cubic-bezier(.39, .575, .565, 1);
    transition-delay: .7s
}

.c-section-head .c-section-head__column2 .c-heading-ja1>span {
    display: inline-block;
    clip-path: inset(0 0 18% 0)
}

.c-section-head .c-section-head__column2 .c-heading-ja1>span>span {
    display: inline-block;
    transform: translate3d(0, 100%, 0);
    will-change: transform
}

.c-section-head .c-section-head__column2 .c-heading-ja2 {
    display: inline-block;
    clip-path: inset(0 0 18% 0)
}

.c-section-head .c-section-head__column2 .c-heading-ja2 span {
    display: inline-block;
    transform: translate3d(0, 100%, 0);
    will-change: transform
}

.c-section-head .c-section-head__column2 .c-heading-ja3 {
    visibility: hidden;
    opacity: .01;
    will-change: opacity, transform
}

.c-link-small {
    display: flex;
    align-items: center;
    width: fit-content
}

.c-bg-paint {
    z-index: -1;
    position: absolute;
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none
}

.c-bg-paint[data-bg-paint="2_message1"] svg {
    display: block;
    width: 100%;
    max-width: 100vw;
    height: auto
}

.c-bg-paint[data-bg-paint="2_message3"] {
    z-index: 5
}

.c-h2-en-ja {
    position: relative
}

.c-h2-en-ja h2 {
    font-style: normal;
    font-weight: 400;
    font-family: Forum, serif
}

.c-h2-en-ja h2 .en {
    display: block
}

.c-h2-en-ja h2 .en i {
    display: inline-block;
    letter-spacing: -.01em
}

.c-h2-en-ja h2 .ja {
    display: block;
    font-family: MFW-PA1GothicStdN-Medium
}

.c-h2-en-ja .line {
    background-color: var(--white)
}

.c-btn-arrow {
    position: relative
}

.c-btn-arrow.is-black p span {
    color: var(--black)
}

.c-btn-arrow.is-black svg path {
    fill: var(--black)
}

.c-btn-arrow.is-blue p span {
    color: var(--white)
}

.c-btn-arrow.is-blue svg path {
    fill: var(--white)
}

.c-btn-arrow.is-blue p:before {
    background-color: var(--blue)
}

.c-btn-arrow.is-blue .icon:before {
    background-color: var(--blue)
}

.c-btn-arrow a {
    display: flex;
    position: relative;
    width: fit-content;
    text-decoration: none!important
}

.c-btn-arrow p {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    transition: padding .4s cubic-bezier(.165,.84,.44,1);
    will-change: padding
}

.c-btn-arrow p:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--white);
    content: ""
}

.c-btn-arrow p span {
    display: block;
    position: relative;
    color: var(--blue);
    font-family: MFW-PA1GothicStdN-Medium
}

.c-btn-arrow p span i {
    display: block;
    position: relative
}

.c-btn-arrow p span i:nth-of-type(2) {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate3d(0,74%,0)
}

.c-btn-arrow .icon {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    aspect-ratio: 48/50
}

.c-btn-arrow .icon .arrow,.c-btn-arrow .icon .blank {
    position: relative
}

.c-btn-arrow .icon:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--white);
    content: ""
}

@media screen and (max-width: 899px) {
    .c-btn-arrow .icon {
        width: 12vw;
    }
}

@media screen and (max-width: 899px) {
    .c-btn-arrow p {
        margin-right: 0.5vw;
        padding: 0 5vw;
        border-radius: .5vw;
    }
}

@media screen and (max-width: 899px) {
    .c-btn-arrow p span {
        font-size: 3.5vw;
        line-height: 160%;
        letter-spacing: .05em;
    }
}

@media screen and (max-width: 899px) {
    .c-btn-arrow .icon .arrow {
        width: 2.75vw;
    }
}

@media screen and (min-width: 900px) {
    .c-btn-arrow p {
        margin-right: .0625rem;
        padding: 0 1.1875rem;
        border-radius: .125rem;
    }
}

@media screen and (min-width: 900px) {
    .c-btn-arrow p span {
        font-size: .875rem;
        line-height: 160%;
        letter-spacing: .05em;
        clip-path: inset(10% 0 10% 0);
    }
}

@media screen and (min-width: 900px) {
    .c-btn-arrow .icon {
        width: 3rem;
    }
}

@media screen and (min-width: 900px) {
    .c-btn-arrow .icon:before {
        border-radius: .125rem;
    }
}

@media screen and (min-width: 900px) {
    .c-btn-arrow .icon .arrow {
        width: .6875rem;
    }
}

.c-btn-arrow-group {
    display: flex
}

.c-btn-arrow-group .btn-arrow {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none
}

.c-btn-arrow-group .btn-arrow:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    background-color: var(--white);
    content: "";
    transition: transform .4s cubic-bezier(.165, .84, .44, 1)
}

.c-btn-arrow-group .btn-arrow.swiper-button-disabled {
    opacity: .4;
    pointer-events: none
}

.c-btn-arrow-group .btn-arrow.-prev div {
    transform: scaleX(-1)
}

.c-btn-arrow-group .btn-arrow[data-autoplay=true] .pause {
    display: block
}

.c-btn-arrow-group .btn-arrow[data-autoplay=true] .play {
    display: none
}

.c-btn-arrow-group .btn-arrow[data-autoplay=false] .pause {
    visibility: hidden
}

.c-btn-arrow-group .btn-arrow[data-autoplay=false] .play {
    display: block
}

.c-btn-arrow-group .btn-arrow.-play .pause {
    position: relative
}

.c-btn-arrow-group .btn-arrow.-play .play {
    position: absolute;
    top: 0;
    left: 0
}

.c-btn-arrow-group .btn-arrow:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid var(--white65);
    content: ""
}

.c-btn-arrow-group .btn-arrow div {
    position: relative;
    width: 100%;
    height: 100%
}

.c-btn-arrow-group .btn-arrow svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

[data-inview=title-en] {
    display: block;
    clip-path: inset(0 0 12% 0)
}

[data-inview=title-en] i {
    display: inline-block;
    transform: translate3d(0, 100%, 0)
}

[data-inview=title-en].-inview i:nth-of-type(1) {
    transform: translateZ(0);
    transition: transform .8s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .05s
}

[data-inview=title-en].-inview i:nth-of-type(2) {
    transform: translateZ(0);
    transition: transform .8s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .1s
}

[data-inview=title-en].-inview i:nth-of-type(3) {
    transform: translateZ(0);
    transition: transform .8s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .15s
}

[data-inview=title-en].-inview i:nth-of-type(4) {
    transform: translateZ(0);
    transition: transform .8s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .2s
}

[data-inview=title-en].-inview i:nth-of-type(5) {
    transform: translateZ(0);
    transition: transform .8s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .25s
}

[data-inview=title-en].-inview i:nth-of-type(6) {
    transform: translateZ(0);
    transition: transform .8s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .3s
}

[data-inview=title-en].-inview i:nth-of-type(7) {
    transform: translateZ(0);
    transition: transform .8s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .35s
}

[data-inview=title-en].-inview i:nth-of-type(8) {
    transform: translateZ(0);
    transition: transform .8s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .4s
}

[data-inview=title-en].-inview i:nth-of-type(9) {
    transform: translateZ(0);
    transition: transform .8s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .45s
}

[data-inview=title-en].-inview i:nth-of-type(10) {
    transform: translateZ(0);
    transition: transform .8s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .5s
}

@keyframes kf-hover-arrow-vertical {
    0% {
        transform: translateZ(0);
        animation-timing-function: cubic-bezier(.77, 0, .175, 1);
        opacity: 1
    }

    30% {
        transform: translate3d(0, 130%, 0);
        opacity: 0
    }

    30.01% {
        transform: translate3d(0, -180%, 0);
        animation-timing-function: cubic-bezier(.165, .84, .44, 1);
        opacity: 0
    }

    to {
        transform: translateZ(0);
        opacity: 1
    }
}

@keyframes kf-hover-arrow {
    0% {
        transform: scaleX(0)
    }

    to {
        transform: scaleX(1)
    }
}

@keyframes kf-hover-arrow-horizontal {
    0% {
        transform: translateZ(0);
        animation-timing-function: cubic-bezier(.77, 0, .175, 1);
        opacity: 1;
    }
    30% {
        transform: translate3d(130%, 0, 0);
        opacity: 0;
    }
    30.01% {
        transform: translate3d(-130%, 0, 0);
        opacity: 0;
    }
    to {
        transform: translateZ(0);
        opacity: 1;
    }
}

@keyframes kf-hover-underline {
    0% {
        transform: scaleX(0);
        transform-origin: 0% 50%;
        animation-timing-function: cubic-bezier(.5, 0, 0, 1)
    }

    to {
        transform: scaleX(1);
        transform-origin: 0% 50%
    }
}

.l-container {
    position: relative;
    overflow-x: hidden
}

main {
    position: relative
}

.p-header {
    z-index: 1000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    transition: transform .4s cubic-bezier(.215, .61, .355, 1)
}

.p-header.is-hide {
    transform: translate3d(0, -101%, 0)
}

.p-header {
    font-style: normal;
    font-weight: 500;
    font-family: Albert Sans, sans-serif;
    font-optical-sizing: auto
}

.p-header.is-show .p-header__bg {
    visibility: visible;
    opacity: .65;
    transition: all .2s cubic-bezier(.215, .61, .355, 1)
}

.p-header .p-header__inner {
    position: relative;
    margin-right: auto;
    margin-left: auto
}

.p-header .p-header__inner:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--white);
    content: "";
    opacity: .3
}

.p-header .p-header__logo {
    position: absolute
}

.p-header .p-header__logo p span {
    display: block
}

.p-header .p-header__logo p span:first-child {
    position: relative
}

.p-header .p-header__logo p span:first-child img {
    position: absolute;
    top: 0;
    left: 0;
    max-width: none
}

.p-header .p-header__logo p span:last-child {
    position: relative;
    font-weight: 500
}

.p-header .p-header__logo p span:last-child i {
    position: relative
}

.p-header .p-header__logo p span:last-child i:first-child {
    position: relative
}

.p-header .p-header__logo p span:last-child i:first-child:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: .5px;
    margin: auto;
    background-color: var(--white);
    content: ""
}

.p-header .p-header__nav {
    position: absolute
}

.p-header .p-header__nav ul li {
    position: relative;
    font-weight: 600
}

.p-header .p-header__nav ul li .en {
    position: relative
}

.p-header .p-header__nav ul li .en span {
    display: block;
    position: relative;
    transition: transform .3s cubic-bezier(.215, .61, .355, 1)
}

.p-header .p-header__nav ul li .en .cloned {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate3d(0, 70%, 0)
}

.p-header .p-header__nav ul li a {
    position: relative
}

.p-header .p-header__nav ul li a:after {
    position: absolute;
    content: ""
}

.p-header .p-header__toggle {
    z-index: 2;
    position: fixed;
    top: 5vw;
    right: 4vw;
    width: 11.5vw;
    height: 6.5vw;
    border-radius: .75vw;
    background-color: var(--white);
    transition: background-color .3s cubic-bezier(.215, .61, .355, 1)
}

.p-header .p-header__toggle.is-close {
    background-color: var(--blue)
}

.p-header .p-header__toggle.is-close>div>div {
    transition: transform .4s cubic-bezier(.165, .84, .44, 1)
}

.p-header .p-header__toggle.is-close>div>div:nth-of-type(1) {
    transform: translateZ(0)
}

.p-header .p-header__toggle.is-close>div>div:nth-of-type(1):after {
    transform: rotate(45deg);
    transition: transform .4s .2s cubic-bezier(.165, .84, .44, 1), background-color .4s cubic-bezier(.215, .61, .355, 1)
}

.p-header .p-header__toggle.is-close>div>div:nth-of-type(2) {
    transform: translateZ(0)
}

.p-header .p-header__toggle.is-close>div>div:nth-of-type(2):after {
    transform: rotate(-45deg);
    transition: transform .4s .2s cubic-bezier(.165, .84, .44, 1), background-color .4s cubic-bezier(.215, .61, .355, 1)
}

.p-header .p-header__toggle.is-close>div>div:after {
    background-color: var(--white)
}

.p-header .p-header__toggle>div {
    position: absolute;
    inset: 0;
    width: 3vw;
    height: 1.5vw;
    margin: auto
}

.p-header .p-header__toggle>div>div {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .25vw;
    margin: auto
}

.p-header .p-header__toggle>div>div:nth-of-type(1) {
    transform: translate3d(0, -200%, 0)
}

.p-header .p-header__toggle>div>div:nth-of-type(2) {
    transform: translate3d(0, 200%, 0)
}

.p-header .p-header__toggle>div>div {
    transition: transform .2s .2s cubic-bezier(.165, .84, .44, 1)
}

.p-header .p-header__toggle>div>div:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--blue);
    content: "";
    transition: transform .3s cubic-bezier(.165, .84, .44, 1), background-color .3s cubic-bezier(.215, .61, .355, 1)
}

.p-header .p-header__entry {
    position: absolute;
    top: 6.25vw;
    right: 19.5vw
}

.p-header .p-header__entry:before {
    position: absolute;
    top: 0;
    right: -3.75vw;
    bottom: 0;
    width: 1px;
    height: 2.5vw;
    margin: auto;
    background-image: url(../img/common/nav_dot.svg);
    background-position: center;
    background-repeat: no-repeat;
    content: ""
}

.p-footer .p-footer__inner,
.p-footer .p-footer__sec1 {
    position: relative
}

.p-footer .p-footer__sec1:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--white);
    content: "";
    opacity: .3
}

.p-footer .p-footer__sec1 .p-footer__title {
    font-style: normal;
    font-weight: 500;
    font-family: Albert Sans, sans-serif;
    font-optical-sizing: auto
}

.p-footer .p-footer__sec1 .p-footer__title span {
    display: block
}

.p-footer .p-footer__sec1 .p-footer__title span:first-child {
    position: relative
}

.p-footer .p-footer__sec1 .p-footer__title span:first-child img {
    position: absolute;
    top: 0;
    left: 0;
    max-width: none
}

.p-footer .p-footer__sec1 .p-footer__title span:last-child {
    position: relative;
    font-weight: 500
}

.p-footer .p-footer__sec1 .p-footer__title span:last-child i {
    position: relative
}

.p-footer .p-footer__sec1 .p-footer__title span:last-child i:first-child {
    position: relative
}

.p-footer .p-footer__sec1 .p-footer__title span:last-child i:first-child:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: .5px;
    margin: auto;
    background-color: var(--white);
    content: ""
}

.p-footer .p-footer__sec1 .p-footer__nav1 ul li {
    font-style: normal;
    font-weight: 600;
    font-family: Albert Sans, sans-serif;
    font-optical-sizing: auto
}

.p-footer .p-footer__sec1 .p-footer__nav1 ul li:last-of-type {
    margin-bottom: 0
}

.p-footer .p-footer__sec1 .p-footer__nav1 ul li a {
    display: block;
    width: fit-content;
    clip-path: inset(0 0 -5% 0)
}

.p-footer .p-footer__sec1 .p-footer__nav1 ul li a span {
    display: block;
    position: relative;
    transition: transform .3s cubic-bezier(.215, .61, .355, 1)
}

.p-footer .p-footer__sec1 .p-footer__nav1 ul li a .cloned {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate3d(0, 105%, 0)
}

.p-footer .p-footer__sec2 .p-footer__nav2 ul li:last-of-type {
    margin-bottom: 0
}

.p-footer .p-footer__sec2 .p-footer__nav2 ul li a {
    display: flex;
    align-items: center;
    width: fit-content
}

.p-footer .p-footer__sec2 .p-footer__contact strong {
    font-style: normal;
    font-weight: 600;
    font-family: Albert Sans, sans-serif;
    font-optical-sizing: auto
}

.p-footer .p-footer__sec2 .p-footer__pagetop {
    position: relative
}

.p-footer .p-footer__sec2 .p-footer__pagetop a {
    display: flex;
    position: relative;
    align-items: center;
    cursor: pointer
}

@keyframes kf-arrow {
    0% {
        transform: translateZ(0);
        animation-timing-function: cubic-bezier(.645, .045, .355, 1)
    }

    50% {
        transform: translate3d(0, -135%, 0)
    }

    50.01% {
        transform: translate3d(0, 150%, 0);
        animation-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    to {
        transform: translateZ(0)
    }
}

.p-footer .p-footer__sec2 .p-footer__pagetop a:after {
    position: absolute;
    content: ""
}

.p-footer .p-footer__sec2 .p-footer__pagetop span {
    font-style: normal;
    font-weight: 500;
    font-family: Albert Sans, sans-serif;
    font-optical-sizing: auto
}

.p-footer .p-footer__sec2 .p-footer__pagetop .icon {
    overflow: hidden
}

.p-footer .p-footer__sec2 .p-footer__logo a {
    display: flex;
    align-items: center;
    width: fit-content;
    transition: opacity .3s cubic-bezier(.165, .84, .44, 1)
}

.p-footer .p-footer__sec2 .p-footer__logo small {
    display: block;
    font-style: normal;
    font-weight: 500;
    font-family: Albert Sans, sans-serif;
    font-optical-sizing: auto
}

.p-filter-svg {
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 0
}

.js-mono-color-mask {
    position: relative
}

.is-safari .js-mono-color-mask defs g {
    filter: none !important
}

.p-article {
    color: var(--white)
}

.p-article__section header h1 {
    font-family: MFW-PA1GothicStdN-Medium
}

.p-article__section .p-article__info {
    display: flex;
    align-items: center;
    justify-content: center
}

.p-article__section .p-article__info__category ul {
    display: flex
}

.p-article__body img {
    filter: grayscale(1);
    transition: filter .3s ease
}

.p-article__body img.-inview {
    filter: grayscale(0)
}

.p-article__body figure img {
    width: 100%;
    max-width: fit-content;
    margin-bottom: 0 !important;
    margin-left: 0
}

.p-article__body strong {
    font-family: MFW-PA1GothicStdN-Bold
}

.p-article__body i {
    font-style: italic
}

.p-article__body h1,
.p-article__body h2,
.p-article__body h3,
.p-article__body h4,
.p-article__body h5,
.p-article__body h6 {
    font-family: MFW-PA1GothicStdN-Medium
}

.p-article__body h1 {
    margin-top: -.3em
}

.p-article__body h2,
.p-article__body h3 {
    margin-top: -.35em
}

.p-article__body ul li {
    position: relative
}

.p-article__body ul li:before {
    display: inline-block;
    position: absolute;
    top: 0;
    left: -1.25em;
    width: 1em;
    content: "・"
}

.p-article__body ol {
    list-style-type: decimal
}

.p-article__body a {
    display: block;
    position: relative;
    width: fit-content;
    font-family: MFW-PA1GothicStdN-Medium
}

.p-article__body a:before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--white);
    content: ""
}

.p-article__body a[target=_blank]:after {
    background-image: url(../img/common/blank_white.svg)
}

.p-article__body a:after {
    position: absolute;
    background-image: url(../img/common/arrow_right_white.svg);
    content: ""
}

.p-article__body .btn-border {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: fit-content;
    border: 1px solid var(--white);
    color: var(--white);
    font-family: MFW-PA1GothicStdN-Medium
}

.p-article__body .btn-border[target=_blank]:after {
    top: 0;
    left: 0;
    width: auto !important;
    height: 100% !important;
    background-image: url(../img/common/target_blank.svg)
}

.p-article__body .btn-border:before {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: 100% 50%;
    border: none;
    border-radius: .1875em;
    background-color: var(--white);
    content: "";
    transition: transform .5s cubic-bezier(.19, 1, .22, 1)
}

.p-article__body .btn-border:after {
    position: relative;
    top: 0;
    left: 0;
    aspect-ratio: 1;
    width: auto;
    height: 100%;
    background-image: url(../img/common/target_self.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat
}

.p-article__body .grid2x2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}

.p-article__body .grid2x2 img {
    width: 100%;
    max-width: 100%;
    margin: 0
}

.p-article__body .wp-block-table table {
    border: 1px solid var(--white30);
    border-collapse: separate;
    border-spacing: 0;
    text-align: left
}

.p-article__body .wp-block-table th,
.p-article__body .wp-block-table td {
    border-right: 1px solid var(--white30);
    border-bottom: 1px solid var(--white30)
}

.p-article__body .wp-block-table th {
    background: var(--white15);
    font-family: MFW-PA1GothicStdN-Medium;
    vertical-align: middle
}

.p-article__body .wp-block-table th:last-child,
.p-article__body .wp-block-table td:last-child {
    border-right: 0
}

.p-article__body .wp-block-table tr:last-child td {
    border-bottom: 0
}

.p-article__body .wp-block-quote,
.p-article__body blockquote {
    position: relative;
    background: var(--white15)
}

.p-article__body .wp-block-quote p:last-child,
.p-article__body blockquote p:last-child {
    margin-bottom: 0
}

.p-article__body .wp-block-quote cite,
.p-article__body blockquote cite {
    display: block;
    margin-top: .8em;
    font-style: normal;
    font-size: .9em
}

.p-article__body .wp-block-quote:before,
.p-article__body blockquote:before {
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(../img/common/blockquote1.svg);
    background-size: contain;
    background-repeat: no-repeat;
    content: ""
}

.p-article__body .wp-block-quote:after,
.p-article__body blockquote:after {
    position: absolute;
    right: 0;
    bottom: 0;
    background-image: url(../img/common/blockquote2.svg);
    background-size: contain;
    background-repeat: no-repeat;
    content: ""
}

.p-article__body .link-box {
    background: var(--white15)
}

.p-article__body .link-box .link-box__img figure {
    margin: 0
}

.p-article__body .link-box .link-box__txt strong {
    margin-bottom: .3em;
    font-family: MFW-PA1GothicStdN-Medium
}

.p-article__body .link-box .link-box__txt p {
    margin-bottom: .8em;
    color: var(--gray-dark)
}

.p-article__body .link-box .link-box__txt a {
    margin: 0
}

.p-article__pagination {
    display: flex;
    align-items: flex-start;
    justify-content: space-between
}

.p-article__pagination .p-article__pagination__arrow.is-prev .arrow {
    transform: scaleX(-1)
}

.p-article__pagination .p-article__pagination__arrow a {
    display: flex;
    position: relative;
    justify-content: center
}

.p-article__pagination .p-article__pagination__arrow a.disabled {
    opacity: .5;
    pointer-events: none
}

.p-article__pagination .p-article__pagination__arrow a .arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--blue)
}

.p-article__pagination .p-article__pagination__arrow p {
    color: var(--blue);
    font-family: MFW-PA1GothicStdN-Medium
}

.p-article__pagination .p-article__pagination__list {
    background-color: var(--blue);
    color: var(--white)
}

.p-article__pagination .p-article__pagination__list a {
    display: flex;
    align-items: center;
    justify-content: center
}

.p-top-kv {
    position: relative;
    height: 100vh;
    height: 100svh
}

.p-top-kv.-show h2 .catch1 i {
    visibility: visible;
    transform: translateZ(0);
    opacity: 1;
    transition: all 1s cubic-bezier(.19, 1, .22, 1)
}

.p-top-kv.-show h2 .catch1 .line1 .ja1 i:nth-of-type(1) {
    transition-delay: .4s
}

.p-top-kv.-show h2 .catch1 .line1 .ja1 i:nth-of-type(2) {
    transition-delay: .45s
}

.p-top-kv.-show h2 .catch1 .line1 .ja2 i:nth-of-type(1) {
    transition-delay: .5s
}

.p-top-kv.-show h2 .catch1 .line1 .ja2 i:nth-of-type(2) {
    transition-delay: .55s
}

.p-top-kv.-show h2 .catch1 .line2 .ja1 i:nth-of-type(1) {
    transition-delay: .6s
}

.p-top-kv.-show h2 .catch1 .line2 .ja2 i:nth-of-type(1) {
    transition-delay: .65s
}

.p-top-kv.-show h2 .catch1 .line2 .ja2 i:nth-of-type(2) {
    transition-delay: .7s
}

.p-top-kv.-show h2 .catch2 i {
    visibility: visible !important;
    transform: translateZ(0) !important;
    opacity: 1 !important;
    transition: all 1s cubic-bezier(.19, 1, .22, 1)
}

.p-top-kv.-show h2 .catch2 .line1 i {
    transition-delay: .8s
}

.p-top-kv.-show h2 .catch2 .line2 i {
    transition-delay: .85s
}

.p-top-kv.-show h2 .catch2 .line3 i {
    transition-delay: .95s
}

.p-top-kv.-show .p-top-kv__news .p-top-kv__news__inner {
    visibility: visible;
    transform: translateZ(0);
    transition: all .8s cubic-bezier(.23, 1, .32, 1);
    transition-delay: 1.4s
}

.p-top-kv.-show .p-top-kv__banner {
    visibility: visible;
    transform: translateZ(0);
    opacity: 1;
    transition: all 1s cubic-bezier(.215, .61, .355, 1);
    transition-delay: 2.1s
}

.p-top-kv h2 {
    z-index: 1;
    position: relative;
    width: 100%;
    height: 100%
}

.p-top-kv h2 .catch1 {
    position: absolute;
    font-family: MFW-PA1GothicStdN-Medium;
    text-align: right
}

.p-top-kv h2 .catch1 .line1 {
    display: block
}

.p-top-kv h2 .catch1 .line1 .ja2 {
    letter-spacing: .08em
}

.p-top-kv h2 .catch1 .line2 {
    display: block
}

.p-top-kv h2 .catch1 .ja2 {
    font-style: normal;
    font-weight: 700;
    font-family: source-han-serif-jp-subset, sans-serif
}

.p-top-kv h2 .catch1 i {
    display: inline-block;
    visibility: hidden;
    transform: translate3d(1em, 0, 0);
    opacity: 0
}

.p-top-kv h2 .catch2 {
    position: absolute;
    font-style: normal;
    font-weight: 400;
    font-family: Forum, serif
}

.p-top-kv h2 .catch2 .line1>span,
.p-top-kv h2 .catch2 .line2>span {
    display: inline-block
}

.p-top-kv h2 .catch2 .line1>span i,
.p-top-kv h2 .catch2 .line2>span i {
    display: inline-block;
    visibility: hidden;
    transform: translate3d(.8em, 0, 0);
    opacity: 0
}

.p-top-kv h2 .catch2 .line3>span {
    display: inline-block
}

.p-top-kv h2 .catch2 .line3>span i {
    display: inline-block;
    visibility: hidden;
    transform: translate3d(.5em, 0, 0);
    opacity: 0
}

.p-top-kv h2 .catch2 .line1 {
    position: absolute;
    top: -.82em;
    left: .05em
}

.p-top-kv h2 .catch2 .line2 {
    position: absolute;
    top: -.18em;
    left: 1.3em
}

.p-top-kv h2 .catch2 .line3 {
    position: relative
}

.p-top-kv h2 .catch2 .line3 i {
    display: inline-block
}

.p-top-kv .p-top-kv__stage {
    position: absolute;
    left: 0;
    width: 100%
}

.p-top-kv .p-top-kv__news {
    z-index: 1;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 90.2777777778%;
    margin-right: auto;
    margin-left: auto
}

.p-top-kv .p-top-kv__news .p-top-kv__news__inner {
    display: flex;
    visibility: hidden;
    position: relative;
    align-items: center;
    width: 100%;
    height: 100%;
    transform: translate3d(0, 100%, 0)
}

.p-top-kv .p-top-kv__news .p-top-kv__news__inner:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--white);
    content: "";
    opacity: .3
}

.p-top-kv .p-top-kv__news ul li a {
    display: flex;
    position: relative;
    align-items: center
}

.p-top-kv .p-top-kv__news ul li a:after {
    position: absolute;
    content: ""
}

.p-top-kv .p-top-kv__news ul li a time {
    position: relative;
    font-style: normal;
    font-weight: 500;
    font-family: Albert Sans, sans-serif;
    font-optical-sizing: auto;
    white-space: nowrap
}

.p-top-kv .p-top-kv__news ul li a time:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background-image: url(../img/common/nav_dot.svg);
    background-position: center;
    background-repeat: no-repeat;
    content: ""
}

.p-top-kv .p-top-kv__news ul li a>div {
    display: flex;
    align-items: center
}

.p-top-kv .p-top-kv__news ul li a p {
    position: relative;
    white-space: nowrap
}

.p-top-kv .p-top-kv__news .num {
    position: absolute;
    margin: auto;
    font-style: normal;
    font-weight: 500;
    font-family: Albert Sans, sans-serif;
    font-optical-sizing: auto
}

.p-top-kv .p-top-kv__news .num:after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background-image: url(../img/common/nav_dot.svg);
    background-position: center;
    background-repeat: no-repeat;
    content: ""
}

.p-top-kv .p-top-kv__news .num .current {
    display: inline-block;
    position: relative;
    clip-path: inset(0 0 0 0)
}

.p-top-kv .p-top-kv__news .num .current[data-current-num="1"] i {
    transform: translate3d(0, -100%, 0)
}

.p-top-kv .p-top-kv__news .num .current[data-current-num="2"] i {
    transform: translate3d(0, -200%, 0)
}

.p-top-kv .p-top-kv__news .num .current i {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: .7em;
    height: 1em;
    text-align: center;
    transition: transform .7s .2s cubic-bezier(.77, 0, .175, 1)
}

.p-top-kv .p-top-kv__news .num .current i:nth-of-type(1) {
    position: relative
}

.p-top-kv .p-top-kv__news .num .current i:nth-of-type(2) {
    top: 1em
}

.p-top-kv .p-top-kv__news .num .current i:nth-of-type(3) {
    top: 2em
}

.p-top-kv .p-top-kv__news .scroll {
    position: absolute;
    font-style: normal;
    font-weight: 500;
    font-family: Albert Sans, sans-serif;
    font-optical-sizing: auto
}

.p-top-kv .p-top-kv__news .scroll a {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: space-between
}

.p-top-kv .p-top-kv__news .scroll a:after {
    position: absolute;
    content: ""
}

@keyframes kf-arrow-kv {
    0% {
        transform: translateZ(0);
        animation-timing-function: cubic-bezier(.645, .045, .355, 1)
    }

    50% {
        transform: translate3d(0, 135%, 0)
    }

    50.01% {
        transform: translate3d(0, -150%, 0);
        animation-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    to {
        transform: translateZ(0)
    }
}

.p-top-kv .p-top-kv__news .scroll .icon {
    overflow: hidden
}

.p-top-kv .p-top-kv__banner {
    visibility: hidden;
    z-index: 1;
    position: absolute;
    transform: translate3d(0, 30%, 0);
    opacity: 0
}

.p-top-kv .p-top-kv__banner a {
    display: block
}

.p-top-message {
    position: relative;
    overflow: hidden
}

.p-top-message .p-top-message__inner {
    margin-right: auto;
    margin-left: auto
}

.p-top-message .p-top-message__catch .catch1 {
    font-family: MFW-PA1GothicStdN-Medium;
    text-align: justify
}

.p-top-message .p-top-message__catch .catch1 span {
    width: fit-content;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(90deg, #fff 50%, #ffffff4d 50.1%);
    background-position: 100% 0%;
    background-size: 300% 100%;
    -webkit-background-clip: text;
    background-clip: text
}

.p-top-message .p-top-message__catch .catch2 {
    width: fit-content;
    font-style: normal;
    font-weight: 400;
    font-family: Forum, serif
}

.p-top-message .p-top-message__catch .catch2.-inview {
    background-position: 0% 0%;
    transition: background-position 1.2s cubic-bezier(.19, 1, .22, 1)
}

.p-top-message .p-top-message__catch .catch2 {
    width: fit-content;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(90deg, #fff 33%, #ffffffbf 33.4% 41.2%, #ffffff80 41.3% 49.5%, #ffffff40 49.6% 57.7%, #ffffff40 65.9%, #fff0 66% 100%);
    background-position: 100% 0%;
    background-size: 300% 100%;
    -webkit-background-clip: text;
    background-clip: text
}

.p-top-message .p-top-message__catch .catch2 i {
    display: inline-block;
    margin-right: -.025em;
    margin-left: -.035em
}

.p-top-message .p-top-message__catch .catch3 {
    width: fit-content;
    font-family: MFW-PA1GothicStdN-Medium
}

.p-top-message .p-top-message__catch .catch3.-inview {
    background-position: 0% 0%;
    transition: background-position 1.2s cubic-bezier(.19, 1, .22, 1)
}

.p-top-message .p-top-message__catch .catch3 {
    width: fit-content;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(90deg, #fff 33%, #ffffffbf 33.4% 41.2%, #ffffff80 41.3% 49.5%, #ffffff40 49.6% 57.7%, #ffffff40 65.9%, #fff0 66% 100%);
    background-position: 100% 0%;
    background-size: 300% 100%;
    -webkit-background-clip: text;
    background-clip: text
}

.p-top-message .p-top-message__catch .catch3 span {
    display: inline-block;
    margin-right: -.05em;
    font-style: normal;
    font-weight: 700;
    font-family: source-han-serif-jp-subset, sans-serif
}

.p-top-message .p-top-message__catch .catch4 {
    width: fit-content;
    font-family: MFW-PA1GothicStdN-Medium
}

.p-top-message .p-top-message__catch .catch4.-inview {
    background-position: 0% 0%;
    transition: background-position 1.2s cubic-bezier(.19, 1, .22, 1)
}

.p-top-message .p-top-message__catch .catch4 {
    width: fit-content;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(90deg, #fff 33%, #ffffffbf 33.4% 41.2%, #ffffff80 41.3% 49.5%, #ffffff40 49.6% 57.7%, #ffffff40 65.9%, #fff0 66% 100%);
    background-position: 100% 0%;
    background-size: 300% 100%;
    -webkit-background-clip: text;
    background-clip: text
}

.p-top-message__gallery {
    position: relative
}

.p-top-message__gallery.-hide {
    visibility: hidden
}

.p-top-message__gallery.-hide .slide-wrapper {
    display: none
}

.p-top-message__gallery .c-bg-paint {
    transition: opacity 1s cubic-bezier(.165, .84, .44, 1), visibility 1s cubic-bezier(.165, .84, .44, 1)
}

.p-top-message__gallery.is-fixed .p-top-message__gallery__inner {
    z-index: 1;
    position: fixed;
    top: 50dvh
}

.p-top-message__gallery.is-scaleup {
    pointer-events: none
}

.p-top-message__gallery .st-spacer {
    position: relative;
    width: 1px
}

.p-top-message__gallery .p-top-message__gallery__inner {
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto
}

.p-top-message__gallery .slide-wrapper {
    position: absolute;
    inset: 0;
    margin: auto
}

.p-top-message__gallery .slide-wrapper[data-current-index="0"] .gallery-preview:nth-of-type(1) {
    z-index: 1
}

.p-top-message__gallery .slide-wrapper[data-current-index="1"] .gallery-preview:nth-of-type(2) {
    z-index: 1
}

.p-top-message__gallery .slide-wrapper[data-current-index="2"] .gallery-preview:nth-of-type(3) {
    z-index: 1
}

.p-top-message__gallery .slide-wrapper[data-current-index="0"] .gallery-thumb__item:nth-of-type(1) .mono {
    opacity: 1
}

.p-top-message__gallery .slide-wrapper[data-current-index="0"] .gallery-thumb__item:nth-of-type(1) .progress {
    bottom: 0
}

.p-top-message__gallery .slide-wrapper[data-current-index="0"] .gallery-preview {
    transition: transform .8s cubic-bezier(.165, .84, .44, 1), opacity .8s cubic-bezier(.165, .84, .44, 1)
}

.p-top-message__gallery .slide-wrapper[data-current-index="0"] .gallery-preview:nth-of-type(1) {
    transform: translateZ(0)
}

.p-top-message__gallery .slide-wrapper[data-current-index="1"] .gallery-thumb__item:nth-of-type(2) .mono {
    opacity: 1
}

.p-top-message__gallery .slide-wrapper[data-current-index="1"] .gallery-thumb__item:nth-of-type(2) .progress {
    bottom: 0
}

.p-top-message__gallery .slide-wrapper[data-current-index="1"] .gallery-preview {
    transition: transform .8s cubic-bezier(.165, .84, .44, 1), opacity .8s cubic-bezier(.165, .84, .44, 1)
}

.p-top-message__gallery .slide-wrapper[data-current-index="1"] .gallery-preview:nth-of-type(2) {
    transform: translateZ(0)
}

.p-top-message__gallery .slide-wrapper[data-current-index="2"] .gallery-thumb__item:nth-of-type(3) .mono {
    opacity: 1
}

.p-top-message__gallery .slide-wrapper[data-current-index="2"] .gallery-thumb__item:nth-of-type(3) .progress {
    bottom: 0
}

.p-top-message__gallery .slide-wrapper[data-current-index="2"] .gallery-preview {
    transition: transform .8s cubic-bezier(.165, .84, .44, 1), opacity .8s cubic-bezier(.165, .84, .44, 1)
}

.p-top-message__gallery .slide-wrapper[data-current-index="2"] .gallery-preview:nth-of-type(3) {
    transform: translateZ(0)
}

.p-top-message__gallery .slide-wrapper .slide-preview {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: width .7s cubic-bezier(.77, 0, .175, 1), height .7s cubic-bezier(.77, 0, .175, 1)
}

.p-top-message__gallery .slide-wrapper .slide-preview .gallery-preview {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.p-top-message__gallery .slide-wrapper .slide-preview .gallery-preview .gallery-preview__inner {
    position: relative;
    width: 100%;
    height: 100%;
    clip-path: inset(0% 0% 0% 0%);
    transition: transform .5s cubic-bezier(.165, .84, .44, 1), clip-path .5s cubic-bezier(.165, .84, .44, 1), opacity .5s cubic-bezier(.455, .03, .515, .955)
}

.p-top-message__gallery .slide-wrapper .slide-preview .gallery-preview .gallery-preview__inner svg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate3d(-50%, -50%, 0)
}

.p-top-message__gallery .slide-wrapper .slide-preview .mono {
    position: relative
}

.p-top-message__gallery .slide-wrapper .slide-preview .color {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity .5s cubic-bezier(.445, .05, .55, .95), visibility .5s;
    transition-delay: .5s
}

.p-top-message__gallery .slide-wrapper .slide-preview picture {
    width: 100%;
    height: 100%
}

.p-top-message__gallery .slide-wrapper .slide-preview picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    transition: transform .5s cubic-bezier(.77, 0, .175, 1);
    will-change: transform
}

.p-top-message__gallery .gallery-thumb {
    display: flex;
    position: absolute;
    align-items: center;
    justify-content: center
}

.p-top-message__gallery .gallery-thumb .gallery-thumb__item {
    clip-path: inset(0% 0 0 0);
    cursor: pointer;
    transition: clip-path .7s .25s cubic-bezier(.86, 0, .07, 1)
}

.p-top-message__gallery .gallery-thumb .gallery-thumb__item .gallery-thumb__item__inner,
.p-top-message__gallery .gallery-thumb .gallery-thumb__item .gallery-thumb__item__inner .thumb {
    position: relative
}

.p-top-message__gallery .gallery-thumb .gallery-thumb__item .gallery-thumb__item__inner .thumb picture {
    display: block
}

.p-top-message__gallery .gallery-thumb .gallery-thumb__item .gallery-thumb__item__inner .mono {
    position: relative;
    opacity: .5;
    transition: opacity .5s cubic-bezier(.165, .84, .44, 1), visibility .5s cubic-bezier(.165, .84, .44, 1)
}

.p-top-message__gallery .gallery-thumb .gallery-thumb__item .gallery-thumb__item__inner .progress {
    position: absolute;
    left: 0;
    width: 100%;
    transform: scaleX(0);
    transform-origin: 0% 50%;
    background-color: var(--orange);
    transition: bottom .5s cubic-bezier(.165, .84, .44, 1)
}

.-tablet .p-top-message__gallery:not(.is-scaleup) .slide-wrapper[data-current-index="0"] .gallery-preview:nth-of-type(1) .svg-img-color {
    mask: none !important
}

.-tablet .p-top-message__gallery:not(.is-scaleup) .slide-wrapper[data-current-index="1"] .gallery-preview:nth-of-type(2) .svg-img-color {
    mask: none !important
}

.-tablet .p-top-message__gallery:not(.is-scaleup) .slide-wrapper[data-current-index="2"] .gallery-preview:nth-of-type(3) .svg-img-color {
    mask: none !important
}

.p-top-strategy {
    z-index: 2;
    position: relative
}

.p-top-strategy .p-top-strategy__inner {
    margin-right: auto;
    margin-left: auto
}

.p-top-strategy .p-top-strategy__board .board-item {
    position: relative;
    background-color: var(--white);
    color: var(--blue)
}

.p-top-strategy .p-top-strategy__board .board-item .board-item__txt .title-en span {
    font-style: normal;
    font-weight: 600;
    font-family: Albert Sans, sans-serif;
    font-optical-sizing: auto
}

.p-top-strategy .p-top-strategy__board .board-item .board-item__txt .title-en span:nth-of-type(1) {
    position: relative
}

.p-top-strategy .p-top-strategy__board .board-item .board-item__blue {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--blue);
    opacity: 0;
    pointer-events: none
}

.p-top-figure {
    z-index: 1;
    position: relative
}

.p-top-figure .p-top-figure__inner {
    position: relative;
    margin-right: auto;
    margin-left: auto
}

.p-top-figure .p-top-figure__txt__wrapper:last-of-type {
    padding-bottom: 0
}

.p-top-figure .figure-graph-inner {
    position: relative
}

.p-top-figure .p-top-figure__txt__service {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    background-image: linear-gradient(to right, var(--white) 1px, transparent 1px);
    background-position: 0 0;
    background-size: 3px 1px;
    background-repeat: repeat-x
}

.p-top-figure .p-top-figure__txt__service ul {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start
}

.p-top-figure .p-top-figure__txt__service ul li {
    display: flex;
    align-items: center
}

.p-top-figure .p-top-figure__graph.graph-pc.-inview .graph1 .graph1__circle-border,
.p-top-figure .p-top-figure__graph.graph1-sp.-inview .graph1 .graph1__circle-border {
    transform: scale(1);
    transition: transform .5s cubic-bezier(.165, .84, .44, 1)
}

.p-top-figure .p-top-figure__graph.graph-pc.-inview .graph1 .graph1__circle-outer,
.p-top-figure .p-top-figure__graph.graph1-sp.-inview .graph1 .graph1__circle-outer {
    transform: rotate(0) !important;
    transition: transform .8s cubic-bezier(.165, .84, .44, 1)
}

.p-top-figure .p-top-figure__graph.graph-pc.-inview .graph1 .graph1__circle-outer .inner,
.p-top-figure .p-top-figure__graph.graph1-sp.-inview .graph1 .graph1__circle-outer .inner {
    transform: scale(1);
    transition: transform .8s cubic-bezier(.165, .84, .44, 1)
}

.p-top-figure .p-top-figure__graph.graph-pc.-inview .graph1 .graph1__circle-outer p span,
.p-top-figure .p-top-figure__graph.graph1-sp.-inview .graph1 .graph1__circle-outer p span {
    transform: translateZ(0);
    transition: transform .4s cubic-bezier(.165, .84, .44, 1)
}

.p-top-figure .p-top-figure__graph.graph-pc.-inview .graph1 .graph1__circle-outer,
.p-top-figure .p-top-figure__graph.graph1-sp.-inview .graph1 .graph1__circle-outer,
.p-top-figure .p-top-figure__graph.graph-pc.-inview .graph1 .graph1__circle-outer .inner,
.p-top-figure .p-top-figure__graph.graph1-sp.-inview .graph1 .graph1__circle-outer .inner {
    transition-delay: .19s !important
}

.p-top-figure .p-top-figure__graph.graph-pc.-inview .graph1 .graph1__circle-outer span,
.p-top-figure .p-top-figure__graph.graph1-sp.-inview .graph1 .graph1__circle-outer span {
    transition-delay: .67s !important
}

.p-top-figure .p-top-figure__graph.graph-pc.-inview .graph1 .graph1__circle-center,
.p-top-figure .p-top-figure__graph.graph1-sp.-inview .graph1 .graph1__circle-center {
    clip-path: circle(50%);
    transition: clip-path 1.1s cubic-bezier(.77, 0, .175, 1), transform .75s cubic-bezier(.23, 1, .32, 1);
    transition-delay: .1s
}

.p-top-figure .p-top-figure__graph.graph-pc.-inview .graph1 .graph1__circle-center .icon img,
.p-top-figure .p-top-figure__graph.graph1-sp.-inview .graph1 .graph1__circle-center .icon img {
    transform: translateZ(0);
    transition: transform .5s cubic-bezier(.165, .84, .44, 1);
    transition-delay: .75s
}

.p-top-figure .p-top-figure__graph.graph-pc.-inview .graph1 .graph1__circle-center .txt strong span,
.p-top-figure .p-top-figure__graph.graph1-sp.-inview .graph1 .graph1__circle-center .txt strong span {
    transform: translateZ(0);
    transition: transform .5s cubic-bezier(.165, .84, .44, 1);
    transition-delay: .9s
}

.p-top-figure .p-top-figure__graph.graph-pc.-inview .graph1 .graph1__circle-center .txt p span,
.p-top-figure .p-top-figure__graph.graph1-sp.-inview .graph1 .graph1__circle-center .txt p span {
    transform: translateZ(0);
    transition: transform .5s cubic-bezier(.165, .84, .44, 1);
    transition-delay: .95s
}

.p-top-figure .p-top-figure__graph.graph-pc.is-2nd .graph1,
.p-top-figure .p-top-figure__graph.graph1-sp.-motion-graph2-sp .graph1 {
    opacity: .06;
    transition: opacity .6s cubic-bezier(.165, .84, .44, 1)
}

.p-top-figure .p-top-figure__graph.graph-pc.is-2nd .graph1 .graph1__circle-center,
.p-top-figure .p-top-figure__graph.graph-pc.is-2nd .graph1 .graph1__circle-outer-wrapper,
.p-top-figure .p-top-figure__graph.graph1-sp.-motion-graph2-sp .graph1 .graph1__circle-center,
.p-top-figure .p-top-figure__graph.graph1-sp.-motion-graph2-sp .graph1 .graph1__circle-outer-wrapper {
    transform: scale(.34255599)
}

.p-top-figure .p-top-figure__graph.graph-pc.is-2nd .graph1 .graph1__circle-center,
.p-top-figure .p-top-figure__graph.graph1-sp.-motion-graph2-sp .graph1 .graph1__circle-center {
    transition: transform .6s cubic-bezier(.23, 1, .32, 1)
}

.p-top-figure .p-top-figure__graph.graph-pc.is-2nd .graph1 .graph1__circle-outer-wrapper,
.p-top-figure .p-top-figure__graph.graph1-sp.-motion-graph2-sp .graph1 .graph1__circle-outer-wrapper {
    transition: transform .78s cubic-bezier(.23, 1, .32, 1);
    transition-delay: 0s !important
}

.p-top-figure .p-top-figure__graph.graph-pc.is-2nd .graph1 .graph1__circle-outer .inner,
.p-top-figure .p-top-figure__graph.graph-pc.is-2nd .graph1 .graph1__circle-center .inner,
.p-top-figure .p-top-figure__graph.graph1-sp.-motion-graph2-sp .graph1 .graph1__circle-outer .inner,
.p-top-figure .p-top-figure__graph.graph1-sp.-motion-graph2-sp .graph1 .graph1__circle-center .inner {
    opacity: 0;
    transition: opacity .42s cubic-bezier(.165, .84, .44, 1)
}

.p-top-figure .p-top-figure__graph.graph-pc.is-2nd .graph1 .graph1__circle-border,
.p-top-figure .p-top-figure__graph.graph1-sp.-motion-graph2-sp .graph1 .graph1__circle-border {
    border-width: .791875em;
    transition: border-width .6s cubic-bezier(.165, .84, .44, 1)
}

.p-top-figure .p-top-figure__graph.graph-pc.is-2nd .graph1 .graph1__circle-outer:before,
.p-top-figure .p-top-figure__graph.graph1-sp.-motion-graph2-sp .graph1 .graph1__circle-outer:before {
    visibility: visible
}

.p-top-figure .p-top-figure__graph.graph-pc.is-2nd .graph2,
.p-top-figure .p-top-figure__graph.graph1-sp.-motion-graph2-sp .graph2 {
    visibility: visible;
    transform: scale(1);
    opacity: 1;
    transition: transform .8s cubic-bezier(.165, .84, .44, 1), opacity .8s cubic-bezier(.165, .84, .44, 1);
    transition-delay: .2s
}

.p-top-figure .p-top-figure__graph.graph-pc.is-2nd .graph2 .graph2__circle-outer,
.p-top-figure .p-top-figure__graph.graph1-sp.-motion-graph2-sp .graph2 .graph2__circle-outer {
    transform: rotate(0) !important;
    transition: transform .8s cubic-bezier(.165, .84, .44, 1);
    transition-delay: .2s
}

.p-top-figure .p-top-figure__graph.graph-pc.is-2nd .graph2 .graph2__circle-outer .inner1,
.p-top-figure .p-top-figure__graph.graph1-sp.-motion-graph2-sp .graph2 .graph2__circle-outer .inner1 {
    transform: scale(1) !important;
    transition: transform .8s cubic-bezier(.165, .84, .44, 1);
    transition-delay: .2s
}

.p-top-figure .p-top-figure__graph.graph-pc.is-2nd .graph2 .graph2__circle-outer p span,
.p-top-figure .p-top-figure__graph.graph1-sp.-motion-graph2-sp .graph2 .graph2__circle-outer p span {
    transform: translateZ(0);
    transition: transform .4s cubic-bezier(.165, .84, .44, 1);
    transition-delay: .75s
}

.p-top-figure .p-top-figure__graph.graph-pc.is-2nd .graph2 .graph2__circle-center p span,
.p-top-figure .p-top-figure__graph.graph1-sp.-motion-graph2-sp .graph2 .graph2__circle-center p span {
    transform: translateZ(0);
    transition: transform .4s cubic-bezier(.165, .84, .44, 1);
    transition-delay: .95s
}

.p-top-figure .p-top-figure__graph .p-top-figure__graph__inner {
    position: relative
}

.p-top-figure .p-top-figure__graph .graph1 {
    color: var(--blue);
    text-align: center;
    transition: transform .6s cubic-bezier(.165, .84, .44, 1), opacity .6s cubic-bezier(.165, .84, .44, 1)
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-outer-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    transition-delay: .08s !important
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-center {
    transition: transform .72s cubic-bezier(.23, 1, .32, 1)
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-outer-wrapper {
    transition: transform .6s cubic-bezier(.23, 1, .32, 1)
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-outer .inner,
.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-center .inner {
    transition: opacity .6s cubic-bezier(.165, .84, .44, 1);
    will-change: opacity
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-border {
    transition: border-width .6s cubic-bezier(.165, .84, .44, 1);
    will-change: border-width
}

.p-top-figure .p-top-figure__graph .graph1 .clip {
    clip-path: inset(-10% 0 -3% 0)
}

.p-top-figure .p-top-figure__graph .graph1 .clip span {
    display: block;
    transform: translate3d(0, 115%, 0)
}

.p-top-figure .p-top-figure__graph .graph1 .inner {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%
}

.p-top-figure .p-top-figure__graph .graph1 .inner:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-image: url(../img/top/3_strategy/pattern_noise.webp);
    background-position: center;
    background-size: 5.625em auto;
    content: ""
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-border {
    position: absolute;
    aspect-ratio: 1;
    width: 74.0447957839%;
    margin: auto;
    inset: 0;
    transform: scale(0);
    border: .1875em solid var(--white);
    border-radius: 50%
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-center {
    position: absolute;
    inset: 0;
    aspect-ratio: 1;
    width: 46.1133069829%;
    margin: auto;
    clip-path: circle(0%)
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-center:before {
    position: absolute;
    inset: 0;
    margin: auto;
    border-radius: 50%;
    background-color: var(--white);
    content: ""
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-center .icon {
    position: absolute;
    top: 28.5714285714%;
    right: 0;
    left: 0;
    width: 13.1428571429%;
    margin: auto;
    overflow: hidden
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-center .icon img {
    transform: translate3d(0, 100%, 0)
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-center .txt {
    position: absolute;
    top: 49.1428571429%;
    right: 0;
    left: 0;
    margin: auto
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-center .txt strong {
    font-style: normal;
    font-weight: 600;
    font-family: Albert Sans, sans-serif;
    font-optical-sizing: auto
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-outer {
    display: flex;
    position: absolute;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    width: 25.0329380764%
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-outer .inner {
    transform: scale(0)
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-outer:before {
    visibility: hidden;
    position: absolute;
    inset: 0;
    margin: auto;
    border-radius: 50%;
    background-color: var(--white);
    content: ""
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-outer.circle-outer1 {
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    transform: rotate(-30deg);
    transform-origin: 89% 208%
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-outer.circle-outer2 {
    top: 20.9838107098%;
    right: 0;
    transform: rotate(-30deg);
    transform-origin: -78% 168%
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-outer.circle-outer3 {
    right: 0;
    bottom: 20.9838107098%;
    transform: rotate(-30deg);
    transform-origin: -90% 29%
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-outer.circle-outer4 {
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0 auto;
    transform: rotate(-30deg);
    transform-origin: 12% -106%
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-outer.circle-outer5 {
    bottom: 20.9838107098%;
    left: 0;
    transform: rotate(-30deg);
    transform-origin: 179% -68%
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-outer.circle-outer6 {
    top: 20.9838107098%;
    left: 0;
    transform: rotate(-30deg);
    transform-origin: 189% 72%
}

.p-top-figure .p-top-figure__graph .graph1 .graph1__circle-outer p {
    position: relative;
    font-style: normal;
    font-weight: 600;
    font-family: Albert Sans, sans-serif;
    font-optical-sizing: auto
}

.p-top-figure .p-top-figure__graph .graph2 {
    visibility: hidden;
    aspect-ratio: 1;
    transform: scale(1.5);
    font-family: MFW-PA1GothicStdN-Medium;
    opacity: 0;
    transition: all .2s cubic-bezier(.165, .84, .44, 1)
}

.p-top-figure .p-top-figure__graph .graph2 .graph2__circle-border {
    position: absolute;
    aspect-ratio: 1;
    width: 67.0807453416%;
    margin: auto;
    inset: 0;
    border: .20875em solid var(--white);
    border-radius: 50%
}

.p-top-figure .p-top-figure__graph .graph2 .graph2__circle-center {
    display: flex;
    position: absolute;
    inset: 0;
    align-items: center;
    justify-content: center;
    aspect-ratio: 120/127;
    width: 32.4324324324%;
    margin: auto
}

.p-top-figure .p-top-figure__graph .graph2 .graph2__circle-center p {
    clip-path: inset(-10% 0 -3% 0)
}

.p-top-figure .p-top-figure__graph .graph2 .graph2__circle-center p span {
    display: block;
    transform: translate3d(0, 120%, 0)
}

.p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer {
    position: absolute;
    aspect-ratio: 1;
    width: 29.1925465839%;
    height: 29.1925465839%
}

.p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer.circle-outer1 {
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    transform: rotate(-45deg);
    transform-origin: 93% 153%
}

.p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer.circle-outer2 {
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(-45deg);
    transform-origin: -53% 93%
}

.p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer.circle-outer3 {
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0 auto;
    transform: rotate(-45deg);
    transform-origin: 5% -54%
}

.p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer.circle-outer4 {
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transform: rotate(-45deg);
    transform-origin: 152% 4%
}

.p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer .clip {
    clip-path: inset(-10% 0 -3% 0)
}

.p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer .clip span {
    display: block;
    transform: translate3d(0, 115%, 0)
}

.p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer .inner1 {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    transform: scale(0);
    border-radius: 50%;
    background-image: url(../img/top/3_strategy/pattern_noise.webp);
    background-position: center
}

.p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer .inner2 {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 50%
}

.p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer .inner2 p {
    color: var(--blue)
}

.p-top-cases,
.p-top-cases .p-top-cases__inner,
.p-top-cases .p-top-cases__head {
    position: relative
}

.p-top-cases .p-top-cases__head .p-top-cases__pagination>div {
    position: relative;
    cursor: pointer
}

.p-top-cases .p-top-cases__head .p-top-cases__pagination>div.is-active {
    background-color: var(--orange)
}

.p-top-cases .p-top-cases__head .p-top-cases__pagination>div {
    border-radius: 50%;
    background-color: var(--white);
    transition: all .2s cubic-bezier(.25, .46, .45, .94)
}

.p-top-cases .p-top-cases__head .p-top-cases__pagination>div:after {
    position: absolute;
    content: ""
}

.p-top-cases .p-top-cases__slide .board-item {
    display: flex;
    position: relative;
    align-items: flex-start;
    justify-content: space-between;
    background-color: var(--white);
    color: var(--blue)
}

.p-top-cases .p-top-cases__slide .board-item:last-of-type {
    margin-right: 0
}

.p-top-cases .p-top-cases__slide .board-item .board-item__txt .title span:nth-of-type(1) {
    font-style: normal;
    font-weight: 400;
    font-family: Forum, serif
}

.p-top-cases .p-top-cases__slide .board-item .board-item__txt .title span:nth-of-type(2) {
    font-style: normal;
    font-weight: 400;
    font-family: Forum, serif
}

.p-top-cases .p-top-cases__slide .board-item .board-item__txt .title span:nth-of-type(3) {
    position: relative;
    font-family: MFW-PA1GothicStdN-Medium
}

.p-top-cases .p-top-cases__slide .board-item .board-item__txt .title span:nth-of-type(3):before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background-color: var(--blue);
    content: "";
    opacity: .5
}

.p-top-cases .p-top-cases__slide .board-item .board-item__txt .desc {
    text-align: justify
}

.p-top-cases .p-top-cases__slide .board-item .board-item__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%
}

.p-top-cases .p-top-cases__slide .board-item .board-item__blue {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--blue);
    opacity: 0;
    pointer-events: none
}

.p-top-quality {
    position: relative
}

.p-top-quality .p-top-quality__inner {
    margin-right: auto;
    margin-left: auto
}

.p-top-quality .p-top-quality__column1.-inview .column1-1 p:nth-of-type(1)>span {
    transform: translateZ(0);
    transition: transform 1.2s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .3s
}

.p-top-quality .p-top-quality__column1.-inview .column1-1 p:nth-of-type(2)>span>span {
    transform: translateZ(0);
    transition: transform 1.2s cubic-bezier(.19, 1, .22, 1)
}

.p-top-quality .p-top-quality__column1.-inview .column1-1 p:nth-of-type(2)>span:nth-of-type(1)>span {
    transition-delay: .3s
}

.p-top-quality .p-top-quality__column1.-inview .column1-1 p:nth-of-type(2)>span:nth-of-type(2)>span {
    transition-delay: .4s
}

.p-top-quality .p-top-quality__column1.-inview .column1-1 p:nth-of-type(2)>span:nth-of-type(3)>span {
    transition-delay: .5s
}

.p-top-quality .p-top-quality__column1.-inview .column1-1 p:nth-of-type(3) {
    visibility: visible;
    opacity: 1;
    transition: opacity .8s cubic-bezier(.39, .575, .565, 1);
    transition-delay: .6s
}

.p-top-quality .p-top-quality__column1.-inview .column1-1 p:nth-of-type(4) {
    visibility: visible;
    opacity: 1;
    transition: opacity .8s cubic-bezier(.39, .575, .565, 1);
    transition-delay: .7s
}

.p-top-quality .p-top-quality__column1 .column1-1 p:nth-of-type(1) {
    clip-path: inset(-10% 0 -3% 0)
}

.p-top-quality .p-top-quality__column1 .column1-1 p:nth-of-type(1)>span {
    display: inline-block;
    transform: translate3d(0, 115%, 0)
}

.p-top-quality .p-top-quality__column1 .column1-1 p:nth-of-type(2)>span {
    display: inline-block;
    clip-path: inset(-10% 0 -3% 0)
}

.p-top-quality .p-top-quality__column1 .column1-1 p:nth-of-type(2)>span>span {
    display: inline-block;
    transform: translate3d(0, 115%, 0)
}

.p-top-quality .p-top-quality__column1 .column1-1 p:nth-of-type(3) {
    visibility: hidden;
    opacity: .01;
    will-change: opacity, transform
}

.p-top-quality .p-top-quality__column1 .column1-1 p:nth-of-type(4) {
    visibility: hidden;
    opacity: .01;
    will-change: opacity, transform
}

.p-top-quality .p-top-quality__column1 .c-btn-border.-inview {
    transition-delay: .75s
}

.p-top-quality .p-top-quality__column1 .c-btn-border.-inview:after {
    transition-delay: 1.1s
}

.p-top-quality .p-top-quality__column1 .c-btn-border.-inview:nth-of-type(2) {
    transition-delay: .85s
}

.p-top-quality .p-top-quality__column1 .c-btn-border.-inview:nth-of-type(2):after {
    transition-delay: 1.2s
}

.p-top-quality .p-top-quality__column1 .graph {
    position: relative;
    aspect-ratio: 593/532
}

.p-top-quality .p-top-quality__column1 .graph.-inview .circle {
    transform: translateZ(0) !important;
    clip-path: circle(50%);
    transition: clip-path .64s cubic-bezier(.445, .05, .55, .95), transform .8s cubic-bezier(.77, 0, .175, 1);
    transition-delay: .1s
}

.p-top-quality .p-top-quality__column1 .graph.-inview .line {
    transform: scale(1);
    opacity: 1;
    transition: transform .6s cubic-bezier(.165, .84, .44, 1), opacity .6s cubic-bezier(.165, .84, .44, 1);
    transition-delay: .6s
}

.p-top-quality .p-top-quality__column1 .graph.-inview .circle .clip span {
    transform: translateZ(0);
    transition: transform .4s cubic-bezier(.165, .84, .44, 1);
    transition-delay: .7s
}

.p-top-quality .p-top-quality__column1 .graph.-inview .circle .clip:nth-of-type(2) span {
    transition-delay: .8s
}

.p-top-quality .p-top-quality__column1 .graph.-inview .circle .clip:nth-of-type(3) span {
    transition-delay: .9s
}

.p-top-quality .p-top-quality__column1 .graph.-inview .center {
    visibility: visible
}

.p-top-quality .p-top-quality__column1 .graph.-inview .center .clip span {
    transform: translateZ(0);
    transition: transform .6s cubic-bezier(.165, .84, .44, 1);
    transition-delay: 1s
}

.p-top-quality .p-top-quality__column1 .graph>img {
    position: absolute;
    top: 0;
    left: 0
}

.p-top-quality .p-top-quality__column1 .graph .line {
    position: absolute;
    inset: 0;
    aspect-ratio: 1/.8090169944;
    width: 59.0219224283%;
    margin: auto;
    transform: scale(.8);
    background: var(--white);
    clip-path: polygon(50% 0, 100% 100%, 0 100%, 50% 0, 50% var(--b), calc(var(--b) * .8660254038) calc(100% - var(--b) / 2), calc(100% - var(--b) * .8660254038) calc(100% - var(--b) / 2), 50% var(--b));
    opacity: .01;
    will-change: opacity, transform
}

.p-top-quality .p-top-quality__column1 .graph .center {
    display: flex;
    visibility: hidden;
    position: absolute;
    top: 46.6165413534%;
    right: 0;
    left: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    width: 20.2360876897%;
    margin: auto
}

.p-top-quality .p-top-quality__column1 .graph .center strong:last-of-type {
    margin-bottom: 0
}

.p-top-quality .p-top-quality__column1 .graph .circle {
    display: flex;
    position: absolute;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    width: 41.3153456998%;
    border-radius: 50%;
    background-image: url(../img/top/3_strategy/pattern_noise.webp);
    background-position: center;
    background-size: 5.625em auto;
    color: var(--blue);
    clip-path: circle(0%)
}

.p-top-quality .p-top-quality__column1 .graph .circle.circle1 {
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    transform: translate3d(-36%, 62%, 0)
}

.p-top-quality .p-top-quality__column1 .graph .circle.circle2 {
    right: 0;
    bottom: 0;
    transform: translate3d(-36%, -62%, 0)
}

.p-top-quality .p-top-quality__column1 .graph .circle.circle3 {
    bottom: 0;
    left: 0;
    transform: translate3d(71%, 0, 0)
}

.p-top-quality .p-top-quality__column1 .graph .circle strong,
.p-top-quality .p-top-quality__column1 .graph .circle p {
    position: relative
}

.p-top-quality .p-top-quality__column1 .graph .circle p:last-of-type {
    margin-bottom: 0
}

.p-top-quality .p-top-quality__column1 .graph .clip {
    clip-path: inset(-10% 0 -3% 0)
}

.p-top-quality .p-top-quality__column1 .graph .clip span {
    display: block;
    transform: translate3d(0, 115%, 0)
}

.p-top-quality .p-top-quality__column1 .graph strong {
    font-family: MFW-PA1GothicStdN-Medium
}

.p-top-quality .p-top-quality__column2 .column2-1 {
    display: flex;
    position: relative;
    align-items: flex-start;
    justify-content: space-between
}

.p-top-interview {
    position: relative;
    overflow: hidden
}

.p-top-interview.is-drag-show {
    cursor: grab
}

.p-top-interview.is-drag-show .p-top-interview__drag {
    visibility: visible;
    opacity: 1
}

.p-top-interview .c-section-head {
    margin-right: auto;
    margin-left: auto
}

.p-top-interview .p-top-interview__list {
    -webkit-user-select: none;
    user-select: none
}

.p-top-interview .p-top-interview__list .swiper {
    width: 100%;
    overflow: visible;
    perspective: 900px
}

.p-top-interview .p-top-interview__list .swiper-wrapper {
    will-change: transform
}

.p-top-interview .p-top-interview__list .swiper-slide {
    transform-style: preserve-3d;
    will-change: transform
}

.p-top-interview .p-top-interview__list .swiper-slide.swiper-slide-prev,
.p-top-interview .p-top-interview__list .swiper-slide.swiper-slide-next {
    cursor: pointer
}

.p-top-interview .p-top-interview__list .swiper-slide.is-center .list-item__img {
    transform: rotate(-2deg)
}

.p-top-interview .p-top-interview__list .swiper-slide.is-show-info .title,
.p-top-interview .p-top-interview__list .swiper-slide.is-show-info .name-ja,
.p-top-interview .p-top-interview__list .swiper-slide.is-show-info .name-en,
.p-top-interview .p-top-interview__list .swiper-slide.is-show-info .join,
.p-top-interview .p-top-interview__list .swiper-slide.is-show-info .position,
.p-top-interview .p-top-interview__list .swiper-slide.is-show-info .c-btn-border {
    clip-path: inset(-5% -5% -5% -5%);
    transition: clip-path .5s cubic-bezier(.23, 1, .32, 1)
}

.p-top-interview .p-top-interview__list .swiper-slide.is-show-info .title {
    transition-delay: 0s
}

.p-top-interview .p-top-interview__list .swiper-slide.is-show-info .name-ja {
    transition-delay: .05s
}

.p-top-interview .p-top-interview__list .swiper-slide.is-show-info .name-en {
    transition-delay: .1s
}

.p-top-interview .p-top-interview__list .swiper-slide.is-show-info .join {
    transition-delay: .15s
}

.p-top-interview .p-top-interview__list .swiper-slide.is-show-info .position {
    transition-delay: .2s
}

.p-top-interview .p-top-interview__list .swiper-slide.is-show-info .c-btn-border {
    transition-delay: .25s
}

.p-top-interview .p-top-interview__list .swiper-slide.is-show-info .c-btn-border:after {
    visibility: visible;
    transform: scaleX(0);
    transition: transform 1s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .45s
}

.p-top-interview .p-top-interview__list .list-item .core {
    position: absolute;
    inset: 0;
    width: 1px;
    height: 1px;
    margin: auto
}

.p-top-interview .p-top-interview__list .list-item__img {
    transform: rotate(-2deg);
    transition: filter .5s cubic-bezier(.25, .46, .45, .94)
}

.p-top-interview .swiper-slide.is-post .list-item__img {
    aspect-ratio: 500 / 663;
    overflow: hidden;
}

.p-top-interview .swiper-slide.is-post .list-item__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.p-top-interview .p-top-interview__list .c-btn-border:after {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 1px);
    height: 100%;
    transform: scaleX(1);
    transform-origin: 100% 50%;
    border-radius: .1875em;
    background-color: var(--white);
    content: ""
}

.p-top-interview .p-top-interview__list .c-btn-border a:after {
    top: 1px;
    left: 1px;
    width: calc(100% - 3px);
    height: calc(100% - 3px)
}

.p-top-interview .p-top-interview__list .title,
.p-top-interview .p-top-interview__list .name-ja,
.p-top-interview .p-top-interview__list .name-en,
.p-top-interview .p-top-interview__list .join,
.p-top-interview .p-top-interview__list .position,
.p-top-interview .p-top-interview__list .c-btn-border {
    clip-path: inset(-5% 105% -5% -5%);
    transition: clip-path .25s 0s cubic-bezier(.23, 1, .32, 1)
}

.p-top-interview .p-top-interview__ctrl {
    display: flex;
    position: relative;
    -webkit-user-select: none;
    user-select: none
}

.p-top-interview .p-top-interview__ctrl:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--white);
    content: "";
    opacity: .3
}

.p-top-interview .p-top-interview__ctrl {
    margin-right: auto;
    margin-left: auto
}

.p-top-interview .p-top-interview__ctrl .ctrl-button {
    cursor: pointer
}

.p-top-interview .p-top-interview__ctrl .ctrl-button-prev {
    position: relative
}

.p-top-interview .p-top-interview__ctrl .ctrl-button-prev img {
    transform: scaleX(-1)
}

.p-top-interview .p-top-interview__ctrl .ctrl-button-next {
    position: relative
}

.p-top-interview .p-top-interview__ctrl .ctrl-button-prev.swiper-button-disabled,
.p-top-interview .p-top-interview__ctrl .ctrl-button-next.swiper-button-disabled {
    opacity: .5;
    pointer-events: none
}

.p-top-interview .p-top-interview__ctrl .ctrl-play-pause {
    position: relative
}

.p-top-interview .p-top-interview__ctrl .ctrl-play-pause[data-status-play="0"] .play {
    visibility: visible
}

.p-top-interview .p-top-interview__ctrl .ctrl-play-pause[data-status-play="0"] .pause,
.p-top-interview .p-top-interview__ctrl .ctrl-play-pause[data-status-play="1"] .play {
    visibility: hidden
}

.p-top-interview .p-top-interview__ctrl .ctrl-play-pause[data-status-play="1"] .pause {
    visibility: visible
}

.p-top-interview .p-top-interview__ctrl .ctrl-play-pause .play {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

.p-top-interview .p-top-interview__ctrl .ctrl-play-pause .pause {
    position: absolute;
    top: 0;
    left: 0
}

.p-top-interview .p-top-interview__ctrl .swiper-pagination {
    display: flex;
    position: absolute;
    right: 0;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    --progress: 0
}

.p-top-interview .p-top-interview__ctrl .swiper-pagination .swiper-pagination-bullet {
    display: block;
    position: relative;
    border-radius: 50%;
    cursor: pointer
}

.p-top-interview .p-top-interview__ctrl .swiper-pagination .swiper-pagination-bullet:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(.5);
    border-radius: 50%;
    background-color: var(--white);
    content: "";
    transition: background-color .2s cubic-bezier(.25, .46, .45, .94)
}

.p-top-interview .p-top-interview__ctrl .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:before {
    background-color: var(--orange)
}

.p-top-interview .p-top-interview__ctrl .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active svg {
    display: block
}

.p-top-interview .p-top-interview__ctrl .swiper-pagination .swiper-pagination-bullet svg {
    display: none
}

.p-top-interview .p-top-interview__ctrl .swiper-pagination .swiper-pagination-bullet:after {
    position: absolute;
    content: ""
}

.p-top-interview .p-top-interview__ctrl .swiper-pagination .swiper-pagination-bullet svg {
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    stroke-width: 1px;
    stroke: var(--orange);
    fill: none;
    stroke-dashoffset: calc(31px * (1 - var(--progress)));
    stroke-dasharray: 31;
    transform: rotate(-90deg);
    will-change: transform
}

.p-top-interview .p-top-interview__drag {
    visibility: hidden;
    z-index: 10;
    position: fixed;
    top: 0;
    left: 0;
    width: 7.6875em;
    transform: translate(50vw, 50vh);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s cubic-bezier(.39, .575, .565, 1), visibility .2s
}

.p-top-interview .p-top-interview__drag svg {
    transform: translate3d(-50%, -80%, 0)
}

.p-top-career {
    position: relative
}

.p-top-career .p-top-career__inner {
    margin-right: auto;
    margin-left: auto
}

.p-top-career .p-top-career__list1 .list-item {
    position: relative
}

.p-top-career .p-top-career__list1 .list-item:nth-of-type(3):after,
.p-top-career .p-top-career__list1 .list-item:nth-of-type(4):after {
    display: none
}

.p-top-career .p-top-career__list2 .list-item {
    display: flex;
    position: relative;
    align-items: flex-start;
    justify-content: space-between
}

.p-top-career .c-btn-border {
    margin: 0 auto
}

.p-top-wide-image2,
.p-top-wide-image2 .p-top-wide-image2__inner {
    position: relative
}

.p-top-wide-image2 .p-top-wide-image2__img {
    position: relative;
    margin-right: auto;
    margin-left: auto;
    overflow: hidden
}

.p-top-wide-image2 .p-top-wide-image2__img .wrapper {
    position: absolute
}

.p-top-wide-image2 .p-top-wide-image2__catch {
    position: absolute;
    left: 0;
    height: 1em;
    margin: auto;
    font-style: normal;
    font-weight: 400;
    font-family: Forum, serif
}

.p-top-wide-image2 .p-top-wide-image2__catch p {
    white-space: nowrap
}

.p-top-wide-image2 .p-top-wide-image2__catch p span {
    display: inline-block;
    padding-right: .5em;
    animation: catch-ticker 16s linear infinite
}

.p-top-wide-image2__link {
    display: flex;
    position: relative;
    right: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    margin: auto
}

@keyframes catch-ticker {
    0% {
        transform: translateZ(0)
    }

    to {
        transform: translate3d(-100%, 0, 0)
    }
}

.p-top-entry .p-top-entry__inner {
    position: relative;
    background-color: var(--white)
}

.p-top-entry .p-top-entry__banner1 {
    position: relative
}

.p-top-entry .p-top-entry__banner1 a {
    display: block;
    position: relative;
    color: var(--white)
}

.p-top-entry .p-top-entry__banner1 a:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--blue);
    content: "";
    transition: transform .5s cubic-bezier(.165, .84, .44, 1)
}

.p-top-entry .p-top-entry__banner1 .txt,
.p-top-entry .p-top-entry__banner1 .img {
    position: relative;
    transition: transform .5s cubic-bezier(.165, .84, .44, 1)
}

.p-top-entry .p-top-entry__banner1 .img picture {
    display: block
}

.p-top-entry .p-top-entry__banner1 .img picture:nth-of-type(1) {
    position: relative
}

.p-top-entry .p-top-entry__banner1 .img picture:nth-of-type(2) {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: all .5s cubic-bezier(.165, .84, .44, 1)
}

.p-top-entry .p-top-entry__banner1 .img img {
    transition: transform .5s cubic-bezier(.165, .84, .44, 1)
}

.p-top-entry .p-top-entry__banner1 .c-icon-blank {
    z-index: 1;
    position: absolute;
    transition: transform .5s cubic-bezier(.165, .84, .44, 1)
}

.p-top-entry .p-top-entry__banner2 {
    position: relative
}

.p-top-entry .p-top-entry__banner2 a {
    display: block;
    position: relative;
    color: var(--white)
}

.p-top-entry .p-top-entry__banner2 a:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--blue);
    content: "";
    transition: transform .5s cubic-bezier(.165, .84, .44, 1)
}

.p-top-entry .p-top-entry__banner2 .txt {
    position: relative;
    transition: transform .5s cubic-bezier(.165, .84, .44, 1)
}

.p-top-entry .p-top-entry__banner2 .c-icon-blank {
    z-index: 1;
    position: absolute;
    transition: transform .5s cubic-bezier(.165, .84, .44, 1)
}

.p-top-entry .p-top-entry__list {
    color: var(--blue)
}

.p-top-entry .p-top-entry__list:last-of-type {
    margin-bottom: 0
}

.p-top-entry .p-top-entry__list .list-title {
    color: var(--black)
}

.p-top-entry .p-top-entry__list ul li:last-of-type {
    margin-bottom: 0
}

.p-top-entry .p-top-entry__list ul li a {
    display: block;
    position: relative;
    transition: color .2s cubic-bezier(.165, .84, .44, 1)
}

.p-top-entry .p-top-entry__list ul li a:before {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: 100% 50%;
    background-color: var(--blue);
    content: "";
    transition: transform .4s cubic-bezier(.19, 1, .22, 1), visibility .4s
}

.p-top-entry .p-top-entry__list ul li a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--blue);
    content: ""
}

.p-top-entry .p-top-entry__list ul li a p {
    position: relative;
    transition: transform .4s cubic-bezier(.165, .84, .44, 1)
}

.p-top-entry .p-top-entry__list ul li .c-icon-blank {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto
}

.p-top-entry .p-top-entry__list ul li .c-icon-blank g {
    fill: var(--blue);
    transition: fill .2s .2s cubic-bezier(.215, .61, .355, 1)
}

.blue-bg-wrapper {
    z-index: 1;
    position: relative;
    overflow: hidden
}

.blue-bg-wrapper .io_section {
    visibility: hidden;
    position: absolute;
    top: 101vh;
    width: 1px
}

.is-safari .blue-bg-wrapper {
    clip-path: inset(0)
}

@media screen and (min-width: 768px) {
    .ja-sans-50-5 {
        font-size: 3.125rem;
        letter-spacing: .05em
    }

    .ja-sans-12-5 {
        font-size: .75rem;
        letter-spacing: .05em
    }

    .ja-sans-14-5,
    .ja-sans-m-14-5 {
        font-size: .875rem;
        letter-spacing: .05em
    }

    .ja-sans-m-40-5 {
        font-size: 2.5rem;
        letter-spacing: .05em
    }

    .ja-sans-16-5 {
        font-size: 1rem;
        letter-spacing: .05em
    }

    .ja-sans-m-18-5 {
        font-size: 1.125rem;
        letter-spacing: .05em
    }

    .ja-sans-m-20-5 {
        font-size: 1.25rem;
        letter-spacing: .05em
    }

    .ja-sans-24-5 {
        font-size: 1.5rem;
        letter-spacing: .05em
    }

    .ja-sans-m-16-5 {
        font-size: 1rem;
        letter-spacing: .05em
    }

    .ja-sans-m-26-5 {
        font-size: 1.625rem;
        letter-spacing: .05em
    }

    .en-sans-sb-12 {
        font-size: .75rem
    }

    .en-sans-sb-14 {
        font-size: .875rem
    }

    .en-sans-sb-20 {
        font-size: 1.25rem
    }

    .en-sans-sb-26 {
        font-size: 1.625rem
    }

    .en-sans-sb-16 {
        font-size: 1rem
    }

    .en-serif-22 {
        font-size: 1.375rem
    }

    .en-serif-32 {
        font-size: 2rem
    }

    .en-serif-40 {
        font-size: 2.5rem
    }

    .en-serif-64 {
        font-size: 4rem
    }

    html {
        font-size: 1.1111111111vw
    }

    body {
        background-image: url(../img/common/bg_noise_pc.webp);
        background-size: 250px auto
    }

    .u-show-sp {
        display: none !important
    }

    .u-show-pc {
        display: block !important
    }

    .c-icon-blank {
        width: .5em;
        height: .4375em
    }

    .c-icon-arrow-r {
        width: .375em;
        height: .375em
    }

    .c-icon-arrow-r2 {
        width: 1em;
        height: 1em
    }

    .c-btn-border.-sns a {
        width: 12.5em;
        height: 4.375em
    }

    .c-btn-border.-sns a span {
        padding: 0 0 0 1.375rem;
        font-size: 1.125rem
    }

    .c-btn-border.-sns .c-icon-sns {
        width: 2.3125rem
    }

    .c-btn-border.-arrow a span {
        padding: 0 .9375em 0 1.25em
    }

    .c-btn-border a span {
        padding: 0 2.2em;
        font-size: .875rem
    }

    .c-btn-border a .c-icon-blank {
        top: .5em;
        right: .5em
    }

    .c-btn-border a .c-icon-arrow-r {
        width: .6875em;
        height: .5em;
        margin-right: 1.25em
    }

    .c-anchor#message {
        top: 5.5625rem
    }

    .c-anchor#quality {
        top: 4.25rem
    }

    .c-anchor#interview {
        top: 4.1875rem
    }

    .c-anchor#career {
        top: 7.5rem
    }

    .c-anchor#entry {
        top: -5rem
    }

    .c-section-head.-ja2-bottom .c-section-head__column2 {
        align-items: flex-end
    }

    .c-section-head .c-heading-en {
        margin-bottom: .5em
    }

    .c-section-head .c-section-head__column1 .c-heading-ja1 {
        margin-bottom: .15625em
    }

    .c-section-head .c-section-head__column2 {
        display: flex;
        align-items: flex-start;
        justify-content: space-between
    }

    .c-section-head .c-section-head__column2 div:nth-of-type(1) {
        flex: 1
    }

    .c-section-head .c-section-head__column2 div:nth-of-type(2) {
        width: 57.8461538462%;
        margin-top: .5em
    }

    .c-link-small .c-icon-arrow-r {
        margin-right: .5em;
        transition: transform .2s cubic-bezier(.165, .84, .44, 1)
    }

    .c-bg-paint[data-bg-paint="2_message1"] {
        top: 0;
        left: 0;
        aspect-ratio: 1440/1197;
        width: 100%
    }

    .c-bg-paint[data-bg-paint="2_message2"] {
        top: -25em;
        right: 0;
        aspect-ratio: 2744/1517;
        width: 85.75em
    }

    .c-bg-paint[data-bg-paint="2_message3"] {
        bottom: -33.125em;
        left: 0;
        aspect-ratio: 1005/747;
        width: 31.40625em
    }

    .c-bg-paint[data-bg-paint="4_figure1"] {
        top: -12.5em;
        right: 0;
        aspect-ratio: 1442/966;
        width: 45.0625em
    }

    .c-bg-paint[data-bg-paint="6_cases1"] {
        top: -34.375em;
        right: -4.375em;
        aspect-ratio: 2376/2042;
        width: 74.25em
    }

    .c-bg-paint[data-bg-paint="6_quality1"] {
        top: -.9375em;
        left: 0;
        aspect-ratio: 761/628;
        width: 23.78125em
    }

    .c-bg-paint[data-bg-paint="6_quality2"] {
        top: -6.25em;
        right: 0;
        aspect-ratio: 2389/2341;
        width: 74.65625em
    }

    .c-bg-paint[data-bg-paint="7_interview1"] {
        top: -3.125em;
        right: 0;
        aspect-ratio: 2880/1993;
        width: 100%
    }

    .c-bg-paint[data-bg-paint="9_career1"] {
        top: 3.125em;
        left: 0;
        aspect-ratio: 892/756;
        width: 27.875em
    }

    .c-bg-paint[data-bg-paint="9_career2"] {
        top: 37.5em;
        right: 0;
        aspect-ratio: 1347/1897;
        width: 42.09375em
    }

    .c-bg-paint[data-bg-paint="10_wide_image1"] {
        top: -18.75em;
        right: 0;
        aspect-ratio: 2880/2426;
        width: 100%
    }

    .c-h2-en-ja h2 {
        margin-bottom: 1.25rem;
        font-size: 3.5rem;
        letter-spacing: -.01em
    }

    .c-h2-en-ja h2 .en {
        margin-bottom: .3125rem
    }

    .c-h2-en-ja h2 .ja {
        font-size: .875rem;
        letter-spacing: .05em
    }

    .c-h2-en-ja .line {
        width: .625rem;
        height: .125rem
    }

    .c-btn-arrow-group .btn-arrow {
        width: 1.875rem;
        height: 1.875rem;
        margin-left: .375rem
    }

    .c-btn-arrow-group .btn-arrow:before {
        border-radius: .125rem
    }

    .c-btn-arrow-group .btn-arrow.-play {
        margin-left: .625rem
    }

    .c-btn-arrow-group .btn-arrow:after {
        border-radius: .125rem
    }

    .p-header .p-header__bg {
        display: none
    }

    .p-header .p-header__inner {
        width: 90.2777777778%
    }

    .p-header .p-header__inner {
        height: 77px
    }

    .p-header .p-header__logo {
        top: 26px;
        left: 0
    }

    .p-header .p-header__logo p span:first-child img {
        left: 1px;
        width: 266px
    }

    .p-header .p-header__logo p span:last-child {
        top: 25px;
        font-size: 14px
    }

    .p-header .p-header__logo p span:last-child i {
        margin-right: 10px;
        padding-right: 15px
    }

    .p-header .p-header__logo p span:last-child i:first-child:after {
        height: 10px
    }

    .p-header .p-header__nav {
        top: 43px;
        right: 0
    }

    .p-header .p-header__nav ul {
        display: flex
    }

    .p-header .p-header__nav ul li {
        margin-left: 1.2em;
        font-size: min(16px, 1.45vw);
        line-height: 160%
    }

    .p-header .p-header__nav ul li:first-of-type {
        margin-left: 0
    }

    .p-header .p-header__nav ul li:nth-of-type(6),
    .p-header .p-header__nav ul li:nth-of-type(7) {
        margin-left: 1.75em;
        padding-left: 1.75em
    }

    .p-header .p-header__nav ul li:nth-of-type(6):before,
    .p-header .p-header__nav ul li:nth-of-type(7):before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 1px;
        height: 10px;
        margin: auto;
        background-image: url(../img/common/nav_dot.svg);
        background-position: center;
        background-repeat: no-repeat;
        content: ""
    }

    .p-header .p-header__nav ul li .en {
        clip-path: inset(0 0 8% 0)
    }

    .p-header .p-header__nav ul li .ja {
        display: none
    }

    .p-header .p-header__nav ul li a {
        display: flex;
        align-items: center
    }

    .p-header .p-header__nav ul li a:after {
        top: -5px;
        left: -7.5px;
        width: calc(100% + 15px);
        height: calc(100% + 10px)
    }

    .p-header .p-header__nav ul li a .c-icon-blank {
        margin-left: .375em
    }

    .p-header .p-header__toggle {
        display: none
    }

    .p-footer .p-footer__inner {
        width: 90.2777777778%;
        margin: 7.1875em auto 4.375em
    }

    .p-footer .p-footer__sec1 {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        padding-bottom: 5.9375em
    }

    .p-footer .p-footer__sec1 .p-footer__title {
        display: flex;
        flex: 1;
        margin-top: .1875em
    }

    .p-footer .p-footer__sec1 .p-footer__title span:first-child img {
        width: 19.875em;
        margin-left: .0625em
    }

    .p-footer .p-footer__sec1 .p-footer__title span:last-child {
        top: 1.8125em;
        font-size: 1.125rem
    }

    .p-footer .p-footer__sec1 .p-footer__title span:last-child i {
        margin-right: .375em;
        padding-right: .875em
    }

    .p-footer .p-footer__sec1 .p-footer__title span:last-child i:first-child:after {
        height: .8125em
    }

    .p-footer .p-footer__sec1 .p-footer__nav1 {
        width: 40.7692307692%
    }

    .p-footer .p-footer__sec1 .p-footer__nav1 ul li {
        margin-bottom: .9375em;
        font-size: 1.25rem
    }

    .p-footer .p-footer__sec2 {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        padding-top: 3.125em
    }

    .p-footer .p-footer__sec2 .p-footer__nav2 {
        display: flex;
        flex: 1
    }

    .p-footer .p-footer__sec2 .p-footer__nav2 ul li {
        margin-bottom: .8125em;
        font-size: .875rem
    }

    .p-footer .p-footer__sec2 .p-footer__nav2 ul li a .c-icon-arrow-r {
        margin-right: .5em;
        transition: transform .2s cubic-bezier(.165, .84, .44, 1)
    }

    .p-footer .p-footer__sec2 .p-footer__contact {
        width: 40.7692307692%
    }

    .p-footer .p-footer__sec2 .p-footer__contact strong {
        margin-bottom: .9375em;
        font-size: 1rem
    }

    .p-footer .p-footer__sec2 .p-footer__contact p {
        margin-bottom: .8125em;
        font-size: .875rem;
        line-height: 165%;
        letter-spacing: .05em
    }

    .p-footer .p-footer__sec2 .p-footer__contact .c-btn-border {
        margin-top: 1.3125em
    }

    .p-footer .p-footer__sec2 .p-footer__pagetop {
        position: absolute;
        right: 0;
        bottom: 0
    }

    .p-footer .p-footer__sec2 .p-footer__pagetop a:after {
        top: -10px;
        left: -10px;
        width: calc(100% + 20px);
        height: calc(100% + 20px)
    }

    .p-footer .p-footer__sec2 .p-footer__pagetop span {
        margin-right: .5em;
        font-size: .75rem
    }

    .p-footer .p-footer__sec2 .p-footer__pagetop .icon {
        width: .5em
    }

    .p-footer .p-footer__sec2 .p-footer__logo {
        position: absolute;
        bottom: 0;
        left: 0
    }

    .p-footer .p-footer__sec2 .p-footer__logo p {
        margin-right: .375em
    }

    .p-footer .p-footer__sec2 .p-footer__logo small {
        margin-top: 1.0625em;
        font-size: .75rem
    }

    .p-article {
        padding-top: 12.8125rem
    }

    .p-article__section header {
        margin-bottom: 5.875rem
    }

    .p-article__section header h1 {
        width: 90.2777777778%;
        margin-right: auto;
        margin-left: auto;
        font-size: 2.625rem;
        line-height: 160%;
        letter-spacing: .05em
    }

    .p-article__section .p-article__info {
        margin-bottom: .9375rem;
        gap: 1.25rem
    }

    .p-article__section .p-article__info__category ul {
        gap: .625rem
    }

    .p-article__body {
        width: 77.7777777778%;
        margin-right: auto;
        margin-left: auto;
        font-size: 1rem;
        line-height: 175%;
        letter-spacing: .05em
    }

    /* .p-article__body .size-full {
        width: 116.0714285714%;
        max-width: 116.0714285714%;
        margin-top: 3.125rem;
        margin-bottom: 4.375rem;
        margin-left: -8.0357142857%
    } */

    .p-article__body figure {
        margin-top: 3.125rem;
        margin-bottom: 4.375rem
    }

    .p-article__body figure figcaption {
        margin-top: 1.25rem
    }

    .p-article__body p {
        margin-bottom: 2.1875rem
    }

    .p-article__body h1 {
        margin-bottom: 1.25rem;
        font-size: 2.25rem;
        line-height: 165%;
        letter-spacing: .04em
    }

    .p-article__body h2 {
        margin-bottom: 1.25rem;
        font-size: 1.875rem;
        line-height: 165%;
        letter-spacing: .04em
    }

    .p-article__body h3 {
        margin-bottom: 1.25rem;
        font-size: 1.625rem;
        line-height: 165%;
        letter-spacing: .04em
    }

    .p-article__body h4 {
        margin-bottom: 1.25rem;
        font-size: 1.375rem;
        line-height: 165%;
        letter-spacing: .04em
    }

    .p-article__body h5 {
        margin-bottom: 1.25rem;
        font-size: 1.125rem;
        line-height: 165%;
        letter-spacing: .04em
    }

    .p-article__body ul,
    .p-article__body ol {
        margin-bottom: 2.8125rem;
        margin-left: 1.5em
    }

    .p-article__body a {
        margin-bottom: 1.875rem;
        padding-right: 1.25rem;
        padding-bottom: .25rem;
        font-size: .875rem;
        line-height: 160%;
        letter-spacing: .05em
    }

    .p-article__body a[target=_blank]:after {
        top: .5rem;
        right: .125rem;
        width: .5rem;
        height: .4375rem
    }

    .p-article__body a:after {
        top: .5rem;
        right: .125rem;
        width: .6875rem;
        height: .5rem
    }

    .p-article__body .btn-border {
        height: 3.125rem;
        padding: 0 0 0 1.1875rem;
        border-radius: .125rem;
        font-size: .875rem;
        line-height: 160%;
        letter-spacing: .05em
    }

    .p-article__body .column2 {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin-top: 3.125rem;
        margin-bottom: 9.375rem
    }

    .p-article__body .column2 .column2-1,
    .p-article__body .column2 .column2-2 {
        width: 48.6607142857%
    }

    .p-article__body .grid2x2 {
        column-gap: .625rem;
        row-gap: .625rem;
        margin-top: 3.125rem;
        margin-bottom: 9.375rem
    }

    .p-article__body .wp-block-table {
        margin-top: 3.125rem;
        margin-bottom: 3.125rem;
        font-size: .875rem;
        line-height: 160%;
        letter-spacing: .05em
    }

    .p-article__body .wp-block-table th,
    .p-article__body .wp-block-table td {
        padding: .6875rem 1.25rem
    }

    .p-article__body .wp-block-quote,
    .p-article__body blockquote {
        margin-top: 3.125rem;
        margin-bottom: 3.125rem;
        padding: 3.125rem
    }

    .p-article__body .wp-block-quote:before,
    .p-article__body blockquote:before {
        width: 2.875rem;
        height: 2.5rem
    }

    .p-article__body .wp-block-quote:after,
    .p-article__body blockquote:after {
        width: 2.875rem;
        height: 2.5rem
    }

    .p-article__body .link-box {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 3.125rem;
        margin-bottom: 3.125rem;
        padding: 2.5rem 3.75rem
    }

    .p-article__body .link-box .link-box__img {
        width: 24%
    }

    .p-article__body .link-box .link-box__txt {
        width: 70%;
        margin-top: -.4em
    }

    .p-article__body .link-box .link-box__txt strong {
        font-size: 1rem;
        line-height: 175%;
        letter-spacing: .05em
    }

    .p-article__body .link-box .link-box__txt a {
        font-size: .75rem
    }

    .p-article__body .link-box .link-box__txt a:after {
        top: .375rem
    }

    .p-article__pagination {
        width: 77.7777777778%;
        margin-top: 9.375rem;
        margin-right: auto;
        margin-bottom: 11.25rem;
        margin-left: auto
    }

    .p-article__pagination .p-article__pagination__arrow a {
        align-items: center;
        gap: .625rem
    }

    .p-article__pagination .p-article__pagination__arrow a .arrow {
        width: 3.125rem;
        height: 3.125rem;
        border-radius: .125rem
    }

    .p-article__pagination .p-article__pagination__arrow a .arrow img {
        width: .6875rem;
        height: .5rem
    }

    .p-article__pagination .p-article__pagination__arrow p {
        margin: 0 .8125rem
    }

    .p-article__pagination .p-article__pagination__list {
        border-radius: .125rem
    }

    .p-article__pagination .p-article__pagination__list a {
        width: 9rem;
        height: 3.125rem
    }

    .p-article__pagination .p-article__pagination__list .icon {
        margin-right: .75rem
    }

    .p-article__pagination .p-article__pagination__list .icon img {
        width: .75rem;
        height: .75rem
    }

    .p-top-kv h2 .catch1 {
        top: 120px;
        right: 2.5em
    }

    .p-top-kv h2 .catch1 .line2 {
        margin-top: .3em;
        margin-right: .85em
    }

    .p-top-kv h2 .catch1 .ja1 {
        font-size: 7.5rem;
        line-height: 115%;
        letter-spacing: .04em
    }

    .p-top-kv h2 .catch1 .ja2 {
        font-size: 7.5rem;
        line-height: 115%;
        letter-spacing: .03em
    }

    .p-top-kv h2 .catch2 {
        bottom: 88px;
        left: 3.9rem
    }

    .p-top-kv h2 .catch2 .line1 {
        font-size: 6.25rem;
        letter-spacing: -.016em
    }

    .p-top-kv h2 .catch2 .line2 {
        font-size: 6.25rem;
        letter-spacing: -.04em
    }

    .p-top-kv h2 .catch2 .line3 {
        font-size: 14.375rem;
        letter-spacing: -.06em
    }

    .p-top-kv h2 .catch2 .line3 i:nth-of-type(1) {
        margin-right: -.005em
    }

    .p-top-kv h2 .catch2 .line3 i:nth-of-type(2) {
        margin-right: .022em
    }

    .p-top-kv h2 .catch2 .line3 i:nth-of-type(4) {
        margin-right: .015em
    }

    .p-top-kv h2 .catch2 .line3 i:nth-of-type(5) {
        margin-right: .016em
    }

    .p-top-kv .p-top-kv__stage {
        top: -30svh;
        height: 160svh
    }

    .p-top-kv .p-top-kv__news {
        height: 76px
    }

    .p-top-kv .p-top-kv__news ul li a:after {
        top: -15px;
        left: -15px;
        width: calc(100% + 30px);
        height: calc(100% + 30px)
    }

    .p-top-kv .p-top-kv__news ul li a time {
        margin-right: 1.0625em;
        padding-right: 1.0625em;
        font-size: 14px
    }

    .p-top-kv .p-top-kv__news ul li a time:after {
        width: 1px;
        height: 10px
    }

    .p-top-kv .p-top-kv__news ul li a>div {
        width: 100%
    }

    .p-top-kv .p-top-kv__news ul li a p {
        font-size: 14px
    }

    .p-top-kv .p-top-kv__news ul li a p:after {
        position: absolute;
        bottom: -2px;
        left: 0;
        width: 100%;
        height: 1px;
        transform: scaleX(0);
        transform-origin: 100% 50%;
        background-color: var(--white);
        content: "";
        transition: transform .7s cubic-bezier(.19, 1, .22, 1)
    }

    .p-top-kv .p-top-kv__news ul li a p:nth-of-type(2) {
        display: none
    }

    .p-top-kv .p-top-kv__news ul li a .c-icon-arrow-r2 {
        margin-left: .3125em;
        transition: transform .5s cubic-bezier(.165, .84, .44, 1)
    }

    .p-top-kv .p-top-kv__news .num {
        top: .125em;
        right: 9.5625em;
        bottom: 0;
        height: 1em;
        font-size: 12px
    }

    .p-top-kv .p-top-kv__news .num:after {
        right: -35px;
        width: 1px;
        height: 10px
    }

    .p-top-kv .p-top-kv__news .scroll {
        top: 0;
        right: 0;
        bottom: 0;
        height: 1em;
        margin: auto;
        font-size: 12px
    }

    .p-top-kv .p-top-kv__news .scroll a:after {
        top: -10px;
        left: -10px;
        width: calc(100% + 20px);
        height: calc(100% + 20px)
    }

    .p-top-kv .p-top-kv__news .scroll .icon {
        width: .6666666669em;
        height: .6666666669em;
        margin-left: .5em
    }

    .p-top-kv .p-top-kv__banner {
        right: 4.375em;
        bottom: min(150px, 76px + 3.625em);
        width: 10em
    }

    .p-top-kv .p-top-kv__banner a {
        transition: transform .5s cubic-bezier(.165, .84, .44, 1)
    }

    .p-top-message {
        margin-bottom: 8.5em
    }

    .p-top-message .p-top-message__inner {
        width: 90.2777777778%
    }

    .p-top-message h2 {
        margin-bottom: .34375em;
        padding-top: 2.25em
    }

    .p-top-message .p-top-message__catch .catch1 {
        font-size: 4rem;
        line-height: 150%;
        letter-spacing: .01em
    }

    .p-top-message .p-top-message__catch .catch2 {
        margin-top: .6125em;
        font-size: 6.25rem;
        letter-spacing: -.02em
    }

    .p-top-message .p-top-message__catch .catch3 {
        margin-top: .15em;
        font-size: 5rem;
        letter-spacing: .02em
    }

    .p-top-message .p-top-message__catch .catch4 {
        margin-top: 1.5em;
        font-size: 1.625rem;
        line-height: 160%;
        letter-spacing: .045em
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper .slide-preview {
        width: 100vw;
        height: 100dvh
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="0"] .gallery-preview:nth-of-type(1) {
        z-index: 1
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="0"] .gallery-preview:nth-of-type(1) img {
        transform: scale(1.075)
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="0"] .gallery-preview:nth-of-type(2) .gallery-preview__inner {
        clip-path: inset(100% 100% 100% 100%);
        transition: clip-path .8s cubic-bezier(.77, 0, .175, 1)
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="1"] .gallery-preview:nth-of-type(2) {
        z-index: 1
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="1"] .gallery-preview:nth-of-type(2) img {
        transform: scale(1.075)
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="1"] .gallery-preview:nth-of-type(1) .gallery-preview__inner,
    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="1"] .gallery-preview:nth-of-type(3) .gallery-preview__inner {
        clip-path: inset(100% 100% 100% 100%);
        transition: clip-path .8s cubic-bezier(.77, 0, .175, 1)
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="2"] .gallery-preview:nth-of-type(3) {
        z-index: 1
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="2"] .gallery-preview:nth-of-type(3) img {
        transform: scale(1.075)
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="2"] .gallery-preview:nth-of-type(2) .gallery-preview__inner {
        clip-path: inset(100% 100% 100% 100%);
        transition: clip-path .8s cubic-bezier(.77, 0, .175, 1)
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper .slide-preview {
        transition: width 1s cubic-bezier(.77, 0, .175, 1), height 1s cubic-bezier(.77, 0, .175, 1)
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper .slide-preview .gallery-preview {
        opacity: .2
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper .slide-preview img {
        transition: transform 1s cubic-bezier(.86, 0, .07, 1)
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper .gallery-thumb .gallery-thumb__item {
        clip-path: inset(100% 0 0 0);
        transition: clip-path .5s cubic-bezier(.19, 1, .22, 1)
    }

    .p-top-message__gallery.is-scaleup .c-bg-paint {
        visibility: hidden;
        opacity: 0;
        transition: opacity 1s cubic-bezier(.165, .84, .44, 1), visibility 1s cubic-bezier(.165, .84, .44, 1)
    }

    .p-top-message__gallery .st-spacer {
        height: 200vh
    }

    .p-top-message__gallery .p-top-message__gallery__inner {
        top: 22.5625em
    }

    .p-top-message__gallery .slide-wrapper {
        width: 1px;
        height: 1px;
        transition: opacity .7s cubic-bezier(.215, .61, .355, 1)
    }

    .p-top-message__gallery .slide-wrapper[data-current-index="0"] .gallery-preview:nth-of-type(2) {
        transform: translate3d(92.0138888889vw, 0, 0)
    }

    .p-top-message__gallery .slide-wrapper[data-current-index="0"] .gallery-preview:nth-of-type(3) {
        transform: translate3d(184.0277777778vw, 0, 0)
    }

    .p-top-message__gallery .slide-wrapper[data-current-index="1"] .gallery-preview:nth-of-type(1) {
        transform: translate3d(-92.0138888889vw, 0, 0)
    }

    .p-top-message__gallery .slide-wrapper[data-current-index="1"] .gallery-preview:nth-of-type(3) {
        transform: translate3d(92.0138888889vw, 0, 0)
    }

    .p-top-message__gallery .slide-wrapper[data-current-index="2"] .gallery-preview:nth-of-type(1) {
        transform: translate3d(-184.0277777778vw, 0, 0)
    }

    .p-top-message__gallery .slide-wrapper[data-current-index="2"] .gallery-preview:nth-of-type(2) {
        transform: translate3d(-92.0138888889vw, 0, 0)
    }

    .p-top-message__gallery .slide-wrapper .slide-preview {
        width: 81.25em;
        height: 45.125em;
        background-color: #00429e
    }

    .p-top-message__gallery .slide-wrapper .slide-preview .gallery-preview {
        transition: transform .9s cubic-bezier(.77, 0, .175, 1), opacity .9s cubic-bezier(.165, .84, .44, 1);
        will-change: transform
    }

    .p-top-message__gallery .slide-wrapper .slide-preview .gallery-preview .gallery-preview__inner svg {
        aspect-ratio: 2600/1444
    }

    .p-top-message__gallery .gallery-thumb {
        top: 18.1875em;
        left: -6.25em;
        column-gap: .625em;
        width: 12.5em
    }

    .p-top-message__gallery .gallery-thumb .gallery-thumb__item {
        width: 3.75em
    }

    .p-top-message__gallery .gallery-thumb .gallery-thumb__item .gallery-thumb__item__inner .progress {
        bottom: -.1875em;
        height: .125em
    }

    .p-top-strategy {
        padding-top: 3.5em
    }

    .p-top-strategy .p-top-strategy__inner {
        width: 90.2777777778%
    }

    .p-top-strategy .c-section-head__column2 {
        margin-bottom: 1.625em
    }

    .p-top-strategy .p-top-strategy__board {
        padding-bottom: calc(50svh - 18.75em)
    }

    .p-top-strategy .p-top-strategy__board .board-item {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin-bottom: 23.75em;
        padding: 3.125em
    }

    .p-top-strategy .p-top-strategy__board .board-item .board-item__txt {
        width: 49.1666666667%
    }

    .p-top-strategy .p-top-strategy__board .board-item .board-item__txt .title-en {
        margin-top: -.25em;
        margin-bottom: 3.125em
    }

    .p-top-strategy .p-top-strategy__board .board-item .board-item__txt .title-en span:nth-of-type(1) {
        top: -.5em;
        margin-right: .375em;
        font-size: .75rem
    }

    .p-top-strategy .p-top-strategy__board .board-item .board-item__txt .title-en span:nth-of-type(2) {
        font-size: 1.25rem
    }

    .p-top-strategy .p-top-strategy__board .board-item .board-item__txt .catch {
        margin-bottom: 1.5em
    }

    .p-top-strategy .p-top-strategy__board .board-item .board-item__txt .desc {
        margin-bottom: 3.125em
    }

    .p-top-strategy .p-top-strategy__board .board-item .board-item__img {
        width: 41.6666666667%
    }

    .p-top-figure {
        padding-top: 9.25em;
        padding-bottom: 11.25em
    }

    .p-top-figure .p-top-figure__inner {
        width: 90.2777777778%
    }

    .p-top-figure .p-top-figure__txt {
        width: 32.3076923077%
    }

    .p-top-figure .p-top-figure__txt .c-heading-ja1 {
        width: 130%
    }

    .p-top-figure .p-top-figure__txt__wrapper {
        padding-bottom: 12.0625em
    }

    .p-top-figure .p-top-figure__txt__service {
        margin-top: 3.125em;
        padding-top: 2.0625em
    }

    .p-top-figure .p-top-figure__txt__service>p {
        margin-top: .3125em
    }

    .p-top-figure .p-top-figure__txt__service ul {
        width: 77.1428571429%
    }

    .p-top-figure .p-top-figure__txt__service ul li {
        width: 48.7654320988%;
        margin-bottom: .0625em
    }

    .p-top-figure .p-top-figure__graph {
        position: absolute;
        top: .75em;
        right: 0;
        width: 58.3846153846%
    }

    .p-top-figure .p-top-figure__graph .p-top-figure__graph__inner {
        aspect-ratio: 759/803;
        width: 80vmin;
        max-width: 47.4375em;
        margin: 0 auto
    }

    .p-top-figure .p-top-figure__graph .graph1 {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        margin: auto
    }

    .p-top-figure .p-top-figure__graph .graph1 .graph1__circle-center .txt strong {
        margin-bottom: .45em;
        font-size: 1.75rem
    }

    .p-top-figure .p-top-figure__graph .graph1 .graph1__circle-center .txt p {
        font-size: 1rem;
        letter-spacing: .05em
    }

    .p-top-figure .p-top-figure__graph .graph1 .graph1__circle-outer p {
        font-size: 1.25rem
    }

    .p-top-figure .p-top-figure__graph .graph2 {
        position: absolute;
        top: 0;
        bottom: 0;
        left: -3.0303030303%;
        width: 106.0606060606%;
        margin: auto
    }

    .p-top-figure .p-top-figure__graph .graph2 .graph2__circle-center p {
        font-size: 1.5rem;
        letter-spacing: .05em
    }

    .p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer .inner1 {
        border: .46875em solid var(--white);
        background-size: 5.625em auto
    }

    .p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer .inner2 {
        border: .625em solid var(--blue)
    }

    .p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer .inner2 p {
        font-size: 1.25rem;
        letter-spacing: .05em
    }

    .p-top-cases {
        padding-top: 5.4375em
    }

    .p-top-cases .p-top-cases__inner {
        width: 90.2777777778%;
        margin-right: auto;
        margin-left: auto
    }

    .p-top-cases .p-top-cases__head {
        margin-bottom: .5em
    }

    .p-top-cases .p-top-cases__head .p-top-cases__pagination {
        display: flex;
        position: absolute;
        right: 0;
        bottom: .875em;
        column-gap: .5625em;
        align-items: center
    }

    .p-top-cases .p-top-cases__head .p-top-cases__pagination>div {
        width: .375em;
        height: .375em
    }

    .p-top-cases .p-top-cases__head .p-top-cases__pagination>div:after {
        top: -.28125em;
        left: -.28125em;
        width: calc(100% + .5625em);
        height: calc(100% + .5625em)
    }

    .p-top-cases .p-top-cases__slide {
        display: flex;
        column-gap: 2.5em;
        align-items: flex-start;
        width: 307.5em
    }

    .p-top-cases .p-top-cases__slide .board-item {
        aspect-ratio: 2/1;
        width: 75em
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt {
        width: 50%;
        padding: 2.8125em 3.5625em 1.875em 3.125em
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .title {
        margin-bottom: 1.25em
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .title span:nth-of-type(1) {
        margin-right: .1875em;
        font-size: 2rem
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .title span:nth-of-type(2) i:nth-of-type(1) {
        margin-right: .125em;
        font-size: 2rem
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .title span:nth-of-type(2) i:nth-of-type(2) {
        font-size: 1.125rem
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .title span:nth-of-type(3) {
        margin-left: 1.125em;
        padding-left: 4.375em;
        font-size: .875rem;
        letter-spacing: .05em
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .title span:nth-of-type(3):before {
        width: 2.8125em;
        height: 1px
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .catch {
        margin-bottom: .75em
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .desc {
        margin-bottom: 3.125em
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__img {
        flex: 1;
        height: 100%
    }

    .p-top-quality {
        padding-top: 7.6875em
    }

    .p-top-quality .p-top-quality__inner {
        width: 90.2777777778%
    }

    .p-top-quality .p-top-quality__inner {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between
    }

    .p-top-quality .c-heading-en {
        margin-bottom: 1.1875em
    }

    .p-top-quality .p-top-quality__column1 {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        width: 100%;
        margin-bottom: 5.5em
    }

    .p-top-quality .p-top-quality__column1 .column1-1 {
        width: 40.5384615385%
    }

    .p-top-quality .p-top-quality__column1 .column1-1 p:nth-of-type(1) {
        margin-bottom: -.0625em
    }

    .p-top-quality .p-top-quality__column1 .column1-1 p:nth-of-type(2) {
        margin-bottom: .25em
    }

    .p-top-quality .p-top-quality__column1 .column1-1 p:nth-of-type(3) {
        margin-bottom: 1.125em
    }

    .p-top-quality .p-top-quality__column1 .column1-1 p:nth-of-type(4) {
        margin-bottom: 1.5em
    }

    .p-top-quality .p-top-quality__column1 .graph {
        width: 45.6153846154%;
        margin-top: 3.125em;
        margin-right: 6.3076923077%
    }

    .p-top-quality .p-top-quality__column1 .graph .line {
        --b: .4em
    }

    .p-top-quality .p-top-quality__column1 .graph .center strong {
        margin-bottom: .3em;
        font-size: 1.25rem;
        letter-spacing: .05em
    }

    .p-top-quality .p-top-quality__column1 .graph .circle strong {
        margin-bottom: .75em;
        font-size: 1.768125rem;
        letter-spacing: .05em
    }

    .p-top-quality .p-top-quality__column1 .graph .circle p {
        margin-bottom: .6em;
        font-size: 1rem;
        letter-spacing: .05em
    }

    .p-top-quality .p-top-quality__column2 {
        width: 46.7692307692%
    }

    .p-top-quality .p-top-quality__column2 .number {
        margin-bottom: .5em
    }

    .p-top-quality .p-top-quality__column2 .column2-1 {
        margin-bottom: .9375em
    }

    .p-top-quality .p-top-quality__column2 .column2-1-1 {
        flex: 1;
        margin-top: -.625em
    }

    .p-top-quality .p-top-quality__column2 .column2-1-1 p:nth-of-type(1) {
        margin-bottom: .125em
    }

    .p-top-quality .p-top-quality__column2 .column2-1-2 {
        width: 46.0526315789%
    }

    .p-top-quality .p-top-quality__column2 .desc {
        margin-bottom: 1.875em
    }

    .p-top-interview {
        padding-top: 7.625em
    }

    .p-top-interview .c-section-head {
        width: 90.2777777778%
    }

    .p-top-interview .c-section-head {
        margin-bottom: 3.125em
    }

    .p-top-interview .c-section-head .c-heading-en {
        margin-bottom: .625em
    }

    .p-top-interview .c-section-head .c-heading-ja1 {
        margin-bottom: .125em
    }

    .p-top-interview .p-top-interview__list .swiper {
        padding-bottom: 5.3125em
    }

    .p-top-interview .p-top-interview__list .swiper-slide {
        width: 52.5em
    }

    .p-top-interview .p-top-interview__list .list-item {
        display: flex;
        align-items: center;
        justify-content: space-between
    }

    .p-top-interview .p-top-interview__list .list-item__img {
        width: 47.619047619%
    }

    .p-top-interview .p-top-interview__list .list-item__txt {
        width: 42.8571428571%
    }

    .p-top-interview .p-top-interview__list .list-item__txt .title {
        width: 150%;
        margin-bottom: .5em;
        padding-left: .5em;
        text-indent: -.5em
    }

    .p-top-interview .p-top-interview__list .list-item__txt .name-ja {
        margin-bottom: .5em
    }

    .p-top-interview .p-top-interview__list .list-item__txt .name-en {
        margin-bottom: 1.5em
    }

    .p-top-interview .p-top-interview__list .list-item__txt .join {
        margin-bottom: .5em
    }

    .p-top-interview .p-top-interview__list .list-item__txt .position {
        margin-bottom: 2.8125em
    }

    .p-top-interview .p-top-interview__ctrl {
        width: 90.2777777778%
    }

    .p-top-interview .p-top-interview__ctrl {
        padding-top: 1.25em
    }

    .p-top-interview .p-top-interview__ctrl .ctrl-button {
        width: 1.875em;
        border: 1px solid rgba(255, 255, 255, .65);
        border-radius: .3125em
    }

    .p-top-interview .p-top-interview__ctrl .ctrl-button-prev {
        margin-right: .375em
    }

    .p-top-interview .p-top-interview__ctrl .ctrl-button-next {
        width: 1.875em;
        margin-right: .9375em
    }

    .p-top-interview .p-top-interview__ctrl .ctrl-button-prev,
    .p-top-interview .p-top-interview__ctrl .ctrl-button-next {
        transition: background-color .3s cubic-bezier(.165, .84, .44, 1)
    }

    .p-top-interview .p-top-interview__ctrl .ctrl-play-pause {
        width: 1.875em;
        transition: background-color .3s cubic-bezier(.165, .84, .44, 1)
    }

    .p-top-interview .p-top-interview__ctrl .swiper-pagination {
        top: .625em;
        gap: .1875em
    }

    .p-top-interview .p-top-interview__ctrl .swiper-pagination .swiper-pagination-bullet {
        width: .75em;
        height: .75em
    }

    .p-top-interview .p-top-interview__ctrl .swiper-pagination .swiper-pagination-bullet:after {
        top: -5px;
        left: -5px;
        width: calc(100% + 10px);
        height: calc(100% + 10px)
    }

    .p-top-career {
        margin-bottom: 9.125em;
        padding-top: 10.9375em
    }

    .p-top-career .p-top-career__inner {
        width: 90.2777777778%
    }

    .p-top-career .c-section-head {
        margin-bottom: 5.125em
    }

    .p-top-career .p-top-career__list1 {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 83.0769230769%;
        margin: 0 auto 3.125em
    }

    .p-top-career .p-top-career__list1 .list-item {
        width: 46.2962962963%;
        margin-bottom: .875em;
        padding-bottom: 3.25em
    }

    .p-top-career .p-top-career__list1 .list-item__img {
        margin-bottom: 1.5em
    }

    .p-top-career .p-top-career__list1 .list-item__title {
        margin-bottom: .6875em
    }

    .p-top-career .p-top-career__list2 {
        display: flex;
        row-gap: 3em;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 83.0769230769%;
        margin: 0 auto 3.4375rem
    }

    .p-top-career .p-top-career__list2 .list-item {
        width: 44.8148148148%
    }

    .p-top-career .p-top-career__list2 .list-item:nth-of-type(1) {
        order: 0
    }

    .p-top-career .p-top-career__list2 .list-item:nth-of-type(2) {
        order: 2
    }

    .p-top-career .p-top-career__list2 .list-item:nth-of-type(3) {
        order: 4
    }

    .p-top-career .p-top-career__list2 .list-item:nth-of-type(4) {
        order: 6
    }

    .p-top-career .p-top-career__list2 .list-item:nth-of-type(5) {
        order: 8
    }

    .p-top-career .p-top-career__list2 .list-item:nth-of-type(6) {
        order: 1
    }

    .p-top-career .p-top-career__list2 .list-item:nth-of-type(7) {
        order: 3
    }

    .p-top-career .p-top-career__list2 .list-item:nth-of-type(8) {
        order: 5
    }

    .p-top-career .p-top-career__list2 .list-item:nth-of-type(9) {
        order: 7
    }

    .p-top-career .p-top-career__list2 .list-item:nth-of-type(10) {
        order: 9
    }

    .p-top-career .p-top-career__list2 .list-item__img {
        width: 14.4628099174%;
        margin-bottom: 1.5em
    }

    .p-top-career .p-top-career__list2 .list-item__txt {
        width: 79.5454545455%;
        margin-top: -.5625em
    }

    .p-top-career .p-top-career__list2 .c-link-small,.p-top-career .p-top-career__list1 .c-link-small {
        margin-top: .625em
    }

    .p-top-career .p-top-career__list2 .list-item__title {
        margin-bottom: .125em
    }

    .p-top-wide-image2 {
        margin-bottom: 6.875em
    }

    .p-top-wide-image2 .p-top-wide-image2__img {
        width: 90.2777777778%
    }

    .p-top-wide-image2 .p-top-wide-image2__img {
        aspect-ratio: 1300/750
    }

    .p-top-wide-image2 .p-top-wide-image2__img .wrapper {
        top: 0%;
        left: 0;
        aspect-ratio: 2600/1500;
        width: 100%
    }

    .p-top-wide-image2 .p-top-wide-image2__img .wrapper svg {
        display: block;
        position: relative;
        top: 0%;
        left: 0%;
        width: 100%;
        height: 100%;
        transform: scale(1.1)
    }

    .p-top-wide-image2 .p-top-wide-image2__catch {
        bottom: -.4em;
        font-size: 11.25rem;
        letter-spacing: -.01em
    }

    .p-top-wide-image2__link {
        margin-top: 6.25rem;
        gap: 1.875rem
    }

    .p-top-entry .p-top-entry__inner {
        width: 97.2222222222%;
        margin: 0 auto;
        padding: 9.375em 9.7222222222% 9.375em 12.5%
    }

    .p-top-entry .p-top-entry__banner1 {
        margin-bottom: 1.25em
    }

    .p-top-entry .p-top-entry__banner1 a:before {
        border-radius: .5em
    }

    .p-top-entry .p-top-entry__banner1 a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1.875em
    }

    .p-top-entry .p-top-entry__banner1 .txt {
        display: flex;
        align-items: flex-end;
        justify-content: space-between
    }

    .p-top-entry .p-top-entry__banner1 .txt p:nth-of-type(1) {
        margin-right: 1.1em
    }

    .p-top-entry .p-top-entry__banner1 .txt p:nth-of-type(2) {
        margin-bottom: .4em
    }

    .p-top-entry .p-top-entry__banner1 .img {
        width: 46.0784313725%;
        clip-path: inset(0 round .25em)
    }

    .p-top-entry .p-top-entry__banner1 .c-icon-blank {
        top: .9375em;
        right: .9375em
    }

    .p-top-entry .p-top-entry__banner2 {
        margin-bottom: 4.625em
    }

    .p-top-entry .p-top-entry__banner2 a:before {
        border-radius: .5em
    }

    .p-top-entry .p-top-entry__banner2 a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1.875em
    }

    .p-top-entry .p-top-entry__banner2 .txt {
        display: flex;
        align-items: flex-end;
        justify-content: space-between
    }

    .p-top-entry .p-top-entry__banner2 .txt p:nth-of-type(1) {
        margin-right: 1.2em
    }

    .p-top-entry .p-top-entry__banner2 .txt p:nth-of-type(2) {
        margin-bottom: .1em
    }

    .p-top-entry .p-top-entry__banner2 .c-icon-blank {
        top: .9375em;
        right: .9375em
    }

    .p-top-entry .p-top-entry__list {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin-bottom: 4.875em
    }

    .p-top-entry .p-top-entry__list .list-title {
        width: 27.7777777778%;
        margin-top: 1.125em
    }

    .p-top-entry .p-top-entry__list .list-title p:nth-of-type(1) {
        margin-bottom: .3125em
    }

    .p-top-entry .p-top-entry__list ul {
        width: 69.4444444444%
    }

    .p-top-entry .p-top-entry__list ul li {
        margin-bottom: 2.375em
    }

    .p-top-entry .p-top-entry__list ul li a {
        padding: 1.25em 0
    }

    .p-top-entry .p-top-entry__list ul li .c-icon-blank {
        right: .9375em;
        width: .625em;
        height: .5em
    }

    .blue-bg-wrapper {
        background-image: url(../img/common/bg_noise_pc.webp);
        background-size: 250px auto
    }
}

@media screen and (max-width: 767px) {
    .lh-130-sp {
        line-height: 130% !important
    }

    .lh-160-sp {
        line-height: 160% !important
    }

    .lh-165-sp {
        line-height: 165% !important
    }

    .lh-190-sp {
        line-height: 190% !important
    }

    .ja-sans-50-5 {
        font-size: 9vw;
        letter-spacing: .05em
    }

    .ja-sans-12-5 {
        font-size: 3vw;
        letter-spacing: .05em
    }

    .ja-sans-14-5 {
        font-size: 3.5vw;
        letter-spacing: .05em
    }

    .ja-sans-m-14-5 {
        font-size: .75rem;
        letter-spacing: .05em
    }

    .ja-sans-m-40-5 {
        font-size: 9vw;
        letter-spacing: .05em
    }

    .ja-sans-16-5 {
        font-size: 4vw;
        letter-spacing: .01em
    }

    .ja-sans-m-18-5,
    .ja-sans-m-20-5,
    .ja-sans-24-5,
    .ja-sans-m-16-5 {
        font-size: 4vw;
        letter-spacing: .05em
    }

    .ja-sans-m-26-5 {
        font-size: 5vw;
        letter-spacing: .05em
    }

    .en-sans-sb-12,
    .en-sans-sb-14 {
        font-size: 3vw
    }

    .en-sans-sb-20 {
        font-size: 4.5vw
    }

    .en-sans-sb-26 {
        font-size: 5.5vw
    }

    .en-sans-sb-16 {
        font-size: 3.5vw
    }

    .en-serif-22,
    .en-serif-32 {
        font-size: 5.5vw
    }

    .en-serif-40 {
        font-size: 6.5vw
    }

    .en-serif-64 {
        font-size: 7.5vw;
        letter-spacing: .02em
    }

    .ja-sans-12-5-sp {
        font-size: 3vw;
        letter-spacing: .05em
    }

    .ja-sans-14-5-sp {
        font-size: 3.5vw;
        letter-spacing: .05em
    }

    .ja-sans-15-5-sp {
        font-size: 3.75vw;
        letter-spacing: .05em
    }

    .ja-sans-m-14-5-sp {
        font-size: 3.5vw;
        letter-spacing: .05em
    }

    .ja-sans-m-26-5-sp {
        font-size: 6.5vw;
        letter-spacing: .05em
    }

    .en-sans-sb-14-sp {
        font-size: 3.5vw
    }

    .en-sans-sb-20-sp {
        font-size: 5vw
    }

    .ja-sans-m-24-5-sp {
        font-size: 6vw;
        letter-spacing: .05em
    }

    .ja-sans-m-18-5-sp {
        font-size: 4.5vw;
        letter-spacing: .05em
    }

    body {
        background-image: url(../img/common/bg_noise_sp.webp);
        background-size: 50px auto
    }

    .c-icon-blank {
        width: 2vw;
        height: 1.75vw
    }

    .c-icon-arrow-r {
        width: 1.5vw;
        height: 1.5vw
    }

    .c-icon-arrow-r2 {
        width: 4vw;
        height: 4vw
    }

    .c-btn-border.-long a span {
        padding: 0 1.2em
    }

    .c-btn-border.-sns a {
        width: 40vw;
        height: 15vw
    }

    .c-btn-border.-sns a span {
        padding: 0 0 0 3.75vw;
        font-size: 4vw
    }

    .c-btn-border.-sns .c-icon-sns {
        width: 7vw
    }

    .c-btn-border.-arrow a span {
        padding: 0 3.75vw 0 5vw
    }

    .c-btn-border a span {
        padding: 0 2em;
        font-size: 3.5vw;
        line-height: 120%
    }

    .c-btn-border a .c-icon-blank {
        top: 2vw;
        right: 2vw
    }

    .c-btn-border a .c-icon-arrow-r {
        width: 2.75vw;
        height: 2vw;
        margin-right: 5vw
    }

    .c-anchor#message {
        top: 4.25vw
    }

    .c-anchor#strategy {
        top: -9vw
    }

    .c-anchor#quality {
        top: -1.25vw
    }

    .c-anchor#interview {
        top: -8.25vw
    }

    .c-anchor#career {
        top: 4.5vw
    }

    .c-anchor#entry {
        top: -15vw
    }

    .c-section-head .c-heading-en {
        margin-bottom: 4.5vw
    }

    .c-section-head .c-section-head__column2.-column1-sp div:nth-of-type(2) {
        width: 100%
    }

    .c-section-head .c-section-head__column2 .c-heading-ja1 {
        margin-bottom: -.75vw
    }

    .c-section-head .c-section-head__column2 div:nth-of-type(1) {
        margin-bottom: 4.5vw
    }

    .c-link-small .c-icon-arrow-r {
        margin-right: 2vw
    }

    .c-bg-paint[data-bg-paint="2_message1"] {
        top: 87.5vw;
        left: 0;
        aspect-ratio: 800/709;
        width: 100%
    }

    .c-bg-paint[data-bg-paint="2_message2"] {
        top: -82.5vw;
        right: 0;
        aspect-ratio: 648/309;
        width: 81vw
    }

    .c-bg-paint[data-bg-paint="2_message3"] {
        bottom: -80vw;
        left: 0;
        aspect-ratio: 420/290;
        width: 52.5vw
    }

    .c-bg-paint[data-bg-paint="4_figure1"] {
        top: -32.5vw;
        right: 0;
        aspect-ratio: 751/431;
        width: 93.875vw
    }

    .c-bg-paint[data-bg-paint="6_cases1"] {
        top: -92.5vw;
        right: 0;
        aspect-ratio: 800/894;
        width: 100%
    }

    .c-bg-paint[data-bg-paint="6_quality1"] {
        top: 1.5vw;
        left: 0;
        aspect-ratio: 472/409;
        width: 59vw
    }

    .c-bg-paint[data-bg-paint="6_quality2"] {
        top: 165vw;
        left: 0;
        aspect-ratio: 800/804;
        width: 100%
    }

    .c-bg-paint[data-bg-paint="7_interview1"] {
        top: 80vw;
        right: 0;
        aspect-ratio: 800/754;
        width: 100%
    }

    .c-bg-paint[data-bg-paint="9_career1"] {
        top: 12.5vw;
        left: 0;
        aspect-ratio: 618/598;
        width: 77.25vw
    }

    .c-bg-paint[data-bg-paint="9_career2"] {
        top: 420vw;
        right: 0;
        aspect-ratio: 668/1073;
        width: 83.5vw
    }

    .c-bg-paint[data-bg-paint="10_wide_image1"] {
        top: -22.5vw;
        right: 0;
        aspect-ratio: 800/961;
        width: 100%
    }

    .c-h2-en-ja h2 {
        margin-bottom: 4.5vw;
        font-size: 9.5vw;
        letter-spacing: -.01em
    }

    .c-h2-en-ja h2 .en {
        margin-bottom: 1.25vw
    }

    .c-h2-en-ja h2 .ja {
        font-size: 3.5vw;
        letter-spacing: .05em
    }

    .c-h2-en-ja .line {
        width: 2.5vw;
        height: .5vw
    }

    .c-btn-arrow-group .btn-arrow {
        width: 7.5vw;
        height: 7.5vw;
        margin-left: 1.5vw
    }

    .c-btn-arrow-group .btn-arrow:before {
        border-radius: .5vw
    }

    .c-btn-arrow-group .btn-arrow.-play {
        margin-left: 3.75vw
    }

    .c-btn-arrow-group .btn-arrow:after {
        border-radius: 1.25vw
    }

    .p-header .p-header__bg {
        visibility: hidden;
        position: absolute;
        top: 0;
        left: -4vw;
        width: 100vw;
        height: 100svh;
        background-color: var(--blue);
        opacity: 0;
        transition: all .4s cubic-bezier(.25, .46, .45, .94)
    }

    .p-header .p-header__inner {
        width: 92vw
    }

    .p-header .p-header__inner {
        height: 16vw
    }

    .p-header .p-header__logo {
        top: 5.25vw;
        left: 0
    }

    .p-header .p-header__logo p span:first-child img {
        left: .25vw;
        width: 46.25vw;
        height: 3.675vw
    }

    .p-header .p-header__logo p span:last-child {
        top: 4.25vw;
        font-size: 3.25vw
    }

    .p-header .p-header__logo p span:last-child i {
        margin-right: 1.5vw;
        padding-right: 2.6vw
    }

    .p-header .p-header__logo p span:last-child i:first-child:after {
        height: 2.25vw
    }

    .p-header .p-header__nav {
        z-index: 1;
        top: 2.5vw;
        right: -2vw;
        width: 54vw;
        height: 135vw;
        padding: 11.75vw 8.75vw 5vw 8.25vw
    }

    .p-header .p-header__nav:before {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: var(--white);
        content: ""
    }

    .p-header .p-header__nav {
        visibility: hidden;
        clip-path: inset(2.5vw 2vw 126vw 40.5vw round .5vw);
        will-change: clip-path
    }

    .p-header .p-header__nav.is-show {
        visibility: visible;
        clip-path: inset(0vw 0vw 0vw 0vw);
        transition: clip-path .8s cubic-bezier(.19, 1, .22, 1)
    }

    .p-header .p-header__nav.is-show .en .ori {
        transform: translateZ(0);
        transition: transform .8s cubic-bezier(.19, 1, .22, 1);
        transition-delay: .3s
    }

    .p-header .p-header__nav.is-show .ja {
        transform: translateZ(0);
        clip-path: inset(0% 0 0 0);
        transition: clip-path .8s cubic-bezier(.165, .84, .44, 1), transform .8s cubic-bezier(.19, 1, .22, 1);
        transition-delay: .45s
    }

    .p-header .p-header__nav.is-show .c-icon-blank {
        clip-path: inset(0% 0 0 0);
        transition: clip-path .8s cubic-bezier(.19, 1, .22, 1);
        transition-delay: .45s
    }

    .p-header .p-header__nav.is-show li:before {
        clip-path: inset(0 0% 0 0) !important;
        transition: clip-path .8s cubic-bezier(1, 0, 0, 1);
        transition-delay: .3s
    }

    .p-header .p-header__nav.is-hide {
        clip-path: inset(2.5vw 2vw 126vw 40.5vw round .5vw);
        transition: clip-path .55s cubic-bezier(.86, 0, .07, 1)
    }

    .p-header .p-header__nav ul li {
        margin-bottom: 5vw
    }

    .p-header .p-header__nav ul li:nth-of-type(6):before,
    .p-header .p-header__nav ul li:nth-of-type(7):before {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-image: linear-gradient(to right, var(--blue) .25vw, transparent .25vw);
        background-position: left top;
        background-size: .75vw .25vw;
        background-repeat: repeat-x;
        content: "";
        clip-path: inset(0 100% 0 0)
    }

    .p-header .p-header__nav ul li:nth-of-type(6) {
        margin-top: 7.5vw;
        padding: 7vw 0 1.5vw
    }

    .p-header .p-header__nav ul li:nth-of-type(7) {
        padding: 7vw 0 3.25vw
    }

    .p-header .p-header__nav ul li .en {
        display: block;
        font-size: 6vw;
        clip-path: inset(0 0 -6% 0)
    }

    .p-header .p-header__nav ul li .en .ori {
        transform: translate3d(0, 120%, 0)
    }

    .p-header .p-header__nav ul li .en .cloned {
        display: none
    }

    .p-header .p-header__nav ul li .ja {
        display: block;
        transform: translate3d(0, 20%, 0);
        font-size: 3vw;
        line-height: 160%;
        font-family: MFW-PA1GothicStdN-Medium;
        letter-spacing: .08em;
        clip-path: inset(100% 0 0 0)
    }

    .p-header .p-header__nav ul li a {
        display: block;
        width: 100%;
        max-width: fit-content;
        color: var(--blue)
    }

    .p-header .p-header__nav ul li a:after {
        top: -2.5vw;
        left: -4vw;
        width: calc(100% + 8vw);
        height: calc(100% + 5vw)
    }

    .p-header .p-header__nav ul li a .c-icon-blank {
        position: absolute;
        top: -2.5vw;
        right: -3.25vw;
        bottom: 0;
        margin: auto;
        clip-path: inset(100% 100% 0 0)
    }

    .p-header .p-header__nav ul li a .c-icon-blank g {
        fill: var(--blue);
        width: 2vw
    }

    .p-footer .p-footer__inner {
        margin-top: 30vw;
        margin-bottom: 12vw
    }

    .p-footer .p-footer__sec1 {
        margin-bottom: 12vw;
        padding-bottom: 12vw
    }

    .p-footer .p-footer__sec1 .p-footer__title {
        margin-bottom: 8vw;
        margin-left: 12vw
    }

    .p-footer .p-footer__sec1 .p-footer__title span:first-child img {
        left: .25vw;
        width: 76vw;
        height: 5.88vw
    }

    .p-footer .p-footer__sec1 .p-footer__title span:last-child {
        padding-top: 7.5vw;
        font-size: 4vw
    }

    .p-footer .p-footer__sec1 .p-footer__title span:last-child i {
        margin-right: 2vw;
        padding-right: 3.75vw
    }

    .p-footer .p-footer__sec1 .p-footer__title span:last-child i:first-child:after {
        height: 3.25vw
    }

    .p-footer .p-footer__sec1 .p-footer__nav1 {
        margin-left: 12vw
    }

    .p-footer .p-footer__sec1 .p-footer__nav1 ul li {
        margin-bottom: 3.75vw;
        font-size: 6vw
    }

    .p-footer .p-footer__sec1 .p-footer__nav1 ul li a .cloned {
        display: none
    }

    .p-footer .p-footer__sec2 .p-footer__nav2 {
        margin-bottom: 12vw;
        margin-left: 12vw
    }

    .p-footer .p-footer__sec2 .p-footer__nav2 ul li {
        margin-bottom: 4vw;
        font-size: 3.5vw
    }

    .p-footer .p-footer__sec2 .p-footer__nav2 ul li a .c-icon-arrow-r {
        margin-right: 2vw
    }

    .p-footer .p-footer__sec2 .p-footer__contact {
        margin-bottom: 12.5vw;
        margin-left: 12vw
    }

    .p-footer .p-footer__sec2 .p-footer__contact strong {
        margin-bottom: 3.75vw;
        font-size: 4vw
    }

    .p-footer .p-footer__sec2 .p-footer__contact p {
        margin-bottom: 3.25vw;
        font-size: 3.5vw;
        line-height: 165%;
        letter-spacing: .05em
    }

    .p-footer .p-footer__sec2 .p-footer__contact .c-btn-border {
        margin-top: 5.25vw
    }

    .p-footer .p-footer__sec2 .p-footer__pagetop {
        padding-top: 12.5vw;
        padding-bottom: 11.5vw
    }

    .p-footer .p-footer__sec2 .p-footer__pagetop:after {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: var(--white);
        content: "";
        opacity: .3
    }

    .p-footer .p-footer__sec2 .p-footer__pagetop a {
        width: fit-content;
        margin: 0 auto
    }

    .p-footer .p-footer__sec2 .p-footer__pagetop a:after {
        top: -4vw;
        left: -4vw;
        width: calc(100% + 8vw);
        height: calc(100% + 8vw)
    }

    .p-footer .p-footer__sec2 .p-footer__pagetop span {
        margin-right: 2vw;
        font-size: 3vw
    }

    .p-footer .p-footer__sec2 .p-footer__pagetop .icon {
        width: 2vw
    }

    .p-footer .p-footer__sec2 .p-footer__logo {
        margin: 0 auto;
        text-align: center
    }

    .p-footer .p-footer__sec2 .p-footer__logo a {
        margin: 0 auto
    }

    .p-footer .p-footer__sec2 .p-footer__logo p {
        margin-right: 1.5vw
    }

    .p-footer .p-footer__sec2 .p-footer__logo small {
        margin-top: 4.25vw;
        font-size: 3vw
    }

    .js-mono-color-mask img:nth-of-type(1) {
        position: relative
    }

    .js-mono-color-mask img:nth-of-type(2) {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0
    }

    .p-article {
        padding-top: 36.25vw
    }

    .p-article__section header {
        margin-bottom: 18.25vw
    }

    .p-article__section header h1 {
        width: 92vw;
        margin-right: auto;
        margin-left: auto;
        font-size: 6vw;
        line-height: 160%;
        letter-spacing: .05em
    }

    .p-article__section .p-article__info {
        margin-bottom: 5.5vw;
        gap: 5vw
    }

    .p-article__section .p-article__info__category ul {
        gap: 1.25vw
    }

    .p-article__body {
        width: 92vw;
        margin-right: auto;
        margin-left: auto;
        font-size: 3.5vw;
        line-height: 175%;
        letter-spacing: .05em
    }

    .p-article__body .size-full {
        margin-top: 5vw;
        margin-bottom: 13.75vw
    }

    .p-article__body figure {
        margin-top: 5vw
    }

    .p-article__body figure figcaption {
        margin-top: 2.5vw
    }

    .p-article__body p {
        margin-bottom: 8.75vw
    }

    .p-article__body h1 {
        margin-bottom: 3.75vw;
        font-size: 6.5vw;
        line-height: 165%;
        letter-spacing: .04em
    }

    .p-article__body h2 {
        margin-bottom: 3.75vw;
        font-size: 6vw;
        line-height: 165%;
        letter-spacing: .04em
    }

    .p-article__body h3 {
        margin-bottom: 2.5vw;
        font-size: 5.5vw;
        line-height: 165%;
        letter-spacing: .04em
    }

    .p-article__body h4 {
        margin-bottom: 2.5vw;
        font-size: 5vw;
        line-height: 165%;
        letter-spacing: .04em
    }

    .p-article__body h5 {
        margin-bottom: 2.5vw;
        font-size: 4.5vw;
        line-height: 165%;
        letter-spacing: .04em
    }

    .p-article__body ul,
    .p-article__body ol {
        margin-bottom: 11.25vw;
        margin-left: 1.5em
    }

    .p-article__body a {
        margin-bottom: 7.5vw;
        padding-right: 5vw;
        padding-bottom: 1vw;
        font-size: 3.5vw;
        line-height: 160%;
        letter-spacing: .05em
    }

    .p-article__body a[target=_blank]:after {
        top: 2vw;
        right: .5vw;
        width: 2vw;
        height: 1.75vw
    }

    .p-article__body a:after {
        top: 2vw;
        right: .5vw;
        width: 2.75vw;
        height: 2vw
    }

    .p-article__body .btn-border {
        height: 12.5vw;
        padding: 0 0 0 5vw;
        border-radius: .5vw;
        font-size: 3.5vw;
        line-height: 160%;
        letter-spacing: .05em
    }

    .p-article__body .column2 {
        margin-top: 17.5vw;
        margin-bottom: 17.5vw
    }

    .p-article__body .column2 .column2-1 {
        margin-bottom: 3.75vw
    }

    .p-article__body .grid2x2 {
        column-gap: 1.5vw;
        row-gap: 1.5vw;
        margin-top: 17.5vw;
        margin-bottom: 17.5vw
    }

    .p-article__body .wp-block-table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        display: flex;
        margin: 12.5vw -11.75vw
    }

    .p-article__body .wp-block-table:before,
    .p-article__body .wp-block-table:after {
        flex: 0 0 11.75vw;
        content: ""
    }

    .p-article__body .wp-block-table table {
        flex: 0 0 auto;
        width: max-content;
        min-width: calc(100% - 23.5vw)
    }

    .p-article__body .wp-block-table th,
    .p-article__body .wp-block-table td {
        padding: 1.75vw 3.75vw
    }

    .p-article__body .wp-block-quote,
    .p-article__body blockquote {
        margin-top: 12.5vw;
        margin-bottom: 12.5vw;
        padding: 8.75vw 6.25vw
    }

    .p-article__body .wp-block-quote:before,
    .p-article__body blockquote:before {
        width: 5.75vw;
        height: 5vw
    }

    .p-article__body .wp-block-quote:after,
    .p-article__body blockquote:after {
        width: 5.75vw;
        height: 5vw
    }

    .p-article__body .link-box {
        margin-top: 12.5vw;
        margin-bottom: 12.5vw;
        padding: 10vw 6.25vw
    }

    .p-article__body .link-box .link-box__img {
        margin-bottom: 5.5vw
    }

    .p-article__body .link-box .link-box__txt strong {
        margin-bottom: 4vw;
        font-size: 4vw;
        line-height: 175%;
        letter-spacing: .05em
    }

    .p-article__body .link-box .link-box__txt a {
        font-size: 3vw
    }

    .p-article__body .link-box .link-box__txt a:after {
        top: 1.5vw
    }

    .p-article__pagination {
        width: 92vw;
        margin-top: 20vw;
        margin-right: auto;
        margin-bottom: 25vw;
        margin-left: auto
    }

    .p-article__pagination .p-article__pagination__arrow.is-next a {
        align-items: flex-end
    }

    .p-article__pagination .p-article__pagination__arrow.is-next a .arrow {
        order: 0
    }

    .p-article__pagination .p-article__pagination__arrow.is-next a p {
        order: 1
    }

    .p-article__pagination .p-article__pagination__arrow a {
        flex-direction: column;
        gap: 2vw
    }

    .p-article__pagination .p-article__pagination__arrow a .arrow {
        width: 12.5vw;
        height: 12.5vw;
        margin-bottom: 1.25vw;
        border-radius: .5vw
    }

    .p-article__pagination .p-article__pagination__arrow a .arrow img {
        width: 2.75vw;
        height: 2vw
    }

    .p-article__pagination .p-article__pagination__arrow p {
        font-size: 3vw
    }

    .p-article__pagination .p-article__pagination__list {
        border-radius: .5vw;
        font-size: 3.5vw;
        line-height: 175%;
        letter-spacing: .05em
    }

    .p-article__pagination .p-article__pagination__list a {
        width: 36vw;
        height: 12.5vw
    }

    .p-article__pagination .p-article__pagination__list .icon {
        margin-right: 3vw
    }

    .p-article__pagination .p-article__pagination__list .icon img {
        width: 3vw;
        height: 3vw
    }

    .p-top-kv.-show .num {
        visibility: visible !important;
        opacity: 1 !important;
        transition: all .5s cubic-bezier(.215, .61, .355, 1);
        transition-delay: 2.1s
    }

    .p-top-kv.-show .scroll {
        visibility: visible !important;
        opacity: 1 !important;
        transition: all .5s cubic-bezier(.215, .61, .355, 1);
        transition-delay: 2.6s
    }

    .p-top-kv h2 .catch1 {
        top: 17.75vw;
        right: .25vw
    }

    .p-top-kv h2 .catch1 .line2 {
        margin-top: .2em;
        margin-right: .4em
    }

    .p-top-kv h2 .catch1 .ja1 {
        font-size: 14vw;
        line-height: 115%;
        letter-spacing: .05em
    }

    .p-top-kv h2 .catch1 .ja2 {
        font-size: 14vw;
        line-height: 115%;
        letter-spacing: .03em
    }

    .p-top-kv h2 .catch2 {
        bottom: 14.75vw;
        left: 4vw
    }

    .p-top-kv h2 .catch2 .line1,
    .p-top-kv h2 .catch2 .line2 {
        font-size: 10.875vw;
        letter-spacing: -.016em
    }

    .p-top-kv h2 .catch2 .line3 {
        left: -.01em;
        font-size: 25vw;
        letter-spacing: -.006em
    }

    .p-top-kv h2 .catch2 .line3 i:nth-of-type(1) {
        margin-right: -.05em
    }

    .p-top-kv h2 .catch2 .line3 i:nth-of-type(2) {
        margin-right: -.05em
    }

    .p-top-kv h2 .catch2 .line3 i:nth-of-type(3) {
        margin-right: -.05em
    }

    .p-top-kv h2 .catch2 .line3 i:nth-of-type(4) {
        margin-right: -.05em
    }

    .p-top-kv h2 .catch2 .line3 i:nth-of-type(5) {
        margin-right: -.05em
    }

    .p-top-kv .p-top-kv__stage {
        top: -25svh;
        height: 150vh;
        height: 150svh
    }

    .p-top-kv .p-top-kv__news {
        height: 13.25vw
    }

    .p-top-kv .p-top-kv__news ul {
        width: 100%
    }

    .p-top-kv .p-top-kv__news ul li a:after {
        top: -2vw;
        left: -2vw;
        width: calc(100% + 4vw);
        height: calc(100% + 4vw)
    }

    .p-top-kv .p-top-kv__news ul li a time {
        margin-right: 4.25vw;
        padding-right: 4.25vw;
        font-size: 3.5vw;
        line-height: 160%
    }

    .p-top-kv .p-top-kv__news ul li a time:after {
        width: 1px;
        height: 2.5vw
    }

    .p-top-kv .p-top-kv__news ul li a>div {
        width: 56.5vw;
        overflow: hidden
    }

    .p-top-kv .p-top-kv__news ul li a p {
        padding-right: 1em;
        font-size: 3.5vw;
        line-height: 160%;
        letter-spacing: .06em;
        animation: kf-news-txt-sp 15s linear infinite
    }

    @keyframes kf-news-txt-sp {
        0% {
            transform: translateZ(0)
        }

        to {
            transform: translate3d(-100%, 0, 0)
        }
    }

    .p-top-kv .p-top-kv__news ul li a .c-icon-arrow-r2 {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        margin: auto
    }

    .p-top-kv .p-top-kv__news .num {
        visibility: hidden;
        top: calc(-100svh + 34.5vw);
        left: 0;
        font-size: 3vw;
        opacity: 0
    }

    .p-top-kv .p-top-kv__news .num:after {
        display: none;
        right: -8.75vw;
        width: 1px;
        height: 2.5vw
    }

    .p-top-kv .p-top-kv__news .scroll {
        visibility: hidden;
        top: -5.25vw;
        right: 0;
        font-size: 3vw;
        opacity: 0
    }

    .p-top-kv .p-top-kv__news .scroll a:after {
        top: -4vw;
        left: -4vw;
        width: calc(100% + 8vw);
        height: calc(100% + 8vw)
    }

    .p-top-kv .p-top-kv__news .scroll .icon {
        width: 2vw;
        height: 2vw;
        margin-left: 1.25vw
    }

    .p-top-kv .p-top-kv__banner {
        right: 1em;
        bottom: 20.5vw;
        width: 7.5em
    }

    .p-top-message {
        margin-bottom: 13.25vw
    }

    .p-top-message .p-top-message__inner {
        width: 92vw
    }

    .p-top-message h2 {
        margin-bottom: 6vw;
        padding-top: 27.25vw
    }

    .p-top-message .p-top-message__catch .catch1 {
        font-size: 6.5vw;
        line-height: 160%;
        letter-spacing: .04em
    }

    .p-top-message .p-top-message__catch .catch2 {
        margin-top: 8.75vw;
        font-size: 10.5vw;
        letter-spacing: -.01em
    }

    .p-top-message .p-top-message__catch .catch3 {
        margin-top: 1.25vw;
        font-size: 7vw;
        letter-spacing: .05em
    }

    .p-top-message .p-top-message__catch .catch4 {
        margin-top: 5vw;
        font-size: 4.5vw;
        line-height: 160%;
        letter-spacing: .05em
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper .gallery-preview {
        transition: transform 1.2s cubic-bezier(.77, 0, .175, 1)
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper .gallery-preview__inner {
        opacity: .2
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="0"] .slide-preview .gallery-preview:nth-of-type(1) {
        transform: scale(1.8)
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="0"] .slide-preview .gallery-preview:nth-of-type(1) .color {
        visibility: hidden;
        opacity: 0;
        transition: opacity .5s cubic-bezier(.77, 0, .175, 1), visibility .5s;
        transition-delay: 0s
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="1"] .slide-preview .gallery-preview:nth-of-type(2) {
        transform: scale(1.8)
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="1"] .slide-preview .gallery-preview:nth-of-type(2) .color {
        visibility: hidden;
        opacity: 0;
        transition: opacity .5s cubic-bezier(.77, 0, .175, 1), visibility .5s;
        transition-delay: 0s
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="2"] .slide-preview .gallery-preview:nth-of-type(3) {
        transform: scale(1.8)
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper[data-current-index="2"] .slide-preview .gallery-preview:nth-of-type(3) .color {
        visibility: hidden;
        opacity: 0;
        transition: opacity .5s cubic-bezier(.77, 0, .175, 1), visibility .5s;
        transition-delay: 0s
    }

    .p-top-message__gallery.is-scaleup .slide-wrapper .gallery-thumb .gallery-thumb__item {
        clip-path: inset(100% 0 0 0);
        transition: clip-path .5s cubic-bezier(.19, 1, .22, 1)
    }

    .p-top-message__gallery.is-scaleup .c-bg-paint {
        visibility: hidden;
        opacity: 0;
        transition: opacity 1s cubic-bezier(.165, .84, .44, 1), visibility 1s cubic-bezier(.165, .84, .44, 1)
    }

    .p-top-message__gallery .st-spacer {
        height: 175vh
    }

    .p-top-message__gallery .p-top-message__gallery__inner {
        top: 56vw
    }

    .p-top-message__gallery .slide-wrapper {
        width: 1px;
        height: 1px;
        transition: opacity 1s cubic-bezier(.25, .46, .45, .94)
    }

    .p-top-message__gallery .slide-wrapper[data-current-index="0"] .gallery-preview:nth-of-type(1) .color {
        visibility: visible;
        opacity: 1
    }

    .p-top-message__gallery .slide-wrapper[data-current-index="0"] .gallery-preview:nth-of-type(2) {
        transform: translate3d(87vw, 0, 0)
    }

    .p-top-message__gallery .slide-wrapper[data-current-index="0"] .gallery-preview:nth-of-type(3) {
        transform: translate3d(174vw, 0, 0)
    }

    .p-top-message__gallery .slide-wrapper[data-current-index="1"] .gallery-preview:nth-of-type(1) {
        transform: translate3d(-87vw, 0, 0)
    }

    .p-top-message__gallery .slide-wrapper[data-current-index="1"] .gallery-preview:nth-of-type(2) .color {
        visibility: visible;
        opacity: 1
    }

    .p-top-message__gallery .slide-wrapper[data-current-index="1"] .gallery-preview:nth-of-type(3) {
        transform: translate3d(87vw, 0, 0)
    }

    .p-top-message__gallery .slide-wrapper[data-current-index="2"] .gallery-preview:nth-of-type(1) {
        transform: translate3d(-174vw, 0, 0)
    }

    .p-top-message__gallery .slide-wrapper[data-current-index="2"] .gallery-preview:nth-of-type(2) {
        transform: translate3d(-87vw, 0, 0)
    }

    .p-top-message__gallery .slide-wrapper[data-current-index="2"] .gallery-preview:nth-of-type(3) .color {
        visibility: visible;
        opacity: 1
    }

    .p-top-message__gallery .slide-wrapper .slide-preview {
        width: 82.5vw;
        height: 112vw
    }

    .p-top-message__gallery .slide-wrapper .slide-preview .gallery-preview {
        background-color: #00429e
    }

    .p-top-message__gallery .slide-wrapper .slide-preview .gallery-preview .gallery-preview__inner svg {
        aspect-ratio: .7366071429
    }

    .p-top-message__gallery:not(.is-fixed) .slide-wrapper[data-current-index="0"] .gallery-preview:nth-of-type(1) .color {
        visibility: hidden !important;
        opacity: 0 !important
    }

    .p-top-message__gallery:not(.is-fixed) .slide-wrapper[data-current-index="1"] .gallery-preview:nth-of-type(1) .color {
        visibility: hidden !important;
        opacity: 0 !important
    }

    .p-top-message__gallery:not(.is-fixed) .slide-wrapper[data-current-index="2"] .gallery-preview:nth-of-type(1) .color {
        visibility: hidden !important;
        opacity: 0 !important
    }

    .p-top-message__gallery .gallery-thumb {
        z-index: 5;
        top: 61vw;
        left: -23.5vw;
        column-gap: 2.5vw;
        width: 47vw
    }

    .p-top-message__gallery .gallery-thumb .gallery-thumb__item {
        width: 14vw
    }

    .p-top-message__gallery .gallery-thumb .gallery-thumb__item .gallery-thumb__item__inner .progress {
        bottom: -.75vw;
        height: .5vw
    }

    .p-top-strategy {
        padding-top: 14vw;
        padding-bottom: 12.5vw
    }

    .p-top-strategy .p-top-strategy__inner {
        width: 92vw
    }

    .p-top-strategy .c-section-head__column2 {
        margin-bottom: 6.5vw
    }

    .p-top-strategy .p-top-strategy__board .board-item {
        margin-bottom: 4.25vw;
        padding: 5.75vw 6.25vw 7.5vw
    }

    .p-top-strategy .p-top-strategy__board .board-item:last-of-type {
        margin-bottom: 0
    }

    .p-top-strategy .p-top-strategy__board .board-item .board-item__txt .title-en {
        margin-bottom: 4vw
    }

    .p-top-strategy .p-top-strategy__board .board-item .board-item__txt .title-en span:nth-of-type(1) {
        top: -1.375vw;
        margin-right: 1vw;
        font-size: 2.75vw
    }

    .p-top-strategy .p-top-strategy__board .board-item .board-item__txt .title-en span:nth-of-type(2) {
        font-size: 4.5vw
    }

    .p-top-strategy .p-top-strategy__board .board-item .board-item__txt .catch {
        margin-bottom: 2.5vw
    }

    .p-top-strategy .p-top-strategy__board .board-item .board-item__img {
        width: 50vw;
        margin: 0 auto 6vw
    }

    .p-top-strategy .p-top-strategy__board .board-item .c-btn-border {
        margin: 6vw auto 0
    }

    .p-top-figure {
        padding-top: 22.5vw;
        padding-bottom: 134.25vw
    }

    .p-top-figure .p-top-figure__inner {
        width: 92vw
    }

    .p-top-figure .p-top-figure__txt__wrapper {
        padding-bottom: 10vw
    }

    .p-top-figure .p-top-figure__txt__service {
        margin-top: 1.875em;
        padding-top: 1.5625em
    }

    .p-top-figure .p-top-figure__txt__service>p {
        margin-top: .75vw
    }

    .p-top-figure .p-top-figure__txt__service ul {
        justify-content: space-between;
        width: 68.4782608696%
    }

    .p-top-figure .p-top-figure__txt__service ul li {
        width: 42.4603174603%;
        margin-bottom: 1.25vw
    }

    .p-top-figure .p-top-figure__graph.graph1-sp {
        margin-bottom: 17.5vw
    }

    .p-top-figure .p-top-figure__graph.graph1-sp.-motion-blue-sp .graph1 {
        opacity: .06;
        transition: opacity .6s cubic-bezier(.165, .84, .44, 1)
    }

    .p-top-figure .p-top-figure__graph.graph1-sp.-motion-blue-sp .graph1 .graph1__circle-outer .inner,
    .p-top-figure .p-top-figure__graph.graph1-sp.-motion-blue-sp .graph1 .graph1__circle-center .inner {
        opacity: 0;
        transition: opacity .42s cubic-bezier(.165, .84, .44, 1)
    }

    .p-top-figure .p-top-figure__graph.graph1-sp.-motion-blue-sp .graph1 .graph1__circle-outer:before {
        visibility: visible
    }

    .p-top-figure .p-top-figure__graph .graph1 {
        position: relative;
        width: 92vw;
        height: 97.25vw
    }

    .p-top-figure .p-top-figure__graph .graph1 .graph1__circle-center .txt strong {
        margin-bottom: .45em;
        font-size: 3.5vw
    }

    .p-top-figure .p-top-figure__graph .graph1 .graph1__circle-center .txt p {
        font-size: 2vw;
        letter-spacing: .12em
    }

    .p-top-figure .p-top-figure__graph .graph1 .graph1__circle-outer p {
        font-size: 3vw
    }

    .p-top-figure .p-top-figure__graph .graph2 {
        position: absolute;
        top: 0;
        bottom: 0;
        left: -3.0303030303%;
        width: 106.0606060606%;
        margin: auto
    }

    .p-top-figure .p-top-figure__graph .graph2 .graph2__circle-center p {
        font-size: 3vw;
        letter-spacing: .05em
    }

    .p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer .inner1 {
        border: 1.125vw solid var(--white);
        background-size: 22.5vw auto
    }

    .p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer .inner2 {
        border: 1.25vw solid var(--blue)
    }

    .p-top-figure .p-top-figure__graph .graph2 .graph2__circle-outer .inner2 p {
        font-size: 3vw;
        letter-spacing: .05em
    }

    .p-top-cases .p-top-cases__head {
        margin-bottom: 4.5vw;
        margin-left: 4vw
    }

    .p-top-cases .p-top-cases__head .p-top-cases__pagination {
        display: none
    }

    .p-top-cases .p-top-cases__head .p-top-cases__pagination>div {
        width: 1.5vw;
        height: 1.5vw
    }

    .p-top-cases .p-top-cases__head .p-top-cases__pagination>div:after {
        top: -1.5vw;
        left: -.75vw;
        width: calc(100% + 1.5vw);
        height: calc(100% + 3vw)
    }

    .p-top-cases .p-top-cases__slide .board-item {
        margin-bottom: 5vw;
        padding: 9vw 4vw 10vw
    }

    .p-top-cases .p-top-cases__slide .board-item:last-of-type {
        margin-bottom: 0
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .title {
        margin-bottom: 6vw
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .title span:nth-of-type(1) {
        margin-right: 1.5vw;
        font-size: 7.5vw
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .title span:nth-of-type(2) i:nth-of-type(1) {
        margin-right: 1.25vw;
        font-size: 7.5vw
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .title span:nth-of-type(2) i:nth-of-type(2) {
        font-size: 5vw
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .title span:nth-of-type(3) {
        margin-left: 4.5vw;
        padding-left: 13.75vw;
        font-size: 3.5vw;
        letter-spacing: .05em
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .title span:nth-of-type(3):before {
        width: 10vw;
        height: 1px
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .catch {
        margin-top: 5.5vw;
        margin-bottom: 2.5vw
    }

    .p-top-cases .p-top-cases__slide .board-item .board-item__txt .desc {
        margin-bottom: 6.5vw;
        font-size: 3.25vw;
        line-height: 140%;
        letter-spacing: .05em
    }

    .p-top-quality {
        padding-top: 22vw
    }

    .p-top-quality .p-top-quality__inner {
        width: 92vw
    }

    .p-top-quality .c-heading-en {
        margin-bottom: 5.75vw
    }

    .p-top-quality .p-top-quality__column1 {
        margin-bottom: 19vw
    }

    .p-top-quality .p-top-quality__column1 .column1-1 {
        margin-bottom: 7.5vw
    }

    .p-top-quality .p-top-quality__column1 .column1-1 p:nth-of-type(1) {
        margin-bottom: 1.25vw
    }

    .p-top-quality .p-top-quality__column1 .column1-1 p:nth-of-type(2) {
        margin-bottom: .75vw
    }

    .p-top-quality .p-top-quality__column1 .column1-1 p:nth-of-type(3) {
        margin-bottom: 6vw
    }

    .p-top-quality .p-top-quality__column1 .column1-1 p:nth-of-type(4) {
        margin-bottom: 6.75vw
    }

    .p-top-quality .p-top-quality__column1 .graph .line {
        --b: .2em
    }

    .p-top-quality .p-top-quality__column1 .graph .center strong {
        margin-bottom: .3em;
        font-size: 3vw;
        letter-spacing: .05em
    }

    .p-top-quality .p-top-quality__column1 .graph .circle strong {
        margin-bottom: .75em;
        font-size: 4.25vw;
        letter-spacing: .05em
    }

    .p-top-quality .p-top-quality__column1 .graph .circle p {
        margin-bottom: .6em;
        font-size: 2.5vw;
        letter-spacing: .05em
    }

    .p-top-quality .p-top-quality__column2 {
        margin-bottom: 20vw
    }

    .p-top-quality .p-top-quality__column2:last-of-type {
        margin-bottom: 0
    }

    .p-top-quality .p-top-quality__column2 .column2-1 {
        margin-bottom: 2.5vw
    }

    .p-top-quality .p-top-quality__column2 .column2-1-1 {
        margin-top: 2.5vw
    }

    .p-top-quality .p-top-quality__column2 .column2-1-1 p:nth-of-type(1) {
        width: 41.25vw;
        margin-bottom: 6vw
    }

    .p-top-quality .p-top-quality__column2 .column2-1-2 {
        position: absolute;
        top: -5vw;
        right: 0;
        width: 46vw
    }

    .p-top-quality .p-top-quality__column2 .desc {
        margin-bottom: 5.75vw
    }

    .p-top-interview {
        padding-top: 14.5vw
    }

    .p-top-interview .c-section-head {
        width: 92vw
    }

    .p-top-interview .c-section-head .c-section-head__column2 {
        margin-bottom: 8vw
    }

    .p-top-interview .c-section-head .c-heading-en {
        margin-bottom: 2.5vw
    }

    .p-top-interview .p-top-interview__list .swiper {
        padding-bottom: 7.5vw
    }

    .p-top-interview .p-top-interview__list .swiper-slide {
        width: 90vw
    }

    .p-top-interview .p-top-interview__list .list-item {
        text-align: center
    }

    .p-top-interview .p-top-interview__list .list-item__img {
        width: 52.5vw;
        margin: 0 auto
    }

    .p-top-interview .p-top-interview__list .list-item__txt .title {
        margin-top: 5.75vw;
        margin-bottom: 3.25vw
    }

    .p-top-interview .p-top-interview__list .list-item__txt .title.-small {
        letter-spacing: -.03em
    }

    .p-top-interview .p-top-interview__list .list-item__txt .name-ja {
        margin-bottom: 2.5vw
    }

    .p-top-interview .p-top-interview__list .list-item__txt .name-en {
        margin-bottom: 3.75vw
    }

    .p-top-interview .p-top-interview__list .list-item__txt .join {
        margin-bottom: 1.5vw
    }

    .p-top-interview .p-top-interview__list .list-item__txt .position {
        margin-bottom: 5.25vw
    }

    .p-top-interview .p-top-interview__list .c-btn-border {
        margin: 0 auto
    }

    .p-top-interview .p-top-interview__ctrl {
        width: 92vw
    }

    .p-top-interview .p-top-interview__ctrl {
        padding-top: 5vw
    }

    .p-top-interview .p-top-interview__ctrl .ctrl-button {
        width: 7.5vw;
        margin-right: 1.5vw;
        border: 1px solid rgba(255, 255, 255, .65);
        border-radius: 1.25vw
    }

    .p-top-interview .p-top-interview__ctrl .ctrl-button-next {
        width: 7.5vw;
        margin-right: 3.75vw
    }

    .p-top-interview .p-top-interview__ctrl .ctrl-play-pause {
        width: 7.5vw
    }

    .p-top-interview .p-top-interview__ctrl .swiper-pagination {
        top: 2.5vw;
        gap: .75vw
    }

    .p-top-interview .p-top-interview__ctrl .swiper-pagination .swiper-pagination-bullet {
        width: 3vw;
        height: 3vw
    }

    .p-top-interview .p-top-interview__ctrl .swiper-pagination .swiper-pagination-bullet:after {
        top: -1vw;
        left: 0vw;
        width: calc(100% + 0vw);
        height: calc(100% + 2vw)
    }

    .p-top-interview .p-top-interview__drag {
        display: none
    }

    .p-top-career {
        margin-bottom: 26.25vw;
        padding-top: 27.5vw
    }

    .p-top-career .p-top-career__inner {
        width: 92vw
    }

    .p-top-career .c-section-head {
        margin-bottom: 10vw
    }

    .p-top-career .c-section-head .c-heading-en {
        margin-bottom: 2.5vw
    }

    .p-top-career .p-top-career__list1 {
        margin-bottom: 14.5vw
    }

    .p-top-career .p-top-career__list1 .list-item {
        margin-bottom: 10vw
    }

    .p-top-career .p-top-career__list1 .list-item:nth-of-type(3),
    .p-top-career .p-top-career__list1 .list-item:nth-of-type(4) {
        padding-top: 6vw
    }

    .p-top-career .p-top-career__list1 .list-item:nth-of-type(3):before,
    .p-top-career .p-top-career__list1 .list-item:nth-of-type(4):before {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: .5vw;
        background-color: #d9d9d9;
        content: "";
        opacity: .3
    }

    .p-top-career .p-top-career__list1 .list-item__img {
        margin-bottom: 5.5vw
    }

    .p-top-career .p-top-career__list1 .list-item__title {
        margin-bottom: 2vw
    }

    .p-top-career .p-top-career__list2 .list-item {
        margin-bottom: 6vw
    }

    .p-top-career .p-top-career__list2 .list-item__img {
        width: 10.5vw
    }

    .p-top-career .p-top-career__list2 .list-item__txt {
        width: 76vw
    }

    .p-top-career .p-top-career__list2 .c-link-small,.p-top-career .p-top-career__list1 .c-link-small {
        margin-bottom: 3.5vw
    }

    .p-top-career .p-top-career__list2 .list-item__title {
        margin-top: -1.75vw;
        margin-bottom: .3125em
    }

    .p-top-career .p-top-career__list2 .list-item__desc {
        margin-bottom: .75em
    }

    .p-top-wide-image2 {
        margin-bottom: 6.25em
    }

    .p-top-wide-image2 .p-top-wide-image2__img {
        width: 92vw
    }

    .p-top-wide-image2 .p-top-wide-image2__img {
        aspect-ratio: 368/368
    }

    .p-top-wide-image2 .p-top-wide-image2__img .wrapper {
        top: 0%;
        left: 0;
        height: 110%
    }

    .p-top-wide-image2 .p-top-wide-image2__img .wrapper .js-mono-color-mask {
        position: relative;
        width: 100%;
        height: 100%
    }

    .p-top-wide-image2 .p-top-wide-image2__img .wrapper .js-mono-color-mask img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 50% 50%
    }

    .p-top-wide-image2 .p-top-wide-image2__catch {
        bottom: -.4em;
        font-size: 30vw;
        letter-spacing: -.01em
    }

    .p-top-wide-image2__link {
        margin-top: 26.25vw;
        gap: 5vw
    }

    .p-top-entry .p-top-entry__inner {
        width: 92vw;
        margin-right: auto;
        margin-left: auto;
        padding: 15vw 8vw
    }

    .p-top-entry .p-top-entry__banner1 {
        margin-bottom: 7.5vw
    }

    .p-top-entry .p-top-entry__banner1 a:before {
        border-radius: 1.5vw
    }

    .p-top-entry .p-top-entry__banner1 a {
        padding: 5vw 2.5vw 2.5vw
    }

    .p-top-entry .p-top-entry__banner1 .txt {
        margin-bottom: 5.75vw;
        margin-left: 3.75vw
    }

    .p-top-entry .p-top-entry__banner1 .txt p:nth-of-type(1) {
        margin-bottom: 1vw
    }

    .p-top-entry .p-top-entry__banner1 .img {
        clip-path: inset(0 round 1vw)
    }

    .p-top-entry .p-top-entry__banner1 .c-icon-blank {
        top: 3.75vw;
        right: 3vw;
        width: 2.5vw;
        height: 2vw
    }

    .p-top-entry .p-top-entry__banner2 {
        margin-bottom: 14vw
    }

    .p-top-entry .p-top-entry__banner2 a:before {
        border-radius: 1.5vw
    }

    .p-top-entry .p-top-entry__banner2 a {
        padding: 5vw 2.5vw 2.5vw
    }

    .p-top-entry .p-top-entry__banner2 .txt {
        margin-bottom: 2.5vw;
        margin-left: 3.75vw
    }

    .p-top-entry .p-top-entry__banner2 .txt p:nth-of-type(1) {
        margin-bottom: .5vw
    }

    .p-top-entry .p-top-entry__banner2 .c-icon-blank {
        top: 3.75vw;
        right: 3vw;
        width: 2.5vw;
        height: 2vw
    }

    .p-top-entry .p-top-entry__list {
        margin-bottom: 14.5vw
    }

    .p-top-entry .p-top-entry__list .list-title {
        margin-bottom: 5.5vw
    }

    .p-top-entry .p-top-entry__list .list-title p:nth-of-type(1) {
        margin-bottom: 1.25vw
    }

    .p-top-entry .p-top-entry__list ul li {
        margin-bottom: 3vw
    }

    .p-top-entry .p-top-entry__list ul li a {
        padding: 3.5vw 0
    }

    .p-top-entry .p-top-entry__list ul li .c-icon-blank {
        right: 0;
        width: 2.5vw;
        height: 2vw
    }

    .blue-bg-wrapper {
        background-image: url(../img/common/bg_noise_sp.webp);
        background-size: 50px auto
    }
}

@media screen and (max-width: 375px) and (max-height: 553px) {
    .p-top-interview .p-top-interview__list .list-item__img {
        width: 42.5vw;
        margin: 0 auto
    }
}

@media (any-hover: hover) {
    .u-hover-alpha:hover {
        opacity: .5
    }

    .u-hover-scaleup:hover img {
        transform: scale(1.1)
    }

    .c-btn-border.-blue a:hover {
        color: var(--white)
    }

    .c-btn-border.-blue a:hover .c-icon-blank g {
        fill: var(--white)
    }

    .c-btn-border.-blue a:hover .c-icon-arrow-r g {
        fill: var(--white)
    }

    .c-btn-border.-sns a:hover .c-icon-sns g {
        fill: var(--blue)
    }

    .c-btn-border a:hover:before {
        transform: scaleX(1);
        transform-origin: 0% 50%;
        transition: transform .5s cubic-bezier(.19, 1, .22, 1)
    }

    .c-btn-border a:hover {
        color: var(--blue)
    }

    .c-btn-border a:hover .c-icon-blank g {
        fill: var(--blue)
    }

    .c-btn-border a:hover .c-icon-arrow-r g {
        fill: var(--blue)
    }

    .c-link-small:hover .c-icon-arrow-r {
        transform: translate3d(50%, 0, 0)
    }

    .c-btn-arrow-group .btn-arrow:hover:before {
        transform: scale(1);
        transition: transform .4s cubic-bezier(.23, 1, .32, 1)
    }

    .c-btn-arrow-group .btn-arrow:hover svg path,
    .c-btn-arrow-group .btn-arrow:hover svg g {
        fill: var(--blue)
    }

    .p-header .p-header__nav ul li a:hover .en .ori {
        transform: translate3d(0, -100%, 0)
    }

    .p-header .p-header__nav ul li a:hover .en .cloned {
        transform: translateZ(0)
    }

    .p-footer .p-footer__sec1 .p-footer__nav1 ul li a:hover .ori {
        transform: translate3d(0, -120%, 0)
    }

    .p-footer .p-footer__sec1 .p-footer__nav1 ul li a:hover .cloned {
        transform: translateZ(0)
    }

    .p-footer .p-footer__sec2 .p-footer__nav2 ul li a:hover .c-icon-arrow-r {
        transform: translate3d(50%, 0, 0)
    }

    .p-footer .p-footer__sec2 .p-footer__pagetop a:hover .icon img {
        animation: kf-arrow .35s linear forwards
    }

    .p-footer .p-footer__sec2 .p-footer__logo a:hover {
        opacity: .65
    }

    .p-article__body a:hover:before {
        animation: kf-hover-underline .6s linear forwards
    }

    .p-article__body .btn-border:hover:before {
        transform: scaleX(1);
        transform-origin: 0% 50%;
        transition: transform .5s cubic-bezier(.19, 1, .22, 1)
    }

    .p-article__body .btn-border:hover {
        color: var(--blue)
    }

    .p-article__body .btn-border:hover:after {
        background-image: url(../img/common/target_self_blue.svg)
    }

    .p-article__body .btn-border:hover[target=_blank]:after {
        background-image: url(../img/common/target_blank_blue.svg)
    }

    .p-top-kv .p-top-kv__news ul li a:hover .c-icon-arrow-r2 {
        transform: scale(1.2)
    }

    .p-top-kv .p-top-kv__news ul li a:hover p:after {
        transform: scaleX(1);
        transform-origin: 0% 50%;
        transition: transform .5s cubic-bezier(.19, 1, .22, 1)
    }

    .p-top-kv .p-top-kv__news .scroll a:hover .icon img {
        animation: kf-arrow-kv .35s linear forwards
    }

    .p-top-kv .p-top-kv__banner a:hover {
        transform: scale(1.08)
    }

    .p-top-message__gallery .gallery-thumb .gallery-thumb__item .gallery-thumb__item__inner:hover .mono {
        opacity: 1
    }

    .p-top-cases .p-top-cases__head .p-top-cases__pagination>div:hover {
        background-color: var(--orange)
    }

    .p-top-interview .p-top-interview__ctrl .ctrl-button-prev:hover,
    .p-top-interview .p-top-interview__ctrl .ctrl-button-next:hover,
    .p-top-interview .p-top-interview__ctrl .ctrl-play-pause:hover {
        background-color: #ffffff4d
    }

    .p-top-interview .p-top-interview__ctrl .swiper-pagination .swiper-pagination-bullet:hover:before {
        background-color: var(--orange)
    }

    .p-top-entry .p-top-entry__banner1 a:hover:before {
        transform: scaleX(1.02) scaleY(1.05)
    }

    .p-top-entry .p-top-entry__banner1 a:hover .img {
        transform: scale(1.03)
    }

    .p-top-entry .p-top-entry__banner1 a:hover .img img {
        transform: scale(1.05)
    }

    .p-top-entry .p-top-entry__banner1 a:hover .img picture:nth-of-type(2) {
        visibility: visible;
        opacity: 1
    }

    .p-top-entry .p-top-entry__banner1 a:hover .txt {
        transform: translate3d(-1%, 0, 0)
    }

    .p-top-entry .p-top-entry__banner1 a:hover .c-icon-blank {
        transform: translate3d(100%, -40%, 0)
    }

    .p-top-entry .p-top-entry__banner2 a:hover:before {
        transform: scaleX(1.02) scaleY(1.05)
    }

    .p-top-entry .p-top-entry__banner2 a:hover .img {
        transform: scale(1.03)
    }

    .p-top-entry .p-top-entry__banner2 a:hover .img img {
        transform: scale(1.05)
    }

    .p-top-entry .p-top-entry__banner2 a:hover .img picture:nth-of-type(2) {
        visibility: visible;
        opacity: 1
    }

    .p-top-entry .p-top-entry__banner2 a:hover .txt {
        transform: translate3d(-1%, 0, 0)
    }

    .p-top-entry .p-top-entry__banner2 a:hover .c-icon-blank {
        transform: translate3d(100%, -40%, 0)
    }

    .p-top-entry .p-top-entry__list ul li a:hover {
        color: var(--white)
    }

    .p-top-entry .p-top-entry__list ul li a:hover:before {
        visibility: visible;
        transform: scaleX(1);
        transform-origin: 0% 50%;
        transition: transform .6s cubic-bezier(.19, 1, .22, 1)
    }

    .p-top-entry .p-top-entry__list ul li a:hover p {
        transform: translate3d(1em, 0, 0);
        transition: transform .3s cubic-bezier(.165, .84, .44, 1)
    }

    .p-top-entry .p-top-entry__list ul li a:hover .c-icon-blank g {
        fill: var(--white);
        transition: fill .1s .3s cubic-bezier(.215, .61, .355, 1)
    }
}

@font-face {
    font-style: normal;
    font-weight: 400;
    src: url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);
    font-family: swiper-icons
}

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

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

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

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

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

.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 {
    display: block;
    position: relative;
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    transition-property: transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    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-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d
}

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

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

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

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

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

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

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

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

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

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

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
    width: var(--swiper-centered-offset-after);
    height: 100%;
    min-height: 1px
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

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

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

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

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

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

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

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

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.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)
    }
}

/* ----------------------------------------
  p-top-entry__news
---------------------------------------- */

.c-hash-entry {
  display: block;
  width: fit-content;
  border: 1px solid var(--black);
  background-color: transparent;
  color: var(--black);
  font-style: normal;
  font-weight: 500;
  font-family: Albert Sans, MFW-PA1GothicStdN-Medium, sans-serif;
  font-optical-sizing: auto;
  transition: background-color .3s, color .3s;
}

.p-top-entry__news {
  color: var(--black);
}

.p-top-entry__news-btn {
  display: inline-flex;
  align-items: center;
  gap: .75em;
  overflow: hidden;
  background-color: var(--blue);
  color: var(--white);
  text-decoration: none;
}

.p-top-entry__news-btn .arrow {
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}

.p-top-entry__news-btn .arrow svg path {
  fill: #fff;
}

.p-top-entry__news .news-item {
  position: relative;
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid rgb(230, 230, 230);
}

.p-top-entry__news .news-item:last-of-type {
  border-bottom: none;
}

.p-top-entry__news .news-item__overlay {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-top-entry__news .news-item__img {
  aspect-ratio: 120 / 80;
  overflow: hidden;
  flex-shrink: 0;
}

.p-top-entry__news .news-item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.165, .84, .44, 1);
}

.p-top-entry__news .news-item__meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.p-top-entry__news .news-item__hash {
  display: flex;
  flex-wrap: wrap;
}

.p-top-entry__news .news-item .c-hash-entry {
  z-index: 2;
  position: relative;
}

.p-top-entry__news .news-item time {
  font-style: normal;
  font-weight: 600;
  font-family: Albert Sans, sans-serif;
  font-optical-sizing: auto;
  white-space: nowrap;
}

.p-top-entry__news .news-item__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 175%;
  letter-spacing: .05em;
}

/* PC */
@media screen and (min-width: 768px) {
  .p-top-entry__news {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }

  .p-top-entry__news .news-head {
    width: 27.7777777778%;
    margin-top: 1.125em;
  }

  .p-top-entry__news .news-head .en-sans-sb-26 {
    margin-bottom: .3125em;
  }

  .p-top-entry__news-btn {
    margin-top: 1.5em;
    padding: .75em 1.5em;
    border-radius: .125rem;
    font-size: .875rem;
  }

  .p-top-entry__news-btn .arrow {
    width: .6875rem;
  }

  .p-top-entry__news .news-list {
    width: 69.4444444444%;
  }

  .p-top-entry__news .news-item {
    padding: 1.5rem 0;
  }

  .p-top-entry__news .news-item__img {
    width: 11.9402985075%;
  }

  .p-top-entry__news .news-item__txt {
    flex: 1;
    padding-left: 1.25rem;
  }

  .p-top-entry__news .news-item__hash {
    gap: .3125rem;
  }

  .p-top-entry__news .news-item time {
    margin-top: .1875rem;
    font-size: .75rem;
  }

  .p-top-entry__news .news-item__title {
    margin-top: .5625rem;
    font-size: 1rem;
  }

  .c-hash-entry {
    padding: .3em .4em;
    border-radius: .125rem;
    font-size: .75rem;
    letter-spacing: .04em;
  }
}

/* SP */
@media screen and (max-width: 767px) {
  .p-top-entry__news .news-head {
    margin-bottom: 0.5vw;
  }

  .p-top-entry__news .news-head .en-sans-sb-26 {
    margin-bottom: 1.25vw;
  }

  .p-top-entry__news .news-head .p-top-entry__news-btn {
    display: none;
  }

  .p-top-entry__news .u-show-sp .p-top-entry__news-btn {
    margin-top: 0;
  }

  .p-top-entry__news-btn {
    margin-top: 4vw;
    padding: 3vw 5vw;
    border-radius: .5vw;
    font-size: 3.5vw;
  }

  .p-top-entry__news-btn .arrow {
    width: 2.75vw;
  }

  .p-top-entry__news .news-item {
    padding: 5vw 0;
  }

  .p-top-entry__news .news-item__img {
    width: 26.25vw;
  }

  .p-top-entry__news .news-item__txt {
    flex: 1;
    padding-left: 3vw;
  }

  .p-top-entry__news .news-item__hash {
    gap: 1vw;
  }

  .p-top-entry__news .news-item time {
    margin-top: 1vw;
    font-size: 3vw;
  }

  .p-top-entry__news .news-item__title {
    margin-top: 2vw;
    font-size: 3.5vw;
  }

  .c-hash-entry {
    padding: .3em .45em;
    border-radius: .5vw;
    font-size: 3vw;
  }
}

/* Hover */
@media (any-hover: hover) {
  .p-top-entry__news .news-item:hover img {
    transform: scale(1.2);
  }

  .p-top-entry__news-btn:hover .arrow svg {
    animation: kf-hover-arrow-horizontal .6s linear forwards;
  }

  .c-hash-entry:hover {
    background-color: var(--black);
    color: var(--white);
  }
}

/*$vite$:1*/
