@charset "utf-8";
/* CSS Document */

h2.page-title{
padding:300px 0 200px;
font-size:30px;
letter-spacing:2px;
height:400px;
width:100%;
text-align:center;
background-size:cover;
background-repeat:no-repeat;
background: rgba(46,49,146,0.05);
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,e5e5e5+100;White+3D */
background: linear-gradient(135deg,  rgba(255,255,255,1) 0%,rgba(46,49,146,0.05) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
font-weight:700!important;
}

#sub-main {
	max-width:1100px;
	min-height:800px;
	margin:-80px auto 50px;
	line-height:2;
	font-size:17px;
}

#sub-main.sponsorship-page {
	min-height:100px;
}

#sub-main h2,#sub-main h3,#sub-main h4,#sub-main h5 {
	line-height:1.5;
}



@media only screen and (max-width:1200px){
#sub-main {
	width:80%;}	
}


@media only screen and (max-width:1159px){
h2.page-title {
	padding:200px 0 100px;
	font-size:30px;
	height:400px;
}
#sub-main {
	margin: -110px auto 50px;
	width:80%;
}	
}

@media only screen and (max-width:820px){
h2.page-title {
	padding:160px 0 100px;
	font-size:30px;
	height:300px;
}
#sub-main {
	margin:-70px auto 50px;
	width:80%;
}	
}

@media only screen and (max-width:767px){
h2.page-title {
	padding:150px 0 100px;
	font-size:24px;
	height:300px;
}
#sub-main {
	margin:-100px auto 50px;
	width:86%;
}	
}

@media only screen and (max-width:390px){
h2.page-title {
	padding:140px 0 100px;
	font-size:23px;
	letter-spacing:0.5px;
}
}

