@charset "utf-8";

/*
Theme Name: zenix
Template: twentyeleven
Version: 7.296
*/


html{
	font-size:62.5%;
}
body {
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	font-size: 1.6rem;
	font-weight: 400;
	padding: 0;
	word-wrap: break-word;
	box-sizing: border-box;
	background: rgb(255, 255, 255);
}
a, a img {
	transition: .3s ease-in-out;
}
a:hover,
a img:hover{
	opacity: 0.75;
}
strong{
    font-weight: 600;
    background: linear-gradient(rgba(0, 0, 0, 0) 70%, rgba(255, 235, 59, 0.45) 0%);
}
dl{ margin: 0 0 2em; }
dt {
	line-height: 2.3;
	margin: 0;
	padding: 0 10px;
	border: solid 1px rgb(153, 153, 153);
	background-color: rgb(251, 251, 251);
}
dd {
	line-height: 1.6;
	margin: 0;
	padding: 12px 10px;
}
em {
	color: rgb(255, 0, 0);
	font-style: initial;
}
del {
  text-decoration-line: line-through;
  text-decoration-thickness: 1px;
  text-decoration-color: #999;
}
.font-j{ font-family: 'Lato', 'Noto Sans Japanese', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; }
.font-fj{ font-family: 'Fjalla One', sans-serif; }
.inner {
	max-width: 770px;
	overflow: hidden;
	margin: 0 auto;
	padding: 0 5%;
}
#page{
	max-width: 100%;
	margin: 0 auto;
	background: none;
}
#main{
	padding: 30px 0 60px;
	overflow: hidden;
}
.home #main{
	padding: 0;
}
#content {
	width: 100%;
	margin: 0;
}
a[href$='.pdf']:before {
	font-family: 'FontAwesome';
	content: "\f1c1";
	color: rgb(255 255 255);
	margin-right: 5px;
}
.ttf-up{ text-transform: uppercase; }
.ttf-none{ text-transform: none !important; }
.col-w{ color: rgb(255, 255, 255); }
.col-y{ color: rgb(200, 190, 0); }
.imp{ font-weight: 900; }
.box {
	margin-bottom: 2em;
	padding: 1.625em 1.625em 0;
	border: solid 1px rgb(221, 221, 221);
}
.imp-box {
	margin-bottom: 1em;
	padding: 15px 25px 0;
	background: rgb(255, 251, 244);
	border: solid 10px rgb(240, 186, 86);
}
.entry-content .imp-box h3{
	margin: 10px 0;
}
.imp-box strong {
	color: rgb(255, 0, 0);
	font-size: 1.25em;
}
.box .base-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 2em;
}
.box .base-list a {
	display: block;
	width: 49%;
	margin: .5%;
	padding: 5px 20px;
	text-align: center;
	border: solid 1px rgb(221, 221, 221);
	box-sizing: border-box;
}
.box .base-list a:hover{
	text-decoration: none;
	color: rgb(51, 51, 51);
	background: rgb(221, 221, 221);
}
.box li{
	padding: 6px 0;
	border-top: dashed 1px rgb(221, 221, 221);
}
.box li:first-child{ border: none; }
a.btn{
	display: block;
    max-width: 280px;
    margin: 0 auto 10px;
    text-align: center;
    background: #8c714c;
    border: solid 1px #8c714c;
    color: #fff;
    padding: 10px 30px;
}
a.btn:hover,
a.btn:focus{
	text-decoration: none;
	opacity: 0.7;
}
a.btn-y {
	text-decoration: none;
	padding: 2%;
	color: rgb(204, 204, 0);
	display: block;
	width: 45%;
	margin: 1em auto;
	border-radius: 3px;
	border: solid 2px rgb(204, 204, 0);
}
a.btn-y:hover{
	color: rgb(255, 255, 255);
	background: rgb(204, 204, 0);
}
a.btn-r{
	color: rgb(255, 255, 255);
	margin-bottom: 0;
	background: rgb(204, 204, 0);
}
a.btn-r:hover{
	color: rgb(204, 204, 0);
	background: rgb(255, 255, 255);
}
a.btn.red{
	background: #c80808;
    border: solid 1px #ff0000;
}

.align-c{ text-align: center; }
.align-l{ text-align: left; }
.marb-0{ margin-bottom: 0 !important; }

.home #bread-wrap{
	display: none;
}
#bread-wrap {
	position: relative;
	padding: 5px 0;
	background: rgb(243, 243, 243);
}
#bread-wrap p {
	margin: 0;
	font-size: 1.3rem;
}
.fb-post{
	margin-bottom: 2em;
}
.iflame{
	margin: 0 auto;
}
blockquote {
	font-family: 'Lato', 'Noto Sans Japanese', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-style: inherit;
	margin: 0 0 2em;
	padding: 5%;
	background: rgb(245, 245, 245);
}
blockquote p,
.entry-content blockquote p{
	font-size: 0.85em;
	margin: 0;
}
blockquote footer{
	text-align: center;
}
.marb0{ margin-bottom: 0; }
.marb10{ margin-bottom: 10px; }
.marb15,
.acMenu dd ul.marb15{ margin-bottom: 15px; }


.marb30{ margin-bottom: 30px; }
.marb1em{ margin-bottom: 1em; }
.pc{ display: block; }
.sp{ display: none; }
img.size-full, img.size-large{
	max-width: 100%;
}


/* header
--------------------------------*/
header#header {
    /*position: fixed;*/
    top:0;
    width: 100%;
    z-index: 9999;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgb(0 0 0 / 100%);
    color: #fff;
    text-align: center;
	padding: 12px 20px;
    border: none;
    box-sizing: border-box;
    border-bottom: solid 1px rgb(37 37 37);
}


.metaslider .flexslider{
	margin: 0 !important;
}


audio, video {
	display: inline-block;
	max-width: initial;
}
.pattern {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border: 0px solid rgb(0, 0, 0);
	background-image: linear-gradient(
		-45deg,
		rgba(255, 255, 255, 0.1) 25%,
		rgba(0, 0, 0, 0.1) 25%,
		rgba(0, 0, 0, 0.1) 50%,
		rgba(255, 255, 255, 0.1) 50%,
		rgba(255, 255, 255, 0.1) 75%,
		rgba(0, 0, 0, 0.1) 75%,
		rgba(0, 0, 0, 0.1) );
	background-size: 4px 4px;
}
#colophon{
	background: rgb(0, 0, 0);
	background-image: radial-gradient(rgb(15, 15, 15) 20%, rgba(0, 0, 0, 0) 0), radial-gradient(rgb(0, 0, 0) 20%, rgba(0, 0, 0, 0) 0);
	background-position: 0 0, 5px 5px;
	background-size: 5px 5px;
}
#branding{
	border: none;
	position: initial;
	padding: 0;
}
#site-title{
	position: relative;
	width: 70px;
	margin: 0;
    padding: 0;
}
#site-title img{
	width: 100%;
	height: auto;
}

/* menu
--------------------------------*/
#responsive-menu-title-image{ display: none !important;}
#responsive-menu-container li.responsive-menu-item{border-top: solid 1px;}
#responsive-menu-container #responsive-menu li.responsive-menu-item a{text-transform: uppercase;}

/* =home
----------------------------------*/
.home section {
	padding: 40px 0;
	background: rgb(255, 255, 255);
}
.home section h2 {
    font-size: 24px;
    font-weight: 600;
    text-transform: none;
    margin: 0 0 20px;
    line-height: 1.4;
}
.home section h2 span{
	font-size: 15px;
	display: block;
}


.sub-title .fa{
	font-size: 12px;
}
.count-link{
	width: 40%;
	margin: 0 auto;
}
.count-link p {
	line-height: 0;
	margin: 0 0 2em;
	padding: 0;
	color: #fff;
	border: solid 3px rgb(200, 190, 0);
	background: rgb(0, 0, 0);
}
.count-link a{
	display: block;
	color: rgb(255, 255, 255);
	text-decoration: none;
	background: #fff;
}
.count-link img{
	width: 100%;
	height: auto;
	margin: 0;
	background: rgb(0, 0, 0);
}

.home section h2.widgettitle {
	text-transform: initial;
	font-size: 18px;
	font-weight: 400;
}
/* =same contents
----------------------------------*/
#rules ul{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0 0 1em;
}

/* =rules
----------------------------------*/

#rules ul li {
	position: relative;
	text-align: center;
	width: 50%;
	line-height: 1.4;
	border-top: 1px solid #ddd;
	box-sizing: border-box;
	font-size: 1.2rem;
    padding-left: 0px;
}
.single-competition-list #rules ul li{ width: 50%; }
#rules ul li span {
	display: block;
	font-size: 1.8rem;
}
#rules ul li{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	background-color: rgb(251, 251, 251);
}
#rules ul li span.thumb{
	flex: 3;
	line-height: 0;
	margin: 0;
}
#rules ul li span.thumb img{
	width: 100%;
	height: auto;
	background: rgb(31, 31, 31);
}
#rules ul li a{
	flex: 5;
	text-align: left;
	display: block;
	text-decoration: none;
	padding: 5%;
	color: #000
}
#rules ul li a:hover{
	color: rgb(204, 204, 0);
}
#rules ul li .fa {
	font-size: 20px;
	margin-right: 10px;
}


/* =rotation
----------------------------------*/
section#rotation{
	background: rgb(240, 240, 240);
}
section#rotation ul li {
	width: 32.333%;
	margin: .5%;
}
section#rotation ul li img{
	width: 100%;
	height: auto;
	background: rgb(0, 0, 0);
}

