@charset "utf-8";

*{
  box-sizing:border-box;
}

body{
  margin:0;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  border: 7px solid var(--basecolor);
  counter-reset: guide_count ;
  color: #333;
}

@media(min-width:961px){
	.sponly{
	  display:none !important;
	}
  }
@media(max-width:960px){
  .pconly{
    display:none !important;
  }
}
@media(min-width:561px){
	.show_sp{display: none !important;}
 }
 @media(min-width:961px){
	.show_sptb{display: none !important;}
 }
 @media(max-width:560px){
	.show_tbpc{display: none !important;}
 }
 @media(max-width:960px){
	.show_pc{display: none !important;}
 }
/*変数*/
:root{
	--basecolor: #c71e3a ; /*基本色*/
	--sabcolor: #fbeced; /*サブカラー*/
}

img{
  max-width:100%;
  vertical-align:bottom;
}


p{
	margin:0
}

h2,h3,h4,h5{
	margin:0;
}

a{
	color: #333;
  text-decoration: none;

}

a:visited{
    color: #333;
}

a:hover{
  /*filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;*/
}
a.inline_link{
	color:#00f;
	text-decoration:underline;
}
.tac{
	text-align: center;
}
.tal{
	text-align: left;
}
.tar{
	text-align: right;
}
.mg0{
	margin: 0 auto;
}
.enji{
	color:var(--basecolor)
}

.margin1{
	margin:10px
}
.margin2{
	margin:20px
}
.margin3{
	margin:30px
}
.margin4{
	margin:40px
}
.margin5{
	margin:50px
}
.mgb1{
	margin-bottom:10px
}
.mgb2{
	margin-bottom:20px
}
.mgb3{
	margin-bottom:30px
}
.mgb4{
	margin-bottom:40px
}
.mgb5{
	margin-bottom:50px
}
.mgb9{
	margin-bottom:90px
}
.mgt1{
	margin-top:10px
}
.mgt2{
  margin-top:20px
}
.mgt3{
	margin-top:30px
}
.mgt4{
	margin-top:40px
}
.mgt5{
	margin-top:50px
}
.mgt6{
	margin-top:60px
}
.mgt7{
	margin-top:60px
}
.mgt8{
	margin-top:80px
}
.mgt9{
	margin-top:90px
}
.mgl1{
	margin-left:10px
}
.mgl2{
	margin-left:20px
}
.mgl3{
	margin-left:30px
}
.mgl4{
	margin-left:40px
}
.mgl5{
	margin-left:50px
}
.mgr1{
	margin-right:10px
}
.mgr2{
  margin-right:20px
}
.mgr3{
	margin-right:30px
}
.mgr4{
	margin-right:40px
}
.mgr5{
	margin-right:50px
}
.n_mgt5{
	margin-top:5%
}

.padding1{
	padding:10px
}
.padding2{
	padding:20px
}
.padding3{
	padding:30px
}
.padding4{
	padding:40px
}
.padding5{
	padding:50px
}
.pdt1{
	padding-top:10px
}
.pdt2{
  padding-top:20px
}
.pdt3{
  padding-top:30px
}
.pdt4{
  padding-top:40px
}
.pdt5{
	padding-top:50px
}
.pdt6{
	padding-top:60px
}
.pdt7{
	padding-top:70px
}
.pdt8{
	padding-top:80px
}
.pdt9{
	padding-top:90px
}
.pdt10{
	padding-top:100px
}
.pdb1{
	padding-bottom:10px
}
.pdb2{
  padding-bottom:20px
}
.pdb3{
  padding-bottom:30px
}
.pdb4{
  padding-bottom:40px
}
.pdb5{
	padding-bottom:50px
}
.pdb6{
	padding-bottom:60px
}
.pdb7{
	padding-bottom:70px
}
.pdb8{
	padding-bottom:80px
}
.pdb9{
	padding-bottom:90px
}
.pdb10{
	padding-bottom:100px
}
.pdr5{
	padding-right:30% ;

}

/*------------*/

.flex{
	display: flex;
}
.flex_wrap_reverse{
	display: flex;
}

/*--------------------------------
       ここまでtemplate
---------------------------------*/
/*--ハンバーガーメニュー--*/
/*========= ナビゲーションのためのCSS ===============*/

/*アクティブになったエリア*/
#g-nav.panelactive{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
	top: 0;
	width:100%;
    height: 100vh;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

/*丸の拡大*/
.circle-bg{
    position: fixed;
	z-index:3;
    /*丸の形*/
    width: 100px;
    height: 100px;
    border-radius: 50%;
	background: var(--basecolor);
	/*backdrop-filter: blur(3px);*/
    /*丸のスタート位置と形状*/
	transform: scale(0);/*scaleをはじめは0に*/
	top:-50px;
    left:calc(50% - 50px);/*50%から円の半径を引いた値*/
    transition: all .6s;/*0.6秒かけてアニメーション*/
}

.circle-bg.circleactive{
	transform: scale(50);/*クラスが付与されたらscaleを拡大*/
}

/*ナビゲーションの縦スクロール*/
#g-nav-list{
    display: none;/*はじめは表示なし*/
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#g-nav.panelactive #g-nav-list{
     display: block; /*クラスが付与されたら出現*/
}

/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
	top:15px;
	right: 15px;
	cursor: pointer;
    width: 50px;
    height:50px;
	background: var(--basecolor);
}

#spMenuBtn {
  transition: top 0.3s ease;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: #fff;
  	width: 45%;
  }

.openbtn span:nth-of-type(1) {
	top:10px;	
}

.openbtn span:nth-of-type(2) {
	top:18px;
}

.openbtn span:nth-of-type(3) {
	top:26px;
}

.openbtn.active span:nth-of-type(1) {
    top: 13px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 25px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
.openbtn p{
	position: absolute;
	left: 6px;
	bottom:3px;
	font-size:10px;
	letter-spacing:0;
	color:#fff
	
}

.section_box.top_scroll_box{
	margin:100px 0 0;
	z-index:1
}

/*-------- 汎用　------*/
.section_box{
	margin: 100px auto ;
    position: relative;
}
.contents_wrap {
    max-width: 1150px;
    width: 90%;
    margin: 0 auto;

}
.section_box.back_pink{
	background: var(--sabcolor);
}

.red{
	color: var(--basecolor);
}
/*--------------*/
.top_wrap{
	position: relative;
	background:#000;
}
#v_cm{
	max-width: 140vh;
	margin: 0 auto
}
.top_wrap video {
    width: 100%;
    height: 70vh;
    object-fit: cover;
	display:block;
}
.yt_access{
	text-align:center;
	padding: 4px 0 4px;
}
.yt_access a{
	display:inline-block;
	background:var(--basecolor);
	color:#fff;
	padding:0 20px;
	border-radius:50px;
}
.top_logo{
	position: absolute;
	right: 80px;
	top: 30px;
	max-width: calc(12vw + 40px);
}
.top_days{
	position: absolute;
	left: 65px;
	top: 50px;
	max-width: calc(6vw + 20px);
}
@media(max-height:730px){
	.top_days{
		right:unset;
		left:100px;
		bottom: 200px;
	}
}

.top_days_sp_wrap{
	position:absolute;
	bottom: 45px;
	right:85px;
	width: 50%;
}
.top_days_sp{
	width:fit-content;
	margin:-20px 0 0 10px;
	background:#fff;
	padding:0 3px;
}

.top_days_sp_wrap h3{
	font-size:200%;
	padding:0 30px;
	letter-spacing:1.2px;
}
.top_days_sp_wrap h3 span{
	font-size:16px;
}

