
@import url('https://fonts.googleapis.com/css?family=Muli:200,300,400');

body {
  background: #ffffff;
  font-family: Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-style: normal;
  font-weight: 300;
  overflow-x: hidden;
  color: #333333;
}

html, body {
  width: 100%;
  height: 100%;
}



/*---------------------------------------
  Typorgraphy
-----------------------------------------*/

h1,h2,h3,h4,h5,h6 {
  font-style: normal;
  font-weight: 200;
  letter-spacing: 0px;
}

h1 {
  font-size: 50px;
  line-height: normal;
}

h2 {
  font-size: 56px;
  line-height: 52px;
  margin-top: 0px;
  font-family: 'Oswald', sans-serif;
  font-style: italic;
}

h4 {
  font-size: 18px;
  font-weight: normal;
}

p {
    font-size: 20px;
    font-weight: 300;
    line-height: 32px;
    letter-spacing: 0.5px;
}

dd {
    margin-bottom: 16px;
}

strong, span {
  font-weight: normal;
}

.oswald {font-family: 'Oswald', sans-serif;}


/*---------------------------------------
  Buttons
-----------------------------------------*/

.section-btn {
  background: #d7b065;
  border: none;
  border-radius: 50px;
  color: #ffffff;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 1.6px;
  padding: 14px 32px 18px 32px;
  margin-top: 32px;
  -webkit-transition: all ease-in-out 0.4s;
  transition: all ease-in-out 0.4s;
}

.section-btn:focus,
.section-btn:hover {
  background: #333333;
  color: #ffffff;
}



/*---------------------------------------
    General
-----------------------------------------*/

html{
  -webkit-font-smoothing: antialiased;
}
img {
  width: 100%;
}
a {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none !important;
}

a:hover, a:active, a:focus {
  color: #333333;
  outline: none;
}

a img {
    transition: 0.3s;
}
a img:hover {
    opacity: 0.5;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.section-title {
  margin: 0;
  padding-bottom: 32px;
  text-align: center;
}

#about {
  position: relative;
  padding-bottom: 80px;
}
#terms,#entryworks {
  padding-top: 80px;
  padding-bottom: 80px;
}
#privacy {
    padding: 120px 15px;
}

br.sp {display:none;}


/*---------------------------------------
  Pre loader section
-----------------------------------------*/

.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  background: none repeat scroll 0 0 #ffffff;
}

.spinner {
  border: 1px solid transparent;
  border-radius: 5px;
  position: relative;
}

.spinner:before {
  content: '';
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 65px;
  height: 65px;
  margin-top: -10px;
  margin-left: -10px;
  border-radius: 50%;
  border: 1px solid #000000;
  border-top-color: #f9f9f9;
  animation: spinner .9s linear infinite;
}

@-webkit-@keyframes spinner {
  to {transform: rotate(360deg);}
}

@keyframes spinner {
  to {transform: rotate(360deg);}
}



/*---------------------------------------
  Navigation section
-----------------------------------------*/
.navbar .container {
    width: 100%;
}

.custom-navbar {
  border: none;
  margin-bottom: 0;
  background-color: #ffffff;
  padding-top: 10px;
}

.custom-navbar .navbar-brand {
  color: #444;
  font-weight: normal;
  font-size: 20px;
  padding: 10px 15px;
}

.custom-navbar .nav li a {
  font-size: 14px;
  font-weight: normal;
  color: #333333;
  letter-spacing: 1px;
  -webkit-transition: all ease-in-out 0.4s;
  transition: all ease-in-out 0.4s;
  padding: 0;
  margin: 15px;
}

.custom-navbar .navbar-nav > li > a:hover,
.custom-navbar .navbar-nav > li > a:focus {
  background-color: transparent;
  color: #454545;
}

.custom-navbar .navbar-nav li a:after {
  content: "";
  position: absolute;
  display: block;
  width: 0px;
  height: 2px;
  margin: auto;
  background: transparent;
  transition: width .3s ease, background-color .3s ease;
}

.custom-navbar .navbar-nav li a:hover:after,
.custom-navbar .nav li.active > a:after {
  background: #000000;
  color: #ffffff;
  width: 100%;
}

.custom-navbar .nav li.active > a {
  background-color: transparent;
  color: #454545;
}

