@charset "UTF-8";
article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section{display:block}a,hr{padding:0}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{box-sizing:border-box;margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0}ins,mark{background-color:#ff9;color:#000}body{line-height:1}ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;font-size:100%;vertical-align:baseline;background:0 0}ins{text-decoration:none}mark{font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{height:1px;border:0;border-top:1px solid #ccc;margin:1em 0}input,select{vertical-align:middle}

html{
	width:100%;
	height:100%;
	-webkit-text-size-adjust:none;
	-webkit-font-smoothing: antialiased;
	/*font-size:62.5%;*/
	font-size:0.625vw;
}
@media screen and (max-width:1600px){
	html{
		font-size:62.5%;
	}
}
body{
	width:100%;
	padding-top: 4.5em;
	position:relative;
	font-family:"Noto Serif JP", "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-optical-sizing: auto;
	font-feature-settings:"palt" 1;
	-webkit-font-smoothing: antialiased;
	font-weight: 500;
	font-style: normal;
	line-height:1.9em;
	font-size:1.8rem;
	color:#222;
	background:#fff;
}
h1,h2,h3,h4,h5,h6{
	font-weight:normal;
}
a{
	color:#222;
	cursor:pointer;
	text-decoration:none;
	transition:opacity 0.2s ease 0s, color 0.2s ease 0s;
}
a:hover{
	color:#c7000a;
	opacity:0.7;
}
img{
	vertical-align:top;
}
.text_center{
	text-align:center !important;
}
.text_bold{
	font-weight:700;
}
img,picture,source{
	display:block;
	width:100%;
	min-height:auto;
}
img.inline{
	display:inline-block;
}
.img_icon{
	display:inline-block;
	width:100%;
	max-width:1em;
	margin:0 5px 0 0;
	vertical-align:middle;
	position:relative;
	top:-0.1em;
}
.alpha{
	transition:opacity 0.2s ease 0s;
	zoom:1;
}
.alpha:hover{
	opacity:0.6;
}
.inview{
	backface-visibility:hidden;
	transition:opacity 0.8s ease 0.6s, top 0.8s ease 0.6s;
	opacity:0;
	position:relative;
	top:20px;
}
.inview.visible{
	opacity:1;
	top:0;
}
.bn_cta_image{
	display:inline-block;
	max-width: 36em;
	filter: drop-shadow(0px 4px 6px rgba(0, 0, 0, 0.5));
	transition:opacity 0.3s ease 0s, filter 0.3s ease 0s;
	&:hover{
		opacity:0.7;
		filter: drop-shadow(0px 4px 6px rgba(0, 0, 0, 0));
	}
}
.bn_link{
	display:inline-block;
	box-sizing:border-box;
	padding:0.3em 1em 0.4em 1.7em;
	position:relative;
	vertical-align:middle;
	font-weight:bold;
	line-height:1;
	text-decoration:none;
	text-align:center;
	cursor:pointer;
	font-feature-settings:"palt" 1;
	background:url(../img/icon_link.svg) no-repeat center left 0.4em/0.9em #000;
	color:#fff;
	border-radius:2em;
	filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 0.1));
	transition:opacity 0.3s ease 0s, color 0.3s ease 0s, background 0.3s ease 0s, filter 0.3s ease 0s;
}
.bn_link:hover{
	color:#fff;
	background-color:#c7000a;
	filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0));
}
.bn_return{
	display: block;
	width: 3em;
	position: fixed;
	bottom: 3em;
	right: 2em;
	z-index:1;
	opacity:0;
	transition:all 0.3s ease 0s;
}
.bn_return.scroll{
	bottom: 6em;
	opacity:1;
}

/* ============================================================
contents_wrapper
============================================================ */
.contents_wrapper{
	width:100%;
	position:relative;
	z-index:1;
}
.contents_inner{
	width:100%;
	max-width:90%;
	margin-left:auto;
	margin-right:auto;
	padding-top:4em;
	padding-bottom:4em;
	box-sizing:border-box;
	position:relative;
}
@media screen and (max-width:980px){
	.contents_inner{
		max-width:94%;
	}
}
.contents_heading{
	display:flex;
	justify-content:center;
	align-items:center;
	grid-gap:0.5em;
	margin:-1.5em 0 3em;
	padding:1.5em 0 0;
	text-align:center;
}
.contents_heading figure{
	width:4em;
}
.contents_heading_title{
	font-size:3rem;
	color:#ad8f3d;
}

