@charset "UTF-8";

#mv_title{max-width:1058px;width:100%;margin:50px auto 15px auto}
#mv{max-width:1600px;width:100%;margin:0 auto;position:relative;z-index:0}
#mv_text{max-width:1600px;width:100%;margin:auto;position:absolute;left:0;right:0;bottom:-5%;z-index:1}

#bt_tour{max-width:810px;width:100%;margin:50px auto 150px auto}

#present{max-width:1193px;width:100%;margin:150px auto 200px auto;box-sizing:border-box}
#present_item_inner{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;box-sizing:border-box}
#present_item_1{max-width:1193px;width:100%;margin:0 auto 50px auto}
#present_item_2{max-width:578px;width:100%;margin:0}
#present_item_3{max-width:567px;width:100%;margin:0}
#present_item_text{font-size:25px;font-weight:900;margin:50px auto}

#bg_main{background:#000 url(../img/bg.jpg) no-repeat center 2800px;background-size:100% auto}
#img_text_1{margin:0 auto}
#img_text_2{margin:0 auto}
#img_text_3{max-width:330px;width:100%;margin:0 auto 170px auto}

@media screen and (max-width:1600px) {
#mv{max-width:90%}
#bg_main{background:#000 url(../img/bg.jpg) no-repeat center 2700px;}
}
@media screen and (max-width:1366px) {
#bg_main{background:#000 url(../img/bg.jpg) no-repeat center 2600px;}
}
@media screen and (max-width:1252px) {
#mv_title{max-width:90%}
}
@media screen and (max-width:1170px) {
#present{max-width:90%;}
}
@media screen and (max-width:1112px) {
#bg_main{background:#000 url(../img/bg.jpg) no-repeat center 2450px;}
}
@media screen and (max-width:1024px) {
#bg_main{background:#000 url(../img/bg.jpg) no-repeat center 2400px;}
}
@media screen and (max-width:810px) {
#bt_tour{max-width:90%;}
}
@media screen and (max-width:768px) {
#bg_main{background:#000 url(../img/bg.jpg) no-repeat center 2500px;}
#img_text_3{max-width:250px;margin:50px auto 70px auto;}

#present_item_inner{width:90%;padding:50px 0 0 0;flex-direction:column;}
#present_item_1{margin:0 auto 50px auto}
#present_item_2{margin:0 auto 50px auto}
#present_item_3{margin:50px auto 0 auto}
}
@media screen and (max-width:414px) {
#mv_title{margin:50px auto 15px auto}
#bg_main{background:#000 url(../img/bg.jpg) no-repeat center 2350px;background-size:contain}
#present{margin:100px auto 100px auto}
#present_item_text{font-size:18px}
}


/* 課題曲
--------------------------------*/
.title_diagonal_gray{font-size:35px;font-weight:900;text-align:center;max-width:600px;margin:0 auto 50px auto;position:relative;z-index:1}
.title_diagonal_gray:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;z-index:-1;background:#5f5f5f;transform:skewX(-25deg);filter:drop-shadow(10px 10px 0 rgba(255,240,0,1));}

#kadaikyoku{margin:160px auto}
#kadaikyoku table{width:100%;margin:0 auto}
#kadaikyoku table tr{font-size:25px;font-weight:900;text-align:left;border-top:#767676 4px solid}
#kadaikyoku table tr:first-child{border-top:none}
#kadaikyoku table tr:last-child{border-bottom:#767676 4px solid}
#kadaikyoku table th{font-weight:900;vertical-align:middle;width:70%;margin:0 auto;padding:0 0 0 50px!important;box-sizing:border-box;position:relative}
#kadaikyoku table td{font-weight:900;vertical-align:middle;text-align:left;width:100%;padding:0 10px!important;box-sizing:border-box}

.kadaikyoku_text_min{font-size:16px!important}

@media screen and (max-width:414px) {
.title_diagonal_gray{font-size:25px;max-width:90%;}
#kadaikyoku table tr{font-size:18px;}
#kadaikyoku table th{padding:0 0 0 10px!important;}
}