h2.page-inner-big-title {
	padding:100px 0 100px;
	font-size:30px;
	letter-spacing:2px;
	width:100%;
	text-align:center;
	background-size:cover;
	background-repeat:no-repeat;
	background: rgba(46,49,146,0.05);
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,e5e5e5+100;White+3D */
	background: linear-gradient(135deg,  rgba(255,255,255,1) 0%,rgba(46,49,146,0.05) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

@media only screen and (max-width:820px){
h2.page-inner-big-title {
	padding:80px 0 80px;
	font-size:30px;
}	
}

@media only screen and (max-width:767px){
h2.page-inner-big-title {
	padding:60px 0 60px;
	font-size:24px;
}
}

@media only screen and (max-width:390px){
h2.page-inner-big-title {
	font-size:23px;
	letter-spacing:0.5px;
}
}


/*------------------------------------------------
　まつり情報
------------------------------------------------*/
.info-top-img {
	max-width:400px;
	margin:auto;
}

.outline-box {
	padding:30px 50px 35px;
	border:3px solid #2e3192;
	border-radius:10px;
	box-shadow: rgba(17, 17, 26, 0.1) 0px 0px 16px;
}

.outline-box p {
	font-size:20px;
	line-height:1.5;
}

.outline-box p a {
	border-bottom:1px solid #2e3192;
}

.outline-box p a:hover {
	border-bottom:1px solid #2e3192;
	padding-bottom:2px;
}

@media only screen and (max-width:767px){
.outline-box {
	padding:20px 30px 25px;
}
.outline-box p {
	font-size:18px;}
}




@media only screen and (max-width:1024px){
.info-top-img {
	max-width:300px;
	margin:auto;}	
}

@media only screen and (max-width:767px){
.info-top-img {
	max-width:220px;
	margin:auto;}
}


/* 一日のタイムテーブル */
.schedule-day table td {
	padding:0 0 10px 0;
	border:none;
	line-height:1.5;
	font-size:18px;
}

.schedule-day table td:nth-of-type(1) {
	width:9.5em;
	font-size:20px;
	font-weight:600;
	vertical-align:top;
	color:#2e3192;
}

@media only screen and (max-width:767px){
.schedule-day table td {
	width:100%;
	display:block;
	border-bottom:none;
	line-height:1.5;
	font-size:16px;
}
.schedule-day table td:nth-of-type(1) {
	font-size:20px;
}	
.schedule-day table td:nth-of-type(2) {
padding:0 0 20px 15px;
}
}

/* スケジュールテーブル */
.fes-schedule table th, .fes-schedule table td {
	padding:5px 10px;
}

.fes-schedule table td {
	text-align:left;
}

.fes-schedule table th {
	background:rgba(232,236,239,0.5);
	text-align:center;
}

.fes-schedule table th:nth-of-type(1) {
	width:40%;
}

@media only screen and (max-width:767px){
.fes-schedule table th:nth-of-type(1) {
	width:30%;
}
.fes-schedule table th, .fes-schedule table td {
	font-size:15px;}
}

/*10:00～10:00　の入っているテーブル */
.fes-schedule-2column table th, .fes-schedule-2column table td {
	padding:5px 10px;
}

.fes-schedule-2column table td {
	text-align:left;
}

.fes-schedule-2column table th {
	background:rgba(232,236,239,0.5);
	text-align:center;
}

.fes-schedule-2column table th:nth-of-type(1) {
	width:40%;
}

@media only screen and (max-width:767px){	
.schedule-date {
	font-size:22px;
	line-height:1.4;
}
.schedule-table-title {
	font-size:20px;
	line-height:1.4;
}
.fes-schedule-2column.no-first-row table tr:first-child th {
	display:none;
}
.fes-schedule-2column table th,.fes-schedule-2column table td {
	width:100%!important;
	display:block;
	border-bottom:none;
	font-size:15px;
}
.fes-schedule-2column table {
	border-bottom:1px #000 solid;}
}


/*------------------------------------------------
　振興会について
------------------------------------------------*/

/*グランプリ・殿堂入り*/
.grandprix-title {
	font-size:24px;
	margin:0px 0 0!important;
}

.grandprix-desc { 
	font-size:18px;
	margin:0!important;
}

.dendo-box {
	border-radius:10px;
	box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

@media only screen and (max-width:767px){
.dendo-box {
	padding:30px 25px;
}	
}

.grandprix-table table th {
	background:rgba(232,236,239,0.5);
}

.grandprix-table table th:first-child {
	width:20%;
}

.grandprix-table table td {
	text-align:center;
	line-height:1.5;
}

.grandprix-table table td[colspan] {
	background-color:#fdeff2;
	font-size:15px;
}

@media only screen and (max-width:767px){
.grandprix-table table td {
	text-align:center;
	line-height:1.5;
}
}

/*------------------------------------------------
　ご協賛
------------------------------------------------*/

/*　申込テーブル　*/
.contact-table td:nth-of-type(1) {
width:20%;
text-align:right;
padding:0.2em 2em 0.2em 0;
background:rgba(232,236,239,0.5);
}
.contact-table td:nth-of-type(2) {
padding:0.2em 0 0.2em 2em;
}

@media only screen and (max-width:1024px){
.contact-table td:nth-of-type(1) {width:25%;text-align:center;padding:0.2em;background:rgba(232,236,239,0.5);}
}

@media only screen and (max-width:767px){
.contact-table td:nth-of-type(1) {
width:100%;
display:block;
border-bottom:none!important;
}
.contact-table td:nth-of-type(2) {
width:100%;
display:block;
text-align:center;
padding:0.2em;
border-bottom:none!important;
}
.contact-table {
	border-bottom:#666 solid 1px;}
}



/*------------------------------------------------
　連盟
------------------------------------------------*/

hr.ondotori {
	/* width: 800px; */
	border: 0;
	height: 8px;
	background-image:
	repeating-linear-gradient(45deg, rgba(46,49,146,0.2) 0px, rgba(46,49,146,0.2) 1px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%),
	repeating-linear-gradient(135deg, rgba(46,49,146,0.2) 0px, rgba(46,49,146,0.2) 1px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%);
	background-size: 8px 8px;
	background-repeat: repeat-x;
}

@media only screen and (max-width:767px){
.web-site {
	gap:5px!important;
	margin-top:50px!important;
}
.web-name {
	text-align:center!important;
	margin:auto!important;
}	
}

/* ギャラリー2列　カスタマイズ */

.gallary-2column figure {
	width: calc(50% - 20px)!important;
}
.gallary-2column { gap:20px!important;}
.gallary-2column figcaption { line-height:1.5!important;}

.gallary-2column { 
	margin:30px auto;
}

@media only screen and (max-width:767px){
.gallary-2column { 
	width:100%!important;
	margin:30px auto;
}
.gallary-2column figure {
	width: calc(100% - 20px)!important;}
}



/* お知らせページ */
section#info {
	margin:0;
	padding:0;
	background-repeat:repeat;
}

section#info > .inner {
	padding: 0px 0 120px!important;
}

#info ul {
	list-style: none;
	margin:10px 0 0px 0;
	padding:10px 0 10px 0;
}

#info ul li {
	clear: both;
	margin:0 0 1em;
	padding-top:1em;
	line-height: 1.7;
	border-top:2px solid #eee;
	display:flex;
	flex-wrap:wrap;
	position:relative;
	gap:8px;
	font-weight:600;
}

#info ul li a {
	text-decoration:none;
	border-bottom:1px solid #0a174f;
	color:#0a174f;
}