/* =item-post
----------------------------------*/
.item-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0 0 3em;
	border-top: solid 1px rgb(221, 221, 221);
	border-right: solid 1px rgb(221, 221, 221);
}
.item-post {
	position: relative;
	width: 33.33%;
	margin: 0;
	padding: 1.5%;
	background: rgb(255, 255, 255);
	border-left: solid 1px rgb(221, 221, 221);
	border-bottom: solid 1px rgb(221, 221, 221);
	box-sizing: border-box;
}
.item-post:nth-child(2n){
	background: rgb(247, 247, 247);
}
.item-post .pro {
	position: absolute;
	left: 0;
	top: 0;
	max-width: 40px;
	margin: 0;
	z-index: 9999;
}
.item-post .pro img{ margin: 0; }
.item-post a {
	text-decoration: none;
	width: 100%;
}
.item-post a:hover,
.item-post a:focus,
.item-post a:hover > img,
.item-post a:focus > img{
	opacity: 0.8;
	color: rgb(25, 130, 209);
	text-decoration: underline;
	text-decoration-color: rgb(25, 130, 209);
}
.item-post img{
	width: 100%;
	height: auto;
	background: rgb(0, 0, 0);
}
.item-post .thumb img{
	height: auto;
}
.item-post-text{
	padding: 1%;
}
.item-post h3{
	clear: none;
	text-transform: uppercase;
	font-size: 0.94em;
	margin-bottom: 1em;
}
.item-post p {
	font-size: 0.94em;
	margin: 0 10px 0 0;
	color: rgb(51, 51, 51);
}
.item-cat {
	font-size: 1.2rem;
	color: rgb(153, 153, 153);
	padding: 5px 0;
	border-top: solid 1px rgb(221, 221, 221);
}
.item-cat .fa{
	margin-right: 3px;
}
.item-cat a{
	color: rgb(153, 153, 153);
}
p.end-text {
	position: absolute;
	top: 5px;
	left: 5px;
	color: rgb(255, 255, 255);
	background: rgb(216, 0, 0);
	padding: 15px 15px;
	box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.5);
}


/* =page
----------------------------------*/
.hentry, .no-results{
	margin: 0;
	padding: 0;
}
.page-header{
	margin: 0 0 1.625em;
}
.post-thmbnail{
	margin-bottom: 1em;
}
.post-thmbnail img{
	width: 100%;
	height: auto;
}
.singular #primary{
	width: 100%;
}
.singular #primary.event{
	width: 100%;
}
.singular #content,
.left-sidebar.singular #content{
	margin: 0;
}
.singular.page .hentry,
.singular .hentry{
	margin: 0;
	padding: 0;
}
.singular .entry-header,
.singular .entry-content,
.singular footer.entry-meta,
.singular #comments-title{
	width: 100%;
}
.entry-title, .singular .entry-title {
	color: rgb(51, 51, 51);
	font-size: 20px;
	font-weight: bold;
	clear: both;
	line-height: 1.5em;
	border-bottom: solid 1px #ddd;
	padding: 0 0 .3em;
}
.entry-title, .singular .event-type-wrap .entry-title {
	font-size: 26px;
}

.entry-content h2 {
	position: relative;
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 30px;
	padding: 0 0 .3em;
	border-bottom: solid 1px rgb(204, 204, 204);
}
.entry-content h2 .copy {
	position: absolute;
	right: 0;
	bottom: -20px;
	font-size: 12px;
	font-weight: normal;
}
.entry-content h3 {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0;
	line-height: 1.4;
	margin-bottom: 30px;
	padding-left: 10px;
	border-left: solid 5px;
}
.entry-content h3 span {
	font-size: 14px;
	border-bottom: solid 1px;
}
.entry-content h4{
	font-weight: bold;
	margin-bottom: 1em;
	border-bottom: dotted 1px;
}
.entry-content ul,
.entry-content ol{
	margin: 0 0 1.625em 20px;
}
.entry-content dd ul,
.entry-content dd ol{
	margin: 0 0 10px 20px;
}
.entry-meta {
	color: rgb(102, 102, 102);
	clear: both;
	font-size: 14px;
	line-height: 18px;
	padding-top: 5px;
}
.singular .entry-header .entry-meta {
	position: initial;
	margin-top: 10px;
	text-align: right;
}
.entry-meta a{ font-weight: 400; }
footer.entry-meta{
	padding-top: 10px;
	border-top: solid 1px rgb(221, 221, 221);
}
img[class*="align"],
img[class*="wp-image-"],
#content .gallery .gallery-icon img{
	max-width: 100%;
	border: none;
	margin: 0;
	padding: 0;
}
ul.part-list {
	list-style: none;
	margin: 0 0 2em;
	text-align: center;
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
}
ul.part-list li {
	width: 100%;
}
ul.part-list li a{
	display: block;
	color: rgb(255, 255, 255);
	background: rgb(51, 51, 51);
	border: solid 1px;
	padding: 3px 0 2px;
	line-height: 2;
}
ul.part-list li a:hover,
ul.part-list li a.active{
	cursor: pointer;
	text-decoration: none;
	background: rgb(204, 204, 0);
}
.flex-col2{
	display: flex;
	flex-wrap: wrap;
	margin: 2em 0;
	justify-content: center;
	align-items: center;
	border: solid 1px rgb(221, 221, 221);
}
.flex-col2 a:hover{
	text-decoration: none;
}
.flex-col2 h2 {
    flex: 5;
    margin-right: 10px;
    margin-top: 10px;
}
.flex-col2 h2 span{
	display: block;
	font-size: 14px;
}
.flex-col2 h3{
	flex: 5;
}
.flex-col2 h3 span{
	display: block;
	font-size: 14px;
	text-transform: initial;
}
.flex-col2 p.img {
	flex: 3;
	margin: 0 20px 0 0;
	line-height: 0;
}
#content .gallery-columns-4{
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 1.625em;
}
#content .gallery-columns-4 .gallery-item{
	float: none;
	width: 24%;
	margin: .5%;
	padding: 0;
}
.gallery-item dt{
	line-height: 0;
	padding: 0;
}
.entry-content .wp-caption .wp-caption-text {
	font-family: initial;
	margin-bottom: 0;
	padding: 10px 0 0px 30px;
}
#content .c-npn .gallery-columns-3 .gallery-item .wp-caption-text a,
#content .c-npn .gallery-columns-4 .gallery-item .wp-caption-text a{
	display: none;
}
.va-social-buzz{
	padding-top: 1em;
	border-top: solid 1px rgb(221, 221, 221);
}
.entry-content .impact-l {
	text-align: center;
	font-weight: 900;
	font-size: 30px;
	margin-bottom: 10px;
}
.cat-wrap{
	display: flex;
}
.cat-wrap .text{
	flex: 2;
	margin-left: 20px;
}
.cat-wrap .image{
	flex: 1;
}
.cat-wrap .image img{
	margin: 0;
	width: 100%;
	height:  auto;
}
table.comparison, table.comparison tr, table.comparison th, table.comparison td{
	font-size: 14px;
	text-align: center;
	letter-spacing: 0;
	line-height: 1.6;
	margin-bottom: 2em;
	padding: 10px;
	box-sizing: border-box;
	border-collapse: collapse;
	border: solid 1px rgb(221, 221, 221);
}
table.comparison th {
	width: 40%;
	font-weight: normal;
	text-align: center;
	background-color: rgb(241, 241, 241);
}
table.comparison th:first-child{
	width: 20%;
}
.video-container{
	margin-bottom: 20px;
}
.entry-content .sarch-w #s {
	width: auto;
	padding: 0.375em;
	padding-left: 30px;
	height: auto;
	line-height: 1.625;
}

/* =contest-page
----------------------------------*/

.fade-wrap{
	position: absolute;
	top: 140px;
	z-index: 999;
	right: 5%;
}

/* fadetab */
.fade-tab,
.entry-content .fade-tab {
    margin: 0 auto;
    list-style: none;
    display: block;
    border: solid 2px #bbb;
    gap: 10px;
    padding: 0;
    background: #ffffffd6;
    border-radius: 2px;
}

.fade-tab li {
	padding: 2px 7px;
	opacity: 0.4;
}
.fade-tab li a {
    display: block;
    color: rgb(0 0 0);
    font-size: 12px;
    text-align: center;
}
.fade-tab li a:hover,
.fade-tab li a:focus{
	text-decoration: none;
}
.fade-tab li.active{
	opacity: 1;
	background: #fff;
}
.fade-content {
	clear: both;
	overflow: hidden;
	width: 300px;
	border:1px solid #eee;
	height:300px;
}
.fade-area {
	display: none;
	position: relative;
}
.fade-area h3{ margin: 30px 0; }

.fade-area ul {
	list-style: none;
	margin: 0;
}
.fade-thmubnail img{
	display: block;
	max-width: 80%;
	margin: 0 auto 2em;
}


/* タブ全体 */
.fade-tab.s-list{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3px;
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
    width: 100%;
    border: none;
    margin: 0 auto 20px;
}

/* li */
.fade-tab.s-list li{
  margin: 0;
  padding: 0;
}

/* a */
.fade-tab.s-list li a{
  display: block;
  text-align: center;
  padding: 10px 12px;
  border: 1px solid #ddd;
  text-decoration: none;
  line-height: 1.2;
  font-size: 14px;
}

.fade-tab.s-list li a:focus,
.fade-tab.s-list li a:hover{
	text-decoration: none;
	background: rgb(140 113 76 / 70%);
}


.fade-tab.s-list li.active a{
	color: #fff;
    background: #8c714c;
    font-weight: 600;
}


/* ===== レイアウト制御 ===== */

/* 1行目：All を1列（全幅） */
.fade-tab.s-list li:nth-child(1){
  grid-column: 1 / -1;
}

/* それ以外は自動で2列配置される
   ↓ 結果 ↓

   [ All               ]  ← 1列
   [ Open Regional     ][ Natural Regional ]
   [ Open Pro Qualifier][ Natural Pro Qualifier ]
   [ Olympia Amateur   ][ Pro Show ]
*/


.entry-content .box ul{
	margin-bottom: 1.625em;
}
.entry-content .box ul ul{
	margin-bottom: 0;
}

