@-webkit-keyframes scroll-hint-appear {
    0% {
        opacity: 0;
        -webkit-transform: translateX(40px);
        transform: translateX(40px)
    }

    10% {
        opacity: 1
    }

    50%,to {
        opacity: 0;
        -webkit-transform: translateX(-40px);
        transform: translateX(-40px)
    }
}

@keyframes scroll-hint-appear {
    0% {
        opacity: 0;
        -webkit-transform: translateX(40px);
        transform: translateX(40px)
    }

    10% {
        opacity: 1
    }

    50%,to {
        opacity: 0;
        -webkit-transform: translateX(-40px);
        transform: translateX(-40px)
    }
}

.scroll-hint.is-right-scrollable {
    background: linear-gradient(270deg,rgba(0,0,0,.15),transparent 16px,transparent)
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
    background: linear-gradient(90deg,rgba(0,0,0,.15),transparent 16px,transparent),linear-gradient(270deg,rgba(0,0,0,.15),transparent 16px,transparent)
}

.scroll-hint.is-left-scrollable {
    background: linear-gradient(90deg,rgba(0,0,0,.15),transparent 16px,transparent)
}

.scroll-hint-icon {
    background: rgba(0,0,0,.7);
    border-radius: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 80px;
    left: calc(50% - 60px);
    opacity: 0;
    padding: 20px 10px 10px;
    position: absolute;
    text-align: center;
    top: calc(50% - 25px);
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
    width: 120px
}

.scroll-hint-icon-wrap {
    height: 100%;
    left: 0;
    max-height: 100%;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%
}

.scroll-hint-text {
    color: #fff;
    font-size: 10px;
    margin-top: 5px
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
    opacity: .8
}

.scroll-hint-icon:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiI+PGcgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PHBhdGggZD0iTTIxLjMzIDMwLjUySDcuODVBMS41NSAxLjU1IDAgMCAxIDYuMyAyOWExMi40NiAxMi40NiAwIDAgMC0uNjMtNC40MiAyNS4xNiAyNS4xNiAwIDAgMC00LjI1LTVsLS4wNi0uMDZBNSA1IDAgMCAxIDAgMTUuODZhMy42NCAzLjY0IDAgMCAxIDEuMTctMi42MiAzLjYzIDMuNjMgMCAwIDEgNS4xNC4wN1YzLjc3YTMuNzcgMy43NyAwIDEgMSA3LjU0IDB2NC41NmEzLjM1IDMuMzUgMCAwIDEgMS4yNiAwIDMgMyAwIDAgMSAyIDEuMjIgMy41IDMuNSAwIDAgMSAyLS4wNiAzLjIxIDMuMjEgMCAwIDEgMiAxLjU0IDMuNzQgMy43NCAwIDAgMSAzIC40NyA0LjIxIDQuMjEgMCAwIDEgMS42MyAzLjV2LjQ2YTE5LjI2IDE5LjI2IDAgMCAxLS44NCA3Yy0uMTQuMzgtLjM2LjgxLS41NiAxLjIybC0uMTEuMjJjMCAuMDctLjA5LjE0LS4xNC4yMWE3LjEzIDcuMTMgMCAwIDAtMS4xNyAyLjE3Yy0uMDYuNTYtLjA2IDIuMTUtLjA1IDIuNzFhMS41NSAxLjU1IDAgMCAxLTEuNTQgMS41M1pNOC42MSAyOC4yMWgxMmMwLS43MSAwLTEuNzEuMDctMi4yM2E4Ljc0IDguNzQgMCAwIDEgMS41OS0zLjI1bC4wNi0uMTJhMTAgMTAgMCAwIDAgLjQ2LTEgMTYuOCAxNi44IDAgMCAwIC43LTYuMTJ2LS41NGEyIDIgMCAwIDAtLjY0LTEuNTIgMS4zMyAxLjMzIDAgMCAwLTEuNTUuMDggMS4xMyAxLjEzIDAgMCAxLTEuMTguMjggMS4xNSAxLjE1IDAgMCAxLS43OC0uOTQgMS4yNiAxLjI2IDAgMCAwLS43NS0xLjExIDEgMSAwIDAgMC0xLjExLjI4bC0uMS4xYTEuMTUgMS4xNSAwIDAgMS0xLjE5LjI5IDEuMTYgMS4xNiAwIDAgMS0uNzgtLjk1Yy0uMDktLjY4LS4yMS0uNzctLjctLjg3YS44Mi44MiAwIDAgMC0xIC40OCAxLjE2IDEuMTYgMCAwIDEtMi4xNi0uNThWMy43N2ExLjQ2IDEuNDYgMCAxIDAtMi45MiAwdjEyLjE4YTEuMTcgMS4xNyAwIDAgMS0uODMgMS4xMSAxLjE1IDEuMTUgMCAwIDEtMS4yLS4zNWwtMS0uOTFjLS40Ny0uNDItLjczLS42Ni0uODQtLjc3YTEuMzUgMS4zNSAwIDAgMC0yLS4xMkwyLjcgMTVhMS4zMiAxLjMyIDAgMCAwLS4zOSAxQTIuNTcgMi41NyAwIDAgMCAzIDE3Ljg1YTI3LjI0IDI3LjI0IDAgMCAxIDQuNyA1LjYyIDEyLjYzIDEyLjYzIDAgMCAxIC45MSA0Ljc0Wm0xNC41OS00Ljg2Wk02LjUxIDE2LjU5WiIgZmlsbD0iI2ZmZiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMSIvPjwvZz48L3N2Zz4=);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    color: #fff;
    content: "";
    display: inline-block;
    height: 40px;
    text-align: center;
    vertical-align: middle;
    width: 40px
}

.scroll-hint-icon:after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiI+PGcgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMSIgZmlsbD0iI2ZmZiI+PHBhdGggZD0iTTEuODUgNi4wMWg4LjU1TTEwLjQgNy4xN0gxLjg1YTEuMTYgMS4xNiAwIDEgMSAwLTIuMzFoOC41NWExLjE2IDEuMTYgMCAxIDEgMCAyLjMxWiIvPjxwYXRoIGQ9Ik03LjQgMTJhMS4xNSAxLjE1IDAgMCAxLS43Mi0uMjVsLTYuMjUtNUExLjIgMS4yIDAgMCAxIDAgNS44NyAxLjE0IDEuMTQgMCAwIDEgLjQ2IDVMNi43LjIzYTEuMTYgMS4xNiAwIDAgMSAxLjQgMS44NUwzIDUuOTEgOC4xMiAxMGExLjE2IDEuMTYgMCAwIDEtLjcyIDJaTTMxLjQ1IDYuMDFoLTguNTZNMzEuNDUgNy4xN2gtOC41NmExLjE2IDEuMTYgMCAxIDEgMC0yLjMxaDguNTZhMS4xNiAxLjE2IDAgMCAxIDAgMi4zMVoiLz48cGF0aCBkPSJNMjUuOSAxMmExLjE4IDEuMTggMCAwIDEtLjkxLS40MyAxLjE3IDEuMTcgMCAwIDEgLjE4LTEuNTdsNS4wOS00LjA1LTUuMDYtMy44N0ExLjE2IDEuMTYgMCAwIDEgMjYuNTkuMjNMMzIuODQgNWExLjE2IDEuMTYgMCAwIDEgLjQ1LjkxIDEuMTQgMS4xNCAwIDAgMS0uNDMuOTJsLTYuMjQgNWExLjE3IDEuMTcgMCAwIDEtLjcyLjE3WiIvPjwvZz48L2c+PC9zdmc+);
    background-repeat: no-repeat;
    content: "";
    display: block;
    height: 14px;
    left: 50%;
    margin-left: -20px;
    opacity: 0;
    position: absolute;
    top: 10px;
    -webkit-transition-delay: 2.4s;
    transition-delay: 2.4s;
    width: 34px
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
    opacity: 1
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
    -webkit-animation: scroll-hint-appear 1.2s linear;
    animation: scroll-hint-appear 1.2s linear;
    -webkit-animation-iteration-count: 2;
    animation-iteration-count: 2
}

.scroll-hint-icon-white {
    background-color: #fff;
    -webkit-box-shadow: 0 4px 5px rgba(0,0,0,.4);
    box-shadow: 0 4px 5px rgba(0,0,0,.4)
}

.scroll-hint-icon-white:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiI+PGcgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PHBhdGggZD0iTTIxLjMzIDMwLjUySDcuODVBMS41NSAxLjU1IDAgMCAxIDYuMyAyOWExMi40NiAxMi40NiAwIDAgMC0uNjMtNC40MiAyNS4xNiAyNS4xNiAwIDAgMC00LjI1LTVsLS4wNi0uMDZBNSA1IDAgMCAxIDAgMTUuODZhMy42NCAzLjY0IDAgMCAxIDEuMTctMi42MiAzLjYzIDMuNjMgMCAwIDEgNS4xNC4wN1YzLjc3YTMuNzcgMy43NyAwIDEgMSA3LjU0IDB2NC41NmEzLjM1IDMuMzUgMCAwIDEgMS4yNiAwIDMgMyAwIDAgMSAyIDEuMjIgMy41IDMuNSAwIDAgMSAyLS4wNiAzLjIxIDMuMjEgMCAwIDEgMiAxLjU0IDMuNzQgMy43NCAwIDAgMSAzIC40NyA0LjIxIDQuMjEgMCAwIDEgMS42MyAzLjV2LjQ2YTE5LjI2IDE5LjI2IDAgMCAxLS44NCA3Yy0uMTQuMzgtLjM2LjgxLS41NiAxLjIybC0uMTEuMjJjMCAuMDctLjA5LjE0LS4xNC4yMWE3LjEzIDcuMTMgMCAwIDAtMS4xNyAyLjE3Yy0uMDYuNTYtLjA2IDIuMTUtLjA1IDIuNzFhMS41NSAxLjU1IDAgMCAxLTEuNTQgMS41M1pNOC42MSAyOC4yMWgxMmMwLS43MSAwLTEuNzEuMDctMi4yM2E4Ljc0IDguNzQgMCAwIDEgMS41OS0zLjI1bC4wNi0uMTJhMTAgMTAgMCAwIDAgLjQ2LTEgMTYuOCAxNi44IDAgMCAwIC43LTYuMTJ2LS41NGEyIDIgMCAwIDAtLjY0LTEuNTIgMS4zMyAxLjMzIDAgMCAwLTEuNTUuMDggMS4xMyAxLjEzIDAgMCAxLTEuMTguMjggMS4xNSAxLjE1IDAgMCAxLS43OC0uOTQgMS4yNiAxLjI2IDAgMCAwLS43NS0xLjExIDEgMSAwIDAgMC0xLjExLjI4bC0uMS4xYTEuMTUgMS4xNSAwIDAgMS0xLjE5LjI5IDEuMTYgMS4xNiAwIDAgMS0uNzgtLjk1Yy0uMDktLjY4LS4yMS0uNzctLjctLjg3YS44Mi44MiAwIDAgMC0xIC40OCAxLjE2IDEuMTYgMCAwIDEtMi4xNi0uNThWMy43N2ExLjQ2IDEuNDYgMCAxIDAtMi45MiAwdjEyLjE4YTEuMTcgMS4xNyAwIDAgMS0uODMgMS4xMSAxLjE1IDEuMTUgMCAwIDEtMS4yLS4zNWwtMS0uOTFjLS40Ny0uNDItLjczLS42Ni0uODQtLjc3YTEuMzUgMS4zNSAwIDAgMC0yLS4xMkwyLjcgMTVhMS4zMiAxLjMyIDAgMCAwLS4zOSAxQTIuNTcgMi41NyAwIDAgMCAzIDE3Ljg1YTI3LjI0IDI3LjI0IDAgMCAxIDQuNyA1LjYyIDEyLjYzIDEyLjYzIDAgMCAxIC45MSA0Ljc0Wm0xNC41OS00Ljg2Wk02LjUxIDE2LjU5WiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMSIvPjwvZz48L3N2Zz4=)
}

.scroll-hint-icon-white:after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiI+PGcgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMSI+PHBhdGggZD0iTTEuODUgNi4wMWg4LjU1TTEwLjQgNy4xN0gxLjg1YTEuMTYgMS4xNiAwIDEgMSAwLTIuMzFoOC41NWExLjE2IDEuMTYgMCAxIDEgMCAyLjMxWiIvPjxwYXRoIGQ9Ik03LjQgMTJhMS4xNSAxLjE1IDAgMCAxLS43Mi0uMjVsLTYuMjUtNUExLjIgMS4yIDAgMCAxIDAgNS44NyAxLjE0IDEuMTQgMCAwIDEgLjQ2IDVMNi43LjIzYTEuMTYgMS4xNiAwIDAgMSAxLjQgMS44NUwzIDUuOTEgOC4xMiAxMGExLjE2IDEuMTYgMCAwIDEtLjcyIDJaTTMxLjQ1IDYuMDFoLTguNTZNMzEuNDUgNy4xN2gtOC41NmExLjE2IDEuMTYgMCAxIDEgMC0yLjMxaDguNTZhMS4xNiAxLjE2IDAgMCAxIDAgMi4zMVoiLz48cGF0aCBkPSJNMjUuOSAxMmExLjE4IDEuMTggMCAwIDEtLjkxLS40MyAxLjE3IDEuMTcgMCAwIDEgLjE4LTEuNTdsNS4wOS00LjA1LTUuMDYtMy44N0ExLjE2IDEuMTYgMCAwIDEgMjYuNTkuMjNMMzIuODQgNWExLjE2IDEuMTYgMCAwIDEgLjQ1LjkxIDEuMTQgMS4xNCAwIDAgMS0uNDMuOTJsLTYuMjQgNWExLjE3IDEuMTcgMCAwIDEtLjcyLjE3WiIvPjwvZz48L2c+PC9zdmc+)
}

.scroll-hint-icon-white .scroll-hint-text {
    color: #000
}

/*!
 * Luminous v2.3.5
 * Copyright 2015-2021, Zebrafish Labs
 * Licensed under BSD-2 (https://github.com/imgix/luminous/blob/main/LICENSE.md)
 */
@keyframes a {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes b {
    0% {
        opacity: 0;
        transform: scale(.5)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes c {
    0% {
        transform: translate(-50%,-50%) rotate(0)
    }

    50% {
        transform: translate(-50%,-50%) rotate(-180deg)
    }

    to {
        transform: translate(-50%,-50%) rotate(-1turn)
    }
}

@keyframes d {
    0% {
        transform: scale(1)
    }

    10% {
        transform: scale(1.2) translateX(6px)
    }

    25% {
        transform: scale(1.3) translateX(8px)
    }

    40% {
        transform: scale(1.2) translateX(6px)
    }

    50% {
        transform: scale(1)
    }

    60% {
        transform: scale(.8) translateX(6px)
    }

    75% {
        transform: scale(.7) translateX(8px)
    }

    90% {
        transform: scale(.8) translateX(6px)
    }

    to {
        transform: scale(1)
    }
}

@keyframes e {
    0% {
        transform: scale(1)
    }

    10% {
        transform: scale(1.2) translateX(-6px)
    }

    25% {
        transform: scale(1.3) translateX(-8px)
    }

    40% {
        transform: scale(1.2) translateX(-6px)
    }

    50% {
        transform: scale(1)
    }

    60% {
        transform: scale(.8) translateX(-6px)
    }

    75% {
        transform: scale(.7) translateX(-8px)
    }

    90% {
        transform: scale(.8) translateX(-6px)
    }

    to {
        transform: scale(1)
    }
}

.lum-lightbox {
    background: rgba(0,0,0,.6)
}

.lum-lightbox-inner {
    bottom: 2.5%;
    left: 2.5%;
    right: 2.5%;
    top: 2.5%
}

.lum-lightbox-inner img {
    position: relative
}

.lum-lightbox-inner .lum-lightbox-caption {
    color: #fff;
    margin: 0 auto;
    max-width: 700px;
    text-align: center
}

.lum-loading .lum-lightbox-loader {
    animation: c 1.8s linear infinite;
    display: block;
    height: 20px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 66px
}

.lum-lightbox-loader:after,.lum-lightbox-loader:before {
    background: hsla(0,0%,100%,.9);
    border-radius: 20px;
    content: "";
    display: block;
    height: 20px;
    margin-top: -10px;
    position: absolute;
    top: 50%;
    width: 20px
}

.lum-lightbox-loader:before {
    animation: d 1.8s linear infinite;
    left: 0
}

.lum-lightbox-loader:after {
    animation: e 1.8s linear infinite;
    animation-delay: -.9s;
    right: 0
}

.lum-lightbox.lum-opening {
    animation: a .18s ease-out
}

.lum-lightbox.lum-opening .lum-lightbox-inner {
    animation: b .18s ease-out
}

.lum-lightbox.lum-closing {
    animation: a .3s ease-in;
    animation-direction: reverse
}

.lum-lightbox.lum-closing .lum-lightbox-inner {
    animation: b .3s ease-in;
    animation-direction: reverse
}

.lum-img {
    transition: opacity .12s ease-out
}

.lum-loading .lum-img {
    opacity: 0
}

.lum-gallery-button {
    background: transparent;
    border: 0;
    cursor: pointer;
    height: 100px;
    margin: 0;
    max-height: 100%;
    outline: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    text-indent: 150%;
    top: 50%;
    transform: translateY(-50%);
    white-space: nowrap;
    width: 60px
}

.lum-close-button {
    height: 32px;
    opacity: .3;
    position: absolute;
    right: 5px;
    top: 5px;
    width: 32px
}

.lum-close-button:hover {
    opacity: 1
}

.lum-close-button:after,.lum-close-button:before {
    background-color: #fff;
    content: " ";
    height: 33px;
    left: 15px;
    position: absolute;
    width: 2px
}

.lum-close-button:before {
    transform: rotate(45deg)
}

.lum-close-button:after {
    transform: rotate(-45deg)
}

.lum-previous-button {
    left: 12px
}

.lum-next-button {
    right: 12px
}

.lum-gallery-button:after {
    border-top: 4px solid hsla(0,0%,100%,.8);
    content: "";
    display: block;
    height: 36px;
    position: absolute;
    top: 50%;
    width: 36px
}

.lum-previous-button:after {
    border-left: 4px solid hsla(0,0%,100%,.8);
    border-radius: 3px 0 0;
    box-shadow: -2px 0 rgba(0,0,0,.2);
    left: 12%;
    transform: translateY(-50%) rotate(-45deg)
}

.lum-next-button:after {
    border-radius: 0 3px 0 0;
    border-right: 4px solid hsla(0,0%,100%,.8);
    box-shadow: 2px 0 rgba(0,0,0,.2);
    right: 12%;
    transform: translateY(-50%) rotate(45deg)
}

@media(max-width: 460px) {
    .lum-lightbox-image-wrapper {
        -webkit-overflow-scrolling:touch;
        display: flex;
        overflow: auto
    }

    .lum-lightbox-caption {
        bottom: 0;
        position: absolute;
        width: 100%
    }

    .lum-lightbox-position-helper {
        margin: auto
    }

    .lum-lightbox-inner img {
        max-height: none;
        max-width: none
    }
}

@charset "UTF-8";/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    word-break: normal
}

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

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

* {
    margin: 0;
    padding: 0
}

hr {
    color: inherit;
    height: 0;
    overflow: visible
}

details,main {
    display: block
}

summary {
    display: list-item
}

small {
    font-size: 80%
}

[hidden] {
    display: none
}

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

a {
    background-color: transparent
}

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

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

pre {
    font-size: 1em
}

b,strong {
    font-weight: bolder
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    border-color: inherit;
    text-indent: 0
}

input {
    border-radius: 0
}

[disabled] {
    cursor: default
}

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

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

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

textarea {
    overflow: auto;
    resize: vertical
}

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

optgroup {
    font-weight: 700
}

button {
    overflow: visible
}

button,select {
    text-transform: none
}

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

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

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

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

button,input,select,textarea {
    background-color: transparent;
    border-style: none
}

a:focus,button:focus,input:focus,select:focus,textarea:focus {
    outline-width: 0
}

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

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

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

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

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

img {
    border-style: none
}

progress {
    vertical-align: baseline
}

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

[aria-controls] {
    cursor: pointer
}

[aria-disabled=true] {
    cursor: default
}

html {
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%
}

body {
    background-color: #fff;
    color: #000;
    font-family: Noto Serif JP,游明朝,Yu Mincho,yumincho,Hiragino Mincho ProN,hgs明朝e,メイリオ,meiryo,serif;
    font-size: 14px;
    height: 100%;
    letter-spacing: 0;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    text-align: left;
    width: 100%
}

@media screen and (min-width: 768px) {
    body {
        line-height:1.8
    }
}

body img {
    height: auto;
    max-width: 100%
}

body.no-scroll {
    overflow: hidden
}

@media screen and (min-width: 1200px) {
    body.no-scroll {
        overflow:initial
    }
}

body .js-parallax-wrap {
    aspect-ratio: 375/480;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: 1
}

@media screen and (min-width: 554px) {
    body .js-parallax-wrap {
        aspect-ratio:1920/760;
        min-height: 260px
    }
}

@media screen and (min-width: 768px) {
    body .js-parallax-wrap {
        min-height:360px
    }

    body .js-parallax-wrap--min {
        aspect-ratio: 1920/640
    }
}

body .js-parallax-wrap .js-parallax {
    height: 126%;
    max-width: none;
    position: absolute;
    width: 100%
}

body .js-parallax-wrap img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    width: 100%
}

body .js-fadeIn {
    opacity: 0;
    -webkit-transform: translateY(40px);
    transform: translateY(40px);
    -webkit-transition: opacity 1s ease .2s,-webkit-transform .6s ease .2s;
    transition: opacity 1s ease .2s,-webkit-transform .6s ease .2s;
    transition: transform .6s ease .2s,opacity 1s ease .2s;
    transition: transform .6s ease .2s,opacity 1s ease .2s,-webkit-transform .6s ease .2s
}

body .js-fadeIn.is-active {
    opacity: 1;
    -webkit-transform: translate(0);
    transform: translate(0)
}

:root body,_:input-placeholder {
    font-family: Meiryo,メイリオ,sans-serif
}

img {
    vertical-align: bottom
}

table {
    border-collapse: collapse
}

a {
    color: #000;
    cursor: pointer;
    text-decoration: none;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media(hover) {
    a:hover {
        -webkit-transition:all .3s ease;
        transition: all .3s ease
    }
}

li,ul {
    list-style-type: none
}

::-moz-selection {
    background-color: #0c4a26;
    color: #000;
    text-shadow: none
}

::selection {
    background-color: #0c4a26;
    color: #000;
    text-shadow: none
}

.legacy-ie {
    background: #eee;
    left: 0;
    padding: 100px 0;
    position: absolute;
    text-align: center;
    top: 0;
    width: 100%;
    z-index: 10000
}

.legacy-ie a {
    text-decoration: none
}

.noscript {
    left: 0;
    padding: 100px 0;
    position: absolute;
    text-align: center;
    top: 0;
    width: 100%;
    z-index: 10000
}

html.pum-open.pum-open-overlay.pum-open-scrollable body>:not([aria-modal=true]) {
    padding-right: 0!important
}

html.pum-open.pum-open-overlay {
    overflow: auto!important
}

.l-main {
    padding-top: clamp(64px,8.064516129vw,80px)
}

@media screen and (min-width: 768px) {
    .l-main {
        padding-top:clamp(80px,10vw,120px)
    }
}

.l-page {
    background: #fff;
    padding-bottom: 72px;
    padding-top: 64px
}

@media screen and (min-width: 768px) {
    .l-page {
        padding-bottom:clamp(72px,8.5vw,136px);
        padding-top: clamp(64px,6.25vw,100px)
    }
}

.l-page .l-page__header {
    padding-left: 6.4vw;
    padding-right: 6.4vw
}

@media screen and (min-width: 768px) {
    .l-page .l-page__header {
        padding-left:clamp(40px,4vw,48px);
        padding-right: clamp(40px,4vw,48px)
    }
}

.l-page .l-page__breadcrumb {
    margin-right: -6.4vw;
    margin-top: 64px;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap
}

@media screen and (min-width: 768px) {
    .l-page .l-page__breadcrumb {
        margin-right:clamp(-48px,-4vw,-40px);
        margin-top: 32px
    }
}

.l-page .l-page__container {
    margin-top: 24px
}

.l-page .l-page__container--line {
    border-top: 1px solid #b5bbb3;
    padding-top: 48px
}

@media screen and (min-width: 768px) {
    .l-page .l-page__container--line {
        padding-top:clamp(48px,6vw,96px)
    }
}

.l-page .l-page__mainview {
    width: 100%
}

.l-page .l-page__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column
}

@media screen and (min-width: 992px) {
    .l-page .l-page__row {
        -webkit-box-orient:horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        gap: clamp(32px,5.3333333333vw,64px)
    }
}

.l-page .l-page__row--reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
}

@media screen and (min-width: 992px) {
    .l-page .l-page__row--reverse {
        -webkit-box-orient:horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }

    .l-page .l-page__aside {
        -ms-flex-negative: 0;
        flex-shrink: 0;
        width: 256px
    }

    .l-page .l-page__main {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        -ms-flex-negative: 1;
        flex-grow: 1;
        flex-shrink: 1
    }
}

.l-header {
    left: 0;
    opacity: 1;
    position: fixed;
    top: 0;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;
    width: 100%;
    z-index: 100
}

.l-header.is-scroll {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}

.l-header.is-scroll.is-show {
    opacity: 1
}

.l-header.is-open,.l-header.is-scroll.is-show {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.l-header.is-open {
    position: fixed
}

.l-header.is-open .l-header__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    opacity: 1;
    overflow-y: auto;
    visibility: visible
}

@media screen and (min-width: 1200px) {
    .l-header.is-open .l-header__nav {
        overflow-y:initial
    }
}

.l-header.is-open .l-header__nav .nav__block {
    opacity: 1
}

.l-header.is-open .l-header__drawer-bg {
    opacity: 1;
    visibility: visible
}

.l-header__inner {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: center;
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: clamp(64px,8.064516129vw,80px);
    justify-content: space-between;
    margin: 0 auto;
    padding: 0 4vw;
    position: relative
}

@media screen and (min-width: 768px) {
    .l-header__inner {
        -webkit-box-pack:end;
        -ms-flex-pack: end;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        gap: clamp(16px,2.6666666667vw,32px);
        height: clamp(80px,10vw,120px);
        justify-content: flex-end;
        padding: 0 40px
    }
}

@media screen and (min-width: 1200px) {
    .l-header__inner {
        -webkit-box-pack:start;
        -ms-flex-pack: start;
        gap: initial;
        justify-content: flex-start;
        padding: 0 clamp(32px,2.5vw,48px)
    }
}

@media screen and (min-width: 768px) {
    .l-header__logo {
        margin-right:auto
    }
}

@media screen and (min-width: 1200px) {
    .l-header__logo {
        margin-right:0
    }
}

.l-header__logo a {
    display: grid
}

.l-header__logo .logo-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 11px
}

@media screen and (min-width: 768px) {
    .l-header__logo .logo-text {
        font-size:clamp(10px,1.2096774194vw,12px)
    }
}

@media screen and (min-width: 1200px) {
    .l-header__logo .logo-text {
        font-size:clamp(11px,.75vw,12px);
        max-width: clamp(160px,21.625vw,346px)
    }
}

@media screen and (min-width: 1600px) {
    .l-header__logo .logo-text {
        max-width:364px
    }
}

.l-header__logo .logo-text>span {
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.l-header__logo .logo-img {
    display: grid;
    margin-top: 3px;
    width: 196px
}

@media screen and (min-width: 768px) {
    .l-header__logo .logo-img {
        margin-top:8px;
        width: clamp(196px,26.6129032258vw,264px)
    }
}

@media screen and (min-width: 1200px) {
    .l-header__logo .logo-img {
        width:clamp(258px,21.625vw,346px)
    }
}

.l-header__logo .logo-img img {
    width: 100%
}

.l-header__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    background: #ecf3ea;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100svh;
    opacity: 0;
    overflow-y: auto;
    padding: 64px 0;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    visibility: hidden;
    width: 100%;
    width: 320px;
    z-index: 10
}

@media screen and (min-width: 768px) {
    .l-header__nav {
        -ms-flex-negative:0;
        flex-shrink: 0;
        padding: clamp(64px,10vw,120px) 0
    }
}

@media screen and (min-width: 1200px) {
    .l-header__nav {
        background:none;
        display: block;
        height: auto;
        margin-left: auto;
        opacity: 1;
        overflow-y: initial;
        padding: 0;
        position: static;
        visibility: visible;
        width: auto
    }
}

.l-header__nav .nav__block {
    opacity: 0;
    padding: 0 32px
}

@media screen and (min-width: 1200px) {
    .l-header__nav .nav__block {
        -webkit-box-align:center;
        -ms-flex-align: center;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-content: flex-end;
        margin: 0;
        opacity: 1;
        padding: 0
    }

    .l-header__nav .nav__block>:last-child {
        padding-right: 0!important
    }
}

.l-header__nav .nav__block .nav-item {
    cursor: pointer;
    list-style: none;
    padding: 8px 0
}

@media screen and (min-width: 1200px) {
    .l-header__nav .nav__block .nav-item {
        letter-spacing:inherit;
        padding: 0 clamp(8px,.9375vw,18px)
    }

    .l-header__nav .nav__block .nav-item .hide-responsive {
        display: none
    }
}

