.joinList__item--copy.pc {
  display: block
}

.sp {
  display: none
}

.ttl {
  margin-bottom: 4.8rem;
  color: #000;
  font-size: 30px;
  font-size: 3rem;
  font-weight: 700;
  text-align: center
}

.hl {
  color: #000;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center
}

.lede {
  line-height: 1.6
}

a.link-txt{
  color: #00b292;
  text-decoration: underline;
}

a.link-txt:hover{
  text-decoration: none;
}

.icon-arrow, .icon-arrow-black {
  backface-visibility: hidden;
  position: relative;
  top: -2px;
  width: 18px;
  height: 30px;
  right: -20px;
  display: inline-block;
  vertical-align: middle;
  overflow: hidden;
  cursor: pointer
}

.icon-arrow-nav, .icon-arrow-black-nav {
  backface-visibility: hidden;
  position: relative;
  top: -1px;
  width: 10px;
  height: 30px;
  right: -10px;
  display: inline-block;
  vertical-align: middle;
  overflow: hidden;
  cursor: pointer
}

.icon-arrow-nav:before {
  position: absolute;
  left: 50%;
  bottom: 50%;
  z-index: 1;
  display: block;
  width: 1px;
  height: 10px;
  background: #fff;
  content: "";
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.icon-arrow-black-nav:before {
  position: absolute;
  left: 50%;
  bottom: 50%;
  z-index: 1;
  display: block;
  width: 1px;
  height: 10px;
  background: #333;
  content: "";
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.icon-arrow-nav:after {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  display: block;
  width: 1px;
  height: 10px;
  background: #fff;
  content: "";
  -webkit-transform-origin: 100% 0%;
  -ms-transform-origin: 100% 0%;
  transform-origin: 100% 0%;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

.icon-arrow-black-nav:after {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  display: block;
  width: 1px;
  height: 10px;
  background: #333;
  content: "";
  -webkit-transform-origin: 100% 0%;
  -ms-transform-origin: 100% 0%;
  transform-origin: 100% 0%;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

.icon-arrow-black:before {
  position: absolute;
  left: 50%;
  bottom: 50%;
  z-index: 1;
  display: block;
  width: 2px;
  height: 12px;
  font-size: 1rem;
  background: #333;
  content: "";
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.icon-arrow-black:after {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  display: block;
  width: 2px;
  height: 12px;
  font-size: 1rem;
  background: #333;
  content: "";
  -webkit-transform-origin: 100% 0%;
  -ms-transform-origin: 100% 0%;
  transform-origin: 100% 0%;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

.icon-arrow:before {
  position: absolute;
  left: 50%;
  bottom: 50%;
  z-index: 1;
  display: block;
  width: 2px;
  height: 12px;
  font-size: 1rem;
  background: #fff;
  content: "";
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.icon-arrow:after {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  display: block;
  width: 2px;
  height: 12px;
  font-size: 1rem;
  background: #fff;
  content: "";
  -webkit-transform-origin: 100% 0%;
  -ms-transform-origin: 100% 0%;
  transform-origin: 100% 0%;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

.container {
  position: relative;
  margin: 0 auto;
  max-width: 1170px;
  z-index: 5
}

.btn-box {
  position: relative;
  width: 36%;
  margin: 0 auto;
  text-align: center;
  opacity: 1;
  line-height: 1.5
}

.btn-border.btn-or:hover {
  opacity: .7
}

.btn-box:before {
  position: absolute;
  right: 5%;
  bottom: 50%;
  z-index: 1;
  display: block;
  width: 2px;
  height: 10px;
  background: #fff;
  content: "";
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.btn-box:after {
  position: absolute;
  right: 5%;
  top: 50%;
  z-index: 1;
  display: block;
  width: 2px;
  height: 10px;
  background: #fff;
  content: "";
  -webkit-transform-origin: 100% 0%;
  -ms-transform-origin: 100% 0%;
  transform-origin: 100% 0%;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

#header, #g-nav {
  display: none
}

.hero .hero-ttl-sp {
  display: none
}

.hero .hero-sp {
  display: none
}

.hero .hero-area {
  height: 600px;
  display: flex;
  overflow: hidden;
  align-items: center;
}
.hero .hero-title {
  width: 48%;
  text-align: center;
}

.hero img.hero-ttl-pc {
  width: 55%;
}
.hero .hero-bg {
  height: 600px;
  background: url(../img/hero_bg.png) center center no-repeat;
  background-size: cover
}

.hero .hero-ttl-sp {
  display: none
}

.gnav {
  width: 100%;
  padding-left: 2%;
  background-color: #007ae2;
  box-sizing: border-box
}

.gnav .nav-title {
  padding-top: 2.1rem;
  line-height: 1.4;
  float: left
}
.gnav .nav-title a {
  font-size: 20px;
  font-size: 2.2rem;
  font-weight: 500;
  color: #fff
}
.gnav ul {
  display: flex;
  align-items: center;
  justify-content: flex-end
}
.gnav ul li {
  padding: 0 12px
}
.gnav ul li a {
  color: #fff;
  font-weight: 500
}
.gnav ul li:last-child {
  padding-right: 0
}
.gnav ul li:last-child a {
  padding: 42px 20px;
  background-color: #35b5ff;
  display: inline-block;
  color: #fff
}

.fixed {
  position: fixed;
  top: 0;
  z-index: 1000
}

.nav-drawer {
  display: none
}

.sponsor {
  padding: 4.8rem 0
}
.sponsor .sponsor-list {
  max-width: 1080px;
	margin: 0 auto;
  display: flex;
	flex-wrap: wrap;
  align-items: center;
  justify-content: space-around
}
.sponsor .sponsor-list li {
  width: 33%;
	text-align: center;
}
.sponsor .sponsor-list li:first-child img {
  max-width: 240px
}
.sponsor .sponsor-list li:nth-child(2) img {
  max-width: 205px
}
.sponsor .sponsor-list li:last-child img {
  max-width: 235px
}


.intro {
  padding: 8.0rem;
  border-top: solid 1px #88a2cc    
}

.intro .ttl {
  text-align: center;
  line-height: 1.4;
  margin-bottom: auto;
}

.intro .intro-subtitle {
  margin-top: 3.2rem;
  margin-bottom: 1.0rem;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center
}

.intro h3+p {
  margin-bottom: 3.0rem;
  text-align: center;
  font-weight: 500;
  line-height: 1.6;
}

.intro h3+p span {
  font-weight: 600;
  font-size: 2.2rem;
}

.intro .btn-box {
  position: relative;
  width: 36%;
  margin: 0 auto;
  line-height: 1.5;
  text-align: center;
  opacity: .999
}

.intro .btn-border.btn-or:hover {
  opacity: .7;
}

.intro .btn-box:hover:before, .intro .btn-box:hover:after {
  background: #fff
}

.intro .btn-box a {
  display: block;
  padding: 2.0rem;
  font-size: 2.2rem;
  font-weight: 600;
  color: #fff;
  background-color: #ff5b00;
}

.intro .btn-box a:hover {
  color: #fff
}



.result .ttl {
  padding: 8.0rem 4.0rem 3.0rem 0;
}

.result-box {
  margin-top: 4.0rem;
  overflow: hidden
}

#result .result-box-win .boxTitle-win-bg li:nth-child(2) {
  padding-top: 1.25em;
  padding-left: 0
}

#result .boxTitle-bg {
  display: flex;
  flex-direction: column
}
.wrap-result-upper {
  padding: 4.0rem 4.0rem 3.0rem 4.0rem;
  background-color: #e1f1ff
}

#result .wrap-result-upper {
  display: block;
  padding: 3.0rem 3.0rem 2.0rem 3.0rem
}
#result .result-title-2col {
  vertical-align: middle;
}
.result-pic {
  margin-right: 0.3rem;
  width: 50%
}
.result-emblem {
  display: inline-block
}

.result-emblem img {
  max-width: 200px;
  vertical-align: middle;
}
.wrap-result-under {
  padding: 3.0rem 4.0rem 4.0rem 4.0rem;
  overflow: hidden;
  background-color: #FDFCFA
}
#result .wrap-result-under {
  padding: 2.0rem 3.0rem 3.0rem 3.0rem
}
.result-title {
  margin-left: 2.0rem;
  display: inline-block;
  vertical-align: top
}
.warp-image {
  display: flex;
  margin-bottom: 1.5em;
  overflow: hidden
}
.result-slide {
  width: 50%;
  height: 384px
}
.result-slide iframe {
  width: 100%;
  height: 100%
}
.result-title h3 {
  padding: 1.0rem 0;
  font-size: 3.0rem;
  font-weight: 600;
  line-height: 1.5;
  color: #1068c1
}

.result-title h3 span {
  display: block;
  font-size: 2.0rem;
  font-weight: 400
}

.result-title .team-name, .result-title .school-name {
  font-size: 2.0rem;
  line-height: 1.6;
  color: #000;
}
.wrap-member {
  overflow: hidden;
  clear: both
}
.hl-member {
  width: 12%;
  padding: 1.0rem 2.0rem;
  border-radius: 20px;
  float: left;
  background-color: #1068c1;
  font-weight: 400;
  text-align: center;
  color: #fff
}
.result-member {
  width: 76%;
  overflow: hidden;
  float: right
}
.result-member li {
  padding-top: 0.3rem;
  width: 25%;
  float: left;
  font-weight: 400;
  line-height: 1.75
}

.group-photo {
  Width: 80%;
  padding-top: 3.0rem;
  margin:0 auto;
}

.theme {
  padding: 8.0rem 0;
  background: #e1f1ff;
  overflow: hidden
}
.theme__ttl{
  padding: 3.2rem;
  background-image: linear-gradient(90deg, #004db6, #1f98ff);
  color: #fff;
	font-size: 3.6rem;
	line-height: 1.5;
	text-align: center;
  letter-spacing: 1px;
}

.theme__box {
  padding: 8.0rem;
  background: #fff
}
.theme__box--lead {
  width: 80%;
  max-width: 840px;
  margin: 4.0rem auto 0;
  line-height: 1.75
}

.case {
  margin-top: 6.4rem;
  padding: 4.8rem;
  background-color: #fff;
}

.case h2 {
  margin-bottom: 4rem;
  color: #000;
  font-size: 3.2rem;
}

.case .lede{
  color: #333;
  font-size: 16px;
  text-align: center;
}

.case .lede.lede-lg {
  font-size: 2rem;
  font-weight: bold;
}

.case .lede.lede-lg span{
  text-decoration: underline;
}

.case h2.ttl span::before{
  left: 0;
}

.case h2.ttl span::after{
  right: 0;
}

.case--sttl{
  margin: 2rem 0;
  padding: 1.6rem;
  background-color: #007ae2;
  color: #fff;
  text-align: center;
}

.case--list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.case--list--item {
  width: 32%;
  padding: 2.4rem 1.6rem;
  margin-right: 0.85%;
  margin-bottom:.8rem;
  font-size: 1.8rem;
  font-weight: bold;
  background-color: #f2f8fc;
  box-sizing: border-box;
  line-height: 1.5;
  text-align: left;
  color: #333333
}
.case--list--item:nth-child(3n) {
  margin-right: 0
}
.data {
  margin-top: 6.4rem;
  padding: 4.8rem;
  background-color: #fff;
}
.data h2.ttl {
  margin-bottom: 4rem;
  color: #000;
  font-size: 3.2rem;
  font-weight: 600;
}
.data--list{
  width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between
}
.data--list--item {
  width: 100%;
  margin-top: 2rem;
  padding: 4rem;
	box-sizing: border-box;
	background-color: #f2f8fc;
	color: #333333;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.75;
	text-align: left;
}

.data--list--item__note{
  margin-top: .8rem;
  color: #666;
  font-size: 14px;
  font-weight: normal;
}

.data--list--item:first-child{
  margin-top: 0;
}

.event-info {
  
}
.event-info .container {
  padding: 8.0rem 0;
}

.event-info .ttl{
  margin-bottom: 16px;
}

.event-info .day{
  margin-top: 40px;
  margin-bottom: 40px;
  font-size: 48px;
  font-size: 4.8rem;
  font-weight: 700;
  text-align: center;
}

.event-info .day time{
  padding-bottom: 8px;
}

.event-info .lede{
  text-align: center;
}

.event-info .btn{
  width: 36%;
  margin: 0 auto;
  text-align: center;
  position: relative;
}

.event-info .container > .btn:before{
  position: absolute;
  right: 5%;
  bottom: 50%;
  z-index: 1;
  display: block;
  width: 2px;
  height: 10px;
  background: #fff;
  content: "";
  transform-origin: 100% 100%;
  transform: rotate(-45deg)
}

.event-info .container > .btn:after{
  position: absolute;
  right: 5%;
  top: 50%;
  z-index: 1;
  display: block;
  width: 2px;
  height: 10px;
  background: #fff;
  content: "";
  transform-origin: 100% 0%;
  transform: rotate(45deg)
}

.event-info .btn a{
  width: 100%;
  margin-top: 16px;
  display: block;
    padding: 2.0rem;
    font-size: 2.2rem;
    font-weight: 500;
    color: #fff;
    background-color: #006ebb;
  box-sizing: border-box;
}


.team {
  margin-top: 6.4rem;
  padding: 4.0rem;
  background: #fff
}

.team h2.ttl {
  margin-bottom: 2.4rem;
  color: #000;
  font-weight: 500
}

.team--list {
  border-left: 2px solid #1068c1;
  padding-left: 1.6rem
}

.team--list--item {
  margin-bottom: 0.8rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.5;
  padding-left: 2.0rem;
  text-indent: -2.0rem;
  line-height: 1.5;
  color: #1068c1;
  font-weight: 500
}

.team--list--item:last-child {
  margin-bottom: 0
}

.team .team-list {
  width: 100%;
  margin-top: 3.0rem
}

.team .team-list thead th {
  padding: 3.0rem 20px;
  background-color: #1068c1;
  font-size: 2.2rem;
  border-bottom: solid 2px #fff;
  color: #fff
}

.team .team-list tbody td {
  padding: 3.0rem 20px;
  border-bottom: solid 2px #fff;
  background-color: #e1f1ff;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5
}

.team .team-list thead th:first-child, .team .team-list tbody td:first-child {
  border-right: solid 2px #fff
}


.viewing {
  margin-top: -6.0rem;
  padding-top: 6.0rem;
  padding-bottom: 6.0rem
}

.viewing h2+p {
  margin-top: 1.5rem;
  text-align: center
}

.viewing time {
  margin-top: 3.0rem;
  font-size: 4.6rem;
  display: block;
  font-weight: bold;
  text-align: center
}

.viewing .lede {
  margin-top: 1.5rem;
  margin-bottom: 3.0rem;
  text-align: center
}

.viewing .btn-box {
  position: relative;
  width: 36%;
  margin: 0 auto;
  text-align: center;
  opacity: .999;
  background: #FF6583;
  line-height: 1.5;
  transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1)
}

.viewing .btn-box:hover {
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.4)
}

.viewing .btn-box a {
  padding: 1.071em;
  display: block;
  color: #fff;
  font-size: 2.2rem;
  font-weight: bold
}

.viewing .btn-box a:hover {
  background-color: transparent;
  box-shadow: none
}



/* qualifier
------------------------ */
.qualifier {
  padding-top: 8.0rem;
  padding-bottom: 6.4rem;
}
#qualifier p {
	margin-top: 1.875em;
    line-height: 1.5;
}

#qualifier table {
	margin-top: 1.875em;
}

#qualifier table th {
	width: 20%;
	padding: 1.25em;
	vertical-align: middle;
	text-align: left;
	line-height: 1.5;
	background-color: #3d67ac;
	border-right: 2px solid #3d67ac;
	border-top: 2px solid #3d67ac;
	color: #fff;
    font-size: 2rem;
}

