:root {
    --font-family_notosans: 'Noto Sans JP', 'Helvetica Neue', 'Helvetica', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Arial', 'Yu Gothic', 'Meiryo', sans-serif;
    --font-family_mont: 'Montserrat', sans-serif;
    --font-family_notoserif: 'Noto Serif JP', serif
}

@keyframes flash {
    0% {
        opacity: .7
    }

    100% {
        opacity: 1
    }
}

* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box
}

html,
body {
    height: 100%
}

body {
    display: block;
    font-kerning: none;
    text-rendering: geometricPrecision;
    text-decoration-thickness: 1px;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: antialiased;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: none;
    font-style: normal;
    line-height: 1;
    line-break: strict;
    overflow-x: hidden;
    overflow-y: scroll
}

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

ul,
ol {
    list-style: none
}

dt {
    font-weight: bold
}

dd {
    margin-left: 0
}

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

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

address {
    font-style: inherit
}

a {
    background-color: rgba(0, 0, 0, 0);
    text-decoration: none;
    color: inherit
}

a[href^="tel:"] {
    pointer-events: none
}

@media screen and (max-width: -1) {
    a[href^="tel:"] {
        pointer-events: inherit
    }
}

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

button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    border: 0;
    background: rgba(0, 0, 0, 0);
    padding: 0;
    margin: 0;
    outline: 0;
    border-radius: 0;
    text-align: inherit;
    text-rendering: geometricPrecision !important
}

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

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

button,
input {
    overflow: visible
}

[type=button],
[type=reset],
[type=submit] {
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

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

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText
}

select::-ms-expand {
    display: none
}

option {
    padding: 0
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

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

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

caption {
    text-align: left
}

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

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

dt,
dd,
th,
td,
li {
    font-size: inherit;
    line-height: inherit
}

html {
    font-size: 62.5%
}

@media screen and (min-width: 1921px) {
    html {
        font-size: .5205622072vw
    }
}

@media screen and (min-width: 1024px)and (max-width: 1200px) {
    html {
        font-size: .8333333333vw
    }
}

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

body {
    font-family: var(--font-family_notosans);
    font-optical-sizing: auto;
    font-weight: 400;
    letter-spacing: .09em;
    color: var(--color_txt_black2);
    background-color: var(--color_bg_gray);
    position: relative
}

@media screen and (min-width: 1024px) {
    body {
        padding-top: 7.3rem
    }
}

@media screen and (max-width: 1023px) {
    body {
        padding-top: 6rem
    }
}

.grecaptcha-badge {
    visibility: hidden !important;
    pointer-events: none !important
}

:root {
    --ease_inSine: cubic-bezier(0.47, 0, 0.745, 0.715);
    --ease_inOutSine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
    --ease_inQuad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
    --ease_inCubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    --ease_inQuart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
    --ease_inOutQuart: cubic-bezier(0.77, 0, 0.175, 1);
    --ease_inQuint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    --ease_inExpo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
    --ease_inCirc: cubic-bezier(0.6, 0.04, 0.98, 0.335);
    --ease_inBack: cubic-bezier(0.6, -0.28, 0.735, 0.045);
    --ease_outSine: cubic-bezier(0.39, 0.575, 0.565, 1);
    --ease_outQuad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --ease_outCubic: cubic-bezier(0.215, 0.61, 0.355, 1);
    --ease_outQuart: cubic-bezier(0.165, 0.84, 0.44, 1);
    --ease_outQuint: cubic-bezier(0.23, 1, 0.32, 1);
    --ease_outExpo: cubic-bezier(0.19, 1, 0.22, 1);
    --ease_outCirc: cubic-bezier(0.075, 0.82, 0.165, 1);
    --ease_outBack: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --ease_inOutQuad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
    --ease_inOutCubic: cubic-bezier(0.645, 0.045, 0.355, 1);
    --ease_inOutQuint: cubic-bezier(0.86, 0, 0.07, 1);
    --ease_inOutExpo: cubic-bezier(1, 0, 0, 1);
    --ease_inOutCirc: cubic-bezier(0.785, 0.135, 0.15, 0.86);
    --ease_inOutBack: cubic-bezier(0.68, -0.55, 0.265, 1.55)
}

:root {
    --color_theme: #2784EC;
    --color_main: #2784EC;
    --color_black: #000000;
    --color_white: #ffffff;
    --color_bg_white: #ffffff;
    --color_bg_black: #000000;
    --color_bg_black2: #00001A;
    --color_bg_gray: #F5F5F5;
    --color_bg_gray2: #E2E2E6;
    --color_bg_gray3: #A6A6B1;
    --color_bg_purple: #28283C;
    --color_bg_light_blue: #2784EC;
    --color_txt_main: #31D0E5;
    --color_txt_white: #ffffff;
    --color_txt_black: #000000;
    --color_txt_black2: #00001A;
    --color_txt_blue: #104881;
    --color_txt_light_blue: #2784EC;
    --color_txt_purple: #28283C;
    --color_txt_gray: #A6A6B1;
    --color_txt_red: #BA1F1F;
    --color_line_black: #00001A;
    --color_line_gray: #A6A6B1;
    --color_line_gray2: #E2E2E6;
    --color_line_white: #ffffff;
    --color_line_light_blue: #2784EC;
    --color_line_blue: #104881
}

.l-header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999
}

.l-header::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color_line_gray2);
    position: absolute;
    z-index: 9999;
    bottom: 0;
    left: 0
}

body.is-sitemap-open .l-header::before {
    background-color: var(--color_line_white)
}

.l-header::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color_bg_white);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1
}

@media screen and (min-width: 1024px) {
    .l-header {
        --header-width: 1188
    }
}

@media screen and (max-width: 1023px) {
    .l-header {
        --header-width: 374
    }
}

.l-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    width: calc(var(--header-width)/var(--base-width)*100%)
}

@media screen and (min-width: 1024px) {
    .l-header__inner {
        height: 7.3rem;
        margin-left: calc(141/var(--base-width)*100%)
    }
}

@media screen and (max-width: 1023px) {
    .l-header__inner {
        height: 6rem;
        margin-left: 1.5384615385%
    }
}

.l-header__logo {
    position: relative;
    z-index: 9999
}

@media screen and (min-width: 1024px) {
    .l-header__logo {
        width: 40.6rem
    }
}

@media screen and (max-width: 1023px) {
    .l-header__logo {
        width: 29.2rem
    }
}

.l-header__logo a {
    display: block;
    position: relative
}

@media screen and (min-width: 1024px) {
    .l-header__logo a {
        font-size: 2.4rem
    }
}

.l-header__logo__black {
    transition: opacity .4s var(--ease_outSine);
    will-change: opacity
}

body.is-sitemap-open .l-header__logo__black {
    opacity: 0
}

@media screen and (min-width: 1024px) {
    .l-header__logo__white {
        display: none
    }
}

@media screen and (max-width: 1023px) {
    .l-header__logo__white {
        display: block;
        width: 100%;
        opacity: 0;
        transition: opacity .4s var(--ease_outSine);
        will-change: opacity;
        position: absolute;
        top: 0;
        left: 0
    }

    body.is-sitemap-open .l-header__logo__white {
        opacity: 1
    }
}

.l-header__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%
}

@media screen and (min-width: 1024px) {
    .l-header__nav {
        width: 51.2rem
    }
}

@media screen and (max-width: 1023px) {
    .l-header__nav {
        display: none
    }
}

.l-header__nav ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none
}

@media screen and (min-width: 1024px) {
    .l-header__nav ul {
        width: 54.6875%
    }
}

.l-header__nav li>a {
    font-weight: 700;
    transition: color .6s var(--ease_outQuint);
    will-change: color;
    position: relative;
    z-index: 2
}

.l-header__nav li>a::after {
    content: "";
    display: block;
    width: 100%;
    height: .2rem;
    margin: 0 auto;
    background-color: var(--color_bg_purple);
    transform: scaleX(0);
    transition: transform .6s var(--ease_outQuint);
    will-change: transform;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.7rem
}

@media screen and (min-width: 1024px) {
    .l-header__nav li>a {
        font-size: 1.5rem
    }

    .l-header__nav li>a:hover {
        color: var(--color_txt_purple)
    }

    .l-header__nav li>a:hover::after {
        transform: scaleX(1)
    }
}

@media screen and (min-width: 1024px) {
    .l-header__nav__contact {
        width: 36.9140625%
    }
}

.l-header__nav__contact a {
    display: flex;
    align-items: center;
    background-image: url(../../assets/image/common/contact-bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transition: transform .6s var(--ease_outQuint);
    will-change: transform;
    backface-visibility: hidden
}

@media screen and (min-width: 1024px) {
    .l-header__nav__contact a {
        padding-left: 13%;
        min-height: 5.2rem
    }

    .l-header__nav__contact a:hover {
        transform: scale(0.95)
    }
}

p.l-header__nav__contact a i {
    display: block;
    width: 1.8rem;
    margin-right: 6%
}

p.l-header__nav__contact a span {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color_txt_white);
    letter-spacing: .06em
}

.l-header-button {
    display: none;
    width: 2.8rem;
    height: 2rem;
    position: relative;
    z-index: 9999
}

@media screen and (max-width: 1023px) {
    .l-header-button {
        display: block
    }
}

.l-header-button__line {
    width: 100%;
    height: 100%;
    display: block;
    position: relative
}

