@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Oswald:400,300,700);
@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700);
img,
legend {
  border: 0
}

img,
textarea {
  vertical-align: top
}

body,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0
}

body,
mark {
  color: #000
}

a,
a:active,
a:hover {
  outline: 0
}

.no-touch #contest-credit a,
.no-touch #footer a,
.no-touch #header a,
.no-touch #pagetop-nav a {
  transition: opacity .4s ease
}

.no-touch #contest-credit a:hover,
.no-touch #footer a:hover,
.no-touch #header a:hover,
.no-touch #pagetop-nav a:hover {
  opacity: .7
}

#footer .misc-nav li,
.m-circleNum-list li {
  list-style-image: none;
  list-style-type: none
}

.mfp-open .mfp-figure,
.mfp-wrap {
  -webkit-backface-visibility: hidden
}

.mfp-arrow,
.slick-slider {
  -webkit-tap-highlight-color: transparent
}

.slick-loading .slick-slide,
.slick-loading .slick-track {
  visibility: hidden
}

.pdf-content a,
.public-lead .data a,
.public-lead .outline .sub-title a {
  word-break: break-all
}

#header .global-nav .item a:before,
#pagetop-nav a:before,
#subpage-header .button-action .button:before,
.appform .privacy .button a:before,
.back-button:before,
.faq-option-btn.is-open:before,
.faq-option-btn:before,
.form-button.next-button:before,
.form-button:before,
.m-arrowLink:before,
.m-backButton:before,
.m-roundButtonL:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-variant: normal;
  text-transform: none;
  speak: none
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 400;
  src: local('NotoSansJP-Regular.otf'), url(https:https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format('woff2'), url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format('woff'), url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format('opentype')
}

@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 700;
  src: url(https:https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'), url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'), url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype')
}


/*! normalize.css v2.1.3 | MIT License | git.io/normalize */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block
}

audio,
canvas,
video {
  display: inline-block
}

[hidden],
body.page-iframe #contest-credit,
body.page-iframe #footer,
body.page-iframe #header,
body.page-iframe #pagetop-nav,
template {
  display: none
}

audio:not([controls]) {
  display: none;
  height: 0
}

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased
}

a {
  background: 0 0;
  color: inherit
}

h1 {
  font-size: 2em
}

abbr[title] {
  border-bottom: 1px dotted
}

b,
strong {
  font-weight: 700
}

dfn {
  font-style: italic
}

hr {
  box-sizing: content-box;
  height: 0
}

mark {
  background: #ff0
}

code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em
}

pre {
  white-space: pre-wrap
}

q {
  quotes: "\201C" "\201D" "\2018" "\2019"
}

small {
  font-size: 80%
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sup {
  top: -.5em
}

sub {
  bottom: -.25em
}

svg:not(:root) {
  overflow: hidden
}

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: .35em .625em .75em
}

legend {
  padding: 0
}

button,
input,
select,
textarea {
  font-size: 100%;
  margin: 0
}

button,
input {
  line-height: normal
}

button,
select {
  text-transform: none
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer
}

button[disabled],
html input[disabled] {
  cursor: default
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0
}

input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0
}

textarea {
  overflow: auto
}

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

*,
:after,
:before {
  box-sizing: inherit
}

.mfp-container,
.otherSection .voiceList,
.slick-slider,
img.mfp-img {
  box-sizing: border-box
}

body,
html {
  font-size: 16px
}

body {
  background: #eee;
  font-size: .9375rem;
  line-height: 1.66667em;
  letter-spacing: .04em
}

@media print {
  body {
    min-width: 1025px!important
  }
}

body.page-iframe {
  padding: 65px 0;
  background: #fff
}

body.page-iframe #page {
  min-width: 1100px
}

@media screen and (max-width:768px) {
  body {
    font-size: .875rem
  }
  body.page-iframe {
    padding: 20px 0
  }
  body.page-iframe #page {
    min-width: inherit
  }
}

#header,
#page {
  min-width: 1160px
}

body.page-iframe .l-inner {
  width: 950px
}

body,
button,
input,
select,
textarea {
  font-family: 'Noto Sans Japanese', 'Hiragino Kaku Gothic ProN', Meiryo, 'MS PGothic', sans-serif
}

body.ie,
body.ie button,
body.ie input,
body.ie select,
body.ie textarea {
  font-family: Meiryo, 'MS PGothic', sans-serif
}

a:active,
a:visited {
  color: inherit;
  text-decoration: underline
}

a:focus,
a:hover {
  color: inherit;
  text-decoration: none;
  outline: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.3
}

br.is-pc {
  display: block
}

br.is-sp {
  display: none
}

@media screen and (max-width:768px) {
  body.page-iframe .l-inner {
    width: auto
  }
  br.is-pc {
    display: none
  }
  br.is-sp {
    display: block
  }
  #page {
    min-width: inherit
  }
}

.l-inner {
  margin-right: auto;
  margin-left: auto;
  width: 1120px
}

@media screen and (max-width:768px) {
  .l-inner {
    margin-right: 15px;
    margin-left: 15px;
    width: auto
  }
}

@media screen and (min-width:0px) and (max-width:340px) {
  .l-inner {
    margin-right: 10px;
    margin-left: 10px
  }
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

#pagetop-nav a:before {
  font-family: iconfont;
  font-style: normal;
  font-weight: 400;
  text-decoration: none
}

#contest-credit .host-info dt,
#pagetop-nav a {
  font-weight: 700
}

#pagetop-nav {
  margin: 75px 35px 15px;
  text-align: right
}

#pagetop-nav a {
  font-size: 1.3125rem;
  font-family: Oswald, Arial, sans-serif;
  letter-spacing: .18em
}

#contest-credit .host-info .cross,
#footer .copyright {
  font-family: Montserrat, Arial, sans-serif
}

#pagetop-nav a,
#pagetop-nav a:active,
#pagetop-nav a:focus,
#pagetop-nav a:hover,
#pagetop-nav a:link,
#pagetop-nav a:visited {
  text-decoration: none
}

#pagetop-nav a:before {
  content: '\E903';
  margin-right: 15px;
  font-size: 19px
}

#contest-credit {
  padding: 40px 20px 45px;
  background: #d9d9d9;
  text-align: center
}

@media screen and (max-width:768px) {
  #pagetop-nav {
    margin: 40px 15px 15px
  }
  #pagetop-nav a {
    font-size: 1rem
  }
  #pagetop-nav a:before {
    margin-right: 10px;
    font-size: 14px
  }
  #contest-credit {
    padding: 20px 15px
  }
}

#contest-credit .group-info,
#contest-credit .host-info {
  margin: 0;
  line-height: 1
}

#contest-credit .group-info dd,
#contest-credit .host-info dd {
  margin-left: 0
}

#contest-credit .group-info dt,
#contest-credit .host-info dt {
  margin-bottom: 10px;
  font-size: .9375rem
}

#contest-credit .host-info {
  vertical-align: middle
}

#contest-credit .host-info .cross {
  color: #da2727;
  font-size: .75rem;
  font-weight: 700;
  line-height: 26px;
  margin: 0 10px
}

#contest-credit .host-info img {
  vertical-align: middle
}

#contest-credit .group-info {
  margin-top: 30px
}

#contest-credit .group-info .group-title {
  font-weight: 400;
  font-size: .75rem
}

#contest-credit .group-info dt {
  font-weight: 700
}

#contest-credit .group-info dd {
  font-size: .75rem
}

#contest-credit .group-info dd.group-line {
  margin-bottom: 10px
}

#contest-credit .group-info a {
  display: inline-block
}

#contest-credit .group-info a,
#contest-credit .group-info a:active,
#contest-credit .group-info a:focus,
#contest-credit .group-info a:hover,
#contest-credit .group-info a:link,
#contest-credit .group-info a:visited {
  text-decoration: none;
  color: #000
}

#footer {
  display: table;
  width: 100%;
  background: #2e2e2e;
  color: #fff
}

@media screen and (max-width:768px) {
  #contest-credit .group-info dd {
    line-height: 1.6
  }
  #contest-credit .group-info dd.group-line {
    margin-bottom: 0
  }
  #footer {
    display: block
  }
}

#footer a,
#footer a:active,
#footer a:focus,
#footer a:hover,
#footer a:link,
#footer a:visited {
  text-decoration: none;
  color: #fff
}

#footer .copyright,
#footer .misc-nav {
  display: table-cell;
  padding: 20px 0;
  vertical-align: middle;
  line-height: 1
}

@media screen and (max-width:768px) {
  #footer .copyright,
  #footer .misc-nav {
    display: block;
    padding: 20px 15px
  }
}

#footer .copyright {
  padding-left: 35px;
  font-size: .75rem;
  font-style: normal;
  font-weight: 400;
  letter-spacing: .14em
}

@media screen and (max-width:768px) {
  #footer .copyright {
    text-align: center;
    font-size: .625rem
  }
}

#footer .misc-nav {
  margin: 0;
  padding: 0 35px 0 0;
  list-style: none;
  font-size: 0;
  text-align: right
}

#footer .misc-nav li.other::before {
  display: none
}

#footer .misc-nav li {
  margin-left: 0;
  display: inline-block;
  font-size: 16px;
  white-space: nowrap
}

#footer .misc-nav .item {
  margin-left: 1em;
  padding-left: 1em;
  border-left: solid 1px #4d4d4d;
  font-size: .75rem;
  letter-spacing: .08em
}

#footer .misc-nav .item:first-child {
  margin: 0 0 5px;
  padding-left: 0;
  border-left: none
}

.blippar-container .mfp-content {
  max-width: 1230px
}

.mfp-image-holder .mfp-content,
img.mfp-img {
  max-width: 100%
}

@media screen and (max-width:768px) {
  #footer .misc-nav {
    padding-right: 0;
    padding-bottom: 20px;
    text-align: center
  }
  #footer .misc-nav .item {
    font-size: .6875rem;
    margin-left: .5em;
    padding-left: .5em
  }
  .blippar-container .mfp-content {
    width: 94%
  }
}

.blippar-popup {
  padding: 60px 125px;
  background: #fff
}

@media screen and (max-width:768px) {
  .blippar-popup {
    padding: 20px 20px 25px
  }
}

.blippar-popup .title {
  margin: 0 0 40px;
  padding: 10px;
  background: #c71e1e;
  color: #fff;
  text-align: center;
  font-size: 1.375rem;
  line-height: 1
}

@media screen and (max-width:768px) {
  .blippar-popup .title {
    padding: 8px 5px;
    margin-bottom: 20px;
    font-size: 1rem;
    line-height: 1.2
  }
}

@media screen and (min-width:0) and (max-width:370px) {
  .blippar-popup .title {
    font-size: .9375rem
  }
}

.blippar-popup .content:after {
  content: "";
  display: table;
  clear: both
}

.blippar-popup .cover {
  float: left;
  margin: 0 88px 0 17px
}

.blippar-popup .step {
  overflow: hidden;
  padding-top: 38px
}

@media screen and (max-width:768px) {
  .blippar-popup .cover {
    float: none;
    margin: 0;
    text-align: center
  }
  .blippar-popup .cover img {
    width: 200px;
    height: auto
  }
  .blippar-popup .step {
    float: none;
    padding-top: 20px;
    text-align: center
  }
  .blippar-popup .step img {
    width: 100%;
    height: auto
  }
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

#header .global-nav .item a:before,
#subpage-header .button-action .button:before {
  font-family: iconfont;
  font-style: normal;
  font-weight: 400;
  text-decoration: none
}

body {
  padding-top: 73px
}

#header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 300;
  display: table;
  width: 100%;
  background: #fff
}

@media screen and (max-width:768px) {
  body {
    padding-top: 48px
  }
  #header {
    display: block;
    min-width: inherit
  }
}

@media print {
  #header {
    position: absolute
  }
}

#header .sp-nav {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  width: 46px;
  height: 46px;
  z-index: 320;
  cursor: pointer
}

@media screen and (max-width:768px) {
  #header .sp-nav {
    display: block
  }
}

#header .sp-nav .icon,
#header .sp-nav:after,
#header .sp-nav:before {
  content: '';
  display: block;
  background: #000;
  width: 24px;
  height: 2px;
  position: absolute;
  left: 10px;
  transition: all .4s
}

#header .sp-nav:before {
  top: 14px
}

#header .sp-nav .icon {
  display: inline-block;
  text-indent: 200%;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  text-align: left;
  margin-top: -1px;
  top: 50%
}

#header .sp-nav:after {
  bottom: 14px
}

#header .site-logo,
#header .site-nav {
  display: table-cell;
  vertical-align: middle
}

#header .site-logo {
  padding-left: 20px
}

@media screen and (max-width:768px) {
  #header .site-logo,
  #header .site-nav {
    display: block
  }
  #header .site-logo {
    width: auto;
    padding: 12px 10px;
    border-bottom: solid 1px #d9d9d9
  }
  #header .site-logo img {
    height: 20px;
    width: auto
  }
}

#header .site-nav {
  padding-right: 20px;
  text-align: right
}

@media screen and (max-width:768px) {
  #header .site-nav {
    display: none;
    position: absolute;
    left: 0;
    width: 100%;
    padding-right: 0;
    background: #fff;
    box-shadow: 0 0 4px rgba(0, 0, 0, .3)
  }
}

#header .global-nav,
#header .social-nav {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0;
  display: inline-block;
  vertical-align: middle
}

#header .global-nav li.other::before,
#header .social-nav li.other::before {
  display: none
}

#header .global-nav li,
#header .social-nav li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0;
  display: inline-block;
  font-size: 16px;
  white-space: nowrap
}

#header .global-nav .item {
  position: relative;
  margin-left: 5px
}

@media screen and (min-width:0) and (max-width:1199px) {
  #header .global-nav .item {
    margin-left: 0
  }
}

.no-touch #header .global-nav .item a {
  transition: color .3s ease
}

.no-touch .m-backButton,
.no-touch .m-roundButtonL,
.no-touch .m-roundButtonS {
  transition: color .3s ease, background-color .3s ease
}

.no-touch #header .global-nav .item a:hover {
  color: #da2727;
  opacity: 1
}

#header .global-nav .item>a,
#header .global-nav .item>span {
  display: block;
  padding: 20px 18px;
  text-align: center
}

#header .global-nav .item>a,
#header .global-nav .item>a:active,
#header .global-nav .item>a:focus,
#header .global-nav .item>a:hover,
#header .global-nav .item>a:link,
#header .global-nav .item>a:visited,
#header .global-nav .item>span,
#header .global-nav .item>span:active,
#header .global-nav .item>span:focus,
#header .global-nav .item>span:hover,
#header .global-nav .item>span:link,
#header .global-nav .item>span:visited {
  text-decoration: none
}

@media screen and (max-width:768px) {
  #header .global-nav,
  #header .social-nav {
    display: block
  }
  #header .global-nav .item {
    float: none;
    margin-left: 0;
    width: 100%;
    border-bottom: solid 1px #d9d9d9
  }
  #header .global-nav .item a {
    position: relative
  }
  #header .global-nav .item a:before {
    content: '\E902';
    position: absolute;
    right: 5px;
    top: 50%;
    margin-top: -5px;
    font-size: 10px;
    line-height: 1
  }
  #header .global-nav .item>a,
  #header .global-nav .item>span {
    position: relative;
    padding: 12px 10px;
    text-align: left
  }
}

#header .global-nav .item .en,
#header .global-nav .item .ja {
  display: block;
  line-height: 1
}

#header .global-nav .item .en {
  font-size: 1.0625rem;
  font-family: Oswald, Arial, sans-serif;
  font-weight: 700;
  letter-spacing: .16em
}

@media screen and (max-width:768px) {
  #header .global-nav .item .en {
    font-size: .8125rem
  }
}

#header .global-nav .item .ja {
  margin-top: 5px;
  font-size: .6875rem;
  letter-spacing: .08em
}

#header .detail-nav-container {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  padding: 25px;
  background-color: #fff;
  box-shadow: 0 0 18px rgba(0, 0, 0, .2);
  text-align: center;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%)
}

@media screen and (max-width:768px) {
  #header .global-nav .item .ja {
    font-size: .625rem
  }
  #header .detail-nav-container {
    display: -webkit-flex!important;
    display: -ms-flexbox!important;
    display: flex!important;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: static;
    padding: 0;
    width: 100%;
    box-shadow: none;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none
  }
}

#header .detail-nav-container:before {
  content: '';
  position: absolute;
  bottom: calc(100% - 1px);
  left: calc(50% - 10px);
  display: block;
  width: 0;
  height: 0;
  border: 10px solid transparent;
  border-bottom-color: #fff
}

#header .detail-nav-container a {
  display: block;
  text-decoration: none
}

@media screen and (min-width:769px) {
  #header .detail-nav-container a {
    margin-bottom: 10px
  }
  #header .detail-nav-container a:last-child {
    margin-bottom: 0
  }
}

#header .social-nav .item {
  margin-left: 7px
}

@media screen and (max-width:768px) {
  #header .detail-nav-container:before {
    content: none
  }
  #header .detail-nav-container a {
    margin-bottom: 0;
    padding: 12px 10px;
    border-top: solid 1px #d9d9d9;
    width: 50%
  }
  #header .detail-nav-container a:nth-child(even) {
    border-left: solid 1px #d9d9d9
  }
  #header .social-nav {
    width: 100%;
    padding: 9px 0;
    text-align: center
  }
  #header .social-nav .item {
    margin: 0 4px
  }
}

#subpage-header {
  position: relative;
  padding: 120px 0
}

@media screen and (max-width:768px) {
  #subpage-header {
    padding: 30px 0
  }
}

#subpage-header .page-title {
  position: relative;
  padding-bottom: 55px
}

#subpage-header .page-title .en,
#subpage-header .page-title .ja {
  display: block;
  line-height: 1
}

#subpage-header .page-title .en {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 700;
  font-size: 3.75rem;
  letter-spacing: .16em
}

@media screen and (max-width:768px) {
  #subpage-header .page-title {
    padding-bottom: 25px
  }
  #subpage-header .page-title .en {
    font-size: 2rem
  }
}

#subpage-header .page-title .en .sub {
  margin-left: 20px;
  font-size: 66%;
  letter-spacing: .16em;
  color: #6f6f6f
}

#subpage-header .page-title .ja {
  margin-top: 25px;
  font-size: 1.375rem;
  letter-spacing: .12em;
  font-weight: 400
}

#subpage-header .page-title:after {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  content: '';
  width: 107px;
  height: 7px;
  background: #000
}

@media screen and (max-width:768px) {
  #subpage-header .page-title .ja {
    margin-top: 12px;
    font-size: .75rem
  }
  #subpage-header .page-title:after {
    width: 54px;
    height: 4px
  }
}

#subpage-header .page-lead {
  margin-top: 30px;
  font-size: 1rem;
  line-height: 1.93333em
}

#subpage-header .button-action {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 250px
}

@media screen and (max-width:768px) {
  #subpage-header .page-lead {
    margin-top: 15px;
    font-size: .875rem;
    line-height: 1.6
  }
  #subpage-header .button-action {
    top: 75px;
    width: 150px
  }
}

#subpage-header .button-action .button {
  position: relative;
  padding: 0 20px;
  width: 100%;
  height: 50px
}

#subpage-header .button-action .button:before {
  content: '\E902';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  left: auto;
  right: 5%;
  font-size: 10px
}

@media screen and (max-width:768px) {
  #subpage-header .button-action .button {
    height: 30px
  }
  #subpage-header .button-action .button-label {
    padding-top: 0;
    padding-bottom: 0
  }
}

.m-title-underline .label,
.m-title-underline-em .label,
.m-title-underline-strong .label {
  padding-bottom: 5px;
  border-bottom: solid 3px #000
}

.sp-nav-overlay {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, .4);
  z-index: 299
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

.m-arrowLink:before,
.m-backButton:before,
.m-roundButtonL:before {
  font-family: iconfont;
  font-style: normal;
  font-weight: 400;
  text-decoration: none
}

.m-title-section {
  margin-bottom: 50px;
  text-align: center;
  padding-top: 50px
}

.m-title-section .en,
.m-title-section .ja {
  display: block;
  line-height: 1
}

.m-title-section .en {
  font-family: Oswald, Arial, sans-serif;
  font-weight: 700;
  font-size: 2.8125rem;
  letter-spacing: .1em
}

@media screen and (max-width:768px) {
  .m-title-section {
    margin-bottom: 30px
  }
  .m-title-section .en {
    font-size: 1.25rem
  }
}

.m-title-section .ja {
  margin-top: 15px;
  font-size: .9375rem;
  letter-spacing: .12em
}

@media screen and (max-width:768px) {
  .m-title-section .ja {
    margin-top: 10px;
    font-size: .75rem
  }
}

.m-title-section .label {
  font-size: 2.25rem
}

.m-title-section--medium {
  margin-bottom: 40px
}

@media screen and (max-width:768px) {
  .m-title-section .label {
    font-size: 1.375rem
  }
  .m-title-section--medium {
    margin-bottom: 25px
  }
}

.m-title-section--medium .en {
  font-size: 2.1875rem
}

.m-title-section--medium .ja {
  margin-top: 15px;
  font-size: .9375rem;
  font-weight: 400
}

@media screen and (max-width:768px) {
  .m-title-section--medium .en {
    font-size: .9375rem
  }
  .m-title-section--medium .ja {
    margin-top: 5px;
    font-size: .75rem
  }
}

.m-title-section--small {
  margin-bottom: 25px
}

.m-title-section--small .en {
  font-size: 1rem
}

@media screen and (max-width:768px) {
  .m-title-section--small .en {
    font-size: .9375rem
  }
}

.m-title-section--small .ja {
  margin-top: 10px;
  font-size: .875rem;
  font-weight: 400
}

@media screen and (max-width:768px) {
  .m-title-section--small .ja {
    margin-top: 5px;
    font-size: .75rem
  }
  .m-title-section {
    padding-top: 40px
  }
}

.m-title-section--text .en {
  font-size: 2.1875rem;
  line-height: 1.3
}

@media screen and (max-width:768px) {
  .m-title-section--text .en {
    font-size: 1.125rem
  }
  .m-title-section--text .ja {
    line-height: 1.6
  }
}

.s-title-section {
  padding-top: 5px
}

.m-title-underline {
  font-size: .9375rem;
  letter-spacing: .16em
}

@media screen and (max-width:768px) {
  .m-title-underline {
    font-size: .8125rem
  }
}

.m-title-underline .label {
  display: inline-block
}

.m-title-underline-em {
  font-size: 1.125rem;
  letter-spacing: .16em
}

@media screen and (max-width:768px) {
  .m-title-underline-em {
    font-size: 1rem
  }
}

.m-title-underline-em .label {
  display: inline-block
}

.m-title-underline-strong {
  font-size: 2.5rem;
  letter-spacing: .16em
}

.m-text-body,
.m-text-em,
.m-text-note {
  letter-spacing: .04em
}

@media screen and (max-width:768px) {
  .m-title-underline-strong {
    font-size: 1.25rem
  }
}

.m-title-underline-strong .label {
  display: inline-block
}

.m-sub-title {
  font-size: 1.125rem;
  margin: 45px 0 15px
}

.m-text-body {
  font-size: .9375rem;
  line-height: 1.66667em
}

@media screen and (max-width:768px) {
  .m-text-body {
    font-size: .875rem
  }
}

.m-text-note {
  font-size: .8125rem;
  line-height: 1.92308em
}

.m-text-em {
  font-size: .9375rem;
  line-height: 1.66667em
}

.m-backButton .en,
.m-roundButtonL .en,
.m-roundButtonS .en {
  font-family: Oswald, Arial, sans-serif;
  letter-spacing: .14em
}

.m-text-caution {
  color: #da2727
}

.m-circleNum {
  background: #666;
  color: #fff;
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  line-height: 1.5;
  text-align: center;
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 10px
}

.m-box-2:after,
.m-box-3:after,
.m-box-4:after {
  content: "";
  display: table;
  clear: both
}

.m-box {
  padding: 50px;
  background: #fff
}

.m-box-2 {
  margin-right: -20px
}

@media screen and (max-width:768px) {
  .m-text-em {
    font-size: .875rem
  }
  .m-box {
    padding: 20px 15px
  }
  .m-box-2 {
    margin-right: 0
  }
}

.m-box-2 .m-box-item {
  float: left;
  width: calc((100% - 40px)/ 2);
  padding: 20px;
  margin: 0 20px 20px 0;
  background: #fff
}

@media screen and (max-width:768px) {
  .m-box-2 .m-box-item {
    float: none;
    margin: 0 0 15px
  }
}

.m-box-3 {
  margin-right: -20px
}

@media screen and (max-width:768px) {
  .m-box-3 {
    margin-right: 0
  }
}

.m-box-3 .m-box-item {
  float: left;
  width: calc((100% - 60px)/ 3);
  padding: 20px;
  margin: 0 20px 20px 0;
  background: #fff
}

@media screen and (max-width:768px) {
  .m-box-3 .m-box-item {
    float: none;
    margin: 0 0 15px
  }
}

.m-box-4 {
  margin-right: -20px
}

@media screen and (max-width:768px) {
  .m-box-4 {
    margin-right: 0
  }
}

.m-box-4 .m-box-item {
  float: left;
  width: calc((100% - 80px)/ 4);
  padding: 20px;
  margin: 0 20px 20px 0;
  background: #fff
}

@media screen and (max-width:768px) {
  .m-box-4 .m-box-item {
    float: none;
    margin: 0 0 15px
  }
}

.m-pdfLink {
  padding-left: 20px;
  background: url(/contest/assets/img/common/ico_pdf.png) left .2em no-repeat;
  background-size: 15px auto
}

.blankLink a {
  background: url(/contest/assets/img/common/icn_blank.png) left .6em no-repeat;
  padding-left: 20px
}

.m-arrowLink:before {
  content: '\E902';
  font-size: 12px;
  margin-right: 10px
}

.m-arrowLink,
.m-arrowLink:active,
.m-arrowLink:focus,
.m-arrowLink:hover,
.m-arrowLink:link,
.m-arrowLink:visited {
  text-decoration: none
}

@media screen and (max-width:768px) {
  .m-arrowLink:before {
    font-size: 10px;
    margin-right: 5px
  }
}

.m-backButton,
.m-roundButtonL,
.m-roundButtonS {
  margin-right: auto;
  margin-left: auto;
  outline: 0;
  text-align: center;
  text-decoration: none
}

.m-roundButtonL {
  display: inline-block;
  width: 503px;
  height: 112px;
  border-radius: 56px;
  line-height: 1.3;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  background: 0 0;
  border: 2px solid #da2727;
  font-weight: 700;
  position: relative
}

@media screen and (max-width:768px) {
  .m-roundButtonL {
    width: 100%;
    height: auto
  }
  .m-roundButtonL .button-label {
    padding: 1em 0
  }
}

.m-roundButtonL:after {
  display: inline-block;
  content: '';
  width: 0;
  height: 100%;
  vertical-align: middle
}

.m-roundButtonL .button-label {
  display: inline-block;
  vertical-align: middle
}

.m-roundButtonL,
.m-roundButtonL:active,
.m-roundButtonL:focus,
.m-roundButtonL:hover,
.m-roundButtonL:link,
.m-roundButtonL:visited {
  color: #da2727
}

.m-roundButtonL .en,
.m-roundButtonL .ja {
  display: block
}

.m-roundButtonL .en {
  font-weight: 700;
  line-height: 1
}

.m-roundButtonL .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

@media screen and (max-width:768px) {
  .m-roundButtonL .ja {
    margin-top: 8px
  }
}

.no-touch .m-roundButtonL:hover {
  background-color: #da2727;
  color: #fff
}

.m-roundButtonL:before {
  content: '\E902';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 21px;
  left: 5%
}

.m-backButton:after,
.m-roundButtonS:after {
  content: '';
  vertical-align: middle
}

@media screen and (min-width:0px) and (max-width:370px) {
  .m-roundButtonL:before {
    left: 12px;
    font-size: 14px
  }
}

.m-roundButtonL .en {
  font-size: 2.4375rem
}

@media screen and (max-width:768px) {
  .m-roundButtonL .en {
    font-size: 1.375rem
  }
}

.m-roundButtonL .ja {
  font-size: .875rem
}

@media screen and (max-width:768px) {
  .m-roundButtonL .ja {
    font-size: .75rem
  }
}

@media screen and (min-width:0px) and (max-width:370px) {
  .m-roundButtonL .ja {
    font-size: .6875rem
  }
}

.m-roundButtonL.is-disabled {
  color: #afafaf!important;
  border-color: #afafaf!important;
  background: 0 0!important
}

.m-roundButtonS {
  display: inline-block;
  width: auto;
  height: 44px;
  border-radius: 2em;
  line-height: 1.3;
  border: 2px solid #da2727;
  font-weight: 700;
  position: relative;
  padding: 0 21px 0 36px
}

@media screen and (max-width:768px) {
  .m-roundButtonS {
    width: 100%;
    height: auto
  }
  .m-roundButtonS .button-label {
    padding: 1em 0
  }
}

.m-roundButtonS:after {
  display: inline-block;
  width: 0;
  height: 100%
}

.m-roundButtonS .button-label {
  display: inline-block;
  vertical-align: middle
}

.m-roundButtonS,
.m-roundButtonS:active,
.m-roundButtonS:focus,
.m-roundButtonS:hover,
.m-roundButtonS:link,
.m-roundButtonS:visited {
  color: #da2727
}

.m-roundButtonS .en,
.m-roundButtonS .ja {
  display: block
}

.m-roundButtonS .en {
  font-weight: 700;
  line-height: 1
}

.m-roundButtonS .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

@media screen and (max-width:768px) {
  .m-roundButtonS .ja {
    margin-top: 8px
  }
}

.no-touch .m-roundButtonS:hover {
  background-color: #da2727;
  color: #fff
}

.m-roundButtonS:before {
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 10px;
  left: 5%
}

.m-roundButtonS .button-label {
  font-size: .875rem
}

.m-backButton {
  display: inline-block;
  width: 210px;
  height: 44px;
  border-radius: 2em;
  line-height: 1.3;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  background: 0 0;
  border: 2px solid #da2727;
  font-weight: 700;
  position: relative
}

.form-button,
.slick-arrow {
  -webkit-appearance: none;
  -moz-appearance: none
}

@media screen and (max-width:768px) {
  .m-roundButtonS .button-label {
    font-size: .75rem
  }
  .m-backButton {
    width: 100%;
    height: auto
  }
  .m-backButton .button-label {
    padding: 1em 0
  }
}

.m-backButton:after {
  display: inline-block;
  width: 0;
  height: 100%
}

.m-backButton .button-label {
  display: inline-block;
  vertical-align: middle
}

.m-backButton,
.m-backButton:active,
.m-backButton:focus,
.m-backButton:hover,
.m-backButton:link,
.m-backButton:visited {
  color: #da2727
}

.m-backButton .en,
.m-backButton .ja {
  display: block
}

.m-backButton .en {
  font-weight: 700;
  line-height: 1
}

.m-backButton .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

@media screen and (max-width:768px) {
  .m-backButton .ja {
    margin-top: 8px
  }
}

.no-touch .m-backButton:hover {
  background-color: #da2727;
  color: #fff
}

.m-backButton:before {
  content: '\E901';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 14px;
  left: 5%
}

.mfp-arrow:after,
.mfp-arrow:before,
.mfp-container:before,
.mfp-figure:after {
  content: ''
}

.m-backButton .btn-label {
  display: inline-block;
  font-size: .875rem
}

.m-caution-list li.other::before,
.m-circleNum-list li.other::before,
.m-disc-list li.other::before,
ul.pageNav li.other::before {
  display: none
}

.m-data-list dt {
  float: left;
  clear: both;
  margin-right: 20px;
  position: relative;
  background: #da2727;
  color: #fff;
  padding: 3px 0;
  width: 145px;
  text-align: center;
  font-weight: 700;
  letter-spacing: .3em
}

