@charset "UTF-8";

.dg.ac {
    z-index: 1000 !important
}

@font-face {
    font-family: f-serif;
    src: url(/resource/font/serif.eot);
    src: url(/resource/font/serif.eot?#iefix) format("embedded-opentype"), url(/resource/font/serif.woff) format("woff");
    font-style: normal
}

.cell-common .t-box strong,
.f-serif,
.objectives p,
.page-top .mv .lead {
    font-family: f-serif;
    line-height: 1.25
}

.f-sans,
.page-top .mv #big-type1,
.page-top .mv #big-type2 {
    font-family: neue-haas-grotesk-display, sans-serif
}

* {
    word-wrap: break-word;
    -webkit-text-size-adjust: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    font-smoothing: antialiased;
    -webkit-tap-highlight-color: transparent;
    outline: 0 !important;
    font-feature-settings: "palt"
}

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: 0 0;
    border: 0;
    outline: 0
}

article,
aside,
details,
em,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
strong {
    font-style: normal;
    display: block
}

nav ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

span {
    display: block
}

q:after,
q:before {
    content: "";
    content: none
}

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

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    text-decoration: none;
    display: block;
    cursor: pointer;
    color: #fff;
    background: 0 0;
    -webkit-transition: all .6s;
    transition: all .6s
}

@media screen and (min-width:768px) {
    a:hover {
        opacity: .6
    }
}

ins {
    text-decoration: none;
    color: #000;
    background-color: #ff9
}

mark {
    font-weight: 700;
    font-style: italic;
    color: #000;
    background-color: #ff9
}

del {
    text-decoration: line-through
}

svg {
    width: 100%;
    height: 100%
}

i {
    display: block
}

abbr[title],
dfn[title] {
    cursor: help;
    border-bottom: 1px dotted
}

table {
    border-spacing: 0;
    border-collapse: collapse
}

hr {
    height: 1px;
    margin: 1em 0;
    padding: 0;
    display: block;
    border: 0;
    border-top: 1px solid #ccc
}

input,
select {
    vertical-align: middle;
    -moz-appearance: none;
    -webkit-appearance: none
}

textarea {
    border: 1px solid #ccc;
    outline: 0;
    resize: none;
    width: 100%;
    min-height: 300px;
    padding: 10px;
    font-size: 1.4rem
}

::-moz-selection {
    color: #fff;
    background: #000
}

::selection {
    color: #fff;
    background: #000
}

.is-current {
    pointer-events: none !important
}

.lazy {
    background: #f7f7f7
}

.lazy img {
    transform: translateX(0) translateY(0) translateZ(0);
    transition: opacity .4s
}

.lazy .lazyload {
    opacity: 0
}

.lazy .lazyloaded {
    opacity: 1
}

@media screen and (min-width:768px) {
    .pc-none {
        display: none !important
    }
}

@media screen and (max-width:768px) {
    .sp-none {
        display: none !important
    }
}

.is-hidden {
    overflow: hidden;
    height: 100%
}

.scroll-cont {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1
}

.is-mobile .scroll-cont {
    height: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
    will-change: scroll-position;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch
}

.ipad .scroll-cont {
    position: fixed;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    transform: translateX(0) translateY(0) translateZ(0) !important
}

body,
html {
    width: 100%;
    height: 100%;
    font-family: neue-haas-grotesk-display, "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, sans-serif;
    font-size: 62.5%;
    line-height: 1.65;
    color: #000;
    background: #21291c;
    color: #fff
}

@media screen and (max-width:768px) {

    body,
    html {
        overflow: hidden
    }
}

.p-wrap {
    position: relative
}

.p-wrap .p-b {
    position: absolute;
    bottom: 0;
    left: 0
}

section {
    position: relative
}

.f-500,
.page-top .mv #big-type1,
.page-top .mv #big-type2 {
    line-height: 1;
    font-size: 64.4vw;
    letter-spacing: 4.6vw
}

@media screen and (min-width:768px) {

    .f-500,
    .page-top .mv #big-type1,
    .page-top .mv #big-type2 {
        font-size: 31.5vw;
        letter-spacing: .7vw
    }
}

#f strong,
.f-179 {
    line-height: 1;
    font-size: 10.9vw;
    letter-spacing: .24vw;
    font-weight: 700
}

@media screen and (min-width:768px) {

    #f strong,
    .f-179 {
        font-size: 11.55vw;
        letter-spacing: .37vw
    }
}

.f-100,
.menu .flex a,
.objectives strong,
.page-about .lead h2 i,
.page-error .lead h2 i,
.page-news .lead h2 i,
.page-news .s1 .detail .list strong,
.page-overview .lead h2 i,
.page-overview .s1 .flex strong,
.page-overview .s2 strong,
.page-schedule .lead h2 i,
.page-schedule .s1 strong,
.page-sponsors .lead h2 i,
.page-standings .lead h2 i,
.page-standings .s1 strong,
.page-teams .lead h2 i,
.page-teams-detail .lead h2 i {
    line-height: 1;
    font-size: 12.6vw;
    letter-spacing: .1vw;
    font-weight: 700
}

@media screen and (min-width:768px) {

    .f-100,
    .menu .flex a,
    .objectives strong,
    .page-about .lead h2 i,
    .page-error .lead h2 i,
    .page-news .lead h2 i,
    .page-news .s1 .detail .list strong,
    .page-overview .lead h2 i,
    .page-overview .s1 .flex strong,
    .page-overview .s2 strong,
    .page-schedule .lead h2 i,
    .page-schedule .s1 strong,
    .page-sponsors .lead h2 i,
    .page-standings .lead h2 i,
    .page-standings .s1 strong,
    .page-teams .lead h2 i,
    .page-teams-detail .lead h2 i {
        font-size: 6.3vw;
        letter-spacing: .1vw
    }
}