.bk-d{
	background-color: rgb(241, 241, 241);
}
table.tour-point{
	border-collapse: collapse;
}
table.tour-point th{
	font-size: 13px;
	text-align: center;
	background-color: rgb(241, 241, 241);
}
table.tour-point th,
table.tour-point td{
	text-align: center;
	padding: 3px 0;
	border: solid 1px rgb(221, 221, 221);
}
.pnone p{ margin: 0; }
.regi-wrap {
	display: table;
	width: 100%;
	margin-bottom: 2em;
	border-collapse: separate;
	border-spacing: 5px 0;
}
.regi-wrap a {
	width: 30%;
	margin: .5em auto;
	display: table-cell;
	vertical-align: middle;
	box-sizing: border-box;
}
.regi-wrap a.btn{
	border-radius: 0;
}
.regi-wrap .ticket,
.regi-wrap .ticket:hover{
	color: rgb(255, 255, 255);
	background: rgb(180, 0, 0);
	border: double 4px rgb(255, 255, 255);
	transition: .4s;
}
.regi-wrap .regi,
.regi-wrap .regi:hover{
	color: rgb(255, 255, 255);
	background: rgb(60, 125, 0);
	border: double 4px rgb(255, 255, 255);
	transition: .4s;
}
.regi-wrap .card,
.regi-wrap .card:hover{
	color: rgb(255, 255, 255);
	background: rgb(204, 204, 0);
	border: double 4px rgb(255, 255, 255);
	transition: .4s;
}
.regi-wrap .judge,
.regi-wrap .judge:hover{
	color: rgb(255, 255, 255);
	background: rgb(144, 27, 39);
	border: double 4px rgb(255, 255, 255);
	transition: .4s;
}
.regi-wrap .ticket:hover,
.regi-wrap .regi:hover,
.regi-wrap .card:hover{
	border-radius: 0;
	box-shadow: 4px 4px 1px rgb(170, 170, 170);
}
.regi-wrap a.judge[href$='.pdf']:before{
	color: rgb(255, 255, 255);
}
.free-space{
	padding: 10px 15px;
}
.home .fade-tab {
	text-transform: initial;
	max-width: 580px;
	margin: 4em auto 3em;
	border: none;
	box-sizing: border-box;
}
.home .fade-tab li a{
	line-height: 1.2;
	font-size: 1.4rem;
}
.home .fade-tab li.active a{
	color: rgb(255, 255, 255);
	background: rgb(218, 177, 0);
}
.home .fade-tab li:first-child a{ border-radius: 30px 0 0 30px; }
.home .fade-tab li:last-child a{ border-radius: 0 30px 30px 0; }
.home .fade-tab li a:hover {
	border-top: solid rgb(218, 177, 0);
}
.home .fade-tab li a.notes:hover{
	border-top: solid rgb(200, 0, 0);
}
.home .fade-tab li.active a.notes{
	background: rgb(200, 0, 0);
}
.home .tab-content {
	margin: 0;
	padding: 0;
	border: none;
}
.home .fade-area h3{
	margin-top: 0;
}


/* =acMenu
----------------------------------*/
#acMenu, .acMenu{
	margin: 0 0 2em;
    border-bottom: solid 1px #ddd;
}
#acMenu dt, .acMenu dt {
	position: relative;
	cursor: pointer;
	font-weight: normal;
	line-height: 1.6;
	padding: 10px 40px 10px 20px;
	border: none;
    border-top: solid 1px #ddd;
}
#acMenu dt:hover,
#acMenu dt.active,
.acMenu dt:hover,
.acMenu dt.active{
	background: rgb(140 113 76);
    color: rgb(255 255 255);
}
#acMenu dt:after,
.acMenu dt:after {
    font-family: 'FontAwesome';
    content: "\f107";
    position: absolute;
    right: 2%;
    top: 10px;
}
#acMenu dt.active:after,
.acMenu dt.active:after {
	font-family: 'FontAwesome';
	content: "\f106";
	float: right;
}
#acMenu dd,
.acMenu dd {
	display: none;
	padding: 10px 20px;
}
#acMenu dd ul,
.acMenu dd ul {
    list-style: circle;
    margin-left: 15px;
	margin-bottom: 0;
	padding-left: 0;
}

.disc ul {
    list-style: disc;
    padding-left: 40px;
}


/* =contact
----------------------------------*/
dl.contact dt {
	line-height: 1;
	padding: 20px 0 0;
	border: none;
	border-top: solid 1px rgb(221, 221, 221);
	background: none;
}
dl.contact dd{
	padding: 10px 0 20px;
}
dl.contact .must:before {
	font-family: 'FontAwesome';
	content: "\f069";
	color: rgb(216, 0, 0);
	padding-right: 5px;
}
dl.contact .cover .wpcf7-list-item{ display: block; }
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea {
	background: rgb(250, 250, 250);
	box-shadow: inset 0 1px 1px rgba(0,0,0,0.1);
	border: 1px solid rgb(221, 221, 221);
	color: rgb(136, 136, 136);
	padding: 0.375em;
}
input[type="file"]{
	border: none;
}
input, textarea {
	font-size: 16px;
	max-width: 100%;
	box-sizing: border-box;
	background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
	border: 1px solid rgb(234, 234, 234);
	border: 1px solid rgba(51, 51, 51, 0.1);
	color: rgb(112, 112, 112);
	color: rgba(51, 51, 51, 0.7);
}
input::-webkit-input-placeholder {
	color: #ccc;
}
input:-ms-input-placeholder {
	color: #ccc;
}
input::-moz-placeholder {
	color: #ccc;
}
.subsc{
	display: inline-block;
	margin-bottom: 10px;
}
dl.contact dd.cont .wpcf7-select{
	height: 30px;
}

/* =sidebar
----------------------------------*/
#secondary{
	width: 30%;
	margin: 0;
	padding: 20px 15px 20px;
	border: solid rgb(228, 228, 228) 4px;
}
.widget_search #s {
	width: 100%;
	box-sizing: border-box;
	height: 36px;
}
.widget ul{
	list-style: none;
}
.widget-title {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6em;
	color: rgb(255, 255, 255);
	margin-bottom: 25px;
	padding: 5px 15px;
	background: rgb(51, 51, 51);
}
#npcatch img {
	padding: 0 1em 0 0;
}
#npcatch li{
	border-top: solid 1px rgb(221, 221, 221);
	padding: 5px 0;
}
#npcatch li:first-child{ border: none; }
#npcatch li a {
	display: table;
	padding: .5rem 0;
	width: 100%;
	font-weight: normal;
}
#npcatch span.date {
	overflow: hidden;
	display: block;
}
.wp-tag-cloud a {
	display: inline-block;
	font-size: 14px !important;
	font-weight: 400;
	color: rgb(51, 51, 51);
	margin: 0 3px 5px;
	padding: 0 10px;
	border-radius: 2px;
	border: solid 1px rgb(51, 51, 51);
}
.wp-tag-cloud a:hover {
	text-decoration: none;
	color: rgb(255, 255, 255);
	background: rgb(204, 204, 0);
	border: solid 1px rgb(204, 204, 0);
}
.widget_sp_image{
	line-height: 0;
}
.widget_sp_image img{
	background: rgb(0, 0, 0);
	border: solid 1px rgb(221, 221, 221);
	box-sizing: border-box;
}

/* =scroll btn
----------------------------------*/
a.scroll span {
	position: absolute;
	bottom: 25px;
	left: 50%;
	width: 50px;
	height: 50px;
	margin-left: -23px;
	border: 2px solid #fff;
	border-radius: 100%;
	box-sizing: border-box;
	transform: rotate(0deg);
}
a.scroll span::after {
	position: absolute;
	top: 50%;
	left: 50%;
	content: '';
	width: 16px;
	height: 16px;
	margin: -12px 0 0 -8px;
	border-left: 2px solid rgb(255, 255, 255);
	border-bottom: 2px solid rgb(255, 255, 255);
	transform: rotate(-45deg);
	box-sizing: border-box;
}
a.scroll span::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	content: '';
	width: 46px;
	height: 46px;
	box-shadow: 0 0 0 0 rgba(204, 204, 0, 0.2);
	border-radius: 100%;
	opacity: 0;
	animation: sdb 3s infinite;
	box-sizing: border-box;
}
@keyframes sdb {
	0% { opacity: 0; }
	30% { opacity: 1; }
	60% { box-shadow: 0 0 0 60px rgba(145,144,144,.1); opacity: 0; }
	100% { opacity: 0; }
}

/* =sponsors
----------------------------------------------- */
.sponsors-area-footer{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:center;
  gap:10px;
  padding:5px 0;
}

.sponsors-area-footer .widget{
  margin:0;
  box-sizing:border-box;
  min-width:0;
}

/* 1列 */
.sponsors-gold .widget{ width: 100%; }

/* 2列 (gap 1個 = 10px) */
.sponsors-no1 .widget{ width: calc((100% - 10px) / 2); }

/* 3列 (gap 2個 = 20px) */
.sponsors-no2 .widget{ width: calc((100% - 20px) / 3); }

/* 4列 (gap 3個 = 30px) */
.sponsors-no3 .widget{ width: calc((100% - 30px) / 4); }

/* 3列 (gap 2個) */
.color-no1 .widget{ width: calc((100% - 20px) / 3); }

/* 4列 (gap 3個) */
.color-no2 .widget{ width: calc((100% - 30px) / 4); }

/* 5列 (gap 4個) */
.color-no3 .widget{ width: calc((100% - 30px) / 4); }

.sponsors-area-footer figure{ margin:0; }

.sponsors-area-footer aside img{
  display:block;
  width:100%;      /* max-widthよりこっちが安定 */
  height:auto;
  box-sizing:border-box;
  border:1px solid #ddd;
}


