@charset "utf-8";
/* CSS Document */

#adminBox, .acms-admin-box,
.tss_comprehensiveHead,
.tss_footer{
  position: relative;
  z-index: 100;
}

.zkp_body{
  position: relative;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  padding: 0 16px 28px;
}
.zkp_bglayer{
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
}
.zkp_bg{
  position: absolute;
  width: 1920px;
  height: 1080px;
  left: calc(50% - 960px);
  top: 0;
}
.zkp_item{
  position: absolute;
  aspect-ratio: 16/9;
}
.zkp_item:nth-of-type(1){
  width: 540px;
  left: calc(50% - 960px);
  top: 60px;
}

.zkp_item:nth-of-type(2){
  width: 410px;
  right: calc(50% - 780px);
  top: 80px;
}
.zkp_item:nth-of-type(3){
  width: 420px;
  left: calc(50% - 816px);
  top: 480px;
}
.zkp_item:nth-of-type(4){
  width: 424px;
  right: calc(50% - 760px);
  top: 490px;
}

.zkp_item img{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
}
.zkp_item img:nth-of-type(1){animation: firstimage 32s linear infinite;}
.zkp_item img:nth-of-type(2){animation: secondimage 32s linear infinite;}
.zkp_item img:nth-of-type(3){animation: thirdimage 32s linear infinite;}
@keyframes firstimage{
  0%{opacity: 0; transform: scale(1);}
  6.66%{opacity: 1;}
  21.21%{opacity: 1;}
  27.27%{opacity: 0; transform: scale(1.1);}
  100%{opacity: 0;}
}
@keyframes secondimage{
  0%{opacity: 0;}
  33.33%{opacity: 0; transform: scale(1);}
  39.39%{opacity: 1;}
  54.54%{opacity: 1;}
  60.6%{opacity: 0; transform: scale(1.1);}
  100%{opacity: 0;}
}
@keyframes thirdimage{
  0%{opacity: 0;}
  66.66%{opacity: 0; transform: scale(1);}
  72.72%{opacity: 1;}
  87.87%{opacity: 1;}
  93.93%{opacity: 0; transform: scale(1.1);}
  100%{opacity: 0;}
}



.zkp_insrtimg{
  margin: 24px 0;
  text-align: center;
}
.zkp_insrtimg img{max-width: 100%;}



