@charset "utf-8";

/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%
}

*,
:after,
:before {
    background-repeat: no-repeat;
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}

:after,
:before {
    text-decoration: inherit;
    vertical-align: inherit
}

* {
    padding: 0;
    margin: 0
}

audio:not([controls]) {
    display: none;
    height: 0
}

hr {
    overflow: visible
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block
}

summary {
    display: list-item
}

small {
    font-size: 80%
}

[hidden],
template {
    display: none
}

abbr[title] {
    border-bottom: 1px dotted;
    text-decoration: none
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

a:active,
a:hover {
    outline-width: 0
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace
}

b,
strong {
    font-weight: bolder
}

dfn {
    font-style: italic
}

mark {
    background-color: #ff0;
    color: #000
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

input {
    border-radius: 0
}

[role=button],
[type=button],
[type=reset],
[type=submit],
button {
    cursor: pointer
}

[disabled] {
    cursor: default
}

[type=number] {
    width: auto
}

[type=search]::-webkit-search-cancel-button,
[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
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: 0;
    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,
select {
    text-transform: none
}

button,
input,
select,
textarea {
    background-color: transparent;
    border-style: none;
    color: inherit
}

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;
    font: inherit
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

img {
    border-style: none
}

progress {
    vertical-align: baseline
}

svg:not(:root) {
    overflow: hidden
}

audio,
canvas,
progress,
video {
    display: inline-block
}

@media screen {
    [hidden~=screen] {
        display: inherit
    }

    [hidden~=screen]:not(:active):not(:focus):not(:target) {
        position: absolute !important;
        clip: rect(0 0 0 0) !important
    }
}

[aria-busy=true] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled] {
    cursor: default
}

::-moz-selection {
    background-color: #b3d4fc;
    color: #000;
    text-shadow: none
}

::selection {
    background-color: #b3d4fc;
    color: #000;
    text-shadow: none
}

html {
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch
}

html::-webkit-scrollbar {
    display: none;
    -webkit-appearance: none
}

body {
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    text-rendering: auto;
    font-size: 14px;
    font-family: 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    color: #0a0b0e;
    background-color: #0a0b0e;
    position: relative;
    overflow: hidden
}

body.landscape {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right)
}

a,
em,
h1,
h2,
h3,
p {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    font-display: swap
}

a _:-ms-lang(x),
em _:-ms-lang(x),
h1 _:-ms-lang(x),
h2 _:-ms-lang(x),
h3 _:-ms-lang(x),
p _:-ms-lang(x) {
    transform: rotate(.001deg)
}

a {
    color: #0a0b0e;
    text-decoration: none
}

em {
    font-style: normal
}

ol li,
ul li {
    list-style: none
}

img {
    width: 100%;
    height: auto
}

img,
svg {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

svg {
    fill: currentColor
}

.br-pc {
    display: inline-block
}

@media only screen and (max-width:1024px) {
    .br-pc {
        display: none
    }
}

.br-sp {
    display: none
}

@media only screen and (max-width:1024px) {
    .br-sp {
        display: inline-block
    }
}

#pageWrapper {
    height: 100%
}

.page-container {
    position: relative;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform, opacity
}

.page-container.is-hide {
    opacity: 0
}

.page-container[data-namespace=details] {
    position: fixed;
    width: 100%;
    height: 100%
}

.page-container[data-namespace=details] .page-container__main {
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.l-section {
    padding: 0 40px
}

.l-section--keyvisual {
    min-height: 700px;
    height: 100vh
}

.l-section--location {
    padding-top: 144px;
    padding-bottom: 175px;
    background-color: #fff
}

.l-section--photo {
    padding-top: 147px;
    padding-bottom: 195px
}

@media only screen and (max-width:960px) {
    .l-section {
        padding-left: 20px;
        padding-right: 20px
    }
}

@media only screen and (max-width:1024px) {
    .l-section {
        padding-left: 5.333333333333333vw;
        padding-right: 5.333333333333333vw
    }

    .l-section--keyvisual {
        min-height: 100%;
        padding: 0
    }

    .l-section--location {
        padding: 15.733333333333333vw 0 24vw
    }

    .l-section--photo {
        padding-top: 18.4vw;
        padding-bottom: 26.666666666666668vw
    }
}

@media only screen and (max-width:374px) {
    .l-section {
        padding-left: 20px;
        padding-right: 20px
    }

    .l-section--keyvisual {
        padding: 0
    }

    .l-section--location {
        padding-left: 0;
        padding-right: 0
    }
}

@media only screen and (max-width:1024px) {
    .landscape .l-section {
        padding-left: 5.333333333333333vw;
        padding-right: 5.333333333333333vw
    }

    .landscape .l-section--keyvisual {
        min-height: 100%;
        height: auto;
        padding: 0
    }

    .landscape .l-section--location {
        padding: 15.733333333333333vw 0 16vw;
        overflow: hidden
    }

    .landscape .l-section--photo {
        padding-top: 13.333333333333334vw;
        padding-bottom: 21.333333333333332vw
    }
}

@-webkit-keyframes soundon {
    0% {
        -webkit-transform: translate3d(0, 70%, 0);
        transform: translate3d(0, 70%, 0)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes soundon {
    0% {
        -webkit-transform: translate3d(0, 70%, 0);
        transform: translate3d(0, 70%, 0)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@-webkit-keyframes arrowFlow {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    50% {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    50.001% {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
        -webkit-animation-timing-function: cubic-bezier(.39, .575, .565, 1);
        animation-timing-function: cubic-bezier(.39, .575, .565, 1)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-animation-timing-function: cubic-bezier(.25, .46, .45, .94);
        animation-timing-function: cubic-bezier(.25, .46, .45, .94)
    }
}

@keyframes arrowFlow {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    50% {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    50.001% {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
        -webkit-animation-timing-function: cubic-bezier(.39, .575, .565, 1);
        animation-timing-function: cubic-bezier(.39, .575, .565, 1)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-animation-timing-function: cubic-bezier(.25, .46, .45, .94);
        animation-timing-function: cubic-bezier(.25, .46, .45, .94)
    }
}

@-webkit-keyframes circleRotate {
    10% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        stroke-dasharray: 298 298
    }

    30% {
        -webkit-transform: rotate(300deg);
        transform: rotate(300deg);
        stroke-dasharray: 100 298
    }

    50% {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn);
        stroke-dasharray: 298 298
    }

    60% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        stroke-dasharray: 298 298
    }

    80% {
        -webkit-transform: rotate(300deg);
        transform: rotate(300deg);
        stroke-dasharray: 100 298
    }

    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn);
        stroke-dasharray: 298 298
    }
}

@keyframes circleRotate {
    10% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        stroke-dasharray: 298 298
    }

    30% {
        -webkit-transform: rotate(300deg);
        transform: rotate(300deg);
        stroke-dasharray: 100 298
    }

    50% {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn);
        stroke-dasharray: 298 298
    }

    60% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        stroke-dasharray: 298 298
    }

    80% {
        -webkit-transform: rotate(300deg);
        transform: rotate(300deg);
        stroke-dasharray: 100 298
    }

    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn);
        stroke-dasharray: 298 298
    }
}

@-webkit-keyframes circleNumber {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        stroke-dasharray: 0 298
    }

    to {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        stroke-dasharray: 298 298
    }
}

@keyframes circleNumber {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        stroke-dasharray: 0 298
    }

    to {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        stroke-dasharray: 298 298
    }
}

@-webkit-keyframes carouselScaleIn {
    0% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    45% {
        -webkit-transform: scale3d(1.02, 1.02, 1);
        transform: scale3d(1.02, 1.02, 1)
    }

    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@keyframes carouselScaleIn {
    0% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    45% {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }

    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

.btn {
    position: relative;
    display: inline-block;
    padding-bottom: 3px;
    color: #f0f0f0
}

.btn:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: currentColor;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transition: -webkit-transform .6s cubic-bezier(.215, .61, .355, 1);
    transition: -webkit-transform .6s cubic-bezier(.215, .61, .355, 1);
    transition: transform .6s cubic-bezier(.215, .61, .355, 1);
    transition: transform .6s cubic-bezier(.215, .61, .355, 1), -webkit-transform .6s cubic-bezier(.215, .61, .355, 1)
}

.btn__text {
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 16px;
    letter-spacing: .05em
}

.btn__arrow {
    position: absolute;
    width: 39px;
    height: 11px;
    top: 5px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: -webkit-transform .8s cubic-bezier(.23, 1, .32, 1);
    transition: -webkit-transform .8s cubic-bezier(.23, 1, .32, 1);
    transition: transform .8s cubic-bezier(.23, 1, .32, 1);
    transition: transform .8s cubic-bezier(.23, 1, .32, 1), -webkit-transform .8s cubic-bezier(.23, 1, .32, 1)
}

.btn__arrow-icon {
    position: relative;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0
}

.btn__arrow-icon>svg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.btn.is-hover:after {
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
}

.btn.is-hover .btn__arrow {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0)
}

.btn--detail {
    padding-right: 56px
}

.btn--detail .btn__arrow {
    right: 3px
}

.btn--back {
    padding-left: 35px;
    padding-right: 2px
}

.btn--back:after {
    height: 1px;
    -webkit-transform-origin: right;
    transform-origin: right
}

.btn--back .btn__text {
    font-size: 12px
}

.btn--back .btn__text:first-of-type {
    display: none;
    letter-spacing: .1em
}

.btn--back .btn__text:last-of-type {
    font-family: 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-weight: 600;
    letter-spacing: .11em
}

.btn--back .btn__arrow {
    width: 25px;
    left: 0;
    overflow: hidden
}

.btn--back .btn__arrow-icon {
    width: 140%;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.btn--back.is-hover:after {
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
}

.btn--back.is-hover .btn__arrow {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0)
}

@media only screen and (max-width:1024px) {
    .btn {
        padding-bottom: 6px
    }

    .btn__text {
        font-size: 14px;
        font-size: 3.733333333333333vw;
        letter-spacing: .006em
    }

    .btn__arrow {
        width: 9.866666666666667vw;
        height: 2.666666666666667vw;
        top: 1.333333333333333vw
    }

    .btn--detail {
        padding-right: 13.6vw
    }

    .btn--detail .btn__arrow {
        right: 0
    }

    .btn--back {
        padding-left: 7.733333333333333vw;
        padding-right: 0;
        padding-bottom: 0
    }

    .btn--back:after {
        content: none
    }

    .btn--back .btn__text {
        font-size: 12px;
        font-size: 3.2vw
    }

    .btn--back .btn__text:first-of-type {
        display: block
    }

    .btn--back .btn__text:last-of-type {
        display: none
    }

    .btn--back .btn__arrow {
        width: 5.866666666666666vw;
        top: .8vw;
        left: .266666666666667vw
    }
}

@media only screen and (max-width:1024px) {
    .landscape .btn--back {
        padding-left: 35px;
        padding-right: 0;
        padding-bottom: 0
    }

    .landscape .btn--back .btn__text {
        font-size: 14px;
        letter-spacing: .05em
    }

    .landscape .btn--back .btn__arrow {
        width: 25px;
        height: 11px;
        top: 5px;
        left: 0
    }
}

.btn-square {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px 0;
    background-color: #f0f0f0;
    -webkit-transition: background-color .25s cubic-bezier(.215, .61, .355, 1);
    transition: background-color .25s cubic-bezier(.215, .61, .355, 1)
}

.btn-square__text {
    margin-right: 15px;
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 16px;
    letter-spacing: .05em;
    -webkit-transition: color .3s cubic-bezier(.215, .61, .355, 1);
    transition: color .3s cubic-bezier(.215, .61, .355, 1)
}

.btn-square__arrow {
    width: 39px;
    height: 11px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: -webkit-transform .8s cubic-bezier(.23, 1, .32, 1);
    transition: -webkit-transform .8s cubic-bezier(.23, 1, .32, 1);
    transition: transform .8s cubic-bezier(.23, 1, .32, 1);
    transition: transform .8s cubic-bezier(.23, 1, .32, 1), -webkit-transform .8s cubic-bezier(.23, 1, .32, 1)
}

.btn-square__arrow-icon {
    position: relative;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    -webkit-transition: color .3s cubic-bezier(.215, .61, .355, 1);
    transition: color .3s cubic-bezier(.215, .61, .355, 1)
}

.btn-square__arrow-icon>svg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.btn-square.is-hover {
    background-color: #514e62
}

.btn-square.is-hover .btn-square__text {
    color: #f0f0f0
}

.btn-square.is-hover .btn-square__arrow {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0)
}

.btn-square.is-hover .btn-square__arrow-icon {
    color: #f0f0f0
}

@media only screen and (max-width:1024px) {
    .btn-square {
        padding: 12px 0
    }

    .btn-square__text {
        font-size: 14px;
        font-size: 3.733333333333333vw;
        letter-spacing: .006em
    }

    .btn-square__arrow {
        width: 9.866666666666667vw;
        height: 2.666666666666667vw
    }
}