#qualifier table th:first-child {
	border-left: 2px solid #3d67ac;
	border-right: 2px solid #fff;
}

#qualifier table td {
	vertical-align: middle;
	padding: 1.25em;
	line-height: 1.5;
	border: 2px solid #3d67ac;
	background-color: #fff;
    font-size: 1.8rem;
}


#qualifier table thead tr th:last-child {
	border-right: 2px solid #3d67ac;
}

.join {
  padding-top: 8.0rem;
  padding-bottom: 6.4rem;
}

.flow {
  padding: 8.0rem 0;
  background: #e1f1ff;
  overflow: hidden;
}

.flow ul.join__list {
    margin-bottom: 4.2rem;
}

.join__list--item {
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    position: relative;
    padding: 4.8rem 3.2rem 3.2rem;
    background-image: linear-gradient(90deg, #004db6, #1f98ff);
    box-sizing: border-box;
    color: #fff;
    text-align: center;
    border-bottom: 2px solid #fff;
}
.join__list--item::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #fff;
    z-index: 10;
}
.join__list--item:last-child::before {
  content: none
}
.join__list--item--lv3 {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.5
}
.joinList__item {
  margin-bottom: .8rem;
}
.joinList__item--copy {
  line-height: 1.5;
  text-align: center;
}
@media print {
  .joinList__item--copy {
    text-align: center;
  }
}
.joinList__item--copy strong {
  color: yellow;
  text-decoration: underline;
}

