* {
  padding: 0;
  margin: 0;
}

:root {
  --Hello_Blue: #4f8bc2;
}

.strikethrough {
  text-decoration: line-through;
}

.br_on {
  display: none;
}

.mobile {
  display: none;
}

.header {
  width: 100%;
  max-width: 720px;
  overflow-x: scroll;
}
.header dl {
  display: inline-block;
  width: 19%;
  margin: 0;
  text-align: center;
}
.header dt {
  padding: 10px 0;
  background-color: #5c87a6;
  font-size: 12px;
  color: #ffffff;
}
.header dd {
  padding: 10px 20px;
  margin-left: 0;
  background-color: #f1f1f1;
  font-size: 10px;
}

.list {
  width: 100%;
  max-width: 720px;
  overflow-x: scroll;
}
.list dl {
  display: inline-block;
  width: 19%;
  margin: 2px auto;
  text-align: center;
}
.list dt {
  padding: 10px 20px;
  font-size: 12px;
  color: #ffffff;
}
.list dd {
  padding: 10px 0;
  margin-left: 0;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.news-alert {
  padding: 4vh 2vw;
  text-align: center;
  font-size: 1.5em;
  font-weight: bold;
  text-shadow: 0 0 20px #48c8ff;
  background: rgba(60, 81, 131, 0.99);
  border-radius: 10px;
  box-shadow: 1px 3px 5px rgba(0, 0, 0, 0.4);
}

.news-alert:nth-child(1) {
  margin-bottom: 2vh;
}

.alert-message {
  position: fixed;
  z-index: 999;
  bottom: 1%;
  right: 2%;
}
.alert-message .top {
  color: #3def69;
}
.alert-message .bottom {
  color: #f6fc3a;
}

.modal .message .title {
  background: rgba(210, 210, 210, 0.6);
}
.modal .message .title h4 {
  font-size: 1em;
  text-align: center;
  line-height: 2em;
  margin-bottom: 6vh;
}
.modal .message ul.entrants {
  list-style-type: none;
  padding: 0;
}
.modal .message ul.entrants li {
  font-size: 0.8em;
  line-height: 2em;
}
.modal .message ul.entrants li span {
  color: rgb(108, 86, 86);
}
.modal .message p {
  font-size: 0.8em;
  line-height: 2em;
}
.modal .message p.text-p {
  font-size: 0.9em;
}
.modal .close-modal {
  padding: 5px 10px;
  color: #fff;
  background: #2f1764;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
}
.modal .short-message {
  margin-top: 2vh;
  border-top: 1px solid rgb(188, 188, 188);
  padding-top: 3vh;
}

.news {
  padding: 6vh 0;
}
.news h3 {
  font-size: 1.15em;
  text-decoration: underline;
  text-align: center;
  margin-bottom: 3vh;
}
.news p.align-right {
  text-align: right;
}
.news p {
  line-height: 2em;
}

/* Set the scroll margin top on all anchor elements by using .anchor class */
/* Note: I'm setting plus 2.5em so the element has some breathing room on the top */
.anchor {
  scroll-margin-top: calc(90px + 2.5em);
}

body {
  background-color: rgb(248, 248, 248) !important;
  font-family: "Noto Sans JP", sans-serif !important;
  scroll-behavior: smooth;
}

.bg-kmax {
  background-color: transparent !important;
  transition: 0.5s ease-in;
}

.small-smph-connect {
  display: block;
}

@keyframes entry_btn {
  0% {
    filter: brightness(100%);
  }
  50% {
    filter: brightness(120%);
  }
  100% {
    filter: brightness(100%);
  }
}
.register {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 99999;
  display: none;
}
.register a {
  color: #fff;
  text-decoration: none;
  font-family: "Noto Sans JP";
  font-weight: 600;
  letter-spacing: 0.06em;
  text-align: center;
  padding: 0.5em 0.6em 0.5em 1.7em;
  background: linear-gradient(-90deg, #eb5331, #950b04);
  background: linear-gradient(-90deg, #d079a7, #0ba2db);
  -webkit-clip-path: polygon(25% 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(25% 0, 100% 0, 100% 100%, 0 100%);
  display: block;
  font-size: 2vw;
  animation: entry_btn 2s infinite;
  transition: 0.3s;
  filter: brightness(1);
  text-shadow: 1px 1px #555;
}
.register a:hover {
  filter: brightness(1.3);
  animation: unset;
  color: #fff;
}
.register p {
  color: rgb(66, 66, 66);
  color: #fff;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
  font-size: 0.8em;
  font-weight: bold;
  margin: 0;
}

@media screen and (max-width: 790px) {
  .register a {
    font-size: 5vw;
  }
}
.bottomMenu {
  position: fixed;
  bottom: 0%;
  right: 0%;
  left: 0;
  z-index: 99999;
  color: #fff;
}
.bottomMenu .banner-left {
  background: rgba(21, 96, 172, 0.6);
}
.bottomMenu .banner-right {
  background: rgba(211, 101, 5, 0.6);
}

.smph_br {
  display: none;
}

.confetti-box {
  background: var(--Hello_Blue);
  color: #fff;
}

.main-title {
  padding-top: 4vh;
}
.main-title h4 {
  font-size: 3em;
  font-weight: bolder;
  text-align: center;
  color: rgb(156, 10, 10);
  -webkit-text-stroke: 1px rgb(255, 255, 255);
}
.main-title h5 {
  color: rgb(4, 42, 111);
  text-shadow: 1px 3px 3px #fff;
  margin: 3vh auto;
  font-weight: bold;
  font-size: 2.5em;
  padding: 5px 10px;
}
.main-title h5 span {
  font-size: 1.5em;
  padding: 5px 20px;
  background: rgb(253, 231, 21);
  background: linear-gradient(140deg, rgb(253, 231, 21) 0%, rgb(237, 137, 10) 100%);
  border: 3px solid rgb(255, 255, 255);
  box-shadow: 1px 3px 6px rgba(0, 0, 0, 0.4);
}
.main-title h2 {
  line-height: 1.8em;
}
.main-title h2 strong {
  font-size: 1.25em;
}
.main-title h2 span {
  font-size: 0.9em;
}
.main-title h2.top {
  font-weight: bold;
  margin-bottom: 6vh;
}
.main-title h3 {
  font-size: 3.5em;
  font-family: "Oswald", sans-serif;
}
.main-title h3 span {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 8px;
  padding-left: 8px;
}

.sect01 {
  padding: 8vh 0;
}
.sect01 h5 {
  color: rgb(190, 54, 54);
  font-size: 1em;
  line-height: 1.5em;
}
.sect01 .dark {
  background: rgb(12, 22, 49);
  padding: 3vh 0;
  width: 95%;
  margin: 0 auto;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.4);
  grid-template-columns: max-content auto;
  grid-template-rows: auto max-content;
  background-size: cover;
  color: white;
}
.sect01 .dark p {
  color: rgb(248, 248, 248);
  font-size: 1.25em;
  text-shadow: 0 0 20px #48c8ff;
}
.sect01 .dark #timer {
  font-size: 3em;
  font-weight: 100;
  color: white;
  text-shadow: 0 0 20px #48c8ff;
  text-align: center;
}
.sect01 .dark #timer div {
  display: inline-block;
  width: 1.8em;
}
.sect01 .dark #timer div span {
  color: #b1cdf1;
  display: block;
  font-size: 0.3em;
  font-weight: 400;
}