@media screen and (min-width: 1366px) {
    .l-header__nav .nav__block .nav-item .hide-responsive {
        display:inline
    }
}

@media screen and (min-width: 1600px) {
    .l-header__nav .nav__block .nav-item .hide-responsive {
        display:inline
    }
}

.l-header__nav .nav__block .nav-item a,.l-header__nav .nav__block .nav-item span {
    display: inline-block
}

.l-header__nav .nav__block .nav-item a {
    position: relative
}

.l-header__nav .nav__block .nav-item a:after {
    background: #000;
    bottom: -2px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
    width: 100%
}

@media(hover) {
    .l-header__nav .nav__block .nav-item a:hover:after {
        -webkit-transform:scaleX(1);
        transform: scaleX(1);
        -webkit-transform-origin: 0 50%;
        transform-origin: 0 50%
    }
}

.l-header__nav .nav__block .nav-item--pickup {
    border-bottom: 1px solid #b5bbb3;
    margin-top: 24px
}

.l-header__nav .nav__block .nav-item--pickup a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    position: relative
}

.l-header__nav .nav__block .nav-item--pickup a:after {
    content: none
}

.l-header__nav .nav__block .nav-item--pickup a .arrow {
    background-color: #0c4a26;
    border-radius: 50%;
    height: 18px;
    position: relative;
    width: 18px
}

.l-header__nav .nav__block .nav-item--pickup a .arrow:before {
    border-color: transparent transparent transparent #fff;
    border-style: solid;
    border-width: 3px 0 3px 4px;
    bottom: 0;
    content: "";
    display: block;
    height: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 0
}

@media(hover) {
    .l-header__nav .nav__block .nav-item--pickup a:hover .arrow:before {
        -webkit-transform:translateX(2px);
        transform: translateX(2px)
    }
}

.l-header__nav .nav__block .nav-item--pickup .pickup-text {
    font-size: 11px;
    margin-top: 6px
}

.l-header__nav .nav__block--cta {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
}

.l-header__nav .nav__block--cta .l-header__button {
    width: 100%
}

.l-header__nav .nav__block--cta .l-header__button a {
    height: 56px;
    width: 100%
}

.l-header__nav .nav__block--cta .l-header__button .text {
    font-size: 16px
}

.l-header__nav .nav__block--cta .l-header__text {
    font-size: 11px;
    margin-top: 2px;
    text-align: center
}

.l-header__nav .nav__block--top {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    display: grid;
    font-size: 14px;
    gap: 0 16px;
    grid-template-columns: 1fr 1fr;
    order: 3;
    padding-top: 20px;
    position: relative
}

@media screen and (min-width: 1200px) {
    .l-header__nav .nav__block--top {
        display:-webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 12px;
        gap: 0;
        margin-top: 0;
        padding-top: 0
    }
}

.l-header__nav .nav__block--top .nav-item {
    position: relative
}

@media screen and (min-width: 1200px) {
    .l-header__nav .nav__block--top .nav-item+.nav-item:before {
        background-color:#b5bbb3;
        bottom: 0;
        content: "";
        display: inline-block;
        height: 13px;
        left: 0;
        margin: auto;
        position: absolute;
        top: 0;
        width: 1px
    }
}

.l-header__nav .nav__block--top .l-header__button {
    padding: 16px 0
}

@media screen and (min-width: 1200px) {
    .l-header__nav .nav__block--top .l-header__button {
        margin-left:24px;
        padding: inherit
    }
}

.l-header__nav .nav__block--bottom {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    font-size: 16px;
    order: 2;
    position: relative
}

@media screen and (min-width: 1200px) {
    .l-header__nav .nav__block--bottom {
        font-size:clamp(13px,.875vw,14px);
        margin-top: 4px
    }
}

.l-header__nav .nav-parent>span {
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media screen and (min-width: 1200px) {
    .l-header__nav .nav-parent>span:after {
        background:url(../img/arrow_bottom.svg) no-repeat 50%/contain;
        content: "";
        display: inline-block;
        height: 18px;
        margin-left: 8px;
        vertical-align: text-bottom;
        width: 10px
    }
}

@media(hover) {
    .l-header__nav .nav-parent>span:hover {
        color:#b5bbb3;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }

    .l-header__nav .nav-parent:hover .nav-child {
        opacity: 1;
        visibility: visible
    }
}

@media screen and (min-width: 1200px) {
    .l-header__nav .nav-child {
        background-color:#fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 48px;
        left: 0;
        opacity: 0;
        overflow: hidden;
        padding: 24px clamp(40px,5.625vw,108px) clamp(40px,3.3333333333vw,64px) clamp(40px,4.1666666667vw,80px);
        position: absolute;
        top: 100%;
        -webkit-transition: all .3s;
        transition: all .3s;
        visibility: hidden;
        width: calc(100% + clamp(32px,2.5vw,48px))
    }
}

@media screen and (min-width: 1600px) {
    .l-header__nav .nav-child {
        gap:clamp(48px,4.1666666667vw,80px)
    }
}

.l-header__nav .nav-child__head {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #a29f74;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    font-weight: 400;
    gap: 8px;
    margin-bottom: 8px;
    margin-top: 24px
}

@media screen and (min-width: 1200px) {
    .l-header__nav .nav-child__head {
        display:block;
        margin-bottom: 0;
        margin-top: 0;
        min-width: clamp(200px,13.75vw,220px)
    }
}

.l-header__nav .nav-child__head:before {
    background-color: #a29f74;
    content: "";
    display: block;
    height: 1px;
    width: 24px
}

@media screen and (min-width: 768px) {
    .l-header__nav .nav-child__head:before {
        content:none
    }
}

.l-header__nav .nav-child__head--second {
    margin-top: 16px
}

@media screen and (min-width: 1200px) {
    .l-header__nav .nav-child__head--second {
        margin-top:0
    }
}

.l-header__nav .nav-child__sub {
    font-size: 11px;
    margin-top: 4px
}

.l-header__nav .nav-child__inner {
    margin-top: 10px
}

@media screen and (min-width: 1200px) {
    .l-header__nav .nav-child__inner {
        display:grid;
        gap: clamp(24px,1.6666666667vw,32px) clamp(24px,3.75vw,72px);
        grid-template-columns: 1fr 1fr;
        margin-top: 0
    }
}

.l-header__nav .nav-child__inner li {
    border-bottom: 1px solid #b5bbb3;
    font-size: 14px
}

@media screen and (min-width: 1200px) {
    .l-header__nav .nav-child__inner li {
        border-bottom:none;
        font-size: clamp(13px,.875vw,14px)
    }
}

.l-header__nav .nav-child__inner li>a {
    display: inline-block;
    height: 100%;
    padding: 12px 0;
    position: relative;
    width: 100%
}

@media screen and (min-width: 1200px) {
    .l-header__nav .nav-child__inner li>a {
        height:auto;
        padding: 0;
        width: auto
    }
}

@media(hover) {
    .l-header__nav .nav-child__inner li>a:hover:before {
        right:-2px
    }
}

.l-header__nav .nav-child__inner li>a:before {
    background: url(../img/arrow_bottom.svg) no-repeat 50%/contain;
    bottom: 0;
    content: "";
    display: inline-block;
    height: 18px;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    vertical-align: text-bottom;
    width: 10px
}

@media screen and (min-width: 1200px) {
    .l-header__nav .nav-child__inner li>a:before {
        content:none
    }
}

.l-header__nav .nav-child__inner li>a:after {
    content: none!important
}

@media screen and (min-width: 1200px) {
    .l-header__nav .nav-child__inner li>a:after {
        content:""!important
    }
}

.l-header__nav .nav-child__inner li span {
    display: inline-block
}

.l-header__tel {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 16px 0
}

@media screen and (min-width: 1200px) {
    .l-header__tel {
        margin-left:40px;
        padding: inherit
    }
}

.l-header__tel a {
    display: inline-block;
    font-size: clamp(16px,2vw,24px);
    letter-spacing: .01em
}

@media screen and (min-width: 992px) {
    .l-header__tel a {
        pointer-events:none
    }
}

@media screen and (min-width: 1200px) {
    .l-header__tel a {
        font-size:24px
    }
}

.l-header__tel span {
    color: #a29f74;
    display: inline-block;
    font-size: 12px;
    margin-right: 4px;
    margin-top: 2px
}

.l-header__button a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    background-color: #ff7527;
    border-radius: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    justify-content: center;
    overflow: hidden;
    padding: 7px;
    position: relative;
    text-align: center;
    width: 150px
}

.l-header__button a:before {
    background-color: #df5304;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 0
}

@media(hover) {
    .l-header__button a:hover:before {
        width:100%
    }

    .l-header__button a:hover .arrow:before {
        -webkit-animation-delay: 0s;
        animation-delay: 0s;
        -webkit-animation-name: transformRightLeft;
        animation-name: transformRightLeft
    }

    .l-header__button a:hover .arrow:after {
        -webkit-animation-delay: .2s;
        animation-delay: .2s;
        -webkit-animation-name: transformLeftRight;
        animation-name: transformLeftRight
    }
}

.l-header__button .text {
    color: #fff;
    font-size: 12px;
    position: relative;
    z-index: 1
}

.l-header__button .arrow {
    display: block;
    height: 8px;
    overflow: hidden;
    position: relative;
    width: 16px;
    z-index: 1
}

.l-header__button .arrow:after,.l-header__button .arrow:before {
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    background: url(../img/arrow_white.svg) no-repeat 50%/contain;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%
}

.l-header__button .arrow:after {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

.l-header__cta {
    display: none
}

@media screen and (min-width: 768px) {
    .l-header__cta {
        -webkit-box-align:center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: clamp(16px,2vw,24px)
    }
}

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

.l-header__drawer-bg {
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    background-color: rgba(0,0,0,.3);
    height: 100vh;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    visibility: hidden;
    width: calc(100vw - 320px)
}

@media screen and (min-width: 1200px) {
    .l-header__drawer-bg {
        display:none
    }
}

.l-header__banner {
    margin-top: 24px
}

.l-header__banner-cta {
    grid-column: 1/3;
    margin-top: 32px
}

@media screen and (min-width: 1200px) {
    .l-header__banner-cta {
        grid-column:initial
    }
}

.l-header__banner-cta>a {
    border-radius: 10px;
    -webkit-box-shadow: 0 8px 16px 0 rgba(0,0,0,.16);
    box-shadow: 0 8px 16px 0 rgba(0,0,0,.16);
    display: inline-block;
    height: 100%;
    width: 100%
}

@media(hover) {
    .l-header__banner-cta>a:hover {
        -webkit-box-shadow:none;
        box-shadow: none
    }
}

.l-footer {
    border-top: 1px solid #b5bbb3;
    padding: 40px 0 108px
}

@media screen and (min-width: 768px) {
    .l-footer {
        padding:56px 0 72px
    }
}

.l-footer .l-footer__nav {
    display: grid;
    gap: 24px
}

@media screen and (min-width: 768px) {
    .l-footer .l-footer__nav {
        gap:clamp(32px,4.6666666667vw,56px) 32px;
        grid-template-columns: repeat(2,1fr)
    }
}

@media screen and (min-width: 1200px) {
    .l-footer .l-footer__nav {
        grid-template-columns:repeat(3,1fr)
    }
}

.l-footer .nav__block {
    border-bottom: 1px solid #b5bbb3;
    padding-bottom: 24px
}

@media screen and (min-width: 768px) {
    .l-footer .nav__block {
        padding-bottom:clamp(32px,3.5vw,56px)
    }
}

.l-footer .nav__block .nav__block-head {
    color: #a29f74;
    font-size: 14px;
    font-weight: 400
}

.l-footer .nav__block .nav__block-inner {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2,1fr);
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .l-footer .nav__block .nav__block-inner {
        gap:16px;
        margin-top: 24px
    }
}

@media screen and (min-width: 1200px) {
    .l-footer .nav__block .nav__block-inner--wide {
        grid-template-columns:220px auto
    }
}

.l-footer .nav__block .nav__block-inner--wide span {
    display: inline-block
}

.l-footer .nav__block .nav__block-inner .nav-item {
    font-size: 13px;
    line-height: 1.4
}

@media screen and (min-width: 375px) {
    .l-footer .nav__block .nav__block-inner .nav-item {
        font-size:14px
    }
}

.l-footer .nav__block .nav__block-inner .nav-item a {
    position: relative
}

.l-footer .nav__block .nav__block-inner .nav-item a:after {
    background: #000;
    bottom: -2px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
    width: 100%
}

@media(hover) {
    .l-footer .nav__block .nav__block-inner .nav-item a:hover:after {
        -webkit-transform:scaleX(1);
        transform: scaleX(1);
        -webkit-transform-origin: 0 50%;
        transform-origin: 0 50%
    }
}

.l-footer .l-footer__bottom {
    margin-top: 48px
}

@media screen and (min-width: 1200px) {
    .l-footer .l-footer__bottom {
        -webkit-box-align:center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 30px;
        margin-top: 56px
    }
}

.l-footer .l-footer__bottom .bottom-logo {
    display: block;
    margin: auto;
    max-width: 300px;
    width: 85%
}

@media screen and (min-width: 1200px) {
    .l-footer .l-footer__bottom .bottom-logo {
        margin:initial;
        max-width: none;
        width: clamp(300px,23.75vw,380px)
    }
}

.l-footer .l-footer__bottom .bottom-logo img {
    width: 100%
}

.l-footer .l-footer__bottom .bottom-info {
    line-height: 1.6;
    margin-top: 24px
}

@media screen and (min-width: 1200px) {
    .l-footer .l-footer__bottom .bottom-info {
        margin-top:0
    }
}

.l-footer .l-footer__bottom .bottom-info .tel {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center
}

@media screen and (min-width: 1200px) {
    .l-footer .l-footer__bottom .bottom-info .tel {
        -webkit-box-pack:initial;
        -ms-flex-pack: initial;
        justify-content: normal
    }
}

.l-footer .l-footer__bottom .bottom-info .tel span {
    color: #a29f74;
    display: inline-block
}

.l-footer .l-footer__bottom .bottom-info .tel a {
    display: inline-block;
    font-size: 32px;
    letter-spacing: .05em;
    margin-left: 8px
}

@media screen and (min-width: 992px) {
    .l-footer .l-footer__bottom .bottom-info .tel a {
        pointer-events:none
    }
}

.l-footer .l-footer__bottom .bottom-info .address,.l-footer .l-footer__bottom .bottom-info .note {
    font-size: 12px;
    text-align: center
}

@media screen and (min-width: 1200px) {
    .l-footer .l-footer__bottom .bottom-info .address,.l-footer .l-footer__bottom .bottom-info .note {
        text-align:left
    }
}

.l-footer .l-footer__bottom .bottom-link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    margin-top: 40px
}

@media screen and (min-width: 1200px) {
    .l-footer .l-footer__bottom .bottom-link {
        margin-left:auto;
        margin-top: 0
    }
}

.l-footer .l-footer__bottom .bottom-link .item {
    font-size: 12px;
    padding-right: 32px
}

.l-footer .l-footer__bottom .bottom-link .item a {
    position: relative
}

.l-footer .l-footer__bottom .bottom-link .item a:after {
    background: #000;
    bottom: -2px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
    width: 100%
}

@media(hover) {
    .l-footer .l-footer__bottom .bottom-link .item a:hover:after {
        -webkit-transform:scaleX(1);
        transform: scaleX(1);
        -webkit-transform-origin: 0 50%;
        transform-origin: 0 50%
    }
}

.l-footer .l-footer__bottom .bottom-link .item+.item {
    padding-left: 32px;
    padding-right: 0;
    position: relative
}

.l-footer .l-footer__bottom .bottom-link .item+.item:before {
    background-color: #b5bbb3;
    bottom: 0;
    content: "";
    display: inline-block;
    height: 13px;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    width: 1px
}

.l-footer .copyright {
    font-size: 12px;
    margin-top: 40px;
    text-align: center
}

@media screen and (min-width: 1200px) {
    .l-footer .copyright {
        margin-top:-20px;
        text-align: right
    }
}

.l-footer .l-footer__float-cta {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    bottom: 0;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    left: 0;
    opacity: 0;
    overflow: hidden;
    position: fixed;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    visibility: hidden;
    width: 100%;
    z-index: 20
}

@media screen and (min-width: 768px) {
    .l-footer .l-footer__float-cta {
        display:none
    }
}

.l-footer .l-footer__float-cta.is-active {
    opacity: 1;
    visibility: visible
}

.l-footer .l-footer__float-cta .cta-item a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5px;
    height: 68px;
    justify-content: center;
    padding: 8px
}

.l-footer .l-footer__float-cta .cta-item--fair {
    background-color: #ff7527
}

.l-footer .l-footer__float-cta .cta-item--request {
    background-color: #a29f74
}

.l-footer .l-footer__float-cta .cta-item--tel {
    background-color: #23352b
}

.l-footer .l-footer__float-cta .cta-item__en {
    color: #fff;
    display: block;
    font-size: 12px
}

.l-footer .l-footer__float-cta .cta-item__ja {
    color: #fff;
    display: block;
    font-size: 16px
}

@media screen and (min-width: 768px) {
    .l-footer .l-footer__banner-cta {
        bottom:clamp(24px,3.3333333333vw,40px);
        opacity: 0;
        position: fixed;
        right: clamp(24px,3.3333333333vw,40px);
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
        visibility: hidden;
        z-index: 20
    }

    .l-footer .l-footer__banner-cta .close-button {
        background: url(../img/icon_close.svg) no-repeat 50%/contain;
        display: block;
        height: 24px;
        left: -8px;
        position: absolute;
        top: -8px;
        width: 24px;
        z-index: 21
    }
}

.l-footer .l-footer__banner-cta>a {
    border-radius: 10px;
    -webkit-box-shadow: 0 8px 16px 0 rgba(0,0,0,.16);
    box-shadow: 0 8px 16px 0 rgba(0,0,0,.16);
    display: inline-block;
    height: 100%;
    width: 100%
}

@media(hover) {
    .l-footer .l-footer__banner-cta>a:hover {
        -webkit-box-shadow:none;
        box-shadow: none
    }
}

@media screen and (min-width: 768px) {
    .l-footer .l-footer__banner-cta.is-active {
        opacity:1;
        visibility: visible
    }

    .l-footer .l-footer__banner-cta.is-close {
        opacity: 0;
        visibility: hidden
    }
}

.p-section-cta {
    background-color: #e2ece0;
    overflow: hidden;
    padding-bottom: 40px;
    padding-top: 40px
}

@media screen and (min-width: 768px) {
    .p-section-cta {
        padding-bottom:56px;
        padding-top: 56px
    }
}

.p-section-cta .cta-button {
    display: grid;
    gap: 16px
}

@media screen and (min-width: 768px) {
    .p-section-cta .cta-button {
        gap:20px;
        grid-template-columns: repeat(3,1fr)
    }
}

.p-section-cta .cta-button a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: center;
    background-color: #0c4a26;
    border-radius: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    height: 126px;
    justify-content: space-between;
    overflow: hidden;
    padding: 24px 32px;
    position: relative
}

@media screen and (min-width: 768px) {
    .p-section-cta .cta-button a {
        -webkit-box-orient:vertical;
        -webkit-box-direction: normal;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -ms-flex-direction: column;
        flex-direction: column;
        height: 160px;
        justify-content: center
    }
}

@media screen and (min-width: 992px) {
    .p-section-cta .cta-button a {
        -webkit-box-orient:horizontal;
        -webkit-box-direction: normal;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -ms-flex-direction: row;
        flex-direction: row;
        gap: 0;
        height: 126px;
        justify-content: space-between
    }
}

.p-section-cta .cta-button a:before {
    background-color: #23352b;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 0
}

@media(hover) {
    .p-section-cta .cta-button a:hover:before {
        width:100%
    }

    .p-section-cta .cta-button a:hover .cta-button__arrow span:before {
        -webkit-animation-delay: 0s;
        animation-delay: 0s;
        -webkit-animation-name: transformRightLeft;
        animation-name: transformRightLeft
    }

    .p-section-cta .cta-button a:hover .cta-button__arrow span:after {
        -webkit-animation-delay: .2s;
        animation-delay: .2s;
        -webkit-animation-name: transformLeftRight;
        animation-name: transformLeftRight
    }
}

.p-section-cta .cta-button .cta-button__text {
    display: grid;
    gap: 8px;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .p-section-cta .cta-button .cta-button__text {
        text-align:center
    }
}

@media screen and (min-width: 992px) {
    .p-section-cta .cta-button .cta-button__text {
        gap:4px;
        text-align: left
    }
}

.p-section-cta .cta-button .cta-button__text .text-en {
    color: #fff;
    font-family: Cormorant,Noto Serif JP,sans-serif;
    font-size: 40px;
    font-style: italic;
    font-weight: 400;
    line-height: 1.2
}

@media screen and (min-width: 554px) {
    .p-section-cta .cta-button .cta-button__text .text-en {
        margin-top:-10px
    }
}

@media screen and (min-width: 768px) {
    .p-section-cta .cta-button .cta-button__text .text-en {
        font-size:clamp(32px,4.0322580645vw,40px)
    }
}

@media screen and (min-width: 992px) {
    .p-section-cta .cta-button .cta-button__text .text-en {
        font-size:40px
    }
}

.p-section-cta .cta-button .cta-button__text .text-ja {
    color: #fff;
    font-size: 16px;
    line-height: 1.2
}

@media screen and (min-width: 768px) {
    .p-section-cta .cta-button .cta-button__text .text-ja {
        font-size:clamp(14px,1.6129032258vw,16px)
    }
}

@media screen and (min-width: 992px) {
    .p-section-cta .cta-button .cta-button__text .text-ja {
        font-size:16px;
        margin-top: 8px
    }
}

.p-section-cta .cta-button .cta-button__arrow {
    -ms-flex-negative: 0;
    border: 1px solid #a29f74;
    border-radius: 10px;
    display: grid;
    flex-shrink: 0;
    height: 32px;
    place-items: center;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 32px;
    z-index: 1
}

.p-section-cta .cta-button .cta-button__arrow span {
    display: block;
    height: 8px;
    overflow: hidden;
    position: relative;
    width: 16px
}

.p-section-cta .cta-button .cta-button__arrow span:after,.p-section-cta .cta-button .cta-button__arrow span:before {
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    background: url(../img/arrow_gold.svg) no-repeat 50%/contain;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 100%
}

.p-section-cta .cta-button .cta-button__arrow span:after {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

.p-section-cta .cta-sns {
    margin-top: 40px;
    padding-top: 40px;
    position: relative
}

@media screen and (min-width: 992px) {
    .p-section-cta .cta-sns {
        -webkit-box-align:center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: clamp(24px,2.5vw,40px);
        justify-content: center;
        margin-top: 56px;
        padding-top: 64px
    }
}

.p-section-cta .cta-sns:before {
    background-color: #b5bbb3;
    content: "";
    display: block;
    height: 1px;
    left: calc(-50vw + 50%);
    position: absolute;
    right: calc(-50vw + 50%);
    top: 0;
    width: 100vw
}

.p-section-cta .cta-sns .cta-sns__text {
    text-align: center
}

@media screen and (min-width: 992px) {
    .p-section-cta .cta-sns .cta-sns__text {
        text-align:left
    }
}

.p-section-cta .cta-sns .cta-sns__text .text-en {
    font-size: clamp(32px,3.3333333333vw,40px);
    font-weight: 400;
    line-height: 1.4
}

@media screen and (min-width: 554px) {
    .p-section-cta .cta-sns .cta-sns__text .text-en {
        margin-top:-8px
    }
}

.p-section-cta .cta-sns .cta-sns__text .text-ja {
    font-size: 16px;
    line-height: 1.4;
    margin-top: 8px
}

@media screen and (min-width: 554px) {
    .p-section-cta .cta-sns .cta-sns__text .text-ja {
        font-size:14px
    }
}

.p-section-cta .cta-sns .cta-sns__button {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 16px;
    margin-top: 24px
}

@media screen and (min-width: 554px) {
    .p-section-cta .cta-sns .cta-sns__button {
        -webkit-box-orient:horizontal;
        -webkit-box-direction: normal;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -ms-flex-direction: row;
        flex-direction: row;
        gap: clamp(24px,2.5vw,40px);
        grid-template-columns: 1fr 1fr;
        justify-content: center
    }
}

@media screen and (min-width: 992px) {
    .p-section-cta .cta-sns .cta-sns__button {
        margin-top:0
    }
}

.p-section-cta .cta-sns .cta-sns__button a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    background-color: #a29f74;
    border-radius: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    height: 68px;
    justify-content: center;
    overflow: hidden;
    position: relative;
    width: 280px
}

@media screen and (min-width: 554px) {
    .p-section-cta .cta-sns .cta-sns__button a {
        height:clamp(68px,5.375vw,86px)
    }
}

.p-section-cta .cta-sns .cta-sns__button a:before {
    background-color: #918f68;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 0
}

@media(hover) {
    .p-section-cta .cta-sns .cta-sns__button a:hover:before {
        width:100%
    }
}

.p-section-cta .cta-sns .cta-sns__button .button-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 1
}

.p-section-cta .cta-sns .cta-sns__button .button-text {
    color: #fff;
    font-size: 16px;
    z-index: 1
}

.p-section-link .link-wrap {
    display: grid
}

@media screen and (min-width: 768px) {
    .p-section-link .link-wrap {
        grid-template-columns:1fr 1fr
    }
}

.p-section-link .link-area {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: center;
    aspect-ratio: 375/187;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    padding: 24px
}

@media screen and (min-width: 768px) {
    .p-section-link .link-area {
        -webkit-box-orient:vertical;
        -webkit-box-direction: normal;
        -webkit-box-align: initial;
        -ms-flex-align: initial;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        align-items: normal;
        aspect-ratio: auto;
        -ms-flex-direction: column;
        flex-direction: column;
        height: 100%;
        justify-content: center;
        -o-object-fit: cover;
        object-fit: cover;
        padding: 40px clamp(24px,5vw,80px) clamp(64px,6.75vw,108px);
        width: 100%
    }
}

@media screen and (min-width: 1600px) {
    .p-section-link .link-area {
        padding:40px clamp(80px,8.3333333333vw,160px)
    }
}

@media(hover) {
    .p-section-link .link-area:hover .link-area__arrow:after {
        -webkit-transform:scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: 100% 50%;
        transform-origin: 100% 50%
    }

    .p-section-link .link-area:hover .link-area__arrow .arrow-icon:before {
        -webkit-animation-delay: 0s;
        animation-delay: 0s;
        -webkit-animation-name: transformRightLeft;
        animation-name: transformRightLeft
    }

    .p-section-link .link-area:hover .link-area__arrow .arrow-icon:after {
        -webkit-animation-delay: .2s;
        animation-delay: .2s;
        -webkit-animation-name: transformLeftRight;
        animation-name: transformLeftRight
    }
}

.p-section-link .link-area--gallery {
    background: url(../img/link_gallery.jpg) no-repeat 50%/cover
}

.p-section-link .link-area--report {
    background: url(../img/link_report.jpg) no-repeat 50%/cover
}

.p-section-link .link-area__text {
    color: #fff;
    z-index: 1
}

.p-section-link .link-area__text .text-en {
    font-family: Cormorant,Noto Serif JP,sans-serif;
    font-size: 46px;
    font-style: italic;
    font-weight: 400
}

@media screen and (min-width: 768px) {
    .p-section-link .link-area__text .text-en {
        font-size:clamp(40px,5.5vw,88px)
    }
}

.p-section-link .link-area__text .text-ja {
    font-size: 16px
}

@media screen and (min-width: 768px) {
    .p-section-link .link-area__text .text-ja {
        font-size:clamp(16px,2vw,32px)
    }
}

.p-section-link .link-area__arrow {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    padding: 0 0 10px;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .p-section-link .link-area__arrow {
        margin-top:auto;
        padding-top: clamp(40px,5vw,80px);
        width: 240px
    }

    .p-section-link .link-area__arrow:after {
        background: #fff;
        bottom: 0;
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
        -webkit-transform-origin: 0 50%;
        transform-origin: 0 50%;
        -webkit-transition: -webkit-transform .3s;
        transition: -webkit-transform .3s;
        transition: transform .3s;
        transition: transform .3s,-webkit-transform .3s;
        width: 100%
    }
}

.p-section-link .link-area__arrow .arrow-text {
    color: #fff
}

.p-section-link .link-area__arrow .arrow-icon {
    display: block;
    height: 12px;
    overflow: hidden;
    position: relative;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 24px;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .p-section-link .link-area__arrow .arrow-icon {
        height:8px;
        width: 16px
    }
}

.p-section-link .link-area__arrow .arrow-icon:after,.p-section-link .link-area__arrow .arrow-icon:before {
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    background: url(../img/arrow_white.svg) no-repeat 50%/contain;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 100%
}

