.inview:not(.animated) {
  opacity: 0;
}

/*=============================================
=            THEME WRAPPER            =
=============================================*/
#theme {
  overflow: hidden;
}
#theme .themeWrapper {
  background-color: #fff;
  position: relative;
}
#theme .themeWrapper .themeTitleWrapper {
  text-align: center;
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  #theme .themeWrapper .themeTitleWrapper {
    margin-bottom: 60px;
  }
}
#theme .themeWrapper .theme_left,
#theme .themeWrapper .theme_right {
  position: absolute;
  top: 40px;
  z-index: 1;
  display: none;
}
@media only screen and (min-width: 992px) {
  #theme .themeWrapper .theme_left,
  #theme .themeWrapper .theme_right {
    display: block;
  }
}
#theme .themeWrapper .theme_left img,
#theme .themeWrapper .theme_right img {
  max-width: 250px;
}
#theme .themeWrapper .theme_left {
  left: 0;
}
#theme .themeWrapper .theme_right {
  right: 0;
}
#theme .themeWrapper .theme_inner {
  position: relative;
  margin-top: 80px;
  color: #fff;
  padding-bottom: 40px;
  background-image: linear-gradient(180deg, rgb(219, 170, 254), rgb(254, 154, 208) 65%, rgb(255, 255, 255));
}
#theme .themeWrapper .theme_inner .container {
  position: relative;
  z-index: 2;
}
#theme .themeWrapper .theme_inner .theme_list_title {
  text-align: center;
}
#theme .themeWrapper .theme_inner .theme_list_title img {
  width: 100%;
}
#theme .themeWrapper .theme_inner .theme_list {
  color: #333;
  background-color: #fff;
  border-radius: 20px;
  padding: 20px 30px;
  min-height: 232px;
}
#theme .themeWrapper .sectionTitleWrapper .icon {
  width: fit-content;
  margin-bottom: 15px;
  margin-left: auto;
  margin-right: auto;
}
#theme .themeWrapper .sectionTitleWrapper .titleBox {
  padding: 8px 20px 12px;
}
#theme .themeWrapper .sectionTitleWrapper .themebox {
  padding: 20px;
  position: relative;
  z-index: 0;
  isolation: isolate;
  box-sizing: border-box;
  margin-inline: auto;
  max-width: 600px;
  width: auto;
  margin-top: 30px;
  border-radius: 20px;
  background: linear-gradient(to right, #dbaafe, #fd9bd2);
}
#theme .themeWrapper .sectionTitleWrapper .themebox::before {
  content: "";
  position: absolute;
  inset: 4px;
  z-index: 0;
  border-radius: 16px;
  background-color: #fff;
}
#theme .themeWrapper .sectionTitleWrapper .themebox::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 4px;
  border-radius: 16px;
  background: linear-gradient(to right, #dbaafe, #fd9bd2);
  opacity: 1;
  transform: translate(12px, 12px);
}
#theme .themeWrapper .sectionTitleWrapper .themebox > * {
  position: relative;
  z-index: 1;
}
#theme .themeWrapper .sectionTitleWrapper .themebox h1 {
  font-size: 6vw;
  font-weight: bold;
  line-height: 8rem;
}
@media only screen and (min-width: 992px) {
  #theme .themeWrapper .sectionTitleWrapper .themebox h1 {
    font-size: 4.5rem;
  }
}
#theme .themeWrapper .sectionTitleWrapper .themebox h5 {
  font-weight: bold;
  font-size: 3vw;
  line-height: 2.2rem;
}
@media only screen and (min-width: 992px) {
  #theme .themeWrapper .sectionTitleWrapper .themebox h5 {
    font-size: 1.4rem;
  }
}
#theme .themeWrapper .sectionTitleWrapper .sectionTitle span {
  display: inline-block;
  font-size: 0.6em;
  margin-right: 10px;
  border-top: 3px solid #ffb5c8;
  border-bottom: 3px solid #ffb5c8;
  padding-top: 2px;
  padding-bottom: 2px;
  position: relative;
  top: -2px;
}
#theme .themeWrapper .dscBox {
  text-align: center;
  line-height: 2;
  font-weight: bold;
  letter-spacing: 0.13em;
  line-height: 2.4;
}
#theme .themeWrapper .lead {
  text-align: center;
  margin-top: 10px;
  margin-bottom: 30px;
  font-size: 2rem;
  color: #fdfdfd;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.13em;
}
@media only screen and (min-width: 768px) {
  #theme .themeWrapper .lead {
    font-size: 3rem;
  }
}
#theme .themeWrapper .lead img {
  width: 100%;
  max-width: 840px;
}
#theme .themeWrapper .large {
  font-size: 1.25em;
}
@media only screen and (min-width: 768px) {
  #theme .themeWrapper .large {
    font-size: 1.5em;
  }
}