.m-data-list dt:after,
.m-data-list dt:before {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  line-height: 5px;
  border-style: solid
}

.m-data-list dt:before {
  left: 0;
  top: 0;
  border-width: 5px 5px 0 0;
  border-color: #eee transparent transparent
}

.m-data-list dt:after {
  right: 0;
  bottom: 0;
  border-width: 0 0 5px 5px;
  border-color: transparent transparent #eee
}

@media screen and (max-width:768px) {
  .m-backButton .btn-label {
    font-size: .75rem
  }
  .m-data-list dt {
    float: none;
    margin-top: 20px
  }
}

.m-data-list dd {
  overflow: hidden;
  margin: 0 0 20px;
  padding: 3px 0
}

@media screen and (max-width:768px) {
  .m-data-list dd {
    margin: 10px 0 0
  }
}

.m-circleNum-list {
  margin: 0;
  padding: 0;
  list-style: none
}

.m-circleNum-list li {
  margin-left: 0;
  position: relative;
  margin-bottom: 10px;
  padding-left: 40px
}

@media screen and (max-width:768px) {
  .m-circleNum-list li {
    padding-left: 30px
  }
}

.m-circleNum-list li .m-circleNum {
  position: absolute;
  left: 0
}

.mfp-bg,
.mfp-wrap {
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%
}

.m-disc-list {
  margin: 0;
  padding: 0;
  list-style: none
}

.m-disc-list li {
  list-style: disc;
  margin-left: 1.5em
}

.m-caution-list li,
ul.pageNav li {
  margin-left: 0;
  list-style-image: none;
  list-style-type: none
}

.m-caution-list {
  margin: 0;
  padding: 0;
  list-style: none
}

.m-caution-list li {
  padding-left: 1em;
  text-indent: -1em
}

ul.pageNav {
  margin: 0;
  padding: 0;
  list-style: none;
  letter-spacing: -.4em
}

ul.pageNav li {
  display: inline-block;
  letter-spacing: normal;
  margin-right: 15px
}

ul.pageNav li:last-child {
  margin-right: 0
}

ul.pageNav li a {
  display: block;
  background: url(/contest/assets/img/common/ico_arw_nav.png) 1.5em center no-repeat #000;
  color: #fff;
  text-decoration: none
}

@media screen and (max-width:768px) {
  ul.pageNav li {
    display: block;
    margin-right: 0;
    margin-top: 5px
  }
  ul.pageNav li:first-child {
    margin-top: 0
  }
  ul.pageNav li a {
    padding: 10px 10px 10px 36px;
    background-position: 1em center;
    background-size: 6px auto
  }
}

.m-anchor {
  margin-top: -73px;
  padding-top: 73px
}

@media screen and (max-width:768px) {
  .m-anchor {
    margin-top: -47px;
    padding-top: 47px
  }
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

.mfp-bg {
  z-index: 1042;
  overflow: hidden;
  opacity: .65
}

.mfp-wrap {
  z-index: 1043;
  outline: 0!important
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px
}

.mfp-container:before {
  display: inline-block;
  height: 100%;
  vertical-align: middle
}

.mfp-align-top .mfp-container:before {
  display: none
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045
}

.mfp-close,
.mfp-preloader {
  text-align: center;
  position: absolute
}

.mfp-ajax-holder .mfp-content,
.mfp-inline-holder .mfp-content {
  width: 100%;
  cursor: auto
}

.mfp-ajax-cur {
  cursor: progress
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -webkit-zoom-out;
  cursor: zoom-out
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: zoom-in
}

.mfp-auto-cursor .mfp-content {
  cursor: auto
}

.mfp-arrow,
.mfp-close,
.mfp-counter,
.mfp-preloader {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.mfp-loading.mfp-figure {
  display: none
}

.mfp-hide {
  display: none!important
}

.mfp-preloader {
  color: #CCC;
  top: 50%;
  width: auto;
  margin-top: -.8em;
  left: 8px;
  right: 8px;
  z-index: 1044
}

.mfp-preloader a {
  color: #CCC
}

.mfp-preloader a:hover {
  color: #FFF
}

.mfp-s-error .mfp-content,
.mfp-s-ready .mfp-preloader {
  display: none
}

button.mfp-arrow,
button.mfp-close {
  overflow: visible;
  cursor: pointer;
  background: 0 0;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: 0;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  -ms-touch-action: manipulation;
  touch-action: manipulation
}

button::-moz-focus-inner {
  padding: 0;
  border: 0
}

div.mfp-close {
  display: none
}

.mfp-close {
  line-height: 44px;
  right: -24px;
  top: -24px;
  text-decoration: none;
  padding: 0 0 18px 10px;
  font-style: normal;
  font-family: Arial, Baskerville, monospace;
  opacity: 1;
  display: block;
  width: 48px;
  height: 48px;
  background: #000!important;
  color: #fff;
  font-size: 40px;
  border-radius: 50%
}

.mfp-arrow:focus,
.mfp-arrow:hover,
.mfp-close:hover {
  opacity: .7
}

@media screen and (max-width:768px) {
  .mfp-close {
    right: -15px;
    top: -20px;
    width: 40px;
    height: 40px;
    line-height: 34px;
    font-size: 34px
  }
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap
}

.mfp-figure,
img.mfp-img {
  line-height: 0
}

.mfp-arrow {
  position: absolute;
  margin: -55px 0 0;
  top: 50%;
  padding: 0;
  width: 90px;
  height: 110px
}

.mfp-arrow:after,
.mfp-arrow:before {
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: inset transparent
}

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px
}

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: .7
}

.mfp-arrow-left {
  left: -80px
}

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px
}

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F
}

.mfp-arrow-right {
  right: -80px
}

@media screen and (max-width:768px) {
  .mfp-arrow-left {
    left: 0
  }
  .mfp-arrow-right {
    right: 0
  }
}

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px
}

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0;
  background: #000
}

.mfp-figure:after,
img.mfp-img {
  width: auto;
  height: auto;
  display: block
}

img.mfp-img {
  padding: 40px 0;
  margin: 0 auto
}

.mfp-figure:after {
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  right: 0;
  z-index: -1;
  box-shadow: 0;
  background: #444
}

.entryNav:after,
.methodSection .flow-step-inner:after,
.methodSection .flow:after,
.methodSection .m-box:after,
.slick-track:after,
.slick-track:before {
  content: ""
}

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px
}

.mfp-figure figure {
  margin: 0
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer
}

@media screen and (max-width:800px) and (orientation:landscape),
screen and (max-height:300px) {
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, .6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px
  }
}

.slick-list,
.slick-slider,
.slick-track {
  position: relative;
  display: block
}

@media all and (max-width:900px) {
  .mfp-arrow {
    -webkit-transform: scale(.75);
    -ms-transform: scale(.75);
    transform: scale(.75)
  }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    -ms-transform-origin: 0;
    transform-origin: 0
  }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    -ms-transform-origin: 100%;
    transform-origin: 100%
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px
  }
}

.mfp-no-margins img.mfp-img {
  padding: 0
}

.mfp-no-margins .mfp-figure:after {
  top: 0;
  bottom: 0
}

.mfp-no-margins .mfp-container {
  padding: 15px
}

.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
  opacity: 0;
  transition: all .3s ease-out
}

.mfp-with-zoom.mfp-ready .mfp-container {
  opacity: 1
}

.mfp-with-zoom.mfp-ready.mfp-bg {
  opacity: .65
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
  opacity: 0
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

@-o-keyframes fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

.mfp-open .mfp-figure {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: .8s;
  animation-duration: .8s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden
}

.mfp-fade.mfp-bg {
  opacity: 0;
  transition: all .15s ease-out
}

.mfp-fade.mfp-bg.mfp-ready {
  opacity: .65
}

.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0
}

.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  transition: all .15s ease-out
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0
}

.slick-slider {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y
}

.slick-list {
  overflow: hidden;
  margin: 0;
  padding: 0
}

.slick-list:focus {
  outline: 0
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

.slick-track {
  left: 0;
  top: 0
}

.slick-track:after,
.slick-track:before {
  display: table
}

.slick-track:after {
  clear: both
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none
}

[dir=rtl] .slick-slide {
  float: right
}

.slick-slide img {
  display: block
}

.slick-slide.slick-loading img {
  display: none
}

.slick-slide.dragging img {
  pointer-events: none
}

.slick-initialized .slick-slide {
  display: block
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent
}

.slick-arrow.slick-hidden,
.slick-dots li.other::before {
  display: none
}

.slick-dots {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  font-size: 0;
  text-align: center
}

.slick-dots li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0
}

@media screen and (max-width:768px) {
  .slick-dots {
    margin-top: 10px
  }
}

.slick-dots li {
  display: inline-block;
  font-size: 16px;
  white-space: nowrap;
  margin: 0 6px
}

.slick-dots li.slick-active button {
  background: #000
}

.slick-dots button {
  border: 0;
  background: #ccc;
  display: block;
  height: 10px;
  width: 10px;
  outline: 0;
  line-height: 0;
  font-size: 0;
  color: transparent;
  border-radius: 50%;
  margin: 0;
  padding: 0
}

.slick-arrow {
  position: absolute;
  top: 50%;
  width: 38px;
  height: 75px;
  appearance: none;
  padding: 0;
  border: 0;
  outline: 0;
  background: 0 0;
  color: transparent;
  margin-top: -37px;
  z-index: 290
}

@media screen and (max-width:768px) {
  .slick-arrow {
    width: 24px;
    height: 47px;
    margin-top: -23px;
    background-size: 24px auto!important
  }
}

.slick-prev {
  left: 0;
  background: url(/contest/assets/img/common/arrow_round_l.png) left top no-repeat;
  background-size: 38px
}

.slick-next {
  right: 0;
  background: url(/contest/assets/img/common/arrow_round_r.png) left top no-repeat;
  background-size: 38px
}

.slick-slider * {
  outline: 0!important
}

.scroll-area .mCSB_scrollTools {
  width: 5px
}

.scroll-area .mCSB_scrollTools .mCSB_draggerRail {
  width: 5px;
  background: #d9d9d9
}

.scroll-area .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 5px;
  border-radius: 0;
  background: #da2727!important
}

span.customSelect {
  font-size: 1.0625rem;
  line-height: 1.2;
  background: url(/contest/assets/img/common/customselect_bg.png) right center no-repeat #fff;
  background-size: 39px auto;
  border: 1px solid #d9d9d9;
  padding: 10px 50px 10px 15px;
  width: 13em;
  color: #afafaf
}

@media screen and (max-width:768px) {
  span.customSelect {
    padding: 10px 40px 10px 10px;
    font-size: .8125rem;
    background-size: 30px auto
  }
  .mfp-iframe-holder .mfp-close {
    right: -4px
  }
}

span.customSelect.customSelectChanged {
  color: #000
}

span.customSelect.customSelectHover {
  background-color: #f5f5f5
}

span.customSelect.customSelectDisabled {
  background-color: #f5f5f5;
  color: #aaa
}

span.customSelect .customSelectInner {
  width: 100%!important
}

.mfp-bg {
  background: #000
}

.mfp-iframe-holder .mfp-close {
  top: -24px
}

.mfp-iframe-holder .mfp-close:hover {
  opacity: 1
}

.mfp-iframe-holder .mfp-content {
  max-width: 1200px
}

.mCustomScrollbar {
  -ms-touch-action: pinch-zoom;
  touch-action: pinch-zoom
}

.mCustomScrollbar.mCS_no_scrollbar,
.mCustomScrollbar.mCS_touch_action {
  -ms-touch-action: auto;
  touch-action: auto
}

.mCustomScrollBox {
  position: relative;
  overflow: hidden;
  height: 100%;
  max-width: 100%;
  outline: 0;
  direction: ltr
}

.mCSB_container {
  overflow: hidden;
  width: auto;
  height: auto
}

.mCSB_inside>.mCSB_container {
  margin-right: 30px
}

.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-right: 0
}

.mCS-dir-rtl>.mCSB_inside>.mCSB_container {
  margin-right: 0;
  margin-left: 30px
}

.mCS-dir-rtl>.mCSB_inside>.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-left: 0
}

.mCSB_scrollTools {
  position: absolute;
  width: 16px;
  height: auto;
  left: auto;
  top: 0;
  right: 0;
  bottom: 0;
  opacity: .75;
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)"
}

.mCSB_outside+.mCSB_scrollTools {
  right: -26px
}

.mCS-dir-rtl>.mCSB_inside>.mCSB_scrollTools,
.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools {
  right: auto;
  left: 0
}

.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools {
  left: -26px
}

.mCSB_scrollTools .mCSB_draggerContainer {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: auto
}

.mCSB_scrollTools a+.mCSB_draggerContainer {
  margin: 20px 0
}

.mCSB_scrollTools .mCSB_draggerRail {
  width: 2px;
  height: 100%;
  margin: 0 auto;
  -webkit-border-radius: 16px;
  -moz-border-radius: 16px;
  border-radius: 16px
}

.mCSB_scrollTools .mCSB_dragger {
  cursor: pointer;
  width: 100%;
  height: 30px;
  z-index: 1
}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  position: relative;
  width: 4px;
  height: 100%;
  margin: 0 auto;
  -webkit-border-radius: 16px;
  -moz-border-radius: 16px;
  border-radius: 16px;
  text-align: center
}

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  width: 12px
}

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 8px
}

.mCSB_scrollTools .mCSB_buttonDown,
.mCSB_scrollTools .mCSB_buttonUp {
  display: block;
  position: absolute;
  height: 20px;
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
  cursor: pointer
}

.mCSB_scrollTools .mCSB_buttonDown {
  bottom: 0
}

.mCSB_horizontal.mCSB_inside>.mCSB_container {
  margin-right: 0;
  margin-bottom: 30px
}

.mCSB_horizontal.mCSB_outside>.mCSB_container {
  min-height: 100%
}

.mCSB_horizontal>.mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden {
  margin-bottom: 0
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal {
  width: auto;
  height: 16px;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0
}

.mCustomScrollBox+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox+.mCSB_scrollTools.mCSB_scrollTools_horizontal {
  bottom: -26px
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal a+.mCSB_draggerContainer {
  margin: 0 20px
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 2px;
  margin: 7px 0
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 30px;
  height: 100%;
  left: 0
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 4px;
  margin: 6px auto
}

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  height: 12px;
  margin: 2px auto
}

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 8px;
  margin: 4px 0
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft,
.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight {
  display: block;
  position: absolute;
  width: 20px;
  height: 100%;
  overflow: hidden;
  margin: 0 auto;
  cursor: pointer
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft {
  left: 0
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight {
  right: 0
}

.mCSB_container_wrapper {
  position: absolute;
  height: auto;
  width: auto;
  overflow: hidden;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin-right: 30px;
  margin-bottom: 30px
}

.mCSB_container_wrapper>.mCSB_container {
  padding-right: 30px;
  padding-bottom: 30px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box
}

.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_vertical {
  bottom: 20px
}

.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_horizontal {
  right: 20px
}

.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden+.mCSB_scrollTools.mCSB_scrollTools_vertical {
  bottom: 0
}

.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools~.mCSB_scrollTools.mCSB_scrollTools_horizontal {
  right: 0
}

.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal {
  left: 20px
}

.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools~.mCSB_scrollTools.mCSB_scrollTools_horizontal {
  left: 0
}

.mCS-dir-rtl>.mCSB_inside>.mCSB_container_wrapper {
  margin-right: 0;
  margin-left: 30px
}

.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden>.mCSB_container {
  padding-right: 0
}

.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden>.mCSB_container {
  padding-bottom: 0
}

.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-right: 0;
  margin-left: 0
}

.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden {
  margin-bottom: 0
}

.mCSB_scrollTools,
.mCSB_scrollTools .mCSB_buttonDown,
.mCSB_scrollTools .mCSB_buttonLeft,
.mCSB_scrollTools .mCSB_buttonRight,
.mCSB_scrollTools .mCSB_buttonUp,
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  -webkit-transition: opacity .2s ease-in-out, background-color .2s ease-in-out;
  -moz-transition: opacity .2s ease-in-out, background-color .2s ease-in-out;
  -o-transition: opacity .2s ease-in-out, background-color .2s ease-in-out;
  transition: opacity .2s ease-in-out, background-color .2s ease-in-out
}

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar {
  -webkit-transition: width .2s ease-out .2s, height .2s ease-out .2s, margin-left .2s ease-out .2s, margin-right .2s ease-out .2s, margin-top .2s ease-out .2s, margin-bottom .2s ease-out .2s, opacity .2s ease-in-out, background-color .2s ease-in-out;
  -moz-transition: width .2s ease-out .2s, height .2s ease-out .2s, margin-left .2s ease-out .2s, margin-right .2s ease-out .2s, margin-top .2s ease-out .2s, margin-bottom .2s ease-out .2s, opacity .2s ease-in-out, background-color .2s ease-in-out;
  -o-transition: width .2s ease-out .2s, height .2s ease-out .2s, margin-left .2s ease-out .2s, margin-right .2s ease-out .2s, margin-top .2s ease-out .2s, margin-bottom .2s ease-out .2s, opacity .2s ease-in-out, background-color .2s ease-in-out;
  transition: width .2s ease-out .2s, height .2s ease-out .2s, margin-left .2s ease-out .2s, margin-right .2s ease-out .2s, margin-top .2s ease-out .2s, margin-bottom .2s ease-out .2s, opacity .2s ease-in-out, background-color .2s ease-in-out
}

.no-touch .back-button,
.no-touch .form-button {
  transition: color .3s ease, background-color .3s ease
}

.mCS-autoHide>.mCustomScrollBox>.mCSB_scrollTools,
.mCS-autoHide>.mCustomScrollBox~.mCSB_scrollTools {
  opacity: 0;
  filter: "alpha(opacity=0)";
  -ms-filter: "alpha(opacity=0)"
}

.mCS-autoHide:hover>.mCustomScrollBox>.mCSB_scrollTools,
.mCS-autoHide:hover>.mCustomScrollBox~.mCSB_scrollTools,
.mCustomScrollBox:hover>.mCSB_scrollTools,
.mCustomScrollBox:hover~.mCSB_scrollTools,
.mCustomScrollbar>.mCustomScrollBox>.mCSB_scrollTools.mCSB_scrollTools_onDrag,
.mCustomScrollbar>.mCustomScrollBox~.mCSB_scrollTools.mCSB_scrollTools_onDrag {
  opacity: 1;
  filter: "alpha(opacity=100)";
  -ms-filter: "alpha(opacity=100)"
}

.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, .4);
  filter: "alpha(opacity=40)";
  -ms-filter: "alpha(opacity=40)"
}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, .75);
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)"
}

.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, .85);
  filter: "alpha(opacity=85)";
  -ms-filter: "alpha(opacity=85)"
}

.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, .9);
  filter: "alpha(opacity=90)";
  -ms-filter: "alpha(opacity=90)"
}

.mCSB_scrollTools .mCSB_buttonDown,
.mCSB_scrollTools .mCSB_buttonLeft,
.mCSB_scrollTools .mCSB_buttonRight,
.mCSB_scrollTools .mCSB_buttonUp {
  background-image: url(/contest/assets/img/common/mCSB_buttons.png);
  background-repeat: no-repeat;
  opacity: .4;
  filter: "alpha(opacity=40)";
  -ms-filter: "alpha(opacity=40)"
}

.mCSB_scrollTools .mCSB_buttonUp {
  background-position: 0 0
}

.mCSB_scrollTools .mCSB_buttonDown {
  background-position: 0 -20px
}

.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: 0 -40px
}

.mCSB_scrollTools .mCSB_buttonRight {
  background-position: 0 -56px
}

.mCSB_scrollTools .mCSB_buttonDown:hover,
.mCSB_scrollTools .mCSB_buttonLeft:hover,
.mCSB_scrollTools .mCSB_buttonRight:hover,
.mCSB_scrollTools .mCSB_buttonUp:hover {
  opacity: .75;
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)"
}

.mCSB_scrollTools .mCSB_buttonDown:active,
.mCSB_scrollTools .mCSB_buttonLeft:active,
.mCSB_scrollTools .mCSB_buttonRight:active,
.mCSB_scrollTools .mCSB_buttonUp:active {
  opacity: .9;
  filter: "alpha(opacity=90)";
  -ms-filter: "alpha(opacity=90)"
}

.mCS-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, .15)
}

.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .75)
}

.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: rgba(0, 0, 0, .85)
}

.mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: rgba(0, 0, 0, .9)
}

.mCS-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px 0
}

.mCS-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -20px
}

.mCS-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -40px
}

.mCS-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -56px
}

.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail,
.mCS-light-2.mCSB_scrollTools .mCSB_draggerRail {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, .1);
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px
}

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, .75);
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px
}

.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 4px;
  margin: 6px auto
}

.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, .85)
}

.mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, .9)
}

.mCS-light-2.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px 0
}

.mCS-light-2.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -20px
}

.mCS-light-2.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -40px
}

.mCS-light-2.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -56px
}

.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, .1);
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px
}

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .75);
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px
}

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .85)
}

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .9)
}

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px 0
}

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -20px
}

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -40px
}

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -56px
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail,
.mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, .1);
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, .75);
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px
}

.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 4px;
  margin: 6px 0
}

.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 6px;
  margin: 5px auto
}

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, .85)
}

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, .9)
}

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -16px 0
}

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -16px -20px
}

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -20px -40px
}

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -20px -56px
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, .1);
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .75);
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .85)
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .9)
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -96px 0
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -96px -20px
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -100px -40px
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -100px -56px
}

.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, .1)
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 2px
}

.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%
}

.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 2px;
  margin: 7px auto
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, .15)
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .75)
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .85)
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .9)
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px 0
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -20px
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -40px
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -56px
}

.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, .15)
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded.mCSB_scrollTools .mCSB_dragger {
  height: 14px
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 14px;
  margin: 0 1px
}

.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 14px
}

.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 14px;
  margin: 1px 0
}

.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  width: 16px;
  height: 16px;
  margin: -1px 0
}

.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,
.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 4px
}

.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  height: 16px;
  width: 16px;
  margin: 0 -1px
}

.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,
.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 4px;
  margin: 6px 0
}

.mCS-rounded.mCSB_scrollTools .mCSB_buttonUp {
  background-position: 0 -72px
}

.mCS-rounded.mCSB_scrollTools .mCSB_buttonDown {
  background-position: 0 -92px
}

.mCS-rounded.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: 0 -112px
}

.mCS-rounded.mCSB_scrollTools .mCSB_buttonRight {
  background-position: 0 -128px
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .75)
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, .15)
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .85)
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .9)
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px -72px
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -92px
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -112px
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -128px
}

.mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail,
.mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail {
  width: 4px
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  background-color: transparent;
  background-position: center
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg==);
  background-repeat: repeat-y;
  opacity: .3;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)"
}

.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  height: 4px;
  margin: 6px 0;
  background-repeat: repeat-x
}

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -16px -72px
}

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -16px -92px
}

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -20px -112px
}

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -20px -128px
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII=)
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -96px -72px
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -96px -92px
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -100px -112px
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -100px -128px
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-repeat: repeat-y;
  background-image: -moz-linear-gradient(left, rgba(255, 255, 255, .5) 0, rgba(255, 255, 255, 0) 100%);
  background-image: -webkit-gradient(linear, left top, right top, color-stop(0, rgba(255, 255, 255, .5)), color-stop(100%, rgba(255, 255, 255, 0)));
  background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, .5) 0, rgba(255, 255, 255, 0) 100%);
  background-image: -o-linear-gradient(left, rgba(255, 255, 255, .5) 0, rgba(255, 255, 255, 0) 100%);
  background-image: -ms-linear-gradient(left, rgba(255, 255, 255, .5) 0, rgba(255, 255, 255, 0) 100%);
  background-image: linear-gradient(to right, rgba(255, 255, 255, .5) 0, rgba(255, 255, 255, 0) 100%)
}

.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  background-repeat: repeat-x;
  background-image: -moz-linear-gradient(top, rgba(255, 255, 255, .5) 0, rgba(255, 255, 255, 0) 100%);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, rgba(255, 255, 255, .5)), color-stop(100%, rgba(255, 255, 255, 0)));
  background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, .5) 0, rgba(255, 255, 255, 0) 100%);
  background-image: -o-linear-gradient(top, rgba(255, 255, 255, .5) 0, rgba(255, 255, 255, 0) 100%);
  background-image: -ms-linear-gradient(top, rgba(255, 255, 255, .5) 0, rgba(255, 255, 255, 0) 100%);
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, .5) 0, rgba(255, 255, 255, 0) 100%)
}

.mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger,
.mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger {
  height: 70px
}

.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 70px
}

.mCS-3d-dark.mCSB_scrollTools,
.mCS-3d.mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)"
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_draggerRail {
  -webkit-border-radius: 16px;
  -moz-border-radius: 16px;
  border-radius: 16px
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-3d.mCSB_scrollTools .mCSB_draggerRail {
  width: 8px;
  background-color: #000;
  background-color: rgba(0, 0, 0, .2);
  box-shadow: inset 1px 0 1px rgba(0, 0, 0, .5), inset -1px 0 1px rgba(255, 255, 255, .2)
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #555
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 8px
}

.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 8px;
  margin: 4px 0;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .5), inset 0 -1px 1px rgba(255, 255, 255, .2)
}

.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 8px;
  margin: 4px auto
}

.mCS-3d.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px
}

.mCS-3d.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px
}

.mCS-3d.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px
}

.mCS-3d.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, .1);
  box-shadow: inset 1px 0 1px rgba(0, 0, 0, .1)
}

.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .1)
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px
}

.mCS-3d-thick-dark.mCSB_scrollTools,
.mCS-3d-thick.mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)"
}

.mCS-3d-thick-dark.mCSB_scrollTools,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer,
.mCS-3d-thick.mCSB_scrollTools,
.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer {
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  border-radius: 7px
}

.mCSB_inside+.mCS-3d-thick-dark.mCSB_scrollTools_vertical,
.mCSB_inside+.mCS-3d-thick.mCSB_scrollTools_vertical {
  right: 1px
}

.mCS-3d-thick-dark.mCSB_scrollTools_vertical,
.mCS-3d-thick.mCSB_scrollTools_vertical {
  box-shadow: inset 1px 0 1px rgba(0, 0, 0, .1), inset 0 0 14px rgba(0, 0, 0, .5)
}

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal,
.mCS-3d-thick.mCSB_scrollTools_horizontal {
  bottom: 1px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .1), inset 0 0 14px rgba(0, 0, 0, .5)
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, .4);
  width: 12px;
  margin: 2px;
  position: absolute;
  height: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0
}

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4);
  height: 12px;
  width: auto
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #555
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer {
  background-color: #000;
  background-color: rgba(0, 0, 0, .05);
  box-shadow: inset 1px 1px 16px rgba(0, 0, 0, .1)
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px
}

.mCS-3d-thick-dark.mCSB_scrollTools {
  box-shadow: inset 0 0 14px rgba(0, 0, 0, .2)
}

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .1), inset 0 0 14px rgba(0, 0, 0, .2)
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, .4), inset -1px 0 0 rgba(0, 0, 0, .2)
}

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), inset 0 -1px 0 rgba(0, 0, 0, .2)
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #777
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer {
  background-color: #fff;
  background-color: rgba(0, 0, 0, .05);
  box-shadow: inset 1px 1px 16px rgba(0, 0, 0, .1)
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-minimal.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px
}

.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical,
.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical {
  right: 0;
  margin: 12px 0
}

.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools.mCSB_scrollTools_horizontal {
  bottom: 0;
  margin: 0 12px
}

.mCS-dir-rtl>.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical,
.mCS-dir-rtl>.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical {
  left: 0;
  right: auto
}

.mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger,
.mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger {
  height: 50px
}

.mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 50px
}

.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, .2);
  filter: "alpha(opacity=20)";
  -ms-filter: "alpha(opacity=20)"
}

.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, .5);
  filter: "alpha(opacity=50)";
  -ms-filter: "alpha(opacity=50)"
}

.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .2);
  filter: "alpha(opacity=20)";
  -ms-filter: "alpha(opacity=20)"
}

.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .5);
  filter: "alpha(opacity=50)";
  -ms-filter: "alpha(opacity=50)"
}

.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail,
.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail {
  width: 6px;
  background-color: #000;
  background-color: rgba(0, 0, 0, .2)
}

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px
}

.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 6px;
  margin: 5px 0
}

.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,
.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 12px
}

.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,
.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 12px;
  margin: 2px 0
}

.mCS-light-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px
}

.mCS-light-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px
}

.mCS-light-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px
}

.mCS-light-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px
}

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .75)
}

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .85)
}

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .9)
}

.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, .1)
}

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px
}

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px
}

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px
}

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset.mCSB_scrollTools .mCSB_draggerRail {
  width: 12px;
  background-color: #000;
  background-color: rgba(0, 0, 0, .2)
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px;
  margin: 3px 5px;
  position: absolute;
  height: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0
}

.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 6px;
  margin: 5px 3px;
  position: absolute;
  width: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0
}

.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 12px;
  margin: 2px 0
}

.mCS-inset-2.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px
}

.mCS-inset-2.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px
}

.mCS-inset-2.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px
}

.mCS-inset-2.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .75)
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .85)
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .9)
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, .1)
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent;
  border-width: 1px;
  border-style: solid;
  border-color: #fff;
  border-color: rgba(255, 255, 255, .2);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail {
  border-color: #000;
  border-color: rgba(0, 0, 0, .2)
}

.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, .6)
}

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, .6)
}

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .75)
}

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .85)
}

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, .9)
}

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, .75)
}

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, .85)
}

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, .9)
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

#entry #contents .announce {
  margin-bottom: 30px
}

#entry #contents .appform-announce {
  margin-bottom: 70px
}

#entry #contents .appform-announce input.text {
  width: 50%
}

#entry #contents .appform-announce .actionList {
  margin-top: 30px
}

#entry #contents .announceText {
  margin: 50px 0 -20px
}

@media screen and (max-width:768px) {
  #entry #contents .appform-announce input.text {
    width: 100%
  }
  #entry #contents .announceText {
    margin-bottom: -20px
  }
}

.entryNav {
  margin: 0 0 0 50px;
  padding: 0;
  list-style: none
}

.entryNav:after {
  display: table;
  clear: both
}

.entryNav li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0
}

.entryNav li.other::before {
  display: none
}

.entryNav--top {
  margin-bottom: 20px
}

.entryNav--btm {
  margin-top: 50px
}

.entryNav .item {
  float: left;
  margin-right: 50px;
  width: 485px
}

@media screen and (max-width:768px) {
  .entryNav {
    margin-left: 0
  }
  .entryNav--btm {
    margin-top: 30px
  }
  .entryNav .item {
    width: auto;
    float: none;
    margin: 0 0 10px
  }
}

.entryNav .m-roundButtonL {
  width: 100%
}

.methodSection .m-box:after {
  display: table;
  clear: both
}

.methodSection .flow {
  margin: 0;
  padding: 0;
  list-style: none
}

.methodSection .flow li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0
}

.methodSection .flow li.other::before {
  display: none
}

.methodSection .flow:after {
  display: table;
  clear: both
}

.methodSection .flow .flow-step {
  border: 3px solid #dcdcdc;
  background: #fff;
  text-align: center;
  padding-bottom: 25px
}

@media screen and (max-width:768px) {
  .methodSection .flow .flow-step {
    padding-bottom: 0
  }
}

.methodSection .flow .flow-step .title {
  position: relative;
  margin-bottom: 25px;
  padding: 20px 10px;
  font-size: 1.125rem;
  border-bottom: solid 2px #dcdcdc
}

@media screen and (max-width:768px) {
  .methodSection .flow .flow-step .title {
    padding: 15px 10px;
    font-size: 1rem
  }
}