/* 応募方法
--------------------------------*/
.title_diagonal_red{font-size:35px;font-weight:900;color:#fff;text-align:center;max-width:600px;margin:0 auto 50px auto;position:relative;top:-30px;z-index:1;}
.title_diagonal_red:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;z-index:-1;background:#c7000b;transform:skewX(-25deg);}

#oubo{color:#000;background:#fff;padding:0 50px 50px 50px;position:relative;box-sizing:border-box}
.step_title_col{max-width:850px;width:100%;margin:0 auto;display:flex;flex-direction:row;justify-content:space-between;box-sizing:border-box}
.step_title_img{max-width:168px;width:100%;margin:0 25px 0 0}
.step_title_text{font-size:26px;font-weight:900;margin:0 auto 0 0}
.step_title_text_min{font-size:20px;font-weight:900}
#step1_img_col{max-width:850px;margin:50px auto;display:flex;flex-direction:row;justify-content:space-between;box-sizing:border-box}
#step1_1{max-width:392px;width:100%;margin:0}
#step1_2{max-width:401px;width:100%;margin:0}
#step2_1{max-width:426px;width:100%;margin:50px auto}
#step3_1{max-width:363px;width:100%;margin:50px auto 0 auto}
.step_line{max-width:957px;width:100%;margin:0 auto 15px auto}

#oubo_notes{margin:50px auto;padding:0 1em}
#oubo_notes_link{margin:50px auto 0 auto;display:flex;flex-direction:row;justify-content:space-between;box-sizing:border-box}
#oubo_notes_img{max-width:25px;width:100%;margin:0 auto 0 10px}
#oubo_notes a:link{color:#ffde00!important;text-decoration:underline;}
#oubo_notes a:visited{color:#ffde00!important;text-decoration:underline;}
#oubo_notes a:hover{color:#fff!important;text-decoration:none}
#oubo_notes a:active{color:#fff!important;text-decoration:none}


/*@media screen and (max-width:768px) {
#step1_1{margin:0 5% 0 0}
}*/
@media screen and (max-width:768px) {
.step_title_col{max-width:100%;flex-direction:column;}
.step_title_img{margin:0 auto 30px auto;}
.step_title_text{font-size:20px;margin:0 auto 0 auto;}
#step1_img_col{margin:30px auto;flex-direction:column;}
#step1_1{margin:0 auto 30px auto;}
#step1_2{margin:0 auto;}
}
@media screen and (max-width:414px) {
.title_diagonal_red{font-size:25px;max-width:90%;}
#oubo{padding:0 20px 20px 20px;}
}


/* 対象会場
--------------------------------*/
#venue{margin:150px auto 0 auto}
#title_venue{font-style:italic;font-size:35px;font-weight:900;color:#fff;text-align:center;margin:0 auto;background:#c7000b}

#venue table{color:#000;width:100%;margin:0 auto}
#venue table tr{font-size:20px;font-weight:900;text-align:left;border-top:none;background:#d7d7d8}
#venue table tr:nth-child(odd) td{background:#c3c4c4}

#venue table th{color:#fff100;font-weight:900;text-align:center;vertical-align:middle;width:auto!important;padding:0!important;background:#000;box-sizing:border-box}
#venue table td{font-weight:900;vertical-align:middle;text-align:left;/*width:auto!important;*/padding:0 10px!important;box-sizing:border-box}

.border_both{font-weight:900;vertical-align:middle;text-align:left;padding:0 10px!important;border-left:#fff 4px solid;border-right:#fff 4px solid}
.border_bottom{border-bottom:#fff 4px solid}

.venue_col{width:100%;display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;justify-content:space-around;box-sizing:border-box}
.venue_year{font-size:12px;font-weight:900;width:70px}
.venue_date{font-size:23px!important;font-weight:900;margin:0 auto 0 0}
.venue_week{font-size:17px;font-weight:900;}
.venue_week_2{font-size:15px;font-weight:900;}

.bg_ptr_1{text-align:center!important;background:#bfc0c0}
.bg_ptr_2{text-align:center!important;background:#9fa0a0}
.bg_ptr_3{color:#fff;text-align:center!important;background:#595757}

@media screen and (max-width:768px) {
#title_venue{font-size:25px;}
#venue table td{display:table-cell}
.venue_col{width:15%;flex-direction:column;align-items:baseline}
#venue table tr{font-size:18px!important;}
.venue_date{font-size:18px!important;}
}
@media screen and (max-width:414px) {
#venue{margin:50px auto 0 auto;}
#venue table tr{font-size:14px!important;}
#venue table td{padding:10px 10px!important;line-height:1.5;}
.venue_date{font-size:16px!important;}
.venue_week{font-size:12px;}
}


/* 実施店舗
--------------------------------*/
#shop_list{margin:80px auto 0 auto}
.accordion_one table{
	width: 100%;
	font-size: 1.6rem;
	vertical-align: middle;
	color: #000000;
}
.accordion_one table th{
	font-size: 20px;
	font-weight: 900;
	text-align: left;
	width: 40%;
	padding: 15px;
	vertical-align: middle;
	min-width: 100px;
}
.accordion_one table td{
	font-size: 16px;
	font-weight: 900;
	vertical-align: middle;
	padding: 15px;
	text-align: left;
}

.accordion_one table td.rignt_btn{
	max-width:125px;
	width:15%;
	text-align: right;
	vertical-align: middle;
	float: none;
}

.triangle-button{
    background-color: #fff000;
    border-radius: 8px;
    color: #545454;
    display: block;
    position: relative;
    text-align: center;
    text-decoration: none;
    width: 100%;
	/*height: 37px;*/
	font-size: 18px;
	line-height:40px;
}

a.triangle-button{
	font-size: 18px;
	color: #545454!important;
	text-decoration: none;
}

.triangle-button::after{
    content: '';
    display: inline-block;
    border-style: solid;
    border-width: 8px 0 8px 8px;
    border-color: transparent transparent transparent #545454;
    display: inline-block;
    width: 0;
    height: 0;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
}

.triangle-button-gray{
    background-color: #c0c0c0;
    border-radius: 8px;
    color: #fff;
    display: block;
    position: relative;
    text-align: center;
    text-decoration: none;
    width: 100%;
	/*height: 37px;*/
	font-size: 18px;
	line-height:40px;
}

a.triangle-button-gray{
	font-size: 18px;
	color: #fff!important;
	text-decoration: none;
	pointer-events: none;
}

.triangle-button-gray::after{
    content: '';
    display: inline-block;
    border-style: solid;
    border-width: 8px 0 8px 8px;
    border-color: transparent transparent transparent #fff;
    display: inline-block;
    width: 0;
    height: 0;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
}

.shop_info{display:flex;flex-direction:column;justify-content:center}
.shop_address_wrapper{display:flex;flex-direction:row}
.shop_zip{margin:0 0 0 auto;}
/*.shop_address{margin:0 auto 0 1em}*/
.shop_address{margin:0 auto 0 0}
.shop_tel_wrapper{display:flex;flex-direction:row}
/*.shop_tel_title{margin:0 0 0 auto;}*/
.shop_tel_title{margin:0 0 0 0}
.shop_tel_number{margin:0 auto 0 1em}

@media screen and (max-width: 800px) {
.accordion_one table{width:100%;font-size:1.2rem;vertical-align:middle;}
.accordion_one table th{width:20%;padding:8px;min-width:initial;}
.accordion_one table td{padding:8px;}	
.accordion_one table td.rignt_btn{width:10%;text-align:right;vertical-align:middle;float:none;min-width:80px;font-size:10px;}

@media screen and (max-width: 800px) {
.accordion_one table th{width:100%;display:block;}
.accordion_one table td{width:100%;display:block;}
}

.triangle-button{height:32px;font-size:1.2rem;line-height:32px;}
.triangle-button::after{
content: '';
display: inline-block;
border-style: solid;
border-width: 4px 0 4px 4px;
border-color: transparent transparent transparent #fff;
display: inline-block;
width: 0;
height: 0;
position: absolute;
top: 50%;
right: 10px;
transform: translateY(-50%);
}
.triangle-button-gray{height:32px;font-size:1.2rem;line-height:32px;}
.triangle-button-gray::after{
content: '';
display: inline-block;
border-style: solid;
border-width: 4px 0 4px 4px;
border-color: transparent transparent transparent #fff;
display: inline-block;
width: 0;
height: 0;
position: absolute;
top: 50%;
right: 10px;
transform: translateY(-50%);
}
}
@media screen and (max-width: 580px) {
.triangle-button::after{display: none;}
.triangle-button-gray::after{display: none;}
}

#sing_link{margin-top:3rem;}

.accordion_one{max-width:100%;margin:0 auto;}
.accordion_one .accordion_header{font-size:30px;font-weight:900;color:#000;text-align:center;margin:0 auto;padding:10px 0;border-bottom:1px solid #000;background:#fff000;position:relative;z-index:+1;transition-duration:0.2s;cursor:pointer;}

.accordion_one:nth-of-type(1) .accordion_inner .accordion_header{font-size:20px;font-weight:900;color:#fff;background-color:#767676;cursor:pointer;}
.accordion_one:nth-of-type(1) .accordion_inner .accordion_inner .accordion_header{font-size:20px;font-weight:900;color:#000;background-color:#c0c0c0;cursor:pointer;}
.accordion_one:nth-of-type(1) .accordion_inner .accordion_inner .accordion_inner  .accordion_header{background-color:#fff;cursor:default;font-weight:normal;padding-top:0;padding-bottom:0;}

.accordion_one .accordion_header.open:after{-webkit-transform:rotate(-135deg);transform:rotate(-135deg);}

.accordion_one .accordion_inner{display:none;padding:0;box-sizing:border-box;}
.accordion_header::before{
  content:'';
  width:28px;
  height:28px;
  -webkit-border-radius:50%;
  border-radius:50%;
  background-color:rgba(0,0,0,0.5);
  position:absolute;
  top:0;
  bottom:0;
  right:50px;
  margin:auto;
  vertical-align:middle;
}
 .accordion_header::after {
  content:'';
  float:right;
  transform:translateY(-25%) rotate(45deg);
  width:8px;
  height:8px;
  margin-right:8px;
  border-bottom:3px solid #fff;
  border-right:3px solid #fff; 
  transition:transform .3s;
  position:absolute;
  top:3px;
  bottom:0;
  right:58px;
  margin:auto;
  }
.accordion_one:nth-of-type(1) .accordion_inner .accordion_inner .accordion_inner .accordion_header::before{display:none;}
.accordion_one:nth-of-type(1) .accordion_inner .accordion_inner .accordion_inner .accordion_header::after{display:none;}

.accordion_one table{border-bottom: 1px solid #366579!important;}

@media screen and (max-width: 800px) {
#sing_link{margin-top: 1.5rem;}

.accordion_one .accordion_header{font-size:1.6rem;font-weight:bold;padding-top:10px;padding-bottom:10px;}
.accordion_header::after{content:'';float:right;transform:translateY(-25%) rotate(45deg);width:10px;height:10px;margin-right:0;border-bottom:3px solid #fff;border-right:3px solid #fff;transition:transform .3s;}
}



/* お問い合わせ
--------------------------------*/
#contact{font-size:20px;font-weight:900;color:#fff;text-align:center;margin:70px auto;padding:30px;border:#fff 1px solid;box-sizing:border-box}
#contact a:link{color:#fff!important;text-decoration:none;}
#contact a:visited{color:#fff!important;text-decoration:none;}
#contact a:hover{color:#ffde00!important;text-decoration:underline}
#contact a:active{color:#ffde00!important;text-decoration:underline}

#copy{font:18px;color:#000;text-align:center;padding:40px;background:#f3f3f3;box-sizing:border-box}


/* 固定ボタン
--------------------------------*/
#store_btn{
	background-image: url("../img/bt_shop.png");
	background-repeat: no-repeat;
	background-size: 100%;
	position: fixed;
	top: 5%;
	right: 15px;
	z-index: 99;
	margin-left: auto;
	margin-right: auto;
	width: 150px;
	height: 150px;
	display: block;
	transition: .3s;
	line-height: 120%;
  }

  #store_btn:hover {
	opacity: 0.6;
  }

 a #store_btn{
	display: block;
	color: #ffffff;
	text-decoration: none;
	font-size: 1.6vw;
	font-weight: 900;
	text-align: center;
	padding-top: 2.9%;
}

@media screen and (min-width: 1920px) {
a #store_btn{
padding-top: 2.9%;
font-size: 1.6vw;
}
}
@media screen and (min-width: 2560px) {
a #store_btn{
padding-top: 1.1%;
font-size: 0.8vw;
}
}


a #store_btn::after{
	content:"";
	display:block;
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid #f1000c;
	margin-left: auto;
	margin-right: auto;
	margin-top: 25px;
  }

  @media screen and (max-width: 1280px) {
	#store_btn{
		background-image: url("../img/bt_shop.png");
		background-repeat: no-repeat;
		background-size: 100%;
		position: fixed;
		top: 5%;
		right: 10px;
		z-index: 99;
		margin-left: auto;
		margin-right: auto;
		width: 110px;
		height: 110px;
	  }
	  a #store_btn{
		display: block;
		color: #ffffff;
		text-decoration: none;
		font-size: 1.3vw;
		text-align: center;
		padding-top: 3%;
	}
	
	}

	@media screen and (max-width: 1000px) {
		#store_btn{
			position: fixed;
			bottom: 5%;
			top: auto;
			right: 10px;
			width: 90px;
			height: 90px;
		  }

		  a #store_btn{
			padding-top: 2%;
		}

		 a #store_btn {
			display: block;
			color: #ffffff;
			text-decoration: none;
			font-size: 1rem;
			text-align: center;
			line-height: 250%;
		}
a #store_btn::after{
	margin-top: 5px;
  }
		}

  @media screen and (max-width: 800px) {
	a #store_btn{
		padding-top: 3%;
	}

	#nav ul{
		width: 75%;
		display: flex;
		margin-left: auto;
		margin-right: auto;
	  }
	
  }

  @media screen and (max-width: 580px) {
	a #store_btn{
		padding-top: 3.5%;
	}
}