.p-section-link .link-area__arrow .arrow-icon:after {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

.p-section-fair {
    background-color: #ecf3ea;
    border-top: 1px solid #b5bbb3;
    padding-bottom: 72px;
    padding-top: 4px
}

@media screen and (min-width: 768px) {
    .p-section-fair {
        padding-bottom:clamp(72px,7.25vw,116px);
        padding-top: clamp(4px,4.5vw,72px)
    }
}

.p-section-fair .p-section-fair__iframe iframe {
    height: 562px;
    width: 100%
}

@media screen and (min-width: 768px) {
    .p-section-fair .p-section-fair__iframe iframe {
        height:502px
    }
}

.p-section-fair.is-front {
    border-top: none
}

.p-aside .p-aside__content+.p-aside__content {
    margin-top: 56px
}

@media screen and (min-width: 992px) {
    .p-aside .p-aside__content+.p-aside__content {
        margin-top:64px
    }
}

.p-aside .p-aside__title {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 14px;
    justify-content: flex-start;
    margin-bottom: 12px
}

@media screen and (min-width: 992px) {
    .p-aside .p-aside__title {
        -webkit-box-orient:vertical;
        -webkit-box-direction: normal;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        border-bottom: 1px solid #b5bbb3;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 4px;
        margin-bottom: 24px;
        padding-bottom: 24px
    }
}

.p-aside .p-aside__title>.en {
    font-size: 24px;
    font-weight: 400
}

.p-aside .p-aside__title>.ja {
    font-size: 14px;
    font-weight: 400
}

.p-aside .p-aside__select {
    position: relative
}

.p-aside .p-aside__select:after {
    border-bottom: 1px solid #0c4a26;
    border-right: 1px solid #0c4a26;
    content: "";
    height: 6px;
    position: absolute;
    right: 18px;
    top: calc(50% - 3px);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 6px
}

.p-aside .p-aside__select select {
    border: 1px solid #000;
    border-radius: 4px;
    color: #000;
    cursor: pointer;
    font-size: 14px;
    padding: 18px;
    width: 100%
}

@media screen and (min-width: 992px) {
    .p-aside .p-aside__select select {
        padding:22px 18px
    }
}

.p-aside ol a,.p-aside ul a {
    -webkit-transition: color .3s;
    transition: color .3s
}

@media(hover) {
    .p-aside ol a:hover,.p-aside ul a:hover {
        color:#a29f74
    }
}

.p-aside ul.p-aside__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 24px
}

.p-aside ul.p-aside__list li {
    padding: 0 1em;
    position: relative
}

.p-aside ul.p-aside__list li:before {
    background-color: #a29f74;
    border-radius: 4px;
    content: "";
    height: 8px;
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 8px
}

.p-aside ol.p-aside__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 24px
}

@media screen and (min-width: 992px) {
    .p-aside--sticky {
        position:sticky;
        top: 120px
    }
}

.p-aside .yarpp-related {
    margin: -12px 0 0
}

@media screen and (min-width: 992px) {
    .p-aside .yarpp-related {
        margin-top:-24px
    }
}

.p-aside .yarpp-related a {
    font-weight: 400
}

.p-pagination {
    margin-top: 40px
}

@media screen and (min-width: 992px) {
    .p-pagination {
        margin-top:80px
    }
}

.p-pagination .p-pagination__container {
    position: relative
}

.p-pagination .p-pagination__list {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between
}

@media screen and (min-width: 768px) {
    .p-pagination .p-pagination__list {
        -webkit-box-pack:center;
        -ms-flex-pack: center;
        gap: 4px;
        justify-content: center
    }
}

@media screen and (min-width: 1200px) {
    .p-pagination .p-pagination__list {
        gap:8px
    }
}

.p-pagination .p-pagination__item {
    display: none
}

@media screen and (min-width: 768px) {
    .p-pagination .p-pagination__item {
        display:block
    }
}

.p-pagination .p-pagination__item:has(.next),.p-pagination .p-pagination__item:has(.prev) {
    display: block
}

.p-pagination .p-pagination__item:has(.next) {
    margin-left: auto
}

@media screen and (min-width: 768px) {
    .p-pagination .p-pagination__item:has(.next) {
        margin-left:0
    }
}

.p-pagination .p-pagination__item .page-numbers {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    border: 1px solid #b5bbb3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 56px;
    justify-content: center;
    letter-spacing: 0;
    -webkit-transition: all .3s;
    transition: all .3s;
    width: 56px
}

@media screen and (min-width: 1200px) {
    .p-pagination .p-pagination__item .page-numbers {
        height:86px;
        width: 86px
    }
}

@media(hover) {
    .p-pagination .p-pagination__item .page-numbers:hover {
        background-color:#0c4a26;
        color: #fff
    }
}

.p-pagination .p-pagination__item .page-numbers.current {
    background-color: #0c4a26;
    color: #fff
}

.p-pagination .p-pagination__item .page-numbers.next,.p-pagination .p-pagination__item .page-numbers.prev {
    position: relative
}

.p-pagination .p-pagination__item .page-numbers.next:after,.p-pagination .p-pagination__item .page-numbers.prev:after {
    background: url(../img/arrow_black.svg);
    content: "";
    height: 12px;
    left: calc(50% - 12px);
    position: absolute;
    top: calc(50% - 6px);
    -webkit-transition: -webkit-filter .2s;
    transition: -webkit-filter .2s;
    transition: filter .2s;
    transition: filter .2s,-webkit-filter .2s;
    width: 24px
}

@media(hover) {
    .p-pagination .p-pagination__item .page-numbers.next:hover:after,.p-pagination .p-pagination__item .page-numbers.prev:hover:after {
        background:url(../img/arrow_white.svg)
    }
}

.p-pagination .p-pagination__item .page-numbers.prev:after {
    background: url(../img/arrow_black_prev.svg)
}

@media(hover) {
    .p-pagination .p-pagination__item .page-numbers.prev:hover:after {
        background:url(../img/arrow_white_prev.svg)
    }
}

.p-pagination .p-pagination__text {
    font-size: 16px;
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    width: 88px
}

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

.p-pagination .p-pagination__text:after {
    background-color: #000;
    content: "";
    height: 48px;
    left: 70%;
    position: absolute;
    top: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 1px
}

.p-pagination .p-pagination__text .total-num {
    text-align: right
}

.p-container {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1280px;
    padding-left: 6.4vw;
    padding-right: 6.4vw;
    width: 100%
}

@media screen and (min-width: 768px) {
    .p-container {
        padding-left:40px;
        padding-right: 40px
    }
}

.p-container--xl {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1480px;
    padding-left: 6.4vw;
    padding-right: 6.4vw;
    width: 100%
}

@media screen and (min-width: 768px) {
    .p-container--xl {
        padding-left:40px;
        padding-right: 40px
    }
}

.p-container--lg {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1280px;
    padding-left: 6.4vw;
    padding-right: 6.4vw;
    width: 100%
}

@media screen and (min-width: 768px) {
    .p-container--lg {
        padding-left:40px;
        padding-right: 40px
    }
}

.p-container--md {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1040px;
    padding-left: 6.4vw;
    padding-right: 6.4vw;
    width: 100%
}

@media screen and (min-width: 768px) {
    .p-container--md {
        padding-left:40px;
        padding-right: 40px
    }
}

.p-container--sm {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 880px;
    padding-left: 6.4vw;
    padding-right: 6.4vw;
    width: 100%
}

@media screen and (min-width: 768px) {
    .p-container--sm {
        padding-left:40px;
        padding-right: 40px
    }
}

.p-container--wide {
    padding-left: 6.4vw;
    padding-right: 6.4vw
}

@media screen and (min-width: 768px) {
    .p-container--wide {
        margin:0 auto;
        max-width: 1410px;
        padding-left: max(3.3333333333vw,40px);
        padding-right: max(3.3333333333vw,40px)
    }
}

@media screen and (min-width: 1600px) {
    .p-container--wide {
        max-width:none;
        padding-left: min(8.3333333333vw,160px);
        padding-right: min(8.3333333333vw,160px)
    }
}

.p-section-title {
    position: relative;
    z-index: 1
}

.p-section-title .p-section-title__en {
    font-family: Cormorant,Noto Serif JP,sans-serif;
    font-size: 50px;
    font-style: italic;
    font-weight: 400;
    line-height: 1.4
}

@media screen and (min-width: 375px) {
    .p-section-title .p-section-title__en {
        font-size:56px
    }
}

@media screen and (min-width: 768px) {
    .p-section-title .p-section-title__en {
        font-size:clamp(56px,5.75vw,92px)
    }
}

.p-section-title .p-section-title__en--normal {
    font-style: normal;
    font-weight: 300
}

.p-section-title .p-section-title__ja {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    margin-top: clamp(8px,.75vw,12px)
}

@media screen and (min-width: 768px) {
    .p-section-title .p-section-title__ja {
        font-size:clamp(16px,2vw,32px)
    }
}

.p-section-title--white {
    color: #fff
}

@media screen and (min-width: 768px) {
    .p-section-title--center {
        text-align:center
    }
}

.p-section-title--page {
    margin-left: -8px;
    margin-right: -8px;
    text-align: center
}

@media screen and (min-width: 768px) {
    .p-section-title--page {
        margin-left:0;
        margin-right: 0
    }
}

.p-section-title--nonen .p-section-title__ja {
    font-size: 28px;
    line-height: 1.5;
    margin-top: 0
}

@media screen and (min-width: 768px) {
    .p-section-title--nonen .p-section-title__ja {
        font-size:clamp(28px,2.5vw,40px);
        margin-top: 0
    }
}

.p-breadcrumb {
    color: #b5bbb3;
    font-size: 12px;
    padding-bottom: 8px
}

@media screen and (min-width: 992px) {
    .p-breadcrumb {
        font-size:14px;
        padding-bottom: 0
    }
}

.p-breadcrumb a {
    color: #b5bbb3;
    margin: 0 8px
}

.p-breadcrumb .breadcrumb_last {
    color: #000;
    margin: 0 8px
}

.p-article-card {
    border-bottom: 1px solid #b5bbb3;
    height: 100%;
    margin: auto;
    position: relative
}

@media screen and (min-width: 768px) {
    .p-article-card {
        padding-bottom:40px
    }
}

@media screen and (min-width: 992px) {
    .p-article-card {
        padding-bottom:0
    }
}

.p-article-card:after {
    background: #000;
    bottom: -1px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
    width: 100%
}

@media(hover) {
    .p-article-card:hover:after {
        -webkit-transform:scaleX(1);
        transform: scaleX(1);
        -webkit-transform-origin: 0 50%;
        transform-origin: 0 50%
    }

    .p-article-card:hover .data-info,.p-article-card:hover .p-article-card__thumbnail,.p-article-card:hover .p-article-card__title {
        opacity: .7
    }

    .p-article-card:hover .data-link .data-link__arrow {
        background-color: #0c4a26;
        border: 1px solid #0c4a26
    }

    .p-article-card:hover .data-link .data-link__arrow span:before {
        -webkit-animation-delay: 0s;
        animation-delay: 0s;
        -webkit-animation-name: transformRightLeft;
        animation-name: transformRightLeft;
        background: url(../img/arrow_white.svg) no-repeat 50%/contain
    }

    .p-article-card:hover .data-link .data-link__arrow span:after {
        -webkit-animation-delay: .2s;
        animation-delay: .2s;
        -webkit-animation-name: transformLeftRight;
        animation-name: transformLeftRight;
        background: url(../img/arrow_white.svg) no-repeat 50%/contain
    }
}

@media screen and (min-width: 768px) {
    .p-article-card__inner {
        display:grid;
        grid-template-columns: 1fr 1.4fr
    }
}

@media screen and (min-width: 992px) {
    .p-article-card__inner {
        -webkit-box-orient:vertical;
        -webkit-box-direction: normal;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        height: 100%
    }
}

.p-article-card__thumbnail {
    background-color: #e2ece0;
    display: grid;
    padding: 20px;
    place-items: center;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media screen and (min-width: 768px) {
    .p-article-card__thumbnail {
        padding:24px
    }
}

.p-article-card__thumbnail img {
    aspect-ratio: 332/272;
    height: auto;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

.p-article-card__body {
    padding: 20px
}

@media screen and (min-width: 768px) {
    .p-article-card__body {
        -webkit-box-orient:vertical;
        -webkit-box-direction: normal;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        height: 100%;
        justify-content: space-between;
        padding: 24px 24px 0
    }
}

@media screen and (min-width: 992px) {
    .p-article-card__body {
        padding:24px
    }
}

.p-article-card__title {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media screen and (min-width: 768px) {
    .p-article-card__title {
        font-size:18px;
        margin-top: clamp(40px,6.4516129032vw,64px)
    }
}

@media screen and (min-width: 992px) {
    .p-article-card__title {
        margin-top:0
    }
}

.p-article-card__data {
    margin-top: auto
}

.p-article-card__data .data-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 32px;
    margin-top: 16px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media screen and (min-width: 768px) {
    .p-article-card__data .data-info {
        margin-top:clamp(16px,3.3333333333vw,40px)
    }
}

.p-article-card__data .data-link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    margin-left: auto;
    margin-top: 8px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.p-article-card__data .data-link .data-link__text {
    font-size: 16px
}

.p-article-card__data .data-link .data-link__arrow {
    border: 1px solid #b5bbb3;
    display: grid;
    height: 28px;
    place-items: center;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 28px
}

.p-article-card__data .data-link .data-link__arrow span {
    display: block;
    height: 8px;
    overflow: hidden;
    position: relative;
    width: 16px
}

.p-article-card__data .data-link .data-link__arrow span:after,.p-article-card__data .data-link .data-link__arrow span:before {
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    background: url(../img/arrow_black.svg) no-repeat 50%/contain;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 100%
}

.p-article-card__data .data-link .data-link__arrow span:after {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

.p-article-card__date {
    font-size: 14px
}

.p-editor-content h1 {
    font-size: 22px;
    margin: 24px 0 15px
}

@media screen and (min-width: 768px) {
    .p-editor-content h1 {
        font-size:28px;
        margin: 48px 0 25px
    }
}

.p-editor-content h2 {
    font-size: 18px;
    line-height: 1.25;
    margin: 40px 0 15px;
    padding-bottom: 24px;
    position: relative
}

@media screen and (min-width: 768px) {
    .p-editor-content h2 {
        border-left-width:4px;
        font-size: 24px;
        margin: 56px 0 25px
    }
}

.p-editor-content h2:after {
    background-color: #b5bbb3;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 80px
}

.p-editor-content h3 {
    font-size: 16px;
    line-height: 1.25;
    margin: 24px 0 16px
}

@media screen and (min-width: 768px) {
    .p-editor-content h3 {
        font-size:20px;
        margin: 34px 0 16px
    }
}

.p-editor-content h4 {
    font-size: 16px;
    line-height: 1.6;
    margin: 24px 0 15px;
    padding-bottom: 4px;
    position: relative
}

@media screen and (min-width: 768px) {
    .p-editor-content h4 {
        font-size:18px;
        margin: 48px 0 16px
    }
}

.p-editor-content h5 {
    font-size: 15px;
    margin: 15px 0 10px
}

@media screen and (min-width: 768px) {
    .p-editor-content h5 {
        font-size:16px
    }
}

.p-editor-content h6 {
    font-size: 14px;
    font-weight: 400;
    margin: 15px 0 10px
}

.p-editor-content p {
    letter-spacing: normal;
    line-height: 1.85;
    margin-bottom: .5em
}

.p-editor-content p a {
    color: #0c4a26
}

@media screen and (min-width: 992px) {
    .p-editor-content p a:hover {
        text-decoration:underline
    }
}

.p-editor-content p+p {
    margin-top: .5em
}

.p-editor-content img {
    height: auto;
    margin-bottom: 15px;
    margin-top: 15px
}

@media screen and (min-width: 768px) {
    .p-editor-content img {
        margin-bottom:20px;
        margin-top: 20px
    }
}

.p-editor-content .aligncenter {
    display: block;
    margin: 20px auto;
    text-align: center
}

@media screen and (min-width: 768px) {
    .p-editor-content .alignright {
        float:right;
        margin-left: 15px
    }

    .p-editor-content .alignleft {
        float: left;
        margin-right: 15px
    }
}

.p-editor-content ul {
    list-style: none;
    margin: 2.5em 0 1em
}

.p-editor-content ul>li {
    line-height: 2;
    padding-left: 1.5em;
    position: relative
}

.p-editor-content ul>li:before {
    background-color: #a29f74;
    border-radius: 4px;
    content: "";
    height: 8px;
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 8px
}

.p-editor-content ul>li:nth-child(n+2) {
    margin-top: .25em
}

.p-editor-content ol {
    counter-reset: number 0;
    margin: 2.5em 0 1em
}

.p-editor-content ol>li {
    line-height: 2;
    padding-left: 1.5em;
    position: relative
}

.p-editor-content ol>li:before {
    color: #a29f74;
    content: counter(number) ".";
    counter-increment: number 1;
    left: 0;
    position: absolute;
    top: 0
}

.p-editor-content ol>li:nth-child(n+2) {
    margin-top: .25em
}

.p-editor-content blockquote {
    background: #e2ece0;
    color: #818181;
    margin: 15px 0;
    padding: 24px
}

@media screen and (min-width: 768px) {
    .p-editor-content blockquote {
        margin:25px 0;
        padding: 40px
    }
}

.p-editor-content blockquote p {
    letter-spacing: 0;
    margin-bottom: 0
}

.p-editor-content hr {
    border: 0;
    border-top: 1px solid #ccc;
    display: block;
    height: auto;
    margin: 1.2em auto;
    width: 100%
}

.p-editor-content table {
    margin: 15px 0
}

@media screen and (min-width: 768px) {
    .p-editor-content table {
        margin:25px 0
    }
}

.p-editor-content table th {
    background-color: #f8fff0
}

.p-editor-content table td,.p-editor-content table th {
    border: 1px solid #ddd;
    padding: 5px 10px;
    vertical-align: top;
    word-break: break-all
}

.p-editor-content iframe {
    max-width: 100%
}

.p-newslist {
    border-top: 1px solid #b5bbb3
}

.p-newslist .p-newslist__item {
    border-bottom: 1px solid #b5bbb3
}

.p-newslist .p-newslist__item a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px 40px;
    padding: 24px 40px 24px 0;
    position: relative
}

@media screen and (min-width: 768px) {
    .p-newslist .p-newslist__item a {
        -webkit-box-align:start;
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        gap: 40px;
        padding: 24px 64px 24px 16px
    }
}

.p-newslist .p-newslist__item a:after {
    background: #000;
    bottom: -1px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transition: -webkit-transform .6s;
    transition: -webkit-transform .6s;
    transition: transform .6s;
    transition: transform .6s,-webkit-transform .6s;
    width: 100%
}

@media(hover:hover) {
    .p-newslist .p-newslist__item a:hover:after {
        -webkit-transform:scaleX(1);
        transform: scaleX(1);
        -webkit-transform-origin: 0 50%;
        transform-origin: 0 50%
    }

    .p-newslist .p-newslist__item a:hover .p-newslist__arrow:before {
        -webkit-animation-delay: 0s;
        animation-delay: 0s;
        -webkit-animation-name: transformRightLeft;
        animation-name: transformRightLeft
    }

    .p-newslist .p-newslist__item a:hover .p-newslist__arrow:after {
        -webkit-animation-delay: .2s;
        animation-delay: .2s;
        -webkit-animation-name: transformLeftRight;
        animation-name: transformLeftRight
    }
}

.p-newslist .p-newslist__item .p-newslist__title {
    font-size: 14px;
    font-weight: 400;
    width: 100%
}

@media screen and (min-width: 768px) {
    .p-newslist .p-newslist__item .p-newslist__title {
        width:-webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content
    }
}

.p-newslist .p-newslist__item .p-newslist__arrow {
    bottom: 0;
    display: block;
    height: 12px;
    margin: auto;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 24px;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .p-newslist .p-newslist__item .p-newslist__arrow {
        right:16px
    }
}

.p-newslist .p-newslist__item .p-newslist__arrow:after,.p-newslist .p-newslist__item .p-newslist__arrow:before {
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    background: url(../img/arrow_black.svg) no-repeat 50%/contain;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 100%
}

.p-newslist .p-newslist__item .p-newslist__arrow:after {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

.p-newslist--aside {
    border-top: none
}

.p-newslist--aside .p-newslist__item a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 4px;
    padding-left: 0;
    padding-right: 32px
}

@media screen and (min-width: 768px) {
    .p-newslist--aside .p-newslist__item a {
        gap:4px;
        padding-left: 0;
        padding-right: 32px
    }
}

@media(hover) {
    .p-newslist--aside .p-newslist__item a:hover {
        color:#000
    }
}

.p-newslist--aside .p-newslist__item .p-newslist__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px
}

@media screen and (min-width: 768px) {
    .p-newslist--aside .p-newslist__item .p-newslist__arrow {
        right:0
    }
}

.p-reportlist {
    display: grid;
    gap: 40px
}

@media screen and (min-width: 992px) {
    .p-reportlist {
        gap:30px;
        grid-template-columns: repeat(3,1fr)
    }

    .p-reportlist--col2 {
        grid-template-columns: repeat(2,1fr)
    }
}

.p-reportlist--aside {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-top: 28px
}

@media screen and (min-width: 768px) {
    .p-reportlist--aside .p-article-card .p-article-card__body {
        -webkit-box-pack:start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        padding: 16px 0
    }

    .p-reportlist--aside .p-article-card .p-article-card__title {
        font-size: 14px
    }

    .p-reportlist--aside .p-article-card .p-article-card__data {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 20px
    }

    .p-reportlist--aside .p-article-card .p-article-card__data .data-info,.p-reportlist--aside .p-article-card .p-article-card__data .data-link {
        margin-top: 0
    }

    .p-reportlist--aside .p-article-card .p-article-card__data .data-link .data-link__text {
        display: none
    }
}

.p-cursor-area {
    cursor: inherit;
    position: relative
}

.p-cursor-area:before {
    background-color: rgba(35,53,43,.8);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 100%;
    z-index: 1
}

.js-cursor {
    background: url(../img/cursor_gallery.svg) no-repeat 50%/contain;
    height: clamp(120px,8.3333333333vw,160px);
    left: clamp(-80px,-4.1666666667vw,-60px);
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: clamp(-80px,-4.1666666667vw,-60px);
    -webkit-transform: translate(0);
    transform: translate(0);
    -webkit-transition: opacity .3s ease-out .2s,-webkit-transform .1s ease-out;
    transition: opacity .3s ease-out .2s,-webkit-transform .1s ease-out;
    transition: transform .1s ease-out,opacity .3s ease-out .2s;
    transition: transform .1s ease-out,opacity .3s ease-out .2s,-webkit-transform .1s ease-out;
    width: clamp(120px,8.3333333333vw,160px);
    z-index: 10000
}

.js-cursor.cursor-report {
    background: url(../img/cursor_report.svg) no-repeat 50%/contain;
    z-index: 2000000
}

.p-gallery-slider {
    overflow: hidden
}

.p-gallery-slider,.p-gallery-slider>ul {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.p-gallery-slider>ul {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000;
    perspective: 1000;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    will-change: transform
}

.p-gallery-slider>ul:first-child {
    -webkit-animation: loop 100s linear -50s infinite;
    animation: loop 100s linear -50s infinite
}

@media screen and (min-width: 768px) {
    .p-gallery-slider>ul:first-child {
        -webkit-animation:loop 120s linear -60s infinite;
        animation: loop 120s linear -60s infinite
    }
}

.p-gallery-slider>ul:last-child {
    -webkit-animation: loop2 100s linear infinite;
    animation: loop2 100s linear infinite
}

@media screen and (min-width: 768px) {
    .p-gallery-slider>ul:last-child {
        -webkit-animation:loop2 120s linear infinite;
        animation: loop2 120s linear infinite
    }
}

.p-gallery-slider>ul li {
    margin-left: 24px
}

@media screen and (min-width: 992px) {
    .p-gallery-slider>ul li {
        margin-left:32px
    }
}

.p-gallery-slider>ul li:nth-child(odd) {
    aspect-ratio: 358/226;
    width: 358px
}

@media screen and (min-width: 768px) {
    .p-gallery-slider>ul li:nth-child(odd) {
        width:clamp(358px,37.34375vw,717px)
    }
}

.p-gallery-slider>ul li:nth-child(2n) {
    aspect-ratio: 208/156;
    width: 208px
}

@media screen and (min-width: 768px) {
    .p-gallery-slider>ul li:nth-child(2n) {
        width:clamp(208px,21.71875vw,417px)
    }
}

.p-gallery-slider>ul li img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.p-wide-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-left: 6.4vw;
    padding-right: 6.4vw
}

@media screen and (min-width: 768px) {
    .p-wide-column {
        padding-left:40px;
        padding-right: 40px
    }
}

@media screen and (min-width: 992px) {
    .p-wide-column {
        -webkit-box-orient:horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        padding-left: 0;
        padding-right: 0
    }

    .p-wide-column--reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
}

.p-wide-column .p-wide-column__img {
    aspect-ratio: 1/1;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    overflow: hidden;
    position: relative
}

@media screen and (min-width: 768px) {
    .p-wide-column .p-wide-column__img {
        aspect-ratio:1114/800;
        min-height: 0
    }
}

@media screen and (min-width: 992px) {
    .p-wide-column .p-wide-column__img {
        min-height:auto;
        position: static;
        width: 52%
    }
}

@media screen and (min-width: 1600px) {
    .p-wide-column .p-wide-column__img {
        width:58%
    }
}

.p-wide-column .p-wide-column__img img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    width: 100%
}

.p-wide-column .p-wide-column__description {
    padding: 40px 0 0
}

@media screen and (min-width: 992px) {
    .p-wide-column .p-wide-column__description {
        -webkit-box-orient:vertical;
        -webkit-box-direction: normal;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        justify-content: flex-start;
        padding: 0 40px;
        width: 48%
    }
}

@media screen and (min-width: 1200px) {
    .p-wide-column .p-wide-column__description {
        padding:0 clamp(40px,5.4166666667vw,104px)
    }
}

@media screen and (min-width: 1600px) {
    .p-wide-column .p-wide-column__description {
        width:42%
    }
}

@media screen and (min-width: 768px) {
    .p-wide-column .p-wide-column__description .description-inner {
        margin:0 auto;
        width: 90%
    }
}

@media screen and (min-width: 992px) {
    .p-wide-column .p-wide-column__description .description-inner {
        width:-webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content
    }
}

.p-wide-column .p-wide-column__description .description-inner__title {
    font-size: 22px;
    font-weight: 400;
    line-height: 1.6
}

@media screen and (min-width: 375px) {
    .p-wide-column .p-wide-column__description .description-inner__title {
        font-size:23px
    }
}

@media screen and (min-width: 768px) {
    .p-wide-column .p-wide-column__description .description-inner__title {
        font-size:clamp(24px,1.6666666667vw,32px);
        line-height: 2
    }
}

.p-wide-column .p-wide-column__description .description-inner__title+.description-inner__text {
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .p-wide-column .p-wide-column__description .description-inner__title+.description-inner__text {
        margin-top:clamp(16px,2.5vw,40px)
    }
}

.p-wide-column .p-wide-column__description .description-inner__img {
    margin: auto;
    width: 100%
}

@media screen and (min-width: 992px) {
    .p-wide-column .p-wide-column__description .description-inner__img {
        margin:auto 0 0;
        padding-top: clamp(24px,4.5vw,72px)
    }
}

.p-wide-column .p-wide-column__description .description-inner__text {
    font-size: 14px;
    line-height: 2
}

.p-wide-column .p-wide-column__description .description-inner__text+.description-inner__text {
    margin-top: 1em
}

@media screen and (min-width: 992px) {
    .p-wide-column .p-wide-column__description--noimg {
        -webkit-box-pack:start;
        -ms-flex-pack: start;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: flex-start;
        justify-content: center
    }
}

@media screen and (min-width: 768px) {
    .p-wide-column .p-wide-column__description--noimg .description-inner {
        margin:auto
    }
}

.p-wide-column .p-wide-column__description--withimg .description-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column
}

@media screen and (min-width: 992px) {
    .p-wide-column .p-wide-column__description--withimg .description-inner {
        height:100%;
        max-width: 598px
    }
}

.p-wide-column .p-wide-column__description--withimg .description-inner__title {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    font-size: 18px;
    margin-top: 24px;
    order: 2
}

@media screen and (min-width: 992px) {
    .p-wide-column .p-wide-column__description--withimg .description-inner__title {
        -webkit-box-ordinal-group:2;
        -ms-flex-order: 1;
        font-size: clamp(18px,1.6666666667vw,32px);
        margin-top: 0;
        order: 1
    }
}

.p-wide-column .p-wide-column__description--withimg .description-inner__text {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    line-height: 1.4;
    order: 3
}

@media screen and (min-width: 1200px) {
    .p-wide-column .p-wide-column__description--withimg .description-inner__text {
        -webkit-box-ordinal-group:3;
        -ms-flex-order: 2;
        line-height: 1.8;
        order: 2
    }
}

.p-wide-column .p-wide-column__description--withimg .description-inner__img {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
}

@media screen and (min-width: 992px) {
    .p-wide-column .p-wide-column__description--withimg .description-inner__img {
        -webkit-box-ordinal-group:4;
        -ms-flex-order: 3;
        order: 3
    }
}

.p-column-wrap {
    display: grid;
    gap: 48px
}

@media screen and (min-width: 768px) {
    .p-column-wrap {
        gap:clamp(40px,5.6451612903vw,56px);
        grid-template-columns: 1fr 1fr
    }
}

@media screen and (min-width: 992px) {
    .p-column-wrap {
        gap:clamp(48px,7.25vw,116px) clamp(48px,7.4479166667vw,143px)
    }
}

.p-column-wrap--shift {
    margin-top: 64px
}

@media screen and (min-width: 768px) {
    .p-column-wrap--shift {
        margin-top:clamp(64px,7.25vw,116px)
    }

    .p-column-wrap--shift .p-column-item:nth-child(2n) {
        -webkit-transform: translateY(clamp(120px,12.5vw,240px));
        transform: translateY(clamp(120px,12.5vw,240px))
    }
}