.methodSection .flow .flow-step .title .m-circleNum {
  position: absolute;
  left: -10px;
  top: -10px;
  background: #218ac8;
  font-size: 1.5625rem;
  font-family: Oswald, Arial, sans-serif;
  font-weight: 700;
  line-height: 46px;
  height: 46px;
  width: 46px
}

@media screen and (max-width:768px) {
  .methodSection .flow .flow-step .title .m-circleNum {
    -webkit-transform: scale(.8);
    -ms-transform: scale(.8);
    transform: scale(.8);
    left: -13px;
    top: -23px
  }
  .methodSection .flow .flow-step .img img {
    height: 100px;
    width: auto
  }
}

.methodSection .flow .flow-step .desc {
  margin: 20px 2px 0;
  font-size: .8125rem
}

@media screen and (min-width:0) and (max-width:370px) {
  .methodSection .flow .flow-step .desc br {
    display: none
  }
}

.methodSection .flow .flow-step01 {
  float: left;
  width: 330px
}

@media screen and (max-width:768px) {
  .methodSection .flow .flow-step01 {
    float: none;
    width: auto;
    padding-bottom: 20px;
    margin-bottom: 20px
  }
}

.methodSection .flow .flow-step02 {
  float: right;
  width: 670px
}

@media screen and (max-width:768px) {
  .methodSection .flow .flow-step02 {
    float: none;
    width: auto
  }
  .methodSection .flow .flow-step02 .title {
    margin-bottom: 0
  }
}

.methodSection .flow-step-inner {
  margin: 0;
  padding: 0;
  list-style: none
}

.methodSection .flow-step-inner:after {
  display: table;
  clear: both
}

.methodSection .flow-step-inner li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0;
  float: left;
  width: 50%;
  text-align: center
}

.methodSection .flow-step-inner li.other::before {
  display: none
}

.methodSection .flow-step-inner li.step02 {
  border-left: solid 1px #dcdcdc
}

.videoGuidelineSection {
  padding-top: 50px;
  margin-bottom: 50px
}

@media screen and (max-width:768px) {
    .videoGuidelineSection {
        padding-top: 0
    }
}

.guidelineCaution {
  margin-top: 20px
}

.guidelineCaution .title {
  font-size: .9375rem;
  margin-bottom: 20px;
  font-style: italic;
  letter-spacing: .16em
}

@media screen and (max-width:768px) {
  .methodSection .flow-step-inner li {
    float: none;
    width: auto;
    padding: 20px 10px
  }
  .methodSection .flow-step-inner li.step02 {
    border-top: solid 1px #dcdcdc;
    border-right: none
  }
  .guidelineCaution {
    margin-top: 20px
  }
  .guidelineCaution .title {
    font-size: .8125rem
  }
}

.guidelineCaution .title .label {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: solid 3px #000
}

.cautionList {
  margin: 10px 0 0;
  padding: 0;
  list-style: none
}

.cautionList li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0;
  padding-left: 0
}

.cautionList li.other::before {
  display: none
}

.videoGuidelineSection p.lead {
  padding: 0 0 1.5em
}

.videoGuidelineSection dl.guideline {
  font-weight: 700;
  padding: 0 0 .3em
}

.videoGuidelineSection dl.guideline dt {
  display: inline-block;
  overflow: hidden;
  width: 8em;
  white-space: nowrap
}

@media screen and (max-width:768px) {
  .videoGuidelineSection dl.guideline dt {
    background: #2e2e2e;
    color: #fff;
    margin-bottom: 5px;
    padding: 3px 8px;
    width: 6em;
    text-align: center
  }
}

.videoGuidelineSection dl.guideline dd p .quot,
.w-line {
  color: #da2727
}

.ieOld .videoGuidelineSection dl.guideline dt {
  display: inline;
  zoom: 1
}

.videoGuidelineSection dl.guideline dd {
  display: inline-block;
  vertical-align: top;
  padding: 0 0 0 .5em;
  margin-left: 0
}

@media screen and (max-width:768px) {
  .videoGuidelineSection dl.guideline dd {
    padding-top: 3px
  }
}

.w-line {
  border-bottom: double
}

.ieOld .videoGuidelineSection dl.guideline dd {
  display: inline;
  zoom: 1
}

.videoGuidelineSection dl.guideline dd .cautionList li li.other::before,
.videoGuidelineSection dl.guideline dd .cautionList li.other::before,
.videoGuidelineSection dl.guideline dd .question li.other::before,
.videoGuidelineSection ul.note li.other::before {
  display: none
}

.videoGuidelineSection dl.guideline dd .cautionList {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: 400
}

.videoGuidelineSection dl.guideline dd .cautionList li {
  margin: 0;
  list-style: none;
  padding: 0 0 0 1.7em;
  text-indent: -1.8em
}

.videoGuidelineSection dl.guideline dd .cautionList li li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0
}

.videoGuidelineSection dl.guideline dd .cautionList li span {
  font-weight: 700
}

.videoGuidelineSection dl.guideline dd .question {
  line-height: 1.8;
  font-weight: 400;
  margin: 0;
  padding: 0;
  list-style: none
}

.videoGuidelineSection dl.guideline dd .question li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0;
  padding: 1em 0 1.5em 1.7em;
  text-indent: -1.8em;
  font-size: 1.0625rem
}

.videoGuidelineSection ul.note {
  margin: 0;
  list-style: none;
  padding: .8em 0 0
}

.videoGuidelineSection ul.note li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0;
  padding: 0 0 0 1.2em;
  text-indent: -1.3em
}

@media screen and (max-width:768px) {
  .videoGuidelineSection dl.videoContent dd {
    display: block;
    padding: 0
  }
  .videoGuidelineSection dl.guideline dd .cautionList {
    margin: 0;
    padding: 5px 0 0;
    list-style: none
  }
  .videoGuidelineSection dl.guideline dd .cautionList li {
    list-style-image: none;
    list-style-type: none;
    margin-left: 0
  }
  .videoGuidelineSection dl.guideline dd .cautionList li.other::before {
    display: none
  }
}

.btn {
  padding: 0 0 48px;
  text-align: center
}

.comingSoon {
  font-size: 1.5rem;
  font-weight: 700;
  padding: 50px 0;
  text-align: center
}

@media screen and (max-width:768px) {
  .comingSoon {
    font-size: 1rem;
    font-weight: 700;
    padding: 20px 0
  }
  .comingSoon img {
    width: 60%
  }
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

.faq-option-btn.is-open:before,
.faq-option-btn:before {
  font-family: iconfont;
  font-style: normal;
  font-weight: 400;
  text-decoration: none
}

#faq .basicFrame {
  padding: 30px 50px;
  margin-bottom: 40px;
  background: #fff
}

#faq .basicFrame p.announce {
  padding: 40px 0;
  color: #666;
  font-size: 143%;
  font-weight: 700;
  text-align: center
}

#faq dl.faqList,
#faq dl.faqList dd,
#faq dl.faqList dt {
  overflow: hidden
}

#faq dl.faqList dt {
  margin-top: -1px;
  padding: 30px 30px 25px 60px;
  border-top: 1px solid #bfbfbf;
  font-weight: 700;
  font-size: 115%;
  letter-spacing: .08em;
  background: url(/contest/assets/img/common/ico_arw_open.png) 980px center no-repeat
}

#faq dl.faqList dt.is-open {
  background-image: url(/contest/assets/img/common/ico_arw_close.png)
}

#faq dl.faqList dt:hover {
  cursor: pointer
}

#faq dl.faqList dd {
  display: none;
  margin: 0;
  padding: 10px 30px 25px 60px
}

#faq dl.faqList dd .icn,
#faq dl.faqList dt .icn {
  position: relative;
  float: left;
  display: inline;
  margin: -18px 20px 0 -45px;
  font-family: Oswald, Arial, sans-serif;
  line-height: 1.4
}

#faq dl.faqList dt .icn {
  top: 5px;
  font-size: 2.1875rem;
  color: #000
}

#faq dl.faqList dd .icn {
  top: 5px;
  font-size: 2.1875rem;
  color: #da2727
}

#faq dl.faqList dd h3 {
  font-size: 115%
}

#faq dl.faqList dd .m-circleNum-list {
  margin: 20px 0 0 30px
}

#faq dl.faqList dd ol li {
  padding: 0 0 .5em
}

#faq dl.faqList dd ol li:last-child {
  padding-bottom: 0
}

#faq dl.faqList dd ol li p {
  padding-left: 2em
}

#faq dl.faqList dd ul.default li {
  padding: 0 0 0 2em;
  list-style-position: inside;
  list-style-type: disc
}

#faq dl.faqList dd.deadline table {
  margin: 10px 0
}

#faq dl.faqList dd.deadline table th.title {
  vertical-align: top
}

#faq dl.faqList dd.deadline table th.cat {
  width: 12%;
  text-align: right;
  padding: 0 10px 0 0
}

#faq dl.faqList dd.deadline table td {
  width: 81%;
  color: #da2727;
  font-weight: 700;
  text-align: left
}

@media screen and (max-width:768px) {
  #faq .basicFrame {
    margin: 0 0 20px;
    padding: 0
  }
  #faq .basicFrame p.announce {
    padding: 30px 20px;
    font-size: 100%
  }
  #faq dl.faqList dt {
    padding: 15px 10px 10px 45px;
    font-size: 100%;
    letter-spacing: 0
  }
  #faq dl.faqList dd {
    padding: 0 10px 15px 45px
  }
  #faq dl.faqList dd .icn,
  #faq dl.faqList dt .icn {
    top: 0;
    margin: 0 0 0 -1.5em;
    font-size: 20px
  }
  #faq dl.faqList dd h3 {
    font-size: 100%
  }
  #faq dl.faqList dd ol li {
    padding: 0 0 .5em
  }
  #faq dl.faqList dd ol li:last-child {
    padding-bottom: 0
  }
  #faq dl.faqList dd ol li p {
    padding-left: 2em
  }
  #faq dl.faqList dd ul.default li {
    padding: 0 0 0 2em;
    list-style-position: inside;
    list-style-type: disc
  }
  #faq dl.faqList dd.deadline table,
  #faq dl.faqList dd.deadline table tbody,
  #faq dl.faqList dd.deadline table td,
  #faq dl.faqList dd.deadline table th,
  #faq dl.faqList dd.deadline table tr {
    display: block;
    width: auto!important
  }
  #faq dl.faqList dd.deadline table {
    margin: 10px 0
  }
  #faq dl.faqList dd.deadline table tr {
    overflow: hidden
  }
  #faq dl.faqList dd.deadline table th.title {
    background: #eee;
    padding: 2px 5px;
    text-align: center
  }
  #faq dl.faqList dd.deadline table th.cat {
    clear: both;
    float: left;
    width: 6.2em!important;
    text-align: left;
    margin-top: 10px
  }
  #faq dl.faqList dd.deadline table td {
    overflow: hidden;
    margin-top: 10px
  }
  #faq dl.faqList dd.deadline table td .alert {
    display: block;
    margin: 0;
    font-size: 82%
  }
  #faq dl.faqList dd.deadline table td.message {
    border: 1px solid #D43540;
    padding: 5px 0;
    text-align: center
  }
  #faq dl.faqList dd.deadline ul li {
    margin-top: 10px
  }
  #faq .infoLink {
    padding: 10px;
    font-size: 100%;
    text-align: left
  }
}

.faq-pagefront {
  margin: -50px 0 35px;
  text-align: right
}

@media screen and (max-width:768px) {
  .faq-pagefront {
    margin: 0 0 35px
  }
  .appform input.text {
    width: 100%
  }
}

.appform .inlineList li,
.appform ul li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0
}

.faq-option-btn {
  cursor: pointer
}

.faq-option-btn:before {
  content: '\E904'
}

.faq-option-btn.is-open:before {
  content: '\E905'
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

.appform .privacy .button a:before,
.back-button:before,
.form-button.next-button:before,
.form-button:before {
  font-family: iconfont;
  font-style: normal;
  font-weight: 400;
  text-decoration: none
}

.appform input.text,
.appform textarea {
  border: 1px solid #d9d9d9;
  padding: 12px 15px;
  background: #fff
}

.appform input.text:placeholder-shown,
.appform textarea:placeholder-shown {
  color: #afafaf
}

.appform input.text::-webkit-input-placeholder,
.appform textarea::-webkit-input-placeholder {
  color: #afafaf
}

.appform input.text:-moz-placeholder,
.appform textarea:-moz-placeholder {
  opacity: 1;
  color: #afafaf
}

.appform input.text::-moz-placeholder,
.appform textarea::-moz-placeholder {
  opacity: 1;
  color: #afafaf
}

.appform input.text:-ms-input-placeholder,
.appform textarea:-ms-input-placeholder {
  color: #afafaf
}

.appform textarea {
  width: 100%;
  resize: vertical
}

.appform ul {
  margin: 0;
  padding: 0;
  list-style: none
}

.appform ul li.other::before {
  display: none
}

.appform ul label {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  padding-left: 28px
}

.appform ul label input {
  display: none
}

.appform ul label:after,
.appform ul label:before {
  content: '';
  display: inline-block;
  border-radius: 50%;
  vertical-align: middle
}

.appform ul label:before {
  position: absolute;
  left: 0;
  top: 2px;
  width: 22px;
  height: 22px;
  border: 1px solid #218ac8;
  background: #fff
}

@media screen and (max-width:768px) {
  .appform ul li {
    margin-top: 5px
  }
  .appform ul label:before {
    top: 0
  }
}

.appform ul label:after {
  display: none;
  position: absolute;
  left: 7px;
  top: 9px;
  width: 8px;
  height: 8px;
  background: #218ac8
}

.appform ul label.is-checked:after {
  display: inline-block
}

.appform .inlineList {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0;
  vertical-align: top
}

.appform .inlineList li.other::before {
  display: none
}

.appform .inlineList li {
  display: inline-block;
  white-space: nowrap;
  margin-right: 1.5em;
  font-size: .9375rem;
  line-height: 1.66667em;
  letter-spacing: .04em
}

.back-button .en,
.form-button .en {
  letter-spacing: .14em;
  font-family: Oswald, Arial, sans-serif
}

.appform .inlineList li:last-child {
  margin-right: 0
}

@media screen and (max-width:768px) {
  .appform ul label:after {
    top: 7px
  }
  .appform .inlineList {
    margin-bottom: 15px
  }
  .appform .inlineList li {
    font-size: .875rem
  }
}

.appform .note {
  color: #afafaf;
  text-indent: -1em;
  padding-left: 1em;
  font-size: .9375rem
}

.appform table {
  width: 100%;
  border-collapse: separate
}

@media screen and (max-width:768px) {
  .appform .note {
    font-size: .8125rem
  }
  .appform table,
  .appform table tbody,
  .appform table td,
  .appform table th,
  .appform table thead,
  .appform table tr {
    display: block;
    width: auto!important
  }
}

.appform table td,
.appform table th {
  padding: 30px;
  border-top: solid 2px #eee;
  font-size: 1.0625rem;
  vertical-align: top;
  line-height: 1.6
}

.appform table th {
  width: 230px;
  background: #218ac8;
  color: #fff;
  text-align: left
}

@media screen and (max-width:768px) {
  .appform table td,
  .appform table th {
    font-size: .875rem;
    border-top: none
  }
  .appform table th {
    padding: .5em 10px
  }
}

.appform table th span {
  display: block;
  margin-top: 1em;
  padding-left: 1em;
  text-indent: -1em;
  font-size: .9375rem;
  line-height: 1.26667em
}

.appform table tr.groupColumn>th {
  background: #dbdbdb;
  color: #000
}

.appform table td {
  background: #fff
}

@media screen and (max-width:768px) {
  .appform table th span {
    margin-top: 0;
    font-size: .75rem
  }
  .appform table th br {
    display: none
  }
  .appform table td {
    margin-bottom: 20px;
    padding: 8px;
    background: 0 0
  }
}

.appform table table {
  margin-top: 18px
}

.appform table table:first-child {
  margin-top: 0
}

.appform table table td,
.appform table table th {
  width: auto;
  padding: 18px 0 0;
  border: none;
  background: 0 0;
  color: #000;
  vertical-align: middle;
  font-weight: 400;
  text-align: left
}

@media screen and (max-width:768px) {
  .appform table table {
    margin-top: 0
  }
  .appform table table td,
  .appform table table th {
    padding: 0;
    font-weight: 700
  }
  .appform table table th {
    margin: 15px 0 5px
  }
  .appform table table td {
    margin-bottom: 0
  }
}

.appform table table th .note {
  display: block;
  margin-top: -.3em;
  font-size: .75rem
}

.appform table table tr:first-child td,
.appform table table tr:first-child th {
  padding-top: 0
}

.appform table table .note {
  color: #afafaf
}

.appform table .required {
  display: inline-block;
  position: relative;
  top: -1px;
  margin: 0 0 0 10px!important;
  padding: 3px 6px!important;
  text-indent: 0!important;
  background: #da2727;
  font-size: .6875rem
}

@media screen and (max-width:768px) {
  .appform table .required {
    padding: 2px 6px 3px!important;
    font-size: .625rem
  }
}

.appform table td.error {
  background: #ffd3d3
}

.appform table label.error {
  display: block;
  line-height: 1;
  background: url(/contest/assets/img/common/ico_error.png) left center no-repeat;
  margin-top: 10px;
  padding: 1px 0 1px 23px;
  font-weight: 700;
  color: red
}

@media screen and (max-width:768px) {
  .appform table label.error {
    margin-top: 8px
  }
}

.appform table td.error label.error {
  display: block!important
}

.appform table .ex {
  display: none;
  margin-top: 5px;
  font-size: .875rem
}

.appform .actionList {
  position: relative;
  margin-top: 70px
}

@media screen and (max-width:768px) {
  .appform .actionList {
    margin: 0 0 20px
  }
}

.back-button,
.form-button {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  text-decoration: none;
  outline: 0
}

.appform .actionList li.backLink {
  position: absolute;
  left: 0;
  top: 28px
}

.appform .actionList li.main {
  text-align: center
}

.form-button {
  display: inline-block;
  width: 503px;
  height: 112px;
  border-radius: 56px;
  line-height: 1.3;
  appearance: none;
  padding: 0;
  background: 0 0;
  border: 2px solid #da2727;
  font-weight: 700;
  position: relative
}

@media screen and (max-width:768px) {
  .appform .actionList li.backLink {
    position: relative;
    left: auto;
    top: auto;
    margin-bottom: 10px
  }
  .form-button {
    width: 100%;
    height: auto
  }
  .form-button .button-label {
    padding: 1em 0
  }
}

.form-button:after {
  display: inline-block;
  content: '';
  width: 0;
  height: 100%;
  vertical-align: middle
}

.form-button .button-label {
  display: inline-block;
  vertical-align: middle
}

.form-button,
.form-button:active,
.form-button:focus,
.form-button:hover,
.form-button:link,
.form-button:visited {
  color: #da2727
}

.form-button .en,
.form-button .ja {
  display: block
}

.form-button .en {
  font-weight: 700;
  line-height: 1
}

.form-button .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

@media screen and (max-width:768px) {
  .form-button .ja {
    margin-top: 8px
  }
}

.no-touch .form-button:hover {
  background-color: #da2727;
  color: #fff
}

.form-button:before {
  content: '\E902';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 21px;
  left: 5%
}

.form-button .en {
  font-size: 2.4375rem
}

@media screen and (max-width:768px) {
  .form-button .en {
    font-size: 1.375rem
  }
}

.form-button .ja {
  font-size: .875rem
}

@media screen and (max-width:768px) {
  .form-button .ja {
    font-size: .75rem
  }
}

.form-button.next-button {
  position: relative
}

.form-button.next-button:before {
  content: '\E900';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 21px;
  left: 6%
}

.back-button {
  display: inline-block;
  width: 100%;
  height: 3em;
  border-radius: 2em;
  line-height: 1.3;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  background: 0 0;
  border: 2px solid #2e2e2e;
  position: relative;
  font-size: 1.125rem;
  font-weight: 700
}

.aboutSecondSection .pdf-button,
.preliminary-news .button {
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative
}

@media screen and (max-width:768px) {
  .back-button {
    width: 100%;
    height: auto
  }
  .back-button .button-label {
    padding: 1em 0
  }
}

.back-button:after {
  display: inline-block;
  content: '';
  width: 0;
  height: 100%;
  vertical-align: middle
}

.back-button .button-label {
  display: inline-block;
  vertical-align: middle
}

.back-button,
.back-button:active,
.back-button:focus,
.back-button:hover,
.back-button:link,
.back-button:visited {
  color: #2e2e2e
}

.back-button .en,
.back-button .ja {
  display: block
}

.back-button .en {
  font-weight: 700;
  line-height: 1
}

.back-button .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

@media screen and (max-width:768px) {
  .back-button .ja {
    margin-top: 8px
  }
}

.no-touch .back-button:hover {
  background-color: #2e2e2e;
  color: #fff
}

.back-button:before {
  content: '\E901';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 12px;
  left: 10px
}

.back-button .button-label {
  padding: 10px 50px
}

.confirmForm table td,
.confirmForm table th {
  vertical-align: middle
}

.form-message .inner {
  display: table;
  width: 100%
}

@media screen and (max-width:768px) {
  .back-button .button-label {
    padding: 10px 0
  }
  .form-message .inner {
    display: block;
    width: auto
  }
}

.form-message .text,
.form-message .title {
  display: table-cell;
  vertical-align: top;
  line-height: 1.6
}

#contactForm>table td,
#contactForm>table th,
.appform .agreement label:before,
.appform .contact td,
.appform .ember td,
.appform .part td,
.appform .part th,
.appform .privacy .button a .button-label,
.appform .privacy .button a:after,
.outlineTable tbody th,
.share-twitter .desc {
  vertical-align: middle
}

.form-message .title {
  font-size: .9375rem;
  width: 24%
}

.form-message .deadline-list {
  margin-top: 35px
}

@media screen and (max-width:768px) {
  .form-message .text,
  .form-message .title {
    display: block
  }
  .form-message .title {
    width: auto;
    margin-bottom: 1em
  }
  .form-message .deadline-list {
    margin-top: 20px
  }
}

.form-message .deadline {
  font-size: 1.125rem;
  letter-spacing: .16em;
  margin-top: -3px
}

.form-message .deadline .label {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: solid 3px #000
}

.share-twitter {
  margin-top: 20px;
  text-align: center
}

.share-twitter .desc {
  margin-bottom: 15px;
  font-weight: 700
}

.share-twitter .desc:after,
.share-twitter .desc:before {
  display: inline-block;
  content: '';
  width: 2px;
  height: 17px;
  background: #2e2e2e;
  vertical-align: middle
}

.share-twitter .desc:before {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  margin-right: .8em
}

.share-twitter .desc:after {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-left: .8em
}

.share-twitter .button {
  width: 185px;
  padding: 0;
  background-color: #1da1f3;
  border-color: #1da1f3;
  color: #fff
}

.share-twitter .button .button-label {
  line-height: 0
}

.share-twitter .button path {
  transition: fill .4s ease
}

.no-touch .share-twitter .button:hover {
  background: #fff;
  color: #1da1f3
}

.no-touch .share-twitter .button:hover path {
  fill: #1da1f3
}

.appform .part .customSelect,
.appform .part select {
  margin-left: 15px
}

.appform .privacy ul {
  margin-bottom: 5px
}

.appform .privacy p {
  margin-bottom: 1em
}

.appform .privacy .note {
  margin: -.8em 0 0;
  padding-left: 23px;
  text-indent: 0;
  color: #000;
  font-size: 1rem
}

@media screen and (max-width:768px) {
  .form-message .deadline {
    font-size: 1rem
  }
  .appform .privacy .note {
    font-size: .8125rem
  }
}

.appform .privacy .button a {
  outline: 0;
  display: inline-block;
  width: 560px;
  height: 3em;
  margin-right: auto;
  margin-left: auto;
  border-radius: 2em;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  border: 2px solid #da2727;
  position: relative;
  font-size: 1rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .appform .privacy .button a {
    width: 100%;
    height: auto
  }
  .appform .privacy .button a .button-label {
    padding: 1em 0
  }
}

.appform .privacy .button a:after {
  display: inline-block;
  content: '';
  width: 0;
  height: 100%
}

.appform .privacy .button a .button-label {
  display: inline-block
}

.appform .privacy .button a,
.appform .privacy .button a:active,
.appform .privacy .button a:focus,
.appform .privacy .button a:hover,
.appform .privacy .button a:link,
.appform .privacy .button a:visited {
  color: #da2727
}

.no-touch .appform .privacy .button a {
  transition: color .3s ease, background-color .3s ease
}

.appform .privacy .button a .en,
.appform .privacy .button a .ja {
  display: block
}

.appform .privacy .button a .en {
  font-family: Oswald, Arial, sans-serif;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1
}

.aboutSecondSection .pdf-button:before,
.programSection .final .entryLink a:before,
.scheduleSection .button a:before {
  font-family: iconfont;
  text-decoration: none;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-variant: normal;
  text-transform: none;
  speak: none
}

.appform .privacy .button a .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

@media screen and (max-width:768px) {
  .appform .privacy .button a .ja {
    margin-top: 8px
  }
}

.no-touch .appform .privacy .button a:hover {
  background-color: #da2727;
  color: #fff
}

.appform .privacy .button a:before {
  content: '\E902';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 13px;
  left: 15px
}

@media screen and (max-width:768px) {
  .appform .privacy .button a {
    border-radius: 2.2em;
    font-size: .8125rem
  }
}

@media screen and (min-width:0px) and (max-width:370px) {
  .appform .privacy .button a {
    font-size: .75rem
  }
}

.appform .agreement {
  margin-top: 1em;
  font-size: 1.125rem;
  font-weight: 700
}

.appform .agreement.is-disabled {
  opacity: .3
}

.appform .agreement input {
  display: none
}

.appform .agreement label:before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background: #fff;
  border: 2px solid #218ac8;
  position: relative;
  top: -2px
}

.appform .agreement label.is-checked:before {
  background: url(/contest/assets/img/common/ico_checked.png) center center no-repeat #fff;
  background-size: 10px auto
}

.appform .important {
  font-weight: 700
}

.appform .groupHr td {
  background: #eee;
  height: 40px;
  padding: 0
}

@media screen and (max-width:768px) {
  .appform .agreement {
    font-size: .875rem
  }
  .appform .groupHr td {
    height: 0
  }
  .appform .groupHr td span {
    display: inline-block
  }
  .appform .groupColumn span {
    display: inline
  }
  .appform .groupColumn .groupNum {
    display: block
  }
}

.appform .groupNum {
  margin-top: 25px;
  font-size: .9375rem;
  letter-spacing: .16em
}

@media screen and (max-width:768px) {
  .appform .groupNum {
    font-size: .8125rem;
    margin: 5px 0
  }
}

.appform .groupNum .label {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: solid 3px #000;
  margin-top: 0;
  font-size: 1.625rem
}

.appform .groupInfo .address,
.appform .groupInfo .contact,
.appform .groupInfo .profile,
.appform .groupInfo .school {
  margin: 35px 0
}

.appform .groupInfo .profile {
  margin-top: 0
}

.appform .groupInfo .contact {
  margin-bottom: 0
}

.appform .profile td,
.appform .profile th {
  padding-left: 25px
}

.appform .profile td:first-child,
.appform .profile th:first-child {
  padding-left: 0
}

.appform .profile th:first-child {
  width: 11.6em
}

.appform .profile .ename td,
.appform .profile .jname td {
  width: 240px
}

.appform .profile .ename input.text,
.appform .profile .jname input.text {
  width: 100%
}

.appform .name .profile th:first-child {
  width: auto
}

.appform .birth select,
.appform .birth span.customSelect {
  margin-right: 15px
}

.appform .birth span.customSelect {
  width: 8em
}

.appform .birth .age {
  color: #afafaf
}

.appform .times span.customSelect {
  width: 13em
}

.appform .school table th {
  width: 6em;
  padding-right: 1em
}

.appform .school table td {
  padding-right: 25px
}

@media screen and (max-width:768px) {
  .appform .groupNum .label {
    font-size: 1.125rem
  }
  .appform .profile td,
  .appform .profile th {
    padding-left: 0
  }
  .appform .birth .age {
    display: block
  }
  .appform .school table td {
    padding-right: 0
  }
}

.appform .school table td:last-child {
  padding-right: 0
}

.appform .schoolCourse input.text,
.appform .schoolName input.text {
  width: 100%
}

.appform .schoolCourse span.customSelect {
  width: 10em
}

.appform .address span.customSelect {
  width: 14em
}

.appform .number input.text {
  width: 8em
}

.appform .theme .note {
  margin-top: 1em
}

.appform .theme ul li {
  margin-top: 5px
}

.appform .comment textarea,
.appform .outline textarea {
  margin: 1em 0
}

.appform .address th,
.appform .contact th {
  width: 10em
}

.appform .address input.text {
  width: 100%
}

.appform .address .zip input.text {
  width: 5em
}

.appform .address .zip label.error {
  display: inline;
  margin: 0 8px
}

.appform .upload #youtube_text p.caution,
.appform .upload ul {
  margin-top: 15px
}

.appform .contact input.text {
  width: 50%
}

@media screen and (max-width:768px) {
  .appform .contact input.text {
    width: 100%
  }
}

.appform .outline p.caution {
  margin-bottom: 10px
}

.appform .outline label.error {
  display: inline
}

.appform .upload #upload_text,
.appform .upload #youtube_text {
  border: 3px solid #ddd;
  background: #fff;
  padding: 15px;
  margin-top: 15px
}

.appform .upload #youtube_text table th {
  width: 23%;
  white-space: nowrap
}

.appform .permission ul {
  margin-top: 10px
}

@media screen and (max-width:768px) {
  .appform #name td table {
    width: auto
  }
  .appform #name td table th {
    float: left;
    width: 8%;
    margin: 9px 1%
  }
  .appform #name td table td {
    float: left;
    width: 40%;
    padding: 0 0 10px 10px
  }
  .appform #name td table th:after,
  .appform #name td table th:before {
    display: none
  }
  .appform table th.first:before,
  .appform table th.last:before,
  .appform table th:after,
  .appform table th:before {
    position: absolute;
    top: 0;
    content: " ";
    height: 1.4em;
    width: 0;
    border: solid transparent;
    pointer-events: none
  }
  .appform table td table th:after,
  .appform table td table th:before,
  .appform table th br {
    display: none
  }
  .appform table td.error {
    border-width: 2px;
    padding: 10px 6px
  }
  .appform .part ul {
    margin-top: 0
  }
  .number input.text {
    width: 30%!important
  }
  #applyForm .contact th:after,
  #applyForm .contact th:before {
    height: 2.3em
  }
  .appform .agreement label {
    display: inline
  }
  #youtube_url {
    border: 1px solid #ccc;
    width: 92%!important
  }
  #apply .message .result h2 {
    font-size: 100%
  }
  .appform .groupInfo .address,
  .appform .groupInfo .contact,
  .appform .groupInfo .profile,
  .appform .groupInfo .school {
    margin: 15px 0
  }
  .appform table td table td,
  .appform table td table th {
    width: auto!important;
    float: none
  }
  .appform .sex ul.inlineList li,
  .appform ul.inlineList li {
    display: inline-block;
    margin: 5px 1em 0 0!important
  }
  .appform .profile .ename,
  .appform .profile .jname {
    font-size: 0
  }
  .appform .profile .ename td,
  .appform .profile .ename th,
  .appform .profile .jname td,
  .appform .profile .jname th,
  .appform .profile input.text {
    display: inline-block;
    vertical-align: middle;
    font-size: .875rem
  }
  .appform .profile .ename th,
  .appform .profile .jname th {
    width: 35%!important;
    margin: 0 0 10px!important
  }
  .appform .profile .ename td,
  .appform .profile .jname td {
    width: 64%!important;
    margin: 0 0 10px!important
  }
  .appform span.title {
    display: block;
    margin: 15px 0 5px;
    font-weight: 700
  }
  .appform .birth select,
  .appform .birth span.customSelect,
  .appform .times select,
  .appform .times span.customSelect {
    margin: 0 5px 5px 0
  }
  .appform .birth span.customSelect {
    width: 6em
  }
  .appform .birth span.birth_year {
    width: 7em
  }
  .appform .birth select.birth_day,
  .appform .birth span.birth_day {
    margin-right: 0
  }
  .appform .school td {
    padding-right: 0
  }
  .appform .zip input.text {
    width: 30%!important
  }
  .appform .address th {
    width: auto
  }
  .appform .groupInfo h2 {
    margin: 0 -10px;
    padding: 10px 20px;
    font-size: 100%
  }
  .appform .groupInfo.group2 h2 {
    margin-top: 40px
  }
  .confirmForm .groupInfo h2 {
    margin-bottom: 20px
  }
}