/*=====  End of THEME WRAPPER  ======*/
/*=============================================
=            TEMPLATE WRAPPER            =
=============================================*/
.templateWrapper .templateRow {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
.templateWrapper .templateRow .templateCol {
  text-align: center;
  flex: 0 0 100%;
  max-width: 430px;
}
@media only screen and (min-width: 768px) {
  .templateWrapper .templateRow .templateCol {
    max-width: none;
  }
}
.templateWrapper .templateRow .templateCol .tempTitle {
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 5px;
}
@media only screen and (min-width: 992px) {
  .templateWrapper .templateRow .templateCol .tempTitle {
    font-size: 2rem;
  }
}
.templateWrapper .templateRow .templateCol .templateBox {
  background-color: #fdfdfd;
  padding: 30px 20px 40px;
  border-radius: 20px;
}
.templateWrapper .templateRow .templateCol .templateBox .icon {
  margin-bottom: 5px;
}
.templateWrapper .templateRow .templateCol .templateBox .title {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.6;
}
@media only screen and (min-width: 992px) {
  .templateWrapper .templateRow .templateCol .templateBox .title {
    font-size: 2rem;
  }
}

.dlBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: linear-gradient(137deg, rgb(251, 226, 232), rgb(242, 181, 238) 50%, rgb(247, 145, 194));
  color: #fdfdfd;
  width: fit-content;
  border-radius: 40px;
  margin: 10px auto 0;
  padding: 18px 50px;
  font-size: 1.6rem;
}
@media only screen and (min-width: 576px) {
  .dlBtn {
    font-size: 1.8rem;
  }
}
.dlBtn:hover {
  color: #fdfdfd;
  background-color: rgb(78.3, 171, 168.3);
}
.dlBtn .dlIcon {
  margin-left: 5px;
}

/*=====  End of TEMPLATE WRAPPER  ======*/
/*=============================================
=            PAGEHEAD            =
=============================================*/
#pageHead {
  position: relative;
  background-image: url(../../common/img/kv.jpg);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-bottom: 100px;
}
@media only screen and (min-width: 768px) {
  #pageHead {
    background-image: url(../../common/img/kv.jpg);
  }
}
#pageHead .kvWrapper {
  position: relative;
  z-index: 1;
}
#pageHead .kvWrapper .kvImage {
  width: 100%;
  z-index: 0;
  display: flex;
  justify-content: center;
}
#pageHead .kvWrapper .kvImage picture {
  display: block;
  width: 100%;
  max-width: 920px;
}
@media only screen and (min-width: 768px) {
  #pageHead .kvWrapper .kvImage picture {
    width: 100%;
    max-width: 1560px;
  }
}
#pageHead .kvWrapper .kvImage img {
  display: block;
  width: 100%;
  height: auto;
}
#pageHead .kv_link {
  margin-top: 0;
  position: relative;
}
@media only screen and (min-width: 768px) {
  #pageHead .kv_link {
    margin-top: 40px;
  }
}
#pageHead .kv_link .kv_link_inner {
  position: relative;
  z-index: 2;
  text-align: center;
  background-color: #fff;
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 0 6px 2px rgba(255, 255, 255, 0.5);
  margin-bottom: 20px;
}
@media only screen and (min-width: 992px) {
  #pageHead .kv_link .kv_link_inner {
    margin-bottom: 0;
  }
}
#pageHead .kv_link .kv_link_inner h4 {
  margin-top: 0;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 10px;
}
@media only screen and (min-width: 992px) {
  #pageHead .kv_link .kv_link_inner h4 {
    margin-top: 20px;
  }
}
#pageHead .kv_link .kv_link_inner .pink {
  color: #ffb5c8;
}
#pageHead .kv_link .kv_link_inner .purple {
  color: #dc98ff;
}
#pageHead .kv_link .kv_link_inner .red {
  color: #ff76c3;
}
#pageHead .kv_link .kv_link_inner p {
  margin-top: 20px;
}
#pageHead .kv_link .kv_link_inner a {
  display: inline-block;
}
#pageHead .kv_link .kv_link_inner .arrow {
  margin-top: 10px;
  position: relative;
}
#pageHead .kv_link .kv_link_inner .arrow a {
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  transition-delay: 0s;
}
@media (hover: hover) {
  #pageHead .kv_link .kv_link_inner .arrow a:hover {
    transform: translateY(5px);
  }
}
#pageHead .kv_link .kv_link_inner .arrow img {
  width: 30px;
  background-color: none;
}
#pageHead .kv_link_l,
#pageHead .kv_link_r {
  position: absolute;
  top: 0;
  display: none;
}
@media only screen and (min-width: 992px) {
  #pageHead .kv_link_l,
  #pageHead .kv_link_r {
    display: block;
  }
}
#pageHead .kv_link_l img,
#pageHead .kv_link_r img {
  max-width: 400px;
}
#pageHead .kv_link_l {
  left: 0;
}
#pageHead .kv_link_r {
  right: 0;
}

