@charset "UTF-8";
/*
Theme Name: JXA Responsive Theme
Theme URI: https://jxaward.com/
Description: WordPress responsive theme for JXA.
Version: 1.0
Author: JXA
Author URI: https://jxaward.com/
*/
/*------------------------------------------------

    initialize
*/
html, body {
  margin: 0;
  padding: 0;
  color: #333;
  /*font: 400 4.27vw/1.6 "M PLUS 1p";*/
  font: 400 4.27vw/1.6 "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  position: relative;
  overflow-x: hidden;
}
@media (min-width: 640px) {
  html, body {
    font-size: 16px;
  }
}

img {
  max-width: 100%;
  height: auto;
}

section {
  display: block;
}

strong {
  font-weight: 700;
}

/*------------------------------------------------

    keyvisual
*/
.keyvisual {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #FCD430;
  z-index: 0;
}
.keyvisual .left {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 37.33vw;
  background: url("images/bg_key_h1_sp@2x.png") center top no-repeat;
  background-size: cover;
  z-index: 2;
}
@media (min-width: 640px) {
  .keyvisual .left {
    width: 50%;
    height: 100vh;
    background: url("images/bg_key_h1@2x.png") right center no-repeat;
    background-size: cover;
  }
}
.keyvisual .left h1 {
  position: absolute;
  top: 2.67vw;
  left: 0;
  right: 0;
  margin: auto;
  width: 75.73%;
  height: 18.67vw;
  background: url("images/logo@3x.png") center center no-repeat;
  background-size: contain;
  animation-name: fadein;
  animation-duration: .6s;
  animation-timing-function: ease-in-out;
}
@keyframes fadein {
  from {
    opacity: 0;
    transform: translateY(-133.33vw);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (min-width: 640px) {
  .keyvisual .left h1 {
    top: 0;
    right: 3.91%;
    bottom: 0;
    width: 77.34%;
    height: 9.53vw;
  }
  @keyframes fadein {
    from {
      opacity: 0;
      transform: translateX(-1000px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }
}
.keyvisual .right {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background: url("images/bg_key_map_sp@2x.png") center 29.54vh no-repeat;
  background-size: contain;
  z-index: 1;
}
@media (min-width: 640px) {
  .keyvisual .right {
    width: 64.45%;
    height: 100vh;
    background: url("images/bg_key_map@2x.png") center center no-repeat;
    background-size: contain;
  }
}
.keyvisual .right h2 {
  position: absolute;
  top: 45vh;
  left: 0;
  right: 0;
  margin: auto;
  width: 87.73%;
  height: 23.73vw;
  /*background: url("images/key_desc_sp@2x.png") center center no-repeat;
  background-size: contain;*/
}
@media (min-width: 640px) {
  .keyvisual .right h2 {
    top: 0;
    left: auto;
    right: 2.11vw;
    bottom: 0;
    width: 72.08%;
    height: 11.56vw;
    /*background-image: url("images/key_desc@2x.png");*/
  }
}
.keyvisual .right h2 path {
  fill: #333;
  fill-opacity: 0;
  stroke: #333;
  stroke-width: 1;
  stroke-dasharray: 150;
  stroke-dashoffset: 150;
}
@media (min-width: 640px) {
  .keyvisual .right h2 path {
    stroke-dasharray: 200;
    stroke-dashoffset: 200;
  }
}
.keyvisual .right a.result-btn {
  position: absolute;
  top: 65vh;
  left: 0;
  right: 0;
  margin: auto;
  width: 63.2%;
  height: 10.67vw;
  box-shadow: 3px 3px 6px 0 rgba(0, 0, 0, 0.2);
  border-radius: 1.6vw;
}
@media (min-width: 640px) {
  .keyvisual .right a.result-btn {
    top: 50%;
    margin-top: 9.5vw;
    left: auto;
    right: 16.8vw;
    width: 35.76%;
    height: 3.91vw;
    border-radius: .47vw;
    transition: opacity .3s;
    opacity: 1;
  }
  .keyvisual .right a.result-btn:hover {
    opacity: .8;
  }
}
.keyvisual .right a.result-btn img {
  width: 100%;
  height: auto;
}
.keyvisual .modal {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  z-index: 4;
  display: none;
}
.keyvisual .modal nav {
  position: absolute;
  top: 42.67vw;
  left: 0;
  right: 0;
  margin: auto;
  width: calc(100% - 5.33vw);
  height: 85.33vw;
}
@media (min-width: 640px) {
  .keyvisual .modal nav {
    top: 0;
    bottom: 0;
    width: 620px;
    height: 320px;
  }
}
.keyvisual .modal nav ul {
  display: block;
}
.keyvisual .modal nav ul li {
  width: 100%;
  height: 16vw;
  margin-bottom: 1.33vw;
}
@media (min-width: 640px) {
  .keyvisual .modal nav ul li {
    height: 60px;
    margin-bottom: 5px;
  }
}
.keyvisual .modal nav ul li:last-child {
  margin-bottom: 0;
}
.keyvisual .modal nav ul li.en {
  font-size: 5.6vw;
}
@media (min-width: 640px) {
  .keyvisual .modal nav ul li.en {
    font-size: 21px;
  }
}
.keyvisual .modal nav ul li a {
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 1.6vw;
  color: #000;
  text-align: center;
  line-height: 16vw;
  opacity: .9;
  transition: opacity .3s;
}
@media (min-width: 640px) {
  .keyvisual .modal nav ul li a {
    border-radius: 6px;
    line-height: 60px;
  }
}
.keyvisual .modal nav ul li a:hover {
  opacity: 1;
}
.keyvisual .hamburger {
  position: absolute;
  top: 26.13vw;
  left: 0;
  right: 0;
  margin: auto;
  width: 8vw;
  height: 5.87vw;
  z-index: 5;
}
@media (min-width: 640px) {
  .keyvisual .hamburger {
    top: 10px;
    left: auto;
    right: 10px;
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 50%;
    cursor: pointer;
  }
}
.keyvisual .hamburger span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 8vw;
  height: .8vw;
  background: rgba(0, 0, 0, 0.7);
  border-radius: .8vw;
  transition: background .3s;
}
@media (min-width: 640px) {
  .keyvisual .hamburger span {
    width: 30px;
    height: 3px;
    background: #fff;
    border-radius: 3px;
  }
}
.keyvisual .hamburger span::before {
  content: "";
  position: absolute;
  top: -2.4vw;
  width: 100%;
  height: .8vw;
  background: rgba(0, 0, 0, 0.7);
  border-radius: .8vw;
  transition: transform .3s;
}
@media (min-width: 640px) {
  .keyvisual .hamburger span::before {
    top: -9px;
    height: 3px;
    background: #fff;
    border-radius: 3px;
  }
}
.keyvisual .hamburger span::after {
  content: "";
  position: absolute;
  bottom: -2.4vw;
  width: 100%;
  height: .8vw;
  background: rgba(0, 0, 0, 0.7);
  border-radius: .8vw;
  transition: transform .3s;
}
@media (min-width: 640px) {
  .keyvisual .hamburger span::after {
    bottom: -9px;
    height: 3px;
    background: #fff;
    border-radius: 3px;
  }
}
.keyvisual .hamburger span.active {
  background: rgba(0, 0, 0, 0);
}
.keyvisual .hamburger span.active::before {
  transform: translateY(2.4vw) rotate(-45deg);
  background: #fff;
}
@media (min-width: 640px) {
  .keyvisual .hamburger span.active::before {
    transform: translateY(9px) rotate(-45deg);
  }
}
.keyvisual .hamburger span.active::after {
  transform: translateY(-2.4vw) rotate(45deg);
  background: #fff;
}
@media (min-width: 640px) {
  .keyvisual .hamburger span.active::after {
    transform: translateY(-9px) rotate(45deg);
  }
}
.keyvisual .scrolldown {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 24vw;
  margin: auto;
  width: 5.33vw;
  font-size: 8vw;
  text-align: center;
  line-height: 1;
  z-index: 3;
}
@media (min-width: 640px) {
  .keyvisual .scrolldown {
    bottom: 10px;
    width: 30px;
    font-size: 40px;
  }
}

/*------------------------------------------------

    header
*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #FCD430;
  z-index: 100;
}
header.index-header {
  position: absolute;
  top: 100vh;
  background: #fff;
  border-bottom: 1px solid #FDE997;
  box-shadow: 0px -2px 4px 0px rgba(0, 0, 0, 0.05);
}
header.index-header.fixed {
  position: fixed;
  top: 0;
}
header.index-header h1 {
  background-image: url("images/logo_s@2x.png");
}
header .wrap {
  position: relative;
  width: 100%;
  height: 13.33vw;
  padding: 2.67vw;
}
@media (min-width: 640px) {
  header .wrap {
    height: 100px;
    padding: 20px;
    max-width: 1180px;
    margin: 0 auto;
  }
}
header h1 {
  width: 10.13vw;
  height: 8vw;
  background: url("images/logo_s_w@2x.png") center center no-repeat;
  background-size: contain;
}
@media (min-width: 640px) {
  header h1 {
    width: 75px;
    height: 60px;
  }
}
header nav {
  position: absolute;
  top: 13.33vw;
  left: 100%;
  width: 100%;
  margin-right: 0;
  transition: transform .3s;
  background: #fff;
  border-top: 1px solid #FDE997;
}
header nav.active {
  transform: translateX(-100%);
}
@media (min-width: 640px) {
  header nav {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    margin-right: 83px;
    background: none;
    border-top: none;
  }
}
@media (min-width: 768px) {
  header nav {
    /*margin-right: 83px;*/
  }
}
@media (min-width: 1024px) {
  header nav {
    margin-right: 108px;
  }
}
header nav li {
  display: block;
  text-align: center;
  border-bottom: 1px solid #FDE997;
}
@media (min-width: 640px) {
  header nav li {
    display: list-item;
    /*margin-right: 20px;*/
    border-bottom: none;
    margin-right: 2.93vw;
    font-size: 1.5625vw;
  }
}
@media (min-width: 768px) {
  header nav li {
    				/*margin-right: 3.91vw;
            font-size: 1.5625vw;*/
  }
}
@media (min-width: 1024px) {
  header nav li {
    margin-right: 40px;
    font-size: 1rem;
  }
}
@media (min-width: 1280px) {
  header nav li {
    margin-right: 50px;
  }
}
header nav li.en {
  font-size: 5.6vw;
}
@media (min-width: 640px) {
  header nav li.en {
    font-size: 2.05vw;
  }
}
@media (min-width: 1024px) {
  header nav li.en {
    font-size: 21px;
  }
}
header nav li:last-child {
  margin-right: 0;
}
header nav li a {
  display: block;
  height: 13.33vw;
  line-height: 13.33vw;
}
@media (min-width: 640px) {
  header nav li a {
    position: relative;
    display: inline;
    height: auto;
    line-height: inherit;
  }
  header nav li a::after {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 8px;
    height: 8px;
    background: #FCD430;
    border-radius: 50%;
    transition: background .3s;
  }
  header nav li a:hover::after {
    background: rgba(255, 255, 255, 0.6);
  }
  header nav li a.active::after {
    background: #fff;
  }
  header nav li a.active:hover::after {
    background: #fff;
  }
}
@media (min-width: 640px) {
  header.index-header nav a::after {
    background: #fff;
  }
  header.index-header nav a:hover::after {
    background: rgba(252, 212, 48, 0.5);
  }
  header.index-header nav a.active::after {
    background: #FCD430;
  }
  header.index-header nav a.active:hover::after {
    background: #FCD430;
  }
}
header .fbicon {
  position: absolute;
  top: 2.67vw;
  right: 26.67vw;
}
@media (min-width: 640px) {
  header .fbicon {
    top: 35px;
    right: 60px;
  }
}
header .fbicon img {
  width: 8vw;
}
@media (min-width: 640px) {
  header .fbicon img {
    width: 30px;
  }
}
header .twicon {
  position: absolute;
  top: 2.67vw;
  right: 16vw;
}
@media (min-width: 640px) {
  header .twicon {
    top: 35px;
    right: 20px;
  }
}
header .twicon img {
  width: 8vw;
}
@media (min-width: 640px) {
  header .twicon img {
    width: 30px;
  }
}
header .hamburger {
  position: absolute;
  top: 3.73vw;
  right: 2.67vw;
  width: 8vw;
  height: 5.87vw;
}
@media (min-width: 640px) {
  header .hamburger {
    display: none;
  }
}
header .hamburger span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 8vw;
  height: .8vw;
  background: rgba(0, 0, 0, 0.7);
  border-radius: .8vw;
  transition: background .3s;
}
header .hamburger span::before {
  content: "";
  position: absolute;
  top: -2.4vw;
  width: 100%;
  height: .8vw;
  background: rgba(0, 0, 0, 0.7);
  border-radius: .8vw;
  transition: transform .3s;
}
header .hamburger span::after {
  content: "";
  position: absolute;
  bottom: -2.4vw;
  width: 100%;
  height: .8vw;
  background: rgba(0, 0, 0, 0.7);
  border-radius: .8vw;
  transition: transform .3s;
}
header .hamburger span.active {
  background: rgba(0, 0, 0, 0);
}
header .hamburger span.active::before {
  transform: translateY(2.4vw) rotate(-45deg);
}
header .hamburger span.active::after {
  transform: translateY(-2.4vw) rotate(45deg);
}