.cursor {
    cursor: none;
    pointer-events: none;
    position: absolute;
    width: 56px;
    height: 56px;
    top: -28px;
    left: -28px;
    z-index: 11;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity cubic-bezier(.39, .575, .565, 1), visibility cubic-bezier(.39, .575, .565, 1);
    transition: opacity cubic-bezier(.39, .575, .565, 1), visibility cubic-bezier(.39, .575, .565, 1);
    -webkit-transition-duration: .15s;
    transition-duration: .15s
}

.cursor__close {
    position: absolute;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.cursor__close:after,
.cursor__close:before {
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    top: 50%;
    left: 50%;
    background-color: #fff
}

.cursor__close:before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg)
}

.cursor__close:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg)
}

.cursor__text {
    position: absolute;
    display: none;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.cursor__text>p {
    font-family: Prompt, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 15px;
    color: #fff;
    letter-spacing: .05em;
    text-transform: uppercase
}

.cursor.is-close {
    opacity: 1;
    visibility: visible;
    -webkit-transition-duration: .2s;
    transition-duration: .2s
}

.cursor.is-close .cursor__close {
    display: block
}

.cursor.is-text {
    opacity: 1;
    visibility: visible;
    -webkit-transition-duration: .2s;
    transition-duration: .2s
}

.cursor.is-text .cursor__text {
    display: block
}

@media only screen and (max-width:1024px) {
    .cursor {
        display: none
    }
}

.footer {
    padding: 170px 0 167px;
    background-color: #0a0b0e
}

.footer__inner {
    width: 100%;
    margin: 0 auto;
    padding: 0 20px
}

.footer__inner.is-show .footer__link,
.footer__inner.is-show .footer__logo,
.footer__inner.is-show .footer__notice p {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.footer__inner.is-show .footer__copyright {
    opacity: 1
}

.footer__logo {
    width: 117px;
    margin: 0 auto;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
    -webkit-transition: opacity .5s cubic-bezier(.39, .575, .565, 1), -webkit-transform .5s cubic-bezier(.39, .575, .565, 1);
    transition: opacity .5s cubic-bezier(.39, .575, .565, 1), -webkit-transform .5s cubic-bezier(.39, .575, .565, 1);
    transition: transform .5s cubic-bezier(.39, .575, .565, 1), opacity .5s cubic-bezier(.39, .575, .565, 1);
    transition: transform .5s cubic-bezier(.39, .575, .565, 1), opacity .5s cubic-bezier(.39, .575, .565, 1), -webkit-transform .5s cubic-bezier(.39, .575, .565, 1)
}

.footer__logo>a {
    display: inline-block
}

.footer__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 41px;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
    -webkit-transition: opacity .5s cubic-bezier(.39, .575, .565, 1) .2s, -webkit-transform .5s cubic-bezier(.39, .575, .565, 1) .2s;
    transition: opacity .5s cubic-bezier(.39, .575, .565, 1) .2s, -webkit-transform .5s cubic-bezier(.39, .575, .565, 1) .2s;
    transition: transform .5s cubic-bezier(.39, .575, .565, 1) .2s, opacity .5s cubic-bezier(.39, .575, .565, 1) .2s;
    transition: transform .5s cubic-bezier(.39, .575, .565, 1) .2s, opacity .5s cubic-bezier(.39, .575, .565, 1) .2s, -webkit-transform .5s cubic-bezier(.39, .575, .565, 1) .2s
}

.footer__link-item {
    width: 138px;
    margin-left: 3px;
    text-align: center
}

.footer__link-item:nth-child(2) {
    margin: 0 32px
}

.footer__link-item>a {
    position: relative;
    display: inline-block;
    padding: 3px;
    font-size: 12px;
    letter-spacing: .1em;
    color: #f0f0f0;
    overflow: hidden
}

.footer__link-item>a:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: currentColor;
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

.footer__link-item>a.is-hover:after {
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.footer__notice {
    margin-top: 45px
}

.footer__notice p {
    position: relative;
    left: 4px;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .1em;
    color: #72757f;
    text-align: center;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
    -webkit-transition: opacity .5s cubic-bezier(.39, .575, .565, 1) .4s, -webkit-transform .5s cubic-bezier(.39, .575, .565, 1) .4s;
    transition: opacity .5s cubic-bezier(.39, .575, .565, 1) .4s, -webkit-transform .5s cubic-bezier(.39, .575, .565, 1) .4s;
    transition: transform .5s cubic-bezier(.39, .575, .565, 1) .4s, opacity .5s cubic-bezier(.39, .575, .565, 1) .4s;
    transition: transform .5s cubic-bezier(.39, .575, .565, 1) .4s, opacity .5s cubic-bezier(.39, .575, .565, 1) .4s, -webkit-transform .5s cubic-bezier(.39, .575, .565, 1) .4s
}

.footer__notice p:last-child {
    margin-top: 38px;
    -webkit-transition-delay: .6s;
    transition-delay: .6s
}

.footer__copyright {
    display: none;
    margin-top: 38px;
    text-align: center;
    opacity: 0;
    -webkit-transition: opacity .5s cubic-bezier(.39, .575, .565, 1) .8s;
    transition: opacity .5s cubic-bezier(.39, .575, .565, 1) .8s
}

.footer__copyright>small {
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 10px;
    color: #72757f;
    letter-spacing: -.025em
}

@media only screen and (max-width:600px) {
    .footer {
        padding: 90px 0 97px
    }

    .footer__logo {
        width: 85px
    }

    .footer__link {
        margin-top: 20px
    }

    .footer__link-item {
        width: auto;
        margin-left: .533333333333333vw
    }

    .footer__link-item:nth-child(2) {
        margin: 0 2.666666666666667vw 0 3.2vw
    }

    .footer__notice {
        margin-top: 24px
    }

    .footer__notice p:first-child {
        left: 0
    }

    .footer__notice p:last-child {
        margin-top: 22px
    }

    .footer__copyright {
        display: block
    }
}

.header {
    position: absolute;
    top: 38px;
    left: 47px
}

.header__logo {
    position: relative;
    display: inline-block;
    width: 37px;
    z-index: 11
}

.header__logo>h1 {
    position: absolute;
    display: none;
    top: 0;
    left: 0
}

@media only screen and (max-width:960px) {
    .header {
        top: 38px;
        left: 28.5px
    }
}

@media only screen and (max-width:1024px) {
    .header {
        top: 5.6vw;
        left: 5.6vw
    }

    .header__logo {
        max-width: 50px;
        width: 8.133333333333333vw
    }
}

@media only screen and (max-width:374px) {
    .header {
        top: 22px;
        left: 21px
    }
}

@media only screen and (max-width:1024px) {
    .landscape .header {
        top: 2.70935960591133vw;
        left: 2.955665024630542vw
    }

    .landscape .header__logo {
        width: 37px
    }
}

.photo {
    cursor: pointer;
    display: block
}

.photo__thumb {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 61.47%;
    background-color: #1d1f27;
    overflow: hidden
}

/* oga */
.photo__thumb>img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
    will-change: transform;
    -webkit-transition: -webkit-transform .1s cubic-bezier(.215, .61, .355, 1);
    transition: -webkit-transform .1s cubic-bezier(.215, .61, .355, 1);
    transition: transform .1s cubic-bezier(.215, .61, .355, 1);
    transition: transform .1s cubic-bezier(.215, .61, .355, 1), -webkit-transform .1s cubic-bezier(.215, .61, .355, 1)
}

.photo__caption {
    margin-top: 26px;
    color: #72757f
}

.photo.is-contain .photo__thumb>img {
    -o-object-fit: contain;
    object-fit: contain;
    font-family: "object-fit: contain;"
}

.photo.is-hover .photo__thumb>img {
    -webkit-transform: scale3d(1.06, 1.06, 1);
    transform: scale3d(1.06, 1.06, 1)
}

.photo--modal {
    position: relative
}

.photo--modal:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #0a0b0e;
    opacity: .5;
    z-index: 1;
    -webkit-transition: opacity .1s cubic-bezier(.215, .61, .355, 1);
    transition: opacity .1s cubic-bezier(.215, .61, .355, 1)
}

.photo--modal.is-hover:before {
    opacity: 0
}

.photo--modal.is-active {
    pointer-events: none
}

.photo--modal.is-active:before {
    opacity: 0
}

@media only screen and (max-width:1024px) {
    .photo__thumb {
        padding-top: 61.57%
    }

    .photo__caption {
        margin-top: 3.733333333333333vw;
        font-size: 12px;
        font-size: 3.2vw
    }
}