.l-header-button__line span {
    display: block;
    width: 2.8rem;
    height: 1px;
    background-color: var(--color_bg_black);
    position: absolute;
    left: 50%;
    transition: .4s var(--ease_outQuad);
    will-change: transform, background-color
}

body.is-sitemap-open .l-header-button__line span {
    width: 3.4rem;
    background-color: var(--color_bg_white)
}

.l-header-button__line span:nth-of-type(1) {
    top: 0;
    transform: translateX(-50%)
}

.l-header-button__line span:nth-of-type(2) {
    top: 50%;
    transform: translate(-50%, -50%)
}

.l-header-button__line span:nth-of-type(3) {
    bottom: 0;
    transform: translateX(-50%)
}

body.is-sitemap-open .l-header-button__line span:nth-of-type(1) {
    top: 50%;
    transform: translate(-50%, -50%) rotate(30deg)
}

body.is-sitemap-open .l-header-button__line span:nth-of-type(2) {
    opacity: 0
}

body.is-sitemap-open .l-header-button__line span:nth-of-type(3) {
    top: 50%;
    bottom: auto;
    transform: translate(-50%, -50%) rotate(-30deg)
}

@media screen and (min-width: 1024px) {
    .l-footer {
        padding: 8rem 0 2.9rem
    }
}

@media screen and (max-width: 1023px) {
    .l-footer {
        padding: 5rem 0 6rem
    }
}

@media screen and (min-width: 1024px) {

    .t-sekisan+.l-footer,
    .t-cad+.l-footer,
    .t-jimu+.l-footer,
    .t-doryo+.l-footer {
        padding-top: 11.7rem
    }
}

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

    .t-sekisan+.l-footer,
    .t-cad+.l-footer,
    .t-jimu+.l-footer,
    .t-doryo+.l-footer {
        padding-top: 3.5rem
    }
}

@media screen and (min-width: 1024px) {

    .t-newgraduate+.l-footer,
    .t-midcareer+.l-footer {
        padding-top: 10.6rem
    }
}

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

    .t-newgraduate+.l-footer,
    .t-midcareer+.l-footer {
        padding-top: 5.6rem
    }
}

.t-privacypolicy+.l-footer .l-contact,
.t-contact+.l-footer .l-contact {
    display: none
}

.l-contact__header {
    text-align: center;
    display: none
}

.t-recruit+.l-footer .l-contact__header,
.t-newgraduate+.l-footer .l-contact__header,
.t-midcareer+.l-footer .l-contact__header,
.t-figures+.l-footer .l-contact__header {
    display: block
}

.t-figures+.l-footer .l-contact__header {
    padding-top: 0
}

@media screen and (min-width: 1024px) {
    .l-contact__header {
        padding: .3rem 0 2.5rem
    }
}

@media screen and (max-width: 1023px) {
    .l-contact__header {
        padding: 1rem 0 2.7rem
    }
}

.l-contact__heading {
    letter-spacing: .06em;
    font-weight: 700
}

@media screen and (min-width: 1024px) {
    .l-contact__heading {
        font-size: 2.4rem;
        line-height: 1.4583333333em
    }
}

@media screen and (max-width: 1023px) {
    .l-contact__heading {
        font-size: 2rem;
        line-height: 1.45em
    }
}

.l-contact__txt {
    letter-spacing: .06em;
    font-weight: 700
}

@media screen and (min-width: 1024px) {
    .l-contact__txt {
        margin-top: .9rem;
        font-size: 1.6rem;
        line-height: 1.75em
    }
}

@media screen and (max-width: 1023px) {
    .l-contact__txt {
        margin-top: 1rem;
        font-size: 1.2rem;
        line-height: 1.6666666667em
    }
}

.l-contact-button {
    display: block;
    margin: 0 auto;
    background: url(../../assets/image/common/footer-contact-bg.svg) center center/contain no-repeat;
    position: relative;
    font-weight: 700;
    color: var(--color_txt_white);
    transition: transform .6s var(--ease_outQuint);
    will-change: transform;
    backface-visibility: hidden
}

@media screen and (min-width: 1024px) {
    .l-contact-button {
        width: 38.3rem;
        min-height: 13.7rem;
        padding: 2rem 0 2.9rem;
        padding-left: 3rem
    }

    .l-contact-button:hover {
        transform: scale(0.95)
    }
}

@media screen and (max-width: 1023px) {
    .l-contact-button {
        width: 26.8rem;
        padding: .8rem 0 1.4rem;
        padding-left: 2rem
    }
}

.l-contact-button::after {
    content: "";
    display: block;
    width: 1.6rem;
    height: 1.4rem;
    background: url(../../assets/image/common/icon/icon-arrow-right-white.svg) center center/contain no-repeat;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 2.2rem
}

.l-contact-button__heading {
    font-size: calc(var(--font-size)*0.1rem);
    line-height: var(--line-height);
    letter-spacing: .03em
}

@media screen and (min-width: 1024px) {
    .l-contact-button__heading {
        --font-size: 32;
        --line-height: calc(46/var(--font-size))
    }
}

@media screen and (max-width: 1023px) {
    .l-contact-button__heading {
        --font-size: 26;
        --line-height: calc(38/var(--font-size))
    }
}

.l-contact-button__txt {
    font-size: calc(var(--font-size)*0.1rem);
    line-height: var(--line-height);
    letter-spacing: .1em
}

@media screen and (min-width: 1024px) {
    .l-contact-button__txt {
        --font-size: 14;
        --line-height: calc(20/var(--font-size));
        margin-top: .3rem
    }
}

@media screen and (max-width: 1023px) {
    .l-contact-button__txt {
        --font-size: 12;
        --line-height: calc(17/var(--font-size));
        margin-top: .2rem
    }
}

.l-footer__lead {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    color: var(--color_txt_purple);
    letter-spacing: .09em
}

@media screen and (min-width: 1024px) {
    .l-footer__lead {
        margin-top: 1.6rem;
        margin-left: .5rem;
        font-size: 1.9rem
    }
}

@media screen and (max-width: 1023px) {
    .l-footer__lead {
        margin-top: 1.4rem;
        font-size: 1.4rem
    }
}

.l-footer-main {
    border-top: 1px solid var(--color_line_gray2)
}

@media screen and (min-width: 1024px) {
    .l-footer-main {
        display: flex;
        padding-top: 3.8rem
    }
}

@media screen and (max-width: 1023px) {
    .l-footer-main {
        padding-top: 4rem
    }
}

@media screen and (min-width: 1024px) {
    .l-contact+.l-footer-main {
        margin-top: 7.8rem
    }
}

@media screen and (max-width: 1023px) {
    .l-contact+.l-footer-main {
        margin-top: 5rem
    }
}

@media screen and (min-width: 1024px) {
    .t-privacypolicy+.l-footer {
        padding-top: 10.5rem
    }
}

@media screen and (max-width: 1023px) {
    .t-privacypolicy+.l-footer {
        padding-top: 5.2rem
    }
}

.t-privacypolicy+.l-footer .l-footer-main {
    margin-top: 0
}

.t-contact+.l-footer .l-footer-main {
    margin-top: 0
}

.t-contact.-contact-send+.l-footer {
    padding-top: 10rem
}

@media screen and (min-width: 1024px) {
    .l-footer-main__left {
        width: 34.4rem
    }
}

@media screen and (min-width: 1024px) {
    .l-footer-main__right {
        width: 44rem;
        margin-top: -0.2rem;
        margin-left: auto;
        margin-right: 1rem;
        margin-right: calc(66/var(--content-small)*100%)
    }
}

@media screen and (max-width: 1023px) {
    .l-footer-main__right {
        margin-top: 5.3rem
    }
}

@media screen and (min-width: 1024px) {
    .l-footer__logo {
        width: 25.2rem
    }
}

@media screen and (max-width: 1023px) {
    .l-footer__logo {
        width: 17.3rem
    }
}

.l-footer__logo a {
    display: block;
    transition: opacity .6s var(--ease_outQuint);
    will-change: opacity
}

@media screen and (min-width: 1024px) {
    .l-footer__logo a:hover {
        opacity: .6
    }
}

.l-footer-nav {
    display: flex
}

@media screen and (min-width: 1024px) {
    .l-footer-nav ul:nth-of-type(2) {
        margin-left: 9.6rem
    }
}

@media screen and (max-width: 1023px) {
    .l-footer-nav ul:nth-of-type(2) {
        margin-left: 15.4285714286%
    }
}

@media screen and (min-width: 1024px) {
    .l-footer-nav ul:nth-of-type(3) {
        margin-left: 7.2rem
    }
}

@media screen and (max-width: 1023px) {
    .l-footer-nav ul:nth-of-type(3) {
        margin-left: 11.4285714286%
    }
}

.l-footer-nav li:first-child a {
    font-weight: 700;
    letter-spacing: .06em
}

@media screen and (min-width: 1024px) {
    .l-footer-nav li:first-child a {
        font-size: 1.6rem;
        line-height: 1.75em
    }
}

@media screen and (max-width: 1023px) {
    .l-footer-nav li:first-child a {
        font-size: 1.4rem;
        line-height: 1.5714285714em
    }
}

@media screen and (min-width: 1024px) {
    .l-footer-nav li {
        margin-top: 1.2rem
    }

    .l-footer-nav li:nth-child(1) {
        margin-top: 0
    }

    .l-footer-nav li:nth-child(2) {
        margin-top: .7rem
    }
}

