.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: #40A9B3;
  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;
  line-height: 1.5
}



.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)
}

body{
  letter-spacing:0.05em;
}
#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: #087383;
  box-sizing: border-box
}

.gnav .nav-title {
  padding-top: 2.1rem;
  line-height: 1.4;
  float: left;
  display: block;
  width: 27rem;
}
.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: #9be30b;
  display: inline-block;
  color: #087383;
  font-weight: 600;
}

.fixed {
  position: fixed;
  top: 0;
  z-index: 1000
}

.nav-drawer {
  display: none;
}

.sponsor {
  margin: 3rem 0 5rem 0;
}
.sponsor .sponsor-list {
  max-width: 1170px;
	margin: 0 auto;
  padding: 0 5rem;
  display: flex;
	flex-wrap: wrap;
  align-items: center;
  justify-content: space-around
}
.sponsor .sponsor-list li {
  width: 33.3%;
	text-align: center;
}
.sponsor .sponsor-list-2 {
  max-width: 640px;
	margin: 0 auto;
  display: flex;
	flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
}
.sponsor .sponsor-list-2 li {
  width: 30%;
	text-align: center;
}

.warp-image {
  display: flex;
  margin-bottom: 1.5em;
  overflow: hidden
}




.theme {
  padding: 8.0rem 0;
  background: #e8f0f1;
  overflow: hidden
}
.theme__ttl{
  padding: 3.2rem;
  background: linear-gradient(135deg, #6cd2c5 0%, #6db6e6 100%);
  color: #fff;
	font-size: 40px;
	font-size: 4rem;
	line-height: 1.5;
	text-align: center;
  letter-spacing: 1px;
  margin-bottom: 4.0rem;
}
.theme__ttl span{
  display: block;
	font-size: 24px;
	font-size: 2.4rem;
}
.theme__box {
  padding: 8.0rem;
  background: #fff
}
.theme__box--lead {
  width: 82%;
  max-width: 1170px;
  margin:0 auto 1.7rem;
  line-height: 1.4;
  font-size: 1.6rem;
  
}

.data {
  margin-top: 6.4rem;
  padding: 4.8rem;
  background-color: #fff;
}
.data h2.ttl {
  margin-bottom: 4rem;
  color: #333;
  font-size: 3.2rem;
  font-weight: 600;
}
.data--list{
  width: 100%;
	display: flex;
  flex-direction: column;
	flex-wrap: wrap;
	justify-content: space-between;
}
.data--list--item {
  width: 100%;
  padding: 4rem;
	box-sizing: border-box;
	background-color: rgba(108, 196, 213, 0.1);
  border: 2px solid #087383;
  border-radius: 1.6rem;
	color: #333333;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	display: flex;
  flex-direction: column;
	align-items: center;
	justify-content: center;
  margin-bottom: 1rem;
}
.data--list--item h3{
  color: #087383;
  font-size: 2.4rem;
}
.data--list--item h3 span{
  font-size: 1.6rem;
}
.sp-only{
  display: none;
}
.Mizu-txt{
  margin-top: 2rem;
}

.owned{
  margin-top:0;
}
.MizuTimes{
  text-align: left;
  margin:2rem 0rem;

}
.sp-break {
  display: inline;
}
.MizuTimes span{
  font-weight: 600;
  color: #087383;
}

.Mizu-btn-box a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4rem;
  font-size: 2rem;
  font-weight: 600;
  color: #fff;
  background: linear-gradient(135deg, #6cd2c5 0%, #6db6e6 100%);
  height: 6rem;
  position: relative;
  text-decoration: none;
  border-radius: 3rem;
  margin-bottom: 1.6rem;
  /* 追加 */
  gap: 1em; /* 文字と矢印の間隔を調整 */
}

.Mizu-btn-box a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f054"; /* fa-chevron-rightのUnicode */
  color: #fff;
  font-size: 1em;
  display: inline-block;
  vertical-align: middle;
}

.Mizu-btn-box {
    text-align: center;
}
    
.Mizu-btn-box {
    display: inline-block;
}

.MizuTimes-info{
  width: 100%;
  padding: 0 6rem;
  color: #333;
  font-size: 1.6rem;
}
.MizuTimes-info a{
  font-size: 2rem;
  font-weight: 600;
}