.place {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.place__meta {
    position: relative;
    bottom: -25.390625vw;
    z-index: 1
}

.place__meta-title {
    font-size: 23px;
    font-weight: 600;
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
    -webkit-transition: opacity 1.2s cubic-bezier(.215, .61, .355, 1) 1s, -webkit-transform 1.2s cubic-bezier(.19, 1, .22, 1) 1s;
    transition: opacity 1.2s cubic-bezier(.215, .61, .355, 1) 1s, -webkit-transform 1.2s cubic-bezier(.19, 1, .22, 1) 1s;
    transition: transform 1.2s cubic-bezier(.19, 1, .22, 1) 1s, opacity 1.2s cubic-bezier(.215, .61, .355, 1) 1s;
    transition: transform 1.2s cubic-bezier(.19, 1, .22, 1) 1s, opacity 1.2s cubic-bezier(.215, .61, .355, 1) 1s, -webkit-transform 1.2s cubic-bezier(.19, 1, .22, 1) 1s
}

.place__meta-title>em {
    letter-spacing: .12em
}

.place__meta-title>span {
    letter-spacing: .1em
}

.place__meta-desc {
    position: relative;
    margin-top: 22px;
    padding: 0 0 3px 19px;
    width: 300px;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
    -webkit-transition: opacity 1.2s cubic-bezier(.215, .61, .355, 1) 1.08s, -webkit-transform 1.2s cubic-bezier(.19, 1, .22, 1) 1.08s;
    transition: opacity 1.2s cubic-bezier(.215, .61, .355, 1) 1.08s, -webkit-transform 1.2s cubic-bezier(.19, 1, .22, 1) 1.08s;
    transition: transform 1.2s cubic-bezier(.19, 1, .22, 1) 1.08s, opacity 1.2s cubic-bezier(.215, .61, .355, 1) 1.08s;
    transition: transform 1.2s cubic-bezier(.19, 1, .22, 1) 1.08s, opacity 1.2s cubic-bezier(.215, .61, .355, 1) 1.08s, -webkit-transform 1.2s cubic-bezier(.19, 1, .22, 1) 1.08s
}

.place__meta-desc:before {
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    top: 6px;
    left: 0;
    background-color: #72757f;
    opacity: 0;
    -webkit-transition: opacity .2s cubic-bezier(.39, .575, .565, 1) 1.2s;
    transition: opacity .2s cubic-bezier(.39, .575, .565, 1) 1.2s
}

.place__meta-desc>li {
    color: #72757f;
    line-height: 1.7
}

.place__meta-desc>li:last-child {
    margin-top: 11px
}

.place__meta-desc>li span {
    display: block
}

.place__meta-desc>li span:last-child {
    padding: 1px 0 0 4px
}

.place__thumb {
    padding-left: 6.5625vw
}

.place__thumb,
.place__thumb-item {
    position: relative;
    width: 100%
}

.place__thumb-item--sub {
    position: absolute;
    max-width: 23.4375vw;
    top: 43.75vw;
    left: -10.234375vw;
    z-index: 1
}

.place__thumb-item--sub .place__thumb-image {
    padding-top: 66.28%;
    min-height: 199px;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
    -webkit-transition: opacity .5s cubic-bezier(.39, .575, .565, 1) .5s, -webkit-transform .5s cubic-bezier(.39, .575, .565, 1) .5s;
    transition: opacity .5s cubic-bezier(.39, .575, .565, 1) .5s, -webkit-transform .5s cubic-bezier(.39, .575, .565, 1) .5s;
    transition: transform .5s cubic-bezier(.39, .575, .565, 1) .5s, opacity .5s cubic-bezier(.39, .575, .565, 1) .5s;
    transition: transform .5s cubic-bezier(.39, .575, .565, 1) .5s, opacity .5s cubic-bezier(.39, .575, .565, 1) .5s, -webkit-transform .5s cubic-bezier(.39, .575, .565, 1) .5s
}

.place__thumb-item--base {
    text-align: right;
    opacity: 0;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(8%, 0, 0);
    transform: translate3d(8%, 0, 0);
    -webkit-transition: opacity 1s cubic-bezier(.165, .84, .44, 1), -webkit-transform 1s cubic-bezier(.215, .61, .355, 1);
    transition: opacity 1s cubic-bezier(.165, .84, .44, 1), -webkit-transform 1s cubic-bezier(.215, .61, .355, 1);
    transition: transform 1s cubic-bezier(.215, .61, .355, 1), opacity 1s cubic-bezier(.165, .84, .44, 1);
    transition: transform 1s cubic-bezier(.215, .61, .355, 1), opacity 1s cubic-bezier(.165, .84, .44, 1), -webkit-transform 1s cubic-bezier(.215, .61, .355, 1)
}

.place__thumb-item--base .place__thumb-image {
    position: relative;
    padding-top: 72.93%;
    min-height: 465px;
    width: 100%;
    top: -8.59375vw;
    will-change: transform
}

.place__thumb-item--base .place__thumb-image>img {
    -webkit-transform: scale3d(1.2, 1.2, 1);
    transform: scale3d(1.2, 1.2, 1)
}

.place__thumb-image {
    position: relative;
    display: inline-block;
    width: 100%
}

.place__thumb-image>img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.place.is-show .place__meta-desc,
.place.is-show .place__meta-title {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.place.is-show .place__meta-desc:before {
    opacity: 1
}

.place.is-show .place__thumb-item--base,
.place.is-show .place__thumb-item--sub .place__thumb-image {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.place--reverse .place__meta {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    bottom: -41.25vw
}

.place--reverse .place__thumb {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
    padding-left: 0;
    padding-right: 6.796875vw
}

.place--reverse .place__thumb-item--sub {
    max-width: 23.28125vw;
    top: 65.625vw;
    left: auto;
    right: -9.921875vw
}

.place--reverse .place__thumb-item--base {
    text-align: left;
    -webkit-transform: translate3d(-8%, 0, 0);
    transform: translate3d(-8%, 0, 0)
}

.place--reverse .place__thumb-item--base .place__thumb-image {
    top: -12.5vw
}

@media only screen and (max-width:1024px) {
    .place {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
        flex-flow: column nowrap;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }

    .place__meta {
        margin-top: 6.666666666666667vw;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        bottom: -17.066666666666666vw
    }

    .place__meta-title {
        font-size: 16px;
        font-size: 4.266666666666667vw
    }

    .place__meta-desc {
        width: 100%;
        margin-top: 3.2vw;
        padding-left: 5.066666666666666vw;
        padding-right: 8vw
    }

    .place__meta-desc:before {
        height: 100%
    }

    .place__meta-desc>li {
        font-size: 12px;
        font-size: 3.2vw
    }

    .place__meta-desc>li:last-child {
        margin-top: 3.2vw
    }

    .place__thumb {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
        padding-left: 22.666666666666668vw
    }

    .place__thumb-item--sub {
        max-width: 32vw;
        top: 29.866666666666667vw;
        left: 0
    }

    .place__thumb-item--sub .place__thumb-image {
        min-height: 100%
    }

    .place__thumb-item--base .place__thumb-image {
        top: -8.8vw;
        min-height: 100%
    }

    .place--reverse .place__meta {
        padding-left: 10.666666666666666vw;
        bottom: -24vw
    }

    .place--reverse .place__meta-desc {
        margin-right: 0
    }

    .place--reverse .place__thumb {
        padding-right: 22.666666666666668vw
    }

    .place--reverse .place__thumb-item--sub {
        max-width: 32vw;
        top: 42.666666666666664vw;
        right: 0
    }

    .place--reverse .place__thumb-item--base .place__thumb-image {
        top: -12.8vw
    }
}

.profile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.profile__image {
    max-width: 85px;
    min-width: auto;
    width: 57%
}

.profile__image-inner {
    position: relative;
    width: 100%;
    padding-top: 132.95%
}

.profile__image-inner>img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;"
}

.profile__meta {
    margin-top: -3px;
    padding-left: 22px
}

.profile__meta-address {
    font-size: 12px;
    font-weight: 600;
    color: #72757f;
    letter-spacing: .12em
}

.profile__meta-address>span {
    display: block
}

.profile__meta-address>span:last-child {
    margin-top: 4px
}

.profile__meta-name {
    margin-top: 12px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5
}

.profile--modal .profile__image {
    width: 24%
}

.profile--modal .profile__meta-address,
.profile--modal .profile__meta-name {
    color: #fff
}

@media only screen and (min-width:1281px) {
    .profile--modal .profile__meta {
        padding-left: 1.717408274785324vw
    }

    .profile--modal .profile__meta-address>span:last-child {
        margin-top: .312256049960968vw
    }

    .profile--modal .profile__meta-name {
        margin-top: .936768149882904vw
    }
}

@media only screen and (max-width:1024px) {
    .profile__meta {
        margin-top: -2.666666666666667vw;
        padding-left: 5.066666666666666vw
    }

    .profile__meta-address {
        font-size: 12px;
        font-size: 3.2vw
    }

    .profile__meta-name {
        margin-top: 1.866666666666667vw;
        font-size: 13px;
        font-size: 3.466666666666667vw;
        letter-spacing: .01em
    }

    .profile__image {
        min-width: auto;
        width: 28.5%
    }

    .profile--modal .profile__image {
        min-width: auto;
        width: 29%
    }

    .profile--modal .profile__meta {
        margin-top: 1.066666666666667vw
    }
}

@media only screen and (max-width:1024px) {
    .landscape .profile--modal .profile__image {
        max-width: 85px;
        width: 24%
    }

    .landscape .profile--modal .profile__meta {
        margin-top: 13px;
        padding-left: 22px
    }

    .landscape .profile--modal .profile__meta-address {
        font-size: 12px
    }

    .landscape .profile--modal .profile__meta-name {
        margin-top: 12px;
        font-size: 16px;
        letter-spacing: 0
    }
}

.modal {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(10, 11, 14, .8);
    z-index: 10;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .1s cubic-bezier(.215, .61, .355, 1), visibility .1s cubic-bezier(.215, .61, .355, 1);
    transition: opacity .1s cubic-bezier(.215, .61, .355, 1), visibility .1s cubic-bezier(.215, .61, .355, 1)
}

.modal__content-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0 40px;
    overflow-y: scroll
}

.modal__close-area {
    cursor: none;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1
}

.modal__inner {
    position: relative;
    height: 100%
}

.modal__item {
    position: absolute;
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: auto;
    top: 0;
    left: 0
}

.modal__item-head {
    position: relative;
    z-index: 2
}

.modal__item-head>p {
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 90px;
    font-weight: 500;
    color: #f0f0f0;
    line-height: 1.3;
    letter-spacing: .1em;
    white-space: nowrap
}

.modal__item-head>p>span>span {
    display: inline-block;
    will-change: transform, opacity
}

.modal__item-content {
    position: relative;
    width: 100%;
    margin: 50px 0;
    z-index: 2
}

.modal__item-content-block>a {
    position: relative;
    display: block
}

.modal__item--photo {
    padding: 60px 9.21875vw
}

.modal__item--photo .modal__item-content {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(auto, 1fr))[3];
    grid-template-columns: repeat(3, minmax(auto, 1fr));
    -ms-grid-rows: auto auto auto;
    grid-template-rows: auto auto auto;
    -webkit-column-gap: 4.6875vw;
    -moz-column-gap: 4.6875vw;
    column-gap: 4.6875vw;
    row-gap: 5.078125vw
}

.modal__item--cast {
    padding: 60px 6.875vw
}

.modal__item--cast .modal__item-content {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(auto, 1fr))[2];
    grid-template-columns: repeat(2, minmax(auto, 1fr));
    -ms-grid-rows: auto auto;
    grid-template-rows: auto auto;
    -webkit-column-gap: 4.6875vw;
    -moz-column-gap: 4.6875vw;
    column-gap: 4.6875vw;
    row-gap: 5.078125vw;
    max-width: 60.46875vw;
    width: 100%;
    margin-left: auto;
    margin-right: auto
}

.modal__item--cast .modal__item-content-block>a {
    padding-bottom: 2.265625vw
}

.modal__item--cast .modal__item-content-block>a:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: 0;
    background-color: #696969
}

.modal__close {
    position: fixed;
    display: none;
    width: 8vw;
    height: 8vw;
    top: 4.7%;
    right: 4.266666666666667vw;
    z-index: 2
}

.modal__close>span {
    position: absolute;
    display: block;
    width: 100%;
    height: 1px;
    top: 50%;
    left: 50%;
    background-color: #fff
}

.modal__close>span:first-child {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg)
}

.modal__close>span:last-child {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg)
}

.modal.is-open-cast,
.modal.is-open-photo {
    opacity: 1;
    visibility: visible;
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.modal.is-open-cast .modal__item--cast,
.modal.is-open-photo .modal__item--photo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (max-width:960px) {
    .modal__content-wrapper {
        padding: 0 20px
    }

    .modal__item--photo {
        padding: 60px 4.6875vw 0
    }

    .modal__item--photo .modal__item-content {
        -webkit-column-gap: 4.166666666666667vw;
        -moz-column-gap: 4.166666666666667vw;
        column-gap: 4.166666666666667vw
    }

    .modal__item--cast {
        padding: 60px 3.333333333333333vw 0
    }

    .modal__item--cast .modal__item-content {
        max-width: 70.83333333333334vw
    }
}

@media only screen and (max-width:1024px) {
    .modal__content-wrapper {
        padding: 0 5.333333333333333vw
    }

    .modal__item {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }

    .modal__item-head {
        margin-top: 22.4vw
    }

    .modal__item-head>p {
        font-size: 26px;
        font-size: 6.933333333333334vw;
        letter-spacing: .02em
    }

    .modal__item-head>p>span:last-child {
        padding-left: 1.066666666666667vw
    }

    .modal__item--photo {
        padding: 0
    }

    .modal__item--photo .modal__item-head>p {
        letter-spacing: .02em
    }

    .modal__item--photo .modal__item-content {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        -ms-grid-rows: auto;
        grid-template-rows: auto;
        -webkit-column-gap: 0;
        -moz-column-gap: 0;
        column-gap: 0;
        row-gap: 10.4vw;
        width: 68vw;
        margin: 9.066666666666666vw auto
    }

    .modal__item--cast {
        padding: 0
    }

    .modal__item--cast .modal__item-head>p {
        letter-spacing: -.02em
    }

    .modal__item--cast .modal__item-content {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        -ms-grid-rows: auto;
        grid-template-rows: auto;
        -webkit-column-gap: 0;
        -moz-column-gap: 0;
        column-gap: 0;
        row-gap: 10.4vw;
        max-width: 78.13333333333333vw;
        margin: 7.2vw auto 14.4vw
    }

    .modal__item--cast .modal__item-content-block>a {
        padding-bottom: 8vw
    }

    .modal__close {
        display: inline-block
    }
}

@media only screen and (max-width:1024px) {
    .landscape .modal__content-wrapper {
        padding: 0 2.463054187192118vw
    }

    .landscape .modal__item {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .landscape .modal__item-head {
        margin-top: 10.344827586206897vw
    }

    .landscape .modal__item-head>p {
        font-size: 26px;
        font-size: 6.933333333333334vw;
        letter-spacing: .02em
    }

    .landscape .modal__item-head>p>span:last-child {
        padding-left: .492610837438424vw
    }

    .landscape .modal__item-content {
        margin: 50px 0
    }

    .landscape .modal__item--photo {
        padding: 0
    }

    .landscape .modal__item--photo .modal__item-head>p {
        letter-spacing: .02em
    }

    .landscape .modal__item--photo .modal__item-content {
        width: 73.89162561576354vw;
        -ms-grid-columns: (minmax(auto, 1fr))[2];
        grid-template-columns: repeat(2, minmax(auto, 1fr));
        -ms-grid-rows: auto auto;
        grid-template-rows: auto auto;
        -webkit-column-gap: 5.541871921182266vw;
        -moz-column-gap: 5.541871921182266vw;
        column-gap: 5.541871921182266vw;
        row-gap: 6.157635467980295vw
    }

    .landscape .modal__item--cast {
        padding: 0
    }

    .landscape .modal__item--cast .modal__item-head>p {
        letter-spacing: -.02em
    }

    .landscape .modal__item--cast .modal__item-content {
        max-width: 61.576354679802954vw
    }

    .landscape .modal__item--cast .modal__item-content-block>a {
        padding-bottom: 3.694581280788177vw
    }

    .landscape .modal__item--cast .modal__item-content-block:nth-child(n+2)>a {
        padding-top: 3.694581280788177vw
    }

    .landscape .modal__close {
        display: inline-block
    }
}

.all-photo-fixed {
    position: fixed;
    top: 0;
    left: 6.640625vw;
    padding-left: 40px;
    opacity: 0;
    visibility: hidden;
    z-index: -1
}

.all-photo-fixed.is-show {
    opacity: 1;
    visibility: visible;
    z-index: 1
}

.all-photo-fixed.is-trans {
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 1.2s cubic-bezier(.19, 1, .22, 1), visibility 1.2s cubic-bezier(.19, 1, .22, 1);
    transition: opacity 1.2s cubic-bezier(.19, 1, .22, 1), visibility 1.2s cubic-bezier(.19, 1, .22, 1);
    z-index: 0
}

@media only screen and (max-width:960px) {
    .all-photo-fixed {
        left: 3.229166666666667vw;
        padding-left: 20px
    }
}

@media only screen and (max-width:1024px) {
    .all-photo-fixed {
        display: none
    }
}

.all-photo__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 0 5.9375vw 0 6.640625vw
}

.all-photo__title {
    position: relative;
    width: 296px
}

.all-photo__title h2 {
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 80px;
    font-weight: 500;
    color: #f0f0f0;
    line-height: 1.3;
    letter-spacing: .1em;
    white-space: nowrap
}

.all-photo__title h2>span {
    display: block
}

.all-photo__title h2>span>span {
    display: inline-block;
    will-change: transform, opacity
}

.all-photo__title-button {
    margin-top: 35px;
    padding-left: 2px
}

.all-photo__title.is-hide {
    opacity: 0;
    visibility: hidden
}

.all-photo__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(150px, 1fr))[2];
    grid-template-columns: repeat(2, minmax(150px, 1fr));
    -ms-grid-rows: auto auto;
    grid-template-rows: auto auto;
    -webkit-column-gap: 4.6875vw;
    -moz-column-gap: 4.6875vw;
    column-gap: 4.6875vw;
    row-gap: 5.078125vw;
    width: 100%;
    margin-left: 9.21875vw;
    padding: 23px 0 0
}

