html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section,
menu,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background-color: rgba(0, 0, 0, 0)
}

body {
    line-height: 1
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
    display: block
}

ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote::before,
blockquote::after,
q::before,
q::after {
    content: "";
    content: none
}

a {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: rgba(0, 0, 0, 0)
}

hr {
    display: block;
    height: 1px;
    border: 0;
    margin: 0;
    padding: 0
}

input,
button,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: 0;
    border-radius: 0
}

select {
    outline: 0;
    border-radius: 0
}

input,
textarea {
    padding: 0;
    background-color: inherit;
    border: none
}

iframe[name=google_conversion_frame] {
    height: 0 !important;
    width: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
    margin-top: -13px
}

html,
body {
    overflow: hidden;
    position: fixed;
    inset: 0
}

.work__header {
    padding: 13px 15px 0;
    display: flex;
    justify-content: space-between;
    height: 52px;
    box-sizing: border-box
}

@media screen and (min-width: 835px) {
    .work__header {
        padding: 22.5px 32px 0 30px;
        height: 72px;
        position: relative;
        z-index: 2;
        pointer-events: none
    }

    .work.image-slide-active .work__header {
        z-index: 3
    }
}

.work__index {
    font-size: 1.3rem
}

@media screen and (min-width: 835px) {
    .work__index .work__indexLink {
        text-align: center;
        z-index: 2;
        pointer-events: all;
        transition: all .3s
    }

    .work__index .work__indexLink:hover {
        color: #8f8f8f
    }
}

.work__navList {
    display: flex;
    gap: 16px
}

@media screen and (min-width: 835px) {
    .work__navList {
        gap: 17px
    }
}

.work__navItem {
    font-size: 1.3rem
}

@media screen and (min-width: 835px) {
    .work__navItem .work__navLink {
        display: block;
        text-align: center;
        z-index: 2;
        pointer-events: all;
        transition: all .3s
    }

    .work__navItem .work__navLink:hover {
        color: #8f8f8f
    }
}

.work__navItem.inactive {
    color: #bfbfbf
}

.work__content {
    width: 100%;
    height: calc(var(--dvh, 1vh)*100 - 52px);
    display: grid;
    grid-template-rows: 1fr 18px auto 15px
}

@media screen and (min-width: 835px) {
    .work__content {
        height: calc(var(--dvh, 1vh)*100 - 72px);
        grid-template-rows: 1fr 21px minmax(77px, auto) 25px;
        position: relative;
        z-index: 2;
        pointer-events: none
    }

    .work.image-slide-active .work__content {
        z-index: auto;
        pointer-events: all
    }
}

@supports(height: 100dvh) {
    .work__content {
        height: calc(100dvh - 52px)
    }

    @media screen and (min-width: 835px) {
        .work__content {
            height: calc(100dvh - 72px)
        }
    }
}

.media-contextmenu {
    display: none
}

@media screen and (min-width: 835px) {
    .media-contextmenu {
        padding: 17px 23px;
        border-radius: 5px;
        width: 291px;
        position: fixed;
        background-color: #fff;
        z-index: 3
    }

    .media-contextmenu p {
        font-size: 1.2rem;
        line-height: 2.04rem;
        letter-spacing: .03em;
        font-feature-settings: "palt"
    }

    .media-contextmenu.show {
        display: block
    }
}

.media-carousel {
    width: 100vw;
    min-height: 0;
    grid-row: 1/2
}

@media screen and (min-width: 835px) {
    .media-carousel {
        margin-inline: auto;
        max-width: 1190px;
        z-index: 2;
        position: relative
    }
}

.media-carousel .swiper {
    height: 100%;
    touch-action: pan-x pan-y pinch-zoom
}

