@charset "UTF-8";

*,
:after,
:before {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
    min-width: 0
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

body {
    margin: 0
}

main {
    display: block
}

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

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

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

dt {
    font-weight: 700
}

dd {
    margin-left: 0
}

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

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

address {
    font-style: inherit
}

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

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

b,
strong {
    font-weight: bolder
}

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

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

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

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

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

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

:-moz-focusring {
    outline: auto
}

select:disabled {
    opacity: inherit
}

fieldset,
option {
    padding: 0
}

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

legend {
    padding: 0
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

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

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

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

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

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

label[for] {
    cursor: pointer
}

details {
    display: block
}

summary {
    display: list-item
}

[contenteditable]:focus {
    outline: auto
}

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

caption {
    text-align: left
}

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

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

.background-set,
.contact__file-text:before,
.faq,
.company,
.case,
.service {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

html,
body {
    scroll-behavior: smooth
}

main section[id] {
    scroll-margin-top: 10rem
}

@media screen and (max-width:870px) {
    main section[id] {
        scroll-margin-top: 6.4rem
    }
}

html {
    font-size: clamp(45%, .8vw, 62.5%)
}

@media screen and (max-width:870px) {
    html {
        font-size: max(8.5px, 2.6666666667vw)
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    html {
        font-size: max(8.8px, 1.7333333333vw)
    }
}

body {
    color: #001125;
    font-family: "Noto Serif JP", Yu Mincho, YuMincho, Hiragino Mincho ProN, MS PMincho, serif;
    letter-spacing: .03em;
    line-height: 1
}

.cardo {
    font-family: Cardo, serif
}

a {
    transition: opacity .5s
}

a:hover {
    opacity: .7
}

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

#global-container {
    min-width: 330px
}

.wrap {
    width: 95%;
    margin-inline: auto
}

@media screen and (max-width:870px) {
    .wrap {
        width: 90%
    }
}

.global-head {
    text-align: center;
    margin-bottom: 7rem
}

@media screen and (max-width:870px) {
    .global-head {
        margin-bottom: 3rem
    }
}

.global-head > p:first-child {
    z-index: 0;
    position: relative;
    color: #051c45;
    font-family: Cardo, serif;
    font-size: 6.3rem;
    line-height: 1;
    margin-bottom: 3rem
}

@media screen and (max-width:870px) {
    .global-head > p:first-child {
        font-size: 3.3rem;
        margin-bottom: 1.5rem
    }
}

.global-head > p:first-child:before {
    bottom: 0;
    position: absolute;
    content: "";
    display: block;
    width: 29rem;
    height: 1px;
    margin: 2rem auto 0;
    background-color: #d9d9d9;
    transform: translate(-50%);
    left: 50%;
    z-index: -1
}

.global-head > p:first-child:after {
    content: "";
    display: block;
    width: 6.3rem;
    height: 1px;
    margin: 2rem auto 0;
    background-color: #a57841
}

.global-head h2 {
    color: #a57841;
    font-size: 5rem;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 1.6rem;
    letter-spacing: .15em
}

@media screen and (max-width:870px) {
    .global-head h2 {
        font-size: 2.8rem
    }
}

.global-head > p:last-child {
    text-align: left;
    color: #051c45;
    font-size: 1.8rem;
    line-height: 4rem
}

@media screen and (max-width:870px) {
    .global-head > p:last-child {
        line-height: 1.5;
        font-size: 1.4rem
    }
}

@media screen and (min-width:480px) {
    .global-head > p:last-child {
        text-align: center
    }
}

.global-head-200 {
    margin-bottom: 5rem
}

.global-head-200 > p:first-child {
    color: #a57841;
    font-family: Cardo, serif;
    font-size: 2rem;
    margin-bottom: 4rem
}

@media screen and (max-width:870px) {
    .global-head-200 > p:first-child {
        font-size: 1.8rem;
        margin-bottom: 2rem
    }
}

.global-head-200 h2 {
    color: #051c45;
    font-size: 5rem;
    font-weight: 600;
    line-height: 1.7;
    margin-bottom: 2.5rem
}

@media screen and (max-width:870px) {
    .global-head-200 h2 {
        line-height: 1.5;
        font-size: 2.8rem;
        margin-bottom: 1.6rem
    }
}

.global-head-200 > p:last-child {
    font-size: 1.6rem;
    line-height: 1.6
}

@media screen and (max-width:870px) {
    .global-head-200 > p:last-child {
        font-size: 1.4rem
    }
}

.global-head-300 {
    text-align: center;
    margin-bottom: 7rem
}

.global-head-300 > p:first-child {
    z-index: 0;
    position: relative;
    color: #001125;
    font-family: Cardo, serif;
    font-size: 6.3rem;
    line-height: 1;
    margin-bottom: 4.5rem
}

@media screen and (max-width:870px) {
    .global-head-300 > p:first-child {
        margin-bottom: 2.4rem;
        font-size: 5.4rem
    }
}

.global-head-300 h2 {
    color: #a57841;
    font-size: 5rem;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 4.5rem;
    letter-spacing: .15em
}

@media screen and (max-width:870px) {
    .global-head-300 h2 {
        margin-bottom: 2.4rem;
        font-size: 2.8rem
    }
}

.global-head-300 > p:last-child {
    color: #001125;
    font-size: 1.8rem;
    line-height: 1.8
}

@media screen and (max-width:870px) {
    .global-head-300 > p:last-child {
        font-size: 1.4rem
    }
}

.d-none,
.sm-show {
    display: none !important
}

@media screen and (min-width:480px)and (max-width:870px) {
    .sm-show {
        display: block !important
    }
}

@media screen and (max-width:870px) {
    .md-none {
        display: none !important
    }
}

.ssm-show {
    display: none !important
}

@media screen and (max-width:600px) {
    .ssm-show {
        display: block !important
    }
}

.md-show {
    display: none !important
}

@media screen and (max-width:870px) {
    .md-show {
        display: block !important
    }
}

.md-show-flex {
    display: none !important
}

@media screen and (max-width:870px) {
    .md-show-flex {
        display: flex !important
    }
}

.flex-row {
    display: flex;
    align-items: center
}

.flex-column {
    display: flex;
    flex-direction: column
}

.mobile-menu {
    position: fixed;
    inset: 100px 0 0;
    background-color: #fff;
    z-index: 9999;
    font-size: 2rem;
    visibility: hidden
}

.mobile-menu ul {
    display: flex;
    flex-direction: column
}

.mobile-menu li {
    width: 100%
}

.mobile-menu li a {
    display: flex;
    align-items: flex-start;
    width: 100%;
    padding: 1rem 0;
    line-height: 1.5
}

.mobile-menu__wrap {
    padding: 2rem 0
}

.mobile-menu__link-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: fit-content;
    margin-inline: auto
}

.mobile-menu__link-text span:nth-child(2) {
    font-size: .6em
}

.mobile-menu__btn {
    border: none;
    padding: 0;
    background: transparent;
    cursor: pointer;
    flex-shrink: 0
}

.mobile-menu__btn span {
    background-color: #001125;
    width: 24px;
    height: 2px;
    display: block;
    margin-bottom: 6px;
    transition: transform .5s
}

.mobile-menu__btn span:nth-last-child(1) {
    margin-bottom: 0
}

#global-container.menu-open .mobile-menu {
    visibility: visible
}

#global-container.menu-open .mobile-menu__btn span {
    background-color: #001125
}

#global-container.menu-open .mobile-menu__btn span:nth-child(1) {
    transition-delay: 70ms;
    transform: translateY(10px) rotate(135deg)
}

#global-container.menu-open .mobile-menu__btn span:nth-child(2) {
    transition-delay: 0s;
    transform: translate(-18px) scaleX(0)
}