.all-photo__item {
    position: relative;
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0);
    -webkit-transition: opacity .4s cubic-bezier(.39, .575, .565, 1), -webkit-transform .4s cubic-bezier(.39, .575, .565, 1);
    transition: opacity .4s cubic-bezier(.39, .575, .565, 1), -webkit-transform .4s cubic-bezier(.39, .575, .565, 1);
    transition: transform .4s cubic-bezier(.39, .575, .565, 1), opacity .4s cubic-bezier(.39, .575, .565, 1);
    transition: transform .4s cubic-bezier(.39, .575, .565, 1), opacity .4s cubic-bezier(.39, .575, .565, 1), -webkit-transform .4s cubic-bezier(.39, .575, .565, 1);
    will-change: transform, opacity
}

.all-photo__item:nth-child(2n) {
    -webkit-transition-delay: .25s;
    transition-delay: .25s
}

.all-photo__item p {
    opacity: 0;
    -webkit-transition: opacity .3s cubic-bezier(.25, .46, .45, .94) .3s;
    transition: opacity .3s cubic-bezier(.25, .46, .45, .94) .3s
}

.all-photo__item.is-show {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.all-photo__item.is-show p {
    opacity: 1
}

.all-photo__button-sp {
    display: none;
    margin-top: 13.6vw;
    padding-right: 22px;
    text-align: right
}

@media only screen and (max-width:960px) {
    .all-photo__inner {
        padding: 0 2.291666666666667vw 0 3.229166666666667vw
    }

    .all-photo__list {
        -webkit-column-gap: 4.166666666666667vw;
        -moz-column-gap: 4.166666666666667vw;
        column-gap: 4.166666666666667vw;
        margin-left: 3.645833333333333vw
    }
}

@media only screen and (max-width:1024px) {
    .all-photo__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
        flex-flow: column nowrap;
        padding: 0 5.333333333333333vw
    }

    .all-photo__title {
        width: auto
    }

    .all-photo__title h2 {
        font-size: 31px;
        font-size: 8.266666666666666vw;
        letter-spacing: -.02em
    }

    .all-photo__title h2>span {
        display: inline-block
    }

    .all-photo__title h2>span:last-child {
        padding-left: 1.066666666666667vw
    }

    .all-photo__title-button {
        display: none
    }

    .all-photo__list {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        -webkit-column-gap: 0;
        -moz-column-gap: 0;
        column-gap: 0;
        row-gap: 9.866666666666667vw;
        margin: 8vw 0 0;
        padding: 0 5.333333333333333vw
    }

    .all-photo__item:nth-child(2n) {
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    .all-photo__button-sp {
        display: block
    }
}

.keyvisual {
    overflow: hidden
}

.keyvisual,
.keyvisual__inner {
    position: relative;
    height: 100%
}

.keyvisual__slider {
    width: 63.59375vw;
    height: 100%;
    margin-left: auto;
    padding-right: 6.796875vw
}

.keyvisual__slider-main {
    position: relative;
    width: 100%;
    height: calc(100% - 150px);
    overflow: hidden
}

.keyvisual__slider-main-cover {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #0a0b0e;
    z-index: 3;
    -webkit-transform-origin: right;
    transform-origin: right
}

.keyvisual__slider-item {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(20%, 0, 0) scale3d(1.2, 1.2, 1.2);
    transform: translate3d(20%, 0, 0) scale3d(1.2, 1.2, 1.2);
    will-change: transform, width
}

.keyvisual__slider-item-thumb {
    width: 56.796875vw;
    height: 100%
}

.keyvisual__slider-item-thumb>img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;"
}

.keyvisual__slider-item.on {
    opacity: 1;
    z-index: 1;
    -webkit-transform: translateZ(0) scaleX(1);
    transform: translateZ(0) scaleX(1);
    -webkit-transition: -webkit-transform 1.24s cubic-bezier(.215, .61, .355, 1);
    transition: -webkit-transform 1.24s cubic-bezier(.215, .61, .355, 1);
    transition: transform 1.24s cubic-bezier(.215, .61, .355, 1);
    transition: transform 1.24s cubic-bezier(.215, .61, .355, 1), -webkit-transform 1.24s cubic-bezier(.215, .61, .355, 1)
}

.keyvisual__slider-item.off {
    width: 0;
    opacity: 1;
    z-index: 2;
    -webkit-transform: translate3d(-200px, 0, 0) scale3d(1.15, 1.15, 1.15);
    transform: translate3d(-200px, 0, 0) scale3d(1.15, 1.15, 1.15);
    -webkit-transition: width 2.3s cubic-bezier(.215, .61, .355, 1), -webkit-transform 2.6s cubic-bezier(.075, .82, .165, 1);
    transition: width 2.3s cubic-bezier(.215, .61, .355, 1), -webkit-transform 2.6s cubic-bezier(.075, .82, .165, 1);
    transition: transform 2.6s cubic-bezier(.075, .82, .165, 1), width 2.3s cubic-bezier(.215, .61, .355, 1);
    transition: transform 2.6s cubic-bezier(.075, .82, .165, 1), width 2.3s cubic-bezier(.215, .61, .355, 1), -webkit-transform 2.6s cubic-bezier(.075, .82, .165, 1)
}

.keyvisual__slider-nav {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    -ms-grid-rows: auto auto auto;
    grid-template-rows: auto auto auto;
    -webkit-column-gap: 43px;
    -moz-column-gap: 43px;
    column-gap: 43px;
    margin-top: 50px;
    counter-reset: num
}

.keyvisual__slider-nav-item {
    cursor: pointer;
    position: relative;
    padding-top: 14px;
    color: #72757f;
    counter-increment: num;
    -webkit-transition: color .25s cubic-bezier(.39, .575, .565, 1);
    transition: color .25s cubic-bezier(.39, .575, .565, 1)
}

.keyvisual__slider-nav-item>p {
    position: relative;
    padding-left: 21px;
    font-size: 14px;
    opacity: 0;
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
    -webkit-transition: opacity .6s cubic-bezier(.215, .61, .355, 1) .5s, -webkit-transform .6s cubic-bezier(.215, .61, .355, 1) .5s;
    transition: opacity .6s cubic-bezier(.215, .61, .355, 1) .5s, -webkit-transform .6s cubic-bezier(.215, .61, .355, 1) .5s;
    transition: transform .6s cubic-bezier(.215, .61, .355, 1) .5s, opacity .6s cubic-bezier(.215, .61, .355, 1) .5s;
    transition: transform .6s cubic-bezier(.215, .61, .355, 1) .5s, opacity .6s cubic-bezier(.215, .61, .355, 1) .5s, -webkit-transform .6s cubic-bezier(.215, .61, .355, 1) .5s
}

.keyvisual__slider-nav-item>p:before {
    content: counter(num, decimal-leading-zero);
    position: absolute;
    top: 3px;
    left: 0;
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 12px;
    letter-spacing: .1em
}

.keyvisual__slider-nav-item.on {
    color: #fff;
    pointer-events: none
}

.keyvisual__slider-nav-item.is-hover {
    color: #fff
}