.stepForm {
  position: relative;
  margin: -10px;
  padding: 10px
}

#disabledOverlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #aaa;
  -ms-filter: "alpha( opacity=50 )";
  filter: alpha(opacity=50);
  opacity: .5
}

#step02 {
  margin-top: 70px
}

@media screen and (max-width:768px) {
  #step02 {
    margin-top: 30px
  }
}

.themeDetail {
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display:flex;display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 10px 0 10px 25px;
  padding: 15px;
  background: #ededed
}

@media screen and (max-width:768px) {
  .themeDetail {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 15px;
    width: auto;
    background: #fff
  }
}

.themeDetail .text {
  width: calc(100% - 240px);
  font-size: .875rem
}

@media screen and (max-width:768px) {
  .themeDetail .text {
    width: auto;
    font-size: .8125rem
  }
}

.themeDetail .select {
  width: 240px;
  text-align: right
}

.themeDetail .select .customSelect {
  text-align: left
}

.no-flexbox .themeDetail:after {
  content: "";
  display: table;
  clear: both
}

.no-flexbox .themeDetail .text {
  float: left
}

@media screen and (max-width:768px) {
  .themeDetail .select {
    width: auto;
    margin-top: 10px;
    text-align: left
  }
  .no-flexbox .themeDetail .text {
    float: none
  }
}

.no-flexbox .themeDetail .select {
  float: right
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

.programSection .final .entryLink a:before {
  font-weight: 400
}

.programSection .title {
  font-size: 1.125rem;
  letter-spacing: .16em
}

.programSection .title .label {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: solid 3px #000
}

.programSection .m-sub-title {
  margin-top: 30px
}

@media screen and (max-width:768px) {
  .no-flexbox .themeDetail .select {
    float: none
  }
  .programSection .m-box-2 .m-box-item {
    width: auto
  }
  .programSection .title {
    font-size: 1rem
  }
  .programSection .m-sub-title {
    margin-top: 20px;
    font-size: .9375rem
  }
}

.programSection .m-disc-list li {
  line-height: 1.6
}

.programSection .m-disc-list li+li {
  margin-top: .5em
}

.programSection .m-disc-list.is-size-s li {
  font-size: .875rem
}

.programSection h4 {
  margin-top: 25px
}

.programSection h4+.m-disc-list {
  margin-top: 10px
}

.programSection br.sp {
  display: none
}

.programSection .m-text-note {
  margin-bottom: 20px;
  color: #333;
  line-height: 1.6
}

.programSection .date-schedule {
  margin: 0
}

.programSection .date-schedule dd {
  margin: -1.6em 0 .5em 7em
}

.programSection .date-schedule dt {
  width: 7em;
  text-align: right
}

.programSection .time-schedule {
  margin: 10px 0 30px 20px;
  line-height: 1.6
}

@media screen and (max-width:768px) {
  .programSection br.sp {
    display: block
  }
  .programSection .m-text-note {
    font-size: .75rem
  }
  .programSection .time-schedule {
    margin-left: 0
  }
}

.programSection .time-schedule dt {
  clear: both;
  float: left;
  width: 5em;
  text-align: left
}

.programSection .time-schedule dd {
  margin: 0 0 .5em 5em
}

.programSection .alert {
  color: #c71e1e;
  font-weight: 700
}

.programSection .map {
  margin: 20px 0 10px
}

.programSection .zoom {
  float: right
}

@media screen and (max-width:768px) {
  .programSection .map {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden
  }
  .programSection .map embed,
  .programSection .map iframe,
  .programSection .map object {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
  }
  .programSection .zoom {
    margin-bottom: 20px;
    float: none;
    text-align: right
  }
}

.leadAction,
.scheduleSection .button,
.scheduleSection .days {
  text-align: center
}

.programSection .zoom a {
  padding: 7px 0 7px 30px;
  background: url(/contest/assets/img/common/icn_zoom.png) left center no-repeat;
  color: #333;
  font-size: 86%;
  font-weight: 700
}

.programSection .caution {
  clear: both;
  padding-top: 20px;
  font-size: 86%
}

.programSection .final .date {
  display: inline-block;
  margin-top: 20px;
  padding: .9em 1.8em;
  margin-bottom: 1em;
  background-color: #eee;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 1px
}

@media screen and (max-width:768px) {
  .programSection .final .date {
    display: block;
    padding: 10px;
    font-size: .875rem;
    text-align: center
  }
}

.programSection .final .lead {
  line-height: 1.7;
  font-weight: 700;
  margin-bottom: 1em
}

.programSection .final .entryLink {
  position: relative;
  overflow: hidden;
  margin: 10px 0 30px;
  text-align: center
}

.programSection .final .entryLink a {
  display: inline-block;
  margin-right: 8px;
  position: relative
}

.programSection .final .entryLink a:before {
  content: '\E902';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 10px;
  left: 5%
}

@media screen and (max-width:768px) {
  .programSection .final .entryLink a {
    margin: 0
  }
  .programSection .final .entryLink a+a {
    margin-top: 10px
  }
}

.programSection .final .entryLink span {
  display: inline-block;
  margin-right: 8px
}

#rule .m-innerNum-list li.other::before,
#rule .ruleList li.other::before,
.scheduleSection ol li.other::before {
  display: none
}

.programSection .final .hallSite {
  margin-top: 1em
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

.movieDetailSection {
  margin: 0 auto 100px;
  max-width: 880px
}

.movieDetailSection .movie {
  position: relative;
  margin-bottom: 40px;
  padding-top: 56.25%
}

@media screen and (max-width:768px) {
  .movieDetailSection {
    margin-bottom: 40px
  }
  .movieDetailSection .movie {
    margin-bottom: 20px
  }
}

.movieDetailSection .movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

@media screen and (min-width:769px) {
  .movieDetailSection .articleWrap {
    padding: 0 25px
  }
}

.movieDetailSection .interviewee {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 2px solid #fff;
  font-size: .9375rem;
  font-weight: 700
}

.movieDetailSection .interviewee .name {
  font-size: 1.25rem
}

.movieDetailSection .articleBody {
  padding: 0
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

.detailColumn {
  background: #FFF;
  margin-bottom: 40px;
  padding: 30px
}

.detailColumn p {
  margin-bottom: 1.4em;
  letter-spacing: .04em
}

.detailColumn p.last {
  margin-bottom: 0
}

@media screen and (max-width:768px) {
  .detailColumn {
    margin-bottom: 30px;
    padding: 15px
  }
}

#rule .use_policy li {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #dedede
}

@media screen and (max-width:768px) {
  #rule .use_policy li {
    margin-top: 20px;
    padding-top: 20px
  }
  #rule .use_policy li ul {
    margin-left: -30px
  }
}

#rule .use_policy li .title {
  font-weight: 700
}

#rule .use_policy li ul {
  margin-top: 10px;
  padding: 0
}

#rule .m-innerNum-list li,
#rule .ruleList li {
  margin-left: 0;
  list-style-image: none;
  list-style-type: none
}

#rule .use_policy li ul li {
  border-top: none;
  margin: 0;
  padding-top: 0
}

#rule .use_policy li p.listTxt {
  margin-top: 10px
}

#rule .m-innerNum-list {
  margin: 0;
  padding: 0;
  list-style: none
}

#rule .m-innerNum-list li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 25px
}

#rule .m-innerNum-list li .m-innerNum {
  position: absolute;
  left: 0
}

#rule .contact_policy a {
  word-break: break-all;
  word-wrap: break-word
}

#rule .contact_policy dt {
  margin-bottom: 10px;
  font-weight: 700
}

#rule .contact_policy dd {
  margin: 0
}

#rule .ruleList {
  padding: 0;
  list-style: none;
  margin: 0
}

#rule .ruleList ul {
  padding: 0
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

.aboutSecondSection .pdf-button:before,
.scheduleSection .button a:before {
  font-weight: 400
}

.criterionTable .en,
.scheduleSection .days {
  font-family: Montserrat, Arial, sans-serif
}

.leadAction {
  margin-top: 50px;
  line-height: 1.4
}

.leadAction span {
  color: #000;
  font-weight: 400;
  font-size: 80%
}

.scheduleSection {
  zoom: 1
}

@media screen and (max-width:768px) {
  .leadAction {
    margin-top: 25px
  }
  .scheduleSection {
    margin-top: -20px
  }
}

.scheduleSection ol {
  margin: 0 -20px 0 0;
  padding: 0;
  list-style: none
}

.scheduleSection ol li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0
}

.scheduleSection ol:after {
  content: "";
  display: table;
  clear: both
}

@media screen and (max-width:768px) {
  .scheduleSection ol {
    margin-right: 0
  }
}

.scheduleSection li {
  position: relative;
  float: left;
  width: calc((100% - 80px)/ 4);
  border: 2px solid #a5a5a5;
  background: #f7f7f7;
  margin-right: 20px;
  padding: 10px;
  font-weight: 700;
  line-height: 1.3
}

@media screen and (max-width:768px) {
  .scheduleSection li {
    float: none;
    width: auto;
    margin: 0 0 20px;
    padding: 5px 10px;
    height: auto!important
  }
}

.scheduleSection li:after {
  content: '';
  display: block;
  position: absolute;
  left: 100%;
  top: 50%;
  margin-top: -18px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 18px 0 18px 11px;
  border-color: transparent transparent transparent #a5a5a5
}

.scheduleSection li:last-child:after {
  display: none
}

.scheduleSection li.is-closed .days {
  background: #bbb
}

.scheduleSection li.is-closed .desc {
  color: #999
}

.scheduleSection ol.is-column-5 li {
  width: calc((100% - 100px)/ 5)
}

@media screen and (max-width:768px) {
  .scheduleSection li:after {
    left: 50%;
    top: 100%;
    margin: 0 0 0 -15px;
    border-width: 10px 15px 0;
    border-color: #a5a5a5 transparent transparent
  }
  .scheduleSection ol.is-column-5 li {
    width: auto
  }
}

.scheduleSection .days {
  position: relative;
  padding: 5px;
  margin-bottom: 15px;
  background: #218ac8;
  color: #fff;
  border-radius: 5px;
  font-weight: 700;
  line-height: 1
}

@media screen and (max-width:768px) {
  .scheduleSection .days {
    clear: both;
    float: left;
    width: 8em;
    margin: 0 10px 0 0
  }
}

@media screen and (min-width:0) and (max-width:370px) {
  .scheduleSection .inner:after {
    content: "";
    display: table;
    clear: both
  }
  .scheduleSection .days {
    width: 5em;
    margin-bottom: 5px
  }
}

.scheduleSection .days .date {
  font-size: 1.375rem;
  line-height: 1
}

@media screen and (max-width:768px) {
  .scheduleSection .days .date {
    font-size: 1rem
  }
}

.scheduleSection .days .day {
  font-size: .6875rem
}

.scheduleSection .desc {
  margin: 10px 3px 15px
}

@media screen and (max-width:768px) {
  .scheduleSection .days .day {
    display: inline-block;
    font-size: .625rem
  }
  .scheduleSection .desc {
    overflow: hidden;
    margin-bottom: 10px
  }
  .scheduleSection .desc p {
    margin: 0;
    line-height: 1.6
  }
}

.scheduleSection .button a {
  display: block;
  padding: 0 6px 0 18px;
  position: relative
}

.scheduleSection .button a:before {
  content: '\E902';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 10px;
  left: 5%
}

.scheduleSection li:last-child .days {
  background: #da2727
}

.scheduleSection ol li .desc {
  margin: 10px 5px 15px;
  font-size: .875rem;
  line-height: 1.73333em
}

.scheduleSection ol li .desc p {
  margin-top: 10px
}

.scheduleSection ol li .desc p:first-child {
  margin-top: 0
}

.scheduleSection ol li p.desc {
  margin-top: 6px;
  padding-top: 0;
  background: 0 0
}

.scheduleSection ol li p.button {
  margin-bottom: 0
}

.scheduleSection ol li p.hall {
  font-size: 79%;
  padding: 5px 0 0
}

#contents .announce,
#contents .announceText {
  padding: 10px;
  line-height: 1.4;
  text-align: center
}

#contents .announce {
  margin: 0;
  border: 2px solid #D43540;
  color: #D43540;
  font-size: 143%;
  font-weight: 700
}

#contents .announce .button-email {
  display: block;
  margin-top: 10px
}

#contents .announce .button-email .button {
  background: #da2727
}

#contents .announce span {
  font-size: 80%;
  font-weight: 400;
  color: #000
}

#contents .announce span.button-label {
  font-size: 100%;
  font-weight: 700;
  color: #fff
}

#contents .announce .note {
  margin-top: .5em;
  font-size: 1.125rem
}

@media screen and (max-width:768px) {
  #contents .announce .note {
    margin-top: .3em;
    font-size: .875rem
  }
}

#contents .announceText {
  margin: 0 0 20px;
  border: none;
  color: #D43540;
  font-size: 143%;
  font-weight: 700
}

#contents .announceText span {
  font-size: 80%;
  font-weight: 400;
  color: #000
}

.scheduleSection ol li p.closed {
  margin-bottom: 15px
}

.scheduleSection ol li.phase06 p.desc {
  position: relative;
  top: -10px
}

.scheduleSection ol.ended li {
  background: #dbdbdb;
  color: #666
}

/* 2203 Ê¹ÓÃ¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¥³¥á¥ó¥È¥¢¥¦¥È
.scheduleSection ol.ended li .inner {
  background: url(/contest/assets/img/top/bg_phase_ended.png) right center no-repeat
}
*/

.scheduleSection ol.ended li.phase06 .inner {
  background: 0 0
}

.scheduleSection ol li p.closed span,
.scheduleSection ol.ended li p.date {
  color: #666!important
}

.scheduleSection .anotherSection {
  margin-top: 20px
}

.outlineDatas {
  margin-right: -4%
}

.outlineDatas:after {
  content: "";
  display: table;
  clear: both
}

@media screen and (max-width:768px) {
  #contents .announce,
  #contents .announceText {
    font-size: 100%
  }
  .outlineDatas {
    margin-right: 0
  }
}

.outlineDatas .announce-txt {
  margin-bottom: 20px;
  color: #da2727;
  font-weight: 700
}

.outlineData {
  float: left;
  width: 46%;
  margin-right: 4%
}

@media screen and (max-width:768px) {
  .outlineData {
    float: none;
    width: auto;
    margin: 0 0 10px
  }
}

.outlineData dt {
  position: relative;
  background: #666;
  color: #fff;
  min-width: 104px;
  font-size: .9375rem;
  text-align: center;
  display: inline-block;
  font-weight: 700
}

.outlineData dt:after,
.outlineData dt:before {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  line-height: 5px;
  border-style: solid
}

.outlineData dt:before {
  left: 0;
  top: 0;
  border-width: 5px 5px 0 0;
  border-color: #eee transparent transparent
}

.outlineData dt:after {
  right: 0;
  bottom: 0;
  border-width: 0 0 5px 5px;
  border-color: transparent transparent #eee
}

.outlineData dd {
  margin: 10px 0 20px;
  font-size: .9375rem;
  line-height: 1.93333em
}

.outlineData dd .m-flyerLink {
  display: block;
  margin-top: .8em;
  padding: 6em 0 0 6.4em;
  background: url(/contest/assets/img/outline/img_flyer_2021.jpg) left .3em no-repeat;
  background-size: 85px auto
}

.outlineTable {
  width: 100%
}

@media screen and (max-width:768px) {
  .outlineData dd {
    font-size: .875rem;
    line-height: 1.6
  }
  .outlineTable thead {
    display: none
  }
}

.outlineTable thead td,
.outlineTable thead th {
  border: none
}

.outlineTable thead .label {
  display: block;
  text-align: center;
  color: #fff;
  margin: 0 10px;
  padding: 10px
}

.outlineTable thead .label--first {
  background: #218ac8
}

.outlineTable thead .label--second {
  background: #da2727
}

.outlineTable tbody {
  border-top: solid 2px #dcdcdc;
  border-left: solid 2px #dcdcdc
}

@media screen and (max-width:768px) {
  .outlineTable tbody {
    border: none
  }
}

.outlineTable tbody td,
.outlineTable tbody th {
  border-right: solid 2px #dcdcdc;
  border-bottom: solid 2px #dcdcdc;
  padding: 18px
}

.outlineTable tbody th {
  text-align: right;
  padding-right: 50px
}

@media screen and (max-width:768px) {
  .outlineTable tbody td,
  .outlineTable tbody th {
    border: none
  }
  .outlineTable tbody tr {
    display: block;
    border: 2px solid #ccc;
    margin-bottom: 15px
  }
  .outlineTable tbody th {
    padding: 6px 10px!important;
    text-align: center;
    background: #eee!important
  }
}

.outlineTable tbody th .label {
  padding-bottom: 3px;
  border-bottom: solid 2px #333
}

.outlineTable tbody td {
  width: 396px;
  vertical-align: top
}

@media screen and (max-width:768px) {
  .outlineTable tbody th .label {
    padding-bottom: 0;
    border-bottom: none
  }
  .outlineTable tbody td {
    width: auto;
    padding: 15px 10px!important;
    border-top: solid 1px #ccc!important
  }
  .outlineTable tbody td:before {
    display: inline-block;
    margin-bottom: 10px;
    padding: 3px 6px;
    color: #fff;
    font-weight: 700;
    line-height: 1.2;
    content: '1´ÎÓèßx';
    background: #218ac8
  }
  .outlineTable tbody td:last-child:before {
    content: '2´ÎÓèßx?±¾ßx';
    background: #da2727
  }
}

.outlineTable dl {
  margin: 0
}

.outlineTable dl dt {
  margin-top: 20px;
  font-weight: 700
}

.outlineTable dl dt:first-child {
  margin-top: 0
}

.outlineTable dl dd {
  margin: 5px 0 0 32px;
  font-size: .875rem
}

.smartphone {
  padding-left: 14px;
  background: url(/contest/assets/img/common/ico_smartphone.png) left top no-repeat;
  background-size: 10px auto
}

.criterionTable {
  border-top: solid 2px #dcdcdc;
  border-left: solid 2px #dcdcdc
}

@media screen and (max-width:768px) {
  .criterionTable {
    border: none
  }
}

.criterionTable td,
.criterionTable th {
  border-right: solid 2px #dcdcdc;
  border-bottom: solid 2px #dcdcdc;
  padding: 18px
}

.criterionTable th {
  font-size: .8125rem
}

.criterionTable .en {
  font-weight: 700;
  font-size: 1.125rem
}

.criterionTable thead td,
.criterionTable thead th {
  background: #f7f7f7;
  white-space: nowrap
}

@media screen and (max-width:768px) {
  .criterionTable td,
  .criterionTable th {
    border: none
  }
  .criterionTable tr {
    margin-bottom: 15px!important;
    border: 2px solid #ccc!important
  }
  .criterionTable tr td,
  .criterionTable tr th {
    padding: 10px!important
  }
  .criterionTable tr th {
    border-left: none!important;
    color: #666
  }
  .criterionTable tr td {
    border-top: solid 1px #ccc!important
  }
  .criterionTable .en {
    font-size: 1.0625rem;
    color: #000
  }
  .criterionTable thead {
    display: none
  }
  .criterionTable tbody th {
    color: #888;
    background: #eee!important;
    text-align: left
  }
  .criterionTable tbody th .en {
    margin-right: 10px
  }
  .criterionTable tbody .scores,
  .criterionTable tbody th br {
    display: none
  }
}

.criterionTable tbody td {
  border-top: solid 1px #ccc
}

.criterionTable tbody .scores {
  text-align: center
}

.criterionSP {
  display: none
}

@media screen and (max-width:768px) {
  .criterionSP {
    display: block
  }
}

.judgeSection .judge:after,
.memberList:after {
  display: table;
  clear: both;
  content: ""
}

.criterionSP .table-title {
  margin: 0 0 10px;
  font-size: 1rem
}

.criterionScoreTable {
  letter-spacing: 0;
  line-height: 1.8
}

.criterionScoreTable td,
.criterionScoreTable th {
  border: 2px solid #ccc!important;
  padding: 8px 5px
}

.criterionScoreTable th {
  background: #eee;
  color: #888;
  font-size: .625rem
}

.criterionScoreTable th .en {
  color: #000;
  font-size: .75rem
}

.criterionScoreTable .title {
  padding: 5px;
  font-size: .75rem
}

.criterionScoreTable .title .en {
  font-size: 1rem
}

.criterionScoreTable td.scores {
  font-size: 1rem;
  text-align: center;
  font-weight: 700
}

.judgeSection {
  padding-top: 50px;
  margin-bottom: 30px!important
}

@media screen and (max-width:768px) {
  .judgeSection {
    padding-top: 0
  }
}

.judgeSection .judge {
  margin-bottom: 20px;
  padding: 30px;
  background: #fff
}

.judgeSection .chairman .imgColumn {
  float: left;
  margin-right: 30px
}

.judgeSection .chairman .imgColumn .copyright {
  font-size: .625rem
}

.judgeSection .chairman .textColumn {
  overflow: hidden
}

@media screen and (max-width:768px) {
  .judgeSection .judge {
    padding: 15px
  }
  .judgeSection .chairman .imgColumn {
    float: right;
    margin: 0 0 10px 10px;
    width: 100px
  }
  .judgeSection .chairman .imgColumn img {
    width: 100%;
    height: auto
  }
  .judgeSection .chairman .textColumn {
    overflow: visible
  }
  .judgeSection .chairman .textColumn .profile .message {
    padding-top: 10px;
    clear: both
  }
}

.judgeSection .chairman .textColumn .profile h3 {
  margin-bottom: 10px;
  font-size: 1.125rem
}

.judgeSection .chairman .textColumn .profile p.title {
  margin-bottom: 5px;
  font-weight: 700
}

.judgeSection .chairman .textColumn .profile p.title-msg {
  margin: 10px 0 5px;
  font-weight: 700
}

.judgeSection .chairman .textColumn .profile .message {
  line-height: 1.8;
  font-size: .875rem
}

.memberList {
  margin: 0 -20px 0 0;
  padding: 0;
  list-style: none
}

.memberList li {
  list-style-image: none;
  list-style-type: none;
  float: left;
  margin: 0 20px 20px 0;
  padding: 20px;
  background: #fff;
  width: 264px
}

.memberList li.other::before {
  display: none
}

.memberList .img {
  float: left;
  width: 70px;
  margin-right: 20px
}

.memberList .img img {
  width: 100%;
  height: auto
}

.memberList h3 {
  padding-top: 10px
}

.memberList .profile {
  overflow: hidden
}

.memberList .title {
  clear: both;
  padding-top: 10px;
  font-size: .8125rem
}

@media screen and (max-width:768px) {
  .memberList .title {
    clear: none;
    font-weight: 700
  }
}

.memberList .summary {
  margin-top: 10px;
  font-size: .8125rem
}

.commingsoon {
  margin-top: 25px;
  text-align: center;
  font-weight: 700
}

.judgeSection ul.memberList li.member05 {
  clear: both;
  margin-left: 160px
}

.judgeSection ul.memberList li.comingSoon {
  text-align: center;
  font-size: 129%;
  font-weight: 700
}

.judgeSection ul.memberList li.comingSoon p {
  padding-top: 120px;
  color: #666
}

.judgeSection .members p {
  margin: 20px 0;
  color: #666;
  font-size: 143%;
  font-weight: 700;
  text-align: center
}

@media screen and (max-width:768px) {
  .judgeSection {
    margin-bottom: 10px!important
  }
  .judgeSection .judge {
    margin-bottom: 10px;
    padding: 12px 5%
  }
  .judgeSection .chairman .imgColumn {
    float: right;
    width: 33%;
    margin: 0 0 10px 4%
  }
  .judgeSection .chairman .textColumn,
  .judgeSection ul.memberList li {
    display: block;
    float: none;
    width: auto
  }
  .judgeSection .chairman .textColumn .profile h3 {
    padding-top: 15px;
    font-size: 108%
  }
  .judgeSection .chairman .textColumn .profile p {
    clear: both;
    overflow: hidden;
    font-size: 100%
  }
  .judgeSection .chairman .textColumn .profile p.title {
    clear: none;
    overflow: visible;
    font-size: 86%
  }
  .judgeSection .chairman .textColumn .profile p.title-msg {
    margin-bottom: -5px
  }
  .judgeSection .chairman .textColumn .message {
    font-size: 100%
  }
  .judgeSection .members p {
    margin: 10px 0;
    font-size: 100%
  }
  .judgeSection ul.memberList {
    margin: 0
  }
  .judgeSection ul.memberList li {
    height: auto!important;
    margin: 0 0 10px;
    padding: 12px 5%
  }
  .judgeSection ul.memberList li p.img {
    float: right;
    width: 25%;
    margin: 0 0 15px 4%
  }
  .judgeSection ul.memberList li h3,
  .judgeSection ul.memberList li p.title {
    margin: 0;
    background: 0 0;
    font-size: 100%
  }
  .judgeSection ul.memberList li h3 {
    padding-top: 15px
  }
  .judgeSection ul.memberList li p.title {
    margin-bottom: 15px;
    font-size: 86%
  }
  .judgeSection ul.memberList li p.profile {
    padding-top: 15px;
    font-size: 100%;
    background: url(/contest/assets/img/common/line_dashed_gry_x.png) center top repeat-x
  }
}

.prizeSection {
  margin: 50px 0
}

.prizeSection .prizeList:after {
  content: "";
  display: table;
  clear: both
}

.prizeSection .mark {
  color: #218ac8
}

.prizeSection .prize {
  position: relative;
  width: 100%;
  margin: 0 20px 20px 0;
  background: #fff;
  padding: 40px 50px
}

.prizeSection .prize h3 {
  margin: 0 0 20px;
  color: #da2727;
  font-size: .9375rem
}

@media screen and (max-width:768px) {
  .prizeSection .prize {
    margin: 0 0 20px;
    padding: 15px;
    width: auto;
    float: none;
    height: auto!important
  }
  .prizeSection .prize h3 {
    font-size: .8125rem;
    margin-right: 80px
  }
}

.prizeSection .prize h3 span {
  font-size: 1.875rem;
  line-height: 1.5
}

.prizeSection .prize h3 span .ex {
  font-size: 1.5rem
}

@media screen and (max-width:768px) {
  .prizeSection .prize h3 span {
    font-size: 1.125rem
  }
  .prizeSection .prize h3 span .ex {
    font-size: 1rem
  }
}

.prizeSection .prize ul {
  margin: 0;
  padding: 0;
  list-style: none
}

.prizeSection .prize ul li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0;
  position: relative;
  padding-left: 1em;
  font-size: 1rem
}

.prizeSection .prize ul li.other::before {
  display: none
}

.prizeSection .prize ul li:before {
  position: absolute;
  left: 0;
  content: '?';
  color: #da2727
}

.prizeSection .prize .scholarship {
  position: absolute;
  right: 0;
  top: 0;
  width: 120px;
  height: 117px;
  background: #da2727;
  color: #fff;
  text-align: center;
  padding-top: 10px
}

@media screen and (max-width:768px) {
  .prizeSection .prize ul li {
    font-size: .8125rem
  }
  .prizeSection .prize .scholarship {
    width: 80px;
    height: 80px;
    padding-top: 3px
  }
}

.prizeSection .prize .scholarship:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -36px;
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 36px 11px;
  border-color: transparent transparent #fff
}

.logo-list:after,
.themeSection .themes:after {
  content: "";
  clear: both
}

.prizeSection .prize .scholarship .label {
  font-size: .9375rem;
  display: inline-block;
  padding-bottom: 1px;
  margin-bottom: 10px;
  border-bottom: solid 1px #fff;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .prizeSection .prize .scholarship .label {
    margin-bottom: 5px;
    font-size: .6875rem
  }
}

.prizeSection .prize .scholarship .price {
  display: block;
  font-weight: 700
}

.prizeSection .aeonprizeInfo .title .label,
.prizeSection .scholarshipInfo .title .label {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: solid 3px #000
}

.prizeSection .prize .scholarship .price em {
  font-family: Oswald, Arial, sans-serif;
  font-weight: 700;
  font-size: 2.9375rem;
  line-height: 1;
  font-style: normal
}

@media screen and (max-width:768px) {
  .prizeSection .prize .scholarship .price em {
    font-size: 1.6875rem
  }
}

.prizeSection .aeonprizeInfo .title {
  margin-bottom: 25px;
  font-size: 1.125rem;
  letter-spacing: .16em;
  text-align: center
}

@media screen and (max-width:768px) {
  .prizeSection .aeonprizeInfo .title {
    font-size: 1rem
  }
}

.prizeSection .scholarshipInfo {
  margin-bottom: 20px
}

.prizeSection .scholarshipInfo .title {
  margin-bottom: 25px;
  font-size: 1.125rem;
  letter-spacing: .16em;
  text-align: center
}

@media screen and (max-width:768px) {
  .prizeSection .scholarshipInfo .title {
    font-size: 1rem
  }
}

.prizeSection {
  margin-bottom: 20px!important
}

.prizeSection p.button {
  display: none
}

.prizeSection .summaryColumn {
  display: inline;
  float: left;
  width: 710px
}

.prizeSection .detailColumn {
  display: inline;
  float: right;
  width: 380px;
  text-align: left
}

.prizeSection .detailColumn,
.prizeSection .summaryColumn .prize {
  position: relative;
  margin-bottom: 20px;
  padding: 20px;
  background: #fff
}

.prizeSection .summaryColumn .prize {
  padding-right: 35px
}

.prizeSection .summaryColumn .prize h3 {
  margin-bottom: 15px;
  color: #e8323f;
  font-size: 86%;
  font-weight: 400;
  line-height: 2.4em
}

.prizeSection .summaryColumn .prize h3 span {
  float: left;
  margin-right: 5px;
  font-size: 200%;
  font-weight: 700;
  line-height: 1.2em
}

.prizeSection .summaryColumn .prize h3 span span {
  float: none;
  margin-right: 0;
  font-size: 70%
}

.prizeSection .summaryColumn .prize03 h3 {
  line-height: 1.2em
}

.prizeSection .summaryColumn .prize p.note {
  margin-top: 1em
}

.prizeSection .summaryColumn .prize ul {
  font-size: 86%;
  color: #666
}

.prizeSection .summaryColumn .prize ul li {
  margin-top: .3em
}

.prizeSection .summaryColumn .prize ul li a {
  color: #666
}

.prizeSection .summaryColumn .prize p.addTxt {
  margin-left: 1em;
  padding-top: 15px;
  font-size: 86%;
  color: #666;
  text-indent: -1em
}

.prizeSection .summaryColumn .prize span.mark {
  color: #e8323f
}

.prizeSection .summaryColumn .prize .scholarship {
  position: absolute;
  left: 581px;
  top: 0;
  width: 116px;
  height: 82px;
  padding-top: 40px;
  background: url(/contest/assets/img/top/bg_scholarship.png) left top no-repeat;
  color: #fff;
  font-size: 172%;
  font-weight: 700;
  text-align: center;
  line-height: 1.3
}

.ie6 .prizeSection .summaryColumn .prize .scholarship {
  left: 480px
}