/*------------------------------------------------

    index
*/
main {
  width: 100%;
  margin-top: 13.33vw;
  min-height: calc(100vh - 13.33vw - 25.87vw);
  /*
    about
  */
  /*
    guideline
  */
  /*
    member
  */
  /*
    news
  */
  /*
    winner
  */
  /*
    organization
  */
  /*
    snstimeline
  */
  /*
    contact
  */
}
@media (min-width: 640px) {
  main {
    margin-top: 100px;
    min-height: calc(100vh - 100px - 54px);
  }
}
main.index-main {
  margin-top: calc(100vh + 13.33vw);
  position: relative;
  background: url("images/bg_main_s@2x.png") center -13.33vw repeat-y #fff;
  background-size: 100vw auto;
  z-index: 10;
}
@media (min-width: 640px) {
  main.index-main {
    margin-top: calc(100vh + 100px);
    background-image: url("images/bg_main@2x.png");
    background-position: center -100px;
  }
}
main section {
  background: url("images/bg_sctn_btm.png") center bottom repeat-x;
}
main .wrap {
  width: 100%;
  padding: 13.33vw 2.67vw;
}
@media (min-width: 640px) {
  main .wrap {
    padding: 100px 20px;
    max-width: 1180px;
    margin: 0 auto;
  }
}
main h3 {
  font-size: 8.53vw;
  font-weight: 700;
}
@media (min-width: 640px) {
  main h3 {
    font-size: 32px;
  }
}
main h3.en {
  font-size: 11.2vw;
}
@media (min-width: 640px) {
  main h3.en {
    font-size: 42px;
  }
}
main p {
  text-align: justify;
}
main .yellowbtn {
  position: relative;
  display: block;
  width: 80vw;
  height: 16vw;
  background: #FCD430;
  border-radius: 2.67vw;
  color: #fff;
  font-size: 5.87vw;
  font-weight: 700;
  text-align: center;
  line-height: 16vw;
}
main .yellowbtn::before {
  content: "";
  position: absolute;
  top: .53vw;
  left: .53vw;
  width: calc(100% - 1.06vw);
  height: calc(100% - 1.06vw);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 2.13vw;
}
@media (min-width: 640px) {
  main .yellowbtn {
    width: 380px;
    height: 80px;
    border-radius: 10px;
    font-size: 24px;
    line-height: 80px;
    transition: all .3s;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0);
    cursor: pointer;
  }
  main .yellowbtn::before {
    top: 2px;
    left: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    border-radius: 8px;
  }
  main .yellowbtn:hover {
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  }
}
main .graybtn {
  position: relative;
  display: block;
  width: 80vw;
  height: 16vw;
  background: #999999;
  background: -moz-linear-gradient(top, #999999 0%, #333333 100%);
  background: -webkit-linear-gradient(top, #999999 0%, #333333 100%);
  background: linear-gradient(to bottom, #999999 0%, #333333 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#999999', endColorstr='#333333',GradientType=0 );
  border-radius: 2.67vw;
  color: #fff;
  font-size: 5.87vw;
  font-weight: 700;
  text-align: center;
  line-height: 16vw;
}
main .graybtn::before {
  content: "";
  position: absolute;
  top: .53vw;
  left: .53vw;
  width: calc(100% - 1.06vw);
  height: calc(100% - 1.06vw);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 2.13vw;
}
@media (min-width: 640px) {
  main .graybtn {
    width: 380px;
    height: 80px;
    border-radius: 10px;
    font-size: 24px;
    line-height: 80px;
    transition: all .3s;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0);
    cursor: pointer;
  }
  main .graybtn::before {
    top: 2px;
    left: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    border-radius: 8px;
  }
  main .graybtn:hover {
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  }
}
main .slashbtn {
  position: relative;
  display: block;
  width: 80vw;
  height: 16vw;
  background: url("images/bg_slash@2x.png") center center repeat-x;
  background-size: auto 100%;
  border: 1px solid #333;
  border-radius: 2.67vw;
  color: #fff;
  font-size: 5.87vw;
  font-weight: 700;
  text-align: center;
  line-height: 16vw;
  text-decoration: none !important;
}
main .slashbtn span {
  font-size: 4.27vw;
  font-weight: 400;
}
main .slashbtn::before {
  content: "";
  position: absolute;
  top: .27vw;
  left: .27vw;
  width: calc(100% - .54vw);
  height: calc(100% - .54vw);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 2.4vw;
}
@media (min-width: 640px) {
  main .slashbtn {
    width: 380px;
    height: 80px;
    border-radius: 10px;
    font-size: 24px;
    line-height: 80px;
    transition: all .3s;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0);
  }
  main .slashbtn span {
    font-size: 18px;
  }
  main .slashbtn::before {
    top: 1px;
    left: 1px;
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    border-radius: 9px;
  }
  main .slashbtn:hover {
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  }
}
main .clearbtn {
  position: relative;
  display: block;
  width: 80vw;
  height: 16vw;
  background: none;
  font-weight: 700;
  transition: all .3s;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0);
  border-radius: 2.67vw;
}
@media (min-width: 640px) {
  main .clearbtn {
    width: 380px;
    height: 80px;
    cursor: pointer;
    border-radius: 10px;
  }
  main .clearbtn:hover {
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  }
}
main .no-shadow {
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) !important;
}
main .smbtn {
  width: 40vw;
}
@media (min-width: 640px) {
  main .smbtn {
    width: 270px;
  }
}
main #about {
  /*min-height: 100vh;*/
}
main #guideline {
  /*min-height: 100vh;*/
}
main #guideline h4 {
  font-size: 6.4vw;
  font-weight: 700;
}
@media (min-width: 640px) {
  main #guideline h4 {
    font-size: 24px;
  }
}
main #guideline .inner {
  width: 100%;
}
@media (min-width: 640px) {
  main #guideline .inner {
    width: 66.67%;
  }
}
main #guideline .inner.right {
  margin-left: auto;
}
main #guideline .border {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 1.6vw;
  padding: 2.67vw 4vw;
}
@media (min-width: 640px) {
  main #guideline .border {
    border-radius: 6px;
    padding: 15px 20px;
  }
}
main #guideline .border.noradius {
  border-radius: 0;
}
main #guideline dl.ellipsis {
  background: url("images/bg_ellipsis@2x.png") center 2.25rem repeat-x;
  background-size: 27px auto;
}
@media (min-width: 768px) {
  main #guideline dl.ellipsis {
    background-position: center center;
  }
}
main #guideline dl.ellipsis dt, main #guideline dl.ellipsis dd {
  background: #fff;
}
@media (min-width: 640px) {
  main #guideline table {
    border: 1px solid #ccc;
  }
}
main #guideline table td {
  border: 1px solid #ccc;
  display: block;
  width: 100%;
}
main #guideline table td:first-child {
  border-bottom: none;
}
@media (min-width: 640px) {
  main #guideline table td {
    display: table-cell;
    width: auto;
  }
  main #guideline table td:first-child {
    border-bottom: 1px solid #ccc;
    max-width: 180px;
    white-space: nowrap;
    text-align: center;
  }
}
main #member {
  /*min-height: 100vh;*/
}
main #member h4 {
  font-size: 6.4vw;
}
@media (min-width: 640px) {
  main #member h4 {
    font-size: 24px;
  }
}
main #member .outside .name {
  font-size: 5.33vw;
}
@media (min-width: 640px) {
  main #member .outside .name {
    font-size: 20px;
  }
}
main #member .outside .name span {
  font-size: 4.27vw;
}
@media (min-width: 640px) {
  main #member .outside .name span {
    font-size: 16px;
  }
}
main #member .outside .photo {
  width: 100%;
}
@media (min-width: 640px) {
  main #member .outside .photo {
    width: 31.58%;
  }
}
main #member .outside .message {
  width: 100%;
  background: rgba(0, 0, 0, 0.05);
}
@media (min-width: 640px) {
  main #member .outside .message {
    width: 64.91%;
  }
}
main #member .outside .message .profile {
  background: #fff;
}
main #member .manager,
main #member .adviser {
  width: 100%;
}
@media (min-width: 640px) {
  main #member .manager,
  main #member .adviser {
    width: 19.3%;
    margin-right: .87%;
  }
  main #member .manager:nth-child(5n),
  main #member .adviser:nth-child(5n) {
    margin-right: 0;
  }
}
main #news {
  /*min-height: 100vh;*/
}
main #news ul {
  border-top: 1px dotted #aaa;
}
main #news ul li {
  border-bottom: 1px dotted #aaa;
}
main #news ul li img {
  width: 26.67vw;
  max-width: 150px;
}
main #news ul li a {
  text-decoration: underline;
}
@media (min-width: 640px) {
  main #news ul li a:hover {
    text-decoration: none;
  }
}
main #winner {
  /*min-height: 100vh;*/
}
main #winner ul {
  border-top: 1px dotted #aaa;
}
main #winner ul li {
  border-bottom: 1px dotted #aaa;
}
main #winner ul li img {
  width: 26.67vw;
  max-width: 150px;
}
main #winner ul li a {
  text-decoration: underline;
}
@media (min-width: 640px) {
  main #winner ul li a:hover {
    text-decoration: none;
  }
}
main #organization {
  /*@include sm {
    min-height: calc(100vh - 380px - 54px);
  }*/
}
main #organization h4 {
  font-size: 6.4vw;
}
@media (min-width: 640px) {
  main #organization h4 {
    font-size: 24px;
  }
}
main #organization .outside .name {
  font-size: 5.33vw;
}
@media (min-width: 640px) {
  main #organization .outside .name {
    font-size: 20px;
  }
}
main #organization .outside .name span {
  font-size: 4.27vw;
}
@media (min-width: 640px) {
  main #organization .outside .name span {
    font-size: 16px;
  }
}
main #organization .outside .photo {
  width: 100%;
}
@media (min-width: 640px) {
  main #organization .outside .photo {
    width: 31.58%;
  }
}
main #organization .outside .message {
  width: 100%;
  background: rgba(0, 0, 0, 0.05);
}
@media (min-width: 640px) {
  main #organization .outside .message {
    width: 64.91%;
  }
}
main #organization .outside .message .profile {
  background: #fff;
}
main #organization .manager,
main #organization .adviser {
  width: 100%;
}
@media (min-width: 640px) {
  main #organization .manager,
  main #organization .adviser {
    width: 19.3%;
    margin-right: .87%;
  }
  main #organization .manager:nth-child(5n),
  main #organization .adviser:nth-child(5n) {
    margin-right: 0;
  }
}
main #snstimeline .inner {
  max-width: 450px;
}
@media (min-width: 640px) {
  main #snstimeline .inner {
    width: 45%;
  }
}
main #contact {
  padding: 13.33vw 0;
  background: url("images/dot_grid@2x.png") center center;
  background-size: 200px auto;
}
@media (min-width: 640px) {
  main #contact {
    padding: 100px 0;
  }
}