.cell-common .t-box strong,
.copy,
.f-50,
.objectives p,
.page-about .s1 strong,
.page-teams-detail .s1 strong,
.page-top .mv .lead,
.sponsor strong {
    font-size: 6.6vw;
    letter-spacing: 0;
    font-weight: 700
}

@media screen and (min-width:768px) {

    .cell-common .t-box strong,
    .copy,
    .f-50,
    .objectives p,
    .page-about .s1 strong,
    .page-teams-detail .s1 strong,
    .page-top .mv .lead,
    .sponsor strong {
        font-size: 3vw;
        letter-spacing: .05vw
    }
}

.f-25,
.page-about .lead p,
.page-error .lead p,
.page-news .lead p,
.page-overview .lead p,
.page-schedule .lead p,
.page-sponsors .lead p,
.page-standings .lead p,
.page-teams .lead p,
.page-teams .s1 .flex .cell,
.page-teams-detail .lead p {
    font-size: 3.3vw;
    letter-spacing: 0;
    font-weight: 400
}

@media screen and (min-width:768px) {

    .f-25,
    .page-about .lead p,
    .page-error .lead p,
    .page-news .lead p,
    .page-overview .lead p,
    .page-schedule .lead p,
    .page-sponsors .lead p,
    .page-standings .lead p,
    .page-teams .lead p,
    .page-teams .s1 .flex .cell,
    .page-teams-detail .lead p {
        font-size: 1.3vw;
        letter-spacing: .08vw
    }
}

.f-20,
.sponsor .flex .cell b {
    font-size: 1.2rem;
    font-weight: 400
}

@media screen and (min-width:768px) {

    .f-20,
    .sponsor .flex .cell b {
        font-size: 1.2vw
    }
}

.f-16,
.page-schedule .s1 .date .flex,
.page-standings .s1 .archives,
.page-standings .s1 .date .flex {
    font-size: 1.2rem
}

@media screen and (min-width:768px) {

    .f-16,
    .page-schedule .s1 .date .flex,
    .page-standings .s1 .archives,
    .page-standings .s1 .date .flex {
        font-size: 1vw
    }
}

#f .in .fb,
#f .in small,
#f .in ul,
#h,
#op span i,
.cell-common .t-box p,
.f-14,
.menu .fb,
.page-about .lead em,
.page-about .lead span,
.page-about .s1 .r .cell,
.page-error .lead em,
.page-error .lead span,
.page-error a,
.page-news .lead em,
.page-news .lead span,
.page-news .s1 .detail .list .flex,
.page-news .s1 .detail .wysywig,
.page-overview .lead em,
.page-overview .lead span,
.page-schedule .lead em,
.page-schedule .lead span,
.page-sponsors .lead em,
.page-sponsors .lead span,
.page-sponsors .s1 .cell-common .t-box p,
.page-standings .lead em,
.page-standings .lead span,
.page-teams .lead em,
.page-teams .lead span,
.page-teams-detail .lead em,
.page-teams-detail .lead span,
.page-teams-detail .s1 .r .cell,
.sponsor .all,
.sponsor .flex .cell a,
.sponsor .flex .cell p {
    font-size: 1rem
}

@media screen and (min-width:768px) {

    #f .in .fb,
    #f .in small,
    #f .in ul,
    #h,
    #op span i,
    .cell-common .t-box p,
    .f-14,
    .menu .fb,
    .page-about .lead em,
    .page-about .lead span,
    .page-about .s1 .r .cell,
    .page-error .lead em,
    .page-error .lead span,
    .page-error a,
    .page-news .lead em,
    .page-news .lead span,
    .page-news .s1 .detail .list .flex,
    .page-news .s1 .detail .wysywig,
    .page-overview .lead em,
    .page-overview .lead span,
    .page-schedule .lead em,
    .page-schedule .lead span,
    .page-sponsors .lead em,
    .page-sponsors .lead span,
    .page-sponsors .s1 .cell-common .t-box p,
    .page-standings .lead em,
    .page-standings .lead span,
    .page-teams .lead em,
    .page-teams .lead span,
    .page-teams-detail .lead em,
    .page-teams-detail .lead span,
    .page-teams-detail .s1 .r .cell,
    .sponsor .all,
    .sponsor .flex .cell a,
    .sponsor .flex .cell p {
        font-size: .9vw
    }
}

#op {
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none
}

#op span {
    overflow: hidden
}

#op span i {
    position: relative;
    line-height: 1;
    letter-spacing: .6px;
    z-index: 100;
    font-weight: 600;
    font-style: normal;
    transform: translateX(0) translateY(110%) translateZ(0)
}

#op canvas {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(0) translateY(100%) translateZ(0)
}

#panel {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 90;
    width: 100%;
    height: 100%;
    background: #21291c;
    opacity: 0;
    pointer-events: none
}

#h {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    line-height: 1;
    letter-spacing: .2px;
    z-index: 100
}

@media screen and (min-width:768px) {
    #h {
        letter-spacing: .6px
    }
}

#h .logo {
    position: absolute;
    top: 18px;
    left: 5.4vw
}

@media screen and (min-width:768px) {
    #h .logo {
        top: 30px;
        left: 2.5vw
    }
}

#h h2 {
    position: absolute;
    top: 18px;
    left: 37.6vw
}

@media screen and (min-width:768px) {
    #h h2 {
        top: 30px;
        left: 51.8vw
    }
}

#h .is-in {
    display: block !important
}

#h #btn-close,
#h #btn-menu {
    position: absolute;
    top: 0;
    right: 0;
    padding: 18px 5.4vw;
    cursor: pointer;
    display: none
}

@media screen and (min-width:768px) {

    #h #btn-close,
    #h #btn-menu {
        padding: 30px 2.5vw
    }
}

@media screen and (min-width:768px) {

    #h #btn-close:hover .in span,
    #h #btn-menu:hover .in span {
        transform: translateX(0) translateY(-100%) translateZ(0)
    }

    #h #btn-close:hover .in .anim,
    #h #btn-menu:hover .in .anim {
        transform: translateX(0) translateY(0) translateZ(0)
    }
}

