@charset "utf-8";

:root {
    --leading-trim: calc((1em - 1lh) / 2);
    --fontDefault: 'Montserrat', sans-serif;
    --fontBodo: 'Bodoni Moda', serif;
    --fontOpen: 'Open Sans', sans-serif;
    --color_text: #302b23;
    --color_01: #2c2c2d;
    --color_02: #e9e9eb;
    --color_03: #fdeff1;
    --color_04: #e9cdd0;
    --bgMenu: #fceee1;
    --z_upper: 3000;
    --z_middle: 2000;
    --z_lower: 1000;
    --backdrop-filter: blur(7px)
}

@supports not (top:1lh) {
    :root {
        --leading-trim: 0px
    }
}

html {
    font-size: 10px
}

body,
button,
td,
th,
input,
select,
textarea {
    font-family: var(--fontDefault);
    font-weight: 400;
    color: var(--color_text)
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
nav,
figure,
main,
section {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    box-sizing: border-box;
    word-break: break-word
}

ol,
ul {
    list-style: none
}

table {
    border-collapse: separate;
    border-spacing: 0;
    vertical-align: middle
}

caption,
th,
td {
    text-align: left;
    font-weight: 400;
    vertical-align: middle
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.2
}

.clearfix:after {
    content: "";
    display: block;
    clear: both
}

main,
picture,
figure {
    display: block
}

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

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

input[type=text] {
    word-break: keep-all
}

input[type=text]::-ms-clear {
    display: none
}

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

button {
    padding: 0
}

sup {
    vertical-align: super
}

sub {
    vertical-align: sub
}

iframe {
    display: block;
    border: 0
}

ruby rt {
    text-align: center
}

* {
    box-sizing: border-box
}

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

@keyframes trigger {
    0% {
        background: currentColor
    }

    50% {
        background: 0 0
    }

    to {
        background: 0 0
    }
}

@keyframes triggerAt {
    0% {
        background: 0 0
    }

    50% {
        background: currentColor
    }

    to {
        background: currentColor
    }
}

@keyframes trigger01 {
    0% {
        top: -2.4vw;
        transform: rotate(0)
    }

    50% {
        top: 0;
        transform: rotate(0)
    }

    to {
        top: 0;
        transform: rotate(-45deg)
    }
}

@keyframes trigger01At {
    0% {
        top: 0;
        transform: rotate(-45deg)
    }

    50% {
        top: 0;
        transform: rotate(0)
    }

    to {
        top: -2.4vw;
        transform: rotate(0)
    }
}

@keyframes trigger02 {
    0% {
        bottom: -2.4vw;
        transform: rotate(0)
    }

    50% {
        bottom: 0;
        transform: rotate(0)
    }

    to {
        bottom: 0;
        transform: rotate(45deg)
    }
}

@keyframes trigger02At {
    0% {
        bottom: 0;
        transform: rotate(45deg)
    }

    50% {
        bottom: 0;
        transform: rotate(0)
    }

    to {
        bottom: -2.4vw;
        transform: rotate(0)
    }
}

@keyframes scroll {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0
    }

    50% {
        transform: scale(1, 1);
        transform-origin: 0 0
    }

    50.1% {
        transform: scale(1, 1);
        transform-origin: 0 100%
    }

    to {
        transform: scale(1, 0);
        transform-origin: 0 100%
    }
}

@keyframes top {
    0% {
        top: 0;
        transform: rotate(0)
    }

    50% {
        top: 50%;
        transform: rotate(0)
    }

    to {
        top: 50%;
        transform: translateY(-50%) rotate(-45deg)
    }
}

@keyframes topBack {
    0% {
        top: 50%;
        transform: translateY(-50%) rotate(-45deg)
    }

    50% {
        top: 50%;
        transform: rotate(0)
    }

    to {
        top: 0;
        transform: rotate(0)
    }
}

