@charset "UTF-8";

.gd_black {
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(16,16,16,1) 90%);
    position: relative;
}

section.mv {
    height: 100vh;
    min-height: 750px;
    text-align: center;
    display: -webkit-flex;
    -webkit-flex-direction: column;
    -webkit-justify-content: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.video_wrapper {
	position: fixed;
	width: 100%;
	background: #000;
	height: 100vh;
}

.video_wrapper video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.mv_title {
    font-size: 6rem;
    font-family: "Libre Caslon Display", serif;
    line-height: 43px;
    text-shadow: 0 8px 20px #000;
}

.mv_title span {
    display: block;
    font-size: 2.4rem;
}

.performance_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.performance_head_area {
    width: 40%;
    text-align: center;
}

.performance_head_area h2 span {
    font-family: "Libre Caslon Display", serif;
    font-size: 6rem;
    display: block;
    margin-bottom: 30px;
}

.performance_head_area h2 {
    font-size: 1.4rem;
    line-height: 26px;
    margin-bottom: 40px;
    font-weight: 500;
}

.link_btn {
    border: 1px solid #fff;
    padding: 15px 40px;
    font-size: 1.4rem;
    font-weight: 300;
    color: #fff;
    position: relative;
    transition: all 0.5s ease-in-out 0s;
}

.link_btn:after {
    display: block;
    content: "";
    position: absolute;
    width: 24px;
    height: 0.5px;
    background: #fff;
    right: 0;
    top: 50%;
    transition: all 0.5s ease-in-out 0s;
}

.link_btn:hover:after {
    width: 0;
}

.link_btn:hover {
    background: #fff;
    color: #101010;
}

.performance_slider {
    width: 60%;
}

.slick__image {
  position: relative;
  width: 500px;
  margin-right: 30px;
	display: -webkit-flex;
}

.performance_info {
    position: absolute;
    text-align: center;
    width: 100%;
    text-shadow: 0 0 15px rgba(0,0,0,0.6);
}

.performance_box {
    background: #222;
    min-height: 500px;
    -webkit-flex-direction: column;
    -webkit-justify-content: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: -10px 10px 20px rgba(0,0,0,0.5);
    position: relative;
    color: #fff;
}

.performance_image {
    position: relative;
    background: #000;
    overflow: hidden;
    height: 500px;
}

.performance_box:hover img {
	opacity: 1;
	transform: scale(1.2);
}

.performance_box:before {
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    position: absolute;
    display: block;
    content: "";
    width: 70px;
    height: 70px;
    left: 0;
    top: 0;
    z-index: 999;
    transition: all 1s ease-in-out 0s;
}

.performance_box:after {
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    display: block;
    content: "";
    width: 70px;
    height: 70px;
    right: 0;
    bottom: 0;
    z-index: 999;
    transition: all 1s ease-in-out 0s;
}

.performance_box:hover:before,
.performance_box:hover:after {
    width: 100%;
    height: 100%;
}

.performance_image img {
    opacity: 0.9;
    transition: all 1s ease-in-out 0s;
	aspect-ratio: 1/ 1;
	object-fit: cover;
}

.performance_date {
    font-size: 3rem;
    font-family: "Libre Caslon Display", serif;
    margin-bottom: 30px;
    text-shadow: 0 4px 15px #000;
}

h3.performance_title {
    font-family: "Libre Caslon Display", serif;
    font-size: 3rem;
    margin-bottom: 15px;
    line-height: 35px;
    text-shadow: 0 4px 15px #000;
    padding: 0 10%;
}

.performance_place {
    font-family: "Libre Caslon Display", serif;
    font-size: 2rem;
    padding: 0 10%;
    text-shadow: 0 4px 15px #000;
}

section.performance {
    padding: 0;
    /* background: rgba(255,255,255,0.5); */
}

.performance_image:after {
    position: absolute;
    content: "";
    display: block;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(16,16,16,0.75) 90%);
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
}

.performance_date:after {
    display: block;
    content: "";
    width: 50px;
    height: 0.5px;
    background: #fff;
    margin: 30px auto 0;
}

.slick-dots {
    text-align: left!important;
    bottom: -37px!important;
}

.slick-dots li button:before {
    color: #fff!important;
	opacity: 0.75;
}
.slick-dots li.slick-active button:before {
    color: #fff!important;
	opacity: 1!important;
}