.wp-pagenavi {
	clear: both;
	margin-bottom: 1em;
}
.wp-pagenavi a,
.wp-pagenavi span{ display: inline-block; }

/* =footer
----------------------------------------------- */
#colophon{
	color: rgb(255, 255, 255);
}
#supplementary{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	text-transform: uppercase;
	padding: 0;
	border: none;
}
#supplementary.three .widget-area{
	flex: 1;
	margin: 0;
	padding: 4em 1%;
}
#supplementary .footer-logo{
	width: 200px;
	margin: 0;
}


#supplementary.three #third .sns_icon{
    font-size: 24px;
}

#supplementary .footer-logo img {
	height: auto;
	background: rgb(0, 0, 0);
	background-image: radial-gradient(rgb(15, 15, 15) 20%, rgba(0, 0, 0, 0) 0), radial-gradient(rgb(0, 0, 0) 20%, rgba(0, 0, 0, 0) 0);
	background-position: 0 0, 5px 5px;
	background-size: 5px 5px;
}
#supplementary ul.social{
	display: flex;
	flex-wrap: wrap;
	margin: 0;
}
#supplementary ul.social li{
	font-size: 30px;
	margin-right: 10px;
}
#supplementary.three .widget-area .widget-title {
	font-size: 14px;
	margin: 0 0 10px;
	padding: 0 0 5px;
	background: none;
	border-bottom: solid 1px rgb(51, 51, 51);
}
#supplementary.three .widget-area a{
	font-weight: normal;
	color: rgb(153, 153, 153);
}
#archives-dropdown-2{
	width: 60%;
	height: 30px;
}
#site-generator{
	color: rgb(255, 255, 255);
	padding: 5px 0;
	border: none;
	background: none;
	background: rgb(15, 15, 15);
}
.totop {
	display: block;
	color: rgb(255, 255, 255);
	font-size: 0.88em;
	text-align: center;
	text-transform: uppercase;
	padding: 15px 0;
	background: rgb(140 113 76);
}
.totop:hover,
.totop:focus{
	opacity: 0.7;
	text-decoration: none;
}
#scrollTopBtn {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(16px);
  transition: opacity .4s ease, visibility .4s ease, transform .4s ease;
}

#scrollTopBtn.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

#scrollTopBtn img {
  display: block;
  width: 60px;
  height: auto;
}

/* other
----------------------------------------------- */
.image-attachment div.attachment{
	margin: 0 0 1.625em;
}


/* =Responsive Structure
----------------------------------------------- */
@media (max-width: 800px) {
	video{ display: none; }
	#primary {
		float: none;
	}
	.page-kids-family #main{
		padding-top: 0;
	}
	#main #content{
		margin: 0 auto;
	}
	.singular #primary{
		width: 100%;
	}
	#main #secondary{
		clear: both;
		margin: 0 0 2em;
	}
	#rules ul{
		border-bottom: 1px solid #ddd;
	}
	#rules ul li,
	.single-competition-list #rules ul li {
		text-align: left;
		width: 100%;
		border-bottom: none;
	}
	#rules ul li a{
		padding: 5%;
	}
	.footer-logo{ margin: 0; }
	.footer-logo img {
		width: 20%;
		height: auto;
		display: block;
		margin: 0 auto;
	}
	ul.social {
		display: flex;
		flex-wrap: wrap;
		margin: 0;
		justify-content: center;
	}
	ul.social li {
		font-size: 30px;
		margin-right: 10px;
	}
	ul.social li a {
		font-weight: normal;
		color: rgb(153, 153, 153);
	}
}

/*--------------------------------
PREV NEXT
---------------------------------*/
#prev_next{
	width:100%;
	margin: 36px 0 24px;
	padding:0;
	display: table;
}
#prev_next  #prev, #prev_next  #next{
	width: 50%;
	padding:30px 10px 10px;
	border-top:#ccc 1px solid;
	border-bottom:#ccc 1px solid;
	display: table-cell;
	position:relative;
	text-decoration:none;
}
#prev_next #prev p, #prev_next #next p{
	font-size:90%;
	line-height:1.5;
}
#prev_next #prev:hover, #prev_next #next:hover{
	background-color: rgba(238,238,238,0.7);
}
#prev_next #prev{
	border-right:#ccc 1px solid;
}
#prev_next #prev_title, #prev_next #next_title{
	font-size:90%;
	top:-1em;
	position:absolute;
	border: 1px #ccc solid;
	background:#fff;
	text-align: center;
	padding:3px;
	color:#666;
}
#prev_next #next_title{
	right:10px;
}
#prev_next #prev img, #prev_next #next img{
	margin:0 auto;
}
#prev_next #prev_no{
	width: 50%;
	height:140px;
	padding:0 10px;
	display: table-cell;
}
#prev_next #prev_no{
	border-right:#ccc 1px solid;
}
#prev_next_home{
	margin:0 auto;
	background-color: #39f;
	border: solid 9px #fff;
	width: 100px;
	height:100px;
	border-radius: 100px;
	box-shadow: 0 0 0 3px #39f;
	text-align:center;
}
#prev_next_home:hover{
	background-color: rgba(0,0,255,0.7);
}
#prev_next_home i{
	color:#FFF;
	margin:10px auto ;
	font-size:60px;
}
@media only screen and (min-width: 780px) {
	#prev_next #prev, #prev_next #prev::before, #prev_next #prev::after,
	#prev_next #next, #prev_next #next::before, #prev_next #next::after {
		box-sizing: border-box;
		transition: all .3s;
	}
	#prev_next #prev_title, #prev_next #next_title{
		padding:3px 10px;
	}
	#prev_next #next_title{
		right:10px;
	}
	#prev_next #prev img{
		float:left;
		margin-right:10px
	}
	#prev_next #next img{
		float:right;
		margin-left: 10px;
	}
}


/**
* SPONSOR
*/

ul.home_sponsors {
	margin: 0.5%;
	padding: 5vh 0;
  }
  ul.home_sponsors .btns {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	margin-top: 20px;
  }
  ul.home_sponsors .btns a {
	display: block;
	margin-right: 10px;
	border: solid 3px #fff;
	padding: 8px 20px;
	color: #fff;
	line-height: 1;
	text-align: center;
	font-size: 14px;
	width: calc(32% - 40px);
	transition: 0.3s all;
  }
  ul.home_sponsors .btns a.detail:hover {
	border-color: green;
	background-color: green;
	color: #fff;
  }
  ul.home_sponsors .btns a.outer:hover {
	border-color: red;
	background-color: red;
	color: #fff;
  }
  ul.home_sponsors li {
	list-style: none;
	padding: 45px 6vw;
	margin-bottom: 10px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	border: 1px solid #000;
  }
  ul.home_sponsors li figure {
	width: 30%;
	margin: 0;
	padding: 0;
  }
  ul.home_sponsors li figure img {
	width: 100%;
  }
  ul.home_sponsors li .txt {
	width: 60%;
  }
  ul.home_sponsors li .txt p {
	color: #efefef;
	margin: 0;
	padding: 0;
  }
  ul.home_sponsors li .txt p.title {
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1;
  }
  ul.home_sponsors li .txt p.copy {
	padding-top: 1em;
	font-size: 1.3rem;
	line-height: 1.7;
  }
  ul.home_sponsors li.black {
	background-color: #000;
  }
  ul.home_sponsors li.white {
	background-color: #fff;
  }
  ul.home_sponsors li.white .btns a {
	border: solid 3px #000;
	color: #000;
  }
  ul.home_sponsors li.white p {
	color: #333;
  }


.lh-0{
	line-height: 0;
}
section#reji{
	padding: 0;
	background: #fff6da;
}
.seg2 {
    display: flex;
    justify-content: space-between;
    margin: 1em 0;
    align-items: center;
}
.seg2.membership{
	flex-direction: row-reverse;
    background: #000;
    color: #fff;
    text-align: center;
    gap: 30px;
}
.seg2 .seg{
	flex: 1;
}
.seg2 .seg.text{
    padding: 17px 0;
}
.seg2 .seg h2 {
    font-family: "Oswald", sans-serif;
    margin: 0 0 10px;
    letter-spacing: 0px;
    font-weight: 500;
    font-size: 26px;
}
.seg2.membership h2:after {
    content: "";
    display: block;
    width: 3em;
    border-top: solid #8c714c;
    border-top-width: 2px;
    margin-top: 0.25em;
    margin-left: auto;
    margin-right: auto;
}
.seg2 .seg p{
    font-size: 12px;
    margin-bottom: 5px;
}
.seg2 .seg a.btn {
    margin: 0 auto;
    padding: 4px 0;
    font-size: 15px;
}
.seg2 .seg img{
	width: 100%;
	height: auto;
}

.single-schedule #main,
.archive #main{
	padding: 0;
}

section,
section.event-basic{
	padding: 60px 0;
	border-bottom: solid 1px #ddd;
}

section:nth-of-type(even){
  background:#f0f0f0;
}


.schedule-header{
    position: relative;
    text-align: center;
	background-color: #031427;
	background-image:
		linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)),
		var(--schedule-header-bg, url('images/background_title_default.jpg'));
	background-position: bottom center;
	background-size: cover;
	background-repeat: no-repeat;
	color: #fff;
	padding: 3em 0;
}
.schedule-header > .inner{
	position: relative;
	z-index: 1;
}
@media (max-width: 780px) {
	.schedule-header.has-bg-image{
		background-size: 100%;
		background-position: top center;
		padding-top: 210px;
	}
}
@media (min-width: 781px) {
	/* PCではアイキャッチ画像だと間延びするため、常にデフォルト画像を使用する */
	.schedule-header.has-bg-image{
		background-image:
			linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)),
			url('images/background_title_default.jpg');
	}
}

.event-over-wrap{
	display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    position: relative;
}
.event-nav-prev,
.event-nav-next{
	color: #fff;
	font-size: 20px;
}

