/*
    Theme Name: judd
*/
@charset "UTF-8";

/* @import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500&display=swap'); */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500&display=swap');

html {
    font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    color: #000;
    height: 100%;
}
body{
    height: 100%;
    background: #000;
    overscroll-behavior: none;
}

::selection {
    background: #5D5D5D;
    color: #fff;
}

:root {
  --fontjp: 'Zen Kaku Gothic New', sans-serif;
  --fonten: 'Source Sans 3', sans-serif;
}

.pc { display: block; }
.sp { display: none; }
@media only screen and (max-width: 750px) {
    .pc { display: none; }
    .sp { display: block; }
}

.pc_fr { display: flex; }
.sp_fr { display: none; }
@media only screen and (max-width: 750px) {
    .pc_fr { display: none; }
    .sp_fr { display: flex; }
}

.link_range {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
}

img {
    width: 100%;
    height: auto;
}


/*------------------------------------*\
        共通
\*------------------------------------*/
/* inview用 */
.inview, .inview2 {
    transition: all 800ms ease-in-out;
    opacity: 0;
}
.inview_up, .inview_up2 {
    transition: all 500ms ease-in-out;
    opacity: 0;
    transform: translate(0,10px);
}
.inview_action {
    opacity: 1.0;
}
.inview_up_action {
    opacity: 1.0;
    transform: translate(0,0);
}
@media only screen and (max-width:750px) {
}


/*------------------------------------*\
    header
\*------------------------------------*/
.header_logo_wrap {
    position: fixed;
    top: 22px;
    left: 4%;
    z-index: 940;
    opacity: 0.2;
    transition: all 150ms ease-in-out;
    /* filter: invert(100%); */
    /* mix-blend-mode: exclusion; */
}
.header_logo_wrap:hover {
    filter: invert(100%);
    mix-blend-mode: exclusion;
}
.header_logo {
    width: 100px;
}
@media only screen and (max-width:750px) {
    .header_logo_wrap {
        display: none;
    }
    .header_logo_wrap:hover {
        filter: initial;
        mix-blend-mode: normal;
    }
}

.header_nav_wrap {
    position: fixed;
    top: 5%;
    left: 7%;
    width: 86%;
    height: 88svh;
    z-index: 930;
}
@media only screen and (max-width:750px) {
}
.header_nav {
    height: 100%;
}
.header_nav ul {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.header_nav li {
}
.header_nav_name_wrap {
}
.header_nav_name {
    font-family: var(--fonten);
    font-size: 12px;
    line-height: 15px;
    letter-spacing: -0.04em;
    font-weight: bold;
    color: #FF0000;
}
@media only screen and (min-width:1500px) {
    .header_nav_name {
        /* font-size: 0.6vw; */
        /* line-height: 0.7vw; */
    }
}
.header_nav_name .line {
    position: relative;
    display: inline;
}
.header_nav_name .line::after {
    content: "";
    position: absolute;
    width: 0%;
    bottom: 2px;
    left: 0px;
    border-bottom: 1px solid #FF0000;
    z-index: -1;
    transition: all 300ms ease-in-out;
}
.header_nav_name:hover .line::after {
    width: 100%;
}
@media only screen and (max-width:750px) {
    .header_nav_name .line::after {
        width: 100%;
    }
}



/*------------------------------------*\
    top
\*------------------------------------*/
.fv_wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100svh;
}
@media only screen and (max-width:750px) {
}
  

.fv_inner {
    display: flex;
    width: 80%;
    margin: 0 auto;
    max-width: calc(80vh * (452 / 686) * 4);
    height: calc((80vw - (15px * 3)) / 4 * (686 / 452) );
    max-height: 80vh;
    position: relative;
}
@media only screen and (max-width:750px) {
    .fv_inner {
        width: 90%;
        margin: 0 auto;
        /* max-width: none; */
        max-width: calc((90svh / 3 - 4px) * (452 / 686) * 2.5);
        height: calc((90vw / 2) * (686 / 452) * 3 + 12px );
        max-height: 90svh;
    }
}

.fv_nav_wrap {
    width: 25%;
    height: 100%;
}
.fv_gallery_wrap {
    width: 75%;
    height: 100%;
    display: flex;
}
@media only screen and (max-width:750px) {
    .fv_nav_wrap {
        width: 50%;
        position: relative;
        z-index: 2;
    }
    .fv_gallery_wrap {
        width: 50%;
        max-width: calc((90svh / 3 - 4px) * (452 / 686));
        flex-direction: column;
        margin-left: auto;
        position: relative;
        z-index: 1;
    }
}

.fv_img_wrap {
    position: relative;
    width: calc(100% - (15px * 2 / 3));
    height: 100%;
    margin-right: 15px;
}
.fv_img_wrap:last-child {
    margin-right: 0;
}
@media only screen and (max-width:750px) {
    .fv_img_wrap {
        width: 100%;
        height: calc(100% - (6px * 2 / 3));
        margin-right: 0;
        margin-bottom: 6px;
    }
    .fv_img_wrap:last-child {
        margin-bottom: 0;
    }
}
.fv_img_wrap:before {
    content: "";
    display: block;
    /* padding-top: calc(100% * (1333 / 2000)); */
}
.fv_img {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: all 1000ms ease-in-out;
}
.fv_img.js_visible {
    opacity: 1;
    visibility: visible;
}
.fv_img.img_01 { background-image: url(../img/fv_01.jpg); }
.fv_img.img_02 { background-image: url(../img/fv_02.jpg); }
.fv_img.img_03 { background-image: url(../img/fv_03.jpg); }
.fv_img.img_04 { background-image: url(../img/fv_04.jpg); }
.fv_img.img_05 { background-image: url(../img/fv_05.jpg); }
.fv_img.img_06 { background-image: url(../img/fv_06.jpg); }
.fv_img.img_07 { background-image: url(../img/fv_07.jpg); }
.fv_img.img_08 { background-image: url(../img/fv_08.jpg); }
.fv_img.img_09 { background-image: url(../img/fv_09.jpg); }
.fv_img.img_10 { background-image: url(../img/fv_10.jpg); }
.fv_img.img_11 { background-image: url(../img/fv_11.jpg); }
.fv_img.img_12 { background-image: url(../img/fv_12.jpg); }
.fv_img.img_13 { background-image: url(../img/fv_13.jpg); }
.fv_img.img_14 { background-image: url(../img/fv_14.jpg); }
.fv_img.img_15 { background-image: url(../img/fv_15.jpg); }
.fv_img.img_16 { background-image: url(../img/fv_16.jpg); }
.fv_img.img_17 { background-image: url(../img/fv_17.jpg); }
.fv_img.img_18 { background-image: url(../img/fv_18.jpg); }




.fv_logo_wrap {
    position: absolute;
    bottom: 12px;
    right: 12px;
    z-index: 1;
}
.fv_logo {
    width: 60px;
    opacity: 0.5;
}
@media only screen and (max-width:750px) {
    .fv_logo_wrap {
        bottom: 5px;
        right: 6px;
    }
    .fv_logo {
        width: 10.5vw;
    }
}



/*------------------------------------*\
    FOOTER
\*------------------------------------*/
.footer_wrap {
    position: relative;
}
.footer_copy_wrap {
    position: absolute;
    bottom: 2vh;
    right: 4%;
}
.footer_copy {
    font-family: var(--fonten);
    font-size: 10px;
    letter-spacing: 0.1em;
    font-weight: 400;
    color: #000;
}
@media only screen and (max-width:750px) {
    .footer_copy_wrap {
        display: none;
    }
}