.joinList__item--copy a {
  color: #FFFFFF;
  font-weight: bold;
}

.joinList__item--copy a:hover {
  color: #FFFFFF;
  text-decoration: none;
}

.join__list--item--day li{
  margin-top: .8rem;
  font-size: 1.8rem;
  font-weight: bold;
}

.join__list--item--day li.mt{
  margin-top: 1.6rem;
}

.joinList__item--data {
  display: inline-block;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5
}
.joinList__item:nth-child(2) {
  margin: 0 1.6rem .8rem 1.6rem
}
.joinList__item:last-child {
  margin-left: auto
}
.joinListOnly {

}
.joinListOnly__item--copy {
  line-height: 1.5
}
.joinListOnly__item--data {
  font-size: 2.4rem;
  font-weight: bold;
  color: #FF6583
}
.joinList__item--link{
  margin-top: 1.6rem;
}
.joinList__item--link a{
  padding: .8rem 1.6rem;
  background: #fff;
  display: inline-block;
  color: #007ae2;
  font-weight: bold;
  line-height: 1.25;
}
.joinList__item--link a.nolink{
  pointer-events: none;
  opacity: .75;
}
.join .btn-box a {
  display: block;
  padding: 2.0rem;
  font-size: 2.2rem;
  font-weight: 600;
  color: #fff;
  background-color: #35b5ff
}
.join .btn-box a:hover {
  color: #fff
}

.join .parallel-btn {
    text-align: center;
}
    
.join .parallel-btn .btn-box {
    display: inline-block;
    padding: 10px;
}

.howtoentry{
  
}
.howtoentry .ttl{
  margin-bottom: 2.8rem;
}
.howtoentry-txt{
  margin-bottom: 3.2rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.5;
}



    
    
#entry {
  margin-top: -10rem;
  padding-top: 10rem
}

.entry {
  margin-bottom: 8.0rem;
  padding: 4.0rem;
  background: #e1f1ff
}

.entry .ttl {
  text-align: center
}

.entry .lede {
  margin-top: 1.6rem;
  text-align: center
}

.entry .btn-box {
  position: relative;
  width: 36%;
  margin: 3.2rem auto 0;
  text-align: center;
  opacity: 1;
  line-height: 1.5;
  display: block;
  transition: all .2s linear;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: #FF6583
}

.entry .btn-box:hover {
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.4)
}

.entry .btn-box a {
  padding: 2.4rem;
  display: block;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1
}

.entry .btn-box-box a:hover {
  background-color: transparent;
  box-shadow: none
}

.entry time {
  margin-top: 3.0rem;
  font-size: 4.0rem;
  line-height: 1.3;
  display: block;
  font-weight: bold;
  text-align: center
}

.examinationCommendation {
  padding: 8.0rem 0;
  overflow: hidden;
}

.examinationCommendation__box {
  position: relative;
  left: 50%;
  margin-top: -7.0rem;
  margin-left: -1000px
}

.examinationCommendation__box--img {
  width: 2000px;
  height: 518px
}

.examination {
  padding: 0 4.0rem;
}

.examination .ttl {
  margin-bottom: 2.8rem
}

.examination .txt {
  margin-bottom: 3.2rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.5
}

.examination__list {
  display: flex;
  flex-wrap: wrap
}