.media {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 1fr minmax(0, auto) 1fr;
    justify-items: center;
    height: 100%;
    -webkit-touch-callout: none;
    -moz-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.media__imageWrapper {
    grid-row: 2
}

.media__image {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    pointer-events: none
}

.media__movieWrapper {
    position: relative;
    grid-row: 2;
    height: 100%
}

.media__movie {
    display: block;
    width: 100%;
    height: 100%
}

.media__movieThumbnail {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    cursor: pointer
}

.has-clicked .media__movieThumbnail {
    opacity: 0;
    visibility: hidden;
    transition: opacity .6s, visibility 0s .6s
}

.media__movieThumbnaiImg {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.media__thumbnaiIcon {
    width: 6.1538461538%;
    max-width: 24px;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1
}

@media screen and (min-width: 835px) {
    .media__thumbnaiIcon {
        width: 3.8461538462%;
        max-width: 40px;
        left: 47.6923076923%;
        transform: translate(0, -45%)
    }
}

.media__videoWrapper {
    position: relative;
    grid-row: 2;
    width: 100%;
    height: 100%;
    aspect-ratio: 1
}

.media__video {
    height: 100%
}

.media__video iframe {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%
}

.media__videoThumbnail {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer
}

.has-clicked .media__videoThumbnail {
    opacity: 0;
    visibility: hidden;
    transition: opacity .6s, visibility 0s .6s
}

.media__videoThumbnaiImg {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.media__youtubeWrapper {
    position: relative;
    grid-row: 2;
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9
}

.media__youtube {
    display: block;
    width: 100%;
    height: auto;
    max-height: 100%;
    aspect-ratio: 16/9
}

.media__youtubeThumbnail {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    cursor: pointer
}

.has-clicked .media__youtubeThumbnail {
    opacity: 0;
    visibility: hidden;
    transition: opacity .6s, visibility 0s .6s
}

.media__youtubeThumbnaiImg {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media screen and (min-width: 835px) {
    .media__navigation {
        position: absolute;
        content: "";
        width: 50%;
        height: 100%;
        top: 0;
        z-index: 1;
        transition: opacity .4s;
        opacity: 1
    }

    .work.image-slide-active .media__navigation {
        z-index: 2
    }

    .media__navigation[aria-disabled=true] {
        visibility: hidden
    }
}

@media screen and (min-width: 835px) {
    .media__navigation--prev {
        left: 0;
        cursor: url("../images/common/icon-arrow_prev.svg"), pointer
    }
}

@media screen and (min-width: 835px) {
    .media__navigation--next {
        left: 50%;
        cursor: url("../images/common/icon-arrow_next.svg"), pointer
    }
}

@media screen and (min-width: 835px) {
    #btn__nextpage {
        position: absolute;
        content: "";
        width: 50%;
        height: 100%;
        top: 0;
        right: 0;
        z-index: 1;
        cursor: url("../images/common/icon-arrow_next.svg"), pointer
    }

    .work.image-slide-active #btn__nextpage {
        z-index: 2
    }

    #btn__prevpage {
        position: absolute;
        content: "";
        width: 50%;
        height: 100%;
        top: 0;
        left: 0;
        z-index: 1;
        cursor: url("../images/common/icon-arrow_prev.svg"), pointer
    }

    .work.image-slide-active #btn__prevpage {
        z-index: 2
    }
}

.media__pagination {
    font-size: 1.4rem;
    letter-spacing: .03em;
    position: fixed;
    right: 15px;
    bottom: 13px
}

@media screen and (min-width: 835px) {
    .media__pagination {
        font-size: 1.3rem;
        right: 30px;
        bottom: 23px
    }
}

.detail {
    margin-inline: 0 auto;
    padding-left: 15px;
    width: 66.6666666667%;
    grid-row: 3/4
}

@media screen and (min-width: 835px) {
    .detail {
        margin: auto 0 0;
        padding-left: 30px;
        width: 32.5520833333%;
        z-index: 2;
        pointer-events: all
    }

    .work.image-slide-active .detail {
        z-index: 3
    }
}