#h #btn-close .in,
#h #btn-menu .in {
    overflow: hidden;
    position: relative;
    font-weight: 600
}

#h #btn-close .in span,
#h #btn-menu .in span {
    transition: transform .6s
}

#h #btn-close .in .anim,
#h #btn-menu .in .anim {
    position: absolute;
    top: 0;
    left: 0;
    transition: transform .6s;
    transform: translateX(0) translateY(105%) translateZ(0)
}

#h #btn-close .in .anim i,
#h #btn-menu .in .anim i {
    font-style: normal;
    white-space: nowrap;
    animation-name: infinite;
    animation-duration: 4s;
    animation-delay: 0s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: normal
}

@keyframes infinite {
    0% {
        transform: translateX(0) translateY(0) translateZ(0)
    }

    100% {
        transform: translateX(-50%) translateY(0) translateZ(0)
    }
}

.touch-none {
    pointer-events: none !important
}

.menu {
    position: fixed;
    z-index: 90;
    top: 0;
    left: 0;
    background: #21291c;
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s
}

.menu.is-in {
    opacity: 1;
    pointer-events: visible
}

.menu .in {
    transform: translateX(0) translateY(110%) translateZ(0);
    font-style: normal
}

.menu .flex {
    width: 100%;
    padding: 0 5.4vw
}

@media screen and (min-width:768px) {
    .menu .flex {
        padding: 0 5vw;
        flex-wrap: wrap;
        display: flex;
        justify-content: center
    }
}

.menu .flex a {
    overflow: hidden;
    transition: all .3s;
    text-stroke: 1px transparent;
    -webkit-text-stroke: 1px transparent;
    text-transform: uppercase;
    padding: 1.4vw 0
}

@media screen and (min-width:768px) {
    .menu .flex a {
        padding: 1vw 2vw
    }
}

.menu .flex a.touch-none {
    color: transparent;
    text-stroke: 1px #fff;
    -webkit-text-stroke: 1px #fff
}

@media screen and (min-width:768px) {
    .menu .flex a:hover {
        opacity: 1;
        color: transparent;
        text-stroke: 1px #fff;
        -webkit-text-stroke: 1px #fff
    }
}

.menu .fb {
    width: 100%;
    overflow: hidden
}

@media screen and (max-width:768px) {
    .menu .fb {
        padding-left: 5.4vw;
        position: absolute;
        bottom: 20px;
        letter-spacing: 0
    }
}

@media screen and (min-width:768px) {
    .menu .fb {
        margin-top: 4vw;
        text-align: center
    }
}

.copy {
    padding: 10vw 0;
    text-align: center;
    font-weight: 400
}

.links {
    padding: 2.8vw 5.4vw
}

@media screen and (min-width:768px) {
    .links {
        padding: 2.8vw 2.5vw
    }
}

@media screen and (min-width:768px) {
    .links .flex {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }
}

@media screen and (min-width:768px) {

    .links .flex .cell:nth-last-child(1),
    .links .flex .cell:nth-last-child(2) {
        border-bottom: 1px solid #333
    }
}

@media screen and (max-width:768px) {
    .links .flex .cell:last-child {
        border-bottom: 1px solid #333
    }
}

.objectives {
    padding: 10vw 5.4vw 13vw
}

@media screen and (min-width:768px) {
    .objectives {
        padding: 6vw 2.5vw 7vw
    }
}

.objectives strong {
    line-height: 1;
    margin: 0 0 1.4vw 0
}

@media screen and (min-width:768px) {
    .objectives strong {
        margin: 0 0 1.4vw 0
    }
}

.objectives p {
    position: relative;
    z-index: 1;
    font-weight: 400
}

@media screen and (min-width:768px) {
    .objectives p {
        padding: 0 34vw 0 0;
        margin: 0 0 2.4vw 0
    }
}

.sponsor {
    padding: 0 5.4vw 7.2vw
}

@media screen and (min-width:768px) {
    .sponsor {
        padding: 0 2.5vw 7.2vw
    }
}

.sponsor strong {
    border-top: 1px solid #333;
    padding-top: 10px;
    margin-bottom: 20px
}

@media screen and (min-width:768px) {
    .sponsor strong {
        padding-top: 1.7vw;
        margin-bottom: 4.7vw
    }
}

@media screen and (min-width:768px) {
    .sponsor .flex {
        display: flex;
        justify-content: space-between
    }
}

@media screen and (max-width:768px) {
    .sponsor .flex .cell {
        margin-bottom: 30px
    }
}

@media screen and (min-width:768px) {
    .sponsor .flex .cell {
        width: 22.3%
    }
}

.sponsor .flex .cell b {
    margin-bottom: 10px;
    display: block
}

@media screen and (min-width:768px) {
    .sponsor .flex .cell b {
        margin-bottom: 16px
    }
}

.sponsor .flex .cell p {
    letter-spacing: .16vw
}

.sponsor .flex .cell a {
    margin-top: 10px
}

@media screen and (min-width:768px) {
    .sponsor .flex .cell a {
        margin-top: 16px
    }
}

.sponsor .all {
    position: absolute;
    top: 4.8vw;
    right: 5.4vw;
    z-index: 10
}

@media screen and (min-width:768px) {
    .sponsor .all {
        top: 2.7vw;
        right: 2.5vw
    }
}

#f {
    padding: 0 5.4vw 4vw
}

@media screen and (min-width:768px) {
    #f {
        padding: 0 2.5vw 2vw
    }
}

#f .in {
    border-top: 1px solid #333;
    padding: 20px 0 2.5vw;
    display: flex
}

#f .in small {
    display: block;
    width: 50%
}

@media screen and (min-width:768px) {
    #f .in small {
        width: 49.25vw
    }
}

#f .in ul {
    list-style: none;
    width: 50%
}

