@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
body {
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-feature-settings: "palt";
  color: #000; }

h3 {
  font-size: 1.2em;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  font-feature-settings: "palt"; }

.ar-head {
  font-size: 1.2em;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  font-feature-settings: "palt"; }

.strong {
  font-weight: bold; }

.head {
  font-weight: bold; }

.copyright {
  font-size: .8em; }

@media screen and (max-width: 900px) {
  body {
    font-size: 15px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-feature-settings: "palt"; } }
@media screen and (max-width: 540px) {
  body {
    font-size: 14px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-feature-settings: "palt"; } }
html,
body {
  width: 100%;
  overflow-x: hidden; }

section {
  display: block;
  position: relative;
  z-index: 0;
  padding: 80px 0;
  text-align: center; }

.inner-wrap {
  padding: 0 1em;
  width: calc(100% - 2em);
  max-width: 720px;
  margin: auto; }

img {
  display: block;
  width: 100%; }

.menu-btn {
  display: none; }

#menu {
  position: fixed;
  background: #fff;
  left: 0;
  top: 0;
  z-index: 5;
  width: 100%; }
  #menu .menu-in {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - 2em);
    padding: 1em; }
  #menu:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #d49b00 0%, #d49b00 20%, #d49b00 34%, #d4bb00 50%, #f4e280 60%, #d4bb00 80%, #d49b00 100%);
    left: 0;
    bottom: -2px; }
  #menu .main-menu {
    display: flex;
    align-items: center;
    margin: 0 auto; }
    #menu .main-menu li:after {
      content: "|";
      padding: 0 .5em; }
    #menu .main-menu li:last-child::after {
      display: none; }
    #menu .main-menu li a {
      transition-duration: .3s; }
      #menu .main-menu li a:hover {
        opacity: .5; }
  #menu .lang {
    position: absolute;
    right: 1em;
    top: .75em;
    display: flex;
    align-items: center;
    padding: .25em 1em;
    border: solid 1px #000;
    border-radius: 4px; }
    #menu .lang li {
      color: #000; }
      #menu .lang li:first-child::after {
        content: "/";
        color: #000;
        padding: 0 0.5em; }
      #menu .lang li.active {
        color: #b3b3b3; }
      #menu .lang li a {
        color: #000;
        transition-duration: .3s; }
        #menu .lang li a:hover {
          color: #b3b3b3; }

.data-box {
  background: #e6e6e6;
  border-radius: 8px;
  padding: 1em 1.5em;
  width: calc(100% - 3em);
  margin: .5em auto; }
  .data-box a {
    transition-duration: .3s; }
    .data-box a:hover {
      opacity: .5;
      text-decoration: underline; }

#about .about-item .data-box a {
  color: #000;
  text-decoration: none; }
  #about .about-item .data-box a:hover {
    opacity: .5;
    text-decoration: underline; }

.bg {
  background-color: #e6e6e6;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0; }
  .bg:before {
    content: "";
    background: url(../images/bg.svg);
    background-size: 8px;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: .6; }
  .bg .spot {
    background: url(../images/logo-bg.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: -10vw;
    top: -5%;
    width: 120vw;
    height: 100%;
    z-index: 0; }
  .bg::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 30%;
    transform: translate(-50%, -50%);
    background: url(../images/bg-parts.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100vw;
    height: 100vh;
    z-index: -1; }

#top {
  position: relative;
  z-index: 1; }
  #top .inner-wrap {
    max-width: 1024px; }
  #top .main-v {
    padding: 70px 0 30px;
    position: relative;
    z-index: 0; }
    #top .main-v h1 {
      max-width: 960px;
      margin: 0 auto;
      padding: 15vh 0 20vh;
      position: relative;
      width: 85%; }
    #top .main-v h2 {
      max-width: 720px;
      margin: 0 auto; }
  #top h3 {
    text-align: center;
    margin-top: 1em; }

.head-box {
  margin-bottom: 40px; }

.btn-box .btn {
  max-width: 320px;
  margin: .5em auto 0;
  display: block;
  transition-duration: .3s;
  filter: drop-shadow(5px 5px 0px rgba(0, 0, 0, 0.2)); }
  .btn-box .btn:hover {
    filter: drop-shadow(0 0 0px rgba(0, 0, 0, 0.2)); }
.btn-box .btn2 {
  background-color: #9f1b1e;
  color: #fff;
  display: block;
  width: 200px;
  padding: 0.3em 2em;
  border-radius: 4em;
  margin: auto;
  margin-top: 2em;
  filter: drop-shadow(5px 5px 0px rgba(0, 0, 0, 0.2)); }
  .btn-box .btn2:hover {
    filter: drop-shadow(0 0 0px rgba(0, 0, 0, 0.2)); }