/*=====  End of PAGEHEAD  ======*/
/*=============================================
=            AWARD            =
=============================================*/
#award {
  position: relative;
  padding-top: 80px;
  padding-bottom: 13vw;
  background-color: rgba(234.0901287554, 246.9098712446, 246.5364806867, 0.3);
}
#award .wave {
  bottom: 0;
  content: "";
  position: absolute;
  top: auto;
  bottom: 0;
  left: 50%;
  width: 100%;
  transform: translate(-50%, 0%);
  z-index: 0;
}
#award .awardContainer {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}
#award .awardSectionTitleWrapper {
  margin-bottom: 40px;
  text-align: center;
}
#award .awardSectionTitleWrapper .sectionTitle {
  color: #57bebb;
  font-size: 2.4rem;
  font-weight: bold;
  width: fit-content;
  padding-block: 8px;
  padding-inline: 10px;
  border-top: 3px solid #57bebb;
  border-bottom: 3px solid #57bebb;
  margin-inline: auto;
}
#award .awardSectionTitleWrapper .sectionSubTitle {
  margin-top: 10px;
  font-size: 3.6rem;
  font-weight: bold;
  color: #57bebb;
}
#award .awardWrapper {
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  #award .awardWrapper {
    margin-bottom: 80px;
  }
}
#award .awardBox {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
}
#award .awardBox a {
  display: block;
  position: relative;
  overflow: hidden;
}
@media (hover: hover) {
  #award .awardBox a:hover img {
    transform: scale(1.02);
  }
}
#award .awardBox a img {
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  transition-delay: 0s;
}
#award .awardBox a .arrow {
  content: "";
  position: absolute;
  top: auto;
  left: auto;
  bottom: 5%;
  right: 3%;
  width: auto;
  transform: translate(0%, 0%);
  z-index: 1;
}
#award .awardBox .ideaTitleBox {
  margin-top: 10px;
  text-align: center;
}
#award .awardBox .ideaTitleBox.horizontal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  text-align: left;
}
#award .awardBox .ideaTitleBox.horizontal .ideaTitle {
  margin-bottom: 0;
}
#award .awardBox .ideaTitleBox .ideaTitle {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 5px;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  #award .awardBox .ideaTitleBox .ideaTitle {
    font-size: 2.4rem;
  }
}
#award .awardBox .ideaTitleBox .name {
  color: #57bebb;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  #award .awardBox .ideaTitleBox .name {
    font-size: 2rem;
  }
}
#award .awardBox.prize .ideaTitleBox {
  text-align: left;
}
#award .awardBox.prize .ideaTitle {
  font-size: 1.4rem;
}
@media only screen and (min-width: 768px) {
  #award .awardBox.prize .ideaTitle {
    font-size: 2rem;
  }
}
#award .awardBox.prize .name {
  font-size: 1.4rem;
}
@media only screen and (min-width: 768px) {
  #award .awardBox.prize .name {
    font-size: 1.6rem;
  }
}

/*=====  End of AWARD  ======*/
/*=============================================
=            ABOUT            =
=============================================*/
#about {
  position: relative;
  padding-bottom: 60px;
  padding-top: 40px;
  background-color: #fff;
  font-weight: bold;
  min-height: 200px;
}
@media only screen and (min-width: 768px) {
  #about {
    padding-top: 60px;
    padding-bottom: 80px;
    min-height: 500px;
  }
}
#about .container {
  position: relative;
  z-index: 1;
}
#about .container .about_box {
  background-color: rgba(253, 253, 253, 0.5);
  border-radius: 20px;
}
#about .container h2 {
  text-align: center;
  font-size: 6vw;
  font-weight: bold;
  background: linear-gradient(135deg, #fe96cf 33%, #dda9fe 100%);
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media only screen and (min-width: 992px) {
  #about .container h2 {
    font-size: 4rem;
  }
}
#about .container p {
  margin-top: 40px;
  font-weight: 500;
  line-height: 4rem;
}
#about .about_l,
#about .about_r {
  position: absolute;
  top: 0;
  z-index: 0;
  display: none;
}
@media only screen and (min-width: 992px) {
  #about .about_l,
  #about .about_r {
    display: block;
  }
}
#about .about_l img,
#about .about_r img {
  max-width: 400px;
}
#about .about_l {
  left: 0;
}
#about .about_r {
  right: 0;
}

/*=============================================
=            THEME            =
=============================================*/
#theme {
  position: relative;
  padding-bottom: 0;
  background-color: #fdfdfd;
}
#theme .howToIdeaWrapper {
  text-align: center;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  #theme .howToIdeaWrapper {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
#theme .howToIdeaWrapper hr {
  width: 80%;
  max-width: 180px;
  margin: 20px auto;
  border-top: 2px solid #333;
}
@media only screen and (min-width: 768px) {
  #theme .howToIdeaWrapper hr {
    border-top: 3px solid #333;
    margin: 40px auto;
  }
}
#theme .howToIdeaWrapper .comingSoon {
  font-size: 1.8rem;
  font-weight: bold;
  color: #333;
  letter-spacing: 0.15em;
  margin-top: 10px;
}
@media only screen and (min-width: 768px) {
  #theme .howToIdeaWrapper .comingSoon {
    margin-top: 20px;
    font-size: 2.8rem;
  }
}
#theme .templateWrapper {
  margin-bottom: 40px;
}

