@charset "UTF-8";
/* CSS Document */

/* LAYOUT */
header nav ul li > *{display: flex; align-items: center; flex-wrap: wrap; justify-content: center; color: #ffffff; font-weight: bold; text-align: center;}
header nav ul li span{color: #cccccc; background-color: #777777;}
header nav ul li.nav-x a{width: 40px; height: 40px; background-color: #000000/*#d80c18*/; border-radius: 20px; overflow: hidden;}
header nav ul li.nav-x a:before{display: flex; align-items: center; justify-content: center; content: "\e61b"; width: 40px; height: 40px; font-family: "Font Awesome 6 Free"; font: var(--fa-font-brands); font-weight: 400;}
footer{margin-top: 4.0em; padding: 50px 0; color: #ffffff; background-color: #d80c18; text-align: center;}
footer:before{display: inline-block; content: ""; width: 150px; height: 150px; margin-bottom: 1.0em; background: #ffffff url("../../img/logo-mgc.png") no-repeat center center; background-size: 60px; border-radius: 75px;}
footer nav{text-align: left;}
footer nav a, footer nav b{padding: 0.25em 0;}
footer nav a{color: #ffffff;}
footer nav > ul > li > b, footer nav > ul > li > a{display: block; color: #ffffff; border-bottom: 1px solid #ffffff;}
footer nav > ul > li > b + ul > li{display: flex; align-items: flex-start;}
footer nav > ul > li > b + ul > li:before{content: "・";}
footer nav > ul > li > b + ul > li > *{width: 50%;}
footer nav > ul > li > b + ul > li > b{display: flex; align-items: center; justify-content: space-between;}
footer nav > ul > li > b + ul > li > b:after{display: block; content: ""; width: 40px; height: 1px; background-color: #ffffff;}
footer nav > ul > li > b + ul > li > ul{position: relative;}
footer nav > ul > li > b + ul > li > ul:before{display: block; content: ""; position: absolute; top: 1.25em; left: 0; width: 1px; height: calc(100% - 2.5em); background-color: #ffffff;}
footer nav > ul > li > b + ul > li > ul li{display: flex; align-items: center;}
footer nav > ul > li > b + ul > li > ul li:before{content: ""; width: 20px; height: 1px; margin-right: 10px; background-color: #ffffff;}
footer p{margin: 5.0em 0 0; padding: 1.0em 0; border-top: 1px solid rgba(0,0,0,0.5);}
.dir-top main > section, .page-top main .series > section, .page-top main .mgc > section, main .partners, main .sns{padding: 3.0em 0; overflow: hidden;}
.dir-top .item-slider .swiper-slide img, .dir-series .item-slider .swiper-slide img, .dir-mgc .item-slider .swiper-slide img {border: 1px solid rgba(0,0,0,0.25); box-sizing: border-box;}
.page-top main h1:not(.ttl-page){margin: 0; line-height: 1.2; text-align: center;}
.page-top main .series h1{color: #c09810;}
.page-top main .mgc h1{color: #d80c18;}
.dir-top main .mgc h1{color: #ffffff;}
.page-top main h1 + p{margin-top: 0.25em; text-align: center; line-height: 1.4;}
.ttl-page{margin: 0; padding: 0;}
.ttl-page a{display: block; width: 100%; padding: 0.5em 0; color: #ffffff; background: rgb(17,17,17); background: linear-gradient(90deg, rgba(17,17,17,1) 0%, rgba(51,51,51,1) 50%, rgba(17,17,17,1) 100%); text-align: center;}
.dir-series .ttl-page a{color: #ffffff; background: rgb(144,114,12); background: linear-gradient(90deg, rgba(144,114,12,1) 0%, rgba(192,152,16,1) 50%, rgba(144,114,12,1) 100%);}
.mgc .ttl-page a{color: #ffffff; background: rgb(162,9,18); background: linear-gradient(90deg, rgba(162,9,18,1) 0%, rgba(216,12,24,1) 50%, rgba(162,9,18,1) 100%);}
.ttl-page + .container{margin-top: 2.0em;}
.l-nav{margin-bottom: 1.5em; background: rgb(17,17,17); background: linear-gradient(90deg, rgba(17,17,17,1) 0%, rgba(51,51,51,1) 50%, rgba(17,17,17,1) 100%);}
.dir-series .l-nav{background: rgb(144,114,12); background: linear-gradient(90deg, rgba(144,114,12,1) 0%, rgba(192,152,16,1) 50%, rgba(144,114,12,1) 100%);}
.mgc .l-nav{background: rgb(162,9,18); background: linear-gradient(90deg, rgba(162,9,18,1) 0%, rgba(216,12,24,1) 50%, rgba(162,9,18,1) 100%);}
.l-nav ul{display: flex; border-top: 1px solid rgba(0,0,0,0.25); border-right: 1px solid rgba(0,0,0,0.25); border-left: 1px solid rgba(0,0,0,0.25); border-radius: 5px 5px 0 0; overflow: hidden;}
.l-nav ul li{flex-grow: 1;}
.l-nav ul li:not(:first-child){border-left: 1px solid #000000;}
.l-nav ul li > *{display: block; padding: 0.5em 0; color: #ffffff; background-color: #333333; font-weight: bold; text-align: center;}
.l-nav ul li a:hover, .p-nav ul li a:active{background-color: #000000;}
.l-nav ul li span{color: #cccccc; background-color: #777777;}
.page-top .l-nav ul li.nav-top a,
.page-outline .l-nav ul li.nav-outline a,
.page-schedule .l-nav ul li.nav-schedule a,
.page-ranking .l-nav ul li.nav-ranking a,
.page-guide .l-nav ul li.nav-guide a{color: #333333; background-color: #ffffff;}
.p-nav ul{display: flex; flex-wrap: wrap; margin-bottom: 1.0rem;}
.p-nav ul li{box-sizing: border-box;}
.p-nav.unit-2 ul li{width: 50%;}
.p-nav.unit-3 ul li{width: 33.333%;}
.p-nav.unit-4 ul li{width: 25%;}
.p-nav.unit-5 ul li{width: 20%;}
.p-nav.unit-6 ul li{width: 16.666%;}
.p-nav ul li > *{display: block; padding: 0.5em 0; color: #ffffff; background-color: #000000; text-align: center;}
.dir-series .p-nav ul li > b{color: #ffffff; background-color: #c09810;}
.p-nav ul li > span{color: #cccccc; background-color: #777777;}
ul.list-tag	{margin: 20px 0 0; /*padding: 15px 20px 5px;*/ padding: 15px 0 5px; background-color: #ffffff; list-style-type: none; font-size: 0;}	
ul.list-tag li	{display: inline; margin: 0 1.0em 0 0; padding: 0; word-break: keep-all; font-size: 1.2rem;}	
ul.list-tag li a	{display: inline-block;margin-bottom: 10px; padding: 0 10px; background-color: #ffffff; border: 1px solid #d5231e; border-radius: 3px;  color: #d5231e;}	
ul.list-tag li a:hover	{color: #ffffff; border: 1px solid #ef464d; background-color: #ef464d;}	
ul.list-tag li a:before	{display: inline; content: "\f02b"; margin-right: 0.25em; font-family: fontAwesome;}
.dir-series.page-outline.top .p-nav ul li.nav-outline >a,
.dir-series.page-outline.period .p-nav ul li.nav-period >a,
.dir-series.page-outline.race .p-nav ul li.nav-race >a,
.dir-series.page-outline.point .p-nav ul li.nav-point >a,
.dir-series.page-outline.selection .p-nav ul li.nav-selection >a,
.dir-series.page-outline.prize .p-nav ul li.nav-prize >a,
.dir-series.page-outline.prize .p-nav ul li.nav-prize >a{background-color: #c09810;}
.dir-mgc.page-outline.top .p-nav ul li.nav-outline >a,
.dir-mgc.page-outline.condition .p-nav ul li.nav-condition >a,
.dir-mgc.page-outline.selection .p-nav ul li.nav-selection >a,
.dir-mgc.page-outline.fast-pass .p-nav ul li.nav-fast-pass >a,
.dir-mgc.page-outline.mgc .p-nav ul li.nav-mgc >a,
.dir-mgc.page-outline.final-challenge .p-nav ul li.nav-final-challenge >a,
.dir-mgc.page-outline.wild-card .p-nav ul li.nav-wild-card >a,
.dir-mgc.page-outline.schedule .p-nav ul li.nav-schedule >a,
.dir-mgc.page-outline.course .p-nav ul li.nav-course >a,
.dir-mgc.page-outline.grossory .p-nav ul li.nav-grossory >a,
.dir-mgc.page-outline.archive .p-nav ul li.nav-archive >a{background-color: #d80c18;}
.ttl-article{font-size: 2.0rem;}
.page-top .ui-list, .page-top .ui-gallery, .page-top .item-short-movie	{margin-top: 1.0rem;}
.page-top .ui-list + .item-button, .page-top .ui-gallery + .item-button, .page-top .item-short-movie + .item-button	{margin-top: 1.0rem;}
.page-top main section:not(.series):not(.mgc) h1 + p b{display: inline; background: linear-gradient(transparent 70%, rgba(216,12,24,0.25) 70%); line-height: 1.4;}
.page-top main section.series h1 + p b{background: linear-gradient(transparent 70%, rgba(192,152,16,0.25) 70%) !important;}
.page-top main .event{background-color: #eeeeee;}
.page-top main .ranking table, .page-top main .fast-pass table{width: 100%;}
.page-top main .ranking table tr > *{border-bottom: 1px solid #000000;}
.page-top main .ranking table tbody > tr:first-child > *{color: #ffffff; background-color: #000000;}
.page-top main .ranking table th + td{width: 25%; padding: 10px 20px 10px 0; box-sizing: border-box;}
.page-top main .ranking table th{width: 50px; text-align: center;}
.page-top main .ranking table tbody > tr:first-child th, .page-top main .ranking table tbody > tr:first-child > td.text-right em, .page-top main .ranking table tbody > tr > td:first-child:last-child > p em{color: #c09810;}
.page-top main .ranking table td{line-height: 1.4;}
.page-top main .ranking table td img{vertical-align: top;}
.page-top main .ranking table td b{display: block; font-size: 1.25em;}
.page-top main .ranking table tr > td.text-right, .page-top main .fast-pass table tr > td.text-right{padding-right: 1.0em;}
.page-top main .ranking table tr > td.text-right em, .page-top main .ranking table tbody > tr > td:first-child:last-child > p em{display: inline-block; font-size: 1.5em; font-weight: bold; text-align: right;}
.page-top main .ranking table tbody > tr > td:first-child:last-child{position: relative; width: calc(100% - 50px); padding: 20px;box-sizing: border-box;}
.page-top main .ranking table tbody > tr > td:first-child:last-child > b:nth-of-type(1){display: flex; align-items: center; justify-content: center; position: absolute; top: 0; left: 0; width: 80px; height: 80px; background-color: #c09810; font-size: 1.5em; line-height: 1.0;}
.page-top main .ranking table tbody > tr > td:first-child:last-child > b:nth-of-type(2){ margin-top: 0.5em;font-size: 1.5em;}
.page-top main .ranking table tbody > tr > td:first-child:last-child > p{position: absolute; bottom: 0; right: 20px;}
.page-top main .fast-pass{/*color: #ffffff; background-color: #000000;*/ background-color: #eeeeee;}
.page-top main .fast-pass strong{display: block; margin-top: 2.0em; text-align: center;}
.page-top main .fast-pass strong em{display: inline-block; margin: 0 auto 1.0em;; padding: 0.25em 1.0em; color: #ffffff; background-color: #333333;}
.page-top main .fast-pass .unit-2-lg.tab-area .col{box-sizing: border-box;}
.page-top main .fast-pass .unit-2-lg.tab-area .col > b{display: flex; align-items: center; justify-content: center; margin-bottom: 0.5em; font-size: 1.5em; text-align: center;}
.page-top main .fast-pass .unit-2-lg.tab-area .col > b:before{display: inline-block; content: ""; width: 3.0em; height: 2px; margin-right: 0.5em; border-top: 2px solid #333333; border-bottom: 2px solid #333333;}
.page-top main .fast-pass .unit-2-lg.tab-area .col > b:after{display: inline-block; content: ""; width: 3.0em; height: 2px; margin-left: 0.5em; border-top: 2px solid #333333; border-bottom: 2px solid #333333;}
.page-top main .fast-pass .conditions{display: flex; align-items: center; justify-content: space-between; padding: 0; color: #ffffff; background-color: #d80c18;}
.page-top main .fast-pass .conditions > span{padding: 1.0em; border-right: 1px solid #ffffff; line-height: 1.0}
.page-top main .fast-pass .conditions > span:after{display: block; margin-top: 0.5em; font-size: 1.25em; font-weight: bold; text-align: center;}
.page-top main .fast-pass .unit-2-lg > .col:first-child .conditions > span:after{content: "男子";}
.page-top main .fast-pass .unit-2-lg > .col:last-child .conditions > span:after{content: "女子";}
.page-top main .fast-pass .conditions b{flex-grow: 1; text-align: center;}
.page-top main .fast-pass .conditions b em{font-size: 2.0em;}
.page-top main .fast-pass .conditions b span{display: block; margin-bottom: 1.0em; line-height: 1.0;}
.page-top main .fast-pass .unit-2-lg > .col.tab-content .field{padding: 10px; background-color: #ffffff; }
.page-top main .fast-pass table{width: 100%;}
.page-top main .fast-pass table tr:nth-child(odd) > *{background-color: rgba(0,0,0,0.10);}
.page-top main .fast-pass table tbody th{width: 30px; text-align: center;}
.page-top main .fast-pass table tr > td{padding: 10px 0 10px 10px;}
.page-top main .fast-pass table tr > td:nth-of-type(1){padding: 10px 0;}
.page-top main .fast-pass table tr > td:last-child{white-space: nowrap;}
.page-top main .fast-pass table td b{display: block; white-space: nowrap;}
.page-top main .fast-pass table td p{margin: 0; padding: 0; font-size: 0.75em;}
.page-top main .finalist .tab-content > strong, .page-top main .movie .container > strong{display: block; width: 35%; margin: 1.5em auto 0; padding: 0.5em 1.0em; color: #ffffff; background-color: #000000; font-size: 1.25em; text-align: center; line-height: 1.0; clip-path: polygon(10px 0%, 100% 0%, calc(100% - 10px) 100%, 0% 100%);}
/*.page-top main .fast-pass table tr.passed *{background-color: #d80c18;}
.page-top main .fast-pass table tr > td:last-child em:after{display: inline-block; content: "\f0c8"; margin-left: 1.0em; color: rgba(255,255,255,0.25); font-family: "Font Awesome 6 Free"; font-weight: 900;}
.page-top main .fast-pass table tr.passed > td:last-child em:after{display: inline-block; content: "\f14a";}
.page-top main .fast-pass table tr.passed > td:last-child em:after{color: #fff;}*/
main section.system .field{padding: 0.5em; background-color: #3d3b6d;}
main section.system .field strong{display: block; margin-bottom: 0.5em; color: #ffffff; text-align: center;}
main section.system ol{counter-reset: number;}
main section.system ol li{display: flex; position: relative;/* padding-right: 1.0em;*/ background-color: #eeeeee; font-weight: bold;}
main section.system ol li:before{counter-increment: number; content: counter(number); width: 30px; height: 30px; line-height: 30px; margin-right: 0.5em; color: #ffffff; background-color: #231815;text-align: center;}
main section.system ol li.focus:before{background-color: #d5231e;}
main section.system ol li:not(:first-child){margin-top: 10px;}
.dir-top main section.series .field{background-color: #eeeeee;}
.dir-top main section.mgc .field{color: #ffffff; background-color: #d5231e;}
main section.series .item-more, main section.mgc .item-more{text-align: center;}
main section.series .item-more a, main section.mgc .item-more a{display: inline-block; width: 70%; padding: 1.5em 0; color: #333333; border-radius: 5.0em; font-weight: bold;line-height: 1.0;}
main section.series .item-more a{background-color: #c09810;}
main section.mgc .item-more a{background-color: #ffffff;}
main .news, main .movie{background-color: #eeeeee;}
main .news .tab{margin: 1.5em 0;}
main .movie, main .event + .news{border-top: 1px solid rgba(0,0,0,0.5)}
main .partners dl dt{display: block; margin-bottom: 1.0em; font-weight: bold; text-align: center;}
main .partners dl > dt:not(:nth-of-type(1)){margin-top: 2.0em;}
main .partners dl dd img{border: 1px solid #c7c7c7; box-sizing: border-box;}
main .sns{background-color: #eeeeee;}
#top .main section{padding: 4.0em 0;}
.list-event > li{padding-bottom: 1.0em;   border-bottom: 1px solid #c7c7c7;}
.list-event > li:not(:first-child){margin-top: 1.0em;}
.list-event > li .col:last-child div:last-child{width: 100%; font-size: 0.85em; line-height: 1.6;}
.list-event > li .col:last-child .field + div:before{content: "TV放送＆ライブ配信"; padding: 0.25em 1.0em; background-color: #eeeeee;}
.list-event > li .col b {display: block; font-size: 1.25em;}
.list-event > li .col strong {display: flex; width: 25%; margin: 0.5em 0; color: #ffffff;}
.list-event > li .col span {width: 50%; text-align: center;}
.list-event > li .col span.male {background-color: #0984e3;}
.list-event > li .col span.female {background-color: #e84393;}
.list-event > li .col em {width: 50%; background-color: #000000; text-align: center;}
.list-event > li .col ul {display: flex; flex-wrap: wrap;}
.list-event > li .col ul li {width: calc(33.333% - 2px);}
.list-event > li .col ul li:not(:nth-of-type(3n+1)) {margin-left: 3px;}
.list-event > li .col ul li:nth-of-type(n+4) {margin-top: 2px;}
.list-event > li .col ul li > * {display: block; padding: 0.5em 0; text-align: center; line-height: 1.0;}
.list-event > li .col ul li > a {color: #ffffff; background-color: #d80c18; transition: all 0.25s;}
.list-event > li .col ul li > a:hover {background-color: #a20912;}
.list-event > li .col ul li > span {color: #666666; background-color: #aaaaaa;}
.item-kv{text-align: center;}
.item-comingsoon{padding: 5.0em 1.0em; background-color: #eeeeee; text-align: center;}
.item-search{border-radius: 5px; overflow: hidden;}
.item-search strong{display: flex; align-items: center; justify-content: center; padding: 1.0em; color: #ffffff; background-color: #333333; line-height: 1.0; white-space: nowrap;}
.item-search .field, .item-search .field > *, .item-search .field > * ul{width: 100%;}
.item-search .field{background-color: #eeeeee; }
.item-search .field ul{font-size: 0.85em;}
.item-search .field ul li{line-height: 1.0;}
.item-search .field ul li input{padding: 0.25em; border: 1px solid #c7c7c7; outline: none; appearance: none; box-sizing: border-box;}
.item-search .field > .heading ul > li:nth-of-type(2), .item-search .field > .heading ul > li:nth-of-type(3){display: flex; align-items: center;}
.item-search .field > .heading ul > li:nth-of-type(2):before, .item-search .field > .heading ul > li:nth-of-type(3):before, .item-search .field > .detail ul:before{display: block; content: "性別"; padding: 0.5em; color: #ffffff; background-color: #333333;}
.item-search .field > .heading ul > li:nth-of-type(2):before{display: block; content: "性別"; margin-right: 0.5em;}
.item-search .field > .heading ul > li:nth-of-type(3):before{display: block; content: "大会"; margin-right: 0.5em;}
.item-search .field > .detail ul:before{display: block; content: "詳細検索"; line-height: 1.0;}
.item-search .field > .detail button{padding: 0.5em 2.0em; color: #ffffff; background-color: #c09810; border: none; border-radius: 5px; appearance: none; outline: none; cursor: pointer; transition: all 0.25s;}
.item-search .field > .detail button:hover{background-color: rgba(144,114,12,1.00)}
.dir-series.page-schedule.overseas main table tr > *{line-height: 1.4;}
.dir-series.page-schedule.overseas main table td a{display: block; position: relative; color: #333333; line-height: 1.4;}
.dir-series.page-schedule.overseas main table td a:after{display: block; content: "\f2d2"; position: absolute; top: calc(50% - 0.5em); right: 0.5em; color: #c09810; font-family: "Font Awesome 6 Free"; font-weight:900; line-height: 1.0;}
.dir-series.page-schedule.overseas main table td a em{display: block; font-family: "Roboto Condensed", sans-serif; font-size: 0.85em;}
.dir-series.page-schedule.overseas main table td.text-center{color: #c09810;}

.dir-series.page-ranking main h1{display: flex; justify-content: space-between; width: 100%; box-sizing: border-box;}
.dir-series.page-ranking main h1:not(.ttl-page) span{font-size: 0.85em;}
.dir-series.page-ranking main table{width: 100%;}
.dir-series.page-ranking main table tr > *:first-child{width: 50px; text-align: center;}
.dir-series.page-ranking main table tr > *:nth-last-child(-n+3){width: 13%;}
.dir-series.page-ranking main table tr > td:nth-last-child(-n+3){font-family: "Roboto Condensed", sans-serif;}
.dir-series.page-ranking main table tr > *:nth-of-type(3), .dir-series.page-ranking main table tr > *:nth-of-type(4){width: 13%;}
.dir-series.page-ranking main table th, .dir-series.page-ranking main table td{padding: 0.5em; line-height: 1.4; box-sizing: border-box;}
.dir-series.page-ranking main table thead th{color: #ffffff; background-color: #000000; font-size: 0.85em;}
.dir-series.page-ranking main table tbody th{text-align: center;}
.dir-series.page-ranking main table > thead:first-child + tbody > tr > th em{display: inline-block; width: 30px; height: 30px; color: #ffffff; background-color: #c09810; border-radius: 15px; text-align: center; line-height: 30px;}
.dir-series.page-ranking main table tr > *:nth-last-child(-n+5){text-align: center}
.dir-series.page-ranking main table tbody tr > *{background-color: #ffffff;}
.dir-series.page-ranking main table tbody tr:nth-child(odd) > *{background-color: #eeeeee;}
.dir-series.page-ranking main table > thead:first-child + tbody > tr > td b{font-size: 1.5em;;}
.dir-series.page-ranking main table tbody td a{color: #333333;}
.dir-series.page-ranking main table tbody td a:after{display: inline-block; content: ""; width: 6px; height: 6px; margin-left: 0.5em; border-top: 2px solid #d80c18; border-right: 2px solid #d80c18; transform: rotate(45deg); vertical-align: 2px; transition: all 0.25s;}
.dir-series.page-ranking main table tbody td a:hover:after{margin-left: 0.75em;}
.dir-series.page-ranking main table tbody td img{width: 50px;}
.dir-series.page-ranking main table tbody td strong{font-size: 1.25em;}
.mfp-content .field{position: relative;background-color: #ffffff; box-sizing: border-box; z-index: 1;}
.mfp-content strong{display:flex; align-items: center; padding:10px;color:#fff;background-color:#222222; vertical-align: middle;}
.mfp-content strong span{padding-left:.5em;font-size:12px;font-weight:400}
.mfp-content strong span + img{width:60px;margin-left:.5em}
.mfp-content table{width: 100%;}
.mfp-content table th, .mfp-content table td{padding: 0.5em; font-size: 0.85em;}
.mfp-content table th{text-align: center;}
.mfp-content table td b{display: block; padding: 0.25em 0; color: #ffffff; background-color: #c09810; line-height: 1.0; text-align: center;}
.mfp-close{top: -54px; right: 0; padding:0;  overflow:hidden; cursor: pointer; opacity: 1;}
.mfp-close:before{display: block; content: "×"; position: relative; width: 44px; height: 44px; color: #333333; background-color: #cccccc; border-radius: 22px; opacity: 0.75; z-index: 1;}
.mfp-close:hover:before{opacity: 1;}
.mfp-close:active{top: -54px;}
.mfp-close:after{display: block; content: ""; position: fixed; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; z-index: 0;}


@keyframes scroll_arrow {
	0%{transform:translate(0px,0)}
	100%{transform:translate(5px,0)}
}


@media (max-width: 767px) {

	.page-top main h1{font-size: 6.0vw;}
	.dir-top .page-top main h1{margin-bottom: 0.5em;}
	.page-top main .ranking .unit-2-lg.tab-area, .page-top main .fast-pass .unit-2-lg.tab-area{margin-top: 1.0em;}
	/*.page-top main .fast-pass .tab-sm > li{border-color: #ffffff;}*/
	.page-top main .fast-pass .unit-2-lg > .col:first-child .conditions{margin-bottom: 1px;}


/* LAYOUT */
	header{position: fixed; top: 0; left: 0; width: 100%; padding: 10px 20px; background-color: #ffffff; box-sizing: border-box; z-index: 1;}
	header h1{width: 33px; margin: 0;}
	header h1 img{vertical-align: top;}
	header button.menu{display: flex; align-items: center; justify-content: center;flex-direction: column; position: absolute; top: 10px; right: 10px; width: 60px; height: 60px; padding: 0; background-color: transparent; border: none; outline:  none; appearance: none;}
	body.open header button{z-index: 2;}
	header button span{width: 20px; height: 2px; background-color: #000000; text-indent: -999em;}
	body.open header button span{display: none;}
	header button.menu:before, header button.menu:after{ content: ""; width: 20px; height: 2px; margin: 5px 0; background-color: #000000; transition: all 0.25s;}
	body.open header button.menu:before{width: 24px; transform: rotate(45deg); transform-origin: 6px 6px;}
	body.open header button.menu:after{width: 24px;transform: rotate(-45deg); transform-origin: 5px -5px;}
	header nav{display: none}
	body.open header nav{display: flex; flex-wrap: wrap; align-items: center; flex-direction: column; position: fixed; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; padding: 0; background-color: #ffffff;; box-sizing: border-box; z-index: 1;}
	body.open header nav ul.g-nav{width: 100%; padding: 50px; background-color: rgba(216,12,24,1.00); box-sizing: border-box;}
	body.open header nav > ul > li{position: relative;}
	body.open header nav > ul:nth-of-type(1) li a, body.open header nav > ul:nth-of-type(1) li span{display: flex; align-items: center; justify-content: space-between; padding: 1.0em; text-align: left;}
	body.open header nav > ul:nth-of-type(1) > li > a, body.open header nav > ul:nth-of-type(1) > li > span{border-bottom: 1px solid rgba(255,255,255,1.0);}
	header nav ul.g-nav > li > button{display: flex; align-items: center; justify-content: center; position: absolute; top: 0.25em; right: 0; width: 3.0em; height: 3.0em; padding: 0; background-color: rgba(0,0,0,0.25); border: none; outline: none; appearance: none; text-indent: -999em;}
	header nav ul.g-nav > li > button:after{content: ""; width: 6px; height: 6px; border-right: 2px solid #ffffff; border-bottom: 2px solid #ffffff; transform: rotate(45deg); transition: all 0.25s;}
	header nav ul.g-nav > li > button.menu-open:after{transform: rotate(225deg);}
	header nav ul.g-nav > li > button + ul{display: none;}
	header nav ul.g-nav > li > button.menu-open + ul{display: block;}
	header nav ul.g-nav > li > button.menu-open + ul li a{margin-bottom: 1px; background-color: rgba(0,0,0,0.25);}
	body.open header nav > ul:nth-of-type(2){display: flex; align-items:  center; justify-content: center;}
	header nav > ul:not(.g-nav){height: 50%; background-color: #ffffff; box-sizing: border-box;}
	header nav > ul:not(.g-nav) li{margin: 0 15px;}
	header nav > ul:not(.g-nav) img{height: 30px;}
	footer nav a, footer nav b{padding: 0.5em 0;}
	footer p{font-size: 2.5vw;}
	main{padding-top: 80px;}
	#top .main section{padding: 2.0em 0;}
	.dir-top main section.series .field, .dir-top main section.mgc .field{padding: 20px;}
	main section.system ol li{font-size: 3.25vw; line-height: 30px;}
	.dir-top main section.series:before{display: block; content: ""; width: 100%; height: 20vh; background: transparent url("../../img/2027/bg-series.jpg") no-repeat center center; background-size: cover;}
	.dir-top main section.mgc:before{display: block; content: ""; width: 100%; height: 20vh;background: transparent url("../../img/2027/bg-mgc.jpg") no-repeat center center; background-size: cover;}
	.dir-top main section.series .field, .dir-top main section.mgc .field{margin-top: -1.0em;}
	.dir-top .item-slider .swiper-slide, .dir-mgc .item-slider .swiper-slide, .page-top .item-event .swiper-slide {margin-top: 5px;}
	.l-nav{width: 100%; overflow: scroll;}
	.l-nav{position: relative;}
	.l-nav ul{overflow: visible; white-space: nowrap;}
	.l-nav ul li > *{height: 40px; line-height: 40px; padding: 0 1.0em;}
	.l-nav ul:not(.scrolled):after{display:block;content:"\f0a6";position:absolute;top:5px;right:5px;width:30px;height:30px;line-height:30px;color:#333;background-color:rgba(255,255,255,0.5);border-radius:15px;text-align:center;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;animation-duration:1s;animation-name:scroll_arrow;font-family:"Font Awesome 6 Free";font-weight:900}
	.p-nav ul li{font-size: 2.5vw}
	.p-nav.unit-3 ul li:not(:nth-of-type(3n+1)){border-left: 1px solid 	#ffffff;}
	.p-nav.unit-4 ul li:not(:nth-of-type(4n+1)){border-left: 1px solid 	#ffffff;}
	.p-nav.unit-3 ul li:nth-of-type(n+4){border-top: 1px solid #ffffff;}
	.p-nav.unit-4 ul li:nth-of-type(n+5){border-top: 1px solid #ffffff;}
	.p-nav ul li > *{padding-top: 0.75em; padding-bottom: 0.75em;}
	.p-nav.unit-2-sm ul li{width: 50%;}
	.p-nav.unit-3-sm ul li{width: 33.333%;}
	.p-nav.unit-4-sm ul li{width: 25%;}
	.p-nav.unit-5-sm ul li{width: 20%;}
	.p-nav.unit-6-sm ul li{width: 16.666%;}
	.list-event > li{position: relative;}
	.list-event > li .col:first-child{position: absolute; top: 0; left: 0; width: 20%;}
	.list-event > li .col:last-child .field{padding-left: calc(20% + 1.0em);}
	.list-event > li .col:last-child .field ul{margin-top: 1.0em;}
	.list-event > li .col:last-child div:last-child{margin-top: 1.0em;}
	.list-event > li .col:last-child .field + div:before{display: block;margin-bottom: 0.25em;}
	.item-search:not(.open){width: 60%; margin: 0 auto;}
	.item-search strong{cursor: pointer;}
	.item-search:not(.open) strong:before{display: inline-block; content: "\f002"; margin-right: 0.25em; font-family: "Font Awesome 6 Free"; font-weight: 900; vertical-align: middle;}
	.item-search .field{padding-top: 1.0em;}
	.item-search:not(.open) .field{display: none;}
	.item-search .field ul li{padding: 0 1.0em 0.5em;;}
	.item-search .field > .detail ul:before{margin: 0.5em 1.0em;}
	.item-search .field select, .item-search .field input{width: 100% !important; box-sizing: border-box;}
	.item-search .field > .detail button{display: block; width: 100%; margin: 0.5em 0;}
	.dir-series.page-schedule main table, .dir-series.page-ranking main table{white-space: nowrap;}
	.dir-series.page-ranking main table tr > *:first-child{position: sticky; left: 0;}
	.dir-series.page-ranking main table tr > *:nth-child(2){position: sticky; left: 40px;}
	.dir-series.page-ranking main table tr > *:nth-child(2):after{display: block; content: ""; position: absolute; top: 0; right: -10px; bottom: 0; width: 10px; height: 100%; background: rgb(0,0,0); background: linear-gradient(90deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 100%);}
.mfp-content .field{margin: 0 auto;  padding: 1.0em;}
	.mfp-content strong{position:relative}
	.mfp-content strong span + img{display:inline-block;margin-left:0!important;width:40px!important}
	.mfp-content strong img.photo{width:15%;margin-right:.5em;border-radius:5px}
	.mfp-content table,.mfp-content table tbody{display:block;width:100%}
	.mfp-content table tr{display:block;position:relative;padding:10px;border-bottom:1px solid #bdbdbd;font-size:0;box-sizing:border-box}
	.mfp-content table th,.mfp-content table td{display:block;padding:0;border:none;font-size:1.4rem}
	.mfp-content table th{position:absolute;top:10px;left:10px;width:40px;height:40px;line-height:40px;background-color:#eee;font-size:1rem;text-align:center}
	.mfp-content table tr td:nth-of-type(1), .mfp-content table tr td:nth-of-type(2){display: inline-block;}
	.mfp-content table tr td:nth-of-type(1){width: 40%; font-size:1.2rem}
	.mfp-content table tr td:nth-of-type(2){width: 60%; font-size: 1.5rem; font-weight: bold;}
	.mfp-content table tr td:nth-of-type(n + 3){display:inline-block;width:25%;margin-top:10px;border-right:1px solid #c7c7c7;font-size:1rem;text-align:center;box-sizing:border-box}
	.mfp-content table tr td:last-child{border-right:none}
}

@media (min-width: 768px) {	

.content.clearfix article	{float: left; width: 730px;}
.content.clearfix aside	{float: right; width: 275px;}
	

/* LAYOUT */
	.body-article	{margin-top:  50px;}
	header {position: relative;}
	header:before {display: block; content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 20px; background-color: rgba(0,0,0,0.25)}
	header .container, header .container nav{display: flex; align-items: flex-end; justify-content: space-between; position: relative;}
	header h1{width: 100px; margin: 0; padding: 10px 20px; background-color: #ffffff; box-sizing: border-box; box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.25);}
	header img{display: block;}
	header button{display: none;}
	header:after{display: block; content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 92px; background-color: #d80c18; z-index: -1;}
	header nav ul{display: flex; margin-bottom: 20px !important;}
	header nav ul.g-nav{width: 770px; background-color: #d80c18; border: 1px solid rgba(0,0,0,0.25); box-sizing: border-box;}
	header nav ul.g-nav > li{position: relative; width: 100%;}
	header nav ul.g-nav > li:not(:last-child){border-right: 1px solid rgba(0,0,0,0.5);}
	header nav > ul:not(.g-nav){align-items: center; justify-content: center; width: 170px; margin: 0 0 31px 10px !important; padding: 5px 15px 5px 15px; background-color: #ffffff; border-radius: 5px; box-sizing: border-box;}
	header nav ul.g-nav li a, header nav ul.g-nav li span{height: 70px;  box-sizing: border-box;}
	.dir-series header nav ul.g-nav > li.nav-series > a, .dir-mgc header nav ul.g-nav > li.nav-mgc > a{position: relative; color: #d80c18;background-color: #ffffff;}
	.dir-series header nav ul.g-nav > li.nav-series > a:after, .dir-mgc header nav ul.g-nav > li.nav-mgc > a:after{display: block; content: ""; position: absolute; bottom: 0; left: calc(50% - 7px); width: 14px; height: 10px; background-color: #94221d; clip-path: polygon(50% 0%, 0% 100%, 100% 100%);}
	header nav ul.g-nav > li > button + ul{display: none; position: absolute; top: 70px; left: 0; width: 100%; background-color: #d80c18; z-index: 1;}
	header nav ul.g-nav > li > a:hover + button + ul, header nav ul.g-nav > li > button + ul:hover{display: block; }
	header nav ul.g-nav > li > button + ul li{border-top: 1px solid rgba(0,0,0,0.25);}
	header nav > ul:not(.g-nav) img{height: 30px; margin-left: 20px;}
	footer nav > ul{display: flex; flex-wrap: wrap; justify-content: space-between;}
	footer nav > ul > li:nth-of-type(-n+2){width: calc(50% - 15px);}
	footer nav > ul > li:nth-of-type(n+3){width: calc(33.333% - 20px); margin-top: 2.857%;}
	.l-nav ul{justify-content: space-around;}
	.p-nav ul li{font-size: 1.4rem;}
	.p-nav.unit-2-lg ul li{width: 50%;}
	.p-nav.unit-3-lg ul li{width: 33.333%;}
	.p-nav.unit-4-lg ul li{width: 25%;}
	.p-nav.unit-5-lg ul li{width: 20%;}
	.p-nav.unit-6-lg ul li{width: 16.666%;}
	.p-nav ul li:not(:nth-of-type(6n+1)){border-left: 2px solid #ffffff;}
	.p-nav ul li:nth-of-type(n+7){border-top: 2px solid #ffffff;}
	ul.list-tag	{margin-top: 40px; padding-right: 0; padding-left: 0;}	
	.page-top main .ranking .tab li b{display: inline-block; margin-bottom: 0.75em; padding: 0.5em 5.0em; background-color: #eeeeee; line-height: 1.5;}
	main section.system .field{margin-top: 2.0em; padding: 0.75em 1.0em 1.0em; text-align: center;}
	main section.system .field strong{font-size: 30px;}
	/*main section.system ol{margin-bottom: 2.0em;}*/
	main section.system ol li{height: 50px; line-height: 50px; background-color: #eeeeee; font-size: 24px;}
	main section.system ol li:before{width: 50px; height: 50px; line-height: 50px;}
	.dir-top main section.series{background: transparent url("../../img/2027/bg-series.jpg") no-repeat center center;}
	.dir-top main section.mgc{background: transparent url("../../img/2027/bg-mgc.jpg") no-repeat center center;}
	.dir-top main section.series .field{width: 525px; margin-left: 525px; padding: 20px; box-sizing: border-box;}
	.dir-top main section.mgc .field{width: 525px; margin-right: 525px; padding: 20px; box-sizing: border-box;}
	.page-top main h1:not(.ttl-page){font-size: 40px;}
	.page-top main h1 + p{font-size: 20px;}
	.page-top main .ranking table th + td{width: 120px;}
	.page-top main .ranking table tbody > tr:first-child > td.text-right em, .page-top main .ranking table tbody > tr > td:first-child:last-child > p em {font-size: 3.0em;}
	.page-top main .fast-pass strong em{font-size: 1.5em;}
	.page-top .swiper-wrapper {overflow: visible;}
	.dir-top .item-slider .swiper-slide, .dir-mgc .item-slider .swiper-slide, .page-top .item-event .swiper-slide {width: 340px !important; margin: 20px 0 20px 20px;}
	.page-top .item-event .swiper-slide {margin-right: 7.5px; margin-left: 7.5px;}
	/*.page-top .item-event .swiper-slide:first-child {margin-left: 0;}*/
	.page-top .swiper-slide {margin-bottom: 20px;}
.list-event > li{display: flex; align-items: flex-start; flex-wrap: wrap;}
.list-event > li .col:first-child{display: flex; align-items: center; width: 12%; }
.list-event > li .col:first-child img{width: 90%; margin-right: 1.0em;}
.list-event > li .col:last-child{display: flex; flex-wrap: wrap; width: 88%;}
.list-event > li .col:last-child .field{display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%;}
.list-event > li .col:last-child .field div{width: 50%}
.list-event > li .col:last-child .field + div{display: flex;align-items: flex-start;}
.list-event > li .col:last-child .field + div:before{display: flex; align-items: center; justify-content: center; margin-right: 0.5em; white-space: nowrap;}
.item-search{display: flex;}
.item-search .field > div{display: flex;}
.item-search .field > div ul{display: flex; align-items: center;}
.item-search .field > div ul li{padding: 0.5em 0 0.5em 1.0em;}
.item-search .field > .heading ul{padding: 0.5em 0;}
.item-search .field > .heading ul > li:nth-of-type(2):before, .item-search .field > .heading ul > li:nth-of-type(3):before, .item-search .field > .detail ul:before{padding: 0.5em calc(0.5em + 10px) 0.5em 0.5em; clip-path: polygon(0% 0%, calc(100% - 10px) 0%, 100% 50%, calc(100% - 10px) 100%, 0% 100%);}
.item-search .field > .detail ul{padding: 0.5em 0 0.5em 1.0em; border-top: 1px solid #a7a7a7;}
.item-search .field > .detail ul > li:first-child{padding-left: 0;}
.item-search .field > .detail ul > li:last-child{flex-grow: 1; padding-right: 1.0em; text-align: right;}
.item-search .field > .detail ul li input{width: 200px;}
.item-search .field > .detail ul:before{margin-right: 0.5em;}
.mfp-content .field{width: 1050px; margin: 0 auto;  padding: 1.5em;}
.mfp-content strong img.photo {width: 90px; margin-right: 1.0em;}
.mfp-content table tr:nth-child(even) > td{background-color: #eeeeee;}
.mfp-content table tr > td:first-child{width: 17%;}
.mfp-content table tr > td:nth-of-type(3), .mfp-content table tr > td:nth-of-type(4), .mfp-content table tr > td:nth-of-type(5){width: 12%;}
.mfp-content table tr > td:last-child{width: 17%;}
.mfp-close{top: -22px; right: calc(50% - 547px);}
.mfp-close:active{top: -22px;}



}