.youtube iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: 100%;
  display: block; }

#wccs p {
  margin-bottom: 1.5em; }
#wccs .ar-head {
  margin-bottom: 1em; }

#about .strong {
  margin-bottom: 40px; }
#about .about-item {
  margin: 1.3em auto;
  padding-bottom: 1.3em;
  border-bottom: solid 1px #000; }
  #about .about-item:last-child {
    border-bottom: 0; }
  #about .about-item a {
    color: #7c1214;
    text-decoration: underline; }
    #about .about-item a:hover {
      text-decoration: initial; }

#howto .strong {
  margin-bottom: 40px; }
#howto .howto-item {
  margin: 1.3em auto;
  padding-bottom: 1.3em;
  border-bottom: solid 1px #000; }
  #howto .howto-item:last-child {
    border-bottom: 0; }
  #howto .howto-item a {
    color: #7c1214;
    text-decoration: underline; }
    #howto .howto-item a:hover {
      text-decoration: initial; }

#judge .judge-wrap .judge-sin {
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.2);
  margin-bottom: 1em; }
  #judge .judge-wrap .judge-sin .photo {
    width: 30%;
    height: 0;
    padding-bottom: 30%;
    overflow: hidden;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    transition: all 0.5s; }
  #judge .judge-wrap .judge-sin .desc {
    width: calc(70% - 2em);
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    transition: all 0.5s;
    padding: 1em;
    text-align: left;
    position: relative; }
    #judge .judge-wrap .judge-sin .desc .name {
      font-size: 1.6em;
      border-bottom: 3px solid #d4bb03;
      margin-bottom: 0.5em;
      background: #9c1b1d;
      padding: 0.2em 0.4em;
      color: #d4bb03; }
    #judge .judge-wrap .judge-sin .desc .genre {
      margin-bottom: 0.5em; }
      #judge .judge-wrap .judge-sin .desc .genre span {
        font-size: 0.75em;
        display: block; }
    #judge .judge-wrap .judge-sin .desc .media {
      display: block; }
      #judge .judge-wrap .judge-sin .desc .media li {
        display: inline-block;
        width: 20%;
        max-width: 34px;
        margin: 0.2em;
        margin-bottom: 0.5em; }
        #judge .judge-wrap .judge-sin .desc .media li:hover {
          opacity: 0.75; }
    #judge .judge-wrap .judge-sin .desc .profile-bt {
      font-size: 0.8em;
      text-align: center;
      display: block;
      width: fit-content;
      border: 1px solid #333;
      line-height: 1em;
      padding: 0.4em 2em;
      border-radius: 0.3em;
      margin-left: auto;
      cursor: pointer; }
      #judge .judge-wrap .judge-sin .desc .profile-bt:hover {
        background-color: #333;
        color: #fff; }
    #judge .judge-wrap .judge-sin .desc .profile {
      display: none;
      margin-top: 1em; }

#rule ul {
  width: fit-content;
  margin: 0 auto; }
  #rule ul li {
    text-align: left;
    margin-bottom: 1em; }
    #rule ul li:first-child {
      text-align: center; }
#rule .btn-box {
  margin-top: 40px; }

#entry .entry-item {
  margin-bottom: 1.3em;
  padding-bottom: 1.3em;
  border-bottom: solid 1px #000; }
  #entry .entry-item.no-bdr {
    border-bottom: 0; }

footer {
  position: relative;
  width: 100%;
  background-color: #c4a801;
  z-index: 1;
  padding: 0em 0 1em; }
  footer .btn-box {
    width: 100%;
    margin-bottom: 3em; }
    footer .btn-box .btn-contact {
      display: block;
      margin: 1em auto;
      background: #f4e8aa;
      padding: 1em;
      width: calc(100% - 2em);
      transition-duration: .3s;
      text-align: center;
      color: #c4a801; }
      footer .btn-box .btn-contact:hover {
        opacity: .5; }
  footer .wcs-logo {
    width: 80%;
    max-width: 200px;
    margin: auto;
    display: block;
    margin-bottom: 3em; }
  footer .wcs-bnr {
    width: 90%;
    max-width: 400px;
    margin: auto;
    display: block;
    margin-bottom: 1em;
    filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, 0.3)); }
  footer .footer-sns {
    text-align: center;
    color: #fff;
    width: 80%;
    max-width: 240px;
    margin: auto;
    margin-bottom: 3em;
    font-size: 12px;
    letter-spacing: 0.1em; }
    footer .footer-sns .sns-icons {
      margin: 0.75em auto;
      display: flex;
      justify-content: space-between; }
      footer .footer-sns .sns-icons .sns-icon {
        width: 18%;
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -ms-transition: all 0.5s;
        transition: all 0.5s; }
        footer .footer-sns .sns-icons .sns-icon:hover {
          filter: brightness(1.1); }
  footer .bottom-link {
    color: #fff;
    text-align: center;
    margin-bottom: 1em; }
    footer .bottom-link a {
      color: #fff;
      text-decoration: underline; }
  footer .copyrights {
    font-size: 10px;
    text-align: center;
    color: #fff; }

@media screen and (max-width: 1366px) and (max-height: 1024px) {
  #top .main-v h1 {
    width: 100%; } }
