/*=============================================
=            THEME WRAPPER            =
=============================================*/
.themeWrapper .themeTitleWrapper {
  text-align: center;
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  .themeWrapper .themeTitleWrapper {
    margin-bottom: 60px;
  }
}
.themeWrapper .sectionTitleWrapper .icon {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 15px;
  margin-left: auto;
  margin-right: auto;
}
.themeWrapper .sectionTitleWrapper .titleBox {
  padding: 8px 20px 12px;
}
.themeWrapper .sectionTitleWrapper .sectionTitle span {
  display: inline-block;
  font-size: 0.6em;
  margin-right: 10px;
  border-top: 3px solid #57bebb;
  border-bottom: 3px solid #57bebb;
  padding-top: 2px;
  padding-bottom: 2px;
  position: relative;
  top: -2px;
}
.themeWrapper .dscBox {
  text-align: center;
  line-height: 2;
  font-weight: bold;
  letter-spacing: 0.13em;
}
.themeWrapper .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) {
  .themeWrapper .lead {
    font-size: 3rem;
  }
}
.themeWrapper .large {
  font-size: 1.25em;
}
@media only screen and (min-width: 768px) {
  .themeWrapper .large {
    font-size: 1.5em;
  }
}

/*=====  End of THEME WRAPPER  ======*/
/*=============================================
=            TEMPLATE WRAPPER            =
=============================================*/
.templateWrapper .templateRow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
.templateWrapper .templateRow .templateCol {
  text-align: center;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #57bebb;
  color: #fdfdfd;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 30px;
  margin: 10px auto 0;
  padding: 10px 30px;
  font-size: 1.6rem;
}
@media only screen and (min-width: 576px) {
  .dlBtn {
    font-size: 1.8rem;
  }
}
.dlBtn:hover {
  color: #fdfdfd;
  background-color: rgb(63.0472103004, 162.9527896996, 160.0429184549);
}
.dlBtn .dlIcon {
  margin-left: 5px;
}

/*=====  End of TEMPLATE WRAPPER  ======*/
/*=============================================
=            PAGEHEAD            =
=============================================*/
#pageHead {
  background-color: #9ae5e3;
}

/*=====  End of PAGEHEAD  ======*/
/*=============================================
=            ABOUT            =
=============================================*/
#about {
  padding-bottom: 60px;
  padding-top: 40px;
  background-color: rgb(234.0901287554, 246.9098712446, 246.5364806867);
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  #about {
    padding-top: 60px;
    padding-bottom: 80px;
  }
}
#about .aboutRow {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  #about .aboutRow {
    gap: 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media only screen and (min-width: 992px) {
  #about .aboutRow {
    gap: 40px;
  }
}
#about .aboutRow:before {
  content: "";
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  width: 100%;
  max-width: 950px;
  height: 95%;
  -webkit-transform: translate(-50%, -40%);
          transform: translate(-50%, -40%);
  z-index: 1;
  background-color: #fdfdfd;
  z-index: -1;
  border-radius: 20px;
}
@media only screen and (min-width: 768px) {
  #about .aboutRow:before {
    height: 65%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
#about .aboutRow .aboutImg {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
  max-width: 380px;
}
@media only screen and (min-width: 768px) {
  #about .aboutRow .aboutImg {
    margin-bottom: 0;
    margin-left: -10%;
    margin-right: unset;
  }
}
@media only screen and (min-width: 992px) {
  #about .aboutRow .aboutImg {
    max-width: none;
    width: auto;
  }
}
@media only screen and (min-width: 768px) {
  #about .aboutRow .aboutImg img {
    -webkit-transform: translate(0%, 10%);
            transform: translate(0%, 10%);
  }
}
#about .aboutRow .dscBox {
  text-align: center;
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  #about .aboutRow .dscBox {
    text-align: left;
  }
}
@media only screen and (min-width: 992px) {
  #about .aboutRow .dscBox {
    font-size: 2rem;
  }
}
#about .innerMenuRow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 30px 8px;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  #about .innerMenuRow {
    gap: 10px;
  }
}
#about .innerMenuRow .innerMenuCol {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 calc(50% - 8px);
      -ms-flex: 0 0 calc(50% - 8px);
          flex: 0 0 calc(50% - 8px);
  max-width: 290px;
}
@media only screen and (min-width: 768px) {
  #about .innerMenuRow .innerMenuCol {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 calc(25% - 8px);
        -ms-flex: 0 0 calc(25% - 8px);
            flex: 0 0 calc(25% - 8px);
  }
}
#about .innerMenuRow .innerMenuCol .menuBox {
  display: block;
  text-align: center;
  position: relative;
  background-color: #fdfdfd;
  border-radius: 8px;
  padding: 35px 10px 15px;
  color: inherit;
}
@media only screen and (min-width: 768px) {
  #about .innerMenuRow .innerMenuCol .menuBox {
    border-radius: 20px;
    padding: 35px 20px 20px;
  }
}
#about .innerMenuRow .innerMenuCol .menuBox:hover {
  text-decoration: none;
}
#about .innerMenuRow .innerMenuCol .menuBox:hover .arrow {
  -webkit-transform: translateY(10%);
          transform: translateY(10%);
}
#about .innerMenuRow .innerMenuCol .menuBox:hover .icon {
  -webkit-transform: translate(-50%, -60%);
          transform: translate(-50%, -60%);
}
#about .innerMenuRow .innerMenuCol .icon {
  content: "";
  position: absolute;
  top: 0%;
  left: 50%;
  width: auto;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  -webkit-transition: all ease-in-out 0.3s;
  transition: all ease-in-out 0.3s;
}
#about .innerMenuRow .innerMenuCol .icon img {
  width: 80%;
}
@media only screen and (min-width: 768px) {
  #about .innerMenuRow .innerMenuCol .icon img {
    width: 100%;
  }
}
#about .innerMenuRow .innerMenuCol .enTitle {
  font-size: 1.2rem;
  color: #57bebb;
  margin-bottom: 0;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  #about .innerMenuRow .innerMenuCol .enTitle {
    font-size: 1.4rem;
  }
}
#about .innerMenuRow .innerMenuCol .menuTitle {
  line-height: 1.5;
  font-size: 1.6rem;
  margin-bottom: 10px;
  font-weight: 900;
}
@media only screen and (min-width: 768px) {
  #about .innerMenuRow .innerMenuCol .menuTitle {
    font-size: 2rem;
  }
}
#about .innerMenuRow .innerMenuCol .menuDsc {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  #about .innerMenuRow .innerMenuCol .menuDsc {
    font-size: 1.6rem;
  }
}
#about .innerMenuRow .innerMenuCol .arrow {
  padding-top: 5px;
  -webkit-transition: all ease-in-out 0.3s;
  transition: all ease-in-out 0.3s;
}
@media only screen and (min-width: 768px) {
  #about .innerMenuRow .innerMenuCol .arrow {
    padding-top: 10px;
  }
}