.case {
  margin-top: 6.4rem;
  padding: 4.8rem;
  background-color: #fff;
}

.case h2 {
  margin-bottom: 4rem;
  color: #000;
  font-size: 3.2rem;
}

.case h2.ttl span::before{
  left: 0;
}

.case h2.ttl span::after{
  right: 0;
}

.case--list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.case--list--item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 32.76%;
  padding: 2.4rem 2.8rem;
  margin-right: 0.85%;
  margin-bottom:.8rem;
  background-color: 108, 196, 213;
  box-sizing: border-box;
  line-height: 1.5;
  text-align: center;
  color: #333333;
  background-color: rgba(108, 196, 213, 0.3);
  border-radius: 1rem;
}
.case--list--item p{
  text-align: left;
  margin-top: 1rem;
  line-height: 1.7  ;
}
.case--list--item:nth-child(3n),.case--list--item:nth-child(5n) {
  margin-right: 0
}
.proposal-ex{
  color: #087383;
  font-size: 2rem;
  line-height: 2.8rem;
}

.cm-movie{
  text-align: center;
  font-size:2.4rem;
  margin-top: 4rem;
}
.cm-movie h3{
  margin-bottom: 2rem;
}
.cm-movie p{
  margin-bottom: 3.2rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.5;
}

.join {
  padding-top: 8.0rem;
  padding-bottom: 6.4rem;
}

.join 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: linear-gradient(90deg, #6cd2c5 0%, #6db6e6 100%);
    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
}
.joinList__item--copy strong {
  color: yellow;
  text-decoration: underline;
}

.joinList__item--copy a {
  color: #FFFFFF;
  font-weight: bold;
}


.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__item--copy {
  line-height: 1.5
}
.joinListOnly__item--data {
  font-size: 2.4rem;
  font-weight: bold;
  color: #FF6583
}
.join .btn-box a {
  display: block;
  padding: 2.0rem;
  font-size: 2.2rem;
  font-weight: 600;
  color: #087383;
  background-color: #9be30b
}

.join .parallel-btn {
    text-align: center;
}
    
.join .parallel-btn .btn-box {
    display: inline-block;
    padding: 10px;
}


.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;
}
.flow{
  padding-top: 8rem;
}
html{
  scroll-padding-top:8rem;

}


.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;
  background-color: #e8f0f1
}

.examinationCommendation__box {
  position: relative;
  left: 50%;
  margin-top: -7.0rem;
  margin-left: -1000px
}

.examinationCommendation__box--img {
  width: 2000px;
  height: 518px
}



.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__container{
  display: flex;
	width: 100%;
  margin-bottom:0.8rem;
	font-size: 1.8rem;
	font-weight: 500;
	background-color: #fff;
	box-sizing: border-box;
	line-height: 1.5;
	text-align: left;
}


.examination__left-column{
  width:15%;
  padding: 2rem 1.6rem;
  font-size: 2rem;
  background-color: #6cc4d5;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.examination__right-column{
  width:85%;
  padding: 2.2rem 2rem;
  background-color: #fff;
}

.examination__list--item--right-bp{
  list-style-type: disc; /* 丸い記号を使用 */
  padding-left: 1.6rem;
  font-size: 1.6rem;
}
.examination__list--item--right {
	color: #087383;
  font-size: 2rem;
  margin-bottom:1rem;
}
.examination__list--item--right-bp li::marker{
  color: #087383;
}
.examination--list--item--bp li{
  font-size: 1.6rem;
  line-height: 1.4;
  margin-top:0.6rem;
} 


.concierge {
  padding: 8rem 0;
  background-color: #fff;
}

.concierge__container{
  display: flex;
  flex-direction: column;

}

.concierge__box{
  display: flex;
  margin-bottom: 1rem;
}

