@charset "utf-8";

body {
    font-family: "Zen Old Mincho", serif;
}
.font_lustria {
    font-family: "Lustria", serif;
}
.wrap {
    position: relative;
    overflow: hidden;
}
.bg {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height: 100vh;
    height: 100lvh;
}
.mv {
    position: relative;
    height: 100vh;
    height: 100svh;
}
.bg_img {
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.bg_img_color {
    background: url(../images/bg.webp) no-repeat 50% 50% / cover;
}
.bg_img_mono {
    background: url(../images/bg_mono.webp) no-repeat 50% 50% / cover;
    opacity: 0;
    transition: opacity 1s;
}
.is_changed .bg_img_mono {
    opacity: 1;
}
@media (min-width: 769px) {
    html {
        font-size: 1px;
    }
    .bg_default {
        min-height: max(800px, 100vh);
    }
}
@media (max-width: 768px) {
    html {
        font-size: calc(100 / 390 * 1vw)
    }
}

/* mv */
.mv_inner {
    width:100%;
    height:100%;
    display:flex;
    justify-content: center;
    align-items: center;
}
.mv_logo {
    height:auto;
}
.mv_logo_catch {
    color: #FFF;
    text-align: center;
    font-weight: 400;
}
.mv_logo_coming_soon {
    color: #AB9A93;
    text-align: center;
    font-style: normal;
    font-weight: 400;
}
@media (min-width: 769px) {
    .mv {
        min-height: max(800px, 100vh);
    }
    .mv_logo {
        width:537px;
    }
    .mv_logo_catch {
        font-size: 28px;
        line-height: 1;
        letter-spacing: calc(8.4 / 28 * 1em);
        margin-top: 77px;
    }
    .mv_logo_coming_soon {
        font-size: 22px;
        line-height: 1;
        letter-spacing: calc(6.6 / 22 * 1em);
        margin-top: 56px;
    }
}
@media (max-width: 768px) {
    .mv_box {
        position:absolute;
        left: auto;
        right:auto;
        top:50%;
    }
    .mv_logo {
        width: 300rem;
    }
    .mv_logo_catch {
        font-size: 18rem;
        line-height: 1;
        letter-spacing: calc(5.4 / 18 * 1em);
        margin-top: 62rem;
    }
    .mv_logo_coming_soon {
        font-size: 14rem;
        line-height: 1;
        letter-spacing: calc(4.2 / 12 * 1em);
        margin-top: 40rem;
    }
}

/* company */
.company {
    position: relative;
    color:#fff;
}
.content_ttl {
    color: #AB9A93;
    font-weight: 400;
}
.company_item_set {
    display: flex;
}
.company_item_set > dt {
    color: #6C6C6C;
    font-weight: 400;
}
.company_item_set > dd {
    font-weight: 400;
}
.company_item_txt_small {
        font-size: calc(12/16*100%);
    }
@media (min-width: 769px) {
    .company {
        min-height: max(800px, 100vh);
    }
    .company_inner {
        position: absolute;
        width:100%;
        height:100%;
        display:flex;
        justify-content: center;
        align-items: center;
    }
    .company_box {
        width: 640px;
    }
    .content_ttl {
        font-size: 18px;
        line-height: 1;
        letter-spacing: calc(5.4 / 18 * 1em);
    }
    .company_list {
        margin-top: 64px;
    }
    .company_list > li + li {
        margin-top: 40px;
    }
    .company_item_set > dt {
        width: 125px;
        font-size: 14px;
        line-height: 1;
        letter-spacing: calc(1.4 / 14 * 1em);
    }
    .company_item_set > dd {
        flex: 1;
        font-size: 16px;
        line-height: 1;
        letter-spacing: calc(1.6 / 16 * 1em);
    }
}
@media (max-width: 768px) {
    .company {
        min-height: max(672rem, 100vh);
    }
    .company_box {
        padding-inline: 32rem;
        margin-top: 80rem;
    }
    .content_ttl {
        font-size: 14rem;
        line-height: 1;
        letter-spacing: calc(5.4 / 18 * 1em);
    }
    .company_list {
        margin-top: 64px;
    }
    .company_list > li + li {
        margin-top: 40rem;
    }
    .company_item_set {
        flex-direction: column;
        gap: 16rem;
    }
    .company_item_set > dt {
        font-size: 11rem;
        line-height: 1;
        letter-spacing: calc(1.1 / 11 * 1em);
    }
    .company_item_set > dd {
        font-size: 12rem;
        line-height: 1.75;
        letter-spacing: calc(1.2 / 12 * 1em);
    }
}

/* footer */
.footer {
    color: #FFF;
    text-align: center;
    font-weight: 400;
}
@media (min-width: 769px) {
    .footer {
        position: absolute;
        left:0;
        bottom:0;
        width:100%;
        font-size: 12px;
        line-height: 1;
        letter-spacing: calc(1.2 / 12 * 1em);
        padding-block: 48px;
    }
}
@media (max-width: 768px) {
    .footer {
        position: relative;
        font-size: 9rem;
        line-height: 1;
        letter-spacing: calc(0.9 / 9 * 1em);
        padding-block: 64rem;
    }
}

/* animation */
.animation_ready .anim_blur_fade {
    filter: blur(10px);
    opacity: 0;
}
.animation_loaded .anim_blur_fade.is_animated {
    filter: blur(0px);
    opacity: 1;
    transition: filter 1.6s 0s, opacity 1.6s 0s;
}
.animation_loaded .mv .anim_blur_fade {
    filter: blur(0px);
    opacity: 1;
    transition: filter 1.6s 0s, opacity 1.6s 0s;
}
.animation_loaded .mv_logo_wrap.anim_blur_fade {
    transition-delay: 0s;
}
.animation_loaded .mv_logo_catch.anim_blur_fade {
    transition-delay: 0.8s;
}
.animation_loaded .mv_logo_coming_soon.anim_blur_fade {
    transition-delay: 1.6s;
}