.prizeSection .summaryColumn .prize .scholarship span {
  display: block;
  font-size: 66%
}

.prizeSection .detailColumn {
  padding: 20px 0 5px
}

.prizeSection .detailColumn h3 {
  margin: 0 20px;
  padding: 0 0 15px;
  font-size: 129%;
  text-align: center;
  border-bottom: 3px solid #313436
}

.prizeSection .detailColumn h3 span.mark {
  color: #e8323f
}

.prizeSection .detailColumn .scholarship {
  margin: 0 30px;
  padding: 20px 0 15px
}

.prizeSection .detailColumn .scholarship p {
  font-size: 93%
}

.prizeSection .detailColumn .prize {
  margin: 0 20px;
  padding: 20px 10px 15px;
  border-bottom: 1px solid #bfbfbf
}

.prizeSection .detailColumn .last {
  border-bottom: none
}

.prizeSection .detailColumn .first {
  background: 0 0
}

.prizeSection .detailColumn .prize h4 {
  padding-left: 10px;
  border-left: solid 5px #e8323f;
  line-height: 1.3
}

.prizeSection .detailColumn .prize h5 {
  margin: 10px 0 -5px;
  font-size: 86%;
  line-height: 1.5
}

.prizeSection .detailColumn .prize p {
  margin-top: 10px;
  font-size: 86%
}

.prizeSection .detailColumn .prize p.img {
  text-align: center
}

.prizeSection .detailColumn .prize p.copyright {
  margin: 0 5px 0 0;
  font-size: 72%;
  text-align: right
}

.prizeSection .detailColumn p.comingSoon {
  padding: 20px 0;
  text-align: center
}

.prizeSection .prizeNav {
  display: none
}

@media screen and (max-width:768px) {
  .prizeSection {
    margin-bottom: 10px!important
  }
  .prizeSection .detailColumn,
  .prizeSection .summaryColumn {
    display: block;
    width: auto;
    float: none
  }
  .prizeSection .detailColumn,
  .prizeSection .summaryColumn .prize {
    margin-bottom: 10px;
    padding: 12px 5%!important
  }
  .prizeSection .summaryColumn .prize {
    display: none;
    position: absolute;
    width: 88%;
    z-index: 100;
    border: 2px solid #e8323f
  }
  .prizeSection .summaryColumn .current {
    display: block;
    position: relative
  }
  .prizeSection .summaryColumn .prize h3 {
    margin-bottom: 10px;
    font-size: 86%;
    line-height: 1.5em!important
  }
  .prizeSection .summaryColumn .prize .scholarship,
  .prizeSection .summaryColumn .prize h3 span {
    display: none
  }
  .prizeSection .prizeNav {
    display: block;
    position: relative;
    z-index: 200;
    margin-bottom: -2px
  }
  .prizeSection .prizeNav ul {
    overflow: hidden;
    margin-right: -1.1%
  }
  .prizeSection .prizeNav ul li {
    float: left;
    width: 32%;
    margin-right: 1.1%;
    padding-bottom: 2px
  }
  .prizeSection .prizeNav ul li div {
    display: block;
    background: #fff;
    color: #D43540;
    border: 1px solid #ccc;
    padding: 11px 5px;
    border-bottom: none!important;
    text-align: center;
    font-weight: 700
  }
  .prizeSection .prizeNav ul li a {
    text-decoration: none
  }
  .prizeSection .prizeNav ul li.current {
    padding-bottom: 0
  }
  .prizeSection .prizeNav ul li.current div {
    border: 2px solid #e8323f;
    padding: 10px 4px 13px;
    background-color: #fff
  }
  .prizeSection .prizeMainNav ul li div {
    padding-top: 0;
    padding-bottom: 5px
  }
  .prizeSection .prizeMainNav ul li.current div {
    padding-top: 0;
    padding-bottom: 7px
  }
  .prizeSection .prizeNav .scholarship {
    padding-top: 20px;
    background: url(/contest/assets/img/top/bg_scholarship_sp.png) center top no-repeat;
    background-size: 100px;
    height: 45px;
    color: #fff;
    font-size: 108%;
    font-weight: 700;
    text-align: center;
    line-height: 1.25
  }
  .prizeSection .prizeNav .scholarship span {
    display: block;
    font-size: 60%
  }
  .prizeSection .prizeNav .scholarship span.other {
    font-size: 60%;
    display: inline
  }
  .prizeSection .prizeNav ul li .title {
    font-size: 75%;
    letter-spacing: -.05em
  }
  .prizeSection .detailColumn {
    padding: 20px 0 5px
  }
  .prizeSection .detailColumn h3 {
    padding: 0 0 10px;
    font-size: 100%
  }
  .prizeSection .detailColumn .prize {
    margin: 0;
    padding: 15px 0
  }
  .prizeSection .detailColumn .first {
    background: 0 0
  }
  .prizeSection .detailColumn p.comingSoon {
    padding: 20px 0 10px;
    color: #666;
    font-weight: 700
  }
}

.themeSection .title {
  margin: 0 0 20px;
  padding-bottom: 20px;
  border-bottom: dotted 1px #e8323f;
  font-weight: 700;
  font-size: 129%;
  text-align: center
}

.themeSection .title span {
  color: #d43540
}

.themeSection .mainTheme {
  position: relative;
  margin: -5px 0 20px;
  padding-bottom: 25px;
  font-weight: 700;
  text-align: center
}

.themeSection .mainTheme h3 {
  font-size: 200%
}

.themeSection .mainTheme h3 span {
  color: #fff;
  font-size: 68%;
  background: #223566;
  padding: 5px 10px
}

.themeSection .mainTheme p {
  font-size: 108%
}

.themeSection .mainTheme p.language {
  position: absolute;
  right: 0;
  top: 9px
}

.themeSection .language .langButton {
  display: none;
  color: #fff
}

.themeSection .language .on {
  display: block
}

.themeSection .language .english {
  background-color: #223566;
  background-image: url(/contest/assets/img/common/arw_min_wht_r.png);
  color: #fff
}

.themeSection .language .english:hover {
  background-color: #de0400
}

.themeSection .on {
  display: block!important
}

.themeSection .themes:after {
  display: table
}

.themeSection .themes .column {
  display: inline;
  float: left;
  width: 320px;
  padding-bottom: 8px!important
}

.themeSection .themes .theme01 {
  border-left: none;
  padding: 0 34px 0 10px
}

.themeSection .themes .theme02 {
  padding: 0 34px
}

.themeSection .themes .theme03 {
  padding: 0 10px 0 34px
}

.themeSection .themes .column h3 {
  font-size: 129%;
  font-weight: 700;
  line-height: 1.4
}

.themeSection .themes h3 a {
  color: #333!important;
  text-decoration: none!important;
  cursor: default;
  pointer-events: none
}

.themeSection .themes .theme03 em em {
  font-style: italic;
  font-weight: 400
}

.themeSection .themes .column .language,
.themeSection .themes .column .text {
  display: none
}

.themeSection .themes .column h3 span {
  display: block!important;
  margin: 8px 0 15px
}

.themeSection .themes .column h3 em {
  font-weight: 700;
  display: block
}

.themeSection .themes .column .point {
  margin-top: 20px;
  padding-top: 10px;
  border-top: solid 1px #bfbfbf
}

.themeSection .themes .column .extra h4,
.themeSection .themes .column .point h4 {
  margin-bottom: 5px;
  color: #223566;
  text-align: center;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 186%
}

.themeSection .themes .column .extra ol,
.themeSection .themes .column .extra p {
  font-size: 86%
}

.themeSection .themes .column .extra {
  margin-top: 30px;
  padding-top: 15px;
  border-top: dotted 1px #e8323f
}

.themeSection .themes .column .extra p,
.themeSection .themes .column .extra ul {
  margin-bottom: 1em
}

.themeSection .themes .column .extra ul li {
  margin-top: 7px
}

.themeSection .themes .column .extra ul li.blankLink a {
  margin-left: 3px
}

.themeSection .themes .column .extra ol li {
  list-style: decimal;
  margin: 1em 0 0 2em
}

.themeSection .themes .column .comingSoon {
  margin-top: 20px
}

.themeSection .themes .column h3 {
  position: relative;
  margin: 0 -10px 15px;
  text-align: center
}

.themeSection .themes .column h3 span {
  padding: 2px 0;
  background: #de0400;
  color: #fff;
  font-size: 158%;
  font-family: 'Roboto Condensed', sans-serif
}

.themeSection .themes .column h3 em em {
  display: inline
}

.themeSection .themes4column .column {
  width: 226px;
  background: #fff;
  margin-right: 16px
}

.themeSection .themes4column .theme01,
.themeSection .themes4column .theme02,
.themeSection .themes4column .theme03,
.themeSection .themes4column .theme04 {
  padding: 0 20px
}

.themeSection .themes4column .theme04 {
  margin-right: 0
}

.themeSection .themes4column .column h3 {
  font-size: 120%
}

.themeSection .themes4column .theme03 h3 em {
  letter-spacing: -.05em
}

.themeSection .themes4column .column p {
  font-size: 93%
}

@media screen and (max-width:768px) {
  .themeSection .title span {
    margin: 0 0 20px;
    padding-bottom: 20px;
    border-bottom: dotted 1px #e8323f;
    font-weight: 700;
    font-size: 129%;
    text-align: center;
    color: #d43540
  }
  .themeSection .mainTheme {
    margin: 0;
    padding: 10px 0;
    border-bottom: none
  }
  .themeSection .mainTheme h3 {
    font-size: 129%;
    margin-bottom: 5px
  }
  .themeSection .mainTheme h3 span,
  .themeSection .mainTheme p {
    font-size: 80%
  }
  .themeSection .mainTheme p.language {
    display: none
  }
  .themeSection .themes .column {
    display: block;
    float: none;
    width: auto;
    height: auto!important;
    padding: 0!important;
    margin: 0 0 15px;
    border-left: none
  }
  .themeSection .themes .theme02 {
    border-right: none;
    border-left: none
  }
  .themeSection .themes .column .language {
    display: block;
    margin-top: 15px;
    margin-bottom: 15px
  }
  .themeSection .themes .column h3 {
    background: 0 0;
    overflow: hidden;
    margin: 0 0 15px;
    font-size: 100%;
    text-align: left;
    border-top: 2px solid #de0400
  }
  #report .themeSection .themes .column h3 {
    background: 0 0
  }
  #report .year2015 .themeSection .themes .column h3 {
    background: url(/contest/assets/img/common/arw_basic_red_r.png) 97% center no-repeat
  }
  .themeSection .themes .column h3 span {
    float: left;
    margin: 0 1em 0 0;
    padding: 20px 15px;
    font-size: 115%
  }
  .themeSection .themes .column h3 em {
    display: block;
    overflow: hidden;
    padding-top: .7em
  }
  .themeSection .themes .column .point {
    margin-top: 10px;
    margin-bottom: 15px;
    padding: 10px;
    border-top: none;
    background: #fff
  }
  .themeSection .themes .column .point h4 {
    font-size: 115%;
    text-align: left
  }
  .themeSection .themes .column .textTop {
    height: auto!important
  }
  .themeSection .themes .column .textTop p {
    display: block;
    margin: 0 10px
  }
  .year2015 .themeSection .themes .column .textTop p {
    display: none
  }
  .themeSection .themes4column .column {
    margin-right: 0
  }
}

.comingSoonWide,
.host-logo,
.logo-list,
.outlineSection p.outlinePdfButton {
  text-align: center
}

.outlineSection {
  padding-top: 50px
}

@media screen and (max-width:768px) {
  .outlineSection {
    padding-top: 0
  }
}

.outlineSection .basicFrame {
  padding: 5px 20px
}

.outlineSection p.outlinePdfButton a {
  margin: 0 auto
}

.outlineSection a.pdfLink {
  text-decoration: none;
  color: #333
}

.outlineSection a.pdfLink .link {
  text-decoration: underline
}

.outlineSection a.pdfLink:hover .link {
  text-decoration: none
}

.outlineSection a.pdfLink .icn {
  padding: 2px 3px 1px;
  background: #888;
  color: #fff;
  font-size: 71%;
  vertical-align: middle
}

@media screen and (max-width:768px) {
  .outlineSection .basicFrame {
    padding: 1px 10px
  }
  .criterionTable,
  .criterionTable tbody,
  .criterionTable td,
  .criterionTable th,
  .criterionTable tr,
  .outlineTable,
  .outlineTable tbody,
  .outlineTable td,
  .outlineTable th,
  .outlineTable tr {
    display: block
  }
  .criterionTable td,
  .criterionTable th,
  .outlineTable td,
  .outlineTable th {
    padding: 0;
    background: 0 0
  }
  .criterionTable th,
  .outlineTable th {
    width: auto;
    padding: 14px 0 5px;
    font-size: 100%
  }
  .criterionTable td,
  .outlineTable td {
    padding-bottom: 15px;
    border: none
  }
}

.criterionSection h3 {
  font-size: 1.125rem;
  margin: 30px 0 15px
}

.mainprizeSection {
  clear: both;
  background: #fff;
  padding: 30px
}

.mainprizeSection h4 {
  font-size: 150%;
  font-weight: 700;
  line-height: 1.2em;
  margin-bottom: 20px
}

.mainprizeSection .logo {
  display: inline;
  float: left;
  width: 260px
}

.mainprizeSection .cont {
  display: inline;
  float: right;
  width: 790px
}

@media screen and (max-width:768px) {
  .mainprizeSection {
    padding: 20px
  }
  .mainprizeSection h4 {
    font-size: 100%
  }
  .mainprizeSection .logo {
    float: none;
    margin-top: 0;
    text-align: center;
    width: auto
  }
  .mainprizeSection .cont {
    display: block;
    float: none;
    width: auto
  }
}

.comingSoonWide {
  margin-bottom: 20px;
  padding: 30px;
  background: #fff
}

.comingSoonWide p {
  color: #666;
  font-size: 143%!important;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .comingSoonWide p {
    font-size: 100%!important
  }
}

.outline-themes {
  margin: 0 -15px
}

.outline-host {
  padding-top: 25px
}

.host-logo .cross {
  color: #da2727;
  font-size: 1.125rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 700;
  line-height: 26px;
  margin: 0 10px
}

@media screen and (max-width:768px) {
  .host-logo .cross {
    display: block;
    margin: 3px 0
  }
}

.host-logo img {
  vertical-align: middle
}

.outline-sponsor {
  padding-top: 30px
}

.logo-list {
  padding: 0;
  list-style: none;
  font-size: 0;
  margin: 0 0 0 20px
}

.logo-list:after {
  display: table
}

.logo-list li.other::before {
  display: none
}

.logo-list li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0;
  display: inline-block;
  font-size: 16px;
  white-space: nowrap
}

@media screen and (max-width:768px) {
  .logo-list {
    margin: 0 0 0 15px;
    text-align: left
  }
}

.logo-list .item {
  width: 137px;
  margin: 0 20px 20px 0;
  border: 2px solid #ddd
}

@media screen and (max-width:768px) {
  .logo-list .item {
    float: left;
    width: calc((100% - 30px)/ 2);
    margin: 0 15px 15px 0
  }
  .logo-list .item img {
    width: 100%;
    height: auto
  }
}

.logo-list a {
  display: block
}

.no-touch .logo-list a {
  transition: opacity .4s ease
}

.no-touch .aboutSecondSection .pdf-button,
.no-touch .preliminary-info .button,
.no-touch .preliminary-news .button {
  transition: color .3s ease, background-color .3s ease
}

.no-touch .logo-list a:hover {
  opacity: .7
}

.outline-supported {
  margin-bottom: 50px;
  padding-top: 0
}

.aboutSecondSection {
  padding-top: 50px
}

@media screen and (max-width:768px) {
  .aboutSecondSection {
    padding-top: 0
  }
}

.aboutSecondSection .lead {
  font-weight: 700
}

.aboutSecondSection .scroll-area {
  overflow-y: scroll;
  overflow-scrolling: touch;
  height: 300px;
  margin-top: 30px;
  border: 2px solid #dcdcdc
}

.aboutSecondSection .scroll-area .body {
  padding: 30px 20px
}

.aboutSecondSection .scroll-area .body p:not(:last-child) {
  margin-bottom: 1.5em
}

.aboutSecondSection .action {
  margin-top: 30px;
  text-align: center
}

@media screen and (max-width:768px) {
  .aboutSecondSection .scroll-area .body {
    padding: 15px
  }
  .aboutSecondSection .action {
    margin-top: 20px
  }
}

.aboutSecondSection .pdf-button {
  display: inline-block;
  width: 330px;
  height: 50px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 25px;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  appearance: none;
  padding: 0;
  outline: 0;
  border: 2px solid #da2727;
  font-weight: 700;
  background: url(/contest/assets/img/common/ico_pdf_l.svg) 92% center no-repeat;
  background-size: 30px auto
}

@media screen and (max-width:768px) {
  .aboutSecondSection .pdf-button {
    width: 100%;
    height: auto
  }
  .aboutSecondSection .pdf-button .button-label {
    padding: 1em 0
  }
}

.aboutSecondSection .pdf-button:after {
  display: inline-block;
  content: '';
  width: 0;
  height: 100%;
  vertical-align: middle
}

.aboutSecondSection .pdf-button .button-label {
  display: inline-block;
  vertical-align: middle;
  margin-right: 25px
}

.aboutSecondSection .pdf-button,
.aboutSecondSection .pdf-button:active,
.aboutSecondSection .pdf-button:focus,
.aboutSecondSection .pdf-button:hover,
.aboutSecondSection .pdf-button:link,
.aboutSecondSection .pdf-button:visited {
  color: #da2727
}

.aboutSecondSection .pdf-button .en,
.aboutSecondSection .pdf-button .ja {
  display: block
}

.aboutSecondSection .pdf-button .en {
  font-family: Oswald, Arial, sans-serif;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1
}

.aboutSecondSection .pdf-button .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

.no-touch .aboutSecondSection .pdf-button:hover {
  background-color: #da2727;
  color: #fff
}

.aboutSecondSection .pdf-button:before {
  content: '\E902'
}

@media screen and (max-width:768px) {
  .aboutSecondSection .pdf-button .ja {
    margin-top: 8px
  }
  .aboutSecondSection .pdf-button {
    background-size: 21px auto
  }
  .aboutSecondSection .pdf-button .button-label {
    margin-right: 15px
  }
  .pdf-content {
    font-size: .875rem
  }
}

.pdf-content .date {
  text-align: right
}

.pdf-content h1 {
  margin-bottom: 1em;
  font-size: 1.5rem;
  text-align: center
}

@media screen and (max-width:768px) {
  .pdf-content h1 {
    font-size: 1rem
  }
}

.pdf-content h2 {
  margin: 3em 0 1em;
  font-size: 1.125rem
}

.pdf-content ul {
  padding-left: 30px
}

@media screen and (max-width:768px) {
  .pdf-content h2 {
    font-size: .9375rem
  }
  .pdf-content ul {
    padding-left: 20px
  }
}

.pdf-content ul li+li {
  margin-top: 1em
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

.preliminary-info .button:before,
.preliminary-news .button:before {
  font-family: iconfont;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  text-decoration: none;
  text-transform: none;
  speak: none
}

.preliminary-info .button .en,
.preliminary-news .button .en {
  font-family: Oswald, Arial, sans-serif
}

.preliminary-comingsoon .box {
  padding-top: 100px;
  padding-bottom: 100px;
  text-align: center
}

.preliminary-comingsoon .message {
  font-size: 1.5rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .preliminary-comingsoon .message {
    font-size: 1.125rem
  }
}

.preliminary-news .news-list {
  margin: 0;
  padding: 0;
  list-style: none
}

.preliminary-news .news-list li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0
}

.preliminary-news .news-list li.other::before {
  display: none
}

.preliminary-news .news-list>li {
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display:flex;display: flex;
  font-size: 1rem
}

@media screen and (max-width:768px) {
  .preliminary-news .news-list>li {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    font-size: .875rem
  }
  .preliminary-news .news-list span {
    font-weight: 700
  }
}

.preliminary-news .news-list>li:not(:first-child) {
  margin-top: 1.5em
}

.preliminary-news .news-list>li:nth-child(n+4) {
  display: none
}

.preliminary-news .news-list em,
.preliminary-news .news-list span {
  display: block
}

.preliminary-news .news-list span {
  -webkit-flex: none;
  -ms-flex: none;
  flex: none;
  width: 9em;
  margin-right: 1em
}

.preliminary-news .news-list em {
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  min-width: 0;
  font-style: normal
}

.preliminary-news .more {
  margin-top: 30px;
  text-align: center
}

.preliminary-news .button {
  display: inline-block;
  width: 220px;
  height: 45px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 25px;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  appearance: none;
  padding: 0;
  outline: 0;
  background: 0 0;
  border: 2px solid #000;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .preliminary-news .more {
    margin-top: 20px
  }
  .preliminary-news .button {
    width: 100%;
    height: auto
  }
  .preliminary-news .button .button-label {
    padding: 1em 0
  }
}

.preliminary-news .button:after {
  display: inline-block;
  content: '';
  width: 0;
  height: 100%;
  vertical-align: middle
}

.preliminary-news .button .button-label {
  display: inline-block;
  vertical-align: middle
}

.preliminary-news .button,
.preliminary-news .button:active,
.preliminary-news .button:focus,
.preliminary-news .button:hover,
.preliminary-news .button:link,
.preliminary-news .button:visited {
  color: #000
}

.preliminary-news .button .en,
.preliminary-news .button .ja {
  display: block
}

.preliminary-news .button .en {
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1
}

.preliminary-news .button .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

@media screen and (max-width:768px) {
  .preliminary-news .button .ja {
    margin-top: 8px
  }
}

.no-touch .preliminary-news .button:hover {
  background-color: #000;
  color: #fff
}

.preliminary-news .button:before {
  content: '\E904';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 14px
}

@media screen and (max-width:768px) {
  .preliminary-news .button {
    position: relative
  }
  .preliminary-news .button:before {
    position: absolute;
    top: 50%;
    margin-top: -.5em;
    line-height: 1;
    font-size: 12px;
    left: 5%
  }
}

.preliminary-news .button:before {
  left: auto;
  right: 20px
}

.preliminary-news .button .button-label {
  font-size: .9375rem;
  letter-spacing: .12em
}

.preliminary-news .box.is-open .news-list li:nth-child(n+4) {
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display:flex;display: flex
}

.preliminary-news .box.is-open .more {
  display: none
}

.preliminary-info {
  margin-top: 50px
}

.preliminary-info .info-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display:flex;display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.preliminary-info .info-list li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0
}

.preliminary-info .info-list li.other::before {
  display: none
}

.preliminary-info .info-list .item {
  width: calc((100% - 30px)/ 2);
  text-align: left
}

@media screen and (max-width:768px) {
  .preliminary-news .button:before {
    right: 15px
  }
  .preliminary-news .button .button-label {
    font-size: .875rem
  }
  .preliminary-info {
    margin-top: 0
  }
  .preliminary-info .info-list {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
  }
  .preliminary-info .info-list .item {
    width: 100%
  }
}

@media screen and (min-width:769px) {
  .preliminary-info .info-list .item:nth-child(even) {
    margin-left: 30px
  }
  .preliminary-info .info-list .item:nth-child(n+3) {
    margin-top: 45px
  }
}

.preliminary-info .note {
  margin-bottom: 20px;
  font-size: 1rem
}

.preliminary-info .button {
  display: inline-block;
  width: 100%;
  height: 100px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 50px;
  text-decoration: none;
  line-height: 1.3;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: 0;
  background: 0 0;
  border: 2px solid #da2727;
  font-weight: 700;
  position: relative;
  padding: 0 60px;
  text-align: left
}

@media screen and (max-width:768px) {
  .preliminary-info .info-list .item:nth-child(n+2) {
    margin-top: 20px
  }
  .preliminary-info .note {
    margin-bottom: 10px;
    font-size: .75rem
  }
  .preliminary-info .button {
    width: 100%;
    height: auto
  }
  .preliminary-info .button .button-label {
    padding: 1em 0
  }
}

.preliminary-info .button:after {
  display: inline-block;
  content: '';
  width: 0;
  height: 100%;
  vertical-align: middle
}

.preliminary-info .button .button-label {
  display: inline-block;
  vertical-align: middle
}

.preliminary-info .button,
.preliminary-info .button:active,
.preliminary-info .button:focus,
.preliminary-info .button:hover,
.preliminary-info .button:link,
.preliminary-info .button:visited {
  color: #da2727
}

.preliminary-info .button .en,
.preliminary-info .button .ja {
  display: block
}

.preliminary-info .button .en {
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1
}

.preliminary-info .button .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

@media screen and (max-width:768px) {
  .preliminary-info .button .ja {
    margin-top: 8px
  }
}

.no-touch .preliminary-info .button:hover {
  background-color: #da2727;
  color: #fff
}

.preliminary-info .button:before {
  content: '\E902';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 21px;
  left: 5%
}

@media screen and (max-width:768px) {
  .preliminary-info .button {
    position: relative;
    padding: 0 35px
  }
  .preliminary-info .button:before {
    position: absolute;
    top: 50%;
    margin-top: -.5em;
    line-height: 1;
    font-size: 12px;
    left: 5%
  }
}

.preliminary-info .button .button-label {
  font-size: 1.125rem;
  letter-spacing: .08em
}

.preliminary-info .button.is-disabled {
  pointer-events: none;
  color: #afafaf!important;
  border-color: #afafaf!important
}

.preliminary-info .pdf-button {
  background: url(/contest/assets/img/common/ico_pdf_l.svg) 92% center no-repeat;
  background-size: 42px auto;
  padding-right: 80px
}

.preliminary-info .pdf-button.is-disabled {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2284%22%20height%3D%2284%22%3E%3Crect%20width%3D%2284%22%20height%3D%2284%22%20rx%3D%226%22%20ry%3D%226%22%20fill%3D%22%23fff%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%222%22%20width%3D%2280%22%20height%3D%2280%22%20rx%3D%225%22%20ry%3D%225%22%20fill%3D%22%23afafaf%22%2F%3E%3Cpath%20d%3D%22M21.377%2034.268h-6.913v16.8h3.12v-4.847h3.792c4.416%200%207.153-2.28%207.153-5.977%200-3.72-2.736-5.976-7.152-5.976zm-.144%209.313h-3.649v-6.673h3.648c2.736%200%204.152%201.224%204.152%203.336s-1.415%203.337-4.151%203.337zm13.535%207.489h7.345c5.449%200%209.169-3.36%209.169-8.4s-3.72-8.4-9.169-8.4h-7.345v16.8zm3.12-2.64V36.908h4.08c3.744%200%206.168%202.28%206.168%205.761s-2.424%205.761-6.168%205.761h-4.08zm31.849-11.546v-2.616H57.472v16.8h3.12v-6.431H68.7V42h-8.108v-5.116h9.145z%22%20fill%3D%22%23fefefe%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E")
}

.preliminary-link {
  margin-top: 50px
}

@media screen and (max-width:768px) {
  .preliminary-info .button .button-label {
    font-size: .9375rem
  }
  .preliminary-info .pdf-button {
    background-size: 21px auto;
    background-position: 95%;
    padding-right: 40px
  }
  .preliminary-link {
    margin-top: 0
  }
}

.preliminary-link .lead {
  margin-bottom: 30px;
  font-size: 1rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .preliminary-link .lead {
    font-size: .875rem
  }
}

.preliminary-link .link-list {
  margin: 0;
  padding: 0;
  list-style: none
}

.preliminary-link .link-list li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0
}

.preliminary-link .link-list li.other::before {
  display: none
}

.preliminary-link .link-list .item {
  position: relative;
  padding-left: 1em;
  font-size: 1rem
}

@media screen and (max-width:768px) {
  .preliminary-link .link-list .item {
    font-size: .875rem
  }
}

.preliminary-link .link-list .item:before {
  position: absolute;
  left: 0;
  top: 0;
  content: '?'
}

.preliminary-link .link-list .item:not(:first-child) {
  margin-top: 1.5em
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

.public-lead {
  text-align: center
}

.public-lead .title {
  padding: 12px;
  background: #da2727;
  color: #fff;
  font-size: 1.375rem;
  line-height: 1
}

@media screen and (max-width:768px) {
  .public-lead .title {
    padding: 8px;
    font-size: .875rem
  }
}

.public-lead .date {
  margin-top: 85px;
  font-size: 2.5625rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.5
}

@media screen and (max-width:768px) {
  .public-lead .date {
    margin-top: 30px;
    font-size: 1.125rem;
    line-height: 1.5
  }
}

.public-lead .lead {
  margin-top: 50px;
  font-size: .9375rem;
  line-height: 2em;
  letter-spacing: .04em
}

@media screen and (max-width:768px) {
  .public-lead .lead {
    margin-top: 25px;
    font-size: .875rem;
    text-align: left;
    line-height: 1.8
  }
}

.public-lead .data {
  margin: 50px 0 0;
  padding: 30px 50px 25px;
  background: #eee;
  font-weight: 700;
  text-align: left
}

.public-lead .data .dataTitle {
  margin-bottom: 20px;
  text-align: center
}

.public-lead .data .dataTitle span {
  padding-bottom: 5px;
  border-bottom: 3px solid #000
}

.public-lead .data dt {
  clear: both;
  float: left;
  width: 7em;
  margin-bottom: .3em
}

@media screen and (max-width:768px) {
  .public-lead .data {
    margin-top: 30px;
    padding: 15px;
    font-size: .8125rem
  }
  .public-lead .data dt {
    float: none;
    width: auto;
    margin-bottom: 0
  }
}

.public-lead .data dd {
  margin-left: 0;
  overflow: hidden;
  margin-bottom: .3em
}

.public-lead .caution {
  margin-top: 45px;
  text-align: left
}

@media screen and (max-width:768px) {
  .public-lead .data dd {
    font-weight: 400;
    margin-bottom: 1em
  }
  .public-lead .data dd:last-child {
    margin-bottom: 0
  }
  .public-lead .caution {
    margin-top: 30px
  }
}

.public-lead .caution .sub-title {
  font-size: .9375rem;
  margin-bottom: 20px;
  font-style: italic;
  letter-spacing: .16em
}

.public-lead .caution .sub-title .label {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: solid 3px #000
}

@media screen and (max-width:768px) {
  .public-lead .caution .m-disc-list,
  .public-lead .caution .sub-title {
    font-size: .8125rem
  }
}

.public-lead .message {
  margin-top: 100px;
  font-size: 1.625rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .public-lead .message {
    margin-top: 30px;
    font-size: 1.125rem;
    line-height: 1.5
  }
}

.public-lead .desc {
  margin-top: 80px;
  line-height: 2em;
  text-align: left
}

.public-lead .desc p {
  margin-bottom: 1.6em
}

.public-lead .desc p:last-child {
  margin-bottom: 0
}

@media screen and (max-width:768px) {
  .public-lead .desc {
    margin-top: 30px;
    line-height: 1.8
  }
}

.public-lead .desc .alert {
  color: #c71e1e
}

.public-lead .outline {
  margin-top: 45px;
  padding: 40px 50px 30px;
  background: #eee;
  text-align: left
}

.public-lead .outline .sub-title {
  font-size: 1.125rem;
  line-height: 1.88889em
}

@media screen and (max-width:768px) {
  .public-lead .outline {
    margin-top: 30px;
    padding: 15px
  }
  .public-lead .outline .sub-title {
    font-size: .8125rem
  }
}

.public-lead .outline .contact {
  margin: 25px 0 0;
  padding: 40px 45px 20px;
  background: #fff
}

.public-lead .outline .contact dt {
  clear: both;
  float: left;
  width: 8em;
  margin-bottom: 1em
}

@media screen and (max-width:768px) {
  .public-lead .outline .contact {
    margin-top: 20px;
    padding: 15px;
    font-size: .8125rem
  }
  .public-lead .outline .contact dt {
    float: none;
    width: auto;
    font-weight: 700;
    margin-bottom: 0
  }
}

.public-lead .outline .contact dd {
  margin-left: 0;
  overflow: hidden;
  margin-bottom: 1em
}

.publicForm {
  margin-top: 60px
}

.publicForm table td,
.publicForm table th {
  border-top-color: #fff
}

.publicForm table th {
  position: relative
}

.publicForm table th .required {
  position: absolute;
  right: 25px;
  top: 35px
}

.publicForm table td {
  background: #eee
}

.publicForm table td.indent {
  padding-left: 60px;
  padding-right: 75px
}

@media screen and (max-width:768px) {
  .public-lead .outline .contact dd:last-child {
    margin-bottom: 0
  }
  .publicForm {
    margin-top: 30px
  }
  .publicForm table th .required {
    top: 10px;
    right: 10px
  }
  .publicForm table td.indent {
    padding-left: 8px;
    padding-right: 8px
  }
}

.publicForm table table {
  width: auto
}

.publicForm table table th {
  padding-right: 20px
}

.publicForm table table td+th {
  padding-left: 35px
}

.publicForm .item+.item {
  margin-top: 20px
}

@media screen and (max-width:768px) {
  .publicForm table table th {
    padding-right: 0
  }
  .publicForm table table td+th {
    padding-left: 0
  }
  .publicForm .item+.item {
    margin-top: 10px
  }
}

.publicForm .error+.item {
  margin-top: 20px
}

@media screen and (max-width:768px) {
  .publicForm .error+.item {
    margin-top: 10px
  }
}

.publicForm .w500 {
  width: 500px
}

.publicForm .w200 {
  width: 210px
}

.publicForm .w100 {
  width: 110px
}

.publicForm .w70 {
  width: 70px
}

.publicForm .hyphen {
  margin: 0 10px
}

@media screen and (max-width:768px) {
  .publicForm .hyphen {
    margin: 0 4px
  }
}

.publicForm .caution {
  margin-top: 10px
}

@media screen and (max-width:768px) {
  .publicForm .caution {
    margin-top: 8px
  }
}

.publicForm .caution-sub {
  font-size: .75rem;
  color: #c71e1e;
  margin-top: 10px
}

@media screen and (max-width:768px) {
  .publicForm .caution-sub {
    margin-top: 8px
  }
}

.publicForm .caution+.caution-sub {
  margin-top: 5px
}

.publicForm .actionList {
  margin-bottom: 0
}

@media screen and (max-width:768px) {
  .publicForm .caution+.caution-sub {
    margin-top: 0
  }
  .publicForm .jname th {
    clear: both;
    float: left;
    width: 15%!important;
    padding-right: 0
  }
  .publicForm .jname td {
    overflow: hidden;
    width: 85%!important;
    margin-bottom: 5px
  }
  .publicForm .jname td:last-child {
    margin-bottom: 0
  }
}

.publicForm .tel input.text {
  width: 65px!important
}

.publicForm .age input.text {
  width: 80px!important
}

.publicForm .comment textarea {
  margin: 0
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

.commentsButton a:before,
.entryListButton a:before,
.highlightSection .nav a:before,
.theme-bilingual-nav a:before,
.winnerSection .winner .link dt:before {
  font-family: iconfont;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  text-decoration: none;
  text-transform: none;
  speak: none
}

.highlightSection .data .num,
.highlightSection .nav a .en {
  font-family: Oswald, Arial, sans-serif
}

.page-report #subpage-header {
  float: left
}

.reportNav {
  margin: 0 -10px 0 0;
  padding: 0;
  list-style: none;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display:flex;display: flex
}

.reportNav li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0
}

