@font-face {
    font-family: holland;
    src: url(../fonts/holland.ttf)
}

body {
    font-family: Noto Sans JP, sans-serif;
    line-height: 1.43
}

body main {
    overflow-x: clip
}

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

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

body {
    margin: 0
}

main {
    display: block
}

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

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

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

dt {
    font-weight: 700
}

dd {
    margin-left: 0
}

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

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

address {
    font-style: inherit
}

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

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

b,
strong {
    font-weight: bolder
}

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

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

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

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

[type=checkbox] {
    -webkit-appearance: checkbox;
    appearance: checkbox
}

[type=radio] {
    -webkit-appearance: radio;
    appearance: radio
}

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

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

:-moz-focusring {
    outline: auto
}

select:disabled {
    opacity: inherit
}

fieldset,
option {
    padding: 0
}

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

legend {
    padding: 0
}

progress {
    vertical-align: initial
}

textarea {
    overflow: auto
}

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

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

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

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

label[for] {
    cursor: pointer
}

details {
    display: block
}

summary {
    display: list-item
}

[contenteditable]:focus {
    outline: auto
}

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

caption {
    text-align: left
}

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

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

body {
    color: #222;
    font-weight: 400;
    letter-spacing: .04em;
    overflow-x: hidden
}

body .js-scroll-fade {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity .7s, transform .7s
}

body .js-scroll-fade.is-add-visible,
body .js-scroll-fade.is-on,
body .js-scroll-fade.is-visible {
    opacity: 1;
    transform: translateY(0)
}

.c-footer {
    background-color: #fff;
    padding: 15.7333333333vw 0 7.7333333333vw
}

@media (min-width:52.1875em) {
    .c-footer {
        padding: 4.0277777778vw 0 3.4722222222vw
    }
}

@media (min-width:90em) {
    .c-footer {
        padding: 58px 0 50px
    }
}

.c-footer__inner {
    margin: 0 auto;
    max-width: 90.6666666667vw;
    position: relative
}

@media (min-width:52.1875em) {
    .c-footer__inner {
        max-width: 88.75vw
    }
}

.c-footer__inner .c-footer__contents {
    display: flex;
    flex-direction: column;
    margin-bottom: 11.1805555556vw
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer__contents {
        align-items: flex-start;
        flex-direction: row;
        justify-content: space-between;
        margin-bottom: .8333333333vw
    }
}

@media (min-width:90em) {
    .c-footer__inner .c-footer__contents {
        margin-bottom: 12px
    }
}

.c-footer__inner .c-footer__contents .c-footer__logo {
    margin-bottom: 19.2vw;
    width: 42.9333333333vw
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer__contents .c-footer__logo {
        margin-bottom: 0;
        width: 11.1805555556vw
    }
}

@media (min-width:90em) {
    .c-footer__inner .c-footer__contents .c-footer__logo {
        width: 161px
    }
}

.c-footer__inner .c-footer__contents .c-footer__logo a {
    display: block
}

.c-footer__inner .c-footer__contents .c-footer__logo a img {
    height: auto;
    width: 100%
}

.c-footer__inner .c-footer__contents .c-footer-navigation {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 6.4vw 0;
    justify-content: space-between
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer__contents .c-footer-navigation {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 2.7777777778vw;
        justify-content: flex-end
    }
}

@media (min-width:90em) {
    .c-footer__inner .c-footer__contents .c-footer-navigation {
        gap: 40px
    }
}

.c-footer__inner .c-footer__contents .c-footer-navigation>li {
    max-width: 64.7249190939%;
    min-width: 34.9514563107%
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer__contents .c-footer-navigation>li {
        max-width: none;
        min-width: auto
    }
}

.c-footer__inner .c-footer__contents .c-footer-navigation>li .c-footer-navigation__parent span {
    color: #b80016;
    font-size: 4.8vw;
    font-weight: 700;
    letter-spacing: .08em
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer__contents .c-footer-navigation>li .c-footer-navigation__parent span {
        font-size: 1.25vw
    }
}

@media (min-width:90em) {
    .c-footer__inner .c-footer__contents .c-footer-navigation>li .c-footer-navigation__parent span {
        font-size: 18px
    }
}

.c-footer__inner .c-footer__contents .c-footer-navigation>li .c-footer-navigation__child {
    margin-top: 3.4666666667vw
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer__contents .c-footer-navigation>li .c-footer-navigation__child {
        margin-top: 1.3888888889vw
    }
}

@media (min-width:90em) {
    .c-footer__inner .c-footer__contents .c-footer-navigation>li .c-footer-navigation__child {
        margin-top: 20px
    }
}

.c-footer__inner .c-footer__contents .c-footer-navigation>li .c-footer-navigation__child li {
    font-size: 3.4666666667vw;
    font-weight: 400;
    letter-spacing: .04em;
    line-height: 1.7;
    white-space: nowrap
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer__contents .c-footer-navigation>li .c-footer-navigation__child li {
        font-size: .9027777778vw;
        transition: opacity .3s
    }

    .c-footer__inner .c-footer__contents .c-footer-navigation>li .c-footer-navigation__child li:hover {
        opacity: .6
    }
}

@media (min-width:90em) {
    .c-footer__inner .c-footer__contents .c-footer-navigation>li .c-footer-navigation__child li {
        font-size: 13px
    }
}

.c-footer__inner .c-footer__contents .c-footer-navigation>li .c-footer-navigation__child li a {
    font-size: 3.4666666667vw;
    font-weight: 400;
    letter-spacing: .04em;
    line-height: 1.7
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer__contents .c-footer-navigation>li .c-footer-navigation__child li a {
        font-size: .9027777778vw;
        transition: opacity .3s
    }

    .c-footer__inner .c-footer__contents .c-footer-navigation>li .c-footer-navigation__child li a:hover {
        opacity: .6
    }
}

@media (min-width:90em) {
    .c-footer__inner .c-footer__contents .c-footer-navigation>li .c-footer-navigation__child li a {
        font-size: 13px
    }
}

.c-footer__inner .c-footer-other {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 14.9333333333vw;
    justify-content: space-between
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer-other {
        align-items: flex-end;
        flex-direction: row;
        gap: 0;
        margin-top: 0
    }
}

.c-footer__inner .c-footer-other .c-footer-other__menu li {
    font-size: 3.4666666667vw;
    font-weight: 400;
    letter-spacing: .04em;
    line-height: 1.7
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer-other .c-footer-other__menu li {
        font-size: .9027777778vw;
        transition: opacity .3s
    }

    .c-footer__inner .c-footer-other .c-footer-other__menu li:hover {
        opacity: .6
    }
}

@media (min-width:90em) {
    .c-footer__inner .c-footer-other .c-footer-other__menu li {
        font-size: 13px
    }
}

.c-footer__inner .c-footer-other .c-footer-other__menu li a {
    font-size: 3.4666666667vw;
    font-weight: 400;
    letter-spacing: .04em;
    line-height: 1.7
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer-other .c-footer-other__menu li a {
        font-size: .9027777778vw;
        transition: opacity .3s
    }

    .c-footer__inner .c-footer-other .c-footer-other__menu li a:hover {
        opacity: .6
    }
}

@media (min-width:90em) {
    .c-footer__inner .c-footer-other .c-footer-other__menu li a {
        font-size: 13px
    }
}

.c-footer__inner .c-footer-other .c-footer-other__cr {
    font-size: 2.9333333333vw;
    width: 100%
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer-other .c-footer-other__cr {
        font-size: .9722222222vw;
        width: auto
    }
}

@media (min-width:90em) {
    .c-footer__inner .c-footer-other .c-footer-other__cr {
        font-size: 14px
    }
}

.c-footer__inner .c-footer-other .c-footer-other__cr small {
    display: block;
    font-size: 2.9333333333vw;
    font-style: italic;
    font-weight: 400;
    letter-spacing: .02em;
    text-align: center;
    width: 100%
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer-other .c-footer-other__cr small {
        font-size: .9722222222vw;
        width: auto
    }
}

@media (min-width:90em) {
    .c-footer__inner .c-footer-other .c-footer-other__cr small {
        font-size: 14px
    }
}

.c-footer__inner .c-footer__requirement {
    bottom: 12vw;
    display: flex;
    justify-content: flex-end;
    overflow: hidden;
    position: absolute;
    z-index: 1
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer__requirement {
        bottom: auto;
        margin-top: 2.2222222222vw;
        position: relative
    }
}

@media (min-width:90em) {
    .c-footer__inner .c-footer__requirement {
        margin-top: 32px
    }
}

.c-footer__inner .c-footer__requirement a {
    background-color: #b80016;
    border: .1388888889vw solid #f29c9c;
    border-radius: 32vw;
    display: block;
    font-size: 4.2666666667vw;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.6;
    padding: 5.3333333333vw 9.0666666667vw 5.3333333333vw 4vw;
    position: relative;
    text-align: center;
    width: 90.6666666667vw;
    z-index: 5
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer__requirement a {
        border: .1388888889vw solid #f29c9c;
        border-radius: 8.3333333333vw;
        font-size: .9722222222vw;
        padding: .7638888889vw 3.4722222222vw .9027777778vw;
        text-align: left;
        transition: background-color .3s;
        width: 12.5vw
    }

    .c-footer__inner .c-footer__requirement a:hover {
        background-color: #fff
    }

    .c-footer__inner .c-footer__requirement a:hover .letter {
        color: #b80016
    }

    .c-footer__inner .c-footer__requirement a:hover .arrow .accent {
        opacity: 1;
        transition: all .3s
    }
}

