@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

/* *******************************************************************

	Koma2 Footer

******************************************************************* */
footer#koma2{
	width:100%;
	height:auto;
	background:#ededed;
	padding:50px 0;
	border-top:0;
}
footer#koma2 #footer-content{
	width:1300px;
	margin:0 auto;
	text-align:left;
	position:relative;
}
footer#koma2 #footer-content .logo{
	margin:0 0 80px 0;
}
footer#koma2 #footer-content address{
	margin:0;
	float:left;
	font-size:1.2rem;
}
footer#koma2 #footer-content address span{
	font-weight:500;
}
footer#koma2 #footer-content .copyright{
	margin:1rem 50px 0 0;
	font-size:1.2rem;
	font-family:'Roboto Condensed', sans-serif;
	letter-spacing:0.1rem;
	position:absolute;
	bottom: 0;
	right:0;
}
footer#koma2 #footer-content .mail{
	position:absolute;
	right:50px;
	right:0;
	top:0;
	font-size:1.2rem;
	line-height:180%;
	text-align:right;
	font-weight:300;
}
footer#koma2 #footer-content .mail span.title{
	display:block;
	font-weight:500;
}
footer#koma2 #footer-content .mail span.address{
	display:block;
	font-weight:700;
	margin-top:15px;
	position: relative;
}
footer#koma2 #footer-content .mail span.address a{
	border:1px solid #000;	
	padding:4px 50px 4px 29px;
	font-weight:300;
	color:inherit;
	position: relative;
}
footer#koma2 #footer-content .mail span.address:after{
	content: "";
	width: 30px;
	height: 30px;
	background:url(../img/footer_mail.png) no-repeat;
	top: 7px;
	right: 10px;
	position: absolute;
	display: inline-block;
}

/* *******************************************************************

	Koma2

******************************************************************* */
#music-layout {
	width: 100%;
	text-align: center;
}

.top-visual-music {
	background-image: url("../img/top_visual_music.png");	
	background-position: 50% -40px;
	background-repeat: no-repeat;
	background-size: cover;
	min-width:1300px;
	min-height: 800px;
	
	background-position: 50% 100%;
	max-height: 840px;
	width:100%;
}
.top-visual-music div{
	width:1300px;
	height:800px;
	margin:0 auto;
	position: relative;
}
.top-visual-music img{
	width:525px;
	height:auto;
	position:absolute;
	left:0;
	top:280px;
}

.ellipse {
	width: 100%;
	z-index: 50;
	text-align: center;
	min-width:1300px;
	margin-top:-50px;
	padding-bottom:60px;
}

.ellipse p {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	font-size: 3.4rem;
	line-height: 200%;
}

.music-contents-layout {
	width: 1300px;
	margin: 0 auto 70px auto;
    padding-top:25px;
}


/* ********************************
	Tab
********************************* */

.tabs {
	margin-top: 50px;
	padding-bottom: 40px;
	width: 100%;
	margin: 0 auto;
}

.tab_item {
	width: calc(100%/3);
	border-bottom: 1px solid #8cb4d5;
	font-size: 2.4rem;
	font-weight: 400;
	padding: 2rem 0;
	display: block;
	float: left;
	text-align: center;
	box-sizing: border-box
}

.tab_item:hover {
	opacity: 0.75;
	cursor: pointer;
}

.tab_item span {
	padding: 0 0.5rem;
}

input[name="tab_item"] {
	display: none;
}

.tab_content {
	padding: 0 0 20px 0;
	clear: both;
	overflow: hidden;
}

#top-page:checked~#top-page-content,
#about:checked~#about-content,
#donate:checked~#donate-content {
	display: block;
}

.tabs input:checked+.tab_item {
	color: #196aab;
}

.tabs .tab_item.top-page {
	border-bottom: 0;
	border-right: 1px solid #8cb4d5;
	border-top: 1px solid #8cb4d5;
}
.tabs.news-detail .tab_item.top-page {
	border-bottom: 1px solid #8cb4d5;
	border-right: 0;
	border-top: 0;
}

.tabs .tab_item.about {
	border-bottom: 0;
	border-right: 1px solid #8cb4d5;
	border-left: 1px solid #8cb4d5;
	border-top: 1px solid #8cb4d5;
}

.tabs .tab_item.donate {
	border-bottom: 0;
	border-left: 1px solid #8cb4d5;
	border-top: 1px solid #8cb4d5;
}

.tabs .tab_item.top-page a,
.tabs.news-detail .tab_item.top-page a,
.tabs .tab_item.about a,
.tabs .tab_item.donate a{
	color: #196aab;
}


/* ********************************
	Event List
********************************* */

.top-title{
    text-align: left;
    font-size:4.4rem;
    margin:80px 0 0 28px;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
    letter-spacing: -0.1rem;
}
.top-title span{
    letter-spacing: 0.3rem;
}
.top-event-list {
	width: 100%;
/*	margin-top: 60px;*/
	color: #433e33;
}
.top-event-article:first-child{
	margin-top: 65px;    
}
.top-event-article {
	border-bottom: 1px solid #bbb;
	text-align: left;
	padding-left: 28px;
	padding-bottom: 20px;
	margin-top: 90px;
}