@media screen and (max-width: 900px) {
  section {
    padding: 60px 0; }

  #top .main-v {
    padding: 0; }
    #top .main-v h1 {
      max-width: 960px;
      margin: 0 auto;
      position: relative;
      padding: 26dvh 0 28dvh; }

  .bg .spot {
    left: -30%;
    top: 0;
    width: 160%;
    height: 100%;
    z-index: 0;
    max-height: 880px; }
  .bg:after {
    position: absolute;
    top: 55%;
    background-size: contain;
    background-position: top;
    width: 180vw;
    height: 100%;
    z-index: -1; }

  #menu {
    width: 50%;
    height: 100%;
    left: initial;
    right: calc(-100% - 3px);
    transition-duration: .5s; }
    #menu.menu-active {
      right: 0; }
    #menu .menu-in {
      flex-direction: column;
      align-items: center;
      height: calc(100% - 2em); }
    #menu:after {
      width: 3px;
      left: -3px;
      bottom: 0;
      height: 100%;
      background: linear-gradient(0deg, #d49b00 0%, #d49b00 20%, #d49b00 34%, #d4bb00 50%, #f4e280 60%, #d4bb00 80%, #d49b00 100%); }
    #menu .main-menu {
      flex-direction: column;
      width: 100%; }
      #menu .main-menu li {
        margin-bottom: 1em;
        border-bottom: solid 1px #000;
        width: 100%; }
        #menu .main-menu li::after {
          display: none; }
        #menu .main-menu li a {
          width: calc(100% - 2em);
          padding: 1em;
          display: block; }
    #menu .lang {
      position: relative;
      right: initial;
      top: initial;
      text-align: center;
      border: 0; }

  .menu-btn {
    position: fixed;
    top: 1em;
    right: 1em;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-self: center;
    z-index: 20; }
    .menu-btn:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 3px;
      background: #000;
      transition-duration: .5s; }
    .menu-btn:before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 3px;
      background: #000;
      transition-duration: .5s; }
    .menu-btn span {
      display: block;
      width: 100%;
      height: 3px;
      background: #000;
      transition-duration: .5s; }
    .menu-btn.menu-active:before {
      transform: rotate(135deg);
      bottom: 12px;
      background: #000; }
    .menu-btn.menu-active span {
      opacity: 0;
      background: #fff; }
    .menu-btn.menu-active:after {
      transform: rotate(45deg);
      top: 15px;
      background: #000; } }
@media screen and (max-width: 540px) {
  #top .main-v h1 {
    padding: 30dvh 0 38dvh; }

  .bg .spot {
    top: -5%; }
  .bg:after {
    top: 65%; }

  #menu {
    width: 70%; }

  section {
    padding: 40px 0; }

  .btn-box .btn {
    width: 80%; }

  #judge .judge-wrap .judge-sin {
    flex-direction: column; }
    #judge .judge-wrap .judge-sin .photo {
      width: 100%;
      position: relative; }
      #judge .judge-wrap .judge-sin .photo img {
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        -ms-transition: all 0.3s;
        transition: all 0.3s;
        position: absolute;
        top: 150%;
        left: 0;
        margin: auto;
        right: 0;
        bottom: 0; }
    #judge .judge-wrap .judge-sin .desc {
      width: calc(100% - 2em); }
      #judge .judge-wrap .judge-sin .desc .media li {
        margin-bottom: 0; }
      #judge .judge-wrap .judge-sin .desc .profile-bt {
        position: absolute;
        bottom: 1em;
        right: 1em; }
      #judge .judge-wrap .judge-sin .desc .profile {
        margin-bottom: 2em; } }

/*# sourceMappingURL=style.css.map */