@media (min-width:90em) {
    .c-footer__inner .c-footer__requirement a {
        border: 2px solid #f29c9c;
        border-radius: 120px;
        font-size: 14px;
        padding: 11px 50px 13px;
        width: 180px
    }
}

.c-footer__inner .c-footer__requirement a .letter {
    color: #fff;
    position: relative;
    transition: color .3s;
    z-index: 10
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer__requirement a .letter {
        position: relative
    }
}

.c-footer__inner .c-footer__requirement a .arrow {
    line-height: 0;
    position: absolute;
    right: 2.4vw;
    top: 50%;
    transform: translateY(-50%);
    width: 2.4vw
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer__requirement a .arrow {
        right: 1.0416666667vw;
        transition: opacity .3s;
        width: .5555555556vw
    }
}

@media (min-width:90em) {
    .c-footer__inner .c-footer__requirement a .arrow {
        right: 15px;
        width: 8px
    }
}

.c-footer__inner .c-footer__requirement a .arrow img {
    height: auto;
    width: 100%
}

.c-footer__inner .c-footer__requirement a .arrow .accent {
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0
}

.c-footer__inner .c-footer-other__cr {
    font-family: italic;
    font-size: 2.9333333333vw;
    letter-spacing: .02em;
    margin-top: 9.6vw;
    text-align: center
}

@media (min-width:52.1875em) {
    .c-footer__inner .c-footer-other__cr {
        font-size: .9722222222vw;
        margin-top: 2.2916666667vw;
        text-align: left
    }
}

@media (min-width:90em) {
    .c-footer__inner .c-footer-other__cr {
        font-size: 14px;
        margin-top: 33px
    }
}

.c-header {
    height: 19.7333333333vw;
    left: 0;
    position: fixed;
    top: 0;
    transition: all .3s;
    width: 100%;
    z-index: 100000
}

@media (min-width:52.1875em) {
    .c-header {
        height: 8.4722222222vw
    }
}

@media (min-width:90em) {
    .c-header {
        height: 122px
    }
}

.c-header.is-fixed {
    background-color: #fff
}

@media (min-width:52.1875em) {
    .c-header.is-fixed {
        height: 5.2777777778vw
    }
}

@media (min-width:90em) {
    .c-header.is-fixed {
        height: 76px
    }
}

.c-header.is-fixed .c-header__inner .c-header__logo .black {
    opacity: 1
}

.c-header.is-fixed .c-header__inner .c-header__logo .white {
    opacity: 0
}

.c-header.is-fixed .c-header__inner .c-header-drawer span {
    background: #b80016
}

.c-header.is-open .c-header__inner .c-header__logo .black {
    opacity: 0
}

.c-header.is-open .c-header__inner .c-header__requirement {
    background: #fff
}

.c-header.is-open .c-header__inner .c-header__requirement a {
    -webkit-text-fill-color: #0000;
    -webkit-background-clip: text;
    background-clip: text
}

.c-header.is-open .c-header__inner .c-header__requirement a .text {
    color: #fff
}

.c-header.is-open .c-header__inner .c-header__requirement a .arrow .white {
    opacity: 0
}

.c-header__inner {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 90.6666666667vw
}

@media (min-width:52.1875em) {
    .c-header__inner {
        max-width: 89.0277777778vw
    }
}

.c-header__inner .c-header__logo {
    position: relative;
    width: 22.1333333333vw;
    z-index: 100
}

@media (min-width:52.1875em) {
    .c-header__inner .c-header__logo {
        width: 9.375vw
    }
}

@media (min-width:90em) {
    .c-header__inner .c-header__logo {
        width: 135px
    }
}

.c-header__inner .c-header__logo a {
    display: block
}

.c-header__inner .c-header__logo a img {
    height: auto;
    object-fit: contain;
    width: 100%
}

.c-header__inner .c-header__logo a .black {
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2
}

.c-header__inner .c-header__menu {
    align-items: center;
    display: flex;
    gap: 4.5333333333vw;
    justify-content: flex-end;
    position: static
}

@media (min-width:52.1875em) {
    .c-header__inner .c-header__menu {
        gap: 1.6666666667vw
    }
}

@media (min-width:90em) {
    .c-header__inner .c-header__menu {
        gap: 24px
    }
}

.c-header__inner .c-header__menu .c-header-menu__main {
    background: #b80016;
    height: 100vh;
    overflow: scroll;
    padding: 30.9333333333vw 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateX(100%);
    transition: transform .3s;
    width: 100%
}

@media (min-width:52.1875em) {
    .c-header__inner .c-header__menu .c-header-menu__main {
        background: #0000;
        height: auto;
        overflow: visible;
        padding: 0;
        position: static;
        transform: none;
        width: auto
    }
}

.c-header__inner .c-header__menu .c-header-menu__main.is-open {
    transform: translateX(0)
}

.c-header__inner .c-header__menu .c-header__requirement {
    overflow: hidden;
    position: relative;
    z-index: 1
}

.c-header__inner .c-header__menu .c-header__requirement a {
    background-color: #b80016;
    display: block;
    font-size: 3.2vw;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.6;
    padding: 1.6vw 9.0666666667vw 1.6vw 4vw;
    position: relative;
    z-index: 5
}

@media (min-width:52.1875em) {
    .c-header__inner .c-header__menu .c-header__requirement a {
        border: .1388888889vw solid #f29c9c;
        border-radius: 8.3333333333vw;
        font-size: .9722222222vw;
        padding: .7638888889vw 3.4722222222vw .9027777778vw;
        transition: background-color .3s
    }

    .c-header__inner .c-header__menu .c-header__requirement a:hover {
        background-color: #fff
    }

    .c-header__inner .c-header__menu .c-header__requirement a:hover .letter {
        color: #b80016
    }

    .c-header__inner .c-header__menu .c-header__requirement a:hover .arrow .accent {
        opacity: 1;
        transition: all .3s
    }
}

@media (min-width:90em) {
    .c-header__inner .c-header__menu .c-header__requirement a {
        border: 2px solid #f29c9c;
        border-radius: 120px;
        font-size: 14px;
        padding: 11px 50px 13px
    }
}

.c-header__inner .c-header__menu .c-header__requirement a .letter {
    color: #fff;
    position: relative;
    transition: color .3s;
    z-index: 10
}

.c-header__inner .c-header__menu .c-header__requirement a .arrow {
    line-height: 0;
    position: absolute;
    right: 2.4vw;
    top: 50%;
    transform: translateY(-50%);
    width: 2.4vw
}

@media (min-width:52.1875em) {
    .c-header__inner .c-header__menu .c-header__requirement a .arrow {
        right: 1.0416666667vw;
        transition: opacity .3s;
        width: .5555555556vw
    }
}

@media (min-width:90em) {
    .c-header__inner .c-header__menu .c-header__requirement a .arrow {
        right: 15px;
        width: 8px
    }
}

.c-header__inner .c-header__menu .c-header__requirement a .arrow img {
    height: auto;
    width: 100%
}

.c-header__inner .c-header__menu .c-header__requirement a .arrow .accent {
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0
}

.c-header__inner .c-header__menu .c-header-drawer {
    aspect-ratio: 21/11;
    background-color: #fff;
    border: .5333333333vw solid #b80016;
    border-radius: 50%;
    height: 10.6666666667vw;
    position: relative;
    width: 10.6666666667vw
}

.c-header__inner .c-header__menu .c-header-drawer.is-open span:first-child {
    transform: translate(-50%, -50%) rotate(45deg)
}

.c-header__inner .c-header__menu .c-header-drawer.is-open span:nth-child(2) {
    opacity: 0
}

.c-header__inner .c-header__menu .c-header-drawer.is-open span:last-child {
    transform: translate(-50%, -50%) rotate(135deg)
}

.c-header__inner .c-header__menu .c-header-drawer span {
    background: #b80016;
    height: .4vw;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: opacity .3s, transform .3s;
    width: 2.6666666667vw
}

.c-header__inner .c-header__menu .c-header-drawer span:first-child {
    transform: translate(-50%, calc(-50% - .8vw))
}

.c-header__inner .c-header__menu .c-header-drawer span:last-child {
    transform: translate(-50%, calc(-50% + .8vw))
}

.is-fixed .c-global-navigation>li:not(.c-global-navigation__entry) {
    color: #222
}

@media (min-width:52.1875em) {

    .is-fixed .c-global-navigation>li:not(.c-global-navigation__entry) a,
    .is-fixed .c-global-navigation>li:not(.c-global-navigation__entry) span {
        color: #222
    }
}

.is-fixed .c-global-navigation>li:not(.c-global-navigation__entry) .arrow .black {
    opacity: 1
}

.c-global-navigation {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin: 0 auto;
    max-width: 87.2vw
}

@media (min-width:52.1875em) {
    .c-global-navigation {
        align-items: center;
        flex-direction: row;
        gap: 1.6666666667vw;
        justify-content: flex-end;
        margin: 0;
        max-width: none
    }
}

@media (min-width:90em) {
    .c-global-navigation {
        gap: 24px
    }
}

.c-global-navigation>li:not(.c-global-navigation__entry) {
    border-bottom: .0694444444vw solid #fff;
    color: #fff;
    font-size: 2.9333333333vw;
    font-weight: 400;
    letter-spacing: .08em;
    padding: 6.4vw 0 4.2666666667vw;
    transition: all .3s;
    width: 100%
}