/*---news---*/
.news_section{
	position: relative;
	padding: 100px 0 0px 0;
	margin: 0 auto 0px;
}
.news_section::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 80%;
	height: 85%;
	background: var(--sabcolor);
	z-index: -3;
}
.nami_1{
	position: absolute;
	height: 120px;
	bottom: -12px;
	left: 7%;
}
.nami_2{
	position: absolute;
	height: 119px;
	bottom: 40px;
	left: 50%;
	overflow: hidden;
}
.news_wrap{
	max-width: 1500px;
	width: 90%;
	margin: 0px auto;

}
.news_wrap::after{
	content: "";
	position: absolute;
	top: 250px;
	left: 3%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 40%;
	height: 43%;
	background: url(../img/nami.png) no-repeat;
	background-size: contain;
	z-index: -1;
}
.news_ttl{
	width: 20%;
	text-align:center;
	margin:30px auto 0;
	display: flex;
	flex-wrap: wrap;
	align-items:baseline;
	justify-content: space-between;
}
.news_ttl div{
	width:100%
}
.news_ttl img{
	width:20%
}
.news_box{
	width: 77%;
}
.news_box.flex{
	flex-wrap:wrap;
}
.news_link{
	width: 30%;
	margin: 0 5% 2vw 0%;
	background: #ffffffcf;
	padding: 10px 10px 15px 10px;
	border-radius:8px;
	/* border:2px solid #fbeced; */
}
.news_box .news_link:nth-child(3n+1) {
	margin-right: 0;
}

.news_link .flex{
	margin: 10px auto 5px;
	padding: 0 10px;
	justify-content: space-between;
	align-items: center;
}
.news_link .flex time{
	font-size:80%;
}
.news_link .flex .category{
	background: var(--sabcolor);
	color: var(--basecolor);
	padding: 3px 20px;
	border-radius: 45px;
	font-size: 70%;
}
.news_link .mask{
	height: 10vw;
	width: 10vw;
	margin: 20px auto;
}
.news_link .mask img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
}
.news_link .news_link_title{
	font-size:100%;
	line-height:1.3;

}

.news_link .news_text{
	display:none;
}

.page_andmore{
	max-width: 1200px;
	width: 90%;
	margin: 40px auto 0;
	text-align: right;
}
.page_andmore a{
	position: relative;
	font-size: 130%;
	padding: 0 30px 10px 0;
	display: inline-block;
	margin: 0 0 0 auto;
	border-bottom: 1px solid var(--basecolor);
}
.page_andmore a::after{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 10px solid var(--basecolor);
	border-right: 0;
	top: 50%;
    right: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

/*----banner----*/
.banner_section{
	margin: 0px auto 100px;
    position: relative;
}
.banner_link .flex{
	margin: 20px auto 0;
	width: fit-content;
}
.banner_link .flex div{
	margin:5px ;
}
.banner_link  .ms a img{
	border: 1px solid #333;
}
.banner_link img{
}


/*--------ガイド-------*/
.section_box.guide_under{
	margin: 100px auto 100px;
	padding: 100px 0 60px 0;
}
.section_box.guide_under::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 80%;
	background: var(--sabcolor);
	z-index: -3;
}
.nami_3{
	position: absolute;
	height: 130px;
	top: -100px;
	right: 12%;
	z-index: 1;
}
.nami_4{
	position: absolute;
	height: 105px;
	top: 35%;
	right: 30%;
}
.nami_5{
	position: absolute;
	height: 175px;
	top: 40%;
	right: 6%;
}
.nami_6{
	position: absolute;
	height: 115px;
	bottom: -5%;
	left: 6%;
}
.guide_wrap{
	display:flex;
	align-items: top;
}

.guide_mein_ttl{
	position: relative;
	width: 20%;
	margin: 0px 0 0px 0;
}
.guide_mein_ttl::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 350px;
	background: url(../img/shirase_ttl_back.png) no-repeat;
	background-size: contain;
	bottom: -00px;
	right: -7vw;
	z-index: -1;

}
.guide_mein_ttl h2{
	margin: 0 auto;
    width: fit-content;
	font-size: 300%;
	color: #333;
	writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
}
.guide_mein_ttl h2 p{
	display: block;
	font-weight: normal;
	color: var(--basecolor);
	font-size: 20px;
	margin: 20px 0 0px 10px;
	letter-spacing: 2px;
}
.guide_mein_ttl h2 span{
	display: inline-block;
	margin: 0px 0;
	vertical-align:top;
	font-size: 120%;
	text-combine-upright: digits;
	-webkit-text-combine: horizontal;
	-ms-text-combine-horizontal: digits;
}

.guide_link.flex {
	flex-wrap: wrap;
	width: 80%;
}
.guide_link.flex a{
	position: relative;
	width: 48%;
	margin: 0% 0 4% 0%;
}
.guide_link.flex a:nth-child(1),
.guide_link.flex a:nth-child(2){
	width: 100%;
}
.guide_link.flex a:nth-child(4){
	margin: 0% 0 4% 4%;
}
.guide_under .contents_wrap{
	position: relative;
	padding: 20px;
	margin: 00px auto  0;
	z-index: 1;
}
.guide_link a{
	position: relative;
	color: #333;
	border: 1px solid #333;
	padding: 80px 0 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
}
.guide_link.flex a:nth-child(1)::after,
.guide_link.flex a:nth-child(2)::after{
	content: "";
	position: absolute;
	top: 20px;
	left: 20px;
	width: 95%;
	height: 80%;
	border: 1px solid #fff;
}
.guide_link.flex a:nth-child(3)::after,
.guide_link.flex a:nth-child(4)::after{
	content: "";
	position: absolute;
	top: 20px;
	left: 20px;
	width: 90%;
	height: 80%;
	border: 1px solid #fff;
}
.guide_link.flex a:nth-child(1){
	background: url(../img/shirase_back_1.png) no-repeat;
	background-size: cover;
	background-position:center ;
}
.guide_link.flex a:nth-child(2){
	background: url(../img/shirase_back_2.png) no-repeat;
	background-size: cover;
	background-position:center ;
}
.guide_link.flex a:nth-child(3){
	background: url(../img/shirase_back_3.png) no-repeat;
	background-size: cover;
	background-position:center ;
}
.guide_link.flex a:nth-child(4){
	background: url(../img/shirase_back_4.png) no-repeat;
	background-size: cover;
	background-position:center ;
}

.guide_link a h3{
	position: relative;
	text-align: center;
	font-size: 250%;
	counter-increment: guide_count;
	width: fit-content;
	font-weight: 900;
}
.guide_link a h3::after{
	content: counter( guide_count, decimal-leading-zero);
	position: absolute;
	left: -30px;
	top: -35px;
	font-size: 26px;
	color: var(--basecolor);
}
.guide_link a h3 span{
	display: block;
	font-size: 15px;
	font-weight: normal;
	margin: 5px auto 0;
	color: var(--basecolor);
}
.guide_link a img{
	height: 200px;
	width: 100%;
	object-position: 100% 0%;
	object-fit: cover;
	border-radius: 15px 15px 0 0;
}

.inner{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	clip-path: inset(0);
 }
 .bg{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-image: url('../img/about_back.jpg');
	background-size: cover;
	background-position: center;
	z-index: -4;
 }

/*やっさ祭りを知る*/
.about_box{
	display: flex;
	align-items: center;

}
.about_ttl{
	width: 20%;
	justify-self: start;
}
.about_ttl{
	margin: 0 auto;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    width: fit-content;
    font-size: 200%;
}
.about_ttl p{
	display: block;
    font-weight: normal;
    color: var(--basecolor);
    font-size: 18px;
    margin: 40px 0 0px 10px;
	letter-spacing: 2px;

}
.about_link{
	width: 80%;
}
.Learn_about{
	display: block;
	width: 100%;
	padding: 50px 0;
	background: url(../img/about_1.png) no-repeat;
	background-size: cover;
	position: relative;
	border-radius: 15px;
	overflow: hidden;
}
.Learn_about::after{
	background: #c71e3a;
}

.how_to_dance{
	display: block;
	width: 100%;
	padding: 30px 0;
	background: url(../img/about_7.png) no-repeat;
	background-size: cover;
	position: relative;
	border-radius: 15px;
	overflow: hidden;
	margin:30px auto 0;
}
.how_to_dance::after{
	background: #3cc5b2;
}