.event-nav-prev-wrap,
.event-nav-next-wrap{
    position: absolute;	
    top: 20px;
}
.event-nav-prev-wrap{
    left: 0;
}
.event-nav-next-wrap{
    right: 0;
}
.event-type-wrap{
	line-height: 1;
}
body.single-schedule .event-type-wrap,
body.single-schedule .event-datetime{
	text-shadow: 0px 0px 5px #000, 0px 0px 10px #000;
}
.event-type-wrap .year-title,
.event-type-wrap .event-type{
    margin: 1px auto;
    line-height: 1.6;
}
.event-type-wrap p,
.event-type-wrap .contest-title{
	margin: 5px auto;
}

.event-date-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin: 0 auto 2em;
}
.event-date-wrap p{
	margin: 0;
}
.contest-logo-main img,
.contest-logo-ifbb img {
    max-width: 90px;
    height: auto;
    margin: 0 auto;
}
.event-type {
	display: inline;
    color: #000;
	padding: 5px 25px;
    margin: 0 auto 1em;
    background: #fbe08b;
    border-radius: 20px;
}

ul#event-rejister {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    align-items: center;
    gap: 12px;
}
ul#event-rejister li {
}
ul#event-rejister li a {
    display: block;
    width: 220px;
    margin: 0 auto 10px;
    text-align: center;
    background: #c80808;
    border: solid 1px #ff0000;
    color: #fff;
    padding: 10px 30px;
}
ul#event-rejister li a.ticket,
ul#event-rejister li a.live{
    background: #3eb600;
    border: solid 1px #bdff00;
}


ul#event-rejister li a:focus,
ul#event-rejister li a:hover{
	text-decoration: none;
	opacity: 0.7;
}
ul#event-rejister li a.non-regi {
	background: #bdbdbd;
    border-color: #ddd;
}
ul#event-rejister li a.non-regi:focus,
ul#event-rejister li a.non-regi:hover{
	opacity: 1.0;
	cursor: default;
}
.event-rejister-supplement{
	text-align: center;
	font-weight: 400;
	margin: 1em 0;
}
.event-rejister-supplement span{
	font-weight: 600;
}
.schedule-header .entry-title {
    color: #fff;
    border: none;
    line-height: 1.3;
    margin: 10px 0 0;
    padding: 0 40px;
}
.event-datetime{
    line-height: 1;
    margin: 0;
}
.event-date,
.event-day{
	font-family: "Oswald", sans-serif;
}

.event-date{
    display: block;
    font-size: 50px;
    font-weight: 500;
    letter-spacing: 1px;
    margin-bottom: 5px;
}
.event-day{
    font-size: 20px;
}
.event-place{
    font-size: 20px;
}
.section-title {
    position: relative;
    text-align: center;
    margin-bottom: 1em;
    font-weight: 600;
    font-size: 18px;
}
.section-title:after {
    content: "";
    display: block;
    width: 3em;
    border-top: solid #8c714c;
    border-top-width: 2px;
    margin-top: 0.25em;
    margin-left: auto;
    margin-right: auto;
}
.event-table {
	width: 100%;
    border-bottom: 1px solid rgba(141, 144, 147, 0.34);
    line-height: 1.5;
    margin: 0 auto 4em;
}

.event-table thead th{
	font-weight: 400;
    background-color: #F3F4F4;
}

.event-table th,
.event-table td{
	padding: 5px 10px;
	border-top: 1px solid rgba(141, 144, 147, 0.34);
}

.event-table th{
	position: relative;
    width: 5em;
    text-align: left;
    font-weight: 700;
}
.event-table td p{
	margin: 0;
}

ul.basic-list{
    margin: 0 0 4em 0;
    list-style: none;
}
ul.basic-list li{
    border-bottom: dashed 1px #ddd;
    padding: 5px 0;
    font-size: 15px;
}
ul.coloring {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 1em 0;
    padding: 0;
    align-items: center;
    gap: 12px;
}

ul.coloring li {
    width: calc((100% - 24px) / 4); /* gap 12px × 2 */
    max-width: 183px;
    text-align: center;
}

ul.coloring li img {
    width: 100%;
    height: auto;
    display: block;
    border: solid 1px #ddd;
}

.archive-title,
.archive-type,
.archive-date .contest-logo-main {
    margin: 0;
}

.archive-wrap{
    border-bottom: solid 1px #ddd;
    padding: 10px 15px 10px 0;
}
.archive-wrap a {
	color: #333;
    position: relative;
    display: flex;
    align-items: center;     /* 縦中央 */
    padding-right: 1.5em;    /* 矢印分の余白 */
}
.archive-wrap a::after {
    font-family: 'FontAwesome';
    content: "\f054";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.archive-wrap a:focus,
.archive-wrap a:hover{
	text-decoration: none;
}
.archive-wrap-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    line-height: 1.4;
}
.archive-wrap-inner .archive-date {
    display: flex;
    align-items: center;
    gap: 10px;
    border: solid 1px #ddd;
    text-align: center;
    padding: 10px;
    width: 60px;
}
.archive-date .event-date,
.archive-date .event-day,
.archive-date .event-place{
	display: block;
    line-height: 1.6;
    margin: 0;
}
.archive-date .event-date{
	line-height: 1;
    font-size: 28px;
}
.archive-date .event-day{
    font-size: 14px;
}
.archive-date .event-place{
    font-size: 14px;
}
.archive-date .event-datetime{
	width: 90px;
	margin: 0 auto;
}
.archive-date .contest-logo-main img,
.archive-date .contest-logo-ifbb img{
	max-width: 80px;
}


.archive-date.type-open-regional,
.archive-date.type-natural-regional{
	border: solid #8c714c;
    background: rgb(251 224 139 / 25%);
}
.archive-date.type-open-pro-show{
    border: solid #f44335;
    background: rgb(244 67 53 / 15%);
}
.archive-date.type-open-pro-qualifier,
.archive-date.type-natural-pro-qualifier,
.archive-date.type-olympia-amateur {
    border: solid #2196f3;
    background: rgb(33 150 243 / 15%);
}


.archive-type .event-type {
	font-size: 13px;
	font-weight: 400;
    padding: 2px 10px;
    margin-bottom: 5px;
    display: inline-block;
}
.archive-wrap-inner .archive-title {
    font-weight: 600;
    font-size: 16px;
}

.archive-status .status-reg {
    font-size: 12px;
    background: #c80808;
    color: #fff;
    margin-right: 5px;
    padding: 3px 10px;
}
.archive-status .status-tic{
    font-size: 12px;
    background: #3eb600;
    color: #fff;
    padding: 3px 10px;
}
.info-post-wrap{
	margin-bottom: 1em;
}
.info-post {
    border-bottom: solid 1px #ddd;
    padding: 10px 0;
}
.info-post a{
	text-decoration: none;
	color: #000;
}
.info-post-title,
.info-post-date,
.info-post-cat{
	margin: 0;
}
.info-post-date,
.info-post-cat{
	font-size: 14px;
}

.info-post-date {
    float: left;
    color: #8d9093;
}
.info-post-cat{
	color: #8c714c;
}

.event-type {
  display: inline-block;
  padding: 0px 10px;
  border-radius: 20px;
  text-shadow: none;
}


.event-type.type-open-regional {
  background: #fbe08b;
  color: #000;
}
.event-type.type-natural-regional {
  background: #ffc81a;
  color: #000;
}

.event-type.type-open-pro-qualifier {
  background: #2196f3;
  color: #fff;
}

.event-type.type-pro-qualifier,
.event-type.type-natural-pro-qualifier {
  background: #2196f3;
  color: #fff;
}


.event-type.type-olympia-amateur {
  background: #2196F3;
  color: #fff;
}

.event-type.type-pro-show,
.event-type.type-open-pro-show {
  background: #F44336;
  color: #fff;
}

.thumb{
	margin-bottom: 10px;
}
.thumb img{
	width: 100%;
	height: auto;
}


/*消さないこと*/
@media screen and (max-width: 782px) {
  #wpadminbar { 
    min-width: 0 !important;
    width: 100% !important;
  }
  #wpadminbar #wp-admin-bar-my-account,
  #wpadminbar #wp-admin-bar-my-account .ab-item{
    max-width: 45vw !important; /* ここは好みで調整 */
  }
  #wpadminbar #wp-admin-bar-my-account .display-name{
    display: inline-block !important;
    max-width: 14vw !important; /* ここも調整 */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    vertical-align: middle;
  }
  #wpadminbar { overflow: hidden !important; }
}

/* ============================================================
   single-schedule
   ============================================================ */

/* 登録ボタンリスト */
ul#event-rejister li a {
	width: 170px;
	margin: 0 auto;
	border-radius: 6px;
}
ul#event-rejister li a.non-regi {
	opacity: .6;
}
ul#event-rejister li span.non-regi {
	opacity: .6;
	cursor: default;
	color: #ffffff;
	width: 170px;
	margin: 0 auto;
	padding: 10px 30px;
	background: #bdbdbd;
	border: solid 1px #ffffff;
	border-radius: 6px;
	box-shadow: 0px 0px 5px #b4b4b4;
	display: block;
	text-align: center;
}

/* 特記事項 */
.additional-wrap {
	border: solid 5px #ddd;
	background: #fff;
	padding: 20px 20px 0;
}
.additional-wrap h2 {
	color: #fff;
	background: #c80808;
	padding: 5px 10px;
	margin-bottom: 1em;
}
.additional-wrap ul {
	list-style: disc;
	margin: 0 0 20px 20px;
}