/*------------------------------------------------

    footer
*/
footer {
  position: relative;
  width: 100%;
  background: #444;
  color: #fff;
}
footer .wrap {
  width: 100%;
  padding: 0 2.67vw;
}
@media (min-width: 640px) {
  footer .wrap {
    padding: 0 20px;
    max-width: 1180px;
    margin: 0 auto;
  }
}
footer li {
  font-size: 3.73vw;
}
footer li:first-child::after {
  content: "　｜　";
}
@media (min-width: 640px) {
  footer li {
    font-size: 14px;
  }
}
footer a {
  color: #fff;
  text-decoration: underline;
}
@media (min-width: 640px) {
  footer a:hover {
    text-decoration: none;
  }
}
footer p {
  font-size: 3.2vw;
}
@media (min-width: 640px) {
  footer p {
    font-size: 12px;
  }
}

/*------------------------------------------------

    archive
*/
.archive ul {
  border-top: 1px dotted #aaa;
}
.archive ul li {
  border-bottom: 1px dotted #aaa;
}
.archive ul li img {
  width: 26.67vw;
  max-width: 150px;
}
.archive ul li a {
  text-decoration: underline;
}
@media (min-width: 640px) {
  .archive ul li a:hover {
    text-decoration: none;
  }
}

/*------------------------------------------------

    single
*/
.single .categorytitle {
  border-bottom: 1px dotted #aaa;
}
.single .inner {
  width: 100%;
  max-width: 840px;
  margin: 0 auto;
}
.single .singlecontent h1, .single .singlecontent h2, .single .singlecontent h3, .single .singlecontent h4, .single .singlecontent h5, .single .singlecontent h6 {
  font-weight: bold;
}
.single .singlecontent h1 {
  font-size: 2rem;
}
.single .singlecontent h2 {
  font-size: 1.5rem;
}
.single .singlecontent h3 {
  font-size: 1.25rem;
}
.single .singlecontent h4 {
  font-size: 1rem;
}
.single .singlecontent h5 {
  font-size: .875rem;
}
.single .singlecontent h6 {
  font-size: .75rem;
}
.single .singlecontent ul {
  list-style: disc;
  margin-left: 1.5rem;
}
.single .singlecontent ol {
  list-style: decimal;
  margin-left: 1.5rem;
}
.single .singlecontent blockquote {
  border: 1px solid #e0e0e0;
  border-radius: .5rem;
  background: #f4f4f4;
  padding: 1rem 1.25rem;
}
.single .singlecontent a {
  text-decoration: underline;
}
.single .singlecontent a:hover {
  text-decoration: none;
}
.single .singlecontent .alignleft {
  float: left;
  margin-right: 1.25rem;
}
.single .singlecontent .aligncenter {
  margin-left: auto;
  margin-right: auto;
}
.single .singlecontent .alignright {
  float: right;
  margin-left: 1.25rem;
}
.single .pagenation {
  border-top: 1px dotted #aaa;
}
.single .pagenation a {
  display: inline-block;
  width: 9.33vw;
  height: 9.33vw;
  background: #444;
  color: #fff;
  font-size: 4.27vw;
  text-align: center;
  line-height: 9.33vw;
  text-decoration: none;
  transition: background .3s;
}
@media (min-width: 640px) {
  .single .pagenation a {
    width: 40px;
    height: 40px;
    font-size: 16px;
    line-height: 40px;
  }
}
.single .pagenation a:hover {
  background: #777;
}