/*=====  End of THEME  ======*/
/*=============================================
=            LASTYEAR            =
=============================================*/
#sample {
  background-image: linear-gradient(180deg, rgb(255, 255, 255), rgb(254, 235, 237) 27%, rgb(244, 226, 252) 56%, rgb(255, 238, 248) 77%, rgb(255, 255, 255));
  padding: 0;
}
@media only screen and (min-width: 768px) {
  #sample {
    padding-bottom: 10px;
  }
}
#sample > .wave {
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  #sample > .wave {
    margin-bottom: 80px;
  }
}
#sample .sectionTitleWrapper {
  margin-bottom: 25px;
}
@media only screen and (min-width: 768px) {
  #sample .sectionTitleWrapper {
    margin-bottom: 40px;
  }
}
#sample .sectionTitleWrapper h2 {
  padding: 10px;
  font-size: 2rem;
  background-color: #ffb5c8;
  color: #fff;
  border-radius: 10px;
}
#sample .swiper-slide.swiper-slide-prev .sampleWrapper, #sample .swiper-slide.swiper-slide-next .sampleWrapper {
  transform: translateY(15px);
}
@media only screen and (min-width: 768px) {
  #sample .swiper-slide.swiper-slide-prev .sampleWrapper, #sample .swiper-slide.swiper-slide-next .sampleWrapper {
    transform: translateY(30px);
  }
}
#sample .sampleWrapper {
  background-color: #fdfdfd;
  border-radius: 8px;
  padding: 20px 12px 12px;
  position: relative;
  display: block;
  color: inherit;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  transition-delay: 0s;
}
@media only screen and (min-width: 768px) {
  #sample .sampleWrapper {
    border-radius: 20px;
    padding: 20px;
  }
}
#sample .sampleWrapper .imgWrapper {
  display: block;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px) {
  #sample .sampleWrapper .imgWrapper {
    border-radius: 20px;
  }
}
#sample .sampleWrapper .imgWrapper img {
  aspect-ratio: 16/9;
  object-fit: cover;
}
#sample .sampleWrapper .nameWrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 1.5;
}
#sample .sampleWrapper .nameWrapper .name {
  font-size: 1.6rem;
  font-weight: bold;
}
#sample .sampleWrapper .nameWrapper .nameTitle {
  font-size: 1.4rem;
  font-weight: normal;
}
#sample .sample-scrollbar {
  position: relative;
  margin-top: 40px;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  background-color: #fdfdfd;
}
@media only screen and (min-width: 768px) {
  #sample .sample-scrollbar {
    margin-top: 80px;
  }
}
#sample .sample-scrollbar .swiper-scrollbar-drag {
  background-color: #ffb5c8;
}
#sample .templateSlideContainer {
  margin-top: 50px;
}
@media only screen and (min-width: 768px) {
  #sample .templateSlideContainer {
    margin-top: 120px;
  }
}
#sample .templateSlideSwiperWrapper {
  margin-bottom: 40px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  overflow: clip;
  position: relative;
}
#sample .templateSlideSwiperWrapper .swiper-pagination {
  position: relative;
  margin-top: 10px;
}
#sample .templateSlideSwiperWrapper .swiper-pagination-bullet-active {
  background: #57bebb;
}
#sample .templateSlideSwiperWrapper .templateSlideWrapper {
  background-color: #fdfdfd;
  border-radius: 8px;
  padding: 20px 12px 12px;
  position: relative;
  display: block;
  color: inherit;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  transition-delay: 0s;
}
@media only screen and (min-width: 768px) {
  #sample .templateSlideSwiperWrapper .templateSlideWrapper {
    border-radius: 20px;
    padding: 20px;
  }
}
#sample .templateSlideSwiperWrapper .templateSlideWrapper .imgWrapper {
  display: block;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px) {
  #sample .templateSlideSwiperWrapper .templateSlideWrapper .imgWrapper {
    border-radius: 20px;
  }
}
#sample .templateSlideSwiperWrapper .templateSlideWrapper .imgWrapper img {
  aspect-ratio: 1625/885;
  object-fit: cover;
}
#sample .templateSlideSwiperWrapper .templateSlideWrapper .dscWrapper {
  margin-bottom: 5px;
}
@media only screen and (min-width: 768px) {
  #sample .templateSlideSwiperWrapper .templateSlideWrapper .dscWrapper {
    margin-bottom: 0;
    display: flex;
    gap: 15px;
    align-items: center;
  }
}
#sample .templateSlideSwiperWrapper .templateSlideWrapper .dscWrapper .pointImg {
  max-width: 120px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px) {
  #sample .templateSlideSwiperWrapper .templateSlideWrapper .dscWrapper .pointImg {
    margin-bottom: 5px;
    margin-left: unset;
    margin-right: unset;
    max-width: 150px;
  }
}
#sample .templateSlideSwiperWrapper .templateSlideWrapper .dscWrapper .dscBox {
  font-size: 1.6rem;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  #sample .templateSlideSwiperWrapper .templateSlideWrapper .dscWrapper .dscBox {
    font-size: 1.8rem;
  }
}
#sample .lead {
  text-align: center;
  margin-top: 10px;
  margin-bottom: 30px;
  font-size: 2rem;
  color: #333;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.13em;
}
@media only screen and (min-width: 768px) {
  #sample .lead {
    font-size: 3rem;
  }
}