/*=============================================
=            THEME            =
=============================================*/
#theme {
  position: relative;
  padding-bottom: 30px;
  background-color: #fdfdfd;
}
@media only screen and (min-width: 768px) {
  #theme {
    padding-bottom: 60px;
  }
}
#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-color: rgb(234.0901287554, 246.9098712446, 246.5364806867);
  padding-bottom: 60px;
}
@media only screen and (min-width: 768px) {
  #sample {
    padding-bottom: 100px;
  }
}
#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 .swiper-slide.swiper-slide-prev .sampleWrapper, #sample .swiper-slide.swiper-slide-next .sampleWrapper {
  -webkit-transform: translateY(15px);
          transform: translateY(15px);
}
@media only screen and (min-width: 768px) {
  #sample .swiper-slide.swiper-slide-prev .sampleWrapper, #sample .swiper-slide.swiper-slide-next .sampleWrapper {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
}
#sample .sampleWrapper {
  background-color: #fdfdfd;
  border-radius: 8px;
  padding: 20px 12px 12px;
  position: relative;
  display: block;
  color: inherit;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  -webkit-transition-delay: 0s;
          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;
  -o-object-fit: cover;
     object-fit: cover;
}
#sample .sampleWrapper .nameWrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          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: #57bebb;
}
#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;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  -webkit-transition-delay: 0s;
          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: 1.414/1;
  -o-object-fit: cover;
     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: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 15px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            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 {
  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: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
#judge .judgeTitleWrapper .judgeTitle {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  background-color: #57bebb;
  color: #fdfdfd;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  padding: 8px 20px 12px;
  border-radius: 12px;
}
@media only screen and (min-width: 768px) {
  #judge .judgeTitleWrapper .judgeTitle {
    font-size: 2.8rem;
  }
}
#judge .judgeWrapper {
  max-width: 930px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          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 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 340px;
      -ms-flex: 0 0 340px;
          flex: 0 0 340px;
  max-width: 85%;
  position: relative;
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
}
#judge .judgeWrapper .imgWrapper > img {
  border-radius: 0 80px 0 0;
}
#judge .judgeWrapper .imgWrapper .bigLetter {
  content: "";
  position: absolute;
  top: 0%;
  left: 0%;
  width: auto;
  -webkit-transform: translate(-85%, 5%);
          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: 900;
  font-size: 2.2rem;
}
#judge .judgeWrapper .imgWrapper .nameWrapper .name span {
  font-weight: 900;
  font-size: 1.6rem;
}
#judge .judgeWrapper .imgWrapper .nameWrapper .nameTitle {
  font-weight: bold;
  font-size: 1.2rem;
}
@media only screen and (min-width: 992px) {
  #judge .judgeWrapper .imgWrapper .nameWrapper .nameTitle {
    font-size: 1.4rem;
  }
}
#judge .judgeWrapper .dscWrapper {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 560px;
      -ms-flex: 0 0 560px;
          flex: 0 0 560px;
  max-width: 100%;
  margin-bottom: 20px;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 992px) {
  #judge .judgeWrapper .dscWrapper {
    padding-left: 15px;
    padding-right: 15px;
    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: 2rem;
    line-height: 1.6;
    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.4rem;
  line-height: 1.75;
  font-weight: 400;
  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: #333;
}
#judge .judgeWrapper .commentWrapper {
  position: relative;
  margin-top: 20px;
  z-index: 1;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 768px) {
  #judge .judgeWrapper .commentWrapper {
    margin-top: 40px;
  }
}
#judge .judgeWrapper .commentWrapper .box {
  border: 2px solid #333;
  background-color: #fdfdfd;
  padding: 35px 15px 15px;
  position: relative;
}
@media only screen and (min-width: 992px) {
  #judge .judgeWrapper .commentWrapper .box {
    padding: 40px 50px 30px;
    border: 3px solid #333;
  }
}
#judge .judgeWrapper .commentWrapper .commentTitle {
  position: absolute;
  top: 0%;
  left: 0%;
  -webkit-transform: translate(-5%, -50%);
          transform: translate(-5%, -50%);
}
@media only screen and (min-width: 768px) {
  #judge .judgeWrapper .commentWrapper .commentTitle {
    -webkit-transform: translate(-10%, -50%);
            transform: translate(-10%, -50%);
  }
}
#judge .judgeWrapper .commentWrapper .commentTitle .inner {
  font-size: 1.6rem;
  font-weight: bold;
  content: "";
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fdfdfd;
  color: #333;
  min-width: 150px;
  padding: 8px 20px;
  border: 2px solid #333;
  z-index: 1;
  text-align: center;
  line-height: 1.3;
}
@media only screen and (min-width: 768px) {
  #judge .judgeWrapper .commentWrapper .commentTitle .inner {
    border: 3px solid #333;
    padding: 8px 30px;
    font-size: 1.8rem;
  }
}
#judge .judgeWrapper .commentWrapper .commentTitle .matt {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 4px;
  left: 4px;
  z-index: -1;
  border: 2px solid #333;
  background-color: #57bebb;
}
@media only screen and (min-width: 992px) {
  #judge .judgeWrapper .commentWrapper .commentTitle .matt {
    top: 6px;
    left: 6px;
    border: 3px solid #333;
  }
}