.reportNav li.other::before {
  display: none
}

.reportNav .item {
  margin-right: 10px
}

@media screen and (max-width:768px) {
  .page-report #subpage-header {
    float: none
  }
  .reportNav {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
  .reportNav .item {
    width: calc((100% - 20px)/ 2);
    margin-right: 10px
  }
  .reportNav .item:nth-child(n+3) {
    margin-top: 10px
  }
}

.reportNav .item a {
  display: block;
  opacity: .5
}

.no-touch .reportNav .item a {
  transition: opacity .4s ease
}

.no-touch .reportNav .item a:hover {
  opacity: .7
}

.reportNav .item img {
  width: 100%;
  height: auto
}

.reportNav .item.is-current {
  position: relative
}

.reportNav .item.is-current:after {
  width: 100%;
  height: 3px;
  background: #da2727;
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0
}

.reportNav .item.is-current a {
  opacity: 1
}

#subpage-header+.reportNav {
  float: right;
  margin-top: 120px;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 630px
}

@media screen and (max-width:768px) {
  #subpage-header+.reportNav {
    float: none;
    width: auto;
    margin-top: 0
  }
}

#subpage-header+.reportNav .item {
  -webkit-flex: none;
  -ms-flex: none;
  flex: none
}

@media screen and (min-width:769px) {
  #subpage-header+.reportNav .item {
    width: calc((100% - 40px)/ 4);
    margin-right: 10px
  }
  #subpage-header+.reportNav .item:nth-child(n+5) {
    margin-top: 10px
  }
}

@media screen and (max-width:768px) {
  #subpage-header+.reportNav .item {
    width: calc((100% - 20px)/ 2);
    margin-right: 10px
  }
  #subpage-header+.reportNav .item.is-empty {
    display: none
  }
  #subpage-header+.reportNav .item:nth-child(n+4) {
    margin-top: 10px
  }
}

.highlightSection {
  clear: both;
  margin-top: 50px
}

@media screen and (max-width:768px) {
  .highlightSection {
    margin-top: 30px
  }
}

.highlightSection .visual {
  background: #fff
}

.highlightSection .visual .item {
  text-align: center
}

.highlightSection .visual .item img {
  margin: 0 auto;
  max-width: 100%;
  height: auto
}

.highlightSection .visual .item a {
  display: block;
  position: relative
}

.highlightSection .visual .js-popup-youtube:after {
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -51px 0 0 -51px;
  content: '';
  display: block;
  background: url(/contest/assets/img/common/btn_movie.png) left top no-repeat;
  background-size: 103px auto;
  width: 103px;
  height: 102px;
  z-index: 120;
  transition: opacity .4s ease
}

.no-touch .highlightSection .nav a,
.no-touch .theme-bilingual-nav a,
.no-touch .top-visual .button a,
.no-touch .winnerSection .winner .movieButton a {
  transition: color .3s ease, background-color .3s ease
}

@media screen and (max-width:768px) {
  .highlightSection .visual .js-popup-youtube:after {
    background-size: 50px auto;
    width: 50px;
    height: 50px;
    margin: -25px 0 0 -25px
  }
}

.highlightSection .visual .js-popup-youtube img {
  z-index: 110
}

.highlightSection .visual .js-popup-youtube:hover:after {
  opacity: .7
}

.highlightSection .text {
  padding: 30px 50px 50px;
  background: #fff;
  text-align: center
}

.highlightSection .title {
  font-size: 2.5rem;
  letter-spacing: .16em
}

@media screen and (max-width:768px) {
  .highlightSection .text {
    padding: 20px 15px
  }
  .highlightSection .title {
    font-size: 1.25rem
  }
}

.highlightSection .title .label {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: solid 3px #000
}

.highlightSection .date {
  margin-top: 15px
}

.highlightSection .data {
  margin-top: 20px
}

.highlightSection .data .num {
  margin: 0 10px;
  font-size: 2.1875rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1
}

@media screen and (max-width:768px) {
  .highlightSection .data .num {
    font-size: 1.25rem
  }
}

.highlightSection .data .slash {
  margin: 0 10px;
  color: #d9d9d9;
  font-size: 1.5625rem
}

@media screen and (max-width:768px) {
  .highlightSection .data .slash {
    display: block;
    font-size: 0;
    height: 5px
  }
}

.highlightSection .lead {
  margin-top: 30px;
  font-size: .875rem;
  text-align: left
}

.highlightSection .lead p {
  margin-bottom: 15px
}

.highlightSection .nav {
  padding: 0;
  list-style: none;
  font-size: 0;
  margin: 50px -10px 0
}

.highlightSection .nav li.other::before {
  display: none
}

.highlightSection .nav li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0;
  display: inline-block;
  font-size: 16px;
  white-space: nowrap;
  margin-right: 20px
}

.highlightSection .nav li:last-child {
  margin-right: 0
}

.highlightSection .nav:after {
  content: "";
  display: table;
  clear: both
}

.highlightSection .nav .item {
  width: calc((100% - 40px)/ 2)
}

@media screen and (max-width:768px) {
  .highlightSection .nav {
    margin: 20px 0 0
  }
  .highlightSection .nav .item {
    display: block;
    width: auto;
    margin: 0 0 10px
  }
}

.highlightSection .nav a {
  outline: 0;
  width: 100%;
  height: 100px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 50px;
  text-decoration: none;
  line-height: 1.3;
  border: 2px solid #da2727;
  position: relative;
  display: block;
  font-size: 1.125rem;
  text-align: left;
  padding-left: 60px;
  font-weight: 700
}

.highlightSection .nav a .button-label,
.highlightSection .nav a:after {
  display: inline-block;
  vertical-align: middle
}

@media screen and (max-width:768px) {
  .highlightSection .nav a {
    width: 100%;
    height: auto
  }
  .highlightSection .nav a .button-label {
    padding: 1em 0
  }
}

.highlightSection .nav a:after {
  content: '';
  width: 0;
  height: 100%
}

.highlightSection .nav a,
.highlightSection .nav a:active,
.highlightSection .nav a:focus,
.highlightSection .nav a:hover,
.highlightSection .nav a:link,
.highlightSection .nav a:visited {
  color: #da2727
}

.highlightSection .nav a .en,
.highlightSection .nav a .ja {
  display: block
}

.highlightSection .nav a .en {
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1
}

.highlightSection .nav a .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

@media screen and (max-width:768px) {
  .highlightSection .nav a .ja {
    margin-top: 8px
  }
}

.no-touch .highlightSection .nav a:hover {
  background-color: #da2727;
  color: #fff
}

.highlightSection .nav a:before {
  content: '\E902';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: inherit;
  left: 5%
}

@media screen and (max-width:768px) {
  .highlightSection .nav a {
    padding-left: 30px;
    font-size: .8125rem
  }
  .highlightSection .nav a:before {
    font-size: 10px;
    left: 10px
  }
}

.highlightSection .nav a .ex {
  display: block;
  margin-top: 10px;
  font-size: .8125rem
}

.highlightSection .nav .pdfButton {
  background: url(/contest/assets/img/common/ico_pdf_l.svg) 90% center no-repeat;
  background-size: 42px auto
}

@media screen and (max-width:768px) {
  .highlightSection .nav a .ex {
    font-size: .625rem;
    margin-top: 5px
  }
  .highlightSection .nav .pdfButton {
    background-size: 21px auto;
    background-position: 95% center
  }
}

.highlightSection .nav .blankButton {
  background: url(/contest/assets/img/common/ico_blank_red.png) 95% center no-repeat;
  background-size: 24px auto
}

ul.pageNav li a,
ul.pageNav li a:hover {
  background-position: 1em center
}

ul.pageNav li a {
  padding: 16px 26px 16px 46px;
  font-size: 97%;
  letter-spacing: .06em
}

.year2012 ul.pageNav01 li a,
.year2012 ul.pageNav01 li a:hover {
  background-position: 1.4em center
}

.year2012 ul.pageNav01 li a {
  padding: 16px 38px 16px 51px
}

.year2013 ul.pageNav02 li a {
  padding: 16px 19px 16px 41px
}

.year2014 ul.pageNav li a {
  padding: 16px 18px 16px 40px
}

.reportSection p {
  margin-top: 1.8em
}

.reportSection p.lead {
  font-size: 115%
}

.reportSection .yolBlock {
  margin-top: 35px;
  padding-bottom: 20px;
  text-align: center
}

.reportSection .yolBlock .button li {
  display: inline-block;
  margin: 0 10px;
  vertical-align: top
}

.reportSection .yolBlock .yolButton a {
  margin: 0 auto;
  width: 340px;
  height: 83px;
  line-height: 83px;
  padding-left: 16px;
  color: #fff;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 129%
}

.theme-bilingual-nav a,
.theme-bilingual-nav a .en,
.winnerSection .finalist .theme,
.winnerSection .winner .movieButton a,
.winnerSection .winner .movieButton a .en,
.winnerSection .winner .theme {
  font-family: Oswald, Arial, sans-serif
}

.themeSection {
  padding-top: 50px;
  padding-bottom: 40px
}

@media screen and (max-width:768px) {
  .reportSection p {
    margin-top: 1.2em
  }
  .reportSection .yolBlock p.yolButton a {
    width: auto;
    height: 3.2em;
    line-height: 3.2em;
    color: #fff;
    font-size: 120%
  }
  .reportSection .yolBlock .button li {
    display: block;
    margin: 0 0 10px
  }
  .reportSection .yolBlock .button li a {
    font-size: 100%;
    width: auto
  }
  .themeSection {
    padding-top: 0;
    padding-bottom: 0;
    margin: 0 -15px
  }
}

.themeSection .comingSoon,
.themeSection .point {
  display: none
}

.themeSection .anotherSection {
  margin-top: 40px
}

.year2013 .themeSection .mainTheme h3 {
  line-height: 1;
  margin-bottom: .6em
}

.year2018 .themeSection .point,
.year2019 .themeSection .point,
.year2020 .themeSection .point {
  display: block
}

.movieSection .basicFrame {
  text-align: center
}

.movieSection .movie {
  width: 640px;
  margin: 20px auto
}

.ieOld .movieSection .movie {
  padding: 20px 0
}

@media screen and (max-width:768px) {
  .movieSection .movie {
    width: auto;
    margin: 0
  }
  .movieSection .movie iframe {
    width: 100%;
    height: auto
  }
}

.winnerSection {
  margin-top: 50px
}

.winnerSection .comments .cf:after,
.winnerSection .comments:after {
  content: "";
  display: table;
  clear: both
}

.winnerSection .winner {
  position: relative;
  overflow: hidden;
  margin-bottom: 20px
}

.winnerSection .winner:after {
  position: absolute;
  right: 20px;
  top: 0;
  content: '';
  display: block;
  background: url(/contest/assets/img/report/bg_winner.png) left top no-repeat;
  width: 68px;
  height: 64px;
  background-size: 68px auto
}

@media screen and (max-width:768px) {
  .winnerSection {
    margin-top: 0
  }
  .winnerSection .winner:after {
    display: none
  }
}

.winnerSection .winner .movieButton {
  margin-top: 10px;
  text-align: right
}

.winnerSection .winner .movieButton a {
  position: relative;
  outline: 0;
  display: inline-block;
  width: 211px;
  height: 45px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 30px;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  border: 2px solid #da2727;
  font-weight: 700;
  font-size: 1.0625rem;
  letter-spacing: .2em
}

@media screen and (max-width:768px) {
  .winnerSection .winner .movieButton a {
    width: 100%;
    height: auto
  }
  .winnerSection .winner .movieButton a .button-label {
    padding: 1em 0
  }
}

.winnerSection .winner .movieButton a:after {
  display: inline-block;
  content: '';
  width: 0;
  height: 100%;
  vertical-align: middle
}

.winnerSection .winner .movieButton a .button-label {
  display: inline-block;
  vertical-align: middle
}

.winnerSection .winner .movieButton a,
.winnerSection .winner .movieButton a:active,
.winnerSection .winner .movieButton a:focus,
.winnerSection .winner .movieButton a:hover,
.winnerSection .winner .movieButton a:link,
.winnerSection .winner .movieButton a:visited {
  color: #da2727
}

.winnerSection .winner .movieButton a .en,
.winnerSection .winner .movieButton a .ja {
  display: block
}

.winnerSection .winner .movieButton a .en {
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1
}

.winnerSection .winner .movieButton a .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

.no-touch .winnerSection .winner .movieButton a:hover {
  background-color: #da2727;
  color: #fff
}

@media screen and (max-width:768px) {
  .winnerSection .winner .movieButton a .ja {
    margin-top: 8px
  }
  .winnerSection .winner .movieButton a {
    font-size: .9375rem
  }
}

.winnerSection .winner .movieButton a:before {
  display: inline-block;
  content: '';
  background: url(/contest/assets/img/common/ico_camera.png) left center no-repeat;
  background-size: 18px auto;
  width: 18px;
  height: 17px;
  vertical-align: middle;
  margin-right: 10px
}

@media screen and (min-width:769px) {
  .winnerSection .winner.is-bottom p.movieButton {
    position: absolute;
    right: 50px;
    bottom: 50px;
    margin: 0
  }
}

.winnerSection .winner.year2020 {
  height: auto!important
}

.year2012 #content01 h2,
.year2012 .basicTitle {
  text-align: center
}

.year2012 .winnerSection .winners .winner {
  width: calc((100% - 60px)/ 3);
  margin-right: 0
}

.year2012 .winnerSection .winners .winner03 {
  margin: 0 20px 20px
}

.winnerSection .winner p {
  overflow: hidden;
  margin-bottom: 10px
}

.winnerSection .winner p.pic {
  display: inline;
  float: left;
  margin: 0 30px 0 0
}

.winnerSection .winner p.pic img {
  width: 100%;
  height: auto
}

.year2012 .winnerSection .winner p.pic {
  display: block;
  float: none;
  margin: 0 0 20px
}

.winnerSection .winner .area-text {
  overflow: hidden
}

.winnerSection .winner p.ex {
  margin-bottom: 2px;
  color: #333;
  font-size: .6875rem
}

.winnerSection .winner p.profile {
  line-height: 1.8em;
  font-size: .8125rem
}

.winnerSection .winner p.profile span {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2
}

.winnerSection .winners .winner p.profile span {
  font-size: .9375rem
}

.winnerSection .winner p.profile span.school {
  display: block;
  font-size: .8125rem;
  font-weight: 400;
  line-height: 1.5
}

.winnerSection .winners .winner p.profile span.school {
  font-size: .6875rem
}

.winnerSection .group p {
  margin-bottom: 6px
}

.winnerSection .person p.profile span.school {
  margin-top: 3px
}

.winnerSection .winner .link {
  margin: 20px 0 60px;
  overflow: hidden
}

.winnerSection .winner .link dd {
  margin-left: 0;
  padding-left: 1.2em
}

.winnerSection .winner .link dt {
  position: relative;
  padding-left: 1.2em
}

.winnerSection .winner .link dt:before {
  content: '\E902';
  position: absolute;
  left: 3px;
  font-size: 10px
}

.winnerSection .winner01 p.movieButton {
  position: absolute;
  right: 50px;
  bottom: 50px;
  margin: 0
}

.winnerSection .winner01 p.profile span.school {
  font-size: 100%
}

.year2012 .winnerSection .is-bottom p.movieButton {
  position: absolute;
  right: 30px;
  bottom: 30px;
  margin: 0
}

.winnerSection .winner01 p.pic,
.year2012 .winnerSection .winner01 p.pic {
  display: inline;
  margin: 0 20px 0 0;
  float: left
}

.winnerSection .winner01 p.pic {
  width: 300px
}

.winnerSection .winner01 p.pic img {
  width: 100%;
  height: auto
}

.winnerSection .winner01 h3 {
  margin-bottom: 20px;
  color: #d43540;
  font-size: 1.5625rem
}

.winnerSection .winners .winner h3 {
  margin-bottom: 30px;
  font-size: 1.125rem
}

.winnerSection .winners .winner h3 span {
  font-weight: 400;
  font-size: .8125rem
}

.winnerSection .finalist .theme,
.winnerSection .winner .theme {
  position: relative;
  display: inline-block;
  min-width: 120px;
  margin-bottom: 10px;
  background: #2e2e2e;
  color: #fff;
  font-weight: 700;
  font-size: .875rem;
  text-align: center
}

.winnerSection .finalist .theme:after,
.winnerSection .finalist .theme:before,
.winnerSection .winner .theme:after,
.winnerSection .winner .theme:before {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  line-height: 5px;
  border-style: solid
}

.winnerSection .finalist .theme:before,
.winnerSection .winner .theme:before {
  left: 0;
  top: 0;
  border-width: 5px 5px 0 0;
  border-color: #eee transparent transparent
}

.winnerSection .finalist .theme:after,
.winnerSection .winner .theme:after {
  right: 0;
  bottom: 0;
  border-width: 0 0 5px 5px;
  border-color: transparent transparent #eee
}

.winnerSection .winners .winner p.profile {
  line-height: 1.6em
}

.winnerSection .winner .text {
  overflow: hidden
}

@media screen and (max-width:768px) {
  .winnerSection .finalist .theme,
  .winnerSection .winner .theme {
    min-width: 70px;
    font-size: .75rem
  }
  .winnerSection .winner .text {
    overflow: visible
  }
}

.winnerSection .finalist {
  position: relative;
  clear: both;
  overflow: hidden;
  padding: 20px 20px 10px
}

.winnerSection .comments h3,
.winnerSection .finalist h3 {
  margin-bottom: 20px
}

.winnerSection .finalist dl {
  display: inline;
  float: left;
  width: 50%
}

@media screen and (max-width:768px) {
  .winnerSection .finalist dl {
    float: none;
    width: auto
  }
}

.winnerSection .finalist dl dt {
  float: left;
  clear: both
}

.winnerSection .finalist dl dd {
  margin: 0 0 22px 140px;
  line-height: 1.6
}

@media screen and (max-width:768px) {
  .winnerSection .finalist dl dd {
    margin: 0 0 20px 120px
  }
}

.winnerSection .finalist dl dd br {
  display: none
}

.winnerSection .finalist dl dd span {
  display: block;
  margin-bottom: 5px;
  font-size: .6875rem
}

.winnerSection .finalist dl.column02 {
  padding-left: 30px
}

.winnerSection .finalist p.entryListButton {
  clear: both;
  text-align: right
}

.winnerSection .finalist p.entryListButton a:hover {
  color: #fff
}

.year2012 .winnerSection .finalist p.entryListButton {
  position: absolute;
  right: 20px;
  bottom: 20px
}

.winnerSection .finalist-detail .row {
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display:flex;display: flex
}

.winnerSection .finalist-detail .column {
  -webkit-flex: none;
  -ms-flex: none;
  flex: none;
  width: calc((100% - 60px)/ 2)
}

.winnerSection .finalist-detail .column+.column {
  margin-left: 60px
}

@media screen and (max-width:768px) {
  .winnerSection .finalist-detail {
    padding: 10px 15px 15px
  }
  .winnerSection .finalist-detail h3 {
    margin-bottom: 10px
  }
  .winnerSection .finalist-detail .row {
    display: block
  }
  .winnerSection .finalist-detail .column {
    width: auto
  }
  .winnerSection .finalist-detail .column+.column {
    margin-left: 0;
    margin-top: 30px
  }
}

.winnerSection .finalist-detail .winner {
  margin-bottom: 30px
}

.winnerSection .finalist-detail .winner:last-child {
  margin-bottom: 20px
}

@media screen and (max-width:768px) {
  .winnerSection .finalist-detail .winner {
    padding: 0
  }
  .winnerSection .finalist-detail .winner:last-child {
    margin-bottom: 10px
  }
}

.winnerSection .finalist-detail .winner:after {
  display: none
}

.winnerSection .finalist-detail .winner p.profile {
  font-size: .6875rem
}

.winnerSection .finalist-detail .winner p.profile span {
  font-size: .9375rem
}

.winnerSection .finalist-detail .winner p.profile span.school {
  font-size: .6875rem
}

.winnerSection .finalist-detail .winner p.profile.last {
  margin-bottom: 60px
}

.winnerSection .finalist-detail .winner .movieButton {
  position: absolute;
  right: 0;
  bottom: 0;
  margin-bottom: 0
}

.winnerSection .comments {
  padding: 20px;
  margin-bottom: 50px
}

.winnerSection .comments:last-child {
  margin-bottom: 0
}

.winnerSection .comments p {
  margin-bottom: 1.6em
}

.winnerSection .comments p.pic {
  display: inline;
  float: left;
  margin: 0;
  padding-right: 20px
}

.year2012 .winnerSection .comments p.pic,
.year2013 .winnerSection .comments p.pic {
  margin-right: 20px
}

.winnerSection .comments .cont {
  display: inline;
  float: right;
  width: 760px
}

.winnerSection .comments .picList {
  padding: 0;
  margin: 0 0 15px
}

.winnerSection .comments .picList li {
  display: inline;
  float: left;
  margin: 0 12px 12px 0
}

.winnerSection .comments .picList li.last {
  margin: 0
}

.winnerSection .comments p.commentsButton {
  margin: 0;
  text-align: right
}

@media screen and (max-width:768px) {
  .winnerSection .finalist-detail .winner .movieButton {
    clear: both;
    position: relative;
    right: auto;
    bottom: auto
  }
  .winnerSection .comments .picList li img,
  .winnerSection .comments p.pic img {
    max-width: 100%;
    height: auto
  }
  .winnerSection .winner {
    padding: 15px
  }
  .winnerSection .winners .winner {
    display: block;
    float: none;
    width: auto;
    height: auto!important;
    margin-right: 0;
    padding: 15px;
    background: #fff
  }
  .winnerSection .winners .winner h3 {
    margin-bottom: 10px;
    font-size: 122%
  }
  .winnerSection .winner p.pic {
    float: right;
    width: 30%;
    margin: 0 0 10px 10px
  }
  .winnerSection .winner.year2020 p.pic {
    float: none;
    width: auto;
    margin: 0 0 15px
  }
  .winnerSection .winner p.profile {
    overflow: hidden;
    margin-bottom: 10px!important
  }
  .winnerSection .winner p.movieButton {
    clear: both;
    position: relative;
    right: auto;
    bottom: auto;
    margin: 0
  }
  .winnerSection .winner p.profile span.school {
    margin-top: 5px;
    font-size: 86%
  }
  .winnerSection .winner .link {
    margin-bottom: 10px
  }
  .winnerSection .winner .link dd br {
    display: none
  }
  .winnerSection .winner01 p.pic {
    display: block;
    float: none;
    width: auto;
    margin: 0 0 15px
  }
  .winnerSection .winner01 p.pic img {
    width: 100%;
    height: auto
  }
  @media screen and (max-width:768px) {
    .winnerSection .winner01 h3 {
      font-size: 1.125rem
    }
  }
  .winnerSection .winner .text {
    float: none
  }
  .winnerSection .finalist dl {
    display: block;
    float: none
  }
  .winnerSection .finalist dl dd {
    margin-left: 80px;
    font-size: .8125rem
  }
  .winnerSection .finalist dl dd br {
    display: none
  }
  .winnerSection .finalist dl dd span {
    display: block;
    margin-bottom: 5px;
    font-size: .625rem
  }
  .winnerSection .finalist dl.column01 {
    border-right: none;
    width: auto
  }
  .winnerSection .finalist dl.column02 {
    width: auto;
    padding-left: 0
  }
  .year2012 .winnerSection .winners .winner {
    width: auto;
    margin: 0 0 20px!important;
    padding-bottom: 12px;
    background: #fff
  }
  .year2012 .winnerSection .winner p.movieButton {
    position: relative;
    right: auto;
    bottom: auto;
    margin: 0
  }
  .year2012 .winnerSection .winner01 p.pic {
    display: block;
    float: none;
    margin: 0 0 10px
  }
  .year2012 .winnerSection .winner p.pic {
    float: right;
    margin: 0 0 10px
  }
  .winnerSection .comments p.pic {
    display: block;
    float: none;
    margin: 0 0 10px;
    padding-right: 0;
    text-align: center
  }
  .year2012 .winnerSection .comments p.pic,
  .year2013 .winnerSection .comments p.pic {
    margin-right: 0
  }
  .winnerSection .comments .cont {
    display: block;
    float: none;
    width: 100%
  }
  .winnerSection .comments .picList {
    margin-right: -10px
  }
  .winnerSection .comments .picList li {
    float: left;
    width: calc((100% - 20px)/ 2);
    margin: 0 10px 10px 0;
    text-align: center
  }
  .year2012 .winnerSection .finalist p.entryListButton {
    position: relative;
    right: auto;
    bottom: auto;
    text-align: right
  }
}

.mediaSection {
  margin-top: 50px
}

.mediaSection .basicFrame {
  padding-bottom: 10px
}

.mediaSection h3 {
  font-size: 1.125rem;
  letter-spacing: .16em;
  margin-bottom: 30px
}

.mediaSection h3 .label {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: solid 3px #000
}

@media screen and (max-width:768px) {
  .mediaSection {
    margin-top: 0
  }
  .mediaSection h3 {
    font-size: 1rem;
    margin-bottom: 10px
  }
}

.mediaSection .media {
  margin-top: 20px
}

.mediaSection .media+.media {
  margin-top: 50px
}

@media screen and (max-width:768px) {
  .mediaSection .media+.media {
    margin-top: 30px
  }
}

.mediaSection .media:first-child {
  margin-top: 0
}

.mediaSection table {
  border-top: solid 2px #dcdcdc;
  border-left: solid 2px #dcdcdc
}

@media screen and (max-width:768px) {
  .mediaSection table {
    border: none
  }
}

.mediaSection table td,
.mediaSection table th {
  border-right: solid 2px #dcdcdc;
  border-bottom: solid 2px #dcdcdc
}

@media screen and (max-width:768px) {
  .mediaSection table td,
  .mediaSection table th {
    border: none
  }
}

.mediaSection table {
  border-width: 1px
}

.mediaSection table td,
.mediaSection table th {
  padding: 15px 20px;
  border-width: 1px
}

.mediaSection table th {
  text-align: left;
  background: #f7f7f7;
  border-right: none
}

.mediaSection table th:nth-child(2) {
  font-weight: 400;
  width: 18%
}

.mediaSection table td {
  border-left: 1px solid #dcdcdc
}

.mediaSection table tr td {
  width: 65%
}

.mediaSection table tr th span {
  display: block;
  font-size: 80%;
  font-weight: 400
}

.mediaSection .comingSoon {
  padding: 50px 30px 30px;
  text-align: center
}

@media screen and (max-width:768px) {
  .mediaSection table td {
    border-left: none
  }
  .mediaSection table,
  .mediaSection table tbody,
  .mediaSection table td,
  .mediaSection table th,
  .mediaSection table tr {
    display: block;
    font-size: .8125rem
  }
  .mediaSection table tr td,
  .mediaSection table tr th {
    width: auto!important;
    padding: 0;
    background: 0 0
  }
  .mediaSection table tr td {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: dotted 1px #ccc
  }
  .mediaSection table tr th span {
    display: block;
    font-size: 80%;
    font-weight: 400
  }
  .mediaSection .comingSoon {
    padding: 22px 13px 13px
  }
  .mediaSection .comingSoon img {
    width: 60%
  }
  .year2016 .mediaSection table th:nth-child(2) br {
    display: none
  }
}

.year2016 .mediaSection table th:first-child {
  width: 10em;
  padding-right: 0
}

.year2016 .mediaSection table th:nth-child(2) {
  width: 12em;
  padding-left: 0
}

.year2016 .mediaSection table td {
  width: auto
}

.photoSection .basicFrame {
  position: relative
}

.photoSection .previous {
  position: absolute;
  top: 200px;
  left: 130px
}

.photoSection .next {
  position: absolute;
  top: 200px;
  right: 130px
}

.photoSection #slider {
  width: 525px;
  margin: 20px auto
}

.ieOld .photoSection #slider {
  margin: 0 auto;
  padding: 20px 0
}

.photoSection #slider .slide img {
  width: 100%;
  height: auto
}

@media screen and (max-width:768px) {
  .photoSection {
    padding-bottom: 1px
  }
  .photoSection .basicFrame {
    background: 0 0;
    padding: 0
  }
  .photoSection .previous {
    position: absolute;
    top: auto;
    bottom: 0;
    left: 42%
  }
  .photoSection .next {
    position: absolute;
    top: auto;
    bottom: 0;
    right: 42%
  }
  .photoSection #slider {
    width: auto;
    height: auto;
    margin: 10px auto;
    padding: 0 10px
  }
}