/* ============================================================
header
============================================================ */
#header{
	width:100%;
	padding:1em 1.5em;
	position:fixed;
	top:0;
	z-index:100;
	box-sizing:border-box;
	background:#fff;
	filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.1));
}
.header_inner{
	display:flex;
	justify-content:space-between;
	padding-top:0;
	padding-bottom:0;
}
.header_logo{
	width:9em;
	flex-shrink:0;
}
.header_logo a{
	display:block;
}
.pc_menu{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	flex-grow:1;
	box-sizing:border-box;
	text-align:right;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	grid-gap:1.2em;
}
.menu_link a{
	text-decoration:none;
	font-weight:bold;
	line-height:1;
	color:#222;
	transition:color 0.2s ease 0s;
}
.menu_link a:hover,
.menu_link.active a{
	opacity:1;
	color:#c7000a;
}

/* =====================================
contents_index_mainvisual
===================================== */
#contents_index_mainvisual .contents_inner{
	max-width:100%;
	padding:0;
}

/* =====================================
contents_index_schedule
===================================== */
#contents_index_schedule .contents_inner{
	padding-top:2em;
}
.index_schedule_wrap{
	max-width:42em;
	margin:0 auto 5em;
	&:last-child{
		margin:0 auto;
	}
}
.index_schedule_title{
	margin:0 0 0.6em;
	font-size:3rem;
	text-align:center;
}
.index_schedule_table{
	width:100%;
	padding:0;
	border-collapse:collapse;
	border-spacing:0;
	th,td{
		padding:1em 0 1em 0;
		font-weight:normal;
		text-align:left;
		line-height:1.6em;
		border-bottom:solid 1px #ccc;
	}
	th{
		padding-right:2em;
		font-weight:700;
		white-space:nowrap;
	}
	small{
		display:block;
		font-size:0.8em;
	}
	p:not(:last-child){
		margin:0 0 0.5em;
	}
	li{
		margin:0 0 0 1.3em;
		list-style:disc;
		list-style-type:disc;
	}
	.tel{
		display:inline-block;
		font-size:1.5em;
		line-height:1.5em;
	}
	.notice{
		display:block;
		font-size:0.8em;
		line-height:1.5em;
	}
}
.index_schedule_date_table{
	padding:0;
	border-collapse:collapse;
	border-spacing:0;
	th,td{
		padding:0 1em 0.2em 0;
		font-weight:normal;
		text-align:left;
		line-height:1.6em;
		border-bottom:none;
		&:last-child{
			padding-right:0;
		}
	}
}

/* =====================================
contents_index_detail
===================================== */
#contents_index_detail .index_schedule_wrap{
	margin: 0 auto 2em;
}

/* =====================================
contents_index_act
===================================== */
.index_act_wrap{
	display:flex;
	justify-content:space-between;
	max-width:60em;
	margin:0 auto 4em;
}
.index_act_item{
	display:block;
	text-align:center;
}
.index_act_item_image{
	width:70%;
	margin:0 auto 1em;
}
.index_act_item_position{
	font-size:2rem;
	line-height:1.4em;
}
.index_act_item_name{
	margin:0 0 0.2em;
	font-size:2.2rem;
	line-height:1.2em;
}

.index_act_modal_wrap{
	display:none;
}
.index_act_modal_inner{
	max-width:39em;
	margin:0 auto;
	padding:2em 0 1em;
	box-sizing:border-box;
	background:#fff;
	border-radius:1em;
	filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1));
	
}
.index_act_modal_image{
	max-width:13.5em;
	margin:0 auto 1em;
	&.wide{
		max-width:100%;
	}
}
.index_act_modal_desc{
	margin:1em 0;
	padding:0 2em;
	box-sizing:border-box;
}
.index_act_modal_close{
	max-width:2em;
	margin:0 auto;
	cursor:pointer;
}
.modaal-container {
	width:auto;
	background:none;
	box-shadow:none;
}
.modaal-inner-wrapper {
	padding:0;
	box-shadow:none;
}
.modaal-close{
	display:none;
}