/*=====  End of JUDGE  ======*/
/*=============================================
=            TARGET            =
=============================================*/
#target {
  position: relative;
  margin-top: 80px;
}
@media only screen and (min-width: 768px) {
  #target {
    margin-top: 120px;
  }
}
#target .sectionTitle {
  color: #57bebb;
}
#target .targetArea {
  background-color: rgb(234.0901287554, 246.9098712446, 246.5364806867);
  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%;
  -webkit-transform: translate(-50%, -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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: -20px;
  margin-right: -20px;
}
#target .targetWrapper .targetRow .targetCol {
  padding-left: 20px;
  padding-right: 20px;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  #target .targetWrapper .targetRow .targetCol {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
}
#target .targetWrapper .targetRow .targetBox {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding: 10px 30px 25px;
  margin-bottom: 20px;
  border: 3px solid #57bebb;
  background-color: #fdfdfd;
  position: relative;
}
@media only screen and (min-width: 768px) {
  #target .targetWrapper .targetRow .targetBox {
    border: 5px solid #57bebb;
  }
}
#target .targetWrapper .targetRow .targetBox > img {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
#target .targetWrapper .targetRow .targetBox .targetNum {
  width: 60px;
  content: "";
  position: absolute;
  top: 0%;
  left: 0%;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  #target .targetWrapper .targetRow .targetBox .targetNum {
    width: 100px;
  }
}
#target .targetWrapper .targetRow .targetBox .targetTitle {
  color: #57bebb;
  text-align: center;
  font-size: 2rem;
  font-weight: 900;
  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;
    font-size: 2.4rem;
  }
}
#target .targetWrapper .targetRow .targetBox .dscWrapper {
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  #target .targetWrapper .targetRow .targetBox .dscWrapper {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
#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: -webkit-fit-content;
  width: -moz-fit-content;
  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;
  -webkit-box-shadow: 5px 5px 0px #57bebb;
          box-shadow: 5px 5px 0px #57bebb;
}
@media only screen and (min-width: 768px) {
  #target .awardWrapper .awardTitle {
    font-size: 3.5rem;
  }
}
#target .awardWrapper .awardRow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
#target .awardWrapper .awardRow .awardCol {
  padding-left: 10px;
  padding-right: 10px;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 60%;
      -ms-flex: 0 0 60%;
          flex: 0 0 60%;
  max-width: 60%;
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px) {
  #target .awardWrapper .awardRow .awardCol {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 40%;
        -ms-flex: 0 0 40%;
            flex: 0 0 40%;
    max-width: 40%;
  }
}
#target .awardWrapper .awardRow .awardCol.winner {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 100%;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  max-width: 80%;
  text-align: center;
}
#target .awardWrapper .awardRow .awardCol.winner img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  #target .awardWrapper .awardRow .awardCol.winner img {
    max-width: 450px;
  }
}
#target .awardWrapper .awardRow .awardCol.second {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 60%;
      -ms-flex: 0 0 60%;
          flex: 0 0 60%;
  max-width: 60%;
}
@media only screen and (min-width: 768px) {
  #target .awardWrapper .awardRow .awardCol.second {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 45%;
        -ms-flex: 0 0 45%;
            flex: 0 0 45%;
    max-width: 45%;
  }
}
@media only screen and (min-width: 768px) {
  #target .awardWrapper .awardRow .awardCol img {
    width: 90%;
  }
}
#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: 3px solid #57bebb;
  position: relative;
}
@media only screen and (min-width: 768px) {
  #target .criteriaWrapper {
    border: 5px solid #57bebb;
  }
}
#target .criteriaWrapper .pencil {
  content: "";
  position: absolute;
  right: 0;
  left: auto;
  -webkit-transform: translate(30%, -30%);
          transform: translate(30%, -30%);
  z-index: 1;
  width: 110px;
}
@media only screen and (min-width: 768px) {
  #target .criteriaWrapper .pencil {
    width: auto;
  }
}
#target .criteriaWrapper .triangle {
  content: "";
  position: absolute;
  top: auto;
  left: auto;
  right: -5px;
  bottom: -5px;
  z-index: 1;
  width: 60px;
}
@media only screen and (min-width: 768px) {
  #target .criteriaWrapper .triangle {
    width: auto;
  }
}
#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: 900;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  #target .criteriaWrapper .inner dl dt {
    font-size: 2.4rem;
  }
}
#target .criteriaWrapper .inner dl dt .points {
  color: #57bebb;
  display: inline-block;
  margin-left: 10px;
  border-bottom: 2px solid #57bebb;
  position: relative;
  top: -2px;
}
@media only screen and (min-width: 768px) {
  #target .criteriaWrapper .inner dl dt .points {
    border-bottom: 3px solid #57bebb;
    font-size: 2rem;
  }
}
#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: #57bebb;
  font-size: 2rem;
  font-weight: 900;
  background-color: rgba(87, 190, 187, 0.18);
  margin-top: 20px;
  margin-bottom: 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: 130px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 768px) {
  #target .arrow {
    width: auto;
    margin-top: -30px;
  }
}
#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: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
#target .hapicWrapper .dscWrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  max-width: 420px;
}
#target .hapicWrapper .dscWrapper dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  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 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 60px;
      -ms-flex: 0 0 60px;
          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 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          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;
}