/*=====  End of LASTYEAR  ======*/
/*=============================================
=            JUDGE            =
=============================================*/
#judge {
  margin-top: 60px;
  padding-top: 60px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  #judge {
    padding-top: 120px;
  }
}
#judge .judgeTitleWrapper {
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  #judge .judgeTitleWrapper {
    margin-bottom: 60px;
  }
}
#judge .judgeTitleWrapper .icon {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
#judge .judgeTitleWrapper .judgeTitle {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  background-color: #fdfdfd;
  color: #dc98ff;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  padding: 12px 20px 12px;
  border-radius: 12px;
}
@media only screen and (min-width: 768px) {
  #judge .judgeTitleWrapper .judgeTitle {
    font-size: 2rem;
  }
}
#judge .judgeTitleWrapper .judgeTitleSub {
  color: #fff;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.4rem;
  font-family: "Coiny", system-ui;
}
#judge .judgeWrapper {
  max-width: 930px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 80px;
}
@media only screen and (min-width: 992px) {
  #judge .judgeWrapper {
    margin-bottom: 150px;
  }
}
#judge .judgeWrapper:last-child {
  margin-bottom: 0;
}
#judge .judgeWrapper .imgWrapper {
  flex: 0 0 390px;
  max-width: 85%;
  position: relative;
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
#judge .judgeWrapper .imgWrapper > img {
  border-radius: 20px;
}
#judge .judgeWrapper .imgWrapper h2 {
  font-size: 4rem;
  font-family: "Coiny", system-ui;
  letter-spacing: 0;
  color: #dc98ff;
  position: absolute;
  right: 0;
  bottom: 50px;
}
#judge .judgeWrapper .imgWrapper .bigLetter {
  content: "";
  position: absolute;
  top: 0%;
  left: 0%;
  width: auto;
  transform: translate(-85%, 5%);
  z-index: -1;
}
#judge .judgeWrapper .imgWrapper .nameWrapper {
  margin-top: 15px;
  color: #333;
  line-height: 1.3;
}
#judge .judgeWrapper .imgWrapper .nameWrapper .name {
  font-weight: 600;
  font-size: 2.6rem;
}
#judge .judgeWrapper .imgWrapper .nameWrapper .name span {
  font-size: 1.8rem;
}
#judge .judgeWrapper .imgWrapper .nameWrapper .nameTitle {
  font-weight: bold;
  font-size: 1.1rem;
}
@media only screen and (min-width: 992px) {
  #judge .judgeWrapper .imgWrapper .nameWrapper .nameTitle {
    font-size: 1.2rem;
  }
}
#judge .judgeWrapper .dscWrapper {
  flex: 0 0 480px;
  max-width: 90%;
  background-color: #fff;
  border-radius: 20px;
  padding: 20px;
  margin-bottom: 20px;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 992px) {
  #judge .judgeWrapper .dscWrapper {
    margin-top: 0;
  }
}
#judge .judgeWrapper .dscWrapper .judgeLead {
  color: #333;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 992px) {
  #judge .judgeWrapper .dscWrapper .judgeLead {
    font-size: 1.8rem;
    line-height: 1.8;
    letter-spacing: 0.1em;
  }
}
#judge .judgeWrapper .dscWrapper .infoBox {
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  #judge .judgeWrapper .dscWrapper .infoBox {
    margin-bottom: 20px;
  }
}
#judge .judgeWrapper .dscWrapper .dscBox {
  font-size: 1.3rem;
  line-height: 1.75;
  font-weight: 500;
  letter-spacing: 0.2em;
}
#judge .judgeWrapper .dscWrapper .linkWrapper {
  margin-top: 20px;
  font-size: 1.3rem;
}
@media only screen and (min-width: 768px) {
  #judge .judgeWrapper .dscWrapper .linkWrapper {
    margin-top: 40px;
  }
}
#judge .judgeWrapper .dscWrapper .linkWrapper dl {
  margin-bottom: 20px;
  line-height: 1.5;
}
#judge .judgeWrapper .dscWrapper .linkWrapper dl:last-child {
  margin-bottom: 0;
}
#judge .judgeWrapper .dscWrapper .linkWrapper dl dt {
  font-weight: 400;
}
#judge .judgeWrapper .dscWrapper .linkWrapper dl dd {
  margin-bottom: 0;
}
#judge .judgeWrapper .dscWrapper .linkWrapper dl dd a {
  color: #dc98ff;
}
#judge .judgeWrapper .commentWrapper {
  position: relative;
  margin-top: 20px;
  z-index: 1;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
#judge .judgeWrapper .commentWrapper h5 {
  font-size: 2rem;
  font-family: "Coiny", system-ui;
  letter-spacing: 0;
  color: #dc98ff;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  #judge .judgeWrapper .commentWrapper {
    margin-top: 40px;
  }
}
#judge .judgeWrapper .commentWrapper .box {
  border-radius: 20px;
  background-color: #fdfdfd;
  padding: 15px;
  position: relative;
}
@media only screen and (min-width: 992px) {
  #judge .judgeWrapper .commentWrapper .box {
    padding: 30px;
  }
}