@media screen and (max-width: 1023px) {
    .l-footer-nav li+li {
        margin-top: .9rem
    }
}

.l-footer-nav li:not(:first-child) a {
    color: var(--color_txt_purple)
}

@media screen and (min-width: 1024px) {
    .l-footer-nav2 {
        margin-top: 5.3rem
    }
}

@media screen and (max-width: 1023px) {
    .l-footer-nav2 {
        margin-top: 2.8rem
    }
}

.l-footer-nav2 ul {
    display: flex
}

@media screen and (min-width: 1024px) {
    .l-footer-nav2 li:nth-child(n+2) {
        margin-left: 2rem
    }
}

@media screen and (max-width: 1023px) {
    .l-footer-nav2 li:nth-child(n+2) {
        margin-left: 3%
    }
}

@media screen and (min-width: 1024px) {
    .l-footer-nav2 li a {
        font-size: 1.2rem;
        line-height: 1.6666666667em
    }
}

.l-footer-nav li a,
.l-footer-nav2 li a {
    display: inline-block;
    position: relative
}

@media screen and (min-width: 1024px) {

    .l-footer-nav li a:hover::after,
    .l-footer-nav2 li a:hover::after {
        opacity: 1;
        transform: scaleX(1);
        transform-origin: center left
    }
}

.l-footer-nav li a::after,
.l-footer-nav2 li a::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color_txt_purple);
    opacity: 0;
    transform: scaleX(0);
    transition: .4s var(--ease_outQuad);
    transition-property: transform, opacity;
    will-change: transform, opacity;
    transform-origin: center right;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1
}

.l-footer__copyright {
    font-size: .9rem;
    line-height: 1.3333333333em;
    text-align: center;
    color: var(--color_txt_gray);
    letter-spacing: .1em
}

@media screen and (min-width: 1024px) {
    .l-footer__copyright {
        margin-top: 11rem
    }
}

@media screen and (max-width: 1023px) {
    .l-footer__copyright {
        margin-top: 8.8rem
    }
}

.l-footer__pagetop a {
    --box-size: 62;
    width: calc(var(--box-size)*0.1rem);
    height: calc(var(--box-size)*0.1rem);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color_bg_black2);
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 9990
}

.l-footer__pagetop a:hover .l-footer__pagetop__icon {
    transform: translateY(-0.5rem)
}

@media screen and (max-width: 1023px) {
    .l-footer__pagetop a {
        display: none
    }
}

.l-footer__pagetop__icon {
    display: inline-block;
    width: 1.8rem;
    height: 2.5rem;
    transition: transform .6s var(--ease_outExpo);
    pointer-events: none
}

.l-sitemap {
    width: 100%;
    height: 100%;
    padding-top: 6rem;
    background-color: var(--color_bg_pink);
    opacity: 0;
    pointer-events: none;
    transition: opacity .4s var(--ease_outSine);
    will-change: opacity;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9997;
    background-color: var(--color_bg_purple)
}

body.is-sitemap-open .l-sitemap {
    opacity: 1;
    pointer-events: auto
}

.l-sitemap a {
    color: var(--color_txt_white)
}

.l-sitemap__inner {
    width: calc(290/var(--base-width)*100%);
    height: 100%;
    margin: 0 auto;
    padding-top: 4rem
}

.l-sitemap__inner>div {
    padding-bottom: 5rem;
    height: 100%;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none
}

.l-sitemap__inner>div::-webkit-scrollbar {
    display: none
}

.l-sitemap__top a {
    display: inline-block;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.45em;
    letter-spacing: .06em;
    color: var(--color_txt_white)
}

.l-sitemap__section:nth-of-type(2) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 4.4rem;
    margin-top: 4.6rem
}

.t-privacy-section:nth-child(2)::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color_line_gray2);
    margin-top: 10rem;
}

.l-sitemap__nav::before {
    content: "";
    display: block;
    width: 3.3rem;
    height: 1px;
    margin-bottom: 4.1rem;
    background-color: var(--color_line_gray)
}

.l-sitemap__nav:not(:last-of-type) li:first-child {
    font-weight: 700
}

.l-sitemap__nav:not(:last-of-type) li:first-child a {
    font-size: 2rem;
    line-height: 1.45em
}

.l-sitemap__nav:nth-child(3)::before,
.l-sitemap__nav:nth-child(4)::before {
    margin-bottom: 3rem
}

.l-sitemap__nav a {
    display: inline-block;
    font-size: 1.4rem;
    letter-spacing: .06em;
    line-height: 1.4285714286em
}

.l-sitemap__nav li:nth-child(2) {
    margin-top: 1.6rem
}

.l-sitemap__nav li:nth-child(n+3) {
    margin-top: 1.2rem
}

.l-sitemap__nav:last-of-type li:nth-child(2) {
    margin-top: 1.9rem
}

.l-sitemap__contact {
    width: 26rem;
    margin: 5.7rem auto 0
}

.l-sitemap__contact a {
    display: flex;
    width: 100%;
    min-height: 7.2rem;
    padding-left: 13%;
    align-items: center;
    background: url(../../assets/image/common/contact-bg.png) no-repeat center center/contain
}

.l-sitemap__contact a i {
    display: block;
    width: 2.5rem;
    margin-right: 1.2rem
}

.l-sitemap__contact a span {
    font-size: 2rem;
    color: var(--color_txt_white);
    font-weight: 700;
    letter-spacing: .06em
}

.l-sitemap__copyright {
    margin-top: 3.3rem;
    font-size: .8rem;
    text-align: center;
    color: var(--color_txt_white);
    line-height: 1.5em;
    letter-spacing: .1em
}

.js-tab__menu {
    padding: 0;
    background-color: rgba(0, 0, 0, 0);
    border: none;
    outline: none;
    font: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer
}

.js-tab__header {
    display: flex
}

.js-tab__content {
    height: 0;
    overflow: hidden
}

.js-tab__content.is-active {
    height: auto
}

.js-tab__content__inner {
    opacity: 0
}

.js-tab__content.is-active .js-tab__content__inner {
    opacity: 1
}

.js-fadeUp-group__item,
.js-fadeUp {
    opacity: 0
}

@media screen and (min-width: 1024px) {
    .p-list-news {
        display: flex;
        justify-content: space-between
    }
}

@media screen and (min-width: 1024px) {
    .p-list-news__header {
        flex: 1
    }
}

@media screen and (min-width: 1024px) {
    .p-list-news__main {
        width: calc(623/var(--content-small2)*100%);
        margin-top: -1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-list-news__main {
        margin-top: 2.4rem
    }

    .t-events .p-list-news__main {
        margin-top: .7rem
    }
}

.p-list-news__list li {
    border-bottom: 1px solid var(--color_line_gray)
}

@media screen and (min-width: 1024px) {
    .p-list-news__list li:last-child {
        border-bottom: 0
    }
}

.p-list-news__list li a {
    width: 100%;
    font-size: 1.2rem;
    line-height: 1.6666666667em;
    position: relative;
    overflow: hidden
}

@media screen and (min-width: 1024px) {
    .p-list-news__list li a {
        display: flex;
        align-items: center;
        padding: 1rem 0
    }

    .p-list-news__list li a:hover::after {
        opacity: .05;
        transform: scaleX(1);
        transform-origin: center left
    }
}

@media screen and (max-width: 1023px) {
    .p-list-news__list li a {
        display: block;
        padding: 1.1rem 0
    }
}

.p-list-news__list li a::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color_bg_purple);
    opacity: 0;
    transform: scaleX(0);
    transition: .4s var(--ease_outQuad);
    transition-property: transform, opacity;
    will-change: transform, opacity;
    transform-origin: center right;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    pointer-events: none
}

.p-list-news__list__date {
    color: var(--color_txt_purple)
}

@media screen and (min-width: 1024px) {
    .p-list-news__list__date {
        width: 9rem
    }
}

.p-list-news__list__title {
    color: var(--color_txt_purple);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    position: relative
}

@media screen and (min-width: 1024px) {
    .p-list-news__list__title {
        flex: 1
    }
}

.p-list-num {
    counter-reset: number 0
}