.anotherSection a:hover img {
  filter: alpha(opacity=70);
  -moz-opacity: .7;
  opacity: .7;
  cursor: pointer
}

.year2012 .themeSection .mainTheme {
  text-align: left
}

.year2012 .themeSection .mainTheme h3 {
  padding-top: 10px;
  font-size: 150%
}

.year2012 .themeSection .mainTheme p {
  font-size: 115%
}

.year2012 .themeSection .mainTheme .subject {
  display: inline;
  float: left;
  width: 80px;
  height: 55px;
  margin-right: 20px;
  padding-top: 25px;
  background: #d43540;
  color: #fff;
  font-size: 150%;
  font-weight: 700;
  text-align: center
}

.year2012 .criterionSection table {
  margin-top: 0
}

@media screen and (max-width:768px) {
  .year2012 .themeSection .mainTheme h3 {
    padding-top: 3px;
    font-size: 115%
  }
  .year2012 .themeSection .mainTheme p {
    font-size: 86%
  }
  .year2012 .themeSection .mainTheme .subject {
    width: 70px;
    height: 50px;
    margin-right: 10px;
    padding-top: 20px;
    font-size: 120%
  }
}

.archiveList {
  overflow: hidden;
  position: relative;
  margin: 70px 0 0 -60px
}

.archiveList li {
  float: left;
  margin: 0 0 70px 60px
}

.archiveList li .label {
  margin-bottom: .5em;
  font-size: 129%;
  font-weight: 700
}

.archiveList li a {
  display: block;
  width: 530px
}

.archiveList li a:hover {
  filter: alpha(opacity=70);
  -moz-opacity: .7;
  opacity: .7;
  cursor: pointer
}

@media screen and (max-width:768px) {
  .archiveList {
    margin: 0
  }
  .archiveList li {
    float: none;
    margin: 0 0 20px
  }
  .archiveList li .label {
    margin-bottom: .2em;
    font-size: 100%
  }
  .archiveList li a {
    width: 100%
  }
}

.otherSection .archiveList {
  margin: 0 0 63px;
  padding: 0 28px;
  box-sizing: border-box
}

.otherSection .archiveList .listItem {
  margin: 0 0 0 16px
}

.otherSection .archiveList .listItem .label {
  font-weight: 700
}

.otherSection .archiveList .listItem img {
  width: 100%
}

.otherSection .archiveList.owl-carousel .owl-buttons div {
  top: 54px
}

@media screen and (max-width:768px) {
  .otherSection .archiveList {
    margin: 0 4px 43px
  }
  .otherSection .archiveList .listItem {
    width: auto
  }
  .otherSection .archiveList.owl-carousel .owl-buttons div {
    top: 42%
  }
}

.schoolListSection {
  margin-top: 50px
}

.schoolListSection .title {
  font-size: 1.125rem;
  letter-spacing: .16em;
  margin-bottom: 20px
}

.schoolListSection .title .label {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: solid 3px #000
}

@media screen and (max-width:768px) {
  .schoolListSection {
    margin-top: 0
  }
  .schoolListSection .title {
    font-size: 1rem;
    margin-bottom: 10px
  }
  .schoolListSection .schoolList {
    font-size: .8125rem
  }
}

.schoolListSection .schoolList {
  margin-bottom: 30px
}

.schoolListSection .schoolList:last-child {
  margin-bottom: 0
}

.otherReportSection {
  margin: 50px 0 100px
}

@media screen and (max-width:768px) {
  .otherReportSection {
    margin: 0 0 40px
  }
}

.otherReportSection .reportNav {
  margin-top: 0
}

.is-ja {
  display: block
}

.is-en,
.is-english .is-ja {
  display: none
}

.is-english .is-en {
  display: block
}

.theme-bilingual-nav {
  margin-bottom: 15px;
  text-align: right
}

.theme-bilingual-nav a {
  outline: 0;
  display: inline-block;
  width: 250px;
  height: 60px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 30px;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  border: 2px solid #da2727;
  position: relative;
  font-weight: 700;
  letter-spacing: .1em
}

@media screen and (max-width:768px) {
  .theme-bilingual-nav {
    text-align: center
  }
  .theme-bilingual-nav a {
    width: 100%;
    height: auto
  }
  .theme-bilingual-nav a .button-label {
    padding: 1em 0
  }
}

.theme-bilingual-nav a:after {
  display: inline-block;
  content: '';
  width: 0;
  height: 100%;
  vertical-align: middle
}

.theme-bilingual-nav a .button-label {
  display: inline-block;
  vertical-align: middle
}

.theme-bilingual-nav a,
.theme-bilingual-nav a:active,
.theme-bilingual-nav a:focus,
.theme-bilingual-nav a:hover,
.theme-bilingual-nav a:link,
.theme-bilingual-nav a:visited {
  color: #da2727
}

.theme-bilingual-nav a .en,
.theme-bilingual-nav a .ja {
  display: block
}

.theme-bilingual-nav a .en {
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1
}

.theme-bilingual-nav a .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

@media screen and (max-width:768px) {
  .theme-bilingual-nav a .ja {
    margin-top: 8px
  }
  .theme-bilingual-nav a {
    width: auto
  }
  .theme-bilingual-nav a .button-label {
    padding: 10px 40px
  }
}

.no-touch .theme-bilingual-nav a:hover {
  background-color: #da2727;
  color: #fff
}

.hostSection dl dd.sponsor a,
.hostSection dl dl dd a,
.hostSection dl.support dd a {
  color: #333
}

.theme-bilingual-nav a:before {
  content: '\E902';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 12px;
  left: 5%
}

.criterionSection {
  padding-top: 50px
}

.hostSection {
  margin-top: 50px
}

@media screen and (max-width:768px) {
  .hostSection {
    margin-top: 0
  }
}

.hostSection dl {
  margin: 0 0 20px;
  padding: 20px;
  background: #fff;
  line-height: 1.5
}

.hostSection dl dd {
  margin-left: 0;
  overflow: hidden
}

.hostSection dl dt {
  clear: both;
  display: inline;
  float: left;
  width: 75px;
  margin-top: 8px;
  padding-right: 5px;
  text-align: right;
  font-size: .8125rem
}

.hostSection dl dd.host {
  padding-bottom: 20px
}

.hostSection dl dd p.host a,
.hostSection dl dd p.host span {
  float: left;
  margin-right: 10px
}

.hostSection dl dd.host p span {
  margin: 0 10px
}

.hostSection dl dd.sponsor {
  margin-top: 8px
}

.hostSection dl dd.sponsor ul {
  position: relative;
  margin: 0 -15px 0 0;
  padding: 0;
  list-style: none
}

.hostSection dl dd.sponsor ul li {
  list-style-image: none;
  list-style-type: none;
  float: left;
  width: 188px;
  margin: 0 15px 17px 0
}

.hostSection dl dd.sponsor ul li.other::before {
  display: none
}

.hostSection dl dd.sponsor ul li a {
  text-decoration: none
}

.hostSection dl dd.sponsor ul li span {
  display: block
}

.hostSection dl dd.sponsor ul li span.name {
  margin-top: 5px;
  font-size: 72%
}

@media screen and (max-width:768px) {
  .hostSection .cross img,
  .hostSection .kanda img,
  .hostSection .yomiuri img {
    height: 19px;
    width: auto
  }
}

.hostSection dl dl {
  margin: 15px 0 0;
  padding: 0;
  background: 0 0
}

.hostSection dl dl dt {
  display: block;
  float: none;
  width: auto;
  margin: 0 0 3px;
  font-size: 86%;
  text-align: left
}

.hostSection dl dl dd {
  font-size: 93%
}

.hostSection dl.support {
  margin-top: -40px;
  padding: 10px 20px
}

.hostSection dl.support dt {
  clear: both;
  position: relative;
  display: block;
  float: none;
  width: 4em;
  padding-right: 1em;
  text-align: right
}

.hostSection dl.support dt span {
  position: absolute;
  right: 0;
  top: 0
}

.hostSection dl.support dd {
  margin: -1.5em 0 20px 5.2em
}

@media screen and (max-width:768px) {
  .hostSection dl {
    padding: 5px 15px
  }
  .hostSection dl dt {
    width: auto;
    float: none;
    display: block;
    margin: 10px 0 3px;
    text-align: left;
    font-weight: 700
  }
  .hostSection dl dd.host {
    padding-bottom: 15px
  }
  .hostSection dl dd.host p span {
    margin: 0 5px
  }
  .hostSection dl dl {
    margin-top: 10px
  }
  .hostSection dl dd,
  .hostSection dl dt {
    font-size: 79%
  }
  .hostSection dl dd.sponsor {
    margin-top: 0
  }
  .hostSection dl dd.sponsor ul {
    margin-right: -3%
  }
  .hostSection dl dd.sponsor ul li {
    width: 47%;
    margin: 0 3% 10px 0
  }
  .hostSection dl dd.sponsor ul li img {
    width: 100%;
    height: auto
  }
  .hostSection dl dd.sponsor ul li span.name {
    font-size: 90%
  }
  .hostSection dl.support {
    margin-top: -30px;
    padding: 10px 15px 1px
  }
  .hostSection dl.support dt {
    width: auto;
    padding-right: 0;
    text-align: left
  }
  .hostSection dl.support dt span {
    position: relative;
    right: auto;
    top: auto
  }
  .hostSection dl.support dd {
    margin: 0 0 15px
  }
  .themeSection .themes .column h3 {
    padding-right: 35px;
    background: url(/contest/assets/img/common/arw_basic_red_r.png) 97% center no-repeat
  }
  .themeSection .themes .column h3 a {
    cursor: pointer;
    pointer-events: auto
  }
  .themeSection .themes #theme03 .textTop br {
    display: none
  }
  .prizeSection .prizeNav ul li div {
    border-bottom: solid 1px #ccc!important;
    cursor: default;
    pointer-events: none
  }
  .prizeSection .prizeNav ul li.current div {
    border: 1px solid #ccc;
    padding: 0 5px 5px
  }
  .prizeSection p.button {
    display: block;
    margin-top: 15px
  }
  .judgeSection,
  .scheduleSection,
  .targetSection {
    padding-top: 0;
    margin-bottom: 10px
  }
  .scheduleSection .anotherSection,
  .targetSection .frame {
    padding-bottom: 20px
  }
  .prizeSection .detailColumn,
  .prizeSection .mainprizeSection,
  .prizeSection .prizeMainSummary,
  .prizeSection .prizeSubNav,
  .prizeSection .prizeSubSummary,
  .themeSection .mainTheme,
  .themeSection .themes .column .language,
  .themeSection .themes .column .point,
  .themeSection .themes .column p {
    display: none
  }
  .themeSection .themes .open .point,
  .themeSection .themes .open p {
    display: block
  }
  .criterionSection {
    padding-top: 0
  }
}

.commentsButton a,
.entryListButton a {
  position: relative;
  font-weight: 700
}

.commentsButton a:before,
.entryListButton a:before {
  content: '\E902';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 12px;
  left: 5%
}

.criterionSimpleTable th {
  text-align: left;
  white-space: nowrap;
  padding-right: 1em
}

.criterionSimpleTable td,
.criterionSimpleTable th {
  vertical-align: top;
  padding-bottom: 10px
}

.top-visual .button a .button-label,
.top-visual .button a:after {
  vertical-align: middle;
  display: inline-block
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

.theme-list .item.is-open .more a:before,
.theme-list .more a:before,
.theme-list.is-open .more a:before,
.top-about a:before,
.top-news ul .slick-next:before,
.top-news ul .slick-prev:before,
.top-notice .more a.is-open:before,
.top-notice .more a:before,
.top-visual .button a:before,
.top-visual .more a .button-label:before {
  font-family: iconfont;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  text-decoration: none;
  text-transform: none;
  speak: none
}

.top-section {
  padding: 50px 0 0
}

.top-visual {
  overflow: hidden;
  position: relative;
  color: #fff
}

.top-visual .text {
  position: absolute;
  left: 50px;
  top: 40px;
  z-index: 110;
  line-height: 1.2;
  letter-spacing: .06em
}

.top-visual .title {
  padding-bottom: 20px;
  font-size: 2.5rem
}

@media screen and (max-width:768px) {
  .m-box:last-child {
    margin-bottom: 20px
  }
  .top-section {
    padding-top: 0
  }
  .top-visual .text {
    left: 15px;
    top: 15px;
    letter-spacing: 0
  }
  .top-visual .title {
    padding-bottom: 5px;
    font-size: .8125rem
  }
}

@media screen and (min-width:0) and (max-width:370px) {
  .top-visual .title {
    font-size: .8125rem
  }
  .top-visual .title br {
    display: block
  }
}

.top-visual .banner {
  position: absolute;
  left: 40px;
  bottom: 50px;
  z-index: 110;
  width: auto;
  background: #da2727;
  border-radius: 6px;
  padding: 18px 22px
}

.top-visual .lead {
  font-size: 1.5rem;
  margin-bottom: 15px
}

@media screen and (max-width:768px) {
  .top-visual .banner {
    width: 90%;
    text-align: center;
    left: 5%;
    bottom: 10px;
    border-radius: 10px;
    padding: 5px;
    background: #fff;
    color: #da2727;
    border: 2px solid #da2727
  }
  .top-visual .lead {
    margin-top: 1px;
    margin-bottom: 8px;
    font-size: .625rem
  }
}

.top-visual .lead .date span {
  font-size: .875rem;
  font-weight: 400
}

@media screen and (max-width:768px) {
  .top-visual .lead .date span {
    padding-left: 1em;
    font-size: .625rem;
    font-weight: 400
  }
}

.top-visual h3.date {
  font-size: 1.25rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 700;
  letter-spacing: .18em
}

@media screen and (max-width:768px) {
  .top-visual h3.date {
    font-size: .625rem
  }
}

.top-visual .detail {
  background: #fff;
  margin-top: 10px;
  padding: 8px;
  border-radius: 6px;
  font-size: 1.125rem;
  font-weight: 700;
  color: #da2727;
  text-align: center
}

@media screen and (max-width:768px) {
  .top-visual .detail {
    margin-top: -5px;
    padding: 0;
    border-radius: 0;
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.2
  }
}

.top-visual .button {
  position: absolute;
  top: 80px;
  left: 50px;
  z-index: 120;
  margin-top: 30px
}

.top-visual .button a {
  outline: 0;
  display: inline-block;
  width: auto;
  height: 54px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 2em;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  border: 2px solid #da2727;
  font-weight: 700;
  position: relative;
  padding: 0 30px 0 45px;
  background: #da2727;
  color: #fff!important;
  font-size: 1rem;
  letter-spacing: .07em
}

@media screen and (max-width:768px) {
  .top-visual .button {
    top: 30px;
    left: 10px;
    margin-top: 8px
  }
  .top-visual .button+.button {
    margin-top: 5px
  }
  .top-visual .button a {
    width: 100%;
    height: auto
  }
  .top-visual .button a .button-label {
    padding: 1em 0
  }
}

.top-visual .button a:after {
  content: '';
  width: 0;
  height: 100%
}

.top-visual .button a,
.top-visual .button a:active,
.top-visual .button a:focus,
.top-visual .button a:hover,
.top-visual .button a:link,
.top-visual .button a:visited {
  color: #da2727
}

.top-visual .button a .en,
.top-visual .button a .ja {
  display: block
}

.top-visual .button a .en {
  font-family: Oswald, Arial, sans-serif;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1
}

.top-news ul li.is-new em:after,
.top-news ul span {
  font-family: Montserrat, Arial, sans-serif
}

.top-visual .button a .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

@media screen and (max-width:768px) {
  .top-visual .button a .ja {
    margin-top: 8px
  }
}

.no-touch .top-visual .button a:hover {
  background: #fff!important;
  color: #da2727!important
}

.top-visual .button a:before {
  content: '\E902';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 16px;
  left: 20px
}

@media screen and (max-width:768px) {
  .top-visual .button a {
    display: inline-block!important;
    width: auto;
    height: auto;
    padding: 0 10px 0 22px;
    font-size: .6875rem;
    letter-spacing: 0;
    position: relative
  }
  .top-visual .button a:before {
    position: absolute;
    top: 50%;
    margin-top: -.5em;
    line-height: 1;
    font-size: 10px;
    left: 7px
  }
  .top-visual .button a .button-label {
    padding: 3px 0
  }
}

.top-visual .movie {
  position: absolute;
  z-index: 130;
  left: 50%;
  top: 50%;
  margin: -46px 0 0 -45px
}

.top-visual .movie a {
  position: relative;
  display: block;
  width: 92px;
  height: 91px
}

@media screen and (max-width:768px) {
  .top-visual .movie {
    left: auto;
    top: auto;
    right: 15px;
    bottom: 75px;
    margin: 0
  }
  .top-visual .movie a {
    width: 52px;
    height: 51px
  }
  .top-visual .movie a img {
    width: 100%;
    height: auto
  }
}

.top-visual .movie a img {
  position: absolute;
  left: 0;
  top: 0
}

.no-touch .top-visual .movie a img {
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease
}

.top-visual .movie a .base {
  z-index: 131
}

.top-visual .movie a .arrow {
  z-index: 132
}

.top-visual .movie a:hover .arrow {
  -webkit-transform: scale(.8);
  -ms-transform: scale(.8);
  transform: scale(.8)
}

.no-touch .top-visual .movie a:hover .base {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg)
}

.top-visual .more {
  position: absolute;
  right: -700px;
  bottom: -10px;
  z-index: 120;
  transition: right .7s cubic-bezier(.645, .045, .355, 1) .8s
}

.top-visual .more.is-show {
  right: -30px
}

.top-visual .more.is-show a .button-label:after {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0)
}

.top-visual .more a {
  display: block;
  padding: 34px 120px 44px 30px;
  background: #c71e1e;
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: .1em;
  line-height: 1;
  border-radius: 6px;
  -webkit-transform: skewX(-15deg);
  -ms-transform: skewX(-15deg);
  transform: skewX(-15deg)
}

.top-visual .more a,
.top-visual .more a:active,
.top-visual .more a:focus,
.top-visual .more a:hover,
.top-visual .more a:link,
.top-visual .more a:visited {
  text-decoration: none;
  color: #fff
}

@media screen and (max-width:768px) {
  .top-visual .more.is-show {
    right: auto;
    z-index: 0
  }
  .top-visual .more {
    position: relative;
    right: auto;
    bottom: auto
  }
  .top-visual .more a {
    padding: 10px 8px 15px;
    font-size: 1.0625rem;
    -webkit-transform: skewX(0);
    -ms-transform: skewX(0);
    transform: skewX(0);
    border-radius: 0;
    text-align: center
  }
}

.top-visual .more a .button-label {
  position: relative;
  display: block;
  -webkit-transform: skewX(15deg);
  -ms-transform: skewX(15deg);
  transform: skewX(15deg)
}

.top-visual .more a .button-label:before {
  content: '\E902';
  position: relative;
  top: -2px;
  margin-right: 10px;
  font-size: 14px
}

@media screen and (max-width:768px) {
  .top-visual .more a .button-label {
    -webkit-transform: skewX(0);
    -ms-transform: skewX(0);
    transform: skewX(0)
  }
  .top-visual .more a .button-label:before {
    top: auto;
    margin-right: 5px
  }
}

.top-visual .more a .button-label:after {
  position: absolute;
  right: -251px;
  top: -90px;
  display: block;
  content: '';
  width: 231px;
  height: 137px;
  background-size: 231px auto;
  opacity: 0;
  -webkit-transform: translateY(15px);
  -ms-transform: translateY(15px);
  transform: translateY(15px);
  transition: opacity .4s ease 1.5s, -webkit-transform .4s ease 1.5s;
  transition: opacity .4s ease 1.5s, transform .4s ease 1.5s
}

@media screen and (max-width:768px) {
  .top-visual .more a .button-label:after {
    position: relative;
    margin: 10px -15px -15px;
    background: #1f3277;
    color: #fff;
    right: auto;
    top: auto;
    width: auto;
    height: auto;
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .05em;
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    transition: none
  }
}

.top-visual .more a .button-label .ex {
  position: relative;
  top: -3px;
  display: inline-block;
  margin-left: 10px;
  padding: 4px 6px;
  font-size: .9375rem;
  background: #fff;
  color: #da2727;
  letter-spacing: 0
}

@media screen and (max-width:768px) {
  .top-visual .more a .button-label .ex {
    top: -1px;
    padding: 3px 6px;
    font-size: .75rem
  }
}

.top-visual .copy {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 620px;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 102;
  opacity: 0;
  transition: opacity .5s ease .5s
}

@media screen and (max-width:768px) {
  .top-visual .copy {
    width: 200px;
    -webkit-transform: translate(-50%, -44%);
    -ms-transform: translate(-50%, -44%);
    transform: translate(-50%, -44%)
  }
}

@media screen and (min-width:0) and (max-width:370px) {
  .top-visual .copy {
    width: 160px
  }
}

.top-visual .copy.is-show {
  opacity: 1
}

.top-visual .copy.is-show .copy-list {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1)
}

.top-visual .copy-list {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
  transition: -webkit-transform .5s cubic-bezier(.39, .575, .565, 1) .5s;
  transition: transform .5s cubic-bezier(.39, .575, .565, 1) .5s
}

.top-visual .copy-list .item img {
  width: 100%;
  height: auto
}

.top-visual .visual {
  position: relative;
  z-index: 101;
  opacity: 0;
  transition: opacity 1s ease
}

.no-touch .theme-list .more a,
.no-touch .theme-list .status a {
  transition: color .3s ease, background-color .3s ease
}

.top-visual .visual.is-show {
  opacity: 1
}

.top-visual .visual-list .item {
  width: 100%;
  min-height: 850px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover
}

@media screen and (max-width:768px) {
  .top-visual .visual-list .item {
    min-height: 300px
  }
}

@media screen and (min-width:0) and (max-width:370px) {
  .top-visual .visual-list .item {
    min-height: 270px
  }
}

@-webkit-keyframes fade-in {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

@keyframes fade-in {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

.top-news {
  margin: 0;
  padding: 10px 20px;
  background: #fff
}

.top-news .scroll-area {
  overflow: auto;
  height: 3em
}

.top-news ul {
  margin: 0;
  padding: 0;
  list-style: none
}

.top-news ul li.other::before {
  display: none
}

@media screen and (max-width:768px) {
  .top-news {
    padding: 0
  }
  .top-news .scroll-area {
    overflow: hidden;
    height: auto
  }
  .top-news ul {
    padding: 0 30px
  }
}

.top-news ul li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0;
  padding: 10px 0;
  font-size: .8125rem
}

@media screen and (max-width:768px) {
  .top-news ul li {
    display: table!important;
    padding: 8px 0;
    font-size: .75rem;
    line-height: 1.3
  }
}

.top-news ul li.is-new em:after {
  display: inline-block;
  content: 'New!';
  background: #da2727;
  color: #fff;
  line-height: 1;
  font-weight: 700;
  position: relative;
  margin-left: 15px;
  padding: 3px 8px
}

.top-news ul li.is-new em:after:after,
.top-news ul li.is-new em:after:before {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  line-height: 5px;
  border-style: solid
}

.top-news ul li.is-new em:after:before {
  left: 0;
  top: 0;
  border-width: 5px 5px 0 0;
  border-color: #fff transparent transparent
}

.top-news ul li.is-new em:after:after {
  right: 0;
  bottom: 0;
  border-width: 0 0 5px 5px;
  border-color: transparent transparent #fff
}

@media screen and (max-width:768px) {
  .top-news ul li.is-new em:after {
    display: none
  }
}

.top-news ul span {
  display: inline-block;
  width: 8em;
  margin-right: 2em;
  font-weight: 700;
  letter-spacing: .22em
}

.articleHead .no,
.status-map-popup .map-title .pref,
.status-map-popup .map-title .q,
.status-map-popup .title .en,
.theme-list .more a .en,
.theme-list .num .label,
.theme-list .point .point-title,
.theme-list .status a .en,
.top-notice .more a .en,
.voice-list .num {
  font-family: Oswald, Arial, sans-serif
}

@media screen and (max-width:768px) {
  .top-news ul span {
    display: table-cell;
    width: 5.5em;
    letter-spacing: 0;
    vertical-align: middle;
    text-align: left
  }
}

.top-news ul em {
  display: inline-block;
  font-style: normal
}

@media screen and (max-width:768px) {
  .top-news ul em {
    display: table-cell;
    overflow: hidden;
    vertical-align: middle
  }
  .top-news ul .slick-arrow {
    width: 30px;
    height: 100%;
    background: 0 0;
    text-align: center;
    top: 0;
    margin: 0;
    line-height: 0;
    vertical-align: top;
    z-index: 290
  }
  .top-news ul .slick-arrow:before {
    color: #000;
    position: absolute;
    left: 50%;
    top: 50%;
    line-height: 100%;
    font-size: 14px;
    margin: -7px 0 0 -7px
  }
  .top-news ul .slick-prev {
    left: -5px
  }
  .top-news ul .slick-prev:before {
    content: '\E901'
  }
  .top-news ul .slick-next {
    right: -5px
  }
  .top-news ul .slick-next:before {
    content: '\E902'
  }
}

.top-introduction .parent {
  width: 100%;
  background: #fff
}

.top-introduction .notice-section {
  color: #da2727
}

.top-introduction .text {
  padding: 40px 0;
  line-height: 2;
  max-width: 880px;
  margin: 0 auto;
}

.top-introduction .img {
  text-align: right
}

.top-introduction .target {
  margin: 0 0 20px
}

@media screen and (max-width:768px) {
  .top-introduction .parent {
    width: auto
  }
  .top-introduction .text {
    padding: 20px 30px;
    line-height: 1.8
  }
  .top-introduction .img img {
    width: 100%;
    height: auto
  }
  .top-introduction .target {
    margin-bottom: 10px
  }
}

.top-introduction .target dd,
.top-introduction .target dt {
  display: inline-block;
  font-weight: 700
}

.top-introduction .target dt {
  padding: 3px 10px;
  position: relative;
  background: #da2727;
  color: #fff;
  font-size: 1.25rem
}

.top-introduction .target dt:after,
.top-introduction .target dt:before {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  line-height: 5px;
  border-style: solid
}

.top-introduction .target dt:before {
  left: 0;
  top: 0;
  border-width: 5px 5px 0 0;
  border-color: #fff transparent transparent
}

.top-introduction .target dt:after {
  right: 0;
  bottom: 0;
  border-width: 0 0 5px 5px;
  border-color: transparent transparent #fff
}

@media screen and (max-width:768px) {
  .top-introduction .target dt {
    font-size: 1rem
  }
}

.top-introduction .target dd {
  margin-left: 0;
  padding: 3px 0 3px 15px;
  font-size: 1.125rem
}

@media screen and (max-width:768px) {
  .top-introduction .target dd {
    display: block;
    font-size: .875rem;
    padding: 10px 0 0
  }
}

.top-themes {
  padding-bottom: 40px
}

.top-themes .m-text-caution {
  margin: 0 20px 20px;
  text-align: center
}

.theme-list {
  display: table;
  width: 100%
}

@media screen and (max-width:768px) {
  .top-themes {
    padding-bottom: 0
  }
  .theme-list {
    display: block
  }
}

.theme-list .item {
  display: table-cell;
  width: 25%;
  text-align: center
}

@media screen and (max-width:768px) {
  .theme-list .item {
    display: block;
    width: auto
  }
  .theme-list .item.is-open .body:after {
    opacity: 0
  }
  .theme-list .item.is-open .more a:before {
    content: '\E905'
  }
}

.theme-list .body:after,
.theme-list .more a:after,
.theme-list .num .label:after,
.theme-list .num .label:before,
.theme-list .num:after,
.theme-list .status a:after,
.theme-list .status a:before {
  content: ''
}

.theme-list .item:nth-child(even) .body {
  background: #fff
}

.theme-list .item:nth-child(even) .num .label {
  position: relative
}

.theme-list .item:nth-child(even) .num .label:after,
.theme-list .item:nth-child(even) .num .label:before {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  line-height: 5px;
  border-style: solid
}

.theme-list .body,
.theme-list .body.is-comingsoon {
  position: relative
}

.theme-list .item:nth-child(even) .num .label:before {
  left: 0;
  top: 0;
  border-width: 5px 5px 0 0;
  border-color: #eee transparent transparent
}

.theme-list .item:nth-child(even) .num .label:after {
  right: 0;
  bottom: 0;
  border-width: 0 0 5px 5px;
  border-color: transparent transparent #eee
}

@media screen and (max-width:768px) {
  .theme-list .item:nth-child(even) .body {
    background: 0 0
  }
  .theme-list .item:last-child {
    border-bottom: solid 2px #d9d9d9
  }
  .theme-list .item--theme01 .img {
    width: 98px
  }
  .theme-list .item--theme02 .img {
    width: 120px
  }
  .theme-list .item--theme03 .img {
    width: 174px
  }
}

.theme-list .body {
  padding: 40px 30px;
  background: #d9d9d9
}

@media screen and (max-width:768px) {
  .theme-list .body {
    padding: 20px;
    background: 0 0;
    border-top: solid 2px #d9d9d9
  }
  .theme-list .body.is-comingsoon {
    margin-bottom: 15px
  }
}

.theme-list .body.is-comingsoon .comingsoon {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 50;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display:flex;display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: rgba(217, 217, 217, .9);
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1.3;
  color: #da2727
}

.theme-list .body:after {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 100px;
  background: linear-gradient(to bottom, rgba(238, 238, 238, 0) 0, #eee 100%);
  filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#00eeeeee', endColorstr='#eeeeee', GradientType=0)
}

@media screen and (max-width:768px) {
  .theme-list .body:after {
    display: none
  }
}

.theme-list .num {
  position: relative;
  display: inline-block;
  margin-bottom: 30px
}

.theme-list .num:after {
  position: absolute;
  left: 50%;
  top: 100%;
  margin-left: -4px;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 18px 4.5px 0;
  border-color: #da2727 transparent transparent
}

.theme-list .num .label {
  display: inline-block;
  padding: 7px 35px;
  background: #da2727;
  color: #fff;
  font-size: 1.0625rem;
  font-weight: 400;
  letter-spacing: .16em;
  position: relative;
  line-height: 1
}

.theme-list .num .label:after,
.theme-list .num .label:before {
  position: absolute;
  width: 0;
  height: 0;
  line-height: 5px;
  border-style: solid
}

.theme-list .num .label:before {
  left: 0;
  top: 0;
  border-width: 5px 5px 0 0;
  border-color: #d9d9d9 transparent transparent
}

.theme-list .num .label:after {
  right: 0;
  bottom: 0;
  border-width: 0 0 5px 5px;
  border-color: transparent transparent #d9d9d9
}

@media screen and (max-width:768px) {
  .theme-list .num .label {
    font-size: .9375rem
  }
}

.theme-list .title {
  margin-bottom: 20px;
  font-size: 1.25rem;
  letter-spacing: .06em;
  line-height: 1.6
}

.theme-list .title .text-en {
  color: grey
}

.theme-list .img {
  min-height: 107px
}

@media screen and (max-width:768px) {
  .theme-list .title {
    font-size: 1.125rem
  }
  .theme-list .img {
    width: 40%;
    min-height: inherit;
    margin: 0 auto
  }
  .theme-list .img img {
    width: 100%;
    height: auto
  }
}

.theme-list .desc {
  overflow: hidden;
  margin-top: 30px;
  height: 3.2em;
  text-align: left;
  font-size: .9375rem
}

@media screen and (max-width:768px) {
  .theme-list .desc {
    margin-top: 10px;
    font-size: .8125rem
  }
}

.theme-list .desc .text-en {
  margin-top: 20px;
  color: grey
}

.theme-list .point {
  margin-top: 20px
}

.theme-list .point .point-title {
  margin-bottom: 10px;
  color: #da2727;
  font-weight: 700;
  font-size: 1.0625rem;
  text-align: center
}

.theme-list .point p {
  margin-bottom: 1.6em
}

.theme-list .point p:last-child {
  margin-bottom: 0
}

.theme-list .status {
  margin-top: 20px;
  text-align: center
}

.theme-list .status a {
  margin: 0 auto;
  padding-left: 20px;
  position: relative;
  outline: 0;
  display: inline-block;
  width: 388px;
  height: 76px;
  border-radius: 40px;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  border: 2px solid #da2727;
  font-weight: 700;
  background: #da2727;
  color: #fff!important
}

@media screen and (max-width:768px) {
  .theme-list .status a {
    width: 100%;
    height: auto
  }
  .theme-list .status a .button-label {
    padding: 1em 0
  }
}

.theme-list .status a:after {
  display: inline-block;
  width: 0;
  height: 100%;
  vertical-align: middle
}

.theme-list .status a .button-label {
  display: inline-block;
  vertical-align: middle
}

.theme-list .status a,
.theme-list .status a:active,
.theme-list .status a:focus,
.theme-list .status a:hover,
.theme-list .status a:link,
.theme-list .status a:visited {
  color: #da2727
}

.theme-list .status a .en,
.theme-list .status a .ja {
  display: block
}

.theme-list .status a .en {
  font-weight: 700;
  line-height: 1;
  font-size: 1.625rem;
  letter-spacing: .12em
}

.theme-list .status a .ja {
  margin-top: 10px;
  line-height: 1.2
}

.no-touch .theme-list .status a:hover {
  background-color: #da2727;
  color: #fff
}

@media screen and (max-width:768px) {
  .theme-list .status a .ja {
    margin-top: 8px
  }
  .theme-list .status a {
    padding-left: 0
  }
}

.theme-list .status a:before {
  position: absolute;
  left: 24px;
  top: 50%;
  margin-top: -18px;
  display: inline-block;
  width: 49px;
  height: 37px;
  background: url(/contest/assets/img/top/status_ico_map_wht.png) left top no-repeat;
  background-size: 49px auto
}

.theme-list .status a:hover {
  background-color: #fff!important;
  color: #da2727!important
}

.theme-list .status a:hover:before {
  background-image: url(/contest/assets/img/top/status_ico_map_red.png)
}

@media screen and (max-width:768px) {
  .theme-list .status a:before {
    margin-top: -20px;
    width: 26px;
    height: 20px;
    background-size: 26px auto
  }
  .theme-list .status a .en {
    font-size: 1.25rem
  }
}

.theme-list .status a .ja {
  font-size: .75rem;
  font-weight: 700
}

.theme-list .more {
  margin-top: 20px
}

.theme-list .more a {
  outline: 0;
  display: inline-block;
  width: 184px;
  height: 44px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 2em;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  border: 2px solid #da2727;
  font-weight: 700;
  position: relative
}

@media screen and (max-width:768px) {
  .theme-list .status a .ja {
    font-size: .6875rem;
    letter-spacing: 0
  }
  .theme-list .more {
    margin-top: 0;
    padding: 0 20px 15px
  }
  .theme-list .more a {
    width: 100%;
    height: auto
  }
  .theme-list .more a .button-label {
    padding: 1em 0
  }
}

.theme-list .more a:after {
  display: inline-block;
  width: 0;
  height: 100%;
  vertical-align: middle
}

.theme-list .more a .button-label {
  display: inline-block;
  vertical-align: middle
}

.theme-list .more a,
.theme-list .more a:active,
.theme-list .more a:focus,
.theme-list .more a:hover,
.theme-list .more a:link,
.theme-list .more a:visited {
  color: #da2727
}

.theme-list .more a .en,
.theme-list .more a .ja {
  display: block
}

.theme-list .more a .en {
  font-weight: 700;
  line-height: 1;
  letter-spacing: .14em;
  margin-left: 10px
}

.theme-list .more a .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

@media screen and (max-width:768px) {
  .theme-list .more a .ja {
    margin-top: 8px
  }
}

.no-touch .theme-list .more a:hover {
  background-color: #da2727;
  color: #fff
}

.theme-list .more a:before {
  content: '\E904';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 12px;
  left: 15px
}

.theme-list .body:after,
.theme-list .desc,
.theme-list .more {
  transition: all .5s ease
}

.theme-list.is-open .body:after {
  opacity: 0;
  display: none
}

.theme-list.is-open .more a:before {
  content: '\E905'
}

.theme-list--4 .item {
  width: 25%
}

@media screen and (max-width:768px) {
  .theme-list--4 .item {
    width: auto
  }
}

.theme-list--4 .body {
  padding-right: 20px;
  padding-left: 20px
}

.theme-list--4 .title {
  font-size: 1.125rem
}

.top-qualifications .parent {
  display: table;
  width: 100%;
  background: #fff
}

@media screen and (max-width:768px) {
  .top-qualifications .parent {
    display: block;
    width: auto;
    background: 0 0
  }
}

.top-qualifications .img,
.top-qualifications .text {
  display: table-cell;
  vertical-align: middle
}

.top-qualifications .text {
  padding: 20px 50px
}

.top-qualifications .text .announce-txt {
  margin-bottom: 20px;
  color: #da2727;
  font-weight: 700
}

.top-qualifications .img {
  text-align: right
}

.top-voice .lead,
.top-voice .title-category {
  text-align: center
}

.top-qualifications .target {
  margin: 0 0 20px
}

@media screen and (max-width:768px) {
  .top-qualifications .img,
  .top-qualifications .text {
    display: block;
    width: auto
  }
  .top-qualifications .text {
    padding: 0 15px 20px
  }
  .top-qualifications .img img {
    width: 100%;
    height: auto
  }
  .top-qualifications .target {
    margin-bottom: 10px
  }
}

.top-qualifications .target dd,
.top-qualifications .target dt {
  display: inline-block;
  font-weight: 700
}

.top-qualifications .target dt {
  padding: 3px 10px;
  position: relative;
  background: #da2727;
  color: #fff;
  font-size: 1.25rem
}

.top-qualifications .target dt:after,
.top-qualifications .target dt:before {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  line-height: 5px;
  border-style: solid
}

.top-qualifications .target dt:before {
  left: 0;
  top: 0;
  border-width: 5px 5px 0 0;
  border-color: #fff transparent transparent
}

.top-qualifications .target dt:after {
  right: 0;
  bottom: 0;
  border-width: 0 0 5px 5px;
  border-color: transparent transparent #fff
}

@media screen and (max-width:768px) {
  .top-qualifications .target dt {
    font-size: 1rem
  }
}

.top-qualifications .target dd {
  margin-left: 0;
  padding: 3px 0 3px 15px;
  font-size: 1.125rem
}

@media screen and (max-width:768px) {
  .top-qualifications .target dd {
    display: block;
    font-size: .875rem;
    padding: 10px 0 0
  }
}

.top-voice .lead {
  margin-bottom: 40px;
  padding: 0 0 30px;
  background: url(/contest/assets/img/top/voice_bg_dialog.png) center bottom no-repeat;
  background-size: 637px auto;
  font-size: 1.125rem;
  letter-spacing: .06em
}

@media screen and (max-width:768px) {
  .top-voice .lead {
    margin: 0 15px 20px;
    background-size: 100% auto;
    font-size: .875rem
  }
}

.top-voice .section {
  margin-bottom: 60px
}

@media screen and (max-width:768px) {
  .top-voice .section {
    margin-bottom: 0
  }
}

.top-voice .section:last-child {
  margin-bottom: 0
}

.top-voice .button-archive {
  display: block;
  margin: 50px auto;
  width: 400px
}

@media screen and (max-width:768px) {
  .top-voice .button-archive {
    margin-top: 20px;
    margin-bottom: 20px;
    width: calc(100% - 40px)
  }
}

.top-voice .button-archive .button {
  width: 100%;
  height: 70px
}

.top-voice .button-archive .button:before {
  left: auto;
  right: 15%;
  font-size: 13px
}

.top-voice .button-archive .button .en {
  font-size: 1.375rem
}

.voice-list:after {
  content: "";
  display: table;
  clear: both
}

.voice-list .item {
  float: left;
  width: 25%
}

@media screen and (max-width:768px) {
  .top-voice .button-archive .button {
    height: 46px
  }
  .top-voice .button-archive .button:before {
    right: 15px
  }
  .top-voice .button-archive .button .en {
    font-size: .875rem
  }
  .voice-list .item {
    display: block;
    float: left;
    width: 50%
  }
}

.voice-list .link {
  display: block;
  position: relative;
  overflow: hidden
}

.voice-list .link.is-movie:before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 120;
  margin: -40px 0 0 -40px;
  display: block;
  width: 80px;
  height: 80px;
  background: url(/contest/assets/img/common/btn_movie_mono.png) left top no-repeat;
  background-size: 100% auto;
  transition: opacity .4s ease
}

@media screen and (max-width:768px) {
  .voice-list .link.is-movie:before {
    margin: -25px 0 0 -25px;
    width: 50px;
    height: 50px
  }
}

@media screen and (min-width:769px) {
  .voice-list .link.is-movie .inner {
    padding-top: 25px;
    padding-bottom: 55px
  }
}

.voice-list .link.is-comingsoon:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 150;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: .4
}