.p-column-wrap .p-column-item--number .p-column-item__subtitle,.p-column-wrap .p-column-item--number .p-column-item__text,.p-column-wrap .p-column-item--number .p-column-item__title {
    margin-left: 24px
}

@media screen and (min-width: 768px) {
    .p-column-wrap .p-column-item--number .p-column-item__subtitle,.p-column-wrap .p-column-item--number .p-column-item__text,.p-column-wrap .p-column-item--number .p-column-item__title {
        margin-left:clamp(24px,2.5vw,48px)
    }
}

.p-column-wrap .p-column-item .p-column-item__number {
    font-size: 12px;
    line-height: 1.4;
    margin-top: 8px
}

@media screen and (min-width: 768px) {
    .p-column-wrap .p-column-item .p-column-item__number {
        font-size:14px;
        margin-top: 16px
    }
}

.p-column-wrap .p-column-item .p-column-item__title {
    font-size: 17px;
    font-weight: 400;
    line-height: 1.6;
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .p-column-wrap .p-column-item .p-column-item__title {
        font-size:clamp(17px,1.5vw,24px)
    }
}

.p-column-wrap .p-column-item .p-column-item__title .small {
    font-size: 16px
}

@media screen and (min-width: 768px) {
    .p-column-wrap .p-column-item .p-column-item__title .small {
        font-size:clamp(16px,1.5vw,18px)
    }
}

.p-column-wrap .p-column-item .p-column-item__text {
    margin-top: 16px
}

.p-venue-intro {
    padding-bottom: 80px;
    padding-top: 48px
}

@media screen and (min-width: 768px) {
    .p-venue-intro {
        padding-bottom:clamp(80px,7.25vw,116px);
        padding-top: 72px
    }
}

.p-venue-intro .p-venue-intro__description {
    display: grid;
    gap: 24px
}

@media screen and (min-width: 1200px) {
    .p-venue-intro .p-venue-intro__description {
        gap:0
    }
}

.p-venue-intro .p-venue-intro__description .description-title {
    font-size: 24px;
    font-weight: 400;
    line-height: 1.8
}

@media screen and (min-width: 768px) {
    .p-venue-intro .p-venue-intro__description .description-title {
        font-size:clamp(24px,2vw,32px)
    }

    .p-venue-intro .p-venue-intro__description .description-text {
        margin-left: auto;
        width: 560px
    }
}

.p-venue-intro .p-venue-intro__detail {
    display: grid;
    gap: 24px;
    margin-top: 56px
}

@media screen and (min-width: 768px) {
    .p-venue-intro .p-venue-intro__detail {
        gap:clamp(24px,2.5vw,40px);
        grid-template-columns: 1fr 1fr
    }
}

.p-venue-intro .p-venue-intro__detail .detail-item {
    background-color: #e2ece0;
    overflow: hidden;
    padding: 24px 24px 32px
}

@media screen and (min-width: 768px) {
    .p-venue-intro .p-venue-intro__detail .detail-item {
        padding:clamp(24px,2vw,32px) clamp(24px,2.9166666667vw,56px) clamp(32px,3vw,48px)
    }
}

.p-venue-intro .p-venue-intro__detail .detail-item__title .title-en {
    font-size: 18px;
    font-weight: 400
}

@media screen and (min-width: 768px) {
    .p-venue-intro .p-venue-intro__detail .detail-item__title .title-en {
        font-size:clamp(18px,1.5vw,24px)
    }
}

.p-venue-intro .p-venue-intro__detail .detail-item__title .title-ja {
    font-weight: 400;
    margin-top: 8px
}

.p-venue-intro .p-venue-intro__detail .detail-item__inner {
    margin-top: 24px;
    padding-top: 24px;
    position: relative
}

@media screen and (min-width: 768px) {
    .p-venue-intro .p-venue-intro__detail .detail-item__inner {
        margin-top:clamp(24px,2vw,32px);
        padding-top: clamp(24px,2vw,32px)
    }
}

.p-venue-intro .p-venue-intro__detail .detail-item__inner:before {
    background-color: #b5bbb3;
    content: "";
    display: block;
    height: 1px;
    left: clamp(-64px,-4vw,-24px);
    position: absolute;
    top: 0;
    width: calc(100% + clamp(48px,8vw,128px))
}

.p-venue-intro .p-venue-intro__detail .detail-item__inner--list li {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: space-between;
    padding: 16px 0
}

@media screen and (min-width: 768px) {
    .p-venue-intro .p-venue-intro__detail .detail-item__inner--list li {
        gap:0 16px;
        padding: 16px 0 10px
    }
}

.p-venue-intro .p-venue-intro__detail .detail-item__inner--list li+li {
    border-top: 1px solid #b5bbb3
}

.p-venue-intro .p-venue-intro__detail .detail-item__inner--list .item-content,.p-venue-intro .p-venue-intro__detail .detail-item__inner--list .item-label {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

@media screen and (min-width: 992px) {
    .p-venue-intro .p-venue-intro__detail .detail-item__inner--list .item-content {
        max-width:74%
    }
}

.p-venue-intro .p-venue-intro__detail .detail-item__inner--list .item-note {
    font-size: 12px;
    width: 100%
}

@media screen and (min-width: 992px) {
    .p-venue-intro .p-venue-intro__detail .detail-item__inner--list .item-note {
        font-size:14px;
        text-align: right
    }
}

.p-venue-intro .p-venue-intro__detail .detail-item__inner--tag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px
}

@media screen and (min-width: 992px) {
    .p-venue-intro .p-venue-intro__detail .detail-item__inner--tag {
        gap:8px 16px
    }
}

.p-venue-intro .p-venue-intro__detail .detail-item__inner--tag li {
    border: 1px solid #b5bbb3;
    display: grid;
    font-size: 12px;
    padding: 7px 16px;
    place-items: center
}

@media screen and (min-width: 992px) {
    .p-venue-intro .p-venue-intro__detail .detail-item__inner--tag li {
        font-size:14px
    }
}

.p-venue-wrap {
    display: grid;
    gap: 16px;
    margin-top: 56px
}

@media screen and (min-width: 992px) {
    .p-venue-wrap {
        gap:24px;
        margin-top: 64px
    }
}

.p-venue-wrap .p-venue-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    background-color: #e2ece0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 16px;
    padding: 24px 24px 40px
}

@media screen and (min-width: 768px) {
    .p-venue-wrap .p-venue-item {
        display:grid;
        gap: clamp(32px,3vw,48px);
        grid-template-columns: 1fr 1fr;
        padding: clamp(32px,3.3333333333vw,40px)
    }
}

.p-venue-wrap .p-venue-item>div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column
}

.p-venue-wrap .p-venue-item img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.p-venue-wrap .p-venue-item__tag {
    font-size: 12px;
    padding-left: 16px;
    position: relative
}

@media screen and (min-width: 992px) {
    .p-venue-wrap .p-venue-item__tag {
        font-size:14px
    }
}

.p-venue-wrap .p-venue-item__tag:before {
    background-color: #a29f74;
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 8px;
    left: 0;
    position: absolute;
    top: .4em;
    width: 8px
}

@media screen and (min-width: 768px) {
    .p-venue-wrap .p-venue-item__tag:before {
        top:.6em
    }
}

.p-venue-wrap .p-venue-item__title {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    margin-top: 10px
}

@media screen and (min-width: 768px) {
    .p-venue-wrap .p-venue-item__title {
        font-size:clamp(18px,2vw,32px);
        margin-top: 16px
    }
}

.p-venue-wrap .p-venue-item__text {
    margin-top: 16px
}

.p-venue-wrap .p-venue-item__people {
    margin-top: 24px
}

.p-venue-wrap .p-venue-item__people:before {
    background: url(../img/icon_people.svg) no-repeat 50%/contain;
    content: "";
    display: inline-block;
    height: 16px;
    margin-right: 8px;
    vertical-align: sub;
    width: 16px
}

@media screen and (min-width: 768px) {
    .p-venue-wrap .p-venue-item__people,.p-venue-wrap .p-venue-item__text,.p-venue-wrap .p-venue-item__title {
        margin-left:clamp(24px,2.5vw,48px)
    }
}

.p-venue-wrap .c-button {
    margin: 32px auto 0
}

@media screen and (min-width: 768px) {
    .p-venue-wrap .c-button {
        margin:auto 0 0 auto;
        padding-top: 24px
    }
}

.c-button {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: center;
    background-color: #0c4a26;
    border-radius: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    height: 50px;
    justify-content: space-between;
    overflow: hidden;
    padding: 8px 16px;
    position: relative;
    width: 100%
}

@media screen and (min-width: 768px) {
    .c-button {
        width:210px
    }
}

.c-button:before {
    background-color: #23352b;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 0
}

@media(hover) {
    .c-button:hover:before {
        width:100%
    }

    .c-button:hover .c-button__arrow:before {
        -webkit-animation-delay: 0s;
        animation-delay: 0s;
        -webkit-animation-name: transformRightLeft;
        animation-name: transformRightLeft
    }

    .c-button:hover .c-button__arrow:after {
        -webkit-animation-delay: .2s;
        animation-delay: .2s;
        -webkit-animation-name: transformLeftRight;
        animation-name: transformLeftRight
    }
}

.c-button .c-button__text {
    color: #fff;
    font-size: 15px;
    position: relative;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    z-index: 1
}

@media screen and (min-width: 992px) {
    .c-button .c-button__text {
        font-size:16px
    }
}

.c-button .c-button__arrow {
    display: block;
    height: 8px;
    overflow: hidden;
    position: relative;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 16px;
    z-index: 1
}

.c-button .c-button__arrow:after,.c-button .c-button__arrow:before {
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    background: url(../img/arrow_white.svg) no-repeat 50%/contain;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 100%
}

.c-button .c-button__arrow:after {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

.c-button--outline {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    background-color: #ecf3ea;
    border: 1px solid #000;
    height: 68px;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    width: 100%
}

@media screen and (min-width: 768px) {
    .c-button--outline {
        height:clamp(68px,6.6666666667vw,80px);
        width: 640px
    }
}

.c-button--outline:before {
    content: none
}

@media(hover) {
    .c-button--outline:hover {
        background-color:#0c4a26
    }

    .c-button--outline:hover .c-button__text {
        color: #fff
    }

    .c-button--outline:hover .c-button__arrow:after,.c-button--outline:hover .c-button__arrow:before {
        background: url(../img/arrow_white.svg) no-repeat 50%/contain
    }
}

.c-button--outline .c-button__text {
    color: #000
}

.c-button--outline .c-button__arrow:after,.c-button--outline .c-button__arrow:before {
    background: url(../img/arrow_black.svg) no-repeat 50%/contain
}

.c-button--underline {
    background-color: transparent;
    border-radius: 0;
    height: auto;
    padding: 0 0 10px;
    position: relative;
    width: 100%;
    width: 243px
}

@media screen and (min-width: 768px) {
    .c-button--underline {
        width:180px
    }
}

.c-button--underline:before {
    content: none
}

.c-button--underline:after {
    background: #000;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
    width: 100%
}

@media(hover) {
    .c-button--underline:hover {
        background-color:transparent
    }

    .c-button--underline:hover:after {
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: 100% 50%;
        transform-origin: 100% 50%
    }
}

.c-button--underline .c-button__text {
    color: #000
}

.c-button--underline .c-button__arrow:after,.c-button--underline .c-button__arrow:before {
    background: url(../img/arrow_black.svg) no-repeat 50%/contain
}

.c-button--pickup {
    background-color: transparent;
    border-radius: 0;
    height: auto;
    padding: 0 0 10px;
    position: relative;
    width: 100%;
    width: 243px
}

@media screen and (min-width: 768px) {
    .c-button--pickup {
        width:180px
    }
}

.c-button--pickup:before {
    content: none
}

.c-button--pickup:after {
    background: #0c4a26;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
    width: 100%
}

@media(hover) {
    .c-button--pickup:hover {
        background-color:transparent
    }

    .c-button--pickup:hover:after {
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: 100% 50%;
        transform-origin: 100% 50%
    }
}

.c-button--pickup .c-button__text {
    color: #000
}

.c-button--pickup .c-button__arrow-wrap {
    background-color: #0c4a26;
    border-radius: 50%;
    display: grid;
    height: 28px;
    place-items: center;
    width: 28px
}

.c-button--black {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    background-color: #23352b;
    height: 68px;
    justify-content: center;
    width: 100%
}

@media screen and (min-width: 768px) {
    .c-button--black {
        height:clamp(68px,6.6666666667vw,80px);
        width: 100%
    }
}

.c-button--black:before {
    background-color: #0c4a26
}

.c-button--black .c-button__arrow {
    position: absolute;
    right: 24px
}

@media screen and (min-width: 768px) {
    .c-button--black .c-button__arrow {
        right:clamp(16px,3vw,36px)
    }
}

.c-arrow-button {
    border: 1px solid #b5bbb3;
    display: grid;
    height: 56px;
    place-items: center;
    width: 56px
}

@media screen and (min-width: 768px) {
    .c-arrow-button {
        height:clamp(56px,5.375vw,86px);
        width: clamp(56px,5.375vw,86px)
    }
}

@media(hover) {
    .c-arrow-button:hover {
        background-color:#0c4a26;
        border: 1px solid #0c4a26
    }

    .c-arrow-button:hover.c-arrow-button--prev .c-arrow-button__arrow:before {
        -webkit-animation-delay: 0s;
        animation-delay: 0s;
        -webkit-animation-name: transformLeftRightPrev;
        animation-name: transformLeftRightPrev;
        background: url(../img/arrow_white_prev.svg) no-repeat 50%/contain
    }

    .c-arrow-button:hover.c-arrow-button--prev .c-arrow-button__arrow:after {
        -webkit-animation-delay: .2s;
        animation-delay: .2s;
        -webkit-animation-name: transformRightLeftPrev;
        animation-name: transformRightLeftPrev;
        background: url(../img/arrow_white_prev.svg) no-repeat 50%/contain
    }

    .c-arrow-button:hover.c-arrow-button--next .c-arrow-button__arrow:before {
        -webkit-animation-delay: 0s;
        animation-delay: 0s;
        -webkit-animation-name: transformRightLeft;
        animation-name: transformRightLeft;
        background: url(../img/arrow_white.svg) no-repeat 50%/contain
    }

    .c-arrow-button:hover.c-arrow-button--next .c-arrow-button__arrow:after {
        -webkit-animation-delay: .2s;
        animation-delay: .2s;
        -webkit-animation-name: transformLeftRight;
        animation-name: transformLeftRight;
        background: url(../img/arrow_white.svg) no-repeat 50%/contain
    }
}

.c-arrow-button .c-arrow-button__arrow {
    display: block;
    height: 12px;
    overflow: hidden;
    position: relative;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 24px;
    z-index: 1
}

.c-arrow-button .c-arrow-button__arrow:after,.c-arrow-button .c-arrow-button__arrow:before {
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 100%
}

.c-arrow-button--prev .c-arrow-button__arrow:after,.c-arrow-button--prev .c-arrow-button__arrow:before {
    background: url(../img/arrow_black_prev.svg) no-repeat 50%/contain
}

.c-arrow-button--prev .c-arrow-button__arrow:before {
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
}

.c-arrow-button--next .c-arrow-button__arrow:after,.c-arrow-button--next .c-arrow-button__arrow:before {
    background: url(../img/arrow_black.svg) no-repeat 50%/contain
}

.c-arrow-button--next .c-arrow-button__arrow:after {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

.c-button-wrapper {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center
}

@media screen and (min-width: 768px) {
    .c-button-wrapper .c-button {
        margin:0 8px
    }
}

.c-button-wrapper--column {
    -webkit-box-align: initial;
    -ms-flex-align: initial;
    -webkit-box-pack: initial;
    -ms-flex-pack: initial;
    align-items: normal;
    display: grid;
    gap: 16px;
    justify-content: normal
}

@media screen and (min-width: 768px) {
    .c-button-wrapper--column {
        gap:32px;
        grid-template-columns: 1fr 1fr
    }

    .c-button-wrapper--column .c-button {
        margin: 0;
        width: auto
    }
}

.c-input label {
    color: #657786;
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    padding-bottom: 8px
}

@media screen and (min-width: 768px) {
    .c-input label {
        font-size:14px
    }
}

.c-select {
    position: relative
}

@media screen and (min-width: 768px) {
    .c-select {
        max-width:220px
    }
}

.c-select:before {
    border-right: 1px solid #0c4a26;
    border-top: 1px solid #0c4a26;
    content: "";
    height: 6px;
    position: absolute;
    right: 12px;
    top: calc(50% - 3px);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    width: 6px;
    z-index: 2
}

@media screen and (min-width: 768px) {
    .c-select:before {
        right:24px
    }
}

.mw_wp_form_confirm .c-select:before {
    display: none
}

.c-select select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #ecf3ea;
    border-radius: 4px;
    padding: 12px;
    position: relative;
    vertical-align: middle;
    width: 100%
}

@media screen and (min-width: 768px) {
    .c-select select {
        padding:16px
    }
}

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

.c-select select:focus {
    -webkit-box-shadow: 0 0 5px 2px rgba(12,74,38,.5);
    box-shadow: 0 0 5px 2px rgba(12,74,38,.5);
    outline: 0
}

.c-radio,.mwform-radio-field label {
    display: block;
    padding: 8px 0
}

@media screen and (min-width: 768px) {
    .c-radio,.mwform-radio-field label {
        font-size:16px;
        padding: 12px
    }
}

.c-radio input[type=radio],.mwform-radio-field label input[type=radio] {
    opacity: 0;
    position: absolute
}

.c-radio input[type=radio]+.mwform-radio-field-text,.c-radio input[type=radio]+.text,.mwform-radio-field label input[type=radio]+.mwform-radio-field-text,.mwform-radio-field label input[type=radio]+.text {
    cursor: pointer;
    position: relative
}

.c-radio input[type=radio]+.mwform-radio-field-text:before,.c-radio input[type=radio]+.text:before,.mwform-radio-field label input[type=radio]+.mwform-radio-field-text:before,.mwform-radio-field label input[type=radio]+.text:before {
    background: #ecf3ea;
    border: 1px solid #ecf3ea;
    border-radius: 100%;
    content: "";
    cursor: pointer;
    display: inline-block;
    height: 24px;
    margin-right: 8px;
    position: relative;
    text-align: center;
    top: calc(50% - 12px);
    vertical-align: top;
    width: 24px
}

.c-radio input[type=radio]:focus+.mwform-radio-field-text:before,.c-radio input[type=radio]:focus+.text:before,.mwform-radio-field label input[type=radio]:focus+.mwform-radio-field-text:before,.mwform-radio-field label input[type=radio]:focus+.text:before {
    border-color: #ecf3ea;
    outline: none
}

.c-radio input[type=radio]:disabled+.mwform-radio-field-text:before,.c-radio input[type=radio]:disabled+.text:before,.mwform-radio-field label input[type=radio]:disabled+.mwform-radio-field-text:before,.mwform-radio-field label input[type=radio]:disabled+.text:before {
    background: #657786;
    border-color: #657786
}

.c-radio input[type=radio]:checked+.mwform-radio-field-text:after,.c-radio input[type=radio]:checked+.text:after,.mwform-radio-field label input[type=radio]:checked+.mwform-radio-field-text:after,.mwform-radio-field label input[type=radio]:checked+.text:after {
    background-color: #000;
    border-radius: 50%;
    content: "";
    height: 12px;
    left: 6px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-40%);
    transform: translateY(-40%);
    width: 12px
}

@-webkit-keyframes transformLeftRight {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }

    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes transformLeftRight {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }

    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes transformRightLeft {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}

@keyframes transformRightLeft {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}

@-webkit-keyframes transformLeftRightPrev {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

@keyframes transformLeftRightPrev {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

@-webkit-keyframes transformRightLeftPrev {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }

    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes transformRightLeftPrev {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }

    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes galleryFlowLeft {
    to {
        background-position: -1458px 0
    }

    @media screen and (min-width: 768px) {
        to {
            background-position:clamp(-2776px,-173.5vw,-1458px) 0
        }
    }
}

@keyframes galleryFlowLeft {
    to {
        background-position: -1458px 0
    }

    @media screen and (min-width: 768px) {
        to {
            background-position:clamp(-2776px,-173.5vw,-1458px) 0
        }
    }
}

@-webkit-keyframes galleryFlowRight {
    to {
        background-position: 1458px 0
    }

    @media screen and (min-width: 768px) {
        to {
            background-position:clamp(1458px,173.5vw,2776px) 0
        }
    }
}

@keyframes galleryFlowRight {
    to {
        background-position: 1458px 0
    }

    @media screen and (min-width: 768px) {
        to {
            background-position:clamp(1458px,173.5vw,2776px) 0
        }
    }
}

@-webkit-keyframes loop-slide {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    to {
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0)
    }
}

@keyframes loop-slide {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    to {
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0)
    }
}

@-webkit-keyframes slide-img {
    0% {
        -webkit-transform: scale(1.2) translateX(10%);
        transform: scale(1.2) translateX(10%)
    }

    to {
        -webkit-transform: scale(1.2) translateX(0);
        transform: scale(1.2) translateX(0)
    }
}

@keyframes slide-img {
    0% {
        -webkit-transform: scale(1.2) translateX(10%);
        transform: scale(1.2) translateX(10%)
    }

    to {
        -webkit-transform: scale(1.2) translateX(0);
        transform: scale(1.2) translateX(0)
    }
}

@-webkit-keyframes loop {
    0% {
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0)
    }

    to {
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0)
    }
}

@keyframes loop {
    0% {
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0)
    }

    to {
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0)
    }
}

@-webkit-keyframes loop2 {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    to {
        -webkit-transform: translate3d(-200%,0,0);
        transform: translate3d(-200%,0,0)
    }
}

@keyframes loop2 {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    to {
        -webkit-transform: translate3d(-200%,0,0);
        transform: translate3d(-200%,0,0)
    }
}

.c-menu-icon {
    cursor: pointer;
    display: block;
    position: relative;
    -webkit-transform: translateY(3px);
    transform: translateY(3px);
    z-index: 300
}

@media screen and (min-width: 1200px) {
    .c-menu-icon {
        display:none
    }
}

.c-menu-icon .c-menu-text {
    font-size: 10px;
    margin-bottom: -8px;
    text-align: center
}

.c-menu-icon__wrap {
    height: 32px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    width: 32px
}

.c-menu-icon__wrap>span {
    background-color: #000;
    bottom: 0;
    height: 1px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: .2s ease-out;
    transition: .2s ease-out;
    width: 100%
}

.c-menu-icon__wrap>span:first-child {
    -webkit-transform: translateY(4px);
    transform: translateY(4px)
}

.c-menu-icon__wrap>span:nth-child(2) {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px)
}

.c-menu-icon.is-open .c-menu-icon__wrap>span:first-child {
    -webkit-transform: translateY(0) rotate(-12deg);
    transform: translateY(0) rotate(-12deg)
}

.c-menu-icon.is-open .c-menu-icon__wrap>span:nth-child(2) {
    -webkit-transform: translateY(0) rotate(12deg);
    transform: translateY(0) rotate(12deg)
}

.c-category .c-category__item {
    display: inline-block;
    font-size: 12px;
    line-height: 1.6;
    padding-left: 16px;
    position: relative
}

.c-category .c-category__item:before {
    background-color: #a29f74;
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 8px;
    left: 0;
    position: absolute;
    top: .45em;
    width: 8px
}

@media screen and (min-width: 375px) {
    .u-hide-up-xs {
        display:none!important
    }
}

@media screen and (min-width: 554px) {
    .u-hide-up-sm {
        display:none!important
    }
}

@media screen and (min-width: 768px) {
    .u-hide-up-md {
        display:none!important
    }
}

@media screen and (min-width: 992px) {
    .u-hide-up-lg {
        display:none!important
    }
}

@media screen and (min-width: 1200px) {
    .u-hide-up-xl {
        display:none!important
    }
}

@media screen and (min-width: 1600px) {
    .u-hide-up-xxl {
        display:none!important
    }
}

@media screen and (max-width: 374px) {
    .u-hide-down-xs {
        display:none!important
    }
}

@media screen and (max-width: 553px) {
    .u-hide-down-sm {
        display:none!important
    }
}

@media screen and (max-width: 767px) {
    .u-hide-down-md {
        display:none!important
    }
}

@media screen and (max-width: 991px) {
    .u-hide-down-lg {
        display:none!important
    }
}

@media screen and (max-width: 1199px) {
    .u-hide-down-xl {
        display:none!important
    }
}

@media screen and (max-width: 1599px) {
    .u-hide-down-xxl {
        display:none!important
    }
}

@media screen and (min-width: 992px) {
    .u-tel-link {
        pointer-events:none
    }
}

.front .mainview {
    margin: 0 6.4vw;
    position: relative
}

@media screen and (min-width: 768px) {
    .front .mainview {
        margin:0 40px
    }
}

.front .mainview .mainview__video {
    aspect-ratio: 375/640;
    opacity: 0;
    position: relative;
    width: 100%
}

@media screen and (min-width: 768px) {
    .front .mainview .mainview__video {
        aspect-ratio:1840/907;
        min-height: 400px
    }
}

.front .mainview .mainview__video .video {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%
}

.front .mainview .mainview__video .video--pc {
    display: none
}

@media screen and (min-width: 768px) {
    .front .mainview .mainview__video .video--pc {
        display:block
    }

    .front .mainview .mainview__video .video--sp {
        display: none
    }
}

.front .mainview .mainview__video.is-play {
    opacity: 1
}

.front .mainview .mainview__catch {
    bottom: 32px;
    color: #fff;
    font-size: 21px;
    font-weight: 500;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    left: 0;
    letter-spacing: .08em;
    line-height: 1.5;
    margin: auto;
    position: absolute;
    right: 0;
    text-shadow: 0 0 40px #000;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

@media screen and (min-width: 375px) {
    .front .mainview .mainview__catch {
        font-size:23px
    }
}

@media screen and (min-width: 768px) {
    .front .mainview .mainview__catch {
        left:24px;
        right: auto
    }
}

@media screen and (min-width: 1200px) {
    .front .mainview .mainview__catch {
        bottom:0;
        font-size: clamp(24px,2.9166666667vw,35px);
        left: clamp(24px,5.75vw,92px);
        top: 0
    }
}

.front .mainview .mainview__banner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 16px;
    justify-content: center;
    margin: 24px auto 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 100%
}

@media screen and (min-width: 554px) {
    .front .mainview .mainview__banner {
        -webkit-box-orient:horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
}

@media screen and (min-width: 768px) {
    .front .mainview .mainview__banner {
        margin:32px auto 0
    }
}

@media screen and (min-width: 1200px) {
    .front .mainview .mainview__banner {
        -webkit-box-orient:vertical;
        -webkit-box-direction: normal;
        bottom: clamp(16px,3.2258064516vw,32px);
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 8px;
        margin: 0;
        max-width: none;
        position: absolute;
        right: clamp(16px,3.2258064516vw,32px);
        width: clamp(300px,24.7395833333vw,475px)
    }
}

.front .mainview .mainview__banner>a {
    display: inline-block;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media(hover) {
    .front .mainview .mainview__banner>a:hover {
        -webkit-box-shadow:0 8px 16px 0 rgba(0,0,0,.16);
        box-shadow: 0 8px 16px 0 rgba(0,0,0,.16)
    }
}

.front #banner {
    padding-bottom: 48px;
    padding-top: 48px
}

@media screen and (min-width: 768px) {
    .front #banner {
        padding-bottom:clamp(72px,8vw,96px);
        padding-top: clamp(72px,8vw,96px)
    }
}

.front #banner .banner-title {
    font-size: 22px;
    font-weight: 400;
    letter-spacing: .08em;
    margin-bottom: 12px;
    text-align: center
}

@media screen and (min-width: 768px) {
    .front #banner .banner-title {
        font-size:clamp(22px,2.6666666667vw,32px)
    }
}

.front #banner .banner-container {
    background-color: #e2ece0;
    padding-bottom: 24px;
    padding-top: 24px;
    position: relative
}

@media screen and (min-width: 768px) {
    .front #banner .banner-container {
        background-color:transparent;
        padding-bottom: 0;
        padding-left: inherit;
        padding-right: inherit;
        padding-top: 0
    }
}

.front #banner .banner-swiper {
    overflow: hidden
}

@media screen and (min-width: 768px) {
    .front #banner .banner-swiper {
        -webkit-box-align:center;
        -ms-flex-align: center;
        align-items: center;
        background-color: #e2ece0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin: auto;
        max-width: 70%;
        padding: 24px clamp(40px,5vw,80px)
    }
}

@media screen and (min-width: 1200px) {
    .front #banner .banner-swiper {
        max-width:clamp(480px,78.8333333333vw,946px)
    }
}

@media screen and (min-width: 768px) {
    .front #banner .banner-wrap.is-grid {
        -webkit-box-pack:center;
        -ms-flex-pack: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 16px;
        justify-content: center
    }
}

.front #banner .banner-wrap.is-grid .banner__item {
    width: 50%
}

.front #banner .banner__item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center
}

.front #banner .banner__item a {
    display: inline-block
}

@media(hover) {
    .front #banner .banner__item a:hover {
        opacity:.6
    }
}

.front #banner .banner__item img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.front #banner .banner__navigation {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    display: none;
    gap: 8px;
    justify-content: center;
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .front #banner .banner__navigation {
        margin-top:0
    }
}