.about_link .flex{
	flex-wrap: wrap;
}
.about_link .flex a{
	position: relative;
	width: 48%;
	margin: 4% 4% 0 0;
	padding: 30px 0;
	background-position: center;
	border-radius: 15px;
	overflow: hidden;
	z-index: 3;
}
.about_link .flex a:nth-child(2n){
	margin: 4% 0 0 0;
}
.committee{
	background: url(../img/about_2.png) no-repeat;
	background-size: cover
}
.committee::after{
	background: #2a1ec7;
}
.about_link .flex .mis_yassa{
	background: url(../img/about_4.png) no-repeat;
	background-size: cover;
	background-position: top;
}
.mis_yassa::after{
	background: #c71eb9;
}
.campaign{
	background: url(../img/about_5.png) no-repeat;
	background-size: cover;
}
.campaign::after{
	background: #c7bd1e;
}
.poster{
	background: url(../img/about_6.png) no-repeat;
	background-size: cover;
}
.poster::after{
    background: #0da609;
}
.about_link .flex a::before,.about_link a::before{
	z-index: 0;
	content: "";
	display: inline-block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #000000b4;
	border-radius: 15px;
	transition: all 0.3s;
}
.about_link .flex a::after,.about_link a::after{
    content: "";
    position: absolute;
    bottom: 0px;
    right: 0px;
    top: 30px;
    left: 0px;
    width: 122%;
    height: 100%;
    ontent: '';
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    -webkit-transform: translateX(-98%) translateY(-70%) rotate(135deg);
    transform: translateX(45%) translateY(0%) rotate(135deg);
}
.box_text{
	position: relative;
	color: #fff;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.Learn_about .box_text h4{
	font-size: 260%;
}
.box_text h4{
	width: 100%;
	font-size: 160%;
	margin: 10px auto;
}
.box_text img{
	height: 50px;
}
.about_link .flex a:hover::before,
.about_link a:hover:before{
	background-color: #00000050;
}

.sponsor_box{
	padding: 150px 0 100px;
}

.nami_7{
	position: absolute;
	height: 15vw;
	top: -150px;
	left: 0%;
}
.nami_8{
	position: absolute;
	height: 14vw;
	top: -50px;
	right: 0%;
	overflow: hidden;
}
.nami_9{
	position: absolute;
	height: 140px;
	bottom: -50px;
	left: 3%;
}
.sponsor_ttl{
	text-align: center;
	font-size: 250%;
	letter-spacing: 2px;
}
.sponsor_ttl p{
	font-size: 20px;
	color: var(--basecolor);
}

.scroll_box{
	border: 1px solid #333;
	background: #000;
	margin: 30px auto 0;
	border-radius: 15px;

}
.container{
	position: relative;
	height: 400px;
	overflow: hidden;
}
.scrolling-area {
	display: flex;
	flex-direction: column;
	position: absolute;
	width: 100%;
	padding-top:200px;
	/* 最初は止まってる */
	animation: scrollUp linear infinite;
	animation-play-state: paused;
	
}

@keyframes scrollUp {
	from {
	  transform: translateY(0);
	}
	to {
	  transform: translateY(-50%);
	}
}

.text-block {
	text-align: center;
	padding-bottom: 2rem;
	color: #fff;
	max-width: 1100px;
	width: 50%;
	margin: 0 auto;
}
.text-block > p{

}
.scrolling-area > p{
	margin:100px 0 0;
}
.scrolling-area p {
	margin: 1rem 0;
}
.scrolling-area p img{
	margin:0 0 3rem 0;
}
.scrolling-area p:nth-child(3) img{
	width:75%;
}
.scrolling-area p:nth-child(4) img{
	width:75%;
}
.sponsor_list{
	text-align: center;
	margin: 30px auto 0;
}
.scrolling_flex{
	display:flex;
	flex-wrap:wrap;
	text-align:center
}
.scrolling_flex span{
	width:33%;
	display:inline-block;
	margin:0.5rem 0
}
.link_btn{
	margin: 20px auto;
}
.link_btn a{
	position: relative;
	font-size: 130%;
	background: var(--basecolor);
	color: #fff;
	padding: 8px 60px 8px 40px;
	border-radius: 45px;
	display: inline-block;
	transition: all 0.3s;
}
.link_btn a span{
	position: absolute;
	display: inline-block;
	border-style: solid;
    border-top: 7.5px solid transparent;
    border-bottom: 7.5px solid transparent;
    border-left: 10px solid #fff;
    border-right: 0;
	top: 50%;
    right: 25px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	transition: all 0.3s;
}
.link_btn a:hover{
	background:#791324;
}
.link_btn a:hover span{
    right: 20px;
}
.link_btn a small{
	font-size:13px;
}
/*------------- footer -------------*/
footer{
	position: relative;
	margin: 0px 0 0;

}
.footer_link_ttl{
	width: 20%;
	position: relative;
	z-index: 1;
}

.footer_link_ttl img{
	width: 80%;
}
.footer_link_box{
	margin: 0 0 0 8%;
	width: 60%;
	display: flex;
	justify-content: space-between;
}
.footer_link_box a{
	transition: all 0.3s;
}
.cont_item .cont_ttl{
	display: inline-block;
    font-size: 120%;
	font-weight: bold;
    position: relative;
    margin: 20px 0 0px;
    padding: 0 0 0 15px;
    color: #000;
    transition: all 0.3s;
}
.cont_item ul {
    list-style: none;
    margin: 10px 0 0 15px;
    padding: 0 0 0 15px;
}
.cont_item ul li{
	position: relative;
	margin: 10px 0 0 0;
}
.cont_item ul li::after{
	content: "";
    position: absolute;
    top: 50%;
    left: -15px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 7px;
    height: 1px;
    background: #000;
    transition: all 0.3s;
}
.footer_link_box a:hover{
	color: var(--basecolor);
}
.footer_operation{
	background: var(--sabcolor);
	position: relative;
	padding: 200px 0 50px;
	margin: 100px auto 0;
	text-align: center;
}

.operation_wrap{
	display: flex;
	align-items: center;
	justify-content: center;
}
.op_midashi{
	padding: 10px;
	background: #000;
	color: #fff;
}
.op_comp{
	margin: 0 0 0 10px;
}
.address{
	margin: 35px auto;
}
.footer_under_link{
	display: flex;
	align-items: center;
	justify-content: center;
}
.footer_under_link a{
	position: relative;
	margin: 0 20px;
}
.copyright{
	margin: 35px auto 0;
}

.miharin{
	position: absolute;
	top: -70px;
	right: 29%;
	width: calc( 14vw + 20px );
}
.daruman{
	position: absolute;
	width: calc( 14vw + 20px );
	top: -98px;
	right: 10%;
}
.footer_nami{
	position: absolute;
	width: 35vw;
	top: 100px;
	left: 5%;
	opacity: 0.25;
	z-index: 0;
}
.gtrans{
	box-sizing:border-box;
	padding:15px 20px;
	width:fit-content;
	margin:15px auto 0;
	border-radius:10px;
}

/* 視線誘導アニメーション */
@keyframes flash-border {
  0%   { box-shadow: 0 0 0 0 rgba(255, 0, 0, 0); }
  25%  { box-shadow: 0 0 5px 5px rgb(199 30 58); }
  50%  { box-shadow: 0 0 0 0 rgba(255, 0, 0, 0); }
  75%  { box-shadow: 0 0 5px 5px rgb(199 30 58); }
  100% { box-shadow: 0 0 0 0 rgba(255, 0, 0, 0); }
}

.flash-highlight {
  animation: flash-border 1.5s ease;
  border-radius: 10px; /* あなたのデザインに合わせて */
}

/*--------------- お問い合わせ ---------------*/
.form{
	max-width: 900px;
	margin: 0 auto;
	width:90%;
}
.form p{
	margin-left: 10%;
}
.co_table{
	max-width: 900px;
	width: 100%;
	margin: 0px 0px 10px 0px;
    padding: 0px 0px 10px 0px;


}
/*.co_table dl{
	margin: 0px 0px 20px 0px;
    padding: 0px 0px 20px 0px;
    border-bottom: #CCC dotted 1px;
}*/
.co_table dt{
	float: left;
	margin-left: 25px;
}
.co_table dd{margin-left: 200px;
}
.co_table em{
	color: red;
	font-size: 0.7vw;
	font-weight: bold;
}