/* アコーディオンメニュー（注意事項） */
.alert-area .acMenu { margin: 0 0 40px; }
.alert-area .acMenu dt .fa-solid { color: #8c714c; }
.alert-area dt.active .fa-solid,
.alert-area .acMenu dt:hover .fa-solid { color: #fff; }
.alert-area .acMenu dd { padding: 20px; }
.alert-area .acMenu dd p:last-child { margin: 0; }

/* タイムテーブル */
.timetable table {
	width: 100%;
	border-collapse: collapse;
	border: solid 1px #ddd;
}
.timetable td:first-child { width: 10%; text-align: center; }
.timetable td:last-child  { width: 90%; }
.timetable td { border: solid 1px #ddd; padding: 5px; }

/* プロモーション・セグメント */
.seg2 {
	gap: 30px;
	margin: 1em 0 3em;
	box-sizing: border-box;
}
.seg2:last-child { margin-bottom: 1em; }
.seg2 .seg { flex: 1; }
.seg2 .seg h3 { margin: 0 0 10px; font-weight: 600; }
.seg2 .seg p  { font-size: 14px; margin-bottom: 10px; }
.seg2 .seg a.btn { margin: 0; }

/* ============================================================
   scroll-to-top button (footer.php)
   ============================================================ */
#scrollTopBtn {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(16px);
  transition: opacity .4s ease, visibility .4s ease, transform .4s ease;
}
#scrollTopBtn.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
#scrollTopBtn img {
  display: block;
  width: 60px;
  height: auto;
}

/* ============================================================
   front-page: guide / seminar (front-page.php)
   ============================================================ */
#guide .inner,
#seminar .inner {
  max-width: 1080px;
}
.guide {
  list-style: none;
  margin: 0;
  display: flex;
  gap: 10px;
}
.guide li img {
  width: 100%;
  height: auto;
  max-height: 430px;
}
.guide a[href$='.pdf']:before {
  content: none;
}
/* ============================================================
   front-page: tanning section (front-page.php)
   ============================================================ */
.color-no2.tanning {
  gap: 5px;
}
.color-no2.tanning img {
  display: inline-block;
}
/* ============================================================
   archive-sponsor (archive-sponsor.php)
   ============================================================ */
.sponsors-area-footer.sponsor-banners {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sponsors-area-footer.sponsor-banners img {
  display: block;
  width: 100%;
  height: auto;
}
.sponsors-area-footer.sponsor-banners .widget {
  width: calc((100% - 8px) / 2);
}
.sponsors-area-footer.sponsor-banners.grade-tier-1 .widget {
  width: calc((100% - 8px) / 2);
}
.sponsors-area-footer.sponsor-banners.grade-tier-2 .widget {
  width: calc((100% - 16px) / 3);
}
.sponsors-area-footer.sponsor-banners.grade-tier-3 .widget {
  width: calc((100% - 24px) / 4);
}
.sponsors-area-footer.sponsor-banners.grade-tier-4 .widget {
  width: calc((100% - 24px) / 4);
}
.sponsors-area-footer.sponsor-banners.grade-pg .widget {
  width: calc((100% - 32px) / 5);
}
@media only screen and (max-width: 780px) {
  .seg2.membership { display: block; }
  .event-table { width: 100%; }
  ul.coloring li {
    width: calc((100% - 24px) / 2);
    max-width: 200px;
    text-align: center;
  }
  .event-type-wrap .year-title,
  .event-type-wrap .event-type {
    font-size: 13px;
  }
  .event-date { font-size: 40px; }
  .event-day,
  .event-place {
    font-size: 15px;
  }
  .sponsors-no2 .widget { width: calc((100% - 20px) / 2); }
  .guide { display: block; }
  #seminar .guide { display: flex; }
  .color-no2.tanning .widget {
    width: calc((100% - 10px) / 3);
  }
  .sponsors-area-footer.sponsor-banners .widget {
    width: calc((100% - 16px) / 3);
  }
}

/* ============================================================
   NPC Worldwide membership section (inc/npcww_reji.php)
   ============================================================ */
.reji-wrap {
  display: flex;
  gap: 10px;
  margin: 6px 0 0;
  padding: 0 30px;
}
.seg2.membership .seg {
  flex: 0 0 calc(50% - 15px);
  box-sizing: border-box;
  min-width: 0;
}
.seg2.membership .reji-wrap a.btn {
  width: 100%;
}

/* ============================================================
   single-tanning (single-tanning.php)
   ============================================================ */
.single-tanning .event-table {
  margin: 0 auto;
}
.single-tanning .event-table th small {
  margin-left: -10px;
}
.single-tanning .event-table th,
.single-tanning .event-table td {
  padding: 5px;
}
.reservation-list {
  list-style: none;
  margin: 0;
}

/* ============================================================
   single-sponsor (single-sponsor.php)
   ============================================================ */
.single-sponsor .event-table {
  margin: 0 auto;
}
.single-sponsor .event-table th small {
  margin-left: -10px;
}
.single-sponsor .event-table th,
.single-sponsor .event-table td {
  padding: 10px 5px;
}
.venue-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
}
.venue-text {
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.35;
}
.venue-text a,
a.icon-link {
  text-decoration: none;
}
.venue-icons {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  white-space: nowrap;
}
.icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  line-height: 1;
  font-size: 16px;
}
.icon-link i {
  line-height: 1;
}
.venue-sub {
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.4;
  opacity: .9;
}
.event-table th.th-empty {
  color: transparent;
  user-select: none;
}
@media (max-width: 480px) {
  .venue-icons { gap: 6px; }
  .icon-link { font-size: 15px; }
}

/* ============================================================
   home-swipe schedule cards (inc/home-swipe.php)
   ============================================================ */