@keyframes bottom {
    0% {
        bottom: 0;
        transform: rotate(0)
    }

    50% {
        bottom: 50%;
        transform: rotate(0)
    }

    to {
        bottom: 50%;
        transform: translateY(50%) rotate(45deg)
    }
}

@keyframes bottomBack {
    0% {
        bottom: 50%;
        transform: translateY(50%) rotate(45deg)
    }

    50% {
        bottom: 50%;
        transform: rotate(0)
    }

    to {
        bottom: 0;
        transform: rotate(0)
    }
}

@keyframes rotate-in-down-left {
    0% {
        transform-origin: left bottom;
        transform: rotate(45deg);
        clip-path: inset(100% 100% 100% 100%)
    }

    to {
        transform-origin: left bottom;
        transform: rotate(0);
        clip-path: inset(0 0 0 0)
    }
}

@keyframes scaleX {
    0% {
        transform: scaleX(-1)
    }

    20% {
        transform: scaleX(1)
    }

    80% {
        transform: scaleX(1)
    }

    to {
        transform: scaleX(-1)
    }
}

@keyframes scaleY {
    0% {
        opacity: 0;
        transform: scaleY(0);
        transform-origin: 0 100%
    }

    to {
        opacity: 1;
        transform: scaleY(1);
        transform-origin: 0 100%
    }
}

@keyframes moveY {
    0% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(var(--moveY-distance, 100px))
    }

    to {
        transform: translateY(0)
    }
}

@keyframes moveX {
    0% {
        transform: translateX(0)
    }

    50% {
        transform: translateX(var(--moveX-distance, 100px))
    }

    to {
        transform: translateX(0)
    }
}

@media (any-hover:hover) {
    .link__alpha {
        cursor: pointer;
        transition: opacity .3s ease;
        will-change: opacity
    }

    .link__alpha:hover {
        opacity: .6
    }

    .link__color {
        cursor: pointer;
        transition: color .3s ease;
        will-change: color
    }

    .link__color:hover {
        color: #fff
    }

    .link__text {
        cursor: pointer;
        position: relative
    }

    .link__text:before {
        content: "";
        display: block;
        height: 1px;
        width: 100%;
        background-color: currentColor;
        position: absolute;
        left: 0;
        bottom: 0;
        transform-origin: right center;
        transform: scale(0, 1);
        transition: transform .3s ease;
        will-change: transform
    }

    .link__text:hover:before {
        transform-origin: left center;
        transform: scale(1, 1)
    }

    .link__line {
        padding-bottom: .25em;
        background: linear-gradient(currentColor, currentColor)0 100%/0 1px no-repeat;
        transition: background .3s ease;
        will-change: background
    }

    .link__line:hover {
        background-size: 100% 1px
    }

    .link__fill {
        position: relative;
        cursor: pointer;
        display: flex;
        justify-content: center;
        align-items: center
    }

    .link__fill span {
        position: relative
    }

    .link__fill:before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        background-color: #000;
        transform-origin: right center;
        transform: scale(0, 1);
        transition: transform .3s ease;
        will-change: transform
    }

    .link__fill:hover:before {
        transform-origin: left center;
        transform: scale(1, 1)
    }

    .link__zoom figure {
        overflow: hidden
    }

    .link__zoom img {
        transition: transform .4s ease;
        will-change: transform
    }

    .link__zoom:hover img {
        transform: scale(1.2)
    }
}

@media (min-width:1367px) {
    .wysiwyg .text-huge {
        font-size: 2.8rem
    }

    .wysiwyg .text-big {
        font-size: 2.4rem
    }

    .wysiwyg .text-small {
        font-size: 1.4rem
    }

    .wysiwyg .text-tiny {
        font-size: 1.2rem
    }

    .wysiwyg .text-center {
        text-align: center
    }

    .wysiwyg .text-right {
        text-align: right
    }

    .wysiwyg .text-left {
        text-align: left
    }
}