.front #banner .banner__navigation.is-active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media screen and (min-width: 768px) {
    .front #banner .banner__navigation.is-active {
        display:block
    }

    .front #banner .banner__navigation .c-arrow-button {
        bottom: 0;
        margin: auto;
        position: absolute;
        top: 0;
        z-index: 1
    }

    .front #banner .banner__navigation .c-arrow-button--prev {
        left: 40px
    }
}

@media screen and (min-width: 992px) {
    .front #banner .banner__navigation .c-arrow-button--prev {
        left:56px
    }
}

@media screen and (min-width: 1200px) {
    .front #banner .banner__navigation .c-arrow-button--prev {
        left:40px
    }
}

@media screen and (min-width: 768px) {
    .front #banner .banner__navigation .c-arrow-button--next {
        right:40px
    }
}

@media screen and (min-width: 992px) {
    .front #banner .banner__navigation .c-arrow-button--next {
        right:56px
    }
}

@media screen and (min-width: 1200px) {
    .front #banner .banner__navigation .c-arrow-button--next {
        right:40px
    }
}

.front #intro {
    padding-bottom: 40px
}

@media screen and (min-width: 768px) {
    .front #intro {
        padding-bottom:0
    }
}

.front #intro .intro__image {
    position: relative;
    z-index: 1
}

.front #intro .intro__image--bottom {
    margin-top: 48px
}

@media screen and (min-width: 768px) {
    .front #intro .intro__image--bottom {
        margin-top:clamp(48px,10vw,160px)
    }
}

.front #intro .intro__report .intro__report__title {
    font-family: Cormorant,Noto Serif JP,sans-serif;
    font-size: 32px;
    font-style: italic;
    font-weight: 400;
    text-align: center
}

.front #intro .intro__report .intro__report__text {
    font-size: 12px;
    margin-top: 16px;
    text-align: center
}

.front #intro .intro__report .intro__report__item {
    border: 1px solid #a29f74;
    border-radius: 4px;
    margin-top: 24px
}

.front #intro .intro__report .intro__report__item+.intro__report__item {
    margin-top: 16px
}

.front #intro .intro__report .intro__report__item>a {
    display: block;
    padding: 24px 20px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media(hover) {
    .front #intro .intro__report .intro__report__item>a:hover {
        opacity:.7
    }

    .front #intro .intro__report .intro__report__item>a:hover .item-data-link .item-data-link__arrow {
        background-color: #0c4a26;
        border: 1px solid #0c4a26
    }

    .front #intro .intro__report .intro__report__item>a:hover .item-data-link .item-data-link__arrow span:before {
        -webkit-animation-delay: 0s;
        animation-delay: 0s;
        -webkit-animation-name: transformRightLeft;
        animation-name: transformRightLeft;
        background: url(../img/arrow_white.svg) no-repeat 50%/contain
    }

    .front #intro .intro__report .intro__report__item>a:hover .item-data-link .item-data-link__arrow span:after {
        -webkit-animation-delay: .2s;
        animation-delay: .2s;
        -webkit-animation-name: transformLeftRight;
        animation-name: transformLeftRight;
        background: url(../img/arrow_white.svg) no-repeat 50%/contain
    }
}

.front #intro .intro__report .intro__report__item>a img {
    width: 100%
}

.front #intro .intro__report .intro__report__item .item-title {
    font-size: 16px;
    font-weight: 400;
    margin-top: 8px
}

.front #intro .intro__report .intro__report__item .item-detail {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    margin-top: 8px
}

.front #intro .intro__report .intro__report__item .item-detail .date {
    font-size: 12px
}

.front #intro .intro__report .intro__report__item .item-data-link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    margin-left: auto;
    margin-top: 8px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.front #intro .intro__report .intro__report__item .item-data-link .item-data-link__text {
    font-size: 16px
}

.front #intro .intro__report .intro__report__item .item-data-link .item-data-link__arrow {
    border: 1px solid #b5bbb3;
    display: grid;
    height: 28px;
    place-items: center;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 28px
}

.front #intro .intro__report .intro__report__item .item-data-link .item-data-link__arrow span {
    display: block;
    height: 8px;
    overflow: hidden;
    position: relative;
    width: 16px
}

.front #intro .intro__report .intro__report__item .item-data-link .item-data-link__arrow span:after,.front #intro .intro__report .intro__report__item .item-data-link .item-data-link__arrow span:before {
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    background: url(../img/arrow_black.svg) no-repeat 50%/contain;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 100%
}

.front #intro .intro__report .intro__report__item .item-data-link .item-data-link__arrow span:after {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

.front #intro .intro__movie {
    margin: 0 auto;
    max-width: calc(100% - 12.8vw);
    padding: 0 0 48px
}

@media screen and (min-width: 768px) {
    .front #intro .intro__movie {
        max-width:70%;
        padding: 0 0 clamp(72px,8vw,96px)
    }
}

@media screen and (min-width: 1200px) {
    .front #intro .intro__movie {
        max-width:clamp(480px,78.8333333333vw,946px)
    }
}

.front #intro .intro__movie .intro__movie__title {
    font-size: 22px;
    font-weight: 400;
    text-align: center
}

@media screen and (min-width: 768px) {
    .front #intro .intro__movie .intro__movie__title {
        font-size:clamp(22px,2.6666666667vw,32px)
    }
}

.front #intro .intro__movie .intro__movie__inner {
    aspect-ratio: 335/188;
    margin-top: 12px
}

.front #intro .intro__movie .intro__movie__inner iframe {
    height: 100%;
    width: 100%
}

.front #intro .intro__movie .intro__movie__text {
    font-size: 12px;
    margin-top: 8px;
    text-align: center
}

@media screen and (min-width: 768px) {
    .front #intro .intro__movie .intro__movie__text {
        font-size:clamp(12px,1.3333333333vw,16px)
    }
}

.front #intro .intro__movie .intro__movie__text span {
    display: inline-block
}

.front #intro .intro__contents {
    overflow: hidden;
    padding: 0 0 48px
}

@media screen and (min-width: 768px) {
    .front #intro .intro__contents {
        -webkit-box-align:center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: clamp(32px,3.3333333333vw,40px);
        padding: clamp(48px,7.5vw,120px) 40px clamp(48px,9.25vw,148px)
    }
}

@media screen and (min-width: 1200px) {
    .front #intro .intro__contents {
        gap:clamp(40px,5.8333333333vw,112px);
        padding: clamp(48px,7.5vw,120px) clamp(40px,6.0416666667vw,116px) clamp(48px,9.25vw,148px)
    }
}

.front #intro .intro__contents .contents-img {
    aspect-ratio: 327/490;
    max-width: 600px;
    width: 87.2%
}

@media screen and (min-width: 768px) {
    .front #intro .intro__contents .contents-img {
        aspect-ratio:600/898;
        max-width: none;
        width: 40%
    }
}

@media screen and (min-width: 1200px) {
    .front #intro .intro__contents .contents-img {
        width:35.5%
    }
}

.front #intro .intro__contents .contents-img img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.front #intro .intro__contents .contents-description {
    margin-top: 64px;
    padding-left: 6.4vw;
    padding-right: 4vw;
    position: relative;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .front #intro .intro__contents .contents-description {
        margin-top:0;
        padding-left: 0;
        padding-right: 0;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content
    }
}

.front #intro .intro__contents .contents-description:before {
    aspect-ratio: 148/185;
    background: url(assets/img/front/intro_illust.svg) no-repeat 50%/contain;
    bottom: -40px;
    content: "";
    display: block;
    position: absolute;
    right: 0;
    width: 148px
}

@media screen and (min-width: 554px) {
    .front #intro .intro__contents .contents-description:before {
        right:clamp(80px,15.625vw,120px)
    }
}

@media screen and (min-width: 768px) {
    .front #intro .intro__contents .contents-description:before {
        right:-24px
    }
}

@media screen and (min-width: 1200px) {
    .front #intro .intro__contents .contents-description:before {
        bottom:clamp(-148px,-7.7083333333vw,-78px);
        right: clamp(-200px,-10.4166666667vw,-80px);
        width: clamp(148px,15.8333333333vw,304px)
    }
}

.front #intro .intro__contents .contents-description .contents-description__title {
    font-size: 24px;
    font-weight: 400;
    line-height: 1.8;
    position: relative;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .front #intro .intro__contents .contents-description .contents-description__title {
        font-size:22px
    }
}

@media screen and (min-width: 992px) {
    .front #intro .intro__contents .contents-description .contents-description__title {
        font-size:clamp(24px,2vw,32px);
        line-height: 2
    }
}

.front #intro .intro__contents .contents-description .contents-description__subtitle {
    font-size: 18px;
    font-weight: 400;
    line-height: 2;
    margin-top: 40px;
    position: relative;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .front #intro .intro__contents .contents-description .contents-description__subtitle {
        font-size:clamp(18px,1.375vw,22px);
        margin-top: clamp(24px,2.9166666667vw,56px)
    }
}

.front #intro .intro__contents .contents-description .contents-description__text {
    font-size: 16px;
    line-height: 2;
    margin-top: 40px;
    position: relative;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .front #intro .intro__contents .contents-description .contents-description__text {
        font-size:14px;
        margin-top: clamp(24px,2.9166666667vw,56px)
    }
}

@media screen and (min-width: 992px) {
    .front #intro .intro__contents .contents-description .contents-description__text {
        font-size:clamp(16px,1.125vw,18px);
        line-height: 3
    }
}

.front #intro .intro__contents .contents-description .c-button {
    margin-top: 40px
}

@media screen and (min-width: 768px) {
    .front #intro .intro__contents .contents-description .c-button {
        margin-top:clamp(40px,4.5vw,72px)
    }
}

.front #plan {
    background-color: #ecf3ea;
    border-top: 1px solid #b5bbb3;
    padding-bottom: 72px;
    padding-top: 72px
}

@media screen and (min-width: 768px) {
    .front #plan {
        padding-bottom:clamp(72px,7.5vw,120px);
        padding-top: clamp(72px,7.25vw,116px)
    }
}

.front #plan .plan-iframe iframe {
    height: 562px;
    width: 100%
}

@media screen and (min-width: 768px) {
    .front #plan .plan-iframe iframe {
        height:502px
    }
}

.front #page-link {
    border-top: 1px solid #b5bbb3;
    padding-bottom: 64px;
    padding-top: 40px
}

@media screen and (min-width: 768px) {
    .front #page-link {
        padding-bottom:clamp(80px,13.125vw,210px);
        padding-top: clamp(80px,10vw,160px)
    }
}

.front #page-link .page-link__wrap .item__inner--img img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.front #page-link .page-link__wrap .item__inner-text {
    font-family: Cormorant,Noto Serif JP,sans-serif;
    font-size: 32px;
    font-style: italic;
    font-weight: 400;
    margin-bottom: 6px
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap .item__inner-text {
        font-size:clamp(40px,4vw,64px);
        margin-bottom: 0
    }
}

.front #page-link .page-link__wrap .item__inner-number {
    font-size: 12px;
    margin-top: 8px
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap .item__inner-number {
        font-size:14px;
        margin-top: 16px
    }
}

.front #page-link .page-link__wrap .item__inner-catch {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    margin-left: 24px;
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap .item__inner-catch {
        font-size:clamp(18px,1.5vw,24px);
        line-height: 1.8;
        margin-left: clamp(24px,2.5vw,48px)
    }
}

.front #page-link .page-link__wrap .item__inner-description {
    line-height: 1.4;
    margin-left: 24px;
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap .item__inner-description {
        font-size:12px;
        line-height: 1.8;
        margin-left: clamp(24px,2.5vw,48px)
    }
}

@media screen and (min-width: 992px) {
    .front #page-link .page-link__wrap .item__inner-description {
        font-size:14px
    }
}

.front #page-link .page-link__wrap .c-button {
    margin-left: auto;
    margin-top: 24px
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap .c-button {
        width:180px
    }
}

.front #page-link .page-link__wrap .party-button {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0 clamp(16px,3vw,48px);
    justify-content: flex-end;
    margin-left: 24px
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap .party-button {
        margin-left:clamp(24px,2.5vw,48px)
    }
}

.front #page-link .page-link__wrap .party-button .c-button {
    margin-left: 0;
    margin-right: 0;
    width: 252px
}

@media screen and (min-width: 992px) {
    .front #page-link .page-link__wrap .party-button .c-button {
        min-width:calc(50% - clamp(8px,1.5vw,24px));
        width: auto
    }
}

.front #page-link .page-link__wrap--large {
    padding-left: 6.4vw;
    padding-right: 6.4vw
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap--large {
        padding-left:max(3.3333333333vw,40px);
        padding-right: 0
    }
}

@media screen and (min-width: 1600px) {
    .front #page-link .page-link__wrap--large {
        padding-left:min(6.0416666667vw,116px)
    }
}

.front #page-link .page-link__wrap--large .page-link__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap--large .page-link__item {
        -webkit-box-align:center;
        -ms-flex-align: center;
        align-items: center;
        display: grid;
        gap: clamp(24px,4.6875vw,90px);
        grid-template-columns: auto 50%
    }
}

@media screen and (min-width: 1200px) {
    .front #page-link .page-link__wrap--large .page-link__item {
        grid-template-columns:auto 62%
    }
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap--large .item__inner-text {
        font-size:clamp(40px,4.25vw,68px)
    }

    .front #page-link .page-link__wrap--large .item__inner-img {
        height: 100%
    }
}

.front #page-link .page-link__wrap--large .item__inner-number {
    margin-top: 8px
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap--large .item__inner-number {
        margin-top:clamp(32px,6.0416666667vw,116px)
    }

    .front #page-link .page-link__wrap--large .c-button {
        margin-top: 40px
    }
}

.front #page-link .page-link__wrap--medium {
    display: grid;
    gap: 40px;
    margin-top: 40px
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap--medium {
        gap:clamp(24px,4.0322580645vw,40px);
        grid-template-columns: 1fr 1fr;
        margin-top: 56px
    }
}

@media screen and (min-width: 1200px) {
    .front #page-link .page-link__wrap--medium {
        gap:clamp(120px,7.4479166667vw,143px)
    }
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap--medium .c-button {
        margin-top:16px
    }
}

.front #page-link .page-link__wrap--small {
    display: grid;
    gap: 64px;
    margin-top: 64px
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap--small {
        gap:16px;
        grid-template-columns: repeat(3,1fr);
        margin-top: clamp(64px,7.25vw,116px)
    }
}

@media screen and (min-width: 992px) {
    .front #page-link .page-link__wrap--small {
        gap:clamp(24px,3vw,48px)
    }
}

.front #page-link .page-link__wrap--small .page-link__item {
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap--small .page-link__item {
        display:initial
    }
}

.front #page-link .page-link__wrap--small .page-link__item .item__inner:first-child {
    width: 36%
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap--small .page-link__item .item__inner:first-child {
        width:auto
    }
}

.front #page-link .page-link__wrap--small .page-link__item .item__inner:nth-child(2) {
    width: 59%
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap--small .page-link__item .item__inner:nth-child(2) {
        width:auto
    }
}

.front #page-link .page-link__wrap--small .page-link__item .item__inner:nth-child(3) {
    width: 100%
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap--small .page-link__item .item__inner:nth-child(3) {
        width:auto
    }
}

.front #page-link .page-link__wrap--small .item__inner-catch {
    font-size: 16px
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap--small .item__inner-catch {
        font-size:clamp(16px,1.5vw,24px)
    }
}

.front #page-link .page-link__wrap--small .item__inner-catch,.front #page-link .page-link__wrap--small .item__inner-description {
    margin-left: 0
}

@media screen and (min-width: 768px) {
    .front #page-link .page-link__wrap--small .item__inner-catch,.front #page-link .page-link__wrap--small .item__inner-description {
        margin-left:0
    }

    .front .section__reel-wrap {
        display: none
    }
}

.front .section__reel-wrap .section__reel {
    margin-left: -6.4vw;
    margin-right: -6.4vw;
    overflow: hidden;
    padding-bottom: 80px;
    padding-top: 56px;
    width: calc(100% + 12.8vw)
}

@media screen and (min-width: 768px) {
    .front .section__reel-wrap .section__reel {
        margin-left:-40px;
        margin-right: -40px;
        padding-bottom: 120px;
        padding-top: 80px;
        width: calc(100% + 80px)
    }
}

@media screen and (min-width: 1200px) {
    .front .section__reel-wrap .section__reel {
        margin-left:auto;
        margin-right: auto;
        width: 100%
    }
}

.front .section__reel-wrap .section__reel .reel-swiper {
    overflow: hidden
}

@media screen and (min-width: 1200px) {
    .front .section__reel-wrap .section__reel .reel-swiper {
        overflow:initial
    }
}

.front .section__reel-wrap .section__reel .reel__wrap {
    width: 320px
}

@media screen and (min-width: 554px) {
    .front .section__reel-wrap .section__reel .reel__wrap {
        width:326px
    }
}

@media screen and (min-width: 1200px) {
    .front .section__reel-wrap .section__reel .reel__wrap {
        -webkit-box-pack:center;
        -ms-flex-pack: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 24px;
        justify-content: center;
        max-width: 100%;
        width: 100%
    }
}

.front .section__reel-wrap .section__reel .reel__wrap.is-grid {
    margin: 0 auto
}

@media screen and (min-width: 1200px) {
    .front .section__reel-wrap .section__reel .reel__wrap.is-grid {
        margin:initial
    }
}

@media screen and (min-width: 768px) {
    .front .section__reel-wrap .section__reel .reel__wrap.is-two {
        -webkit-box-pack:center;
        -ms-flex-pack: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 24px;
        justify-content: center;
        max-width: 100%;
        width: 100%
    }

    .front .section__reel-wrap .section__reel .reel__wrap.is-two>li {
        -ms-flex-negative: initial;
        flex-shrink: 1;
        width: 40%
    }

    .front .section__reel-wrap .section__reel .reel__wrap.is-two>li iframe {
        min-width: auto!important
    }
}

.front .section__reel-wrap .section__reel .reel__wrap li {
    height: 700px;
    overflow: hidden;
    position: relative
}

@media screen and (min-width: 1200px) {
    .front .section__reel-wrap .section__reel .reel__wrap li {
        width:30%
    }
}

.front .section__reel-wrap .section__reel .reel__wrap li:before {
    background: -webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,0)),to(#fff));
    background: linear-gradient(hsla(0,0%,100%,0),#fff);
    bottom: 0;
    content: "";
    display: block;
    height: 10%;
    position: absolute;
    width: 100%
}

.front .section__reel-wrap .section__reel .reel__wrap iframe {
    min-width: 320px!important
}

@media screen and (min-width: 554px) {
    .front .section__reel-wrap .section__reel .reel__wrap iframe {
        min-width:326px!important
    }
}

@media screen and (min-width: 1200px) {
    .front .section__reel-wrap .section__reel .reel__wrap iframe {
        min-width:auto!important
    }
}

.front .section__reel-wrap .section__reel .reel__navigation {
    display: none
}

.front .section__reel-wrap .section__reel .reel__navigation.is-active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    margin: 0 12.8vw 24px auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

@media screen and (min-width: 768px) {
    .front .section__reel-wrap .section__reel .reel__navigation.is-active {
        margin:0 80px 32px auto
    }
}

@media screen and (min-width: 1200px) {
    .front .section__reel-wrap .section__reel .reel__navigation.is-active {
        display:none
    }
}

.front #gallery {
    background-color: #23352b;
    overflow: hidden;
    position: relative
}

@media screen and (min-width: 768px) {
    .front #gallery .p-section-title__en {
        font-size:clamp(56px,5.5vw,88px)
    }
}

.front #gallery:after,.front #gallery:before {
    content: "";
    display: block;
    height: 230px;
    position: absolute;
    width: 1458px
}

@media screen and (min-width: 768px) {
    .front #gallery:after,.front #gallery:before {
        height:clamp(375px,30.25vw,484px);
        width: clamp(1458px,173.5vw,2776px)
    }
}

.front #gallery:before {
    -webkit-animation: galleryFlowRight 120s linear infinite;
    animation: galleryFlowRight 120s linear infinite;
    background: url(assets/img/front/gallery_top.png) repeat-x 0 0/1458px;
    left: 0;
    top: -48px;
    -webkit-transform: rotate(-6deg);
    transform: rotate(-6deg)
}

@media screen and (min-width: 768px) {
    .front #gallery:before {
        -webkit-animation:galleryFlowRight 70s linear infinite;
        animation: galleryFlowRight 70s linear infinite;
        background: url(assets/img/front/gallery_top.png) repeat-x 0 0/clamp(1458px,173.5vw,2776px);
        top: -86px
    }
}

.front #gallery:after {
    -webkit-animation: galleryFlowLeft 120s linear infinite;
    animation: galleryFlowLeft 120s linear infinite;
    background: url(assets/img/front/gallery_bottom.png) repeat-x 0 0/1458px;
    bottom: 16px;
    left: 0;
    -webkit-transform: rotate(-6deg);
    transform: rotate(-6deg)
}

@media screen and (min-width: 768px) {
    .front #gallery:after {
        -webkit-animation:galleryFlowLeft 70s linear infinite;
        animation: galleryFlowLeft 70s linear infinite;
        background: url(assets/img/front/gallery_bottom.png) repeat-x 0 0/clamp(1458px,173.5vw,2776px);
        bottom: -86px
    }
}

.front #gallery .gallery-link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    min-height: 460px;
    padding: 56px 0;
    width: 100%
}

@media screen and (min-width: 768px) {
    .front #gallery .gallery-link {
        min-height:auto;
        padding: clamp(80px,12vw,192px) 0
    }
}

@media screen and (min-width: 1200px) {
    .front #gallery .gallery-link {
        padding:clamp(120px,12vw,192px) 0
    }
}

@media(hover) {
    .front #gallery .gallery-link:hover .gallery-link__arrow:after {
        -webkit-transform:scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: 100% 50%;
        transform-origin: 100% 50%
    }

    .front #gallery .gallery-link:hover .arrow-icon:before {
        -webkit-animation-delay: 0s;
        animation-delay: 0s;
        -webkit-animation-name: transformRightLeft;
        animation-name: transformRightLeft
    }

    .front #gallery .gallery-link:hover .arrow-icon:after {
        -webkit-animation-delay: .2s;
        animation-delay: .2s;
        -webkit-animation-name: transformLeftRight;
        animation-name: transformLeftRight
    }
}

.front #gallery .gallery-link__description {
    color: #fff;
    line-height: 2;
    margin-top: 40px;
    position: relative;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .front #gallery .gallery-link__description {
        margin-top:27px
    }
}

.front #gallery .gallery-link__arrow {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    margin-top: 32px;
    padding: 0 0 10px;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    width: 180px;
    z-index: 1
}

.front #gallery .gallery-link__arrow:after {
    background: #fff;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%
}

@media screen and (min-width: 768px) {
    .front #gallery .gallery-link__arrow:after {
        -webkit-transform:scaleX(1);
        transform: scaleX(1);
        -webkit-transform-origin: 0 50%;
        transform-origin: 0 50%;
        -webkit-transition: -webkit-transform .3s;
        transition: -webkit-transform .3s;
        transition: transform .3s;
        transition: transform .3s,-webkit-transform .3s
    }
}

.front #gallery .gallery-link__arrow .arrow-text {
    color: #fff;
    font-size: 16px
}

.front #gallery .gallery-link__arrow .arrow-icon {
    display: block;
    height: 8px;
    overflow: hidden;
    position: relative;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 16px;
    z-index: 1
}

.front #gallery .gallery-link__arrow .arrow-icon:after,.front #gallery .gallery-link__arrow .arrow-icon:before {
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    background: url(../img/arrow_white.svg) no-repeat 50%/contain;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 100%
}

.front #gallery .gallery-link__arrow .arrow-icon:after {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

.front #report {
    padding-bottom: 80px;
    padding-top: 72px
}

@media screen and (min-width: 768px) {
    .front #report {
        padding-bottom:clamp(80px,10vw,160px);
        padding-top: clamp(72px,7.25vw,116px)
    }
}

.front #report .p-reportlist {
    margin-top: 50px
}

@media screen and (min-width: 992px) {
    .front #report .p-reportlist {
        margin-top:40px
    }
}

.front #report .report__action {
    margin: 40px auto 0
}

@media screen and (min-width: 768px) {
    .front #report .report__action {
        margin:72px auto 0
    }
}

.front #news {
    border-top: 1px solid #b5bbb3;
    padding-bottom: 80px;
    padding-top: 80px
}

@media screen and (min-width: 768px) {
    .front #news {
        padding-bottom:clamp(80px,13.875vw,222px);
        padding-top: clamp(80px,10vw,160px)
    }
}

.front #news .p-section-title {
    position: relative
}

.front #news .p-section-title:before {
    aspect-ratio: 100/174;
    background: url(assets/img/front/news_illust.svg) no-repeat 50%/contain;
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: -22px;
    width: 100px
}

@media screen and (min-width: 992px) {
    .front #news .p-section-title:before {
        left:0;
        right: auto;
        top: clamp(180px,15.125vw,242px);
        width: clamp(160px,11.25vw,180px)
    }
}

.front #news .news-area {
    margin-top: 40px
}

@media screen and (min-width: 992px) {
    .front #news .news-area {
        margin-left:auto;
        margin-top: -40px;
        max-width: 73%;
        min-width: 700px
    }
}

.front #news .p-newslist {
    position: relative;
    z-index: 1
}

.front #news .news__action {
    margin: 40px auto 0
}

@media screen and (min-width: 992px) {
    .front #news .news__action {
        margin:56px auto 0
    }
}

.front #link {
    background-color: #e2ece0;
    border-top: 1px solid #b5bbb3;
    padding: 40px 0
}

@media screen and (min-width: 768px) {
    .front #link {
        padding:86px 0
    }
}

.front #link .button-wrap {
    display: grid;
    gap: 16px
}

@media screen and (min-width: 768px) {
    .front #link .button-wrap {
        gap:20px;
        grid-template-columns: repeat(3,1fr)
    }
}

.single .article {
    margin-top: 24px
}

@media screen and (min-width: 992px) {
    .single .article {
        margin-top:0
    }
}

.single .article .article__header .date {
    color: #657786;
    font-size: 13px
}

@media screen and (min-width: 992px) {
    .single .article .article__header .date {
        font-size:14px
    }
}

.single .article .article__header .title {
    border-bottom: 1px solid #b5bbb3;
    font-size: clamp(24px,4.1666666667vw,32px);
    font-weight: 400;
    line-height: 1.5;
    margin-top: 8px;
    padding-bottom: 18px
}

@media screen and (min-width: 992px) {
    .single .article .article__header .title {
        margin-top:24px;
        padding-bottom: 24px
    }
}

.single .article .article__header .category {
    margin-top: 12px
}

@media screen and (min-width: 992px) {
    .single .article .article__header .category {
        margin-top:24px
    }
}

.single .article .article__header .category a {
    color: #0c4a26;
    font-size: 12px
}

@media screen and (min-width: 992px) {
    .single .article .article__header .category a {
        font-size:13px
    }
}

.single .article .article__header .category a:hover {
    text-decoration: underline
}

.single .article .article__info {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px
}

.single .article .article__thumbnail {
    margin: 24px 0
}

@media screen and (min-width: 992px) {
    .single .article .article__thumbnail {
        margin:40px 0
    }
}

.single .article .article__thumbnail img {
    height: auto;
    max-width: 100%;
    width: 100%
}

.single .article .article__back {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    margin-top: 32px
}

@media screen and (min-width: 992px) {
    .single .article .article__back {
        margin-top:80px
    }
}

.single .single__share {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 16px;
    justify-content: center;
    margin-top: 48px
}

@media screen and (min-width: 768px) {
    .single .single__share {
        -webkit-box-orient:horizontal;
        -webkit-box-direction: normal;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 40px;
        justify-content: flex-start;
        margin-top: 64px;
        position: relative
    }
}

.single .single__share>h3 {
    font-size: 24px;
    font-weight: 400
}

.single .single__share>ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 8px
}

@media screen and (min-width: 768px) {
    .single .single__share>ul {
        -webkit-box-orient:horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
}

@media screen and (min-width: 992px) {
    .single .single__share>ul {
        gap:16px
    }
}

@media screen and (min-width: 1200px) {
    .single .single__share>ul {
        left:50%;
        position: absolute;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 640px
    }
}

.single .single__share .share-button {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    border: 1px solid #000;
    border-radius: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    height: 60px;
    justify-content: center;
    -webkit-transition: all .3s;
    transition: all .3s;
    width: 278px
}

@media screen and (min-width: 768px) {
    .single .single__share .share-button {
        width:188px
    }
}

.single .single__share .share-button .share-button__icon {
    line-height: 0
}

.single .single__share .share-button .share-button__icon svg path {
    -webkit-transition: fill .3s;
    transition: fill .3s
}

.single .single__share .share-button .share-button__text {
    font-size: 16px;
    -webkit-transition: color .3s;
    transition: color .3s
}

@media(hover) {
    .single .single__share .share-button:hover {
        background-color:#0c4a26
    }

    .single .single__share .share-button:hover .share-button__icon svg path {
        fill: #fff
    }

    .single .single__share .share-button:hover .share-button__text {
        color: #fff
    }
}

.single .single__back {
    border-top: 1px solid #b5bbb3;
    margin-bottom: 128px;
    margin-top: 56px;
    padding-top: 56px
}

@media screen and (min-width: 992px) {
    .single .single__back {
        margin-bottom:0
    }
}

.single .single__back .c-button {
    max-width: 500px
}

@media screen and (min-width: 1200px) {
    .single .single__back .c-button {
        max-width:100%;
        width: 640px
    }
}

#ez-toc-container {
    border-color: #b5bbb3;
    border-radius: 0
}