a.performance_head_link {
    width: max-content!important;
    margin: 50px auto 0!important;
}

a.news_head_link {
    width: max-content;
    margin: 0 auto;
}

a.column_head_link {
    width: max-content;
    margin: 0 auto;
}

section.report {
    padding-bottom: 100px;
    background: #101010;
    position: relative;
    padding-top: 100px;
}

.report_inner {
    max-width: 1100px;
    margin: 0 auto;
}

.report_head_area {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.report_head_area h2 {
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
}

.report_head_area h2 span {
    display: block;
    font-family: "Libre Caslon Display", serif;
    font-size: 6rem;
    margin-bottom: 10px;
}

a.report_head_link {
    display: block;
}

.report_list {
    display: flex;
    margin-top: 50px;
    justify-content: space-between;
}

.report_list_large {
    width: 58%;
}

.report_list_large a {
    display: block;
    color: #fff;
}

.report_list_large_thumb {
    width: 100%;
    background: #333;
	position: relative;
	overflow: hidden;
}

.report_list_large_thumb img {
    transition: all 1s ease-in-out 0s;
    height: auto;
    aspect-ratio: 40 / 21;
    object-fit: cover;
}

.report_list_large a:hover .report_list_large_thumb img {
	transform: scale(1.1);
}

.report_list_large_thumb:before {
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    position: absolute;
    display: block;
    content: "";
    width: 70px;
    z-index: 99;
    height: 70px;
    left: 0;
    top: 0;
    transition: all 1s ease-in-out 0s;
}

.report_list_large_thumb:after {
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    display: block;
    content: "";
    width: 70px;
    height: 70px;
    right: 0;
    bottom: 0;
    transition: all 1s ease-in-out 0s;
}

.report_list_large_thumb:hover:before,
.report_list_large_thumb:hover:after {
    width: 100%;
    height: 100%;
}

.report_list_large_cap {
    padding: 20px 5% 0;
}

.report_list_large_cap h3 {
    font-size: 2rem;
    margin-bottom: 10px;
    font-weight: 300;
}

.report_list_large_cap p {
    opacity: 0.6;
    font-weight: 300;
    font-size: 1.4rem;
    line-height: 27px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.report_list_small {
    width: 40%;
}

.report_list_small a {
    display: block;
    background: #333;
    margin-bottom: 20px;
}

.report_list_small_title {
    padding: 130px 30px 30px;
    color: #fff;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(16,16,16,0.9) 100%);
    font-weight: 300;
    letter-spacing: 0.5px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.report_list_small_thumb {
    position: relative;
    width: 100%;
    transition: all 0.2s ease-in-out 0s;
	overflow: hidden;
}

.report_list_small_thumb img {
    transition: all 1s ease-in-out 0s;
    height: auto;
    aspect-ratio: 40 / 21;
    object-fit: cover;
}

.report_list_small a:hover .report_list_small_thumb img {
	transform: scale(1.1);
}

.report_list_small_thumb:before {
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    position: absolute;
    display: block;
    content: "";
    width: 70px;
    height: 70px;
    left: 0;
    top: 0;
    transition: all 1s ease-in-out 0s;
    z-index: 99;
}

.report_list_small_thumb:after {
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    display: block;
    content: "";
    width: 70px;
    height: 70px;
    right: 0;
    bottom: 0;
    transition: all 1s ease-in-out 0s;
}

.report_list_small_thumb:hover:before,
.report_list_small_thumb:hover:after {
    width: 100%;
    height: 100%;
}

.request_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.request_title:before {
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    position: absolute;
    display: block;
    content: "";
    width: 70px;
    height: 70px;
    left: 0;
    top: 0;
    transition: all 1s ease-in-out 0s;
}

.request_title:after {
    border-bottom: 0.5px solid #fff;
    border-right: 0.5px solid #fff;
    position: absolute;
    display: block;
    content: "";
    width: 70px;
    height: 70px;
    right: 0;
    bottom: 0;
    transition: all 1s ease-in-out 0s;
}

.request_odd {
    width: 50%;
    position: relative;
    background: #222;
    padding: 2%;
    color: #fff;
}

.request_even {
    width: 50%;
    padding: 2%;
    background: #333;
	position: relative;
    color: #fff;
}

.request_title span {
    font-size: 5rem;
    display: block;
    line-height: 50px;
    font-family: "Libre Caslon Display", serif;
    margin-bottom: 20px;
}

.request_title {
    font-weight: 500;
    font-size: 1.6rem;
    padding: 15% 8%;
    background: rgba(0,0,0,0.6);
    transition: all 1s ease-in-out 0s;
}

.request_odd:before,
.request_even:before {
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    left: 0;
    backdrop-filter: blur(5px);
    top: 0;
    transition: all 1s ease-in-out 0s;
}

.request_odd:hover .request_title,
.request_even:hover .request_title {
    background: rgba(0,0,0,0.4);
}

.request_odd:hover .request_title:before,
.request_odd:hover .request_title:after,
.request_even:hover .request_title:before,
.request_even:hover .request_title:after {
    width: 100%;
    height: 100%;
}

.request_box {
    z-index: 999;
    position: relative;
}

.rq_1_bg_blur {
	background-image: url("../img/home/req_full.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.rq_1_bg {
	background-image: url("../img/home/req_full.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.rq_2_bg_blur {
	background-image: url("../img/home/req_ensemble.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: block;
}

.rq_2_bg {
	background-image: url("../img/home/req_ensemble.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.rq_3_bg_blur {
	background-image: url("../img/home/req_produce.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.rq_3_bg {
	background-image: url("../img/home/req_produce.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.rq_4_bg_blur {
	background-image: url("../img/home/req_lesson.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.rq_4_bg {
	background-image: url("../img/home/req_lesson.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.request_odd:hover .request_arrow,
.request_even:hover .request_arrow {
    background: rgba(255,255,255,0.25);
	transform: rotate(360deg);
}

.request_arrow {
    position: absolute;
    right: 8%;
    top: 50%;
    width: 70px;
    margin-top: -35px;
    transition: all 0.75s ease-in-out 0s;
	border-radius: 100%;
	overflow: hidden;
	transform: rotate(0deg);
}

section.news {
    background: #001838;
    padding: 100px 0;
    position: relative;
}

.news_head_area h2 span {
    font-size: 6rem;
    font-family: "Libre Caslon Display", serif;
    display: block;
    margin-bottom: 30px;
    line-height: 45px;
}

.news_inner {
    max-width: 1100px;
    margin: 0 auto;
    border-bottom: 0.5px solid #fff;
    display: flex;
    padding-bottom: 100px;
    justify-content: space-between;
}

.news_head_area {
    width: 30%;
    text-align: center;
}

ul.news_list li a {
    display: block;
    color: #fff;
    padding: 40px 0;
}

.news_head_area h2 {
    margin-bottom: 30px;
    line-height: 27px;
    font-weight: 500;
}

.news_list_area {
    width: 64%;
}

ul.news_list li {border-bottom: 1px solid rgba(255,255,255,0.3);}

ul.news_list li:first-child a {
    padding: 0 0 50px;
}

.news_info {
    display: flex;
    margin-bottom: 15px;
    align-items: center;
}

ul.news_list li a h3 {
    transition: all 0.3s ease-in-out 0s;
}

ul.news_list li a:hover h3 {
    text-shadow: 0 0 8px #fff, 0 0 14px rgba(255,255,255,0.5);
}

.news_date {
    font-family: "Libre Caslon Display", serif;
    font-size: 1.6rem;
    margin-right: 10px;
}

.news_category {
    background: rgba(255,255,255,0.2);
    padding: 3px 10px;
    font-size: 1.2rem;
}

ul.news_list li:last-child {
    border: none;
}

ul.news_list li:last-child a {
    padding: 40px 0 0;
}

.gd_blue {
	background: linear-gradient(180deg, rgba(0,24,56,1) 0%, rgba(0,0,0,1) 100%);
	position: relative;
}

section.column {
	padding: 0 0 100px;
}

.column_inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.column_head_area {
    text-align: center;
    width: 30%;
}

.column_head_area h2 span {
    font-size: 6rem;
    font-family: "Libre Caslon Display", serif;
    display: block;
    line-height: 45px;
    margin-bottom: 30px;
}

.column_head_area h2 {
    margin-bottom: 30px;
    line-height: 27px;
    font-size: 1.5rem;
    font-weight: 500;
}

.column_list_area {
    width: 64%;
}

ul.column_list li a {
    display: flex;
    color: #fff;
    font-size: 1.4rem;
    align-items: center;
    justify-content: space-between;
}

.column_thumb {
    width: 20%;
	position: relative;
	overflow: hidden;
}

.column_thumb:before {
    border-top: 0.5px solid #fff;
    border-left: 0.5px solid #fff;
    position: absolute;
    display: block;
    content: "";
    width: 30px;
    height: 30px;
    z-index: 999;
    left: 0;
    top: 0;
    transition: all 1s ease-in-out 0s;
}

.column_thumb:after {
    border-bottom: 0.5px solid #fff;
    border-right: 0.5px solid #fff;
    position: absolute;
    display: block;
    content: "";
    width: 30px;
    height: 30px;
    right: 0;
    bottom: 0;
    transition: all 1s ease-in-out 0s;
}

ul.column_list li a:hover .column_thumb:before,
ul.column_list li a:hover .column_thumb:after {
    width: 100%;
    height: 100%;
}

.column_thumb img {
    width: 100%;
    height: auto;
    opacity: 0.75;
    transition: all 1s ease-in-out 0s;
    aspect-ratio: 319 / 212;
    object-fit: cover;
}

ul.column_list li a:hover .column_thumb img {
    transform: scale(1.1);
	opacity: 1;
}

ul.column_list li a h3 {
    transition: all 0.3s ease-in-out 0s;
}

ul.column_list li a:hover h3 {
    text-shadow: 0 0 8px #fff, 0 0 14px rgba(255,255,255,0.5);
}

.column_cap {
    width: 75%;
}

.column_date {
    font-size: 1.6rem;
    font-family: "Libre Caslon Display", serif;
    margin-bottom: 15px;
}

ul.column_list li {
    margin-bottom: 30px;
}

ul.column_list li:last-child {
    margin-bottom: 0;
}

section.banner {
    padding-bottom: 0;
}

.banner_inner {
    max-width: 1100px;
    margin: 0 auto;
}

.banner_small {
    display: flex;
    justify-content: space-between;
}

.banner_small a {
    display: block;
    color: #fff;
    text-align: center;
    width: 49%;
}

.banner_member {
	background-image: url("../img/footer/banner_member.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.banner_audition {
	background-image: url("../img/footer/banner_audition.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.banner_sponsor {
	background-image: url("../img/footer/banner_sponsor.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.banner_small a h3:before {
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    position: absolute;
    display: block;
    content: "";
    width: 70px;
    height: 70px;
    left: 0;
    top: 0;
    transition: all 1s ease-in-out 0s;
}

.banner_small a h3:after {
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    display: block;
    content: "";
    width: 70px;
    height: 70px;
    right: 0;
    bottom: 0;
    transition: all 1s ease-in-out 0s;
}

.banner_small a h3:hover:before,
.banner_small a h3:hover:after {
    width: 100%;
    height: 100%;
}

.banner_small a h3 span {
    display: block;
    font-family: "Libre Caslon Display", serif;
    font-size: 3rem;
    margin-bottom: 10px;
}

.banner_small a h3 {
    font-size: 1.5rem;
    font-weight: 300;
    padding: 50px 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 100%);
	position: relative;
}

.banner_small a h3 span:after {
    display: block;
    content: "";
    width: 50px;
    height: 0.5px;
    background: #fff;
    margin: 20px auto;
}

.banner_large a {
    display: block;
    text-align: center;
}


.banner_large a h3:before {
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    position: absolute;
    display: block;
    content: "";
    width: 70px;
    height: 70px;
    left: 0;
    top: 0;
    transition: all 1s ease-in-out 0s;
}

.banner_large a h3:after {
    border-bottom: 0.5px solid #fff;
    border-right: 0.5px solid #fff;
    position: absolute;
    display: block;
    content: "";
    width: 70px;
    height: 70px;
    right: 0;
    bottom: 0;
    transition: all 1s ease-in-out 0s;
}

.banner_large a h3:hover:before,
.banner_large a h3:hover:after {
    width: 100%;
    height: 100%;
}

.banner_large {
    margin-top: 2%;
}

.banner_large a h3 {
    display: block;
    font-size: 1.5rem;
    color: #fff;
    padding: 50px 0;
    font-weight: 300;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 100%);
    position: relative;
}

.banner_large a h3 span {
    display: block;
    font-size: 3rem;
    font-family: "Libre Caslon Display", serif;
}

.banner_large a h3 span:after {
    display: block;
    width: 50px;
    content: "";
    height: 0.5px;
    background: #fff;
    margin: 20px auto;
}

/*---------------------------------------------------------------*\
	$480px
\*---------------------------------------------------------------*/
@media screen and (max-width: 480px) {
	
section.mv {
    min-height: auto;
    height: 100vh;
}

.mv_title {
    font-size: 3.4rem;
}

section.performance {
    padding: 0 0 50px 0;
}

.performance_inner {
    display: block;
}

.performance_head_area {
    width: 100%;
}

.performance_head_area h2 span {
    font-size: 3.4rem;
    margin-bottom: 20px;
}

.performance_slider {
    width: 100%;
}

ul.slick-dots {
    text-align: center!important;
}
	
.slick__image {
    margin: 0 6px;
}
	
.performance_image {
	height: 420px;
}
	
.performance_date {
    font-size: 2rem;
    margin-bottom: 20px;
}

.performance_date:after {
    margin: 20px auto 0;
}

.performance_place {
    font-size: 1.6rem;
}

h3.performance_title {
    font-size: 2.4rem;
    line-height: 36px;
}

.performance_box {
    min-height: inherit!important;
}

.report_head_area {
    display: block;
}

.report_head_area h2 {
    text-align: center;
}

.report_head_area h2 span {
    font-size: 3.4rem;
}

.report_list {
    display: block;
    padding: 0 5%;
    margin-top: 30px;
}

.report_list_large {
    width: 100%;
    margin-bottom: 30px;
}

.report_list_small {
    width: 100%;
}

.report_list_large_cap h3 {
    font-size: 1.6rem;
    line-height: 24px;
}

.report_list_large_cap p {
    font-size: 1.2rem;
    line-height: 20px;
}

.report_list_small_title {
    padding: 50px 5% 5% 5%;
}

section.report {
    padding-bottom: 50px;
    padding-top: 0;
    margin-top: -1px;
}

.request_inner {
    display: block;
}

.request_odd {
    width: 100%;
    display: block;
}

.request_even {
    width: 100%;
    display: block;
}

.request_title {
    padding: 8% 5%;
    font-size: 1.4rem;
}

.request_title span {
    font-size: 3.4rem;
    line-height: 34px;
    margin-bottom: 15px;
}

section.news {
    padding: 50px 5%;
}

.news_head_area {
    width: 100%;
}

.news_inner {
    display: block;
    padding-bottom: 50px;
}

.news_list_area {
    width: 100%;
}

ul.news_list li a {
    padding: 26px 0;
}

ul.news_list li:first-child a {
    padding: 26px 0;
}

ul.news_list li:last-child a {
    padding: 26px 0 0;
}

.column_inner {
    display: block;
}

section.column {
    padding: 0 5% 50px;
    margin-top: -1px;
}

.column_head_area {
    width: 100%;
}
	
.column_list_area {
    width: 100%;
}

.news_head_area h2 span {
    font-size: 3.4rem;
    margin-bottom: 20px;
    line-height: 30px;
}

.column_head_area h2 span {
    font-size: 3.4rem;
    line-height: 30px;
    margin-bottom: 20px;
}

.column_thumb {
    width: 36%;
}

.column_cap {
    width: 58%;
}

.column_date {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.banner_inner {
    padding: 0 5%;
}

.banner_small {
    display: block;
}

.banner_small a {
    width: 100%;
    margin-bottom: 15px;
}

.banner_small a h3 {
    padding: 30px 0;
    font-size: 1.4rem;
}

.banner_small a h3 span {
    font-size: 2.4rem;
}

.banner_large a h3 {
    padding: 30px 0;
    font-size: 1.4rem;
}

.banner_large a h3 span {
    font-size: 2.4rem;
}

.banner_large a h3 span:after {
    margin: 15px auto;
}

.banner_small a h3 span:after {
    margin: 15px auto;
}

section.banner {
    padding-bottom: 50px;
}
	
.link_btn {
    border: 1px solid #fff;
}

.request_arrow {
    width: 40px;
    margin-top: -20px;
    right: 5%;
}

.performance_inner .link_btn {
    width: 75%;
    margin: 60px auto 0 auto;
    text-align: center;
}

.report_inner .report_head_link {
    width: 75%;
    text-align: center;
    margin: 30px auto 0;
}

.news_inner .link_btn {
    width: 75%;
    margin: 30px auto 0;
    text-align: center;
}

.column_inner .link_btn {
    width: 75%;
    margin: 30px auto 0;
    text-align: center;
}
}