.keyvisual__slider-nav-item.is-show .keyvisual__slider-nav-line {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.keyvisual__slider-nav-item.is-show>p {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.keyvisual__slider-nav-line {
    height: 1px;
    background-color: #72757f;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: -webkit-transform .8s cubic-bezier(.075, .82, .165, 1);
    transition: -webkit-transform .8s cubic-bezier(.075, .82, .165, 1);
    transition: transform .8s cubic-bezier(.075, .82, .165, 1);
    transition: transform .8s cubic-bezier(.075, .82, .165, 1), -webkit-transform .8s cubic-bezier(.075, .82, .165, 1)
}

.keyvisual__slider-nav-line,
.keyvisual__slider-nav-line>span {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
}

.keyvisual__slider-nav-line>span {
    height: 100%;
    bottom: 0;
    background-color: #fff
}

.keyvisual__slider-nav-line>span.off {
    left: 100%;
    -webkit-transition: left .6s cubic-bezier(.39, .575, .565, 1);
    transition: left .6s cubic-bezier(.39, .575, .565, 1)
}

.keyvisual__head {
    position: absolute;
    max-width: 52vw;
    width: 100%;
    top: 50%;
    left: 3.359375vw;
    -webkit-transform: translateY(-61%);
    transform: translateY(-61%);
    z-index: 3
}

.keyvisual__head-title>p {
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 50px;
    color: #f0f0f0;
    letter-spacing: .12em;
    opacity: 0;
    -webkit-transition: opacity 1.2s cubic-bezier(.19, 1, .22, 1), letter-spacing 1.2s cubic-bezier(.19, 1, .22, 1);
    transition: opacity 1.2s cubic-bezier(.19, 1, .22, 1), letter-spacing 1.2s cubic-bezier(.19, 1, .22, 1)
}

.keyvisual__head-title>p span {
    font-size: 30px
}

.keyvisual__head-title>h2 {
    margin-top: -2px;
    font-size: 50px;
    font-weight: 500;
    color: #f0f0f0;
    letter-spacing: .14em;
    word-break: break-all;
    opacity: 0
}

.keyvisual__head-title>h2>span {
    display: inline-block;
    will-change: transform, opacity
}

.keyvisual__head-title.is-show>p {
    opacity: 1;
    letter-spacing: .04em
}

.keyvisual__head-title.is-show>h2 {
    opacity: 1
}

.keyvisual__head-button,
.keyvisual__head-cast {
    padding-left: 47px
}

.keyvisual__head-cast {
    margin-top: 24px
}

.keyvisual__head-cast>li {
    color: #72757f;
    letter-spacing: -.03em;
    text-shadow: 0 0 2px #0a0b0e
}

.keyvisual__head-cast>li:nth-child(n+2) {
    margin-top: 4px
}

.keyvisual__head-button {
    max-width: 304px;
    margin-top: 32px
}

.keyvisual__copyright {
    position: absolute;
    right: 1.015625vw;
    bottom: 50%;
    -webkit-transform-origin: top right;
    transform-origin: top right;
    -webkit-transform: rotate(90deg) translateX(56%);
    transform: rotate(90deg) translateX(56%)
}

.keyvisual__copyright>small {
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 12px;
    color: #72757f;
    letter-spacing: .073em
}

.keyvisual__scroll {
    position: absolute;
    left: 3px;
    bottom: 60px
}

@media only screen and (min-width:1681px) {
    .keyvisual__head-title>p {
        font-size: 50px;
        font-size: 3.9032006245121vw
    }

    .keyvisual__head-title>p>span {
        font-size: 30px;
        font-size: 2.34192037470726vw
    }

    .keyvisual__head-title>h2 {
        font-size: 50px;
        font-size: 3.9032006245121vw
    }

    .keyvisual__head__button,
    .keyvisual__head__cast {
        padding-left: 3.669008587041374vw
    }

    .keyvisual__head-cast {
        margin-top: 1.873536299765808vw
    }

    .keyvisual__head-cast>li {
        font-size: 14px;
        font-size: 1.092896174863388vw
    }

    .keyvisual__head-cast>li:nth-child(n+2) {
        margin-top: .312256049960968vw
    }

    .keyvisual__head-button {
        margin-top: 2.498048399687744vw
    }
}

@media only screen and (max-width:1024px) {
    .keyvisual__slider {
        position: relative;
        width: 100%;
        height: calc(100% - 64.26667vw);
        padding-right: 0
    }

    .keyvisual__slider-main {
        height: 100%
    }

    .keyvisual__slider-item-thumb {
        width: 100vw
    }

    .keyvisual__slider-item.off {
        -webkit-transform: translate3d(-100px, 0, 0) scale3d(1.1, 1.1, 1.1);
        transform: translate3d(-100px, 0, 0) scale3d(1.1, 1.1, 1.1);
        -webkit-transition: width 1.6s cubic-bezier(.39, .575, .565, 1), -webkit-transform 2.6s cubic-bezier(.075, .82, .165, 1);
        transition: width 1.6s cubic-bezier(.39, .575, .565, 1), -webkit-transform 2.6s cubic-bezier(.075, .82, .165, 1);
        transition: transform 2.6s cubic-bezier(.075, .82, .165, 1), width 1.6s cubic-bezier(.39, .575, .565, 1);
        transition: transform 2.6s cubic-bezier(.075, .82, .165, 1), width 1.6s cubic-bezier(.39, .575, .565, 1), -webkit-transform 2.6s cubic-bezier(.075, .82, .165, 1)
    }

    .keyvisual__slider-nav {
        position: absolute;
        -ms-grid-columns: minmax(20px, 5.333333333333333vw) minmax(20px, 5.333333333333333vw) minmax(20px, 5.333333333333333vw);
        grid-template-columns: minmax(20px, 5.333333333333333vw) minmax(20px, 5.333333333333333vw) minmax(20px, 5.333333333333333vw);
        -webkit-column-gap: 2.666666666666667vw;
        -moz-column-gap: 2.666666666666667vw;
        column-gap: 2.666666666666667vw;
        right: 5.6vw;
        bottom: -9.066666666666666vw;
        /* oga */
        display: none;
    }

    .keyvisual__slider-nav-item {
        padding-top: 0;
        pointer-events: none
    }

    .keyvisual__slider-nav-item>p {
        display: none
    }

    .keyvisual__slider-nav-line {
        height: 2px
    }

    .keyvisual__head {
        position: relative;
        max-width: 100%;
        padding: 3.5% 13.333333333333334vw 15% 5.333333333333333vw;
        top: auto;
        left: auto;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    .keyvisual__head-title>p {
        font-size: 30px;
        font-size: 8vw
    }

    .keyvisual__head-title>p span {
        font-size: 12px;
        font-size: 3.2vw
    }

    .keyvisual__head-title>h2 {
        margin-top: -1%;
        font-size: 25px;
        font-size: 6.666666666666667vw
    }

    .keyvisual__head-cast {
        margin-top: 3%;
        padding: 0 20px
    }

    .keyvisual__head-cast>li {
        font-size: 12px;
        font-size: 3.2vw;
        letter-spacing: 0;
        text-shadow: none
    }

    .keyvisual__head-button {
        max-width: 500px;
        margin-top: 7.5%;
        padding: 0 60px 0 20px
    }

    .keyvisual__copyright {
        display: none
    }

    .keyvisual__scroll {
        left: auto;
        right: 3.466666666666667vw;
        bottom: 12vw
    }
}

@media only screen and (max-width:374px) {
    .keyvisual__slider-nav {
        right: 21px
    }

    .keyvisual__head {
        padding: 3.5% 50px 15% 20px
    }

    .keyvisual__scroll {
        right: 13px
    }
}

@media only screen and (max-width:1024px) {
    .landscape .keyvisual__slider {
        height: 46.18226600985222vw
    }

    .landscape .keyvisual__slider-nav {
        bottom: -8vw
    }

    .landscape .keyvisual__head {
        padding: 3.5% 12.266666666666666vw 15% 4.266666666666667vw
    }

    .landscape .keyvisual__head-title>p {
        font-size: 26px;
        font-size: 6.933333333333334vw
    }

    .landscape .keyvisual__head-title>p span {
        font-size: 8px;
        font-size: 2.133333333333333vw
    }

    .landscape .keyvisual__head-title>h2 {
        font-size: 21px;
        font-size: 5.6vw
    }

    .landscape .keyvisual__scroll {
        right: 4.8vw;
        bottom: 10.933333333333334vw
    }
}

.location__inner {
    position: relative;
    padding: 0 3.59375vw;
    z-index: 0
}

.location__bg {
    position: absolute;
    min-width: 600px;
    width: 66.5625vw;
    height: 104%;
    margin: 0 auto;
    top: -1.5625vw;
    left: 0;
    right: 0;
    background-color: #f0f1f2;
    z-index: -1
}

.location__head {
    position: relative;
    padding: 0 3.125vw;
    top: 6.5625vw;
    z-index: 1
}

.location__head>h2 {
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 82px;
    font-weight: 500;
    letter-spacing: -.038em
}

.location__head>h2>span {
    display: inline-block;
    will-change: transform, opacity
}

.location__content {
    margin-top: 76px
}

.location__content-item:nth-child(odd) {
    padding-left: 6.71875vw
}

.location__content-item:nth-child(n+2) {
    margin-top: 121px
}

.location__content-item:nth-child(2n) {
    padding: 0 3.046875vw 0 3.359375vw
}

.location__cast {
    position: relative;
    max-width: 59.6875vw;
    min-width: 575px;
    width: 100%;
    margin: 81px auto 0;
    z-index: 0
}

.location__cast-head {
    position: relative;
    top: 34.375vw
}

.location__cast-head>p {
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 40px;
    letter-spacing: -.025em
}

.location__cast-head>p>span {
    display: inline-block
}

.location__cast-inner {
    position: relative;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(225px, 1fr) minmax(225px, 1fr);
    grid-template-columns: minmax(225px, 1fr) minmax(225px, 1fr);
    -ms-grid-rows: auto auto;
    grid-template-rows: auto auto;
    -webkit-column-gap: 6.71875vw;
    -moz-column-gap: 6.71875vw;
    column-gap: 6.71875vw;
    row-gap: 86px;
    margin-top: 38px;
    padding: 0 2.96875vw 0 3.28125vw;
    top: 28.90625vw
}

.location__cast-item {
    opacity: 0;
    -webkit-transform: translate3d(0, 35px, 0);
    transform: translate3d(0, 35px, 0);
    -webkit-transition: opacity .7s cubic-bezier(.215, .61, .355, 1), -webkit-transform .7s cubic-bezier(.215, .61, .355, 1);
    transition: opacity .7s cubic-bezier(.215, .61, .355, 1), -webkit-transform .7s cubic-bezier(.215, .61, .355, 1);
    transition: transform .7s cubic-bezier(.215, .61, .355, 1), opacity .7s cubic-bezier(.215, .61, .355, 1);
    transition: transform .7s cubic-bezier(.215, .61, .355, 1), opacity .7s cubic-bezier(.215, .61, .355, 1), -webkit-transform .7s cubic-bezier(.215, .61, .355, 1)
}

.location__cast-item:nth-of-type(2n) {
    -webkit-transition-delay: .3s;
    transition-delay: .3s
}

.location__cast-item.is-show {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.location__cast-notice {
    position: relative;
    margin-top: 27px;
    padding: 0 3.125vw;
    top: 19.53125vw
}

.location__cast-notice>p {
    font-size: 12px;
    font-weight: 600;
    color: #72757f;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
    -webkit-transition: opacity .5s cubic-bezier(.39, .575, .565, 1), -webkit-transform .5s cubic-bezier(.39, .575, .565, 1);
    transition: opacity .5s cubic-bezier(.39, .575, .565, 1), -webkit-transform .5s cubic-bezier(.39, .575, .565, 1);
    transition: transform .5s cubic-bezier(.39, .575, .565, 1), opacity .5s cubic-bezier(.39, .575, .565, 1);
    transition: transform .5s cubic-bezier(.39, .575, .565, 1), opacity .5s cubic-bezier(.39, .575, .565, 1), -webkit-transform .5s cubic-bezier(.39, .575, .565, 1)
}

.location__cast-notice.is-show>p {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

@media only screen and (max-width:960px) {
    .location__inner {
        padding: 0
    }

    .location__cast-inner {
        -webkit-column-gap: 4.479166666666667vw;
        -moz-column-gap: 4.479166666666667vw;
        column-gap: 4.479166666666667vw
    }
}

@media only screen and (max-width:1024px) {
    .location__bg {
        min-width: auto;
        width: 74.66666666666667vw;
        height: 105%;
        top: 0;
        left: auto
    }

    .location__head {
        padding: 0 10.666666666666666vw;
        top: 4.8vw
    }

    .location__head>h2 {
        font-size: 8vw
    }

    .location__content {
        margin-top: 10.666666666666666vw
    }

    .location__content-item:nth-child(odd) {
        padding-left: 10.666666666666666vw
    }

    .location__content-item:nth-child(n+2) {
        margin-top: 14.4vw
    }

    .location__content-item:nth-child(2n) {
        padding: 0 10.666666666666666vw 0 0
    }

    .location__cast {
        max-width: 100%;
        min-width: 100%;
        margin-top: 11.466666666666667vw;
        padding: 0 10.666666666666666vw
    }

    .location__cast-head {
        top: 18.133333333333333vw
    }

    .location__cast-head>p {
        font-size: 6.666666666666667vw
    }

    .location__cast-inner {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        -webkit-column-gap: auto;
        -moz-column-gap: auto;
        column-gap: auto;
        row-gap: 8.266666666666666vw;
        margin-top: 5.866666666666666vw;
        padding: 0;
        top: 15.466666666666667vw
    }

    .location__cast-item:nth-of-type(2n) {
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    .location__cast-notice {
        margin-top: 7.2vw;
        padding: 0;
        top: 14.666666666666666vw
    }

    .location__cast-notice>p {
        font-size: 12px;
        font-size: 3.2vw;
        letter-spacing: 0
    }
}

.navi {
    padding: 150px 40px;
    background-color: #fff
}

.navi__inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(100px, 1fr) minmax(100px, 1fr);
    grid-template-columns: minmax(100px, 1fr) minmax(100px, 1fr);
    -ms-grid-rows: auto auto;
    grid-template-rows: auto auto;
    -webkit-column-gap: 86px;
    -moz-column-gap: 86px;
    column-gap: 86px;
    max-width: 1024px;
    margin: 0 auto
}

.navi__item {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0);
    will-change: transform, opacity
}

.navi__item:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #0a0b0e;
    opacity: .5;
    z-index: 1;
    -webkit-transition: opacity .4s cubic-bezier(.39, .575, .565, 1);
    transition: opacity .4s cubic-bezier(.39, .575, .565, 1)
}

.navi__item-bg {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 66.03%;
    background-color: #1d1f27;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: -webkit-transform .6s cubic-bezier(.215, .61, .355, 1);
    transition: -webkit-transform .6s cubic-bezier(.215, .61, .355, 1);
    transition: transform .6s cubic-bezier(.215, .61, .355, 1);
    transition: transform .6s cubic-bezier(.215, .61, .355, 1), -webkit-transform .6s cubic-bezier(.215, .61, .355, 1)
}

.navi__item-bg>img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: contain;"
}

.navi__item-text {
    position: absolute;
    top: 50%;
    left: 8.8%;
    right: 8.8%;
    -webkit-transform: translateY(-34%);
    transform: translateY(-34%);
    z-index: 2
}

.navi__item-text em,
.navi__item-text p {
    color: #fff;
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0)
}

.navi__item-text em {
    display: inline-block;
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 30px;
    line-height: .7;
    letter-spacing: .06em
}

.navi__item-text p {
    margin-top: 11px;
    line-height: 1.5;
    letter-spacing: .02em;
    word-break: break-all
}

.navi__item.is-show {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: opacity .5s cubic-bezier(.39, .575, .565, 1), -webkit-transform .5s cubic-bezier(.39, .575, .565, 1);
    transition: opacity .5s cubic-bezier(.39, .575, .565, 1), -webkit-transform .5s cubic-bezier(.39, .575, .565, 1);
    transition: transform .5s cubic-bezier(.39, .575, .565, 1), opacity .5s cubic-bezier(.39, .575, .565, 1);
    transition: transform .5s cubic-bezier(.39, .575, .565, 1), opacity .5s cubic-bezier(.39, .575, .565, 1), -webkit-transform .5s cubic-bezier(.39, .575, .565, 1)
}

.navi__item.is-show .navi__item-text em,
.navi__item.is-show .navi__item-text p {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: opacity .4s cubic-bezier(.39, .575, .565, 1), -webkit-transform .4s cubic-bezier(.39, .575, .565, 1);
    transition: opacity .4s cubic-bezier(.39, .575, .565, 1), -webkit-transform .4s cubic-bezier(.39, .575, .565, 1);
    transition: transform .4s cubic-bezier(.39, .575, .565, 1), opacity .4s cubic-bezier(.39, .575, .565, 1);
    transition: transform .4s cubic-bezier(.39, .575, .565, 1), opacity .4s cubic-bezier(.39, .575, .565, 1), -webkit-transform .4s cubic-bezier(.39, .575, .565, 1)
}

.navi__item.is-show .navi__item-text em {
    -webkit-transition-delay: .35s;
    transition-delay: .35s
}

.navi__item.is-show .navi__item-text p {
    -webkit-transition-delay: .5s;
    transition-delay: .5s
}

.navi__item.is-hover:before {
    opacity: .25
}

.navi__item.is-hover .navi__item-bg {
    -webkit-transform: scale3d(1.08, 1.08, 1);
    transform: scale3d(1.08, 1.08, 1)
}

.navi__item.hide {
    opacity: 0;
    visibility: hidden
}

.navi__head {
    margin-top: 83px;
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0)
}

.navi__head-inner {
    display: table;
    margin: 0 auto
}

.navi__head-inner.is-hover .navi__head-icon {
    -webkit-transform: scale3d(1.05, 1.05, 1);
    transform: scale3d(1.05, 1.05, 1)
}

.navi__head-inner.is-hover .navi__head-circle>svg {
    -webkit-animation: circleNumber .8s cubic-bezier(.785, .135, .15, .86) forwards;
    animation: circleNumber .8s cubic-bezier(.785, .135, .15, .86) forwards
}

.navi__head-icon,
.navi__head-text {
    display: table-cell;
    vertical-align: middle
}

.navi__head-icon {
    position: relative;
    width: 60px;
    padding: 22px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: -webkit-transform .7s cubic-bezier(.215, .61, .355, 1);
    transition: -webkit-transform .7s cubic-bezier(.215, .61, .355, 1);
    transition: transform .7s cubic-bezier(.215, .61, .355, 1);
    transition: transform .7s cubic-bezier(.215, .61, .355, 1), -webkit-transform .7s cubic-bezier(.215, .61, .355, 1)
}

