@charset "utf-8";
/* CSS Document */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}
body {
    line-height: 1;
}
ol,
ul {
    list-style: none;
}
blockquote,
q {
    quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
/* end
http://meyerweb.com/eric/tools/css/reset/ 
*/
@keyframes lookswitchimg {
    0% {
        opacity: 0;
        animation-timing-function: ease-in;
    }
    12.5% {
        opacity: 1;
        animation-timing-function: ease-in;
    }
    50% {
        opacity: 1;
        animation-timing-function: ease-in;
    }
    62.5% {
        opacity: 0;
        animation-timing-function: ease-in;
    }
    100% {
        opacity: 0;
    }
}
@keyframes lookswitchimg-n3-c01 {
    0% {
        opacity: 0;
        animation-timing-function: ease-in;
    }
    8.3% {
        opacity: 1;
        animation-timing-function: ease-in;
    }
    30% {
        opacity: 1;
        animation-timing-function: ease-in;
    }
    38.3% {
        opacity: 1;
        animation-timing-function: ease-in;
    }
    60% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}
@keyframes lookswitchimg-n3-c02 {
    0% {
        opacity: 0;
        animation-timing-function: ease-in;
    }
    8.3% {
        opacity: 1;
        animation-timing-function: ease-in;
    }
    30% {
        opacity: 1;
        animation-timing-function: ease-in;
    }
    38.3% {
        opacity: 0;
        animation-timing-function: ease-in;
    }
    100% {
        opacity: 0;
    }
}
@keyframes loading01 {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
@keyframes slideButtonPrev {
    0% {
        transform: translateX(100%);
    }
    30% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(-100%);
    }
}
@keyframes slideButtonNext {
    0% {
        transform: translateX(-100%);
    }
    30% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(100%);
    }
}
@keyframes scrollAtte {
    0% {
        transform: translateY(-100%);
    }
    30% {
        transform: translateY(100%);
    }
    100% {
        transform: translateY(100%);
    }
}
@keyframes slider-img-tx {
    0% {
        transform: translateX(0%);
    }
    34% {
        transform: translateX(0%);
    }
    80% {
        transform: translateX(-50%);
    }
    100% {
        transform: translateX(-50%);
    }
}
:root {
    --100svh: 100vh;
    --font-en: "Outfit", sans-serif;
    --font-ja: "Noto Sans JP", sans-serif;
    --c-bg: #fcfaf7;
}
html {
    width: 100%;
}
body {
    background: #fff;
    font-feature-settings: "palt";
    font-family: var(--font-ja);
    -webkit-font-smoothing: antialiased;
    overflow: hidden;
    font-weight: 400;
    position: relative;
}
img {
    width: 100%;
    height: auto;
    display: block;
}
a {
    text-decoration: none;
    color: inherit;
}
a,
button {
    outline: none;
}
.js-anm,
.js-anm--tp {
    opacity: 0;
}
.section {
    width: 100%;
    height: 100svh;
    height: 100dvh;
    display: flex;
    background: #fff;
    position: relative;
    overflow: hidden;
    clip-path: inset(0 0 0 0);
}
@supports not(height: 100dvh) {
    .section {
        height: var(--100svh);
    }
}
.section__box {
    width: 100%;
    height: 100%;
    display: flex;
}
.box--scroll {
    height: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
    width: 100%;
    scrollbar-width: none;
    display: flex;
    align-items: flex-start;
    overscroll-behavior: none;
    will-change: scroll-position;
}
.box--scroll::-webkit-scrollbar-thumb {
    background: transparent;
}
.box--scroll::-webkit-scrollbar {
    background: transparent;
    display: none;
}
.box--scroll__ctn {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: calc(100% + 1px);
    flex-wrap: wrap;
}
.top-op {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100svh;
    background: #000;
    z-index: 100;
    color: #000;
    font-size: 2em;
    font-size: 1em;
}
@supports not(height: 100svh) {
    .top-op {
        height: var(--100svh);
    }
}
.top-op__img-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.top-op__poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.top-op__img-wrap video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.top-op__img-wrap-box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    object-fit: contain;
}
.top-op__button {
    position: absolute;
    right: 0;
    bottom: 0;
    appearance: none;
    background: none;
    border: none;
    color: #fff;
    font-family: var(--font-en);
    margin: 20px;
    font-size: 1em;
    cursor: pointer;
}
.top-op .u-loading {
    background: #010103;
    z-index: 1;
    color: #fff;
}
.top {
    position: relative;
    display: flex;
    align-items: stretch;
    min-height: 100svh;
    width: 100%;
    justify-content: flex-start;
    background: #9a9b9d;
}
@supports not(min-height: 100svh) {
    .top {
        min-height: var(--100svh);
    }
}
.top__tl {
    width: 100%;
    transform: translate(-50%, -50%);
    z-index: 1;
    opacity: 0;
    grid-area: 1 / 1;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    max-width: 180svh;
}
@supports not(max-width: 180svh) {
    .top__tl {
        max-width: var(--180svh);
    }
}
.top__logo {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    width: 100%;
    max-width: 180svh;
    display: flex;
    justify-content: flex-end;
}
.top__logo a {
    max-width: 117px;
    width: 7.825%;
    margin: 1.4% 1.6%;
    display: block;
}
@supports not(max-width: 180svh) {
    .top__logo {
        max-width: var(--180svh);
    }
}
.top__tl-01 {
    width: 99.593%;
}
.top__img {
    position: absolute;
    opacity: 0;
    height: 100%;
    display: flex;
    top: 0;
    left: 0;
    width: 100%;
}
.top__img img {
    object-position: 50% 0;
    object-fit: cover;
    height: 100%;
    height: calc(100% + 1px);
    margin: -1px 0 0;
}
.top__img .top__img-01-img {
    object-position: 50% 8%;
}
.inner {
    max-width: 1440px;
    margin: 0 auto;
    width: 100%;
}
.concept {
    display: flex;
    height: 100svh;
    align-items: stretch;
    width: 100%;
    background: #040404;
}
@supports not(height: 100svh) {
    .concept {
        height: var(--100svh);
    }
}
.u-ls {
    letter-spacing: -0.17em;
}
.concept__text-item {
    width: 50%;
    flex-direction: column;
    align-items: center;
    padding: 10px 0 16px;
    justify-content: center;
    box-sizing: border-box;
    position: relative;
    grid-area: 1 / 1;
    z-index: 1;
    display: flex;
}
.concept__text-item-inner {
    width: fit-content;
    margin: 0 auto;
    padding: 0 0 0 21.8%;
}
.concept__tl {
    width: 315px;
    margin: 0 0 36px -3px;
    filter: brightness(0) invert(1);
    opacity: 0;
}
.concept__img-item {
    grid-area: 1 / 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.concept__img-item img {
    object-fit: cover;
    height: 100%;
    object-position: 61.8% 0%;
}
.concept__text {
    position: relative;
    z-index: 1;
    font-size: 0.938em;
    line-height: 2;
    letter-spacing: 0.12em;
    opacity: 0;
    color: #fff;
}
.concept__text+.concept__text {
    margin-top: 20px;
}
.switch-img {
    position: absolute;
    top: 0;
    left: 0;
    animation: lookswitchimg 8000ms linear infinite 3000ms;
    animation-play-state: paused;
    opacity: 0;
}
.switch-img--n3-02 {
    animation: lookswitchimg-n3-c01 12000ms linear infinite 3000ms;
}
.switch-img--n3-03 {
    animation: lookswitchimg-n3-c02 12000ms linear infinite 7000ms;
}
.other {
    width: 100%;
    overflow: hidden;
    background: #f7f7f7;
    margin: 0 0 89px;
}
.section--movie {
    width: 100%;
}
.movie__ctn {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    width: 850px;
    margin: 0 auto;
    padding: 115px 0 0;
}
.movie__ctn:last-child {
    padding-bottom: 174px;
}
.movie__ctn+.movie__ctn {
    padding-top: 91px;
}
.other__tl {
    font-size: 2.188em;
    margin: 0 0 0.3em;
    padding: 0 1em 0 0;
    font-family: var(--font-en);
    font-weight: 300;
    letter-spacing: 0.05em;
}
.movie {
    position: relative;
    display: block;
    width: 100%;
    flex-shrink: 0;
}
.movie:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.u-play-button {
    display: grid;
    border-radius: 100px;
}
.u-play-button img {
    grid-column: 1;
    grid-row: 1;
}
.movie__button {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 89px;
    margin: -45px;
}
.bnr {
    margin: 0px 0 147px;
}
.bnr__link {
    width: 900px;
    display: block;
    margin: 0 auto;
}
.scroll-bar {
    position: fixed;
    top: 0;
    right: 1px;
    bottom: 0;
    z-index: 100;
    mix-blend-mode: difference;
}
.scroll-bar__thumb {
    background: rgba(255, 255, 255, 0.6);
    position: absolute;
    top: 0;
    right: 0;
    width: 4px;
    border-radius: 100px;
    height: 100px;
    mix-blend-mode: difference;
}
/*  */
.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    overflow-y: scroll;
    transform: translateZ(1px);
    display: none;
    opacity: 0;
    overscroll-behavior: none;
}
.modal::backdrop {
    opacity: 0;
}
.modal__wrap {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: calc(100% + 1px);
    position: relative;
    padding: 69px 0;
    box-sizing: border-box;
}
.modal__content {
    width: 98%;
    margin: 0 auto;
    max-width: 1360px;
    position: relative;
    z-index: 1;
}
.modal__movie {
    position: relative;
    background: #000;
    aspect-ratio: 16 / 9;
}
.modal__movie iframe {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
}
.modal__close-btn {
    position: absolute;
    top: 0;
    right: 0;
    margin: -39px 0 0 0;
    z-index: 1;
    appearance: none;
    background: none;
    border: none;
    filter: brightness(0) invert(1);
    width: 36px;
    padding: 0;
    cursor: pointer;
}
.modal__close-btn:focus-visible {
    outline: none;
    opacity: .5;
}
.modal__bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    background: #000;
    opacity: 0.85;
}
.cover-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: gold;
    opacity: .5;
    display: none;
}
.accordion-btn {
    list-style: none;
    position: relative;
    cursor: pointer;
    font-size: 0.844em;
    letter-spacing: 0.06em;
    padding: 8px 0 0;
    border-top: solid 1px #ccc;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
}
.accordion-btn::-webkit-details-marker {
    display: none;
}
.accordion-btn::before {
    content: "";
    border-right: solid 1px #7f7f7f;
    display: block;
    position: absolute;
    top: 14px;
    right: 12px;
    transform: translateY(-50%);
    transition: transform 600ms cubic-bezier(0.075, 0.82, 0.165, 1), opacity 600ms linear;
    height: 11px;
}
.accordion[open] .accordion-btn::before {
    transform: translateY(-50%) rotate(90deg) scaleY(2);
    opacity: 0;
}
.accordion.is-close .accordion-btn::before {
    transform: rotate(90deg) scaleX(1);
}
.accordion-btn::after {
    content: "";
    border-top: solid 1px #7f7f7f;
    display: block;
    position: absolute;
    top: 0;
    right: 1px;
    width: 25px;
    margin: 14px 0 0;
}
.accordion-body {
    overflow: hidden;
    position: relative;
}
.accordion-body::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: .6;
}
.top__tl-02 {
    width: 103.142%;
    display: block;
    transform-origin: 0 0;
}
.header {
    top: 0;
    left: 0;
    width: 100%;
    z-index: 11;
}
.header-nav__button {
    width: 28px;
    height: 28px;
    appearance: none;
    background: none;
    border: none;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 11;
    margin: 30px;
    display: flex;
    display: none;
    padding: 0;
    mix-blend-mode: difference;
}
.header-nav__button>span {
    display: grid;
    width: 100%;
    height: 100%;
    justify-content: end;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    align-content: center;
    gap: 4px 4px;
    opacity: .5;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.header-nav__button span span {
    width: 100%;
    background: #fff;
    aspect-ratio: 1 / 1;
}
.gmenu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 101;
    overflow-y: scroll;
    transform: translateZ(1px);
    display: none;
    opacity: 0;
    overscroll-behavior: none;
}
.gmenu__wrap {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: calc(100% + 1px);
    position: relative;
    padding: 16px 0;
    box-sizing: border-box;
}
.gmenu__content {
    position: relative;
    z-index: 1;
    background: #fff;
    width: 98%;
    margin: 0 auto;
    max-width: 1440px;
}
.gmenu__bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    background: #000;
    opacity: 0.85;
}
.gmenu__close-btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 3.674%;
    margin: 3.8% 4% 0 0;
    z-index: 1;
    appearance: none;
    border: none;
    background: none;
    cursor: pointer;
    width: 53px;
    padding: 0;
}
.gmenu__lists {
    display: flex;
    padding: 2.9% 8.3% 4.7%;
    justify-content: space-between;
    font-family: var(--font-en);
    font-weight: 300;
    flex-wrap: wrap;
    gap: 35px 0;
}
.gmenu__list {
    width: 17.45%;
}
.gmenu__list-01 {
    font-size: 1.375em;
    margin: 0.5em 0 0.8em;
    text-transform: uppercase;
    width: 100%;
}
.gmenu__list-cate {
    height: 39px;
}
.gmenu__list-cate img {
    width: auto;
    height: min(30px, 2.083vw);
    margin: 0 -1px;
}
.gmenu__sub-lists {
    display: flex;
    column-gap: min(25px, 17.36vw);
}
.gmenu__sub-list {
    width: min(197px, 13.68vw);
}
.gmenu__list-02 {
    width: 35%;
}
.top-button-wrap {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 10;
    width: 26px;
    margin: 0 0 28px 40px;
    mix-blend-mode: difference;
    opacity: 0;
}
.top-button-wrap.is-hidden {
    pointer-events: none;
}
.top-button-wrap--normal {
    mix-blend-mode: normal;
    pointer-events: none;
    display: none;
}
.u-loading {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.4);
}
.u-loading__01::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: solid 1px rgba(255, 255, 255, 0.3);
    border-radius: 200px;
    box-sizing: border-box;
}
.u-loading__02 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: solid 2px rgba(255, 255, 255, 1);
    border-radius: 200px;
    box-sizing: border-box;
    animation: loading01 4140ms linear infinite;
    -webkit-mask-image: conic-gradient(#fff 0%, #fff 30%, transparent 30%, transparent 100%);
    mask-image: conic-gradient(#fff 0%, #fff 30%, transparent 30%, transparent 100%);
}
.u-loading__01 {
    width: 123px;
    height: 123px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}
.special-movie__tl {
    padding: 0 0 36px;
    margin: 0 auto;
    opacity: 0;
    width: 296px;
}
.special-movie__tl>span {
    display: flex;
    justify-content: center;
}
.special-movie__tl>span span {
    min-width: 0.5ex;
}
.special-movie {
    width: 100%;
}
.special-movie__box {
    width: 90%;
    padding: 53px 0 85px;
    padding-bottom: min(85px, 5.9vw);
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    align-items: center;
}
.special-movie__movie {
    position: relative;
    flex-grow: 1;
    background: #000;
    height: 100%;
    width: 100%;
}
.special-movie__movie video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 25%;
}
.special-movie__loading {
    position: absolute;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    pointer-events: none;
    font-family: var(--font-en);
    font-weight: 300;
    letter-spacing: 0.06em;
    font-size: 0.9375em;
    visibility: hidden;
}
.special-movie__play-button {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: none;
    appearance: none;
    border: none;
    cursor: pointer;
    z-index: 1;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}