@media screen and (min-width:768px) {
    #f .in ul {
        width: 24.5vw
    }
}

#f .in ul li {
    line-height: 1.15
}

#f .in ul li a {
    text-transform: uppercase
}

#f strong {
    white-space: nowrap
}

.cell-common {
    border-top: 1px solid #333;
    padding: 10px 0 10px;
    width: 100%;
    position: relative;
    display: flex;
    justify-content: space-between
}

@media screen and (min-width:768px) {
    .cell-common {
        padding: 1.6vw 0;
        width: 48%
    }
}

@media screen and (min-width:768px) {
    .cell-common:hover {
        opacity: 1
    }

    .cell-common:hover .img img {
        transform: translateX(0) translateY(0) translateZ(0) scale(1.1)
    }

    .cell-common:hover .arw i {
        transform: translateX(0) translateY(0) translateZ(0)
    }
}

.cell-common .img {
    width: 30%;
    height: 26.6vw;
    overflow: hidden
}

@media screen and (min-width:768px) {
    .cell-common .img {
        width: 30%;
        height: 13.6vw
    }
}

.cell-common .img img {
    transition: transform .8s
}

.cell-common .t-box {
    width: 64.3%;
    display: flex;
    justify-content: space-between;
    white-space: nowrap
}

.cell-common .t-box strong {
    font-weight: 400
}

@media screen and (min-width:768px) {
    .cell-common .t-box strong {
        margin-top: -.4vw
    }
}

.cell-common .t-box a {
    margin-top: 1vw
}

@media screen and (min-width:768px) {
    .cell-common .t-box a {
        margin-top: 2vw
    }
}

.cell-common .arw {
    position: absolute;
    bottom: 26px;
    right: 0;
    width: 18px;
    height: 18px;
    overflow: hidden
}

@media screen and (min-width:768px) {
    .cell-common .arw {
        bottom: 34px
    }
}

.cell-common .arw i {
    position: absolute;
    top: 0;
    right: 0;
    width: 14px;
    height: 14px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    display: block;
    transform: translateX(-18px) translateY(18px) translateZ(0);
    transition: transform .8s
}

.cell-common .arw i:before {
    display: block;
    content: "";
    width: 20px;
    height: 1px;
    position: absolute;
    position: absolute;
    top: 7px;
    right: -3px;
    margin: auto;
    transform: translateX(0) translateY(0) translateZ(0) rotate(-45deg);
    background: #fff
}

.page-top .copy {
    display: none
}

.page-top .mv {
    padding-top: 48.6vw;
    position: relative
}

@media screen and (min-width:768px) {
    .page-top .mv {
        padding-top: 16.5vw
    }
}

.page-top .mv #big-type1,
.page-top .mv #big-type2 {
    white-space: nowrap;
    font-weight: 600;
    height: 58vw;
    overflow: hidden
}

@media screen and (min-width:768px) {

    .page-top .mv #big-type1,
    .page-top .mv #big-type2 {
        height: 28vw
    }
}

.page-top .mv #big-type1 i,
.page-top .mv #big-type2 i {
    height: 51vw;
    font-style: normal;
    display: inline-block
}

@media screen and (min-width:768px) {

    .page-top .mv #big-type1 i,
    .page-top .mv #big-type2 i {
        height: 28vw
    }
}

.page-top .mv #big-type1 {
    position: relative;
    z-index: 10;
    margin: 0 0 33.2vw 0;
    width: 100vw
}

@media screen and (min-width:768px) {
    .page-top .mv #big-type1 {
        width: 200vw;
        margin: 0 0 30vw .8vw
    }
}

@media screen and (max-width:768px) {
    .page-top .mv #big-type1 .in {
        width: 1129.5vw
    }
}

.page-top .mv #big-type1 i {
    transform: translateX(0) translateY(100%) translateZ(0)
}

.page-top .mv #cv {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 142vw;
    overflow: hidden;
    z-index: 5
}

@media screen and (min-width:768px) {
    .page-top .mv #cv {
        height: 90vw
    }
}

.page-top .mv .lead {
    margin: 0 0 9.8vw 0;
    position: relative;
    z-index: 1;
    font-weight: 400;
    padding: 0 5.4vw
}

@media screen and (min-width:768px) {
    .page-top .mv .lead {
        padding: 0 34vw 0 2.5vw;
        margin: 0 0 9.8vw 0
    }
}

.page-top .mv #big-type2 {
    margin: 0;
    width: 100vw
}

@media screen and (min-width:768px) {
    .page-top .mv #big-type2 {
        width: 200vw;
        margin: 0 0 0 .8vw
    }
}

@media screen and (max-width:768px) {
    .page-top .mv #big-type2 .in {
        width: 658.5vw
    }
}

.page-about .lead,
.page-error .lead,
.page-news .lead,
.page-overview .lead,
.page-schedule .lead,
.page-sponsors .lead,
.page-standings .lead,
.page-teams .lead,
.page-teams-detail .lead {
    padding-top: 25vw
}

@media screen and (min-width:768px) {

    .page-about .lead,
    .page-error .lead,
    .page-news .lead,
    .page-overview .lead,
    .page-schedule .lead,
    .page-sponsors .lead,
    .page-standings .lead,
    .page-teams .lead,
    .page-teams-detail .lead {
        padding-top: 16vw
    }
}

.page-about .lead h2,
.page-error .lead h2,
.page-news .lead h2,
.page-overview .lead h2,
.page-schedule .lead h2,
.page-sponsors .lead h2,
.page-standings .lead h2,
.page-teams .lead h2,
.page-teams-detail .lead h2 {
    padding-left: 5.4vw;
    text-transform: uppercase
}

@media screen and (min-width:768px) {

    .page-about .lead h2,
    .page-error .lead h2,
    .page-news .lead h2,
    .page-overview .lead h2,
    .page-schedule .lead h2,
    .page-sponsors .lead h2,
    .page-standings .lead h2,
    .page-teams .lead h2,
    .page-teams-detail .lead h2 {
        padding-left: 51.7vw
    }
}