input,textarea{
	width: 100%;
	border-top:none;
	border-right:none;
	border-left: none;
	height: 30px;
	border-bottom: #6b6b6b dotted 1px;
	background-color: #f2ffec;
}
textarea{
	height:100px
}
.short{
	width: 200px;
	margin-bottom:10px
}
input[type="submit"]{
	width: auto;
	height: auto;
	text-align: center;
	border:1px solid;
	padding:8px 20px ;
	
}
input[type="checkbox"] {
    width: auto;
    height: auto;
}
.submit_tac{
	text-align: center;
}


/*--子ページ汎用--*/
.under_top_wrap{
	position: relative;
	padding: 100px 0 ;
}
.design_hero{
	position: absolute;
	bottom: 10px;
	right: 0;
	width: 30%;
}
.under_top_wrap.pink_back{
	position: relative;
	padding: 100px 0 ;
	margin: 0 auto 0;
}
.pink_back{
	background: var(--sabcolor);
	padding: 0px 0 100px;
	margin: 0 auto 100px;
}
.back_on_white{
	max-width: 1300px;
	width: 95%;
	margin: 0 auto;
	padding: 0 0 50px;
    background: #fff;
	border-radius: 20px;
    position: relative;
}
.back_on_white .section_box{
	margin: 0 auto;
	padding: calc(40px + 3vw) 0 calc(20px + 1vw);
}
.back_on_white .section_box:nth-child(1)::after{
	background: none;
}
.back_on_white .section_box::after{
	content: "";
	position: absolute;
	width: 90%;
	height: 1px;
	background: #999;
	top: calc(15px + 2.5vw);
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.back_on_white .contents_wrap{

}
.under_top_logo{
	position: absolute;
	top: 20px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.tategaki{
	writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
}
.section_box.article_block_gray{
    margin: 0 auto 100px;
}
/*.section_box.article_block_gray::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 80%;
	background: #f9f8f7;
	bottom: 0;
	z-index: -1;

}*/
.section_box.article_block_gray{
	background: linear-gradient(to bottom, transparent 50px, #f8f7f6 50px);
	padding: 0px 0 50px;
}
.half_block_ttl{
	width: 20%;
	display: flex;
	align-items: center;
	position: relative;
	z-index: 2;
}
.half_block_ttl h2{
	width: fit-content;
	font-size: 260%;
	letter-spacing:0.05em;
	text-align: center;
}
.half_block_ttl h2 span{
	display: inline-block;
	font-size: 15px;
	margin: 20px auto 0;
	color: var(--basecolor);
}
.half_block_txt{
	position: relative;
	width: 80%;
	margin: 100px auto 0;
}
.half_block_txt .flex{
	align-items: center;
	justify-content: space-between;
}
.center_block_txt p,
.half_block_txt p {
	margin: 20px auto;
	line-height: 1.7;
}
.half_block_txt .marker{
	background: linear-gradient(transparent 70%, #ffa7b3 70%);
}
.center_block_txt{
	max-width: 900px;
	margin: 0 auto;
}
.center_block_ttl{
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	position: relative;
	z-index: 1;
}
.center_block_ttl h2{
	width: fit-content;
	font-size: 200%;
}
.center_block_ttl.ttl_nami_back{
	margin: 0 auto 20px;
}

.center_block_ttl.ttl_nami_back::after{
	content:"";
	position: absolute;
	top: 0;
    left: 47%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	background: url(../img/nami.png) no-repeat;
	width: 300px;
	height: 300px;
	background-size: contain;
	z-index: -1;

}
.center_block_ttl.ttl_nami_back h2{
	text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
	-moz-text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
	-webkit-text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;

}


.youtube {
    position: relative;
    width:90%;
    max-width:1000px;
    padding-bottom: 50.5%; /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
    margin: 0 auto 1em;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.station_mihara_block{
	padding:1em;
	margin:1em 0 1em 0;
	border-bottom:2px dotted #ccc;
}
.access_mihara_wrap h4 span{
	font-size:130%;
	color:var(--basecolor);
}

@media(min-width:1130px){
	.youtube {
		padding-bottom:563px;
	}	
}
.list dd{
	margin: 25px auto 0;
}
.list dd h4{
	display: inline;
	font-size: 135%;
}
.list dd::before{
	content: "■";
    color: var(--basecolor);
    letter-spacing: 3px;
    font-size: 115%;
}
.list dt{
	margin: 10px 0 0 1em;
}

.pink_block_ttl{
	position: relative;
	text-align: center;
	padding: 0 0 1em 0;
}
.pink_block_ttl::after{
	content: "";
	position: absolute;
	width: 100px;
	height: 2px;
	background: var(--basecolor);
    bottom: 43px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.pink_block_ttl h2{
	font-size: 200%;
	margin: 0 0 10px 0;
}
.pink_block_ttl p{
	color: var(--basecolor);
}
.view_imgdouble{
	max-width: 900px;
    margin: 0 auto;
}
.view_imgdouble.flex{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
}
.view_imgdouble div{
	margin-bottom: 40px;
	padding: 5px 15px;
	width: 50%;
}
.sub_tll{
	margin: 20px auto;
}
.sub_tll h3{
	color: var(--basecolor);
	font-size: 160%;
}
.hanabi_intro{
	max-width: 900px;
	width: 90%;
	margin: 20px auto;
}
/*----*/
.hanabi_time{
	position: relative;
	max-width: 900px;
	width: 90%;
	margin: 20px auto 20px;

	justify-content: space-around;
}
.hanabi_time div:nth-child(1) h3{
	position: relative;
	font-size: 160%;
	text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
	-moz-text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
	-webkit-text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
	z-index: 1;
}
.hanabi_time div:nth-child(1) h3::after{
	content: "";
	position: absolute;
	width: 80px;
	height: 70px;
	background: url(../img/01.png) no-repeat;
	background-size: contain;
	top: -20px;
	left: -20px;
	z-index: -1;
}
.hanabi_time div:nth-child(2) h3{
	position: relative;
	font-size: 160%;
	text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
	-moz-text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
	-webkit-text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
	z-index: 1;
}
.hanabi_time div:nth-child(2) h3::after{
	content: "";
	position: absolute;
	width: 80px;
	height: 70px;
	background: url(../img/02.png) no-repeat;
	background-size: contain;
	top: -15px;
	left: -20px;
	z-index: -1;

}
.hanabi_time div:nth-child(1) h4,
.hanabi_time div:nth-child(2) h4,
.hanabi_time div:nth-child(3) h4{
	font-size: 170%;
}
.hanabi_time div:nth-child(1) h4{
	color: var(--basecolor);
}
.hanabi_time div:nth-child(1) h4 span,
.hanabi_time div:nth-child(3) h4 span{
	font-size: 18px;
	color: #333;
}
.hanabi_time div:nth-child(2) h4,
.hanabi_time div:nth-child(3) h4{
	margin: 20px auto 0;
}
.hanabi_time div:nth-child(3) h3{
	position: relative;
	font-size: 160%;
	text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
	-moz-text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
	-webkit-text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
	z-index: 1;
}
.hanabi_time div:nth-child(3) h3::after{
	content: "";
	position: absolute;
	width: 80px;
	height: 70px;
	background: url(../img/03.png) no-repeat;
	background-size: contain;
	top: -15px;
	left: -20px;
	z-index: -1;

}
.hanabi_note{
	max-width: 900px;
	width: 90%;
	margin: 0 auto;
}

.hanabi_access h3{
	font-size: 200%;
	line-height:1.3;
	margin:15px 0
}

.hanabi_guidelines p{
	margin: 5px 0 0;
}
.hanabi_guidelines h3{
	margin: 20px auto 0;
}
.highlight_block{
	font-family: "Shippori Mincho B1", serif;
	font-weight: 700;
	font-style: normal;
	margin: 20px 0px 50px 0;
	text-align:center
}
.highlight_block b{
	background:var(--basecolor);
	color: #fff;
	width:100%;
	padding:2px 20px;
	letter-spacing:2px;
}
.highlight_block h2{
	margin:10px 10px 10px 20px;
	color: var(--basecolor);
}
.view_schedule{
	border-collapse:collapse;
	margin: 8px 0 16px
}
.view_schedule td{
	border:1px solid #ccc;
	padding: 0 2vw 5px;
}
@media(max-width:768px){
	.hanabi_intro,
	.hanabi_note{
		width:96%;
	}	
}



/*アコーディオン*/
.hanabi_qa{
	margin: 0 auto;
    max-width: 900px;
}
.hanabi_qa h3{
	margin: 35px auto 8px;
}
.accordion-003 {
	margin: 0 auto;
	max-width: 900px;
	margin-bottom: 0px;
	border-bottom: 2px dotted #ccc;
}

.accordion-003 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.accordion-003 summary::-webkit-details-marker {
    display: none;
}

.accordion-003 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .3s;
}

.accordion-003[open] summary::after {
    transform: rotate(225deg);
}

.accordion-003 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 0 2em 1.5em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}
.accordion-003 p a{
	color: var(--basecolor);
	text-decoration: underline;
}

.accordion-003[open] p {
    transform: none;
    opacity: 1;
}


/*--実行委員長--*/
.chairman_txt h3{
	font-size: 200%;
}
.chairman_keireki{
	margin: 30px auto 0;
}
.chairman_keireki h2,
.miss_yassa_intro h2{
	text-align: center;
}
.chairman_keireki h2 span,
.miss_yassa_intro h2 span{
	display: block;
	font-weight: normal;
	color: var(--basecolor);
	font-size: 15px;

}
.man_tb{
	border: none;
	border-collapse:collapse;
	width: 100%;
}

.man_tb td{
	padding : 20px 20px;
}
.man_tb tr .bold{
	color: var(--basecolor);
	font-weight: bold;
	text-align: center;
}
.man_tb tr{
	border: none;
}
.man_tb tr:nth-child(2n) {
background: #fff;

}

.rekidai_chairman.flex{
	flex-wrap: wrap;
}
.chairman_block,
.chairman_txt_block{
	width: 16%;
	margin: 3% 5% 0 0;
}
.chairman_block:nth-child(5n),
.chairman_txt_block:nth-child(5n){
	margin: 3% 0 0 0;
}
.rekidai_prof h3{
	/* text-align: center; */
}
.rekidai_prof h3 span{
	display: block;
	font-weight: normal;
	font-size: 13px;
}
.member_profile{
	width: 100%;
}
.member_profile th,.member_profile td{
	display : block;

}
.member_profile th{
	text-align: left;
	color: var(--basecolor);
	padding: 5px 0 0 0;
	font-size: 13px;
}
.member_profile td{
	line-height: 1.2;
}
.chairman_txt_wrap.flex{
	flex-wrap: wrap;
}
.miss_yassa_txt h3{
	font-size: 150%;
}
.miss_yassa_txt .red{
	font-size: 200%;
}
.miss_yassa_txt h3 span{
	font-size: 15px;
	display: inline-block;
}
.miss_yassa_intro{
	margin: 30px auto 0;
}
.miss_yassa_intro .bold{
	color: var(--basecolor);
}
.miss_yassa_intro_left,
.miss_yassa_intro_right{
	width: 46%;
	margin: 0 2%;
}
.miss_yassa_intro_left div h4,
.miss_yassa_intro_right div h4{
	margin: 0;
}
.miss_yassa_intro_left div p,
.miss_yassa_intro_right div p{
	margin: 0;
	text-align: center;
}
.miss_yassa_intro_left div,
.miss_yassa_intro_right div{
	padding: 7px ;
}
.miss_yassa_intro_left div:nth-child(2n){
	background: #fff;
}
.miss_yassa_intro_right div:nth-child(2n){
	background: #fff;
}
.miss_yassa_intro_left div span,
.miss_yassa_intro_right div p span{
	font-size: 12px;
}

.rekidai_miss_img{
	padding: 30px 0 0;
}
.rekidai_miss_img .rekidai_miss_img_old{
	width: 31.333%;
	margin: 0 1%;
}
.miss_uptxt{
	color: var(--basecolor);
	font-weight: bold;
	font-size: 150%;
}
.rekidai_miss_img_old p{
	text-indent: -3rem;
    padding-left: 4rem;
    margin-bottom: 9px;
} 
.miss_oldtxt {
    font-weight: bold;
    padding-left: 10px;
    font-size: 120%;
    text-align: left;
    margin: 22px 0 7px 0;
	color: var(--basecolor);
}
.miss_oldgirl {
    display: flex;
}
.miss_oldgirl p {
    width: 34%;
}
.theme_top h3{
	font-size: 250%;
	margin: 20px auto 20px;
}
.theme_top p{
	margin: 0 auto;
}

.theme_keetei{
	font-size: 150%;
}
.theme_intro{
	margin: 30px auto 0;
}
.theme_intro .theme_logo,
.theme_intro .theme_text{
	width: 46%;
	margin: 0 2%;
}
.result_theme{
	margin: 30px auto 0;
}
.theme_table {
    width: 100%;
    border-spacing: 0px;
    margin: 11px auto;
	border: none;
	border-collapse:collapse;
}

.theme_table th, .theme_table td {
    text-align: center;
    padding: 20px 5px;
}
.theme_table th {background:#c23b38; color: #fff;}

.theme_table tr:nth-child(2n){
	background: #fff;
}
.theme_oldtxt {
    font-weight: bold;
    padding-left: 10px;
    font-size: 120%;
    text-align: left;
    margin: 22px 0 7px 0;
    color: var(--basecolor);
}
.theme_mid {
    display: flex;
    margin: 21px 0 30px;
}
.theme_mid_left{
	width: 21%;
    margin-right: 2%;
}
.theme_mid_right{
	    width: 77%;
}
.theme_name{
	display: flex;
}
.theme_name p {
    width: 49%;
    text-align: left;
    margin-right: 2%;
    margin-bottom: 19px;
    border-left: 3px solid #cb413f;
    padding-left: 6px;
}
.poster_img {
    display: flex;
    margin: 0 0 11px;
    flex-wrap: wrap;
}
.poster_img div {
    width: 23%;
    margin: 0.5vw 1%;
}

.award_block{
   margin-bottom: 35px;
    border-bottom: 1px dotted #5d5d5d54;
    padding-bottom: 15px;
}

.award_txt{
	/* display:flex; */
	margin:11px 0 18px;
}
.award_txt a{
	display:inline-block;
	margin-top:0.5em;
	font-size:90%;
	text-decoration:underline;
}
.award_txt p{
	margin: 0;
}

.yassa_dance_point{
	margin: 30px auto;

}
.lyrics_block{
	position: relative;
	max-width: 700px;
	width: 90%;
	margin: 0 auto;
	padding: 20px 20px ;
	z-index: 1;
}
.lyrics_block::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 92%;
	background: #fff;
	bottom: 0;
    right: 0%;
	border-radius: 10px;
	z-index: -2;
}
.lyrics_block p{
	margin: 0;
}
.lyrics_block h4{
	font-size: 150%;
}
.melody_block{
	margin: 40px auto 0;
}
.melody_block h4{
		font-size: 150%;
}
.a_link a{
	text-decoration: underline;
}
.Meeting_block_wrap.flex{
	flex-wrap: wrap;
}
.Meeting_block_wrap{
	margin: 30px auto 0;
}
.meeting_pdf{
	width: 18%;
	margin: 0 2% 0 0;
}
.meeting_text{
	width: 80%;
}
.fes_soukai{
	margin: 50px auto 0;
}
.fes_soukai h2{
	text-align: center;
}
.fes_soukai h2 span{
	display: block;
    font-weight: normal;
    color: var(--basecolor);
    font-size: 15px;
}
.Meeting_block{
	margin: 0 0 3% 0;
	padding: 0 0 3% 0;
	border-bottom: 1px dotted #ccc;
}
.privacy_box h2{
	margin: 1em 0 0;
}
.privacy_box p{
	margin: 0;
}

.join_text h3{
	font-size:200%;
	margin:0px auto 20px;
	text-align:center
}

.kaisai{
	font-size: 140%;
	color:var(--basecolor);
}
/*----------- スポンサー -------------*/
.sponsor_flex .half_block_ttl{
	width:100%;
	padding: 30px 0 0 0;
	justify-content: center;
}
.sponsor_flex .half_block_ttl h2 span{
	margin: 0 0 0 0px;
	display: block;
	padding: 0 20px 0 0;
}
.sponsor_flex .half_block_txt{
	width: 100%;
	margin: 50px auto 0;
}
.million_a a{
	display:inline-block;
	margin:0 auto 20px;
	width: 90%;
}
.million_a a img,
.five_hundred_a a img,
.six_hundred_a a img{
	width: 100%;
	/* max-width: none; */
}
.six_hundred_a a{
	display:inline-block;
	width:80%
}
.five_hundred_a {
	margin:0 0 30px;
}
.five_hundred_a a{
	display:inline-block;
	width:70%
}
.five_hundred_a img{
	width:70%
}

.two_hundred_a,
.one_hundred_a,
.fifty_thousand_sponsor,
.thirty_thousand_sponsor,
.under_thirty_thousand_sponsor{
	display: flex;
    flex-wrap: wrap;
}
.two_hundred_a a,
.one_hundred_a a{
	text-decoration:underline;
	color:#fff;
}


.four_hundred_a.banner_none{
	background:var(--basecolor);
	color:#fff;
	max-width:805px;
	width:100%;
	margin:10px auto 0;
    display: table;
}

.two_hundred_a div {
    text-align: center;
    width: 32%;
    margin: 0 2% 20px 0;
    padding: 7px;
    display: table;
    background:var(--basecolor);
    color:#fff
}
.two_hundred_a div:nth-child(3n){
	margin-right:0
}
.two_hundred_a div p{
	display: table-cell;
    vertical-align: middle;
    height: 132px;
    font-size: 120%;
}

.one_hundred_a div,
.fifty_thousand_sponsor div{
	text-align: center;
    width: 24%;
    margin: 0 1.3% 20px 0;
    border: 1px solid;
    padding: 7px;
    display: table;
	background:var(--basecolor);
	color:#fdf1f1
}
.thirty_thousand_sponsor div,
.under_thirty_thousand_sponsor div{
		text-align: center;
    width: 24%;
    margin: 0 1.3% 20px 0;
    border: 1px solid;
    padding: 7px;
    display: table;
	background:var(--sabcolor);
	color:var(--basecolor)
}
.one_hundred_a div:nth-child(4n),
.fifty_thousand_sponsor div:nth-child(4n),
.thirty_thousand_sponsor div:nth-child(4n),
.under_thirty_thousand_sponsor div:nth-child(4n){
	margin-right:0
}
.one_hundred_a div p,
.fifty_thousand_sponsor div p,
.thirty_thousand_sponsor div p,
.under_thirty_thousand_sponsor div p{
	display: table-cell;
	vertical-align: middle;
	line-height: 1.2;
}
.one_hundred_a div p{
	height: 132px;
	font-size: 118%;
}
.fifty_thousand_sponsor div p{
	height: 95px;
    font-size: 120%;
}
.thirty_thousand_sponsor div p{
	height: 80px;
    font-size: 110%;
}
.under_thirty_thousand_sponsor div p{
	    height: 50px;
    font-size: 95%;
}


/*--準備中--*/
.preparation{
	padding:30px ;
	font-weight:bold;
	color:var(--basecolor)
}
.odoriteam_time{
flex-wrap: wrap;
    align-items: flex-end;
	
}
.odoriteam_time p{
	width:50%;
	display:inline-block;
}

/*--------------SP--------------■■■■■■■■■■■*/
@media(max-width:1300px){
	.news_link .flex{
		font-size: 14px;
	}
	.news_text{
		margin: 0px 10px 10px;
	}
	.guide_mein_ttl::after{
		right: -3vw;
	}
	.miharin,.daruman{
		width: calc(18vw + 20px);
	}
	.daruman{
		right:6%;
	}
	.footer_link_ttl{
		text-align: center;
	}
}
@media(max-width:1000px){
	.miharin{
		top: -75px;
	}
	.daruman{
		right: 5%;
		top: -125px;
	}


	/*-------- contact page ----------*/



}
@media(max-width: 960px){
	/*------共通---------*/
	.flex_wrap_reverse{
		flex-wrap: wrap-reverse;
	}
	.flex{
		flex-wrap: wrap;
	}
	.news_box{
		width:100%;
	}
	.section_box,
	.back_on_white .section_box{
		margin: 30px auto;
		padding: 10vw 0 0;
	}
	/*--sp‗ろご--*/
	.sp_logo{
		position: relative;
		padding: 10px 70px 10px 20px;
	}
	.sp_logo.flex{
		align-items: center;
		justify-content:space-between;
	}
	.sp_logo img{
		width: auto;
		height: 8vw;
		max-height: 48px;
		margin: 0 1.5vw;
	}
	.instagram_sp img{
		max-height:40px;
	}


	/*--sp_menu--*/
	.sp_menu_wrap{
		width: 95%;
		margin: 70px auto 0;
	}
	.sp_menu_logo img{
		width: 80%;
	}
	.sp_event_guide{
		display: flex;
		flex-wrap: wrap;
	}
	.sp_event_guide a{
		display: block;
		width: 48%;
		margin: 4% 4% 0 0;
		background: #fff;
		padding: 30px 0;
		border-radius: 5px;
		text-align: center;
	}
	.sp_event_guide a:nth-child(2n){
		margin: 4% 0 0 0;
	}
	.sp_event_guide a h3{
		text-align: center;
	}
	.sp_event_guide a h3 span{
		display: block;
		font-size: 10px;
		color: var(--basecolor);
	}
	.sp_event_guide a img{
		height: 50px;
	}
	.sp_menu_wide_btn{
		display: block;
		padding: 5px;
		width: 100%;
		background: #fff;
		text-align: center;
		border-radius: 5px;
		margin: 10px auto 0;
	}
	.language_btn {
		margin: 20px auto;
	}
	.language_btn a{
		color: #fff;
	}
	.sp_menu_list {
		margin: 4% auto;
		background: #fff;
		border-radius: 5px;
		padding: 10px;
	}
	.sp_menu_list h3{
		text-align:center
	}
	.sp_menu_list ul{
		list-style-type: none; /*点を非表示*/
		margin: 0.5em;
		padding: 0 0 0 1.5em;
	}
	.sp_menu_list ul li{
		position: relative; /*基準位置*/
	}
	.sp_menu_list ul li:before {
		width: 7px; /*点の幅*/
		height: 2px; /*点の高さ*/
		display: block;
		position: absolute; /*絶対配置*/
		left: -1em; /*点の位置*/
		top: 0.7em; /*点の位置*/
		content: "";
		background: var(--basecolor);
	}
	.sp_copyright{
		text-align: center;
		padding: 30px 0 40px;
		color: #fff;
	}

	/*--新着情報--*/
	.nami_1{
		bottom: -42px;
		left: 6%;
	}
	.nami_2{
		bottom: 70px;
		left: 32%;
	}
	.news_section{
		padding: 60px 0 0px 0;
	}
	.news_ttl{
		width: 100%;
		margin:0 auto 50px
	}
	.news_ttl img{
		width:40%
	}
	.news_wrap::after{
		width: 60%;
		height: 21%;
		top:200px;
	}
	.news_section::after{
		height:95%
	}
	/**/
	.banner_link .flex{
		align-items:center;
		justify-content:center
	}
	/**/
	.guide_under .contents_wrap{
		padding: 0;
	}
	.guide_mein_ttl h2{
		writing-mode: horizontal-tb;
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: horizontal-tb;
		text-shadow: 5px 5px 10px #fff;
	}
	.guide_mein_ttl h2 span{
		vertical-align: baseline;
	}
	.guide_mein_ttl::after{
		width: 20%;
		height: 200px;
		top: -20px;
		bottom: unset;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}
	.guide_wrap{
		flex-wrap: wrap-reverse;
	}
	.guide_link.flex{
		width: 100%;
	}
	.guide_mein_ttl{
		width: 100%;
		margin: 0px auto 50px 0;
	}

	
	/*--やっさを知る--*/
	.box_text h4{
		font-size: 140%;
	}


	/*ｰｰ協賛企業ｰｰ*/
	.sponsor_ttl{
		font-size: 200%;
	}
	.sponsor_ttl p{
		font-size: 15px;
	}
	.sponsor_box{
		padding: 50px 0 ;
	}
	.text-block{
		width: 70%;
	}
	.nami_9{
		height: 10vw;
	}

	/*子page*/
	.under_top_wrap,
	.under_top_wrap.pink_back{
		padding: 0 0 50px;
	}
	.under_hero_img .under_hero{
		object-fit: cover;
        width: 100%;
        height: 250px;
	}

	/*--実行委員--*/
	.chairman_txt h3{
		font-size:140%
	}
	.chairman_block, .chairman_txt_block{
		width:31.333%;
		margin:3% 3% 0 0
	}
	.chairman_block:nth-child(5n), .chairman_txt_block:nth-child(5n){
		margin: 3% 3% 0 0;
	}
	.chairman_block:nth-child(3n), .chairman_txt_block:nth-child(3n){
		margin: 3% 0% 0 0;
	}

	/*--キャンペーンテーマ--*/
	.theme_table th, .theme_table td{
		display:block
	}
	.theme_table td:nth-of-type(1) {
        background-color: #c71e3a;
        text-align: center;
        color: #fff;
        padding: 5px 0;
    }
	.theme_table td{
		padding:10px 10px
	}
	    .theme_table tr {
        display: block;
        margin: 0 0 24px;

    }
	/*--スポンサー--*/
	.two_hundred_a div {
    text-align: center;
    width: 48%;
    margin: 2% 4% 0 0;
	}
	.two_hundred_a div:nth-child(3n){
		margin: 2% 4% 0% 0;
	}
	.two_hundred_a div:nth-child(2n){
		margin: 2% 0% 0% 0;
	}
	.one_hundred_a div,
	.fifty_thousand_sponsor div ,
	.thirty_thousand_sponsor div, 
	.under_thirty_thousand_sponsor div {
	    text-align: center;
	    width: 32%;
	    margin: 2% 2% 0% 0;
	}
	.one_hundred_a div:nth-child(4n),
	.fifty_thousand_sponsor div:nth-child(4n),
	.thirty_thousand_sponsor div:nth-child(4n), 
	.under_thirty_thousand_sponsor div:nth-child(4n) {
		margin: 2% 2% 0% 0;
	}
	.one_hundred_a div:nth-child(3n),
	.fifty_thousand_sponsor div:nth-child(3n),
	.thirty_thousand_sponsor div:nth-child(3n),
	.under_thirty_thousand_sponsor div:nth-child(3n) {
		margin: 2% 0% 0% 0;
	}
	


}

@media(max-width:768px){
	.sp_logo img{
		width: auto;
		height: 10vw;
	}

	.top_wrap video{
		height: 100vw;
	}


	/*--news--*/
	.page_andmore{
	margin:0
	}
	.news_section::after{
		height:100%
	}
	.nami_1{
		height: 17vw;
	}
	.nami_2{
		height: 17vw;
	}
	.news_section{
		margin: 0 auto 80px;
	}

	/*--50回のお知らせ--*/
	.section_box.guide_under{
		margin: 100px auto 100px;
	}
	.nami_3{
		height: 18vw;
		top: -80px;
	}
	.nami_6{
		height: 16vw;
	}

	.guide_link.flex a:nth-child(1)::after, 
	.guide_link.flex a:nth-child(2)::after{
		width: 90%;
	}

	/*--やっさを知る--*/

	.about_ttl{
		writing-mode: vhorizontal-tb;
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: horizontal-tb;
		text-align: center;
	}
	.guide_link a h3{
		font-size: 200%;
	}
	.guide_link a h3::after{
		font-size: 20px;
		left: -20px;
		top: -25px;
	}
	.about_ttl h2{
		font-size: 120%;
	}
	.guide_link a{
		padding: 60px 0 40px;
	}
	.about_box{
		flex-wrap: wrap;
	}
	.about_link{
		width: 100%;
	}
	.about_link{
		margin: 50px auto 0;
	}
	.box_text h4{
		font-size: 130%;
	}
	.Learn_about .box_text h4{
		font-size:180%;
	}
	/*ｰｰ協賛企業ｰｰ*/
	.sponsor_ttl{
		font-size: 160%;
	}
	.sponsor_ttl p {
        font-size: 12px;
    }

	.footer_link_box{
		flex-wrap: wrap;
	}
	.cont_item{
		width: 50%;
	}
	.cont_item .cont_ttl{
		padding: 0;
	}
	.footer_link_ttl{
		width: 100%;
		text-align: center;
	}
	.footer_link_ttl img{
		max-height: 250px;
		width: auto;
	}
	.footer_link_box{
		margin: 0;
		width: 100%;
	}
	.footer_nami{
		width: calc( 57vw + 20px );
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}
	.miharin{
		right: unset;
		left: 5%;
	}
	.miharin, .daruman{
		width: calc(36vw + 20px);
	}
	.meeting_pdf,.meeting_text{
		width: 100%;
	}

	/*ポスター*/
	.poster_ttl{
		width: 100%;
	}
	.poster_block{
		width: 100%;
	}

	/*--実行委員長--*/
	.man_tb td{
		display:block;
	}
	.man_tb .bold{
		border-bottom:1px dotted #ccc
	}
	.chairman_block, .chairman_txt_block{
		margin: 3% 4% 0 0;
		width: 48%;
	}
	.chairman_block:nth-child(5n), .chairman_txt_block:nth-child(5n){
		margin: 3% 4% 0 0;
	}
	.chairman_block:nth-child(3n), .chairman_txt_block:nth-child(3n){
		margin: 3% 4% 0 0;
	}
	.chairman_block:nth-child(2n), .chairman_txt_block:nth-child(2n){
		margin: 3% 0% 0 0;
	}

	/*--ミスやっさ--*/
	.miss_yassa_txt .red{
		font-size:130%
	}
	.miss_yassa_txt h3{
		font-size: 120%;
	}
	.miss_yassa_intro_left, .miss_yassa_intro_right{
		width:98%;
		margin:2% 1% 0 0
	}
	.miss_yassa_intro h2{
		font-size:120%
	}
	.rekidai_miss_img .rekidai_miss_img_old{
		width:98%;
		margin:2% 1%;
	}
	.miss_oldgirl{
		flex-wrap:wrap
	}
	.miss_oldgirl p{
		width:100%
	}
	/*--キャンペーンテーマ--*/
	.theme_intro .theme_logo, .theme_intro .theme_text{
		width: 100%;
		margin: 0;
	}
	.theme_mid{
		flex-wrap:wrap
	}
	.theme_mid_left{
		width:100%;
		margin:0 0 2% 0;
		text-align:center
	}
	.theme_mid_right{
		width:100%	
	}
	.theme_keetei{
		font-size:120%
	}
	.theme_top h3{
		font-size:200%
	}
	.theme_name{
		flex-wrap:wrap
	}
	.theme_name p{
		width:90%
	}
	/*--参加する--*/
	.join_text h3{
		font-size:150%
	}
	/*--スポンサー*/
	.million_a a,
	.six_hundred_a a,
	.five_hundred_a a{
		width: 100%;
	}
	.two_hundred_a div {
	    text-align: center;
	    width: 100%;
	    margin: 3% 0% 0 0;
	}
	.two_hundred_a div:nth-child(3n){
		margin: 3% 0% 0% 0;
	}
	.two_hundred_a div:nth-child(2n){
		margin: 3% 0% 0% 0;
	}
	.one_hundred_a div,
	.fifty_thousand_sponsor div ,
	.thirty_thousand_sponsor div, 
	.under_thirty_thousand_sponsor div {
	    text-align: center;
	    width: 48%;
	    margin: 2% 4% 0% 0;
	}
	.one_hundred_a div:nth-child(4n),
	.fifty_thousand_sponsor div:nth-child(4n),
	.thirty_thousand_sponsor div:nth-child(4n), 
	.under_thirty_thousand_sponsor div:nth-child(4n) {
		margin: 2% 4% 0% 0;
	}
	.one_hundred_a div:nth-child(3n),
	.fifty_thousand_sponsor div:nth-child(3n),
	.thirty_thousand_sponsor div:nth-child(3n),
	.under_thirty_thousand_sponsor div:nth-child(3n) {
		margin: 2% 4% 0% 0;
	}
	.one_hundred_a div:nth-child(2n),
	.fifty_thousand_sponsor div:nth-child(2n),
	.thirty_thousand_sponsor div:nth-child(2n),
	.under_thirty_thousand_sponsor div:nth-child(2n) {
		margin: 2% 0% 0% 0;
	}
	.one_hundred_a div p {
		font-size:118%
	}

	.scrolling-area p:nth-child(3) img{
		width:100%;
	}
	.scrolling-area p:nth-child(4) img{
		width:100%;
	}
}
@media(max-width:600px){
	.about_link .flex a::after, .about_link a::after{
		top: 110px;

	}
	.guide_link.flex a:nth-child(3),
	.guide_link.flex a:nth-child(4){
		width: 100%;
		margin: 0 0 4% 0;
	}
	.cont_item{
		width: 100%;
	}
	.cont_item .cont_ttl{
		font-size: 110%;
		margin: 13px auto 0;
	}
	.cont_item ul li{
		margin: 6px 0 0 0;
	}
	/*--花火を見る--*/
	.hanabi_time div{
		width:100%;
		text-align:center;
		margin:30px auto 0
	}
	.hanabi_time div:nth-child(1) h3::after{
		left: 20px;
	}
	.hanabi_time div:nth-child(2) h3::after{
		left: 20px
	}
	.hanabi_time div:nth-child(3) h3::after{
		left: 20px
	}
	
	.scrolling_flex span{
		width:50%;
		padding:0 10px;
	}
}
@media(max-width:560px){
	.sp_logo{
		padding: 10px 70px 10px 5px;
	}
	.sp_logo.flex{
		justify-content:space-between;
	}
	.sp_logo .sp_logo_img img{
		height: 12vw;
		max-width:calc(100vw - 165px);
	}
	.news_section{
		padding: 30px 0 20px;
		margin: 0 auto;
	}
	.news_ttl{
		margin:20px auto
	}

	.news_ttl h2{
		font-size: 100%;
	}
	.news_box{
		margin: 30px auto 0;
	}
	.news_wrap::after{
		left: 14%;
		width: 60%;
		height: 9%;
		top: 120px;
	}

	/**/
	.banner_section{
		margin:0 auto
	}

	/**/
	.about_ttl h2{
		font-size: 100%;
	}

	.link_btn a{
		font-size: 100%;
	}

	.guide_mein_ttl h2 p{
		font-size: 13px;
		margin: 0 auto;
	}
	.guide_mein_ttl h2{
		font-size: 220%;
		text-align: center;
	}

	.footer_operation{
		padding: 100px 0 30px;
	}
	.footer_under_link{
		flex-wrap: wrap;
	}
	.footer_under_link a{
		width: 100%;
		margin: 5px 0;
	}
	.footer_under_link p{
		display: none;
	}
	.copyright{
		margin: 30px auto;
	}

	/*--50回のお知らせ--*/
	.guide_link a h3{
		font-size: 180%;
	}
	.nami_3{
		top: -40px;
		right: 3%;
	}
	.section_box.guide_under{
		margin: 30px auto 60px;
	}
	/*--やっさ祭りを知る--*/
	.about_link{
		margin: 30px auto 0;
	}
	.about_ttl p{
		margin:0 auto;
		font-size: 14px;
	}
	.nami_6{
		bottom: -3%;
	}
	.half_block_ttl{
		width: 10%;
	}
	.half_block_ttl.poster_ttl{
		width: 100%;
		writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		-webkit-writing-mode: horizontal-tb;
	}
	.half_block_ttl.poster_ttl h2{
		margin: 0 auto;
	}
	.half_block_ttl.poster_ttl h2 span{
		display: block;
		text-align: center;
	}
	.half_block_txt.poster_block{
		width: 100%;
		margin: 0 auto;
	}
	.half_block_txt {
		width: 83%;
		margin: 100px 1% 0 6%;
	}

	/*--協賛企業--*/
	.text-block{
		width: 90%;
	}
	.five_hundred_a.banner_none p{
		font-size:170%;
		height:150px;
	}
	/**/
	.back_on_white{
		width: 100%;
		border-radius: unset;
	}

	/*やっさ踊りの歌詞*/
	.lyrics_block{
		width: 100%;
		padding: 0;
	}
	.lyrics_block::after{
		width: 124%;
		height: 99%;
		right: -4%;
		bottom: -1%;
		margin: 0 0 0px 0;
	}
	.pink_block_ttl h2{
		font-size: 150%;
	}
	.design_hero{
		width: 40%;
		bottom: 20px;
		right: 20px;
	}
	.nami_1{
		left:2%;
	}
	.nami_2{
		bottom: 48px;
		left: 28%;
	}
	.page_andmore{
		margin: 0 auto;
	}
	.nami_7{
		display:none
	}
	.nami_8{
		top: -46px;
		height: 25vw;
	}
	.nami_9{
		height: 16vw;
		bottom: -30px;
	}

	.highlight_block p{
		text-align:left;
	}
}
@media(max-width:960px){
	.news_box .news_link:nth-child(3n+1),
	.news_box .news_link{
		margin: 0 4% 30px 0;
		width: 48%;
	}	
	.news_box .news_link:nth-child(2n+1){
		margin: 0 0 25px 0;
	}
	.news_box .news_link .mask{
		height:30vw;
		width:30vw
	}
	.news_box .news_text{
		font-size:90%;
	}
}
@media(max-width:768px){
	.news_box .news_link:nth-child(3n+1),
	.news_box .news_link:nth-child(2n+1),
	.news_box .news_link{
		margin: 0 0 30px 0;
		width: 100%;
	}	
	.news_box .news_link .mask{
		height:45vw;
		width:45vw;
	}
	.news_box .news_text{
		font-size:90%;
	}
}

/* 動画下のバナー */
.pickup_banners{
	display:flex;
	margin: 0 auto 0vw;
	max-width:1100px;
	width:90%;
}
.pickup_banners a{
	margin:2vw 1.5vw;
	width: 33%;
}
@media(max-width:768px){
	.pickup_banners{
		flex-wrap: wrap;
		margin:2vw;
	}
	.pickup_banners a{
		width: 45%;
		margin:2.5%;
	}
}

.special_stage{
	display:flex;
	margin:30px auto 40px;
	max-width:850px;
}
.special_stage > div:first-child{
	width:40%;
	padding:0 20px 0 0;
}
.special_stage > div:last-child{
	width:60%;
}
.special_stage img{
	max-height:350px
}
.special_stage h4{
	font-size:110%;
	margin-bottom:0.8em;
	color:var(--basecolor);
}
.special_stage_msg{
	max-width:850px;
	margin: 0 auto;

}

@media(max-width:768px){
	.special_stage{
		flex-wrap:wrap;
	}
	.special_stage > div:first-child{
		width:100%;
		padding:0 5% 4%
	}
	.special_stage > div:last-child{
		width:100%;
		padding:0 5%
	}
	.special_stage_msg{
		padding: 0 5%
	}
	.odoriteam_time p{
		width:100%;
	}
}

.no_movie{
	text-align:center;
}
.no_movie img{
	max-height:70vh;	
}
@media(max-width:768px){
	.no_movie{
		height:100vw;
	}
	.no_movie img{
		height:100%;
		object-fit:cover;	
	}	
}

#rain_info section{
	width:1000px;
	max-width:94vw;
	margin:50px auto;
	border:5px solid;
	border-radius:20px;
	border-color:var(--basecolor);
	padding:20px 30px;
}

#rain_info h3{
	text-align:center;
	color:var(--basecolor);
	font-size:140%;
	margin-bottom:20px;
}

#rain_info div{
	font-size:115%;
	line-height:1.8;
}

@media(max-width:768px){
	#rain_info section{
		width:1000px;
		max-width:94vw;
		margin:20px auto;
		border:none;
		border-radius:20px;
		border-color:var(--basecolor);
		padding:20px;
	}	
	#rain_info div{
		font-size:95%;
		line-height:1.8;
	}
}