/*=====  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 {
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    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 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 200px;
      -ms-flex: 0 0 200px;
          flex: 0 0 200px;
  text-align: center;
  font-weight: 400;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: 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: -webkit-fit-content;
  width: -moz-fit-content;
  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: -webkit-fit-content;
  width: -moz-fit-content;
  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: -webkit-fit-content;
  width: -moz-fit-content;
  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%;
  -webkit-transform: translate(0%, -50%);
          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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          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%;
  -webkit-transform: translateX(-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;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    max-width: none;
  }
}
@media only screen and (min-width: 1200px) {
  .fixedBtnWrapper {
    width: 400px;
  }
}
.fixedBtnWrapper img {
  width: 100%;
}
.fixedBtnWrapper a {
  display: block;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.fixedBtnWrapper a:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.fixedBtnWrapper a.no-link {
  pointer-events: none;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}
@media only screen and (min-width: 768px) {
  .fixedBtnWrapper picture {
    -webkit-filter: drop-shadow(0px 0px 20px rgba(51, 51, 51, 0.05));
            filter: drop-shadow(0px 0px 20px rgba(51, 51, 51, 0.05));
  }
}

/*=====  End of FIXEDBTN  ======*/
#wrapper-footer {
  background-color: rgb(234.0901287554, 246.9098712446, 246.5364806867);
}
#wrapper-footer .site-footer {
  padding-bottom: 60px;
}/*# sourceMappingURL=custom.css.map */