#info ul li a:hover {
	padding-bottom:0.1em;
}

#info ul li:last-child {
	margin: 0 0 1em;
	padding-bottom:1.5em;
	border-bottom:2px solid #eee;
}

#info ul li div {
	/* padding: 2px 3px 5px; */
	font-size:18px;
}

[class^="cat-"] > div.catName {
	display: inline;
	text-align: center;
	vertical-align: middle;
	padding:3px 0 0 0;
	width:7em;
	height:2.1em;
	color:#fff;
	font-size:13.5px!important;
}

.cat-general-info > div.catName {
	color:#2e3192;
	border:1px solid #2e3192;
}

.cat-f47 > div.catName { 
	background:#2e3192;}

.cat-f48 > div.catName { 
	background:#65318e;}

.cat-eventday > div.catName { 
	background:#ff4606;}


#info ul li div.ymd {
	display: inline-block;
	font-size:15px;
	padding: 2px 0;
	color: #2e3192;
	text-align: center;
	width:10em;
	vertical-align: middle;
}

#info ul li div.article-title {
	display: inline;
	color: #2e3192;
	text-align:left;
	width:auto;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0); /* 初期位置 */
  }
  40% {
    transform: translateY(-5px);
  }
  60% {
    transform: translateY(-3px);
  }
}

/* バウンドアニメーションを適用する要素のスタイル */
.element-2 {
   /* 2秒間隔で無限にバウンドする */
}

#info ul li div.article-title span.new {
animation: bounce 2s infinite;
display:inline-block;
vertical-align:top;
margin:5px 0 0;
font-size:11px;
background:yellow;
padding:0 2px;
}



@media only screen and (max-width:1360px){
section.news-title {
	width:70%;
	margin:0 auto 0;
	padding:50px 0 0px;
}
.news-inner {
	width:70%;
	margin:30px auto;
	padding:50px 0 60px;
}	
}

@media only screen and (max-width:840px){
section.news-title {
	width:65%;
	margin:0 auto 0;
	padding:50px 0 0px;
}
.news-inner {
	width:80%;
	margin:30px auto;
	padding:50px 0 60px;
}
#info ul li {
	font-size:16px;
}	
}

@media only screen and (max-width:768px){	
section#info > .inner {
	padding: 0px 0 120px!important;
	width:100%!important;
}
}


@media only screen and (max-width:767px){
section.news-title {
	width:55%;
	margin:0 auto 0;
	padding:50px 0 0px;
}
.news-title h2 {
	font-size:26px;
	letter-spacing:1px;
}
#info ul li {
	clear: both;
	margin:0 0 0.8em;
	padding-top:0.8em;
}
#info ul li a {
	text-decoration:none;
	border-bottom:1px solid #0a174f;
	color:#0a174f;
	font-size:17px;}
}


.wp-pagenavi {
	clear: both;
}

.wp-pagenavi a, .wp-pagenavi span {
	text-decoration:none;
	border:2px #2e3192 solid;
	padding:3px 5px;
	margin:2px;
	font-size:13px;
	background:#fff;
	color:#2e3192;
}

.wp-pagenavi a:hover, .wp-pagenavi span.current {
	background:#2e3192;
	color:#fff;
}

.wp-pagenavi span.current {
	font-weight: bold;
}