.custom-navbar .navbar-toggle {
  border: none;
  padding-top: 12px;
}

.custom-navbar .navbar-toggle {
  background-color: transparent;
}

.custom-navbar .navbar-toggle .icon-bar {
  background: #000000;
  border-color: transparent;
}
.navbar-brand>img {
    display: block;
    width: auto;
    height: 30px;
}


@media(min-width:768px) {
    .custom-navbar {
      border-bottom: 0;
      background: 0 0;
    }
    .custom-navbar.top-nav-collapse {
      background: #ffffff;
      box-shadow:0 0px 10px rgb(0 0 0 / 8%);
      padding: 10px 0;
    }

}



/*---------------------------------------
  Home section
-----------------------------------------*/

#home {
  display: -webkit-box;
  display: -webkit-flex;
   display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
   align-items: center;
  height: 100vh;
  position: relative;
  top: -70px;
  min-height: 900px;
}
#home .container { width: 100%;}



.swiper-wrapper .swiper-slide {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 100vh;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    min-height: 900px;
}
.txt-area {
    position: absolute;
    z-index: 999;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
    width: 100%;
}

.leadcopy {
    margin-bottom: 4vh;
}

.dates{
  font-size: 44px;
  margin-top: 12vh;
  color: #ffffff;
  font-weight: bold;
}
.frying-drone {
    position: absolute;
    width: 220px;
    right: 10%;
    top: 30px;
    transform: rotate(-11deg);
}
.square-lt {
    position: absolute;
    z-index: 1;
    left: 0px;
    top: 0;
    width: 30%;
    opacity: 1;
}
.square-rb {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    width: 50%;
}

.btn_entry a {
    background: yellow;
    padding: 32px 10px;
    display: block;
    width: 400px;
    margin: 40px auto;
    font-family: 'Oswald', sans-serif;
    font-style: italic;
    font-size: 44px;
    color: #000;
    position:relative;
    z-index: 1;
    text-align:center;
}
.btn_entry a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #333;
  transform-origin: 50% 100%;
  transform: scaleY(0);
  transition: transform ease .3s;
}
.btn_entry a:hover {
  color: #fff;
}
.btn_entry a:hover::before {
  transform-origin: 50% 0%;
  transform: scaleY(1);
}
.fin {
    font-size: 32px;
    line-height: normal;
    color: #333;
    background: yellow;
    width:-moz-fit-content;
    max-width: 600px;
    /*max-width: min-content;*/
    width: fit-content;
    margin: 12vh auto 0;
    padding: 8px 40px;
}


/*---------------------------------------
  About section
-----------------------------------------*/
#about {background-image: url(../images/wave.png);
  background-repeat: no-repeat;
  background-position: center bottom;

  }

.bodycopy {
  z-index:1;
}
.bodycopy-ttl {
  width: 80%;
  margin: 0px auto 40px;
}
.story {
    font-weight: bold;
    line-height: 32px;
    letter-spacing: 1px;
    margin-bottom: 80px;
    text-align: center;
    font-size: 18px;
}

.question {
  font-weight: bold;
  font-size: 32px;
  color: #014975;
  font-style: italic;
  text-align: center;
  display: block;
  line-height: 1.4em;
  margin-top: 20px;
  letter-spacing: 0;
}

.pano {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}
.pano img {
  width: 100vw;
  height: 400px;
  object-fit: cover;
}