.concierge__left-column{
  flex: 4;
  padding: 2rem 1.6rem;
  font-size: 2rem;
  background-color: #6cc4d5;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  }
.concierge__right-column{
  flex: 6;
  background-color: #e8f0f1;
  padding: 1.4rem 2rem;
  line-height: 1.5;
}
.concierge__list--item--right{
  margin:0.6rem 0;
}

.concierge .ttl{
  margin-bottom: 2.8rem;
}
.concierge .hl{
  margin-bottom: 3.2rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 300
}
.concierge__box{
  display: flex;
}
.concierge__left-column{
  width: 30%;
}
.concierge__right-column{
  width: 70%;
}


.concierge-box__item{
  width: 48%;
	background-color: #e8f0f1;
	overflow: hidden
}
.concierge-box__hl{
  width: 100%;
	padding: 2rem 0;
	background-color: #40A9B3;
	position: relative;
	color: #fff;
	font-size: 20px;
	font-size: 2rem;
  text-align: center
}
.concierge-box__hl::before{
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #40A9B3
}
.concierge-box__txt{
  padding: 3.2rem;
  font-size: 16px;
  font-size: 1.6rem;
	line-height: 1.5
}


.commendation {
  padding: 8rem 0;
  background-color: #e8f0f1
}

.commendation h2 {
  text-align: center
}

.commendation .commendation-box {
  margin: 0 auto
}

.commendation .commendation-box .commendation-boxu {
  margin-bottom: 0rem;
  display: flex;
  align-items: center;
  justify-content: center
}

.commendation .commendation-box .commendation-boxu li {
  padding-right: 0.0rem;
  width:32rem;
}

.commendation .commendation-box .commendation-boxu li:last-child {
  padding-right: 0;

}

.commendation .commendation-box .commendation-boxd {
  display: flex;
  align-items: center;
  justify-content: center;
}

.commendation .commendation-box .commendation-boxd li {
  padding-top: 1.0rem;
  padding-right: 0.0rem
}

.commendation .commendation-box .commendation-boxd li:last-child {
  padding-right: 0
}

.commendation ul li img {
  max-width: 100%
}

.judge {
  padding: 8.0rem 0;
  background-color: #fff
}

.judge ul {
  margin-top: 3.2rem;
	margin-bottom: 8rem;
  display: flex;
  flex-wrap: wrap
}
.judge ul li {
  /*width: 16.58%;*/
  width: 18%;
  margin-bottom: 5.0rem;
  margin-right:2.5%;
  /*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
}
box-l{
  margin-bottom: 0;
}

.judge ul li img {
  width: 100%
}
.judge ul li h3 {
  padding-top: 2rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 2.8rem;
}

.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 .box-r p{
  letter-spacing:initial;
}
.judge-photo {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;           /* figureのデフォルトmarginをリセット */
  padding: 0;
}
.box-l img {
  display: block;
  width: 100%;
  height: auto;
}

.judge-photo img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 2rem;
}
.judge-label{
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background: #9be30b;
  color:#087383;
  text-align: center;
  padding: 5px 0;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  box-sizing: border-box;
  z-index: 2;
}
.judge-concierge{
  border: solid 3px #6cc4d5;
	border-radius: 6px
}
.judge-concierge__hl-wrap{
  text-align: center;
}
.judge-concierge__hl{
  margin: -2.4rem auto 0;
  padding: 0 2rem;
  background-color: #fff;
	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__notice-2 {
  padding:2rem 0;
  font-size: 16px;
  margin: 0 auto;
}

.contest {
  padding: 8.0rem 0;
  background: #e8f0f1
}

.contest table {
  margin-top: 3.2rem;
  border-spacing: 0 2px;
  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: 600;
  color: #fff;
  background-color: #6cc4d5;
}

.contest table td {
  vertical-align: middle;
  padding: 2rem 3.2rem;
  line-height: 1.5;
  background: #fff;
}

.about {
  padding: 8.0rem 0;
  background: #fff
}

.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: #6cc4d5;
  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: #087383;
}

.about .toggle-btn.opened{
  color: #40A9B3;
  background: #fff
}

.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: #40A9B3;

}

.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: #40A9B3;
}

.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;
	background-color: #e8f0f1
}

#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: #087383;
  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 .btn-box a {
  display: block;
  padding: 2.0rem;
  font-size: 2.2rem;
  font-weight: 600;
  color: #fff;
  background-color: #008dde;
}

.information {
  padding: 8.0rem
}

.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: 50rem;
  margin: 0 auto;
  line-height: 1.5;
  text-align: center;
}

.btn-box:hover {
  opacity: 0.7;
}


.information .btn-box a {
  display: block;
  padding: 2.0rem;
  font-size: 2.2rem;
  font-weight: 600;
  color: #087383;
  background-color: #9be30b;
}


.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: #9be30b;
  color: #087383;
  font-size: 2.4rem;
  font-weight: 600;
}