/* お問い合わせフォーム
----------------------------------------------------*/
table.form-table {
	width:100%;
	margin: 50px auto 20px;
	border-top: solid 1px #0a174f;
	border-bottom: solid 1px #0a174f;
}
.form-table th {
	border-bottom: solid 1px #0a174f;
	padding:10px 20px;
	text-align:left;
	font-size:18px;
	background-image:url(../img/dust_scratches.png);
	background-repeat:repeat;
	white-space: nowrap;
}
.form-table th p span {
	display:block;
}

.form-table td {
border-bottom: solid 1px rgba(46,49,146,0.8);
padding: 10px;
}
.form-table th.last,.form-table td.last {
	border-bottom:none;
}
.form-table td {
border-bottom: solid 1px rgba(46,49,146,0.8);
padding: 10px;
}

.form-table td p {
padding:10px 0 15px 0;
line-height:1.6;
}
.form-table .wpcf7-list-item {
	margin:0 0 0 0;
	width:100%;
	text-align:left;
}
span.required { 
	font-size:12.5px;
	display:inline-block!important;
	vertical-align:middle;
	background:#ff4606;
	color:#fff;
	padding:0 5px 0;
	margin:0 5px 0 0px;
	border-radius:2px;
}
.subbtn { 
	text-align:center;
	margin:auto;
}

.wpcf7-spinner {
	display: block!important;
}


@media screen and (max-width:767px) {
.form-table {
width:100%;
}
.form-table th p span {
	display:inline-block;
}
.form-table th,
.form-table td {
	display:block;
	width: 100%;
}
.form-table td {
	border-bottom: solid 1px rgba(46,49,146,0.8);
	padding: 5px 0 15px;
}
}

.form-table input {
	height : 1.8em;
	border : 1px solid rgba(46,49,146,0.8);
	border-radius : 3px;
	background : #fff;
	font-size: 16px;
	color: #0a174f;
	padding:5px;
}

.form-table select {
	height : 1.8em;
	border : 1px solid rgba(46,49,146,0.8);
	border-radius : 3px;
	background : #fff;
	font-size: 16px;
	color: #0a174f;
	padding:0 5px;
}

.form-table textarea {
	width : 300px;
	height : 180px;
	resize : vertical;
	border : 1px solid rgba(46,49,146,0.8);
	border-radius : 3px;
	background : #fff;
	padding: 5px;
	color: #0a174f;
}
.form-table input:focus,
.form-table textarea:focus {
	border:none!important;
	box-shadow : 0px 0px 8px rgba(46,49,146,0.5);
	background : #ffffff;
}

.form-table label:hover{
	cursor:pointer;
}
.form-table input {
	height : auto;
	width:100%;
	margin-right : 0.5em;
}

.form-table .wpcf7-radio input {
	width: auto;
	margin-left:1em;
}

.form-table textarea {
	height:auto;
	width:100%;
	margin-right:0.5em;
}

.form-table textarea::placeholder {
	font-size:15px;
}

input.submit_button {
	width : auto;
	height : auto;
	display:inline-block;
	vertical-align : middle;
	border-radius : 3px;
	font-family : inherit;
	border:none;
	padding:15px 30px;
	font-size: 17px;
	line-height: 26px;
	color: #000;
	background-color: #fff;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 10px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 10px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 10px 0px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
	margin: auto;
	cursor:pointer;
}
input.submit_button:hover{
	cursor : pointer;
	color:#fff;
	background-color:rgba(46,49,146,1.0);
}

@media screen and (max-width:767px) {
.form-table input,
.form-table select,.form-table textarea {
	width:100%;
}
input.submit_button {
	margin:15px auto 0;
	}
}

input.sent_button {
	width : auto;
	height : auto;
	display:inline-block;
	vertical-align : middle;
	border-radius : 3px;
	font-family : inherit;
	border:none;
	padding:15px 30px;
	font-size: 17px;
	line-height: 26px;
	color: #000;
	background-color: #fff;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 10px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 10px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 10px 0px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
	margin: auto;
	cursor:pointer;
}
input.sent_button:hover{
	cursor : pointer;
	color:#fff;
	background-color:rgba(46,49,146,1.0);
}

@media screen and (max-width:767px) {
input.sent_button {
	margin:15px auto 0;
	}
}