.btn-2 {
  width: 250px;
  background: #fff;
  margin: 0 auto;
  border-radius: 5px;
  border: solid 2px #ddd;
}
.btn-2 a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.btn-2 a:focus,
.btn-2 a:hover {
  text-decoration: none;
  opacity: 0.7;
}
.btn-2 span {
  width: 200px;
  color: #333;
  text-align: center;
  font-weight: 600;
  border-radius: 0px 4px 4px 0px;
  display: block;
}
.btn-2 .fa {
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px 0 0 4px;
  background: #8c714c;
  color: #fff;
}
.more { text-align: center; }
.more a {
  color: #fff;
  background: #8c714c;
  padding: 10px 40px;
  border-radius: 100px;
  position: relative;
}
.more a .fa-solid {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 5px;
}
.more a:focus,
.more a:hover {
  opacity: .7;
  text-decoration: none;
}
.zxsw-wrap {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  max-width: 1120px;
  margin: 0 auto;
}
.zxsw-viewport {
  position: relative;
  overflow: visible;
  padding: 0 17px;
  box-sizing: border-box;
}
.zxsw-track { display: flex; }
.zxsw-slide {
  flex: 0 0 auto;
  height: auto;
  position: relative;
  z-index: 1;
}
.zxsw-viewport .swiper-pagination { display: none !important; }
.zxsw-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.zxsw-nav--prev { left: 6px; }
.zxsw-nav--next { right: 6px; }
.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: 30px;
  color: #c5c5c5;
}
.zxsw-card { display: block; text-decoration: none; color: #000; }
.zxsw-card:hover,
.zxsw-card:focus { text-decoration: none; }
.zxsw-date {
  font-family: "Oswald", sans-serif;
  font-size: 36px;
  line-height: 1;
  font-weight: 500;
}
.zxsw-day { font-size: 18px; }
.zxsw-place { font-size: 16px; }
.zxsw-in {
  width: 100%;
  min-height: 140px;
  background: #fff;
  border: 3px solid rgb(225 225 225);
  border-radius: 5px;
  overflow: hidden;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr;
  margin-bottom: 1em;
}
.zxsw-a { background: #ddd; display: flex; align-items: center; }
.zxsw-h {
  padding: 10px 20px;
  display: flex;
  align-items: center;
  position: relative;
  font-weight: 600;
}
.zxsw-h::after {
  content: "";
  position: absolute;
  top: 0;
  right: -34px;
  width: 0;
  height: 0;
  border-top: 0px solid transparent;
  border-bottom: 46px solid transparent;
}
.zxsw-h.type-open-regional { background: #fbe08b; color: #666; }
.zxsw-h.type-natural-regional { background: #ffc81a; color: #666; }
.zxsw-h.type-open-proqualifier,
.zxsw-h.type-natural-proqualifier,
.zxsw-h.type-olympia-amateur { background: #2196f3; color: #fff; }
.zxsw-h.type-open-proshow,
.zxsw-h.type-natural-proshow { background: #F44336; color: #fff; }
.zxsw-h.type-open-regional::after { border-left: 35px solid #fbe08b; }
.zxsw-h.type-natural-regional::after { border-left: 35px solid #ffc81a; }
.zxsw-h.type-open-proqualifier::after,
.zxsw-h.type-natural-proqualifier::after,
.zxsw-h.type-olympia-amateur::after { border-left: 35px solid #2196f3; }
.zxsw-h.type-open-proshow::after,
.zxsw-h.type-natural-proshow::after { border-left: 35px solid #F44336; }
.zxsw-b {
  padding: 5px 20px 15px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.zxsw-type {
  font-size: 12px;
  letter-spacing: .08em;
  opacity: .75;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.zxsw-type-logo img { height: 100px; width: auto; display: block; }
.zxsw-tt {
  font-size: 17px;
  line-height: 1.18;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.zxsw-badges {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  gap: 5px;
}
.zxsw-badge {
  flex: 1;
  font-size: 15px;
  padding: 10px;
  background: #ddd;
  color: #fff;
}
.zxsw-badge.is-open { background: #c80808; color: #fff; }
.zxsw-badge--tic.is-open { background: #3eb600; }

/* ============================================================
   front-sponsor (inc/front-sponsor.php)
   ============================================================ */
#sponsors {
  text-align: center;
  padding: 40px 0 0;
}
#sponsors .grade-title {
  position: relative;
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: .06em;
  margin: 0 0 30px;
}
#sponsors .grade-title::before,
#sponsors .grade-title::after {
  content: "";
  display: inline-block;
  width: 115px;
  height: 2px;
  background: #c4c4c4;
  margin: 0 15px;
  vertical-align: middle;
}
#sponsors .tier1-item { padding: 50px 0; }
#sponsors .tier1-logo { margin: 0 auto 10px; max-width: 400px; }
#sponsors .tier1-logo a { display: block; text-decoration: none; }
#sponsors .tier1-logo img { display: block; width: 100%; height: auto; }
#sponsors .tier1-title { font-size: 18px; font-weight: 600; margin: 10px 0; }
#sponsors .tier1-basic { font-size: 15px; line-height: 1.8; max-width: 800px; margin: 0 auto 10px; }
#sponsors .tier-grid { padding: 35px 0; }
#sponsors .tier-grid:nth-of-type(even) { background: #f0f0f0; }
#sponsors .sponsor-banners {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 25px;
}
#sponsors .sponsor-banners:first-child { margin-top: 0; }
#sponsors .sponsor-banners a { display: block; text-decoration: none; }
#sponsors .sponsor-banners img { display: block; width: 100%; height: auto; box-shadow: 0 0 10px #dfdfdf; }
.sponsor-banners.grade-tier-3,
.sponsor-banners.grade-tier-4,
.sponsor-banners.grade-food_beverage { padding: 12px 0; }
#sponsors .grade-tier-2 .widget,
#sponsors .grade-tier-3 .widget,
#sponsors .grade-tier-4 .widget,
#sponsors .grade-food_beverage .widget,
#sponsors .grade-pg .widget { margin: 0; }
#sponsors .tier2-item {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  width: 100%;
}
#sponsors .tier2-item .widget { width: calc((100% - 25px) / 2); }
#sponsors .tier2-card { box-sizing: border-box; text-align: left; }
#sponsors .tier2-logo { margin: 0 0 10px; max-width: 420px; }
#sponsors .tier2-logo a { display: block; text-decoration: none; }
#sponsors .tier2-logo img { display: block; width: 100%; height: auto; box-shadow: 0 0 10px #dfdfdf; }
#sponsors .tier2-title {
  font-size: 16px;
  font-weight: 700;
  margin: 8px 0 6px;
  text-align: center;
}
#sponsors .tier2-basic { font-size: 13px; line-height: 1.7; margin: 0; }
#sponsors .grade-tier-3 .widget { width: calc((100% - 50px) / 3); }
#sponsors .grade-tier-4 .widget { width: calc((100% - 75px) / 4); }
#sponsors .grade-food_beverage .widget { width: calc((100% - 25px) / 2); }
#sponsors .grade-pg .widget { width: calc((100% - 64px) / 5); }
@media (max-width: 780px) {
  #sponsors .tier2-item .widget { width: calc((100% - 16px) / 2); }
  #sponsors .sponsor-banners .widget { width: calc((100% - 16px) / 2); }
  #sponsors .tier1-logo { max-width: 300px; }
  #sponsors .tier1-item { padding: 40px 0 20px; }
  #sponsors .grade-title { font-size: 22px; }
  #sponsors .grade-title::before,
  #sponsors .grade-title::after { width: 50px; margin: 0 12px; }
}
/* ============================================================
   mobile styles (max-width: 650px)
   ============================================================ */
@media (max-width: 650px) {
	.inner{ padding: 0 4%; }
	.pc{ display: none; }
	.sp{ display: block; }
	.count-link{
		width: 100%;
	}
	#responsive-menu-title-image{ display: block; }
	#responsive-menu-title-image{ margin: 0 !important; }
	#responsive-menu-title-image img{
		width: 100%;
		height: auto;
	}
	#site-title {
		width: 75px;
        height: 60px;
	}
	.home section{ padding: 40px 0 50px; }
	.item-wrap{
		display: block;
		border: solid 1px rgb(221, 221, 221);
	}
	.item-post{
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		margin: 0;
		padding: 2%;
		border: none;
		border-bottom: solid 1px rgb(221, 221, 221);
	}
	.item-post:last-child{ border: none; }
	.item-post .pro { max-width: 30px; }
	.item-post-text{
		flex: 6;
		font-size: 1.5rem;
		padding: 5px 5px 0;
	}
	.item-post h3{ margin-bottom: 5px; }
	.item-cat{
		font-size: 1.0rem;
	}
	.item-post:nth-child(n+6) .item-post-image {
		width: 100px;
		height: 100px;
		margin-right: 10px;
	}
	.item-post:nth-child(n+6) .thumb img {
		justify-content: center;
		align-items: center;
		overflow: hidden;
		object-fit: cover;
		width: 100px;
		height: 100px;
	}
	.home .fade-tab { margin: 2em auto 3em; }
	.content-major{ display: block; }
	.content-major li{
		width: 100%;
		margin: 3% 0;
	}
	.contest-title{
		font-size: 2.8rem;
	}
	.singular .entry-header .entry-meta{
		font-size: 12px;
		margin: 0;
	}
	.entry-content h2,
	.entry-content h3{
		font-size: 1.6rem;
	}
	.entry-content p,
	.entry-content dt,
	.entry-content dd,
	.entry-content li{
		font-size: 1.5rem;
	}
	.entry-content .box ol{
		margin: 0px 10px 20px 10px;
	}
	.entry-content .box ol ul{
		margin: 0;
	}
	.entry-content .box ol ul li{
		padding: 0;
	}
	.entry-content dd ul{
		margin: 0 0 20px 20px;
	}
	.entry-content .fade-area dd{
		font-size: 1.4rem;
	}
	.entry-content .fade-area dd ul{
		list-style-type: none;
		margin: 0 -10px;
	}
	.fade-thmubnail img{
		max-width: 100%;
		margin: 0 auto 1em;
	}
	.video-container {
		position: relative;
		margin-bottom: 30px;
		padding-bottom: 56.25%;
		padding-top: 30px;
		height: 0;
		overflow: hidden;
	}
	.video-container iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	ul.part-list{
		font-size: 1.4rem;
	}
	.imp-box {
		padding: 15px 15px 0;
	}
	.box .base-list a {
		display: block;
		width: 100%;
		margin: 0 0 .5em;
		padding: 5px;
	}
	a.btn{ width: 75%; }
	a.scroll span{
		width: 35px;
		height: 35px;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	a.scroll span::before{
		width: 30px;
		height: 30px;
	}
	.entry-content .impact-l{ font-size: 24px; }
	.cat-wrap{ display: block; }
	.cat-wrap .image{
		line-height: 0;
		margin-bottom: 10px;
	}
	.cat-wrap .text{ margin-left: 0; }
	.regi-wrap{ display: block; }
	.regi-wrap a{
		display: block;
		width: 100%;
	}
	.totop{ padding: 10px 0; }
	#colophon .widget{ margin: 20px 0; }
	.footer-logo img {
		width: 40%;
		display: block;
		margin: 0 auto;
	}
	.contest-title{ line-height: 1.3; }
	ul.home_sponsors .btns {
	  justify-content: space-around;
	}
	ul.home_sponsors .btns a {
	  width: 42%;
	  padding: 8px 0;
	  margin: 0;
	}
	ul.home_sponsors li figure {
	  width: 100%;
	}
	ul.home_sponsors li .txt {
	  width: 100%;
	}
	ul.home_sponsors li .txt p.title {
	  font-size: 1.9rem;
	  padding-top: 15px;
	}
  .seg2 { display: block; }
  .seg2 .seg a.btn { margin: 0 auto; }
  #sponsors .sponsor-banners .widget { width: calc((100% - 25px) / 2); }
  #sponsors .tier2-item { gap: 15px; }
  #sponsors .tier2-item .widget { width: calc((100% - 15px) / 2); }
  #sponsors .sponsor-banners.grade-tier-3 { gap: 15px; }
  #sponsors .grade-tier-3 .widget { width: calc((100% - 15px) / 2); }
  #sponsors .sponsor-banners.grade-tier-4 { gap: 15px; }
  #sponsors .grade-tier-4 .widget { width: calc((100% - 30px) / 3); }
  #sponsors .sponsor-banners.grade-food_beverage { gap: 15px; }
  #sponsors .grade-food_beverage .widget { width: calc((100% - 30px) / 2); }
}

/* ============================================================
   register-lookup modal (inc/register.php)
   ============================================================ */
#register-lookup-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  overflow-y: auto;
  padding: 10px;
  box-sizing: border-box;
}
#register-lookup-modal.is-open {
  display: block;
}
.register-lookup-modal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.72);
}
.register-lookup-modal__dialog {
  position: relative;
  z-index: 2;
  width: min(92vw, 760px);
  max-height: none;
  overflow: visible;
  margin: 5vh auto;
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  box-sizing: border-box;
}
.register-lookup-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: #111;
  color: #fff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.register-lookup-modal__title {
  margin: 0 0 18px;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.3;
}
.register-lookup-modal__lead {
  font-size: 15px;
  margin: 0 0 20px;
  line-height: 1.8;
}
.register-lookup-form {
  display: grid;
  gap: 0;
}
.register-lookup-form__row label {
  display: block;
  font-weight: 700;
  margin-bottom: 8px;
}
.register-lookup-form__row input {
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
}
.register-lookup-form__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 8px;
}
.register-lookup-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  min-height: 48px;
  padding: 12px 20px;
  border: none;
  border-radius: 8px;
  background: #333;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
}
.register-lookup-btn.is-sub {
  background: #666;
}
.register-lookup-result {
  margin-top: 22px;
}
.register-lookup-box {
  text-align: center;
  padding: 18px;
  border-radius: 10px;
  background: #333;
  color: #fff;
}
.register-lookup-box.is-error {
  background: #fff3f3;
  border-color: #e0b0b0;
  color: #b00020;
}
.register-lookup-box.is-warn {
  background: #fffbe8;
  border-color: #ead48a;
  color: #5a4a17;
}
.register-lookup-box h2 {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
}
.register-lookup-box h2 span {
  font-size: 18px;
  font-weight: 400;
}
.register-lookup-box h3 {
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 600;
}
.register-lookup-athlete-no {
  color: #ffed70;
  font-size: 46px;
  font-weight: 800;
  line-height: 1.2;
  margin: 6px 0 16px;
}
.register-lookup-classes {
  list-style: none;
  margin: 0;
  padding-left: 20px;
}
.register-lookup-loading {
  display: none;
  margin-top: 12px;
  font-size: 14px;
}
.register-lookup-loading.is-show {
  display: block;
}
@media (max-width: 767px) {
  .event-over-wrap { flex-wrap: wrap; }
  .fade-wrap {
  	top: 100px;
  	right: 5%;
  }
  #register-lookup-modal { padding: 10px; }
  .register-lookup-modal__dialog {
    width: 100%;
    margin: 0 auto;
    padding: 20px 16px;
    border-radius: 14px;
  }
  .register-lookup-modal__title {
    font-size: 24px;
    padding-right: 44px;
  }
  .register-lookup-form__actions { display: grid; }
  .register-lookup-btn { width: 100%; }
}

/* ============================================================
   entry modal (inc/modal.php)
   ============================================================ */
.zx-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.60);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s ease;
  z-index: 9998;
}
.zx-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  width: min(92vw, 560px);
  transform: translate(-50%, -50%) scale(.98);
  background: #fff;
  border-radius: 4px;
  max-width: 95%;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 22px 20px;
  box-shadow: 0 10px 40px rgba(0,0,0,.25);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
  z-index: 9999;
}
.zx-modal.is-open,
.zx-modal-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.zx-modal.is-open {
  transform: translate(-50%, -50%) scale(1);
}
.zx-modal__close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 38px;
  height: 38px;
  border: 0;
  background: transparent;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.zx-modal__title {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 700;
}
.zx-modal__text {
  margin: 0 0 14px;
  line-height: 1.7;
  font-size: 14px;
}
.zx-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}
.zx-modal__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 8px;
  padding: 15px 0;
  text-decoration: none;
  line-height: 1;
  border: 1px solid rgba(0,0,0,.12);
}
.zx-modal__actions a.zx-primary {
  background: #c80808;
  border: solid 1px #ff0000;
  color: #fff;
}
.zx-modal__actions a.zx-secondary {
  background: #8c714c;
  color: #ffffff;
}
.zx-modal__note {
  margin: 12px 0 0;
  font-size: 12px;
  color: #666;
  line-height: 1.6;
}
/* utility */
.text-center { text-align: center; }