.examination__list--item {
	width: 100%;
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.examination__list--item:first-child{
  margin-top: 0;
}

.examination__list--item--lv4 {
  width: 30%;
  padding: 2.4rem 3.2rem;
  background-color: #007ae2;
  box-sizing: border-box;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}

.examination__list--item--copy {
  width: 70%;
  padding: 2.4rem 3.2rem;
  box-sizing: border-box;
  background-color: #f2f8fc;
	color: #333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
}

.examination__list--item--note{
  font-size: 1.4rem;
}


.concierge {
  padding: 8rem 0;
  background-color: #e1f1ff
}
.concierge .container {
  padding: 0 4rem;
}
.concierge .ttl{
  margin-bottom: 2.8rem;
}
.concierge .hl{
  margin-bottom: 6rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 300
}

.concierge-box{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.concierge-box__item{
	width: 100%;
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.concierge-box__item:first-child{
  margin-top: 0;
}

.concierge-box__hl{
  width: 30%;
  padding: 2.4rem 3.2rem;
  background-color: #007ae2;
  box-sizing: border-box;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}

.concierge-box__txt{
  width: 70%;
  padding: 2.4rem 3.2rem;
  box-sizing: border-box;
  background-color: #fff;
	color: #333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
}


.commendation {
  padding: 8rem 0;
}

.commendation h2 {
  text-align: center
}

.commendation .commendation-box {
  margin: 0 auto
}

.commendation .commendation-box .commendation-boxu {
  margin-bottom: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4rem;
}

.commendation .commendation-box .commendation-boxd {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}

.commendation ul li img {
  max-width: 100%
}

.commendation ul.commendation-boxu li{
  width: 30%;
  text-align: center;
}

.commendation ul.commendation-boxu li img{
  max-width: 240px;
}

.commendation ul.commendation-boxd li{
  width: 22.5%;
}

.commendation ul.commendation-boxd li img{
  max-width: 220px;
  margin: 0 auto;
  display: block;
  
}

.commendation-box__txt{
  width: 100%;
  margin-top: 1.6rem;
  box-sizing: border-box;
  padding: 2.4rem 3.2rem;
  background-color: #f2f8fc;
  text-align: left;
  line-height: 1.75;
}


.judge {
  padding: 8.0rem 0;
  background-color: #e1f1ff
}
.judge ul {
  margin-top: 3.2rem;
	margin-bottom: 8rem;
  display: flex;
  flex-wrap: wrap
}
.judge ul li {
  width: 16.58%;
  margin-bottom: 5.0rem;
  margin-right: 4.273%
}
.judge ul li:first-child h3 {
  padding-top: 0
}
.judge ul li:nth-child(5), .judge ul li:nth-child(10), .judge ul li:nth-child(15) {
  margin-right: 0
}
.judge ul li:nth-child(n+15) {
  margin-bottom: 0
}
.judge ul li span {
  display: inline-block;
  margin-top: 2.4rem;
  margin-bottom: 0.714em;
  padding: 1.0rem;
  font-weight: 400;
  background-color: #007ae2;
  color: #fff
}
.judge ul li img {
  width: 100%
}
.judge ul li h3 {
  padding-top: 2.4rem;
  font-size: 2.4rem;
  font-weight: 500
}
.judge ul li h3.kana {
  font-size: 2rem;
}
.judge ul li h3 .kusano {
  width: auto
}
.judge ul li p {
  padding-top: 0.5rem;
  font-size: 1.3rem;
  line-height: 1.5
}
.judge-concierge{
  border: solid 3px #007ae2;
	border-radius: 6px
}
.judge-concierge__hl-wrap{
  text-align: center;
}
.judge-concierge__hl{
  margin: -2.4rem auto 0;
  padding: 0 2rem;
  background-color: #e1f1ff;
	display: inline-block;
  font-size: 3rem;
	text-align: center;
}
.judge .judge-concierge__list{
  margin: 0;
  padding: 2.4rem 4rem;
  display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.judge .judge-concierge__list li {
  width: 50%;
	margin: 0;
  display: flex;
}
.judge .judge-concierge__list li:nth-child(odd){
  width: 49%;
  margin-right: 1%;
}
.judge-concierge__company{
  margin-right: 3.2rem;
}
.judge .judge-concierge__list li .judge-concierge__company,
.judge .judge-concierge__list li .judge-concierge__name{
	font-size: 2rem;
	font-weight: bold;
}
.judge-concierge__notice {
  padding-left: 4rem;
  padding-bottom: 2.4em;
  font-size: 16px;
}
.judge-concierge__tba{
  padding: 4rem;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.contest {
  padding: 8.0rem 0;
}

.contest table {
  margin-top: 3.2rem;
  border-spacing: 0 1px;
  border-collapse: separate;
}

.contest table tr{
  margin-bottom: 1px;
}

.contest table th {
  width: 20%;
  padding: 2rem 3.2rem;
  vertical-align: middle;
  text-align: left;
  line-height: 1.5;
  font-weight: 500;
  color: #fff;
  background-color: #007ae2;
}

.contest table td {
  vertical-align: middle;
  padding: 2rem 3.2rem;
  line-height: 1.5;
  background: #f2f8fc;
}

.about {
  padding: 8.0rem 0;
  background: #e1f1ff
}

.about .list-about {
  margin-top: 3.2rem;
  display: flex;
  align-items: center;
  justify-content: center
}

.about .list-about li {
  width: 33.3333%;
  margin-right: 1.0rem;
  padding: 2.4rem;
  background-color: #007ae2;
  border: none;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;

}

.about .list-about li:last-child {
  margin-right: 0
}

.about .lede {
  width: 80%;
  max-width: 840px;
  margin: 4rem auto 0;
}

.about .btn-wrap {
  margin-top: 4.0rem;
  text-align: center
}

.about .toggle-btn {
  width: 20rem;
  display: inline-block;
  padding: 1.6rem 0;
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
  color: #fff;
  background: #007ae2
}

.about .toggle-btn.opened{
  color: #007ae2;
  background: none;
}

.about .toggle-btn .icon-arrow {
  top: 1px;
  right: -10px; 
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg)
}

.about .toggle-btn .icon-arrow:before, .about .toggle-btn .icon-arrow:after {
  background: #fff;
  -ms-transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1)
}

.about .toggle-btn.opened .icon-arrow:before {
  left: 0;
  -webkit-transform-origin: 0 100%;
  -ms-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  background: #007ae2;

}

.about .toggle-btn.opened .icon-arrow:after {
  left: 0;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  background: #007ae2;
}

.about .contents-wrap {
  display: none
}

.about .contents {
  max-width: 1200px;
  margin: 0 auto;
  padding: 4.0rem 5.0rem;
  border: 1px solid #ccc;
  background: #fff
}

.about .contents-wrap .btn-wrap {
  position: relative
}

.about .contents-wrap .btn-wrap a {
  position: absolute;
  right: -70px;
  bottom: 90px
}

.about .contents-wrap .icon-arrow {
  margin-top: 20px;
  margin-left: 0;
  width: 30px;
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg)
}

.about .contents-wrap .icon-arrow:before, .about .contents-wrap .icon-arrow:after {
  width: 4px;
  height: 22px;
  background-color: #303030
}

.about .contents-wrap .contents .contents-box {
  display: flex
}

.about .contents-wrap .contents .contents-boxl {
  margin-right: 1.25em
}

.about .contents-wrap .contents .contents-boxl img {
  max-width: 153px
}

.about .contents-wrap .contents .contents-boxr {
  line-height: 1.5;
  letter-spacing: -0.1px
}

#archives {
  padding: 8.0rem 0;
}

#archives ul {
  margin-top: 3.2rem;
  display: flex;
  flex-wrap: wrap
}