@media (min-width:52.1875em) {
    .c-global-navigation>li:not(.c-global-navigation__entry) {
        border: none;
        display: block;
        font-size: .9722222222vw;
        font-weight: 700;
        padding: 0;
        width: auto
    }

    .c-global-navigation>li:not(.c-global-navigation__entry):hover .c-global-navigation-under-menu {
        opacity: 1;
        visibility: visible
    }
}

@media (min-width:90em) {
    .c-global-navigation>li:not(.c-global-navigation__entry) {
        font-size: 14px
    }
}

.c-global-navigation>li:not(.c-global-navigation__entry)>span:before {
    background-color: #fff;
    bottom: 50%;
    content: "";
    height: .5333333333vw;
    position: absolute;
    right: 2.6666666667vw;
    transform: translateY(50%);
    transition: transform .3s;
    width: 3.7333333333vw
}

@media (min-width:52.1875em) {
    .c-global-navigation>li:not(.c-global-navigation__entry)>span:before {
        display: none
    }
}

.c-global-navigation>li:not(.c-global-navigation__entry)>span:after {
    background-color: #fff;
    bottom: 50%;
    content: "";
    height: 3.7333333333vw;
    position: absolute;
    right: 4.2666666667vw;
    transform: translateY(50%);
    transition: opacity .3s;
    width: .5333333333vw
}

@media (min-width:52.1875em) {
    .c-global-navigation>li:not(.c-global-navigation__entry)>span:after {
        display: none
    }
}

.c-global-navigation>li:not(.c-global-navigation__entry) a,
.c-global-navigation>li:not(.c-global-navigation__entry)>span {
    color: #fff;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 1.0666666667vw;
    justify-content: flex-start;
    position: relative
}

@media (min-width:52.1875em) {

    .c-global-navigation>li:not(.c-global-navigation__entry) a,
    .c-global-navigation>li:not(.c-global-navigation__entry)>span {
        align-items: center;
        border-bottom: none;
        display: flex;
        flex-direction: row;
        gap: .5555555556vw;
        padding: 0;
        transition: opacity .3s
    }

    .c-global-navigation>li:not(.c-global-navigation__entry) a:hover,
    .c-global-navigation>li:not(.c-global-navigation__entry)>span:hover {
        opacity: .6
    }
}

@media (min-width:90em) {

    .c-global-navigation>li:not(.c-global-navigation__entry) a,
    .c-global-navigation>li:not(.c-global-navigation__entry)>span {
        gap: 8px
    }
}

.c-global-navigation>li:not(.c-global-navigation__entry) a.is-open:after,
.c-global-navigation>li:not(.c-global-navigation__entry)>span.is-open:after {
    opacity: 0
}

.c-global-navigation>li:not(.c-global-navigation__entry) a span,
.c-global-navigation>li:not(.c-global-navigation__entry)>span span {
    font-family: futura-pt, sans-serif;
    font-size: 6.9333333333vw;
    font-weight: 500;
    letter-spacing: .08em;
    line-height: .9
}

.c-global-navigation>li:not(.c-global-navigation__entry) a .arrow,
.c-global-navigation>li:not(.c-global-navigation__entry)>span .arrow {
    cursor: pointer;
    position: relative
}

@media (min-width:52.1875em) {

    .c-global-navigation>li:not(.c-global-navigation__entry) a .arrow,
    .c-global-navigation>li:not(.c-global-navigation__entry)>span .arrow {
        height: .3472222222vw;
        width: .5555555556vw
    }
}

@media (min-width:90em) {

    .c-global-navigation>li:not(.c-global-navigation__entry) a .arrow,
    .c-global-navigation>li:not(.c-global-navigation__entry)>span .arrow {
        height: 5px;
        width: 8px
    }
}

.c-global-navigation>li:not(.c-global-navigation__entry) a .arrow img,
.c-global-navigation>li:not(.c-global-navigation__entry)>span .arrow img {
    height: 100%;
    margin-top: 2px;
    width: 100%
}

.c-global-navigation>li:not(.c-global-navigation__entry) a .arrow .black,
.c-global-navigation>li:not(.c-global-navigation__entry)>span .arrow .black {
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0
}

.c-global-navigation .c-global-navigation-under-menu {
    display: block;
    overflow: hidden;
    transition: max-height .3s
}

@media (min-width:52.1875em) {
    .c-global-navigation .c-global-navigation-under-menu {
        bottom: 0;
        left: 0;
        opacity: 0;
        overflow: visible;
        position: absolute;
        transform: translateY(70%);
        transition: all .3s;
        visibility: hidden;
        width: 100vw
    }

    .c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner {
        background-color: #fff;
        display: flex;
        margin: 2.7777777778vw auto 0;
        padding: 1.9444444444vw 8.3333333333vw
    }
}

@media (min-width:90em) {
    .c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner {
        margin-top: 40px;
        padding: 28px 120px
    }
}

.c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__title {
    color: #fff;
    display: none;
    font-weight: 700;
    letter-spacing: .08em
}

@media (min-width:52.1875em) {
    .c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__title {
        align-items: center;
        border-right: 1px solid #d4d4d4;
        display: block;
        display: flex;
        margin-right: 3.8888888889vw;
        padding-right: 3.8888888889vw
    }
}

@media (min-width:90em) {
    .c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__title {
        margin-right: 56px;
        padding-right: 56px
    }
}

.c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__title .c-global-navigation-under-menu__en {
    -webkit-text-fill-color: #0000;
    -webkit-background-clip: text;
    background-clip: text;
    font-style: italic;
    font-weight: 700;
    letter-spacing: .08em
}

@media (min-width:52.1875em) {
    .c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__title .c-global-navigation-under-menu__en {
        display: block;
        font-size: 2.2222222222vw;
        width: auto
    }
}

@media (min-width:90em) {
    .c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__title .c-global-navigation-under-menu__en {
        font-size: 32px
    }
}

.c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__title .c-global-navigation-under-menu__ja {
    color: #222;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: auto
}

@media (min-width:52.1875em) {
    .c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__title .c-global-navigation-under-menu__ja {
        display: block;
        font-size: .9722222222vw;
        margin-left: 1.3888888889vw;
        width: auto
    }
}

@media (min-width:90em) {
    .c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__title .c-global-navigation-under-menu__ja {
        font-size: 14px;
        margin-left: 20px
    }
}

.c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__links {
    display: flex;
    flex-direction: column;
    gap: 5vw;
    padding: 4.2666666667vw 0 4.2666666667vw 0
}

@media (min-width:52.1875em) {
    .c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__links {
        align-items: center;
        flex-direction: row;
        gap: 2.2222222222vw;
        padding: 0
    }
}

@media (min-width:90em) {
    .c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__links {
        gap: 32px
    }
}

.c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__links li a {
    color: #fff;
    font-weight: 500;
    letter-spacing: .08em;
    padding: 0 0 0 15.4666666667vw;
    position: relative
}

@media (min-width:52.1875em) {
    .c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__links li a {
        color: #222;
        display: block;
        font-size: .9722222222vw;
        padding: 0;
        width: auto
    }
}

@media (min-width:90em) {
    .c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__links li a {
        font-size: 14px
    }
}

.c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__links li a:before {
    background-color: #fff;
    bottom: 50%;
    content: "";
    height: .4vw;
    left: 9.6vw;
    position: absolute;
    transform: translateY(50%);
    width: 3.2vw
}

@media (min-width:52.1875em) {
    .c-global-navigation .c-global-navigation-under-menu .c-global-navigation-under-menu__inner .c-global-navigation-under-menu__links li a:before {
        display: none
    }
}

.c-global-navigation .c-global-navigation__entry {
    background: #fff;
    border-radius: 32vw;
    margin: 15.4666666667vw auto 0;
    width: 80vw
}

.c-global-navigation .c-global-navigation__entry a {
    display: block;
    font-size: 5.3333333333vw;
    font-weight: 700;
    letter-spacing: .08em;
    padding: 4.5333333333vw 0;
    position: relative;
    text-align: center
}

.c-global-navigation .c-global-navigation__entry a .text {
    -webkit-text-fill-color: #0000;
    -webkit-background-clip: text;
    background-clip: text
}

.c-global-navigation .c-global-navigation__entry a .arrow {
    line-height: 0;
    position: absolute;
    right: 4.8vw;
    top: 50%;
    transform: translateY(-50%);
    width: 3.4666666667vw
}

.c-global-navigation .c-global-navigation__entry a .arrow img,
.coprate {
    height: auto;
    width: 100%
}

.coprate {
    margin: 10.6666666667vw auto 0
}

.coprate img {
    display: block;
    margin: 0 auto;
    width: 90.6666666667vw
}

.c-cta {
    border-bottom: .2666666667vw solid #cfcfcf
}

@media (min-width:52.1875em) {
    .c-cta {
        border-bottom: .0694444444vw solid #cfcfcf
    }
}

@media (min-width:90em) {
    .c-cta {
        border-bottom: 1px solid #cfcfcf
    }
}

.c-cta__inner {
    margin: 10.6666666667vw auto;
    max-width: 90.6666666667vw
}

@media (min-width:52.1875em) {
    .c-cta__inner {
        margin: 3.3333333333vw auto;
        max-width: 51.3888888889vw
    }
}

@media (min-width:90em) {
    .c-cta__inner {
        margin: 48px auto;
        max-width: 740px
    }
}

.c-cta__inner a {
    display: block
}

.c-cta__inner a,
.c-cta__inner img {
    height: auto;
    width: 100%
}