.top-event-article .date {
	font-size: 3.6rem;
	font-weight: 900;
	margin-bottom: 30px;
}

.top-event-article .venue {
	font-size: 1.8rem;
	font-weight: 400;
}

.top-event-article .venue a {
	color: #196aab;
}

.top-event-article .date span {
	padding: 0 1rem;
}

.top-event-article .date span:first-child {
	padding-left: 0;
}

.top-event-article .hour {
	font-size: 2.4rem;
	font-weight: 400;
	margin-bottom: 10px;
}

.past-event-list {
	display: flex;
	padding: 50px 0 50px 28px;
}

.past-event-list .title {
	font-size: 1.8rem;
	font-weight: 400;
	color: #196aab;
	padding-right: 50px;
}

.past-event-list .event-title {
	font-family: "Noto Serif JP", serif;
	font-size: 2.4rem;
	font-weight: 400;
	padding-right: 50px;
}

.past-event-list .event-title span {
	padding: 0 0.5rem;
}

.past-event-list .event-title a {
	color: #333333;
}

.past-event-list .event-title a:hover {
	color: #196aab;
}

/* ********************************
	Expanded Content
********************************* */
.expand-item{
	position:relative;
}
.expand-item .accordion-content{
	padding:55px 0 30px 0;
	color: #433e33;
}
.accordion-content h2{
	font-size: 3.6rem;
    font-weight: 800;
    line-height: 120%;
    padding-bottom: 20px;
}
.accordion-content .event-text{
	font-size:2.1rem;
	font-weight:400;
	line-height: 180%;
	margin-bottom: 70px;
	width:1090px;
	color: #433e33;
}
.player-profile{
	width:1090px;
	display:grid;
	grid-template-columns:300px auto;
	grid-column-gap: 55px;
	margin-bottom: 65px;
}
.profile-photo img{
    width:300px !important;
    height:auto !important;
}
.player-text .name{
	font-size:3.0rem;
	font-weight:400;
	color: #433e33;
	line-height: 120%;
	margin-bottom: 10px;
}
.player-text .name span{
	font-size:1.8rem;
	font-weight:400;
	padding-left:80px;
}
.player-text .name span a{
	color:#196aab;
}
.player-text .cv{
	font-size:1.8rem;
	font-weight:400;
	line-height: 180%;
	margin-bottom: 20px;
	color: #433e33;
}
/* ********************************
	Accordion
********************************* */
.expand-item button{
	border:0;
	background: none;
	padding:30px;
	position:absolute;
	right:50px;
	top: -140px;
	cursor: pointer;
	padding-left: 97%;
	padding-top: 100px;
	padding-bottom: 10px;
	cursor: pointer
}

.js-accordion--close {
	display: none;
}

.accordion-box {
	height: 0;
	overflow: hidden;
	transition: .3s ease;
}

.js-accordion {
	position: relative;
	padding: 30px;
}

.js-accordion::before {
	content: "";
	width: 2px;
	height: 60px;
	background: #3e3e3e;
	position: absolute;
	right: 30px;
	top: 0;
	bottom: 0;
	margin: auto;
	transition: .3s ease;
}

.js-accordion::after {
	content: "";
	width: 60px;
	height: 2px;
	background: #3e3e3e;
	position: absolute;
	right: 0px;
	top: 0;
	bottom: 0;
	margin: auto;
	transition: .3s ease;
}

.js-accordion.is-accordion--open::before {
	transform: rotate(90deg);
}

.js-accordion.is-accordion--open::after {
	transform: rotate(180deg);
}

.js-accordion.is-accordion--open+.accordion-box {
	height: auto;
	opacity: 1;
}
			
			
/* ********************************
	News List
********************************* */

.top-news-list {
	width: 100%;
	margin-top: 140px;
	margin-bottom: 120px;
}

.top-news-list .news-title {
	font-size: 3.6rem;
	font-weight: 600;
	text-align: left;
	margin-left: 28px;
    margin-bottom: 50px;
    color: #196aab;
}
.top-news-list .news-title a{
	color: #196aab;
}

.top-news-list .news-title span{
	font-size: 1.6rem;    
}
    
.top-news-article {
	border-bottom: 1px solid #bbb;
	text-align: left;
	padding-left: 28px;
	padding-bottom: 50px;
	margin-top: 40px;
}
.top-news-article a{
	color:#433e33;
}

.top-news-article .date {
	font-size: 1.8rem;
	font-weight: 400;
	margin-bottom: 10px;
}

.top-news-article .news-text {
	font-size: 2.4rem;
	font-weight: 400;
}

.top-news-past{
	margin-top:10px;
	margin-right: 30px;
	text-align: right;
}
.top-news-past a{
	text-align: right;
	color: #196aab;
	font-size: 1.8rem;
	font-weight: 400;
}
.donate-link{
	text-align: center;
}