#terms,#entryworks {background-color: #CAE3EC;}
#terms .container,#entryworks .container {
  background-color: #ffffff;
  padding: 80px;
}
.terms-item {
    margin-bottom: 80px;
}
.item-ttl {
    border-bottom: 1px solid #333333;
    padding: 10px;
    margin-bottom: 24px;
}
.item-ttl img {
    width: 28%;
    height: auto;
}
.covid {background: #feff54; padding: 10px 40px; border: 2px solid;}
.covid .item-ttl { font-weight: bold; font-size: 2em; text-align: center; padding: 10px 0;}
.safety {background: #ffff504f;
    padding: 40px 80px;
    width: 90%;
    margin: 40px auto;}

.safety h4 {
  text-align: center;
  margin-bottom: 20px;
}
.safety h4 img {
    height: auto;
    width: 320px;
}

.list {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.8em
}
.terms-list {
    font-weight: normal;
}
ul.howto {
    list-style-type: decimal;
    padding-inline-start: 0;
    background: #f8f8f8;
    padding: 20px 40px 20px 60px;
    color: #024b76;
    border-left: 8px solid;
}
.howto li {
    padding: 14px 0;
    font-size: 16px;
    font-weight: bold;
    border-bottom: 1px solid #eeeeee;
}
.howto p.notes {
    margin-top: 4px;
}


.judge-list {
    padding-inline-start: 0;
    list-style-type:none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.judge-list li {
    width: 40%;
    margin-bottom: 80px;
}
.judge-img {
    margin-bottom: 12px;
}
.katagaki {
    font-size: 0.8em;
    margin-bottom: 4px;
    line-height: 1.3em
}
.judge-name {
    font-size: 1.3em;
}
.judge-profile {
    font-size: 0.8em;
    line-height: 1.5em;
}
.judge-web {
    font-size: 0.8em;
    display: inline-block;
    margin-right: 16px;
}

p.notes {
  font-size: 13px;
  text-align: left;
  line-height: 20px;
  color: #024b76;
  margin-top: 24px;
}

.btn_allmanual a {
    background: yellow;
    padding: 24px 10px;
    display: block;
    width: 400px;
    margin: 40px auto 24px;
    font-style: italic;
    font-size: 24px;
    color: #000;
    position:relative;
    z-index: 1;
    text-align:center;
    font-weight: bold;
    line-height: normal;
}
.btn_allmanual a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #333;
  transform-origin: 50% 100%;
  transform: scaleY(0);
  transition: transform ease .3s;
}
.btn_allmanual a:hover {
  color: #fff;
}
.btn_allmanual a:hover::before {
  transform-origin: 50% 0%;
  transform: scaleY(1);
}
p.notes.notes_allmanual {
    width: 80%;
    margin: 0px auto 40px;
}


.places ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
padding-inline-start: 0px;
}

.places li {
    list-style-type: none;
    border: 1px solid;
    padding: 16px 20px;
    width: 48%;
    margin-bottom: 40px;
    position: relative;
    text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column;
}
p.number {
    font-family: serif;
    position: absolute;
    top: 0;
    left: 0;
    background: #333333;
    padding: 10px 16px;
    color: #ffffff;
    font-weight: bold;
    font-size: 24px;
}
.places h4 {
    font-size: 30px;
    font-weight: bold;
}
p.address {
    font-size: 16px;
}
.img-wrap {
    margin-bottom: 12px;
}
  .places .img-wrap {height: 250px;}
  .img-wrap img { height: 250px; object-fit: cover;}

p.description {
    font-size: 16px;
    text-align: left;
}
.btn_manual {
    text-align:right;
    margin-top: auto;
}
.btn_manual a {
    width: fit-content;
    margin: 12px 0 0;
    font-size: 16px;
    color: #333;
    position: relative;
  display: inline-block;
  transition: .3s;
    z-index: 1;
    font-style: italic;
    font-weight: bold;
}
.btn_manual a::after {
    content: "";
    width: 50%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #333333;
    transition: .3s;
}
.btn_manual a:hover::after {
    width: 100%;
}

.prides-list {
    list-style-type: none;
    padding-inline-start: 0;
}
.prides-list li {
  font-size: 32px;
}
.prides-list li span{
  font-size: 16px;
  margin-left: 10px;
}
.sub-prizes {
    background: #eeeeee;
    padding: 40px;
    margin-top: 40px;
}
.sub-prizes h4 {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    background: #034b75;
    color: #fff;
    padding: 10px 40px;
    border-radius: 50px;
    width: fit-content;
    margin: 0 auto 20px;
}

ul.list.sub-prizes-list {
    list-style-type: none;
    padding-inline-start: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-top: 40px;
}
ul.list.sub-prizes-list li {
    width: calc(100%/3.2);
    margin-bottom: 40px;
    text-align: center;
}
ul.list.sub-prizes-list li span{
    font-size: 16px;
}
ul.list.sub-prizes-list li img {
    background: #ffffff;
}

