@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Jockey+One|Montserrat:400,500,700,900|Noto+Sans+JP:400,500,700|Oswald:400,500,700&display=swap&subset=japanese');

/* --------------------------------------------------
 normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
--------------------------------------------------- */
button,hr,input{overflow:visible;padding:0;}progress,sub,sup{vertical-align:baseline;}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0;}html{line-height:1;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{margin:.67em 0;font-size:2em;}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-size:1em;font-family:monospace,monospace;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-size:100%;font-family:inherit;line-height:1;}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none;}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{display:table;max-width:100%;color:inherit;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px-webkit-appearance:textfield;}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button;}summary{display:list-item}[hidden],template{display:none}table{border-spacing:0;border-collapse:collapse;}td,th{padding:0;font-weight:normal;}ul{margin:0;padding:0;}ul li{margin:0;padding:0;list-style:none;}ol{margin:0;padding:0;}ol li{margin:0;padding:0;list-style:none;}
main,figure,figcaption,time,address,dl,dt,dd{display: block;margin:0;padding:0;}h1,h2,h3,h4,h5{margin:0;font-size:100%;}p{margin:0; padding:0;}address{font-style: normal;}*,*:after,*:before{outline:none;}*,*:after,*:before{box-sizing: border-box;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);}h1,h2,h3,h4{font-weight:normal;}

