@charset "UTF-8";
html,
body {
  margin: 0;
  padding: 0;
  font-family: sans-serif;
  font-weight: 400;
}

.ndwWrapper {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: var(--text-main);
  font-weight: 400;
  text-align: justify;
  text-justify: inter-ideograph;
  font-feature-settings: "palt";
  word-break: break-all;
  overflow: hidden;
}

.ndwContainer {
  max-width: 1100px;
  margin: 0 auto;
  width: 92%;
}
@media only screen and (max-width: 1024px) {
  .ndwContainer {
    max-width: 90%;
  }
}

.ndwMv__logo {
  position: absolute;
  left: 40px;
  top: 120px;
  max-width: 492px;
  z-index: 10;
}
@media only screen and (max-width: 768px) {
  .ndwMv__logo {
    max-width: 360px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwMv__logo {
    left: 20px;
    top: 80px;
    max-width: 200px;
  }
}
.ndwMv__list {
  padding-top: 120px;
  max-width: 1100px;
  margin: 0 auto;
  width: 92%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin: 0 auto 60px;
  -moz-column-gap: 40px;
       column-gap: 40px;
  position: relative;
}
@media only screen and (max-width: 1024px) {
  .ndwMv__list {
    padding-top: 340px;
    width: 90%;
  }
}
@media only screen and (max-width: 430px) {
  .ndwMv__list {
    padding-top: 200px;
    -moz-column-gap: 20px;
         column-gap: 20px;
    margin: 0 auto 30px;
  }
}
.ndwMv__list--scroll2 {
  position: relative;
}

.ndwAbout h3 {
  font-size: 20px;
  letter-spacing: 0.2em;
  line-height: 1.8;
  text-align: center;
  margin-bottom: 40px;
  line-height: 2.2;
}
@media only screen and (max-width: 768px) {
  .ndwAbout h3 {
    font-size: 18px;
    letter-spacing: 0.1em;
  }
}
@media only screen and (max-width: 430px) {
  .ndwAbout h3 {
    font-size: 16px;
    letter-spacing: 0.05em;
  }
}
@media only screen and (max-width: 430px) {
  .ndwAbout h3 {
    line-height: 2;
  }
}
.ndwAbout__list {
  display: flex;
  flex-direction: column;
  row-gap: 40px;
  margin-bottom: 80px;
}
.ndwAbout__list dl {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ndwAbout__list dl dt {
  font-size: 36px;
  line-height: 1;
  font-family: "Ropa Sans", sans-serif;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  .ndwAbout__list dl dt {
    font-size: 28px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwAbout__list dl dt {
    font-size: 22px;
  }
}
.ndwAbout__list dl dt::before {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 1px;
  background-color: var(--bg-primary);
}
.ndwAbout__list dl dd {
  font-size: 20px;
  letter-spacing: 0.2em;
  line-height: 1.8;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .ndwAbout__list dl dd {
    font-size: 18px;
    letter-spacing: 0.1em;
  }
}
@media only screen and (max-width: 430px) {
  .ndwAbout__list dl dd {
    font-size: 16px;
    letter-spacing: 0.05em;
  }
}
.ndwAbout__title {
  font-size: 28px;
  line-height: 1.8;
  text-align: center;
  position: relative;
  margin-bottom: 60px;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .ndwAbout__title {
    font-size: 24px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwAbout__title {
    font-size: 20px;
  }
}
.ndwAbout__title::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-color: var(--bg-primary);
  border-radius: 50%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -30px;
}
.ndwAbout__point ul {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 68px;
       column-gap: 68px;
  padding: 0;
  list-style: none;
  margin-bottom: 80px;
}
.ndwAbout__point ul li {
  padding: 36px 0;
  width: calc(50% - 34px);
  box-sizing: border-box;
  text-align: center;
  border-top: solid 1px var(--black);
  border-bottom: solid 1px var(--black);
}
@media only screen and (max-width: 430px) {
  .ndwAbout__point ul li {
    width: 100%;
  }
}
.ndwAbout__point ul li:nth-child(-n+2) {
  border-bottom: none;
}
@media only screen and (max-width: 430px) {
  .ndwAbout__point ul li:nth-child(-n+3) {
    border-bottom: none;
  }
}
.ndwAbout__point ul li p:nth-of-type(1) {
  font-size: 40px;
  line-height: 1;
  font-family: "Ropa Sans", sans-serif;
  font-weight: bold;
  font-weight: 300;
}
@media only screen and (max-width: 1024px) {
  .ndwAbout__point ul li p:nth-of-type(1) {
    font-size: 40px;
  }
}
@media only screen and (max-width: 768px) {
  .ndwAbout__point ul li p:nth-of-type(1) {
    font-size: 32px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwAbout__point ul li p:nth-of-type(1) {
    font-size: 24px;
  }
}
.ndwAbout__point ul li p:nth-of-type(1) span {
  font-weight: bold;
}
.ndwAbout__point ul li p:nth-of-type(2) {
  font-size: 20px;
  letter-spacing: 0.2em;
  line-height: 1.8;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .ndwAbout__point ul li p:nth-of-type(2) {
    font-size: 18px;
    letter-spacing: 0.1em;
  }
}
@media only screen and (max-width: 430px) {
  .ndwAbout__point ul li p:nth-of-type(2) {
    font-size: 16px;
    letter-spacing: 0.05em;
  }
}
.ndwAbout__point dl {
  text-align: center;
}
.ndwAbout__point dl dt {
  font-size: 36px;
  line-height: 1.8;
}
@media only screen and (max-width: 768px) {
  .ndwAbout__point dl dt {
    font-size: 28px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwAbout__point dl dt {
    font-size: 22px;
  }
}
.ndwAbout__point dl dd {
  font-size: 20px;
  letter-spacing: 0.2em;
  line-height: 1.8;
}
@media only screen and (max-width: 768px) {
  .ndwAbout__point dl dd {
    font-size: 18px;
    letter-spacing: 0.1em;
  }
}
@media only screen and (max-width: 430px) {
  .ndwAbout__point dl dd {
    font-size: 16px;
    letter-spacing: 0.05em;
  }
}

.ndwAward__block {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 30px;
  margin-bottom: 40px;
}
@media only screen and (max-width: 430px) {
  .ndwAward__block {
    row-gap: 20px;
  }
}
.ndwAward__block dt {
  font-size: 28px;
  line-height: 1.8;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .ndwAward__block dt {
    font-size: 24px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwAward__block dt {
    font-size: 20px;
  }
}
.ndwAward__block dt:first-child {
  font-size: 36px;
  line-height: 1.8;
}
@media only screen and (max-width: 768px) {
  .ndwAward__block dt:first-child {
    font-size: 28px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwAward__block dt:first-child {
    font-size: 22px;
  }
}
.ndwAward__block dt:nth-of-type(2) {
  position: relative;
  margin-top: 60px;
  text-align: center;
}
.ndwAward__block dt:nth-of-type(2)::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 1px;
  background-color: var(--bg-black);
}
.ndwAward__block dd {
  font-size: 20px;
  letter-spacing: 0.2em;
  line-height: 1.8;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .ndwAward__block dd {
    font-size: 18px;
    letter-spacing: 0.1em;
  }
}
@media only screen and (max-width: 430px) {
  .ndwAward__block dd {
    font-size: 16px;
    letter-spacing: 0.05em;
  }
}

.ndwJudge ul {
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
}
@media (max-width: 768px) {
  .ndwJudge ul {
    gap: 32px;
  }
}
@media (max-width: 430px) {
  .ndwJudge ul {
    gap: 0px;
  }
}
.ndwJudge ul li {
  flex: 0 0 calc((100% - 96px) / 2);
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .ndwJudge ul li {
    flex: 0 0 calc((100% - 64px) / 2);
  }
}
@media (max-width: 430px) {
  .ndwJudge ul li {
    flex: 0 0 100%;
    margin-bottom: 40px;
  }
}
@media (max-width: 430px) {
  .ndwJudge ul li:last-of-type {
    margin-bottom: 0px;
  }
}
.ndwJudge__list--title {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  font-size: 18px;
  letter-spacing: 0.2em;
  line-height: 1.8;
  align-items: center;
  border-bottom: solid 1px var(--bg-black);
  margin-bottom: 20px;
  padding-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  .ndwJudge__list--title {
    font-size: 17px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwJudge__list--title {
    font-size: 16px;
    line-height: 1.8;
  }
}
.ndwJudge__list--title p {
  text-align: center;
  position: relative;
}
.ndwJudge__list--title p:first-of-type {
  width: 50%;
}
.ndwJudge__list--title p:first-of-type span {
  width: 84px;
  position: absolute;
  display: inline-block;
  content: "";
  left: -30px;
  top: -30px;
  z-index: 10;
}
.ndwJudge__list--txt {
  font-size: 16px;
  letter-spacing: 0.2em;
  line-height: 1.7;
}
@media only screen and (max-width: 768px) {
  .ndwJudge__list--txt {
    font-size: 15px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwJudge__list--txt {
    font-size: 14px;
  }
}

.ndwRecruit__list {
  padding: 28px 0;
  border-bottom: dotted 1px var(--black);
  /*&:last-of-type {
  	border-bottom: solid 1px var(--black);
  }*/
}
.ndwRecruit__list dt {
  position: relative;
  padding-left: 24px;
  font-size: 20px;
  letter-spacing: 0.2em;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .ndwRecruit__list dt {
    font-size: 18px;
    letter-spacing: 0.1em;
  }
}
@media only screen and (max-width: 430px) {
  .ndwRecruit__list dt {
    font-size: 16px;
    letter-spacing: 0;
  }
}
.ndwRecruit__list dt::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 2px;
  background-color: var(--black);
}
.ndwRecruit__list dd {
  margin-bottom: 10px;
  font-size: 18px;
  letter-spacing: 0.2em;
  line-height: 1.8;
}
@media only screen and (max-width: 768px) {
  .ndwRecruit__list dd {
    font-size: 17px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwRecruit__list dd {
    font-size: 16px;
    line-height: 1.8;
  }
}
.ndwRecruit__list dd:last-of-type {
  margin-bottom: 0;
}
.ndwRecruit__list dd span {
  margin-top: 8px;
  display: block;
}
.ndwRecruit__list dd .basicbtn a {
  margin-top: 20px;
  padding: 16px 20px;
  font-size: 16px;
}
.ndwRecruit__list dd.last {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.ndwRecruit__list--subtitle {
  background-color: var(--bg-white);
  font-size: 20px;
  letter-spacing: 0.2em;
  line-height: 1.8;
  text-align: center;
  padding: 8px 0;
  margin: 8px 0;
}
@media only screen and (max-width: 768px) {
  .ndwRecruit__list--subtitle {
    font-size: 18px;
    letter-spacing: 0.1em;
  }
}
@media only screen and (max-width: 430px) {
  .ndwRecruit__list--subtitle {
    font-size: 16px;
    letter-spacing: 0.05em;
  }
}
.ndwRecruit__list--block {
  background-color: #ffebeb;
  padding: 32px;
  border: none;
  display: flex;
  flex-direction: column;
  margin: 28px auto 0;
  border-radius: 16px;
  box-sizing: border-box;
}
.ndwRecruit__list--block span.firstcharacter {
  text-indent: -1.2em;
  padding-left: 1.2em;
}
@media (max-width: 430px) {
  .ndwRecruit__list--block span.firstcharacter {
    text-indent: -1em;
    padding-left: 1em;
  }
}
.ndwRecruit__list--block ul {
  margin-top: 12px;
  margin-bottom: 12px;
}
.ndwRecruit__list--block ul li {
  font-size: 18px;
  letter-spacing: 0.2em;
  line-height: 1.8;
  text-indent: -1.2em;
  padding-left: 1.2em;
  margin-bottom: 12px;
}
@media only screen and (max-width: 768px) {
  .ndwRecruit__list--block ul li {
    font-size: 17px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwRecruit__list--block ul li {
    font-size: 16px;
    line-height: 1.8;
  }
}
.ndwRecruit__list--block ul li.note {
  font-size: 16px;
  letter-spacing: 0.2em;
  line-height: 1.7;
}
@media only screen and (max-width: 768px) {
  .ndwRecruit__list--block ul li.note {
    font-size: 15px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwRecruit__list--block ul li.note {
    font-size: 14px;
  }
}
.ndwRecruit__list--block ul li:last-child {
  margin-bottom: 0px;
}
.ndwRecruit__list--block ul li::before {
  content: "・";
  margin-right: 10px;
}
.ndwRecruit__list--bordernone {
  border-bottom: 0px;
  padding: 28px 0 0;
}
.ndwRecruit__button {
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 60px 0;
  -moz-column-gap: 60px;
       column-gap: 60px;
}
@media only screen and (max-width: 430px) {
  .ndwRecruit__button {
    flex-direction: column;
    row-gap: 20px;
    justify-content: center;
    align-items: center;
  }
}
.ndwRecruit__button li {
  width: 400px;
  text-align: center;
  display: flex;
}
@media only screen and (max-width: 430px) {
  .ndwRecruit__button li {
    width: 90%;
  }
}
.ndwRecruit__button li a {
  display: flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  padding: 32px 24px;
  border: solid 2px var(--black);
  box-shadow: 0px 0px 15px -5px #777777;
  font-size: 24px;
  line-height: 1;
  background-color: var(--bg-primary);
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
  width: 100%;
  height: 100%;
  line-height: 145%;
  color: var(--text-light);
  border-radius: 100px;
}
@media only screen and (max-width: 768px) {
  .ndwRecruit__button li a {
    font-size: 20px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwRecruit__button li a {
    font-size: 16px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwRecruit__button li a {
    padding: 24px;
  }
}
.ndwRecruit__button li a:hover {
  color: var(--text-light);
  background-color: var(--bg-black);
  transform: scale(1.05);
}
.ndwRecruit__item--dot {
  position: relative;
  padding-left: 1.2em;
  text-indent: -1.2em;
}
.ndwRecruit__item--dot::before {
  content: "・";
  margin-right: 0.4em;
  color: var(--black);
}

.ndwSponsorship {
  text-align: center;
  font-size: 16px;
  letter-spacing: 0.2em;
  line-height: 1.7;
  padding: 60px 0;
}
@media only screen and (max-width: 768px) {
  .ndwSponsorship {
    font-size: 15px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwSponsorship {
    font-size: 14px;
  }
}

.attention {
  display: block;
  margin-top: 8px;
  font-size: 16px;
  letter-spacing: 0.2em;
  line-height: 1.7;
}
@media only screen and (max-width: 768px) {
  .attention {
    font-size: 15px;
  }
}
@media only screen and (max-width: 430px) {
  .attention {
    font-size: 14px;
  }
}

.ndwTitle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 50px auto;
}
@media only screen and (max-width: 430px) {
  .ndwTitle {
    margin: 40px auto;
  }
}
.ndwTitle__line {
  flex: 1;
  height: 1px;
  background-color: var(--black);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 1s ease-out;
}
.ndwTitle__line.is-visible {
  transform: scaleX(1);
}
.ndwTitle__circle {
  width: 170px;
  height: 170px;
  background-color: var(--bg-secondary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-light);
  font-size: 20px;
  letter-spacing: 0.2em;
  line-height: 1;
  font-weight: 500;
  margin: 0 20px;
}
@media only screen and (max-width: 768px) {
  .ndwTitle__circle {
    font-size: 18px;
    letter-spacing: 0.1em;
  }
}
@media only screen and (max-width: 430px) {
  .ndwTitle__circle {
    font-size: 16px;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 768px) {
  .ndwTitle__circle {
    width: 150px;
    height: 150px;
  }
}
@media only screen and (max-width: 430px) {
  .ndwTitle__circle {
    width: 100px;
    height: 100px;
  }
}
.ndwTitle__circle--primary {
  background-color: var(--bg-primary);
}

@-webkit-keyframes lineExpand {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

@keyframes lineExpand {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
/* ハンバーガー */
.scroll {
  position: absolute;
  left: -24px;
  bottom: 134px;
  display: inline-block;
  padding-right: 10px;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.3;
  color: #000;
  transform: rotate(90deg);
}
@media only screen and (max-width: 768px) {
  .scroll {
    font-size: 13px;
  }
}
@media only screen and (max-width: 430px) {
  .scroll {
    font-size: 12px;
  }
}
@media only screen and (max-width: 768px) {
  .scroll {
    left: -36px;
  }
}
@media only screen and (max-width: 430px) {
  .scroll {
    left: -28px;
    bottom: 78px;
  }
}
.scroll::after {
  content: "";
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transform-style: preserve-3d;
  position: absolute;
  top: 50%;
  left: 100%;
  width: 110px;
  height: 1px;
  background-color: #000;
  transform: translateY(-50%) scaleX(0);
  transform-origin: left center; /* ←左から伸ばす */
  -webkit-animation: lineSweep 1.6s ease-in-out infinite;
          animation: lineSweep 1.6s ease-in-out infinite;
}
@media only screen and (max-width: 430px) {
  .scroll::after {
    width: 50px;
  }
}

@-webkit-keyframes lineSweep {
  0% {
    transform: translateY(-50%) scaleX(0);
    opacity: 1;
  }
  30% {
    opacity: 1;
  }
  100% {
    transform: translateY(-50%) scaleX(1);
    opacity: 1;
  }
}

@keyframes lineSweep {
  0% {
    transform: translateY(-50%) scaleX(0);
    opacity: 1;
  }
  30% {
    opacity: 1;
  }
  100% {
    transform: translateY(-50%) scaleX(1);
    opacity: 1;
  }
}
.top_link.pc {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media only screen and (max-width: 430px) {
  .top_link.pc {
    display: none;
  }
}
.top_link .basicbtn a {
  padding: 15px 30px;
  width: auto;
  height: auto;
  font-size: 18px;
  background-color: var(--bg-primary);
  color: var(--text-light);
  position: absolute;
  left: 40px;
  bottom: 60px;
}
@media only screen and (max-width: 1500px) {
  .top_link .basicbtn a {
    left: 40px;
    bottom: -100px;
  }
}
@media only screen and (max-width: 768px) {
  .top_link .basicbtn a {
    font-size: 16px;
    padding: 10px 20px;
    bottom: -80px;
  }
}
@media only screen and (max-width: 430px) {
  .top_link .basicbtn a {
    padding: 8px 20px;
    font-size: 14px;
    bottom: auto;
    left: auto;
    position: relative;
  }
}
.top_link.fixed {
  display: none;
}
@media only screen and (max-width: 430px) {
  .top_link.fixed {
    position: fixed;
    z-index: 100;
    width: 100%;
    background: rgba(255, 255, 255, 0.8);
    padding: 16px 0;
    display: flex;
    right: 0px;
    top: 70px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 !important;
  }
}
.top_link.fixed .basicbtn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  box-sizing: border-box;
}
@media only screen and (max-width: 430px) {
  .top_link.fixed .basicbtn a {
    padding: 15px 8px;
    font-size: 14px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    align-items: center;
    justify-content: center;
    display: flex;
    writing-mode: vertical-rl;
    text-orientation: upright;
    box-sizing: border-box;
    background-color: var(--bg-primary);
    color: var(--text-light);
    border-right: none;
    border-radius: 10px 0 0 10px;
  }
}
/*# sourceMappingURL=main.css.map */