#archives ul li {
  position: relative;
  width: 32.76%;
  margin-right: 0.85%;
  margin-bottom: 1.0rem;
  box-sizing: border-box;
  color: #000;
  font-size: 16px;
  font-weight: bold;
  transition: all .2s linear
}

#archives ul li::before {
  position: absolute;
  right: 8%;
  bottom: 60%;
  z-index: 1;
  display: block;
  width: 2px;
  height: 10px;
  background: #000;
  content: "";
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

#archives ul li::after {
  position: absolute;
  right: 8%;
  top: 40%;
  z-index: 1;
  display: block;
  width: 2px;
  height: 10px;
  background: #000;
  content: "";
  -webkit-transform-origin: 100% 0%;
  -ms-transform-origin: 100% 0%;
  transform-origin: 100% 0%;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

#archives ul li:hover {
  opacity: .7
}

#archives ul li:nth-child(3n) {
  margin-right: 0
}

#archives ul li a {
  margin-bottom: 32px;
  display: flex;
  align-items: center;
  color: #000
}

#archives ul li a .archives-num {
  width: 18%;
  margin-right: 1.5rem;
  text-align: center;
}

#archives ul li a .archives-num span {
  width: 70px;
  height: 70px;
  background-color: #007ae2;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 700;
  box-shadow: 1px 1px 6px;
}

#archives ul li a h3 {
  padding-right: 60px;
  color: #000;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  width: 70%
}

.top-btn {
  padding: 8.0rem;
  border-top: solid 1px #c4c4c4    
}

.top-btn .btn-box {
  position: relative;
  width: 36%;
  margin: 0 auto;
  line-height: 1.5;
  text-align: center;
  opacity: .999
}

.top-btn .btn-border.btn-or:hover {
  opacity: .7;
}

.top-btn .btn-box:hover:before, .top-btn .btn-box:hover:after {
  background: #fff
}

.top-btn .btn-box a {
  display: block;
  padding: 2.0rem;
  font-size: 2.2rem;
  font-weight: 600;
  color: #fff;
  background-color: #008dde;
}

.top-btn .btn-box a:hover {
  color: #fff
}

.information {
  padding: 8.0rem
}

.information .container{
  width: 60%;
  max-width: 640px;
  padding: 6rem 4rem;
  border: solid 1px #ccc; 
}

.information .ttl {
  text-align: center
}

.information .information-subtitle {
  margin-top: 3.2rem;
  margin-bottom: 1.0rem;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center
}

.information h3+p {
  margin-bottom: 3.0rem;
  text-align: center;
  font-weight: 600
}

.information .btn-box {
  position: relative;
  width: 80%;
  margin: 0 auto;
  line-height: 1.5;
  text-align: center;
  opacity: .999
}

.information .btn-border.btn-or:hover {
  opacity: .7;
}

.information .btn-box:hover:before, .information .btn-box:hover:after {
  background: #fff
}

.information .btn-box a {
  display: block;
  padding: 2.0rem;
  font-size: 2.2rem;
  font-weight: 600;
  color: #fff;
  background-color: #35b5ff;
}

.information .btn-box a:hover {
  color: #fff
}

.information .cols {
  text-align: center
}

.information #sns {
  width: 43%;
  margin: 0 auto;
  padding-top: 6.0rem
}

.information #sns h3 {
  margin-bottom: 3.0rem;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center
}

.information #sns ul {
  display: flex;
  justify-content: center
}

.information #sns ul li {
  padding-right: 3.0rem;
  justify-content: center
}

.information #sns ul li:last-child {
  padding-right: 0
}

.information #sns ul li a img {
  max-width: 100%;
  height: auto
}

#footer {
  background: #f3f3f3
}

#footer .container {
  position: relative;
  padding: 6.0rem 0
}

#footer .logo {
  max-width: 230px;
  position: absolute;
  padding-left: 20px;
  left: 0
}

#footer .btn-scroll-top {
  display: none;
  position: fixed;
  z-index: 10000;
  right: 5%;
  bottom: 30px;
  transition: none
}

#footer .btn-scroll-top .icon-arrow {
  width: 30px;
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg)
}

#footer .btn-scroll-top .icon-arrow:before, #footer .btn-scroll-top .icon-arrow:after {
  width: 4px;
  height: 22px;
  background-color: #303030
}

#footer .credit {
  margin-top: 4.0rem;
  margin-bottom: 6.0rem;
  color: #000;
  text-align: center;
  line-height: 1.6
}

#footer .credit span {
  font-weight: 500
}

#footer .btn-box .btn-border {
  display: block;
  padding: 2.4rem;
  background-color: #35b5ff;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 600;
}

#footer .btn-box::before{
  background: #fff
}

#footer .btn-box::after{
  background: #fff
}

#footer .btn-border.btn-or:hover {
  opacity: .7
}

@media screen and (min-width: 1920px) {
  .hero img.hero-ttl-pc {
    width: 45%;
  }
}

@media (max-width: 1381px) {
  .gnav ul li {
    padding: 0 12px
  }
  .container {
    padding: 0 2.0rem
  }
  .hero img.hero-ttl-pc {
    width: 65%;
  }
}

@media (max-width: 1280px) {
  .gnav .nav-title{
	  padding-top: 2.8rem;
	}
	.gnav .nav-title a {
    font-size: 1.8rem;
  }
  .gnav ul li {
    padding: 0 8px
  }
}

@media (max-width: 1170px) {
  .hero .hero-bg {
    background: url(../img/hero_bg_1170.png) center center no-repeat
  }    
  .hero .hero_logo {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -12rem
  }
  .hero .hero_logo .pc_logo {
    display: none
  }
  .hero .hero_logo .sp_logo {
    display: block
  }
  .gnav .nav-title {
    padding-top: 21px
  }
  .gnav .nav-title img {
    width: 200px
  }
  .gnav ul li {
    font-size: 14px;
    padding: 0 10px
  }
  .contest::before {
    content: none
  }
  .about::before {
    top: -9rem;
    background-size: 70%
  }
  .about::after {
    background-size: 80%
  }
}

@media (max-width: 1045px) {
  .top-btn .btn-box {
    width: 55%
  }
}