#footer .btn-box::before, #footer .btn-box::after, #information .btn-box::before, #information .btn-box::after,#join .btn-box::before, #join .btn-box::after{
  background: #087383;
}


@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.5rem;
    width: 20rem;
  }
  .gnav .nav-title a{
    font-size: 1.5rem;
  }
  .gnav ul li {
    font-size: 1.3rem;
    padding: 0 0.7rem;
  }
  .sponsor {
    margin: 3rem 0 5rem 0;
  }
  .sponsor sponsor-list-2{
    width: 50%;
  }

@media (max-width: 1280px) {
  .top-btn .btn-box {
    width: 55%
  }
  .sponsor-list-2 {
    width:60%;
  }

}
@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
  }

  .contest::before {
    content: none
  }
  .about::before {
    top: -9rem;
    background-size: 70%
  }
  .about::after {
    background-size: 80%
  }
  
}


@media (max-width: 1000px) {
  .hero .hero-bg {
    height: 600px
  }
  .gnav {
    display: none
  }
  .sponsor .sponsor-list{
    margin-bottom: 2rem;
  }

  .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: #087383;
    box-shadow: 1px 2px 4px rgba(0,0,0,0.25);
  }
  .nav-drawer .drawer-hamburger:hover {
    background-color: #087383;
  }
  .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: #9be30b;
  }
  .nav-drawer .drawer-nav li:last-child a {
    color: #087383;
    font-weight: 600;

  }
  .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: 820px) {
  .sp-break {
    display: block;
    margin-top: 0.3em; /* お好みで余白調整 */
  }
}