@media (min-width:769px) and (max-width:1366px) {
    .wysiwyg .text-huge {
        font-size: 1.87vw
    }

    .wysiwyg .text-big {
        font-size: 1.6vw
    }

    .wysiwyg .text-small {
        font-size: .93vw
    }

    .wysiwyg .text-tiny {
        font-size: .8vw
    }

    .wysiwyg .text-center {
        text-align: center
    }

    .wysiwyg .text-right {
        text-align: right
    }

    .wysiwyg .text-left {
        text-align: left
    }
}

@media (max-width:768px) {
    .wysiwyg .text-huge {
        font-size: 5.07vw
    }

    .wysiwyg .text-big {
        font-size: 4.53vw
    }

    .wysiwyg .text-small {
        font-size: 3.2vw
    }

    .wysiwyg .text-tiny {
        font-size: 2.93vw
    }

    .wysiwyg .text-center {
        text-align: center
    }

    .wysiwyg .text-right {
        text-align: right
    }

    .wysiwyg .text-left {
        text-align: left
    }
}

@media (min-width:1367px) {

    body,
    button,
    td,
    th,
    input,
    select,
    textarea {
        font-size: 1.6rem;
        line-height: 1.6
    }

    a[href^=tel] {
        pointer-events: none;
        text-decoration: none
    }

    .show_sp {
        display: none !important
    }

    .row {
        max-width: 1200px;
        width: 100%;
        margin-inline: auto
    }

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

    .header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        padding: 3%;
        transition: background-color .3s ease, box-shadow .3s ease-out, transform .3s ease-out;
        will-change: background-color, box-shadow, transform;
        z-index: var(--z_upper);
        --backdrop-filter: blur(7px)
    }

    .header.fixed {
        position: fixed;
        transform: translateY(-100%)
    }

    .header__wrap {
        display: grid;
        grid-template-columns: 430px 1fr
    }

    .header__logo {
        --backdrop-filter: blur(10px);
        display: flex;
        align-items: center;
        justify-content: center;
        width: 192px;
        height: 101px;
        margin-inline-start: 58px;
        -webkit-backdrop-filter: var(--backdrop-filter);
        backdrop-filter: var(--backdrop-filter);
        background: 0 0;
        border-radius: 16px 16px 16px 16px
    }

    .header__logo>a {
        width: 131px;
        height: 74px;
        background: url(../images/common/logo.png?v6b678671948477270c4ec6ba0c4ce7d5)no-repeat;
        background-size: 100% 100%;
        background-position: center;
        font-size: 0;
        z-index: 10
    }

    .header__content {
        width: 100%;
        display: flex;
        justify-content: flex-end;
        flex: 1
    }

    .header__menu {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding-right: 10px
    }

    .header__menu__nav {
        display: flex;
        justify-content: flex-end;
        width: 100%;
        padding: 10px 47px;
        -webkit-backdrop-filter: var(--backdrop-filter);
        backdrop-filter: var(--backdrop-filter);
        background: rgba(226, 226, 226, .3);
        border-radius: 16px 16px 16px 16px;
        font-family: var(--fontOpen)
    }

    .header__menu__nav ul {
        display: flex;
        align-items: center;
        grid-gap: 8px
    }

    .header__menu__nav ul li a {
        display: block;
        padding: 13px 17px;
        font-size: 1.5rem;
        line-height: 1.4;
        font-weight: 400
    }

    .footer {
        position: relative;
        background: #fff
    }

    .footer__wrap {
        display: grid;
        grid-template-columns: 27.73vw 1fr;
        grid-template-rows: 320px 232px;
        padding: 6vw 4vw 0
    }

    .footer__ttl {
        margin-block-end: 16px;
        font-family: var(--fontBodo);
        font-size: 2rem;
        font-weight: 700
    }

    .footer__contact {
        display: flex;
        flex-direction: column;
        padding-inline-start: 22px;
        font-size: 1.5rem;
        line-height: 24px
    }

    .footer__contact a {
        text-decoration: underline
    }

    .footer__social {
        display: flex;
        margin-block-start: 16px;
        grid-gap: 16px
    }

    .footer__social li {
        width: 28px;
        height: 28px
    }

    .footer__social li a {
        display: flex;
        height: 100%
    }

    .footer__social--linked {
        background-image: url(../images/common/linked.svg?v5663f8dd6560f47c056112dad2773505);
        background-size: cover;
        background-position: 0 0;
        background-repeat: no-repeat
    }

    .footer__social--youtube {
        background-image: url(../images/common/youtube.svg?vae715ddc4c03dbbf039349adf2d6d855);
        background-size: cover;
        background-position: 0 0;
        background-repeat: no-repeat
    }

    .footer__address {
        padding-inline-start: 120px;
        font-size: 1.5rem;
        line-height: 24px
    }

    .footer__copyright {
        display: flex;
        align-items: center;
        padding-inline-start: 87px;
        border-top: 1px solid #999793;
        font-size: 1.2rem;
        line-height: 1.6
    }

    .footer__policy {
        grid-column: 3;
        grid-row: 1;
		padding-inline-end: 22px;
    }

    .footer .scrollToTop {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        border-top: 1px solid #999793;
        grid-column: span 2;
    }

    .footer .scrollToTop__link {
        display: flex;
        align-items: center;
        flex-direction: column;
        width: 120px
    }

    .footer .scrollToTop--icon {
        width: 60px;
        height: 60px;
        margin-block-end: 10px;
        opacity: .15;
        animation: scaleX 10s ease-in-out infinite
    }

    .footer .scrollToTop--text {
        font-family: var(--fontOpen);
        font-size: 1.5rem;
        text-decoration: underline
    }

    .root {
        cursor: url(../images/common/cusor.svg)14 14, auto
    }

    .main .c-btn,
    .main .c-btn * {
        cursor: pointer
    }

    .rotate-in-down-left {
        opacity: 0
    }

    .rotate-in-down-left.active {
        opacity: 1;
        animation: rotate-in-down-left 1s ease-out
    }
}