#global-container.menu-open .mobile-menu__btn span:nth-child(3) {
    transition-delay: .14s;
    transform: translateY(-7px) rotate(-135deg)
}

.header {
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999;
    transition: background-color .3s ease, box-shadow .3s ease
}

.header.triggered {
    background-color: #fffffff2;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 20px #00000014
}

.header__inner {
    max-width: 192rem
}

.header__wrap {
    height: 10rem;
    justify-content: center
}

@media screen and (max-width:870px) {
    .header__wrap {
        height: 6.4rem
    }
}

.header__body {
    justify-content: space-between
}

@media screen and (max-width:870px) {
    .header__body {
        gap: 1rem
    }
}

.header__container {
    max-width: 120rem;
    gap: clamp(2rem, 2vw, 6rem);
    flex-shrink: 0
}

.header__logo {
    width: 20%;
    max-width: 28.4rem
}

@media screen and (max-width:870px) {
    .header__logo {
        width: 35%;
        flex-shrink: 0
    }
}

.header__logo a {
    display: block
}

.header__logo img {
    width: 100%
}

.header ul {
    display: flex;
    align-items: center;
    gap: clamp(2.5rem, 2vw, 6rem)
}

.header ul a {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 1rem;
    color: #001125;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap
}

@media screen and (min-width:871px)and (hover:hover) {
    .header ul a:after {
        position: absolute;
        bottom: -1.2rem;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #001125;
        content: "";
        transform: scaleX(0);
        transform-origin: center;
        transition: transform .3s ease
    }

    .header ul a:hover:after,
    .header ul a:focus-visible:after {
        transform: scaleX(1)
    }
}

.header ul span {
    font-weight: 500;
    font-family: Helvetica, Arial, sans-serif;
    font-size: min(1.8rem, 1.2vw)
}

.header ul span:nth-child(2) {
    font-size: 1.4rem;
    font-weight: 400
}

.header__box {
    gap: 2rem;
    width: 60%
}

@media screen and (max-width:870px) {
    .header__box {
        flex: 1;
        justify-content: flex-end;
        gap: clamp(.8rem, 3vw, 2rem);
        width: auto;
        min-width: 0
    }
}

.header__cta {
    display: flex;
    gap: 1.5rem;
    flex-shrink: 0
}

@media screen and (max-width:870px) {
    .header__cta {
        flex-direction: row;
        gap: clamp(.8rem, 3vw, 2rem);
        width: auto
    }
}

.header__btn {
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(18rem, 13vw);
    height: 5rem;
    color: #001125;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 1.6rem;
    line-height: 1
}