.donate-link a,
.donate-link label{
	margin-top: 50px;
	font-size: 2.4rem;
	font-weight: 600;
	padding: 1.6rem 7.5rem;
	color: #196aab;
	border: 2px solid #196aab;
}


/* ********************************
	About
********************************* */


.about-container {
    width: 100%;
    margin-top: 140px;
    color: #433e33;
	text-align: left;
}
.about-container .top-visual{
    margin: 0 0 100px 28px;
}
.tab-text{
	font-size:2.1rem;
	font-weight: 400;
	line-height: 160%;
	margin-left:28px;
	margin-right:28px;
	margin-bottom:50px;
}
.tab-text.support{
	margin-bottom:150px;
}
.event-text p,
.tab-text p{
    margin-bottom:4rem;
}
.about-container h2{
	color:#196aab;
	font-size:3.6rem;
	font-weight: 500;
	font-family: "Noto Serif JP", serif;
	margin:0 0 40px 28px
}

.about-container .director{
	text-align:center;
	margin-top:100px;
	margin-bottom: 150px;
}
.about-container .director .photo{
	margin-bottom:40px;
}

.about-container .director .text{
	color:#333333;
	font-size:2.1rem;
	font-weight: 400;	
}

.about-container .donate-link{
	text-align:center;
}

.about-container .promoter{
	margin-top:180px;
	margin-left:28px;
}

.about-container .promoter h3{
	color:#196aab;
	font-size: 3.6rem;
	font-weight: 500;
	font-family: "Noto Serif JP", serif;
	margin:0 0 32px 0;	
}

.about-container .promoter .names{
	color:#433e33;
	font-size:2.1rem;
	font-weight: 400;
	line-height: 180%;
}


/* ********************************
	News Detail
********************************* */

.music-second-top{
	padding:80px 0 50px 0;
	text-align: left;
	width: 1300px;
	margin:0 auto;
}
.music-logo{
	margin-left:15px;
}
.music-logo img{
	width:370px;
	height:auto;
}
.news-article {
	width: 100%;
	margin-top: 100px;
	color: #433e33;
	text-align: left;
}
.news-article .news-date{
	font-size:2.1rem;
	font-weight: 400;
	margin:0 0 20px 30px;
}
.news-article .news-date span{
	padding:0 0.5rem;
}
.news-article .news-date span.separator{
	padding:0 2rem;
}
.news-article .news-date a{
	color:#196aab;
}
.news-article h2{
	font-size:3.6rem;
	font-weight: 900;
	margin:0 0 80px 30px;
}
/* Navigation */
.news-nav{
	padding:125px 0;
	width:280px;
	margin:0 auto;
    display: grid;
    grid-template-columns: 140px 140px;

}

.news-nav div{
	position: relative;
	
}
.news-nav div span{
	font-size:1.5rem;
	font-weight:400;
}
.news-nav div.back span{
	display:block;
/*	padding-left:60px;*/
}
.news-nav div.forward span{
	display:block;
/*	padding-right:60px;*/
}
.news-nav div.back a::before{
	display:inline-block;
	content: '';
	width:6vh;
	height:6vh;
	border-top:2px solid #000;
	border-left:2px solid #000;
	transform:translateY(-50%) rotate(-45deg);
	-webkit-transform:translateY(-50%) rotate(-45deg);
	position: absolute;
	top:50%;
}
.news-nav .forward a::after{
	display:inline-block;
	content: '';
	width:6vh;
	height:6vh;
	border-top:2px solid #000;
	border-right:2px solid #000;
	transform:translateY(-50%) rotate(45deg);
	-webkit-transform:translateY(-50%) rotate(45deg);
	position: absolute;
	top:50%;
	right:0;
}
.news-nav .back.empty::before{
	display:inline-block;
	content: '';
	width:6vh;
	height:6vh;
	border-top:2px solid #dedede;
	border-left:2px solid #dedede;
	transform:translateY(-50%) rotate(-45deg);
	-webkit-transform:translateY(-50%) rotate(-45deg);
	position: absolute;
	top:50%;
}
.news-nav .forward.empty::after{
	display:inline-block;
	content: '';
	width:6vh;
	height:6vh;
	border-top:2px solid #dedede;
	border-right:2px solid #dedede;
	transform:translateY(-50%) rotate(45deg);
	-webkit-transform:translateY(-50%) rotate(45deg);
	position: absolute;
	top:50%;
	right:0;
}

.news-past-event{
	display: flex;
	padding: 50px 0 30px 28px;
}

.news-past-event .event-title {
	font-size: 2.4rem;
	font-weight: 400;
	padding-right: 50px;
}

.news-past-event .event-title span {
	padding: 0 0.5rem;
}

.news-past-event .event-title a {
	color: #196aab;
}

.news-past-event .event-title a:hover {
	color: #196aab;
}