.sect01 .dark {
  background: #fff;
  color: var(--Hello_Blue);
  width: 95%;
  -webkit-clip-path: polygon(0 0, 90% 0%, 100% 100%, 10% 100%);
          clip-path: polygon(0 0, 90% 0%, 100% 100%, 10% 100%);
}

.sect01 .dark p,
.sect01 .dark #timer {
  color: var(--Hello_Blue);
  font-size: 1.25em;
  text-shadow: unset;
}

.main {
  padding: 5vh 0 0;
  background: linear-gradient(rgb(255, 255, 255), rgba(255, 255, 255, 0.9)), url(../images/2024/kami1-2024_emblem.png) no-repeat;
  background-position: center;
  background-size: 40%;
  background-attachment: fixed;
}
.main .sect02 {
  padding: 4vh 0;
}
.main .sect02 .inner-nav {
  padding: 0;
  list-style-type: none;
}
.main .sect02 .inner-nav li {
  display: inline-block;
  margin: 0 10px;
}
.main .sect02 .heading {
  color: rgb(13, 26, 41);
}
.main .sect02 .heading hr {
  border-top: 1px solid rgb(211, 101, 5);
}
.main .sect02 .heading h3 {
  margin: 3vh auto;
  color: rgb(176, 132, 7);
  line-height: 1.5em;
}
.main .sect02 .heading h3 span {
  color: rgb(175, 2, 2);
}
.main .sect02 .heading h3 span strong {
  font-size: 1.5em;
  padding: 0 5px;
}
.main .sect02 .heading p.body {
  color: rgb(13, 26, 41);
  line-height: 2em;
  font-size: 1em;
}
.main .sect02 .heading p.body span {
  font-size: 1.25em;
  font-weight: 800;
  color: rgb(211, 101, 5);
}
.main .sect02 .heading p.body .title {
  color: rgb(40, 141, 223);
}
.main .sect02 .heading .video-area {
  padding: 4vh 0 0;
}
.main .sect02 .heading .video-area video {
  width: 100% !important;
  height: auto !important;
}
.main .sect03 {
  padding: 4vh 0;
}
.main .sect03 .qualifications {
  color: rgb(13, 26, 41);
}
.main .sect03 .qualifications hr {
  border-top: 1px solid rgb(211, 101, 5);
}
.main .sect03 .qualifications .qualification-list ul {
  list-style: square;
  margin: 4vh 0;
}
.main .sect03 .qualifications .qualification-list ul li {
  line-height: 1.5em;
  font-size: 1.25em;
  color: rgb(176, 132, 7);
}
.main .sect03 .qualifications .body ul li {
  font-size: 0.9em;
  line-height: 2em;
}
.main .sect04 {
  padding: 4vh 0;
}
.main .sect04 .entry {
  color: rgb(13, 26, 41);
}
.main .sect04 .entry hr {
  border-top: 1px solid rgb(211, 101, 5);
}
.main .sect04 .entry .entry-qual ul {
  list-style-type: none;
  margin: 4vh 0;
  padding: 0;
}
.main .sect04 .entry .entry-qual ul li {
  line-height: 1.5em;
  font-size: 1.4em;
  color: #333;
  font-weight: 600;
}
.main .sect04 .entry .entry-qual ul li span {
  font-size: 0.9em;
}
.main .sect04 .entry .body ul li {
  font-size: 0.9em;
}
.main .sect05 {
  padding: 4vh 0;
  color: rgb(13, 26, 41);
}
.main .sect05 hr {
  border-top: 1px solid rgb(211, 101, 5);
}
.main .sect05 .steps-to-enter h3 {
  font-size: 1.25em;
  color: rgb(176, 132, 7);
  margin: 4vh auto 2vh;
  line-height: 2em;
}
.main .sect05 .steps-to-enter h3 span {
  font-size: 2em;
  font-weight: 400;
  color: rgb(70, 70, 70);
  padding: 0 5px;
}
.main .sect05 .steps-to-enter p {
  font-size: 0.9em;
  margin-top: 10px;
}
.main .sect05 .steps h4 {
  color: red;
  font-size: 10em;
}
.main .sect05 .steps .content {
  margin-top: 3vh;
  height: 100%;
  border-radius: 0.3em;
  filter: drop-shadow(2px 2px 2px #999);
  background: var(--Hello_Blue);
  color: #fff;
  position: relative;
}
.main .sect05 .steps .content .steps-title {
  position: absolute;
  top: -1em;
  left: -0.5em;
  padding: 0.1em 1em 0.3em;
  background: rgb(235, 123, 7);
  background: linear-gradient(140deg, rgb(235, 123, 7) 0%, rgb(253, 230, 22) 66%);
  border-radius: 0.3em;
  transform: rotate(-10deg);
  color: #fff;
  text-shadow: 1px 1px 0px #999;
}
.main .sect05 .steps .content .img-area {
  background: rgb(255, 255, 255);
  padding-top: 20px;
  border-radius: 0.3em 0 0 0.3em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.main .sect05 .steps .content .img-area img {
  padding-bottom: 20px;
}
.main .sect05 .steps .content .img-area video {
  width: 100% !important;
  height: auto !important;
}
.main .sect05 .steps .content .text-area {
  display: flex;
  align-items: center;
  justify-content: center;
}
.main .sect05 .steps .content .text-area p {
  font-size: 0.8em;
  padding: 20px 10px 10px;
  margin-bottom: 0;
}
.main .sect05 .steps .content .text-area p strong {
  font-size: 1.2vw;
  width: 100%;
  display: block;
  text-align: center;
}
.main .sect06 {
  color: rgb(13, 26, 41);
}
.main .sect06 .requirements .requirement-table h3 {
  font-size: 2.5vw;
  color: rgb(176, 132, 7);
  margin: 4vh auto 2vh;
  line-height: 2em;
}
.main .sect06 .requirements .requirement-table h3 span {
  font-size: 2em;
}
.main .sect06 .requirements .requirement-table .schedule-row,
.main .sect06 .requirements .requirement-table .req-row {
  border-bottom: 1px dashed rgba(0, 0, 0, 0.4);
}
.main .sect06 .requirements .requirement-table .schedule-row:nth-child(odd),
.main .sect06 .requirements .requirement-table .req-row:nth-child(odd) {
  border-bottom: 1px dashed rgba(0, 0, 0, 0.4);
}
.main .sect06 .requirements .requirement-table .schedule-row:nth-last-child(1),
.main .sect06 .requirements .requirement-table .req-row:nth-last-child(1) {
  border-bottom: none;
}
.main .sect06 .requirements .requirement-table .schedule-row video,
.main .sect06 .requirements .requirement-table .req-row video {
  width: 90% !important;
  height: auto !important;
}
.main .sect06 .requirements .requirement-table .schedule-row .title,
.main .sect06 .requirements .requirement-table .req-row .title {
  display: flex;
  align-items: center;
  justify-content: center;
}
.main .sect06 .requirements .requirement-table .schedule-row .title h4,
.main .sect06 .requirements .requirement-table .req-row .title h4 {
  font-size: 1em;
  text-align: center;
  font-weight: bold;
}
.main .sect06 .requirements .requirement-table .schedule-row .text,
.main .sect06 .requirements .requirement-table .req-row .text {
  justify-content: center;
}
.main .sect06 .requirements .requirement-table .schedule-row .text p,
.main .sect06 .requirements .requirement-table .req-row .text p {
  line-height: 1.8em;
  margin-bottom: 0;
}
.main .sect06 .requirements .requirement-table .schedule-row .text p span,
.main .sect06 .requirements .requirement-table .req-row .text p span {
  font-size: 0.9em;
}
.main .sect06 .requirements .requirement-table .schedule-row .text p span strong,
.main .sect06 .requirements .requirement-table .req-row .text p span strong {
  color: rgb(185, 7, 7);
  padding: 0 5px;
}
.main .sect06 .requirements .requirement-table .schedule-row .text p em,
.main .sect06 .requirements .requirement-table .req-row .text p em {
  font-style: normal;
  font-size: 0.9em;
}
.main .sect06 .requirements .requirement-table .schedule-row .text p .small,
.main .sect06 .requirements .requirement-table .req-row .text p .small {
  font-size: 0.8em;
  padding-top: 10px;
}
.main .sect06 .requirements .requirement-table .schedule-row .text ul,
.main .sect06 .requirements .requirement-table .req-row .text ul {
  margin-top: 10px;
}
.main .sect06 .requirements .requirement-table .schedule-row .text ul li,
.main .sect06 .requirements .requirement-table .req-row .text ul li {
  font-size: 0.8em;
}
.main .sect06 .requirements .requirement-table .schedule-row .text ul li span,
.main .sect06 .requirements .requirement-table .req-row .text ul li span {
  font-weight: bold;
  color: rgb(185, 7, 7);
}
.main .sect06 .requirements .requirement-table .schedule-row .text ul li span em,
.main .sect06 .requirements .requirement-table .req-row .text ul li span em {
  font-style: normal;
  color: blue;
  font-size: 0.8em;
  padding: 0 3px 0 5px;
}
.main .sect06 .requirements .requirement-table .schedule-row .stylist {
  text-align: center;
}
.main .sect06 .requirements .requirement-table .schedule-row .stylist h5 {
  font-size: 6px;
  margin-bottom: 0;
}
.main .sect06 .requirements .requirement-table .schedule-row .stylist p {
  font-size: 8px;
}
.main .sect06 .requirements .requirement-table .req-row .notice {
  border: 1px dashed rgba(50, 50, 50, 0.8);
  padding: 10px;
  margin: 2vh auto;
}
.main .sect06 .requirements .requirement-table .req-row .notice p {
  margin-top: 0;
  padding-top: 0;
}
.main .sect06 .requirements .requirement-table .req-row .other {
  border: 1px solid rgba(0, 0, 255, 0.7);
}

.footer {
  background-color: rgb(217, 217, 217);
  padding: 2vh 0 8vh;
}
.footer .container .links {
  text-align: center;
  margin-bottom: 2vh;
}
.footer .container .links ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
}
.footer .container .links ul li {
  font-size: 0.7em;
  display: inline-block;
  padding-right: 10px;
  padding-left: 5px;
  border-right: 1px solid rgb(13, 26, 41);
}
.footer .container .links ul li a {
  color: rgb(13, 26, 41);
  text-decoration: none;
}
.footer .container .links ul li:nth-last-child(1) {
  border-right: none;
  padding-right: 0;
}
.footer .container h1 {
  font-size: 1em;
  text-align: center;
  font-weight: bold;
}
.footer .container p {
  text-align: center;
  font-size: 0.8em;
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .sect06 .requirements .requirement-table .schedule-row:nth-child(odd),
  .sect06 .requirements .requirement-table .req-row:nth-child(odd) {
    border-bottom: none;
  }
  .sect06 .requirements .requirement-table .schedule-row:nth-last-child(1),
  .sect06 .requirements .requirement-table .req-row:nth-last-child(1) {
    border-bottom: none;
  }
  .sect06 .requirements .requirement-table .schedule-row .title h4,
  .sect06 .requirements .requirement-table .req-row .title h4 {
    font-size: 1em;
    text-align: center;
    font-weight: bold;
    margin-bottom: 0;
    padding: 1vh 0;
  }
  .sect06 .requirements .requirement-table .schedule-row .text,
  .sect06 .requirements .requirement-table .req-row .text {
    justify-content: center;
  }
  .sect06 .requirements .requirement-table .schedule-row .text p,
  .sect06 .requirements .requirement-table .req-row .text p {
    margin-bottom: 0;
  }
  .sect06 .requirements .requirement-table .schedule-row .text p span,
  .sect06 .requirements .requirement-table .req-row .text p span {
    font-size: 0.9em;
  }
  .sect06 .requirements .requirement-table .schedule-row .text p span strong,
  .sect06 .requirements .requirement-table .req-row .text p span strong {
    color: rgb(185, 7, 7);
    padding: 0 5px;
  }
  .sect06 .requirements .requirement-table .schedule-row .stylist {
    text-align: center;
  }
  .sect06 .requirements .requirement-table .schedule-row .stylist h5 {
    font-size: 6px;
    margin-bottom: 0;
  }
  .sect06 .requirements .requirement-table .schedule-row .stylist p {
    font-size: 8px;
  }
}
@media screen and (max-width: 576px) {
  .mobile-break {
    display: block;
  }
  .smph_br {
    display: block;
  }
  .br_on {
    display: block;
  }
  .main-title h4 {
    font-size: 2.5em;
  }
  .alert-message {
    left: 2%;
  }
  .main .sect05 .steps .content {
    margin-top: 0;
  }
  .main .sect05 .steps .content .text-area p {
    padding: 10px 3px;
  }
  .main .sect06 .requirements .requirement-table h3 {
    font-size: 1.5em;
    color: rgb(176, 132, 7);
    margin: 4vh auto 2vh;
    line-height: 2em;
    font-weight: bold;
  }
  .main .sect06 .requirements .requirement-table h3 span {
    font-size: 2em;
  }
  .main .sect06 .requirements .requirement-table .schedule-row,
  .main .sect06 .requirements .requirement-table .req-row {
    border-bottom: none !important;
  }
  .main .sect06 .requirements .requirement-table .schedule-row:nth-child(odd),
  .main .sect06 .requirements .requirement-table .req-row:nth-child(odd) {
    border-bottom: none;
  }
  .main .sect06 .requirements .requirement-table .schedule-row:nth-last-child(1),
  .main .sect06 .requirements .requirement-table .req-row:nth-last-child(1) {
    border-bottom: none;
  }
  .main .sect06 .requirements .requirement-table .schedule-row .title,
  .main .sect06 .requirements .requirement-table .req-row .title {
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px dashed rgba(0, 0, 0, 0.4);
    background: unset;
    width: 90%;
    margin: auto;
  }
  .main .sect06 .requirements .requirement-table .schedule-row .title h4,
  .main .sect06 .requirements .requirement-table .req-row .title h4 {
    font-size: 5vw;
    text-align: center;
    font-weight: bold;
    color: #333;
    margin-top: 1em;
    margin-bottom: 0;
    padding: 1vh 0;
  }
  .main .sect06 .requirements .requirement-table .schedule-row .text,
  .main .sect06 .requirements .requirement-table .req-row .text {
    justify-content: center;
  }
  .main .sect06 .requirements .requirement-table .schedule-row .text p,
  .main .sect06 .requirements .requirement-table .req-row .text p {
    margin-bottom: 0;
    font-size: 1.1em;
  }
  .main .sect06 .requirements .requirement-table .schedule-row .text p span,
  .main .sect06 .requirements .requirement-table .req-row .text p span {
    font-size: 1em;
  }
  .main .sect06 .requirements .requirement-table .schedule-row .text p span strong,
  .main .sect06 .requirements .requirement-table .req-row .text p span strong {
    color: rgb(185, 7, 7);
    padding: 0 5px;
  }
  .main .sect06 .requirements .requirement-table .schedule-row .stylist {
    text-align: center;
  }
  .main .sect06 .requirements .requirement-table .schedule-row .stylist h5 {
    font-size: 7px;
    margin-bottom: 0;
  }
  .main .sect06 .requirements .requirement-table .schedule-row .stylist p {
    font-size: 8px;
  }
}
@media screen and (max-width: 446px) {
  .sect01 .dark #timer {
    font-size: 2.5em;
  }
}
@media screen and (max-width: 428px) {
  .main-title h2 strong {
    font-size: 1em;
  }
  .main-title h2.top {
    font-size: 1.5em;
  }
  .small-smph-connect {
    display: none;
  }
  .main .sect05 .steps-to-enter h3 {
    font-size: 1.25em;
  }
  .main .sect05 .steps-to-enter h3 span {
    font-size: 1.5em;
    padding: 0 3px;
  }
}
@media screen and (max-width: 414px) {
  .main-title h2.top {
    font-size: 1.3em;
  }
  .main-title h4 {
    font-size: 2.25em;
  }
  .main-title h5 span {
    font-size: 1.25em;
  }
  .sect05 .steps-to-enter h3 {
    font-size: 1em;
  }
  .sect05 .steps-to-enter h3 span {
    font-size: 1.5em;
    padding: 0 3px;
  }
}
@media screen and (max-width: 400px) {
  .main-title h4 {
    font-size: 2em;
  }
  .main-title h2 {
    font-size: 1.4em;
  }
  .main-title h2.top {
    font-size: 1.2em;
  }
  .main .sect02 .heading p.body {
    font-size: 0.9em;
  }
  .main .sect03 .qualifications .qualification-list ul li {
    font-size: 1em;
  }
  .main .sect04 .entry .entry-qual ul li {
    font-size: 1.3em;
  }
  .main .sect05 .steps-to-enter h3 {
    font-size: 1em;
  }
  .main .sect05 .steps-to-enter h3 span {
    font-size: 1.5em;
    padding: 0 3px;
  }
}
@media screen and (max-width: 414px) {
  .modal .message h4 {
    font-size: 1.25em;
    text-align: center;
  }
  .modal .message ul.entrants {
    list-style-type: none;
    padding: 0;
  }
  .modal .message ul.entrants li {
    font-size: 0.8em;
  }
  .modal .message p {
    font-size: 0.7em;
  }
}
@media screen and (max-width: 385px) {
  .modal .message h4 {
    font-size: 1.25em;
    text-align: center;
  }
  .modal .message ul.entrants {
    list-style-type: none;
    padding: 0;
  }
  .modal .message ul.entrants li {
    font-size: 0.7em;
  }
  .modal .message p {
    font-size: 0.7em;
  }
  .main .sect06 .requirements .requirement-table .schedule-row .stylist {
    text-align: center;
  }
  .main .sect06 .requirements .requirement-table .schedule-row .stylist h5 {
    font-size: 6px;
    margin-bottom: 0;
  }
  .main .sect06 .requirements .requirement-table .schedule-row .stylist p {
    font-size: 8px;
  }
}
@media screen and (max-width: 378px) {
  .main-title h2 {
    font-size: 1.25em;
  }
  .sect01 .dark #timer {
    font-size: 2em;
  }
  .sect01 .dark #timer div {
    min-width: 70px;
  }
  .main .sect03 .qualifications .qualification-list ul li {
    font-size: 1em;
  }
  .main .sect04 .entry .entry-qual ul li {
    font-size: 1em;
  }
  .main .sect04 .entry .entry-qual ul li span {
    font-size: 0.9em;
  }
  .main .sect05 .steps-to-enter h3 {
    font-size: 1em;
  }
  .footer .container .links ul li {
    display: block;
    border-right: none;
    line-height: 2em;
  }
}
.sp_on {
  display: none;
}