#ez-toc-container a {
    -webkit-box-align: center!important;
    -ms-flex-align: center!important;
    align-items: center!important;
    color: #000!important
}

#ez-toc-container ul>li:before {
    display: none
}

#ez-toc-container ul>li a {
    padding-left: 1.2em;
    position: relative
}

#ez-toc-container ul>li a:before {
    background-color: #a29f74;
    border-radius: 4px;
    content: "";
    height: 8px;
    left: 0;
    position: absolute;
    top: .85em;
    width: 8px
}

#ez-toc-container .ez-toc-cssicon,#ez-toc-container .ez-toc-toggle label {
    border: none!important
}

@media screen and (max-width: 767px) {
    #ez-toc-container p.ez-toc-title {
        font-size:18px!important
    }
}

#ez-toc-container .ez-toc-list {
    border-top: 1px solid #b5bbb3;
    margin-top: 10px;
    padding-top: 10px
}

.concept .concept-intro {
    padding-bottom: 68px;
    padding-top: 40px
}

@media screen and (min-width: 768px) {
    .concept .concept-intro {
        padding-bottom:clamp(68px,9.125vw,146px);
        padding-top: clamp(40px,7.25vw,116px)
    }
}

.concept .concept-intro .p-wide-column__description {
    position: relative
}

.concept .concept-intro .p-wide-column__description>div {
    position: relative;
    z-index: 2
}

.concept .concept-intro .p-wide-column__description:before {
    aspect-ratio: 320/297;
    background: url(assets/img/concept/intro_illust.svg) no-repeat 50%/contain;
    bottom: -120px;
    content: "";
    display: block;
    position: absolute;
    right: 0;
    width: 193px;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .concept .concept-intro .p-wide-column__description:before {
        bottom:0;
        right: clamp(80px,12.0967741935vw,120px);
        width: clamp(193px,16.6666666667vw,320px)
    }
}

@media screen and (min-width: 992px) {
    .concept .concept-intro .p-wide-column__description:before {
        bottom:-50px;
        right: 32px
    }
}

.concept .concept-overview {
    border-top: 1px solid #b5bbb3;
    padding-top: 72px
}

@media screen and (min-width: 768px) {
    .concept .concept-overview {
        padding-top:clamp(72px,10vw,116px)
    }
}

.concept .concept-overview .overview-history {
    padding-bottom: 48px;
    padding-top: 48px
}

@media screen and (min-width: 768px) {
    .concept .concept-overview .overview-history {
        padding-bottom:clamp(48px,7.25vw,116px);
        padding-top: clamp(48px,7.25vw,116px)
    }
}

.concept .concept-overview .overview-history__title {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4
}

@media screen and (min-width: 768px) {
    .concept .concept-overview .overview-history__title {
        font-size:clamp(18px,2vw,32px)
    }
}

.concept .concept-overview .overview__description {
    background-color: #e2ece0;
    padding: 16px 32px 32px
}

@media screen and (min-width: 768px) {
    .concept .concept-overview .overview__description {
        padding:40px
    }
}

@media screen and (min-width: 1200px) {
    .concept .concept-overview .overview__description {
        padding:clamp(16px,7vw,112px) 40px clamp(32px,14.375vw,230px)
    }
}

.concept .concept-overview .overview-history__detail {
    line-height: 1.8;
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .concept .concept-overview .overview-history__detail {
        display:grid;
        grid-template-columns: 100px auto;
        margin-top: clamp(16px,3.3333333333vw,40px)
    }
}

.concept .concept-overview .overview-history__detail dt {
    font-size: 16px;
    margin-top: 16px;
    position: relative
}

@media screen and (min-width: 768px) {
    .concept .concept-overview .overview-history__detail dt {
        font-size:clamp(16px,1.5vw,24px)
    }
}

.concept .concept-overview .overview-history__detail dt:after {
    background-color: #000;
    bottom: 0;
    content: "";
    display: inline-block;
    height: 1px;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    width: calc(100% - 60px)
}

@media screen and (min-width: 768px) {
    .concept .concept-overview .overview-history__detail dt:after {
        content:none
    }
}

.concept .concept-overview .overview-history__detail dd {
    font-size: 14px
}

@media screen and (min-width: 768px) {
    .concept .concept-overview .overview-history__detail dd {
        -webkit-box-align:center;
        -ms-flex-align: center;
        align-items: center;
        border-left: 1px solid #000;
        display: grid;
        margin-top: 16px;
        padding-left: 24px;
        position: relative
    }
}

.concept .concept-overview .overview-history__detail dd .note {
    display: inline-block;
    font-size: 12px;
    line-height: 1.4;
    margin-top: 8px
}

@media screen and (min-width: 768px) {
    .concept .concept-overview .overview-history__detail dd .note {
        line-height:1.8;
        margin-top: 0
    }
}

.concept .concept-overview .overview__action {
    margin-top: 64px
}

@media screen and (min-width: 768px) {
    .concept .concept-overview .overview__action {
        margin-top:clamp(64px,7.25vw,116px)
    }
}

.concept .overview-contents-bg {
    margin-bottom: 64px;
    margin-top: 64px
}

@media screen and (min-width: 768px) {
    .concept .overview-contents-bg {
        margin-bottom:clamp(64px,10vw,160px);
        margin-top: clamp(64px,10vw,160px)
    }
}

.about .about-feature {
    border-top: 1px solid #b5bbb3;
    padding-bottom: 80px;
    padding-top: 80px
}

@media screen and (min-width: 768px) {
    .about .about-feature {
        padding-bottom:clamp(80px,7.25vw,116px);
        padding-top: clamp(80px,7.25vw,116px)
    }
}

.about .about-feature .p-column-wrap {
    margin-top: 40px
}

@media screen and (min-width: 768px) {
    .about .about-feature .p-column-wrap {
        margin-top:clamp(40px,5vw,80px)
    }
}

.about .about-intro {
    display: grid;
    gap: 40px;
    padding-bottom: 116px;
    padding-top: 48px
}

@media screen and (min-width: 768px) {
    .about .about-intro {
        -webkit-box-pack:justify;
        -ms-flex-pack: justify;
        gap: 0;
        grid-template-columns: auto clamp(320px,33.3333333333vw,400px) auto;
        justify-content: space-between;
        padding-bottom: clamp(116px,12.1875vw,195px);
        padding-top: clamp(48px,6.8125vw,109px)
    }
}

@media screen and (min-width: 1200px) {
    .about .about-intro {
        grid-template-columns:clamp(380px,31.3541666667vw,602px) clamp(320px,24vw,384px) clamp(380px,37.2395833333vw,715px)
    }
}

.about .about-intro .intro__img {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 32px
}

@media screen and (min-width: 768px) {
    .about .about-intro .intro__img {
        gap:clamp(40px,6.125vw,98px)
    }
}

.about .about-intro .intro__img--left {
    padding-right: 6.4vw
}

@media screen and (min-width: 768px) {
    .about .about-intro .intro__img--left {
        padding-right:0
    }
}

.about .about-intro .intro__img--left .intro__img-02 {
    width: 57%
}

.about .about-intro .intro__img--right {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding-left: 6.4vw
}

@media screen and (min-width: 768px) {
    .about .about-intro .intro__img--right {
        -webkit-box-align:center;
        -ms-flex-align: center;
        align-items: center;
        margin-top: 80px;
        padding-left: 0
    }
}

@media screen and (min-width: 1200px) {
    .about .about-intro .intro__img--right {
        margin-top:clamp(40px,7.3125vw,117px)
    }
}

.about .about-intro .intro__img--right .intro__img-03 {
    width: 68%
}

@media screen and (min-width: 768px) {
    .about .about-intro .intro__img--right .intro__img-03 {
        width:75%
    }
}

.about .about-intro .intro__img--right .intro__img-04 {
    margin-left: auto;
    width: 86%
}

@media screen and (min-width: 768px) {
    .about .about-intro .intro__img--right .intro__img-04 {
        margin-left:0;
        width: 100%
    }
}

.about .about-intro .intro__description {
    padding-left: 6.4vw;
    padding-right: 6.4vw;
    position: relative
}

@media screen and (min-width: 768px) {
    .about .about-intro .intro__description {
        display:grid;
        margin-top: 24px;
        padding-left: 0;
        padding-right: 0;
        place-items: center
    }
}

@media screen and (min-width: 1200px) {
    .about .about-intro .intro__description {
        margin-top:clamp(40px,7.3125vw,117px);
        place-items: initial
    }
}

@media screen and (min-width: 768px) {
    .about .about-intro .intro__description:after {
        aspect-ratio:262/328;
        background: url(assets/img/about/intro_illust.svg) no-repeat 50%/contain;
        content: "";
        display: block;
        margin-top: 16px;
        width: clamp(160px,16.375vw,262px)
    }
}

.about .about-intro .intro__description .intro-title {
    font-size: 24px;
    font-weight: 400;
    line-height: 1.8
}

@media screen and (min-width: 768px) {
    .about .about-intro .intro__description .intro-title {
        font-size:clamp(22px,2vw,32px);
        line-height: 2
    }
}

.about .about-intro .intro__description .intro-subtitle {
    font-size: 18px;
    line-height: 1.8;
    margin-top: 40px
}

@media screen and (min-width: 768px) {
    .about .about-intro .intro__description .intro-subtitle {
        font-size:clamp(16px,1.375vw,22px);
        line-height: 2
    }
}

.about .about-intro .intro__description .intro-text {
    font-size: 16px;
    line-height: 2;
    margin-top: 40px
}

@media screen and (min-width: 768px) {
    .about .about-intro .intro__description .intro-text {
        font-size:clamp(14px,1.125vw,18px);
        line-height: 3
    }
}

.about .about-overview {
    padding-bottom: 80px
}

@media screen and (min-width: 768px) {
    .about .about-overview {
        padding-bottom:clamp(80px,7.0625vw,113px)
    }
}

.about .about-overview .overview-wrap {
    display: grid;
    gap: 16px;
    margin-top: 40px;
    place-items: center
}

@media screen and (min-width: 768px) {
    .about .about-overview .overview-wrap {
        gap:clamp(24px,3.3333333333vw,40px);
        grid-template-columns: 1fr 1fr;
        margin-top: clamp(40px,6.6666666667vw,80px);
        place-items: initial
    }
}

.about .about-overview .overview-wrap__img {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
}

@media screen and (min-width: 768px) {
    .about .about-overview .overview-wrap__img {
        -webkit-box-ordinal-group:3;
        -ms-flex-order: 2;
        order: 2
    }
}

.about .about-overview .overview-wrap__description {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
}

@media screen and (min-width: 768px) {
    .about .about-overview .overview-wrap__description {
        -webkit-box-ordinal-group:2;
        -ms-flex-order: 1;
        order: 1
    }
}

.about .about-overview .overview-wrap__description .description-title {
    font-size: 18px;
    font-weight: 400
}

@media screen and (min-width: 768px) {
    .about .about-overview .overview-wrap__description .description-title {
        font-size:clamp(18px,2vw,32px)
    }
}

.about .about-overview .overview-wrap__description .description-text {
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .about .about-overview .overview-wrap__description .description-text {
        margin-top:clamp(24px,2.5vw,40px)
    }
}

.about .about-overview .overview-map {
    margin-top: 40px
}

@media screen and (min-width: 768px) {
    .about .about-overview .overview-map {
        margin-top:clamp(40px,6.6666666667vw,80px)
    }
}

.about .about-overview .overview-map__text {
    font-size: 24px;
    font-weight: 400;
    text-align: center
}

@media screen and (min-width: 768px) {
    .about .about-overview .overview-map__text {
        font-size:clamp(24px,2.6666666667vw,32px)
    }
}

.about .about-overview .overview-map__img {
    margin: 16px -6.4vw 0;
    mix-blend-mode: multiply;
    overflow-y: hidden!important
}

@media screen and (min-width: 768px) {
    .about .about-overview .overview-map__img {
        margin:24px auto 0;
        max-width: 90%
    }
}

@media screen and (min-width: 1600px) {
    .about .about-overview .overview-map__img {
        max-width:100%
    }
}

.about .about-overview .overview-map__img img {
    min-width: 824px
}

@media screen and (min-width: 768px) {
    .about .about-overview .overview-map__img img {
        min-width:auto
    }
}

.about .about-venue {
    border-top: 1px solid #b5bbb3;
    padding-top: 80px
}

@media screen and (min-width: 768px) {
    .about .about-venue {
        padding-top:clamp(80px,7.25vw,116px)
    }
}

.chapel .chapel-feature {
    border-top: 1px solid #b5bbb3;
    padding-bottom: 116px;
    padding-top: 72px
}

@media screen and (min-width: 768px) {
    .chapel .chapel-feature {
        padding-bottom:clamp(116px,10vw,160px);
        padding-top: clamp(72px,7.25vw,116px)
    }
}

.chapel .chapel-feature .p-column-wrap {
    position: relative
}

@media screen and (min-width: 768px) {
    .chapel .chapel-feature .p-column-wrap:after {
        aspect-ratio:307/443;
        background: url(assets/img/chapel/example_illust.svg) no-repeat 50%/contain;
        bottom: 0;
        content: "";
        display: block;
        position: absolute;
        right: 8%;
        width: clamp(240px,19.1875vw,307px)
    }
}

@media screen and (min-width: 992px) {
    .chapel .chapel-feature .p-column-wrap:after {
        right:16%
    }
}

.chapel .chapel-feature .p-column-wrap .c-button--underline {
    margin-left: auto;
    margin-top: 24px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.chapel .chapel-feature .p-gallery-slider {
    margin-top: 72px
}

@media screen and (min-width: 768px) {
    .chapel .chapel-feature .p-gallery-slider {
        margin-top:clamp(72px,7.25vw,116px)
    }
}

.chapel .chapel-venue {
    border-top: 1px solid #b5bbb3;
    padding-top: 80px
}

@media screen and (min-width: 768px) {
    .chapel .chapel-venue {
        padding-top:clamp(80px,7.25vw,116px)
    }
}

.agape .agape-feature {
    border-top: 1px solid #b5bbb3;
    padding-bottom: 116px;
    padding-top: 72px
}

@media screen and (min-width: 768px) {
    .agape .agape-feature {
        padding-bottom:clamp(116px,10vw,160px);
        padding-top: clamp(72px,7.25vw,116px)
    }

    .agape .p-column-wrap--shift {
        padding-bottom: clamp(120px,12.5vw,240px)
    }
}

.agape .p-gallery-slider {
    margin-top: 72px
}

@media screen and (min-width: 768px) {
    .agape .p-gallery-slider {
        margin-top:clamp(72px,7.25vw,116px)
    }
}

.agape .agape-venue {
    border-top: 1px solid #b5bbb3;
    padding-top: 80px
}

@media screen and (min-width: 768px) {
    .agape .agape-venue {
        padding-top:clamp(80px,7.25vw,116px)
    }
}

.charis .charis-feature {
    border-top: 1px solid #b5bbb3;
    padding-bottom: 116px;
    padding-top: 72px
}

@media screen and (min-width: 768px) {
    .charis .charis-feature {
        padding-bottom:clamp(116px,10vw,160px);
        padding-top: clamp(72px,7.25vw,116px)
    }

    .charis .p-column-wrap--shift {
        padding-bottom: clamp(120px,12.5vw,240px)
    }
}

.charis .p-gallery-slider {
    margin-top: 72px
}

@media screen and (min-width: 768px) {
    .charis .p-gallery-slider {
        margin-top:clamp(72px,7.25vw,116px)
    }
}

.charis .charis-venue {
    border-top: 1px solid #b5bbb3;
    padding-top: 80px
}

@media screen and (min-width: 768px) {
    .charis .charis-venue {
        padding-top:clamp(80px,7.25vw,116px)
    }
}

.cuisine .l-page__mainview {
    aspect-ratio: auto
}

.cuisine .l-page__mainview video {
    height: auto;
    max-width: 100%
}

.cuisine .cuisine-mainview {
    margin: auto;
    max-width: 1480px
}

@media screen and (min-width: 768px) {
    .cuisine .cuisine-mainview {
        padding-left:40px;
        padding-right: 40px
    }
}

.cuisine .cuisine-intro {
    padding-bottom: 64px;
    padding-top: 40px
}

@media screen and (min-width: 768px) {
    .cuisine .cuisine-intro {
        padding-bottom:clamp(64px,11.75vw,188px);
        padding-top: clamp(40px,7.25vw,116px)
    }
}

.cuisine .cuisine-example {
    border-top: 1px solid #b5bbb3;
    padding-bottom: 72px;
    padding-top: 8px
}

@media screen and (min-width: 768px) {
    .cuisine .cuisine-example {
        padding-bottom:clamp(72px,10vw,160px);
        padding-top: clamp(8px,2.75vw,44px)
    }
}

.cuisine .cuisine-example .p-column-wrap {
    position: relative
}

@media screen and (min-width: 768px) {
    .cuisine .cuisine-example .p-column-wrap:after {
        aspect-ratio:300/353;
        background: url(assets/img/cuisine/example_illust.svg) no-repeat 50%/contain;
        bottom: 0;
        content: "";
        display: block;
        position: absolute;
        right: 8%;
        width: clamp(240px,18.75vw,300px)
    }
}

@media screen and (min-width: 992px) {
    .cuisine .cuisine-example .p-column-wrap:after {
        right:16%
    }
}

.cuisine .cuisine-example .p-column-wrap .c-button--underline {
    margin-left: auto;
    margin-top: 24px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.cuisine .cuisine-gallery {
    padding-bottom: 72px
}

@media screen and (min-width: 768px) {
    .cuisine .cuisine-gallery {
        padding-bottom:clamp(72px,7.5vw,120px)
    }
}

.cuisine .cuisine-gallery .gallery-wrap {
    display: grid;
    gap: 48px
}

@media screen and (min-width: 768px) {
    .cuisine .cuisine-gallery .gallery-wrap {
        gap:clamp(40px,5.6451612903vw,56px);
        grid-template-columns: 1fr 1fr;
        padding-bottom: clamp(80px,6.25vw,120px)
    }
}

@media screen and (min-width: 992px) {
    .cuisine .cuisine-gallery .gallery-wrap {
        gap:clamp(48px,7.25vw,116px) clamp(48px,7.4479166667vw,143px)
    }
}

@media screen and (min-width: 768px) {
    .cuisine .cuisine-gallery .gallery-wrap__item:nth-child(2n) {
        -webkit-transform:translateY(clamp(80px,6.25vw,120px));
        transform: translateY(clamp(80px,6.25vw,120px))
    }
}

.cuisine .cuisine-message {
    border-top: 1px solid #b5bbb3;
    padding-top: 72px
}

@media screen and (min-width: 768px) {
    .cuisine .cuisine-message {
        padding-top:clamp(72px,7.25vw,116px)
    }
}

.cuisine .cuisine-message .message-wrap {
    display: grid;
    gap: 40px
}

@media screen and (min-width: 768px) {
    .cuisine .cuisine-message .message-wrap {
        gap:5%;
        grid-template-columns: 50% 45%
    }
}

.cuisine .cuisine-message .message-wrap .message-wrap__text .title {
    font-size: 18px
}

@media screen and (min-width: 768px) {
    .cuisine .cuisine-message .message-wrap .message-wrap__text .title {
        font-size:clamp(18px,2vw,32px)
    }
}

.cuisine .cuisine-message .message-wrap .message-wrap__text .text {
    margin-top: 20px
}

@media screen and (min-width: 768px) {
    .cuisine .cuisine-message .message-wrap .message-wrap__text .text {
        margin-top:clamp(20px,2.5vw,40px)
    }
}

.cuisine .cuisine-message .contents {
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .cuisine .cuisine-message .contents {
        margin-top:clamp(8px,4.25vw,68px)
    }
}

.cuisine .cuisine-message .contents .contents-item {
    border-bottom: 1px solid #b5bbb3;
    display: grid;
    gap: 8px;
    grid-template-columns: 48px auto;
    padding: 24px 0
}

@media screen and (min-width: 768px) {
    .cuisine .cuisine-message .contents .contents-item {
        gap:0;
        grid-template-columns: 8% 20% auto;
        padding: 32px 0
    }
}

@media screen and (min-width: 992px) {
    .cuisine .cuisine-message .contents .contents-item {
        grid-template-columns:7.6% 22% auto
    }
}

.cuisine .cuisine-message .contents .contents-item__inner {
    grid-column: 1/3
}

@media screen and (min-width: 768px) {
    .cuisine .cuisine-message .contents .contents-item__inner {
        grid-column:initial
    }
}

.cuisine .cuisine-message .contents .contents-item__inner .main {
    font-size: 18px;
    line-height: 1.8
}

@media screen and (min-width: 768px) {
    .cuisine .cuisine-message .contents .contents-item__inner .main {
        line-height:1.4
    }
}

.cuisine .cuisine-message .contents .contents-item__inner .note {
    margin-top: 8px
}

.dress .dress-intro {
    padding-bottom: 64px;
    padding-top: 40px
}

@media screen and (min-width: 768px) {
    .dress .dress-intro {
        padding-bottom:clamp(64px,11.75vw,188px);
        padding-top: clamp(40px,7.25vw,116px)
    }
}

.dress .dress-intro .p-wide-column__img img {
    -o-object-position: 0 50%;
    object-position: 0 50%
}

.dress .dress-gallery .gallery-wrap {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3,1fr)
}

.dress .dress-shop {
    padding-top: 64px
}

@media screen and (min-width: 768px) {
    .dress .dress-shop {
        margin-top:clamp(64px,10vw,160px);
        padding-top: clamp(64px,10vw,160px)
    }
}

.dress .dress-shop .shop-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    background-color: #e2ece0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 16px;
    padding: 24px 24px 40px
}

@media screen and (min-width: 768px) {
    .dress .dress-shop .shop-wrap {
        display:grid;
        gap: clamp(32px,2.5vw,40px);
        grid-template-columns: 1fr 1fr;
        padding: clamp(32px,2.5vw,40px)
    }

    .dress .dress-shop .shop-wrap__detail {
        display: grid;
        place-content: flex-end
    }
}

@media screen and (min-width: 1200px) {
    .dress .dress-shop .shop-wrap__detail {
        padding-left:clamp(1px,2.8125vw,54px)
    }
}

@media screen and (min-width: 768px) {
    .dress .dress-shop .shop-wrap__detail .logo img {
        width:clamp(240px,22.3125vw,357px)
    }
}

.dress .dress-shop .shop-wrap__detail .logo span {
    display: block;
    font-size: 16px;
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .dress .dress-shop .shop-wrap__detail .logo span {
        margin-top:clamp(8px,1.5vw,24px)
    }
}

.dress .dress-shop .shop-wrap__detail .text {
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .dress .dress-shop .shop-wrap__detail .text {
        margin-top:clamp(16px,2vw,24px)
    }
}

.dress .dress-shop .shop-wrap__detail .c-button {
    margin: 32px auto 0
}

@media screen and (min-width: 768px) {
    .dress .dress-shop .shop-wrap__detail .c-button {
        margin:clamp(24px,2.6666666667vw,32px) 0 0 auto
    }
}

.dress .dress-shop .shop-wrap__img img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 70% 50%;
    object-position: 70% 50%;
    width: 100%
}

.petwedding .petwedding-intro {
    padding-bottom: 64px;
    padding-top: 40px
}

@media screen and (min-width: 768px) {
    .petwedding .petwedding-intro {
        padding-bottom:clamp(64px,11.75vw,188px);
        padding-top: clamp(40px,7.25vw,116px)
    }
}

.petwedding .petwedding-intro .p-wide-column__description .description-inner__title {
    font-family: Cormorant,Noto Serif JP,sans-serif;
    font-size: 40px;
    font-style: italic
}

@media screen and (min-width: 768px) {
    .petwedding .petwedding-intro .p-wide-column__description .description-inner__title {
        font-size:clamp(40px,2.9166666667vw,56px);
        line-height: 1.4
    }
}

.petwedding .petwedding-intro .p-wide-column__description .description-inner__link {
    color: #0c4a26;
    display: inline-block;
    margin-top: 30px;
    text-decoration: underline
}

.petwedding .petwedding-nav {
    border-top: 1px solid #b5bbb3;
    padding-top: clamp(40px,5.2083333333vw,100px)
}

@media screen and (min-width: 768px) {
    .petwedding .petwedding-nav__list {
        -webkit-box-pack:justify;
        -ms-flex-pack: justify;
        -webkit-column-gap: 4%;
        -moz-column-gap: 4%;
        column-gap: 4%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between
    }
}

@media screen and (min-width: 992px) {
    .petwedding .petwedding-nav__list {
        -webkit-column-gap:2%;
        -moz-column-gap: 2%;
        column-gap: 2%
    }
}

@media screen and (min-width: 768px) {
    .petwedding .petwedding-nav__item {
        width:48%
    }
}

@media screen and (min-width: 992px) {
    .petwedding .petwedding-nav__item {
        width:32%
    }
}

.petwedding .petwedding-nav__item .item__inner {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    padding-bottom: 16px;
    padding-top: 16px;
    position: relative
}

.petwedding .petwedding-nav__item .item__inner:before {
    background-color: #000;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transition: width .3s;
    transition: width .3s;
    width: 100%
}

.petwedding .petwedding-nav__item .item__inner:after {
    border-right: 1px solid #000;
    border-top: 1px solid #000;
    content: "";
    display: block;
    height: 7px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    width: 7px
}

@media(hover) {
    .petwedding .petwedding-nav__item .item__inner:hover:before {
        width:0
    }
}

.petwedding .petwedding-nav__item .item__text {
    font-size: 14px;
    line-height: 1.8
}

.petwedding .petwedding-example {
    padding-top: 72px
}

@media screen and (min-width: 768px) {
    .petwedding .petwedding-example {
        padding-top:clamp(36px,5vw,80px)
    }
}

.petwedding .petwedding-example .p-column-wrap {
    padding-top: clamp(36px,5vw,80px)
}

@media screen and (min-width: 768px) {
    .petwedding .p-column-wrap--shift {
        padding-bottom:clamp(120px,12.5vw,240px)
    }
}

.petwedding .petwedding-movie {
    margin: 0 auto;
    max-width: calc(100% - 12.8vw)
}

@media screen and (min-width: 768px) {
    .petwedding .petwedding-movie {
        max-width:70%
    }
}

@media screen and (min-width: 1200px) {
    .petwedding .petwedding-movie {
        max-width:clamp(480px,78.8333333333vw,946px)
    }
}

.petwedding .petwedding-movie .petwedding-movie__inner {
    aspect-ratio: 335/188;
    margin-top: 12px
}

.petwedding .petwedding-movie .petwedding-movie__inner iframe {
    height: 100%;
    width: 100%
}

.petwedding .petwedding-flow {
    padding-top: clamp(58px,6.0416666667vw,116px)
}

.petwedding .petwedding-flow__body {
    margin-top: clamp(30px,5vw,80px)
}

.petwedding .petwedding-flow__body .p-column-wrap--shift {
    margin-top: clamp(40px,5vw,80px);
    padding-bottom: 40px
}

@media screen and (min-width: 768px) {
    .petwedding .petwedding-flow__body .p-column-wrap--shift {
        padding-bottom:clamp(160px,20vw,320px)
    }
}

.petwedding .petwedding-flow__block {
    margin-bottom: 40px
}

@media screen and (min-width: 768px) {
    .petwedding .petwedding-flow__block .block__inner {
        -webkit-box-pack:justify;
        -ms-flex-pack: justify;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-content: space-between
    }

    .petwedding .petwedding-flow__block .block__desc {
        width: 48%
    }
}

@media screen and (min-width: 1200px) {
    .petwedding .petwedding-flow__block .block__desc {
        width:36.666%
    }
}

.petwedding .petwedding-flow__block .block__desc .num {
    color: #e2ece0;
    font-size: clamp(36px,4.5vw,72px);
    line-height: 1;
    margin-bottom: clamp(12px,1.5vw,24px)
}

.petwedding .petwedding-flow__block .block__desc .title {
    font-size: clamp(17px,1.5vw,24px);
    font-weight: 400;
    line-height: 1.4;
    margin-bottom: clamp(8px,1vw,16px)
}

.petwedding .petwedding-flow__block .block__desc .text {
    line-height: 1.8
}

.petwedding .petwedding-flow__block .block__image {
    margin-top: 24px
}

@media screen and (min-width: 768px) {
    .petwedding .petwedding-flow__block .block__image {
        margin-top:0;
        width: 47%
    }
}

@media screen and (min-width: 992px) {
    .petwedding .petwedding-flow__block .block__image {
        width:50%
    }
}

@media screen and (min-width: 1200px) {
    .petwedding .petwedding-flow__block .block__image {
        width:59.5%
    }
}

.petwedding .point {
    padding-top: 64px
}

@media screen and (min-width: 768px) {
    .petwedding .point {
        padding-top:clamp(64px,7.25vw,116px)
    }
}

.petwedding .point .point-area {
    background-color: #e2ece0;
    margin-top: clamp(36px,3vw,48px);
    overflow: hidden;
    padding: 24px 24px 32px
}

@media screen and (min-width: 768px) {
    .petwedding .point .point-area {
        padding:clamp(24px,2vw,32px) clamp(24px,3.3333333333vw,64px) clamp(32px,3vw,48px)
    }
}