.page-about .lead h2 i,
.page-error .lead h2 i,
.page-news .lead h2 i,
.page-overview .lead h2 i,
.page-schedule .lead h2 i,
.page-sponsors .lead h2 i,
.page-standings .lead h2 i,
.page-teams .lead h2 i,
.page-teams-detail .lead h2 i {
    font-style: normal
}

.page-about .lead p,
.page-error .lead p,
.page-news .lead p,
.page-overview .lead p,
.page-schedule .lead p,
.page-sponsors .lead p,
.page-standings .lead p,
.page-teams .lead p,
.page-teams-detail .lead p {
    margin-top: 3vw;
    padding: 0 5.4vw 0
}

@media screen and (min-width:768px) {

    .page-about .lead p,
    .page-error .lead p,
    .page-news .lead p,
    .page-overview .lead p,
    .page-schedule .lead p,
    .page-sponsors .lead p,
    .page-standings .lead p,
    .page-teams .lead p,
    .page-teams-detail .lead p {
        margin-top: 3vw;
        padding: 0 2.5vw 0 51.7vw
    }
}

.page-about .lead span,
.page-error .lead span,
.page-news .lead span,
.page-overview .lead span,
.page-schedule .lead span,
.page-sponsors .lead span,
.page-standings .lead span,
.page-teams .lead span,
.page-teams-detail .lead span {
    margin-top: 3vw;
    letter-spacing: .09vw;
    padding: 0 5.4vw
}

@media screen and (max-width:768px) {

    .page-about .lead span,
    .page-error .lead span,
    .page-news .lead span,
    .page-overview .lead span,
    .page-schedule .lead span,
    .page-sponsors .lead span,
    .page-standings .lead span,
    .page-teams .lead span,
    .page-teams-detail .lead span {
        width: 76%
    }
}

@media screen and (min-width:768px) {

    .page-about .lead span,
    .page-error .lead span,
    .page-news .lead span,
    .page-overview .lead span,
    .page-schedule .lead span,
    .page-sponsors .lead span,
    .page-standings .lead span,
    .page-teams .lead span,
    .page-teams-detail .lead span {
        margin-top: 3vw;
        letter-spacing: .09vw;
        padding: 0 18.6vw 0 51.7vw
    }
}

.page-about .lead em,
.page-error .lead em,
.page-news .lead em,
.page-overview .lead em,
.page-schedule .lead em,
.page-sponsors .lead em,
.page-standings .lead em,
.page-teams .lead em,
.page-teams-detail .lead em {
    margin-top: 3vw;
    letter-spacing: .09vw;
    padding: 0 5.4vw
}

@media screen and (min-width:768px) {

    .page-about .lead em,
    .page-error .lead em,
    .page-news .lead em,
    .page-overview .lead em,
    .page-schedule .lead em,
    .page-sponsors .lead em,
    .page-standings .lead em,
    .page-teams .lead em,
    .page-teams-detail .lead em {
        margin-top: 3vw;
        letter-spacing: .09vw;
        padding: 0 18.6vw 0 51.7vw
    }
}

.page-about .lead .mv,
.page-error .lead .mv,
.page-news .lead .mv,
.page-overview .lead .mv,
.page-schedule .lead .mv,
.page-sponsors .lead .mv,
.page-standings .lead .mv,
.page-teams .lead .mv,
.page-teams-detail .lead .mv {
    width: 100vw;
    margin: 8vw auto 10vw
}

@media screen and (min-width:768px) {

    .page-about .lead .mv,
    .page-error .lead .mv,
    .page-news .lead .mv,
    .page-overview .lead .mv,
    .page-schedule .lead .mv,
    .page-sponsors .lead .mv,
    .page-standings .lead .mv,
    .page-teams .lead .mv,
    .page-teams-detail .lead .mv {
        width: 95vw;
        margin: 5.7vw auto 0
    }
}

.page-overview .s1 {
    padding: 10vw 5.4vw 10vw
}

@media screen and (min-width:768px) {
    .page-overview .s1 {
        padding: 7vw 2.5vw 10vw
    }
}

@media screen and (min-width:768px) {
    .page-overview .s1 .flex {
        display: flex;
        justify-content: space-between
    }
}

.page-overview .s1 .flex strong {
    line-height: 1
}

@media screen and (max-width:768px) {
    .page-overview .s1 .flex strong {
        margin-bottom: 10vw
    }
}

@media screen and (min-width:768px) {
    .page-overview .s1 .flex strong {
        width: 50%
    }
}

@media screen and (min-width:768px) {
    .page-overview .s1 .flex .r {
        width: 48%
    }
}

.page-overview .s1 .flex .r .cell {
    border-top: 1px solid #fff;
    padding: 2vw 0;
    font-size: 1vw;
    line-height: 2.1;
    display: flex;
    justify-content: space-between
}

.page-overview .s1 .flex .r .cell span {
    width: 20%
}

@media screen and (min-width:768px) {
    .page-overview .s1 .flex .r .cell span {
        width: 24%
    }
}

.page-overview .s1 .flex .r .cell p {
    width: 64%
}

@media screen and (min-width:768px) {
    .page-overview .s1 .flex .r .cell p {
        width: 64%
    }
}

.page-overview .s2 {
    padding: 10vw 5.4vw 20vw
}

@media screen and (min-width:768px) {
    .page-overview .s2 {
        padding: 0 2.5vw 10vw;
        display: flex;
        justify-content: space-between
    }
}

.page-overview .s2 strong {
    line-height: 1
}

@media screen and (max-width:768px) {
    .page-overview .s2 strong {
        margin-bottom: 10vw
    }
}

@media screen and (min-width:768px) {
    .page-overview .s2 strong {
        width: 50%
    }
}