.kami1-2024_catch {
  position: absolute;
  top: 10vh;
  margin-left: 50vh;
  filter: drop-shadow(2px 4px 6px #333);
  height: 70%;
}
.kami1-2024_catch img {
  height: 100%;
}

.kami1-2024_emblem {
  width: 40vh;
  display: block;
  margin: auto;
}

.kami1-2024_prize {
  width: 30vh;
  display: block;
  margin-top: -12vh;
  margin-right: 17vw;
}

.kami1-2024_deadline {
  padding: 3vh 0;
  width: 95%;
  margin: 0 auto;
  text-align: center;
  background: #fff;
  color: #333333;
  width: 95%;
  -webkit-clip-path: polygon(0 0, 90% 0%, 100% 100%, 10% 100%);
          clip-path: polygon(0 0, 90% 0%, 100% 100%, 10% 100%);
}
.kami1-2024_deadline h3 {
  font-size: 1.2em;
  line-height: 2em;
  font-weight: 600;
  color: #333;
}

#kami1-2024_count_down {
  color: #333;
}
#kami1-2024_count_down .cd_day,
#kami1-2024_count_down .cd_time {
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
#kami1-2024_count_down .cd_day small,
#kami1-2024_count_down .cd_time small {
  font-size: 0.6em;
}
#kami1-2024_count_down .cd_day {
  font-size: 3vw;
}
#kami1-2024_count_down .cd_time {
  font-size: 2vw;
}