/*バスツアー*/
#tour {
    padding-top: 80px;
    padding-bottom: 80px;
}
#tour .container {
    padding: 80px;
}
#tour h3 {
    font-weight: bold;
    background: linear-gradient(transparent 50%, #feff00 0%);
    padding: 0 16px 8px;
    width: fit-content;
    text-align: center;
    margin: 0 auto 24px;
}
#tour dl {
    font-size: 18px;
    margin-top: 40px;
}
#tour dt::before {
    content: "■";
}
#tour dd {
    line-height: 28px;
    margin-bottom: 32px;
}
ul.tour-content {
    list-style-type: none;
    padding-inline-start: 20px;
}
li.tour-day {
    border-bottom: 1px solid;
    margin: 20px 0;
    width: 100%;
    font-weight: bold;
}
#tour p.notes {
    margin-top: 0px;
}
li.tour-film {
    color: #9c4a67;
    font-weight: bold;
    margin-bottom: 4px;
}
a.tour-film-link {
    font-size: 0.8em;
    color: #9c4b67;
    text-decoration: underline;
    display: inline-block;
    border-bottom: 1px solid;
    line-height: 20px;
}
a.tour-film-link:hover {
  opacity: .7;
}
.tour-guest ul {
    list-style-type: none;
    padding-inline-start: 20px;
}
.tour-guest li {
    font-weight: bold;
    margin-bottom: 12px;
}
.tour-host {
  font-weight: bold;
}

/*クーポン*/
#goopass {
    margin-top: 80px;
}
.benefits_wrap {
    background: #eeeeee;
    width: 80%;
    padding: 40px 80px;
    margin: 0 auto 80px;
}
.benefits_wrap h3 {
    font-weight: bold;
    font-size: 26px;
    margin-bottom: 32px;
    line-height: 1.3em;
    text-align: center;
}
.benefits_wrap h3 span {
    font-size: 24px;
    display: block;
    margin: 0 auto 16px;
    background: #feff00;
    width: fit-content;
    padding: 8px 24px;
    border-radius: 40px;
    line-height: normal;
    font-weight:bold;
}
.benefits_wrap p {
    font-size: 16px;
    line-height: 24px;
    margin: 0px 0 40px;
}
.benefits_wrap img {
    margin-bottom: 20px;
}
.goopass_logo {
    width: 240px;
    background: #ffffff;
}