/* ローディング
--------------------------------*/
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 0.3s;
  background: #000;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

.loaded {
  opacity: 0;
  visibility: hidden;
}

.loadingInner{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
}

.sk-chase {
  width: 40px;
  height: 40px;
  margin: 0 auto 20px auto;
  position: relative;
  animation: sk-chase 2.5s infinite linear both;
}

.sk-chase-dot {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0; 
  animation: sk-chase-dot 2.0s infinite ease-in-out both; 
}

.sk-chase-dot:before {
  content: '';
  display: block;
  width: 25%;
  height: 25%;
  background-color: #fff;
  border-radius: 100%;
  animation: sk-chase-dot-before 2.0s infinite ease-in-out both; 
}

.sk-chase-dot:nth-child(1) { animation-delay: -1.1s; }
.sk-chase-dot:nth-child(2) { animation-delay: -1.0s; }
.sk-chase-dot:nth-child(3) { animation-delay: -0.9s; }
.sk-chase-dot:nth-child(4) { animation-delay: -0.8s; }
.sk-chase-dot:nth-child(5) { animation-delay: -0.7s; }
.sk-chase-dot:nth-child(6) { animation-delay: -0.6s; }
.sk-chase-dot:nth-child(1):before { animation-delay: -1.1s; }
.sk-chase-dot:nth-child(2):before { animation-delay: -1.0s; }
.sk-chase-dot:nth-child(3):before { animation-delay: -0.9s; }
.sk-chase-dot:nth-child(4):before { animation-delay: -0.8s; }
.sk-chase-dot:nth-child(5):before { animation-delay: -0.7s; }
.sk-chase-dot:nth-child(6):before { animation-delay: -0.6s; }

@keyframes sk-chase {
  100% { transform: rotate(360deg); } 
}

@keyframes sk-chase-dot {
  80%, 100% { transform: rotate(360deg); } 
}

@keyframes sk-chase-dot-before {
  50% {
    transform: scale(0.4); 
  } 100%, 0% {
    transform: scale(1.0); 
  } 
}