@charset "utf-8";

.fixed_bg{
    content: "";
    position: fixed;
    width: 100vw;
    height: 100vh;
    background-image: url(../images/top/fixed_bg.jpg);
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}


/* animation --------------------------------------------------------------------------- */

.kv_fadein {
    opacity: 0;
    transition: opacity 0.2s ease-in;
}

.kv_fadein.show {
    opacity: 1;
}


/* kv --------------------------------------------------------------------------- */

.kv_deco{
    position: relative;
    overflow: hidden;
}

.kv{
    padding: var(--width140) 0 var(--width150);
    text-align: center;
    position: relative;
}

h1{
    font-family: var(--en);
    font-size: var(--font160);
    font-weight: 500;
    line-height: 1.2em;
    letter-spacing: 0.04em;
    text-align: start;
    display: inline-block;
    position: relative;
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: opacity, margin-left;
    margin-left: var(--width50);
}

h1.show{
    opacity: 1;
    margin-left: 0;
}

h1 span{
    color: transparent;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1px var(--white);
}

h1 p{
    font-size: var(--font18);
    line-height: 2;
    letter-spacing: 0.08em;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 51.5%;
    left: 55%;
}

.kv_main{
    height: 34.5vw;
}

.kv_main img{
    height: 34.5vw;
}

.kv_main2 {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
}

.kv_main2.show > img {
    width: 100%;
}

.kv_main2.show > div {
    width: 100%;
}

.kv_main2 > img {
    width: 0%;
    height: 100%;
    object-fit: cover;
    object-position: 0% 50%;
    transition: width 0.8s;
}

.contact_btn{
    font-family: var(--en);
    color: var(--white);
    width: var(--width130);
    height: var(--width130);
    border-radius: 50%;
    border: solid var(--white) 1px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    right: var(--width170);
    bottom: var(--width60);
    z-index: 0;
    mix-blend-mode: difference;
    transition: 0.5s;
    transform: translateY(50px);
    opacity: 0;
}

.contact_btn.show{
    transform: translateY(0);
    opacity: 1;
    z-index: 998;
}

.contact_btn:hover{
    animation: hoverBlink 0.35s ease-in-out forwards;
}

.kv_line{
    width: 46.5vw;
    position: absolute;
}

.kv_line:nth-of-type(1) {
    top: 5vw;
    left: -35vw;
}

.kv_line:nth-of-type(2) {
    top: -27vw;
    left: -8.1633vw;
}

.kv_line:nth-of-type(3) {
    top: -30.5vw;
    left: var(--width110);
}

.kv_line:nth-of-type(4) {
    top: -14vw;
    right: -36vw;
}

.kv_line:nth-of-type(5) {
    top: 4.5vw;
    right: -27vw;
}

.kv_line:nth-of-type(6) {
    top: 31vw;
    right: -6vw;
}

.kv_line:nth-of-type(7) {
    top: 18vw;
    right: -31vw;
}

.kv_line:nth-of-type(8) {
    top: 25vw;
    right: -29vw;
}

.kv_box {
    position: absolute;
}

.kv_deco .kv_box:nth-child(9) {
    width: 96.5vw;
    left: -37vw;
    top: 51vw;
}

.kv_deco .kv_box:nth-child(10) {
    width: 24.5vw;
    top: 68vw;
    right: 2.5vw;
}

@keyframes bigBlink {
    0% { opacity: 1; }
    1% { opacity: 0; }
    2% { opacity: 1; }
    3% { opacity: 0; }
    4%, 100% { opacity: 1; }
}

.neon_big_box {
    animation: bigBlink 3s infinite;
}


/* kv_bottom --------------------------------------------------------------------------- */

.kv_bottom_bg{
    content: "";
    display: block;
    width: 100%;
    height: 17vw;
    clip-path: polygon(0 0, 0 100%, 100% 100%);
    background: #00000080;
}

