

/* main bg */
.fix_bg{position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-image: url(../images/bg/bg_repeat.png); background-size: 100%; background-repeat: repeat; pointer-events: none;
    &:before{content: "";display: block;position: fixed;height: 100vh;width: 100%;top: 0;left: 0;background-image: url(../images/bg/bg_up.png);background-repeat: no-repeat;background-position: top left;background-size: 65%;z-index: -1;opacity: 0.5;}
    &:after{content: "";display: block;position: fixed;height: 100vh;width: 100%;top: 0;left: 0;background-image: url(../images/bg/bg_btm.png);background-repeat: no-repeat;background-position: bottom right;background-size: 50%;z-index: -1;opacity: 0.75;}
}

/* contents */
.contents_box{position: relative;border: 1px solid #000;padding: min(50px,5vw);
    .bg_box{position: absolute;top: -8px;left: -8px;width: calc(100% + 16px);height: calc(100% + 16px);border: 1px solid #000; pointer-events: none; z-index: 0;
        .deco{position: absolute;width: 16px;height: 16px;background-color: #000;
            &.top.left{top: -8px;left: -8px;}
            &.top.right{top: -8px;right: -8px;}
            &.bottom.left{bottom: -8px;left: -8px;}
            &.bottom.right{bottom: -8px;right: -8px;}
        }
    }
}
@media only screen and (max-width: 835px){
    .contents_box{
        .bg_box{position: absolute;top: -5px;left: -5px;width: calc(100% + 10px);height: calc(100% + 10px);border: 1px solid #000;pointer-events: none;
            .deco{position: absolute;width: 10px;height: 10px;background-color: #000;
                &.top.left{top: -5px;left: -5px;}
                &.top.right{top: -5px;right: -5px;}
                &.bottom.left{bottom: -5px;left: -5px;}
                &.bottom.right{bottom: -5px;right: -5px;}
            }
        }
    }
}