@media (min-width:769px) and (max-width:1366px) {

    body,
    button,
    td,
    th,
    input,
    select,
    textarea {
        font-size: 1.07vw;
        line-height: 1.6
    }

    a[href^=tel] {
        pointer-events: none;
        text-decoration: none
    }

    .show_sp {
        display: none !important
    }

    .row {
        max-width: 80vw;
        width: 100%;
        margin-inline: auto
    }

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

    .header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        padding: 3%;
        transition: background-color .3s ease, box-shadow .3s ease-out, transform .3s ease-out;
        will-change: background-color, box-shadow, transform;
        z-index: var(--z_upper);
        --backdrop-filter: blur(0.47vw)
    }

    .header.fixed {
        position: fixed;
        transform: translateY(-100%)
    }

    .header__wrap {
        display: grid;
        grid-template-columns: 28.67vw 1fr
    }

    .header__logo {
        --backdrop-filter: blur(0.67vw);
        display: flex;
        align-items: center;
        justify-content: center;
        width: 12.8vw;
        height: 6.73vw;
        margin-inline-start: 3.87vw;
        -webkit-backdrop-filter: var(--backdrop-filter);
        backdrop-filter: var(--backdrop-filter);
        background: 0 0;
        border-radius: 1.07vw 1.07vw 1.07vw 1.07vw
    }

    .header__logo>a {
        width: 8.73vw;
        height: 4.93vw;
        background: url(../images/common/logo.png?v6b678671948477270c4ec6ba0c4ce7d5)no-repeat;
        background-size: 100% 100%;
        background-position: center;
        font-size: 0;
        z-index: 10
    }

    .header__content {
        width: 100%;
        display: flex;
        justify-content: flex-end;
        flex: 1
    }

    .header__menu {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding-right: .67vw
    }

    .header__menu__nav {
        display: flex;
        justify-content: flex-end;
        width: 100%;
        padding: .67vw 3.13vw;
        -webkit-backdrop-filter: var(--backdrop-filter);
        backdrop-filter: var(--backdrop-filter);
        background: rgba(226, 226, 226, .3);
        border-radius: 1.07vw 1.07vw 1.07vw 1.07vw;
        font-family: var(--fontOpen)
    }

    .header__menu__nav ul {
        display: flex;
        align-items: center;
        grid-gap: .53vw
    }

    .header__menu__nav ul li a {
        display: block;
        padding: .87vw 1.13vw;
        font-size: 1vw;
        line-height: 1.4;
        font-weight: 400
    }

    .footer {
        position: relative;
        background: #fff
    }

    .footer__wrap {
        display: grid;
        grid-template-columns: 27.73vw 1fr;
        grid-template-rows: 21.33vw 15.47vw;
        padding: 6vw 4vw 0
    }

    .footer__ttl {
        margin-block-end: 1.07vw;
        font-family: var(--fontBodo);
        font-size: 1.33vw;
        font-weight: 700
    }

    .footer__contact {
        display: flex;
        flex-direction: column;
        padding-inline-start: 1.47vw;
        font-size: 1vw;
        line-height: 1.6vw
    }

    .footer__contact a {
        text-decoration: underline
    }

    .footer__social {
        display: flex;
        margin-block-start: 1.07vw;
        grid-gap: 1.07vw
    }

    .footer__social li {
        width: 1.87vw;
        height: 1.87vw
    }

    .footer__social li a {
        display: block;
        height: 100%
    }

    .footer__social--linked {
        background-image: url(../images/common/linked.svg?v5663f8dd6560f47c056112dad2773505);
        background-size: cover;
        background-position: 0 0;
        background-repeat: no-repeat
    }

    .footer__social--youtube {
        background-image: url(../images/common/youtube.svg?vae715ddc4c03dbbf039349adf2d6d855);
        background-size: cover;
        background-position: 0 0;
        background-repeat: no-repeat
    }

    .footer__address {
        padding-inline-start: 8vw;
        font-size: 1vw;
        line-height: 1.6vw
    }

    .footer__copyright {
        display: flex;
        align-items: center;
        padding-inline-start: 5.8vw;
        border-top: 1px solid #999793;
        font-size: .8vw;
        line-height: 1.6
    }

    .footer .scrollToTop {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        border-top: 1px solid #999793
    }

    .footer .scrollToTop__link {
        display: flex;
        align-items: center;
        flex-direction: column;
        width: 8vw
    }

    .footer .scrollToTop--icon {
        width: 4vw;
        height: 4vw;
        margin-block-end: .67vw;
        opacity: .15;
        animation: scaleX 10s ease-in-out infinite
    }

    .footer .scrollToTop--text {
        font-family: var(--fontOpen);
        font-size: 1vw;
        text-decoration: underline
    }

    .main {
        cursor: url(../images/common/cusor.svg)14 14, auto
    }

    .main .c-btn,
    .main .c-btn * {
        cursor: pointer
    }

    .rotate-in-down-left {
        opacity: 0
    }

    .rotate-in-down-left.active {
        opacity: 1;
        animation: rotate-in-down-left 1s ease-out
    }
}