@media screen and (min-width:768px) {
    .page-overview .s2 .r {
        width: 48%
    }
}

.page-overview .s2 .r .cell {
    width: 100%
}

.page-teams .s1 {
    margin-top: 10vw;
    padding: 0 3.2vw
}

@media screen and (min-width:768px) {
    .page-teams .s1 {
        margin-top: 6vw;
        padding: 0 .75vw
    }
}

.page-teams .s1 .flex {
    display: flex;
    flex-wrap: wrap
}

.page-teams .s1 .flex .cell {
    position: relative;
    width: 50%;
    padding: 0 1.8vw
}

@media screen and (min-width:768px) {
    .page-teams .s1 .flex .cell {
        width: 25%;
        padding: 0 1.8vw
    }
}

@media screen and (min-width:768px) {
    .page-teams .s1 .flex .cell:hover {
        opacity: 1
    }

    .page-teams .s1 .flex .cell:hover .arw i {
        transform: translateX(0) translateY(0) translateZ(0)
    }
}

.page-teams .s1 .flex .cell:nth-child(-n+4) p {
    border-top: 1px solid #333
}

.page-teams .s1 .flex .cell p {
    padding: 2vw 0;
    font-style: normal;
    border-bottom: 1px solid #333
}

@media screen and (min-width:768px) {
    .page-teams .s1 .flex .cell p {
        padding: 1vw 0
    }
}

.page-teams .s1 .flex .cell .arw {
    position: absolute;
    bottom: 26px;
    right: 0;
    width: 18px;
    height: 18px;
    overflow: hidden
}

@media screen and (min-width:768px) {
    .page-teams .s1 .flex .cell .arw {
        right: 1.9vw;
        bottom: 18px
    }
}

.page-teams .s1 .flex .cell .arw i {
    position: absolute;
    top: 0;
    right: 0;
    width: 14px;
    height: 14px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    display: block;
    transform: translateX(-18px) translateY(18px) translateZ(0);
    transition: transform .8s
}

.page-teams .s1 .flex .cell .arw i:before {
    display: block;
    content: "";
    width: 20px;
    height: 1px;
    position: absolute;
    position: absolute;
    top: 7px;
    right: -3px;
    margin: auto;
    transform: translateX(0) translateY(0) translateZ(0) rotate(-45deg);
    background: #fff
}

.page-teams-detail .lead .mv {
    height: auto
}

.page-teams-detail .s1 {
    padding: 10vw 5.4vw 0
}

@media screen and (min-width:768px) {
    .page-teams-detail .s1 {
        display: flex;
        justify-content: space-between;
        padding: 7.4vw 2.5vw 0
    }
}

.page-teams-detail .s1 strong {
    font-weight: 400;
    line-height: .9;
    margin-bottom: 10vw
}

@media screen and (min-width:768px) {
    .page-teams-detail .s1 strong {
        margin-bottom: 6vw;
        width: 30%
    }
}

@media screen and (min-width:768px) {
    .page-teams-detail .s1 .r {
        width: 65.8%
    }
}

.page-teams-detail .s1 .r .cell {
    border-bottom: 1px solid #333;
    display: flex;
    padding: 2.9vw 0
}

@media screen and (min-width:768px) {
    .page-teams-detail .s1 .r .cell {
        padding: 1.8vw 0
    }
}

.page-teams-detail .s1 .r .cell:first-child {
    border-top: 1px solid #333
}

.page-teams-detail .s1 .r .cell i {
    width: 13%;
    font-style: normal
}

@media screen and (min-width:768px) {
    .page-teams-detail .s1 .r .cell i {
        width: 13%
    }
}

.page-teams-detail .s1 .r .cell span {
    width: 20%
}

@media screen and (min-width:768px) {
    .page-teams-detail .s1 .r .cell span {
        width: 27%
    }
}

.page-teams-detail .s1 .r .cell p {
    width: 40%
}

@media screen and (min-width:768px) {
    .page-teams-detail .s1 .r .cell p {
        width: 45%
    }
}

.page-teams-detail .s1 .r .cell em {
    width: 20%
}

@media screen and (min-width:768px) {
    .page-teams-detail .s1 .r .cell em {
        width: 15%
    }
}

.page-about .s1 {
    padding: 10vw 5.4vw 0
}

@media screen and (min-width:768px) {
    .page-about .s1 {
        padding: 7.4vw 2.5vw 0 27vw
    }
}

.page-about .s1 strong {
    font-weight: 400;
    line-height: .9;
    margin-bottom: 10vw
}

@media screen and (min-width:768px) {
    .page-about .s1 strong {
        margin-bottom: 6vw
    }
}

@media screen and (min-width:768px) {
    .page-about .s1 .r {
        width: 100%
    }
}

.page-about .s1 .r .cell {
    border-bottom: 1px solid #333;
    display: flex;
    padding: 2.9vw 0
}

@media screen and (min-width:768px) {
    .page-about .s1 .r .cell {
        padding: 3vw 0
    }
}

.page-about .s1 .r .cell:first-child {
    border-top: 1px solid #333
}

.page-about .s1 .r .cell i {
    width: 36%;
    font-style: normal
}

@media screen and (max-width:768px) {
    .page-about .s1 .r .cell i {
        padding-right: 20px
    }
}

@media screen and (min-width:768px) {
    .page-about .s1 .r .cell i {
        width: 35.2%
    }
}

.page-about .s1 .r .cell p {
    width: 64%
}

@media screen and (min-width:768px) {
    .page-about .s1 .r .cell p {
        width: 55%
    }
}

.page-schedule .s1 strong {
    font-weight: 400;
    padding: 12vw 0 12vw 5.4vw
}

@media screen and (min-width:768px) {
    .page-schedule .s1 strong {
        padding: 8.5vw 0 8.5vw 18.8vw
    }
}

.page-schedule .s1 .date .flex {
    padding: 0 5.4vw;
    letter-spacing: .1vw;
    margin-bottom: 12vw
}