.petwedding .point .point-area .point-area__title .title-en {
    font-size: 16px;
    font-weight: 400
}

@media screen and (min-width: 768px) {
    .petwedding .point .point-area .point-area__title .title-en {
        font-size:18px
    }
}

.petwedding .point .point-area .point-area__title .title-ja {
    font-size: 18px;
    font-weight: 400;
    margin-top: 8px
}

@media screen and (min-width: 768px) {
    .petwedding .point .point-area .point-area__title .title-ja {
        font-size:clamp(20px,1.5vw,24px);
        margin-top: 4px
    }
}

.petwedding .point .point-area .point-area__inner {
    margin-top: 24px;
    padding-top: 24px;
    position: relative
}

@media screen and (min-width: 768px) {
    .petwedding .point .point-area .point-area__inner {
        margin-top:clamp(24px,2vw,32px);
        padding-top: clamp(24px,2vw,32px)
    }
}

.petwedding .point .point-area .point-area__inner:before {
    background-color: #b5bbb3;
    content: "";
    display: block;
    height: 1px;
    left: clamp(-64px,-4vw,-24px);
    position: absolute;
    top: 0;
    width: calc(100% + clamp(48px,8vw,128px))
}

.petwedding .point .point-area .point-area__inner .text+.text {
    margin-top: 1em
}

.petwedding .point .point-faq {
    margin-top: clamp(40px,5vw,80px)
}

.petwedding .point .point-faq .faq__list {
    margin-top: 24px
}

.petwedding .point .point-faq .faq__list>li+li {
    margin-top: 18px
}

@media screen and (min-width: 992px) {
    .petwedding .point .point-faq .faq__list>li+li {
        margin-top:24px
    }
}

.petwedding .point .point-faq .faq__list+.faq__heading {
    margin-top: 72px
}

@media screen and (min-width: 992px) {
    .petwedding .point .point-faq .faq__list+.faq__heading {
        margin-top:80px
    }
}

.petwedding .point .point-faq .faq-item .faq-item__header {
    border-bottom: 1px solid #b5bbb3;
    padding: 16px 0 16px 1.5em;
    position: relative
}

@media screen and (min-width: 992px) {
    .petwedding .point .point-faq .faq-item .faq-item__header {
        padding-left:2em
    }
}

.petwedding .point .point-faq .faq-item .faq-item__header:before {
    color: #a29f74;
    content: "Q.";
    font-size: 18px;
    left: 0;
    position: absolute;
    top: calc(16px - .1em)
}

.petwedding .point .point-faq .faq-item .faq-item__header>h3 {
    font-size: 16px;
    font-weight: 400
}

@media screen and (min-width: 992px) {
    .petwedding .point .point-faq .faq-item .faq-item__header>h3 {
        font-size:18px
    }
}

.petwedding .point .point-faq .faq-item .faq-item__content {
    margin-top: 16px
}

.access .access-overview {
    padding-top: 56px
}

@media screen and (min-width: 768px) {
    .access .access-overview {
        padding-top:clamp(56px,7.25vw,116px)
    }
}

.access .access-overview .overview-wrap {
    display: grid;
    gap: 48px
}

@media screen and (min-width: 768px) {
    .access .access-overview .overview-wrap {
        -webkit-box-pack:justify;
        -ms-flex-pack: justify;
        gap: clamp(24px,5vw,143px);
        grid-template-columns: 1fr 1fr;
        justify-content: space-between
    }
}

@media screen and (min-width: 1600px) {
    .access .access-overview .overview-wrap {
        gap:min(7.4479166667vw,143px)
    }
}

.access .access-overview .overview-wrap__map img {
    width: 100%
}

@media screen and (min-width: 554px) {
    .access .access-overview .overview-wrap__text .text-logo img {
        width:77%
    }
}

.access .access-overview .overview-wrap__text .text-logo span {
    display: block;
    font-size: 18px;
    margin-top: 12px
}

.access .access-overview .overview-wrap__text .text-detail {
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .access .access-overview .overview-wrap__text .text-detail {
        display:-webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-top: clamp(16px,3.3333333333vw,40px)
    }
}

.access .access-overview .overview-wrap__text .text-detail dt {
    padding: 24px 0 0
}

@media screen and (min-width: 768px) {
    .access .access-overview .overview-wrap__text .text-detail dt {
        width:clamp(80px,7.5vw,120px)
    }
}

.access .access-overview .overview-wrap__text .text-detail dd {
    border-bottom: 1px solid #b5bbb3;
    margin-top: 16px;
    padding: 0 0 24px
}

@media screen and (min-width: 768px) {
    .access .access-overview .overview-wrap__text .text-detail dd {
        margin-top:0;
        width: calc(100% - clamp(80px,7.5vw,120px))
    }

    .access .access-overview .overview-wrap__text .text-detail dd,.access .access-overview .overview-wrap__text .text-detail dt {
        border-bottom: 1px solid #b5bbb3;
        padding: clamp(16px,2vw,24px) 0
    }
}

.access .access-contents {
    margin-top: 64px
}

@media screen and (min-width: 768px) {
    .access .access-contents {
        margin-top:clamp(64px,10vw,160px)
    }
}

.access .contents__title {
    border-bottom: 1px solid #b5bbb3;
    font-size: 24px;
    font-weight: 400;
    padding-bottom: 16px
}

@media screen and (min-width: 768px) {
    .access .contents__title {
        font-size:clamp(24px,2vw,32px);
        padding-bottom: clamp(16px,2vw,32px)
    }
}

.access .contents__detail {
    margin: auto;
    width: 85%
}

@media screen and (min-width: 768px) {
    .access .contents__detail {
        width:93%
    }
}

.access .contents__detail .detail-title {
    border-bottom: 1px solid #b5bbb3;
    font-size: 18px;
    font-weight: 400;
    margin-top: 40px;
    padding-bottom: 16px
}

@media screen and (min-width: 768px) {
    .access .contents__detail .detail-title {
        font-size:clamp(18px,1.5vw,24px);
        margin-top: clamp(24px,2vw,32px)
    }
}

.access .contents__detail .detail-text {
    margin-top: 16px
}

.access .contents__detail .detail-box {
    background-color: #e2ece0;
    margin-top: 16px;
    padding: 24px
}

@media screen and (min-width: 768px) {
    .access .contents__detail .detail-box {
        padding:clamp(24px,2.5vw,40px)
    }
}

.access .contents__detail .detail-box p+p {
    margin-top: 1em
}

.access .contents__map {
    aspect-ratio: 1/1;
    margin-top: 64px
}

@media screen and (min-width: 768px) {
    .access .contents__map {
        aspect-ratio:1200/640;
        margin-top: clamp(64px,6.6666666667vw,80px)
    }
}

.access .contents__map iframe {
    height: 100%;
    width: 100%
}

.facility .facility-contents {
    margin-top: 40px
}

@media screen and (min-width: 768px) {
    .facility .facility-contents {
        margin-top:clamp(40px,6.6666666667vw,80px)
    }
}

.facility .contents__title {
    font-size: 24px;
    font-weight: 400
}

@media screen and (min-width: 768px) {
    .facility .contents__title {
        font-size:clamp(24px,2vw,32px)
    }
}

.facility .contents__detail {
    border-top: 1px solid #b5bbb3;
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .facility .contents__detail {
        margin-top:clamp(16px,2.5vw,40px)
    }
}

.facility .contents__detail .contents-item {
    border-bottom: 1px solid #b5bbb3;
    display: grid;
    gap: 16px;
    grid-template-columns: 48px auto;
    padding: 24px 0
}

@media screen and (min-width: 768px) {
    .facility .contents__detail .contents-item {
        gap:0;
        grid-template-columns: 8% 20% auto;
        padding: 32px 0
    }
}

@media screen and (min-width: 992px) {
    .facility .contents__detail .contents-item {
        grid-template-columns:7.6% 22% auto
    }
}

.facility .contents__detail .contents-item__inner {
    grid-column: 1/3
}

@media screen and (min-width: 768px) {
    .facility .contents__detail .contents-item__inner {
        grid-column:initial
    }
}

.facility .contents__detail .contents-item__inner .title {
    font-size: 14px;
    font-weight: 400;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.facility .contents__detail .contents-item__inner .title:after {
    background-color: #b5bbb3;
    content: "";
    display: block;
    height: 1px;
    margin-top: 8px;
    width: 80px
}

.facility .contents__detail .contents-item__inner .title+.list,.facility .contents__detail .contents-item__inner .title+.text {
    margin-top: 16px
}

.facility .contents__detail .contents-item__inner .list+.title,.facility .contents__detail .contents-item__inner .text+.title {
    margin-top: 24px
}

@media screen and (min-width: 768px) {
    .facility .contents__detail .contents-item__inner .list+.title,.facility .contents__detail .contents-item__inner .text+.title {
        margin-top:clamp(24px,2vw,32px)
    }
}

.facility .contents__detail .contents-item__inner .text {
    line-height: 1.8
}

.facility .contents__detail .contents-item__inner .list .text {
    line-height: 1.4
}

@media screen and (min-width: 768px) {
    .facility .contents__detail .contents-item__inner .list .text {
        line-height:1.8
    }
}

.facility .contents__detail .contents-item__inner .list li {
    font-size: 14px;
    padding-left: 16px;
    position: relative
}

.facility .contents__detail .contents-item__inner .list li:before {
    background-color: #a29f74;
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 8px;
    left: 0;
    position: absolute;
    top: .45em;
    width: 8px
}

@media screen and (min-width: 768px) {
    .facility .contents__detail .contents-item__inner .list li:before {
        top:.65em
    }
}

.facility .contents__detail .contents-item__inner .list .note,.facility .contents__detail .contents-item__inner .list li+li {
    margin-top: 8px
}

@media screen and (min-width: 768px) {
    .facility .contents__detail .contents-item__inner .list .note {
        margin-top:0
    }
}

.facility .contents__detail .contents-item__inner .note {
    color: #818181;
    font-size: 12px;
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .facility .contents__detail .contents-item__inner .note {
        margin-top:0
    }
}

.facility .c-button-wrapper--column {
    margin-top: 40px
}

@media screen and (min-width: 768px) {
    .facility .c-button-wrapper--column {
        margin-top:56px
    }
}

.news .news__area {
    margin-top: 8px
}

@media screen and (min-width: 768px) {
    .news .news__area {
        margin-top:clamp(8px,3.5vw,56px)
    }
}

.news .p-newslist {
    border-top: none
}

.report .report__heading {
    font-size: 24px;
    font-weight: 400;
    margin-top: 48px;
    text-align: center
}

@media screen and (min-width: 992px) {
    .report .report__heading {
        margin-top:0;
        text-align: left
    }
}

.report .report__heading span {
    color: #a29f74
}

.report .report__area {
    margin-top: 24px
}

.archive .archive__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: archive;
    flex-direction: archive;
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .archive .archive__list {
        -webkit-box-orient:horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 24px -16px 0
    }

    .archive .archive__item {
        padding: 24px 16px;
        width: 33.3333333333%
    }
}

.archive .archive__item+.archive__item {
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .archive .archive__item+.archive__item {
        margin-top:0
    }
}

.archive .archive-nopost {
    margin-top: 40px
}

@media screen and (min-width: 992px) {
    .archive .archive-nopost {
        margin-top:80px
    }
}

.archive .archive-nopost .archive-nopost__title {
    font-size: 20px;
    text-align: center
}

@media screen and (min-width: 992px) {
    .archive .archive-nopost .archive-nopost__title {
        font-size:28px
    }
}

.archive .archive-nopost .archive-nopost__action {
    margin-top: 40px
}

@media screen and (min-width: 992px) {
    .archive .archive-nopost .archive-nopost__action {
        margin-top:80px
    }
}

.privacy .l-page__aside {
    display: none
}

@media screen and (min-width: 992px) {
    .privacy .l-page__aside {
        display:block
    }
}

.privacy ol.privacy__list {
    border-top: 1px solid #b5bbb3;
    counter-reset: number 0;
    gap: 16px;
    padding-top: 24px
}

.privacy ol.privacy__list>li {
    padding-left: 2em;
    position: relative
}

.privacy ol.privacy__list>li:before {
    color: #a29f74;
    content: counter(number) ".";
    counter-increment: number 1;
    left: 0;
    position: absolute;
    top: 0
}

.privacy ol.privacy__list>li a {
    -webkit-transition: color .3s;
    transition: color .3s
}

@media(hover) {
    .privacy ol.privacy__list>li a:hover {
        color:#a29f74
    }
}

.privacy .privacy__heading {
    border-bottom: 1px solid #b5bbb3;
    font-size: 16px;
    font-weight: 400;
    margin-top: 40px;
    padding-bottom: 16px;
    position: relative;
    scroll-margin-top: 120px
}

@media screen and (min-width: 992px) {
    .privacy .privacy__heading {
        font-size:18px
    }
}

.privacy .privacy__heading span {
    color: #a29f74;
    padding-right: 1em
}

.privacy .privacy__desc {
    margin-top: 16px
}

.privacy .privacy__desc ol,.privacy .privacy__desc ul {
    line-height: 2;
    margin-top: 1em
}

.privacy .privacy__desc ol li,.privacy .privacy__desc ul li {
    padding-left: 1.5em
}

.privacy .privacy__desc ol ol,.privacy .privacy__desc ol ul,.privacy .privacy__desc ul ol,.privacy .privacy__desc ul ul {
    margin: .2em 0
}

.privacy .privacy__desc ol ol li,.privacy .privacy__desc ol ul li,.privacy .privacy__desc ul ol li,.privacy .privacy__desc ul ul li {
    padding-left: 1.2em
}

.privacy .privacy__desc ol.mark-list>li,.privacy .privacy__desc ul.mark-list>li {
    position: relative
}

.privacy .privacy__desc ol.mark-list>li:before,.privacy .privacy__desc ul.mark-list>li:before {
    background-color: #a29f74;
    border-radius: 4px;
    content: "";
    height: 8px;
    left: 0;
    position: absolute;
    top: .8em;
    width: 8px
}

.privacy .privacy__desc ol.mark-list--margin-left,.privacy .privacy__desc ul.mark-list--margin-left {
    margin-left: 1em
}

.privacy .privacy__desc ol {
    counter-reset: number 0
}

.privacy .privacy__desc ol>li {
    padding-left: 2em;
    position: relative
}

.privacy .privacy__desc ol>li:before {
    color: #a29f74;
    content: counter(number) ".";
    counter-increment: number 1;
    left: 0;
    position: absolute;
    top: 0
}

.privacy .privacy__desc a {
    text-decoration: underline;
    -webkit-transition: opacity .2s;
    transition: opacity .2s
}

@media(hover) {
    .privacy .privacy__desc a:hover {
        opacity:.6
    }
}

.privacy a {
    word-break: break-all
}

.notfound .notfound__title {
    font-size: 24px;
    font-weight: 400
}

@media screen and (min-width: 554px) {
    .notfound .notfound__title {
        text-align:center
    }
}

@media screen and (min-width: 768px) {
    .notfound .notfound__title {
        font-size:clamp(24px,2vw,32px)
    }
}

.notfound .notfound__description {
    font-size: 14px;
    margin-top: 32px
}

@media screen and (min-width: 768px) {
    .notfound .notfound__description {
        font-size:clamp(14px,1.125vw,18px);
        line-height: 3;
        margin-top: clamp(32px,3.5vw,56px);
        text-align: center
    }
}

.notfound .notfound__action {
    margin-top: 40px
}

@media screen and (min-width: 992px) {
    .notfound .notfound__action {
        margin-top:clamp(40px,6.6666666667vw,80px)
    }
}

.gallery .gallery__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 24px
}

@media screen and (min-width: 992px) {
    .gallery .gallery__container {
        -webkit-box-orient:horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        gap: 46px
    }

    .gallery .gallery__aside {
        -webkit-box-flex: 1;
        -ms-flex: 1 30%;
        flex: 1 30%;
        max-width: 488px
    }

    .gallery .gallery__main {
        -webkit-box-flex: 1;
        -ms-flex: 1 70%;
        flex: 1 70%
    }
}

.gallery .category-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    background-color: #e2ece0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 24px;
    position: relative
}

@media screen and (min-width: 992px) {
    .gallery .category-box {
        position:sticky;
        top: 120px
    }
}

@media screen and (min-width: 768px) {
    .gallery .category-box {
        padding:24px 32px
    }
}

.gallery .category-box .category-box__title {
    font-size: 24px;
    font-weight: 400
}

.gallery .category-box .category-box__sub {
    font-size: 14px;
    margin-top: 4px
}

.gallery .category-box .category-box__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px;
    height: 0;
    margin-top: 0;
    opacity: 0;
    -webkit-transition: all .2s;
    transition: all .2s;
    visibility: hidden
}

@media screen and (min-width: 992px) {
    .gallery .category-box .category-box__list {
        height:auto;
        margin-top: 24px;
        opacity: 1;
        visibility: visible
    }
}

.gallery .category-box .category-box__list>li a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    border: 1px solid #b5bbb3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 12px;
    justify-content: center;
    line-height: 1.2;
    min-height: 36px;
    padding: 6px 12px
}

@media screen and (min-width: 768px) {
    .gallery .category-box .category-box__list>li a {
        font-size:14px
    }
}

.gallery .category-box .category-box__list>li a.is-active {
    border: 1px solid #0c4a26
}

@media(hover) {
    .gallery .category-box .category-box__list>li a:hover {
        border:1px solid #0c4a26
    }
}

.gallery .category-box .category-box__list.is-open {
    height: auto;
    margin-top: 24px;
    opacity: 1;
    visibility: visible
}

.gallery .category-box .category-box__toggle {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    align-items: center;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 26px
}

@media screen and (min-width: 992px) {
    .gallery .category-box .category-box__toggle {
        display:none
    }
}

.gallery .category-box .category-box__toggle span {
    border: 1px solid #b5bbb3;
    display: block;
    height: 24px;
    position: relative;
    width: 24px
}

.gallery .category-box .category-box__toggle span:after,.gallery .category-box .category-box__toggle span:before {
    background-color: #000;
    content: "";
    height: 14px;
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    -webkit-transition: opacity .2s;
    transition: opacity .2s;
    width: 1px
}

.gallery .category-box .category-box__toggle span:after {
    -webkit-transform: translate(-50%,-50%) rotate(90deg);
    transform: translate(-50%,-50%) rotate(90deg)
}

.gallery .category-box .category-box__toggle.is-open span:before {
    opacity: 0
}

.gallery .gallery-heading {
    font-size: 24px;
    font-weight: 400
}

.gallery .gallery-heading span {
    color: #a29f74
}

.gallery .gallery-list {
    margin: 12px -4px 0;
    overflow: hidden;
    position: relative
}

@media screen and (min-width: 992px) {
    .gallery .gallery-list {
        margin:20px -12px 0
    }
}

