* {
   margin: 0;
   padding: 0;
}

li {
   list-style: none;
}
html {
   scroll-behavior: smooth;
}
main {
   width: 100%;
}

section {
   width: 100%;
   display: flex;
   flex-direction: column;
   align-items: center;
}

.head {
   min-height: calc(100vh - 200px);
   background: #e35c5c;
   color: #fff;
   padding: 100px 0;
   position: relative;
}

.head > div {
   display: flex;
   flex-direction: column;
   align-items: center;
}

.title {
   font-size: 32px;
   letter-spacing: 5px;
   margin-bottom: 60px;
}

.title > p {
   margin-top: 10px;
   font-size: 24px;
   letter-spacing: 3px;
}

.title::after {
   content: "";
   height: 2px;
   width: 60%;
   background: #fff;
   margin-top: 20px;
}

.slogan {
   font-size: 24px;
   font-weight: 700;
   line-height: 2.6;
}
.slogan span {
   margin: 0 10px;
   padding: 10px;
   line-height: 1;
   background: #fff;
   color: #242424;
   border: solid 2px #242424;
}
.slogan > p {
   margin-bottom: 10px;
}

.downward {
   position: absolute;
   bottom: 14%;
   font-size: 40px;
   animation: jump 1.3s infinite;
   cursor: pointer;
   color: #fff;
   text-decoration: none;
}

@keyframes jump {
   0%,
   100% {
      transform: translateY(0);
   }
   50% {
      transform: translateY(20px);
   }
}

.sponsor-list {
   min-height: calc(100vh - 200px);
   background: #f5f5f5;
   padding: 100px 0;
   color: #212529;
}
.sponsor-list > div {
   width: 40%;
   background: #fff;
   border: solid 3px #242424;
   display: flex;
   flex-direction: column;
   align-items: center;
   padding: 40px;
}
.sponsor-list > div > h4 {
   font-size: 26px;
   letter-spacing: 5px;
   position: relative;
   margin-bottom: 40px;
}
.sponsor-list > div > h4 > b {
   font-size: 36px;
   color: #e35c5c;
}
.sponsor-list > div > h4::after {
   content: "";
   width: 70%;
   height: 2px;
   background: #242424;
   position: absolute;
   bottom: -25%;
   left: 50%;
   transform: translateX(-50%);
}

.content {
   display: flex;
   flex-direction: column;
   align-items: center;
}
.content > ul {
   width: 80%;
   display: flex;
   flex-wrap: wrap;
   margin-left: -30px;
   margin-top: -20px;
}

.content > ul > li {
   width: 35%;
   min-width: 150px;
   position: relative;
   margin-bottom: 10px;
   padding: 10px 20px;
   background: #f5f5f5;
   border-radius: 10px;
   margin-top: 20px;
   margin-left: 30px;
}
.content > ul > li > b {
   font-size: 18px;
}
.content > ul > li > p {
   color: #e35c5c;
   text-align: end;
   font-size: 16px;
   line-height: 1.4;
}
.content > ul > li > span {
   position: absolute;
   right: 5%;
   top: 10%;
   font-size: 12px;
   color: #e35c5c;
   opacity: 0.3;
   font-weight: 700;
}

.content > p {
   font-size: 20px;
   font-weight: 700;
   margin-top: 40px;
   position: relative;
   margin-bottom: 30px;
}
.content > p::after,
.content > p::before {
   content: "";
   width: 60%;
   height: 2px;
   position: absolute;
   top: 50%;
   background: #242424;
}
.content > p::after {
   left: 110%;
}
.content > p::before {
   right: 110%;
}

@media screen and (max-width: 600px) {
   .slogan {
      font-size: 20px;
   }
   .content > ul {
      flex-direction: column;
      flex-wrap: nowrap;
      align-items: center;
      margin: 0;
   }
}
@media screen and (max-width: 500px) {
   .title {
      font-size: 26px;
   }
   .title > p {
      font-size: 20px;
   }
   .slogan {
      font-size: 16px;
   }
   .content > ul > li {
      margin-left: 0;
   }
   .content > p::after,
   .content > p::before {
      width: 30%;
   }
   .sponsor-list > div {
      width: 50%;
   }
}

@media screen and (max-width: 420px) {
   .slogan span {
      margin: 0 5px;
      padding: 5px;
   }
   .sponsor-list > div {
      width: 60%;
   }
}

@media screen and (max-width: 370px) {
   .slogan {
      font-size: 15px;
   }
}