.kami1-2024_h2 {
  color: rgb(231, 131, 44);
  font-weight: 600;
  font-size: 2em;
}
.kami1-2024_h2 span {
  color: #333;
  position: relative;
}
.kami1-2024_h2 span::before {
  content: "";
  position: absolute;
  top: 100%;
  width: calc(100% + 2em);
  left: -1.5em;
  height: 0.2em;
  -webkit-clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
          clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
  background: linear-gradient(111.3deg, rgb(235, 83, 49) 9.6%, rgb(255, 223, 24) 93.6%);
}

.kami1-2024_thema {
  font-size: 2.5vw;
  margin-top: 0.7em;
  font-weight: 600;
}

.kami1-2024_sample_movie .splide__slide {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.kami1-2024_sample_movie .splide__pagination__page.is-active {
  background: var(--Hello_Blue) !important;
}

.kami1-2024_schedule {
  width: 100%;
  margin: 5vw auto;
}

.kami1-2024_judges {
  margin: auto !important;
}

.kami1-2024_navarea nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.5em;
  -moz-column-gap: 0em;
       column-gap: 0em;
  width: 40em;
  margin: 3em auto;
  font-size: 1.7vw;
}

.shadow_parent {
  position: relative;
}
.shadow_parent .shadow_child {
  position: absolute;
  bottom: -0.2em;
  right: -0.2em;
  display: block;
  width: 11em;
  height: 3.5em;
  -webkit-clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%, 5% 50%);
          clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%, 5% 50%);
  background: #ddd;
  transition: 0.3s;
}
.shadow_parent:nth-child(1) .kami1-2024_nav_a {
  content: "01";
  -webkit-clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%, 0 50%);
          clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%, 0 50%);
}
.shadow_parent:nth-child(1) .shadow_child {
  -webkit-clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%, 0 50%);
          clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%, 0 50%);
}
.shadow_parent:nth-child(2) .kami1-2024_nav_a {
  animation-delay: 0.3s;
}
.shadow_parent:nth-child(2) .kami1-2024_nav_a::before {
  content: "02";
}
.shadow_parent:nth-child(3) .kami1-2024_nav_a {
  animation-delay: 0.6s;
}
.shadow_parent:nth-child(3) .kami1-2024_nav_a::before {
  content: "03";
}
.shadow_parent:nth-child(4) .kami1-2024_nav_a {
  animation-delay: 0.9s;
}
.shadow_parent:nth-child(4) .kami1-2024_nav_a::before {
  content: "04";
}
.shadow_parent:nth-child(5) .kami1-2024_nav_a {
  animation-delay: 1.2s;
}
.shadow_parent:nth-child(5) .kami1-2024_nav_a::before {
  content: "05";
}
.shadow_parent:nth-child(6) .kami1-2024_nav_a {
  animation-delay: 1.4s;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%, 5% 50%);
          clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%, 5% 50%);
}
.shadow_parent:nth-child(6) .kami1-2024_nav_a::before {
  content: "06";
}
.shadow_parent:nth-child(6) .shadow_child {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%, 5% 50%);
          clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%, 5% 50%);
}