/*=====  End of JUDGE  ======*/
/*=============================================
=            TARGET            =
=============================================*/
#target {
  position: relative;
  padding-top: 80px;
  background-image: linear-gradient(180deg, rgb(255, 255, 255), rgb(254, 235, 237) 27%, rgb(244, 226, 252) 56%, rgb(255, 238, 248) 77%, rgb(255, 255, 255));
}
@media only screen and (min-width: 768px) {
  #target {
    padding-top: 120px;
  }
}
#target .doubleBoxTitle {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  background-color: #ff76c3;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  padding: 12px 20px 12px;
  border-radius: 12px;
}
@media only screen and (min-width: 768px) {
  #target .doubleBoxTitle {
    font-size: 2rem;
  }
}
#target .doubleBoxTitleSub {
  color: #ff76c3;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.4rem;
  font-family: "Coiny", system-ui;
}
#target .titleBox {
  width: 100%;
  background-image: linear-gradient(123deg, rgb(255, 118, 195), rgb(255, 152, 154));
}
#target .targetArea {
  padding: 50px 0 30px 0;
  position: relative;
  border-radius: 8px;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 768px) {
  #target .targetArea {
    border-radius: 20px;
    padding: 80px 0 60px 0;
  }
}
#target .doubleBoxWrapper {
  content: "";
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
#target .targetWrapper {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}
#target .targetWrapper .targetRow {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: -20px;
  margin-right: -20px;
}
#target .targetWrapper .targetRow .targetCol {
  padding-left: 20px;
  padding-right: 20px;
  flex: 0 0 100%;
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  #target .targetWrapper .targetRow .targetCol {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
#target .targetWrapper .targetRow .targetBox {
  min-height: auto;
  padding-top: 260px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  position: relative;
}
@media only screen and (min-width: 768px) {
  #target .targetWrapper .targetRow .targetBox {
    padding-top: 360px;
    min-height: 500px;
  }
}
#target .targetWrapper .targetRow .targetBox .targetNum {
  text-align: center;
  max-width: 70%;
  margin: 0 auto;
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  #target .targetWrapper .targetRow .targetBox .targetNum {
    top: 0;
    max-width: 640px;
  }
}
#target .targetWrapper .targetRow .targetBox .targetTitle {
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.3;
  margin-top: -10px;
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px) {
  #target .targetWrapper .targetRow .targetBox .targetTitle {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}
#target .targetWrapper .targetRow .targetBox .dscWrapper {
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 2;
  padding: 10px 10px 25px;
  margin-bottom: 20px;
  background-color: #fdfdfd;
  border-radius: 20px;
}
@media only screen and (min-width: 768px) {
  #target .targetWrapper .targetRow .targetBox .dscWrapper {
    font-size: 1.4rem;
    line-height: 2.8;
  }
}
#target .targetWrapper .targetRow .targetBox .dscWrapper .anno {
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5;
}
#target .awardWrapper {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  padding-right: 10px;
  padding-left: 10px;
}
@media only screen and (min-width: 768px) {
  #target .awardWrapper {
    margin-top: 40px;
  }
}
#target .awardWrapper .anno {
  margin-top: 10px;
  font-size: 1.3rem;
}
#target .awardWrapper .awardTitle {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  background-color: #f1ff07;
  border: 5px solid #57bebb;
  color: #57bebb;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  padding: 8px 50px 12px;
  border-radius: 12px;
  box-shadow: 5px 5px 0px #57bebb;
}
@media only screen and (min-width: 768px) {
  #target .awardWrapper .awardTitle {
    font-size: 3.5rem;
  }
}
#target .awardWrapper .awardRow {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
  justify-content: center;
  text-align: center;
}
#target .awardWrapper .awardRow .awardCol {
  padding-left: 10px;
  padding-right: 10px;
  flex: 0 0 60%;
  max-width: 60%;
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px) {
  #target .awardWrapper .awardRow .awardCol {
    flex: 0 0 33%;
    max-width: 33%;
  }
}
#target .awardWrapper .awardRow .awardCol.winner {
  flex: 1 1 100%;
  max-width: 80%;
  text-align: center;
  padding: 20px;
}
#target .awardWrapper .awardRow .awardCol.winner img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  #target .awardWrapper .awardRow .awardCol.winner img {
    max-width: 400px;
  }
}
#target .awardWrapper .awardRow .awardCol.second {
  flex: 0 0 60%;
  max-width: 60%;
}
@media only screen and (min-width: 768px) {
  #target .awardWrapper .awardRow .awardCol.second {
    flex: 0 0 33%;
    max-width: 33%;
  }
}
@media only screen and (min-width: 768px) {
  #target .awardWrapper .awardRow .awardCol img {
    width: 96%;
  }
}
#target .criteriaOuter {
  padding-left: 10px;
  padding-right: 10px;
  margin-top: 10px;
}
@media only screen and (min-width: 768px) {
  #target .criteriaOuter {
    margin-top: 40px;
  }
}
#target .criteriaWrapper {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  background-color: #fdfdfd;
  border-radius: 20px;
  margin-top: 100px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  #target .criteriaWrapper {
    margin-top: 160px;
  }
}
#target .criteriaWrapper .judgeIcon {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: -80px;
  z-index: 1;
  max-width: 120px;
}
@media only screen and (min-width: 768px) {
  #target .criteriaWrapper .judgeIcon {
    width: auto;
    max-width: 200px;
    top: -120px;
  }
}
#target .criteriaWrapper .inner {
  padding: 30px 15px 40px;
}
@media only screen and (min-width: 768px) {
  #target .criteriaWrapper .inner {
    padding: 50px;
  }
}
#target .criteriaWrapper .inner dl {
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px) {
  #target .criteriaWrapper .inner dl {
    margin-bottom: 20px;
  }
}
#target .criteriaWrapper .inner dl dt {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  #target .criteriaWrapper .inner dl dt {
    font-size: 2rem;
  }
}
#target .criteriaWrapper .inner dl dt .points {
  background-color: #ff76c3;
  color: #fff;
  display: inline-block;
  margin-left: 10px;
  padding: 2px 6px;
  border-radius: 6px;
}
@media only screen and (min-width: 768px) {
  #target .criteriaWrapper .inner dl dt .points {
    font-size: 1.6rem;
  }
}
#target .criteriaWrapper .inner dl dd {
  font-size: 1.4rem;
  font-weight: 900;
  color: #57bebb;
  margin-bottom: 0;
  padding-left: 10px;
}
@media only screen and (min-width: 768px) {
  #target .criteriaWrapper .inner dl dd {
    font-size: 2rem;
    padding-left: 30px;
  }
}
#target .criteriaWrapper .inner .saiten {
  text-align: center;
  color: #fff;
  font-size: 3rem;
  font-weight: 600;
  background-color: #ff76c3;
  margin-top: 20px;
  margin-bottom: 10px;
  border-radius: 10px;
}
@media only screen and (min-width: 768px) {
  #target .criteriaWrapper .inner .saiten {
    margin-bottom: 20px;
    font-size: 3rem;
    margin-top: 30px;
  }
}
#target .arrow {
  text-align: center;
  margin-top: -20px;
  position: relative;
  z-index: 3;
  margin-bottom: 20px;
  width: 80px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 768px) {
  #target .arrow {
    margin-top: -30px;
    width: 130px;
  }
}
#target .plus {
  text-align: center;
  padding-top: 20px;
  padding-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
}
#target .plus svg {
  width: 50px;
  height: 100%;
}
@media only screen and (min-width: 768px) {
  #target .plus svg {
    width: 80px;
  }
}
#target .hapicWrapper {
  padding-left: 15px;
  padding-right: 15px;
}
#target .hapicWrapper .hapicTitle {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 8px;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  #target .hapicWrapper .hapicTitle {
    font-size: 2.6rem;
  }
}
@media only screen and (min-width: 768px) {
  #target .hapicWrapper .hapicRow {
    display: flex;
    justify-content: center;
  }
}
#target .hapicWrapper .dscWrapper {
  flex: 1 1 auto;
  max-width: 420px;
}
#target .hapicWrapper .dscWrapper dl {
  display: flex;
  margin-bottom: 5px;
  line-height: 1.5;
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  #target .hapicWrapper .dscWrapper dl {
    font-size: 1.8rem;
  }
}
#target .hapicWrapper .dscWrapper dl dt {
  flex: 0 0 60px;
}
#target .hapicWrapper .dscWrapper dl dd {
  margin-bottom: 0;
}
#target .hapicWrapper .dscWrapper .anno {
  padding-left: 60px;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  #target .hapicWrapper .dscWrapper .anno {
    font-size: 1.4rem;
  }
}
#target .hapicWrapper .imgWrapper {
  flex: 0 0 100%;
  max-width: 250px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  #target .hapicWrapper .imgWrapper {
    margin-top: 0;
    margin-left: unset;
    margin-right: unset;
  }
}
#target .hapicWrapper .imgWrapper .imgBox {
  background-color: #fdfdfd;
  padding: 15px;
  border-radius: 8px;
}
#target .earhugWrapper {
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  #target .earhugWrapper {
    margin-bottom: 20px;
  }
}
#target .earhugWrapper .earhugInner {
  max-width: 850px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 1;
}
#target .earhugWrapper .badge {
  content: "";
  position: absolute;
  top: 0%;
  left: 0%;
  width: 35%;
  transform: translate(-30%, -20%);
  z-index: 1;
  padding: 0;
}
@media only screen and (min-width: 768px) {
  #target .earhugWrapper .badge {
    width: 20%;
    transform: translate(-20%, 0%);
  }
}

