/*!
 * ress.css • v2.0.4
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
    box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
    word-break: normal;
    tab-size: 4
}

*,
::before,
::after {
    background-repeat: no-repeat;
    box-sizing: inherit
}

::before,
::after {
    text-decoration: inherit;
    vertical-align: inherit
}

* {
    padding: 0;
    margin: 0
}

hr {
    overflow: visible;
    height: 0
}

details,
main {
    display: block
}

summary {
    display: list-item
}

small {
    font-size: 80%
}

[hidden] {
    display: none
}

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

a {
    background-color: rgba(0, 0, 0, 0)
}

a:active,
a:hover {
    outline-width: 0
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace
}

pre {
    font-size: 1em
}

b,
strong {
    font-weight: bolder
}

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

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

input {
    border-radius: 0
}

[disabled] {
    cursor: default
}

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

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

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

textarea {
    overflow: auto;
    resize: vertical
}

button,
input,
optgroup,
select,
textarea {
    font: inherit
}

optgroup {
    font-weight: bold
}

button {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
    cursor: pointer;
    color: inherit
}

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-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    outline: 1px dotted ButtonText
}

button,
html [type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

button,
input,
select,
textarea {
    background-color: rgba(0, 0, 0, 0)
}

select {
    -moz-appearance: none;
    -webkit-appearance: none
}

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

select::-ms-value {
    color: currentColor
}

legend {
    border: 0;
    color: inherit;
    display: table;
    max-width: 100%;
    white-space: normal;
    max-width: 100%
}

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

img {
    border-style: none
}

progress {
    vertical-align: baseline
}

svg:not([fill]) {
    fill: currentColor
}

@media screen {
    [hidden~=screen] {
        display: inherit
    }

    [hidden~=screen]:not(:active):not(:focus):not(:target) {
        position: absolute !important;
        clip: rect(0 0 0 0) !important
    }
}

[aria-busy=true] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled] {
    cursor: default
}

li {
    list-style: none
}

* {
    box-sizing: border-box
}

html {
    font-size: 62.5%;
    --scrollbar-width: 0px;
    --header-height: 0px
}

:where([id]) {
    scroll-margin-top: var(--header-height)
}

body {
    position: relative;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-optical-sizing: auto;
    letter-spacing: 0;
    color: #3e4558;
    word-wrap: break-word;
    text-rendering: optimizeSpeed
}

@media screen and (min-width: 768px) {
    body {
        font-size: 1.6rem;
        line-height: 2.13
    }
}

@media screen and (max-width: 767px) {
    body {
        font-size: 1.5rem;
        line-height: 1.73
    }
}

.window-frame {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 9999
}

@media screen and (min-width: 768px) {
    .window-frame {
        border: 19px solid #3e4558
    }
}

@media screen and (max-width: 767px) {
    .window-frame {
        border: 9.38px solid #3e4558
    }
}

.window-frame::before {
    position: absolute;
    content: "";
    top: -6px;
    left: -3px;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 10px solid rgba(0, 0, 0, 0);
    border-bottom: 10px solid rgba(0, 0, 0, 0);
    border-left: 35px solid #3e4558;
    border-right: 0;
    transform: rotate(-15deg);
    z-index: 1
}

.window-frame::after {
    position: absolute;
    content: "";
    top: -6px;
    right: -3px;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 10px solid rgba(0, 0, 0, 0);
    border-bottom: 10px solid rgba(0, 0, 0, 0);
    border-right: 35px solid #3e4558;
    border-left: 0;
    transform: rotate(15deg)
}

.window-frame .window-frame-bl,
.window-frame .window-frame-br {
    position: absolute;
    bottom: -6px;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 10px solid rgba(0, 0, 0, 0);
    border-bottom: 10px solid rgba(0, 0, 0, 0)
}

.window-frame .window-frame-bl {
    left: -3px;
    border-left: 35px solid #3e4558;
    border-right: 0;
    transform: rotate(15deg)
}

.window-frame .window-frame-br {
    right: -3px;
    border-right: 35px solid #3e4558;
    border-left: 0;
    transform: rotate(-15deg)
}

.window-frame.is-hidden {
    z-index: 98
}

.l-mv .window-frame {
    position: absolute
}

.l-content {
    margin-inline: auto
}

@media screen and (min-width: 768px) {
    .l-content {
        max-width: 1220px;
        width: 90%
    }
}

@media screen and (max-width: 767px) {
    .l-content {
        width: 86.71%
    }
}

section,
div {
    line-break: strict
}

a {
    color: #3e4558;
    text-decoration: none;
    transition: filter .2s ease-out
}

@media screen and (min-width: 768px) {
    a:hover {
        filter: opacity(70%)
    }
}

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

@media screen and (min-width: 768px) {
    .text {
        font-size: 1.6rem;
        line-height: 1.87
    }
}

@media screen and (max-width: 767px) {
    .text {
        font-size: 1.5rem;
        line-height: 1.73
    }
}

@media screen and (min-width: 768px) {
    .pc-none {
        display: none
    }
}

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

@media screen and (min-width: 768px) {
    .sp-none {
        display: block
    }
}

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

.bold {
    font-weight: 700
}

.js-reveal {
    opacity: 0
}

.background-color {
    background: #f0f0f0
}

@font-face {
    font-family: "Barlow";
    font-weight: 100;
    font-style: normal;
    src: url("../fonts/Barlow/Barlow-Thin.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow";
    font-weight: 200;
    font-style: normal;
    src: url("../fonts/Barlow/Barlow-ExtraLight.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow";
    font-weight: 300;
    font-style: normal;
    src: url("../fonts/Barlow/Barlow-Light.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow";
    font-weight: 400;
    font-style: normal;
    src: url("../fonts/Barlow/Barlow-Regular.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow";
    font-weight: 500;
    font-style: normal;
    src: url("../fonts/Barlow/Barlow-Medium.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow";
    font-weight: 600;
    font-style: normal;
    src: url("../fonts/Barlow/Barlow-SemiBold.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow";
    font-weight: 700;
    font-style: normal;
    src: url("../fonts/Barlow/Barlow-Bold.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow";
    font-weight: 800;
    font-style: normal;
    src: url("../fonts/Barlow/Barlow-ExtraBold.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow";
    font-weight: 900;
    font-style: normal;
    src: url("../fonts/Barlow/Barlow-Black.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow Condensed";
    font-weight: 100;
    font-style: normal;
    src: url("../fonts/BarlowCondensed/BarlowCondensed-Thin.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow Condensed";
    font-weight: 200;
    font-style: normal;
    src: url("../fonts/BarlowCondensed/BarlowCondensed-ExtraLight.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow Condensed";
    font-weight: 300;
    font-style: normal;
    src: url("../fonts/BarlowCondensed/BarlowCondensed-Light.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow Condensed";
    font-weight: 400;
    font-style: normal;
    src: url("../fonts/BarlowCondensed/BarlowCondensed-Regular.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow Condensed";
    font-weight: 500;
    font-style: normal;
    src: url("../fonts/BarlowCondensed/BarlowCondensed-Medium.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow Condensed";
    font-weight: 600;
    font-style: normal;
    src: url("../fonts/BarlowCondensed/BarlowCondensed-SemiBold.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow Condensed";
    font-weight: 700;
    font-style: normal;
    src: url("../fonts/BarlowCondensed/BarlowCondensed-Bold.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow Condensed";
    font-weight: 800;
    font-style: normal;
    src: url("../fonts/BarlowCondensed/BarlowCondensed-ExtraBold.ttf") format("truetype")
}

@font-face {
    font-family: "Barlow Condensed";
    font-weight: 900;
    font-style: normal;
    src: url("../fonts/BarlowCondensed/BarlowCondensed-Black.ttf") format("truetype")
}

@font-face {
    font-family: "Zen Kaku Gothic New";
    font-weight: 300;
    font-style: normal;
    src: url("../fonts/ZenKakuGothicNew/ZenKakuGothicNew-Light.ttf") format("truetype")
}

@font-face {
    font-family: "Zen Kaku Gothic New";
    font-weight: 400;
    font-style: normal;
    src: url("../fonts/ZenKakuGothicNew/ZenKakuGothicNew-Regular.ttf") format("truetype")
}

@font-face {
    font-family: "Zen Kaku Gothic New";
    font-weight: 500;
    font-style: normal;
    src: url("../fonts/ZenKakuGothicNew/ZenKakuGothicNew-Medium.ttf") format("truetype")
}

@font-face {
    font-family: "Zen Kaku Gothic New";
    font-weight: 700;
    font-style: normal;
    src: url("../fonts/ZenKakuGothicNew/ZenKakuGothicNew-Bold.ttf") format("truetype")
}

@font-face {
    font-family: "Zen Kaku Gothic New";
    font-weight: 900;
    font-style: normal;
    src: url("../fonts/ZenKakuGothicNew/ZenKakuGothicNew-Black.ttf") format("truetype")
}

.l-header {
    position: fixed;
    top: 0;
    display: flex;
    align-items: center;
    margin-inline: auto;
    padding-block: 3.1rem 2rem;
    padding-inline: 2.6rem;
    background: rgba(252, 252, 252, .8);
    width: 100%;
    font-size: 1.5rem;
    font-weight: 700;
    font-style: normal;
    z-index: 100
}

@media screen and (min-width: 1200px) {
    .l-header {
        display: flex
    }
}

@media screen and (max-width: 1199px) {
    .l-header {
        padding-block: 3.5rem
    }
}

.l-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-inline-start: auto;
    max-width: 100%;
    width: 97%
}

.l-header .navigation-logo {
    z-index: 110
}

@media screen and (max-width: 1199px) {
    .l-header .navigation-logo {
        z-index: 0
    }
}

.l-header .navigation-logo a {
    display: flex;
    width: 106px
}

@media screen and (max-width: 1199px) {
    .l-header .navigation-logo a img {
        display: flex;
        width: 83px
    }
}

.l-header .navigation-global-wrapper {
    display: flex
}

@media screen and (min-width: 1200px) {
    .l-header .navigation-global-wrapper {
        gap: 0 2.2rem;
        justify-content: flex-end;
        margin-inline-end: 15rem;
        width: 100%
    }
}

@media screen and (max-width: 1199px) {
    .l-header .navigation-global-wrapper {
        justify-content: flex-end;
        margin-inline-end: 7rem;
        width: 100%
    }
}

@media screen and (min-width: 1200px) {
    .l-header .navigation-global {
        display: flex;
        align-items: center
    }
}

@media screen and (max-width: 1199px) {
    .l-header .navigation-global {
        display: none
    }
}

.l-header .navigation-global .navigation-global-list {
    display: flex;
    flex-direction: column;
    justify-content: center
}

@media screen and (min-width: 1200px) {
    .l-header .navigation-global .navigation-global-list {
        align-items: center;
        flex-direction: row;
        gap: 4rem;
        justify-content: flex-end
    }
}

@media screen and (max-width: 1199px) {
    .l-header .navigation-global .navigation-global-list {
        display: none
    }
}

.l-header .navigation-global .navigation-global-list-item a {
    position: relative;
    font-size: 1.5rem
}

.l-header .contact-button a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3.5rem;
    background-color: #3f78b2;
    font-size: 1.5rem;
    color: #fff;
    line-height: 1
}

@media screen and (min-width: 768px) {
    .l-header .contact-button a {
        width: 13.5rem
    }
}

@media screen and (max-width: 767px) {
    .l-header .contact-button a {
        width: 12rem
    }
}

@media screen and (min-width: 1200px) {
    .l-header .navigation-global-background {
        opacity: 1
    }
}

@media screen and (max-width: 1199px) {
    .l-header .navigation-global-background {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        flex-direction: column;
        padding-block: 3rem;
        z-index: 99;
        opacity: 0;
        visibility: hidden;
        height: 0;
        overflow: hidden
    }
}

.l-header .navigation-global-background.is-open {
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    margin-inline-start: 0;
    background-color: #797d88;
    visibility: visible;
    width: calc(100% + var(--scrollbar-width));
    height: 100vh;
    opacity: 1
}

.l-header .hamburger {
    position: absolute;
    display: block;
    font-size: 30px;
    background: none;
    border: none;
    cursor: pointer;
    transition: transform .3s ease;
    z-index: 100
}

@media screen and (min-width: 768px) {
    .l-header .hamburger {
        right: 7rem;
        width: 6.4rem;
        height: 6.4rem
    }
}

@media screen and (max-width: 1199px) {
    .l-header .hamburger {
        right: 3rem;
        width: 5.6rem;
        height: 5.6rem
    }
}

.l-header .hamburger::after,
.l-header .hamburger::before {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    margin-block-start: 6px;
    height: 2px;
    background-color: #3e4558;
    transition: transform .3s ease, background-color .3s ease
}

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

    .l-header .hamburger::after,
    .l-header .hamburger::before {
        width: 6.6rem
    }
}

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

    .l-header .hamburger::after,
    .l-header .hamburger::before {
        width: 5.6rem
    }
}

@media screen and (min-width: 1200px) {
    .l-header .hamburger::before {
        top: 1.7rem
    }
}

@media screen and (max-width: 1199px) {
    .l-header .hamburger::before {
        top: 1.2rem
    }
}

@media screen and (min-width: 1200px) {
    .l-header .hamburger::after {
        top: 3.3rem
    }
}

@media screen and (max-width: 1199px) {
    .l-header .hamburger::after {
        top: 3rem
    }
}

.l-header .hamburger span {
    position: relative;
    display: flex;
    margin-inline: auto;
    height: 2px
}

@media screen and (min-width: 1200px) {
    .l-header .hamburger span {
        width: 6.6rem
    }
}

@media screen and (max-width: 1199px) {
    .l-header .hamburger span {
        width: 5.6rem
    }
}

.l-header .hamburger span::after {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 2px;
    background-color: #3e4558;
    transition: opacity .3s ease, background-color .3s ease
}

.l-header .hamburger.is-active::before {
    background-color: #fff
}

@media screen and (min-width: 1200px) {
    .l-header .hamburger.is-active::before {
        transform: translateX(-50%) translateY(8px) rotate(15deg)
    }
}

@media screen and (max-width: 1199px) {
    .l-header .hamburger.is-active::before {
        transform: translateX(-50%) translateY(9px) rotate(15deg)
    }
}

.l-header .hamburger.is-active::after {
    background-color: #fff
}

@media screen and (min-width: 1200px) {
    .l-header .hamburger.is-active::after {
        transform: translateX(-50%) translateY(-8px) rotate(-15deg)
    }
}

@media screen and (max-width: 1199px) {
    .l-header .hamburger.is-active::after {
        transform: translateX(-50%) translateY(-9px) rotate(-15deg)
    }
}

.l-header .hamburger.is-active span::after {
    background-color: #fff;
    opacity: 0
}

.l-header .navigation-hamburger .navigation-hamburger-list {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-content: flex-start;
    flex-wrap: wrap;
    width: 50%;
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    height: 0;
    overflow: hidden
}

@media screen and (min-width: 1200px) {
    .l-header .navigation-hamburger .navigation-hamburger-list {
        opacity: 1
    }
}

.l-header .navigation-hamburger .navigation-hamburger-list.is-open {
    position: absolute;
    right: calc(-1*var(--scrollbar-width));
    margin-inline-start: auto;
    padding: 7.7rem 3rem;
    background-color: #3e4558;
    visibility: visible;
    height: 100vh;
    opacity: 1
}

@media screen and (min-width: 768px) {
    .l-header .navigation-hamburger .navigation-hamburger-list.is-open {
        gap: 0 5%;
        width: 70%
    }
}

@media screen and (max-width: 767px) {
    .l-header .navigation-hamburger .navigation-hamburger-list.is-open {
        width: 85%
    }
}

@media screen and (min-width: 768px) {
    .l-header .navigation-hamburger .navigation-hamburger-list-item {
        height: 12rem
    }
}

@media screen and (max-width: 767px) {
    .l-header .navigation-hamburger .navigation-hamburger-list-item {
        height: 7.4rem
    }
}

.l-header .navigation-hamburger .navigation-hamburger-link {
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #fff;
    line-height: 1
}

@media screen and (min-width: 768px) {
    .l-header .navigation-hamburger .navigation-hamburger-link {
        font-size: 3.2rem
    }
}

@media screen and (max-width: 767px) {
    .l-header .navigation-hamburger .navigation-hamburger-link {
        font-size: 2.8rem
    }
}

.l-header .navigation-hamburger .navigation-hamburger-link .sub {
    display: block;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700
}

@media screen and (min-width: 768px) {
    .l-header .navigation-hamburger .navigation-hamburger-link .sub {
        font-size: 1.4rem
    }
}

@media screen and (max-width: 767px) {
    .l-header .navigation-hamburger .navigation-hamburger-link .sub {
        font-size: .9rem
    }
}

body.is-active {
    overflow-y: hidden;
    padding-inline-end: var(--scrollbar-width)
}

body.is-active .l-header {
    width: calc(100% - var(--scrollbar-width))
}

body.is-active #pageTop {
    right: calc(4rem + var(--scrollbar-width))
}

@media screen and (max-width: 767px) {
    body.is-active .navigation-logo {
        z-index: 0
    }
}

body.has-subpage-mv-frame.is-scrolled .l-header {
    z-index: 10000
}

.l-footer {
    width: 100%;
    background: #3e4558
}

@media screen and (min-width: 768px) {
    .l-footer {
        padding: 7.96rem 5.5rem 2.75rem 5.8rem
    }
}

@media screen and (max-width: 767px) {
    .l-footer {
        padding: 13rem 2.65rem 3.41rem
    }
}

.l-footer .l-footer-navArea {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-inline: auto;
    max-width: 1440px;
    width: 100%
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea {
        align-items: center;
        flex-direction: column
    }
}

.l-footer .l-footer-navArea .right-area {
    margin-block-end: 8.6rem;
    width: 35%
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea .right-area {
        margin-block-end: 0;
        width: 100%
    }
}

.l-footer .l-footer-navArea .right-area .footer-logo {
    margin-block-end: 6.46rem
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea .right-area .footer-logo {
        margin-block-end: 6.36rem;
        text-align: center
    }
}

.l-footer .l-footer-navArea .right-area .footer-logo img {
    width: 19.1rem
}

.l-footer .l-footer-navArea .right-area .sns-list {
    display: flex;
    gap: 0 2.1rem;
    margin-inline-start: 2.2rem
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea .right-area .sns-list {
        justify-content: center;
        margin-inline-start: 0;
        margin-block-end: 5.27rem
    }
}

.l-footer .l-footer-navArea .right-area .sns-list-item {
    margin-block-end: 3.5rem
}

.l-footer .l-footer-navArea .right-area .sns-list-item img {
    width: 3.4rem;
    height: 3.4rem
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea .right-area .sns-list-item img {
        width: 4.7rem;
        height: 4.7rem
    }
}

.l-footer .l-footer-navArea .right-area .button-list {
    display: flex;
    flex-direction: column;
    gap: 2.9rem 0
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea .right-area .button-list {
        gap: 1.7rem 0;
        margin-block-end: 3rem
    }
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea .right-area .button-list-item .m-button {
        width: 100%;
        height: 6.5rem
    }
}

.l-footer .l-footer-navArea .left-area {
    width: 64%
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea .left-area {
        display: flex;
        flex-direction: column-reverse;
        width: 100%
    }
}

.l-footer .l-footer-navArea .left-area .navigation-global {
    margin-inline-start: 13.82%;
    margin-block-end: 10.2rem
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea .left-area .navigation-global {
        margin-inline-start: 0;
        margin-block-end: 8.61rem
    }
}

.l-footer .l-footer-navArea .left-area .navigation-global-list {
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 3rem;
    justify-content: flex-start
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea .left-area .navigation-global-list {
        flex-direction: column;
        width: 100%;
        border-top: 1px solid #fff;
        border-bottom: 1px solid #fff
    }
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea .left-area .navigation-global-list-item {
        padding-block: 2.65rem 2.55rem;
        width: 95%;
        border-bottom: 1px solid #8b8b8b
    }
}

.l-footer .l-footer-navArea .left-area .navigation-global-link {
    color: #fff;
    font-size: 1.5rem
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea .left-area .navigation-global-link {
        font-size: 2.2rem
    }
}

.l-footer .l-footer-navArea .left-area .m-button {
    margin-inline-start: auto;
    width: 42.6rem;
    height: 8.6rem
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea .left-area .m-button {
        margin-block-end: 6.07rem;
        width: 100%;
        height: 7.1rem
    }
}

.l-footer .l-footer-navArea .left-area .m-button::after {
    top: calc(50% - 1.49rem)
}

.l-footer .l-footer-navArea .left-area .m-button .title {
    font-size: 2rem
}

.l-footer .l-footer-navArea .left-area .m-button.blue {
    border: 1px solid #3f78b2
}

.l-footer .l-footer-navArea .left-area .m-button.blue::after {
    background: url("../images/common/arrow_blueDark.svg");
    width: 3.1rem;
    height: 3.6rem
}

.l-footer .l-footer-navArea .left-area .m-button.blue:hover::after {
    background: url("../images/common/arrow_blue_hover.svg")
}

.l-footer .l-footer-navArea .bottom-area {
    display: flex;
    justify-content: space-between;
    width: 100%;
    line-height: 1.3;
    font-size: 1.2rem
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea .bottom-area {
        flex-direction: column-reverse
    }
}

.l-footer .l-footer-navArea .bottom-area .copyright {
    color: #fff
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea .bottom-area .copyright {
        text-align: center
    }
}

.l-footer .l-footer-navArea .bottom-area .navigation-bottom-list {
    display: flex;
    gap: 0 1.95rem
}

@media screen and (max-width: 969px) {
    .l-footer .l-footer-navArea .bottom-area .navigation-bottom-list {
        flex-wrap: wrap;
        gap: 2.1rem 1.95rem;
        justify-content: center;
        margin-block-end: 4.94rem
    }
}

.l-footer .l-footer-navArea .bottom-area .navigation-bottom-list-item {
    border-right: 1px solid #fff;
    padding-inline-end: 1.95rem
}

.l-footer .l-footer-navArea .bottom-area .navigation-bottom-list-item:last-child {
    border-right: none
}

.l-footer .l-footer-navArea .bottom-area .navigation-bottom-link {
    color: #fff
}

.l-mv {
    position: relative
}

.l-mv .mv-background {
    position: relative;
    height: 100%
}

@media screen and (min-width: 768px) {
    .l-mv .mv-background {
        padding-block-end: 1.9rem
    }
}

.l-mv .mv-background::before {
    position: absolute;
    content: "";
    background: url(../images/common/mv_background.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    width: 100%;
    height: 100%
}

.l-mv .border-triangle {
    position: relative
}

.l-mv .title-area {
    text-align: center
}

@media screen and (min-width: 768px) {
    .l-mv .title-area {
        padding-block: 18.7rem 10.3rem
    }
}

@media screen and (max-width: 767px) {
    .l-mv .title-area {
        padding-block: 18.9rem 17.5rem
    }
}

.l-mv .navigation-area {
    display: flex;
    width: 100%
}

@media screen and (max-width: 1199px) {
    .l-mv .navigation-area {
        width: 85%
    }
}

.l-mv .breadcrumb-list {
    display: flex;
    gap: 0 4rem;
    background: #3e4558;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .l-mv .breadcrumb-list {
        padding: 1.5rem 5rem 1.5rem 4.5rem
    }
}

@media screen and (max-width: 767px) {
    .l-mv .breadcrumb-list {
        padding: 2.3rem 2rem 2.4rem 1.9rem
    }
}

.l-mv .breadcrumb-item {
    position: relative;
    display: flex;
    align-items: center;
    color: #fff;
    white-space: nowrap
}

@media screen and (min-width: 768px) {
    .l-mv .breadcrumb-item {
        font-size: 1.2rem
    }
}

@media screen and (max-width: 767px) {
    .l-mv .breadcrumb-item {
        font-size: 1.1rem
    }
}

.l-mv .breadcrumb-item::after {
    position: absolute;
    content: "／";
    right: -2.5rem
}

.l-mv .breadcrumb-item:first-child {
    font-weight: 700
}

.l-mv .breadcrumb-item:last-child::after {
    content: none
}

.l-mv .breadcrumb-item a {
    color: #fff
}

@media screen and (min-width: 768px) {
    .l-mv .breadcrumb-item a {
        line-height: 2.84
    }
}

.l-mv .anchorLink-list {
    display: flex;
    gap: 0 4rem;
    background: #fff;
    flex-wrap: wrap;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .l-mv .anchorLink-list {
        padding: 1.5rem 4.2rem 1.5rem 4.5rem
    }
}

@media screen and (max-width: 767px) {
    .l-mv .anchorLink-list {
        display: none
    }
}

.l-mv .anchorLink-list .anchorLink-list-item {
    display: flex;
    align-items: center
}

.l-mv .anchorLink-list .anchorLink-list-item a {
    font-weight: 700
}

.l-mv .anchorLink-list .arrow {
    position: relative;
    display: inline-block;
    padding-inline-start: 2rem;
    width: 1rem;
    height: .89rem
}

.l-mv .anchorLink-list .arrow::before,
.l-mv .anchorLink-list .arrow::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(50% - 1px);
    width: 2px;
    height: 10px;
    border-radius: 9999px;
    background-color: #000;
    transform-origin: 50% calc(100% - 1px)
}

.l-mv .anchorLink-list .arrow::before {
    transform: rotate(30deg)
}

.l-mv .anchorLink-list .arrow::after {
    transform: rotate(-30deg)
}

.l-mv .mv-logo {
    position: relative
}

.l-mv .mv-logo:before {
    position: absolute;
    content: "";
    bottom: 0;
    transform: translate(0, 0);
    height: 38.1rem;
    background: url(../images/common/logo_mv.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain
}

@media screen and (min-width: 768px) {
    .l-mv .mv-logo:before {
        right: 3rem;
        max-width: 50.9rem;
        min-width: 35rem;
        width: 28.47%
    }
}

@media screen and (max-width: 767px) {
    .l-mv .mv-logo:before {
        right: 0;
        max-width: 27rem;
        width: 66.6%
    }
}

.m-button {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-inline: 1.3rem;
    width: 35rem;
    height: 6rem;
    transition: background .2s ease-out, border .2s ease-out, color .2s ease-out, filter .2s ease-out;
    line-height: 1.7
}

.m-button .title {
    font-weight: 700
}

@media screen and (min-width: 768px) {
    .m-button .title {
        font-size: 1.6rem
    }
}

.m-button .subTitle {
    font-size: 1.3rem
}

.m-button::after {
    position: absolute;
    content: "";
    right: 1.5rem;
    background: url("../images/common/arrow_blueDark.svg") no-repeat center;
    background-size: contain;
    width: 2.59rem;
    height: 2.99rem
}

.m-button:hover {
    filter: opacity(100%)
}

.m-button:hover::after {
    background-image: url("../images/common/arrow_blue.svg")
}

.m-button.blueDark {
    background: #3e4558;
    border: 1px solid #fff;
    color: #fff
}

.m-button.blueDark::after {
    background-image: url("../images/common/arrow_blueDark.svg")
}

.m-button.blueDark:hover {
    background: #fff;
    border: 1px solid #3f78b2;
    color: #3f78b2;
    filter: opacity(100%)
}

.m-button.blueDark:hover::after {
    background-image: url("../images/common/arrow_blue_hover.svg")
}

.m-button.blue {
    background: #3f78b2;
    border: 1px solid #3f78b2;
    color: #fff
}

.m-button.blue::after {
    background-image: url("../images/common/arrow_blue.svg")
}

.m-button.blue:hover {
    background: #fff;
    border: 1px solid #3f78b2;
    color: #3f78b2;
    filter: opacity(100%)
}

.m-button.blue:hover::after {
    background-image: url("../images/common/arrow_blue_hover.svg")
}

.m-button.gray {
    background: #8492a0;
    border: 1px solid #8492a0;
    color: #fff
}

.m-button.gray::after {
    background-image: url("../images/common/arrow_gray.svg")
}

.m-button.gray:hover {
    background: #fff;
    border: 1px solid #8492a0;
    color: #8492a0;
    filter: opacity(100%)
}

.m-button.gray:hover::after {
    background-image: url("../images/common/arrow_gray_hover.svg")
}

#pageTop {
    position: fixed;
    right: 4rem;
    bottom: 10rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5.6rem;
    height: 5.6rem;
    border: 1px solid gray;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
    z-index: 1000
}

#pageTop .arrow {
    position: relative;
    display: block;
    width: 1.5px;
    height: 20px;
    border-radius: 9999px;
    background-color: #000
}

#pageTop .arrow::before,
#pageTop .arrow::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 9px;
    border-radius: 9999px;
    background-color: #000;
    transform-origin: 50% .75px
}

#pageTop .arrow::before {
    transform: rotate(45deg)
}

#pageTop .arrow::after {
    transform: rotate(-45deg)
}

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

.page-title-h1 {
    font-family: Barlow Condensed, sans-serif;
    font-weight: 200
}

@media screen and (min-width: 768px) {
    .page-title-h1 {
        font-size: 9rem
    }
}

@media screen and (max-width: 767px) {
    .page-title-h1 {
        font-size: 7.7rem
    }
}

.page-title-h1.sub {
    line-height: 1
}

.page-title-h1.sub+.page-subtitle {
    position: relative;
    padding-inline: 1.2rem;
    background-color: #3e4558;
    font-weight: 700;
    line-height: 1;
    color: #fff
}

@media screen and (min-width: 768px) {
    .page-title-h1.sub+.page-subtitle {
        top: -1.3rem;
        font-size: 1.8rem
    }
}

@media screen and (max-width: 767px) {
    .page-title-h1.sub+.page-subtitle {
        top: -1rem;
        font-size: 1.6rem
    }
}

.page-title-h2 {
    font-weight: 700
}

@media screen and (min-width: 768px) {
    .page-title-h2 {
        font-size: 3.6rem;
        line-height: 1.65
    }
}

@media screen and (max-width: 767px) {
    .page-title-h2 {
        font-size: 2.4rem;
        line-height: 1.38
    }
}

.page-title-h2.sub {
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 200
}

@media screen and (min-width: 768px) {
    .page-title-h2.sub {
        font-size: 12rem
    }
}

@media screen and (max-width: 767px) {
    .page-title-h2.sub {
        font-size: 7.7rem
    }
}

@media screen and (min-width: 768px) {
    .page-title-h2.small {
        font-size: 3.2rem
    }
}

@media screen and (max-width: 767px) {
    .page-title-h2.small {
        font-size: 2.4rem
    }
}

.page-title-h2.sub+.page-subtitle {
    position: relative;
    padding-inline: 1.2rem;
    background-color: #3e4558;
    font-weight: 700;
    line-height: 1;
    color: #fff
}

@media screen and (min-width: 768px) {
    .page-title-h2.sub+.page-subtitle {
        top: -0.7rem;
        font-size: 2.8rem
    }
}

@media screen and (max-width: 767px) {
    .page-title-h2.sub+.page-subtitle {
        top: -1rem;
        font-size: 1.6rem
    }
}

.top .title-area {
    text-align: center
}

@media screen and (min-width: 768px) {
    .top .title-area {
        margin-block-end: 6.68rem
    }
}

@media screen and (max-width: 767px) {
    .top .title-area {
        margin-block-end: 4.3rem
    }
}

.top .title-area .page-title-h2.sub {
    line-height: 1
}

.top .link-right {
    position: relative;
    display: block;
    margin-left: auto;
    border-bottom: 1px solid #707070;
    font-weight: 700
}

@media screen and (min-width: 768px) {
    .top .link-right {
        width: 36.1rem;
        height: 4.54rem;
        font-size: 1.8rem
    }
}

@media screen and (max-width: 767px) {
    .top .link-right {
        width: 27.3rem;
        height: 3.45rem
    }
}

.top .link-right::before {
    position: absolute;
    content: "詳しくはこちら";
    transition: content .2s ease-out
}

@media screen and (min-width: 768px) {
    .top .link-right::before {
        width: 36.1rem;
        height: 4.54rem
    }
}

@media screen and (max-width: 767px) {
    .top .link-right::before {
        width: 27.3rem;
        height: 3.45rem
    }
}

.top .link-right::after {
    position: absolute;
    content: "";
    top: 1rem;
    right: 0;
    background: url("../images/common/arrow_blue_hover.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 1.94rem;
    height: 2.24rem
}

@media screen and (max-width: 767px) {
    .top .link-right::after {
        top: .3rem
    }
}

@media screen and (min-width: 768px) {
    .top .link-right:hover::before {
        content: "詳しくはこちら"
    }
}

.top .l-mv-inner {
    width: 100%
}

@media screen and (min-width: 768px) {
    .top .l-mv-inner {
        max-width: 1440px
    }
}

@media screen and (min-width: 768px) {
    .top .l-mv .mv-background {
        padding-block-end: clamp(0rem, 6rem - (100vw - 1200px)*.25, 6rem)
    }
}

@media screen and (max-width: 767px) {
    .top .l-mv .mv-background {
        padding-block-end: 3.9rem
    }
}

.top .l-mv #stage {
    box-sizing: content-box
}

@media screen and (min-width: 768px) {
    .top .l-mv #stage {
        width: min(100vw, 1440px);
        height: min(55.5555555556vw, 800px);
        max-width: 1440px;
        max-height: 800px
    }
}

@media screen and (max-width: 767px) {
    .top .l-mv #stage {
        margin-inline: auto;
        width: 100vw;
        height: min(144.9275362319vw, 600px);
        max-width: 414px;
        max-height: 600px
    }
}

@media screen and (min-width: 768px)and (min-aspect-ratio: 1440/800) {
    .top .l-mv #stage {
        width: min(180vh, 1440px);
        height: min(100vh, 800px)
    }
}

@media screen and (max-width: 767px)and (min-aspect-ratio: 414/600) {
    .top .l-mv #stage {
        width: min(69vh, 414px);
        height: min(100vh, 600px)
    }
}

.top .l-mv .mv-newsArea {
    display: flex;
    justify-content: space-between;
    background: #fff;
    font-weight: 700
}

@media screen and (min-width: 768px) {
    .top .l-mv .mv-newsArea {
        position: absolute;
        right: 1rem;
        bottom: 2%;
        padding: 1.8rem 1.5rem;
        margin-inline-end: 5.4rem;
        margin-inline-start: auto;
        width: 68rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-mv .mv-newsArea {
        flex-direction: column;
        padding: .7rem 1.5rem 1rem;
        margin-inline-start: 1.88rem;
        width: 70%
    }
}

.top .l-mv .mv-newsArea .title-block {
    display: flex;
    line-height: 1.5
}

.top .l-mv .mv-newsArea .title {
    color: inherit;
    text-decoration: none
}

.top .l-mv .mv-newsArea .date {
    padding-inline-end: 2rem;
    color: #3f78b2
}

@media screen and (max-width: 767px) {
    .top .l-mv .mv-newsArea .date {
        display: block
    }
}

.top .l-mv .mv-newsArea .link {
    position: relative
}

@media screen and (min-width: 768px) {
    .top .l-mv .mv-newsArea .link {
        padding-inline-end: 3rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-mv .mv-newsArea .link {
        width: 10.5rem
    }
}

.top .l-mv .mv-newsArea .link::after {
    position: absolute;
    content: "";
    background: url("../images/common/arrow_blue.svg") no-repeat center;
    width: 2.41rem;
    height: 2.81rem
}

@media screen and (min-width: 768px) {
    .top .l-mv .mv-newsArea .link::after {
        top: .4rem;
        right: 0
    }
}

@media screen and (max-width: 767px) {
    .top .l-mv .mv-newsArea .link::after {
        top: -0.1rem;
        right: -1rem
    }
}

.top .l-lead {
    background: #f0f0f0
}

@media screen and (min-width: 768px) {
    .top .l-lead {
        padding-block: 15rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-lead {
        padding-block: 8.69rem 20.93rem
    }
}

.top .l-lead-inner {
    position: relative;
    content: "";
    background: url(../images/top/lead_background.png);
    background-repeat: no-repeat;
    background-size: contain
}

@media screen and (min-width: 768px) {
    .top .l-lead-inner {
        padding-block-end: 12rem;
        background-position: center center
    }
}

@media screen and (max-width: 767px) {
    .top .l-lead-inner {
        background-position: center top
    }
}

.top .l-lead .page-title-h2 {
    text-align: center
}

@media screen and (min-width: 768px) {
    .top .l-lead .page-title-h2 {
        margin-block-end: 6.6rem;
        font-size: 6rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-lead .page-title-h2 {
        padding-block-start: 6.28rem;
        margin-block-end: 4.9rem;
        font-size: 2.4rem
    }
}

.top .l-lead .lead-text {
    font-weight: 700;
    text-align: center
}

@media screen and (min-width: 768px) {
    .top .l-lead .lead-text {
        font-size: 2rem;
        line-height: 2.6
    }
}

@media screen and (max-width: 767px) {
    .top .l-lead .lead-text {
        font-size: 1.8rem;
        line-height: 2.05
    }
}

.top .l-news {
    background: #f0f0f0
}

@media screen and (min-width: 768px) {
    .top .l-news {
        padding-block-end: 15rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-news {
        padding-block-end: 20rem
    }
}

.top .l-news .news-list {
    margin-inline: auto
}

@media screen and (min-width: 768px) {
    .top .l-news .news-list {
        margin-block-end: 6.03rem;
        width: 66.6%
    }
}

@media screen and (max-width: 767px) {
    .top .l-news .news-list {
        margin-block-end: 3.25rem;
        width: 100%
    }
}

.top .l-news .news-list-item {
    font-weight: 500;
    border-bottom: 1px solid #707070
}

@media screen and (min-width: 768px) {
    .top .l-news .news-list-item {
        padding-block-end: 2.05rem;
        margin-block-end: 2.05rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-news .news-list-item {
        padding-block-end: 2.65rem;
        margin-block-end: 2.05rem
    }
}

.top .l-news .news-list-item .tag {
    display: flex;
    align-items: center;
    gap: 0 1.2rem
}

@media screen and (min-width: 768px) {
    .top .l-news .news-list-item .tag {
        font-size: 1.4rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-news .news-list-item .tag {
        margin-block-end: .8rem;
        font-size: 1.3rem
    }
}

.top .l-news .news-list-item .tag .category {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 10.4rem;
    height: 2.6rem;
    background: #3f78b2;
    color: #fff
}

.top .l-news .link-right::before {
    content: "一覧はこちら"
}

.top .l-service {
    background: #f0f0f0
}

@media screen and (min-width: 768px) {
    .top .l-service {
        padding-block-end: 15rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-service {
        padding-block-end: 20rem
    }
}

.top .l-service .service-image {
    margin-inline: auto
}

@media screen and (min-width: 768px) {
    .top .l-service .service-image {
        width: 48.6%
    }
}

@media screen and (min-width: 768px) {
    .top .l-service .text {
        margin-inline-start: auto;
        margin-block-end: 7.4rem;
        width: 43%
    }
}

@media screen and (max-width: 767px) {
    .top .l-service .text {
        margin-block-end: 7.03rem;
        width: 100%
    }
}

.top .l-case {
    background: #f0f0f0
}

@media screen and (min-width: 768px) {
    .top .l-case {
        padding-block-end: 15rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-case {
        padding-block-end: 20rem
    }
}

.top .l-case-inner {
    position: relative
}

.top .l-case .swiper {
    --swiper-wrapper-transition-timing-function: cubic-bezier(.16, 1, .3, 1)
}

@media screen and (min-width: 768px) {
    .top .l-case .swiper {
        padding-block-end: 5em;
        max-width: 1100px;
        width: 90%;
        height: 30.2rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-case .swiper {
        padding-block-end: 3.5rem;
        width: 100%;
        height: 30vh
    }
}

.top .l-case .swiper-slide {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    background: #f0f0f0;
    border: 1px solid #707070;
    font-size: 1.4rem;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s ease-out
}

@media screen and (min-width: 768px) {
    .top .l-case .swiper-slide {
        padding: 4.5rem 1.8rem 2rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-case .swiper-slide {
        padding: 3.5rem 1.8rem 1rem 2rem
    }
}

@media screen and (min-width: 768px) {
    .top .l-case .swiper-slide:hover {
        background: #fff
    }
}

.top .l-case .swiper-slide .top-area .category {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 9rem;
    height: 1.9rem;
    background: #3f78b2;
    font-size: 1.2rem;
    color: #fff
}

.top .l-case .swiper-slide .bottom-area {
    align-self: flex-end
}

.top .l-case .swiper-slide .bottom-area .text {
    font-size: 1.2rem;
    color: #3f78b2
}

.top .l-case .swiper-button-prev,
.top .l-case .swiper-button-next {
    left: auto;
    background: #3f78b2;
    border: 1px solid #3f78b2;
    color: #fff;
    transition: background .2s ease-out
}

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

    .top .l-case .swiper-button-prev,
    .top .l-case .swiper-button-next {
        top: 65%;
        width: 4.3rem;
        height: 4.3rem;
        font-size: 2.5rem
    }
}

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

    .top .l-case .swiper-button-prev,
    .top .l-case .swiper-button-next {
        top: 67%;
        width: 3.2rem;
        height: 3.2rem;
        font-size: 2rem
    }
}

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

    .top .l-case .swiper-button-prev:hover,
    .top .l-case .swiper-button-next:hover {
        background: #fff;
        color: #3f78b2
    }
}

@media screen and (min-width: 768px) {
    .top .l-case .swiper-button-prev {
        left: 0
    }
}

@media screen and (max-width: 767px) {
    .top .l-case .swiper-button-prev {
        left: -1.2rem
    }
}

@media screen and (min-width: 768px) {
    .top .l-case .swiper-button-next {
        right: 0
    }
}

@media screen and (max-width: 767px) {
    .top .l-case .swiper-button-next {
        right: -1.2rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-case .swiper-pagination {
        bottom: -2rem
    }
}

.top .l-case .swiper-pagination .swiper-pagination-bullet {
    width: 4.2rem;
    height: .6rem;
    border-radius: 0;
    background: #3f78b2;
    opacity: 100%;
    transition: background .4s ease-out
}

.top .l-case .swiper-pagination .swiper-pagination-bullet-active {
    background: #3e4558
}

@media screen and (max-width: 767px) {
    .top .l-case .link-right {
        margin-block-start: 6rem
    }
}

.top .l-human {
    background: #f0f0f0
}

@media screen and (min-width: 768px) {
    .top .l-human {
        padding-block-end: 15rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-human {
        padding-block-end: 20rem
    }
}

.top .l-human .human-image {
    margin-inline: auto
}

@media screen and (min-width: 768px) {
    .top .l-human .human-image {
        margin-block-end: 5.83rem;
        width: 48.6%
    }
}

@media screen and (max-width: 767px) {
    .top .l-human .human-image {
        margin-block-end: 3.79rem;
        width: 100%
    }
}

@media screen and (min-width: 768px) {
    .top .l-human .text {
        margin-inline-start: auto;
        margin-block-end: 7.4rem;
        width: 43.7%
    }
}

@media screen and (max-width: 767px) {
    .top .l-human .text {
        margin-block-end: 7.03rem;
        width: 100%
    }
}

.top .l-about {
    background: #f0f0f0
}

@media screen and (min-width: 768px) {
    .top .l-about {
        padding-block-end: 18rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-about {
        padding-block-end: 20rem
    }
}

.top .l-about .about-content {
    display: flex;
    gap: 0 5%;
    margin-inline: auto;
    max-width: 92.5rem
}

@media screen and (min-width: 768px) {
    .top .l-about .about-content {
        margin-block-end: 9.84rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-about .about-content {
        margin-block-end: 6.23rem;
        flex-direction: column
    }
}

.top .l-about .about-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 11.1rem;
    background: #fff
}

@media screen and (min-width: 768px) {
    .top .l-about .about-logo {
        width: 30.5rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-about .about-logo {
        margin-block-end: 4.45rem;
        margin-inline: auto;
        width: 90%
    }
}

.top .l-about .about-logo img {
    width: 17.2rem
}

@media screen and (max-width: 767px) {
    .top .l-about .about-logo img {
        width: 48%
    }
}

.top .l-about .text {
    text-align: left
}

@media screen and (min-width: 768px) {
    .top .l-about .text {
        width: 60%
    }
}

.top .l-about .text span {
    display: block
}

@media screen and (min-width: 768px) {
    .top .l-about .text span {
        margin-block-end: 2.4rem
    }
}

@media screen and (max-width: 767px) {
    .top .l-about .text span {
        margin-block-end: 3.2em
    }
}

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

    .l-news,
    .l-blog {
        padding-block-end: 2.4rem
    }
}

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

    .l-news,
    .l-blog {
        padding-block-end: 2.2rem
    }
}

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

    .news .page-title-h2,
    .blog .page-title-h2 {
        padding-inline-start: 4.9%;
        margin-block-end: 2.4rem
    }
}

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

    .news .page-title-h2,
    .blog .page-title-h2 {
        margin-block-end: 1.3rem
    }
}

.news .category-list,
.blog .category-list {
    display: flex;
    margin-inline: auto;
    padding-block: 2.4rem 3.2rem;
    border-top: 1px solid #8b8b8b
}

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

    .news .category-list,
    .blog .category-list {
        padding-inline: 4.9%
    }
}

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

    .news .category-list,
    .blog .category-list {
        flex-wrap: wrap
    }
}

.news .category-item,
.blog .category-item {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: -1px;
    height: 4.2rem;
    border: 1px solid #3e4558;
    background: #fff
}

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

    .news .category-item,
    .blog .category-item {
        width: 20%
    }
}

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

    .news .category-item,
    .blog .category-item {
        margin-bottom: -1px;
        width: 33.3333333333%
    }
}

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

    .news .category-item:first-child,
    .blog .category-item:first-child {
        margin-left: 0
    }
}

.news .category-item a,
.blog .category-item a {
    display: block;
    width: 100%;
    font-size: 1.5rem;
    text-align: center
}

.news .category-item.is-active,
.blog .category-item.is-active {
    background: #3e4558
}

.news .category-item.is-active a,
.blog .category-item.is-active a {
    color: #fff
}

.news .post-list,
.blog .post-list {
    display: flex;
    flex-direction: column;
    margin-inline: auto;
    background: #fff
}

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

    .news .post-list,
    .blog .post-list {
        padding-inline: 4.9%
    }
}

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

    .news .post-list,
    .blog .post-list {
        padding-inline: 1.6rem
    }
}

.news .post-list-item,
.blog .post-list-item {
    display: flex;
    flex-direction: column;
    padding-block-end: 1.6rem;
    margin-block-start: 1.6rem;
    border-bottom: 1px solid #707070;
    font-weight: 500
}

.news .post-list-item:last-child,
.blog .post-list-item:last-child {
    border-bottom: none
}

.news .post-list-item .tag,
.blog .post-list-item .tag {
    display: flex;
    gap: 0 1.1rem
}

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

    .news .post-list-item .tag,
    .blog .post-list-item .tag {
        font-size: 1.3rem
    }
}

.news .post-list-item .tag .category,
.blog .post-list-item .tag .category {
    background: #3f78b2;
    text-align: center;
    color: #fff
}

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

    .news .post-list-item .tag .category,
    .blog .post-list-item .tag .category {
        width: 12rem
    }
}

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

    .news .post-list-item .tag .category,
    .blog .post-list-item .tag .category {
        width: 9.2rem;
        font-size: 1.2rem
    }
}

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

    .news .post-list-item .title,
    .blog .post-list-item .title {
        margin-block-start: .5rem;
        line-height: 1.4
    }
}

.news .post-pagination-list,
.blog .post-pagination-list {
    --pagination-slot: 3.1rem;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (var(--pagination-slot))[11];
    grid-template-columns: repeat(11, var(--pagination-slot));
    align-items: center;
    justify-content: end;
    margin-inline-start: auto;
    width: fit-content
}

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

    .news .post-pagination-list,
    .blog .post-pagination-list {
        margin-block-start: 2.4rem
    }
}

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

    .news .post-pagination-list,
    .blog .post-pagination-list {
        --pagination-slot: 2.8rem;
        margin-block-start: 2.2rem
    }
}

.news .post-pagination-list-item,
.blog .post-pagination-list-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--pagination-slot, 3.1rem);
    height: var(--pagination-slot, 3.1rem);
    line-height: 1
}

.news .post-pagination-list-item.is-empty,
.blog .post-pagination-list-item.is-empty {
    pointer-events: none;
    visibility: hidden
}

.news .post-pagination-list-item a,
.news .post-pagination-list-item span,
.blog .post-pagination-list-item a,
.blog .post-pagination-list-item span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-align: center
}

.news .post-pagination-list-item.current,
.blog .post-pagination-list-item.current {
    position: relative
}

.news .post-pagination-list-item.current::before,
.blog .post-pagination-list-item.current::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #ddd;
    border-radius: 50%
}

.news .post-pagination-list-item.current span,
.blog .post-pagination-list-item.current span {
    position: relative;
    z-index: 1
}

.news .post-pagination-list-item.prev,
.blog .post-pagination-list-item.prev {
    position: relative;
    display: inline-block
}

.news .post-pagination-list-item.prev::before,
.news .post-pagination-list-item.prev::after,
.blog .post-pagination-list-item.prev::before,
.blog .post-pagination-list-item.prev::after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -0.5px;
    left: 7px;
    width: 8px;
    height: 1px;
    border-radius: 9999px;
    background-color: #000;
    transform-origin: .5px 50%
}

.news .post-pagination-list-item.prev::before,
.blog .post-pagination-list-item.prev::before {
    transform: rotate(60deg)
}

.news .post-pagination-list-item.prev::after,
.blog .post-pagination-list-item.prev::after {
    transform: rotate(-60deg)
}

.news .post-pagination-list-item.next,
.blog .post-pagination-list-item.next {
    position: relative;
    display: inline-block
}

.news .post-pagination-list-item.next::before,
.news .post-pagination-list-item.next::after,
.blog .post-pagination-list-item.next::before,
.blog .post-pagination-list-item.next::after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -0.5px;
    right: 7px;
    width: 8px;
    height: 1px;
    border-radius: 9999px;
    background-color: #000;
    transform-origin: calc(100% - .5px) 50%
}

.news .post-pagination-list-item.next::before,
.blog .post-pagination-list-item.next::before {
    transform: rotate(60deg)
}

.news .post-pagination-list-item.next::after,
.blog .post-pagination-list-item.next::after {
    transform: rotate(-60deg)
}

.news .post-pagination-list-item.first,
.blog .post-pagination-list-item.first {
    position: relative;
    display: inline-block;
    filter: drop-shadow(3px 0 0 #3E4558)
}

.news .post-pagination-list-item.first::before,
.news .post-pagination-list-item.first::after,
.blog .post-pagination-list-item.first::before,
.blog .post-pagination-list-item.first::after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -0.5px;
    left: 7px;
    width: 9px;
    height: 1px;
    border-radius: 9999px;
    background-color: #3e4558;
    transform-origin: .5px 50%
}

.news .post-pagination-list-item.first::before,
.blog .post-pagination-list-item.first::before {
    transform: rotate(60deg)
}

.news .post-pagination-list-item.first::after,
.blog .post-pagination-list-item.first::after {
    transform: rotate(-60deg)
}

.news .post-pagination-list-item.last,
.blog .post-pagination-list-item.last {
    position: relative;
    display: inline-block;
    filter: drop-shadow(3px 0 0 #3E4558)
}

.news .post-pagination-list-item.last::before,
.news .post-pagination-list-item.last::after,
.blog .post-pagination-list-item.last::before,
.blog .post-pagination-list-item.last::after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -0.5px;
    right: 7px;
    width: 9px;
    height: 1px;
    border-radius: 9999px;
    background-color: #3e4558;
    transform-origin: calc(100% - .5px) 50%
}

.news .post-pagination-list-item.last::before,
.blog .post-pagination-list-item.last::before {
    transform: rotate(60deg)
}

.news .post-pagination-list-item.last::after,
.blog .post-pagination-list-item.last::after {
    transform: rotate(-60deg)
}

.news .l-news,
.blog .l-news {
    background: #f0f0f0
}

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

    .news .l-news,
    .blog .l-news {
        padding-block-start: 8rem
    }
}

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

    .news .l-news,
    .blog .l-news {
        padding-block-start: 6rem
    }
}

.news .l-blog,
.blog .l-blog {
    background: #f0f0f0
}

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

    .news .l-blog,
    .blog .l-blog {
        padding-block-end: 14.7rem
    }
}

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

    .news .l-blog,
    .blog .l-blog {
        padding-block-end: 12rem
    }
}

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

    .news .l-blog .category-item,
    .blog .l-blog .category-item {
        width: 33.3333333333%
    }
}

.news.post .page-title-p,
.blog.post .page-title-p {
    font-family: Barlow Condensed, sans-serif;
    font-weight: 200
}

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

    .news.post .page-title-p,
    .blog.post .page-title-p {
        font-size: 9rem
    }
}

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

    .news.post .page-title-p,
    .blog.post .page-title-p {
        font-size: 7.7rem
    }
}

.news.post .page-title-p.sub,
.blog.post .page-title-p.sub {
    line-height: 1
}

.news.post .page-title-p.sub+.page-subtitle,
.blog.post .page-title-p.sub+.page-subtitle {
    position: relative;
    padding-inline: 1.2rem;
    background-color: #3e4558;
    font-weight: 700;
    line-height: 1;
    color: #fff
}

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

    .news.post .page-title-p.sub+.page-subtitle,
    .blog.post .page-title-p.sub+.page-subtitle {
        top: -1.3rem;
        font-size: 1.8rem
    }
}

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

    .news.post .page-title-p.sub+.page-subtitle,
    .blog.post .page-title-p.sub+.page-subtitle {
        top: -1rem;
        font-size: 1.6rem
    }
}

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

    .news.post .l-title,
    .blog.post .l-title {
        margin-block-start: 8rem
    }
}

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

    .news.post .l-title,
    .blog.post .l-title {
        margin-block-start: 6rem
    }
}

.news.post .l-title-inner,
.blog.post .l-title-inner {
    background: #fff
}

.news.post .l-title .title-area,
.blog.post .l-title .title-area {
    margin-inline: auto;
    border-bottom: 1px solid #707070
}

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

    .news.post .l-title .title-area,
    .blog.post .l-title .title-area {
        padding: 5rem 6.1rem 4rem 5.2rem
    }
}

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

    .news.post .l-title .title-area,
    .blog.post .l-title .title-area {
        padding: 3rem 4rem 3rem 3.2rem
    }
}

.news.post .l-title .title-area .sns-list,
.blog.post .l-title .title-area .sns-list {
    display: flex;
    gap: 0 1.5rem
}

.news.post .l-title .title-area .page-title-h1,
.blog.post .l-title .title-area .page-title-h1 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700
}

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

    .news.post .l-title .title-area .page-title-h1,
    .blog.post .l-title .title-area .page-title-h1 {
        margin-block-end: 2.1rem;
        font-size: 3rem;
        line-height: 1.37;
        letter-spacing: .07em
    }
}

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

    .news.post .l-title .title-area .page-title-h1,
    .blog.post .l-title .title-area .page-title-h1 {
        margin-block-end: 1.7rem;
        font-size: 2rem;
        line-height: 1.55
    }
}

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

    .news.post .l-title .title-area .date,
    .blog.post .l-title .title-area .date {
        font-size: 1.3rem
    }
}

.news.post .l-content-area-inner,
.blog.post .l-content-area-inner {
    background: #fff
}

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

    .news.post .l-content-area-inner,
    .blog.post .l-content-area-inner {
        padding: 3.9rem 6.1rem 13.2rem 5.2rem
    }
}

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

    .news.post .l-content-area-inner,
    .blog.post .l-content-area-inner {
        padding: 3rem 1.6rem 9.9rem 1.6rem
    }
}

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

    .news.post .l-button,
    .blog.post .l-button {
        padding-block-end: 16.1rem
    }
}

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

    .news.post .l-button,
    .blog.post .l-button {
        padding-block-end: 17.1rem
    }
}

.news.post .l-button .pagenation-button,
.blog.post .l-button .pagenation-button {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #707070
}

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

    .news.post .l-button .pagenation-button,
    .blog.post .l-button .pagenation-button {
        margin-block: 4.9rem 7.36rem;
        padding-block-start: 3.7rem
    }
}

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

    .news.post .l-button .pagenation-button,
    .blog.post .l-button .pagenation-button {
        margin-block: 4.7rem 6.56rem;
        padding-block-start: 4.5rem
    }
}

.news.post .l-button .pagenation-button .prev,
.blog.post .l-button .pagenation-button .prev {
    position: relative;
    padding-inline-start: 3.5rem;
    font-size: 1.8rem;
    font-weight: 500
}

.news.post .l-button .pagenation-button .prev::after,
.blog.post .l-button .pagenation-button .prev::after {
    position: absolute;
    content: "";
    left: 0;
    background: url("../images/common/arrow_blue.svg") no-repeat center;
    width: 3.32rem;
    height: 3.83rem;
    transform: rotate(180deg)
}

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

    .news.post .l-button .pagenation-button .prev::after,
    .blog.post .l-button .pagenation-button .prev::after {
        top: .2rem
    }
}

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

    .news.post .l-button .pagenation-button .prev::after,
    .blog.post .l-button .pagenation-button .prev::after {
        top: -0.2rem
    }
}

.news.post .l-button .pagenation-button .next,
.blog.post .l-button .pagenation-button .next {
    position: relative;
    padding-inline-end: 3.5rem;
    font-size: 1.8rem;
    font-weight: 500
}

.news.post .l-button .pagenation-button .next::after,
.blog.post .l-button .pagenation-button .next::after {
    position: absolute;
    content: "";
    right: 0;
    background: url("../images/common/arrow_blue.svg") no-repeat center;
    width: 3.32rem;
    height: 3.83rem
}

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

    .news.post .l-button .pagenation-button .next::after,
    .blog.post .l-button .pagenation-button .next::after {
        top: .2rem
    }
}

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

    .news.post .l-button .pagenation-button .next::after,
    .blog.post .l-button .pagenation-button .next::after {
        top: -0.2rem
    }
}

.news.post .l-button .m-button,
.blog.post .l-button .m-button {
    margin-inline: auto;
    width: 31.4rem
}

.news.post .l-button .m-button .title,
.blog.post .l-button .m-button .title {
    text-align: center;
    font-size: 1.8rem
}

@media screen and (max-width: 1199px) {
    .news-item .breadcrumb-list .breadcrumb-item:nth-last-child(2)::after {
        content: none
    }
}

@media screen and (max-width: 1199px) {
    .news-item .breadcrumb-list .breadcrumb-item:last-child {
        display: none
    }
}

@media screen and (min-width: 768px) {
    .service .l-lead {
        padding-block: 7.09rem 9.7rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-lead {
        padding-block: 3.2rem 3.8rem
    }
}

.service .l-lead .page-title-h2 {
    display: flex;
    justify-content: center
}

@media screen and (min-width: 768px) {
    .service .l-lead .page-title-h2 {
        margin-block-end: 4rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-lead .page-title-h2 {
        margin-block-end: 3.8rem
    }
}

.service .l-lead .lead-image {
    background: #fff;
    width: 100%;
    text-align: center
}

@media screen and (min-width: 768px) {
    .service .l-lead .lead-image img {
        width: 40.4%
    }
}

@media screen and (min-width: 768px) {
    .service .background-color {
        padding-block-end: 6.5rem
    }
}

@media screen and (max-width: 767px) {
    .service .background-color {
        padding-block-end: 7.94rem
    }
}

.service .l-solution {
    background: #fff
}

@media screen and (min-width: 768px) {
    .service .l-solution {
        margin-block-end: 8.1rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution {
        margin-block-end: 8.06rem
    }
}

.service .l-solution-inner {
    margin-inline: auto
}

@media screen and (min-width: 768px) {
    .service .l-solution-inner {
        width: 90%
    }
}

.service .l-solution .title-area {
    display: flex;
    align-items: center
}

@media screen and (min-width: 768px) {
    .service .l-solution .title-area {
        gap: 0 3.4rem;
        margin-block-end: 4rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .title-area {
        flex-direction: column;
        gap: 2.5rem 0;
        margin-block-end: 4rem
    }
}

.service .l-solution .title-area .page-title-h2 {
    display: flex;
    align-items: center;
    align-self: flex-start
}

@media screen and (min-width: 768px) {
    .service .l-solution .title-area .page-title-h2 {
        gap: 0 2.4rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .title-area .page-title-h2 {
        gap: 0 1.3rem
    }
}

.service .l-solution .title-area .page-title-h2 .tag {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    padding-block: 2.53rem;
    background: #3e4558;
    color: #fff;
    line-height: 1
}

@media screen and (min-width: 768px) {
    .service .l-solution .title-area .page-title-h2 .tag {
        flex: 0 0 9.8rem;
        min-width: 9.8rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .title-area .page-title-h2 .tag {
        flex: 0 0 7rem;
        min-width: 7rem
    }
}

.service .l-solution .title-area .page-title-h2 .tag svg {
    margin-block-end: 1rem
}

@media screen and (max-width: 767px) {
    .service .l-solution .title-area .page-title-h2 .tag svg {
        width: 1.74rem;
        height: 2rem
    }
}

.service .l-solution .title-area .page-title-h2 .tag-text {
    display: block;
    font-weight: 700
}

@media screen and (min-width: 768px) {
    .service .l-solution .title-area .page-title-h2 .tag-text {
        font-size: 1.2rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .title-area .page-title-h2 .tag-text {
        font-size: .9rem
    }
}

.service .l-solution .title-area .page-title-h2 .tag-no {
    font-weight: 200
}

@media screen and (min-width: 768px) {
    .service .l-solution .title-area .page-title-h2 .tag-no {
        font-size: 6.4rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .title-area .page-title-h2 .tag-no {
        font-size: 4.6rem
    }
}

.service .l-solution .title-area .page-title-h2 .title {
    white-space: nowrap
}

@media screen and (min-width: 768px) {
    .service .l-solution .title-area .page-title-h2 .title {
        flex: 0 0 29rem;
        font-size: 3.4rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .title-area .page-title-h2 .title {
        font-size: 2.4rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .title-area .text {
        margin-inline: auto;
        width: 92%
    }
}

.service .l-solution .solution-list {
    display: flex;
    justify-content: space-between
}

@media screen and (min-width: 768px) {
    .service .l-solution .solution-list {
        margin-block-end: 4rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .solution-list {
        flex-direction: column;
        gap: .7rem 0;
        margin-block-end: 2.4rem;
        margin-inline: auto;
        width: 92%
    }
}

@media screen and (min-width: 768px) {
    .service .l-solution .solution-list.col4 .solution-list-item {
        width: calc(25% - 6.5px)
    }
}

.service .l-solution .solution-list-item {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #3f78b2;
    font-weight: 700;
    text-align: center;
    color: #3f78b2
}

@media screen and (min-width: 768px) {
    .service .l-solution .solution-list-item {
        padding-block: 1.6rem;
        width: calc(33.3333333333% - 6.5px);
        font-size: 1.8rem;
        line-height: 1.61
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .solution-list-item {
        padding: 1.5rem 1.4rem 1.5rem 1.6rem;
        width: 100%;
        font-size: 1.6rem
    }
}

.service .l-solution .solution-list-item.logo {
    flex-direction: column
}

@media screen and (min-width: 768px) {
    .service .l-solution .solution-list-item.logo {
        gap: 1.5rem 0;
        padding-inline-start: .7rem
    }
}

.service .l-solution .solution-list-item.logo .logo-area {
    display: flex
}

@media screen and (min-width: 768px) {
    .service .l-solution .solution-list-item.logo .logo-area {
        gap: 0 .9rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .solution-list-item.logo .logo-area {
        justify-content: space-around
    }
}

.service .l-solution .solution-list-item.logo .logo {
    width: 33%
}

.service .l-solution .solution-list-item.logo .description {
    font-weight: 400;
    text-align: left;
    color: #3e4558
}

@media screen and (max-width: 767px) {
    .service .l-solution .solution-list-item.logo .description {
        margin-block-start: .5rem;
        text-align: center
    }
}

@media screen and (min-width: 768px) {
    .service .l-solution .solution-image {
        margin-block-end: 5.2rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .solution-image {
        margin-block-end: 3.5rem;
        margin-inline: auto;
        width: 92%
    }
}

.service .l-solution .solution-small-area {
    display: flex;
    flex-wrap: wrap;
    margin-inline: auto;
    border: 1px solid #3e4558
}

@media screen and (min-width: 768px) {
    .service .l-solution .solution-small-area {
        gap: 2rem 3.5rem;
        padding: 4.4rem 4.7rem 3.8rem 4.8rem;
        margin-block-end: 6rem;
        width: 77.59%
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .solution-small-area {
        gap: 1.4rem 0;
        padding: 2rem 1.4rem 3.1rem 1.5rem;
        margin-block-end: 3.2rem;
        width: 90%
    }
}

.service .l-solution .solution-small-area .title {
    font-weight: 700;
    line-height: 1.5
}

@media screen and (min-width: 768px) {
    .service .l-solution .solution-small-area .title {
        font-size: 3.2rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .solution-small-area .title {
        font-size: 2.4rem
    }
}

.service .l-solution .solution-small-area .title .subTitle {
    display: block
}

@media screen and (min-width: 768px) {
    .service .l-solution .solution-small-area .title .subTitle {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .solution-small-area .title .subTitle {
        font-size: 1.3rem
    }
}

@media screen and (min-width: 768px) {
    .service .l-solution .solution-small-area .logo {
        max-width: 24.5rem;
        width: 37%
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .solution-small-area .logo {
        margin-inline: auto;
        width: 75.41%
    }
}

.service .l-solution .solution-small-area .text {
    width: 100%
}

.service .l-solution .solution-banner-area {
    margin-inline: auto
}

@media screen and (min-width: 768px) {
    .service .l-solution .solution-banner-area {
        margin-block-end: 6rem;
        width: 77.59%
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .solution-banner-area {
        margin-block-end: 3.2rem
    }
}

.service .l-solution .button-area {
    display: flex;
    justify-content: center
}

@media screen and (min-width: 768px) {
    .service .l-solution .button-area {
        gap: 0 2.1rem;
        padding-block-end: 5.6rem
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .button-area {
        align-items: center;
        gap: 2.5rem .6rem;
        flex-direction: column;
        margin-inline: auto;
        padding-block-end: 3.7rem
    }
}

.service .l-solution .button-area .m-button {
    width: 31.4rem;
    height: 5.2rem;
    text-align: center
}

@media screen and (max-width: 767px) {
    .service .l-solution .button-area .m-button {
        width: 80%
    }
}

@media screen and (max-width: 767px) {
    .service .l-solution .button-area .m-button:after {
        right: 1.5rem
    }
}

@media screen and (max-width: 767px) {
    .service #solution08 .title-area .page-title-h2 {
        gap: 0
    }
}

.service #solution08 .title-area .page-title-h2 .title {
    text-align: center
}

@media screen and (min-width: 768px) {
    .service #solution08 .title-area .page-title-h2 .title {
        font-size: 2.4rem
    }
}

@media screen and (max-width: 767px) {
    .service #solution08 .title-area .page-title-h2 .title {
        font-size: 1.8rem
    }
}

@media screen and (min-width: 768px) {
    .service #solution08 .title-area .page-title-h2 .title .logo {
        margin-block-start: 1.6rem
    }
}

@media screen and (max-width: 767px) {
    .service #solution08 .title-area .page-title-h2 .title .logo {
        margin-inline: auto;
        width: 75%
    }
}

@media screen and (min-width: 768px) {
    .case .l-caseStudy {
        padding-block: 7.09rem 9.7rem
    }
}

@media screen and (max-width: 767px) {
    .case .l-caseStudy {
        padding-block: 3.2rem 3.8rem
    }
}

.case .l-caseStudy .page-title-h2 {
    display: flex;
    justify-content: center
}

@media screen and (min-width: 768px) {
    .case .l-caseStudy .page-title-h2 {
        margin-block-end: 4rem
    }
}

@media screen and (max-width: 767px) {
    .case .l-caseStudy .page-title-h2 {
        margin-block-end: 3.8rem
    }
}

.case .l-case-inner {
    background: #fff
}

@media screen and (min-width: 768px) {
    .case .l-case-inner {
        margin-block-end: 6.45rem;
        padding: 4rem 6rem 8rem
    }
}

@media screen and (max-width: 767px) {
    .case .l-case-inner {
        margin-block-end: 4rem;
        padding: 3.9rem 1.3rem 4rem
    }
}

@media screen and (min-width: 768px) {
    .case .l-case .case-title {
        margin-block-end: 2.2rem
    }
}

@media screen and (max-width: 767px) {
    .case .l-case .case-title {
        margin-block-end: 1.6rem
    }
}

@media screen and (min-width: 768px) {
    .case .l-case .case-title .company {
        font-size: 1.8rem
    }
}

@media screen and (max-width: 767px) {
    .case .l-case .case-title .company {
        font-size: 1.6rem
    }
}

.case .l-case .case-title .company .tag {
    margin-inline-end: 1rem;
    padding: .3rem 1.3rem .4rem 1.4rem;
    background: #3f78b2;
    color: #fff;
    font-size: 1.6rem
}

.case .l-case .case-title .title {
    font-weight: 700
}

@media screen and (min-width: 768px) {
    .case .l-case .case-title .title {
        font-size: 2rem
    }
}

@media screen and (max-width: 767px) {
    .case .l-case .case-title .title {
        font-size: 1.8rem
    }
}

.case .l-case .summary-list {
    display: flex
}

@media screen and (min-width: 768px) {
    .case .l-case .summary-list {
        gap: 0 2.2rem;
        margin-block-end: 2rem
    }
}

@media screen and (max-width: 767px) {
    .case .l-case .summary-list {
        gap: 1.8rem 0;
        flex-direction: column;
        margin-block-end: 2rem
    }
}

.case .l-case .summary-list-item {
    display: flex
}

@media screen and (min-width: 768px) {
    .case .l-case .summary-list-item {
        width: 50%
    }
}

@media screen and (max-width: 767px) {
    .case .l-case .summary-list-item {
        flex-direction: column;
        gap: 1.5rem 0
    }
}

.case .l-case .summary-list-item .title {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #3e4558;
    font-weight: 500;
    color: #fff;
    white-space: nowrap
}

@media screen and (min-width: 768px) {
    .case .l-case .summary-list-item .title {
        padding-inline: 1rem 1.2rem;
        width: 10.3rem
    }
}

@media screen and (max-width: 767px) {
    .case .l-case .summary-list-item .title {
        justify-content: flex-start;
        padding-block: .9rem;
        padding-inline-start: 1.2rem;
        font-size: 1.6rem
    }
}

.case .l-case .summary-list-item .item {
    padding-inline-start: 3rem;
    font-weight: 500
}

.case .l-case .summary-list-item .item p {
    position: relative
}

@media screen and (max-width: 767px) {
    .case .l-case .summary-list-item .item p {
        font-size: 1.3rem
    }
}

.case .l-case .summary-list-item .item p::before {
    position: absolute;
    content: "";
    left: -1.5rem;
    background-color: #3f78b2;
    border-radius: 50%
}

@media screen and (min-width: 768px) {
    .case .l-case .summary-list-item .item p::before {
        top: 1.5rem;
        width: 10px;
        height: 10px
    }
}

@media screen and (max-width: 767px) {
    .case .l-case .summary-list-item .item p::before {
        top: .8rem;
        width: 9px;
        height: 9px
    }
}

@media screen and (min-width: 768px) {
    .case .l-case .case-image {
        margin-block-end: 2rem
    }
}

@media screen and (max-width: 767px) {
    .case .l-case .case-image {
        margin-block-end: 1.2rem
    }
}

.case .l-case .case-result-list-item {
    display: flex;
    font-weight: 500
}

.case .l-case .case-result-list-item .term {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #3e4558;
    font-weight: 500;
    color: #fff;
    white-space: nowrap
}

@media screen and (min-width: 768px) {
    .case .l-case .case-result-list-item .term {
        padding-inline: 1rem 1.2rem;
        width: 10.3rem
    }
}

@media screen and (max-width: 767px) {
    .case .l-case .case-result-list-item .term {
        padding-inline: 1.2rem;
        width: 5.6rem
    }
}

.case .l-case .case-result-list-item .description {
    flex-grow: 1;
    background: #eceff2;
    font-weight: 700
}

@media screen and (min-width: 768px) {
    .case .l-case .case-result-list-item .description {
        padding: 3.8rem 1.5rem 3.8rem 1.7rem
    }
}

@media screen and (max-width: 767px) {
    .case .l-case .case-result-list-item .description {
        padding: 1.5rem 1.2rem 2.7rem 1.3rem
    }
}

.case .l-case .col2 {
    display: flex;
    flex-wrap: wrap
}

@media screen and (max-width: 767px) {
    .case .l-case .col2 {
        gap: .2rem 0
    }
}

@media screen and (min-width: 768px) {
    .case .l-case .col2 .case-result-list-item {
        width: 50%
    }
}

@media screen and (max-width: 767px) {
    .case .l-case .col2 .case-result-list-item {
        width: 100%
    }
}

.case .l-case .col2 .term {
    display: flex;
    flex-direction: column;
    line-height: 1
}

@media screen and (min-width: 768px) {
    .case .l-case .col2 .term {
        width: 6.9rem
    }
}

.case .l-case .col2 .number {
    font-weight: 200
}

@media screen and (min-width: 768px) {
    .case .l-case .col2 .number {
        font-size: 5.1rem
    }
}

@media screen and (max-width: 767px) {
    .case .l-case .col2 .number {
        font-size: 4.4rem
    }
}

.case .l-case .col2 .description {
    flex-grow: 1
}

.case .l-case .col2 .full {
    margin-block-end: .15rem;
    width: 100%
}

.case .l-case hr {
    margin-inline: auto;
    width: 86.73%;
    border-bottom: 1px solid #8b8b8b
}

@media screen and (min-width: 768px) {
    .case .l-case hr {
        margin-block-end: 6.4rem;
        max-width: 1220px
    }
}

@media screen and (max-width: 767px) {
    .case .l-case hr {
        margin-block-end: 4rem
    }
}

.human .l-mv .mv-logo::after {
    position: absolute;
    content: "";
    background: url(../images/human/mv_repeat_logo.png);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat
}

@media screen and (min-width: 768px) {
    .human .l-mv .mv-logo::after {
        right: 10rem;
        bottom: 1rem;
        width: 16rem;
        height: 18.5rem
    }
}

@media screen and (max-width: 767px) {
    .human .l-mv .mv-logo::after {
        right: 2rem;
        bottom: 1rem;
        width: 13.3rem;
        height: 15.4rem
    }
}

@media screen and (min-width: 768px) {
    .human .l-human {
        padding-block-start: 13rem
    }
}

@media screen and (max-width: 767px) {
    .human .l-human {
        padding-block: 3.3rem 4.7rem
    }
}

.human .l-human-inner {
    background: #fff
}

@media screen and (min-width: 768px) {
    .human .l-human-inner {
        padding-inline: 6rem;
        padding-block: 3.8rem 7rem
    }
}

@media screen and (max-width: 767px) {
    .human .l-human-inner {
        padding-inline: 1.3rem;
        padding-block: 4rem 4.8rem
    }
}

.human .l-human .page-title-h2 {
    text-align: center
}

@media screen and (min-width: 768px) {
    .human .l-human .page-title-h2 {
        margin-block-end: 4rem
    }
}

@media screen and (max-width: 767px) {
    .human .l-human .page-title-h2 {
        margin-block-end: 1.7rem
    }
}

.human .l-human .text {
    margin-inline: auto
}

@media screen and (min-width: 768px) {
    .human .l-human .text {
        margin-block-end: 5rem;
        width: 70.57%
    }
}

@media screen and (max-width: 767px) {
    .human .l-human .text {
        margin-block-end: 3.2rem
    }
}

.human .l-human .human-image {
    margin-inline: auto;
    margin-block-end: 4rem
}

@media screen and (min-width: 768px) {
    .human .l-human .human-image.small {
        width: 70.57%
    }
}

@media screen and (min-width: 768px) {
    .human .l-human .page-title-h3 {
        margin-block: 8rem 2.8rem;
        font-size: 2rem
    }
}

@media screen and (max-width: 767px) {
    .human .l-human .page-title-h3 {
        margin-block: 5rem 1.8rem;
        font-size: 1.8rem;
        text-indent: -2rem;
        padding-inline-start: 2rem
    }
}

.human .l-human .page-title-h3 svg {
    position: relative;
    top: .3rem;
    margin-inline-end: .5rem
}

@media screen and (max-width: 767px) {
    .human .l-human .page-title-h3 svg {
        width: 1.7rem;
        height: 1.9rem
    }
}

.human .l-human .triangle {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-block-start: 3rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 24px solid rgba(0, 0, 0, 0);
    border-left: 24px solid rgba(0, 0, 0, 0);
    border-top: 26px solid #3f78b2;
    border-bottom: 0
}

.human .l-human .m-button {
    margin-inline: auto
}

@media screen and (min-width: 768px) {
    .human .l-human .m-button {
        width: 31.4rem;
        height: 5.2rem
    }
}

@media screen and (min-width: 768px) {
    .human .l-human.bottom {
        padding-block-end: 16rem
    }
}

@media screen and (max-width: 767px) {
    .human .l-human.bottom {
        padding-block-end: 12.3rem
    }
}

@media screen and (min-width: 768px) {
    .company .l-company {
        padding-block: 7.99rem 4.01rem
    }
}

@media screen and (max-width: 767px) {
    .company .l-company {
        padding-block: 3.33rem 1.67rem
    }
}

.company .l-company-inner {
    padding: 4rem 5.65rem 8rem 6rem;
    background: #fff
}

@media screen and (max-width: 767px) {
    .company .l-company-inner {
        padding: 2.5rem 1.6rem 5.1rem 1.6rem
    }
}

@media screen and (min-width: 768px) {
    .company .l-company .page-title-h2 {
        margin-block-end: 5.4rem
    }
}

@media screen and (max-width: 767px) {
    .company .l-company .page-title-h2 {
        margin-block-end: 3rem
    }
}

.company .mission-list-wrap {
    display: flex;
    border-bottom: 1px solid #aaa
}

@media screen and (min-width: 768px) {
    .company .mission-list-wrap {
        gap: 0 2.4rem;
        padding-block-end: 6rem;
        margin-block-end: 6rem
    }
}

@media screen and (max-width: 767px) {
    .company .mission-list-wrap {
        flex-direction: column;
        padding-block-end: 4rem;
        margin-block-end: 4.3rem
    }
}

.company .mission-list-wrap:last-child {
    margin-block-end: 0;
    padding-block-end: 0;
    border-bottom: none
}

.company .mission-list-wrap .tag {
    display: flex;
    align-items: center;
    height: 3.1rem;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff
}

@media screen and (max-width: 767px) {
    .company .mission-list-wrap .tag {
        margin-block-end: .9rem
    }
}

.company .mission-list-wrap .tag span {
    padding-inline: 1.6rem;
    background: #3f78b2
}

.company .mission-list-wrap .mission-list {
    display: flex;
    flex-direction: column
}

.company .mission-list-wrap .mission-list-item-title {
    font-weight: 700;
    line-height: 1
}

@media screen and (min-width: 768px) {
    .company .mission-list-wrap .mission-list-item-title {
        margin-block-end: 3.3rem;
        font-size: 3rem
    }
}

@media screen and (max-width: 767px) {
    .company .mission-list-wrap .mission-list-item-title {
        margin-block-end: 2.6rem;
        font-size: 2rem;
        line-height: 1.65
    }
}

.company .mission-list-wrap .mission-list-item-title .small {
    display: block
}

@media screen and (min-width: 768px) {
    .company .mission-list-wrap .mission-list-item-title .small {
        margin-block-start: 2rem;
        font-size: 2.4rem
    }
}

@media screen and (max-width: 767px) {
    .company .mission-list-wrap .mission-list-item-title .small {
        margin-block-start: 1.5rem;
        font-size: 1.8rem
    }
}

.company .mission-list-wrap .mission-list-item-title.low {
    margin-block-end: 1.6rem
}

@media screen and (min-width: 768px) {
    .company .mission-list-wrap .mission-list-item-title .title_image01 {
        width: auto;
        height: 29px
    }
}

@media screen and (min-width: 768px) {
    .company .mission-list-wrap .mission-list-item-title .title_image02 {
        width: auto;
        height: 73px
    }
}

@media screen and (min-width: 768px) {
    .company .mission-list-wrap .mission-list-item-title .title_image03 {
        width: auto;
        height: 360px
    }
}

@media screen and (min-width: 768px) {
    .company .mission-list-wrap .mission-list-item-title .title_image04 {
        width: auto;
        height: 411px
    }
}

.company .mission-list-wrap .mission-list-item-text {
    font-weight: 500
}

@media screen and (min-width: 768px) {
    .company .mission-list-wrap .mission-list-item-text {
        padding-block-end: 3.4rem
    }
}

@media screen and (max-width: 767px) {
    .company .mission-list-wrap .mission-list-item-text {
        padding-block-end: 3rem
    }
}

.company .mission-list-wrap .mission-list-item-text:last-child {
    padding-block-end: 0
}

.company .message-wrap {
    display: flex;
    justify-content: space-between
}

@media screen and (max-width: 767px) {
    .company .message-wrap {
        flex-direction: column
    }
}

@media screen and (min-width: 768px) {
    .company .message-wrap .message-image {
        width: 40%
    }
}

@media screen and (max-width: 767px) {
    .company .message-wrap .message-image {
        margin-block-end: 2.3rem
    }
}

@media screen and (min-width: 768px) {
    .company .message-wrap .message-text-area {
        width: 56%
    }
}

.company .message-wrap .page-title-h3 {
    line-height: 1
}

@media screen and (min-width: 768px) {
    .company .message-wrap .page-title-h3 {
        margin-block-end: 2.1rem;
        font-size: 3.2rem
    }
}

@media screen and (max-width: 767px) {
    .company .message-wrap .page-title-h3 {
        margin-block-end: 1rem;
        font-size: 2rem
    }
}

.company .message-wrap .company,
.company .message-wrap .name {
    font-weight: 700;
    line-height: 1.5
}

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

    .company .message-wrap .company,
    .company .message-wrap .name {
        font-size: 1.4rem
    }
}

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

    .company .message-wrap .company,
    .company .message-wrap .name {
        font-size: 1.2rem
    }
}

@media screen and (min-width: 768px) {
    .company .message-wrap .name {
        margin-block-end: 2.6rem
    }
}

@media screen and (max-width: 767px) {
    .company .message-wrap .name {
        margin-block-end: 2.1rem
    }
}

.company .message-wrap .text {
    font-size: 1.5rem;
    line-height: 1.68
}

@media screen and (min-width: 768px) {
    .company .message-wrap .text {
        margin-block-end: 2rem
    }
}

@media screen and (max-width: 767px) {
    .company .message-wrap .text {
        margin-block-end: 2.4rem
    }
}

@media screen and (min-width: 768px) {
    .company .l-about-inner {
        padding: 4rem 5.65rem 8rem 6rem
    }
}

@media screen and (max-width: 767px) {
    .company .l-about-inner {
        padding: 2.5rem 1.6rem 5.1rem 1.6rem
    }
}

.company .l-about-inner .about-list {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #aaa
}

.company .l-about-inner .about-list-item-title {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-inline: 2.4rem;
    background: #3e4558;
    border-bottom: 1px solid #aaa;
    font-weight: 500;
    color: #fff;
    line-height: 1.6
}

@media screen and (min-width: 768px) {
    .company .l-about-inner .about-list-item-title {
        padding-block: .9rem;
        max-width: 22.4rem;
        width: 20.23%
    }
}

@media screen and (max-width: 767px) {
    .company .l-about-inner .about-list-item-title {
        padding-block: 1.4rem;
        width: 100%;
        font-size: 1.4rem
    }
}

@media screen and (min-width: 768px) {
    .company .l-about-inner .about-list-item-title.col2 {
        padding-inline: 2.4rem
    }
}

.company .l-about-inner .about-list-item-text {
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex-grow: 1;
    background: #fff;
    border-bottom: 1px solid #aaa;
    line-height: 1.7
}

@media screen and (min-width: 768px) {
    .company .l-about-inner .about-list-item-text {
        padding-block: 1.5rem;
        padding-inline-start: 2.2rem;
        width: 79.77%
    }
}

@media screen and (max-width: 767px) {
    .company .l-about-inner .about-list-item-text {
        padding-block: 1rem;
        padding-inline: 1rem;
        width: 100%
    }
}

.company .l-about-inner .about-list-item-text .list-item {
    padding-left: 1rem;
    padding-block: .5rem;
    line-height: 1.6;
    text-indent: -1.5rem
}

.company .l-about-inner .about-list-item-text .address-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #aaa
}

@media screen and (min-width: 768px) {
    .company .l-about-inner .about-list-item-text .address-list-item {
        padding-block-end: 1.7rem;
        margin-block-end: 1.7rem
    }
}

@media screen and (max-width: 767px) {
    .company .l-about-inner .about-list-item-text .address-list-item {
        flex-direction: column;
        padding-block-end: 1.3rem;
        margin-block-end: 1rem
    }
}

.company .l-about-inner .about-list-item-text .address-list-item:last-child {
    padding-block-end: 0;
    margin-block-end: 0;
    border-bottom: none
}

@media screen and (max-width: 767px) {
    .company .l-about-inner .about-list-item-text .address-list-item .text {
        align-self: flex-start
    }
}

.company .l-about-inner .about-list-item-text .address-list-item .small {
    font-size: 1rem
}

.company .l-about-inner .about-list-item-text .address-list-item .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #3f78b2;
    color: #fff
}

@media screen and (min-width: 768px) {
    .company .l-about-inner .about-list-item-text .address-list-item .icon {
        margin-inline-end: 3rem;
        width: 5.4rem;
        height: 2.6rem;
        font-size: 1.3rem
    }
}

@media screen and (max-width: 767px) {
    .company .l-about-inner .about-list-item-text .address-list-item .icon {
        align-self: flex-end;
        width: 4.1rem;
        height: 2.46em;
        font-size: 1rem
    }
}

@media screen and (min-width: 768px) {
    .company .l-about-inner .about-list-item-text .address-list-item .logo {
        margin-inline-end: 3rem
    }
}

@media screen and (max-width: 767px) {
    .company .l-about-inner .about-list-item-text .address-list-item .logo {
        margin-block-start: 1.4rem
    }
}

@media screen and (min-width: 768px) {
    .company .l-about-inner .about-list-item-text .address-list-item .logo.iso {
        width: 13rem
    }
}

@media screen and (max-width: 767px) {
    .company .l-about-inner .about-list-item-text .address-list-item .logo.iso {
        width: 29.58%
    }
}

@media screen and (min-width: 768px) {
    .company .l-about-inner .about-list-item-text .address-list-item .logo.cypher {
        width: 11.5rem
    }
}

@media screen and (max-width: 767px) {
    .company .l-about-inner .about-list-item-text .address-list-item .logo.cypher {
        width: 24.85%
    }
}

@media screen and (min-width: 768px) {
    .company .l-about-inner .about-list-item-text .address-list-item .logo.kenko {
        width: 24rem
    }
}

@media screen and (max-width: 767px) {
    .company .l-about-inner .about-list-item-text .address-list-item .logo.kenko {
        width: 57.69%
    }
}

@media screen and (min-width: 768px) {
    .company .l-about-inner .about-list-item-text .address-list-item .logo.eruboshi {
        width: 13rem
    }
}

@media screen and (max-width: 767px) {
    .company .l-about-inner .about-list-item-text .address-list-item .logo.eruboshi {
        width: 29.58%
    }
}

.company .l-about-inner .about-list-item-text a {
    text-decoration: underline
}

.company .l-about-inner .page-title-h3 {
    font-weight: 400
}

@media screen and (min-width: 768px) {
    .company .l-about-inner .page-title-h3 {
        margin-block-start: 4.4rem;
        font-size: 1.6rem
    }
}

@media screen and (max-width: 767px) {
    .company .l-about-inner .page-title-h3 {
        margin-block-start: 3rem;
        font-size: 1.4rem
    }
}

@media screen and (min-width: 768px) {
    .company #well-being {
        padding-block-end: 21.4rem
    }
}

@media screen and (max-width: 767px) {
    .company #well-being {
        padding-block-end: 13.9rem
    }
}

@media screen and (min-width: 768px) {
    .company .well-being-content {
        padding: 4rem 5.65rem 4rem 6rem
    }
}

@media screen and (max-width: 767px) {
    .company .well-being-content {
        padding: 2.5rem 1.6rem 3.1rem 1.6rem
    }
}

@media screen and (min-width: 768px) {
    .company .well-being-content .page-title-h2 {
        margin-block-end: 2.5rem;
        letter-spacing: .07em
    }
}

@media screen and (max-width: 767px) {
    .company .well-being-content .page-title-h2 {
        margin-block-end: 2.4rem;
        letter-spacing: .01em
    }
}

.company .well-being-content .well-being-inner {
    background: #fafafa;
    text-align: center
}

@media screen and (min-width: 768px) {
    .company .well-being-content .well-being-inner {
        padding: 3.7rem 2rem 5.7rem;
        margin-block-end: 4rem
    }
}

@media screen and (max-width: 767px) {
    .company .well-being-content .well-being-inner {
        padding: 2rem 1rem 4.36rem;
        margin-block-end: 2rem
    }
}

@media screen and (min-width: 768px) {
    .company .well-being-content .well-being-inner .page-title-h3 {
        margin-block-end: 2.9rem;
        font-size: 3rem
    }
}

@media screen and (max-width: 767px) {
    .company .well-being-content .well-being-inner .page-title-h3 {
        margin-block-end: 2rem;
        font-size: 2rem
    }
}

.company .well-being-content .well-being-inner .sub-title {
    font-weight: 700
}

@media screen and (min-width: 768px) {
    .company .well-being-content .well-being-inner .sub-title {
        margin-block-end: 2.9rem;
        font-size: 2.4rem
    }
}

@media screen and (max-width: 767px) {
    .company .well-being-content .well-being-inner .sub-title {
        margin-block-end: 2rem;
        font-size: 1.8rem
    }
}

@media screen and (min-width: 768px) {
    .company .well-being-content .well-being-inner .text {
        margin-block-end: 2.4rem
    }
}

@media screen and (max-width: 767px) {
    .company .well-being-content .well-being-inner .text {
        margin-block-end: 2rem
    }
}

@media screen and (min-width: 768px) {
    .recruit .l-recruit {
        margin-block-start: 8rem
    }
}

@media screen and (max-width: 767px) {
    .recruit .l-recruit {
        margin-block-start: 5.83rem
    }
}

.recruit .l-recruit .page-title-h2 {
    text-align: center
}

@media screen and (min-width: 768px) {
    .recruit .l-recruit .page-title-h2 {
        margin-block-end: 2.7rem
    }
}

@media screen and (max-width: 767px) {
    .recruit .l-recruit .page-title-h2 {
        margin-block-end: 2rem
    }
}

.recruit .l-recruit .page-title-h3 {
    text-align: center
}

@media screen and (min-width: 768px) {
    .recruit .l-recruit .page-title-h3 {
        margin-block-end: 2.2rem;
        font-size: 3.6rem
    }
}

@media screen and (max-width: 767px) {
    .recruit .l-recruit .page-title-h3 {
        margin-block-end: 1.5rem;
        font-size: 2.4rem
    }
}

.recruit .l-recruit .text {
    margin-inline: auto
}

@media screen and (min-width: 768px) {
    .recruit .l-recruit .text {
        margin-block-end: 12rem;
        max-width: 88.5rem
    }
}

@media screen and (max-width: 767px) {
    .recruit .l-recruit .text {
        margin-block-end: 7rem
    }
}

.recruit .l-recruit .recruit-banner {
    margin-inline: auto
}

.recruit .l-recruit .recruit-banner figure {
    margin-inline: auto;
    margin-block-end: 6rem
}

@media screen and (min-width: 768px) {
    .recruit .l-recruit .recruit-banner figure {
        max-width: 110.7rem
    }
}

.recruit .l-recruit .cantabile-banner {
    margin-inline: auto
}

.recruit .l-recruit .cantabile-banner figure {
    margin-inline: auto
}

@media screen and (min-width: 768px) {
    .recruit .l-recruit .cantabile-banner figure {
        margin-block-end: 16rem;
        max-width: 75.9rem
    }
}

@media screen and (max-width: 767px) {
    .recruit .l-recruit .cantabile-banner figure {
        margin-block-end: 15rem
    }
}

@media screen and (min-width: 768px) {
    .privacy .l-privacy {
        padding-block-start: 8rem
    }
}

@media screen and (max-width: 767px) {
    .privacy .l-privacy {
        padding-block-start: 6rem
    }
}

.privacy .l-privacy-inner {
    background: #fff
}

@media screen and (min-width: 768px) {
    .privacy .l-privacy-inner {
        padding: 5.1rem 6rem 9.9rem
    }
}

@media screen and (max-width: 767px) {
    .privacy .l-privacy-inner {
        padding: 2.5rem 1.6rem 3.5rem
    }
}

@media screen and (min-width: 768px) {
    .privacy .l-privacy .page-title-h2 {
        margin-block-end: 4rem
    }
}

@media screen and (max-width: 767px) {
    .privacy .l-privacy .page-title-h2 {
        margin-block-end: 2rem
    }
}

.privacy .l-privacy .text.right {
    text-align: right
}

@media screen and (min-width: 768px) {
    .privacy .l-privacy .text.right {
        margin-block-end: 2rem
    }
}

@media screen and (max-width: 767px) {
    .privacy .l-privacy .text.right {
        margin-block-end: 1.4rem
    }
}

.privacy .l-privacy .privacy-list-item-title {
    font-weight: 700
}

@media screen and (min-width: 768px) {
    .privacy .l-privacy .privacy-list-item-title {
        margin-block: 5rem 1.4rem;
        font-size: 2rem
    }
}

@media screen and (max-width: 767px) {
    .privacy .l-privacy .privacy-list-item-title {
        margin-block: 3.6rem 1.2rem;
        font-size: 1.8rem
    }
}

.privacy .l-privacy .privacy-list-item-title svg {
    position: relative
}

@media screen and (min-width: 768px) {
    .privacy .l-privacy .privacy-list-item-title svg {
        top: .1rem;
        margin-inline-end: .84rem;
        width: 1.5rem;
        height: 1.7rem
    }
}

@media screen and (max-width: 767px) {
    .privacy .l-privacy .privacy-list-item-title svg {
        top: .3rem;
        margin-inline-end: .65rem;
        width: 1.7rem;
        height: 1.9rem
    }
}

.privacy .l-privacy .privacy-list-item-text {
    line-height: 1.875
}

.privacy .l-privacy .privacy-list-item-text .sub-title {
    font-weight: 700
}

@media screen and (min-width: 768px) {
    .privacy .l-privacy .privacy-list-item-text .text {
        margin-block-end: 2rem
    }
}

@media screen and (max-width: 767px) {
    .privacy .l-privacy .privacy-list-item-text .text {
        margin-block-end: 1.4rem
    }
}

.privacy .l-privacy .privacy-list-item-text .compliance-image {
    margin-inline: auto
}

@media screen and (min-width: 768px) {
    .privacy .l-privacy .privacy-list-item-text .compliance-image {
        margin-block-end: 5.3rem;
        width: 72.38%
    }
}

@media screen and (max-width: 767px) {
    .privacy .l-privacy .privacy-list-item-text .compliance-image {
        margin-block-end: 3.5rem
    }
}

@media screen and (min-width: 768px) {
    .privacy .l-privacy .privacy-list-nest {
        margin-block-end: 2rem
    }
}

@media screen and (max-width: 767px) {
    .privacy .l-privacy .privacy-list-nest {
        margin-block-end: 1.4rem
    }
}

.privacy .l-privacy .privacy-list-item-nest {
    padding-inline-start: 1.8rem;
    text-indent: -1.8rem
}

.privacy .l-privacy .indent .privacy-list-item-nest {
    padding-inline-start: 3.6rem
}

@media screen and (min-width: 768px) {
    .error .l-error {
        padding-block: 6.89rem 6rem
    }
}

@media screen and (max-width: 767px) {
    .error .l-error {
        padding-block: 3.33rem 13.4rem
    }
}

.error .l-error-inner {
    background: #fff
}

@media screen and (min-width: 768px) {
    .error .l-error-inner {
        padding-block: 2rem 10rem
    }
}

@media screen and (max-width: 767px) {
    .error .l-error-inner {
        padding-block: 2.5rem 6.7rem
    }
}

.error .l-error .text {
    text-align: center;
    font-weight: 700
}

@media screen and (min-width: 768px) {
    .error .l-error .text {
        margin-block-end: 3.9rem;
        font-size: 3.2rem
    }
}

@media screen and (max-width: 767px) {
    .error .l-error .text {
        margin-block-end: 5rem;
        font-size: 2.4rem
    }
}

.error .l-error .m-button {
    margin-inline: auto
}

@media screen and (min-width: 768px) {
    .error .l-error .m-button {
        width: 31.4rem;
        height: 5.2rem
    }
}

@media screen and (max-width: 767px) {
    .error .l-error .m-button {
        width: 85%
    }
}

.contact .l-form {
    font-weight: 500
}

.contact .l-form fieldset {
    border: none
}

.contact .l-form .box-col2-wrap {
    display: flex;
    justify-content: space-between;
    gap: 0 12.2rem;
    margin-block-end: 1.8rem
}

@media screen and (max-width: 767px) {
    .contact .l-form .box-col2-wrap {
        flex-direction: column;
        gap: .8rem 0
    }
}

.contact .l-form .box-col2 {
    display: flex;
    justify-content: space-between
}

@media screen and (min-width: 768px) {
    .contact .l-form .box-col2 {
        gap: 0 6rem;
        width: 70%
    }
}

@media screen and (max-width: 767px) {
    .contact .l-form .box-col2 {
        margin-left: auto;
        width: 90%
    }
}

.contact .l-form .box-col2-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between
}

@media screen and (min-width: 768px) {
    .contact .l-form .box-col2-item {
        width: 46%
    }
}

@media screen and (max-width: 767px) {
    .contact .l-form .box-col2-item {
        width: 44%
    }
}

.contact .l-form .box-col2-item .title_name {
    position: absolute
}

@media screen and (min-width: 768px) {
    .contact .l-form .box-col2-item .title_name {
        left: -4rem
    }
}

@media screen and (max-width: 767px) {
    .contact .l-form .box-col2-item .title_name {
        left: -3.1rem;
        font-size: 1.4rem
    }
}

.contact .l-form .box-col2-item .input-area {
    width: 100%
}

.contact .l-form .fieldset {
    display: flex;
    justify-content: space-between;
    gap: 0 12.2rem;
    margin-block-end: 1.8rem
}

@media screen and (max-width: 767px) {
    .contact .l-form .fieldset {
        flex-direction: column;
        gap: .8rem 0
    }
}

.contact .l-form .fieldset.title-top {
    align-items: flex-start
}

.contact .l-form .title {
    display: flex;
    align-items: center;
    gap: 0 1rem;
    width: 22rem;
    font-weight: 700
}

.contact .l-form .title .required {
    display: inline-block;
    width: 3.5rem;
    height: 2rem;
    background: #3f78b2;
    font-size: 1rem;
    text-align: center;
    color: #fff
}

@media screen and (min-width: 768px) {
    .contact .l-form .input-area {
        width: 70%
    }
}

@media screen and (max-width: 767px) {
    .contact .l-form .input-area {
        width: 100%
    }
}

.contact .l-form .input-area .wpcf7-list-item label {
    display: flex;
    align-items: center;
    gap: 1rem .7rem
}

@media screen and (max-width: 767px) {
    .contact .l-form .input-area .wpcf7-list-item label {
        margin-block-end: .9rem
    }
}

.contact .l-form .input-area .wpcf7-list-item a {
    text-decoration: underline
}

.contact .l-form .input-area input {
    padding: 1rem;
    width: 100%;
    background: #fff;
    border: 1px solid #d9d9d9
}

.contact .l-form .input-area input:-ms-input-placeholder {
    color: #d9d9d9
}

.contact .l-form .input-area input::placeholder {
    color: #d9d9d9
}

.contact .l-form .input-area input[type=radio] {
    accent-color: #3f78b2
}

@media screen and (min-width: 768px) {
    .contact .l-form .input-area input[type=radio] {
        width: 2.5rem;
        height: 2.5rem
    }
}

@media screen and (max-width: 767px) {
    .contact .l-form .input-area input[type=radio] {
        width: 2.3rem;
        height: 2.3rem
    }
}

.contact .l-form .input-area input[type=checkbox] {
    width: 2.4rem;
    height: 2.4rem;
    accent-color: #3f78b2
}

.contact .l-form .input-area textarea {
    padding: 1rem;
    width: 100%;
    background: #fff;
    border: 1px solid #d9d9d9
}

.contact .l-form .input-area textarea:-ms-input-placeholder {
    color: #d9d9d9
}

.contact .l-form .input-area textarea::placeholder {
    color: #d9d9d9
}

.contact .l-form input[type=submit] {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-block-start: 4.9rem;
    margin-inline: auto;
    padding-inline: 1.3rem;
    width: 34rem;
    height: 5rem;
    background: #3f78b2;
    font-weight: 700;
    color: #fff;
    border: none;
    transition: background .2s ease-out, border .2s ease-out, color .2s ease-out, filter .2s ease-out;
    line-height: 1.7;
    accent-color: #3f78b2
}

.contact .l-form input[type=submit]:hover {
    background: #fff;
    border: 1px solid #3f78b2;
    color: #3f78b2;
    filter: opacity(100%)
}

@media screen and (max-width: 767px) {
    .contact .l-form .privacy label {
        justify-content: center
    }
}

.contact.confirmation .l-form .button-area {
    display: flex;
    gap: 0 1.2rem;
    justify-content: center
}

@media screen and (min-width: 768px) {
    .contact.confirmation .l-form .button-area {
        margin-block-start: 6rem
    }
}

@media screen and (max-width: 767px) {
    .contact.confirmation .l-form .button-area {
        flex-direction: column;
        gap: 1.4rem 0;
        margin-block-start: 5.6rem
    }
}

.contact.confirmation .l-form .m-button {
    width: 34rem;
    height: 5rem;
    text-align: center
}

@media screen and (max-width: 767px) {
    .contact.confirmation .l-form .m-button {
        margin-inline: auto
    }
}

.contact.confirmation .l-form .m-button::after {
    background: none
}

.contact.confirmation .l-form .m-button.gray {
    font-weight: 700
}

.contact.confirmation .l-form input[type=button] {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-inline: auto;
    padding-inline: 1.3rem;
    width: 34rem;
    height: 5rem;
    background: #8492a0;
    font-weight: 700;
    color: #fff;
    border: none;
    transition: background .2s ease-out, border .2s ease-out, color .2s ease-out, filter .2s ease-out;
    line-height: 1.7;
    accent-color: #8492a0
}

@media screen and (min-width: 768px) {
    .contact.confirmation .l-form input[type=button] {
        margin-inline: 0 !important
    }
}

.contact.confirmation .l-form input[type=button]:hover {
    background: #fff;
    border: 1px solid #8492a0;
    color: #8492a0;
    filter: opacity(100%)
}

.contact.confirmation .l-form input[type=submit] {
    margin-block-start: 0
}

@media screen and (min-width: 768px) {
    .contact.confirmation .l-form input[type=submit] {
        margin-inline: 0 !important
    }
}

@font-face {
    font-family: "swiper-icons";
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
    font-weight: 400;
    font-style: normal
}

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

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

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

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

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

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

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

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

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

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

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

.swiper-3d {
    perspective: 1200px
}

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

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

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

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

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    -ms-scroll-snap-type: x mandatory;
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    -ms-scroll-snap-type: y mandatory;
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    -ms-scroll-snap-type: none;
    scroll-snap-type: none
}

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

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

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

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

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

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

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

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

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

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

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

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

    100% {
        transform: rotate(360deg)
    }
}

.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size)
}

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

.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size)/44*27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - var(--swiper-navigation-size)/2);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

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

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

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
    display: none !important
}

.swiper-button-prev svg,
.swiper-button-next svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
    transform: rotate(180deg)
}

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

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

.swiper-button-lock {
    display: none
}

.swiper-button-prev:after,
.swiper-button-next:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev"
}

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

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: "next"
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: 300ms opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-vertical>.swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
    right: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    top: 50%;
    transform: translate3d(0px, -50%, 0)
}

.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: 200ms transform, 200ms top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 200ms transform, 200ms left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 200ms transform, 200ms right
}

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0
}

.swiper-vertical>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    position: relative;
    touch-action: none;
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1))
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2*var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-vertical>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
    position: absolute;
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2*var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>img,
.swiper-zoom-container>svg,
.swiper-zoom-container>canvas {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move;
    touch-action: none
}

.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-grid>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

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

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

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

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

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

.swiper.swiper-cube {
    overflow: visible
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

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

.swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0
}

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

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: .6;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
    content: "";
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px)
}

.swiper-cube .swiper-slide-next+.swiper-slide {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
    z-index: 0;
    backface-visibility: hidden
}

.swiper.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1
}

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

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

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
    z-index: 0;
    backface-visibility: hidden
}

.swiper-creative .swiper-slide {
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height
}

.swiper.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    transform-origin: center bottom;
    backface-visibility: hidden;
    overflow: hidden
}