div.desc_jp {
    position: absolute;
    left: var(--headerWidth);
    top: calc(calc(var(--mainHeight) * 0.33) + 4.5rem);
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -ms-text-combine-horizontal: digits 2;
    -ms-text-combine-horizontal: digits 2;
    font-size: 1.0rem;
    line-height: 1.75rem;
    text-align: justify;
    text-justify: inter-ideograph;
    height: calc(var(--mainHeight) * 0.33);
    columns: calc(var(--mainHeight) * 0.33);
    column-gap: 3.0rem;
    width: 50vw;
    display: block;
}

div.desc_jp h3:nth-of-type(n+2) {
    padding-right: 3.5rem;
}

img.tategakidummy {
    height: var(--caroucelHeight);
    width: 50vw;
    min-width: 100%;
    float: left;
}

h1.projectTitle {
    margin: 0;
    position: fixed;
    right: 0;
    top: 1.0rem;
    height: calc( calc(var(--mainHeight) * 0.75) - 1rem);
    font-weight: 400;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -ms-text-combine-horizontal: digits 2;
    -ms-text-combine-horizontal: digits 2;
    font-size: 5.0rem;
    line-height: 7.5rem;
    text-align: justify;
    -moz-text-align-last: justify;
    text-align-last: justify;
    text-justify: inter-ideograph;
    filter: drop-shadow(0 0 .25rem rgba(255, 255, 255, 0.5));
}

div.carousel {
    position: fixed;
    width: var(--mainWidth);
    height: var(--caroucelHeight);
    bottom: var(--footerHeight);
    left: var(--headerWidth);
    background-color: rgb(255, 255, 255);
    opacity: 0.9;
    /* 以下カルーセルプラグイン用 */
    overflow: hidden;
}

div.carousel img {
    height: var(--caroucelHeight);
    width: 25vw;
    min-width: 25vw;
    object-fit: cover;
}

@media screen and (max-width: 1200px) {
    h1.projectTitle {
        font-size: 3.0rem;
        line-height: 4.5rem;
    }
}

@media screen and (max-width: 850px) {
    footer {
        display: none;
    }
    h1.projectTitle {
        position: unset;
        position: absolute;
        margin: 0;
        right: 0;
        height: calc(100vh - 2rem);
        font-size: 3.0rem;
        line-height: 4.5rem;
    }
    div.carousel {
        position: unset;
        position: absolute;
        top: 100vh;
        left: 0;
        width: 100%;
        min-height: 25vh;
        scroll-snap-align: start;
    }
    div.carousel img {
        min-height: 25vh;
    }
    div.desc_jp {
        /* scroll-snap-align: start; */
        position: unset;
        position: absolute;
        top: calc(125vh + 1.0rem);
        left: 0;
        width: calc(100vw - 2rem);
        columns: 75vh;
        height: 75vh;
    }
}

@media screen and (max-width: 480px) {
    /* 携帯縦 */
    div.desc_jp {
        columns: 33.3vh;
        height: 33.3vh;
    }
}