.voice-list .link:not(.is-comingsoon):hover .text {
  -webkit-transform: skewY(1deg);
  -ms-transform: skewY(1deg);
  transform: skewY(1deg)
}

.voice-list .link:not(.is-comingsoon):hover .inner {
  -webkit-transform: skewY(-1deg);
  -ms-transform: skewY(-1deg);
  transform: skewY(-1deg)
}

.voice-list .text {
  position: absolute;
  z-index: 120;
  width: 100%;
  bottom: -30px;
  background: rgba(0, 0, 0, .7);
  color: #fff;
  transition: -webkit-transform .2s ease;
  transition: transform .2s ease;
  -webkit-transform: skewY(3deg);
  -ms-transform: skewY(3deg);
  transform: skewY(3deg)
}

.voice-list .inner {
  padding: 20px 20px 45px;
  transition: -webkit-transform .2s ease;
  transition: transform .2s ease;
  -webkit-transform: skewY(-3deg);
  -ms-transform: skewY(-3deg);
  transform: skewY(-3deg)
}

.voice-list .num {
  position: absolute;
  top: -30px;
  left: 20px;
  font-weight: 400;
  font-size: 3.75rem;
  color: #da2727
}

@media screen and (max-width:768px) {
  .voice-list .inner {
    padding: 15px 15px 40px
  }
  .voice-list .num {
    font-size: 1.875rem;
    top: -20px;
    left: 15px
  }
}

.voice-list .title {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6
}

@media screen and (max-width:768px) {
  .voice-list .title {
    font-size: .75rem;
    line-height: 1.3
  }
}

.voice-list .interviewee {
  font-size: .8125rem;
  font-weight: 700;
  text-align: right
}

.status-map-popup .title,
.top-about,
.top-about a,
.top-notice .title,
.top-social {
  text-align: center
}

@media screen and (max-width:768px) {
  .voice-list .interviewee {
    display: none;
    margin-top: 0;
    font-size: .625rem
  }
  .voice-list .interviewee br {
    display: none
  }
}

.voice-list .interviewee .name {
  display: inline-block;
  margin-left: 1em;
  font-weight: 400
}

.voice-list .interviewee-movie {
  font-size: .8125rem;
  letter-spacing: .02em;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .voice-list .interviewee-movie {
    font-size: .625rem
  }
}

.voice-list .interviewee-movie .position {
  margin-bottom: 0
}

.voice-list .interviewee-movie .name {
  margin-bottom: 0;
  font-size: 1.125rem;
  letter-spacing: .08em
}

.voice-list .img {
  position: relative;
  z-index: 110
}

.voice-list .img img {
  width: 100%;
  height: auto
}

@media screen and (max-width:768px) {
  .voice-list .interviewee-movie .name {
    font-size: .875rem
  }
  .top-about {
    margin: 30px 15px
  }
}

.top-about a {
  outline: 0;
  display: inline-block;
  width: 512px;
  height: 111px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 60px;
  text-decoration: none;
  line-height: 1.3;
  border: 2px solid #da2727;
  font-weight: 700;
  position: relative
}

@media screen and (max-width:768px) {
  .top-about a {
    width: 100%;
    height: auto
  }
  .top-about a .button-label {
    padding: 1em 0
  }
}

.top-about a:after {
  display: inline-block;
  content: '';
  width: 0;
  height: 100%;
  vertical-align: middle
}

.top-about a .button-label {
  display: inline-block;
  vertical-align: middle
}

.top-about a,
.top-about a:active,
.top-about a:focus,
.top-about a:hover,
.top-about a:link,
.top-about a:visited {
  color: #da2727
}

.no-touch .top-about a {
  transition: color .3s ease, background-color .3s ease
}

.top-about a .en,
.top-about a .ja {
  display: block
}

.top-about a .en {
  font-family: Oswald, Arial, sans-serif;
  font-weight: 700;
  line-height: 1
}

.top-about a .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

@media screen and (max-width:768px) {
  .top-about a .ja {
    margin-top: 8px
  }
}

.no-touch .top-about a:hover {
  background-color: #da2727;
  color: #fff
}

.top-about a:before {
  content: '\E902';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 21px;
  left: 5%
}

@media screen and (max-width:768px) {
  .top-about a:before {
    font-size: 14px
  }
}

.top-about a .en {
  font-size: 2.4375rem;
  letter-spacing: .1em
}

@media screen and (max-width:768px) {
  .top-about a .en {
    font-size: 1.125rem
  }
}

.top-about a .ja {
  font-size: .8125rem
}

@media screen and (max-width:768px) {
  .top-about a .ja {
    font-size: .75rem
  }
}

.top-about a .ja-label {
  font-size: 1.5rem
}

@media screen and (max-width:768px) {
  .top-about a .ja-label {
    font-size: .75rem
  }
  .top-social .nav img {
    width: 40px;
    height: auto
  }
}

.top-social .nav {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0
}

.top-social .nav li.other::before {
  display: none
}

.top-social .nav li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0;
  display: inline-block;
  font-size: 16px;
  white-space: nowrap
}

.top-social .nav .item {
  margin: 0 8px
}

.no-touch .top-social .nav a {
  transition: opacity .4s ease
}

.no-touch .top-social .nav a:hover {
  opacity: .7
}

.top-social .desc {
  margin-top: 25px;
  font-size: 1.125rem;
  letter-spacing: .06em
}

.status-map-container .mfp-content {
  max-width: 1080px
}

.status-map-popup {
  padding: 60px 90px 75px 100px;
  background: #fff
}

@media screen and (max-width:768px) {
  .top-social .desc {
    font-size: .9375rem
  }
  .status-map-container .mfp-content {
    width: 94%
  }
  .status-map-popup {
    padding: 30px 20px 20px
  }
}

.status-map-popup .title {
  margin-bottom: 22px;
  padding: 0 0 40px;
  background: url(/contest/assets/img/top/voice_bg_dialog.png) center bottom no-repeat;
  background-size: 637px auto;
  letter-spacing: .06em
}

.status-map-popup .title .en {
  display: block;
  font-size: 2.8125rem;
  font-weight: 700;
  letter-spacing: .12em
}

@media screen and (max-width:768px) {
  .status-map-popup .title {
    margin-bottom: 15px;
    padding-bottom: 20px;
    background-size: 100% auto
  }
  .status-map-popup .title .en {
    font-size: 1.5rem
  }
}

.status-map-popup .title .ja {
  display: block;
  margin-top: 10px;
  font-size: .9375rem;
  letter-spacing: .1em
}

.status-map-popup .content {
  position: relative
}

.status-map-popup .map path,
.status-map-popup .map polygon {
  fill: #fff;
  stroke: #388bbd;
  stroke-width: 1;
  transition: all .5s;
  z-index: 100
}

.status-map-popup .map .is-status1 path,
.status-map-popup .map .is-status1 polygon {
  fill: #efefef
}

.status-map-popup .map .is-status2 path,
.status-map-popup .map .is-status2 polygon {
  fill: #bee0f4
}

.status-map-popup .map .is-status3 path,
.status-map-popup .map .is-status3 polygon {
  fill: #6fbbe7
}

.status-map-popup .map .is-status4 path,
.status-map-popup .map .is-status4 polygon {
  fill: #218ac8
}

.status-map-popup .map a {
  display: inline-block
}

.status-map-popup .map .no-touchevent a:hover path,
.status-map-popup .map .no-touchevent a:hover polygon {
  fill: #e6a9a9
}

.status-map-popup .map .pref-name {
  display: none
}

.status-map-popup .map .pref-name path,
.status-map-popup .map .pref-name polygon {
  fill: #000!important;
  stroke: transparent!important;
  stroke-width: 0!important;
  z-index: 130
}

.status-map-popup .map-title {
  position: absolute;
  left: 25px;
  top: 60px
}

@media screen and (max-width:768px) {
  .status-map-popup .title .ja {
    margin-top: 5px;
    font-size: .8125rem;
    letter-spacing: 0
  }
  .status-map-popup .map {
    margin: -15px 0 15px;
    background: url(/contest/assets/img/top/status_ico_zoom.svg) 98% bottom no-repeat;
    background-size: 20% auto
  }
  .status-map-popup .map svg {
    width: 100%;
    height: 100%
  }
  .status-map-popup .map .pref-name {
    display: block;
    opacity: 0;
    transition: opacity .2s ease
  }
  .is-pinch-out .status-map-popup .map .pref-name {
    opacity: 1
  }
  .status-map-popup .map-title {
    display: inline-block;
    position: relative;
    left: auto;
    top: auto
  }
}

.status-map-popup .map-title:after {
  position: absolute;
  left: 50%;
  top: 100%;
  margin-left: -10px;
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 44px 10px 0;
  border-color: #da2727 transparent transparent
}

.status-map-popup .map-title .inner {
  position: relative;
  display: block;
  background: #da2727;
  color: #fff;
  padding: 30px
}

@media screen and (max-width:768px) {
  .status-map-popup .map-title:after {
    border-width: 22px 5px 0;
    margin-left: -5px
  }
  .status-map-popup .map-title .inner {
    padding: 10px
  }
}

.status-map-popup .map-title .inner:after,
.status-map-popup .map-title .inner:before {
  position: absolute;
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid
}

.status-map-popup .map-title .inner:before {
  left: 0;
  top: 0;
  border-width: 13px 13px 0 0;
  border-color: #fff transparent transparent
}

@media screen and (max-width:768px) {
  .status-map-popup .map-title .inner:before {
    border-width: 6px 6px 0 0
  }
}

.status-map-popup .map-title .inner:after {
  right: 0;
  bottom: 0;
  border-width: 0 0 13px 13px;
  border-color: transparent transparent #fff
}

.status-map-popup .map-title .q {
  display: inline-block;
  margin-right: 5px;
  font-size: 3.4375rem;
  font-weight: 700;
  line-height: 1
}

@media screen and (max-width:768px) {
  .status-map-popup .map-title .inner:after {
    border-width: 0 0 6px 6px
  }
  .status-map-popup .map-title .q {
    font-size: 1.75rem
  }
}

.status-map-popup .map-title .label {
  display: inline-block;
  font-size: 1.25rem;
  line-height: 1.4em
}

@media screen and (max-width:768px) {
  .status-map-popup .map-title .label {
    font-size: .6875rem
  }
}

.status-map-popup .map-title .pref {
  display: block;
  margin-top: 15px;
  padding: 5px;
  background: #fff;
  color: #000;
  text-align: center;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: .12em;
  line-height: 1
}

@media screen and (max-width:768px) {
  .status-map-popup .map-title .pref {
    display: none!important;
    margin-top: 5px;
    font-size: .75rem
  }
}

.status-map-popup .legend {
  position: absolute;
  right: 0;
  bottom: 0;
  margin: 0;
  min-width: 261px;
  border: 2px solid #000;
  padding: 21px 23px;
  font-weight: 700
}

.status-map-popup .legend dt {
  clear: both;
  float: left;
  width: 58px;
  height: 26px;
  margin-right: 15px
}

@media screen and (max-width:768px) {
  .status-map-popup .legend {
    min-width: inherit;
    position: relative;
    right: auto;
    bottom: auto;
    padding: 13px
  }
  .status-map-popup .legend dt {
    width: 40px;
    height: 20px;
    margin-right: 10px
  }
}

.status-map-popup .legend dt.is-status1 {
  background: #efefef
}

.status-map-popup .legend dt.is-status2 {
  background: #bee0f4
}

.status-map-popup .legend dt.is-status3 {
  background: #6fbbe7
}

.status-map-popup .legend dt.is-status4 {
  background: #218ac8
}

.status-map-popup .legend dd {
  overflow: hidden;
  margin: 0 0 12px;
  font-size: .8125rem
}

@media screen and (max-width:768px) {
  .status-map-popup .legend dd {
    margin: 0 0 10px;
    font-size: .75rem;
    line-height: 20px
  }
  .status-map-popup .legend dd:last-child {
    margin-bottom: 0
  }
}

.status-map-popup .legend dd:last-child {
  margin-bottom: 0
}

.public-form-container .mfp-content {
  max-width: 1100px;
  min-height: 1100px
}

.public-form-container .mfp-iframe {
  margin-bottom: 40px
}

.top-notice .parent {
  background: #fff
}

.top-notice .text {
  padding: 40px 0;
  line-height: 2;
  max-width: 880px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width:768px) {
  .public-form-container .mfp-content {
    width: 94%
  }
  .top-notice .parent {
    width: auto
  }
  .top-notice .text {
    padding: 20px 30px;
    line-height: 1.8
  }
  .top-notice .lang--en {
    padding-top: 1em
  }
}

.top-notice .lang--en {
  padding-top: 1em;
  display: none
}

.top-notice .lang p:not(:last-child) {
  margin-bottom: 1.5em
}

@media screen and (max-width:768px) {
  .top-notice .lang p:not(: last-child) {
    margin-bottom: 1em
  }
}

.top-notice .title {
  margin: 2em 0;
  color: #da2727;
  line-height: 1.5;
  font-size: 1.4375rem;
  letter-spacing: .18em
}

@media screen and (max-width:370px) {
  .top-notice .title br {
    display: none
  }
}

.top-notice .from {
  text-align: right
}

.top-notice .more {
  margin-top: 40px;
  text-align: center
}

.top-notice .more a {
  outline: 0;
  display: inline-block;
  width: 184px;
  height: 44px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 2em;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  border: 2px solid #da2727;
  font-weight: 700;
  position: relative
}

@media screen and (max-width:768px) {
  .top-notice .title {
    font-size: 1rem
  }
  .top-notice .more {
    margin-top: 20px
  }
  .top-notice .more a {
    width: 100%;
    height: auto
  }
  .top-notice .more a .button-label {
    padding: 1em 0
  }
}

.top-notice .more a:after {
  display: inline-block;
  content: '';
  width: 0;
  height: 100%;
  vertical-align: middle
}

.top-notice .more a .button-label {
  display: inline-block;
  vertical-align: middle
}

.top-notice .more a,
.top-notice .more a:active,
.top-notice .more a:focus,
.top-notice .more a:hover,
.top-notice .more a:link,
.top-notice .more a:visited {
  color: #da2727
}

.no-touch .top-notice .more a {
  transition: color .3s ease, background-color .3s ease
}

.top-notice .more a .en,
.top-notice .more a .ja {
  display: block
}

.top-notice .more a .en {
  font-weight: 700;
  line-height: 1;
  letter-spacing: .14em;
  margin-left: 10px
}

.top-notice .more a .ja {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.2
}

@media screen and (max-width:768px) {
  .top-notice .more a .ja {
    margin-top: 8px
  }
}

.no-touch .top-notice .more a:hover {
  background-color: #da2727;
  color: #fff
}

.top-notice .more a:before {
  content: '\E904';
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  font-size: 12px;
  left: 15px
}

.top-notice .more a.is-open:before {
  content: '\E905'
}

@font-face {
  font-family: iconfont;
  src: url(/contest/assets/iconfont/iconfont.eot?cache=1555485537137);
  src: url(/contest/assets/iconfont/iconfont.eot) format('eot'), url(/contest/assets/iconfont/iconfont.woff?cache=1555485537137) format('woff'), url(/contest/assets/iconfont/iconfont.ttf?cache=1555485537137) format('truetype'), url(/contest/assets/iconfont/iconfont.svg) format('svg')
}

.otherVoiceSection .voice-list,
.voiceSection .voice-list {
  margin-right: -40px
}

@media screen and (max-width:768px) {
  .otherVoiceSection .voice-list,
  .voiceSection .voice-list {
    margin-right: -10px
  }
}

.otherVoiceSection .voice-list .item,
.voiceSection .voice-list .item {
  width: calc(33.33% - 40px);
  margin: 0 40px 40px 0
}

@media screen and (max-width:768px) {
  .otherVoiceSection .voice-list .item,
  .voiceSection .voice-list .item {
    width: calc((100% - 20px)/ 2);
    margin: 0 10px 10px 0
  }
}

#movie ul.pageNav,
#voice ul.pageNav {
  margin: 0 -20px 40px 0
}

@media screen and (max-width:768px) {
  #movie ul.pageNav,
  #voice ul.pageNav {
    margin: 0 0 20px
  }
}

#movie ul.pageNav li,
#voice ul.pageNav li {
  width: calc((100% - 40px)/ 2);
  margin: 0 20px 20px 0
}

.articleSection {
  padding-bottom: 80px;
  border-bottom: none;
  background-color: #fff
}

@media screen and (max-width:768px) {
  #movie ul.pageNav li,
  #voice ul.pageNav li {
    width: auto;
    margin: 5px 0 0
  }
  .articleSection {
    padding-bottom: 30px;
    margin-bottom: 30px
  }
}

.articleHead {
  position: relative;
  overflow: hidden;
  z-index: 0
}

.articleHead .visual {
  position: relative;
  color: #fff
}

.articleHead .img {
  overflow: hidden
}

.articleHead .img img {
  width: 110%;
  margin-left: -5%;
  height: auto
}

@media screen and (max-width:768px) {
  .articleHead .img img {
    width: 120%;
    margin-left: -10%
  }
}

.articleHead .img:after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 70px 0 0 1120px;
  border-color: transparent transparent transparent #fff
}

.articleHead .no {
  position: absolute;
  left: -30px;
  top: 95px;
  font-size: 18.375rem;
  font-weight: 700;
  letter-spacing: .01em
}

@media screen and (max-width:768px) {
  .articleHead .img:after {
    display: none
  }
  .articleHead .no {
    font-size: 5rem;
    left: -8px;
    top: 20px;
    opacity: .4
  }
}

.articleHead .interviewee {
  position: absolute;
  left: 50px;
  bottom: 100px
}

.articleHead .interviewee span {
  display: block
}

.articleHead .interviewee .ja {
  margin-bottom: 10px;
  font-size: 1rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .articleHead .interviewee {
    left: 15px;
    bottom: 10px;
    line-height: 1
  }
  .articleHead .interviewee .ja {
    margin-bottom: 5px;
    font-size: .6875rem
  }
}

.articleHead .interviewee .en {
  font-size: 2.375rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 700;
  letter-spacing: .12em
}

@media screen and (max-width:768px) {
  .articleHead .interviewee .en {
    font-size: 1.125rem
  }
}

.articleHead .title {
  position: absolute;
  display: inline-block;
  margin-top: -40px;
  background: #000;
  color: #fff;
  font-size: 1.875rem;
  line-height: 1.3;
  padding: 8px 15px 8px 50px
}

@media screen and (max-width:768px) {
  .articleHead .title {
    position: relative;
    bottom: auto;
    left: auto;
    display: block;
    font-size: .9375rem;
    margin-top: 0;
    padding: 10px 15px 20px;
    z-index: 110
  }
  .articleHead .title:after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 30px 768px;
    border-color: transparent transparent #fff
  }
}

.articleHead .profile {
  margin: 40px 50px 0 120px;
  padding: 25px 35px;
  background: #eee
}

.articleHead .profile .desc p {
  margin-bottom: 1em
}

.articleHead .profile .desc p:last-child {
  margin-bottom: 0
}

@media screen and (max-width:768px) {
  .articleHead .profile {
    margin: 10px 15px 0;
    padding: 15px
  }
  .articleHead .profile .desc {
    margin-top: 5px;
    font-size: .75rem
  }
}

.articleBody {
  overflow: hidden;
  padding: 0 120px
}

.articleBody p {
  margin-bottom: 1em
}

.articleBody p:last-child {
  margin-bottom: 0
}

.articleBody h3 {
  clear: both;
  letter-spacing: .16em;
  margin-top: 50px;
  margin-bottom: 30px;
  font-size: 1.5rem
}

@media screen and (max-width:768px) {
  .articleBody h3 {
    font-size: .8125rem
  }
}

.articleBody h3 .label {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: solid 3px #000
}

.articleBody p {
  overflow: hidden;
  font-size: 108%;
  line-height: 2
}

.articleBody strong {
  color: #218ac8
}

.articleBody .aligncenter {
  display: block;
  margin: 0 auto 2em
}

.articleBody .alignleft,
.articleBody .alignright {
  width: 320px;
  margin: 0 0 2em
}

.articleBody .alignleft {
  float: left;
  padding-right: 2.4em
}

.articleBody .alignright {
  float: right;
  padding-left: 2.4em
}

@media screen and (max-width:768px) {
  .articleBody {
    padding: 0 10px
  }
  .articleBody h3 {
    margin-top: 25px;
    font-size: 115%
  }
  .articleBody p {
    font-size: 108%;
    line-height: 1.8
  }
  .articleBody .aligncenter {
    margin: 1em auto
  }
  .articleBody .alignleft,
  .articleBody .alignright {
    float: none;
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 360px;
    margin: 1em auto;
    padding: 0;
    text-align: center
  }
}

.otherSection {
  border-bottom: none
}

.otherSection .voiceList {
  margin: 0 0 63px;
  padding: 0 28px
}

.otherSection .voiceList .listItem {
  width: 250px;
  margin: 0 0 0 16px
}

.otherSection .voiceList .listItem a .img img {
  width: 100%
}

.otherSection .voiceList .listItem a .no {
  right: auto;
  bottom: auto;
  top: 0;
  left: 0;
  padding: 14px;
  background-color: #223566;
  font-size: 172%;
  text-align: center;
  color: #fff
}

.otherSection .voiceList .listItem a .text {
  padding: 4px 10px 6px
}

.otherSection .voiceList .listItem a .text .name {
  text-align: left;
  font-size: 100%
}

.otherSection .voiceList .listItem a .text .shoulder {
  font-size: 72%
}

@media screen and (max-width:768px) {
  .otherSection .voiceList {
    margin: 0 4px 43px
  }
  .otherSection .voiceList .listItem {
    width: auto
  }
  .otherSection .voiceList .listItem a .no {
    left: -5px;
    padding: 8px 7px;
    font-size: 214%
  }
}

.otherVoiceSection {
  margin-top: 30px
}

.otherVoiceSection .section-title {
  font-size: 1.125rem;
  letter-spacing: .16em;
  margin-bottom: 30px
}

.otherVoiceSection .section-title .label {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: solid 3px #000
}

.otherVoiceSection .slick-arrow {
  margin-top: -57px
}

.otherVoiceSection .slick-next {
  right: 40px
}

@media screen and (max-width:768px) {
  .otherVoiceSection .section-title {
    font-size: 1rem
  }
  .otherVoiceSection .slick-arrow {
    margin-top: -29px
  }
  .otherVoiceSection .slick-next {
    right: -5px
  }
  .otherVoiceSection .slick-prev {
    left: -15px
  }
}

@media screen and (min-width:0px) and (max-width:370px) {
  .otherVoiceSection .slick-next {
    right: 0
  }
  .otherVoiceSection .slick-prev {
    left: -10px
  }
}

ul.button {
  margin: 0;
  padding: 0;
  list-style: none
}

ul.button li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0
}

ul.button li.other::before {
  display: none
}