.kami1-2024_nav_a {
  z-index: 1;
  width: 11em;
  height: 3.5em;
  font-weight: 600;
  line-height: 1.3em;
  letter-spacing: 0.05em;
  background: linear-gradient(-90deg, #d079a7, #0ba2db);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  text-decoration: none;
  -webkit-clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%, 5% 50%);
          clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%, 5% 50%);
  animation: entry_btn 3s infinite;
  transition: 0.3s;
  position: relative;
  text-align: center;
  text-align: center;
  text-shadow: 1px 1px #555;
}
.kami1-2024_nav_a::before {
  content: "01";
  position: absolute;
  left: 1em;
  top: 0.2em;
  color: #fff;
  font-size: 1.2em;
}
.kami1-2024_nav_a:hover {
  color: #fff;
  filter: brightness(1.3);
  animation: unset;
  transform: translate(0.2em, 0.2em);
}

.kami1-2024_entryflow {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2vw;
  margin: 3em auto;
}
.kami1-2024_entryflow div {
  width: -moz-fit-content;
  width: fit-content;
  margin: 1em auto;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30%;
}
.kami1-2024_entryflow div img {
  width: 100%;
  height: 27vw;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5em;
  filter: drop-shadow(4px 4px 0px #bbb);
}
.kami1-2024_entryflow div p {
  font-size: 1.3vw;
  position: absolute;
  bottom: 0;
  width: 100%;
  color: #fff;
  text-align: center;
  padding: 1em 1em;
  background: rgba(0, 0, 0, 0.6);
  line-height: 0em;
  filter: drop-shadow(2px 2px 4px #888);
}
.kami1-2024_entryflow div p strong {
  line-height: 1.8em;
}
.kami1-2024_entryflow div p small {
  display: block;
  margin-top: 0.5em;
  font-size: 0.7em;
  line-height: 1.6em;
}
.kami1-2024_entryflow div::before {
  content: "";
  font-size: 1.5vw;
  position: absolute;
  font-weight: 600;
  top: -1em;
  left: -0.5em;
  padding: 0.1em 1em 0.3em;
  background: linear-gradient(140deg, rgb(235, 123, 7) 0%, rgb(253, 230, 22) 66%);
  border-radius: 0.3em;
  transform: rotate(-10deg);
  color: #fff;
  text-shadow: 1px 1px 0px #999;
  z-index: 1;
}
.kami1-2024_entryflow div:nth-child(1)::before {
  content: "Step 1";
}
.kami1-2024_entryflow div:nth-child(2)::before {
  content: "Step 2";
}
.kami1-2024_entryflow div:nth-child(3)::before {
  content: "Step 3";
}

.kami1-2024_entryarea {
  position: relative;
  background: url(../images/2024/kami1-2024_bg_main.png);
  background-size: cover;
  background-position: bottom;
  color: #fff;
  padding: 5em 0 3em;
}
.kami1-2024_entryarea::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.6666666667);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.kami1-2024_entryarea h2 {
  font-size: 3vw;
  position: relative;
  z-index: 1;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  line-height: 2em;
  text-shadow: 0.05em 0.05em 1em #999;
}
.kami1-2024_entryarea h2 strong {
  font-family: "Noto Sans JP";
  font-weight: 700;
}
.kami1-2024_entryarea h2 span {
  font-family: "Noto Sans JP";
  font-weight: 500;
}
.kami1-2024_entryarea a {
  position: relative;
  color: #fff;
  text-decoration: none;
  font-family: "Noto Sans JP";
  font-weight: 600;
  letter-spacing: 0.06em;
  text-align: center;
  padding: 0.7em 0.6em 0.7em 1.7em;
  background: linear-gradient(-90deg, #eb5331, #950b04);
  background: linear-gradient(-90deg, #d079a7, #0ba2db);
  -webkit-clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
          clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
  display: block;
  font-size: 2.5vw;
  animation: entry_btn 2s infinite;
  transition: 0.3s;
  filter: brightness(1);
  text-shadow: 1px 1px #555;
  width: 20em;
  margin: 3em auto;
  z-index: 1;
}
.kami1-2024_entryarea a:hover {
  filter: brightness(1.3);
  color: #fff;
  animation: unset;
  transform: translate(0.2em, 0.2em);
}
.kami1-2024_entryarea a::before {
  content: "";
  position: absolute;
  width: 87%;
  height: 90%;
  border: 0.15em solid #fff;
  top: 5%;
  left: 6.5%;
  transform: skew(-24.5deg);
}
.kami1-2024_entryarea .shadow_parent {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
.kami1-2024_entryarea .shadow_parent .shadow_child {
  font-size: 2.5vw;
  height: 4.3em;
  width: 20em;
  padding: 0.7em 0.6em 0.7em 1.7em;
  -webkit-clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
          clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
}

.underline {
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 3px solid #c33;
}

.kami1-2024_h3 {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  font-size: 2vw;
  font-family: "Oswald", sans-serif;
  font-weight: 600;
  line-height: 1.8em;
  margin: 2em auto 0em;
  width: -moz-fit-content;
  width: fit-content;
}
.kami1-2024_h3 strong {
  font-size: 1.2em;
  margin-bottom: 0.5em;
  align-self: center;
}
.kami1-2024_h3 .v_wave {
  transform: rotate(90deg);
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  align-self: center;
}

.smple_movie {
  text-align: center;
}

@media screen and (max-width: 1100px) {
  .kami1-2024_thema {
    font-size: 3.5vw;
  }
  .kami1-2024_h3 {
    font-size: 3vw;
  }
}
@media screen and (max-width: 790px) {
  .sp_on {
    display: block;
  }
  .sp_off {
    display: none;
  }
  .main {
    background-size: 80%;
  }
  .confetti-land {
    background-size: cover !important;
    background-position: center !important;
    padding-top: 13vh;
    padding-bottom: 3vh;
    height: auto !important;
  }
  .kami1-2024_catch {
    position: absolute;
    top: 11.5vh;
    right: 7%;
  }
  .kami1-2024_catch img {
    max-height: 125vw;
  }
  .kami1-2024_emblem {
    width: 68%;
    max-width: 500px;
    display: block;
    margin: auto;
  }
  .kami1-2024_prize {
    width: 50%;
    max-width: 400px;
    display: block;
    margin: -13vw auto 0 2vw;
  }
  #kami1-2024_count_down .cd_day,
  #kami1-2024_count_down .cd_time {
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
  }
  #kami1-2024_count_down .cd_day {
    font-size: 9vw;
  }
  #kami1-2024_count_down .cd_time {
    font-size: 6vw;
  }
  .kami1-2024_navarea nav {
    width: -moz-fit-content;
    width: fit-content;
    font-size: 4.3vw;
  }
  .main-title h2.top {
    font-size: 6vw;
    margin-bottom: 1em;
  }
  .kami1-2024_thema {
    font-size: 7vw;
    margin-top: 1.1em;
    font-weight: 600;
    text-align: center;
  }
  .kami1-2024_schedule {
    width: 100%;
    margin: 10vw auto 0;
  }
  .steps .content .text-area p strong {
    font-size: 3.8vw !important;
  }
  .kami1-2024_entryflow div {
    width: 80%;
  }
  .kami1-2024_entryflow div img {
    width: 100%;
    height: 80vw;
  }
  .kami1-2024_entryflow div p {
    font-size: 4vw;
  }
  .kami1-2024_entryflow div::before {
    font-size: 4.5vw;
  }
  .kami1-2024_entryarea {
    padding: 5em 0 3em;
  }
  .kami1-2024_entryarea h2 {
    font-size: 5.5vw;
  }
  .kami1-2024_entryarea a {
    font-size: 4.5vw;
  }
  .kami1-2024_entryarea::before {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(51, 51, 51, 0.6666666667);
    display: block;
    position: absolute;
    background-image: url(../images/2024/kami1-2024_emblem.png);
    background-size: 60%;
    background-repeat: no-repeat;
    background-position: 50% -10%;
    filter: brightness(0.3);
    top: 0;
    left: 0;
  }
  .kami1-2024_entryarea .shadow_parent .shadow_child {
    font-size: 4.5vw;
  }
  .kami1-2024_h3 {
    font-size: 5vw;
  }
  .schedule p {
    text-align: center;
  }
}
@media screen and (min-width: 1550px) {
  .kami1-2024_h3 {
    font-size: 28px;
  }
  .kami1-2024_navarea nav {
    font-size: 26px;
  }
  .kami1-2024_entryflow div {
    font-size: 20px;
  }
  .kami1-2024_entryflow div p {
    font-size: unset;
  }
  .kami1-2024_entryflow div img {
    height: 20em;
  }
  .kami1-2024_entryarea {
    padding: 7em 0 4em;
  }
  .kami1-2024_entryarea h2 {
    font-size: 40px;
  }
  .kami1-2024_entryarea a {
    font-size: 35px;
  }
  .kami1-2024_entryarea .shadow_parent .shadow_child {
    font-size: 35px;
  }
  .schedule p {
    text-align: center;
  }
}
.kami1-2024_result {
  display: flex;
  width: 100vw;
  background: #fff;
}

.kami1-2024_result_btn {
  width: 50%;
  color: #fff;
  text-decoration: none;
  font-family: "Noto Sans JP";
  font-weight: 600;
  letter-spacing: 0.06em;
  text-align: center;
  padding: 0.7em;
  display: block;
  font-size: 1.7vw;
  animation: entry_btn 2s infinite;
  transition: 0.3s;
  filter: brightness(1);
  text-shadow: 1px 1px #555;
  border: unset;
}
.kami1-2024_result_btn.left {
  background: linear-gradient(-90deg, #d079a7, #0ba2db);
  -webkit-clip-path: polygon(0% 0, 100% 0, 90% 100%, 0 100%);
  clip-path: polygon(0% 0, 100% 0, 90% 100%, 0 100%);
  padding-right: 1em;
}
.kami1-2024_result_btn.right {
  background: linear-gradient(-90deg, #ca4755, #dfa452);
  -webkit-clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
  padding-left: 1em;
}
.kami1-2024_result_btn:hover {
  opacity: 0.7;
}

.kami1-2024_modal {
  position: fixed;
  z-index: 100000;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5333333333);
  display: flex;
  justify-content: center;
  align-items: center;
}
.kami1-2024_modal .modal_content {
  background: #fff;
  padding: 2em 1em;
  width: 90%;
  height: 80%;
  overflow: scroll;
  border-radius: 0.5em;
}
.kami1-2024_modal .modal_content h4 {
  color: #ec9623;
}
.kami1-2024_modal .modal_content h4.sec {
  color: #2c8de5;
}
.kami1-2024_modal .modal_content p {
  font-size: 0.9em;
  line-height: 1.8em;
  margin: 1em auto;
}
.kami1-2024_modal .modal_content p strong {
  font-size: 1.2em;
  color: #ec9623;
}
.kami1-2024_modal .modal_content p strong.sec {
  color: #2c8de5;
}
.kami1-2024_modal .modal_content div {
  padding: 0.5em 0.3em;
  border-bottom: 1px #eee solid;
}
.kami1-2024_modal .modal_content div small {
  font-size: 0.8em;
}

.kami1-2024_thanks {
  text-align: center;
  font-size: 1.4em;
  line-height: 2em;
  margin: 2.5em auto 0em;
  font-weight: 600;
}
.kami1-2024_thanks .title {
  font-size: 1.5em;
}
.kami1-2024_thanks strong {
  font-size: 2.5em;
  color: #ffcf51;
  margin: 1em auto 0;
  padding-bottom: 0.35em;
  display: block;
  border-bottom: 0.2em double;
  width: 6em;
  filter: drop-shadow(6px 4px 0px #666);
}
.kami1-2024_thanks strong span {
  font-size: 1.5em;
  font-style: italic;
  font-family: "Oswald";
  margin-right: 0.2em;
}

@media screen and (max-width: 790px) {
  .kami1-2024_result_btn {
    font-size: 4.5vw;
  }
}/*# sourceMappingURL=style.css.map */