/*=====  End of TARGET  ======*/
/*=============================================
=            INFO            =
=============================================*/
#info {
  padding-top: 20px;
  padding-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  #info {
    padding-bottom: 80px;
    padding-top: 40px;
  }
}
#info .infoWrapper {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  background-color: #fdfdfd;
  border: 1px solid #333;
  font-weight: 400;
  border-radius: 8px;
}
@media only screen and (min-width: 768px) {
  #info .infoWrapper {
    border-radius: 20px;
  }
}
#info .infoWrapper dl {
  margin-bottom: 0;
  border-bottom: 1px solid #333;
}
@media only screen and (min-width: 768px) {
  #info .infoWrapper dl {
    align-items: stretch;
    display: flex;
  }
}
#info .infoWrapper dl:last-child {
  border-bottom: none;
}
#info .infoWrapper dl:first-child dt {
  border-radius: 8px 8px 0 0;
}
@media only screen and (min-width: 768px) {
  #info .infoWrapper dl:first-child dt {
    border-radius: 0;
  }
}
#info .infoWrapper dl dt {
  flex: 0 0 200px;
  text-align: center;
  font-weight: 400;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #fdfdfd;
  background-color: #333;
  padding-top: 3px;
  padding-bottom: 3px;
}
@media only screen and (min-width: 768px) {
  #info .infoWrapper dl dt {
    font-size: 1.8rem;
    padding-top: 0;
    padding-bottom: 0;
    border-right: 1px solid #333;
    background-color: transparent;
    color: #333;
  }
}
#info .infoWrapper dl dd {
  padding: 15px;
  margin-bottom: 0;
  font-size: 1.4rem;
  line-height: 1.5;
}
#info .infoWrapper dl dd small {
  margin-top: 3px;
  display: inline-block;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  #info .infoWrapper dl dd {
    padding: 20px 30px;
    font-size: 1.8rem;
    line-height: 1.5;
  }
}
#info .infoWrapper dl dd a {
  color: #57bebb;
  text-decoration: underline;
}
#info .infoWrapper dl dd .anno {
  margin-top: 5px;
  font-size: 1.4rem;
}
#info .infoWrapper dl dd .anno .annoTitle {
  font-size: 1.2rem;
  margin-top: 10px;
  margin-bottom: 5px;
  width: fit-content;
  padding: 3px 8px;
  line-height: 1.2;
  border: 1px solid #333;
}
#info + .wave {
  position: relative;
  z-index: 2;
  line-height: 1;
}