@media screen and (min-width:768px) {
    .page-schedule .s1 .date .flex {
        display: flex;
        justify-content: space-between;
        padding: 0 2.5vw;
        margin-bottom: 5vw
    }
}

.page-schedule .s1 .date .flex:last-child {
    margin-bottom: 0
}

.page-schedule .s1 .date .flex .l {
    line-height: 1
}

@media screen and (max-width:768px) {
    .page-schedule .s1 .date .flex .l {
        margin-bottom: 7vw
    }
}

@media screen and (min-width:768px) {
    .page-schedule .s1 .date .flex .l {
        width: 6%
    }
}

@media screen and (min-width:768px) {
    .page-schedule .s1 .date .flex .r {
        width: 82.9%
    }
}

.page-schedule .s1 .date .flex .r .cell {
    display: flex;
    flex-wrap: wrap;
    padding: 6.2vw 0;
    border-bottom: 1px solid #333
}

@media screen and (min-width:768px) {
    .page-schedule .s1 .date .flex .r .cell {
        padding: 1.7vw 0
    }
}

.page-schedule .s1 .date .flex .r .cell:first-child {
    border-top: 1px solid #333
}

.page-schedule .s1 .date .flex .r .cell .p1 {
    width: 20%;
    opacity: .5
}

@media screen and (min-width:768px) {
    .page-schedule .s1 .date .flex .r .cell .p1 {
        width: 10.3%
    }
}

.page-schedule .s1 .date .flex .r .cell .p2 {
    width: 30%;
    opacity: .5
}

@media screen and (min-width:768px) {
    .page-schedule .s1 .date .flex .r .cell .p2 {
        width: 10.3%
    }
}

.page-schedule .s1 .date .flex .r .cell .p3 {
    width: 50%;
    opacity: .5
}

@media screen and (max-width:768px) {
    .page-schedule .s1 .date .flex .r .cell .p3 {
        margin-bottom: 5vw
    }
}

@media screen and (min-width:768px) {
    .page-schedule .s1 .date .flex .r .cell .p3 {
        width: 35.6%
    }
}

.page-schedule .s1 .date .flex .r .cell .p4 {
    width: 50%
}

@media screen and (max-width:768px) {
    .page-schedule .s1 .date .flex .r .cell .p4 {
        padding-left: 20%
    }
}

@media screen and (min-width:768px) {
    .page-schedule .s1 .date .flex .r .cell .p4 {
        width: 18%
    }
}

.page-schedule .s1 .date .flex .r .cell .p5 {
    width: 13%
}

@media screen and (min-width:768px) {
    .page-schedule .s1 .date .flex .r .cell .p5 {
        width: 14.7%
    }
}

.page-schedule .s1 .date .flex .r .cell .p6 {
    width: 37%
}

@media screen and (min-width:768px) {
    .page-schedule .s1 .date .flex .r .cell .p6 {
        width: 11.1%
    }
}

.page-standings .s1 strong {
    font-weight: 400;
    padding: 12vw 0 12vw 5.4vw
}

@media screen and (min-width:768px) {
    .page-standings .s1 strong {
        padding: 8.5vw 0 8.5vw 18.8vw
    }
}

.page-standings .s1 .date .flex {
    padding: 0 5.4vw;
    letter-spacing: .1vw;
    margin-bottom: 12vw
}

@media screen and (min-width:768px) {
    .page-standings .s1 .date .flex {
        display: flex;
        justify-content: space-between;
        padding: 0 2.5vw;
        margin-bottom: 5vw
    }
}

.page-standings .s1 .date .flex:last-child {
    margin-bottom: 0
}

.page-standings .s1 .date .flex .l {
    line-height: 1
}

@media screen and (max-width:768px) {
    .page-standings .s1 .date .flex .l {
        margin-bottom: 7vw
    }
}

@media screen and (min-width:768px) {
    .page-standings .s1 .date .flex .l {
        width: 6%
    }
}

.page-standings .s1 .date .flex .r {
    width: 110.8%
}

@media screen and (max-width:768px) {
    .page-standings .s1 .date .flex .r {
        margin-left: -5.4vw;
        padding: 0 5.4vw;
        overflow-x: scroll
    }

    .page-standings .s1 .date .flex .r::-webkit-scrollbar {
        display: none
    }
}

@media screen and (min-width:768px) {
    .page-standings .s1 .date .flex .r {
        width: 82.9%
    }
}

.page-standings .s1 .date .flex .r .table {
    width: 180%
}

@media screen and (min-width:768px) {
    .page-standings .s1 .date .flex .r .table {
        width: 100%
    }
}

.page-standings .s1 .date .flex .r .table tbody tr {
    border-top: 1px solid #333;
    border-bottom: 1px solid #333
}

.page-standings .s1 .date .flex .r .table tbody tr th {
    opacity: .5;
    font-weight: 400;
    text-align: center;
    padding: 5vw 0
}

@media screen and (min-width:768px) {
    .page-standings .s1 .date .flex .r .table tbody tr th {
        padding: 1.5vw 0
    }
}

.page-standings .s1 .date .flex .r .table tbody tr td {
    font-weight: 400;
    text-align: center;
    padding: 5vw 0
}

@media screen and (min-width:768px) {
    .page-standings .s1 .date .flex .r .table tbody tr td {
        padding: 1.5vw 0
    }
}

.page-standings .s1 .archives {
    padding: 0 5.4vw;
    letter-spacing: .1vw;
    margin-bottom: 12vw
}

@media screen and (min-width:768px) {
    .page-standings .s1 .archives {
        display: flex;
        justify-content: space-between;
        padding: 0 2.5vw;
        margin-bottom: 5vw
    }
}

.page-standings .s1 .archives:last-child {
    margin-bottom: 0
}

.page-standings .s1 .archives .l {
    line-height: 1
}

@media screen and (max-width:768px) {
    .page-standings .s1 .archives .l {
        margin-bottom: 7vw
    }
}