@media (max-width: 1000px) {
  .hero .hero-bg {
    height: 520px
  }
  .gnav {
    display: none
  }
  .entry::before {
    background-size: 80%
  }
  .entry::after {
    bottom: -10.0rem;
    background-size: 80%
  }
  .commendation:before {
    content: none
  }
  .commendation::after {
    content: none
  }
  .judge::after {
    bottom: -10.0rem;
    background-size: 80%
  }
  .contest::after {
    background-size: 80%
  }
  .about .list-about li {
    text-align: center;
  }
  .nav-drawer {
    display: block
  }
  .nav-drawer .drawer-hamburger {
    background-color: #007ae2;
    box-shadow: 1px 2px 4px rgba(0,0,0,0.25);
  }
  .nav-drawer .drawer-hamburger:hover {
    background-color: #007ae2;
  }
  .drawer-open .nav-drawer .drawer-hamburger {
    background-color: transparent
  }
  .drawer--right.drawer-open .drawer-hamburger{
    box-shadow: none;
  }
  .drawer-open .nav-drawer .drawer-nav {
    padding: 2.0rem;
    background-color: #fff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 2000
  }
  .nav-drawer .drawer-nav li {
    margin-bottom: 1.0rem;
    padding-left: .5em
  }
  .nav-drawer .drawer-nav li.logo {
    padding-bottom: 1.0rem;
    border-bottom: solid 1px #000
  }
  .nav-drawer .drawer-nav li.logo img {
    width: 95%
  }
  .nav-drawer .drawer-nav li a {
    color: #000;
    font-weight: 500;
    line-height: 1.6
  }
  .nav-drawer .drawer-nav li:last-child {
    padding: 1.0rem;
    margin-bottom: 0;
    text-align: center;
    background-color: #35b5ff
  }
  .nav-drawer .drawer-nav li:last-child a {
    color: #fff
  }
  .nav-drawer .drawer-hamburger-icon {
    background-color: #fff
  }
  .nav-drawer .drawer-hamburger-icon:after, .nav-drawer .drawer-hamburger-icon:before {
    background-color: #fff
  }
  #archives ul li a .archives-num {
    width: 25%;
  }
  #archives ul li a h3 {
    padding-right: 36px;
  }
  #footer .logo img{
    width: 70%;
    max-width: initial;
  }
.join .parallel-btn .btn-box {
  display: block;
    margin-bottom: 30px;
    padding: 0;
}
}

@media (max-width: 868px) {
  .hero img.hero-ttl-pc {
    width: 78%;
  }
    
}