#partners {background:#CAE3EC; padding: 80px 0;}
.cooperate{margin-bottom: 0; padding: 40px 0 0;}
.cooperate ul {padding-inline-start: 0; list-style-type: none; display: flex; flex-wrap: wrap; justify-content: center;}
.cooperate ul li {margin: 24px 40px; background: #fff;}
.cooperate h3 {width: fit-content; margin: 24px auto;}
.cooperate h3 img {width: auto; height: 40px;}
.p_sponsor img { width: 450px;}
.sponsor img { width: 300px;}
ul.sponsor.sponsorA img { width: 225px;}

#info {text-align: center;padding: 80px 0;}
#info h3 {font-weight: normal; font-size: 18px; border-bottom: 1px solid; width: 100px; padding-bottom: 8px; margin: 0 auto 10px;}
.info-item { margin-bottom: 80px;}
.info-item img { width: 40%; margin: 8px 0;}
.info-item.info-item_m img { width: 24%;}
.company-name {font-size: 16px;color: #777;}
.info02 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    list-style-type: none;
    padding-inline-start: 0;
    align-items: center;
}
.info02 li {
    width: 36%;
}
.info02 img {
    width: 70%;
    margin: 8px 0;
}


#footer {  background-color: #014975; padding: 40px 80px;}
#footer .container { width: 100%;}
#footer a { color: #fff;}
.foot-logo { height: 56px; width: auto;}
.foot-menu {font-size: 16px;}
.copy {margin-top:40px;}
.copy p{text-align:center; color:#fff; font-size: 16px;}
.foot-fb {height:400px;}
.foot-fb iframe {height: 400px!important;}

/*entry*/
section#entry {
    padding: 80px 0;
}

.entry-form {width:100%;height:2360px;overflow:hidden;     border: 1px solid #eeeeee;
    box-shadow: 2px 2px 10px #eeeeee;}

/*contact*/
#contact {
    margin: 120px 0 0;
}
.contact-form{width:100%;height:1200px;overflow:hidden;}
iframe {border: 0;}

/*応募作品一覧*/
#entrylist h1 {
    margin-top: 120px;
    margin-bottom: 40px;
}
.archivelist {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style-type: none;
    padding-inline-start: 0;
}
.archivelist li {
    width: 30%;
    margin-bottom: 120px;
}
.movie {
    position: relative;
    margin-bottom: 8px;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
p.entrynumber {
    line-height: 18px;
    display: inline-block;
    margin: 9px 8px 0 0;
    font-size: 18px;
    vertical-align: top;
}
.title {
    font-weight: bold;
    display: inline-block;
    font-size: 18px;
    width: 90%;
}
.creator {
    font-size: 17px;
    font-weight: bold;
    color: #767676;
}
.describe {
    font-size: 16px;
    line-height: 24px;
    color: #767676;
}

.btn_result a {font-size: 32px; margin-top: 80px; padding: 20px 30px; width: fit-content; font-weight: bold;}
#entryworks .archivelist li { margin-bottom: 64px;}
#entryworks .archivelist li:last-child {margin-bottom: 0;}
#entryworks .title {font-weight: bold; display: inline-block; font-size: 18px; text-align: center; width: 100%;}
.archivelist li.grandprize {width: 100%;}
.archivelist li.secondprize {width: 46%;}
.archivelist li.specialaward {width: 46%;}
.archivelist h4 {font-weight: bold; text-align: center; color: #014975;}
.archivelist .grandprize h4 {font-size: 40px;}
.archivelist .secondprize h4 {font-size: 28px;}
.archivelist .specialaward h4 {font-size: 24px;}
.name_winner {font-size:16px;}
.ceremony dl {font-size:18px;}
.ceremony dt {margin-bottom: 4px;}
.ceremony dt::before {content: "■"; margin-right: 4px;}



/*---------------------------------------
  Social icon
-----------------------------------------*/

.social-icon {
  position: relative;
  padding: 0;
  margin: 24px 0;
}

.social-icon li {
  display: inline-block;
  list-style: none;
}

.social-icon li a {
  cursor: pointer;
  font-size: 32px;
  text-decoration: none;
  transition: all 0.4s ease-in-out;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  vertical-align: middle;
  position: relative;
  margin: 0 6px 10px 6px;
  background: #ffffff;
  color: #333333!important;
  border-radius: 100%;
  padding: 1px;
}

.social-icon li a:hover {
  background: #d7b065;
  transform: scale(1.1);
}

.social-icon li.line a{
  display: block;
  padding: 2px 2px 3px;
}



/*---------------------------------------
  Mobile Responsive styles
-----------------------------------------*/



@media (min-width: 768px) and (max-width: 1024px) {
  .container { width: 90%;}
}
@media (min-width: 768px) and (max-width: 980px) {
.custom-navbar .navbar-brand {
    padding: 14px 15px;
}
.navbar-brand>img {
    height: 22px;
}
}
@media (min-width: 667px) and (max-width: 767px) {

}

@media (min-width: 568px) and (max-width: 665px) {

}

@media (max-width: 1024px) {
  .dates {font-size: 40px; line-height: 48px;}
  .question { font-size: 30px; line-height: 1.5em; letter-spacing: 0;}
  #terms .container,  #entryworks .container {padding: 80px 40px;}
    .places .img-wrap {height: 200px;}
  .img-wrap img { height: 200px;}
  .entry-form {  height: 2500px;}
  .benefits_wrap { width: 100%;}
  .archivelist li { width: 47%;}
}

@media (max-width: 980px) {
 h1 {font-size: 33px;}
 .safety { padding: 40px;}
 .square-lt {width: 50%;}
 .square-rb {width: 80%;}
 #tour .container {
     padding: 20px;
 }

}


@media (max-width: 768px) {
br.sp {display:block;}

  h1 {
    font-size: 30px;
    line-height: normal;
  }
  p {
    font-size: 16px;}


  .custom-navbar {
    background-color: unset;
    padding-top: 0px;
    /*padding-bottom: 5px;*/
  }
  .custom-navbar.top-nav-collapse {
    background: #ffffff;
    box-shadow:0 40px 100px rgba(0,0,0,.2);
  }

  .custom-navbar .nav {
    padding-bottom: 10px;
  }

  .custom-navbar .nav li a {
    display: inline-block;
    margin-bottom: 5px;
  }

  .navbar-brand>img {
      display: block;
      width: auto;
      height: 30px;
  }
.txt-area {top:54%;}
  .leadcopy {
    width: 72%;
    margin: 0 auto 120px;
    float: none;
}
.dates {
    font-size: 32px;
    margin-top: 80px;
}
  .story {font-size:16px; text-align: left; line-height: 28px;}
  .question {
    text-align: left;
    font-size: 1.8em;
    line-height: 1.3em;
  }
  #terms .container,  #entryworks .container {
      padding: 64px 40px;
      width: 96%;
  }
  .item-ttl img {
    width: 40%;
    height: auto;
}
.safety {
    width: 100%;
}
  .places ul {padding-inline-start: 0;}
  .places li {width: 100%;}

  ul.list.sub-prizes-list li {width: calc(100%/2.2);}

  .benefits_wrap {padding: 40px 20px;}

  p.company-name {
      font-size: 24px;
  }

  #footer {padding: 40px 10px;}
  .foot-logo {
    height: auto;
    width: 100%;
}
  #footer p, .social-icon {text-align:center;}

  #entrylist {padding: 0 5%;}
  .archivelist li,#entryworks .archivelist li {width: 100%;}
  .archivelist li.secondprize {width: 100%;}
  .archivelist li.specialaward {width: 100%;}

}