.special-movie__play-button .u-play-button {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 85px;
    height: 85px;
    padding: 39px 45px;
}
.special-movie__play-button img:nth-child(1) {
    position: relative;
    z-index: 1;
}
.special-movie__play-button img:nth-child(2) {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 100px;
}
.special-movie video {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block;
    top: 0;
    left: 0;
    background: #000;
    pointer-events: none;
}
.special-movie__poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: none;
}
.graphic {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
    height: 100%;
}
.graphic__lead {
    font-size: 0.8125em;
    line-height: 2.223;
    opacity: 0;
    padding: 0 0 0 1.7%;
}
.top__tl-inner {
    display: block;
    max-width: 547px;
    width: 37.952%;
    margin: 0 0 65px 92px;
    margin-bottom: min(65px, 4.5vw);
}
.top__tl-03 {
    width: 97.283%;
    margin: 0 0 0 1.1%;
}
.top__img-01 {
    width: 50%;
    background: linear-gradient(to bottom, #a8adab, #ababa9, #fff);
}
.top__img-02 {
    width: 50%;
}
.graphic-slider {
    width: 100%;
    padding: 0 0 0 36px;
    box-sizing: border-box;
}
.graphic-slider__slide {
    display: flex;
    box-sizing: border-box;
}
.graphic-slider__img-wrap {
    flex-grow: 1;
    padding: 50px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.graphic-slider__link {
    width: auto;
    max-width: 100%;
    max-height: 100%;
}
.graphic-slider__img-wrap .graphic-slider__link--s {
    max-width: 70.37%;
}
.graphic-slider__img-wrap .graphic-slider__link--m {
    max-width: 90.14%;
}
.graphic-slider__link--quiet-01-01 {
    aspect-ratio: 1140 / 1420;
}
.graphic-slider__link--quiet-01-02 {
    aspect-ratio: 1620 / 1420;
}
.graphic-slider__link--quiet-01-03 {
    aspect-ratio: 1140 / 1420;
}
.graphic-slider__link--quiet-01-04 {
    aspect-ratio: 1140 / 1140;
}
.graphic-slider__link--quiet-02-01 {
    aspect-ratio: 1420 / 1420;
}
.graphic-slider__link--quiet-02-02 {
    aspect-ratio: 1620 / 1420;
}
.graphic-slider__link--quiet-03-01 {
    aspect-ratio: 1140 / 1420;
}
.graphic-slider__link--quiet-03-02 {
    aspect-ratio: 1420 / 1420;
}
.graphic-slider__link--quiet-04-01 {
    aspect-ratio: 1420 / 1420;
}
.graphic-slider__link--quiet-04-02 {
    aspect-ratio: 1620 / 1420;
}
.graphic-slider__link--quiet-05-01 {
    aspect-ratio: 1140 / 1420;
}
.graphic-slider__link--quiet-05-02 {
    aspect-ratio: 1140 / 1420;
}
.graphic-slider__link--ease-01-01 {
    aspect-ratio: 1140 / 1420;
}
.graphic-slider__link--ease-01-02 {
    aspect-ratio: 1420 / 1420;
}
.graphic-slider__link--ease-01-03 {
    aspect-ratio: 1140 / 1140;
}
.graphic-slider__link--ease-02-01 {
    aspect-ratio: 1140 / 1420;
}
.graphic-slider__link--ease-02-02 {
    aspect-ratio: 1420 / 1420;
}
.graphic-slider__link--grace-01-01 {
    aspect-ratio: 1140 / 1420;
}
.graphic-slider__link--grace-01-02 {
    aspect-ratio: 1420 / 1420;
}
.graphic-slider__link--grace-01-03 {
    aspect-ratio: 1140 / 1140;
}
.graphic-slider__link--grace-02-01 {
    aspect-ratio: 1140 / 1420;
}
.graphic-slider__link--grace-02-02 {
    aspect-ratio: 1420 / 1420;
}
.graphic-slider__link--luxe-01-01 {
    aspect-ratio: 1620 / 1420;
}
.graphic-slider__link--luxe-01-02 {
    aspect-ratio: 1620 / 1420;
}
.graphic-slider__link--luxe-01-03 {
    aspect-ratio: 1140 / 1140;
}
.graphic-detail__accordion {
    margin: 19px 0 0;
    display: flex;
    flex-direction: column-reverse;
    position: relative;
    padding: 0 0 1.4em;
}
.graphic__text-box {
    width: 306px;
    margin: 0 auto;
    padding: 2.9em 2em 1.5em 3em;
}
.graphic__text-box--magenta {
    width: 340px;
}
.graphic__text-box--r {
    padding-left: 2em;
}
.graphic__tl-item {
    width: 21.9%;
    position: fixed;
    padding: 49px 0 50px 3.4%;
    padding-left: 49px;
    box-sizing: border-box;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 1;
    width: 295px;
    z-index: 10;
    display: flex;
}
.graphic-area .section {
    z-index: 1;
    background: transparent;
}
.graphic__tl {
    text-transform: uppercase;
    margin: 0 0 0 0;
    opacity: 0;
    padding: 0;
    font-family: var(--font-en);
}
.graphic__tl-head {
    position: relative;
    margin: 0 0 37px;
}
.graphic__tl-img--quiet {
    width: 86.179%;
}
.graphic__tl-img--ease {
    width: 73.171%;
}
.graphic__tl-img--grace {
    width: 100%;
}
.graphic__tl-img--luxe {
    width: 73.171%;
    filter: brightness(0) invert(1);
}
.graphic__tl-all {
    display: flex;
    bottom: 0;
    left: 0;
    margin: 0;
    font-family: var(--font-en);
    align-items: flex-end;
    font-weight: 300;
}
.graphic__tl-all-01 {
    width: 20px;
    border-bottom: solid 1px;
    margin: 0px 0 1px;
    opacity: 00.8;
}
.graphic__tl-num {
    font-size: 2.25em;
    margin: 20px 0 0;
    display: grid;
    overflow: hidden;
}
.section--luxe .graphic__tl-num,
.section--luxe .graphic-slider__button-pause {
    filter: brightness(0) invert(1);
}
.graphic__tl-num-img {
    grid-area: 1 / 1;
    visibility: hidden;
}
.graphic-line-up__note {
    font-size: 10px;
    padding: 0 0 21px;
}
.graphic-line-up {
    font-family: var(--font-en);
    font-weight: 300;
    font-feature-settings: normal;
    width: 252px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 48px 0;
    margin-right: min(40px, 2.7vw);
    padding-left: 23px;
    flex-shrink: 0;
}
.graphic-line-up__wrap {
    padding: 0px 0 19px;
}
.graphic-line-up__item {
    margin: 0 0 12px;
}
.graphic-line-up--quiet-03 .graphic-line-up__item {
    margin-bottom: 8px;
}
.graphic-line-up__item:last-child {
    margin-bottom: 0;
}
.graphic-line-up__item--mt {
    margin-top: 15px;
}
.graphic-line-up__wrap:before,
.graphic-line-up__item--mt:before {
    content: "";
    display: block;
    border-top: solid 1px #ccc;
    padding-top: 19px;
    width: 30px;
}
.graphic-line-up__link {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
}
.graphic-line-up__name {
    font-size: 0.844em;
    font-weight: 600;
    flex-grow: 1;
    padding: 0 0 6px;
    max-width: 13ex;
}
.graphic-line-up__sup {
    font-weight: 300;
    font-size: 0.85em;
}
.graphic-line-up__color {
    font-weight: 300;
    margin: 0 -0.3em 0;
    font-size: 0.85em;
}
.graphic-line-up__size {
    font-size: 0.813em;
    font-weight: 600;
    padding: 0 0.4em 0 0;
}
.graphic-line-up__price {
    font-size: 0.844em;
    text-align: right;
    margin: 0 0.8em 0 0;
    min-width: 7.8em;
    min-width: 7.4em;
    letter-spacing: 0.03em;
    font-variant-numeric: tabular-nums;
}
.graphic-line-up--graphic .graphic-line-up__price {
    margin-right: 0.6em;
    min-width: 7em;
    letter-spacing: 0;
}
.graphic-line-up__tax {
    font-size: .8em;
    padding: 0 0 0 0.4em;
}
.graphic-line-up--graphic .graphic-line-up__tax {
    letter-spacing: 0.05em;
    padding: 0 0 0 0.5em;
}
.graphic-line-up__detail {
    font-size: 0.813em;
    position: relative;
    text-align: right;
    flex-shrink: 0;
    -webkit-text-stroke: 0.3px;
}
.graphic-line-up__detail--cs {
    font-size: 0.625em;
    font-family: var(--font-ja);
    -webkit-text-stroke: 0;
    letter-spacing: -0.01em;
    min-width: 4.5em;
}
.look__items-list-detail span,
.graphic-line-up__detail span {
    position: relative;
}
.look__items-list-detail span::after,
.graphic-line-up__detail span::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    border-top: solid 1px;
    transform-origin: 100% 0;
    width: 100%;
    transition: transform 400ms cubic-bezier(0.075, 0.82, 0.165, 1);
}
.graphic-line-up--graphic .graphic-line-up__detail {
    letter-spacing: 0.03em;
}
.graphic-line-up--graphic .graphic-line-up__detail--cs {
    letter-spacing: -0.01em;
}
.graphic__img-item {
    width: 100%;
    padding: 0 0 16.1%;
    padding-top: 4.95em;
    overflow: hidden;
    display: flex;
    justify-content: flex-end;
    box-sizing: border-box;
    min-height: 100svh;
    align-items: center;
}
@supports not(height: 100svh) {
    .graphic__img-item {
        min-height: var(--100svh);
    }
}
.graphic__img-box {
    width: 100%;
    min-height: 810px;
    position: relative;
    aspect-ratio: 2000 / 1620;
    opacity: 0;
}
.graphic__img-item img {
    min-width: 1000px;
}
.graphic__img-item-wrap {
    overflow: hidden;
    display: flex;
    flex-grow: 1;
    padding-left: 295px;
}
.graphic__tl-wrap {
    position: sticky;
    top: 50px;
    left: 0;
}
.graphic-area__cate {
    position: relative;
    clip-path: inset(0 0 0 0);
}
.section--luxe {
    color: #fff;
}
.section--graphic-02 {
    background: transparent;
}
.graphic-op {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    clip-path: inset(0 0 0 0);
    pointer-events: none;
}
.graphic-op__inner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.graphic__bg {
    position: absolute;
    clip-path: inset(0 0 0 0);
    width: 100%;
    height: 100%;
}
.section--ease .graphic__bg {
    background: #e9e9e9;
}
.graphic-op__text-box {
    position: relative;
    -webkit-mask-size: 100% auto;
    mask-size: 100% auto;
    margin: 0 auto;
}
.graphic-op-quiet__text-box {
    -webkit-mask-image: url(../images/tl_quiet.png);
    mask-image: url(../images/tl_quiet.png);
    width: 213px;
    width: 234px;
}
.graphic-op-ease__text-box {
    -webkit-mask-image: url(../images/tl_ease.png);
    mask-image: url(../images/tl_ease.png);
    width: 187px;
    width: 206px;
}
.graphic-op-grace__text-box {
    -webkit-mask-image: url(../images/tl_grace.png);
    mask-image: url(../images/tl_grace.png);
    width: 255px;
    width: 280px;
}
.graphic-op-luxe__text-box {
    -webkit-mask-image: url(../images/tl_luxe.png);
    mask-image: url(../images/tl_luxe.png);
    width: 468px;
    width: 202px;
}
.graphic-op__text-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.graphic-op-luxe__text-bg-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 270%;
    height: 100%;
    background: linear-gradient(45deg, #000, #fff, #fff, #000);
}
.graphic-op__text-bg img {
    width: 270%;
}
.section--ease .graphic-op__text-bg img {
    opacity: .8;
    margin: -17% 0 0 -20%;
}
.graphic-op-grace__text-bg img {
    margin: -121% 0 0 -11%;
}
.graphic-op__text {
    opacity: 0;
    z-index: 1;
    position: relative;
}
.graphic-op-luxe__text {
    filter: brightness(0) invert(1);
}
.graphic-op-quiet__text-bg-box {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: skewX(-21deg) scaleX(1.04);
}
.graphic-op-quiet__text-bg-box div {
    background: #000;
}
.graphic__bg-img {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100svh;
    object-fit: cover;
    opacity: .15;
    pointer-events: none;
}
@supports not(height: 100svh) {
    .graphic__bg-img {
        height: var(--100svh);
    }
}
.section--luxe .graphic__bg-img {
    background: #0d0d0d;
    position: absolute;
    height: 100%;
}
.section--luxe .graphic__bg-img:nth-child(1) {
    -webkit-mask-image: linear-gradient(-110deg, rgb(255, 255, 255) 0%, transparent 0%);
    mask-image: linear-gradient(-110deg, rgb(255, 255, 255) 0%, transparent 0%);
}
.graphic__bg-img:nth-child(2) {
    opacity: 0;
}
.section--luxe .graphic-slider__button-prev,
.section--luxe .graphic-slider__button-next {
    filter: brightness(0) invert(1);
}
.graphic-slider__button-prev,
.graphic-slider__button-next {
    width: 28px;
    left: 0;
    right: auto;
    overflow: hidden;
    opacity: 0;
}
.graphic-slider__button-prev img {
    transform: rotateY(180deg);
}
.graphic-slider__button-prev img,
.graphic-slider__button-next img {
    opacity: 0;
}
.graphic-slider__button-prev::before,
.graphic-slider__button-next::before,
.graphic-slider__button-prev::after,
.graphic-slider__button-next::after {
    display: none;
}
.graphic-slider__button-next {
    left: 0;
    right: auto;
}
.graphic-slider__button-area {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0 0 16px;
    z-index: 1;
    gap: 0 35px;
    display: contents;
}
.graphic-slider__button-pause {
    position: fixed;
    bottom: 0;
    left: 50%;
    width: 18px;
    margin: 0 0 19px -9px;
    cursor: pointer;
    z-index: 1;
}
.graphic-slider__button-pause button {
    appearance: none;
    padding: 0;
    border: none;
    margin: 0;
    background: none;
    display: grid;
    cursor: pointer;
    position: relative;
}
.graphic-slider__button-pause>div {
    display: grid;
}
.graphic-slider__button-pause img {
    grid-area: 1 / 1;
}
.graphic-slider__button-pause-pause {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
}
.look {
    padding: 0 0 30px;
    width: 100%;
}
.look__box {
    padding-top: 1.2em;
    padding-bottom: 121px;
}
.look__box+.look__box {
    padding-top: 10em;
}
.look__tl {
    padding: 2.55em 0 0 0;
    font-family: var(--font-en);
    font-size: 3.438em;
    width: 87%;
    margin: 0 auto;
}
.look__tl img {
    width: 418px;
}
.look__items {
    display: flex;
    width: 90.013%;
    max-width: 1253px;
    margin: 2.25% auto 0;
    padding: 0 0 0 0;
    gap: 2.8em 20px;
    flex-wrap: wrap;
    font-size: clamp(10px, 1.4vw, 16px);
}
.look__items-item {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
}
.look__items-item img {
    height: min(225px, 15.6vw);
    width: auto;
    min-height: 200px;
}
.look__items-item--no-img {
    grid-column-start: 1;
}
.look__items-text-item {
    padding: 0.6em 0 0;
    font-family: var(--font-en);
    font-weight: 300;
    width: fit-content;
}
.look__items-list {
    margin: 0 0 1em;
}
.look__items-list-link {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}
.look__items-list-name {
    font-size: 0.907em;
    margin: 0 0 0.5em;
    display: block;
    font-weight: 600;
}
.look__items-list-size {
    font-size: 0.875em;
    width: 1ex;
    font-weight: 600;
    padding: 0 0.3em 0 0;
}
.look__items-list-price {
    font-size: 0.907em;
    flex-grow: 1;
    font-variant-numeric: tabular-nums;
}
.look__items-list-tax {
    font-size: 0.8em;
    letter-spacing: 0.03em;
    padding: 0 0 0 0.5em;
}
.look__items-list-detail {
    font-size: 0.875em;
    position: relative;
    -webkit-text-stroke: 0.3px;
    margin: 0 0 0 0.8em;
}
.look__items-list-detail--cs {
    font-size: 0.695em;
    font-family: var(--font-j);
    -webkit-text-stroke: 0;
}
.model__ctn {
    display: flex;
    flex-direction: row-reverse;
    width: 850px;
    margin: 0 auto;
    gap: 0 7.1%;
}
.model__tl {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2.7em 1.6em;
    margin: 0 0 1.3em;
}
.model__text-item {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.model__tl-01 {
    width: 100%;
    font-family: var(--font-en);
    font-size: 1.25em;
    font-weight: 600;
}
.model__tl-02 {
    font-size: 1.875em;
    letter-spacing: 0.05em;
}
.model__tl-03 {
    font-family: var(--font-en);
    font-size: 1.125em;
    font-weight: 300;
    letter-spacing: 0.11em;
    margin: 0 0 0 0;
    position: relative;
    top: 1px;
}
.model__text {
    font-size: 0.875em;
    line-height: 1.858;
    letter-spacing: 0.1em;
    text-align: justify;
    font-weight: 300;
    margin: 0 0 -0.5em;
}
.model__img-item {
    width: 31.765%;
    flex-shrink: 0;
}
.staff {
    width: 100%;
}
.staff__ctn {
    display: grid;
    padding: 10.4% 0 13.45% 0;
    margin: 0 auto;
    width: 900px;
    justify-content: space-between;
    font-family: var(--font-en);
    font-weight: 300;
    grid-template-columns: 1fr 280px 280px;
    gap: 0 20px;
}
.staff__tl {
    font-size: 1.25em;
    width: 15.8%;
    font-weight: 600;
    padding: 0 0 0 34.1%;
}
.staff__lists {
    display: grid;
    font-size: 0.875em;
    grid-template-columns: 3.8em 1fr;
    gap: 1.2em 0;
    letter-spacing: 0.11em;
    padding: 0.2em 0 0 0;
}
.scroll {
    position: fixed;
    left: 0;
    bottom: 0;
    margin: 0 0 0 103px;
    display: flex;
    align-items: flex-start;
    gap: 0 8px;
    z-index: 10;
    pointer-events: none;
}
.scroll--top {
    position: absolute;
    left: 0;
    bottom: 0;
    flex-direction: column-reverse;
    gap: 8px 0;
    margin-left: 40px;
}
.scroll--top .scroll__text {
    width: 10px;
}
.scroll--common {
    opacity: 0;
    mix-blend-mode: difference;
}
.scroll--look {
    margin: 0 0 0 103px;
    mix-blend-mode: difference;
    opacity: 0;
}
.scroll__bar {
    width: 1px;
    height: 55px;
    background: rgba(255, 255, 255, 0.2);
    overflow: hidden;
    position: relative;
}
.scroll__bar::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 120%;
    background: #fff;
    animation: scrollAtte 4000ms linear infinite;
}
.scroll__text-img-num {
    width: 29px;
}
.scroll--look .scroll__text-wrap img {
    filter: brightness(0) invert(1);
}
.scroll__text-wrap {
    overflow: hidden;
    display: grid;
    height: 29px;
    margin: 2px 0 0;
}
.scroll--look .scroll__text-wrap {
    margin: -2px auto 0;
}
.graphic__tl-all-wrap {
    overflow: hidden;
    display: grid;
    overflow: hidden;
}
.graphic__tl-all-box {
    display: flex;
    gap: 0 4px;
    grid-area: 1 / 1;
    transform: translateY(100%);
    font-weight: 300;
    visibility: hidden;
}
.scroll__text-wrap img {
    grid-area: 1 / 1;
    visibility: hidden;
}
.scroll .scroll__text-img--movie {
    width: 67px;
    visibility: visible;
}
.scroll__text-img--look {
    width: 57px;
}
.scroll__text-img--ease {
    width: 70px;
}
.scroll__text-img--grace {
    width: 96px;
}
.scroll__text-img--luxe {
    width: 180px;
}
.scroll__text-img--items {
    width: 168px;
}
/*  */
.footer {
    max-width: 1320px;
    margin: 0 auto;
    width: 90%;
}
.footer__banner {
    display: flex;
    justify-content: center;
    gap: 0 75px;
    margin: 0 0 92px;
}
.footer__banner-li {
    width: 329px;
}
.footer__ctn-02 {
    border-top: solid 1px #9b9b9b;
    display: grid;
    justify-content: space-between;
    grid-template-columns: 342px 1fr 342px;
}
.footer__logo {
    width: 147px;
    margin: 49px 0 0;
}
.footer__logo-01 {
    width: 29px;
    margin: 3px auto 15px;
}
.footer__logo-02 {
    width: 98px;
    margin: 0 auto;
}
.footer__sns {
    display: flex;
    margin: 50px auto 0;
    gap: 0 37px;
}
.footer__sns-li {
    width: 44px;
}
.footer__copyright {
    width: 342px;
    margin: 66px 0 0;
}
@media screen and (max-width:1430px) {
    .graphic-area .box--scroll__ctn {
        position: relative;
    }
}
@media screen and (max-width:1400px) {
    .look__tl,
    .look__items {
        width: 94%;
    }
    .look__items-list-link {
        font-size: .9em;
    }
}
@media screen and (max-width:1200px) {
    .look__items {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
        width: 87%;
    }
    .look__items-item img {
        width: 100%;
        height: auto;
        min-height: 0;
    }
}
@media screen and (max-width:1360px) {
    .concept__text-box {
        padding: 0 0 0 34px;
    }
}
@media screen and (max-width:1280px) {
    /*  */
    .graphic__tl-item {
        width: 250px;
        padding-left: 20px;
    }
    .graphic__lead {
        font-size: 0.75em;
    }
    .graphic__img-item-wrap {
        padding-left: 250px;
    }
    .graphic-line-up {
        margin-right: 20px;
        padding-left: 20px;
        font-size: .9em;
        width: 218px;
    }
}
@media (min-width:981px) {
    .elm-sp {
        display: none !important;
    }
    .is-hnarrow .graphic__tl {
        margin: 0 0 0.45em;
        font-size: 4.6em;
    }
    .is-hnarrow .graphic-line-up__item {
        margin: 0 0 13px;
    }
    .is-hnarrow .graphic-detail__accordion {
        margin: 28px 0 0;
    }
    .is-hnarrow .graphic-line-up__wrap {
        padding: 4px 0 3px;
    }
    .section--sp {
        height: auto;
        display: block;
        overflow: visible;
    }
    .section--sp .box--scroll {
        overflow: hidden;
        display: block;
        height: auto;
        transform: none !important;
    }
    .section--sp .box--scroll__ctn {
        display: block;
    }
    .graphic-slider__button-pause .js-anm--tp {
        opacity: 1;
    }
    .graphic-slider__img--luxe-01-01 {
        transform: translateX(0) !important;
    }
}
@media (min-width:981px) and (max-height: 800px) {
    .concept__text {
        font-size: 0.81em;
    }
    .concept__text+.concept__text {
        margin-top: 16px;
    }
    .concept__tl {
        width: 284px;
        margin-bottom: 30px;
    }
    .graphic__lead {
        font-size: 0.65em;
    }
    .graphic__tl-head {
        margin-bottom: 22px;
    }
    .graphic-line-up__item {
        margin-bottom: 8px;
    }
    .graphic-line-up--quiet-03 .graphic-line-up__item {
        margin-bottom: 0;
    }
    .graphic-line-up--quiet-03 .graphic-line-up__wrap:before,
    .graphic-line-up--quiet-03 .graphic-line-up__item--mt:before {
        padding-top: 8px;
    }
    .graphic-detail__accordion {
        margin-top: 7px;
    }
    .graphic-line-up__wrap {
        padding-bottom: 10px;
    }
    .graphic-line-up__item--mt {
        margin-top: 7px;
    }
    .graphic-line-up__wrap:before,
    .graphic-line-up__item--mt:before {
        padding-top: 11px;
    }
}
@media screen and (max-width: 980px) {
    html {
        font-size: min(10px, calc(10 / 750 * 100vw));
    }
    .elm-pc {
        display: none !important;
    }
    .header-nav__button {
        margin: 15px 15px 0;
    }
    .gmenu__content {
        width: 100%;
    }
    .gmenu__close-btn {
        margin: 5.2% 3.4% 0 0;
        width: 7.7%;
        padding: 0;
    }
    .gmenu__lists {
        flex-wrap: wrap;
        padding: 17.9% 7.3% 13.8%;
        gap: 6.8em 0;
        display: grid;
        grid-template-columns: 1fr;
    }
    .gmenu__sub-lists {
        flex-wrap: wrap;
        display: grid;
        grid-template-columns: repeat(2, 45.7%);
        gap: 5.3vw;
        justify-content: center;
    }
    .gmenu__sub-list {
        width: 100%;
    }
    .gmenu__list {
        width: 100%;
    }
    .gmenu__list-cate {
        height: auto;
        padding: 0 0 2.6% 1%;
    }
    .gmenu__list-cate img {
        height: 7.06vw;
        margin: 0;
    }
    .gmenu__list-cate--luxe img {
        filter: brightness(0);
        height: 10.93vw;
        padding: 0 0 1.2%;
    }
    .gmenu__list-01 {
        margin: 0.6em 0 0.6em;
    }
    /*  */
    .top-op {
        font-size: 2em;
    }
    .top-op__button {
        font-size: 2em;
    }
    .top__tl {
        top: auto;
        bottom: 0;
        margin: 0;
        width: 100%;
        bottom: 0;
        grid-area: 1 / 1;
        padding: 0;
        display: block;
        max-width: calc(60svh);
        justify-self: flex-end;
    }
    .top__logo {
        width: 100%;
        margin: 0;
        max-width: 60svh;
    }
    .top__logo a {
        width: 20%;
        margin: 3.2% 3.1% 0;
    }
    .top__tl-inner {
        width: 67%;
        padding: 0px 0 8.5% 6.8%;
        margin: 0;
        max-width: none;
    }
    .concept {
        min-height: 0;
        height: auto;
        flex-direction: column-reverse;
        background: #fff;
    }
    .concept__text-item {
        padding: 7.7% 5.6% 12.9% 8.2%;
        width: 100%;
        min-width: 0;
        grid-area: 2 / 1;
    }
    .concept__text-item-inner {
        padding: 0;
    }
    .concept__tl {
        width: 63.8%;
        margin: 0 0 6.2%;
        filter: brightness(0);
    }
    .concept__img-item {
        position: relative;
        height: auto;
    }
    .concept__img-item img {
        min-height: 50svh;
        object-position: 31% 0%;
    }
    /*  */
    .top {
        display: grid;
        justify-content: start;
        align-items: end;
    }
    .top__img {
        aspect-ratio: 750 / 1270;
        height: auto;
        max-height: 100%;
        min-width: 100%;
    }
    .top__img-02 {
        width: 100%;
    }
    .top__img img {
        object-position: 70.6% 0%;
    }
    .inner {
        width: 86.667%;
    }
    .concept__text {
        padding: 0 0 0;
        margin: 0 0 0 0;
        gap: 0 13.8%;
        font-size: 2.6em;
        line-height: 1.962;
        letter-spacing: 0.09em;
        color: #000;
    }
    .concept__text+.concept__text {
        margin-top: 0.8em;
    }
    .accordion-body>div {
        padding: 1.6em 0 0;
    }
    .movie__ctn {
        width: 100%;
        padding: 21.9% 0 0;
    }
    .movie__ctn+.movie__ctn {
        padding-top: 11.9%;
    }
    .movie__ctn:last-child {
        padding-bottom: 14.3%;
    }
    .movie__button {
        max-width: 1000px;
        width: 15.5%;
        margin: -7.6%;
    }
    .other__tl {
        font-size: 3.6em;
        text-align: left;
        padding: 0 1.4em 0;
        margin: 0 0 0.35em;
    }
    .bnr {
        width: 116%;
        margin: 0 -8% 0;
    }
    .bnr__link {
        width: 100%;
    }
    .other {
        margin: 0;
    }
    .special-movie__box {
        padding: 11.6% 0 13.3%;
        width: 100%;
    }
    .special-movie__tl {
        font-size: 4.8em;
        padding: 0 0 0.6em;
        width: 44.53%;
    }
    .special-movie__play-button .u-play-button {
        width: 15%;
        height: auto;
        aspect-ratio: 1 / 1;
        padding: 5.2%;
        margin: 0;
        top: auto;
        left: auto;
    }
    .special-movie video {
        object-position: 50% 30%;
    }
    .special-movie__loading {
        font-size: 2.25em;
    }
    .special-movie__movie video {
        object-position: 50% 20%;
    }
    .u-loading__01 {
        width: 24.4vw;
        height: 24.4vw;
    }
    .box--scroll__ctn--ai {
        align-content: flex-start;
    }
    .section--pc {
        height: auto;
    }
    .scroll--look {
        flex-direction: column-reverse;
        margin: 0 auto;
        position: relative;
        padding: 13.3% 0 0;
        opacity: 1;
        mix-blend-mode: initial;
        filter: brightness(0);
        width: 100%;
    }
    .section--luxe .scroll--look {
        filter: none;
    }
    .scroll__text-wrap {
        padding: 0 0 3.7%;
        height: auto;
        width: 100%;
    }
    .scroll__bar {
        margin: 0 auto;
    }
    .scroll__text-wrap img {
        visibility: visible;
        margin: 0 auto;
    }
    .scroll--look .scroll__text-wrap img {
        visibility: visible !important;
        transform: none !important;
    }
    .scroll__text-img--ease {
        width: 23.734%;
    }
    .scroll__text-img--grace {
        width: 32.53%;
    }
    .scroll__text-img--luxe {
        width: 51.734%;
    }
    .scroll__text-img--items {
        width: 61%;
    }
    .graphic {
        flex-direction: column;
        padding: 14.7% 0 0;
        transform: none !important;
    }
    .graphic__tl-all {
        font-size: 3.5em;
        flex-wrap: wrap;
        width: 89.6%;
        margin: 0 auto -5.7%;
    }
    .graphic__tl-num-img {
        transform: translateY(100%);
    }
    .graphic__tl-caption {
        width: 100%;
        padding: 0 0 0 1.5%;
    }
    .graphic__tl-num {
        padding: 3.2% 0 0 1.1%;
        margin: 0;
        width: 11.8%;
    }
    .graphic__tl-caption img {
        width: 19.2%;
    }
    .graphic-slider__button-pause {
        width: 16.9%;
        box-sizing: border-box;
        padding: 0;
        position: static;
        margin: 0;
    }
    .graphic-detail__accordion {
        margin: 3.8em 0 3.6em;
        height: auto !important;
        padding: 0 0 4.7em;
    }
    .graphic-line-up {
        padding: 6.7% 0 0;
        width: 86.9%;
        margin: 0 auto;
    }
    .graphic-line-up__wrap {
        padding: 3.8em 0 3.2em;
        padding-top: 0;
    }
    .graphic-line-up__wrap:before,
    .graphic-line-up__item--mt:before {
        padding-top: 4.7em;
    }
    .graphic-line-up__item {
        margin: 0 0 3em;
    }
    .graphic-line-up__item--mt {
        margin-top: 3.8em;
    }
    .graphic-line-up__name {
        font-size: 3em;
        letter-spacing: -0.03em;
    }
    .graphic-line-up--graphic .graphic-line-up__name {
        letter-spacing: 0;
        max-width: 16ex;
    }
    .graphic-line-up__size {
        font-size: 2.8em;
    }
    .graphic-line-up__price {
        font-size: 3em;
        min-width: 7.3em;
        margin: 0 0.5em 0 0;
        letter-spacing: -0.02em;
    }
    .graphic-line-up--graphic .graphic-line-up__price {
        letter-spacing: 0.03em;
        margin: 0 0.7em 0 0.6em;
        min-width: 7.7em;
    }
    .graphic-line-up__tax {
        padding: 0 0 0 0.5em;
        letter-spacing: 0.03em;
    }
    .graphic-line-up--graphic .graphic-line-up__tax {
        padding: 0 0 0 0.65em;
        letter-spacing: 0.08em;
    }
    .graphic-line-up__detail {
        font-size: 2.6em;
        width: auto;
    }
    .graphic-line-up__detail--cs {
        font-size: 1.9em;
        min-width: 4.75em;
    }
    .graphic-line-up--look-02 .graphic-line-up__detail,
    .graphic-line-up--look .graphic-line-up__detail {
        min-width: 8.4rem;
    }
    .graphic__img-box {
        min-height: 0;
        aspect-ratio: auto;
    }
    .graphic__img-item {
        padding: 0;
        min-height: 0;
    }
    .graphic__img-item img {
        min-width: 0;
        position: static;
        transform: translateX(0);
    }
    .graphic__tl {
        font-size: 10em;
        margin: 0 0 0 11.7%;
        margin-left: 6%;
        padding: 8.2% 0 4.8% 0;
        width: 94%;
    }
    .graphic__tl-img--luxe {
        width: 74.469%;
    }
    .graphic__tl-img--grace {
        width: 43.972%;
    }
    .graphic__tl-img--ease {
        width: 32.057%;
    }
    .graphic__tl-head {
        margin: 0;
    }
    .graphic__lead {
        font-size: 2.8em;
        line-height: 1.78;
        width: 89.6%;
        margin: 0 auto;
        letter-spacing: 0.05em;
    }
    .graphic__tl-img--quiet {
        width: 37.731%;
    }
    .graphic__img-item-wrap {
        width: 100%;
        margin: 0;
        overflow: visible;
        padding: 0 0 12.2%;
        flex-direction: column;
        position: relative;
    }
    .graphic-slider__button-area {
        position: absolute;
        top: 0;
        bottom: auto;
        margin: 0;
        left: 0;
        margin: 1.9% 19.9% 0 51.8%;
        justify-content: space-between;
        width: auto;
        right: 0;
        gap: 0;
        display: flex;
    }
    .graphic-slider {
        padding: 6.1% 0 0;
    }
    .graphic-slider__button-prev,
    .graphic-slider__button-next {
        margin: 0;
        width: 7.6%;
        transform: translate(0, 0%) !important;
        top: 0;
        height: auto;
        opacity: 1 !important;
        mix-blend-mode: difference;
        padding: 0 5%;
        box-sizing: content-box;
        position: static;
    }
    .graphic-slider__button-prev img {
        transform: rotateY(180deg);
    }
    .graphic-slider__button-next {
        order: 1;
    }
    .graphic-slider__button-prev img,
    .graphic-slider__button-next img {
        visibility: visible;
    }
    .graphic-slider__button-prev:before,
    .graphic-slider__button-next:before,
    .graphic-slider__button-prev:after,
    .graphic-slider__button-next:after {
        display: none;
    }
    .graphic-op-quiet__text-box {
        width: 36.8%;
    }
    .graphic-op-ease__text-box {
        width: 31.6%;
    }
    .graphic-op-grace__text-box {
        width: 43.2%;
    }
    .graphic-op-luxe__text-box {
        width: 31.6%;
    }
    .graphic__tl-item {
        position: relative;
        width: 100%;
        padding: 0;
        bottom: auto;
        display: block;
    }
    .graphic__tl-wrap {
        position: static;
    }
    .graphic-slider__img-wrap {
        aspect-ratio: 1125 / 1681;
        padding: 2.2% 0 0;
        flex-grow: 0;
    }
    .graphic-slider__link {
        aspect-ratio: auto;
    }
    .graphic-slider__link--luxe-01-01 {
        overflow: hidden;
        aspect-ratio: auto;
    }
    .graphic-slider__img--luxe-01-01 {
        width: 241%;
    }
    .graphic-slider__img-wrap .graphic-slider__link--s,
    .graphic-slider__img-wrap .graphic-slider__link--m {
        max-width: 100%;
    }
    .graphic-slider__img--s {
        width: 100%;
    }
    .graphic-slider__slide {
        flex-direction: column;
    }
    .graphic__text-box {
        width: 100%;
        padding: 0;
        display: contents;
    }
    .accordion-btn {
        font-size: 2.8em;
    }
    .accordion-btn::after {
        width: 2em;
        margin-right: 0%;
        border-color: #000;
        margin: 1.1em 0 0;
    }
    .accordion-btn::before {
        right: 1em;
        border-color: #000;
        top: 1.15em;
        height: 1em;
    }
    .graphic-slider__slide:first-child .graphic-slider__img-wrap {
        opacity: 0;
    }
    .look {
        margin: 0;
        padding-bottom: 7%;
    }
    .look__tl {
        text-align: left;
        font-size: 5.8em;
        padding: 1.05em 0 0 0;
        padding-top: calc(1.05em + 20px);
        position: relative;
        width: 80.462%;
        margin: 0;
    }
    .look__box {
        padding-bottom: 25.5%;
    }
    .look__tl img {
        width: 101%;
        margin: 0 0 0 -2.3%;
    }
    .look__box+.look__box {
        padding-top: 13.5em;
    }
    .look__items {
        width: 100%;
        padding: 0;
        margin: 4.7% auto 0;
        display: grid;
        grid-template-columns: repeat(2, 47.69%);
        gap: 4.5em 3.7%;
        font-size: 1em;
    }
    .look__items-item {
        width: 100%;
        min-width: 0;
    }
    .look__items-item img {
        height: auto;
        width: 100%;
    }
    .look__items-list {
        margin: 0px 0 1.7em;
    }
    .look__items-list-link {
        gap: 1.15em 0;
        flex-wrap: wrap;
    }
    .look__items-list-name {
        font-size: 2.5em;
        margin: 0.5em 0 0.4em;
        letter-spacing: 0.03em;
    }
    .look__items-list-size {
        font-size: 2.5em;
        width: 1ex;
        padding: 0 0.3em 0 0.05em;
    }
    .look__items-list-price {
        font-size: 2.5em;
        letter-spacing: -0.02em;
    }
    .look__items-list-tax {
        letter-spacing: 0.01em;
        padding: 0 0 0 0.4em;
    }
    .look__items-list-detail {
        font-size: 2.5em;
        width: fit-content;
    }
    .look__items-list-detail--cs {
        font-size: 1.7em;
    }
    .look__items-list-detail span,
    .graphic-line-up__detail span {
        display: block;
    }
    .graphic-line-up--look {
        order: 2;
        margin: 0;
    }
    .model__ctn {
        width: 100%;
        display: grid;
        grid-template-columns: 41.7% 1fr;
        gap: 0 9.2%;
    }
    .model__text-item {
        display: contents;
    }
    .model__tl {
        grid-area: 1 / 2;
        flex-direction: column;
    }
    .model__tl-01 {
        font-size: 3.4em;
        margin: -2.3% 0 0;
    }
    .model__tl-02 {
        font-size: 5.5em;
        padding: 16% 0 1%;
    }
    .model__tl-03 {
        font-size: 2.6em;
    }
    .model__text {
        grid-area: 2 / 1 / 3 / 3;
        font-size: 2.6em;
        line-height: 1.69;
        padding: 4.1% 0 0;
    }
    .model__img-item {
        width: 100%;
    }
    .staff__ctn {
        flex-wrap: wrap;
        width: 100%;
        padding: 13.6% 0 13.4% 0;
        display: grid;
        grid-template-columns: 26.7% 1fr;
    }
    .staff__tl {
        font-size: 3.4em;
        width: 100%;
        grid-column: 1;
        padding: 0 0 0 13.3%;
    }
    .staff__stl {
        font-size: 2.8em;
        width: 6.2em;
    }
    .staff__lists {
        font-size: 2.6em;
        gap: 1.15em 0;
        margin: 0 0 0.9em;
        grid-column: 2;
        padding: 0.3em 0 0;
        grid-template-columns: 3.6em 1fr;
    }
    .top-button-wrap {
        margin: 0 0 4% 0%;
        margin-left: 2.4%;
        width: 1.73%;
    }
    .modal__body {
        padding: 0 9.6% 6.6%;
        padding: 0 0 6.6%;
    }
    .footer {
        width: 100%;
        padding: 10.6% 0 0;
    }
    .footer__banner {
        flex-direction: column;
        width: 66.8%;
        margin: 0 auto;
        gap: 0;
        padding: 0 0 5%;
    }
    .footer__banner-li {
        width: 100%;
        margin: 0 0 7.7%;
    }
    .footer__ctn-02 {
        grid-template-columns: 1fr;
    }
    .footer__logo {
        grid-row: 2;
        margin: 0 auto;
        width: 40%;
        padding: 8.4% 0 0;
    }
    .footer__logo-01 {
        width: 19%;
        margin: 1.1% auto 8.7%;
    }
    .footer__logo-02 {
        width: 67%;
    }
    .footer__sns {
        border-bottom: solid 1px #9b9b9b;
        margin: 0 auto 0;
        width: 81%;
        justify-content: center;
        gap: 0 10%;
        padding: 9.8% 0 8.7%;
    }
    .footer__sns-li {
        width: 16%;
    }
    .footer__copyright {
        margin: 0 auto;
        width: 81%;
        padding: 6.8% 0 0;
    }
}
@media screen and (max-width: 980px) {
    .top__img img {
        object-position: 50% 0;
        height: max(131.3%, 100dvh);
    }
    @supports not(height: 100dvh) {
        .top__img img {
            height: max(131.3%, var(--100svh));
        }
    }
}
@media (hover:hover) {
    .u-play-button img {
        transition: transform 620ms cubic-bezier(0.075, 0.820, 0.165, 1.000), opacity 600ms linear;
    }
    .special-movie__play-button:hover .u-play-button img:nth-child(1),
    .movie:hover .u-play-button img:nth-child(1),
    .u-play-button:hover img:nth-child(1) {
        transform: scale(1.06);
    }
    .special-movie__play-button:hover img:nth-child(2),
    .movie:hover .u-play-button img:nth-child(2),
    .u-play-button:hover img:nth-child(2) {
        transform: scale(0.9);
    }
    .bnr__link {
        transition: opacity 600ms linear;
    }
    .bnr__link:hover {
        opacity: .8;
    }
    .gmenu__list a {
        transition: filter 600ms ease-out;
    }
    .gmenu__list a:hover {
        filter: brightness(0.8);
    }
    .accordion-btn:before {
        transition: transform 600ms cubic-bezier(0.075, 0.82, 0.165, 1), opacity 600ms linear;
    }
    .accordion-btn:hover::before {
        transform: translateY(-50%) rotate(90deg) scaleY(2.1);
        opacity: 0;
    }
    .graphic-slider__button-pause img,
    .look__items-img-item a,
    .modal__close-btn,
    .graphic-slider__img-wrap a,
    .graphic__img-box a {
        transition: opacity 600ms linear;
    }
    .graphic-slider__button-pause button:hover img,
    .look__items-img-item a:hover,
    .modal__close-btn:hover,
    .graphic-slider__img-wrap a:hover,
    .graphic__img-box a:hover {
        opacity: .8;
    }
    .graphic-slider__button-prev img,
    .graphic-slider__button-next img {
        transition: filter 600ms ease-out;
    }
    .graphic-slider__button-prev:hover img,
    .graphic-slider__button-next:hover img {
        filter: brightness(1.4);
    }
}