/*=====  End of INFO  ======*/
/*=============================================
=            ENTRY            =
=============================================*/
#entry {
  background-color: rgb(234.0901287554, 246.9098712446, 246.5364806867);
  padding-top: 40px;
  padding-bottom: 30px;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  #entry {
    padding-bottom: 60px;
  }
}
#entry .icon {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
#entry .sectionTitleWrapper {
  margin-top: 20px;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  #entry .sectionTitleWrapper {
    margin-bottom: 50px;
  }
}
#entry .sectionTitleWrapper .lead {
  font-weight: bold;
  font-size: 1.8rem;
}
@media only screen and (min-width: 768px) {
  #entry .sectionTitleWrapper .lead {
    font-size: 2.4rem;
  }
}
#entry .entryWrapper {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
#entry .entryWrapper .entryTitle {
  border-bottom: 3px solid #57bebb;
  color: #57bebb;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 15px 0px;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  #entry .entryWrapper .entryTitle {
    font-size: 3rem;
  }
}
#entry .entryWrapper .anno {
  margin-top: 10px;
  font-weight: normal;
  font-size: 1.3rem;
  letter-spacing: 0.15em;
}
#entry .entryWrapper .leadWrapper {
  position: relative;
  text-align: center;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
  padding-left: 40px;
  padding-right: 40px;
  margin-bottom: 15px;
}
#entry .entryWrapper .leadWrapper .lead {
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.35;
}
@media only screen and (min-width: 768px) {
  #entry .entryWrapper .leadWrapper .lead {
    font-size: 3rem;
    line-height: 2;
  }
}
#entry .entryWrapper .leadWrapper .bar {
  content: "";
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translate(0%, -50%);
  z-index: 1;
}
#entry .entryWrapper .leadWrapper .bar.barRight {
  left: auto;
  right: 0;
}
#entry .templateImg {
  max-width: 180px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 768px) {
  #entry .templateImg {
    max-width: none;
    margin-left: unset;
    margin-right: unset;
  }
}
#entry .pptWrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  #entry .pptWrapper {
    gap: 30px;
  }
}
#entry .pptWrapper .pptTitle {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.15em;
  line-height: 2;
}
@media only screen and (min-width: 768px) {
  #entry .pptWrapper .pptTitle {
    font-size: 2.4rem;
  }
}

/*=====  End of ENTRY  ======*/
/*=============================================
=            FIXEDBTN            =
=============================================*/
.fixedBtnWrapper {
  position: fixed;
  top: auto;
  z-index: 10;
  width: 90%;
  left: 50%;
  transform: translateX(-50%);
  bottom: 5px;
  max-width: 300px;
}
@media only screen and (min-width: 768px) {
  .fixedBtnWrapper {
    left: auto;
    bottom: 20px;
    right: 20px;
    width: 300px;
    transform: translateX(0);
    max-width: none;
  }
}
@media only screen and (min-width: 1200px) {
  .fixedBtnWrapper {
    width: 400px;
  }
}
.fixedBtnWrapper img {
  width: 100%;
}
.fixedBtnWrapper a {
  display: block;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  transition-delay: 0s;
}
.fixedBtnWrapper a:hover {
  transform: scale(1.05);
}
.fixedBtnWrapper a.no-link {
  pointer-events: none;
  filter: grayscale(1);
}
@media only screen and (min-width: 768px) {
  .fixedBtnWrapper picture {
    filter: drop-shadow(0px 0px 20px rgba(51, 51, 51, 0.05));
  }
}

/*=====  End of FIXEDBTN  ======*/
#wrapper-footer .site-footer {
  padding-bottom: 60px;
}/*# sourceMappingURL=custom.css.map */