.kv_bottom{
    background: linear-gradient(to bottom, #00000080 40%, #000);
    padding: var(--width20) 0 var(--width100);
    z-index: 1;
    position: relative;
}

.kv_bottom .deco_box{
    width: 15vw;
    position: absolute;
    left: var(--width60);
    bottom: 11vw;
}

.kv_message{
    font-family: var(--en);
    font-size: var(--font46);
    font-weight: 700;
    text-align: center;
}

.kv_text{
    font-size: var(--font24);
    font-weight: 600;
    writing-mode: vertical-rl;
    margin: auto;
    line-height: 3;
    letter-spacing: 0.02em;
    margin-top: var(--width70);
}

.line_content{
    text-align: center;
}

.line_animation{
    position: absolute;
}

.dot_line{
    height: 8px;
}

.dot_line img{
    height: 100%;
}

.dot_line2 {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
}

.dot_line2.show > img {
    width: 100%;
}

.dot_line2.show > div {
    width: 100%;
}

.dot_line2 > img {
    width: 0%;
    height: 100%;
    object-fit: cover;
    object-position: 0% 50%;
    transition: width 0.5s;
}

.kv_bottom .line_animation:nth-of-type(1){
    top: -3.5vw;
    left: 6vw;
}

.kv_bottom .line_animation:nth-of-type(2){
    top: 23vw;
    right: 8vw;
}

.kv_bottom .line_animation:nth-of-type(3){
    bottom: 7vw;
    left: -13.5vw;
}


/* member --------------------------------------------------------------------------- */

.member{
    padding: var(--width70) 0 var(--width160);
    background: #000;
    position: relative;
}

.member .deco_box{
    width: 21.5vw;
    z-index: 99;
    position: absolute;
    top: 10vw;
    right: 7.5vw;
}

.member_streamer{
    margin-top: var(--width60);
    text-align: center;
}

.member_header{
    text-align: right;
    display: inline-block;
}

.member_header p{
    font-size: var(--font18);
    font-weight: 600;
    line-height: 1em;
}

.member_header h3{
    font-family: var(--en);
    font-size: var(--font112);
    font-weight: 700;
    line-height: 1.3em;
    letter-spacing: 0.07em;
}

.member_streamer .member_header{
    color: var(--purple);
}

.member .line_animation{
    position: relative;
    display: inline-block;
    margin: var(--width50) auto 0;
}

.member_content{
    padding: 0 var(--width70);
    margin-top: var(--width70);
}

.member_column{
    display: flex;
    flex-flow: column;
    gap: var(--width80);
    margin-bottom: var(--width100);
}

.member_column .member_item {
    background: #151515;
    padding: 3.8vw var(--width90);
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--width50);
}

.member_column .member_item::before{
    content: "";
    position: absolute;
    top: -0.4vw;
    left: -1.76vw;
    width: 0;
    height: 0;
    border-left: 2.3vw solid transparent;
    border-right: 2.3vw solid transparent;
    border-bottom: 2.3vw solid #000;
    transform: rotate(-45deg);
}

.member_column .member_item::after{
    content: "";
    position: absolute;
    bottom: -0.4vw;
    right: -1.75vw;
    width: 0;
    height: 0;
    border-left: 2.3vw solid transparent;
    border-right: 2.3vw solid transparent;
    border-bottom: 2.3vw solid #000;
    transform: rotate(135deg);
}

.member_column .member_item:nth-of-type(2),
.member_column .member_item:nth-of-type(4){
    flex-flow: row-reverse;
}

.member_img{
    flex: 0.71;
}

.member_text{
    flex: 1;
}

.member_text h4{
    color: var(--white);
    font-family: var(--en);
    font-size: var(--font80);
    font-weight: 700;
    text-shadow: 4px 4px 0 rgb(199, 0, 255);
}

.member_text p{
    font-size: var(--font30);
    font-weight: 600;
    line-height: 1em;
}

.viewmore_btn {
    width: 23vw;
    display: inline-block;
    margin-top: 1vw;
}

.viewmore_btn img{
    width: 100%;
    margin: auto;
}

.viewmore_btn:hover {
    animation: hoverBlink 0.35s ease-in-out forwards;
}

.member_line:nth-of-type(1) {
    position: absolute;
    top: -2vw;
    right: -2.1vw;
}

.member_line:nth-of-type(2) {
    position: absolute;
    bottom: -1.9vw;
    left: -2.1vw;
}

/* member_flex */
.member_flex{
    display: flex;
    flex-wrap: wrap;
    gap: var(--width80) var(--width20);
}

.member_flex .member_item{
    padding: 0 var(--width40) var(--width30);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--width50);
    width: calc((100% - 1.3605vw) / 2);
    border-bottom: var(--purple) solid 2px;
}

.member_flex .member_img{
    flex: 0.7;
}

.member_flex .member_text{
    flex: 1;
}