@media (max-width: 580px) {
  .custom-navbar .navbar-brand {
      padding: 18px 15px;
  }
    #home { height: 123vh; top: -12vh;}
    .txt-area { top: 50%;}
  .leadcopy {  width: 92%;  margin: -6vh auto 5vh; }
  .dates {  margin-top: 28vw;}

  h2 {font-size: 48px;}
  .navbar-brand>img {
      display: block;
      width: auto;
      height: 4.6vw;
  }
  .dates { font-size: 24px; margin-top: 16vw;}
  .square-lt {width: 80%;}
  .square-rb {width: 100%;}
  .btn_entry a {
    background: yellow;
    padding: 20px 10px;
    display: block;
    width: 80%;
    margin: 20px auto;
    font-family: 'Oswald', sans-serif;
    font-style: italic;
    font-size: 44px;
    color: #000;
    position: relative;
    z-index: 1;
}
  .fin {
    font-size: 20px;
    padding: 8px 16px;
    line-height: 24px;
  }
  .btn_result a {font-size: 28px; margin-top:40px;}
  .bodycopy-ttl {width: 90%;}
  .story {text-align: left;}
  .question {font-size: 26px; text-align: left;}
  .pano img {height: 260px;}
  #terms .container,  #entryworks .container {padding: 40px 20px;}
  .terms-wrap {
      padding-right: 10px;
      padding-left: 10px;
  }
  .item-ttl img {width: 260px;}
.covid { padding: 10px 20px;}
  .list {font-size: 16px; padding-inline-start: 20px;}

  .prides-list {
      list-style-type: none;
      padding-inline-start: 0;
      line-height: 3em;
  }
    ul.list.sub-prizes-list li {width: calc(100%/1);}
  .safety {width: 100%; padding: 40px 20px;}
  .safety h4 img {width: 100%;}
  .btn_allmanual a { width: 100%;}
  .judge-list {padding-inline-start: 0;}
  .judge-list li {
      width: 100%;
  }
  .p_sponsor img {
    width: 100%;
}
  .entry-form {  height: 2640px;}
  .benefits_wrap h3 {font-size: 20px;}
  .foot-logo {height: auto; width: 100%;}
  .info-item img {width: 80%;}
  .info02 li {width: 70%;}
  p.company-name {font-size: 16px;}

  #contact {margin: 40px 0 0;}
  .contact-form{width:100%;height:1000px;overflow:hidden;}

}

@media (max-width: 441px) {
  .places li {padding: 56px 20px 16px;}
  .title {width: 88%;}
}

@media (max-width: 357px) {

  h1 {
    font-size: 28px;
  }
  #home { height: 125vh;}
  .leadcopy {
      margin: 6vh auto 5vh;
  }
  .dates {
      font-size: 24px;
      line-height: 30px;
      margin-top: 30vw;
  }
  .entry-form {  height: 2740px;}
}