.zkp_maincontents{
  position: relative;
  z-index: 80;
}
.zkp_top{
  margin: 0 auto 32px;
  padding: 24px 16px 0;
  text-align: center;
}
.zkp_top h1{
  width: 554px;
  max-width: 80%;
  margin: 0 auto 44px;
  aspect-ratio: 554/355;
}
.zkp_txt1{
  line-height: 2;
  margin-bottom: 20px;
  font-size: clamp(1.125rem, 0.689rem + 1.62vw, 1.5rem);/*18-24 430-800*/
  font-weight: bold;
}
.zkp_txt2{margin-bottom: 32px;}
.zkp_txt2 img{max-width: 75%;}
.zkp_txt3{
  line-height: 2.5;
  font-size: clamp(1rem, 0.564rem + 1.62vw, 1.375rem);/*16-22 430-800*/
  font-weight: bold;
}
.zkp_txt3 p{display: inline-block;}
.zkp_txt3 span{color: #E62C22;}

.zkp_exhwrap{padding:24px 0 56px;}
.zkp_exhwrap h2{
  text-align:center;
  font-weight:bold;
  color:#e72d31;
  font-size:1.375em;
}
.zkp_exhbox{
  width:96%;
  max-width:700px;
  margin:8px auto 0;
  aspect-ratio:16/9;
}
.zkp_exhbox iframe{
  width:100%;
  height:100%;
}
.zkp_exhbnr{
  max-width:450px;
  margin:auto;
  padding:40px 0 100px;
}
.zkp_exhbnr img{
  width:100%;
}


.zkp_application{margin-bottom: 32px;}
.zkp_application h2{
  position: relative;
  height: 80px;
  padding: 31px 0 8px;
  text-align: center;
  background: url(../img/il_ttlbg_app.svg) center bottom no-repeat;
  background-size: contain;
}
.zkp_appbg{
  max-width: 880px;
  margin: -1px auto 0;
  padding: 40px 16px;
  border-radius: 23px;
  background-color: #F5EAD3;
  border: 1px solid #E9DFC9;
}
.zkp_appbg dl{
  display: flex;
  flex-wrap: wrap;
  max-width: 760px;
  margin: 0 auto 48px;
  font-size: clamp(0.875rem, 0.73rem + 0.54vw, 1rem);/*14-16 430-800*/
  border-bottom: 3px solid #FFFFFF;
}
.zkp_appbg dl dt{
  width: 16.5%;
  line-height: 1.5;
  padding: 12px 0;
  font-weight: bold;
}
.zkp_appbg dl dd{
  width: 83.5%;
  line-height: 1.5;
  padding: 12px 0;
}
.zkp_appbg dl dt:nth-of-type(n+2),
.zkp_appbg dl dd:nth-of-type(n+2){border-top: 3px solid #FFFFFF;}
.zkp_appbg dd p{padding-bottom:1em;}
.zkp_txt4{
  width: 300px;
  height: 40px;
  margin: 0 auto 8px;
  padding-top: 12px;
  font-weight: bold;
  text-align: center;
  border-radius: 20px;
  background-color: #FFFFFF;
  border: 1px solid #B7B7B7;
  cursor: pointer;
}
.zkp_txt4.open{
  width: 80%;
  height: auto;
  border: none;
  cursor: default;
}
.zkp_txt4.open p{
  padding-top:1em ;}
.zkp_txt4-hide{
  display: none;
  line-height: 1.5;
  text-align: left;
  padding: 16px 1em 2em;
  margin-bottom: 1em;
}
.zkp_txt4-hide li{
  padding-left: 1em;
  text-indent: -1em;
  font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);/*12-14 430-800*/
  font-weight: normal;
}
.zkp_txt4-hide li.zkp_mgb{margin-bottom: 1.5em;}
.zkp_txt5{
  margin-bottom: 20px;
  text-align: center;
  font-size: clamp(0.875rem, 0.73rem + 0.54vw, 1rem);/*14-16 430-800*/
}
.zkp_appbg > a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 300px;
  height: 60px;
  margin: 0 auto 4px;
  text-decoration: none;
  font-weight: bold;
  color: #FFFFFF;
  border-radius: 30px;
  background-color: #E62C22;
}
.zkp_txt6{
  text-align: center;
  font-size: clamp(0.875rem, 0.73rem + 0.54vw, 1rem);/*14-16 430-800*/
  padding-top: 0.5em;
}



.zkp_award{
  margin-bottom: 48px;
  text-align: center;
}
.zkp_award p{
  line-height: 2;
  font-size: clamp(1rem, 0.419rem + 2.16vw, 1.5rem);/*16-24 430-800*/
  font-weight: bold;
  color: #E62C22;
}
.zkp_award p span{display: inline-block;}
.zkp_award img{max-width: 72%;}

p.zkp_award_note{
  font-size:1em;
  margin-bottom: 24px;
}


.zkp_judges{margin-bottom: 32px;}
.zkp_judges h2{
  position: relative;
  height: 80px;
  padding: 31px 0 8px;
  text-align: center;
  background: url(../img/il_ttlbg_judges.svg) center bottom no-repeat;
  background-size: contain;
}
.zkp_judgebg{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px 8px;
  max-width: 960px;
  margin: -1px auto 0;
  padding: 32px 24px;
  border-radius: 25px;
  background-color: #EFE1E6;
  border: 1px solid #D5C9CD;
}
.zkp_profileblock{
  max-width: 448px;
  padding: 16px;
  border-radius: 8px;
  background-color: #FFF9FB;
  border: 1px solid #FFFFFF;
}
.zkp_photoblock{
  display: flex;
  align-items: flex-end;
  gap: 10px;
  margin-bottom: 14px;
}
.zkp_photoblock > div:first-of-type{width: 60%;}
.zkp_photoblock > div:first-of-type img{width: 100%;}
.zkp_photoblock p{
  line-height: 1.25;
  margin-bottom: 4px;
  font-size: 0.875rem;
}
.zkp_photoblock h3{
  font-size: clamp(1.25rem, 0.378rem + 3.24vw, 2rem);/*20-32 430-800*/
  font-weight: bold;
}
.zkp_profiletxt p{
  line-height: 1.5;
  font-size: clamp(0.875rem, 0.73rem + 0.54vw, 1rem);/*14-16 430-800*/
}