.member_flex .member_text h4{
    font-size: var(--font40);
    text-shadow: 2px 2px 0 rgb(199, 0, 255);
}

.member_flex .member_text p{
    font-size: var(--font18);
}

.member_flex .viewmore_btn{
    margin-top: var(--width40);
}

.member_flex .viewmore_btn{
    width: var(--width200);
}

/* gravure */
.member_gravure {
    text-align: center;
}

.member_gravure .member_header{
    color: var(--orange);
    margin-top: var(--width140);
}

.member_gravure .member_flex .member_item{
    border-bottom: var(--orange) solid 2px;
}

.member_gravure .member_flex .member_text h4{
    text-shadow: 2px 2px 0 rgb(255, 105, 50);
}

/* FORTUNE */
.member_fortune {
    text-align: center;
}

.member_fortune .member_header{
    color: var(--blue);
    margin-top: var(--width140);
}

.member_fortune .member_flex .member_item{
    border-bottom: var(--blue) solid 2px;
}

.member_fortune .member_flex .member_text h4{
    text-shadow: 2px 2px 0 rgb(130, 50, 255);
}


/* live --------------------------------------------------------------------------- */

.live{
    padding: var(--width140) 0;
    position: relative;
    z-index: 1;
}

.live_text{
    font-weight: 700;
    margin-top: var(--width60);
}

.live_swiper{
    position: relative;
    padding-top: var(--width100);
}

.live_content{
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.live_detail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: var(--width10);
}

.live_detail h3{
    font-size: var(--font40);
    font-weight: 700;
}

.live_btn{
    font-size: var(--font22);
    font-weight: 600;
    padding-right: var(--width20);
    position: relative;
}

.live_btn::after{
    content: "";
    width: 0.5vw;
    height: 0.5vw;
    border-right: solid 2px var(--white);
    border-bottom: solid 2px var(--white);
    transform: rotate(-45deg);
    position: absolute;
    top: 43%;
    right: 0;
    transition: all 0.3s;
}

.swiper-button-prev1,
.swiper-button-next1 {
    background: none ;
    position: absolute;
    color: transparent !important;
    height: var(--width60) !important;
    width: var(--width60) !important;
}

.swiper-button-next1{
    top: 0 !important;
    right: var(--width170) !important;
}

.swiper-button-prev1{
    top: 0 !important;
    right: 17vw !important;
    left: auto !important;
}

.swiper-button-prev1::after,
.swiper-button-next1::after {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    content: "";
    display: block;
    height: var(--width60);
    width: var(--width60);
    position: absolute;
    transition: 0.3s;
}

.swiper-button-prev1::after {
    background-image: url('../images/top/swiper_btn.svg');
}

.swiper-button-next1::after {
    background-image: url('../images/top/swiper_btn.svg');
    transform: scaleX(-1);
}

.swiper-button-prev1::before,
.swiper-button-next1::before {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    content: "";
    display: block;
    height: var(--width60);
    width: var(--width60);
    position: absolute;
}

.swiper-button-prev1::before {
    background-image: url('../images/top/swiper_btn_hover.svg');
}

.swiper-button-next1::before {
    background-image: url('../images/top/swiper_btn_hover.svg');
    transform: scaleX(-1);
}

.swiper-button-prev1:hover::after,
.swiper-button-next1:hover::after{
    opacity: 0;
}

.swiper-slide img {
    height: auto;
    width: 100%;
}

.live_deco{
    position: relative;
    background: #323232;
}

.live_line{
    position: absolute;
}

.live_line:nth-of-type(1){
    width: 59vw;
    top: 5vw;
    left: -15.5vw;
}

.live_line:nth-of-type(2){
    width: 28vw;
    top: 18vw;
    right: var(--width80);
}

.live_line:nth-of-type(3){
    width: 62vw;
    top: 73vw;
    left: -4vw;
}

.modal {
    display: none;
    position: fixed;
    z-index: 2000;
    padding-top:var(--width60);
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
}

.modal-content {
    margin: auto;
    display: block;
    max-width: 90%;
    max-height: 80%;
}

.close {
    position: absolute;
    top: var(--width20);
    right: var(--width30);
    color: var(--white);
    font-size: var(--font40);
    font-weight: 700;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

#caption {
    text-align: center;
}


/* room --------------------------------------------------------------------------- */

.room{
    padding: var(--width150) 0;
    background: #000;
}