@media (min-width:769px) and (max-width:999px) {
    .header__logo {
        width: 192px;
        height: 101px;
        margin-inline-start: 20px
    }

    .header__logo>a {
        width: 131px;
        height: 74px
    }

    .header__menu {
        padding-right: 0
    }

    .header__menu__nav {
        padding: 10px 30px
    }

    .header__menu__nav ul {
        grid-gap: 8px
    }

    .header__menu__nav ul li a {
        display: block;
        padding: 13px 17px;
        font-size: 1.5rem;
        line-height: 1.4;
        font-weight: 400
    }

    .footer {
        position: relative;
        background: #fff
    }

    .footer__wrap {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        padding: 6vw 4vw 0
    }

    .footer__ttl {
        font-family: var(--fontBodo);
        font-size: 2rem;
        font-weight: 700
    }

    .footer__contact {
        padding-inline-start: 1.33vw;
        font-size: 1.5rem;
        line-height: 24px
    }

    .footer__address {
        padding-inline-start: 1.33vw;
        font-size: 1.5rem;
        line-height: 24px
    }

    .footer__copyright {
        padding-inline-start: 1.33vw;
        border-top: 1px solid #999793;
        font-size: 12px;
        line-height: 1.6
    }

    .footer .scrollToTop {
        border-top: 1px solid #999793
    }

    .footer .scrollToTop__link {
        width: 120px
    }

    .footer .scrollToTop--icon {
        width: 60px;
        height: 60px;
        margin-block-end: 10px
    }

    .footer .scrollToTop--text {
        font-size: 1.5rem
    }
}