.navi__head-symbol {
    position: relative;
    width: 100%;
    padding-top: 100%
}

.navi__head-circle,
.navi__head-circle>svg,
.navi__head-symbol>svg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.navi__head-circle>svg {
    stroke: #72757f;
    stroke-width: 2;
    stroke-dasharray: 298 298;
    fill: transparent
}

.navi__head-text {
    padding-left: 20px
}

.navi__head-text>p {
    margin-top: -3px;
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 40px;
    line-height: 1;
    letter-spacing: -.02em
}

.navi__head.is-show {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: opacity .5s cubic-bezier(.39, .575, .565, 1), -webkit-transform .5s cubic-bezier(.39, .575, .565, 1);
    transition: opacity .5s cubic-bezier(.39, .575, .565, 1), -webkit-transform .5s cubic-bezier(.39, .575, .565, 1);
    transition: transform .5s cubic-bezier(.39, .575, .565, 1), opacity .5s cubic-bezier(.39, .575, .565, 1);
    transition: transform .5s cubic-bezier(.39, .575, .565, 1), opacity .5s cubic-bezier(.39, .575, .565, 1), -webkit-transform .5s cubic-bezier(.39, .575, .565, 1)
}

.navi--details {
    width: 100%;
    padding: 0;
    text-align: center;
    background-color: transparent
}

.navi--details .navi__inner {
    max-width: 100%
}

.navi--details .navi__item {
    z-index: 1
}

.navi--details .navi__item-bg {
    max-height: 620px;
    height: 41.333333333333336vh;
    padding-top: 0
}

.navi--details .navi__item-text {
    text-align: left
}

.navi--details .navi__head {
    position: relative;
    display: inline-block;
    margin-top: 6.533333333333333vh;
    left: 3px;
    z-index: 1
}

.navi--details .navi__head-inner {
    padding-bottom: 12px;
    cursor: pointer
}

.navi--details .navi__head-inner:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    left: 0;
    bottom: 0;
    background-color: #fff;
    -webkit-transition: opacity .5s cubic-bezier(.215, .61, .355, 1);
    transition: opacity .5s cubic-bezier(.215, .61, .355, 1)
}

.navi--details .navi__head-inner.is-hover:after {
    opacity: 0
}