.room_content{
    margin-top: var(--width80);
    display: flex;
    gap: var(--width50) var(--width20);
    flex-wrap: wrap;
}

.room_post{
    width: calc((100% - 2.7211vw) / 3);
}

.post_thumbnail{
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    cursor: pointer;
    transition: 0.3s;
}

.post_thumbnail:hover{
    opacity: 0.6;
}

.post_title,
#caption{
    font-family: var(--en);
    font-size: var(--font24);
    font-weight: 700;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    margin-top: 0.3vw;
}


/* online --------------------------------------------------------------------------- */

.online{
    background: var(--purple);
    padding: var(--width180) 0;
}

.online h2{
    font-family: var(--en);
    font-size: var(--font76);
    font-weight: 700;
    color: #000;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--width10);
}

.online p{
    flex-shrink: 0;
    padding: 0 var(--width20);
}

.online_deco{
    flex-shrink: 0;
}

.online_deco:nth-of-type(2){
    content: "";
    width: 0;
    height: 0;
    border-top: 1vw solid transparent;
    border-bottom: 1vw solid transparent;
    border-right: 1vw solid #000;
    margin-top: 1.5vw;
}

.online_deco:nth-of-type(3){
    content: "";
    width: 0;
    height: 0;
    border-top: 1vw solid transparent;
    border-bottom: 1vw solid transparent;
    border-left: 1vw solid #000;
    margin-top: 1.5vw;
}

.online_line{
    content: "";
    width: 100%;
    height: 2px;
    background: #000;
    margin-top: 1.5vw;
}

.online_btn{
    display: block;
    margin: var(--width40) auto 0;
    width: 22.5vw;
}

.online_btn img{
    width: 100%;
}

.online_btn:hover {
    animation: hoverBlink 0.35s ease-in-out forwards; /* 少しだけ遅くしました */
}


/* about --------------------------------------------------------------------------- */

.about{
    background: #000;
    padding: var(--width150) 0;
}

.about_content{
    text-align: center;
    margin-top: var(--width80);
}

.about_content h3{
    color: var(--purple);
    font-size: var(--font42);
    font-weight: 700;
    text-align: center;
    margin-bottom: var(--width60);
}

.about_content h3:nth-child(3){
    margin-top: var(--width80);
    margin-bottom: var(--width60);
}

.about_content p{
    font-size: var(--font26);
    font-weight: 500;
    line-height: 2.4;
    text-align: center;
}


/* topic --------------------------------------------------------------------------- */

.topic{
    padding: var(--width150) 0;
    background: var(--dark);
}

.topic_content{
    margin-top: var(--width80);
    padding-top: var(--width100);
    padding-left: var(--width70);
    position: relative;
}

.topic_thumbnail{
    box-shadow: var(--width10) var(--width10) 0 rgb(199, 0, 255);
    transition: 0.3s;
    margin-bottom: 1.8vw;
}

.topic_thumbnail img{
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.topic_thumbnail a{
    cursor: pointer;
    transition: 0.3s;
}

.topic_thumbnail a:hover{
    opacity: 0.6;
}

.topic_date{
    font-size: var(--font18);
    font-weight: 600;
    margin-bottom: var(--width10);
}

.topic_text{
    font-size: var(--font18);
    font-weight: 600;
}

.swiper-button-prev2,
.swiper-button-next2 {
    background: none ;
    position: absolute;
    color: transparent !important;
    height: var(--width60) !important;
    width: var(--width60) !important;
}

.swiper-button-next2{
    top: 0 !important;
    right: var(--width170) !important;
}

.swiper-button-prev2{
    top: 0 !important;
    right: 17vw !important;
    left: auto !important;
}

.swiper-button-prev2::after,
.swiper-button-next2::after {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    content: "";
    display: block;
    height: var(--width60);
    width: var(--width60);
    position: absolute;
    transition: 0.3s;
}

.swiper-button-prev2::after {
    background-image: url('../images/top/swiper_btn2.svg');
}

.swiper-button-next2::after {
    background-image: url('../images/top/swiper_btn2.svg');
    transform: scaleX(-1);
}

.swiper-button-prev2::before,
.swiper-button-next2::before {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    content: "";
    display: block;
    height: var(--width60);
    width: var(--width60);
    position: absolute;
}

.swiper-button-prev2::before {
    background-image: url('../images/top/swiper_btn_hover.svg');
}

.swiper-button-next2::before {
    background-image: url('../images/top/swiper_btn_hover.svg');
    transform: scaleX(-1);
}

.swiper-button-prev2:hover::after,
.swiper-button-next2:hover::after{
    opacity: 0;
}


/* contact --------------------------------------------------------------------------- */

.contact{
    background: #000;
    padding: var(--width150) 0;
}

.contact_content{
    margin-top: var(--width70);
    padding: 0 var(--width70);
}

.contact_text{
    padding-bottom: var(--width50);
    margin-bottom: var(--width50);
    border-bottom: solid 2px #3C3C3C;
    font-size: var(--font18);
    font-weight: 600;
}

.contact_attention{
    margin-bottom: var(--width90);
    font-size: var(--font18);
    font-weight: 600;
}

.form_item {
    font-size: var(--font20);
    font-weight: 600;
}

.form_item:nth-of-type(n+2) {
    margin-top: var(--width60);
}

.form_label{
    display: block;
    margin-bottom: var(--width20);
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
    width: 100%;
    height: var(--width100);
    padding: var(--width30);
    border: none;
    color: var(--white);
    background-color: #323232;
}

input[type="text"]::placeholder,
input[type="tel"]::placeholder,
input[type="email"]::placeholder,
textarea::placeholder {
    color: #969696;
}

input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 1.5vw;
    height: 1.5vw;
    background-color: var(--white);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: inline-block;
    margin-right: var(--width10);
    position: relative;
}