@media (max-width: 768px) {
  .pc {
    display: none
  }
  .sp {
    display: block
  }
    
  .ttl {
    margin-bottom: 2.4rem;
    font-size: 2.4rem;
    line-height: 1.5
  }
  .hl {
    font-size: 2.1rem
  }
  .sponsor {
    padding: 4.0rem 0
  }
  .sponsor .sponsor-list {
    flex-direction: column;
    width: 100%;
    margin: 0 auto
  }
  .sponsor .sponsor-list li {
    width: 100%;
    margin-top: 2rem;
  }
  .sponsor .sponsor-list li:first-child {
    width: 100%;
    text-align: center;
    margin-top: 0;
    margin-right: 0;
  }
  .sponsor .sponsor-list li:last-child {
    width: 100%;
    text-align: center
  }
  .sponsor .sponsor-list li:first-child img {
    max-width: 230px;
  }
  .sponsor .sponsor-list li:nth-child(2) img {
    max-width: 180px;
  }
  .sponsor .sponsor-list li:last-child img {
    max-width: 150px
  }
    
    
  .intro {
    padding: 6.0rem 0
  }
  .intro .ttl {
    text-align: center
  }
  .intro .intro-subtitle {
    margin-top: 2.8rem;
    margin-bottom: 1.0rem;
    font-size: 2.1rem
  }
  .intro h3+p {
    margin-bottom: 2.8rem;
    text-align: center
  }
  .intro .btn-box {
    width: 100%
  }
  .intro .btn-box a {
    display: block;
    padding: 2.8rem;
    font-size: 2.1rem
  }
    
  #result .result-emblem {
    text-align: center;
    display: block
  }
  #result .result-emblem img {
    max-width: 150px;
    margin-bottom: 1.0rem;
    margin-right: auto;
    margin-left: auto;
    display: block
  }
  #result .result-emblem.result-emblem-2col {
    width: 100%;
  }
  #result .result-title, #result .result-title-2col {
    width: 100%;
  }
  #result .result-title h3 {
    font-size: 2.8rem
  }
  #result .result-emblem.result-emblem-2col {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #result .result-emblem.result-emblem-2col img {
    width: 45%
  }
  #result .result-title {
    margin-left: 0;
    text-align: center;
    width: 100%
  }
  #result .warp-image {
  flex-direction: column
  }
  #result .result-box {
    margin-top: 3.0rem
  }
  #result .result-pic, #result .result-slide, #result .result-gift {
    width: 100%
  }
  #result .result-pic {
    margin-right: 0;
    margin-bottom: 0.3rem
  }
  #result .result-pic, #result .result-slide, #result .result-gift {
    width: 100%
  }
  #result .hl-member {
    width: 100%;
    margin-bottom: 1.0rem;
    float: none;
    box-sizing: border-box
  }
  #result .result-member {
    width: 100%;
    float: none
  }
  #result .result-member li {
    width: 50%;
    padding-top: 0
  }

  .theme {
    padding: 6.0rem 0
  }
  .theme__ttl{
    padding: 2.4rem 1.6rem;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.5;
    text-align: center;
    letter-spacing: -.5px;
  }
  .theme__ttl span {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .theme__box {
    padding: 2.8rem
  }
  .theme__box--lead{
    width: 100%;
  }
  .theme__box--list {
    display: flex;
    flex-direction: column
  }
  .theme__box--list--item--lv2 {
    margin-bottom: 2.1rem
  }
  .theme__box--list--item:first-child {
    margin-right: 0
  }
  .theme__box--list--item:last-child {
    margin-top: 2.1rem;
    margin-right: 0
  }
  .theme__box--lead {
    margin-top: 2.1rem
  }
  .case {
    margin-top: 4.0rem;
    padding: 2.4rem;
  }
  .case .lede.lede-lg {
    font-size: 1.8rem;
  }
  .case h2 {
    margin-bottom: 2.1rem;
    font-size: 2rem;
  }
  .case h2.ttl span{
    padding: 0 80px;
    font-size: 2rem;
  }
  .case h2.ttl span::before{
    width: 50px;
  }
  .case h2.ttl span::after{
    width: 50px;
  }
  .case--list {
    flex-direction: column
  }
  .case--list--item {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2.1rem;
    width: 100%;
    padding: 1.6rem;
    margin-right: 0;
    font-size: 1.6rem
  }
  .case--list--item:nth-child(3) {
    margin-right: 0
  }
  .case--list--item:nth-child(4) {
    margin-bottom: 2.1rem
  }
  .case--list--item:last-child {
    margin-bottom: 0
  }
  .data {
    margin-top: 4.0rem;
    padding: 2.4rem;
  }
  .data h2.ttl {
    margin-bottom: 2.1rem
  }
  .data h2.ttl span{
    font-size: 2rem;
  }
  .data h2.ttl span::before{
    width: 50px;
  }
  .data h2.ttl span::after{
    width: 50px;
  }
  .data ul li {
    margin-bottom: 1.0rem;
    font-size: 1.6rem;
  }
  .data ul li:last-child{
    margin-bottom: 0;
  }
  .data--list{
    display: block;
  }
  .data--list--item{
    width: 100%;
    padding: 2.1rem 5.5%;
    box-sizing: border-box;
    display: block;
    font-weight: bold;
  }
  .data--list--item::before{
    font-size: 1em;
  }
  .data--list--item--wrap.img--wrap{
	  width: 100%;
    margin: 2rem 0 0;
  }
  .team .container{
    padding: 0;
  }
  .team .team-list thead th{
    font-size: 1.8rem;
  }
  .team .team-list tbody td{
    font-size: 1.6rem;
  }
  .event-info .day{
    font-size: 30px;
    font-size: 3rem;
  }
  .event-info .btn{
    width: 100%;
    padding: 0 2rem;
    box-sizing: border-box;
    
  }
  .event-info .btn a{
    display: block;
    padding: 2.8rem;
    font-size: 21px;
    font-size: 2.1rem;
    position: relative;
  }
  .event-info .container > .btn:before{
    right: 10%;
  }
  .event-info .container > .btn:after{
    right: 10%;
  }
  .join {
    padding-top: 6.0rem;
    padding-bottom: 6.0rem
  }
  .join .ttl {
    margin-bottom: 2.1rem
  }
  .join__list--item {
    padding: 2.1rem;
  }
  .join__list--item--lv3 {
    font-size: 1.8rem
  }
  .joinList {
    flex-direction: column;
    align-items: flex-start
  }
  .joinList__item {
    text-align: center
  }
  .joinList__item--data {
    padding: 0.5rem 1rem;
    display: flex;
    justify-content: center;
    font-size: 1.6rem
  }
  .joinList__item:first-child {
    width: 100%
  }
  .joinList__item:nth-child(2) {
    margin: 0
  }
  .joinList__item:last-child {
    margin-left: 0;
    text-align: left
  }
  .joinListOnly {
    flex-direction: column;
    align-items: flex-start
  }
  .joinListOnly__item{
    text-align: left;
  }
  .joinListOnly__item--copy {
    line-height: 1.5
  }
  .joinListOnly__item--data {
    font-size: 1.6rem
  }
  .join .btn-box {
    width: 100%;
  }
  .join .btn-box a{
    padding: 2.8rem;
    font-size: 2.1rem;
  }
.join .parallel-btn .btn-box {
  display: block;
    margin-bottom: 30px;
    padding: 0;
}
  .examinationCommendation {
    padding: 6.0rem 0
  }
  .examinationCommendation__box {
    position: relative;
    left: 50%;
    margin-top: -5.0rem;
    margin-left: -384px
  }
  .examinationCommendation__box--img {
    width: 768px;
    height: auto
  }
  .examination {
    padding: 0;
    margin-bottom: 4.0rem;
  }
  .examination .hl {
    margin-bottom: 2.1rem;
    line-height: 1.5
  }
  .examination__list {
    flex-direction: column
  }
  .examination__list--item {
    width: 100%;
    margin-bottom: 1rem;
    margin-right: 0;
    font-size: 1.6rem
  }
  .examination__list--item:nth-child(3) {
    margin-right: 0
  }
  .examination__list--item:nth-child(4) {
    margin-bottom: 2.1rem
  }
  .examination__list--item:last-child {
    margin-bottom: 0
  }
  .examination__list--item--lv4 {
    font-size: 1.8rem;
  }
  .examination__list--item--copy {
    font-size: 1.6rem;
    font-weight: 400
  }
  .concierge .container{
    padding: 0 2rem;
  }
  .concierge .hl {
    margin-bottom: 4rem;
    line-height: 1.5
  }
  .concierge-box {
    display: block;
  }
  .concierge-box__item {
    width: 100%;
  }
  .concierge-box__item:first-child{
    margin-bottom: 2rem;
  }
  
  .commendation ul.commendation-boxu li{
  width: 30%;
  text-align: center;
  }
  .commendation ul.commendation-boxu li img{
    width: 100%;
    max-width: 240px;
  }
  .commendation ul.commendation-boxd li{
    width: 22.5%;
  }
  .commendation ul.commendation-boxd li img{
    width: 100%;
    max-width: 220px;
  }
  .commendation-box__txt {
    padding: 2rem 3rem;
    font-size: 14px;
    line-height: 1.5;
    
  }
  .commendation .commendation-box .commendation-boxu li {
    padding-right: 1.0rem
  }
  .commendation .commendation-box .commendation-boxd li {
    padding-top: 1.0rem;
    padding-right: 1.0rem
  }
  .judge {
    padding: 6.0rem 0 6.0rem 0
  }
  .judge::after {
    content: none
  }
  .judge ul {
    margin-top: 2.1rem
  }
  .judge ul li {
    margin-bottom: 3.0rem
  }
  .judge ul li span {
    margin-top: 2.1rem
  }
  .judge ul li h3 {
    padding-top: 2.1rem;
    font-size: 2.1rem
  }
  .judge ul li h3 .kusano {
    width: auto;
    height: 2.1rem
  }
	.judge-concierge__hl{
	  font-size: 2.4rem;
	}
	.judge .judge-concierge__list{
	  padding: 2rem;
	  display: block;
	}
	.judge .judge-concierge__list li{
	  width: 100%;
	  display: flex;
		font-size: 16px;
	}
	.judge .judge-concierge__list li:nth-child(odd){
	  width: 100%;
		margin-right: 0
	}
	.judge .judge-concierge__list li .judge-concierge__company,
	.judge .judge-concierge__list li .judge-concierge__name{
		font-size: 1.6rem;
	}
  .judge-concierge__notice {
    padding-left: 2rem;
    padding-right: 2rem;
    padding-bottom: 2em;
    font-size: 15px;
  }
  .contest {
    padding: 6.0rem 0
  }
  .contest::after {
    content: none
  }
  .contest table {
    margin-top: 2.1rem
  }
  .contest table th {
    padding: 2.1rem
  }
  .contest table td {
    padding: 2.1rem
  }
  .about {
    padding: 6.0rem 0
  }
  .about .list-about {
    margin-top: 2.4rem;
    flex-direction: column
  }
  .about .list-about li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1.0rem;
    padding: 2.1rem;
    font-size: 1.8rem;
  }
  .about .lede {
    width: 100%;
    margin-top: 2.1rem
  }
  .about .btn-wrap {
    margin-top: 2.1rem
  }
  .about .toggle-btn {
    width: 100%;
    display: inline-block;
    padding: 1.4rem 0;
    font-size: 1.8rem
  }
  .about .contents {
    padding: 2.0rem 3.0rem
  }
  .about .contents-wrap .btn-wrap {
    position: relative
  }
  .about .contents-wrap .btn-wrap a {
    position: absolute;
    right: -70px;
    bottom: 90px
  }
  .about .contents-wrap .icon-arrow {
    margin-top: 20px;
    margin-left: 0;
    width: 30px;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg)
  }
  .about .contents-wrap .icon-arrow:before, .about .contents-wrap .icon-arrow:after {
    width: 4px;
    height: 22px;
    background-color: #303030
  }
  .about .contents-wrap .contents .contents-box {
    flex-direction: column;
    align-items: center
  }
  .about .contents-wrap .contents .contents-boxl {
    margin-right: 0;
    margin-bottom: 2.0rem
  }
  .about .contents-wrap .contents .contents-boxl img {
    max-width: 153px
  }
  .about .contents-wrap .contents .contents-boxr {
    line-height: 1.5
  }
  #archives {
    padding: 6.0rem 0
  }
  #archives ul {
    margin-top: 0;
    display: flex;
    flex-direction: column
  }
  #archives ul li {
    position: relative;
    width: 100%;
    margin-right: 0;
    margin-bottom: 1.0rem
  }
  #archives ul li::before{
    right: 6%;
    bottom: 47.5%;
  }
  #archives ul li::after{
    right: 6%;
    top: 52.5%;
  }
  #archives ul li:nth-child(10) {
    margin-bottom: 1.0rem
  }
  #archives ul li a {
    margin-bottom: 0;
    padding: 1.6rem 2.1rem;
    display: flex;
    align-items: center
  }
  #archives ul li a img {
    width: 10%;
    margin-right: 1.0rem
  }
  #archives ul li a .archives-num {
    width: 18%;
  }
  #archives ul li a h3 {
    width: 80%;
    padding-right: 6rem;
    font-size: 1.6rem    
  }
  .entry {
    padding: 2.8rem
  }
  .entry .lede {
    margin-top: 2.1rem
  }
  .entry .btn-box {
    position: relative;
    width: 100%;
    margin: 2.1rem auto 0
  }
  .entry .btn-box a {
    padding: 2.8rem;
    font-size: 2.1rem
  }
  .information {
    padding: 6.0rem 0
  }
  .top-btn {
    padding: 6.0rem
  }
  .top-btn .btn-box {
    width: 100%
  }
  .top-btn .btn-box a {
    display: block;
    padding: 2.8rem;
    font-size: 2.1rem
  }
  .information .ttl {
    text-align: center
  }
  .information .information-subtitle {
    margin-top: 2.8rem;
    margin-bottom: 1.0rem;
    font-size: 2.1rem
  }
  .information h3+p {
    margin-bottom: 2.8rem;
    text-align: center
  }
  .information .btn-box {
    width: 100%
  }
  .information .btn-box a {
    display: block;
    padding: 2.8rem;
    font-size: 2.1rem
  }
  .information .cols {
    text-align: center
  }
  .information #sns {
    width: 100%;
    margin: 0 auto;
    padding-top: 4.0rem
  }
  .information #sns h3 {
    margin-bottom: 2.1rem;
    font-size: 2.1rem
  }
  .information #sns ul {
    display: flex;
    justify-content: center
  }
  .information #sns ul li {
    padding-right: 3.0rem
  }
  #footer .container {
    text-align: center;
    position: relative;
    padding: 6.0rem 2.0rem
  }
  #footer .logo {
    position: static;
    padding-left: 0
  }
  #footer .logo img {
    max-width: 20%;
    margin-bottom: 2.1rem
  }
  #footer .btn-scroll-top {
    right: 5%
  }
  #footer .credit {
    margin-top: 2.1rem
  }
  #footer .btn-box {
    width: 100%
  }
  #footer .btn-box a {
    display: block;
    padding: 2.8rem;
    font-size: 2.1rem
  }
  #footer .btn-box a:hover {
    color: inherit;
    opacity: 1;
  }
}