/* --------------------------------------------------
 common
--------------------------------------------------- */
html{ overflow-x: hidden; width: 100%; font-size: 62.5%;}
body{
    min-width: 1100px;
    width: 100%;
    background: #fff;
    color: #000;
    font-size: 1.6rem;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1;

    -webkit-font-smoothing: antialiased;
}
*, *:after, *:before{ box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}
img{ max-width: 100%; width: 100%; vertical-align: bottom;}
address{ font-style: normal;}
a{ color: #aa8e14; text-decoration: underline;}
a:hover{ text-decoration: none;}
.sp{ display: none;}
#wrap{ position: relative;}

@media screen and (max-width: 768px){
    body{ min-width: 0; font-size: 1.4rem;}
    .pc{ display: none;}
    .sp{ display: block;}
}

/* --------------------------------------------------
 header
--------------------------------------------------- */
.header{ position: relative; padding: 0 20px; height: 100px; border-top: 5px solid; line-height: 100px;}
.header a{ color: #000; text-decoration: none;}
.header a:hover{ color: #aa8e14;}
.header h1{ display: inline-block; width: 400px;}
.header h1 img{ vertical-align: middle;}
.header .period{ position: absolute; bottom: 20px; left: 460px; width: 400px;}
.header aside{ position: absolute; top: 0; right: 20px; display: flex;}
.header aside .btn{ padding: 0 20px 0 0; vertical-align: middle;}
.header aside .btn a{ display: inline-block; padding: 6px 15px; background: #d9df00; color: #000; vertical-align: middle; font-weight: 700; font-size: 1.6rem; line-height: 1;}
.header aside .btn i{ display: inline-block; margin: 0 .5rem 0 0;}
.header aside .btn a:hover{ background: #000; color: #fff;}
.header aside ul{ display: flex; margin: 0 -5px; font-size: 3.2rem;}
.header aside li{ padding: 0 5px;}
.header-sp{ display: none;}

@media screen and (max-width: 768px){
    .header{ display: none;}
    .header-sp{  position: fixed; top: 0; left: 0; z-index: 9999; display: block; width: 100%; height: 60px; background: #fff; box-shadow: 0px 3px 5px -5px rgba(0, 0, 0, .3); line-height: 60px;}
    .header-sp h1{ display: inline-block; padding: 0 0 0 10px; width: 75%;}
    .header-sp h1 img{ vertical-align: middle;}
}

.gnav{ position: relative; background: #d70029;}
.gnav .item1{ display: flex; color: #fff;}
.gnav .item1-li{ width: calc(100% / 10); border-left: 1px solid;}
.gnav .item1-li:first-child{ border: none;}
.gnav .item1-li a{ display: block; padding: 10px 0; color: #fff; text-align: center; text-decoration: none; font-size: 1.2rem; cursor: pointer;}
.gnav .item1-li:hover a{ background: #000;}
.gnav .item1-li div{ padding: 10px 0; background: #ccc; color: #fff; text-align: center; text-decoration: none; font-size: 1.2rem;}
.gnav .item1-li span{ display: block; padding: 0 0 5px; letter-spacing: .2rem; font-size: 1.8rem; font-family: 'Jockey One', sans-serif;}

@media screen and (max-width: 768px){
    .gnav{ display: none;}
}

.gnav .item2{ position: absolute; top: 55px; left: 0; z-index: 9999; display: flex; visibility: hidden; width: 100%; border-top: 1px solid #fff; background: rgba(0,0,0,1); opacity: 0; justify-content: center;}
.gnav .item1-schedule:hover .item2-schedule,
.gnav .item1-japan:hover .item2-japan,
.gnav .item1-team:hover .item2-team,
.gnav .item1-ticket:hover .item2-ticket,
.gnav .item1-access:hover .item2-access,
.gnav .item1-media:hover .item2-media,
.gnav .item1-results:hover .item2-results,
.gnav .item1-ranking:hover .item2-ranking{ visibility: visible; opacity: 1;}

.gnav .item2-li{ padding: 30px 15px; width: 250px;}
.gnav .item2-li a{ padding: 15px; background: #fff; color: #d70029; font-weight: 700; font-size: 1.8rem;}
.gnav .item1-li:hover .item2-li a{ background: #fff;}
.gnav .item2-li a span{ margin: 0 0 10px; padding: 5px 0; background: #d70029; color: #fff; letter-spacing: normal; font-size: 1.4rem;}
.gnav .item2-li small{ display: inline-block; margin: 0 0 0 5px; font-size: 1.2rem;}
.gnav .item2-li i{ display: block; margin: 5px 0 0; text-align: center;}
.gnav .men a{ color: #1d2088;}
.gnav .men a span{ background: #1d2088;}

.period2{ display: none;}
@media screen and (max-width: 768px){
    .period2{ display: block; padding: 10px; background: #000;}
}

.live2{ position: fixed; right: 20px; bottom: 20px; z-index: 999; width: 380px;}
.live2-inner{ border: 4px solid #d70029; background: #fff;}
.live2 .box{ padding: 15px 10px; text-align: center; font-weight: 700; font-family: 'Oswald', sans-serif;}
.live2 .box ul{ display: flex; font-size: 1.4rem; align-items: center;}
.live2 .box li{ width: 35%;}
.live2 .box li:nth-child(2){ width: 30%;}
.live2 .box i{ display: block; margin: 0 0 5px; text-align: center;}
.live2 .box a i{ display: inline-block; margin: 0 0 0 .5rem;}
.live2 .box i img{ display: inline-block; width: 50%;}
.live2 .box .ttl{ color: #d70029; font-size: 1.6rem;}
.live2 .box .ttl2{ padding: 0 0 5px; color: #d70029; font-size: 2.8rem;}
.live2 .box li:nth-child(2) a{ display: inline-block; margin: 5px 0 0; padding: 6px; background: #d9df00; color: #000; text-decoration: none; font-size: 1.2rem; font-family: 'Oswald', sans-serif; line-height: 1;}
.live2 .box .score{ font-size: 3.2rem;}

@media screen and (max-width: 768px){
    .live2{ right: 0; bottom: 0; padding: 10px 20px; width: 100%; background: rgba(0,0,0,.3);}
    .live2 .box{ padding: 10px;}
    .live2 .box li{ width: 30%;}
    .live2 .box li:nth-child(2){ width: 40%;}
}

/* --------------------------------------------------
 main
--------------------------------------------------- */
main{ margin: 1px 0 0; background: #efefef;}
article header{ position: relative; height: 150px; background: #000; color: #fff; text-align: center;}
article header h1{ position: absolute; top: 50%; left: 50%; width: 1080px; font-weight: 700; font-size: 3rem; transform: translate(-50%,-50%);}
article header h1 .ttl1{ display: inline-block; padding: 5px 30px; background: #d70029; color: #fff; letter-spacing: .1rem; font-size: 1.8rem;}
article header h1 .ttl2{ display: block; margin: 15px 0 0;}
.content{ margin: 0 auto; padding: 45px 0 75px; width: 1080px;}
.inner{ padding: 60px; background: #fff;}
.page h2{ margin: 45px 0 0; padding: 0 0 15px; border-bottom: 4px solid; font-weight: 700; font-size: 3.2rem;}
.page h2 span{ display: inline-block; margin: 0 0 0 2rem; font-size: 1.6rem;}
.page h3{ display: inline-block; margin: 45px 0 0; padding: 15px 30px; background: #d70029; color: #fff; font-weight: 700; font-size: 2rem;}
.men .ttl1,
.men h3{ background: #1d2088;}

@media screen and (max-width: 768px){
    main{ margin: 0; padding: 60px 0 0;}
    article header{ height: 90px;}
    article header h1{ width: 100%; font-size: 2rem;}
    article header h1 .ttl1{ font-size: 1.4rem;}
    article header h1 .ttl2{ margin: 10px 0 0;}
    .content{ padding: 15px 20px 30px; width: 100%;}
    .inner{ padding: 15px;}
    .page h2{ margin: 30px 0 0; padding: 0 0 15px; border-bottom: 3px solid; font-size: 2rem;}
    .page h2 span{ font-size: 1.4rem;}
    .page h3{ margin: 30px 0 0; padding: 10px; font-size: 1.8rem;}
    .page h3 span{ display: inline-block; font-size: 1.2rem;}
}

.list-news{ line-height: 1.5;}
.list-news li{ margin: 30px 0 0;}
.list-news li:first-child{ margin: 0;}
.list-news a{ display: flex; padding: 30px; background: #fff; color: #000; text-decoration: none;}
.list-news a:hover{ color: #aa8e14;}
.list-news figure{ width: 19.1%;}
.list-news .detail{ padding: 0 0 0 30px; width: 80.9%;}
.list-news time{ color: #d70029; font-size: 1.2rem;}
.list-news h3{ font-weight: 700; font-size: 2rem;}
.list-news p{ margin: 15px 0 0; font-size: 1.4rem;}

@media screen and (max-width: 768px){
    .list-news li{ margin: 15px 0 0;}
    .list-news a{ padding: 15px; align-items: center;}
    .list-news .detail{ padding: 0 0 0 15px;}
    .list-news time{ font-size: 1rem;}
    .list-news h3{ font-size: 1.4rem;}
    .list-news p{ display: none;}
}

.pagenation{ display: flex; margin: 30px 0 0; font-weight: 700; font-family: 'Montserrat', sans-serif; justify-content: center;}
.pagenation li{ padding: 0 2px;}
.pagenation span{ display: block; padding: 10px 15px;}
.pagenation a{ display: block; padding: 10px 15px; background: #d9df00; color: #000; text-decoration: none;}
.pagenation a:hover{ background: #000; color: #fff;}

.pnav ul{ display: flex; margin: 0 -1px;}
.pnav li{ padding: 0 1px; width: 50%;}
.pnav.women li{ width: 33.3333%;}
.pnav a{ position: relative; display: block; padding: 15px 0; background: #fff; color: #000; text-align: center; text-decoration: none; font-weight: 700; font-size: 2rem;}
.pnav a:hover,
.pnav .current a{ background: #000; color: #fff;}
.pnav a:hover:after,
.pnav .current a:after{ position: absolute; bottom: -10px; left: 50%; margin: 0 0 0 -10px; border-width: 10px 10px 0 10px; border-style: solid; border-color: #000 transparent transparent transparent; content: "";}

@media screen and (max-width: 768px){
    .pnav ul{ flex-wrap: wrap;}
    .pnav li{ width: 50%;}
    .pnav.women li{ width: 50%;}
    .pnav.women li:nth-child(3){ padding: 2px 1px 0;}
    .pnav a{ padding: 10px 0; font-size: 1.6rem;}
    .pnav a small{ display: block; margin: 5px 0 0; font-size: 1.2rem;}
    .pnav a:hover:after,
    .pnav .current a:after{ content: none;}
}

@media screen and (max-width: 768px){
    .wrap-table{ overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0; white-space: nowrap;}
    .wrap-table::-webkit-scrollbar{ height: 5px;}
    .wrap-table::-webkit-scrollbar-track{ background: #F1F1F1;}
    .wrap-table::-webkit-scrollbar-thumb{ background: #BCBCBC;}
    .wrap-table th{ padding: 10px; vertical-align: top; white-space: nowrap;}
    .wrap-table td{ padding: 10px; vertical-align: top; white-space: nowrap;}
    .scroll{ padding: 5px 0; border-top: 1px solid #ddd; background: #383735; color: #fff; text-align: center; font-size: 1rem;}
    .scroll i{ display: inline; margin: 0 5px;}
}

/* top -------------------------------------------- */
.hero{ height: 400px; border-top: 5px solid; border-bottom: 5px solid; background: #000 url("/img/hero.jpg") no-repeat top center;}

@media screen and (max-width: 768px){
    .hero{ position: relative; padding-top: 53.33333%; height: auto; border-top: none; background: #000 url("/img/hero_sp.jpg") no-repeat top center / cover;}
}

.top .flex{ display: flex; border: 5px solid #d70029;}
.top .flex .cont1{ display: flex; width: 19.1%; background: #d70029; color: #fff; flex-wrap: wrap; align-items: center;}
.top .flex .cont2{ width: 80.9%; background: #fff;}
.top .flex h2{ width: 100%; text-align: center; letter-spacing: .2rem; font-weight: 700; font-size: 3.2rem; font-family: 'Jockey One', sans-serif;}
.top .flex h2 i{ display: block; padding: 0 0 15px;}
.top .flex h2 img{ width: 44px;}
.top .flex h2 span{ display: block; margin: 5px 0 0; letter-spacing: normal; font-size: 1.2rem;}
.top .flex .btn{ width: 100%; text-align: center;}
.top .flex .btn a{ color: #fff; text-decoration: none; font-weight: 700; font-size: 1.8rem; font-family: 'Montserrat', sans-serif;}
.top .flex .btn i{ display: block;}

@media screen and (max-width: 768px){
    .top .flex{ display: block; margin: -15px -20px 0; border: none;}
    .top .flex .cont1{ display: block; width: 100%;}
    .top .flex .cont2{ width: 100%;}
    .top .flex h2{ padding: 10px 20px; text-align: left; text-align: left; font-size: 2.4rem;}
    .top .flex h2 i{ display: inline-block; margin: 0 10px 0 0; padding: 0; width: 10%;}
    .top .flex h2 img{ width: 100%; vertical-align: middle;}
    .top .flex h2 span{ display: inline-block; margin: 0 0 0 10px; font-size: 1.2rem;}
    .top .flex .btn.pc{ display: none;}
    .top .flex .btn a{ display: block; padding: 15px 0; background: #d70029; font-size: 1.4rem; line-height: 1;}
    .top .flex .btn i{ display: none;}
}

.top .flex2{ display: flex; margin: 0 -22px;}
.top .flex2 .cont3{ padding: 0 22px; width: 66.6666%;}
.top .flex2 .cont4{ padding: 0 22px; width: 33.3333%;}
.top .flex2 .cont4 figure{ height: 330px;}

@media screen and (max-width: 768px){
    .top .flex2{ display: block; margin: 0;}
    .top .flex2 .cont3{ padding: 0; width: 100%;}
    .top .flex2 .cont4{ display: none;}
}

.top .flex1{ display: flex; margin: 0 -22px;}
.top .flex1 .cont5{ padding: 0 22px; width: 50%;}
.top .flex1 .cont6{ padding: 0 22px; width: 50%;}

@media screen and (max-width: 768px){
    .top .flex2{ display: block; margin: 0;}
    .top .flex2 .cont3{ padding: 0; width: 100%;}
    .top .flex2 .cont4{ display: none;}
}

.top .list-news{ overflow: auto; -webkit-overflow-scrolling: touch; height: 320px;}
.top .list-news li{ margin: 0;}
.top .list-news a{ display: flex; padding: 10px 15px; border-top: 1px dotted #ddd; background: none;}
.top .list-news li:first-child a{ border: none;}
.top .list-news figure{ width: 10%;}
.top .list-news .detail{ padding: 0 0 0 15px; width: 90%;}
.top .list-news h3{ font-size: 1.4rem;}

@media screen and (max-width: 768px){
    .top .list-news{ overflow: visible; height: auto;}
    .top .list-news li:nth-child(n + 6){ display: none;}
    .top .list-news a{ border: none; border-top: 1px dotted #ddd; align-items: flex-start;}
    .top .list-news figure{ width: 19.1%}
    .top .list-news .detail{ padding: 0 0 0 10px; width: 80.9%;}
}

.top .flex3{ display: flex; margin: 0 -22px; flex-wrap: wrap;}
.top .flex3 .box{ margin: 45px 0 0; padding: 0 22px; width: 33.3333%;}
.top .flex3 .inner{ position: relative; padding: 25px 5px 5px; background: #d70029; color: #fff;}
.top .flex3 .inner:after{ position: absolute; top: 20px; left: 50%; display: inline-block; margin: 0 0 0 -125px; width: 250px; height: 125px; border-radius: 50% / 0 0 100% 100%; background: #d70029; content: "";}
.top .flex3 .box:nth-child(odd) .inner{ background: #000;}
.top .flex3 .box:nth-child(odd) .inner:after{ background: #000;}
.top .flex3 h3{ position: relative; z-index: 88; text-align: center; font-weight: 700; font-size: 1.2rem;}
.top .flex3 h3 span{ display: block; padding: 0 0 5px; letter-spacing: .2rem; font-size: 3.2rem; font-family: 'Jockey One', sans-serif;}
.top .flex3 h3 i{ display: block; margin: 15px 0 0;}
.top .flex3 h3 img{ width: 44px;}
.top .flex3 .list-btn{ display: flex; margin: 0 -2px;}
.top .flex3 .list-btn li{ padding: 0 2.5px; width: 50%;}
.top .flex3 .list-btn a{ position: relative; display: block; height: 100px; background: #fff; color: #1d2088; text-decoration: none; font-weight: 700; font-size: 1.8rem; font-family: 'Montserrat', sans-serif;}
.top .flex3 .list-btn li:first-child a{ color: #d70029;}
.top .flex3 .list-btn a span{ position: absolute; top: 50%; left: 50%; padding: 30px 0 0; text-align: center; transform: translate(-50%,-50%);}
.top .flex3 .list-btn a small{ display: block; margin: 4px 0 0; letter-spacing: .1rem; font-size: 1.2rem;}
.top .flex3 .list-btn a i{ display: block; text-align: center;}
.top .flex3 .btn a{ position: relative; display: block; height: 100px; background: #fff; color: #000; text-decoration: none; font-weight: 700; font-size: 1.8rem; font-family: 'Montserrat', sans-serif;}
.top .flex3 .btn span{ position: absolute; top: 50%; left: 50%; padding: 30px 0 0; transform: translate(-50%,-50%);}
.top .flex3 .btn i{ display: block; text-align: center;}
.top .flex3 .cs{ position: absolute; bottom: 15px; left: -4%; z-index: 99; padding: 30px 0; width: 108%; background: #dae000; box-shadow:3px 3px 3px 0 rgba(0,0,0,.1); color: #fff; text-align: center; font-weight: 700; font-size: 2.4rem; font-family: 'Montserrat', sans-serif; transform: rotate(-5deg);}

@media screen and (max-width: 768px){
    .top .flex3{ display: block; margin: 0;}
    .top .flex3 .box{ margin: 15px 0 0; padding: 0; width: 100%;}
    .top .flex3 .inner{ padding: 10px 5px 5px;}
    .top .flex3 .inner:after{ content: none;}
    .top .flex3 h3{ padding: 0 0 10px;}
    .top .flex3 h3 span{ letter-spacing: normal; font-size: 2.4rem;}
    .top .flex3 h3 i{ display: none;}
    .top .flex3 .list-btn{ margin: 0 -2px;}
    .top .flex3 .list-btn li{ padding: 0 2px;}
    .top .flex3 .list-btn a{ height: 60px; font-size: 1.4rem;}
    .top .flex3 .list-btn a span{ padding: 0; width: 100%;}
    .top .flex3 .list-btn a small{ letter-spacing: normal;}
    .top .flex3 .btn a{ height: 60px; font-size: 1.4rem;}
    .top .flex3 .btn span{ padding: 0;}
    .top .flex3 .cs{ bottom: 20px; padding: 15px 0; font-size: 1.4rem;}
}

.top .flex3 .box2 .inner{ padding: 20px 0 0; border: 5px solid #000; background: #fff; color: #000;}
.top .flex3 .box2 .inner:after{ content: none;}
.top .flex3 .box2:nth-child(odd) .inner{ background: #fff;}
.top .flex3 .box2 h3{ color: #d70029;}
.top .flex3 .box2 h3.men{ color: #1d2088;}
.top .flex3 .box2 h3 span{ color: #000;}
.top .flex3 .box2 ul{ display: flex; height: 152px; font-weight: 600; font-size: 1.6rem; font-family: 'Montserrat', sans-serif; line-height: 1.4; align-items: center;}
.top .flex3 .box2 li{ width: 35%; text-align: center;}
.top .flex3 .box2 i{ display: block; padding: 0 0 10px; text-align: center;}
.top .flex3 .box2 i img{ width: 50%; vertical-align: bottom;}
.top .flex3 .box2 li:nth-child(2){ width: 30%; font-size: 1.6rem; font-family: 'Montserrat', sans-serif;}
.top .flex3 .box2 li span{ display: block; font-size: 2.6rem;}
.top .flex3 .box2 li .score{ font-family: 'Oswald', sans-serif; font-size: 3.6rem;}
.top .flex3 .box2 li:nth-child(2) a{ display: inline-block; margin: 10px 0 0; padding: 6px; background: #d9df00; color: #000; text-decoration: none; font-size: 1.2rem; line-height: 1;}
.top .flex3 .box2 li:nth-child(2) a i{ display: inline-block; margin: 0 0 0 .5rem; padding: 0; font-size: 1.4rem;}

@media screen and (max-width: 768px){
    .top .flex3 .box2 .inner{ padding: 10px 0 0;}
    .top .flex3 .box2 ul{ height: 90px; font-size: 1.6rem;}
    .top .flex3 .box2 li:nth-child(2){ font-size: 1.4rem;}
    .top .flex3 .box2 i{ padding: 0 0 5px;}
    .top .flex3 .box2 li span{ display: block; font-size: 2rem;}
    .top .flex3 .box2 li .score{ font-size: 3rem;}
    .top .flex3 .box2 li:nth-child(2) a{ margin: 0; padding: 7px; font-size: 1.2rem;}
    .top .flex3 .box2 li:nth-child(2) a i{ margin: 0 0 0 3px; font-size: 1.2rem;}
}

.top .flex3 .box3 .inner{ padding: 0; background: #000;}
.top .flex3 .box3 .inner:after{ content: none;}
.top .flex3 .box3:nth-child(odd) .inner{ background: #000;}

@media screen and (max-width: 768px){
    .top .flex3 .box3 .inner{ padding: 0;}
}

.result-wrap{ overflow: hidden; height: 231px; background: #000; color: #fff;}
.result-wrap time{ display: block; padding: 15px 15px 0; font-size: 1.2rem; font-family: 'Arial'; line-height: 1.2;}
.result-wrap h2{ padding: 0 15px 15px; font-weight: bold; font-size: 1.4rem; line-height: 1.2;}
.result-wrap table{ width: 100%; color: #fff; font-weight: bold; font-family: 'Arial';}
.result-wrap th{ vertical-align: middle; text-align: center; font-weight: bold;}
.result-wrap td{ vertical-align: middle; text-align: center; font-weight: bold;}
.result-wrap .pointgraph{ border-top: 1px solid #232323; border-bottom: 1px solid #232323; background: #232323;}
.result-wrap .setcount{ color: #d9df00; font-size: 6rem; font-family: 'Arial';}
.result-wrap .setpoint{ height: 100px; background: #333; color: #d9df00; font-size: 1.2rem; font-family: 'Arial';}
.result-wrap .country td{ padding: 15px 15px 0; width: 50%; font-size: 1.8rem; line-height: 1.2;}

@media screen and (max-width: 768px){
    .result-wrap{ height: auto;}
    .result-wrap time{ padding: 10px 10px 0; font-size: 1rem;}
    .result-wrap h2{ padding: 0 10px 10px;}
    .result-wrap .setpoint{ height: 100px; font-size: 1rem;}
    .result-wrap .country td{ padding: 10px; font-size: 1.6rem;}
}

/* topics ----------------------------------------- */
.topics-detail .inner{ line-height: 1.8;}
.topics-detail time{ color: #d70029; font-size: 1.4rem;}
.topics-detail h2{ padding: 0 0 30px; border-bottom: 1px dotted #ddd; font-weight: 700; font-size: 2.4rem; line-height: 1.5;}
.topics-detail .detail{ margin: 30px 0 0;}
.topics-detail .detail img{ display: block; max-width: 100%; width: auto; height: auto;}
.topics-detail .detail p:first-child img{ margin: 0 0 15px;}
.topics-detail .detail h3{ margin: 45px 0 0; padding: 10px; background: #f3f3f3; font-weight: 700;}
.topics-detail .detail h3 + p{ margin: 15px 0 0;}
.topics-detail .btn{ margin: 30px 0 0; text-align: center;}
.topics-detail .btn a{ display: inline-block; padding: 15px 30px; background: #d9df00; color: #000; text-decoration: none; font-weight: 700;}
.topics-detail .btn a:hover{ background: #000; color: #fff;}

@media screen and (max-width: 768px){
    .topics-detail .inner{ margin: -15px -20px 0; padding: 15px 20px;}
    .topics-detail time{ font-size: 1.2rem;}
    .topics-detail h2{ padding: 0 0 15px; font-size: 1.6rem;}
    .topics-detail .detail h3{ margin: 30px 0 0;}
    .topics-detail .detail table{ width: 100% !important;}
}

/* schedule --------------------------------------- */
.schedule table{ width: 100%; border: 1px solid #ddd; font-size: 1.4rem; font-family: 'Oswald', sans-serif; line-height: 1.5;}
.schedule th{ padding: 5px 0; border: 1px solid #ddd; vertical-align: middle; text-align: center;}
.schedule td{ position: relative; padding: 15px 0; border: 1px solid #ddd; background: #fff; vertical-align: middle; text-align: center;}
.schedule td strong{ color: #d70029; font-size: 2rem;}
.schedule thead th{ background: #383735; color: #fff; font-size: 1.2rem;}
.schedule tbody tr:nth-child(odd) td{ background: #f3f3f3;}
.schedule table .head th:first-child{ width: 8%;}
.schedule table .head th:nth-child(2){ width: 8%;}
.schedule table .head th:nth-child(4){ width: 10%;}
.schedule table .head th:nth-child(5){ width: 35%;}
.schedule table .head th:nth-child(6){ width: 7%;}
.schedule table .head th:nth-child(7){ width: 7%;}
.schedule table tbody tr td:nth-child(3){ font-weight: 700; font-size: 1.6rem;}
.schedule table tbody tr td:nth-child(4){ color: #d70029; font-weight: 700; font-size: 2.4rem;}
.schedule table tbody tr td:nth-child(11){ border-right: none;}
.schedule table tbody span{ display: inline-block; margin: 0 10px 0 0; padding: 8px; background: #d70029; color: #fff; vertical-align: middle; font-size: 1.3rem; line-height: 1;}
.schedule table .live td{ border-top: 3px solid #d70029; border-bottom: 3px solid #d70029;}
.schedule table .live td:first-child{ border-left: 3px solid #d70029;}
.schedule table .live td:last-child{ border-right: 3px solid #d70029;}

@media screen and (max-width: 768px){
    .schedule table{ font-size: 1.2rem;}
    .schedule th{ padding: 5px 10px; vertical-align: middle; white-space: nowrap;}
    .schedule td{ padding: 10px; white-space: nowrap;}
    .schedule td strong{ color: #d70029; font-size: 1.6rem;}
    .schedule table .head th:first-child{ width: auto;}
    .schedule table .head th:nth-child(2){ width: auto;}
    .schedule table .head th:nth-child(4){ width: auto;}
    .schedule table .head th:nth-child(5){ width: auto;}
    .schedule table .head th:nth-child(6){ width: auto;}
    .schedule table .head th:nth-child(7){ width: auto;}
    .schedule table tbody tr td:nth-child(3){ text-align: left; font-size: 1.4rem;}
    .schedule table tbody tr td:nth-child(4){ font-size: 1.6rem;}
    .schedule table tbody span{ margin: 0 5px 0 0; padding: 5px; font-size: 1.1rem;}
}

/* japan ------------------------------------------ */
.tab{ display: flex; margin: 30px -1px 0;}
.tab li{ padding: 0 1px; width: 9.0909%;}
.tab span{ position: relative; display: block; padding: 10px 0; background: #fff; text-align: center; font-size: 2rem; font-family: 'Oswald', sans-serif; cursor: pointer;}
.tab .select span{ background: #d70029; color: #fff;}
.tab .select span:after{ position: absolute; bottom: -10px; left: 50%; margin: 0 0 0 -10px; border-width: 10px 10px 0 10px; border-style: solid; border-color: #d70029 transparent transparent transparent; content: "";}
.tab span small{ display: block; margin: 5px 0 0; font-size: 1.2rem; font-family: 'Noto Sans JP', sans-serif;}
.men .tab .select span{ background: #1d2088;}
.men .tab .select span:after{ border-color: #1d2088 transparent transparent transparent;}
.tab-content .hide{ display: none;}

@media screen and (max-width: 768px){
    .tab{ margin: 0 -1px; padding: 13px 0 0; flex-wrap: wrap;}
    .tab li{ margin: 2px 0 0; width: calc(100% / 4);}
    .tab span{ font-size: 1.5rem;}
    .tab .select span:after{ content: none;}
    .tab span small{ display: inline-block; margin: 0 0 0 2px; font-size: 1rem;}
}

.list-player{ display: flex; margin: 0 -15px; padding: 15px 0 0; font-size: 1.4rem; line-height: 1.5; flex-wrap: wrap;}
.list-player li{ padding: 30px 15px 0; width: calc(100% / 3);}
.list-player .box{ display: flex; width: 100%; background: #fff;}
.list-player figure{ width: 38.2%;}
.list-player .detail{ padding: 10px 15px 0; width: 61.8%;}
.list-player .num{ font-weight: 700; font-size: 1.8rem;}
.list-player .position{ margin: 5px 0 0; font-size: 1.2rem;}
.list-player .name{ font-weight: 700; font-size: 2.4rem;}
.list-player .kana{ font-size: 1.2rem;}
.list-player ol{ margin: 15px 0 0 1.8rem; font-size: 1.2rem;}
.list-player ol li{ margin: 0; padding: 0; width: 100%; list-style: disc;}

@media screen and (max-width: 768px){
    .list-player{ display: block; margin: 0;}
    .list-player li{ padding: 15px 0 0; width: 100%;}
    .list-player li:first-child{ padding: 0;}
    .list-player .detail{ padding: 15px 15px 0;}
    .list-player .num{ font-size: 1.6rem;}
    .list-player .name{ font-size: 2rem;}
    .list-player ol{ margin: 10px 0 0 1.8rem;}
}

.list-staff{ display: flex; margin: 0 -15px; max-width: 100%; line-height: 1.5; flex-wrap: wrap;}
.list-staff li{ padding: 30px 15px 0; width: calc(100% / 3);}
.list-staff .box{ display: flex; max-width: 100%; background: #fff;}
.list-staff figure{ width: 27%;}
.list-staff .detail{ padding: 15px; width: 73%;}
.list-staff .position{ font-size: 1rem;}
.list-staff .name{ font-weight: 700; font-size: 2rem;}
.list-staff .kana{ font-size: 1rem;}
.list-staff ol{ margin: 5px 0 0 1.8rem; font-size: 1rem;}
.list-staff ol li{ margin: 0; padding: 0; width: 100%; list-style: disc;}

@media screen and (max-width: 768px){
    .list-staff{ display: block; margin: 0;}
    .list-staff li{ padding: 15px 0 0; width: 100%;}
}

/* team ------------------------------------------ */
.team table{ width: 100%; border: 1px solid #ddd;}
.team table th{ padding: 15px; border: 1px solid #ddd; text-align: center; white-space: nowrap;}
.team table td{ padding: 15px; width: 26%; border: 1px solid #ddd; background: #fff; text-align: center; white-space: nowrap;}
.team thead th{ background: #383735; color: #fff; font-size: 1.4rem;}
.team tbody th{ padding: 0; background: #f3f3f3; text-align: left; font-weight: 700; font-size: 1.8rem;}
.team tbody th a{ position: relative; display: block; padding: 15px;}
.team tbody th a:after{ position: absolute; top: 50%; right: 15px; margin: -4px 0 0; width: 9px; height: 9px; border-top: 3px solid #333; border-right: 3px solid #333; content: ""; transform: rotate(45deg);}
.team tbody th i{ display: inline-block; margin: 0 1rem 0 0; width: 15%;}
.team tbody th i img{ vertical-align: middle;}
.team p{ margin: 15px 0 0; font-size: 1.4rem; line-height: 1.8;}

@media screen and (max-width: 768px){
    .team table{ margin: 0;}
    .team table th{ padding: 10px; text-align: left;}
    .team table td{ padding: 10px; width: auto; text-align: left;}
    .team thead th{ font-size: 1.2rem;}
    .team tbody th{ padding: 0; font-size: 1.4rem;}
    .team tbody th a{ padding: 10px 50px 10px 10px;}
    .team tbody th a:after{ right: 10px; margin: -4px 0 0; width: 9px; height: 9px; border-top: 2px solid #333; border-right: 2px solid #333;}
    .team tbody th i{ margin: 0 .5rem 0 0; width: 22%;}
    .team p{ font-size: 1.2rem; line-height: 1.5;}
}

/* team2 --------------------------------------------------- */
.mtab-wrap{ margin: 30px 0 0;}
.mtab-wrap ul{ display: flex; margin: 0 0 15px; border-top: 2px solid #d70029; justify-content: center;}
.men .mtab-wrap ul{ border-top: 2px solid #1d2088;}
.mtab-wrap li{ text-align: center; font-size: 1.2rem; cursor: pointer;}
.mtab-wrap span{ display: inline-block; width: 200px; height: 30px; background: #ddd; line-height: 30px;}
.mtab-wrap .current span{ background: #d70029; color: #fff;}
.men .mtab-wrap .current span{ background: #1d2088;}
.mtab-content{ display: none;}
.mtab-content.current{ display: block;}

@media screen and (max-width: 768px){
    .mtab-wrap{ margin: 0;}
    .mtab-wrap li{ min-width: 30%;}
    .mtab-wrap span{ display: block; padding: 0 10px; width: auto; height: 30px; background: #ddd; line-height: 30px;}
    .mtab-content{ padding: 0 20px;}
}

.team2 h2{ position: relative; margin: 0;}
.team2 h2 i{ display: inline-block; margin: 0 10px 0 0; width: 45px; border: none;}
.team2 h2 i img{ width: 100%; vertical-align: bottom;}
.team2 h2 span{ position: absolute; right: 0; bottom: 0; margin: 0; padding: 20px 30px 15px; background: #000; color: #fff; font-size: 1.6rem; line-height: 1;}
.team2 .lead{ margin: 15px 0 0; line-height: 1.8;}
.team2 .lead i{ display: inline-block; margin: 0 .5rem 0 0; color: #d70029;}
.team2.men .lead i{ color: #1d2088;}
.team2 .lead span{ display: inline-block; margin: 0 0 0 1.4rem;}
.team2 figure{ margin: 30px auto 0; width: 750px;}

.team2 table{ width: 100%; font-size: 1.4rem; font-family: 'Oswald', sans-serif; line-height: 1.4;}
.team2 th{ padding: 5px 0; border: 1px solid #ddd; text-align: center; font-weight: normal;}
.team2 td{ padding: 15px 0; border: 1px solid #ddd; background: #fff; text-align: center;}
.team2 td strong{ color: #d70029;}
.team2.men td strong{ color: #1d2088;}
.team2 thead th{ background: #555; color: #fff; font-size: 1.2rem;}
.team2 tbody th{ background: #555; color: #fff;}
.team2 tbody tr:nth-child(odd) td{ background: #f6f5f5;}
.team2 .coach th{ width: 20%;}
.team2 .coach td{ width: 40%;}

.note{ text-align: right; font-size: 1.2rem; line-height: 1.8;}

@media screen and (max-width: 768px){
    .team2{ margin: 0 -20px;}
    .team2 h2{ padding: 0 0 15px; text-align: center; font-size: 1.8rem;}
    .team2 h2 i{display: inline-block;  margin: 0 5px 0 0; width: 8%;}
    .team2 h2 span{ position: relative; right: auto; bottom: auto; display: block; margin: 10px 0 0; padding: 0; background: none; color: #d70029; font-size: 1.2rem; line-height: 1.5;}
    .team2 .lead{ margin: 15px 0 0; padding: 0 20px; font-size: 1.2rem; line-height: 1.8;}
    .team2 .lead span{ display: block; margin: 0;}
    .team2 figure{ margin: 15px 0 0; width: 100%;}
    .team2 h3{ display: block; padding: 10px 0; text-align: center;}
    .team2 table{ font-size: 1.2rem;}
    .team2 th{ padding: 5px 10px; vertical-align: middle; white-space: nowrap;}
    .team2 td{ padding: 5px 10px; white-space: nowrap;}
    .team2 thead th{ text-align: left;}
    .team2 .coach th{ width: auto;}
    .team2 .coach td{ width: auto;}
    .team2 .note{ font-size: 1rem;}
    .team2 .note + .scroll{ margin: 0;}
}

.teams{ display: flex; margin: 30px 0 0; padding: 30px 0 0; border-top: 2px solid #d70029;}
.men .teams{ border-top: 2px solid #1d2088;}
.teams .cont{ padding: 0 15px; width: 25%;}
.teams h2{ margin: 0; padding: 0; border: none; color: #d70029; font-weight: normal; font-size: 2rem;}
.men .teams h2{ color: #1d2088;}
.teams ul{ margin: 20px 0 0; border-top: 1px solid #ddd;}
.teams li{ border-bottom: 1px solid #ddd;}
.teams a{ position: relative; display: block; padding: 15px 10px; font-weight: 600;}
.teams a:after{ position: absolute; top: 50%; right: 10px; margin: -4px 0 0; width: 8px; height: 8px; border-top: 2px solid #333; border-right: 2px solid #333; content: ""; transform: rotate(45deg);}
.teams i{ display: inline-block; margin: 0 5px 0 0; width: 24px;}
.teams i img{ border: 1px solid #ddd;}

@media screen and (max-width: 768px){
    .teams{ display: block; padding: 0 0 30px;}
    p + .teams{ margin: 30px -20px 0; padding: 0 20px;}
    .mtab-wrap + .teams{ margin: 30px 0 0; padding: 0 20px;}
    .teams .cont{ margin: 30px 0 0; padding: 0; width: 100%;}
    .teams h2{ text-align: left; font-size: 1.6rem;}
    .teams ul{ margin: 10px 0 0;}
    .teams a{ padding: 10px;}
    .teams i{ margin: 0 10px 0 0;}
}

/* results ---------------------------------------- */
.results .content{ padding: 0 0 75px;}
.results .sec{ margin: 30px 0 0;}

@media screen and (max-width: 768px){
    .results .content{ padding: 0 20px 30px;}
    .results .sec{ margin: 15px 0 0;}
}

.results h2{ font-size: 2.4rem;}
.results h3{ margin: 0; padding: 15px 30px; font-size: 2rem; line-height: 1;}
.results .content p{ line-height: 1.8;}
.results .content p + p{ margin: 15px 0 0;}
.results table{ width: 100%; border: 1px solid #ddd; font-family: 'Oswald', sans-serif; line-height: 1.5;}
.results th{ padding: 5px 0; border: 1px solid #ddd; background: #fff; vertical-align: middle; text-align: center;}
.results td{ padding: 15px 0; border: 1px solid #ddd; background: #fff; vertical-align: middle; text-align: center;}
.results table strong{ color: #d70029; font-size: 2rem;}
.results.men table strong{ color: #1d2088;}
.results thead th{ background: #383735; color: #fff; font-size: 1.2rem;}
.results tbody tr:nth-child(odd) th,
.results tbody tr:nth-child(odd) td{ background: #f3f3f3;}
.results tbody th{ width: 30%; font-weight: 700;}
.results tbody td{ width: 10%;}
.results tbody tr td:nth-child(2){ font-weight: 600; font-size: 2.4rem;}

@media screen and (max-width: 768px){
    .results h2{ padding: 0 0 10px; font-size: 2rem; line-height: 1.5;}
    .results h3{ margin: 0; padding: 10px 20px; font-size: 1.6rem; line-height: 1;}
    .results table{ font-size: 1.2rem;}
    .results th{ padding: 5px 10px; vertical-align: middle; white-space: nowrap;}
    .results td{ padding: 5px 10px; white-space: nowrap;}
    .results td strong{ color: #d70029; font-size: 1.6rem;}
    .results tbody th{ width: auto;}
    .results tbody td{ width: 10%;}
    .results tbody tr td:nth-child(2){ font-size: 1.8rem;}
}

.results .list-player{ margin: 0; padding: 0 2px 4px; background: #000; justify-content: flex-end;}
.results .list-player li{ margin: 0; padding: 4px 2px 0; width: 33.3333%;}
.results .list-player ol{ margin: 10px 0 0 1.8rem;}
.results .list-player ol li{ padding: 0; width: 100%;}
.results .commenttitle{ margin: 30px 0 0; font-weight: 700; font-size: 2rem;}
.results .sec .commenttitle{ margin: 0;}
.results .black{ font-weight: 700;}

@media screen and (max-width: 768px){
    .results .list-player li{ width: 100%;}
    .results .list-player ol{ margin: 5px 0 0 1.8rem;}
    .results .commenttitle{ margin: 15px 0 0; font-size: 1.6rem;}
    .results .sec .commenttitle{ margin: 0;}
}

/* ranking --------------------------------------------------- */
.ranking .content{ padding: 0 0 75px;}
.ranking .mtab-wrap{ margin: 0;}
.ranking table{ width: 100%; border: 1px solid #ddd; font-family: 'Oswald', sans-serif; line-height: 1.5;}
.ranking th{ padding: 5px 0; border: 1px solid #ddd; background: #fff; vertical-align: middle; text-align: center;}
.ranking td{ padding: 15px 0; border: 1px solid #ddd; background: #fff; vertical-align: middle; text-align: center;}
.ranking table strong{ color: #d70029; font-size: 2rem;}
.ranking thead th{ background: #383735; color: #fff; font-size: 1.2rem;}
.ranking tbody tr:nth-child(odd) th,
.ranking tbody tr:nth-child(odd) td{ background: #f3f3f3;}
.ranking td.hide,
.ranking tbody tr:nth-child(odd) td.hide{ background: #ccc;}

.ranking .type1 tbody td{ width: 8%;}
.ranking .type1 tbody tr td:first-child{ width: 8%; color: #d70029; font-weight: 600; font-size: 2.4rem;}
.ranking .type1 tbody tr td:nth-child(2){ width: 20%; font-weight: 700;}
.ranking .type1 tbody tr td:nth-child(3){ width: 8%; font-weight: 600; font-size: 2.4rem;}

.ranking .type2{ font-size: 1.4rem;}
.ranking .type2 thead th{ font-size: 1.2rem;}
.ranking .type2 tbody td{ width: 7%; letter-spacing: .1rem;}
.ranking .type2 tbody th:first-child{ width: 7%; color: #d70029; font-weight: 700; font-size: 2.4rem;}
.ranking .type2 tbody tr th:nth-child(2){ font-weight: 700;}
.ranking .type2 tbody tr td:nth-child(2){ width: 9%;}
.ranking .type2 table strong{ font-size: 1.4rem;}

@media screen and (max-width: 768px){
    .ranking{ margin: 0 -20px}
    .ranking .content{ padding: 0 20px 30px;}
    .ranking table{ font-size: 1.2rem;}
    .ranking th{ padding: 5px 10px; vertical-align: middle; white-space: nowrap;}
    .ranking td{ padding: 5px 10px; white-space: nowrap;}
    .ranking table strong{ color: #d70029; font-size: 1.6rem;}
    .ranking .type1 tbody tr td:first-child{ font-size: 1.6rem;}
    .ranking .type1 tbody tr td:nth-child(3){ font-size: 1.6rem;}
    .ranking .type2{ font-size: 1.2rem;}
    .ranking .type2 tbody th:first-child{ font-size: 1.6rem;}
}

/* ticket --------------------------------------- */
.ticket .box{ padding: 30px; background: #fff; font-size: 1.4rem;}
.ticket .box .flex{ display: flex;}
.ticket .cont1{ padding: 0 15px 0 0; width: 50%;}
.ticket .cont2{ padding: 0 0 0 15px; width: 50%;}

@media screen and (max-width: 768px){
    .ticket .box{ margin: 0 -20px; padding: 15px 20px;}
    .ticket .box .flex{ display: block;}
    .ticket .cont1{ padding: 0; width: 100%;}
    .ticket .cont2{ padding: 0; width: 100%;}
}

.ticket .table1{ width: 100%; border: 1px solid #ddd; line-height: 1.5;}
.ticket .table1 th{ padding: 10px 0; border: 1px solid #ddd; text-align: center;}
.ticket .table1 td{ padding: 10px 0; border: 1px solid #ddd; background: #fff; text-align: center;}
.ticket .table1 thead th{ width: 50%; background: #383735; color: #fff;}
.ticket .table1 thead .row th{ width: 25%;}
.ticket .table1 td span{ display: block; padding: 0 5px; font-size: 1.2rem;}
.ticket .table1 tbody tr:nth-child(odd) td{ background: #f3f3f3;}
.ticket .box ul{ margin: 15px 0 0; font-size: 1.2rem; line-height: 1.5;}
.ticket .box ul li{ padding: 0 0 0 1.2rem; text-indent: -1.2rem;}
.ticket .seat a{ position: relative; display: block; padding: 15px; border: 1px solid #ddd;}
.ticket .seat figcaption{ position: absolute; top: 0; right: 0; display: inline-block; padding: 5px 10px; background: #383735; color: #fff; font-size: 1rem; line-height: 1;}

@media screen and (max-width: 768px){
    .ticket .table1 th{ padding: 5px 0; font-size: 1.2rem;}
    .ticket .table1 td{ padding: 5px 10px;}
    .ticket .table1 td span{ padding: 0 5px; font-size: 1.2rem;}
    .ticket .seat{ margin: 15px 0 0;}
}

.ticket h4{ margin: 30px 0 0; padding: 10px 0; background: #383735; color: #fff; text-align: center;}
.ticket .table2{ width: 100%; border: 1px solid #ddd; line-height: 1.8;}
.ticket .table2 th{ padding: 15px; width: 25%; border-bottom: 1px solid #ddd; background: #f3f3f3; vertical-align: middle; text-align: left; font-weight: 700;}
.ticket .table2 td{ padding: 15px; width: 60%; border-bottom: 1px solid #ddd; border-left: 1px solid #ddd; vertical-align: middle; text-align: left;}
.ticket .table2 tr td:last-child{ width: 15%; text-align: center;}
.ticket .table2 i{ display: inline-block; margin: 0 .5rem 0 0;}
.ticket .table2 tr td:last-child a{ display: inline-block; padding: 15px; background: #d9df00; color: #000; text-decoration: none; font-weight: 700; line-height: 1;}
.ticket .table2 tr td:last-child a:hover{ background: #000; color: #fff;}
.ticket dl{ margin: 30px 0 0; padding: 30px; background: #f3f3f3; line-height: 1.8;}
.ticket dt{ font-weight: 700;}
.ticket dd + dt{ margin: 15px 0 0;}

.ticket .atn{ margin: 0; border: 5px solid #f00; background: none; line-height: 1.8;}
.ticket .atn dt{ font-size: 2rem;}
.ticket .atn dd{ margin: 15px 0 0;}
.ticket .atn dd p + p{ margin: 10px 0 0;}
.ticket .atn + .flex{ margin: 30px 0 0;}
.ticket .atn strong{ color: #f00; font-weight: normal;}

@media screen and (max-width: 768px){
    .ticket h4{ margin: 15px 0 0;}
    .ticket .table2 th{ display: block; padding: 15px; width: 100%; border: none;}
    .ticket .table2 td{ display: block; padding: 15px; width: 100%; border: none;}
    .ticket .table2 tr td:last-child{ padding: 0 15px 15px; width: 100%;}
    .ticket .table2 tr td:last-child a{ display: block;}
    .ticket dl{ margin: 15px 0 0; padding: 15px;}
    .ticket .atn dt{ font-size: 1.6rem;}
    .ticket .atn + .flex{ margin: 15px 0 0;}
}

/* access --------------------------------------- */
.access .box{ display: flex; flex-direction: row-reverse; background: #fff; line-height: 1.8;}
.access .box figure{ width: 61.8%;}
.access .box figure iframe{ width: 100%; height: 400px; vertical-align: bottom;}
.access .box .detail{ padding: 30px; width: 38.2%;}
.access .box h4{ padding: 0 0 0 10px; border-left: 4px solid; font-weight: 700; font-size: 2rem; line-height: 1.5;}
.access .box p{ margin: 15px 0 0;}
.access .btn{ margin: 15px 0 0;}
.access .btn a{ display: inline-block; padding: 15px; background: #d9df00; color: #000; text-decoration: none; font-weight: 700; line-height: 1;}
.access .btn a:hover{ background: #000; color: #fff;}
.access .btn i{ display: inline-block; margin: 0 .5rem 0 0;}
.access .note{ margin: 15px 0 0; color: #f00; line-height: 1.8;}

@media screen and (max-width: 768px){
    .access .box{ display: block;}
    .access .box figure{ width: 100%;}
    .access .box figure iframe{ height: 200px;}
    .access .box .detail{ padding: 15px; width: 100%;}
    .access .box h4{ font-size: 1.8rem;}
    .access .btn a{ display: block; padding: 15px 0; text-align: center;}
}

/* media ---------------------------------------- */
.media h2{ display: inline-block; padding: 15px 30px; background: #d70029; color: #fff; font-weight: 700; font-size: 2rem;}
.media.men h2{ background: #1d2088;}
.media table{ width: 100%; border: 1px solid #ddd;}
.media table th{ padding: 15px; border: 1px solid #ddd; text-align: center; white-space: nowrap;}
.media table td{ padding: 15px; border: 1px solid #ddd; background: #fff; text-align: center; white-space: nowrap;}
.media thead th{ background: #383735; color: #fff;}
.media tbody tr:nth-child(odd) td{ background: #f3f3f3;}
.media tbody tr td:first-child,
.media tbody tr td:nth-child(2){ width: 25%;}

@media screen and (max-width: 768px){
    .media h2{ padding: 15px; font-size: 1.8rem;}
    .media table th{ padding: 10px; text-align: left;}
    .media table td{ padding: 10px; text-align: left;}
    .media tbody tr td:first-child,
    .media tbody tr td:nth-child(2){ width: auto;}
}

/* press ---------------------------------------- */
.press .content{ line-height: 1.8;}
.press h2{ margin: 45px 0 0; border-bottom: 1px solid; font-weight: 700; font-size: 2.4rem;}
.press h2 + p,
.press p + p{ margin: 15px 0 0;}
.press h3{ margin: 30px 0 0; font-weight: 700;}
.press .strong1{ padding: 15px 0; background: #fff; text-align: center; font-weight: 700;}
.press .strong2{ padding: 15px 0; border-top: 1px dashed; border-bottom: 1px dashed; text-align: center; font-weight: 700;}
.press .strong2 span{ display: block; color: #f00; font-weight: normal; font-size: 1.4rem;}
.press .list-btn{ display: flex; margin: 30px -15px 0; justify-content: center;}
.press .list-btn li{ padding: 0 15px;}
.press .list-btn a{ display: block; padding: 15px; width: 300px; background: #d9df00; color: #000; text-align: center; text-decoration: none; font-weight: 700; line-height: 1.5;}
.press .list-btn a:hover{ background: #000; color: #fff;}
.press .list-btn span{ display: block; font-size: 1.4rem;}

@media screen and (max-width: 768px){
    .press h2{ margin: 30px 0 0; font-size: 1.8rem;}
    .press h3{ margin: 15px 0 0;}
    .press .list-btn{ display: block; margin: 0;}
    .press .list-btn li{ margin: 15px 0 0; padding: 0;}
    .press .list-btn a{ width: 100%;}
    .press .list-btn span{ font-size: 1.2rem;}
}

/* photo ---------------------------------------- */
.photo .content{ padding: 0 0 75px;}
.photo h2{ padding: 0; border: none; font-size: 2.4rem;}
.gallery-wrap{ box-sizing: border-box; margin: 15px 0 0; padding: 5px; background: #000;}
.gallery-wrap:after{ display: block; clear: both; content: "";}
.gallery figure{ float: left; width: 20%;}
.gallery figure a{ display: block;}
.gallery figure img{ max-width: 100% !important; height: auto !important;}

@media screen and (max-width: 768px){
    .photo .content{ padding: 0 20px 30px;}
    .photo h2{ font-size: 1.6rem; line-height: 1.5;}
    .gallery-wrap{ margin: 10px -20px 0; padding: 10px 0;}
    .gallery figure{ width: calc(100% / 3);}
}

/* --------------------------------------------------
 footer
--------------------------------------------------- */
.footer{ background: #000; color: #fff;}
.footer .aside1{ padding: 30px 0; background: #fff; color: #000;}
.footer .aside1 ul{ display: flex; margin: 0 auto; width: 1080px; justify-content: center;}
.footer .aside1 li{ padding: 0 15px; width: 135px;}
.footer .copyrights{ position: relative; margin: 0 auto; padding: 30px 0; width: 1080px; text-align: center; line-height: 1.5;}
.footer .copyrights small{ font-size: 1.2rem;}
.footer .aside2{ position: absolute; top: 20px; right: 0;}
.footer .aside2 ul{ display: flex; align-items: center;}
.footer .aside2 li{ padding: 0 0 0 10px; width: 150px;}

@media screen and (max-width: 768px){
    .footer .aside1{ padding: 15px 0;}
    .footer .aside1 ul{ width: 100%;}
    .footer .aside1 li{ padding: 0 15px; width: calc(100% / 3);}
    .footer .copyrights{ padding: 15px; width: 100%;}
    .footer .copyrights small{ display: block; text-align: left;}
    .footer .aside2{ position: relative; top: auto; right: auto; margin: 15px 0 0;}
    .footer .aside2 ul{ margin: 0 -7px;}
    .footer .aside2 li{ padding: 0 7px; width: 50%;}
}