@media (max-width:768px) {

    body,
    button,
    td,
    th,
    input,
    select,
    textarea {
        font-size: 1.87vw;
        line-height: 1.7
    }

    .show_pc {
        display: none !important
    }

    .row {
        padding-inline: 5.33vw
    }

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

    .header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 26.67vw;
        transition: background-color .3s ease, box-shadow .3s ease-out, transform .3s ease-out;
        will-change: background-color, box-shadow, transform;
        z-index: var(--z_upper);
        --backdrop-filter: blur(0.93vw)
    }

    .header.fixed {
        position: fixed;
        transform: translateY(-100%)
    }

    .header__wrap {
        position: relative
    }

    .header__logo,
    .header__content {
        flex-shrink: 0
    }

    .header__logo {
        position: absolute;
        left: 0;
        top: 0;
        z-index: 10;
        --backdrop-filter: blur(1.33vw);
        display: flex;
        align-items: center;
        justify-content: center;
        width: 26.67vw;
        height: 14.13vw;
        margin-block-start: 12vw;
        margin-inline-start: 5.33vw;
        -webkit-backdrop-filter: var(--backdrop-filter);
        backdrop-filter: var(--backdrop-filter);
        border-radius: 2.13vw 2.13vw 2.13vw 2.13vw;
        animation: scaleY .5s ease-out
    }

    .header__logo>a {
        width: 15.6vw;
        height: 8.8vw;
        background: url(../images/common/logo.png?v6b678671948477270c4ec6ba0c4ce7d5)no-repeat;
        background-size: 100% 100%;
        background-position: center;
        font-size: 0;
        z-index: 10
    }

    .header__menu {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 0;
        overflow: hidden;
        background: var(--color_02)
    }

    .header__menu__nav {
        padding: 33.33vw 4.27vw 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch
    }

    .header__menu__nav>ul {
        position: relative;
        width: 100%
    }

    .header__menu__nav>ul>li {
        display: block;
        overflow: hidden
    }

    .header__menu__nav>ul>li>a {
        position: relative;
        display: block;
        padding: 2.67vw 4vw;
        font-family: var(--fontOpen);
        font-size: 4.27vw;
        line-height: 6.4vw;
        font-weight: 400;
        letter-spacing: .05em
    }

    .header__hamburger {
        position: absolute;
        top: 10.67vw;
        right: 5.33vw;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        cursor: pointer;
        z-index: 9;
        width: 13.33vw;
        height: 13.33vw;
        -webkit-backdrop-filter: var(--backdrop-filter);
        backdrop-filter: var(--backdrop-filter);
        border-radius: 2.67vw;
        border: 1px solid var(--color_01)
    }

    .header__hamburger .burger-lines {
        position: relative;
        width: 6.67vw;
        height: 4vw
    }

    .header__hamburger .burger-lines:before {
        content: "";
        position: absolute;
        width: 100%;
        height: .27vw;
        background: var(--color_01);
        top: 0;
        left: 0;
        margin: auto;
        border-radius: .27vw
    }

    .header__hamburger .burger-lines:after {
        content: "";
        position: absolute;
        width: 100%;
        height: .27vw;
        background: var(--color_01);
        bottom: 0;
        left: 0;
        margin: auto;
        border-radius: .27vw
    }

    .header__hamburger:after {
        content: "";
        position: absolute;
        left: 50%;
        width: 6.67vw;
        height: .27vw;
        background: var(--color_01);
        transform: translateX(-50%);
        border-radius: .27vw;
        transition: opacity .7s ease-out;
        will-change: opacity
    }

    .header__hamburger.open .burger-lines:before {
        animation: ease .7s top forwards
    }

    .header__hamburger.open .burger-lines:after {
        animation: ease .7s bottom forwards
    }

    .header__hamburger.open:after {
        opacity: 0
    }

    .header__hamburger.close .burger-lines:before {
        animation: ease .7s topBack forwards
    }

    .header__hamburger.close .burger-lines:after {
        animation: ease .7s bottomBack forwards
    }

    .footer {
        position: relative;
        background: #fff
    }

    .footer__wrap {
        display: grid;
        grid-template-columns: 1fr;
        grid-gap: 13.33vw;
        padding: 6vw 4vw 0
    }

    .footer__ttl {
        margin-block-end: 16px;
        font-family: var(--fontBodo);
        font-size: 16px;
        font-weight: 700
    }

    .footer__contact {
        font-size: 15px;
        line-height: 24px
    }

    .footer__contact a {
        text-decoration: underline
    }

    .footer__social {
        display: flex;
        margin-block-start: 16px;
        grid-gap: 16px
    }

    .footer__social li {
        width: 28px;
        height: 28px
    }

    .footer__social li a {
        display: block;
        height: 100%
    }

    .footer__social--linked {
        background-image: url(../images/common/linked.svg?v5663f8dd6560f47c056112dad2773505);
        background-size: cover;
        background-position: 0 0;
        background-repeat: no-repeat
    }

    .footer__social--youtube {
        background-image: url(../images/common/youtube.svg?vae715ddc4c03dbbf039349adf2d6d855);
        background-size: cover;
        background-position: 0 0;
        background-repeat: no-repeat
    }

    .footer__address {
        font-size: 15px;
        line-height: 24px
    }

    .footer__copyright {
        padding-block-start: 100px;
        border-top: 1px solid #999793;
        font-size: 10px;
        line-height: 1.6
    }

    .footer .scrollToTop {
        display: flex;
        align-items: center;
        padding-block-end: 100px
    }

    .footer .scrollToTop__link {
        display: flex;
        align-items: center;
        grid-gap: 20px
    }

    .footer .scrollToTop--icon {
        width: 95px;
        height: 95px;
        opacity: .15;
        animation: scaleX 10s ease-in-out infinite
    }

    .footer .scrollToTop--text {
        font-family: var(--fontOpen);
        font-size: 15px;
        text-decoration: underline
    }

    .rotate-in-down-left {
        opacity: 0
    }

    .rotate-in-down-left.active {
        opacity: 1;
        animation: rotate-in-down-left 1s ease-out
    }
}



.slide_horizontal .elementor-swiper-button {
    display: none !important;
}

.slide_horizontal img {
    transform: scale(1);
    transition: all ease .3s;
}

.slide_horizontal img:hover {
    transform: scale(0.99);
}

div#partners {
    transform: inherit !important;

}

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

    /*    .slide_horizontal .elementor-swiper-button {*/
    /*    display: block !important;*/
    /*}*/
    figure.b-partners__photo--item.-item02.layer {
        top: inherit !important;
        bottom: 16vw !important;
    }

    div#partners .section__content p {
        text-align: center;
        font-size: 3.73vw;
        line-height: 5.87vw;
    }

    div#partners {
        transform: inherit !important;
        padding: 10vw 8vw 5.33vw;
    }

    .b-partners__photo {
        padding-top: 24vw;
    }

    .slide_horizontal {
        padding: 0 8vw 7vw;
    }

    .slide_horizontal img {
        padding: 0 2px;
        border-radius: 50%;
    }

    .footer__pl {
        font-size: 15px;
    }
}