input[type="radio"]:checked {
    background-color: var(--white);
    border-color: var(--white);
}

input[type="radio"]:checked::after {
    content: "";
    display: block;
    width: 1vw;
    height: 1vw;
    background-color: #000;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.wpcf7-radio{
    display: flex;
    align-items: center;
    gap: var(--width80);
}

.wpcf7-list-item-label{
    vertical-align: text-bottom;
}

textarea{
    height: 20vw;
}

input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    border: solid var(--white) 1px;
    width: var(--width20);
    height: var(--width20);
    cursor: pointer;
    display: inline-block;
    margin-right: var(--width10);
}

input[type="checkbox"]:checked {
    background-color: var(--purple);
    border: solid var(--purple) 1px;
    position: relative;
}

input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 0.15vw;
    left: 0.43vw;
    width: 0.4vw;
    height: 0.8vw;
    border: solid var(--white);
    border-width: 0 0.2vw 0.2vw 0;
    transform: rotate(45deg);
}

.wpcf7-acceptance{
    font-size: var(--font20);
    font-weight: 600;
    margin-top: var(--width60);
    display: block;
}

.wpcf7-acceptance a{
    border-bottom: solid 1px var(--white);
}

.policy{
    background: #323232;
    padding: var(--width30);
}

.policy_inner{
    height: 23vw;
    overflow-y: scroll;
}

input[type="submit"]{
    all: unset;
    display: block;
    cursor: pointer;
    background-image: url(../images/top/send_btn.svg);
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    width: 22.5vw;
    height: 7.483vw;
    margin: var(--width60) auto 0;
}

input[type="submit"]:hover{
    animation: hoverBlink 0.35s ease-in-out forwards; /* 少しだけ遅くしました */
}

.screen-reader-response{
    display: none;
}

.wpcf7-not-valid-tip,
.wpcf7-response-output{
    color: var(--purple);
    font-size: 1rem;
    font-weight: 600;
}


/* movie --------------------------------------------------------------------------- */

.movie{
    background: var(--purple);
    padding: var(--width60) 0;
}

.movie h2{
    font-size: var(--font38);
    font-weight: 700;
    color: #000;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--width10);
}

.movie p{
    flex-shrink: 0;
    padding: 0 var(--width20);
}

.movie_deco{
    flex-shrink: 0;
}

.movie_deco:nth-of-type(2){
    content: "";
    width: 0;
    height: 0;
    border-top: 1vw solid transparent;
    border-bottom: 1vw solid transparent;
    border-right: 1vw solid #000;
    margin-top: 0.5vw;
}

.movie_deco:nth-of-type(3){
    content: "";
    width: 0;
    height: 0;
    border-top: 1vw solid transparent;
    border-bottom: 1vw solid transparent;
    border-left: 1vw solid #000;
    margin-top: 0.5vw;
}

.movie_line{
    content: "";
    width: 100%;
    height: 2px;
    background: #000;
    margin-top: 0.5vw;
}