@media screen and (min-width: 1024px) {
    .c-txt-small3+.p-list-num {
        margin-top: 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-small3+.p-list-num {
        margin-top: .8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-list-num.-list-type1>li+li {
        margin-top: 4.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-list-num.-list-type1>li+li {
        margin-top: .6rem
    }
}

.p-list-num li {
    position: relative
}

@media screen and (min-width: 1024px) {
    .p-list-num li {
        padding-left: 3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-list-num li {
        padding-left: 1.5rem
    }
}

.p-list-num li+li {
    margin-top: .8rem
}

.p-list-num li::before {
    counter-increment: number 1;
    content: counter(number);
    color: var(--color_txt_light_blue);
    font-weight: 700;
    position: absolute;
    top: 0;
    left: 0
}

@media screen and (min-width: 1024px) {
    .p-list-num li::before {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-list-num li::before {
        font-size: 1.4rem
    }
}

.p-list-num2 {
    counter-reset: number 0
}

@media screen and (min-width: 1024px) {
    .p-list-num .p-list-num2 {
        margin-top: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-list-num .p-list-num2 {
        margin-top: .6rem
    }
}

@media screen and (min-width: 1024px) {
    .c-txt-small3+.p-list-num2 {
        margin-top: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-small3+.p-list-num2 {
        margin-top: .6rem
    }
}

.p-list-num2 li {
    position: relative
}

@media screen and (min-width: 1024px) {
    .p-list-num2 li {
        padding-left: 3rem;
        font-size: 1.4rem;
        line-height: 1.7142857143em
    }
}

@media screen and (max-width: 1023px) {
    .p-list-num2 li {
        padding-left: 2.4rem;
        font-size: 1.2rem;
        line-height: 1.6666666667em
    }
}

.p-list-num2 li+li {
    margin-top: .6rem
}

.p-list-num2 li::before {
    counter-increment: number 1;
    content: "(" counter(number) ")";
    color: var(--color_txt_light_blue);
    font-weight: 700;
    position: absolute;
    top: 0;
    left: 0
}

@media screen and (min-width: 1024px) {
    .p-list-num2 li::before {
        font-size: 1.4rem;
        line-height: 1.7142857143em
    }
}

@media screen and (max-width: 1023px) {
    .p-list-num2 li::before {
        font-size: 1.2rem;
        line-height: 1.6666666667em
    }
}

.p-list-kana {
    counter-reset: number 0
}

@media screen and (min-width: 1024px) {
    .p-list-num .p-list-kana {
        margin-top: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-list-num .p-list-kana {
        margin-top: .6rem
    }
}

@media screen and (min-width: 1024px) {
    .c-txt-small3+.p-list-kana {
        margin-top: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-small3+.p-list-kana {
        margin-top: .6rem
    }
}

.p-list-kana li {
    position: relative
}

@media screen and (min-width: 1024px) {
    .p-list-kana li {
        padding-left: 4rem;
        font-size: 1.4rem;
        line-height: 1.7142857143em
    }
}

@media screen and (max-width: 1023px) {
    .p-list-kana li {
        padding-left: 1.9rem;
        font-size: 1.2rem;
        line-height: 1.6666666667em
    }
}

.p-list-kana li+li {
    margin-top: .6rem
}

.p-list-kana li::before {
    counter-increment: number 1;
    content: counter(number, katakana);
    color: var(--color_txt_light_blue);
    font-weight: 700;
    position: absolute;
    top: 0
}

@media screen and (min-width: 1024px) {
    .p-list-kana li::before {
        font-size: 1.4rem;
        line-height: 1.7142857143em;
        left: 1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-list-kana li::before {
        font-size: 1.2rem;
        line-height: 1.6666666667em;
        left: -0.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-list-num .p-list-disc {
        margin-top: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-list-num .p-list-disc {
        margin-top: .6rem
    }
}

.p-list-disc li {
    position: relative;
    margin-top: .6rem;
}

@media screen and (min-width: 1024px) {
    .p-list-disc li {
        padding-left: 4rem;
        font-size: 1.4rem;
        line-height: 1.7142857143em
    }
}

@media screen and (max-width: 1023px) {
    .p-list-disc li {
        padding-left: 1.9rem;
        font-size: 1.2rem;
        line-height: 1.6666666667em
    }
}

.p-list-disc li::before {
    content: "・";
    color: var(--color_txt_light_blue);
    font-weight: 700;
    position: absolute;
    top: 0;
    left: 0;
}

@media screen and (min-width: 1024px) {
    .p-list-disc li::before {
        font-size: 1.4rem;
        line-height: 1.7142857143em;
        left: 1rem;
    }
}

@media screen and (max-width: 1023px) {
    .p-list-disc li::before {
        font-size: 1.2rem;
        line-height: 1.6666666667em;
    }
}

.p-list-news__list__not-message {
    padding: 1rem 0
}



.p-button__inner {
    display: block;
    position: relative
}

.p-button a {
    display: block;
    position: relative
}

@media screen and (min-width: 1024px) {
    .p-button a:hover::after {
        transform: scaleX(0)
    }

    .p-button a:hover .p-button__icon {
        transform: translateY(-50%) translateX(0.5rem)
    }
}

.p-button a::before,
.p-button a::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    transition: transform .8s var(--ease_outQuint);
    will-change: transform;
    transform-origin: center right;
    position: absolute;
    bottom: 0;
    left: 0
}

.p-button a::before {
    background-color: var(--color_line_gray2);
    z-index: 1
}

.p-button a::after {
    background-color: var(--color_line_black);
    z-index: 2
}

.p-button.-button-small a {
    padding-bottom: 1.1rem;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.4285714286em
}

.p-button.-button-small a .p-button__icon {
    top: calc(50% + .2rem);
    right: .3rem
}

.p-button.-button-medium a {
    font-weight: 700;
    letter-spacing: .06em
}

@media screen and (min-width: 1024px) {
    .p-button.-button-medium a {
        padding-bottom: 1.3rem;
        font-size: 1.6rem;
        line-height: 1.75em
    }
}

@media screen and (max-width: 1023px) {
    .p-button.-button-medium a {
        padding-bottom: 1.1rem;
        font-size: 1.4rem;
        line-height: 1.4285714286em
    }
}

@media screen and (min-width: 1024px) {
    .p-button.-button-medium a .p-button__icon {
        top: calc(50% - .2rem)
    }
}

@media screen and (max-width: 1023px) {
    .p-button.-button-medium a .p-button__icon {
        top: calc(50% + .3rem)
    }
}

.p-button.-button-white a {
    color: var(--color_txt_white)
}

.p-button.-button-white a::after {
    background-color: var(--color_line_white);
    z-index: 2
}

.p-button.-button-white a::before {
    opacity: .6
}

.p-button.-button-white a .p-button__icon path {
    fill: var(--color_txt_white)
}

.p-button__icon {
    display: block;
    transition: transform .8s var(--ease_outQuint);
    will-change: transform;
    position: absolute;
    top: 0;
    right: 0;
    transform: translateY(-50%)
}

.p-button__icon.-arrow-right-blue {
    fill: var(--color_bg_light_blue)
}

.p-button__icon.-icon-small {
    width: 1.1rem
}

.p-button2-wrap {
    display: flex;
    justify-content: center
}

@media screen and (min-width: 1024px) {
    .p-button2 {
        width: 25.5rem;
        height: 8.4rem
    }

    .p-button2+.p-button2 {
        margin-left: 5.7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button2 {
        width: 16rem;
        height: 5.2rem
    }

    .p-button2+.p-button2 {
        margin-left: 2.2rem
    }
}

.p-button2 a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    color: var(--color_txt_white);
    font-weight: 700;
    background: url(../../assets/image/common/button-bg-samll.svg) center center/contain no-repeat;
    transition: transform .6s var(--ease_outQuint);
    will-change: transform;
    backface-visibility: hidden;
    position: relative
}

@media screen and (min-width: 1024px) {
    .p-button2 a {
        padding-left: 2.8rem
    }

    .p-button2 a:hover {
        transform: scale(0.95)
    }
}

@media screen and (max-width: 1023px) {
    .p-button2 a {
        padding-left: 1.6rem
    }
}

.p-button2 a::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: url(../../assets/image/common/icon/icon-arrow-right-white.svg) no-repeat center center/contain
}

@media screen and (min-width: 1024px) {
    .p-button2 a::after {
        width: 1.6rem;
        height: 1.4rem;
        right: 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button2 a::after {
        width: 1rem;
        height: .9rem;
        right: .9rem
    }
}

.p-button2__txt {
    display: block
}

.p-button2__txt span {
    display: block;
    letter-spacing: .06em
}

@media screen and (min-width: 1024px) {
    .p-button2__txt span:nth-of-type(1) {
        font-size: 2.4rem;
        line-height: 1.4583333333em
    }
}

@media screen and (max-width: 1023px) {
    .p-button2__txt span:nth-of-type(1) {
        font-size: 1.4rem;
        line-height: 1.5714285714em
    }
}

@media screen and (min-width: 1024px) {
    .p-button2__txt span:nth-of-type(2) {
        font-size: 1.4rem;
        line-height: 1.7142857143em
    }
}

@media screen and (max-width: 1023px) {
    .p-button2__txt span:nth-of-type(2) {
        margin-top: -0.3rem;
        font-size: 1.2rem;
        line-height: 1.6666666667em
    }
}

.p-button3 a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: var(--color_line_blue);
    border: 2px solid var(--color_line_blue);
    border-radius: 100px;
    font-weight: 700;
    letter-spacing: .06em;
    position: relative;
    color: var(--color_txt_white);
    overflow: hidden;
    transition: color .8s var(--ease_outExpo);
    box-shadow: 0px .5rem #a3b8cd
}

@media screen and (min-width: 1024px) {
    .p-button3 a {
        font-size: 2.4rem;
        line-height: 1.4583333333em
    }

    .p-button3 a:hover {
        color: var(--color_txt_blue)
    }

    .p-button3 a:hover:after {
        left: -10%
    }
}

@media screen and (max-width: 1023px) {
    .p-button3 a {
        font-size: 1.4rem;
        line-height: 1.5714285714em;
        box-shadow: 0px .4rem #a3b8cd
    }
}

.p-button3 a::after {
    content: "";
    display: block;
    width: 120%;
    height: 100%;
    background-color: var(--color_bg_white);
    position: absolute;
    top: 0;
    left: -130%;
    transform: skewX(-25deg);
    transition: left .8s var(--ease_outExpo);
    z-index: 1
}

.p-button3 a span {
    display: inline-block;
    position: relative;
    z-index: 2
}

.p-title {
    position: relative
}

.p-title::after {
    content: "";
    display: block;
    width: 5.5rem;
    height: 1px;
    background-color: var(--color_line_gray)
}

@media screen and (min-width: 1024px) {
    .p-title::after {
        margin-top: 2.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-title::after {
        margin-top: 2.5rem
    }
}

.p-title__en {
    font-weight: 700;
    letter-spacing: .1em;
    color: var(--color_txt_light_blue)
}

@media screen and (min-width: 1024px) {
    .p-title__en {
        font-size: 1.4rem;
        line-height: 1.4285714286em
    }
}

@media screen and (max-width: 1023px) {
    .p-title__en {
        font-size: 1.2rem;
        line-height: 1.4166666667em
    }
}

.p-title__ja {
    font-weight: 700;
    letter-spacing: .06em
}

@media screen and (min-width: 1024px) {
    .p-title__ja {
        font-size: 3.6rem;
        line-height: 1.4444444444em;
        white-space: nowrap
    }
}

@media screen and (max-width: 1023px) {
    .p-title__ja {
        font-size: 2rem;
        line-height: 1.45em
    }
}

@media screen and (min-width: 1024px) {
    .p-title__en+.p-title__ja {
        margin-top: 2.7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-title__en+.p-title__ja {
        margin-top: .7rem
    }
}

.p-title2 {
    position: relative
}

.p-title2.-title-white .p-title2__en,
.p-title2.-title-white .p-title2__ja {
    color: var(--color_txt_white)
}

.p-title2.-title-white::before {
    background-color: var(--color_line_white)
}

.p-title2::before {
    content: "";
    display: block;
    width: 5.5rem;
    height: 1px;
    background-color: var(--color_line_gray);
    position: absolute;
    top: 0;
    left: 0
}

.p-title2__en {
    color: var(--color_txt_light_blue);
    font-weight: 700;
    letter-spacing: .1em
}

@media screen and (min-width: 1024px) {
    .p-title2__en {
        padding-top: 4rem;
        font-size: 1.4rem;
        line-height: 1.4285714286em
    }
}

@media screen and (max-width: 1023px) {
    .p-title2__en {
        padding-top: 1.8rem;
        font-size: 1.2rem;
        line-height: 1.4166666667em
    }
}

.p-title2__ja {
    font-weight: 700;
    letter-spacing: .06em
}

@media screen and (min-width: 1024px) {
    .p-title2__ja {
        margin-top: 2.6rem;
        font-size: 3.6rem;
        line-height: 1.4444444444em
    }
}

@media screen and (max-width: 1023px) {
    .p-title2__ja {
        margin-top: 1.3rem;
        font-size: 2rem;
        line-height: 1.45em
    }
}

.p-title3 {
    border-left: 1px solid var(--color_line_gray)
}

@media screen and (min-width: 1024px) {
    .p-title3 {
        height: calc(100% - 1rem);
        padding-left: 3.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-title3 {
        padding-left: 2rem
    }
}

.p-title3__en {
    font-weight: 700;
    letter-spacing: .1em;
    color: var(--color_txt_light_blue)
}

@media screen and (min-width: 1024px) {
    .p-title3__en {
        font-size: 1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-title3__en {
        font-size: 1.2rem
    }
}

.p-title3__ja {
    font-size: 2rem;
    line-height: 1.45em;
    font-weight: 700;
    letter-spacing: 0
}

@media screen and (min-width: 1024px) {
    .p-title3__ja {
        margin-top: 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-title3__ja {
        margin-top: .6rem
    }
}

.p-title4 {
    text-align: center;
    letter-spacing: .06em;
    font-weight: 700
}

@media screen and (min-width: 1024px) {
    .p-title4 {
        font-size: 2.4rem;
        line-height: 1.4583333333em
    }
}

@media screen and (max-width: 1023px) {
    .p-title4 {
        font-size: 2rem;
        line-height: 1.45em
    }
}

.p-hero {
    position: relative;
    z-index: 1;
    background-color: var(--color_bg_gray)
}

@media screen and (min-width: 1024px) {
    .p-hero {
        height: 25.9rem
    }

    .t-sekisan .p-hero,
    .t-cad .p-hero,
    .t-jimu .p-hero,
    .t-doryo .p-hero,
    .t-news .p-hero,
    .t-news-single .p-hero {
        height: 40.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero {
        height: 16.8rem
    }
}

.p-hero.-hero-type1 {
    height: auto
}

@media screen and (min-width: 1024px) {
    .p-hero.-hero-type1 {
        margin-bottom: 6.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero.-hero-type1 {
        margin-bottom: 3.9rem
    }
}

.p-hero.-hero-type2 {
    height: auto
}

.p-hero__inner {
    margin: 0 auto
}

@media screen and (min-width: 1024px) {
    .p-hero__inner {
        width: calc(1080/var(--base-width)*100%)
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__inner {
        width: calc(350/var(--base-width)*100%)
    }
}

.p-hero__bg {
    pointer-events: none
}

.p-hero-title {
    position: relative
}

.p-hero-title::before {
    content: "";
    display: block;
    width: .1rem;
    height: 100%;
    background-color: var(--color_line_gray);
    position: absolute;
    top: 0;
    left: 0
}

@media screen and (min-width: 1024px) {
    .p-hero-title {
        margin-top: 6.3rem;
        padding-left: 4.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero-title {
        margin-top: 3.2rem;
        padding-left: 2.5rem
    }
}

.p-hero-title__ja {
    font-weight: 700;
    letter-spacing: .06em
}

.t-figures .p-hero-title__ja {
    letter-spacing: 0
}

@media screen and (min-width: 1024px) {
    .p-hero-title__ja {
        font-size: 3.6rem;
        line-height: 1.4444444444em
    }
}

@media screen and (max-width: 1023px) {
    .p-hero-title__ja {
        font-size: 2.4rem;
        line-height: 1.4583333333em
    }
}

.p-hero-title__en {
    font-weight: 700;
    letter-spacing: .1em;
    color: var(--color_txt_purple)
}

@media screen and (min-width: 1024px) {
    .p-hero-title__en {
        margin-left: .2rem;
        font-size: 1.4rem;
        line-height: 1.4285714286em
    }
}

@media screen and (max-width: 1023px) {
    .p-hero-title__en {
        font-size: 1.2rem;
        line-height: 1.4166666667em
    }
}

.p-hero-title__inner {
    display: inline-block;
    overflow: hidden;
    position: relative
}

.p-hero-title__inner span {
    display: block;
    position: relative;
    z-index: 1
}

main:not(.t-privacypolicy) .p-hero-title::before {
    transform-origin: top center;
    transition: transform .6s ease;
    transform: scaleY(0);
    will-change: transform;
    backface-visibility: hidden
}

main:not(.t-privacypolicy) .p-hero-title__inner::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: center left;
    will-change: transform;
    backface-visibility: hidden;
    background-color: var(--color_bg_black2);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2
}

main:not(.t-privacypolicy) .p-hero-title__inner span {
    opacity: 0;
    will-change: opacity
}

@keyframes titleCover {
    0% {
        transform-origin: center left;
        transform: scaleX(0)
    }

    48% {
        transform: scaleX(1);
        transform-origin: center left
    }

    60% {
        transform: scaleX(1);
        transform-origin: center right
    }

    100% {
        transform-origin: center right;
        transform: scaleX(0)
    }
}

.p-hero-title::before {
    transition-delay: .1s !important
}

.p-hero-title__ja .p-hero-title__inner::before {
    animation-delay: .6s !important
}

.p-hero-title__ja .p-hero-title__inner span {
    transition-delay: 1s
}

.p-hero-title__en .p-hero-title__inner::before {
    animation-delay: .8s !important
}

.p-hero-title__en .p-hero-title__inner span {
    transition-delay: 1.2s
}

body.is-loaded main:not(.t-privacypolicy) .p-hero-title::before {
    transform: scaleY(1)
}

body.is-loaded main:not(.t-privacypolicy) .p-hero-title__inner::before {
    animation: titleCover 1.2s var(--ease_outQuint) forwards
}

body.is-loaded main:not(.t-privacypolicy) .p-hero-title__inner span {
    opacity: 1
}

.p-hero2 {
    width: 100%;
    position: relative
}

@media screen and (min-width: 1024px) {
    .p-hero2 {
        height: 50rem;
        margin-bottom: -19.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero2 {
        height: 13rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card {
        display: flex;
        justify-content: space-between
    }
}

.p-card+.p-card {
    border-top: 1px solid var(--color_line_gray2)
}

@media screen and (min-width: 1024px) {
    .p-card+.p-card {
        margin-top: 6rem;
        padding-top: 6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card+.p-card {
        margin-top: 5rem;
        padding-top: 5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card__pict {
        width: calc(515/var(--content-medium)*100%);
        aspect-ratio: 515/288
    }
}

@media screen and (max-width: 1023px) {
    .p-card__pict {
        aspect-ratio: 350/195
    }
}

.p-card__pict a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden
}

@media screen and (min-width: 1024px) {
    .p-card__pict a:hover img {
        transform: scale(1.05)
    }
}

.p-card__pict a img {
    transition: transform .6s var(--ease_outCubic);
    will-change: transform;
    backface-visibility: hidden
}

@media screen and (min-width: 1024px) {
    .p-card__body {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: calc(483/var(--content-medium)*100%)
    }
}

@media screen and (max-width: 1023px) {
    .p-card__body {
        margin-top: 1.9rem
    }
}

.p-card__lebel {
    display: flex;
    font-size: 1.6rem;
    line-height: 1.25em;
    font-weight: 700;
    letter-spacing: .06em;
    align-items: center;
    color: var(--color_txt_blue)
}

.p-card__lebel::before {
    content: "";
    display: block;
    width: .9rem;
    height: 1px;
    margin-right: 1rem;
    background-color: var(--color_line_light_blue)
}

.p-card__title {
    font-weight: 700;
    letter-spacing: .02em
}

@media screen and (min-width: 1024px) {
    .p-card__title {
        font-size: 3.8rem;
        line-height: 1.4473684211em
    }
}

@media screen and (max-width: 1023px) {
    .p-card__title {
        font-size: 2rem;
        line-height: 1.45em
    }
}

@media screen and (min-width: 1024px) {
    .p-card__lebel+.p-card__title {
        margin-top: 1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card__lebel+.p-card__title {
        margin-top: .8rem
    }
}

.p-card__txt {
    color: var(--color_txt_purple)
}

@media screen and (min-width: 1024px) {
    .p-card__txt {
        width: 74.5341614907%
    }
}

@media screen and (min-width: 1024px) {
    .p-card__title+.p-card__txt {
        margin-top: 1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card__title+.p-card__txt {
        margin-top: .9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card__button {
        width: calc(273/var(--content-medium)*100%);
        margin-left: auto;
        margin-right: 0
    }
}

@media screen and (min-width: 1024px) {
    .p-card__body__inner+.p-card__button {
        margin-top: 3.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card__body__inner+.p-card__button {
        margin-top: 1.8rem
    }
}

.p-breadcrumb {
    border-bottom: 1px solid var(--color_line_gray)
}

@media screen and (min-width: 1024px) {
    .p-breadcrumb {
        padding: 1.8rem 0 .7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-breadcrumb {
        padding: .9rem 0 .7rem
    }
}

.p-breadcrumb ul {
    display: flex;
    align-items: center
}

.p-breadcrumb li {
    white-space: nowrap;
    position: relative
}

.p-breadcrumb li:first-child {
    font-weight: 700
}

.p-breadcrumb li:last-child {
    overflow: hidden;
    text-overflow: ellipsis
}

@media screen and (min-width: 1024px) {
    .p-breadcrumb li {
        font-size: 1.2rem;
        line-height: 1.6666666667em
    }
}

@media screen and (max-width: 1023px) {
    .p-breadcrumb li {
        font-size: 1rem;
        line-height: 1.6em
    }
}

.p-breadcrumb li+li::before {
    content: "";
    display: inline-block;
    width: calc(var(--arrow-size)*0.1rem);
    height: calc(var(--arrow-size)*0.1rem);
    background: url(../../assets/image/common/icon/icon-arrow-right-black.svg) no-repeat center center/contain;
    position: relative
}

@media screen and (min-width: 1024px) {
    .p-breadcrumb li+li::before {
        --arrow-size: 12;
        margin-left: 1.5rem;
        margin-right: 1.3rem;
        top: .1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-breadcrumb li+li::before {
        --arrow-size: 10;
        margin-left: 1rem;
        margin-right: .7rem;
        position: relative;
        top: .2rem
    }
}

.p-breadcrumb li a {
    display: inline-block;
    white-space: nowrap;
    position: relative
}

.p-breadcrumb li a::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color_txt_black);
    opacity: 0;
    transform: scaleX(0);
    transition: .4s var(--ease_outQuad);
    transition-property: transform, opacity;
    will-change: transform, opacity;
    transform-origin: center right;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1
}

@media screen and (min-width: 1024px) {
    .p-breadcrumb li a:hover::after {
        opacity: 1;
        transform: scaleX(1);
        transform-origin: center left
    }
}

.p-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center
}

@media screen and (min-width: 1024px) {
    .p-pagination {
        width: 68.5rem;
        margin: 4rem auto 3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-pagination {
        margin: 1.9rem auto 1.6rem
    }
}

@media screen and (min-width: 1024px) {
    .p-pagination.-pagination-single {
        width: 88rem
    }
}

@media screen and (min-width: 1024px) {
    .p-pagination.-pagination-single a:hover .p-pagination__button__title::after {
        opacity: 1;
        transform: scaleX(1);
        transform-origin: center left
    }
}

.p-pagination.-pagination-single .p-pagination__button.-button-next a .p-pagination__button__icon {
    margin-right: 3rem
}

.p-pagination.-pagination-single .p-pagination__button.-button-prev a .p-pagination__button__icon {
    margin-left: 3rem
}

.p-pagination__button a {
    display: inline-flex;
    max-width: 100%;
    opacity: 0;
    pointer-events: none;
    align-items: center
}

.p-pagination__button a.is-active {
    opacity: 1;
    pointer-events: auto
}

.p-pagination__button.-button-next a .p-pagination__button__icon {
    transform: scale(-1, 1)
}

@media screen and (min-width: 1024px) {
    .p-pagination__button.-button-next a:hover .p-pagination__button__icon {
        transform: scale(-1, 1) translateX(0.6rem)
    }
}

.p-pagination__button.-button-prev {
    text-align: right
}

.p-pagination__button.-button-prev a .p-pagination__button__title {
    text-align: right
}

@media screen and (min-width: 1024px) {
    .p-pagination__button.-button-prev a:hover .p-pagination__button__icon {
        transform: translateX(0.6rem)
    }
}

.t-news-single .p-pagination .p-pagination__button {
    width: 40%
}

.p-pagination__button__icon {
    display: inline-block;
    width: 1.8rem;
    height: 1.6rem;
    transition: transform .6s var(--ease_outQuint)
}

.p-pagination__button__title {
    flex: 1;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    position: relative
}

@media screen and (min-width: 1024px) {
    .p-pagination__button__title {
        font-size: 1.4rem;
        line-height: 1.4285714286em
    }
}

@media screen and (max-width: 1023px) {
    .p-pagination__button__title {
        font-size: 1.2rem;
        line-height: 1.6666666667em
    }
}

.p-pagination__button__title::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color_txt_black);
    opacity: 0;
    transform: scaleX(0);
    transition: .4s var(--ease_outQuad);
    transition-property: transform, opacity;
    will-change: transform, opacity;
    transform-origin: center right;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1
}

.p-pagination ul {
    display: flex;
    align-items: center
}

.p-pagination li {
    display: inline-block;
    margin: 0 .7rem;
    font-size: 1.4rem;
    line-height: 1.7142857143em;
    font-weight: 700;
    letter-spacing: .06em;
    transform: translateX(-0.7rem)
}

.p-pagination li a {
    display: inline-block
}

@media screen and (min-width: 1024px) {
    .p-pagination li a:hover {
        text-decoration: underline
    }
}

.p-pagination li.is-current a {
    text-decoration: underline
}

input[type=text],
input[type=tel],
input[type=email],
input[type=number],
textarea,
select {
    width: 100%;
    padding: .9rem 1.2rem;
    font-size: 1.4rem;
    font-family: var(--font-family_notosans);
    font-optical-sizing: auto;
    font-weight: 400;
    line-height: 1.7142857143em;
    color: var(--color_txt_black);
    border-radius: .4rem;
    border: 1px solid var(--color_line_gray);
    background-color: var(--color_bg_white)
}

input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=number]:focus,
textarea:focus,
select:focus {
    padding: .9rem 1.2rem;
    border: 2px solid var(--color_txt_light_blue)
}

input[type=text]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=number]::-moz-placeholder,
textarea::-moz-placeholder,
select::-moz-placeholder {
    color: var(--color_txt_gray)
}

input[type=text]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=number]::-moz-placeholder,
textarea::-moz-placeholder,
select::-moz-placeholder {
    color: var(--color_txt_gray)
}

input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=email]::placeholder,
input[type=number]::placeholder,
textarea::placeholder,
select::placeholder {
    color: var(--color_txt_gray)
}

input[type=text]::-ms-input-placeholder,
input[type=tel]::-ms-input-placeholder,
input[type=email]::-ms-input-placeholder,
input[type=number]::-ms-input-placeholder,
textarea::-ms-input-placeholder,
select::-ms-input-placeholder {
    color: var(--color_txt_gray)
}

input[type=text]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=number]:-ms-input-placeholder,
textarea:-ms-input-placeholder,
select:-ms-input-placeholder {
    color: var(--color_txt_gray)
}

input:-webkit-autofill {
    box-shadow: 0 0 0 1000px #fff inset
}

textarea {
    min-height: 12rem;
    resize: vertical
}

input[type=radio] {
    display: none
}

.p-form-table__cell+.p-form-table__cell {
    margin-top: 2.5em
}

@media screen and (max-width: 767px) {
    .p-form-table__cell+.p-form-table__cell {
        margin-top: 2rem
    }

    .t-contact.-contact-check .p-form-table__cell+.p-form-table__cell {
        margin-top: 2.4rem
    }
}

.p-form-table__cell label {
    display: flex;
    align-items: center
}

.p-form-table__cell>dt {
    font-size: 1.4rem;
    font-weight: 700
}

@media screen and (min-width: 768px) {
    .p-form-table__cell>dt {
        line-height: 1.7142857143em
    }
}

@media screen and (max-width: 767px) {
    .p-form-table__cell>dt {
        line-height: 1.5714285714em
    }
}

@media screen and (min-width: 1024px) {
    .p-form-table__cell>dd {
        margin-top: .7rem
    }

    .t-contact.-contact-check .p-form-table__cell>dd {
        margin-top: 0
    }
}

@media screen and (max-width: 1023px) {
    .p-form-table__cell>dd {
        margin-top: .4rem
    }

    .t-contact.-contact-check .p-form-table__cell>dd {
        margin-top: .8rem !important
    }
}

@media screen and (min-width: 1024px) {
    .p-form-table__cell.-cell-2col>dd>p {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        -moz-column-gap: 2rem;
        column-gap: 2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-form-table__cell.-cell-2col>dd>p .wpcf7-form-control-wrap+.wpcf7-form-control-wrap {
        display: block;
        margin-top: 1.1rem
    }
}

.p-form-table__required {
    display: inline-block;
    padding: .35rem .65rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--color_txt_white);
    background-color: var(--color_bg_light_blue);
    text-align: center;
    line-height: 1
}

@media screen and (min-width: 768px) {
    .p-form-table__required {
        margin-left: 1rem
    }
}

@media screen and (max-width: 767px) {
    .p-form-table__required {
        margin-left: .9rem
    }
}

.t-contact__form .wpcf7-not-valid-tip {
    display: block;
    margin-top: 1rem;
    font-size: 1.2rem;
    color: red;
    font-weight: 700
}

.t-contact__form .wpcf7-response-output {
    font-size: 1.4rem;
    font-weight: 700;
    margin: 2rem 0 0 !important;
    padding: 0 !important;
    color: red;
    border: 0 !important
}

.p-form-submit {
    margin-top: 7rem;
    margin-left: 2.6rem
}

.t-contact__form .wpcf7-radio {
    display: block
}

@media screen and (max-width: 1023px) {
    .t-contact__form .wpcf7-radio {
        margin-bottom: 3rem
    }
}

.t-contact__form .wpcf7-radio .wpcf7-list-item {
    display: block;
    margin-top: 1.4rem;
    margin-left: 0
}

@media screen and (min-width: 1024px) {
    .t-contact__form .wpcf7-radio .wpcf7-list-item+.wpcf7-list-item {
        margin-top: 2rem
    }
}

@media screen and (max-width: 1023px) {
    .t-contact__form .wpcf7-radio .wpcf7-list-item+.wpcf7-list-item {
        margin-top: 1.2rem
    }
}

.t-contact__form .wpcf7-radio .wpcf7-list-item input {
    display: block !important;
    width: calc(var(--control-size)*0.1rem);
    height: calc(var(--control-size)*0.1rem);
    border: 1px solid var(--color_line_gray);
    background-color: var(--color_bg_white);
    border-radius: 50%;
    position: relative;
    top: .1rem;
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.t-contact__form .wpcf7-radio .wpcf7-list-item input::after {
    content: "";
    display: block;
    width: 60%;
    height: 60%;
    background-color: var(--color_bg_light_blue);
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transition: transform .4s var(--ease_outExpo)
}

@media screen and (min-width: 1024px) {
    .t-contact__form .wpcf7-radio .wpcf7-list-item input {
        --control-size: 12;
        margin-right: .5rem
    }
}

@media screen and (max-width: 1023px) {
    .t-contact__form .wpcf7-radio .wpcf7-list-item input {
        --control-size: 16;
        margin-right: .6rem
    }
}

.t-contact__form .wpcf7-radio .wpcf7-list-item input[type=radio]:checked {
    border-color: var(--color_bg_light_blue)
}

.t-contact__form .wpcf7-radio .wpcf7-list-item input[type=radio]:checked::after {
    transform: translate(-50%, -50%) scale(1)
}

.t-contact__form .wpcf7-radio .wpcf7-list-item-label {
    font-size: 1.4rem;
    color: var(--color_txt_purple)
}

.p-form-radio li {
    display: flex;
    align-items: center;
    margin-top: 1rem
}

@media screen and (min-width: 1024px) {
    .p-form-radio li+li {
        margin-top: 1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-form-radio li+li {
        margin-top: .8rem
    }
}

.p-form-radio li label {
    font-size: 1.4rem;
    color: var(--color_txt_purple);
    cursor: pointer
}

@media screen and (min-width: 1024px) {
    .p-form-radio li label {
        line-height: 1.7142857143em
    }
}

@media screen and (max-width: 1023px) {
    .p-form-radio li label {
        line-height: 1.5714285714em
    }
}

.p-form-radio__control {
    width: calc(var(--control-size)*0.1rem);
    height: calc(var(--control-size)*0.1rem);
    border: 1px solid var(--color_line_gray);
    background-color: var(--color_bg_white);
    border-radius: 50%;
    position: relative;
    top: .1rem;
    position: relative
}

.p-form-radio__control::after {
    content: "";
    display: block;
    width: 60%;
    height: 60%;
    background-color: var(--color_bg_light_blue);
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transition: transform .4s var(--ease_outExpo)
}

@media screen and (min-width: 1024px) {
    .p-form-radio__control {
        --control-size: 12;
        margin-right: .5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-form-radio__control {
        --control-size: 16;
        margin-right: .6rem
    }
}

.p-form-radio input[type=radio]:checked+label .p-form-radio__control::after {
    transform: translate(-50%, -50%) scale(1)
}

@media screen and (min-width: 1024px) {
    .p-form-policy {
        margin-top: 5.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-form-policy {
        margin-top: 4rem
    }
}

.p-form-policy__checkbox {
    display: flex;
    align-items: center
}

.p-form-policy__checkbox .wpcf7-list-item {
    --control-size: 13;
    width: calc(var(--control-size)*0.1rem);
    height: calc(var(--control-size)*0.1rem);
    margin-left: 0
}

.p-form-policy__checkbox>p {
    display: flex;
    align-items: center
}

.p-form-policy__checkbox input {
    --control-size: 13;
    width: calc(var(--control-size)*0.1rem);
    height: calc(var(--control-size)*0.1rem);
    margin-right: .5rem;
    border: 1px solid var(--color_line_gray);
    background-color: var(--color_bg_white);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative
}

.p-form-policy__checkbox input::after {
    content: "";
    display: block;
    width: 60%;
    height: 60%;
    background-color: var(--color_bg_light_blue);
    transform: translate(-50%, -50%) scale(0);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transition: transform .4s var(--ease_outExpo)
}

.p-form-policy__checkbox input:checked::after {
    transform: translate(-50%, -50%) scale(1)
}

.p-form-checkbox__txt {
    margin-left: .5rem;
    font-size: 1.2rem;
    cursor: pointer
}

@media screen and (min-width: 1024px) {
    .p-form-checkbox__txt {
        line-height: 1.4166666667em
    }
}

@media screen and (max-width: 1023px) {
    .p-form-checkbox__txt {
        line-height: 1.6666666667em
    }
}

.p-form-policy__txt {
    margin-left: 1.8rem;
    font-size: 1rem;
    color: var(--color_txt_purple)
}

@media screen and (min-width: 1024px) {
    .p-form-policy__txt {
        margin-top: .8rem;
        line-height: 1.5em
    }
}

@media screen and (max-width: 1023px) {
    .p-form-policy__txt {
        line-height: 2.5em
    }
}

.p-form-policy__txt a {
    display: inline-block;
    position: relative
}

@media screen and (min-width: 1024px) {
    .p-form-policy__txt a:hover::after {
        opacity: 0;
        transform: scaleX(0);
        transform-origin: center right
    }
}

.p-form-policy__txt a::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color_txt_purple);
    opacity: 1;
    transform: scaleX(1);
    transition: .4s var(--ease_outQuad);
    transition-property: transform, opacity;
    will-change: transform, opacity;
    transform-origin: center left;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1
}

.p-form-button {
    width: 100%;
    margin-top: 2rem
}

.p-form-button input {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    color: var(--color_txt_white);
    transition: .4s var(--ease_outQuad);
    transition-property: background-color, color;
    will-change: background-color, color;
    font-weight: 700;
    border-radius: .5rem;
    overflow: hidden;
    cursor: pointer
}

.p-form-button input:disabled {
    pointer-events: none !important
}

@media screen and (min-width: 1024px) {
    .p-form-button input {
        padding: 2rem 0;
        font-size: 1.6rem;
        line-height: 1.75em
    }

    .p-form-button input:hover {
        background-color: #fff !important;
        color: var(--color_txt_black2)
    }
}

@media screen and (max-width: 1023px) {
    .p-form-button input {
        padding: 1.2rem 0;
        font-size: 1.4rem;
        line-height: 1.5714285714em
    }

    .t-contact__form.-form-check .p-form-button input {
        font-size: 1.2rem;
        line-height: 1.8333333333em;
        letter-spacing: .06em
    }
}

.p-form-button .wpcf7-spinner {
    display: none
}

.p-form-button.-button-check input,
.p-form-button.-button-submit input {
    background-color: var(--color_bg_black2);
    border: 1px solid var(--color_bg_black2)
}

.p-form-button.-button-back input {
    background-color: var(--color_bg_gray3);
    border: 1px solid var(--color_bg_gray3)
}

.t-contact__form.-form-check .p-form-table__cell dt {
    font-weight: 700
}

@media screen and (min-width: 1024px) {
    .t-contact__form.-form-check .p-form-table__cell dt {
        font-size: 1.4rem;
        line-height: 1.7142857143em
    }
}

@media screen and (max-width: 1023px) {
    .t-contact__form.-form-check .p-form-table__cell dt {
        font-size: 1.2rem;
        line-height: 1.6666666667em
    }
}

.t-contact__form.-form-check .p-form-table__cell dd {
    color: var(--color_txt_purple)
}

@media screen and (min-width: 1024px) {
    .t-contact__form.-form-check .p-form-table__cell dd {
        font-size: 1.6rem;
        line-height: 1.75em
    }
}

@media screen and (max-width: 1023px) {
    .t-contact__form.-form-check .p-form-table__cell dd {
        margin-top: .4rem;
        font-size: 1.4rem
    }
}

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

@media screen and (min-width: 1024px) {
    .p-form-footer {
        margin-top: 6.5rem;
        -moz-column-gap: 2rem;
        column-gap: 2rem
    }

    .t-contact.-contact-check .p-form-footer {
        margin-top: 4.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-form-footer {
        margin-top: 4rem;
        -moz-column-gap: 1.1rem;
        column-gap: 1.1rem
    }

    .t-contact.-contact-check .p-form-footer {
        margin-top: 2.5rem
    }
}

:root {
    --base-width: 1440;
    --content-large: 1350;
    --content-medium: 1065;
    --content-medium2: 1078;
    --content-small: 1080;
    --content-small2: 864;
    --content-small3: 960;
    --vw: 1vw
}

@media screen and (max-width: 1023px) {
    :root {
        --base-width: 390;
        --content-large: 340;
        --content-medium: 350;
        --content-medium2: 350;
        --content-small: 350;
        --content-small2: 350;
        --content-small3: 350
    }
}

.c-inner-large {
    position: relative;
    background-color: var(--color_bg_white)
}

.c-inner-large.-inner-type2 {
    z-index: 2
}

@media screen and (min-width: 1024px) {
    .c-inner-large.-inner-type2 {
        margin-top: -31.8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-inner-large.-inner-type2 {
        margin-top: -11.5rem
    }
}

.c-inner-large.-inner-type3 {
    background-color: rgba(0, 0, 0, 0);
    box-shadow: none
}

@media screen and (min-width: 1024px) {
    .c-inner-large {
        width: calc(100% - 9rem);
        box-shadow: 10px -10px 40px -10px rgba(0, 0, 26, .04)
    }

    .c-inner-large.-inner-type1 {
        margin-top: -14.7rem;
        z-index: 2
    }
}

@media screen and (max-width: 1023px) {
    .c-inner-large {
        width: 100%
    }
}

.c-inner-large__inner {
    margin-left: auto
}

@media screen and (min-width: 1024px) {
    .c-inner-large__inner {
        width: calc(1065/var(--content-large)*100%);
        margin-right: 15rem
    }
}

@media screen and (max-width: 1023px) {
    .c-inner-large__inner {
        width: 89.7435897436%;
        margin-left: auto;
        margin-right: auto
    }
}

.c-inner-large__inner2 {
    margin-left: auto
}

@media screen and (min-width: 1024px) {
    .c-inner-large__inner2 {
        width: calc(1080/var(--content-large)*100%);
        margin-right: 9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-inner-large__inner2 {
        width: 89.7435897436%;
        margin-left: auto;
        margin-right: auto
    }
}

@media screen and (min-width: 1024px) {
    .c-inner-medium {
        width: calc(100% - 7.5rem)
    }
}

.t-copy+.c-inner-medium,
.t-products-visual+.c-inner-medium,
.t-company-content+.c-inner-medium,
.p-hero2+.c-inner-medium {
    position: relative;
    z-index: 2
}

@media screen and (min-width: 1024px) {

    .t-copy+.c-inner-medium,
    .t-products-visual+.c-inner-medium,
    .t-company-content+.c-inner-medium,
    .p-hero2+.c-inner-medium {
        background-color: var(--color_bg_white)
    }
}

@media screen and (min-width: 1024px) {
    .c-inner-medium__inner {
        width: calc(var(--content-medium)/1275*100%);
        margin-right: 7.5rem;
        margin-left: auto
    }
}

@media screen and (max-width: 1023px) {
    .c-inner-medium__inner {
        width: calc(var(--content-medium)/var(--base-width)*100%);
        margin-left: auto;
        margin-right: auto
    }
}

@media screen and (min-width: 1024px) {
    .c-inner-medium__inner2 {
        width: 83.137254902%;
        margin-right: 7.5rem;
        margin-left: auto
    }
}

@media screen and (max-width: 1023px) {
    .c-inner-medium__inner2 {
        width: calc(var(--content-medium)/var(--base-width)*100%);
        margin-left: auto;
        margin-right: auto
    }
}

.c-inner-medium2 {
    width: calc(var(--content-medium2)/var(--base-width)*100%);
    margin-left: auto;
    margin-right: auto
}

.c-inner-small {
    margin: 0 auto;
    width: calc(var(--content-small)/var(--base-width)*100%)
}

.c-inner-small2 {
    margin: 0 auto;
    width: calc(var(--content-small2)/var(--base-width)*100%)
}

@media screen and (min-width: 1024px) {
    .c-inner-small2 {
        min-width: calc(var(--content-small2)*0.1rem)
    }
}

.c-inner-small3 {
    margin: 0 auto;
    width: calc(var(--content-small3)/var(--base-width)*100%)
}

@media screen and (min-width: 1024px) {
    .c-inner-small3 {
        min-width: calc(var(--content-small2)*0.1rem)
    }
}

.c-object-fit-wrap {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

.c-object-fit {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

@media screen and (min-width: 1024px) {
    .c-txt-medium {
        font-size: 2.4rem;
        line-height: 1.4583333333em
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-medium {
        font-size: 2rem;
        line-height: 1.45em
    }
}

@media screen and (min-width: 1024px) {
    .c-txt-regular {
        font-size: 1.6rem;
        line-height: 1.75em
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-regular {
        font-size: 1.4rem;
        line-height: 1.5714285714em
    }
}

@media screen and (min-width: 1024px) {
    .c-txt-small {
        font-size: 1.4rem;
        line-height: 1.4285714286em
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-small {
        font-size: 1.2rem;
        line-height: 1.6666666667em
    }
}

@media screen and (min-width: 1024px) {
    .c-txt-small2 {
        font-size: 1.4rem;
        line-height: 1.4285714286em
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-small2 {
        font-size: 1rem;
        line-height: 2em
    }
}

@media screen and (min-width: 1024px) {
    .c-txt-small3 {
        font-size: 1.4rem;
        line-height: 1.7142857143em
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-small3 {
        font-size: 1.2rem;
        line-height: 1.6666666667em
    }
}

@media screen and (min-width: 1024px) {
    .c-txt-small4 {
        font-size: 1.2rem;
        line-height: 1.6666666667em
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-small4 {
        font-size: 1rem;
        line-height: 1.6em
    }
}

.u-bg-white {
    background-color: var(--color_bg_white)
}

.u-bg-diagonal {
    background-color: var(--color_bg_white)
}

@media screen and (min-width: 1024px) {
    .u-bg-diagonal {
        -webkit-clip-path: polygon(0 12.4rem, 100% 0, 100% 100%, 0 calc(100% - 12.4rem));
        clip-path: polygon(0 12.4rem, 100% 0, 100% 100%, 0 calc(100% - 12.4rem))
    }
}

@media screen and (max-width: 1023px) {
    .u-bg-diagonal {
        -webkit-clip-path: polygon(0 3.3rem, 100% 0, 100% 100%, 0 calc(100% - 3.3rem));
        clip-path: polygon(0 3.3rem, 100% 0, 100% 100%, 0 calc(100% - 3.3rem))
    }
}

.u-weight-r {
    font-weight: 400
}

.u-weight-m {
    font-weight: 500
}

.u-weight-b {
    font-weight: 700
}

.t-privacypolicy__txt.c-txt-small3.u-weight-b {
    margin-top: 1.2rem;
}

.u-align-c {
    text-align: center
}

.u-align-l {
    text-align: left
}

.u-align-r {
    text-align: right
}

.u-inline-block {
    display: inline-block
}

.u-inline {
    display: inline
}

.u-block {
    display: block
}

.u-none {
    display: none
}

@media screen and (min-width: 391px) {
    .u-none-min-xsmall {
        display: none
    }
}

@media screen and (min-width: 1024px) {
    .u-none-min-small {
        display: none
    }
}

.u-block-hidden-medium {
    display: block
}

@media screen and (max-width: 1023px) {
    .u-block-hidden-medium {
        display: none
    }
}

.u-block-visible-medium {
    display: none
}

@media screen and (max-width: 1023px) {
    .u-block-visible-medium {
        display: block
    }
}

.u-block-hidden-small {
    display: block
}

@media screen and (max-width: 767px) {
    .u-block-hidden-small {
        display: none
    }
}

.u-block-visible-small {
    display: none
}

@media screen and (max-width: 767px) {
    .u-block-visible-small {
        display: block
    }
}

.u-block-hidden-xsmall {
    display: block
}

@media screen and (max-width: 390px) {
    .u-block-hidden-xsmall {
        display: none
    }
}

.u-block-visible-xsmall {
    display: none
}

@media screen and (max-width: 390px) {
    .u-block-visible-xsmall {
        display: block
    }
}

@media screen and (max-width: 767px) {
    .u-hidden-small {
        display: none
    }
}

@media screen and (max-width: 1023px) {
    .u-hidden-medium {
        display: none
    }
}

.u-img-fit {
    width: 100%;
    height: auto
}

.t-check {
    color: red;
}