.c-requirement {
    background-image: url(../img/common-recruit/requirement-bg-sp_2x.jpg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 19.2vw 0
}

@media (min-width:52.1875em) {
    .c-requirement {
        background-image: url(../img/common-recruit/requirement-bg-pc_2x.jpg);
        background-position: 50%;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 5vw 0
    }
}

@media (min-width:90em) {
    .c-requirement {
        padding: 72px 0
    }
}

.c-requirement__inner {
    text-align: center
}

.c-requirement__inner .c-requirement__title {
    color: #fff;
    font-size: 6.4vw;
    font-weight: 700;
    letter-spacing: .08em;
    margin-bottom: 7.4666666667vw
}

@media (min-width:52.1875em) {
    .c-requirement__inner .c-requirement__title {
        font-size: 3.3333333333vw;
        margin-bottom: 3.125vw
    }
}

@media (min-width:90em) {
    .c-requirement__inner .c-requirement__title {
        font-size: 48px;
        margin-bottom: 45px
    }
}

.c-requirement__inner .c-primary-button {
    margin: 0 auto
}

.c-primary-button {
    width: 80vw
}

@media (min-width:52.1875em) {
    .c-primary-button {
        width: 20.8333333333vw
    }
}

@media (min-width:90em) {
    .c-primary-button {
        width: 300px
    }
}

.c-primary-button.white a {
    background: #0000;
    border: .5333333333vw solid #fff
}

@media (min-width:52.1875em) {
    .c-primary-button.white a {
        border: .1388888889vw solid #fff
    }

    .c-primary-button.white a:after {
        border: none
    }
}

@media (min-width:90em) {
    .c-primary-button.white a {
        border: 2px solid #fff
    }
}

.c-primary-button a {
    background-color: #b80016;
    border-radius: 32vw;
    color: #fff;
    display: block;
    font-size: 5.3333333333vw;
    font-weight: 700;
    letter-spacing: .08em;
    padding: 4.5333333333vw 0;
    position: relative;
    text-align: center
}

@media (min-width:52.1875em) {
    .c-primary-button a {
        border: 2px solid #b80016;
        border-radius: 8.3333333333vw;
        font-size: 1.3888888889vw;
        padding: 1.1805555556vw 0;
        transition: background-color .3s
    }

    .c-primary-button a .text {
        transition: color .3s
    }

    .c-primary-button a:hover {
        background-color: #fff
    }

    .c-primary-button a:hover .text {
        color: #b80016;
        display: block;
        position: relative;
        z-index: 3
    }

    .c-primary-button a:hover:after {
        opacity: 1
    }

    .c-primary-button a:hover .arrow img.arrow1 {
        opacity: 0 !important
    }

    .c-primary-button a:hover .arrow img.arrow2 {
        opacity: 1 !important
    }
}

@media (min-width:90em) {
    .c-primary-button a {
        border-radius: 120px;
        font-size: 20px;
        padding: 17px 0
    }
}

.c-primary-button a .arrow {
    line-height: 0;
    position: absolute;
    right: 4.8vw;
    top: 50%;
    transform: translateY(-50%);
    width: 3.4666666667vw;
    z-index: 3
}

@media (min-width:52.1875em) {
    .c-primary-button a .arrow {
        right: 1.25vw;
        width: .9027777778vw
    }
}

@media (min-width:90em) {
    .c-primary-button a .arrow {
        right: 18px;
        width: 13px
    }
}

.c-primary-button a .arrow img {
    height: auto;
    width: 100%
}

.c-primary-button a .arrow img.arrow2 {
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0
}

.c-page-header {
    overflow: hidden
}

.c-page-header__inner {
    margin: 0 auto
}

@media (min-width:52.1875em) {
    .c-page-header__inner {
        max-width: 100vw
    }
}

@media (min-width:90em) {
    .c-page-header__inner {
        max-width: 1440px
    }
}

.c-page-header__inner .c-page-header__mv {
    position: relative
}

.c-page-header__inner .c-page-header__mv .c-page-header__imagearea {
    height: 95.4666666667vw;
    margin: 0 calc(50% - 50vw);
    position: relative
}

@media (min-width:52.1875em) {
    .c-page-header__inner .c-page-header__mv .c-page-header__imagearea {
        height: 37.5vw
    }
}

@media (min-width:90em) {
    .c-page-header__inner .c-page-header__mv .c-page-header__imagearea {
        height: 540px
    }
}

.c-page-header__inner .c-page-header__mv .c-page-header__imagearea:after {
    background: #000;
    background: linear-gradient(0deg, #00000080, #0000);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

@media (min-width:52.1875em) {
    .c-page-header__inner .c-page-header__mv .c-page-header__imagearea:after {
        background: linear-gradient(0deg, #0000004d, #0000003b)
    }
}

.c-page-header__inner .c-page-header__mv .c-page-header__imagearea img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.c-page-header__inner .c-page-header__mv .c-page-header__titles {
    bottom: 15.2vw;
    clip-path: inset(0 100% 0 0);
    color: #fff;
    left: 4.8vw;
    position: absolute;
    transition: clip-path 1s cubic-bezier(.4, .4, 0, 1)
}

@media (min-width:52.1875em) {
    .c-page-header__inner .c-page-header__mv .c-page-header__titles {
        bottom: 11.8055555556vw;
        left: 8.3333333333vw
    }
}

@media (min-width:90em) {
    .c-page-header__inner .c-page-header__mv .c-page-header__titles {
        bottom: 170px;
        left: 120px
    }
}

.c-page-header__inner .c-page-header__mv .c-page-header__titles.is-add-visible {
    clip-path: inset(0 0 0 0)
}

.c-page-header__inner .c-page-header__mv .c-page-header__titles .c-page-header__subtitle {
    font-size: 11.7333333333vw;
    font-style: italic;
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.3;
    padding-right: 1.3333333333vw;
    width: 100%
}

@media (min-width:52.1875em) {
    .c-page-header__inner .c-page-header__mv .c-page-header__titles .c-page-header__subtitle {
        font-size: 6.6666666667vw;
        padding-right: 1.3888888889vw
    }
}

@media (min-width:90em) {
    .c-page-header__inner .c-page-header__mv .c-page-header__titles .c-page-header__subtitle {
        font-size: 96px;
        padding-right: 20px
    }
}

.c-page-header__inner .c-page-header__mv .c-page-header__titles .c-page-header__title {
    font-size: 4.2666666667vw;
    font-weight: 700;
    margin-top: 2.1333333333vw;
    width: fit-content
}

@media (min-width:52.1875em) {
    .c-page-header__inner .c-page-header__mv .c-page-header__titles .c-page-header__title {
        font-size: 1.25vw;
        margin-top: .9722222222vw
    }
}

@media (min-width:90em) {
    .c-page-header__inner .c-page-header__mv .c-page-header__titles .c-page-header__title {
        font-size: 18px;
        margin-top: 14px
    }
}

.c-page-header__inner .c-page-header__breadcrumbs {
    margin-top: 6.4vw
}

@media (min-width:52.1875em) {
    .c-page-header__inner .c-page-header__breadcrumbs {
        margin-top: 1.3194444444vw
    }
}

@media (min-width:90em) {
    .c-page-header__inner .c-page-header__breadcrumbs {
        margin-top: 19px
    }
}

.c-breadcrumbs ul {
    align-items: center;
    display: flex;
    gap: 2.1333333333vw;
    justify-content: flex-end;
    margin: 0 auto;
    width: 90.6666666667vw
}

@media (min-width:52.1875em) {
    .c-breadcrumbs ul {
        gap: 1.1111111111vw;
        max-width: 89.1666666667vw
    }
}

@media (min-width:90em) {
    .c-breadcrumbs ul {
        gap: 16px;
        max-width: 1284px
    }
}

.c-breadcrumbs ul li {
    display: inline
}

@media (min-width:52.1875em) {
    .c-breadcrumbs ul li {
        display: block
    }
}

.c-breadcrumbs ul li:first-child a {
    color: #b80016
}

@media (min-width:52.1875em) {
    .c-breadcrumbs ul li a {
        transition: opacity .3s
    }

    .c-breadcrumbs ul li a:hover {
        opacity: .6
    }
}

.c-breadcrumbs ul li a,
.c-breadcrumbs ul li span {
    align-items: center;
    font-size: 2.9333333333vw;
    font-weight: 500;
    gap: 2.1333333333vw;
    letter-spacing: .06em
}

@media (min-width:52.1875em) {

    .c-breadcrumbs ul li a,
    .c-breadcrumbs ul li span {
        display: flex;
        font-size: .8333333333vw;
        gap: 1.1111111111vw
    }
}

@media (min-width:90em) {

    .c-breadcrumbs ul li a,
    .c-breadcrumbs ul li span {
        font-size: 12px;
        gap: 16px
    }
}

.c-breadcrumbs ul li a img,
.c-breadcrumbs ul li span img {
    height: auto;
    margin-left: 2.1333333333vw;
    margin-right: 2.1333333333vw;
    padding-bottom: 1.0666666667vw;
    width: 1.3333333333vw
}

@media (min-width:52.1875em) {

    .c-breadcrumbs ul li a img,
    .c-breadcrumbs ul li span img {
        margin: 0;
        padding-bottom: .1388888889vw;
        width: .3472222222vw
    }
}

@media (min-width:90em) {

    .c-breadcrumbs ul li a img,
    .c-breadcrumbs ul li span img {
        padding-bottom: 2px;
        width: 5px
    }
}

.c-section-title .c-section-title__en {
    color: #b80016;
    display: inline-block;
    font-family: Poppins, sans-serif;
    font-size: 8.5333333333vw;
    font-style: italic;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 1.3;
    position: relative
}

@media (min-width:52.1875em) {
    .c-section-title .c-section-title__en {
        font-size: 3.8888888889vw;
        margin-bottom: .6944444444vw
    }
}

@media (min-width:90em) {
    .c-section-title .c-section-title__en {
        font-size: 56px;
        margin-bottom: 10px
    }
}

.c-section-title .c-section-title__ja {
    font-size: 3.7333333333vw;
    font-weight: 700
}

@media (min-width:52.1875em) {
    .c-section-title .c-section-title__ja {
        font-size: 1.25vw;
        letter-spacing: .06em
    }
}

@media (min-width:90em) {
    .c-section-title .c-section-title__ja {
        font-size: 18px
    }
}

.c-interview-article {
    width: 100%
}

@media (min-width:52.1875em) {
    .c-interview-article {
        transition: opacity .3s;
        width: 26.5277777778vw
    }

    .c-interview-article:hover .c-interview-article__imagearea img {
        transform: scale(1.05)
    }
}

@media (min-width:90em) {
    .c-interview-article {
        width: 382px
    }
}

.c-interview-article .c-interview-article__imagearea {
    aspect-ratio: 340/440;
    overflow: hidden;
    position: relative;
    width: 100%
}

@media (min-width:52.1875em) {
    .c-interview-article .c-interview-article__imagearea {
        aspect-ratio: 382/492;
        border: none
    }
}

.c-interview-article .c-interview-article__imagearea .c-interview-article__image,
.c-interview-article .c-interview-article__imagearea img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

@media (min-width:52.1875em) {
    .c-interview-article .c-interview-article__imagearea img {
        transition: transform .3s
    }
}

.c-interview-article .c-interview-article__info {
    color: #b80016;
    display: inline-block;
    font-size: 4.2666666667vw;
    font-weight: 500;
    letter-spacing: .06em;
    position: relative;
    text-align: center;
    z-index: 5
}

@media (min-width:52.1875em) {
    .c-interview-article .c-interview-article__info {
        font-size: 1.1111111111vw
    }
}

@media (min-width:90em) {
    .c-interview-article .c-interview-article__info {
        font-size: 16px
    }
}

.c-interview-article .c-interview-article__textarea {
    margin: 5.3333333333vw auto 0;
    width: 90.6666666667vw
}

@media (min-width:52.1875em) {
    .c-interview-article .c-interview-article__textarea {
        margin-top: 1.3888888889vw;
        width: 26.3888888889vw
    }
}

@media (min-width:90em) {
    .c-interview-article .c-interview-article__textarea {
        margin-top: 20px;
        width: 380px
    }
}

.c-interview-article .c-interview-article__textarea .c-interview-article__title {
    font-size: 4.8vw;
    font-weight: 500;
    letter-spacing: .08em;
    line-height: 2;
    margin-top: 2.1333333333vw
}

@media (min-width:52.1875em) {
    .c-interview-article .c-interview-article__textarea .c-interview-article__title {
        font-size: 1.25vw;
        margin-top: .5555555556vw
    }
}

@media (min-width:90em) {
    .c-interview-article .c-interview-article__textarea .c-interview-article__title {
        font-size: 18px;
        margin-top: 8px
    }
}

.c-single-contents__inner .c-single-contents__boxes h2 {
    background-color: #b80016;
    color: #fff;
    font-size: 5.3333333333vw;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.33;
    margin-top: 8vw;
    padding: 2.1333333333vw 3.2vw;
    position: relative
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes h2 {
        font-size: 2.2222222222vw;
        margin-top: 3.8888888889vw;
        padding: .2777777778vw .9722222222vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes h2 {
        font-size: 32px;
        margin-top: 56px;
        padding: 19px
    }
}

.c-single-contents__inner .c-single-contents__boxes img {
    height: auto;
    margin-bottom: 10.6666666667vw;
    object-fit: cover;
    width: 100%
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes img {
        margin-bottom: 3.8888888889vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes img {
        margin-bottom: 56px
    }
}

.c-single-contents__inner .c-single-contents__boxes p {
    font-size: 3.7333333333vw;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 1.75;
    margin-top: 8.5333333333vw
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes p {
        font-size: 1.1111111111vw;
        margin-top: 1.9444444444vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes p {
        font-size: 16px;
        margin-top: 28px
    }
}

.c-single-contents__inner .c-single-contents__boxes p strong {
    font-weight: 700
}

.c-single-contents__inner .c-single-contents__boxes .wp-block-quote {
    background-color: #f8f6f6;
    border-radius: 2.6666666667vw;
    font-size: 3.7333333333vw;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 1.75;
    margin-top: 21.3333333333vw;
    padding: 7.4666666667vw 6.4vw;
    position: relative
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes .wp-block-quote {
        border-radius: .6944444444vw;
        font-size: 1.1111111111vw;
        margin-top: 4.0972222222vw;
        padding: 2.2222222222vw 2.8472222222vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes .wp-block-quote {
        border-radius: 10px;
        font-size: 16px;
        margin-top: 59px;
        padding: 2.2222222222vw 2.8472222222vw
    }
}

.c-single-contents__inner .c-single-contents__boxes .wp-block-quote:after {
    background-image: url(../img/message/clone.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    height: 9.3333333333vw;
    left: 8vw;
    position: absolute;
    top: -5.3333333333vw;
    width: 100%;
    width: 11.2vw
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes .wp-block-quote:after {
        height: 2.4305555556vw;
        left: 2.0833333333vw;
        top: -1.3888888889vw;
        width: 2.9166666667vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes .wp-block-quote:after {
        height: 35px;
        left: 30px;
        top: -20px;
        width: 42px
    }
}

.c-single-contents__inner .c-single-contents__boxes .wp-block-quote p {
    font-weight: 400;
    margin-top: 0
}

.c-single-contents__inner .c-single-contents__boxes ul {
    display: flex;
    flex-direction: column;
    font-size: 4.2666666667vw;
    font-weight: 500;
    gap: 4.2666666667vw;
    letter-spacing: .04em;
    line-height: 1.75;
    margin-top: 8.5333333333vw
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes ul {
        font-size: 1.1111111111vw;
        gap: .5555555556vw;
        margin-top: 3.3333333333vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes ul {
        font-size: 16px;
        gap: 8px;
        margin-top: 48px
    }
}

.c-single-contents__inner .c-single-contents__boxes ul li {
    padding-left: 4.8vw;
    position: relative
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes ul li {
        padding-left: 1.25vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes ul li {
        padding-left: 18px
    }
}

.c-single-contents__inner .c-single-contents__boxes ul li:after {
    background-color: #b80016;
    border-radius: 50%;
    content: "";
    height: 2.1333333333vw;
    left: 0;
    position: absolute;
    top: 2.4vw;
    width: 100%;
    width: 2.1333333333vw
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes ul li:after {
        height: .5555555556vw;
        top: .625vw;
        width: .5555555556vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes ul li:after {
        height: 8px;
        top: 9px;
        width: 8px
    }
}

.c-single-contents__inner .c-single-contents__boxes h3 {
    border-left: .8vw solid #b80016;
    color: #b80016;
    font-size: 4.8vw;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.75;
    margin-top: 17.3333333333vw;
    padding-left: 5.3333333333vw
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes h3 {
        border-left: .2083333333vw solid #b80016;
        font-size: 1.6666666667vw;
        margin-top: 1.9444444444vw;
        padding-left: 1.3888888889vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes h3 {
        border-left: 3px solid #b80016;
        font-size: 24px;
        margin-top: 28px;
        padding-left: 20px
    }
}

.c-single-contents__inner .c-single-contents__boxes ol {
    display: flex;
    flex-direction: column;
    font-size: 4.2666666667vw;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 1.75;
    margin-top: 11.7333333333vw
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes ol {
        font-size: 1.1111111111vw;
        gap: .5555555556vw;
        margin-top: 3.3333333333vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes ol {
        font-size: 16px;
        gap: 8px;
        margin-top: 48px
    }
}

.c-single-contents__inner .c-single-contents__boxes ol li {
    padding-left: 7.2vw;
    position: relative
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes ol li {
        padding-left: 1.875vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes ol li {
        padding-left: 27px
    }
}

.c-single-contents__inner .c-single-contents__boxes ol li:after {
    background-image: url(../img/message/cheack.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    height: 3.2vw;
    left: 0;
    position: absolute;
    top: 2.4vw;
    width: 4.5333333333vw
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes ol li:after {
        height: .8333333333vw;
        top: .625vw;
        width: 1.1805555556vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes ol li:after {
        height: 12px;
        top: 9px;
        width: 17px
    }
}

.c-single-contents__inner .c-single-contents__boxes a {
    color: #b80016;
    font-size: 3.7333333333vw;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 1.75;
    margin-top: 6.4vw
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes a {
        font-size: 1.1111111111vw;
        margin-top: 6.0416666667vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes a {
        font-size: 16px;
        margin-top: 87px
    }
}

.c-single-contents__inner .c-single-contents__boxes .wp-block-button {
    margin-top: 14.6666666667vw
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes .wp-block-button {
        margin-top: 4.0277777778vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes .wp-block-button {
        margin-top: 58px
    }
}

.c-single-contents__inner .c-single-contents__boxes .wp-block-button.white a .text {
    color: #fff
}

.c-single-contents__inner .c-single-contents__boxes .wp-block-button.white a .arrow {
    background: #fff
}

.c-single-contents__inner .c-single-contents__boxes .wp-block-button a {
    border-radius: 32vw;
    color: #fff;
    display: block;
    font-size: 5.3333333333vw;
    font-weight: 700;
    letter-spacing: .08em;
    padding: 4.5333333333vw 0;
    position: relative;
    text-align: center;
    text-decoration: none;
    width: 90.6666666667vw
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes .wp-block-button a {
        border-radius: 8.3333333333vw;
        font-size: 1.3888888889vw;
        padding: 1.3888888889vw 0;
        width: 29.4444444444vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes .wp-block-button a {
        border-radius: 120px;
        font-size: 20px;
        padding: 20px 0;
        width: 424px
    }
}

.c-single-contents__inner .c-single-contents__boxes .wp-block-button a:after {
    aspect-ratio: 1/1;
    background-image: url(../img/common/arrow-right-white.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    border-radius: 50%;
    bottom: 50%;
    content: "";
    height: 3.4666666667vw;
    position: absolute;
    right: 0;
    right: 4.2666666667vw;
    transform: translateY(50%);
    width: 100%;
    width: 3.2vw;
    z-index: 1
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes .wp-block-button a:after {
        height: .9722222222vw;
        right: 1.7361111111vw;
        width: .7638888889vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes .wp-block-button a:after {
        height: 14px;
        right: 25px;
        width: 11px
    }
}

.c-single-contents__inner .c-single-contents__boxes .wp-block-button a .arrow {
    aspect-ratio: 1/1;
    border-radius: 50%;
    position: relative;
    width: 13.8666666667vw
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes .wp-block-button a .arrow {
        width: 4.8611111111vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes .wp-block-button a .arrow {
        width: 70px
    }
}

.c-single-contents__inner .c-single-contents__boxes .wp-block-button a .arrow img {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 2.1333333333vw
}

@media (min-width:52.1875em) {
    .c-single-contents__inner .c-single-contents__boxes .wp-block-button a .arrow img {
        width: .7638888889vw
    }
}

@media (min-width:90em) {
    .c-single-contents__inner .c-single-contents__boxes .wp-block-button a .arrow img {
        width: 11px
    }
}

.c-recruit-item {
    width: 100%
}

.c-recruit-item a {
    align-items: stretch;
    background-color: #fff;
    border-radius: 2.1333333333vw;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-start;
    overflow: hidden;
    padding: 6.4vw
}

@media (min-width:52.1875em) {
    .c-recruit-item a {
        border-radius: .5555555556vw;
        padding: 2.9166666667vw 3.3333333333vw
    }

    .c-recruit-item a:hover .c-recruit-item__image img {
        transform: scale(1.05)
    }

    .c-recruit-item a:hover .recruit-item__more {
        color: #b80016
    }

    .c-recruit-item a:hover .recruit-item__more .arrow {
        transform: scale(1.1)
    }
}

@media (min-width:90em) {
    .c-recruit-item a {
        border-radius: 8px;
        padding: 42px 48px
    }
}

.c-recruit-item a .c-recruit-item__textarea {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    height: 100%;
    justify-content: flex-start
}

.c-recruit-item a .c-recruit-item__textarea .c-recruit-item__title {
    color: #b80016;
    font-size: 4.8vw;
    font-weight: 500;
    letter-spacing: .09em;
    margin-bottom: 2.1333333333vw
}

@media (min-width:52.1875em) {
    .c-recruit-item a .c-recruit-item__textarea .c-recruit-item__title {
        font-size: 1.6666666667vw;
        margin-bottom: .7638888889vw
    }
}

@media (min-width:90em) {
    .c-recruit-item a .c-recruit-item__textarea .c-recruit-item__title {
        font-size: 24px;
        margin-bottom: 11px
    }
}

.c-recruit-item a .c-recruit-item__textarea .c-recruit-item__text {
    flex-grow: 1;
    font-size: 3.4666666667vw;
    font-weight: 400;
    letter-spacing: .06em;
    line-height: 1.75;
    margin-bottom: 5.8666666667vw
}

@media (min-width:52.1875em) {
    .c-recruit-item a .c-recruit-item__textarea .c-recruit-item__text {
        font-size: .9722222222vw;
        margin-bottom: 1.5972222222vw
    }
}

@media (min-width:90em) {
    .c-recruit-item a .c-recruit-item__textarea .c-recruit-item__text {
        font-size: 14px;
        margin-bottom: 23px
    }
}

.c-recruit-item a .c-recruit-item__textarea .c-recruit-item__subcontents {
    width: 100%
}

@media (min-width:52.1875em) {
    .c-recruit-item a .c-recruit-item__textarea .c-recruit-item__subcontents {
        align-items: center;
        display: flex;
        gap: .5555555556vw;
        justify-content: space-between
    }
}

@media (min-width:90em) {
    .c-recruit-item a .c-recruit-item__textarea .c-recruit-item__subcontents {
        gap: 8px
    }
}

.c-recruit-item a .c-recruit-item__textarea .c-recruit-item__info {
    align-items: center;
    display: flex;
    gap: 2.1333333333vw;
    width: 100%
}

@media (min-width:52.1875em) {
    .c-recruit-item a .c-recruit-item__textarea .c-recruit-item__info {
        gap: .5555555556vw
    }
}

@media (min-width:90em) {
    .c-recruit-item a .c-recruit-item__textarea .c-recruit-item__info {
        gap: 8px
    }
}

.c-recruit-item a .c-recruit-item__textarea .c-recruit-item__info .c-recruit-item__cat {
    border: 2px solid #b80016;
    border-radius: 32vw;
    color: #b80016;
    font-size: 3.2vw;
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.6;
    padding: .5333333333vw 3.4666666667vw 1.0666666667vw;
    position: relative
}

@media (min-width:52.1875em) {
    .c-recruit-item a .c-recruit-item__textarea .c-recruit-item__info .c-recruit-item__cat {
        border-radius: 8.3333333333vw;
        font-size: .8333333333vw;
        padding: .1388888889vw .9027777778vw
    }
}

@media (min-width:90em) {
    .c-recruit-item a .c-recruit-item__textarea .c-recruit-item__info .c-recruit-item__cat {
        border-radius: 120px;
        font-size: 12px;
        padding: 2px 13px
    }
}

.c-recruit-item a .c-recruit-item__textarea .recruit-item__more {
    align-items: center;
    display: flex;
    font-size: 3.7333333333vw;
    font-weight: 500;
    gap: 2.4vw;
    justify-content: flex-end;
    letter-spacing: .06em;
    margin-top: 3.7333333333vw;
    white-space: nowrap;
    width: 100%
}

@media (min-width:52.1875em) {
    .c-recruit-item a .c-recruit-item__textarea .recruit-item__more {
        font-size: .9722222222vw;
        gap: .625vw;
        justify-content: flex-end;
        margin-top: 0;
        transition: color .3s
    }
}

@media (min-width:90em) {
    .c-recruit-item a .c-recruit-item__textarea .recruit-item__more {
        font-size: 14px;
        gap: 9px
    }
}

.c-recruit-item a .c-recruit-item__textarea .recruit-item__more .arrow {
    align-items: center;
    aspect-ratio: 1/1;
    background: #b80016;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    width: 11.2vw
}

@media (min-width:52.1875em) {
    .c-recruit-item a .c-recruit-item__textarea .recruit-item__more .arrow {
        transition: transform .3s;
        width: 2.9166666667vw
    }
}

@media (min-width:90em) {
    .c-recruit-item a .c-recruit-item__textarea .recruit-item__more .arrow {
        width: 42px
    }
}

.c-recruit-item a .c-recruit-item__textarea .recruit-item__more .arrow img {
    height: auto;
    width: 3.7333333333vw
}

@media (min-width:52.1875em) {
    .c-recruit-item a .c-recruit-item__textarea .recruit-item__more .arrow img {
        width: .9722222222vw
    }
}

@media (min-width:90em) {
    .c-recruit-item a .c-recruit-item__textarea .recruit-item__more .arrow img {
        width: 14px
    }
}

.js-scroll-title {
    clip-path: inset(0 100% 0 0);
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: clip-path 1s cubic-bezier(.4, .4, 0, 1) !important
}

.js-scroll-title.is-add-visible,
.js-scroll-title.is-visible {
    clip-path: inset(0 0 0 0)
}

.js-scroll-text {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .5s, transform .5s !important
}

.js-scroll-text.is-add-visible,
.js-scroll-text.is-visible {
    opacity: 1;
    transform: translateY(0)
}

.c-links__inner {
    width: 100%
}

@media (min-width:52.1875em) {
    .c-links__inner {
        border-top: 1px solid #cfcfcf;
        display: flex
    }
}

.c-links__inner .c-links-item {
    border-top: 1px solid #cfcfcf;
    width: 100%
}

@media (min-width:52.1875em) {
    .c-links__inner .c-links-item {
        border-right: 1px solid #cfcfcf;
        border-top: none;
        width: 33.3333333333%
    }
}

.c-links__inner .c-links-item:last-child {
    border-right: none
}

.c-links__inner .c-links-item a {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 12.8vw 4.5333333333vw;
    width: 100%
}

@media (min-width:52.1875em) {
    .c-links__inner .c-links-item a {
        padding: 8.125vw 3.3333333333vw
    }

    .c-links__inner .c-links-item a:hover .c-links-item__radius {
        background-color: #fff
    }

    .c-links__inner .c-links-item a:hover .c-links-item__radius .accent {
        opacity: 1 !important
    }
}

@media (min-width:90em) {
    .c-links__inner .c-links-item a {
        padding: 117px 48px
    }
}

.c-links__inner .c-links-item a .c-links-item__title .c-links-item-title__en {
    color: #b80016;
    display: inline-block;
    font-family: Poppins, sans-serif;
    font-size: 8vw;
    font-style: italic;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 1.43;
    margin-bottom: 1.3333333333vw;
    position: relative
}

@media (min-width:52.1875em) {
    .c-links__inner .c-links-item a .c-links-item__title .c-links-item-title__en {
        font-size: 2.7777777778vw;
        margin-bottom: .6944444444vw
    }
}

@media (min-width:90em) {
    .c-links__inner .c-links-item a .c-links-item__title .c-links-item-title__en {
        font-size: 40px;
        margin-bottom: 10px
    }
}

.c-links__inner .c-links-item a .c-links-item__title .c-links-title__ja {
    font-size: 3.2vw;
    font-weight: 700
}

@media (min-width:52.1875em) {
    .c-links__inner .c-links-item a .c-links-item__title .c-links-title__ja {
        font-size: 1.0416666667vw;
        letter-spacing: .06em
    }
}

@media (min-width:90em) {
    .c-links__inner .c-links-item a .c-links-item__title .c-links-title__ja {
        font-size: 15px
    }
}

.c-links__inner .c-links-item a .c-links-item__radius {
    align-items: center;
    background-color: #b80016;
    border-radius: 50%;
    display: flex;
    height: 12vw;
    justify-content: center;
    position: relative;
    width: 12vw
}

@media (min-width:52.1875em) {
    .c-links__inner .c-links-item a .c-links-item__radius {
        border: 1px solid #b80016;
        height: 3.125vw;
        transition: background-color .3s;
        width: 3.125vw
    }
}

@media (min-width:90em) {
    .c-links__inner .c-links-item a .c-links-item__radius {
        height: 45px;
        width: 45px
    }
}

.c-links__inner .c-links-item a .c-links-item__radius img {
    height: 3.4666666667vw;
    object-fit: cover;
    width: 4vw
}

@media (min-width:52.1875em) {
    .c-links__inner .c-links-item a .c-links-item__radius img {
        height: .9027777778vw;
        width: 1.0416666667vw
    }
}

@media (min-width:90em) {
    .c-links__inner .c-links-item a .c-links-item__radius img {
        height: 13px;
        width: 15px
    }
}

.c-links__inner .c-links-item a .c-links-item__radius img.accent {
    opacity: 0;
    position: absolute;
    right: 50%;
    top: 50%;
    transform: translate(50%, -50%);
    transition: opacity .3s
}

.fixed {
    position: fixed !important
}

.sticky {
    position: sticky !important
}

.block {
    display: block !important
}

.flex {
    display: flex !important
}

.table {
    display: table !important
}

.grid {
    display: grid !important
}

.hidden {
    display: none !important
}

.size-full {
    height: 100% !important;
    width: 100% !important
}

.border {
    border-width: 1px !important
}

.uppercase {
    text-transform: uppercase !important
}

.italic {
    font-style: italic !important
}

.underline {
    text-decoration-line: underline !important
}

.line-through {
    text-decoration-line: line-through !important
}

.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important
}

@media (min-width:835px) {
    .desktop\:block {
        display: block !important
    }

    .desktop\:flex {
        display: flex !important
    }

    .desktop\:hidden {
        display: none !important
    }
}

/* --------------------------------------------------
   ロゴの表示制御（スクロール時・メニュー開閉時）
-------------------------------------------------- */
/* 全ロゴに切り替えのアニメーションを付与 */
.c-header__inner .c-header__logo picture {
    transition: opacity .3s !important;
}

/* スマホ版ロゴの重なり回避設定 */
@media screen and (max-width: 834px) {
    /* スクロール固定時 (is-fixed)：白いスマホロゴを消す */
    .c-header.is-fixed .c-header__inner .c-header__logo picture.desktop\:hidden {
        opacity: 0 !important;
    }
    /* メニューが開いている時 (is-open)：白いロゴを優先し、緑ロゴ(black)を隠す */
    .c-header.is-open .c-header__inner .c-header__logo picture.desktop\:hidden {
        opacity: 1 !important;
    }
    .c-header.is-open .c-header__inner .c-header__logo picture.black {
        opacity: 0 !important;
    }
}

/* --------------------------------------------------
   採用ページ：ヘッダータイトルの日⇔英入れ替え
-------------------------------------------------- */

/* 1. 上下配置の入れ替え */
.c-page-header__inner .c-page-header__mv .c-page-header__titles {
    display: flex;
    flex-direction: column-reverse; /* 下にある日本語を上に、上にある英語を下へ */
}

/* 2. 英語（元subtitle）：【小さく・黒く・下へ】 */
.c-page-header__inner .c-page-header__mv .c-page-header__titles .c-page-header__subtitle {
    font-size: 3.5vw; /* 元の日本語サイズ(SP) */
    color: #fff; /* 背景画像の上なので白文字のまま（必要なら変更） */
    font-style: normal; /* イタリックを解除 */
    width: auto; /* 幅指定を解除 */
    margin-top: 2vw; /* 上（日本語）との余白 */
    line-height: 1.5;
}

/* 3. 日本語（元title）：【大きく・目立つように・上へ】 */
.c-page-header__inner .c-page-header__mv .c-page-header__titles .c-page-header__title {
    font-size: 8.6vw; /* 元の英語サイズ(SP) */
    font-weight: 500;
    font-style: italic; /* 英語のようなスタイルに寄せるなら */
    margin-top: 0; /* 上の余白を消す */
    line-height: 1.3;
}

/* --- PCサイズ（画面幅52.1875em以上）の調整 --- */
@media (min-width: 52.1875em) {
    /* 英語 */
    .c-page-header__inner .c-page-header__mv .c-page-header__titles .c-page-header__subtitle {
        font-size: 16px; /* 元の日本語サイズ(PC) ≒ 18px前後 */
        margin-top: 10px;
        padding-right: 0;
    }

    /* 日本語 */
    .c-page-header__inner .c-page-header__mv .c-page-header__titles .c-page-header__title {
        font-size: 64px; /* 元の英語サイズ(PC) ≒ 96px前後 */
        margin-top: 0;
    }
}

/* --- 大画面PCサイズ（画面幅90em以上）の調整 --- */
@media (min-width: 90em) {
    .c-page-header__inner .c-page-header__mv .c-page-header__titles .c-page-header__subtitle {
        font-size: 16px;
    }
    .c-page-header__inner .c-page-header__mv .c-page-header__titles .c-page-header__title {
        font-size: 64px;
    }
}

/* 日本語タイトルの右端切れ対策 */
.c-page-header__inner .c-page-header__mv .c-page-header__titles {
    /* 右側に少し余白を持たせて、斜体のハミ出し部分が見えるようにする */
    padding-right: 0.5em; 
}

/* --------------------------------------------------
   SPメニュー：ロゴとテキストの重なり
-------------------------------------------------- */
@media screen and (max-width: 834px) {

    /* 1. メニューが開いている時、ヘッダーに「赤い背景の膜」を作る */
    .c-header.is-open::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; /* ヘッダーの高さいっぱいに広げる */
        background-color: #b80016; /* メニューと同じ赤色 */
        z-index: 201; /* ★ここが重要：メニュー本文より手前に表示 */
    }

    /* 2. ロゴをその「赤い膜」の上に浮き上がらせる */
    .c-header__inner .c-header__logo {
        position: relative;
        z-index: 202; /* ★赤い膜(201)よりさらに手前に */
    }

    /* 3. 閉じるボタン（×）も最前面に */
    .c-header__inner .c-header__menu .c-header-drawer {
        position: relative;
        z-index: 202; /* ★赤い膜(201)よりさらに手前に */
    }

    /* 4. メニュー本文（スクロールする文字たち） */
    .c-header__inner .c-header__menu .c-header-menu__main {
        z-index: 200; /* ★赤い膜(201)より奥に配置 */
        /* パディングは元のままでOKですが、近すぎる場合は調整してください */
    }
}

/* --------------------------------------------------
   SPメニュー：日本語(大)・英語(小) へのデザイン変更
-------------------------------------------------- */
@media screen and (max-width: 834px) {

    /* 1. リンク全体の並び順を「下から上」に変えて、日本語を上に持ってくる */
    .c-global-navigation > li > a,
    .c-global-navigation > li > .js-menu-trigger {
        display: flex !important;
        flex-direction: column-reverse; /* HTMLの並び(英→日)を、見た目だけ(日→英)にする */
        align-items: flex-start; /* 左揃え */
        justify-content: center;
        padding: 1.2vw 0 !important; /* 上下の余白調整 */
        gap: 1vw; /* 日本語と英語の間の隙間 */

        /* ▼ ここで「日本語（大）」のスタイルを指定（親のスタイルがテキストノードに適用される） */
        font-size: 5.5vw !important; /* 日本語を大きく */
        font-weight: 700 !important; /* 太字に */
        line-height: 1.43;
        color: #fff; /* 文字色（白） */
    }

    /* 2. 英語部分（spanタグ）のデザイン：【小さく・サブ扱いに】 */
    .c-global-navigation > li > a > span.desktop\:hidden,
    .c-global-navigation > li > .js-menu-trigger > span.desktop\:hidden {
        font-size: 3vw !important; /* 英語を小さく */
        font-weight: 400 !important; /* 太さを標準に */
        margin: 0 !important; /* 余計な余白を消す */
        line-height: 1.43;
        font-family: "Futura PT", sans-serif; /* 英語用フォント（必要であれば） */
        letter-spacing: 0.05em;
    }

    /* 3. アコーディオンの矢印（＋マークや＞）の位置調整 */
    /* column-reverseの影響を受けないように絶対配置にする */
    .c-global-navigation > li > .js-menu-trigger {
        position: relative; /* 基準点 */
    }
    .c-global-navigation > li > .js-menu-trigger .arrow {
        position: absolute;
        right: 0; /* 右端に固定 */
        top: 50%;
        transform: translateY(-50%); /* 垂直中央揃え */
        width: 4vw; /* 矢印のサイズ調整（必要に応じて） */
    }
}

/* --------------------------------------------------
   リクルートTOP：セクション見出しの日英入れ替え
-------------------------------------------------- */

/* 1. 全体の並び順を「下から上」に変えて、日本語を上に持ってくる */
.c-section-title {
    display: flex;
    flex-direction: column-reverse; /* 下にある日本語を上に */
    align-items: flex-start; /* 左揃え */
    gap: 2vw; /* 日本語と英語の間の余白 */
}

/* 2. 日本語（元 ja）：【大きく・メインに】 */
.c-section-title .c-section-title__ja {
    font-size: 6.4vw; /* 元の英語サイズ(SP)を適用 */
    font-weight: 700;
    color: #b80016; /* 英語で使われていた赤色を適用 */
    line-height: 1.3;
    margin: 0;
}

/* 3. 英語（元 en）：【小さく・サブに】 */
.c-section-title .c-section-title__en {
    font-size: 3.5vw; /* 元の日本語サイズ(SP)を適用 */
    font-weight: 500; /* 太すぎず細すぎず */
    color: #222; /* サブタイトルなので黒色に */
    font-style: normal; /* イタリック体を解除（お好みで italic のままでもOK） */
    margin: 0;
    line-height: 1.3;
}

/* --- PCサイズ（画面幅 835px以上）の調整 --- */
@media (min-width: 52.1875em) {
    .c-section-title {
        gap: 10px; /* PCでの隙間 */
    }

    /* 日本語（大） */
    .c-section-title .c-section-title__ja {
        font-size: 48px; /* PC版の元の英語サイズ */
    }

    /* 英語（小） */
    .c-section-title .c-section-title__en {
        font-size: 16px; /* PC版の元の日本語サイズ */
    }
}

/* --- 大型PCサイズ（画面幅 1440px以上）の調整 --- */
@media (min-width: 90em) {
    .c-section-title .c-section-title__ja {
        font-size: 48px;
    }
    .c-section-title .c-section-title__en {
        font-size: 16px;
    }
}

/* --------------------------------------------------
   development
-------------------------------------------------- */

/* 1. コンテナ：並び順を反転 */
body .about-title,
body .project-title {
    display: flex !important;
    flex-direction: column-reverse !important; /* 日本語を上に */
    align-items: flex-start !important;
    gap: 2vw !important;
}

/* 2. 日本語（教育研修制度など）：【赤・大きく】 */
body .about-title__ja,
body .project-title__ja {
    font-size: 6.4vw !important;
    color: #b80016 !important;
    font-weight: 700 !important;
    font-style: normal !important; /* イタリック解除 */
    line-height: 1.3 !important;
    margin: 0 !important;
    width: auto !important;
}
/* spanにも継承させる */
body .about-title__ja span,
body .project-title__ja span {
    font-size: inherit !important;
    color: inherit !important;
    font-weight: inherit !important;
}

/* 3. 英語（TRAINING PROGRAMSなど）：【黒・小さく】 */
body .about-title__en,
body .project-title__en {
    font-size: 3.5vw !important;
    color: #222 !important;
    font-weight: 500 !important;
    font-style: normal !important;
    line-height: 1.43 !important;
    margin: 0 !important;
}

/* --- PCサイズ（画面幅 835px以上）の調整 --- */
@media (min-width: 52.1875em) {
    body .about-title,
    body .project-title {
        gap: 10px !important;
    }

    /* 日本語（PC大） */
    body .about-title__ja,
    body .project-title__ja {
        font-size: 48px !important;
    }

    /* 英語（PC小） */
    body .about-title__en,
    body .project-title__en {
        font-size: 16px !important;
    }
}

/* --- 大型PCサイズ（画面幅 1440px以上）の調整 --- */
@media (min-width: 90em) {
    body .about-title__ja,
    body .project-title__ja {
        font-size: 48px !important;
    }
    body .about-title__en,
    body .project-title__en {
        font-size: 16px !important;
    }
}

/* --------------------------------------------------
   募集要項
-------------------------------------------------- */

/* 1. コンテナ（h2タグ）：並び順を反転させて、英語用の基本設定をする */
body .recruit__title {
    display: flex !important;
    flex-direction: column-reverse !important; /* 日本語(span)を上に、英語(テキスト)を下に */
    align-items: flex-start !important;
    gap: 1.4vw !important;
    
    /* ▼ ここは「英語（JOB CATEGORY）」の見た目になります */
    font-size: 3.5vw !important; /* 小さく */
    color: #222 !important;               /* 黒色 */
    font-weight: 500 !important;
    font-style: normal !important;        /* イタリック解除 */
    line-height: 1.3 !important;
    margin-bottom: 8vw !important;        /* 下の余白調整 */
}

/* 2. 日本語（spanタグ）：【赤・大きく】 */
body .recruit__title span {
    display: block !important;
    font-size: 6.4vw !important; /* 大きく */
    font-weight: 700 !important;
    color: #b80016 !important;            /* 赤色 */
    line-height: 1.3 !important;
    margin: 0 !important;
    letter-spacing: normal !important;
}

/* --- PCサイズ（画面幅 835px以上）の調整 --- */
@media (min-width: 52.1875em) {
    body .recruit__title {
        gap: 10px !important;
        margin-bottom: 40px !important;
        
        /* 英語（PC小） */
        font-size: 16px !important;
    }

    /* 日本語（PC大） */
    body .recruit__title span {
        font-size: 48px !important;
    }
}

/* --- 大型PCサイズ（画面幅 1440px以上）の調整 --- */
@media (min-width: 90em) {
    body .recruit__title {
        font-size: 16px !important;
    }
    body .recruit__title span {
        font-size: 48px !important;
    }
}

/* --------------------------------------------------
   カレントページのナビゲーション装飾（リクルート用）
-------------------------------------------------- */

/* PCサイズのときのみ適用 */
@media screen and (min-width: 52.1875em) {
  
  /* current-linkクラスがついているaタグ */
  .c-global-navigation a.current-link,
  .c-global-navigation-under-menu__links a.current-link {
    /* クリックを無効化 */
    pointer-events: none;
    cursor: default;
    
    /* 下線のデザイン（赤色） */
    text-decoration: none;
    /* 文字色を少し薄くするなど（必要であれば） */
    opacity: 0.65;
  }
}

/* 補足：サブメニュー内のリンクにpaddingがある場合の微調整 */
.c-global-navigation-under-menu__links a.current-link {
    display: inline-block; /* 下線を文字幅に合わせるため */
}

/* --------------------------------------------------
   下部リンクエリア (c-links)
   見出しの日英入れ替え
-------------------------------------------------- */

/* 1. コンテナ：並び順を反転 */
body .c-links-item-title {
    display: flex !important;
    flex-direction: column-reverse !important; /* 日本語を上に */
    align-items: flex-start !important;
    gap: 1.5vw !important;
}

/* 2. 日本語（オズ・インターナショナルの仕事 など）：【赤・大きく】 */
body .c-links-title__ja {
    font-size: 5.8vw !important; /* SPサイズ（元の英語サイズ） */
    color: #b80016 !important; /* 赤色 */
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    width: auto !important;
}
/* 子要素のspanにもスタイルを継承 */
body .c-links-title__ja span {
    font-size: inherit !important;
    color: inherit !important;
    font-weight: inherit !important;
}

/* 3. 英語（BUSINESS など）：【黒・小さく】 */
body .c-links-item-title__en {
    font-size: 3.4vw !important; /* SPサイズ（元の日本語サイズ） */
    color: #222 !important; /* 黒色 */
    font-weight: 500 !important;
    font-style: normal !important; /* イタリック解除 */
    line-height: 1.3 !important;
    margin: 0 !important;
}

/* --- PCサイズ（画面幅 835px以上）の調整 --- */
@media (min-width: 52.1875em) {
    body .c-links-item-title {
        gap: 10px !important;
    }

    /* 日本語（PC大） */
    body .c-links-title__ja {
        font-size: 32px !important;
    }

    /* 英語（PC小） */
    body .c-links-item-title__en {
        font-size: 16px !important;
    }
}

/* --- 大型PCサイズ（画面幅 1440px以上）の調整 --- */
@media (min-width: 90em) {
    body .c-links-title__ja {
        font-size: 32px !important;
    }
    body .c-links-item-title__en {
        font-size: 16px !important;
    }
}

body .c-links-item a .c-links-item__radius {
    flex-shrink: 0 !important; /* どんなに狭くても縮小させない */
    margin-left: 4vw !important; /* テキストとの間に少し余白を空ける */
}

/* PCサイズの余白調整 */
@media (min-width: 52.1875em) {
    body .c-links-item a .c-links-item__radius {
        margin-left: 20px !important;
    }
}