@media (max-width: 640px) {
  body {
    font-size: 1.4rem;
  }
  .hero .hero-bg {
    position: relative;
    max-height: 420px;
    background: url(../img/hero_bg_640.png) center center no-repeat;
    background-size: cover
  }
  .hero .hero-ttl-sp {
    width: 90%;
    max-width: 385px;
    margin: auto;
    display: block;
    position: absolute;
    top: 4rem;
    left: 0;
    right: 0
  }
  .sponsor .sponsor-list li {
    margin-bottom: 1.5rem
  }
  .sponsor .sponsor-list li:last-child{
    margin-bottom: 0
  }
  .sponsor .sponsor-list li:first-child img,
  .sponsor .sponsor-list li:nth-child(2) img,
  .sponsor .sponsor-list li:last-child img {
    max-width: 200px
  }
  .examination__list--item{
    display: block;
  }
  .examination__list--item--lv4{
    width: 100%;
  }
  .examination__list--item--copy{
    width: 100%;
  }
  .concierge-box__item{
    display: block;
  }
  .concierge-box__hl{
    width: 100%;
  }
  .concierge-box__txt{
    width: 100%;
  }
  
  .about .toggle-btn {
    width: 100%
  }
  #archives ul li a {
    display: flex
  }
  #archives ul li a p {
    padding-right: 10px
  }
  #archives ul li a h3 {
    padding-right: 5%
  }
  #result .result-slide {
    height: 296px
  }
  #cases ul li {
    width: 100%;
    margin-right: 0
  }
  .commendation .commendation-box .commendation-boxd {
    display: flex;
    flex-wrap: wrap
  }
  .commendation .commendation-box .commendation-boxd li {
    width: 41%
  }
  /*.commendation .commendation-box .commendation-boxd li:nth-child(2), .commendation .commendation-box .commendation-boxd li:last-child {
    padding-right: 0;
    padding-left: 1.0rem
  }*/
  .commendation .commendation-box .commendation-boxu{
    margin-bottom: 0;
    flex-wrap: wrap;
    gap: 3rem;
  }
  .commendation .commendation-box .commendation-boxd{
    margin-bottom: 0;
    flex-wrap: wrap;
    gap: 2rem;
  }
  .commendation .commendation-box .commendation-boxd{
    margin-top: 1rem;
  }
  .commendation .commendation-box .commendation-boxu li,
  .commendation .commendation-box .commendation-boxd li{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }
  .commendation ul.commendation-boxu li img,
  .commendation ul.commendation-boxd li img{
    width: 35%;
    margin: 0;
  }
  .commendation-box__txt{
    width: 60%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0;
  }
  
  .judge:before {
    left: 20%
  }
  .judge ul li {
    width: 100%;
    display: flex;
    margin-right: 0
  }
  .judge ul li:nth-child(n+11){
    margin-bottom: 3rem;
  }
  .judge ul li:last-child{
    margin-bottom: 0;
  }
  .judge ul li h3 {
    padding-top: 0
  }
  .judge ul li span {
    margin-top: 0
  }
  .judge ul li .box-l {
    width: 50%
  }
  .judge ul li .box-r {
    width: 50%;
    padding-left: 15px
  }
	.judge-concierge__hl{
	  font-size: 2rem;
	}
  .judge-concierge__tba{
    padding-left: 2rem;
    padding-right: 1rem;
    font-size: 1.6rem;
  }
  .information .container{
    width: 94%;
    max-width: initial;
    padding: 0;
    padding-top: 6rem;
    border: none;
    border-top: solid 1px #ccc;
  }
  .contest table th {
    width: 30%
  }
  #footer .btn-box {
    width: 100%
  }
  #footer .logo {
    position: static;
    padding-left: 0
  }
  #footer .btn-scroll-top {
    right: 10%
  }
  #footer .logo img {
    max-width: 20%;
    margin-bottom: 20px
  }
  #footer .btn-01 {
    width: 90%
  }
}

@media (max-width: 375px){
  .hero .hero-ttl-sp {
    width: 75%;
    top: 2.5rem;
  }
}