/* =====================================
contents_index_song
===================================== */
.index_song_title{
	margin:0 auto 2em;
	font-size:3rem;
	text-align:center;
}
.index_song_table{
	width:100%;
	max-width:54em;
	margin:0 auto 2em;
	padding:0;
	border-collapse:collapse;
	border-spacing:0;
	th,td{
		padding:1em 0;
		font-weight:normal;
		text-align:left;
		line-height:1.6em;
	}
	td{
		border-bottom:solid 1px #ccc;
	}
	th{
		width: 14em;
		padding-right:2em;
		text-align:right;
		font-weight:700;
		white-space:nowrap;
		color: #ad8f3d;
	}
}
.index_song_link{
	margin:4em 0 2em;
	.bn_link{
		font-size:1.2em;
	}
}
.index_song_cta{
	margin:4em 0 2em;
}
/* =====================================
contents_footer
===================================== */
#contents_footer .contents_inner{
	padding-top:0;
	padding-bottom:1em;
}
.footer_sns{
	display:flex;
	align-items:center;
	justify-content:center;
	grid-gap:0.6em;
	a{
		display:block;
		width:2em;
	}
}
#footer_copyright{
	background:#e4002b;
	text-align:center;
	color:#fff;
	line-height:1;
	font-size:0.8em;
	font-family:-apple-system, BlinkMacSystemFont, Helvetica Neue, Helvetica, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴPro", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
	.contents_inner{
		padding-top:2em;
		padding-bottom:2em;
	}
}
/* =====================================
btn_area
===================================== */
.btn_type02 {
	font-size: 20px;
	font-size: 1.1em;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #fff;
	border-radius: 31px;
	-webkit-transition: 0.5s all ease-out;
	transition: 0.5s all ease-out;
}
.btn_type02:after {
	content: "";
	position: absolute;
	display: block;
	width: 9px;
	height: 14px;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 15px;
	background: url(../img/icon_arrow_1.svg) no-repeat;
	background-size: contain;
}
.btn_type02:hover {
	color: #fff;
	-webkit-box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2);
	box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2);
	opacity:1;
}
.btn_area {
	width: 427px;
	margin: 0 auto;
	text-align: right;
	font-family: YakuHanJP, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;	position: relative;

}
.btn_area .btn {
	padding-top: 32px;
}
.btn_area .btn .btn_type02 {width: 427px;height: 63px;background: #ef112e;}
.btn_area .txt {margin-top: 20px;}
.btn_area .txt a {
	position: relative;
	padding-right: 32px;
	color: #ef112e;
	font-size: 1.5rem;
	line-height: 1;
}
.btn_area .txt a:after {
	content: "";
	position: absolute;
	display: block;
	width: 6px;
	height: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 15px;
	background: url(../img/icon_arrow_2.svg) no-repeat;
	background-size: contain;
}
a.txtlink{color: #ef112e;text-decoration:underline;text-underline-offset: 8px;}

.btn_area .txt a:hover {text-decoration: underline;}
.link_icon::after {
	content: '';
	display: inline-block;
	width: 15px;
	height: 15px;
	margin: 0 5px;
	background: url(../img/form_link_icn.svg) center center no-repeat;
	background-size: contain;
}

/* ============================================================
Responsive
============================================================ */
@media screen and (min-width:769px){
	.pc_hide{
		display:none !important;
	}
}
@media screen and (max-width:768px) {
	body{
		padding-top:4em;
		font-size:1.55rem;
		line-height:1.8em;
	}
	.sp_hide{
		display:none !important;
	}

	.bn_cta_image {
		filter: drop-shadow(0px 3px 3px rgba(0, 0, 0, 0.5));
	}
	.bn_return{
		display: none;
	}
	.br-pc {
    display: none;
	}
	/* ============================================================
	contents_wrapper
	============================================================ */
	.contents_inner{
		max-width: 90%;
		padding-top:2em;
		padding-bottom:2em;
		padding-left:0;
		padding-right:0;
		}
	.contents_heading {
		margin: -1.5em 0 2em;
	}
	.contents_heading_title{
		font-size:2.5rem;
	}

	/* ============================================================
	header
	============================================================ */
	#header{
		padding:1em;
		filter: none;
		box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.05);
	}
	.header_inner {
		align-items: center;
		padding-right:13%;
	}
	.header_logo{
		width:110px;
	}
	.header_contact .bn_link{
		background-image:url(../img/icon_tel.svg);
	}

	#nav_input{
		display:none;
	}
	#nav_drawer{
		position: absolute;
		height: auto;
		padding: 0;
		right: 5%;
	}
	#nav_open{
		display:inline-block;
		width:24px;
		height:24px;
		vertical-align:middle;
		cursor:pointer;
	}
	#nav_open span, #nav_open span:before, #nav_open span:after{
		position:absolute;
		height:2px;
		width:26px;
		background:#888;
		display:block;
		content:'';
		cursor:pointer;
		transition:bottom 0.2s ease 0s, background 0.2s ease 0s, transform 0.2s ease 0s;
	}
	#nav_open span:before{
		bottom:-11px;
	}
	#nav_open span:after{
		bottom:-22px;
	}
	#nav_input:checked ~ #nav_open > span{
		background:transparent;
	}
	#nav_input:checked ~ #nav_open > span:before{
		bottom:-12px;
		transform:rotate(42deg);
	}
	#nav_input:checked ~ #nav_open > span:after{
		bottom:-12px;
		transform:rotate(-42deg);
	}
	#nav_close{
		visibility: hidden;
		position:fixed;
		z-index:99;
		top:58px;
		left:0;
		width:100%;
		height:100%;
		background:rgba(0,0,0,0);
		transition:background 0.3s ease 0s;
		cursor:pointer;
	}
	#nav_input:checked ~ #nav_close{
		visibility: visible;
		background:rgba(0,0,0,0.6);
	}
	#nav_content{
		box-sizing:border-box;
		padding:30px 0 10px;
		overflow:auto;
		overflow-x:hidden;
		position:fixed;
		top:58px;
		right:-100%;
		z-index:9999;
		width:100%;
		background:#fff;
		will-change: transform, transition;
		-webkit-transform:translateX(105%);
		transform:translateX(105%);
		transition:transform 0.5s ease-in-out, right 0.5s ease-in-out;
	}
	#nav_input:checked ~ #nav_content{
		right:0;
		-webkit-transform:translateX(0%);
		transform:translateX(0%);
	}

	#menu_close{
		display:block;
		padding:13px 5% 0 !important;
		text-align:right;
	}
	#menu_close img{
		width:24px;
		height:24px;
		cursor:pointer;
		vertical-align:middle;
	}
	.drawer_menu{
		width:90%;
		margin:0 auto;
		text-align:center;
	}
	.menu_link{
		margin:0 0 1.5em;
		a {
			font-size:1.9rem;
		}
	}
	
	/* =====================================
	contents_index_schedule
	===================================== */
	.index_schedule_wrap{
		margin:0 auto 2em;
	}
	.index_schedule_title{
		margin:0;
		font-size:2rem;
	}
	.index_schedule_table,
	.index_schedule_table > tbody,
	.index_schedule_table > tbody >tr{
		display: block;
		width: 100%;
	}
	.index_schedule_table > tbody > tr > th,
	.index_schedule_table > tbody > tr > td{
		display:block;
		width:100%;
		}
	.index_schedule_table > tbody > tr > th{
		padding:0.6em 0 0.3em;
		border-bottom:none;
		br{
			display:none;
		}
	}
	.index_schedule_table > tbody > tr > td{
		padding:0 0 0.6em;
	}

	.index_schedule_date_table{
		width:100%;
		th,td{
			padding:0 0.5em 0.2em 0;
			font-size:1.4rem;
		}
	}
	
	.index_schedule_detail{
		font-size:0.9em;
	}

	/* =====================================
	contents_index_act
	===================================== */
	#contents_index_act .contents_inner{
		max-width:100%;
	}
	.index_act_wrap{
		display:block;
		margin:0 auto 2em;
	}
	.index_act_item{
		width:100%;
		margin:0 auto 2em;
	}
	.index_act_item_image{
		width:50%;
		margin:0 auto 1em;
		.wide &{
			width:100%;
		}
	}
	.index_act_item_position{
		margin:0 0 0.3em;
		font-size:1.5rem;
	}
	.index_act_item_name{
		margin:0 0 0.7em;
		font-size:1.8rem;
	}


	.index_act_modal_desc{
		padding:0 1em;
		font-size:1.4rem;
		line-height:1.8em;
	}
	.modaal-content-container {
		padding:0;
	}
	.modaal-inner-wrapper {
		padding:3%;
	}
	
	/* =====================================
	contents_index_song
	===================================== */
	.index_song_title{
		margin:0 auto 2em;
		font-size:2rem;
		text-align:center;
	}
	.index_song_table{
		display:block;
		tbody,tr{
			display:block;
			width:100%;
		}
		th,td{
			display:block;
			width:100%;
			padding:0.6em 0;
		}
		th{
			text-align:left;
			padding:0;
			font-size:1.7rem;
			
		}
	}
	.index_song_link{
		margin:2em 0;
		.bn_link{
			font-size:1.1em;
		}
	}

	.btn_type02 {font-size: 17px;font-size: 4.53333vw;}
	.btn_area {
		width: 100%;
	}
	.btn_area .btn {
		padding-top: 32px;
	}
	.btn_area .btn .btn_type02 {
		width: 80vw;
		margin: 0 auto;
	}
	.btn_area .txt {
		margin-top: 20px;
	}
	.btn_area .txt a {
		padding-right: 32px;
	}

}