.zkp_schedule{margin-bottom: 152px;}
.zkp_schedule h2{
  position: relative;
  height: 80px;
  padding: 31px 0 8px;
  text-align: center;
  background: url(../img/il_ttlbg_sch.svg) center bottom no-repeat;
  background-size: contain;
}
.zkp_schedulebg{
  max-width: 640px;
  margin: -1px auto 0;
  padding: 16px 32px 30px;
  border-radius: 25px;
  background-color: #F5EAD3;
  border: 1px solid #E9DFC9;
}
.zkp_schedulebg dl{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 384px;
  line-height: 2;
  margin: 0 auto 12px;
  font-size: clamp(0.875rem, 0.439rem + 1.62vw, 1.25rem);/*14-20 430-800*/
}
.zkp_schedulebg dl dt{width: 8em;}
.zkp_schedulebg dl dd{width: calc(100% - 8em);}
.zkp_schedulebg p{
  line-height: 2;
  text-align: center;
  font-size: clamp(0.875rem, 0.439rem + 1.62vw, 1.25rem);/*14-20 430-800*/
  font-weight: bold;
}
.zkp_schedulebg p span{display: inline-block;}



.zkp_bottom{
  line-height: 2;
  text-align: center;
  font-size: clamp(0.75rem, 0.459rem + 1.08vw, 1rem);/*12-16 430-800*/
}
.zkp_bottom h3{font-weight: bold;}
.zkp_bottom .slidein{
  position: absolute;
  right: calc(50% - 527px);
  bottom: -50px;
  opacity:0;
}
.zkp_bottom a{
  color:#000;
}

@media screen and (min-width:1201px){
  .zkp_insrtimg{
    display:none;
  }
}

@media screen and (min-width:801px){
  .zkp_exhbnr img:hover{opacity:0.5;}
}


@media screen and (max-width:1072px){
  .zkp_bottom img{
    right: 0;
    width: max(18vw, 64px);
  }
}
@media screen and (max-width:800px){
  .zkp_body{padding: 0 16px calc(17.5vw + 120px);}
  .zkp_txt4.open {width: 100%;}
  .zkp_exhbnr{padding:20px 0 10px;}
  .zkp_application h2{
    height: 10vw;
    padding: 3.875vw 0 1vw;
  }
  .zkp_application h2 img{height: 5.75vw;}
  .zkp_appbg dl dt{
    width: 100%;
    padding-bottom: 0;
  }
  .zkp_appbg dl dd{
    width: 100%;
    padding-top: 0;
  }
  .zkp_appbg dl dd:nth-of-type(n+2){border-top: none;}


  .zkp_judges h2{
    height: 10vw;
    padding: 3.875vw 0 1vw;
  }
  .zkp_judges h2 img{height: 5.75vw;}


  .zkp_schedule h2{
    height: 10vw;
    padding: 3.875vw 0 1vw;
  }
  .zkp_schedule h2 img{height: 5.75vw;}
  .zkp_bottom .slidein{bottom: -80px;}
}


.slidein {
    position: absolute;
    bottom:8px;
}
.slidein.slidein-up {
    bottom: 8px;
    opacity: 1;
    animation-duration: 0.75s;
    animation-name: bounceInUp;
}


@keyframes bounceInUp {
  0% {
      opacity: 0;
      -webkit-transform: translateY(2000px);
      -ms-transform: translateY(2000px);
      transform: translateY(2000px);
  }
  60% {
      opacity: 1;
      -webkit-transform: translateY(-30px);
      -ms-transform: translateY(-30px);
      transform: translateY(-30px);
  }
  80% {
      -webkit-transform: translateY(10px);
      -ms-transform: translateY(10px);
      transform: translateY(10px);
  }
  100% {
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0);
  }
}