/* ===== 会員限定 よくあるご質問タブボタン (member-faq-tab) ===== */
#member-faq-tab{
  position: fixed;
  left: 0;
  top: 65%;
  z-index: 9990;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-50%) translateX(-16px);
  transition: opacity .4s ease, visibility .4s ease, transform .4s ease;
}
#member-faq-tab.is-show{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(-50%) translateX(0);
}
#member-faq-tab a.member-faq-tab__link{
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: #e73c4a;
  color: #ffffff;
  padding: 10px 8px;
  border-radius: 0 6px 6px 0;
  text-decoration: none;
  writing-mode: vertical-rl;
  width: 36px;
  box-sizing: border-box;
  font-size: 14px;
}
#member-faq-tab .member-faq-tab__icon img{
  width: 20px;
  height: 20px;
}


/* FAQ tab icon -> mail icon */
#member-faq-tab .member-faq-tab__icon img{
	display: none;
}
#member-faq-tab .member-faq-tab__icon{
	width: 20px;
	height: 20px;
	display: inline-block;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='M2 7l10 7l10-7'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px 18px;
}


/* ===== 会員限定 LINE登録タブボタン (member-line-tab) ===== */
#member-line-tab{
  position: fixed;
  left: 0;
  top: calc(65% + 90px);
  z-index: 9990;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-16px);
  transition: opacity .4s ease, visibility .4s ease, transform .4s ease;
}
#member-line-tab.is-show{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
}
#member-line-tab a.member-line-tab__link{
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: #06c755;
  color: #ffffff;
  padding: 10px 8px;
  border-radius: 0 6px 6px 0;
  text-decoration: none;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 14px;
}
#member-line-tab .member-line-tab__icon{
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background-color: #ffffff;
  padding: 1px;
  box-sizing: border-box;
  flex-shrink: 0;
}
#member-line-tab .member-line-tab__icon img{
  width: 100%;
  height: 100%;
  display: block;
}
#member-line-tab .member-line-tab__text{
  line-height: 1;
  letter-spacing: 0px;
}
#member-line-tab .member-line-tab__text-line{
  letter-spacing: -4px;
  margin-bottom: 4px;
}


/* ---------------------------------------------------- */
/* 終了した大会の表示（開催日が過去のスケジュール） */
/* ---------------------------------------------------- */
.archive-wrap.is-finished {
    position: relative;
}
.archive-wrap.is-finished .archive-wrap-inner {
    opacity: 0.3;
}
.archive-wrap.is-finished::after {
    content: "終了";
    position: absolute;
    top: 3px;
    left: 0;
    z-index: 5;
    font-size: 11px;
    line-height: 1;
    color: #fff;
    background: rgb(255 0 0 / 65%);
    padding: 4px;
    border-radius: 0px;
    opacity: 1;
    pointer-events: none;
}

/* ---------------------------------------------------- */
/* 会場情報エリアにアイキャッチ画像を並べて表示 */
/* ---------------------------------------------------- */
.venue-media {
    display: grid;
    grid-template-columns: 38% 1fr;
    grid-template-areas:
        "image title"
        "image info";
    column-gap: 24px;
    row-gap: 8px;
    align-items: start;
    margin-bottom: 2em;
}
.venue-media__title {
    grid-area: title;
    margin-bottom: 4px;
}
.venue-media__image {
    grid-area: image;
}
.venue-media__image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}
.venue-media__info {
    grid-area: info;
}
.venue-media__info .event-table {
    margin-bottom: 0;
}
@media (max-width: 767px) {
    .venue-media {
        grid-template-columns: 1fr;
        grid-template-areas:
            "title"
            "image"
            "info";
        row-gap: 14px;
        padding: 16px;
    }
}

/* ============================================================
   右下フローティングUI（AIチャットタブ / LINEアイコン）
   ============================================================ */
#tayori-ai-chatbot-app {
  margin-right: 0 !important;
}

#scrollTopBtn {
  right: 0 !important;
  bottom: 220px !important;
}

#scrollTopBtn img {
  width: 38px !important;
  height: auto !important;
}

/* ============================================================
   同日開催 部門確認モーダル（inc/modal.php）
   ============================================================ */
.zx-pair-modal .zx-modal__title {
  color: #c80808;
  text-align: center;
}

.zx-pair-modal__current {
  display: block;
  padding: 4px 10px;
  border-radius: 3px;
  background: #f2c94c;
  color: #222;
  font-weight: 700;
  font-size: 18px;
  margin: 0 auto 10px;
  text-align: center;
}

.zx-pair-modal .zx-modal__text strong {
  background: linear-gradient(transparent 70%, rgba(255,235,59,.45) 70%);
}

.zx-pair-modal .zx-modal__actions a.zx-primary,
.zx-pair-modal .zx-modal__actions a.zx-secondary {
  padding: 15px 30px;
}

/* ===== ゼッケン番号確認：氏名表示 ===== */
.register-lookup-name {
  margin: 0 0 14px;
  padding: 0 0 12px;
  border-bottom: solid 1px rgba(128, 128, 128, 0.4);
  text-align: center;
}
.register-lookup-name__row {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 10px;
  margin: 0 0 2px;
  line-height: 1.4;
}
.register-lookup-name__row:last-child {
  margin-bottom: 0;
}
.register-lookup-name__row span {
  flex: 0 0 auto;
  font-size: 1.6rem;
  font-weight: 400;
  opacity: 0.6;
}
.register-lookup-name__row em {
  color: inherit;
  font-style: normal;
  font-size: 1.7rem;
  font-weight: 600;
  word-break: break-word;
}

/* info_support */
.entry-content ul.info-support{
    list-style: none;
    margin: 0 0 2em;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    text-align: center;
}
.entry-content ul.info-support li {
    border: solid 5px #ddd;
    width: calc((100% - 30px) / 2);
    border-radius: 5px;
}
.entry-content ul.info-support li a {
    display: block;
    text-align: center;
    font-size: 14px;
    padding: 20px 5px;
    color: #333;
    font-weight: 600;
}
.entry-content ul.info-support li a:active,
.entry-content ul.info-support li a:hover{
    background: #e5e5e5;
    text-decoration: none;
}
.entry-content ul.info-support li .fas{
    display: block;
    margin: 0 auto 5px;
    font-size: 25px;
}

/* ===== ゼッケン番号確認：注意喚起ボックス ===== */
.register-lookup-box + .register-lookup-box {
  margin-top: 14px;
}
.register-lookup-box.is-warn {
  position: relative;
  overflow: hidden;
  padding: 5rem 1.8rem 2rem;
  background-color: rgb(255, 251, 232);
  background-image: repeating-linear-gradient(45deg, #EBBB2F 0 5px, #333 5px 10px);
  background-position: top;
  background-size: 100% 2rem;
  background-repeat: no-repeat;
}
.register-lookup-box.is-warn::before {
  content: attr(data-title);
  position: absolute;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.6rem 1.6rem;
  border-radius: 30px;
  background-color: #333;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
  color: #EBBB2F;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
.register-lookup-box.is-warn .register-lookup-btn {
  background: #c80808;
}
.register-lookup-note {
  margin: 14px 0 0;
  font-size: 1.3rem;
  line-height: 1.6;
  opacity: 0.8;
}

.register-lookup-note__asof {
  color: #c80808;
  font-weight: 700;
}