.navi--details .navi__head-inner.is-hover .navi__head-symbol {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.navi--details .navi__head-icon {
    width: 24px;
    padding: 0;
    top: 2px;
    -webkit-transform: none;
    transform: none
}

.navi--details .navi__head-symbol {
    color: #fff;
    -webkit-transition: -webkit-transform .7s cubic-bezier(.215, .61, .355, 1);
    transition: -webkit-transform .7s cubic-bezier(.215, .61, .355, 1);
    transition: transform .7s cubic-bezier(.215, .61, .355, 1);
    transition: transform .7s cubic-bezier(.215, .61, .355, 1), -webkit-transform .7s cubic-bezier(.215, .61, .355, 1)
}

.navi--details .navi__head-text {
    padding-left: 16px
}

.navi--details .navi__head-text>p {
    font-size: 30px;
    color: #fff;
    letter-spacing: .095em
}

.navi--details .navi__head.is-show {
    -webkit-transition-delay: .4s;
    transition-delay: .4s
}

@media only screen and (max-width:960px) {
    .navi {
        padding: 150px 20px
    }

    .navi--details {
        padding: 0
    }
}

@media only screen and (max-width:1024px) {
    .navi__inner {
        -webkit-column-gap: 8.3984375vw;
        -moz-column-gap: 8.3984375vw;
        column-gap: 8.3984375vw
    }

    .navi--details .navi__inner {
        -webkit-column-gap: 5.859375vw;
        -moz-column-gap: 5.859375vw;
        column-gap: 5.859375vw
    }
}

@media only screen and (max-width:1024px) {
    .navi {
        padding: 0 0 11.733333333333333vw
    }

    .navi__inner {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr
    }

    .navi__item-text {
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }

    .navi__item-text>em {
        font-size: 25px;
        font-size: 6.666666666666667vw
    }

    .navi__item-text>p {
        margin-top: 1.866666666666667vw;
        font-size: 12px;
        font-size: 3.2vw
    }

    .navi__head {
        margin-top: 13.066666666666666vw
    }

    .navi__head-icon {
        width: 8vw;
        padding: 2.933333333333333vw
    }

    .navi__head-text {
        padding-left: 2.666666666666667vw
    }

    .navi__head-text>p {
        margin-top: -.533333333333333vw;
        font-size: 25px;
        font-size: 6.666666666666667vw
    }

    .navi--details {
        position: relative;
        padding: 0;
        top: -3.694581280788177vh
    }

    .navi--details .navi__inner {
        row-gap: 2.955665024630542vh
    }

    .navi--details .navi__item-bg {
        height: 22.167487684729064vh
    }

    .navi--details .navi__item--next.is-show {
        -webkit-transition-delay: .2s;
        transition-delay: .2s
    }

    .navi--details .navi__item--next.is-show .navi__item-text em {
        -webkit-transition-delay: .55s;
        transition-delay: .55s
    }

    .navi--details .navi__item--next.is-show .navi__item-text p {
        -webkit-transition-delay: .7s;
        transition-delay: .7s
    }

    .navi--details .navi__head {
        margin-top: 4.433497536945813vh;
        left: 0
    }

    .navi--details .navi__head-inner {
        padding-bottom: 3.2vw
    }

    .navi--details .navi__head-icon {
        width: 5.333333333333333vw;
        top: 1px
    }

    .navi--details .navi__head-text {
        padding-left: 2.666666666666667vw
    }

    .navi--details .navi__head-text>p {
        font-size: 25px;
        font-size: 6.666666666666667vw
    }

    .navi--details .navi__head.is-show {
        -webkit-transition-delay: .8s;
        transition-delay: .8s
    }
}

@media only screen and (max-width:1024px) {
    .landscape .navi__inner {
        -ms-grid-columns: minmax(100px, 1fr) minmax(100px, 1fr);
        grid-template-columns: minmax(100px, 1fr) minmax(100px, 1fr);
        -webkit-column-gap: 5.541871921182266vw;
        -moz-column-gap: 5.541871921182266vw;
        column-gap: 5.541871921182266vw
    }

    .landscape .navi__item-text>em {
        font-size: 30px;
        font-size: 3.694581280788177vw
    }

    .landscape .navi__item-text>p {
        margin-top: 1.866666666666667vh;
        font-size: 14px;
        font-size: 1.724137931034483vw
    }

    .landscape .navi--details {
        top: 2.666666666666667vh
    }

    .landscape .navi--details .navi__inner {
        row-gap: 0
    }

    .landscape .navi--details .navi__item-bg {
        height: 33.333333333333336vh
    }

    .landscape .navi--details .navi__item--next.is-show {
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    .landscape .navi--details .navi__item--next.is-show .navi__item-text em {
        -webkit-transition-delay: .35s;
        transition-delay: .35s
    }

    .landscape .navi--details .navi__item--next.is-show .navi__item-text p {
        -webkit-transition-delay: .5s;
        transition-delay: .5s
    }

    .landscape .navi--details .navi__head {
        margin-top: 6.666666666666667vh
    }

    .landscape .navi--details .navi__head-inner {
        padding-bottom: 10px
    }

    .landscape .navi--details .navi__head-icon {
        width: 2.955665024630542vw;
        top: 0
    }

    .landscape .navi--details .navi__head-text {
        padding-left: 1.970443349753695vw
    }

    .landscape .navi--details .navi__head-text>p {
        font-size: 30px;
        font-size: 3.694581280788177vw
    }

    .landscape .navi--details .navi__head.is-show {
        -webkit-transition-delay: .4s;
        transition-delay: .4s
    }
}

.parallax-item1 .location__bg {
    top: -.78125vw
}

.parallax-item1 .location__head {
    top: 7.03125vw
}

.parallax-item1 .location__content-item:first-child .place__meta {
    bottom: -31.25vw
}

.parallax-item1 .location__content-item:first-child .place__thumb-item--sub {
    top: 51.5625vw
}

.parallax-item1 .location__content-item:first-child .place__thumb-item--base .place__thumb-image {
    top: -8.59375vw
}

.parallax-item3 .location__bg {
    top: -2.34375vw
}

.parallax-item3 .location__head {
    top: 5.78125vw
}

.parallax-item3 .location__content-item:first-child .place__meta {
    bottom: -25.390625vw
}

.parallax-item3 .location__content-item:first-child .place__thumb-item--sub {
    top: 43.75vw
}

.parallax-item3 .location__content-item:first-child .place__thumb-item--base .place__thumb-image {
    top: -8.59375vw
}

.parallax-item3 .location__content-item:nth-child(2) .place__meta {
    bottom: -42.03125vw
}

.parallax-item3 .location__content-item:nth-child(2) .place__thumb-item--sub {
    top: 69.53125vw
}

.parallax-item3 .location__content-item:nth-child(2) .place__thumb-item--base .place__thumb-image {
    top: -12.5vw
}

.parallax-item3 .location__content-item:last-child .place__meta {
    bottom: -57.8125vw
}

.parallax-item3 .location__content-item:last-child .place__thumb-item--sub {
    top: 96.875vw
}

.parallax-item3 .location__content-item:last-child .place__thumb-item--base .place__thumb-image {
    top: -16.40625vw
}

.parallax-item3 .location__cast-head {
    top: 44.53125vw
}

.parallax-item3 .location__cast-inner {
    top: 37.5vw
}

.parallax-item3 .location__cast-notice {
    top: 25vw
}

.parallax-item4 .location__bg {
    top: -3.125vw
}

.parallax-item4 .location__head {
    top: 5.78125vw
}

.parallax-item4 .location__content-item:first-child .place__meta {
    bottom: -28.515625vw
}

.parallax-item4 .location__content-item:first-child .place__thumb-item--sub {
    top: 47.65625vw
}

.parallax-item4 .location__content-item:first-child .place__thumb-item--base .place__thumb-image {
    top: -7.8125vw
}

.parallax-item4 .location__content-item:nth-child(2) .place__meta {
    bottom: -45.3125vw
}

.parallax-item4 .location__content-item:nth-child(2) .place__thumb-item--sub {
    top: 73.4375vw
}

.parallax-item4 .location__content-item:nth-child(2) .place__thumb-item--base .place__thumb-image {
    top: -11.71875vw
}

.parallax-item4 .location__content-item:nth-child(3) .place__meta {
    bottom: -61.71875vw
}

.parallax-item4 .location__content-item:nth-child(3) .place__thumb-item--sub {
    top: 102.34375vw
}

.parallax-item4 .location__content-item:nth-child(3) .place__thumb-item--base .place__thumb-image {
    top: -15.625vw
}

.parallax-item4 .location__content-item:last-child .place__meta {
    bottom: -78.125vw
}

.parallax-item4 .location__content-item:last-child .place__thumb-item--sub {
    top: 129.6875vw
}

.parallax-item4 .location__content-item:last-child .place__thumb-item--base .place__thumb-image {
    top: -19.53125vw
}

.parallax-item4 .location__cast-head {
    top: 58.59375vw
}

.parallax-item4 .location__cast-inner {
    top: 48.4375vw
}

.parallax-item4 .location__cast-notice {
    top: 33.59375vw
}

.parallax-item5 .location__bg {
    top: -4.6875vw
}

.parallax-item5 .location__head {
    top: 7.34375vw
}

.parallax-item5 .location__content-item:first-child .place__meta {
    bottom: -28.515625vw
}

.parallax-item5 .location__content-item:first-child .place__thumb-item--sub {
    top: 51.5625vw
}

.parallax-item5 .location__content-item:first-child .place__thumb-item--base .place__thumb-image {
    top: -8.59375vw
}

.parallax-item5 .location__content-item:nth-child(2) .place__meta {
    bottom: -46.09375vw
}

.parallax-item5 .location__content-item:nth-child(2) .place__thumb-item--sub {
    top: 77.34375vw
}

.parallax-item5 .location__content-item:nth-child(2) .place__thumb-item--base .place__thumb-image {
    top: -13.28125vw
}

.parallax-item5 .location__content-item:nth-child(3) .place__meta {
    bottom: -63.28125vw
}

.parallax-item5 .location__content-item:nth-child(3) .place__thumb-item--sub {
    top: 107.03125vw
}

.parallax-item5 .location__content-item:nth-child(3) .place__thumb-item--base .place__thumb-image {
    top: -17.96875vw
}

.parallax-item5 .location__content-item:nth-child(4) .place__meta {
    bottom: -82.03125vw
}

.parallax-item5 .location__content-item:nth-child(4) .place__thumb-item--sub {
    top: 136.71875vw
}

.parallax-item5 .location__content-item:nth-child(4) .place__thumb-item--base .place__thumb-image {
    top: -21.875vw
}

.parallax-item5 .location__content-item:last-child .place__meta {
    bottom: -100.78125vw
}

.parallax-item5 .location__content-item:last-child .place__thumb-item--sub {
    top: 167.96875vw
}

.parallax-item5 .location__content-item:last-child .place__thumb-item--base .place__thumb-image {
    top: -27.34375vw
}

.parallax-item5 .location__cast-head {
    top: 73.4375vw
}

.parallax-item5 .location__cast-inner {
    top: 60.9375vw
}

.parallax-item5 .location__cast-notice {
    top: 42.96875vw
}

@media only screen and (max-width:1024px) {
    .parallax-item1 .location__bg {
        top: -.8vw
    }

    .parallax-item1 .location__head {
        top: 5.6vw
    }

    .parallax-item1 .location__content-item:first-child .place__meta {
        bottom: -26.133333333333333vw
    }

    .parallax-item1 .location__content-item:first-child .place__thumb-item--sub {
        top: 38.666666666666664vw
    }

    .parallax-item1 .location__content-item:first-child .place__thumb-item--base .place__thumb-image {
        top: -8.8vw
    }

    .parallax-item3 .location__bg {
        top: -1.6vw
    }

    .parallax-item3 .location__head {
        top: 5.6vw
    }

    .parallax-item3 .location__content-item:first-child .place__meta {
        bottom: -18.666666666666668vw
    }

    .parallax-item3 .location__content-item:first-child .place__thumb-item--sub {
        top: 37.333333333333336vw
    }

    .parallax-item3 .location__content-item:first-child .place__thumb-item--base .place__thumb-image {
        top: -8.8vw
    }

    .parallax-item3 .location__content-item:nth-child(2) .place__meta {
        bottom: -26.666666666666668vw
    }

    .parallax-item3 .location__content-item:nth-child(2) .place__thumb-item--sub {
        top: 46.666666666666664vw
    }

    .parallax-item3 .location__content-item:nth-child(2) .place__thumb-item--base .place__thumb-image {
        top: -14.133333333333333vw
    }

    .parallax-item3 .location__content-item:last-child .place__meta {
        bottom: -36vw
    }

    .parallax-item3 .location__content-item:last-child .place__thumb-item--sub {
        top: 56vw
    }

    .parallax-item3 .location__content-item:last-child .place__thumb-item--base .place__thumb-image {
        top: -16.8vw
    }

    .parallax-item3 .location__cast-head {
        top: 24vw
    }

    .parallax-item3 .location__cast-inner {
        top: 21.333333333333332vw
    }

    .parallax-item3 .location__cast-notice {
        top: 20vw
    }

    .parallax-item4 .location__bg {
        top: -2.666666666666667vw
    }

    .parallax-item4 .location__head {
        top: 5.6vw
    }

    .parallax-item4 .location__content-item:first-child .place__meta {
        bottom: -20.8vw
    }

    .parallax-item4 .location__content-item:first-child .place__thumb-item--sub {
        top: 37.333333333333336vw
    }

    .parallax-item4 .location__content-item:first-child .place__thumb-item--base .place__thumb-image {
        top: -8.8vw
    }

    .parallax-item4 .location__content-item:nth-child(2) .place__meta {
        bottom: -29.333333333333332vw
    }

    .parallax-item4 .location__content-item:nth-child(2) .place__thumb-item--sub {
        top: 49.333333333333336vw
    }

    .parallax-item4 .location__content-item:nth-child(2) .place__thumb-item--base .place__thumb-image {
        top: -14.133333333333333vw
    }

    .parallax-item4 .location__content-item:nth-child(3) .place__meta {
        bottom: -40vw
    }

    .parallax-item4 .location__content-item:nth-child(3) .place__thumb-item--sub {
        top: 66.66666666666667vw
    }

    .parallax-item4 .location__content-item:nth-child(3) .place__thumb-item--base .place__thumb-image {
        top: -16.8vw
    }

    .parallax-item4 .location__content-item:last-child .place__meta {
        bottom: -49.333333333333336vw
    }

    .parallax-item4 .location__content-item:last-child .place__thumb-item--sub {
        top: 78.66666666666667vw
    }

    .parallax-item4 .location__content-item:last-child .place__thumb-item--base .place__thumb-image {
        top: -19.466666666666665vw
    }

    .parallax-item4 .location__cast-head {
        top: 34.666666666666664vw
    }

    .parallax-item4 .location__cast-inner {
        top: 32vw
    }

    .parallax-item4 .location__cast-notice {
        top: 28vw
    }

    .parallax-item5 .location__bg {
        top: -3.2vw
    }

    .parallax-item5 .location__head {
        top: 5.866666666666666vw
    }

    .parallax-item5 .location__content-item:first-child .place__meta {
        bottom: -22.133333333333333vw
    }

    .parallax-item5 .location__content-item:first-child .place__thumb-item--sub {
        top: 38.666666666666664vw
    }

    .parallax-item5 .location__content-item:first-child .place__thumb-item--base .place__thumb-image {
        top: -8.8vw
    }

    .parallax-item5 .location__content-item:nth-child(2) .place__meta {
        bottom: -32.266666666666666vw
    }

    .parallax-item5 .location__content-item:nth-child(2) .place__thumb-item--sub {
        top: 52vw
    }

    .parallax-item5 .location__content-item:nth-child(2) .place__thumb-item--base .place__thumb-image {
        top: -14.133333333333333vw
    }

    .parallax-item5 .location__content-item:nth-child(3) .place__meta {
        bottom: -42.93333333333333vw
    }

    .parallax-item5 .location__content-item:nth-child(3) .place__thumb-item--sub {
        top: 69.33333333333333vw
    }

    .parallax-item5 .location__content-item:nth-child(3) .place__thumb-item--base .place__thumb-image {
        top: -16.8vw
    }

    .parallax-item5 .location__content-item:nth-child(4) .place__meta {
        bottom: -53.06666666666666vw
    }

    .parallax-item5 .location__content-item:nth-child(4) .place__thumb-item--sub {
        top: 86.66666666666667vw
    }

    .parallax-item5 .location__content-item:nth-child(4) .place__thumb-item--base .place__thumb-image {
        top: -19.466666666666665vw
    }

    .parallax-item5 .location__content-item:last-child .place__meta {
        bottom: -63.199999999999996vw
    }

    .parallax-item5 .location__content-item:last-child .place__thumb-item--sub {
        top: 102.66666666666667vw
    }

    .parallax-item5 .location__content-item:last-child .place__thumb-item--base .place__thumb-image {
        top: -22.133333333333333vw
    }

    .parallax-item5 .location__cast-head {
        top: 42.666666666666664vw
    }

    .parallax-item5 .location__cast-inner {
        top: 40vw
    }

    .parallax-item5 .location__cast-notice {
        top: 36vw
    }
}

.scroll {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 48px;
    padding-bottom: 17px;
    text-align: center
}

.scroll__text {
    position: relative;
    margin-bottom: 7px;
    left: -1px;
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 13px;
    color: #f0f0f0;
    line-height: 1;
    letter-spacing: .08em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.scroll__arrow {
    width: 10.5px;
    color: #72757f;
    overflow: hidden
}

.scroll__arrow-icon {
    position: relative;
    width: 100%;
    padding-top: 690%;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.scroll__arrow-icon>svg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.scroll__circle {
    position: absolute;
    width: 100%;
    padding-top: 100%;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.scroll__circle>svg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    stroke: #72757f;
    stroke-width: 2px;
    stroke-dasharray: 298 298;
    fill: transparent
}

.scroll.idle .scroll__arrow-icon {
    -webkit-animation: arrowFlow 1.25s infinite;
    animation: arrowFlow 1.25s infinite
}

.scroll.idle .scroll__circle>svg {
    -webkit-animation: circleRotate 2.5s linear infinite;
    animation: circleRotate 2.5s linear infinite
}

@media only screen and (max-width:1024px) {
    .scroll {
        width: auto;
        padding-bottom: 0
    }

    .scroll__text {
        margin-right: 2px;
        font-size: 13px;
        font-size: 3.466666666666667vw
    }

    .scroll__arrow {
        width: 2.8vw
    }

    .scroll__circle {
        display: none
    }
}

@media only screen and (max-width:1024px) {
    .landscape .scroll {
        width: auto;
        padding-bottom: 0
    }

    .landscape .scroll__text {
        margin-right: 2px;
        font-size: 11px;
        font-size: 2.933333333333333vw
    }

    .landscape .scroll__arrow {
        width: 1.733333333333333vw
    }

    .landscape .scroll__circle {
        display: none
    }
}

.carousel {
    height: 100%
}

.carousel__inner {
    position: relative;
    height: calc(100% - 220px);
    padding-left: 229px;
    top: calc(50% + 18px);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.carousel__list-wrapper {
    height: 100%
}

.carousel__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-transition: -webkit-transform cubic-bezier(.645, .045, .355, 1);
    transition: -webkit-transform cubic-bezier(.645, .045, .355, 1);
    transition: transform cubic-bezier(.645, .045, .355, 1);
    transition: transform cubic-bezier(.645, .045, .355, 1), -webkit-transform cubic-bezier(.645, .045, .355, 1)
}

.carousel__item,
.carousel__list {
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform
}

.carousel__item {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
    width: calc(100% - 255px);
    margin-right: 86px;
    z-index: 0
}

.carousel__item-content {
    opacity: .3;
    -webkit-transition: opacity .2s cubic-bezier(.445, .05, .55, .95);
    transition: opacity .2s cubic-bezier(.445, .05, .55, .95)
}

.carousel__item-content,
.carousel__item-content:before {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.carousel__item-content:before {
    content: "";
    pointer-events: none;
    background: url(../images/common/mask.png) 50% no-repeat;
    background-size: 100% 100%;
    opacity: 0;
    z-index: 1;
    -webkit-transition: opacity .1s cubic-bezier(.445, .05, .55, .95);
    transition: opacity .1s cubic-bezier(.445, .05, .55, .95)
}

.carousel__item-content-thumb {
    position: relative;
    overflow: hidden
}

.carousel__item-content-thumb,
.carousel__item-content-thumb-cover {
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.carousel__item-content-thumb-cover {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    background-color: #0a0b0e;
    z-index: 2;
    -webkit-transform-origin: right;
    transform-origin: right
}

.carousel__item-content-thumb>img {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    font-family: "object-fit: cover;";
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.carousel__item-content-caption {
    position: absolute;
    left: 30px;
    bottom: 30px;
    color: #f0f0f0;
    letter-spacing: .1em;
    opacity: 0;
    z-index: 1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
    -webkit-transition: opacity .1s cubic-bezier(.215, .61, .355, 1), -webkit-transform .1s cubic-bezier(.215, .61, .355, 1);
    transition: opacity .1s cubic-bezier(.215, .61, .355, 1), -webkit-transform .1s cubic-bezier(.215, .61, .355, 1);
    transition: transform .1s cubic-bezier(.215, .61, .355, 1), opacity .1s cubic-bezier(.215, .61, .355, 1);
    transition: transform .1s cubic-bezier(.215, .61, .355, 1), opacity .1s cubic-bezier(.215, .61, .355, 1), -webkit-transform .1s cubic-bezier(.215, .61, .355, 1);
    will-change: transform, opacity
}

.carousel__item-content-caption.is-show {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.carousel__item-content .pinch-zoom-container {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.carousel__item.current {
    z-index: 1
}

.carousel__item.current .carousel__item-content,
.carousel__item.current .carousel__item-content:before {
    opacity: 1
}

.carousel__item.in {
    -webkit-animation: carouselScaleIn .1s cubic-bezier(.445, .05, .55, .95) forwards;
    animation: carouselScaleIn .1s cubic-bezier(.445, .05, .55, .95) forwards
}

.carousel__item--vertical .carousel__item-content {
    width: auto;
    -webkit-transition-property: left, opacity, -webkit-transform;
    transition-property: left, opacity, -webkit-transform;
    transition-property: transform, left, opacity;
    transition-property: transform, left, opacity, -webkit-transform;
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transition-timing-function: cubic-bezier(.445, .05, .55, .95);
    transition-timing-function: cubic-bezier(.445, .05, .55, .95);
    will-change: transform, left, opacity
}

.carousel__item--vertical .carousel__item-content-thumb>img {
    width: auto;
    -o-object-fit: contain;
    object-fit: contain;
    font-family: "object-fit: contain;"
}

.carousel__item--vertical.current .carousel__item-content {
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.carousel__item--vertical.out .carousel__item-content {
    left: 100%;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0)
}

.carousel__item--vertical.onTransition .carousel__item-content {
    -webkit-transition-duration: .4s, .4s, .2s;
    transition-duration: .4s, .4s, .2s;
    -webkit-transition-delay: .2s, .2s, 0s;
    transition-delay: .2s, .2s, 0s
}

.carousel__progress {
    position: absolute;
    top: 50%;
    right: 43px;
    -webkit-transform: translateY(-61%);
    transform: translateY(-61%)
}

.carousel.is-fullscreen .carousel__inner {
    height: 100%;
    padding-left: 0;
    top: 0;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.carousel.is-fullscreen .carousel__item {
    width: 100%;
    margin-right: 0
}

.carousel.is-fullscreen .carousel__item-content-caption {
    opacity: 0;
    visibility: hidden
}

.carousel.is-fullscreen .carousel__item.current .carousel__item-content {
    -webkit-transition: none;
    transition: none
}

@media only screen and (max-width:960px) {
    .carousel__inner {
        padding-left: 16.875vw
    }

    .carousel__item {
        width: calc(100% - 20.83333vw);
        margin-right: 5.729166666666667vw
    }

    .carousel__item-content-caption {
        left: 20px;
        bottom: 20px
    }

    .carousel__progress {
        right: 27px
    }
}

@media only screen and (max-width:1024px) {
    .carousel__inner {
        height: 63%;
        padding-left: 0;
        top: calc(50% - 13px)
    }

    .carousel__item {
        width: 100%;
        margin-right: 0
    }

    .carousel__item-content-thumb>img {
        -o-object-fit: contain;
        object-fit: contain;
        font-family: "object-fit: contain;";
        /* -webkit-transform: scale(1.14);
        transform: scale(1.14) */
    }

    .carousel__item-content-caption {
        position: relative;
        margin-top: 23px;
        padding: 0 5.6vw;
        left: 0;
        bottom: 0;
        font-size: 12px;
        font-size: 3.2vw;
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0)
    }

    .carousel__item.current .carousel__item-content {
        -webkit-transition: none;
        transition: none
    }

    .carousel__item.current .carousel__item-content:before {
        display: none;
        opacity: 0
    }

    .carousel__item--vertical .carousel__item-content {
        width: 100%;
        -webkit-transition-property: opacity;
        transition-property: opacity;
        -webkit-transition-duration: .1s;
        transition-duration: .1s
    }

    .carousel__item--vertical .carousel__item-content-thumb {
        width: 100%
    }

    .carousel__item--vertical .carousel__item-content-thumb>img {
        width: 100%;
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    .carousel__progress {
        position: relative;
        padding: 0 5.066666666666666vw;
        top: 26px;
        right: -1px;
        -webkit-transform: none;
        transform: none
    }
}

@media only screen and (max-width:1024px) {
    .landscape .carousel__inner {
        height: 100%;
        padding-left: 0;
        top: 0;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    .landscape .carousel__item {
        width: 100%;
        margin-right: 0
    }

    .landscape .carousel__item-content-thumb>img {
        -o-object-fit: cover;
        object-fit: cover;
        font-family: "object-fit: cover;";
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    .landscape .carousel__item-content-caption {
        opacity: 0;
        visibility: hidden
    }

    .landscape .carousel__item.current .carousel__item-content {
        -webkit-transition: none;
        transition: none
    }

    .landscape .carousel__item.current .carousel__item-content:before {
        display: block;
        opacity: 1
    }

    .landscape .carousel__item--vertical .carousel__item-content-thumb>img {
        -o-object-fit: contain;
        object-fit: contain;
        font-family: "object-fit: contain;"
    }

    .landscape .carousel__progress {
        position: absolute;
        top: 50%;
        right: 2.339901477832512vw;
        padding: 0;
        -webkit-transform: translateY(-61%);
        transform: translateY(-61%)
    }
}

.details {
    position: relative;
    height: 100%
}

.details__bg {
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: 50%;
    opacity: 0;
    visibility: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: -1;
    -webkit-transition: opacity .15s cubic-bezier(.39, .575, .565, 1), visibility .15s cubic-bezier(.39, .575, .565, 1);
    transition: opacity .15s cubic-bezier(.39, .575, .565, 1), visibility .15s cubic-bezier(.39, .575, .565, 1)
}

.details__bg.is-show {
    opacity: .15;
    visibility: visible;
}

.details__inner {
    position: relative;
    height: 100%;
    z-index: 1
}

.details__inner-navi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 128px;
    opacity: 0;
    visibility: hidden
}

.details__inner-clickable,
.details__inner-navi {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.details__inner-clickable>span {
    position: absolute;
    display: block;
    width: 25vw;
    height: 100%;
    top: 0;
    bottom: 0;
    cursor: none
}

.details__inner-clickable>span:first-child {
    left: 0
}

.details__inner-clickable>span:last-child {
    right: 0
}

.details__inner-clickable>span.is-hide {
    display: none
}

.details__inner-clickable.is-apply>span {
    width: 30vw
}

.details__button,
.details__func,
.details__menu {
    position: absolute;
    z-index: 10
}

.details__menu {
    top: 51px;
    right: 43px
}

.details__func {
    right: 42px;
    bottom: 31px
}

.details__button {
    left: 43px;
    bottom: 30px
}

@media only screen and (max-width:960px) {
    .details__inner-navi {
        padding: 0 112px
    }

    .details__menu {
        right: 27px
    }

    .details__func {
        right: 26px
    }

    .details__button {
        left: 27px
    }
}

@media only screen and (max-width:1024px) {
    .details__inner-navi {
        padding: 0 70px
    }
}

@media only screen and (max-width:1024px) {
    .details__bg {
        display: block
    }

    .details__inner-navi {
        padding: 0 12vw
    }

    .details__inner-clickable {
        display: none
    }

    .details__menu {
        top: 8.8vw;
        right: 4.8vw
    }

    .details__func {
        right: 5.066666666666666vw;
        bottom: 8.533333333333333vw
    }

    .details__button {
        left: 5.6vw;
        bottom: 8.533333333333333vw
    }
}

@media only screen and (max-width:1024px) {
    .landscape .details__bg {
        display: none
    }

    .landscape .details__inner-navi {
        padding: 0 6.157635467980295vw
    }

    .landscape .details__menu {
        top: 4.064039408866996vw;
        right: 2.339901477832512vw
    }

    .landscape .details__func {
        right: 2.339901477832512vw;
        bottom: 2.70935960591133vw
    }

    .landscape .details__button {
        left: 2.586206896551724vw;
        bottom: 2.339901477832512vw
    }
}

.func__inner {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.func__inner,
.func__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.func__item {
    cursor: pointer;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.func__item-icon,
.func__item-text {
    color: #fff
}

.func__item-icon {
    position: relative
}

.func__item-icon>span {
    display: inline-block;
    width: 1px;
    height: 100%;
    vertical-align: super;
    background-color: currentColor;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0, 70%, 0);
    transform: translate3d(0, 70%, 0)
}

.func__item-icon>svg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.func__item-text {
    position: relative;
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 12px;
    line-height: 1;
    letter-spacing: .07em
}

.func__item-text:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: -2px;
    background-color: #fff;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: -webkit-transform .5s cubic-bezier(.215, .61, .355, 1);
    transition: -webkit-transform .5s cubic-bezier(.215, .61, .355, 1);
    transition: transform .5s cubic-bezier(.215, .61, .355, 1);
    transition: transform .5s cubic-bezier(.215, .61, .355, 1), -webkit-transform .5s cubic-bezier(.215, .61, .355, 1)
}

.func__item-icon--sound {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    width: 14px;
    height: 14px;
    margin-right: 11px;
    overflow: hidden
}

.func__item-icon--sound.on>span {
    -webkit-animation: soundon .32s linear infinite alternate;
    animation: soundon .32s linear infinite alternate
}

.func__item-icon--sound.on>span:nth-child(2) {
    -webkit-animation-delay: .2s;
    animation-delay: .2s
}

.func__item-icon--sound.on>span:nth-child(3) {
    -webkit-animation-delay: .4s;
    animation-delay: .4s
}

.func__item-icon--sound.on>span:nth-child(4) {
    -webkit-animation-delay: .6s;
    animation-delay: .6s
}

.func__item-icon--play {
    width: 22px;
    height: 17px;
    margin-right: 10px;
    top: 1px
}

.func__item-icon--full {
    width: 13px;
    height: 14px;
    margin-right: 9px
}

.func__item.is-hover .func__item-text:after {
    -webkit-transform-origin: left;
    transform-origin: left
}

.func__item.is-apply .func__item-text:after,
.func__item.is-hover .func__item-text:after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.func__item--full,
.func__item--play {
    margin-left: 41px
}

@media only screen and (max-width:1024px) {
    .func__item-text {
        font-size: 12px;
        font-size: 3.2vw
    }

    .func__item-icon--sound {
        width: 3.733333333333333vw;
        height: 3.733333333333333vw;
        margin-right: 3.2vw
    }

    .func__item-icon--play {
        width: 5.333333333333333vw;
        height: 4.266666666666667vw;
        margin-right: 2.666666666666667vw;
        top: 0
    }

    .func__item--play {
        margin-left: 4vw
    }

    .func__item--full {
        display: none
    }
}

@media only screen and (max-width:1024px) {
    .landscape .func__item-text {
        font-size: 12px
    }

    .landscape .func__item-icon--sound {
        width: 14px;
        height: 14px;
        margin-right: 11px
    }

    .landscape .func__item-icon--play {
        width: 22px;
        height: 17px;
        margin-right: 10px;
        top: 1px
    }

    .landscape .func__item--play {
        margin-left: 2.70935960591133vw
    }
}

.menu__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 -20px
}

.menu__item {
    margin: 0 20px
}

.menu__item>p {
    cursor: pointer;
    position: relative;
    padding-bottom: 2px;
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 12px;
    color: #fff;
    letter-spacing: .08em
}

.menu__item>p:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

.menu__item.is-hover>p:after {
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

@media only screen and (max-width:1024px) {
    .menu__inner {
        margin: 0 -1.866666666666667vw
    }

    .menu__item {
        margin: 0 1.866666666666667vw
    }

    .menu__item>p {
        font-size: 12px;
        font-size: 3.2vw
    }

    .menu__item>p:after {
        content: none
    }
}

@media only screen and (max-width:1024px) {
    .landscape .menu__inner {
        margin: 0 -20px
    }

    .landscape .menu__item {
        margin: 0 20px
    }

    .landscape .menu__item>p {
        font-size: 12px
    }
}

.progress__inner {
    position: relative;
    width: 81px;
    padding-top: 100%
}

.progress__circle,
.progress__circle>svg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.progress__circle>svg {
    stroke-width: 1px;
    fill: transparent;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.progress__circle--base>svg {
    stroke: #72757f;
    stroke-dasharray: 0 298;
    -webkit-transition: stroke-dasharray .6s cubic-bezier(.215, .61, .355, 1);
    transition: stroke-dasharray .6s cubic-bezier(.215, .61, .355, 1)
}

.progress__circle--param {
    opacity: 0;
    -webkit-transition: opacity .2s cubic-bezier(.215, .61, .355, 1) .6s;
    transition: opacity .2s cubic-bezier(.215, .61, .355, 1) .6s
}

.progress__circle--param>svg {
    stroke: #fff;
    stroke-dasharray: 0 298;
    -webkit-transition: stroke-dasharray .4s linear;
    transition: stroke-dasharray .4s linear
}

.progress__num {
    position: absolute;
    top: 50%;
    left: 50%;
    text-align: center;
    opacity: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate(-50%, -47%);
    transform: translate(-50%, -47%);
    -webkit-transition: opacity .6s cubic-bezier(.215, .61, .355, 1) .4s;
    transition: opacity .6s cubic-bezier(.215, .61, .355, 1) .4s
}

.progress__num>li {
    position: relative;
    font-family: Lato, 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
    font-size: 12px;
    color: #fff;
    line-height: 1;
    letter-spacing: .07em
}

.progress__num>li:last-child {
    padding-top: 12px
}

.progress__num>li:last-child:before {
    content: "";
    position: absolute;
    width: 1px;
    height: 6px;
    top: 3px;
    left: 50%;
    background-color: currentColor;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.progress.is-show .progress__circle--base>svg {
    stroke-dasharray: 298 298
}

.progress.is-show .progress__circle--param,
.progress.is-show .progress__num {
    opacity: 1
}

@media only screen and (max-width:1024px) {
    .progress__inner {
        width: auto;
        padding-top: 0
    }

    .progress__circle {
        display: none
    }

    .progress__num {
        position: absolute;
        top: 22px;
        right: 0;
        font-size: 0;
        text-align: right;
        -webkit-transform: none;
        transform: none
    }

    .progress__num>li {
        display: inline-block;
        font-size: 14px;
        font-size: 3.733333333333333vw;
        vertical-align: middle
    }

    .progress__num>li:last-child {
        padding-top: 0;
        padding-left: 4vw
    }

    .progress__num>li:last-child:before {
        width: 1.6vw;
        height: .266666666666667vw;
        top: 55%;
        left: 1.333333333333333vw;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media only screen and (max-width:1024px) {
    .landscape .progress__inner {
        width: 81px;
        padding-top: 100%
    }

    .landscape .progress__circle {
        display: inline-block
    }

    .landscape .progress__num {
        position: absolute;
        top: 50%;
        left: 50%;
        text-align: center;
        -webkit-transform: translate(-50%, -47%);
        transform: translate(-50%, -47%)
    }

    .landscape .progress__num>li {
        display: block;
        font-size: 12px
    }

    .landscape .progress__num>li:last-child {
        padding-top: 12px;
        padding-left: 0
    }

    .landscape .progress__num>li:last-child:before {
        width: 1px;
        height: 6px;
        top: 3px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (max-width: 956px) {


    .carousel__item--vertical .pinch-zoom-container {
        margin-top: -5%;
    }

    .landscape .carousel__item--vertical .pinch-zoom-container {
        margin-top: 0;
    }
}