/*------------------------------------------------

    page
*/
.page a {
  text-decoration: underline;
}
.page a:hover {
  text-decoration: none;
}
.page table {
  border: 1px solid #ccc;
}
.page table th, .page table td {
  border: 1px solid #ccc;
}
.page .hr-dot {
  border-top: 1px dotted #aaa;
}
.page .inner {
  width: 100%;
  max-width: 840px;
  margin: 0 auto;
}
.page input[type="text"], .page input[type="email"], .page input[type="tel"] {
  background: #fafafa;
  width: 100%;
  height: 13.33vw;
  border: none;
  border-bottom: 1px dotted #aaa;
  padding-left: 2.67vw;
  padding-right: 2.67vw;
  font-size: 16px;
}
@media (min-width: 640px) {
  .page input[type="text"], .page input[type="email"], .page input[type="tel"] {
    height: 50px;
    padding-left: 10px;
    padding-right: 10px;
  }
}
.page input[type="text"].wpcf7c-conf, .page input[type="email"].wpcf7c-conf, .page input[type="tel"].wpcf7c-conf {
  background: #fff;
}
.page textarea {
  background: #fafafa;
  width: 100%;
  border: none;
  border-bottom: 1px dotted #aaa;
  padding: 2.67vw;
  font-size: 16px;
}
@media (min-width: 640px) {
  .page textarea {
    padding: 10px;
  }
}
.page textarea.wpcf7c-conf {
  background: #fff;
}
.page ::-webkit-input-placeholder {
  color: #aaa;
}
.page ::-moz-placeholder {
  color: #aaa;
}
.page :-ms-input-placeholder {
  color: #aaa;
}
.page label {
  display: block;
}
.page label span {
  font-size: .75rem;
  color: #D90000;
}
.page .square::before {
  content: "■";
}
.page .filebtn {
  position: relative;
  display: inline-block;
  width: 53.33vw;
  height: 13.33vw;
  background: #ddd;
  background: -moz-linear-gradient(top, #ddd 0%, #999 100%);
  background: -webkit-linear-gradient(top, #ddd 0%, #999 100%);
  background: linear-gradient(to bottom, #ddd 0%, #999 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ddd', endColorstr='#999',GradientType=0 );
  border: 1px solid #999;
  border-radius: 2.67vw;
  color: #fff;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
  line-height: 13.33vw;
}
.page .filebtn::before {
  content: "";
  position: absolute;
  top: .27vw;
  left: .27vw;
  width: calc(100% - .54vw);
  height: calc(100% - .54vw);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 2.4vw;
}
@media (min-width: 640px) {
  .page .filebtn {
    width: 200px;
    height: 60px;
    border-radius: 10px;
    font-size: 20px;
    line-height: 60px;
    transition: all .3s;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0);
    cursor: pointer;
  }
  .page .filebtn::before {
    top: 1px;
    left: 1px;
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    border-radius: 9px;
  }
  .page .filebtn:hover {
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  }
}
.page .filebtn .filename {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.page .filebtn input[name='your-file_conf'] {
  display: none;
}
@media (min-width: 640px) {
  .page .contact input[type="text"], .page .contact input[type="email"] {
    height: 60px;
  }
}
@media (min-width: 640px) {
  .page .contact div > p:first-child {
    width: 200px;
  }
  .page .contact div > p:last-child {
    width: calc(100% - 200px);
  }
}

/*------------------------------------------------

    accordion shortcode (2021.08.26)
*/
.accordion .accordion_input {
  display: none;
}
.accordion .accordion_input + label {
  cursor: pointer;
}
.accordion .accordion_input + label::after {
  content: "\f0d7";
  font-family: "FontAwesome";
}
.accordion .accordion_content {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
}
.accordion .accordion_input:checked ~ .accordion_content {
  height: auto;
  padding: 0.7em 0;
  opacity: 1;
  overflow: visible;
}
.accordion .accordion_input:checked + label::after {
  content: "\f0d8";
}