@media screen and (min-width:768px) {
    .page-standings .s1 .archives .l {
        width: 15%
    }
}

@media screen and (min-width:768px) {
    .page-standings .s1 .archives .r {
        width: 82.9%
    }
}

.page-standings .s1 .archives .r .cell {
    display: flex;
    flex-wrap: wrap;
    padding: 6.2vw 0;
    border-bottom: 1px solid #333
}

@media screen and (min-width:768px) {
    .page-standings .s1 .archives .r .cell {
        padding: 1.7vw 0
    }
}

.page-standings .s1 .archives .r .cell:first-child {
    border-top: 1px solid #333
}

.page-standings .s1 .archives .r .cell .p1 {
    width: 20%;
    opacity: .5
}

@media screen and (min-width:768px) {
    .page-standings .s1 .archives .r .cell .p1 {
        width: 10.3%
    }
}

.page-standings .s1 .archives .r .cell .p2 {
    width: 30%
}

@media screen and (min-width:768px) {
    .page-standings .s1 .archives .r .cell .p2 {
        width: 10.3%
    }
}

.page-news .s1 {
    padding: 10vw 5.4vw 0
}

@media screen and (min-width:768px) {
    .page-news .s1 {
        padding: 12vw 2.5vw 0
    }
}

.page-news .s1 .cell-common {
    width: 100%
}

.page-news .s1 .cell-common:last-child {
    border-bottom: 1px solid #333
}

.page-news .s1 .cell-common .img {
    height: 26.6vw
}

@media screen and (min-width:768px) {
    .page-news .s1 .cell-common .img {
        height: 28.5vw
    }
}

.page-news .s1 .cell-common .t-box {
    width: 64.3%
}

@media screen and (max-width:768px) {
    .page-news .s1 .cell-common .t-box {
        display: block;
        white-space: normal
    }
}

@media screen and (min-width:768px) {
    .page-news .s1 .cell-common .t-box {
        width: 67.2%
    }
}

.page-news .s1 .detail .list {
    padding-left: 0;
    margin-top: 0
}

@media screen and (min-width:768px) {
    .page-news .s1 .detail .list {
        margin-top: 8.5vw;
        padding-left: 18.8vw
    }
}

.page-news .s1 .detail .list strong {
    font-weight: 400;
    padding: 0 0 12vw 0
}

@media screen and (min-width:768px) {
    .page-news .s1 .detail .list strong {
        padding: 0 0 3vw 0
    }
}

.page-news .s1 .detail .list .flex {
    display: flex;
    flex-wrap: wrap;
    padding: 6.2vw 0;
    border-top: 1px solid #333
}

.page-news .s1 .detail .list .flex:last-child {
    border-bottom: 1px solid #333
}

@media screen and (min-width:768px) {
    .page-news .s1 .detail .list .flex {
        padding: 1.7vw 0
    }
}

.page-news .s1 .detail .list .flex .cell {
    width: 30%
}

@media screen and (min-width:768px) {
    .page-news .s1 .detail .list .flex .cell {
        width: 20%
    }
}

.page-news .s1 .detail .list .flex .cell:last-child {
    width: 20%
}

@media screen and (min-width:768px) {
    .page-news .s1 .detail .list .flex .cell:last-child {
        width: 80%
    }
}

.page-news .s1 .detail .wysywig {
    padding-left: 0;
    margin-top: 12vw
}

@media screen and (min-width:768px) {
    .page-news .s1 .detail .wysywig {
        margin-top: 8.5vw;
        padding-left: 18.8vw
    }
}

.page-news .s1 .detail .wysywig ul {
    padding-left: 4.1vw
}

@media screen and (min-width:768px) {
    .page-news .s1 .detail .wysywig ul {
        padding-left: 1.3vw
    }
}

.page-news .s1 .detail .wysywig ol {
    padding-left: 2.8vw
}

@media screen and (min-width:768px) {
    .page-news .s1 .detail .wysywig ol {
        padding-left: 1.1vw
    }
}

.page-sponsors .s1 {
    padding: 20vw 5.4vw 0
}

@media screen and (min-width:768px) {
    .page-sponsors .s1 {
        padding: 12vw 2.5vw 0
    }
}

.page-sponsors .s1 .cell-common {
    width: 100%
}

.page-sponsors .s1 .cell-common:hover img {
    transform: translateX(0) translateY(0) translateZ(0) !important
}

.page-sponsors .s1 .cell-common:last-child {
    border-bottom: 1px solid #333
}

.page-sponsors .s1 .cell-common .img {
    height: 26.6vw
}

@media screen and (min-width:768px) {
    .page-sponsors .s1 .cell-common .img {
        height: 28.5vw
    }
}

.page-sponsors .s1 .cell-common .t-box {
    width: 64.3%;
    white-space: inherit
}

@media screen and (max-width:768px) {
    .page-sponsors .s1 .cell-common .t-box {
        display: block
    }
}

@media screen and (min-width:768px) {
    .page-sponsors .s1 .cell-common .t-box {
        width: 67.2%
    }
}

.page-sponsors .s1 .cell-common .t-box p {
    width: 100%
}

@media screen and (max-width:768px) {
    .page-sponsors .s1 .cell-common .t-box p {
        margin-top: 4vw
    }
}

@media screen and (min-width:768px) {
    .page-sponsors .s1 .cell-common .t-box p {
        width: 33.1%
    }
}

.page-sponsors .s1 .cell-common .t-box p a {
    margin-top: 2vw
}

.page-sponsors .s1 .cell-common .arw {
    display: none
}

.page-error a {
    margin-top: 3vw;
    padding: 0 5.4vw
}

@media screen and (max-width:768px) {
    .page-error a {
        width: 76%
    }
}

@media screen and (min-width:768px) {
    .page-error a {
        margin-top: 3vw;
        padding: 0 18.6vw 0 51.7vw
    }
}