@media screen and (max-width:870px) {
    .header__btn {
        width: auto;
        height: 4rem;
        padding: 0 1rem;
        font-size: 0.8rem;
        white-space: nowrap
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .header__btn {
        width: 12rem;
        height: 4.5rem;
        padding: 0 1.5rem;
        font-size: 1.3rem
    }
}

.header__btn svg {
    width: 2rem;
    height: 2rem;
    margin-right: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8
}

@media screen and (max-width:870px) {
    .header__btn svg {
        width: 1.5rem;
        height: 1.5rem;
        margin-right: .5rem
    }
}

.header__btn--contact {
    border: 1px solid #001125
}

.header__btn--consulink {
    background-color: #a57841;
    color: #fff
}

.hero {
    margin-top: 10rem;
    background-image: url(../images/bg-mv.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

@media screen and (max-width:870px) {
    .hero {
        margin-top: 6.4rem
    }
}

.hero__inner {
    max-width: 192rem
}

.hero__wrap {
    position: relative;
    min-height: clamp(62rem, 100vh - 25rem, 80rem);
    overflow: hidden
}

@media screen and (min-width:871px)and (max-height:850px) {
    .hero__wrap {
        min-height: clamp(48rem, 100vh - 22.5rem, 60rem)
    }
}

@media screen and (max-width:870px) {
    .hero__wrap {
        min-height: auto
    }
}

.hero__content {
    position: relative;
    z-index: 1;
    padding: 3.5rem 0 0
}

@media screen and (min-width:871px)and (max-height:850px) {
    .hero__content {
        padding-top: 2rem
    }
}

@media screen and (max-width:870px) {
    .hero__content {
        padding: clamp(18px, 2.5rem, 28px) 0
    }
}

.hero__title {
    margin-bottom: 3rem;
    font-family: Cardo, serif;
    font-size: min(88px, 6vw);
    line-height: 1.2
}

@media screen and (min-width:871px)and (max-height:850px) {
    .hero__title {
        margin-bottom: 2rem;
        font-size: min(68px, 5vw);
        line-height: 1.15
    }
}

@media screen and (max-width:870px) {
    .hero__title {
        margin-bottom: clamp(14px, 1.6rem, 20px);
        font-size: 4rem;
        line-height: 1.15
    }
}

.hero__title span {
    display: block
}

.hero__title span:nth-child(2) {
    color: #a57841
}

.hero__lead {
    margin-bottom: 2.5rem;
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.5
}

@media screen and (min-width:871px)and (max-height:850px) {
    .hero__lead {
        margin-bottom: 1.5rem;
        font-size: 2.7rem;
        line-height: 1.4
    }
}

@media screen and (max-width:870px) {
    .hero__lead {
        margin-bottom: clamp(14px, 1.5rem, 20px);
        font-size: 1.8rem;
        line-height: 1.5
    }
}

.hero__text {
    margin-bottom: 3rem;
    font-size: 1.6rem;
    line-height: 1.7
}

@media screen and (min-width:871px)and (max-height:850px) {
    .hero__text {
        margin-bottom: 2rem;
        font-size: 1.4rem;
        line-height: 1.5
    }
}

@media screen and (max-width:870px) {
    .hero__text {
        margin-bottom: clamp(16px, 2rem, 24px);
        font-size: 1.2rem;
        line-height: 1.6
    }
}

.hero__btns {
    display: flex;
    align-items: center;
    gap: 3rem;
    margin-bottom: 3rem
}

@media screen and (min-width:871px)and (max-height:850px) {
    .hero__btns {
        margin-bottom: 2rem
    }
}

@media screen and (max-width:870px) {
    .hero__btns {
        flex-direction: column;
        align-items: flex-start;
        gap: clamp(10px, 1.2rem, 16px);
        margin-bottom: 0
    }
}

.hero__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26rem;
    height: 5.2rem;
    font-size: 1.6rem;
    font-weight: 500
}

@media screen and (min-width:871px)and (max-height:850px) {
    .hero__btn {
        height: 4.8rem
    }
}

@media screen and (max-width:870px) {
    .hero__btn {
        width: 100%;
        height: 48px
    }
}

.hero__btn span {
    display: inline-flex;
    align-items: center;
    gap: 1.4rem
}

.hero__btn svg {
    flex-shrink: 0
}

.hero__btn--primary {
    background-color: #a57841;
    color: #fff
}

.hero__btn--secondary {
    border: 1px solid #051C45
}

.hero__btn--secondary span {
    color: #051c45
}

.hero__member {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 27rem;
    padding: 0 3rem 1.6rem;
    border-bottom: 1px solid #051C45;
    font-size: 1.6rem;
    font-weight: 500;
    color: #051c45
}

.hero__member svg {
    flex-shrink: 0
}

.footer {
    background-image: url(../images/bg-footer.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.footer__inner {
    max-width: 192rem
}

.footer__wrap {
    display: flex;
    flex-direction: column;
    padding: 13rem 7rem 6rem
}

@media screen and (max-width:870px) {
    .footer__wrap {
        padding: 0;
        padding: 6rem 0
    }
}

.footer__top {
    display: flex;
    justify-content: space-between;
    gap: 8rem;
    margin-bottom: 3rem
}

@media screen and (max-width:870px) {
    .footer__top {
        margin-bottom: 2rem
    }
}

.footer__info {
    padding-top: 4rem
}

@media screen and (max-width:870px) {
    .footer__info {
        padding: 0
    }
}

@media screen and (max-width:870px) {
    .footer__info p {
        font-size: 1.8rem;
        line-height: 1.7
    }
}

.footer__logo {
    display: block;
    width: 22rem;
    margin-bottom: 2.4rem
}

.footer__address {
    font-size: 1.6rem;
    line-height: 1.5
}

.footer__nav-area {
    display: flex;
    align-items: flex-start;
    gap: 6rem
}

.footer__nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 3rem;
    width: 20rem
}

.footer__nav li {
    width: calc((100% - 4.8rem)/2)
}

.footer__nav a {
    font-size: 1.8rem
}

.footer__cta {
    display: flex;
    flex-direction: column;
    gap: 1.5rem
}

.footer__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18rem;
    height: 5rem;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 1.8rem
}

@media screen and (max-width:870px) {
    .footer__btn {
        width: 100%
    }
}

.footer__btn svg {
    width: 2rem;
    height: 2rem;
    margin-right: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8
}

.footer__btn--contact {
    border: 1px solid #001125
}

.footer__btn--consulink {
    background-color: #a57841;
    color: #fff
}

.footer__catch {
    padding-bottom: 5.4rem;
    margin-bottom: 2.8rem;
    border-bottom: 1px solid #B1B8C2;
    font-size: 4.8rem;
    font-weight: 600;
    color: #051c45
}

@media screen and (max-width:870px) {
    .footer__catch {
        padding-bottom: 3rem;
        margin-bottom: 3.5rem;
        line-height: 1.7;
        font-size: 3.3rem
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .footer__catch {
        letter-spacing: .15em
    }
}

.footer__txt {
    font-size: clamp(1.3rem, 3vw, 1.8rem);
    line-height: 1.7;
    margin-bottom: 3.5rem
}

.footer__bottom {
    color: #051c45;
    display: flex;
    justify-content: space-between;
    font-size: 1.6rem
}

.clients h2 {
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 2.5rem;
    font-weight: 500
}

@media screen and (min-width:871px)and (max-height:850px) {
    .clients h2 {
        margin-bottom: 1rem;
        font-size: 1.4rem;
        line-height: 1.4
    }
}

@media screen and (max-width:870px) {
    .clients h2 {
        font-size: clamp(10px, 3vw, 1.6rem)
    }
}

.clients__wrap {
    padding: 2.5rem 0
}

@media screen and (min-width:871px)and (max-height:850px) {
    .clients__wrap {
        padding: 1rem 0
    }
}

@media screen and (max-width:870px) {
    .clients__wrap {
        padding: clamp(12px, 1.6rem, 20px) 0
    }
}

.clients__slider,
.clients__items,
.clients__item {
    height: auto
}

.clients__items.swiper-wrapper {
    align-items: center;
    transition-timing-function: linear
}

.clients__item {
    display: flex;
    flex: 0 0 32rem;
    align-items: center;
    justify-content: center;
    width: 32rem
}

@media screen and (max-width:870px) {
    .clients__item {
        flex-basis: 22rem;
        width: 22rem
    }
}

.clients__item img {
    width: 24rem
}

@media screen and (max-width:870px) {
    .clients__item img {
        width: 18rem
    }
}

.problem {
    background-image: url(../images/bg-problem.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover
}

.problem__inner {
    max-width: 155rem
}

.problem__wrap {
    padding: 10rem 0
}

@media screen and (max-width:870px) {
    .problem__wrap {
        padding: 6rem 0
    }
}

.problem__heading {
    align-items: center;
    margin-bottom: 6rem
}

@media screen and (max-width:870px) {
    .problem__heading {
        margin-bottom: 3rem
    }
}

.problem__label {
    box-sizing: content-box;
    width: fit-content;
    position: relative;
    color: #001125;
    font-size: 2.4rem;
    font-weight: 500;
    letter-spacing: .1em;
    margin-bottom: 3rem;
    text-transform: uppercase
}

@media screen and (max-width:870px) {
    .problem__label {
        font-size: 1.6rem;
        margin-bottom: 2rem
    }
}

.problem__label span {
    padding: 0 1rem
}

.problem__label:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    margin: 1.6rem auto 0;
    background-color: #001125
}

.problem__title {
    position: relative;
    display: inline-flex;
    align-items: baseline;
    color: #001125;
    font-size: 5rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.4;
    padding: 0 5rem
}

@media screen and (max-width:870px) {
    .problem__title {
        font-size: clamp(1.3rem, 3.5vw, 2.2rem);
        padding: 0 3rem
    }
}

.problem__title:before,
.problem__title:after {
    content: "";
    display: block;
    position: absolute;
    width: .3rem;
    height: 7.2rem;
    background-color: #001125;
    top: 20%;
    transform: translateY(-50%)
}

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

    .problem__title:before,
    .problem__title:after {
        width: .2rem;
        height: 3.6rem
    }
}

.problem__title:before {
    left: 0;
    transform: rotate(-28deg)
}

.problem__title:after {
    transform: rotate(28deg);
    right: 0
}

.problem__title span {
    color: #051c45;
    font-size: 6rem
}

@media screen and (max-width:870px) {
    .problem__title span {
        font-size: clamp(2rem, 6vw, 3rem)
    }
}

.problem__cards {
    align-items: stretch;
    justify-content: center;
    margin-inline: auto
}

@media screen and (max-width:870px) {
    .problem__cards {
        flex-direction: column
    }
}

.problem__card {
    width: 31rem;
    min-height: 40rem;
    padding: 4rem 2rem;
    text-align: center;
    border-right: 1px solid rgba(0, 17, 37, .2)
}

@media screen and (max-width:870px) {
    .problem__card {
        display: flex;
        align-items: center;
        gap: 2rem;
        width: 100%;
        min-height: auto;
        padding: 2.5rem 0;
        text-align: left;
        border-right: none;
        border-bottom: 1px solid rgba(0, 17, 37, .2)
    }
}

.problem__card:first-child {
    border-left: 1px solid rgba(0, 17, 37, .2)
}

@media screen and (max-width:870px) {
    .problem__card:first-child {
        border-left: none
    }
}

@media screen and (max-width:870px) {
    .problem__card:last-child {
        border-bottom: none
    }
}

.problem__card img {
    width: 9rem;
    height: 11rem;
    margin-inline: auto;
    margin-bottom: 2rem
}

@media screen and (max-width:870px) {
    .problem__card img {
        margin: 0;
        width: 7rem;
        height: auto
    }
}

.problem__card h3 {
    color: #001125;
    font-size: clamp(10px, 1.2vw, 2rem);
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.3;
    margin-bottom: 1.8rem
}

@media screen and (max-width:870px) {
    .problem__card h3 {
        padding-bottom: 0;
        margin-bottom: .8rem;
        font-size: 1.6rem
    }
}

.problem__card h3:after {
    content: "";
    display: block;
    width: 2.4rem;
    height: 2px;
    margin: 1.8rem auto 0;
    background-color: #001125
}

@media screen and (max-width:870px) {
    .problem__card h3:after {
        margin: .8rem 0 0
    }
}

.problem__card p {
    color: #001125;
    font-size: clamp(8px, 1vw, 1.8rem);
    line-height: 1.8
}

@media screen and (max-width:870px) {
    .problem__card p {
        font-size: 1.4rem
    }
}

@media screen and (max-width:870px) {
    .problem__card br {
        display: none
    }
}

@media screen and (max-width:870px) {
    .problem__box {
        flex: 1;
        min-width: 0
    }
}

.message {
    background-image: url(../images/bg-message.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.message__inner {
    max-width: 155rem
}

.message__wrap {
    padding: 10rem 0
}

@media screen and (max-width:870px) {
    .message__wrap {
        padding: 6rem 0
    }
}

.message p {
    color: #001125;
    font-size: 2.4rem;
    line-height: 1.8
}

@media screen and (max-width:870px) {
    .message p {
        font-size: 1.6rem
    }
}

.message p:last-of-type {
    font-size: 1.8rem
}

@media screen and (max-width:870px) {
    .message p:last-of-type {
        font-size: 1.4rem
    }
}

.message h2 {
    position: relative;
    width: fit-content;
    font-size: 6.4rem;
    font-weight: 600;
    line-height: 1.5;
    margin-top: 3rem;
    margin-bottom: 3rem
}

@media screen and (max-width:870px) {
    .message h2 {
        font-size: 3.3rem
    }
}

.message h2:before {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    margin-top: 2rem;
    background-color: #d9d9d9;
    bottom: 0
}

.message h2:after {
    position: relative;
    content: "";
    display: block;
    width: 6rem;
    height: 2px;
    margin-top: 2rem;
    background-color: #1b5da9;
    z-index: 1
}

.message__btn {
    margin-top: 4rem;
    margin-bottom: 2.4rem
}

@media screen and (max-width:870px) {
    .message__btn {
        margin-top: 3rem
    }
}

.message__btn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 33rem;
    height: 7rem;
    background-color: #051c45;
    color: #fff;
    font-family: Noto Sans JP, Hiragino Kaku Gothic Pro, Meiryo, sans-serif;
    font-size: 1.6rem;
    font-weight: 500
}

@media screen and (max-width:870px) {
    .message__btn a {
        width: 28rem
    }
}

.message__btn a span {
    display: inline-flex;
    align-items: center;
    gap: 1.6rem
}

.message__btn a svg {
    flex-shrink: 0
}

.value {
    background-color: #fff
}

@media screen and (max-width:870px) {
    .value h2 {
        font-size: clamp(3rem, 8vw, 3.3rem)
    }
}

.value__inner {
    max-width: 155rem
}

.value__wrap {
    padding: 12rem 0
}

@media screen and (max-width:870px) {
    .value__wrap {
        padding: 4rem 0
    }
}

.value__body {
    justify-content: center;
    gap: 10rem
}

@media screen and (max-width:870px) {
    .value__body {
        gap: 4rem;
        flex-direction: column
    }
}

.value__img {
    width: 43rem;
    flex-shrink: 0
}

@media screen and (max-width:870px) {
    .value__img {
        width: 70%
    }
}

.value__img img {
    width: 100%
}

.value__cards {
    position: relative;
    width: 78rem;
    padding-left: 4rem
}

@media screen and (max-width:870px) {
    .value__cards {
        width: 100%
    }
}

.value__cards:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0rem;
    left: 1rem;
    width: 1px;
    background-color: #0a75bd47
}

.value__card {
    position: relative;
    display: flex;
    gap: 3rem;
    padding: 5rem 0 3rem;
    border-bottom: 1px solid rgba(0, 17, 37, .16)
}

.value__card:before {
    content: "";
    position: absolute;
    top: 6rem;
    left: -3.7rem;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background-color: #1b5da9
}

.value__card:first-child {
    border-top: 1px solid #D9D9D9
}

.value__card > p {
    width: 8.6rem;
    font-family: Cardo, serif;
    color: #0a75bd;
    font-size: 5.6rem;
    text-align: center;
    position: relative
}

@media screen and (max-width:870px) {
    .value__card > p {
        text-align: left;
        font-size: 3.3rem
    }
}

.value__card > p:before {
    top: -2rem;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    font-family: Cardo, serif;
    content: "SOLUTION";
    display: block;
    font-size: 1.6rem;
    line-height: 1;
    margin-bottom: 1rem
}

@media screen and (max-width:870px) {
    .value__card > p:before {
        font-size: 1.2rem
    }
}

.value__card h3 {
    color: #051c45;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 1.2rem
}

@media screen and (max-width:870px) {
    .value__card h3 {
        font-size: 1.8rem
    }
}

.value__card .value__card-body p {
    font-size: 1.8rem;
    line-height: 4rem
}

@media screen and (max-width:870px) {
    .value__card .value__card-body p {
        line-height: 1.7;
        font-size: 1.4rem
    }
}

.service {
    background-image: url(../images/bg-service.png)
}

@media screen and (max-width:870px) {
    .service {
        font-size: max(8px, 2.6666666667vw)
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .service {
        font-size: max(5px, 1.28vw)
    }
}

.service__inner {
    max-width: 155rem
}

.service__wrap {
    padding: 12rem 0
}

@media screen and (max-width:870px) {
    .service__wrap {
        padding: 4rem 0
    }
}

.service__head {
    margin-bottom: 6rem
}

@media screen and (max-width:870px) {
    .service__head {
        margin-bottom: 3rem
    }
}

.service__achievements {
    margin-inline: auto
}

.service__cards {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-bottom: 4rem
}

.service__card {
    display: flex;
    flex-direction: column;
    flex: 1 1 45%
}

@media screen and (max-width:870px) {
    .service__card {
        flex: 0 0 100%;
        width: 100%
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .service__card {
        flex-basis: calc((100% - 2rem)/2);
        width: calc((100% - 2rem)/2)
    }
}

.service__card h3 {
    background-color: #e3ebfbcc;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.5;
    padding: 2rem 0 1.5rem;
    text-align: center
}

@media screen and (max-width:870px) {
    .service__card h3 {
        font-size: 2em
    }
}

.service__card > p {
    background-color: #e3ebfbcc;
    font-size: 2rem;
    font-size: clamp(12px, 1.3vw, 2rem);
    line-height: 1.8;
    padding: 0 2rem 2rem;
    text-align: center
}

@media screen and (max-width:870px) {
    .service__card > p {
        padding: 0 1rem 2rem;
        font-size: 1.3em
    }
}

.service__card dl {
    display: flex;
    flex: 1;
    flex-direction: column
}

.service__card .service__row {
    align-items: center
}

.service__card .service__row:last-child {
    flex: 1
}

.service__row {
    gap: 1rem;
    display: flex;
    border-bottom: 1px solid #8E8E93;
    background-color: #e3ebfb4d;
    padding: 2rem min(5rem, 3vw);
    align-items: center
}

@media screen and (max-width:870px) {
    .service__row {
        gap: 0;
        padding: 1rem
    }
}

.service__row dt,
.service__row dd {
    line-height: 1.8
}

.service__row dt {
    font-size: 2.4rem;
    font-size: clamp(1.2px, 1.2vw, 2.4rem);
    display: flex;
    align-items: center;
    font-weight: 500;
    width: 30%;
    max-width: 21rem
}

@media screen and (max-width:870px) {
    .service__row dt {
        width: 25%;
        font-size: 1.1em;
        font-size: clamp(1.1em, 1vw, 1.3em)
    }
}

.service__row dd {
    padding-left: 2rem;
    width: 70%;
    font-size: clamp(1.4rem, 1vw, 17px)
}

@media screen and (max-width:870px) {
    .service__row dd {
        padding: 0;
        width: 75%;
        font-size: 1.4rem
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .service__row dd {
        font-size: min(1.4rem, 1.5vw)
    }
}

.service__row strong {
    display: block;
    font-size: 3.3rem;
    line-height: 1.2
}

@media screen and (max-width:870px) {
    .service__row strong {
        font-size: 2rem
    }
}

.service__wide-card {
    background-color: #e3ebfb;
    padding: 2.5rem
}

@media screen and (max-width:870px) {
    .service__wide-card {
        padding: 1rem
    }
}

@media screen and (max-width:479px) {
    .service__wide-card {
        font-size: max(5px, 1.2vw);
        padding: 2.5em
    }
}

.service__wide-card h3 {
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 2.5rem
}

@media screen and (max-width:870px) {
    .service__wide-card h3 {
        margin-bottom: 1rem;
        font-size: 1.6rem
    }
}

.service__wide-card .service__row {
    padding: 2rem min(5rem, 2vw)
}

@media screen and (max-width:870px) {
    .service__wide-card .service__row {
        padding: 1rem;
        flex-direction: column;
        align-items: flex-start
    }
}

.service__wide-card .service__row--result dt {
    width: min(15%, 10vw)
}

.service__wide-card .service__row--result dd {
    width: 100%
}

@media screen and (max-width:870px) {
    .service__wide-card .service__row--result dt {
        width: 100%
    }
}

.service__wide-card dl {
    background-color: #fff;
    border: 1px solid #8E8E93
}

.service__wide-card dt {
    width: 15%;
    flex-shrink: 0
}

@media screen and (max-width:870px) {
    .service__wide-card dt {
        width: 100%;
        font-size: 1.6rem
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .service__wide-card dt {
        font-size: 1.2rem
    }
}

.service__wide-card dd {
    display: flex;
    width: auto;
    flex-grow: 1
}

@media screen and (max-width:870px) {
    .service__wide-card dd {
        flex-direction: column;
        font-size: 1.4rem
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .service__wide-card dd {
        font-size: .9rem;
        gap: 1rem;
        flex-direction: row
    }
}

.service__wide-card dd > span {
    flex: 1
}

.service__wide-card li {
    padding-left: 1em;
    text-indent: -1em
}

.service__result-item {
    display: flex;
    align-items: center;
    flex: 1;
    gap: 1.2rem
}

@media screen and (max-width:870px) {
    .service__result-item {
        gap: .6rem
    }
}

.service__result-item:last-of-type {
    flex: 1.4
}

@media screen and (min-width:871px) {
    .service__row--split dd > ul + ul {
        border-left: 1px solid #8E8E93;
        margin-left: 2rem;
        padding-left: 2rem
    }
}

.service__result-item svg {
    flex-shrink: 0;
    width: 4.2rem;
    height: auto
}

@media screen and (max-width:870px) {
    .service__result-item svg {
        width: 2rem
    }
}

.service__result-item span {
    display: block
}

.aix {
    overflow: hidden;
    background-color: #fff
}

@media screen and (max-width:870px) {
    .aix {
        background-color: #f2f6ff
    }
}

.aix__inner {
    max-width: 192rem
}

.aix__wrap {
    padding: 12rem 0
}

@media screen and (max-width:870px) {
    .aix__wrap {
        padding: 6rem 0 3rem
    }
}

.aix__body {
    display: flex;
    flex-direction: column;
    align-items: center
}

.aix__labels {
    display: flex;
    margin-bottom: 1.5rem;
    gap: 16rem
}

@media screen and (max-width:870px) {
    .aix__labels {
        gap: 1rem;
        margin-bottom: 4rem
    }
}

.aix__label {
    display: flex;
    align-items: center;
    gap: 1.2rem
}

.aix__label img {
    flex-shrink: 0;
    width: 6.4rem
}

@media screen and (max-width:870px) {
    .aix__label img {
        width: 4.5rem
    }
}

.aix__label-text p {
    color: #1b5da9;
    font-family: Cardo, serif;
    font-size: 2rem;
    line-height: 1.2;
    margin-bottom: .4rem
}

@media screen and (max-width:870px) {
    .aix__label-text p {
        font-size: 1.6rem
    }
}

.aix__label-text span {
    display: block;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.4
}

@media screen and (max-width:870px) {
    .aix__label-text span {
        font-size: 1.4rem
    }
}

.aix__scroll {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%
}

@media screen and (max-width:870px) {
    .aix__scroll {
        align-items: flex-start;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch
    }
}

.aix__img {
    width: 100%;
    margin-bottom: 4rem
}

@media screen and (max-width:870px) {
    .aix__img {
        width: 87rem
    }
}

.aix__img picture {
    display: block
}

.aix__img img {
    width: 100%
}

@media screen and (max-width:870px) {
    .aix__img img {
        width: 100%;
        max-width: none
    }
}

.aix__legend {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4rem;
    width: min(100%, 92rem);
    padding: 2rem 3.6rem;
    height: 10rem;
    border-radius: 9999px;
    background-color: #ffffffeb;
    box-shadow: 0 .4rem 2rem #0011251f
}

@media screen and (max-width:870px) {
    .aix__legend {
        width: 87rem;
        max-width: none;
        height: auto;
        gap: 2rem;
        margin-top: 1rem
    }
}

@media screen and (max-width:479px) {
    .aix__legend {
        gap: 1.6rem;
        padding: 1.6rem 2rem
    }
}

.aix__legend-item {
    display: flex;
    align-items: center;
    gap: .8rem;
    flex-shrink: 0
}

@media screen and (max-width:479px) {
    .aix__legend-item {
        gap: .8rem
    }
}

.aix__legend-item svg {
    flex-shrink: 0;
    width: 3.6rem;
    height: auto
}

@media screen and (max-width:870px) {
    .aix__legend-item svg {
        width: 2.8rem
    }
}

.aix__legend-item span {
    font-size: 1.6rem;
    line-height: 1.4
}

@media screen and (max-width:870px) {
    .aix__legend-item span {
        font-size: 1.4rem;
        white-space: nowrap
    }
}

.process {
    background-color: #fff
}

@media screen and (min-width:480px)and (max-width:870px) {
    .process {
        font-size: max(8.8px, 2.6666666667vw)
    }
}

.process__inner {
    max-width: 155rem
}

.process__wrap {
    padding: 12rem 0
}

@media screen and (max-width:870px) {
    .process__wrap {
        padding: 3rem 0
    }
}

.process__items {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 3rem
}

@media screen and (min-width:480px)and (max-width:870px) {
    .process__items {
        gap: 3em
    }
}

.process__item {
    display: flex;
    gap: 5rem;
    justify-content: space-between
}

@media screen and (max-width:870px) {
    .process__item {
        align-items: flex-start;
        gap: 1.5rem;
        padding-bottom: 2rem;
        border-bottom: 1px solid rgba(0, 17, 37, .28)
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .process__item {
        gap: 1.5em
    }
}

.process__item:first-child {
    padding-top: 0
}

.process__img {
    flex-shrink: 0;
    width: 50%;
    max-width: 70rem
}

@media screen and (max-width:870px) {
    .process__img {
        width: 30%;
        aspect-ratio: 1/.8
    }
}

.process__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.process__num {
    position: relative;
    flex-shrink: 0;
    width: 2.4rem;
    font-family: Cardo, serif;
    font-size: 4rem
}

@media screen and (max-width:870px) {
    .process__num {
        width: auto;
        font-size: 2rem
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .process__num {
        font-size: 2em
    }
}

.process__num:after {
    content: "";
    position: absolute;
    top: 0;
    left: calc(100% + 1.5vw);
    width: 1px;
    height: 12rem;
    background-color: #769f96
}

@media screen and (max-width:870px) {
    .process__num:after {
        height: 6rem;
        left: calc(100% + .5rem)
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .process__num:after {
        left: calc(100% + .3em)
    }
}

.process__content {
    display: flex;
    max-width: 67rem;
    flex: 1;
    gap: min(8rem, 5vw);
    min-width: 0;
    border-bottom: 1px solid #000;
    padding-bottom: 2rem
}

@media screen and (max-width:870px) {
    .process__content {
        border: none;
        gap: 1.5rem
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .process__content {
        gap: 1.5em
    }
}

.process__text {
    flex: 1;
    min-width: 0;
    max-width: 50rem
}

.process__text h3 {
    color: #051c45;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 2.5rem
}

@media screen and (max-width:870px) {
    .process__text h3 {
        margin-bottom: 1.2rem;
        font-size: 1.6rem
    }
}

.process__text p {
    font-size: 1.8rem;
    font-size: min(1.8rem, 1.3vw);
    line-height: 1.5
}

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

.case {
    background-image: url(../images/bg-case.png)
}

.case h2 {
    font-size: min(50px, 2.5vw)
}

@media screen and (max-width:870px) {
    .case h2 {
        font-size: 2.8rem
    }
}

.case__inner {
    max-width: 192rem
}

.case__wrap {
    padding: 12rem 0;
    display: flex;
    justify-content: space-between;
    gap: 5rem
}

@media screen and (max-width:870px) {
    .case__wrap {
        flex-direction: column;
        padding: 3rem 0;
        gap: 3rem
    }
}

.case__head {
    width: 30%
}

@media screen and (max-width:870px) {
    .case__head {
        width: 100%;
        margin-bottom: 0
    }
}

@media screen and (max-width:870px) {
    .case__head p:last-of-type {
        font-size: clamp(1.3rem, 3vw, 1.4rem)
    }
}

.case__body {
    flex: 1;
    max-width: 115rem
}

.case__lead-card {
    display: flex;
    align-items: center;
    gap: 4rem;
    padding: 5rem;
    margin-bottom: 5rem;
    background-color: #ffffffe6
}

@media screen and (max-width:870px) {
    .case__lead-card {
        flex-direction: column;
        padding: 3rem 1.5rem;
        gap: 2.4rem;
        margin-bottom: 3rem
    }
}

.case__lead-profile {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: 20%;
    max-width: 184rem
}

@media screen and (max-width:870px) {
    .case__lead-profile {
        width: 100%;
        align-items: flex-start
    }
}

.case__lead-profile > p {
    display: inline-block;
    padding: 1rem 2rem;
    margin-bottom: 2rem;
    background-color: #001a4d;
    color: #fff;
    font-size: min(20px, 1vw);
    font-weight: 600
}

@media screen and (max-width:870px) {
    .case__lead-profile > p {
        font-size: 1.4rem
    }
}

.case__lead-profile h3 {
    font-size: min(42px, 2.3vw);
    font-weight: 600;
    color: #000
}

@media screen and (max-width:870px) {
    .case__lead-profile h3 {
        font-size: 2.4rem
    }
}

.case__lead-content {
    flex: 1;
    min-width: 0
}

.case__lead-content > p {
    margin-bottom: 2.4rem;
    font-size: 1.6rem;
    font-size: min(1.8rem, 1.2vw);
    line-height: 1.5
}

@media screen and (max-width:870px) {
    .case__lead-content > p {
        font-size: 1.6rem;
        line-height: 2
    }
}

.case__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem
}

@media screen and (max-width:870px) {
    .case__tags {
        gap: 1rem
    }
}

.case__tags span {
    height: 4.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 11rem;
    padding: .8rem 1.4rem;
    border: 1px solid #A57841;
    color: #a57841;
    font-size: 1.6rem
}

@media screen and (max-width:870px) {
    .case__tags span {
        font-size: 1.4rem;
        height: 3rem
    }
}

.case__advisor-head {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 8rem
}

@media screen and (max-width:870px) {
    .case__advisor-head {
        margin-bottom: 3rem
    }
}

.case__advisor-head:after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: #0011253d
}

.case__advisor-head p {
    font-size: 2.4rem;
    font-weight: 600
}

@media screen and (max-width:870px) {
    .case__advisor-head p {
        font-size: 1.8rem
    }
}

.case__cards {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem
}

.case__card {
    display: flex;
    flex-direction: column;
    width: calc((100% - 3rem)/2);
    min-height: 28rem;
    padding: 3rem;
    background-color: #ffffffe6
}

@media screen and (max-width:870px) {
    .case__card {
        width: 100%;
        padding: 1.5rem
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .case__card {
        width: calc((100% - 1rem)/2)
    }
}

.case__card > p:nth-of-type(1) {
    display: inline-block;
    width: fit-content;
    padding: .8rem 1.8rem;
    margin-bottom: 2rem;
    background-color: #001a4d;
    color: #fff;
    font-size: 2rem;
    font-weight: 600
}

.case__card h3 {
    color: #000;
    font-size: min(36px, 2.3vw);
    font-weight: 600;
    margin-bottom: 2rem
}

@media screen and (max-width:870px) {
    .case__card h3 {
        font-size: 2.4rem
    }
}

.case__card > p:not(:first-child) {
    margin-bottom: 2.4rem;
    font-size: min(1.8rem, 1.2vw);
    line-height: 3rem
}

@media screen and (max-width:870px) {
    .case__card > p:not(:first-child) {
        line-height: 1.8;
        font-size: 1.4rem
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .case__card > p:not(:first-child) {
        font-size: 1.2rem
    }
}

.case__card .case__tags {
    margin-top: auto
}

@media screen and (max-width:870px) {
    .case__card .case__tags span {
        font-size: 1.2rem;
        padding: .8rem .7rem
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .case__card .case__tags {
        flex-wrap: nowrap
    }

    .case__card .case__tags span {
        width: fit-content;
        min-width: 0;
        white-space: nowrap
    }
}

.case__note {
    margin-top: 3rem;
    font-size: 2.4rem;
    line-height: 1.5
}

@media screen and (max-width:870px) {
    .case__note {
        font-size: 1.2rem
    }
}

@media(min-width:600px)and (max-width:870px) {
    .case__note {
        text-align: center
    }
}

.profile {
    overflow: hidden;
    position: relative;
    max-width: 192rem;
    margin-inline: auto;
    background-color: #fff;
    z-index: 0
}

.profile__inner {
    max-width: 155rem
}

.profile__wrap {
    display: flex;
    align-items: center;
    min-height: 70.2rem;
    overflow: hidden;
    padding: 10rem 0
}

@media screen and (max-width:870px) {
    .profile__wrap {
        min-height: auto;
        padding: 2rem 0 6rem
    }
}

.profile__content {
    z-index: 2;
    width: 70rem;
    margin-bottom: 5rem;
    line-height: 1.5
}

@media screen and (max-width:870px) {
    .profile__content {
        margin: 0
    }
}

.profile__content > p {
    margin-bottom: 2.4rem;
    color: #a57841;
    font-size: 2.4rem;
    font-weight: 600
}

@media screen and (max-width:870px) {
    .profile__content > p {
        margin-bottom: 1.2rem;
        font-size: 1.6rem
    }
}

.profile__content h2 {
    margin-bottom: 3rem;
    font-size: 6.4rem;
    font-weight: 600
}

@media screen and (max-width:870px) {
    .profile__content h2 {
        margin-bottom: 1.5rem;
        font-size: 3.3rem
    }
}

.profile__content h2 span {
    font-size: .8em
}

.profile__logo {
    width: 25rem;
    margin-bottom: 2rem
}

@media screen and (max-width:870px) {
    .profile__logo {
        width: 15rem
    }
}

.profile__logo img {
    width: 100%
}

.profile__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 33rem;
    height: 7rem;
    background-color: #001125;
    color: #fff;
    font-family: Noto Sans JP, Hiragino Kaku Gothic Pro, Meiryo, Arial, sans-serif;
    font-size: 1.6rem;
    font-weight: 500
}

@media screen and (max-width:870px) {
    .profile__btn {
        width: 21rem;
        height: 5rem;
        font-size: 1.2rem
    }
}

.profile__btn span {
    display: inline-flex;
    align-items: center;
    gap: 1.6rem
}

.profile__btn svg {
    flex-shrink: 0
}

.profile__img {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -30rem;
    right: clamp(-35rem, (100vw - 192rem) * 1, 0rem);
    width: 100%;
    max-width: 120rem
}

@media screen and (max-width:870px) {
    .profile__img {
        right: -80%;
        width: 150%
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .profile__img {
        width: 100%;
        right: -40%
    }
}

.profile__img:after {
    content: "";
    position: absolute;
    top: 0;
    left: 42rem;
    z-index: -1;
    width: 13rem;
    height: 100%;
    background-color: #b1b8c21a;
    transform: skew(-32deg);
    transform-origin: top left
}

@media screen and (max-width:870px) {
    .profile__img:after {
        left: calc(37% - 2rem);
        width: 4rem
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .profile__img:after {
        width: 6rem
    }
}

.profile__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.company {
    background-image: url(../images/bg-company.png)
}

.company__inner {
    max-width: 192rem
}

.company__wrap {
    display: flex;
    align-items: center;
    gap: 15rem;
    gap: min(15rem, 7vw);
    padding: 12rem 0
}

@media screen and (max-width:870px) {
    .company__wrap {
        padding: 2rem 0 0;
        flex-direction: column
    }
}

.company__img {
    position: relative;
    display: flex;
    align-items: flex-end;
    width: 45%;
    max-width: 72rem;
    gap: 2rem;
    height: 100rem
}

@media screen and (max-width:870px) {
    .company__img {
        align-items: normal;
        order: 2;
        width: 100%;
        max-width: 100%;
        height: auto;
        flex-direction: column
    }
}

@media screen and (max-width:870px) {
    .company__img picture:nth-child(1) {
        order: 2
    }
}

@media screen and (max-width:870px) {
    .company__img picture:nth-child(1) img {
        aspect-ratio: 1/.2
    }
}

.company__img picture:nth-child(2) {
    align-self: flex-start
}

@media screen and (max-width:870px) {
    .company__img picture:nth-child(2) {
        align-self: normal
    }
}

@media screen and (max-width:870px) {
    .company__img picture:nth-child(2) img {
        aspect-ratio: 1/.6
    }
}

.company__img img {
    width: 34rem;
    height: 75rem;
    object-fit: cover
}

@media screen and (max-width:870px) {
    .company__img img {
        width: 100%;
        height: auto
    }
}

.company__img img:last-child {
    position: relative;
    z-index: 1
}

.company__content {
    width: 55%;
    max-width: 80rem
}

@media screen and (max-width:870px) {
    .company__content {
        width: 100%;
        max-width: 100%
    }
}

.company__head {
    margin-bottom: 10rem
}

@media screen and (max-width:870px) {
    .company__head {
        margin-bottom: 3rem
    }
}

.company__head p {
    margin-bottom: 4rem;
    color: #a57841;
    font-family: Cardo, serif;
    font-size: 2rem
}

@media screen and (max-width:870px) {
    .company__head p {
        margin-bottom: 2rem
    }
}

.company__head h2 {
    color: #051c45;
    font-size: 5rem;
    font-size: min(50px, 4vw);
    font-weight: 600
}

@media screen and (max-width:870px) {
    .company__head h2 {
        font-size: 3.3rem
    }
}

.company__row {
    line-height: 1.5;
    display: flex;
    border-bottom: 1px solid rgba(0, 17, 37, .16)
}

.company__row:last-of-type {
    border-bottom: 0
}

.company__row dt,
.company__row dd {
    padding: 2rem 0
}

.company__row dt {
    color: #051c45;
    font-size: min(20px, 1.5vw);
    flex-shrink: 0;
    width: 30%;
    font-weight: 600
}

@media screen and (max-width:870px) {
    .company__row dt {
        max-width: 13rem;
        font-size: 1.6rem
    }
}

.company__row dd {
    flex: 1;
    min-width: 0;
    font-size: min(18px, 1.2vw);
    width: 70%
}

@media screen and (max-width:870px) {
    .company__row dd {
        font-size: 1.5rem
    }
}

.news {
    background-color: #fff
}

.news__inner {
    max-width: 130rem
}

.news__wrap {
    display: flex;
    justify-content: center;
    gap: 13.5rem;
    gap: min(13.5rem, 8vw);
    padding: 12rem 0
}

@media screen and (max-width:870px) {
    .news__wrap {
        padding: 6rem 0;
        flex-direction: column
    }
}

.news__head {
    flex-shrink: 0;
    width: 25%;
    max-width: 20rem
}

@media screen and (max-width:870px) {
    .news__head {
        width: 100%;
        max-width: 100%
    }
}

.news__head > p {
    margin-bottom: 1.4rem;
    color: #a57841;
    font-family: Cardo, serif;
    font-size: 2rem
}

@media screen and (max-width:870px) {
    .news__head > p {
        margin-bottom: 4rem
    }
}

.news__head h2 {
    margin-bottom: 2.6rem;
    font-size: 5rem;
    font-weight: 600
}

@media screen and (max-width:870px) {
    .news__head h2 {
        font-size: 3.8rem
    }
}

.news__head a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    width: 19rem;
    height: 5rem;
    background-color: #001125;
    color: #fff;
    font-size: 1.6rem
}

.news__head a svg {
    flex-shrink: 0;
    width: 1.8rem
}

.news__items {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    flex: 1
}

.news__item {
    display: flex;
    align-items: center;
    gap: 2.4rem;
    padding: 2rem 2.6rem;
    border-radius: 2rem;
    background-color: #b1b8c21a;
    border: 1px solid #D9D9D9
}

@media screen and (max-width:870px) {
    .news__item {
        border-radius: 1rem;
        padding: 2rem 1rem
    }
}

.news__item time {
    color: #051c45;
    flex-shrink: 0;
    font-weight: 600;
    width: 6.5rem;
    font-family: Cardo, serif;
    font-size: 1.6rem
}

.news__item time span {
    font-size: 2.1rem
}

.news__text {
    min-width: 0
}

.news__text h3 {
    overflow: hidden;
    font-size: 1.6rem;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 2rem;
    line-height: 1.5
}

@media screen and (max-width:870px) {
    .news__text h3 {
        font-size: 1.4rem;
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        white-space: normal
    }
}

.news__text p {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 7rem;
    padding: .4rem 1.2rem;
    margin-bottom: .8rem;
    border-radius: 9999px;
    color: #1b5da9;
    font-size: 1.6rem;
    border: 1px solid #D9D9D9;
    height: 3.2rem;
    background-color: #fff
}

@media screen and (max-width:870px) {
    .news__text p {
        border-radius: 10rem;
        height: 2.4rem;
        font-size: 1.4rem
    }
}

.faq {
    background-image: url(../images/bg-faq.png)
}

@media screen and (max-width:870px) {
    .faq .global-head-300 > p:last-child {
        font-size: 1.3rem
    }
}

.faq__inner {
    max-width: 115rem
}

.faq__wrap {
    padding: 12rem 0
}

@media screen and (max-width:870px) {
    .faq__wrap {
        padding: 6rem 0 4rem
    }
}

.faq__head {
    margin-bottom: 4rem
}

.faq__items {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 2rem 4rem;
    margin-inline: auto
}

.faq__item {
    width: calc((100% - 4rem)/2);
    border: 1px solid #D9D9D9;
    background-color: #fff
}

@media screen and (max-width:870px) {
    .faq__item {
        width: 100%
    }
}

.faq__item[open] summary:after {
    content: "−"
}

.faq__item summary {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1.4rem;
    min-height: 5.6rem;
    padding: 1.6rem 4.8rem 1.6rem 1.6rem;
    cursor: pointer;
    font-size: 1.4rem;
    list-style: none;
    line-height: 1.5
}

.faq__item summary::-webkit-details-marker {
    display: none
}

.faq__item summary:before {
    content: "Q";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background-color: #001125;
    color: #fff;
    font-family: Cardo, serif;
    font-size: 1.6rem
}

.faq__item summary:after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 1.8rem;
    color: #a57841;
    font-size: 1.8rem;
    transform: translateY(-50%)
}

.faq__item > p {
    padding: 0 1.6rem 1.8rem 6rem;
    font-size: 1.4rem;
    line-height: 1.5
}

.contact {
    background-color: #fafafa
}

.contact h2 {
    margin-bottom: 2rem
}

.contact__inner {
    max-width: 115rem
}

.contact__wrap {
    padding: 12rem 0
}

@media screen and (max-width:870px) {
    .contact__wrap {
        padding: 4rem 0
    }
}

.contact__head {
    margin-bottom: 5.5rem
}

@media screen and (max-width:870px) {
    .contact__head {
        margin-bottom: 2.4rem
    }
}

.contact__form {
    margin-inline: auto
}

.contact__group,
.contact__field {
    display: flex;
    align-items: flex-start;
    gap: 4rem;
    padding: 2rem 0;
    border-bottom: 1px solid #D9D9D9
}

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

    .contact__group,
    .contact__field {
        border: none;
        flex-direction: column;
        gap: 2rem
    }
}

.contact__group[data-check] {
    width: 80%
}

@media screen and (max-width:870px) {
    .contact__group[data-check] {
        width: 100%
    }
}

@media screen and (max-width:870px) {
    .contact__group[data-check] .contact__checks {
        flex-wrap: wrap;
        flex-direction: row;
        gap: 2rem
    }
}

@media screen and (min-width:480px)and (max-width:870px) {
    .contact__group[data-check] .contact__checks {
        gap: 1rem
    }
}

@media screen and (max-width:870px) {
    .contact__group[data-check] .contact__check {
        flex: 1 1 30%;
        font-size: 1.3rem
    }
}

.contact__label {
    gap: 1rem;
    flex-shrink: 0;
    width: 18rem;
    padding-top: 1.4rem;
    font-size: 1.8rem;
    font-weight: 500
}

@media screen and (max-width:870px) {
    .contact__label {
        font-size: 1.6rem;
        padding: 0;
        width: 100%;
        flex-direction: row
    }
}

.contact__required {
    margin-left: .5rem;
    color: #a57841;
    font-size: 1.8rem
}

@media screen and (max-width:870px) {
    .contact__required {
        font-size: 1.6rem
    }
}

.contact__required span {
    color: #001125;
    font-size: 1.8rem;
    font-weight: 400;
    margin-right: .5rem
}

@media screen and (max-width:870px) {
    .contact__required span {
        font-size: 1.6rem
    }
}

.contact__checks {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    gap: 1.8rem 3rem;
    min-height: 4.8rem;
    padding: 1.4rem 0;
    letter-spacing: 0
}

@media screen and (max-width:870px) {
    .contact__checks {
        padding: 0;
        width: 100%;
        flex-wrap: nowrap;
        flex-direction: column
    }
}

.contact__check {
    display: flex;
    align-items: center;
    gap: .8rem;
    font-size: 1.8rem;
    font-weight: 500
}

@media screen and (max-width:870px) {
    .contact__check {
        gap: .5rem;
        font-size: 1.6rem;
        background-color: #fff;
        height: 5rem;
        padding: 0 .5rem
    }
}

.contact__check input,
.contact__consent input {
    flex-shrink: 0;
    width: 1.4rem;
    height: 1.4rem;
    border: 1px solid #B1B8C2;
    background-color: #fff
}

.contact__check input:checked,
.contact__consent input:checked {
    border-color: #a57841;
    background-color: #a57841;
    box-shadow: inset 0 0 0 .3rem #fff
}

.contact__check input[type=radio] {
    border-radius: 50%
}

.contact__label-box {
    gap: 2rem;
    width: 100%
}

.contact__label-box p {
    color: #868686;
    font-size: 1.4rem
}

.contact__input,
.contact__textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid #D9D9D9;
    background-color: #fff;
    font-size: 1.8rem
}

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

    .contact__input,
    .contact__textarea {
        font-size: 1.6rem
    }
}

.contact__input {
    height: 6rem;
    padding: 0 1.6rem
}

.contact__textarea {
    min-height: 8rem;
    padding: 1.4rem 1.6rem;
    resize: vertical
}

@media screen and (max-width:870px) {
    .contact__textarea {
        min-height: 10rem
    }
}

.contact__field--textarea .contact__label {
    padding-top: .4rem
}

.contact__consent {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 4.5rem auto;
    font-size: 1.4rem
}

@media screen and (max-width:870px) {
    .contact__consent {
        margin: 2rem auto 4rem
    }
}

.contact__consent a {
    color: #a57841
}

.contact__file {
    display: flex;
    align-items: center;
    gap: 1.8rem;
    margin-inline: auto;
    padding: 1.5rem 8rem 1.5rem 1.5rem;
    background-color: #fff;
    font-size: 1.8rem;
    height: 6.8rem
}

@media screen and (max-width:870px) {
    .contact__file {
        font-size: 1.6rem;
        padding: 1.5rem;
        font-size: clamp(1.1rem, 3vw, 1.4rem)
    }
}

.contact__file-text {
    position: relative;
    padding-left: 2.8rem;
    color: #a57841;
    line-height: 1.5
}

.contact__file-text:before {
    content: "";
    background-image: url(../images/contact-icon.png);
    position: absolute;
    top: 50%;
    left: 0;
    width: 1.8rem;
    height: 1.8rem;
    transform: translateY(-50%)
}

.contact__file-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 12rem;
    height: 3.2rem;
    margin-left: auto;
    border: 1px solid #A57841;
    color: #a57841;
    font-size: 1.4rem;
    cursor: pointer
}

@media screen and (max-width:870px) {
    .contact__file-btn {
        min-width: 10rem;
        width: 15rem;
        font-size: clamp(1.1rem, 3vw, 1.4rem)
    }
}

.contact__file-btn input {
    position: absolute;
    width: 1px;
    height: 1px;
    clip: rect(0, 0, 0, 0);
    overflow: hidden
}

.contact__file-note {
    max-width: 24rem;
    overflow: hidden;
    color: #8a8a8a;
    font-size: 1.2rem;
    text-overflow: ellipsis;
    white-space: nowrap
}

.contact__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 29rem;
    height: 6rem;
    margin: 5.5rem auto;
    background-color: #a57841;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 500
}

@media screen and (max-width:870px) {
    .contact__submit {
        font-size: 1.6rem;
        margin: 3rem auto
    }
}

.contact__submit span {
    display: inline-flex;
    align-items: center;
    gap: 1.4rem
}

.contact__submit svg {
    flex-shrink: 0
}

.contact__note {
    text-align: center;
    font-size: 1.8rem
}

@media screen and (max-width:870px) {
    .contact__note {
        font-size: 1.4rem
    }
}

@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: translateZ(0)
}

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

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

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

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

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

.swiper-3d {
    perspective: 1200px
}

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

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

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none
}

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

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

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

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

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

.swiper-css-mode.swiper-centered > .swiper-wrapper:before {
    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 {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

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

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

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

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

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

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

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

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

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

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

    to {
        transform: rotate(360deg)
    }
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translateZ(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(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.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, .2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: 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(0, -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: .2s transform, .2s 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: translate(-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: .2s transform, .2s left
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s 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, .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
}


.a.header__btn.header__btn--consulink .span {
    font-size: 2px;
}

@media screen and (min-width:871px) {
    .logoslider {
        text-align: center;
        font-size: 3.6rem;
        margin-top: 30px;
        margin-bottom: 30px;
    }
}

@media screen and (max-width:870px) {
    .logoslider {
        text-align: center;
        font-size: 2.6rem;
        margin-top: 30px;
        margin-bottom: 30px;
    }
}