.movie_btn{
    display: block;
    margin: var(--width20) auto 0;
    width: 22.5vw;
}

.movie_btn img{
    width: 100%;
}

.movie_btn:hover {
    animation: hoverBlink 0.35s ease-in-out forwards; /* 少しだけ遅くしました */
}


/* responsive --------------------------------------------------------------------------- */

@media (max-width: 767px) {
    .fixed_bg{
        background-image: url(../images/top/sp/fixed_bg.jpg);
    }


    /* kv --------------------------------------------------------------------------- */

    .kv{
        padding: var(--width200) 0 var(--width130);
    }

    h1{
        font-size: var(--font80);
    }

    h1 p{
        font-size: var(--font10);
        top: 51.5%;
        left: 55%;
    }

    .kv_main{
        height: 65vw;
    }
    
    .kv_main img{
        height: 65vw;
    }

    .contact_btn{
        width: var(--width100);
        height: var(--width100);
        right: var(--width20);
        bottom: var(--width30);
    }

    .contact_btn:hover{
        animation: none;
    }
    
    .kv_line{
        width: 143.6vw;
        max-width: none;
    }

    .kv_line:nth-of-type(1) {
        top: var(--width60);
        left: -126.5vw;
    }
    
    .kv_line:nth-of-type(2) {
        top: -103vw;
        left: -20.7619vw;
    }
    
    .kv_line:nth-of-type(3) {
        top: -77vw;
        left: -18.4vw;
    }
    
    .kv_line:nth-of-type(4) {
        top: var(--width200);
        right: -86vw;
    }
    
    .kv_line:nth-of-type(5) {
        top: 120vw;
        right: -50vw;
    }
    
    .kv_line:nth-of-type(6) {
        top: 170vw;
        right: -45vw;
    }
    
    .kv_line:nth-of-type(7) {
        top: 149vw;
        right: -50vw;
    }
    
    .kv_line:nth-of-type(8) {
        display: none;
    }

    .kv_deco .kv_box:nth-child(9) {
        width: 123vw;
        max-width: none;
        left: -68vw;
        top: 121vw;
    }
    
    .kv_deco .kv_box:nth-child(10) {
        width: 27vw;
        top: 240vw;
        right: 5vw;
    }


    /* kv_bottom --------------------------------------------------------------------------- */

    .kv_bottom_bg{
        height: var(--width70);
    }

    .kv_bottom{
        padding: var(--width80) 0 var(--width120);
        background: linear-gradient(to bottom, #00000080 10%, #000);
    }

    .kv_bottom .deco_box{
        width: 56.5vw;
        left: -22vw;
        bottom: -3vw;
    }

    .kv_message{
        font-size: var(--font24);
    }

    .kv_text{
        font-size: var(--font18);
        margin-top: var(--width60);
    }

    .dot_line{
        height: 8px;
    }

    .kv_bottom .line_animation:nth-of-type(1){
        top: 4.5vw;
        left: -58vw;
    }
    
    .kv_bottom .line_animation:nth-of-type(2){
        top: 84vw;
        right: -58vw;
    }
    
    .kv_bottom .line_animation:nth-of-type(3){
        display: none;
    }


    /* member --------------------------------------------------------------------------- */

    .member{
        padding: var(--width100) 0 var(--width120);
    }

    .member .deco_box{
        width: 80vw;
        top: 9vw;
        right: -29vw;
    }

    .member_streamer{
        text-align: end;
        margin-top: var(--width50);
    }

    .member_header p{
        font-size: var(--font12);
    }

    .member_header h3{
        line-height: 1.1;
        font-size: var(--font56);
    }

    .member .line_animation{
        margin: 18vw auto 0;
    }
    
    .member_content{
        padding: 0;
        margin-top: 16vw;
    }

    .member_column{
        gap: var(--width30);
        margin-bottom: 13vw;
    }

    .member_column .member_item {
        position: relative;
        flex-flow: column;
        padding: var(--width30) var(--width50) 3vw;
        gap: 0;
        text-align: center;
    }

    .member_column .member_item::before{
        top: -1.2vw;
        left: -4.6vw;
        border-left: 7vw solid transparent;
        border-right: 7vw solid transparent;
        border-bottom: 7vw solid #000;
    }

    .member_column .member_item::after{
        bottom: -1.1vw;
        right: -4.6vw;
        border-left: 7vw solid transparent;
        border-right: 7vw solid transparent;
        border-bottom: 7vw solid #000;
    }

    .member_column .member_item:nth-of-type(2),
    .member_column .member_item:nth-of-type(4){
        flex-flow: column;
    }

    .member_img{
        width: 61vw;
        flex: 1;
    }

    .member_column .member_img img{
        max-width: none;
        width: 61.5vw;
        height: 72vw;
        object-fit: cover;
        object-position: center top;
    }
    
    .member_text{
        flex: 1;
    }

    .member_text h4{
        font-size: var(--font40);
        text-shadow: 3px 3px 0 rgb(199, 0, 255);
    }

    .member_text p{
        font-size: var(--font18);
        padding-bottom: 1vw;
    }

    .viewmore_btn {
        margin-top: var(--width10);
        width: 70vw;
    }

    .viewmore_btn:hover {
        animation: none;
    }

    .member_line:nth-of-type(1) {
        height: 23vw;
        top: -4.5vw;
        right: -5vw;
    }

    .member_line:nth-of-type(2) {
        height: 23vw;
        bottom: -4.3vw;
        left: -4.9vw;
    }

    /* member_flex */
    .member_flex{
        flex-flow: column;
        gap: 6.5vw;
    }

    .member_flex .member_item{
        background: none;
        padding: 0 var(--width20) 6vw;
        gap: var(--width30);
        width: 100%;
        flex-flow: row;
    }

    .member_flex .member_img{
        flex: 1;
    }
    
    .member_flex .member_text{
        flex: 1;
        text-align: center;
    }

    .member_flex .member_text h4{
        font-size: var(--font26);
    }

    .member_flex .member_text p{
        margin-top: 1.5vw;
        font-size: 1rem;
    }

    .member_flex .viewmore_btn{
        margin-top: var(--width30);
    }

    .member_flex .viewmore_btn{
        width: var(--width170);
    }

    /* gravure */
    .member_gravure{
        text-align: end;
    }

    .member_gravure .member_header{
        margin-top: 25vw;
    }

    /* FORTUNE */
    .member_fortune {
        text-align: end;
    }
    .member_fortune .member_header{
        margin-top: var(--width90);
    }


    /* live --------------------------------------------------------------------------- */

    .live{
        padding: var(--width90) 0;
    }

    .live_text{
        margin: var(--width30) 0;
    }

    .live_swiper{
        padding-top: var(--width60);
    }

    .live_detail h3{
        font-size: var(--font24);
    }

    .live_btn{
        font-size: var(--font16);
        padding-right: var(--width20);
    }

    .live_btn::after{
        width: 1.5vw;
        height: 1.5vw;
    }

    .swiper-button-prev1,
    .swiper-button-next1 {
        height: var(--width40) !important;
        width: var(--width40) !important;
    }

    .swiper-button-next1{
        right: var(--width20) !important;
    }

    .swiper-button-prev1{
        right: var(--width70) !important;
    }

    .swiper-button-prev1::after,
    .swiper-button-next1::after {
        height: var(--width40);
        width: var(--width40);
    }

    .swiper-button-prev1::before,
    .swiper-button-next1::before {
        height: var(--width40);
        width: var(--width40);
    }

    .live_line:nth-of-type(1){
        max-width: none;
        width: 120vw;
        top: -14vw;
    }

    .live_line:nth-of-type(2){
        max-width: none;
        width: 50vw;
        top: 47vw;
        right: -9vw;
    }

    .live_line:nth-of-type(3){
        max-width: none;
        width: 120vw;
        top: 167vw;
    }

    .modal {
        padding-top: 20vh;
    }

    .close {
        top: 10vh;
        right: var(--width20);
        font-size: var(--font40);
    }


    /* room --------------------------------------------------------------------------- */

    .room{
        padding: var(--width90) 0;
    }

    .room_content{
        margin-top: var(--width40);
        gap: var(--width30) var(--width20);
    }

    .room_post{
        width: calc((100% - 5.128vw) / 2);
    }

    .post_title,
    #caption{
        font-size: var(--font16);
    }


    /* online --------------------------------------------------------------------------- */

    .online{
        padding: var(--width60) 0;
    }

    .online h2{
        font-size: var(--font34);
        gap: var(--width10);
        line-height: 1.4;
    }
    
    .online p{
        padding: 0 var(--width10);
    }

    .online_deco:nth-of-type(2){
        border-top: 2vw solid transparent;
        border-bottom: 2vw solid transparent;
        border-right: 2vw solid #000;
    }
    
    .online_deco:nth-of-type(3){
        border-top: 2vw solid transparent;
        border-bottom: 2vw solid transparent;
        border-left: 2vw solid #000;
    }

    .online_btn{
        margin: var(--width20) auto 0;
        width: 69vw;
    }

    .online_btn:hover {
        animation: none;
    }


    /* about --------------------------------------------------------------------------- */

    .about{
        padding: var(--width90) 0;
    }

    .about_content{
        margin-top: var(--width50);
    }

    .about_content h3{
        font-size: var(--font20);
        margin-bottom: var(--width30);
        text-align: left;
    }

    .about_content h3:nth-child(3){
        margin-top: var(--width50);
        margin-bottom: var(--width30);
    }

    .about_content p{
        font-size: var(--font16);
        text-align: left;
    }


    /* topic --------------------------------------------------------------------------- */

    .topic{
        padding: var(--width90) 0;
    }

    .topic_content{
        margin-top: var(--width30);
        padding-top: var(--width60);
        padding-left: 0;
    }

    .topic_thumbnail{
        margin-bottom: var(--width20);
    }

    .swiper-button-prev2,
    .swiper-button-next2 {
        height: var(--width40) !important;
        width: var(--width40) !important;
    }

    .swiper-button-next2{
        right: var(--width20) !important;
    }

    .swiper-button-prev2{
        right: var(--width70) !important;
    }

    .swiper-button-prev2::after,
    .swiper-button-next2::after {
        height: var(--width40);
        width: var(--width40);
    }

    .swiper-button-prev2::before,
    .swiper-button-next2::before {
        height: var(--width40);
        width: var(--width40);
    }


    /* contact --------------------------------------------------------------------------- */

    .contact{
        padding: var(--width90) 0;
    }

    .contact_content{
        margin-top: var(--width30);
        padding: 0;
    }

    .contact_text{
        padding-bottom: var(--width30);
        margin-bottom: var(--width30);
        font-size: 1rem;
        line-height: 2;
    }

    .contact_attention{
        margin-bottom: var(--width30);
        font-size: var(--font16);
    }

    .form_item {
        font-size: var(--font16);
    }

    .form_item:nth-of-type(n+2) {
        margin-top: var(--width20);
    }

    .form_label{
        margin-bottom: var(--width10);
    }

    input[type="text"],
    input[type="tel"],
    input[type="email"],
    textarea {
        height: var(--width50);
        padding: var(--width10);
    }

    input[type="radio"] {
        width: 15px;
        height: 15px;
        margin-right: var(--width10);
    }

    input[type="radio"]:checked::after {
        width: var(--width10);
        height: var(--width10);
    }

    .wpcf7-radio{
        flex-wrap: wrap;
        gap: 4vw var(--width30);
    }

    textarea{
        height: var(--width140);
    }

    .wpcf7-acceptance{
        font-size: 1rem;
        margin-top: var(--width20);
    }

    input[type="checkbox"]{
        width: 4.35vw;
        height: 4.35vw;
    }

    input[type="checkbox"]:checked::after{
        top: 0.4vw;
        left: 1.2vw;
        width: 1.5vw;
        height: 2.5vw;
        border-width: 0 0.5vw 0.5vw 0;
    }

    .policy{
        padding: var(--width10);
    }

    .policy_inner{
        height: var(--width150);
    }

    input[type="submit"]{
        width: var(--width200);
        height: var(--width70);
        margin: var(--width50) auto 0;
    }

    input[type="submit"]:hover{
        animation: none;
    }


    /* movie --------------------------------------------------------------------------- */

    .movie{
        padding: var(--width30) 0;
    }

    .movie h2{
        font-size: var(--font20);
        gap: var(--width10);
    }

    .movie p{
        line-height: 1.4;
        padding: 0 var(--width10);
    }

    .movie_deco:nth-of-type(2){
        border-top: 2vw solid transparent;
        border-bottom: 2vw solid transparent;
        border-right: 2vw solid #000;
    }

    .movie_deco:nth-of-type(3){
        border-top: 2vw solid transparent;
        border-bottom: 2vw solid transparent;
        border-left: 2vw solid #000;
    }

    .movie_btn{
        margin: var(--width10) auto 0;
        width: var(--width200);
    }

    .movie_btn:hover {
        animation: none;
    }
}