@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
  }
  
  #about .ttl{
    font-size: 2rem;
  }
  .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
  }
  .sponsor{
    margin: 1.8rem 0 3rem 0;
  }
  .sponsor .sponsor-list{
    padding: 0;
  }
  .sponsor .sponsor-list li {
    width: 100%;
    text-align: center;
    padding:0 6rem;
    margin-bottom: -1rem;
  }
  .sponsor-list li:nth-child(1) {
    margin-top: 0.6rem ;
  }
  .sponsor-list li:nth-child(2) {
    margin-bottom: 0.1rem ;
  }
  .sponsor-list li:nth-child(3) {
    margin-bottom: 0.3rem ;
  }
  .sponsor-list-2{
    width: 90%;
  }
  .theme {
    padding: 6.0rem 0;
    
  }
  h3.theme__ttl{
    padding: 2.2rem;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.5;
    text-align: center;
  }
  .theme__ttl span {
    font-size: 1.5rem;
  }
  .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
  }

  .data--list--item h3{
    font-size: 1.8rem;
  }
  .sp-only {
    display: inline;
  }
  .case {
    margin-top: 4.0rem;
    padding: 1.6rem;
  }
  .case h2 {
    margin-top: 1.8rem;
    margin-bottom: 2.8rem;
    font-size: 2rem;
  }
  .case h2.ttl span{
    padding: 0 80px;
    font-size: 1.6rem;
  }
  .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: 1.2rem;
    width: 100%;
    padding: 2.8rem;
    margin-right: 0;
    font-size: 1.5rem
  }
  .case--list--item:nth-child(3) {
    margin-right: 0
  }
  iframe[src*="youtube.com"], iframe[src*="youtube-nocookie.com"] {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
}

  .case--list--item:last-child {
    margin-bottom: 0
  }
  .cm-movie h3{
    font-size: 1.7rem;
  }
  .cm-movie p{
    font-size: 1.6rem;
  }
  .cm-sample{
    width: 100%;
    max-width: 640px;
  }
  .ytmCuedOverlayHost{
    width: 100%;
  }
  .data {
    margin-top: 4.0rem;
    padding: 1.8rem;
  }
  .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;
  }
  .data--list--item::before{
    font-size: 1em;
  }
  .data--list--item--wrap.img--wrap{
	  width: 100%;
    margin: 2rem 0 0;
  }
  .Mizu-btn-box a{
    font-size: 1.6rem;
  }
  .MizuTimes-info{
    padding: 0;
  }
  .Mizu-txt{
    font-size: 1.6rem;
    text-align: left;
  }

  .data--list--item h3 span{
    font-size: 1.3rem;
  }
  .owned {
    text-align: left;
    font-size: 1.5rem;
  }
  .howtoentry-txt{
    font-size: 1.6rem;
  }
  .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 1rem;
    margin-bottom: 1rem
  }
  .join__list--item::before{
    display: none;
  }
  .join__list--item--lv3 {
    font-size: 1.7rem
  }
  .joinList__item--copy{
    text-align: center;
  }
  .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;
}
  .examination__left-column{
    width: 100%;
    padding: 1rem 0;
  }
  .examination__container{
   display: flex;
   flex-direction: column;
   width: 100%;
   margin-bottom: 1rem;
  }
  .examination__right-column{
    display: block;
    margin-right: 0;
    width: 100%;
    box-sizing: border-box;
  }
  .examination .txt{
    font-size: 1.6rem;
  }
  .examinationCommendation {
    padding: 6.0rem 0
  }
  .examinationCommendation__box {
    position: relative;
    left: 50%;
    margin-top: -5.0rem;
    margin-left: -384px
  }
  .examinationCommendation__box--img {
    width: 767px;
    height: auto
  }
  .examination__list--item--right-bp li{
    margin-bottom: 1rem;
  }
  .examination .hl {
    margin-bottom: 2.1rem;
    line-height: 1.5
  }
  .examination__list {
    flex-direction: column
  }
  .examination__list--item--right{
    font-size: 1.8rem;
    line-height: 1.4;
  }

  .concierge .container{
    padding: 0 2rem;
  }
  .concierge .hl {
    margin-bottom: 2rem;
    line-height: 1.5;
    font-size: 1.6rem;
  }
  .concierge-box {
    display: block;
  }
  .concierge__box{
    display: block;
    margin-bottom: 1rem;
  }
  .concierge-box__item {
    width: 100%;
  }

  .concierge__right-column {
    width: 100%;
    padding: 1rem 0;
  }
  .concierge__left-column {
    width: 100%;
    padding: 1rem 0;
  }
  .concierge__right-column p{
    padding: 0.6rem 1.8rem;
  }

  .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;
  }
  .judge-concierge__notice-2{
    text-align: center;
    font-size: 1em;
  }
  .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    
  }
  .join .btn-box a, #footer .btn-box .btn-border{
    font-size: 2.2rem
  }
  .information .information-subtitle h3{
    font-size: 2rem;
  }
  .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: 1.9rem
  }
  .information h3+p {
    margin-bottom: 2.8rem;
    text-align: center;
    line-height: 1.5;
  }
  .information .btn-box {
    width: 100%
  }
  .information .btn-box a {
    display: block;
    padding: 2.8rem;
    font-size: 1.6rem
  }
  .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: 768px) {
  .judge ul {
    display: block; /* flexを解除して縦並びに */
    margin-bottom: 4rem;
  }
  .judge ul li {
    width: 100% !important;    /* 1行1人に */
    margin-right: 0 !important;
    margin-bottom: 0rem;
    display: flex;             /* 画像＋情報を横並び */
    align-items: flex-start;
    padding: 1.5rem 0;
    border-bottom: 1px solid #eee; /* 任意：区切り線 */
  }
  .judge ul li:last-child {
    border-bottom: none;
  }
  .judge ul li .box-l {
    width: 140px;               /* 顔写真の幅（お好みで調整） */
    min-width: 80px;
    margin-right: 1.5rem;
  }
  .judge ul li .box-l img {
    width: 100%;
    height: auto;
  }
  .judge ul li .box-r {
    flex: 1;
    min-width: 0;
  }
  .judge ul li h3 {
    font-size: 1.8rem;
    padding-top: 0;
    margin-bottom: 0.2em;
  }
  .judge ul li p {
    font-size: 1.1rem;
    padding-top: 0;
    line-height: 1.5;
  }
  .judge ul li .judge-label {
    font-size: 1.0rem;
    padding: 0.3em 0.7em;
    margin-top: 0.5em;
    display: inline-block;
  }
  .contest table{
    font-size: 1.3rem;
  }
  .contest table th{
   width: 40%;
   padding: 1rem 1rem;
  }
  .contest table td{
    width: 60%;
    padding: 1rem 1rem;

   }

 }



@media (max-width: 640px) {
  body {
    font-size: 14px
  }
  .hero .hero-bg {
    position: relative;
    max-height: 918px;
    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
  }

  .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;
  }

 
  .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;
  }
}
}