/* btn */
.btn{display: block;position: relative;text-align: center;background-color: #000;color: #fff;font-size: min(18px,3.6vw);font-weight: 900;line-height: 1.5em;padding: 1em;border-radius: 50px;
    &:after{position: absolute;content: "";border-top: 1px solid #fff;border-right: 1px solid #fff;top: 50%;transform: translateY(-50%) rotate(45deg);right: 1.5em;width: 0.5em;height: 0.5em; transition: 0.2s;}
    &:hover{filter: brightness(1); background-color: #e60012; opacity: 1;
        &:after{right: 1em;}
    }
}
.btn_area{width: min(600px,86%);margin: 0 auto calc(var(--base_distance)*1.5);
    .btn{border-radius: 0;font-size: min(24px,4vw);padding: 1.5em;}
}

/* fix bnr */
.fix_bnr{position: fixed;bottom: 0;left: 0;width: 100%;z-index: 100;background-color: #fff;box-shadow: 0 -2px 8px rgba(0,0,0,0.12);padding: 1vw 0; transform: translateY(100%);
    .wrap_1600px{display: flex;align-items: center;justify-content: center;gap: 0 2%;}
    .left{display: flex;flex-direction: column;align-items: center;gap: 0.75vw 0;width: 50%;
        .tit{width: min(420px,25vw);margin-bottom: 0;}
        .foot_list{display: flex;align-items: center;justify-content: center;gap: 0 1.5%;width: 100%; margin-bottom: 0.25vw;
            li{position: relative;width: 30%;border: 1px solid #999999;font-size: min(15px,1vw); line-height: 1em; font-weight: bold;padding: 0.6em;white-space: nowrap;
                &:after{position: absolute;content: "";border: 1px solid #999999;width: calc(100% + 8px);height: calc(100% + 8px);top: -4px;left: -4px;pointer-events: none;}
            }
        }
    }
    .right{display: flex;align-items: center;justify-content: center;width: 40%;
        .btn{background-color: #e60012;font-size: min(26px,2vw);width: 100%;padding: 0.75em 1em;
            &:hover{filter: brightness(1.1); opacity: 1;}
        }
    }
}
@media only screen and (max-width: 835px){
    .fix_bnr{padding: 10px 0;
        .wrap_1600px{flex-direction: column;gap: 2vw 0;}
        .left{width: 100%;
            .tit{width: 80vw;}
            .foot_list{display: none;}
        }
        .right{width: 100%;
            .btn{font-size: min(16px,4vw);padding: 0.8em;}
        }
    }
}


/*----------------------------------------
    top page
------------------------------------------*/


/* fv */
.fv{position: relative;aspect-ratio: 16 / 9;margin-bottom:0;
    .kv{position: absolute;transform: translate(-50%,-50%);top: 50%;left: 24.5%;width: 41%;}
    .main_tit{position: absolute;transform: translate(-50%,-50%);top: 45%;left: 70%;width: 37.5vw; line-height: 0;
		h1{ margin-bottom: 2vw;}
		small{ line-height: 1em;}
	}
    .side_txt{position: absolute;transform: translate(-50%, 0%);top:3vw;left: 96%;width: 2.2vw; margin: 0;}

}
@media only screen and (max-width: 835px){
    .fv{aspect-ratio: initial;margin-bottom: 10vw;
        .kv{position: relative;transform: initial;top: initial;left: initial;width: 100%;margin-bottom: 2.5vw; overflow: hidden;
			img{ max-width: 103%;}
		}
        .main_tit{position: relative;transform: initial;top: initial;left: initial;width: 80%;margin: 0 auto;
			h1{ margin-bottom: 16px;}
		}
        .side_txt{ position: inherit; transform: none; left: 0; top: 0; width: 94%; margin: 0 auto 8vw;
			img{}
		}
    }
}

/* catch */
.main_catch{width: 96%;margin: 0 auto 8.5vw;
    .catch_txt{ font-size: 1.5vw; line-height: 1.7em; margin: 0 auto; margin-top: -8vw; font-weight: 600;}
}
@media only screen and (max-width: 835px){
    .main_catch{width: 100%;margin: 0 auto 18vw;
		h2{ margin-bottom: 10px;}
		.catch_txt{ font-size: 16px; width: 90%; margin-top: 0; text-align: left;}
	}
}

/* about */
.about{margin-bottom: calc(var(--base_distance)*1); 
    .contents_box{padding-top: 60px;background-color: #fff;
        .stit{position: absolute;top: -50px;left: 53%;transform: translateX(-50%);width: min(340px); padding: 0 10px; z-index: 1;
			&:after{ display: block; content: ""; width: 100%; height: 10px; background-color: #fff; position: absolute; top: 57%; left: 0; z-index: -1;transform: translate(0, -50%);}
		}
        .flex{display: flex;justify-content: space-between;
            .left{width: 50%;}
            .right{width: 46%;text-align: left; font-weight: bold;
                .laed{color: #d62a1a;font-size: 1.6em;font-weight: 900;line-height: 1.5em;}
                .btn{margin-top: 1.5em;}
            }
        }
    }
}
@media only screen and (max-width: 835px){
    .about{ margin-top: 0;
        .contents_box{padding-top: 12%;
            .stit{top: -5%;left: 50%;width: 68%;}
            .flex{flex-direction: column;
                .left{width: 100%;margin-bottom: 5vw;}
                .right{width: 100%;
                    .laed{font-size: 1.2em;}
                }
            }
        }
    }
}

/* message */
.message{margin-bottom: calc(var(--base_distance)*1.5);
    .inner_box{background-color: #d15d36; color: #fff; padding: 40px 60px;
        .flex{display: flex; justify-content: space-between;
            .left{width: 20%;
                img{width: 100%;}
            }
            .right{width: 75%; text-align: left;
                .stit{color: #e9dcbf;font-size: 1.5em;font-weight: 800;line-height: 1.5em;margin-bottom: 0.5em;font-family: var(--f_01);}
                .sstit{font-size: 1.5em;font-weight: bold;line-height: 1.5em;margin-bottom: 0.5em;}
            }
        }
    }
}
@media only screen and (max-width: 835px){
    .message{
        .inner_box{padding: 6vw;
            .flex{flex-direction: column;
                .left{width: 60%;margin:0 auto 5vw;}
                .right{width: 100%;}
            }
        }
    }
}

/* enmoku */
.enmoku{margin-bottom: calc(var(--base_distance)*2);
    .stit{color: #e60012;font-size: 3.2em;font-weight: 900;line-height: 1.5em;margin-bottom: 1.5em;font-family: var(--f_01);}
    .enmoku_list{width: 100%;display: flex;flex-wrap: wrap;gap: calc(var(--base_distance)*1) 5%;justify-content: flex-start;
        li{width: 30%;
            a{display: block;background-color: #fff;color:#000;
                .contents_box{padding: 20px 20px 28px;
                    &:before,&:after{position: absolute; content: ""; background-image: url(../images/enmoku/deco.jpg); background-position: center; background-repeat: no-repeat; background-size: contain; width: 40px; height: 40px; top: 12px;}
                    &:before{left: 12px;transform: scale(-1, 1);}
                    &:after{right: 12px;}
                    .tit_area{margin-bottom: 12px;
                        .sstit{font-size: 2em;font-weight: 900;line-height: 1.5em;font-family: var(--f_01); transition: 0.2s;}
                        .ssstit{font-size: 1.2em;font-weight: 900;line-height: 1.6em;margin: 0;font-family: var(--f_01); transition: 0.2s;}
                    }
                    figure{position: relative; width: 100%; height: 0; padding-top: 56.25%; margin-bottom: 12px;
                        img{position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: auto; height: auto; max-width: 100%; max-height: 100%;}
                    }
                    .txt_box{border: 1px solid #e60012;padding: 12px 12px 20px;margin-bottom: 12px;
                        .sssstit{font-size: 1.2em;font-weight: 900;margin-bottom: 0.3em;font-family: var(--f_01);}
                        .enmoku{color: #e60012;font-size: 1.5em;font-weight: 900;font-family: var(--f_01);line-height: 1.5em;margin: 0;display: flex;justify-content: center;align-items: center;min-height: 120px;}
                    }
                    .btn{position: absolute; width: calc(100% - 40px); left: 50%; transform: translateX(-50%); z-index: 10; transition: 0.2s;
                        &:hover{opacity: 1;
                            &:after{right: 1.5em;}
                        }
                    }
                }
                &:hover{transform: translateY(-5px);
                    .tit_area{
                        .sstit{color: #e60012;}
                        .ssstit{color: #e60012;}
                    }
                    .btn{background-color: #e60012;
                        &:after{right: 1em;}
                    }
                }
            }
        }
        &.list_02{gap: calc(var(--base_distance)*1) 4%;
            li{width: 22%;
                a{
                    .contents_box{padding: 14px 14px 24px;
                        &:before,&:after{width: 28px;height: 28px;top: 8px;}
                        &:before{left: 8px;}
                        &:after{right: 8px;}
                        .tit_area{margin-bottom: 8px;
                            .sstit{font-size: 1.5em;}
                            .ssstit{font-size: 1em;}
                        }
                        .txt_box{padding: 8px 8px 18px;
                            .sssstit{font-size: 1em;}
                            .enmoku{font-size: 1.2em;min-height: 100px;}
                        }
                    }
                }
            }
            .nextep{
                &:nth-child(2),
                &:nth-child(3n+1){ flex: inherit !important; }
                &:nth-child(4n+1) { flex: 1; }
            }
        }
    }
	.nextep{ border:1px solid #000; display: flex;align-items: center; justify-content: center; padding: 3% 1%;font-size: min(1.1vw, 18px);line-height: 1.7em;
		&.first{ font-size: 22px; line-height: var(--base_line_height);}
        &:nth-child(3n+1) { flex: 1; }
        &:nth-child(n+13) { display: none; }
	}
}
@media only screen and (max-width: 1100px){
    .enmoku{
        .enmoku_list{
            &.list_02{
                li{width: 30%;}
            }
        }
    }
}

@media only screen and (max-width: 835px){
    .enmoku{
        .stit{font-size: 2em;margin-bottom: 1em;}
        .enmoku_list{gap: calc(var(--base_distance)*1.4) 0;
            li{width: 90%;margin: 0 auto;
                a{
                    .contents_box{padding: 4vw 4vw 6vw;
                        &:before,
                        &:after{width: 30px;height: 30px;}
                        :before{}
                        &:after{}
                        .tit_area{
                            .sstit{font-size: 1.6em;}
                            .ssstit{font-size: 1em;}
                        }
                        .txt_box{
                            .sssstit{font-size: 1em;}
                            .enmoku{font-size: 1.3em;min-height: 80px;}
                        }
                    }
                }
            }

            &.list_02{gap: calc(var(--base_distance) * 1.4) 0;
                li{width: 90%;margin: 0 auto;
                    a{
                        .contents_box{padding: 4vw 4vw 6vw;
                            &:before,&:after{width: 30px;height: 30px;top: 12px;}
                            &:before{left: 12px;}
                            &:after{right: 12px;}
                            .tit_area{margin-bottom: 12px;
                                .sstit{font-size: 1.6em;}
                                .ssstit{font-size: 1em;}
                            }
                            .txt_box{padding: 12px 12px 20px;
                                .sssstit{font-size: 1em;}
                                .enmoku{font-size: 1.3em;min-height: 80px;}
                            }
                        }
                    }
                }
                .nextep{}
            }
        }
		
		.nextep{ font-size: 16px; line-height: 1.7em;
			&.first{font-size: var(--base_font_size); }
	}
    }
}

/* foot contents */
.foot_contents{padding: calc(var(--base_distance)*1) 0; background-color: #fff;
    .tit{width: 80%; margin:0 auto 60px;}
    .foot_list{display: flex; justify-content: center; gap: 0 2%; margin-bottom: 60px;
        li{position: relative; width: 32%; border: 1px solid #999999;font-size: min(26px,2.4vw);font-weight: bold; padding: 0.5em 0;
            &:after{position: absolute;content: "";border: 1px solid #999999;width: calc(100% + 12px);height: calc(100% + 12px);top: -6px;left: -6px; pointer-events: none;}
        }
    }
    .btn{background-color: #e60012; width: 60%; margin: 0 auto; font-size: 1.5em;
        &:hover{filter: brightness(1.1); opacity: 1;}
    }
}
@media only screen and (max-width: 835px){
    .foot_contents{
        .tit{width: 100%;margin-bottom: 5vw;}
        .foot_list{flex-direction: column;gap: 4vw 0;margin-bottom: 8vw;
            li{width: 100%;font-size: 1.4em;
                &:after{width: calc(100% + 8px);height: calc(100% + 8px);top: -4px;left: -4px;}
            }
        }
        .btn{width: 100%;font-size: 1.2em;}
    }
}


/*----------------------------------------
    single
------------------------------------------*/
.single{ margin-bottom: calc(var(--base_distance)*1.5);
    .contents_box{background-color: #fff;}
    .single_head{margin-bottom: 2em;
        .ep_label{display: flex;align-items: flex-start;gap: 0 1em;margin-bottom: 1.2em;color: #d62a1a;
            .ep_deco{width: 34px;flex-shrink: 0;transform: scale(-1,1) translateY(12px);}
            .sstit{font-size: 36px;font-weight: 900;font-family: var(--f_01);line-height: 1.5em;
                .ssstit{margin-left: 0.3em;text-align: left;}
            }
        }
        .flex{display: flex;justify-content: space-between;align-items: flex-start;
            .left{width: 46%;}
            .right{width: 50%;text-align: left;
                .laed{color: #d62a1a;font-size: 1.6em;font-weight: 900;line-height: 1.5em;margin-bottom: 0.8em;}
            }
        }
    }
    .single_enmoku{
        .single_enmoku_tit{background-color: #e60012;color: #fff;text-align: center;font-size: 1.7em;font-weight: bold;padding: 0.7em;margin-bottom: 0.5em;}
        .single_enmoku_item{display: flex;justify-content: space-between;align-items: flex-start;padding: 1.5em 0;border-bottom: 1px solid #000;
            &:last-child{border-bottom: none;}
            .left{width: 40%;text-align: left;padding-right: 3%;
                .sssstit{font-size: 1em;font-weight: bold;margin-bottom: 0.3em;text-align: center;}
                .enmoku_name{font-size: 1.8em;font-weight: bold;/* color: #e60012; *//* font-family: var(--f_01); */line-height: 1.5em;margin-bottom: 0.5em;text-align: center;}
            }
            .right{width: 60%;
                .youtube_item{margin-bottom: 1.2em;
                    iframe{border: 1px solid #000;padding: 2px;}
                    &:last-child{margin-bottom: 0;}
                    .youtube_box{position: relative;width: 100%;aspect-ratio: 16/9;background-color: #000;display: flex;align-items: center;justify-content: center;color: #fff;font-size: 1.2em;margin-bottom: 0.5em;
						&.noitem{ background-color: #f1f1f1; color: #aaa;}
					}
                    .performer{font-size: 1.1em;font-weight: bold;text-align: center;line-height: 1.5em;}
                }
            }
        }
    }
}
@media only screen and (max-width: 835px){
    .single{
        .single_head{margin-bottom: 1.5em;
            .ep_label{gap: 0 0.9em;margin-bottom: 1em;
                .ep_deco{width: 22px;transform: scale(-1,1) translateY(6px);}
                .sstit{font-size: 1.6em;}
            }
            .flex{flex-direction: column;
                .left{width: 100%;margin-bottom: 5vw;}
                .right{width: 100%;
                    .laed{font-size: 1.1em;}
                }
            }
        }
        .single_enmoku{
            .single_enmoku_tit{font-size: 1.3em;margin: 0;}
            .single_enmoku_item{flex-direction: column;
                .left{width: 100%;padding-right: 0;margin-bottom: 1em;
                    .sssstit{}
                    .enmoku_name{font-size: 1.4em;}
                }
                .right{width: 100%;}
            }
        }
    }
}



/* Youtube */
.youtube-wrap {position: relative;cursor: pointer;aspect-ratio: 16 / 9; margin-bottom: 6px;}
.youtube-wrap img {width: 100%;height: 100%;object-fit: cover;display: block;border: 4px double #000000; transition: 0.2s;
    &:hover{filter: brightness(1.2);}
}
.youtube-play-btn {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 68px;height: 48px;background: #ff0000;border: none;border-radius: 12px;cursor: pointer; pointer-events: none;}
.youtube-play-btn::after {content: '';position: absolute;top: 50%;left: 55%;transform: translate(-50%, -50%);border-style: solid;border-width: 10px 0 10px 20px;border-color: transparent transparent transparent #fff;}