.gallery .gallery-list:after {
    background: -webkit-gradient(linear,left top,left bottom,color-stop(0,hsla(0,0%,100%,0)),color-stop(80%,#fff));
    background: linear-gradient(180deg,hsla(0,0%,100%,0),#fff 80%);
    bottom: 0;
    content: "";
    height: 320px;
    left: 0;
    position: absolute;
    -webkit-transition: all .2s;
    transition: all .2s;
    width: 100%
}

@media screen and (min-width: 992px) {
    .gallery .gallery-list:after {
        height:640px
    }
}

.gallery .gallery-list.is-loaded:after {
    opacity: 0;
    visibility: hidden
}

.gallery .gallery-item {
    cursor: pointer;
    height: auto;
    padding: 4px;
    width: 50%
}

@media screen and (min-width: 992px) {
    .gallery .gallery-item {
        padding:12px
    }
}

.gallery .gallery-item img {
    display: block;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.gallery .add-button {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    border: 1px solid #b5bbb3;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    height: 68px;
    justify-content: center;
    margin: 0 auto;
    max-width: 640px;
    position: relative;
    -webkit-transition: all .2s;
    transition: all .2s;
    width: 100%
}

@media screen and (min-width: 992px) {
    .gallery .add-button {
        height:80px
    }
}

@media(hover) {
    .gallery .add-button:hover {
        background-color:#0c4a26;
        color: #fff
    }
}

.gallery .add-button.is-hidden {
    opacity: 0;
    visibility: hidden
}

.gallery .add-button.is-disabled {
    opacity: .4;
    pointer-events: none
}

.gallery .loaded-message {
    opacity: 0;
    text-align: center;
    -webkit-transition: all .2s;
    transition: all .2s;
    visibility: hidden
}

@media screen and (min-width: 768px) {
    .gallery .loaded-message {
        font-size:18px
    }
}

.gallery .loaded-message.is-show {
    opacity: 1;
    visibility: visible
}

.lum-lightbox {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    background: rgba(0,0,0,.2);
    z-index: 100
}

.lum-lightbox-inner img {
    height: auto;
    max-width: 600px;
    -o-object-fit: contain;
    object-fit: contain;
    width: 92vw
}

@media screen and (min-width: 992px) {
    .lum-lightbox-inner img {
        max-width:calc(100% - 172px);
        width: auto
    }
}

.lum-close-button {
    cursor: pointer;
    height: 56px;
    opacity: 1;
    right: 4vw;
    top: 20px;
    width: 56px
}

@media screen and (min-width: 992px) {
    .lum-close-button {
        height:64px;
        width: 64px
    }
}

.lum-close-button:after,.lum-close-button:before {
    height: 56px;
    left: 50%;
    width: 1px
}

@media screen and (min-width: 992px) {
    .lum-close-button:after,.lum-close-button:before {
        height:64px;
        left: 32px
    }
}

.lum-gallery-button {
    border: 1px solid #fff;
    height: 56px;
    left: 4vw;
    top: 0;
    -webkit-transform: none;
    transform: none;
    -webkit-transition: all .2s;
    transition: all .2s;
    width: 56px
}

@media screen and (min-width: 992px) {
    .lum-gallery-button {
        left:0;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media screen and (min-width: 1600px) {
    .lum-gallery-button {
        height:86px;
        width: 86px
    }
}

.lum-gallery-button:after {
    background: url(assets/img/gallery/icon_arrow.svg) no-repeat 50%/contain;
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    content: "";
    height: 12px;
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    width: 24px
}

.lum-gallery-button.lum-next-button {
    left: calc(4vw + 55px);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

@media screen and (min-width: 992px) {
    .lum-gallery-button.lum-next-button {
        left:auto;
        right: 0;
        -webkit-transform: translateY(-50%) rotate(180deg);
        transform: translateY(-50%) rotate(180deg)
    }
}

@media(hover) {
    .lum-gallery-button:hover {
        background-color:#fff
    }

    .lum-gallery-button:hover:after {
        -webkit-filter: contrast(0);
        filter: contrast(0)
    }
}

.faq ul.faq__categories {
    border-top: 1px solid #b5bbb3;
    gap: 16px;
    padding-top: 24px
}

@media screen and (min-width: 992px) {
    .faq ul.faq__categories {
        border-top:none;
        padding-top: 0
    }
}

.faq ul.faq__categories>li {
    padding: 0
}

@media screen and (min-width: 992px) {
    .faq ul.faq__categories>li {
        padding-left:1em
    }
}

.faq ul.faq__categories>li:before {
    display: none
}

@media screen and (min-width: 992px) {
    .faq ul.faq__categories>li:before {
        display:block
    }
}

.faq ul.faq__categories>li a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px
}

.faq ul.faq__categories>li span {
    background-color: #a29f74;
    border-radius: 9px;
    height: 17px;
    position: relative;
    width: 17px
}

@media screen and (min-width: 992px) {
    .faq ul.faq__categories>li span {
        display:none
    }
}

.faq ul.faq__categories>li span:before {
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    content: "";
    height: 8px;
    left: 50%;
    position: absolute;
    top: calc(50% - 6px);
    -webkit-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
    width: 8px
}

.faq .faq__heading {
    font-size: 24px;
    font-weight: 400;
    margin-top: 48px;
    padding-left: 1em;
    position: relative
}

@media screen and (min-width: 992px) {
    .faq .faq__heading {
        margin-top:0
    }
}

.faq .faq__heading:before {
    background-color: #a29f74;
    border-radius: 4px;
    content: "";
    height: 8px;
    left: 0;
    position: absolute;
    top: .75em;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 8px
}

@media screen and (min-width: 768px) {
    .faq .faq__heading:before {
        top:.94em
    }
}

.faq .faq__list {
    margin-top: 24px
}

.faq .faq__list>li+li {
    margin-top: 18px
}

@media screen and (min-width: 992px) {
    .faq .faq__list>li+li {
        margin-top:24px
    }
}

.faq .faq__list+.faq__heading {
    margin-top: 72px
}

@media screen and (min-width: 992px) {
    .faq .faq__list+.faq__heading {
        margin-top:80px
    }
}

.faq .faq-item .faq-item__header {
    border-bottom: 1px solid #b5bbb3;
    padding: 16px 0 16px 1.5em;
    position: relative
}

@media screen and (min-width: 992px) {
    .faq .faq-item .faq-item__header {
        padding-left:2em
    }
}

.faq .faq-item .faq-item__header:before {
    color: #a29f74;
    content: "Q.";
    font-size: 18px;
    left: 0;
    position: absolute;
    top: calc(16px - .1em)
}

.faq .faq-item .faq-item__header>h3 {
    font-size: 16px;
    font-weight: 400
}

@media screen and (min-width: 992px) {
    .faq .faq-item .faq-item__header>h3 {
        font-size:18px
    }
}

.faq .faq-item .faq-item__content {
    margin-top: 16px
}

.guest-content__area .guest-content__text {
    font-size: clamp(16px,1.125vw,18px);
    line-height: 200%;
    margin-top: 48px
}

@media screen and (min-width: 992px) {
    .guest-content__area .guest-content__text {
        font-size:18px
    }
}

.guest-content__area .guest-content__item {
    margin-top: 48px
}

@media screen and (min-width: 992px) {
    .guest-content__area .guest-content__item {
        margin-top:120px
    }
}

.guest-content__area .guest-content__item .item__title {
    border-bottom: 1px solid #b5bbb3;
    font-size: 24px;
    font-weight: 400;
    margin-bottom: 14px;
    padding-bottom: 14px
}

@media screen and (min-width: 768px) {
    .guest-content__area .guest-content__item .item__text {
        margin:auto;
        width: 93.34%
    }

    .guest-content__area .guest-content__item .facility-wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 2%;
        margin: auto;
        width: 93.34%
    }
}

.guest-content__area .guest-content__item .facility-wrap .facility-item {
    background-color: #e2ece0;
    margin-top: 14px;
    padding: 32px 24px
}

@media screen and (min-width: 554px) {
    .guest-content__area .guest-content__item .facility-wrap .facility-item {
        -webkit-box-pack:justify;
        -ms-flex-pack: justify;
        display: grid;
        grid-template-columns: 50% auto;
        justify-content: space-between
    }
}

@media screen and (min-width: 768px) {
    .guest-content__area .guest-content__item .facility-wrap .facility-item {
        -webkit-box-orient:vertical;
        -webkit-box-direction: normal;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 32px clamp(16px,1.5vw,24px);
        width: 32%
    }
}

.guest-content__area .guest-content__item .facility-wrap .facility-item .facility-item__title {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4
}

@media screen and (min-width: 554px) {
    .guest-content__area .guest-content__item .facility-wrap .facility-item .facility-item__title {
        grid-column:1/3
    }
}

.guest-content__area .guest-content__item .facility-wrap .facility-item .facility-item__text {
    margin-top: 16px
}

.guest-content__area .guest-content__item .facility-wrap .facility-item .facility-item__button {
    margin-top: auto;
    padding-top: 24px
}

.guest-content__area .guest-content__item .facility-wrap .facility-item .facility-item__button .c-button {
    max-width: 100%
}

@media screen and (min-width: 554px) {
    .guest-content__area .guest-content__item .facility-wrap .facility-item .facility-item__button .c-button {
        width:180px
    }
}

.guest-content__area .guest-content__item .facility-wrap .facility-item .facility-item__button .c-button+.c-button {
    margin-top: 16px
}

.guest-content__area .guest-content__item .item__list {
    margin: 32px auto;
    width: 85.4%
}

@media screen and (min-width: 768px) {
    .guest-content__area .guest-content__item .item__list {
        width:93.34%
    }
}

.guest-content__area .guest-content__item .item__list .list-text {
    font-size: 18px
}

.guest-content__area .guest-content__item .item__list ul {
    margin-top: 14px
}

@media screen and (min-width: 768px) {
    .guest-content__area .guest-content__item .item__list ul {
        display:-webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 2%
    }
}

.guest-content__area .guest-content__item .item__list ul li {
    border-bottom: 1px solid #b5bbb3;
    padding: 16px
}

@media screen and (min-width: 768px) {
    .guest-content__area .guest-content__item .item__list ul li {
        width:32%
    }
}

.guest-content__area .guest-content__item .item__list ul li:first-child {
    border-top: 1px solid #b5bbb3
}

@media screen and (min-width: 768px) {
    .guest-content__area .guest-content__item .item__list ul li:first-child {
        border-top:none
    }

    .guest-content__area .guest-content__item .item__list ul li:nth-child(-n+3) {
        border-top: 1px solid #b5bbb3
    }
}

.guest-content__area .guest-content__item .item__list ul .ellipse {
    position: relative
}

.guest-content__area .guest-content__item .item__list ul .ellipse:after {
    background-image: url(assets/img/guest/marker_ellipse.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    display: block;
    height: 24px;
    position: absolute;
    right: 16px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 24px
}

.guest-content__area .guest-content__item .item__list ul .line {
    position: relative
}

.guest-content__area .guest-content__item .item__list ul .line:after {
    background-image: url(assets/img/guest/marker_line.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    right: 16px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 24px
}

.guest-content__area .guest-content__item .item__list .caution {
    margin-top: 16px
}

.guest-content__area .guest-content__item .item__list .caution-num {
    color: #a29f74
}

.guest-content__area .guest-content__item .faq__list {
    margin: 24px auto 0;
    width: 85.4%
}

@media screen and (min-width: 768px) {
    .guest-content__area .guest-content__item .faq__list {
        width:93.34%
    }
}

.guest-content__area .guest-content__item .faq__list>li+li {
    margin-top: 18px
}

@media screen and (min-width: 992px) {
    .guest-content__area .guest-content__item .faq__list>li+li {
        margin-top:24px
    }
}

.guest-content__area .guest-content__item .faq__list+.faq__heading {
    margin-top: 72px
}

@media screen and (min-width: 992px) {
    .guest-content__area .guest-content__item .faq__list+.faq__heading {
        margin-top:80px
    }
}

.guest-content__area .guest-content__item .faq-item .faq-item__header {
    border-bottom: 1px solid #b5bbb3;
    padding: 16px 0 16px 1.5em;
    position: relative
}

@media screen and (min-width: 992px) {
    .guest-content__area .guest-content__item .faq-item .faq-item__header {
        padding-left:2em
    }
}

.guest-content__area .guest-content__item .faq-item .faq-item__header:before {
    color: #a29f74;
    content: "Q.";
    font-size: 18px;
    left: 0;
    position: absolute;
    top: calc(16px - .1em)
}

.guest-content__area .guest-content__item .faq-item .faq-item__header>h3 {
    font-size: 16px;
    font-weight: 400
}

@media screen and (min-width: 992px) {
    .guest-content__area .guest-content__item .faq-item .faq-item__header>h3 {
        font-size:18px
    }
}

.guest-content__area .guest-content__item .faq-item .faq-item__content {
    margin-top: 16px
}

.guest-content__area .guest-cta__item {
    background-color: #e2ece0;
    margin-top: 72px;
    padding: 32px 24px
}

@media screen and (min-width: 992px) {
    .guest-content__area .guest-cta__item {
        margin-top:80px;
        padding: 16px 56px 50px
    }
}

.guest-content__area .guest-cta__item .item__title {
    font-family: Cormorant,Noto Serif JP,sans-serif;
    font-size: 56px;
    font-style: italic;
    font-weight: 400;
    line-height: 1.4;
    text-align: center
}

@media screen and (min-width: 992px) {
    .guest-content__area .guest-cta__item .item__title {
        font-size:clamp(56px,5.75vw,92px)
    }
}

.guest-content__area .guest-cta__item .item__text {
    font-size: 16px;
    margin-top: 16px;
    text-align: center
}

@media screen and (min-width: 992px) {
    .guest-content__area .guest-cta__item .item__text {
        font-size:18px
    }
}

.guest-content__area .guest-cta__item .item__link {
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .guest-content__area .guest-cta__item .item__link {
        display:-webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: clamp(24px,2.5vw,40px);
        margin-top: 32px
    }
}

.guest-content__area .guest-cta__item .item__link .tel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    background-color: #ecf3ea;
    border-radius: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    justify-content: center;
    padding: 16px 32px;
    text-align: center
}

@media screen and (min-width: 768px) {
    .guest-content__area .guest-cta__item .item__link .tel {
        height:120px;
        padding: 16px;
        width: 50%
    }
}

@media screen and (min-width: 1200px) {
    .guest-content__area .guest-cta__item .item__link .tel {
        height:100px
    }
}

.guest-content__area .guest-cta__item .item__link .tel a {
    font-size: 24px;
    letter-spacing: .1em
}

@media screen and (min-width: 992px) {
    .guest-content__area .guest-cta__item .item__link .tel a {
        font-size:clamp(24px,2vw,32px);
        pointer-events: none
    }
}

.guest-content__area .guest-cta__item .item__link .tel a span {
    color: #a29f74;
    font-size: 14px;
    letter-spacing: 0;
    margin-right: 8px
}

.guest-content__area .guest-cta__item .item__link .tel .tel-text {
    font-size: 12px;
    line-height: 180%;
    margin-top: 8px
}

@media screen and (min-width: 768px) {
    .guest-content__area .guest-cta__item .item__link .tel .tel-text {
        margin-top:0
    }
}

.guest-content__area .guest-cta__item .item__link .cta-button {
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .guest-content__area .guest-cta__item .item__link .cta-button {
        gap:clamp(24px,3.3333333333vw,40px);
        grid-template-columns: 1fr 1fr;
        margin-top: 0;
        width: 50%
    }
}

.guest-content__area .guest-cta__item .item__link .cta-button a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    background-color: #0c4a26;
    border-radius: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 8px;
    height: 135px;
    justify-content: center;
    overflow: hidden;
    padding: 24px clamp(24px,2.5vw,40px) 24px clamp(24px,4.5vw,72px);
    position: relative
}

@media screen and (min-width: 768px) {
    .guest-content__area .guest-cta__item .item__link .cta-button a {
        -webkit-box-orient:horizontal;
        -webkit-box-direction: normal;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -ms-flex-direction: row;
        flex-direction: row;
        gap: 0;
        height: 120px;
        justify-content: space-between
    }
}

@media screen and (min-width: 1200px) {
    .guest-content__area .guest-cta__item .item__link .cta-button a {
        height:100px
    }
}

.guest-content__area .guest-cta__item .item__link .cta-button a:before {
    background-color: #23352b;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 0
}

@media(hover) {
    .guest-content__area .guest-cta__item .item__link .cta-button a:hover:before {
        width:100%
    }

    .guest-content__area .guest-cta__item .item__link .cta-button a:hover .cta-button__arrow span:before {
        -webkit-animation-delay: 0s;
        animation-delay: 0s;
        -webkit-animation-name: transformRightLeft;
        animation-name: transformRightLeft
    }

    .guest-content__area .guest-cta__item .item__link .cta-button a:hover .cta-button__arrow span:after {
        -webkit-animation-delay: .2s;
        animation-delay: .2s;
        -webkit-animation-name: transformLeftRight;
        animation-name: transformLeftRight
    }
}

.guest-content__area .guest-cta__item .item__link .cta-button .cta-button__text {
    color: #fff;
    font-size: 18px;
    font-weight: 200;
    line-height: 1.2;
    text-align: center;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .guest-content__area .guest-cta__item .item__link .cta-button .cta-button__text {
        text-align:left
    }
}

.guest-content__area .guest-cta__item .item__link .cta-button .cta-button__arrow {
    border: 1px solid #a29f74;
    border-radius: 10px;
    display: grid;
    height: 44px;
    place-items: center;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 44px;
    z-index: 1
}

@media screen and (min-width: 554px) {
    .guest-content__area .guest-cta__item .item__link .cta-button .cta-button__arrow {
        height:48px;
        width: 48px
    }
}

.guest-content__area .guest-cta__item .item__link .cta-button .cta-button__arrow span {
    display: block;
    height: 12px;
    overflow: hidden;
    position: relative;
    width: 24px
}

.guest-content__area .guest-cta__item .item__link .cta-button .cta-button__arrow span:after,.guest-content__area .guest-cta__item .item__link .cta-button .cta-button__arrow span:before {
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    background: url(../img/arrow_gold.svg) no-repeat 50%/contain;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 100%
}

.guest-content__area .guest-cta__item .item__link .cta-button .cta-button__arrow span:after {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

.company .p-section-title__en {
    font-size: 44px
}

@media screen and (min-width: 375px) {
    .company .p-section-title__en {
        font-size:48px
    }
}

@media screen and (min-width: 554px) {
    .company .p-section-title__en {
        font-size:56px
    }
}

@media screen and (min-width: 768px) {
    .company .p-section-title__en {
        font-size:clamp(56px,5.75vw,92px)
    }

    .company .overview-detail {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.company .overview-detail dt {
    padding: 24px 0 0
}

@media screen and (min-width: 768px) {
    .company .overview-detail dt {
        padding-left:80px;
        width: 252px
    }
}

.company .overview-detail dd {
    border-bottom: 1px solid #b5bbb3;
    margin-top: 16px;
    padding: 0 0 24px
}

@media screen and (min-width: 768px) {
    .company .overview-detail dd {
        margin-top:0;
        padding-right: 80px;
        width: calc(100% - 252px)
    }

    .company .overview-detail dd,.company .overview-detail dt {
        border-bottom: 1px solid #b5bbb3;
        padding: clamp(16px,2vw,24px) 0
    }
}

.reason .l-page {
    padding-bottom: 0
}

.reason .l-page__mainview .js-parallax {
    top: -10%
}

@media screen and (min-width: 554px) {
    .reason .l-page__mainview .js-parallax {
        top:auto
    }
}

.reason .p-section-title__ja {
    font-size: 24px;
    line-height: 1.5;
    margin-top: 0
}

@media screen and (min-width: 375px) {
    .reason .p-section-title__ja {
        font-size:28px
    }
}

@media screen and (min-width: 768px) {
    .reason .p-section-title__ja {
        font-size:clamp(28px,2.5vw,40px);
        margin-top: 0
    }
}

.reason .reason-voice {
    margin-top: 48px
}

@media screen and (min-width: 992px) {
    .reason .reason-voice {
        margin-top:clamp(48px,7.2580645161vw,72px)
    }
}

.reason .reason-voice .voice-wrap {
    margin-top: 40px
}

@media screen and (min-width: 992px) {
    .reason .reason-voice .voice-wrap {
        -webkit-box-pack:justify;
        -ms-flex-pack: justify;
        display: grid;
        grid-template-columns: 36% 55.69%;
        justify-content: space-between;
        margin-top: clamp(40px,11.6935483871vw,116px)
    }
}

@media screen and (min-width: 1600px) {
    .reason .reason-voice .voice-wrap {
        grid-template-columns:32.31% 55.69%
    }
}

.reason .reason-voice .voice-wrap__graph {
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

@media screen and (min-width: 992px) {
    .reason .reason-voice .voice-wrap__graph {
        margin:0
    }
}

.reason .reason-voice .voice-wrap__description {
    margin: 24px auto 0;
    max-width: 768px
}

@media screen and (min-width: 992px) {
    .reason .reason-voice .voice-wrap__description {
        margin:clamp(-24px,-1.5vw,-16px) 0 0;
        max-width: none
    }
}

.reason .reason-voice .voice-wrap__description .title {
    font-size: 24px;
    font-weight: 400
}

@media screen and (min-width: 768px) {
    .reason .reason-voice .voice-wrap__description .title {
        font-size:clamp(24px,2vw,32px)
    }
}

.reason .reason-voice .voice-wrap__description .contents {
    background-color: #e2ece0;
    margin-top: 32px;
    padding: 24px 16px;
    position: relative
}

@media screen and (min-width: 768px) {
    .reason .reason-voice .voice-wrap__description .contents {
        padding:clamp(24px,2.5vw,40px) clamp(16px,3vw,48px)
    }
}

@media screen and (min-width: 992px) {
    .reason .reason-voice .voice-wrap__description .contents {
        margin-top:clamp(24px,4vw,64px)
    }
}

.reason .reason-voice .voice-wrap__description .contents:before {
    aspect-ratio: 198/248;
    background: url(assets/img/reason/intro_illust.svg) no-repeat 50%/contain;
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: -24px;
    width: clamp(100px,12.375vw,198px)
}

@media screen and (min-width: 992px) {
    .reason .reason-voice .voice-wrap__description .contents:before {
        right:clamp(16px,3vw,48px);
        top: -30px
    }
}

.reason .reason-voice .voice-wrap__description .contents-title {
    position: relative;
    z-index: 1
}

.reason .reason-voice .voice-wrap__description .contents-title>span {
    color: #a29f74;
    font-size: 16px
}

.reason .reason-voice .voice-wrap__description .contents-title h4 {
    font-size: 22px;
    font-weight: 400;
    line-height: 1.6;
    margin-top: 8px
}

@media screen and (min-width: 768px) {
    .reason .reason-voice .voice-wrap__description .contents-title h4 {
        font-size:clamp(20px,1.5vw,24px)
    }
}

.reason .reason-voice .voice-wrap__description .contents-title h4 span {
    display: inline-block
}

.reason .reason-voice .voice-wrap__description .contents-list {
    margin-top: 16px;
    position: relative;
    z-index: 1
}

@media screen and (min-width: 992px) {
    .reason .reason-voice .voice-wrap__description .contents-list {
        margin-top:32px
    }
}

.reason .reason-voice .voice-wrap__description .contents-item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #fff;
    border: 1px solid #a29f74;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 24px;
    padding: 12px 16px
}

@media screen and (min-width: 992px) {
    .reason .reason-voice .voice-wrap__description .contents-item {
        gap:24px;
        grid-template-columns: 50px auto;
        padding: clamp(12px,1vw,16px) clamp(16px,2vw,32px)
    }
}

.reason .reason-voice .voice-wrap__description .contents-item+.contents-item {
    margin-top: 8px
}

.reason .reason-voice .voice-wrap__description .contents-item .number {
    -ms-flex-negative: 0;
    color: #a29f74;
    flex-shrink: 0;
    font-size: 20px
}

@media screen and (min-width: 768px) {
    .reason .reason-voice .voice-wrap__description .contents-item .number {
        font-size:clamp(24px,2vw,32px)
    }
}

.reason .reason-voice .voice-wrap__description .contents-item .inner {
    font-size: 16px;
    line-height: 1.6
}

@media screen and (min-width: 768px) {
    .reason .reason-voice .voice-wrap__description .contents-item .inner {
        font-size:clamp(16px,1.375vw,22px)
    }
}

.reason .reason-voice .voice-wrap__description .contents-item strong {
    font-weight: 400;
    position: relative
}

.reason .reason-voice .voice-wrap__description .contents-item strong span {
    position: relative;
    z-index: 1
}

.reason .reason-voice .voice-wrap__description .contents-item strong:before {
    background-color: #fffa8c;
    bottom: 0;
    content: "";
    display: block;
    height: 6px;
    left: 0;
    position: absolute;
    width: 100%
}

.reason .reason-intro {
    padding-bottom: 64px;
    padding-top: 40px
}

@media screen and (min-width: 768px) {
    .reason .reason-intro {
        padding-bottom:clamp(64px,11.75vw,188px);
        padding-top: clamp(40px,7.25vw,116px)
    }
}

.reason .reason-intro .p-wide-column__description {
    padding: 24px 0 0
}

@media screen and (min-width: 768px) {
    .reason .reason-intro .p-wide-column__description {
        padding:0 40px
    }
}

.reason .reason-intro .p-wide-column__description .description-inner {
    margin-top: 24px
}

@media screen and (min-width: 992px) {
    .reason .reason-intro .p-wide-column__description .description-inner {
        margin-top:0
    }
}

.reason .reason-intro .p-wide-column__description .description-inner__title {
    font-size: 24px
}

@media screen and (min-width: 768px) {
    .reason .reason-intro .p-wide-column__description .description-inner__title {
        font-size:clamp(24px,2vw,32px);
        line-height: 1.4
    }
}

.reason .reason-intro .p-wide-column__description .description-inner__text {
    font-size: 14px;
    line-height: 2.6;
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .reason .reason-intro .p-wide-column__description .description-inner__text {
        font-size:clamp(14px,1.125vw,18px)
    }
}

@media screen and (min-width: 992px) {
    .reason .reason-intro .p-wide-column__description .description-inner__text {
        line-height:3;
        margin-top: clamp(16px,5.8333333333vw,112px)
    }
}

.reason .reason-nav {
    border-top: 1px solid #b5bbb3;
    padding-top: clamp(40px,5.2083333333vw,100px)
}

@media screen and (min-width: 768px) {
    .reason .reason-nav__list {
        -webkit-box-pack:justify;
        -ms-flex-pack: justify;
        -webkit-column-gap: 4%;
        -moz-column-gap: 4%;
        column-gap: 4%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between
    }
}

@media screen and (min-width: 992px) {
    .reason .reason-nav__list {
        -webkit-column-gap:2%;
        -moz-column-gap: 2%;
        column-gap: 2%
    }
}

@media screen and (min-width: 768px) {
    .reason .reason-nav__item {
        width:48%
    }
}

@media screen and (min-width: 992px) {
    .reason .reason-nav__item {
        width:32%
    }
}

.reason .reason-nav__item .item__inner {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    padding-bottom: 16px;
    padding-top: 16px;
    position: relative
}

.reason .reason-nav__item .item__inner:before {
    background-color: #000;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transition: width .3s;
    transition: width .3s;
    width: 100%
}

.reason .reason-nav__item .item__inner:after {
    border-right: 1px solid #000;
    border-top: 1px solid #000;
    content: "";
    display: block;
    height: 7px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    width: 7px
}

@media(hover) {
    .reason .reason-nav__item .item__inner:hover:before {
        width:0
    }
}

.reason .reason-nav__item .item__text {
    font-size: 14px;
    line-height: 1.8
}

.reason .reason-promise .p-section-title__ja {
    font-size: 24px;
    line-height: 1.8;
    margin-top: clamp(60px,5vw,80px)
}

@media screen and (min-width: 768px) {
    .reason .reason-promise .p-section-title__ja {
        font-size:clamp(24px,2vw,32px)
    }
}

.reason .reason-promise .promise-wrap {
    margin: 32px auto 0;
    max-width: 640px
}

@media screen and (min-width: 768px) {
    .reason .reason-promise .promise-wrap {
        margin:clamp(32px,5vw,80px) auto 0
    }
}

@media screen and (min-width: 992px) {
    .reason .reason-promise .promise-wrap {
        max-width:none
    }

    .reason .reason-promise .promise-item {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        grid-template-columns: 45.375% 48.75%;
        justify-content: space-between
    }
}

.reason .reason-promise .promise-item+.promise-item {
    margin-top: 48px
}

@media screen and (min-width: 992px) {
    .reason .reason-promise .promise-item+.promise-item {
        margin-top:clamp(48px,7.5vw,120px)
    }

    .reason .reason-promise .promise-item:nth-child(2n) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }

    .reason .reason-promise .promise-item__img {
        width: 45.375%
    }

    .reason .reason-promise .promise-item__description {
        width: 48.75%
    }
}

.reason .reason-promise .promise-item__description .number {
    color: #a29f74;
    font-size: 12px;
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .reason .reason-promise .promise-item__description .number {
        font-size:14px
    }
}

@media screen and (min-width: 992px) {
    .reason .reason-promise .promise-item__description .number {
        color:#000;
        margin-top: 0
    }
}

.reason .reason-promise .promise-item__description .title {
    font-size: 18px;
    font-weight: 400;
    margin-top: 16px
}

@media screen and (min-width: 768px) {
    .reason .reason-promise .promise-item__description .title {
        font-size:clamp(18px,1.5vw,24px);
        margin-top: 24px
    }
}

.reason .reason-promise .promise-item__description .text-wrap {
    max-height: 132px;
    overflow: hidden
}

@media screen and (min-width: 768px) {
    .reason .reason-promise .promise-item__description .text-wrap {
        max-height:none
    }
}

.reason .reason-promise .promise-item__description .text-wrap.is-active .more-button-wrap {
    visibility: hidden
}

.reason .reason-promise .promise-item__description .text {
    line-height: 1.4;
    margin-top: 24px
}

@media screen and (min-width: 768px) {
    .reason .reason-promise .promise-item__description .text {
        margin-top:clamp(24px,3vw,48px)
    }
}

@media screen and (min-width: 1200px) {
    .reason .reason-promise .promise-item__description .text {
        line-height:1.8
    }
}

.reason .reason-promise .promise-item__description .text p+p {
    margin-top: 1.5em
}

@media screen and (min-width: 1200px) {
    .reason .reason-promise .promise-item__description .text p+p {
        margin-top:2.5em
    }
}

.reason .reason-promise .promise-item__description .more-button-wrap {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    background-color: #fff;
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    -webkit-transform: all .2s ease;
    transform: all .2s ease;
    width: 100%
}

.reason .reason-promise .promise-item__description .more-button-wrap:before {
    background: -webkit-gradient(linear,left top,left bottom,color-stop(0,hsla(0,0%,100%,0)),to(#fff));
    background: linear-gradient(180deg,hsla(0,0%,100%,0),#fff);
    content: "";
    display: block;
    height: 32px;
    left: 0;
    position: absolute;
    top: -32px;
    width: 100%
}

.reason .reason-promise .promise-item__description .more-button-wrap .more-button {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding-bottom: 16px;
    padding-top: 16px;
    position: relative;
    width: 180px
}

.reason .reason-promise .promise-item__description .more-button-wrap .more-button:before {
    background-color: #000;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transition: width .3s;
    transition: width .3s;
    width: 100%
}

.reason .reason-promise .promise-item__description .more-button-wrap .more-button:after {
    border-right: 1px solid #000;
    border-top: 1px solid #000;
    content: "";
    display: block;
    height: 7px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    width: 7px
}

.reason .reason-benefit {
    background-color: #ecf3ea;
    margin-top: 48px;
    overflow: hidden;
    position: relative
}

@media screen and (min-width: 768px) {
    .reason .reason-benefit {
        margin-top:clamp(48px,6.75vw,108px)
    }
}

.reason .reason-benefit .benefit-img {
    min-height: clamp(480px,56.4516129032vw,760px)
}

.reason .reason-benefit .benefit-img .js-parallax {
    top: -16%
}

@media screen and (min-width: 554px) {
    .reason .reason-benefit .benefit-img .js-parallax {
        top:-13%
    }

    .reason .reason-benefit .benefit-img img {
        -o-object-position: 80% 50%;
        object-position: 80% 50%
    }
}

@media screen and (min-width: 768px) {
    .reason .reason-benefit .benefit-img img {
        -o-object-position:50% 50%;
        object-position: 50% 50%
    }
}

.reason .reason-benefit .benefit-content-wrap {
    margin: -160px auto 0;
    max-width: clamp(480px,78.125vw,600px);
    position: relative;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .reason .reason-benefit .benefit-content-wrap {
        height:100%;
        inset: 0;
        margin: 0 auto;
        max-width: none;
        position: absolute;
        width: 100%
    }
}

.reason .reason-benefit .benefit-content {
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    background-color: hsla(0,0%,100%,.8);
    padding: clamp(28px,7.2916666667vw,56px)
}

@media screen and (min-width: 768px) {
    .reason .reason-benefit .benefit-content {
        bottom:0;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
        left: 0;
        left: max(3.3333333333vw,40px);
        margin: auto;
        padding: clamp(28px,4.1666666667vw,80px);
        position: absolute;
        top: 0
    }
}

@media screen and (min-width: 992px) {
    .reason .reason-benefit .benefit-content {
        min-width:440px;
        width: 40%
    }
}

@media screen and (min-width: 1600px) {
    .reason .reason-benefit .benefit-content {
        left:min(8.3333333333vw,160px);
        width: 33.542%
    }
}

.reason .reason-benefit .benefit-content:before {
    border: 2px solid #fff;
    content: "";
    display: block;
    height: calc(100% - 32px);
    inset: 0;
    margin: auto;
    position: absolute;
    width: calc(100% - 32px)
}

@media screen and (min-width: 768px) {
    .reason .reason-benefit .benefit-content:before {
        height:calc(100% - clamp(32px,3vw,48px));
        width: calc(100% - clamp(32px,3vw,48px))
    }
}

.reason .reason-benefit .benefit-content:after {
    aspect-ratio: 160/148;
    background: url(assets/img/reason/benefit_illust.svg) no-repeat 50%/contain;
    content: "";
    display: block;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    position: absolute;
    right: clamp(18px,5.7761732852vw,32px);
    top: 24.4%;
    width: clamp(96px,10vw,160px)
}

@media screen and (min-width: 554px) {
    .reason .reason-benefit .benefit-content:after {
        bottom:0;
        margin: auto;
        right: clamp(28px,3vw,48px);
        top: 0
    }
}

@media screen and (min-width: 1600px) {
    .reason .reason-benefit .benefit-content:after {
        right:clamp(28px,4.1666666667vw,80px)
    }
}

.reason .reason-benefit .benefit-content .title {
    position: absolute;
    right: -18px;
    top: -18px;
    -webkit-transform: rotate(12deg);
    transform: rotate(12deg);
    width: 189px
}

@media screen and (min-width: 768px) {
    .reason .reason-benefit .benefit-content .title {
        right:-24px;
        top: -24px;
        width: clamp(189px,15.4166666667vw,296px)
    }
}

.reason .reason-benefit .benefit-content .label {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    background-color: #a29f74;
    border-radius: 50px;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    height: 36px;
    justify-content: center;
    padding: 2px 24px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

@media screen and (min-width: 768px) {
    .reason .reason-benefit .benefit-content .label {
        font-size:clamp(16px,1.3541666667vw,26px);
        height: clamp(36px,3.25vw,52px)
    }
}

.reason .reason-benefit .benefit-content .text {
    font-size: 20px;
    line-height: 1.8;
    margin-top: 8px;
    position: relative;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .reason .reason-benefit .benefit-content .text {
        font-size:clamp(20px,1.5625vw,30px);
        margin-top: 16px
    }
}

.reason .reason-benefit .benefit-content .text strong {
    font-weight: 400;
    position: relative
}

.reason .reason-benefit .benefit-content .text strong span {
    position: relative;
    z-index: 1
}

.reason .reason-benefit .benefit-content .text strong:before {
    background-color: #fffa8c;
    bottom: 0;
    content: "";
    display: block;
    height: 9px;
    left: 0;
    position: absolute;
    width: 100%
}

@media screen and (min-width: 768px) {
    .reason .reason-benefit .benefit-content .text strong:before {
        height:clamp(9px,.9375vw,15px)
    }
}

.reason .reason-benefit .benefit-content .price {
    margin-top: 16px;
    position: relative;
    width: 254px;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .reason .reason-benefit .benefit-content .price {
        width:clamp(254px,22vw,352px)
    }
}

.reason .reason-benefit .benefit-content .note {
    font-size: 12px;
    margin-top: 8px
}

@media screen and (min-width: 768px) {
    .reason .reason-benefit .benefit-content .note {
        font-size:clamp(12px,1.6129032258vw,16px);
        margin-top: clamp(8px,2.4193548387vw,24px)
    }
}

.reason .reason-benefit .benefit-content .action {
    height: 68px;
    margin-top: 16px;
    width: 100%
}

@media screen and (min-width: 768px) {
    .reason .reason-benefit .benefit-content .action {
        height:clamp(68px,5vw,80px);
        margin-top: 24px
    }
}

.reason .reason-faq {
    background-color: #ecf3ea;
    padding: 56px 0
}

@media screen and (min-width: 768px) {
    .reason .reason-faq {
        padding:80px 0
    }
}

.reason .reason-faq .p-container--sm {
    max-width: 940px
}

.reason .reason-faq .faq-title__en {
    font-size: 16px;
    text-align: center
}

@media screen and (min-width: 768px) {
    .reason .reason-faq .faq-title__en {
        font-size:clamp(16px,1.25vw,20px)
    }
}

.reason .reason-faq .faq-title__ja {
    font-size: 24px;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 8px;
    text-align: center
}

@media screen and (min-width: 768px) {
    .reason .reason-faq .faq-title__ja {
        font-size:clamp(24px,2.5vw,40px)
    }
}

.reason .reason-faq .faq__list {
    margin-top: 24px
}

.reason .reason-faq .faq__list>li+li {
    margin-top: 8px
}

@media screen and (min-width: 992px) {
    .reason .reason-faq .faq__list>li+li {
        margin-top:16px
    }
}

.reason .reason-faq .faq__list+.faq__heading {
    margin-top: 72px
}

@media screen and (min-width: 992px) {
    .reason .reason-faq .faq__list+.faq__heading {
        margin-top:80px
    }
}

.reason .reason-faq .faq-item {
    background-color: #fff;
    border-radius: 5px;
    padding: 8px 16px 22px
}

@media screen and (min-width: 768px) {
    .reason .reason-faq .faq-item {
        padding:8px 24px 24px
    }
}

.reason .reason-faq .faq-item .faq-item__header {
    border-bottom: 1px solid #b5bbb3;
    padding: 16px 0 16px 1.5em;
    position: relative
}

@media screen and (min-width: 992px) {
    .reason .reason-faq .faq-item .faq-item__header {
        padding-left:2em
    }
}

.reason .reason-faq .faq-item .faq-item__header:before {
    color: #a29f74;
    content: "Q.";
    font-size: 18px;
    left: 0;
    position: absolute;
    top: calc(16px - .1em)
}

.reason .reason-faq .faq-item .faq-item__header>h3 {
    font-size: 16px;
    font-weight: 400
}

@media screen and (min-width: 992px) {
    .reason .reason-faq .faq-item .faq-item__header>h3 {
        font-size:18px
    }
}

.reason .reason-faq .faq-item .faq-item__content {
    margin-top: 16px
}

.reason .reason-faq .faq-action {
    height: 68px;
    margin: 40px auto 0;
    max-width: 640px;
    width: 100%
}

@media screen and (min-width: 768px) {
    .reason .reason-faq .faq-action {
        height:clamp(68px,5vw,80px)
    }

    .reason .reason-faq .faq-action .c-button__text {
        margin: 0 auto
    }
}