.detail__open {
    width: 100%;
    text-align: left
}

@media screen and (min-width: 835px) {
    .detail__open:hover .detail__openIcon {
        will-change: transform;
        transform: rotate(90deg)
    }
}

.detail__title {
    font-size: 1.2rem;
    font-feature-settings: "palt";
    line-height: 1.8rem
}

@media screen and (min-width: 835px) {
    .detail__title {
        font-size: 1.3rem;
        line-height: 1.95rem
    }
}

.detail__openTextWrapper {
    display: flex;
    gap: 5px
}

@media screen and (min-width: 835px) {
    .detail__openTextWrapper {
        margin-top: 1px;
        gap: 6px
    }
}

.detail__openText {
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: .01em;
    text-decoration: underline;
    text-underline-offset: 1px
}

@media screen and (min-width: 835px) {
    .detail__openText {
        font-size: 1.3rem;
        line-height: 1.95rem;
        text-underline-offset: 2px
    }
}

.detail__openIcon {
    display: block;
    margin-top: 7px;
    width: 6px;
    height: 6px;
    transition: transform .3s ease-in-out
}

@media screen and (min-width: 835px) {
    .detail__openIcon {
        margin-top: 8px;
        width: 7px;
        height: 7px
    }
}

.detail__modal {
    width: 100vw;
    height: calc(var(--dvh, 1vh)*100);
    display: grid;
    grid-template-rows: 52px 1fr 52px;
    place-items: center;
    overflow-y: auto;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 1;
    background-color: #f3f3f3;
    transition: opacity 1s
}

.detail__modal[aria-hidden=true] {
    transition: opacity .8s, visibility 0s .8s;
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

@media screen and (min-width: 835px) {
    .detail__modal {
        grid-template-rows: 130px 1fr 130px
    }
}

@supports(height: 100dvh) {
    .detail__modal {
        height: 100dvh
    }

    @media screen and (min-width: 835px) {
        .detail__modal {
            height: 100%
        }
    }
}

.detail__textsWrapper {
    width: 100%;
    height: 100%;
    grid-row: 2/3;
    overflow-y: auto
}

.detail__texts {
    display: grid;
    place-items: center;
    margin-inline: auto;
    width: 74.358974359%;
    height: 100%
}

@media screen and (min-width: 835px) {
    .detail__texts {
        width: 506px
    }
}

.detail__description p {
    font-size: 1.2rem;
    font-feature-settings: "palt";
    line-height: 2.28rem;
    letter-spacing: .03em
}

@media screen and (min-width: 835px) {
    .detail__description p {
        font-size: 1.3rem;
        line-height: 2.47rem
    }
}

.detail__description strong {
    font-weight: 400
}

.detail__description a {
    color: #8f8f8f;
    text-decoration: underline;
    text-underline-offset: 2px;
    word-break: break-all
}

@media screen and (min-width: 835px) {
    .detail__description a {
        transition: all .2s ease-out
    }

    .detail__description a:hover {
        color: #bfbfbf
    }
}

.tax__list {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 7px;
    column-gap: 7px
}

.tax__item {
    font-size: 1.2rem;
    font-feature-settings: "palt";
    line-height: 2.28rem;
    color: #8f8f8f
}

@media screen and (min-width: 835px) {
    .tax__item {
        font-size: 1.3rem;
        line-height: 2.47rem
    }
}

.tax__link {
    text-decoration: underline;
    text-underline-offset: 2px
}

.detail__description p+.tax {
    margin-top: 24px
}

@media screen and (min-width: 835px) {
    .detail__description p+.tax {
        margin-top: 40px
    }
}

.detail__close {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 65px;
    height: 40px;
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1.3rem
}

@media screen and (min-width: 835px) {
    .detail__close {
        width: 98px;
        height: 60px;
        transition: all .3s
    }

    .detail__close:hover {
        color: #8f8f8f
    }
}