@charset "utf-8";

/* common
============================================ */
body {
  font-family: "YakuHanRP", 'Zen Maru Gothic', sans-serif;
  font-weight: 500;
  color: #231815;
}

html {
  font-size: 62.5%;
  background: rgb(215, 229, 151);
  background: linear-gradient(0deg, rgba(215, 229, 151, 1) 70%, rgba(255, 255, 255, 1) 100%);
}

main {
  font-weight: 600;
  font-size: 1.6em;
  line-height: 1.67;
  max-width: 1200px;
  margin: 0 auto;
}

img {
  max-width: 100%;
  height: auto;
}

p {
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
}

.sans {
  font-family: "Noto Sans JP", sans-serif;
}

.red {
  color: #E60012;
}

.bold{
  -webkit-text-stroke: 0.5px #231815;
}

.flex {
  display: flex;
  justify-content: center;
  align-items: start;
}

@media screen and (max-width:767px) {
  .flex {
    flex-direction: column;
  }
}

.pc-only{
  display: block;
}
.sp-only{
  display: none;
}

@media screen and (max-width: 767px){
  .pc-only{
    display: none;
  }
  .sp-only{
    display: block;
  } 
}  

/* 共通
============================================ */
/* 白背景 */
.white-bg{
  background-color: #FFF;
  box-shadow: 0px 0px 18px 28px #FFF;
  border-radius: 40px;
}

/* ボタン */
.btn {
  margin-top: 40px;
  text-align: center;
}

.btn p {
  position: relative;
  display: inline-block;
  font-size: 19px;
  line-height: 1.35;
  text-align: center;
  letter-spacing: -0.06em;
  margin-bottom: 10px;
}

.btn p::before,
.btn p::after {
  position: absolute;
  top: 0.5rem;
  height: 4.6rem;
  content: '';
}

.btn p::before {
  border-left: solid 2px;
  left: -1.5rem;
  transform: rotate(-14deg);
}

.btn p::after {
  border-right: solid 2px;
  right: -1.5rem;
  transform: rotate(14deg);
}

.btn a {
  font-size: 20px;
  border-radius: 5px;
  color: #FFF;
  text-align: center;
  max-width: 420px;
  padding: 7px 0;
  display: block;
  margin: 0 auto;
  font-feature-settings: "palt";
  transition: all 0.3s ease;
  background-color: #E61673;
  min-height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn a span {
  display: block;
  font-size: 12.5px;
}

/* 画面サイドの募集ボタン */
.btn-red a{
  display: block;
  background-color: #D61F6D;
  font-size: 40px;
  color: #FFF;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  padding: 20px 0px;
  border-radius: 20px 0 0 20px;
  position: fixed;
  right: 0px;
  bottom: 25%;
  z-index: 2;
  border: 3px solid #D61F6D;
  transition: all 0.2s;
}

.btn-red a:hover{
  background-color: #f1f1f1;
  color: #D61F6D;
  border: 3px solid #D61F6D;
  border-right: none;
}

.btn-red a img{
  margin-left: 15px;
  margin-bottom: 10px;
}

/* sp時に表示する募集ボタン */
.btn-img02{
  display: none;
}



/* header
============================================ */
header {
  padding: 18px 0 0;
}

.contents_in {
  max-width: 1760px;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 80px;
}

header .logo {
  display: block;
  width: 220px;
}

.logo a {
  display: flex;
  align-items: center;
}

.menu_g nav {
  width: 100%;
}

.menu_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 4em;
}

.menu_list li {
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1.5em;
  position: relative;
}

.menu_list li::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 3px;
  background: #8ABA28;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: center top; 
  transition: transform 0.3s;
  }
  
  .menu_list li:hover::after {
  transform: scale(1, 1);
  }

/* top
============================================ */
#top {
  position: relative;
  max-width: 922.0124px;
  padding: 0 40px;
  width: 100%;
  margin: 0 auto;
  margin-top: 45px;
}

.top-txt02{
  text-align: center;
  font-size: 39px;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  line-height: 1.2;
  color: #EB6D8E;
  font-weight: 700;
  margin: 30px 0;
  position: relative;
}

.top-txt02::after{
  content: '';
  display: inline-block;
  background: url(../img/top_txt-deco.png) no-repeat;
  background-size: contain;
  width: 62px;
  height: 106px;
  position: absolute;
  bottom: 4px;
}

/* cts 募集リード
============================================ */
#cts {
  gap: 2em;
  margin-top: 45px;
}

.circle {
  max-width: 245px;
  width: 100%;
}

.cts__lead {
  font-size: 29px;
  max-width: 755.1595px;
  margin: 0 auto;
}

.cts__lead .ttl{
  background-color: #8ABA28;
  margin: 0 0 20px;
}

.cts__lead-sub {
  font-size: 24px;
  /* letter-spacing: 0.05em; */
  line-height: 1.5;
}

/* cts02 お題など
============================================ */
#cts02 {
  margin: 90px 15px 0;
}

.cts02-box{
  margin: 0 auto;
  max-width: 700px;
  padding: 40px 0 20px 7px;
}

/* theme */
.theme{
  padding-left: 8px;
}
.theme__ttl {
  align-items: center;
  justify-content: start;
}

.theme__ttl p {
  font-size: 25px;
  max-width: 536px;
  letter-spacing: 0.04em;
  text-align: justify;
  padding-left: 12px;
}

.theme .btn{
  margin-right: 8px;
  margin-top: 54px;
}

/* judge */
.judge {
  gap: 22px;
  justify-content: start;
  margin-top: 138px;
}

.judge-member {
  margin-top: -4px;
  gap: 31px 25px;
  flex-wrap: wrap;
  width: 80%;
  justify-content: left;
}

.judge-member li{
  display: flex;
  width: calc((100% / 2) - 50px);
  align-items: end;
  gap: 10px;
}

.judge__name {
  font-size: 15px;
  text-align: left;
  line-height: 1.2;
  font-weight: 800;
  white-space: nowrap;
}

.judge__name span {
  display: block;
  font-size: 12px;
}

.judge__name span.judge__name-s{
  letter-spacing: -0.1em;
}

/* prize */
.prize {
  gap: 12px;
  margin-top: 73px;
  justify-content: start;
}

.prise_ttl {
  flex-shrink: 0;
}

.prize-dsc {
  flex-wrap: wrap;
  font-weight: 800;
  justify-content: space-between;
  gap: 20px 0;
  margin-top: 30px;
}

.prize-cts {
  justify-content: start;
  gap: 10px;
}

.prize_img{
  margin-top: 28px;
  padding-right: 37px;
}

/* prize 共通 */
.prize__ttl{
  font-size: 12px;
}

.prize__txt{
  font-size: 21px;
  line-height: 0.4;
  letter-spacing: -0.025em;
}

.prize__capa {
  color: #FFF;
  border-radius: 5px;
  display: inline-block;
  text-align: center;
  font-size: 12px;
  padding: 5px 16px 3px;
  line-height: 1;
  margin-top: 6px;
  background-color: #E60012;
}

/* prize それぞれ */
.prize01 .price {
  font-size: 34px;
}

.prize01 .prize__capa{
  margin-top: 12px;
}

.prize03 .prize__ttl{
  font-size: 11px;
}

.prize03 .prize__txt{
  font-size: 18px;
  line-height: 0.8;
}

.prize03 .price {
  font-size: 28px;
}

/* prize-dsc02 */
.prize-dsc02{
  margin-top: 20px;
}

.prize-dsc02 .prize-cts{
  width: 100%;
  align-items: end;
  justify-content: space-between;
  gap: 5px;
}

.prize-dsc02 .prize__capa{
  margin-top: 0;
}

.prize-dsc02 .prize04 .price {
  font-size: 19px;
}

.prize-dsc02 .prize04 .prize__ttl {
  font-size: 10px;
  line-height: 1;
}

.prize-dsc02 .prize04 .prize__txt {
  font-size: 12px;
  line-height: 1;
  margin-bottom: 3px;
}

.prize-dsc02 .prize04 .prize__capa{
  font-size: 10px;
  padding: 3px 5px;
  margin-left: 2px;
  border-radius: 3px;
}

.prize-dsc02 .prize04-left{
  gap: 5px;
}

@media screen and (min-width:768px){
  .prize-dsc02 .prize04-right{
    width: 60%;
  }
  
  .prize-dsc02 .prize04-right .prize__ttl01{
    width: 35%;
    margin-right: 5px;
  }

  .prize-dsc02 .prize04-right.empathy .prize__ttl01{
    width: 45%;
    margin-right: 5px;
  }
}

.prize-dsc02 .prize-note{
  font-size: 11px;
  letter-spacing: 0.03em;
  position: relative;
  margin: 50px 0 10px;
}

.prize-dsc02 .prize-note::before{
  content: '';
  background-image: url(../img/prize-deco.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 48px;
  height: 23px;
  position: absolute;
  left: 0;
  top: -25px;
}

/* btn01 */
.btn01 a {
  font-size: 23px;
  color: #FFF;
  text-align: center;
  background-color: #D65E89;
  border-radius: 10px;
  max-width: 313px;
  padding: 20px;
  margin: 100px auto -20px;
  display: block;
  transition: all 0.3s ease;
}

.btn01 a:hover {
  background-color: #f7a9cc;
}

/* selection-schedule 選考・スケジュール */
.selection-schedule{
  margin-top: 98px;
  gap: 32px;
  justify-content: start;
  /* margin-bottom: 100px; */
}

.selection-schedule__dsc{
  margin-top: -5px;
  width: 75%;
}

.selection-schedule__dsc--cts{
  max-width: 565px;
}

.selection-schedule__dsc--cts:not(:first-of-type){
  margin-top: 25px;
}

.selection-schedule__dsc--ttl{
  font-size: 20px;
  padding-left: 1em;
  position: relative;
}

.selection-schedule__dsc--ttl::before{
  content: "";
  background-color: #8FC31F;
  width: 1.8rem;
  height: 1.8rem;
  display: block;
  border-radius: 50vh;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.selection-schedule__dsc--txt{
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-align: justify;
}

.selection-schedule__dsc--list li{
  margin-bottom: 1.5px;
  font-size: 18px;
  letter-spacing: 0.02em;
  padding-left: 1em;
  font-feature-settings: "palt";
  line-height: 1.6;
}

.selection-schedule__dsc--list li.note{
  line-height: 1.4;
  margin-top: 3px;
  line-height: 1.5;
  letter-spacing: 0.0008em;
}

/* txt-cts
============================================ */
.txt-cts {
  max-width: 751px;
  margin: 0 auto;
}

.ttl {
  text-align: center;
  font-size: 23px;
  letter-spacing: 0.1em;
  color: #FFF;
  border-radius: 15px;
  padding: 5px 0;
}

#recruiting .ttl{
  letter-spacing: 0.2em;
}

.txt-box {
  margin: 30px 0px 95px;
}

.txt {
  font-size: 18px;
  text-indent: 1em;
  font-weight: 700;
  line-height: 1.83;
}

/* recruiting
============================================ */
#recruiting .ttl{
  background-color: #8ABA28;
}

#recruiting .ttl{
  position: relative;
}

#recruiting .ttl img{
  position: absolute;
  top: -36px;
  left: calc(50% + 73px);
}


#recruiting ul.txt {
  text-indent: 0;
}

/* #recruiting li {
  margin-bottom: 5px;
} */

#recruiting li::before {
  position: relative;
  top: 8px;
  /* margin-right: 2px; */
  display: inline-block;
  width: 18px;
  height: 18px;
  content: '';
  border-radius: 100%;
  background: #8ABA28;
}

#recruiting li.list-nomal::before {
  top: 0;
}

.list-item {
  display: flex;
}

#recruiting .list-ttl {
  width: 12%;
}

#recruiting .list-txt {
  width: 85%;
  line-height: 1.83;
  letter-spacing: -0.06em;
}

.list-nomal .list-txt {
  width: 100%;
}

.list-nomal .list-txt {
  margin-left: 1.5em;
}

.list-nomal .red{
  position: relative;
}

.list-nomal .red::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #E60012;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
  }

.list-nomal .red:hover::after {
  transform: scale(1, 1);
  }

#recruiting .list-note{
  padding-left: 1em;
  font-size: 18px;
  line-height: 1.85;
}

.list-txt__prize span {
  display: block;
  text-indent: 8.7em;
}

.list-txt_judge {
  text-indent: 0.5em;
}

.list-txt_note span {
  display: block;
  text-indent: 1em;
}

.list-note {
  font-size: 14px;
  line-height: 1.57;
}

#recruiting .list-note p {
  text-indent: -1em;
  padding-left: 1em;
}

.list-note_ttl {
  margin-top: 20px;
}

/* recruiting 20231011 */
#recruiting{
  margin-top: 148px;
  margin-bottom: 90px;
}

#recruiting li.terms-selection{
  margin-top: -1px;
  margin-left: 8px;
  font-size: 22px;
  border-bottom: 1px solid #000;
  max-width: 315px;
}

#recruiting .txt-box{
  margin-top: 22px;
  margin-left: -3px;
  margin-bottom: 0;
}

#recruiting  .btn{
  margin-top: 91px;
}

#recruiting .btn a {
  font-size: 17px;
  letter-spacing: 0;
}

/* moyamoya
============================================ */
.moyamoya{
  background-color: #F9DBE8;
  padding: 30px 47px 65px 57px;
  margin: 0 0px 117px;
}

.moyamoya__ttl img{
  margin: 0 auto;
}

.moyamoya__dsc{
  background-color: #FFF;
  border-radius: 18px;
  padding: 17px 27px 21px;
  margin-top: 25px;
  text-align: justify;
}

.moyamoya__dsc .txt{
  font-size: 21px;
  line-height: 1.62;
}

.sponsor{
  margin-top: 62px;
}

.sponsor__ttl{
  font-size: 22px;
  text-align: center;
  background-color: #2EA7E0;
  color: #FFF;
  padding: 10px 0;
  border-radius: 21px 21px 0 0;
}

.sponsor__list{
  background-color: #FFF;
  border-radius: 0 0 26px 26px;
}

.sponsor__list li{
  padding: 10px 0 40px;
  position: relative;
}

.sponsor__list li:not(:last-of-type)::after{
  content:"";
  display:block;
  max-width:595px;
  width: 100%;
  border-bottom:1px solid #3a312f75;
  position:absolute;
  bottom:0;
  left:50%;
  transform: translateX(-50%);
}

.sponsor__list--logo{
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sponsor__list--txt{
  max-width: 465px;
  font-size: 18px;
  line-height: 1.4;
  margin: 0 auto;
}

.sponsor__list--btn{
  margin-top: 35px;
  text-align: center;
}

.sponsor__list--btn a{
  padding: 2px 25px 5px;
  font-size: 19px;
  letter-spacing: -0.01em;
  background-color: #D61F6D;
  color: #FFF;
  border-radius: 50vh;
}

/* gender
============================================ */
.gender .ttl{
  background-color: #B28247;
}

.gender .cts-ttl{
  font-size: 23px;
  text-align: center;
  margin-top: 34px;
  letter-spacing: 0.2em;
}

.gender .txt-box{
  /* margin-top: 20px; */
  margin: 12px 12px 0;
}

.gender .txt{
  font-size: 19px;
  line-height: 1.62;
  text-align: justify;
}

.gender #hiroshima .cts-ttl{
  color: #B28247;
}

.gender .link-area{
  justify-content: space-between;
}

.gender .link-area .btn{
  margin-top: 10px;
}

.gender .btn a{
  flex-direction: column;
  font-size: 19px;
}

.gender #hiroshima .btn a {
  background-color: #2EA7E0;
  min-width: 330px;
}

.gender #hiroshima .btn a:hover {
  background-color: #7ed3fa;
}

.gender #hiroshima .btn p {
  color: #1C96D5;
}

.gender #sharing{
  margin-top: 68px;
}

.gender #sharing .cts-ttl{
  letter-spacing: 0.065em;
  color: #EB6100;
}

.gender #sharing .txt-box {
  margin: 12px 5px 0;
}

.gender #sharing .txt-box .txt{
  letter-spacing: -0.03em;
}

.gender #sharing .btn p {
  color: #EB6100;
}

.gender #sharing .btn p::before{
  left: -2em;
}

.gender #sharing .btn p::after{
  right: -2em;
}

.gender #sharing .btn a{
  max-width: 330px;
  background-color: #F39800;
}

.gender .gender-book{
  max-width: 420px;
  padding: 20px 20px 30px;
  margin: 150px auto 125px;
}

.gender .gender-book__link{
  margin-top: 20px;
  text-align: center;
  display: block;
}

/* qa
============================================ */
#qa .ttl {
  background-color: #1C96D5;
}

.Qa-Box {
  font-size: 21px;
  line-height: 1.57;
  font-weight: 700;
}

.Qa-Box .Qa {
  padding: 20px 0;
  border-bottom: 1px solid #1C96D5;
}

.Qa-Box .Qa:last-of-type{
  border-bottom: none;
}

.Qa-Box .Qa dt {
  margin-bottom: 20px;
  color: #1C96D5;
}

.Qa-Box .Qa dd {
  color: #E84482;
  text-indent: -1.5em;
  padding-left: 1.5em;
}

/* post
============================================ */
.arrow_box {
  position: relative;
  background: #FFFFFF;
  padding: 5px;
  text-align: center;
  border: 4px solid #AD7F47;
  color: #AD7F47;
  font-size: 31px;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: 25px;
  margin: 55px auto 30px;
}

.arrow_box:after,
.arrow_box:before {
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 50%;
}

.arrow_box:after {
  border-color: rgba(255, 255, 255, 0);
  border-top-width: 18px;
  /* border-bottom-width: 23px; */
  border-left-width: 11px;
  border-right-width: 11px;
  margin-left: -11px;
  border-top-color: #FFFFFF;
}

.arrow_box:before {
  border-color: rgba(173, 127, 71, 0);
  border-top-width: 24px;
  border-bottom-width: 28px;
  border-left-width: 15px;
  border-right-width: 15px;
  margin-left: -15px;
  margin-top: 1px;
  border-top-color: #AD7F47;
}

/* footer
============================================ */
footer{
  background-color: #FFF;
  padding: 60px 20px;
}

.footer-area{
  max-width: 1200px;
  margin: 0 auto;
}

.footer-area__lead{
  font-size: 30px;
  line-height: 1.33;
  font-weight: bold;
  text-align: center;
  display: flex;
}

.footer-cts {
  display: flex;
  align-items: start;
  justify-content: space-between;
  margin-top: 40px;
}

.footer-cts p{
  font-weight: bold;
}

.footer-cts__l--sponsor:not(:last-of-type){
  margin-bottom: 40px;
}

.footer-cts__ttl{
  font-size: 21px;
  margin-bottom: 20px;
}

.footer-cts__ttl.space{
  width: 7em;
  display: block;
  text-align-last: justify;
}

.footer-cts01{
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}

.footer-cts01 .footer-cts__ttl{
  margin-bottom: 0;
}

.footer-cts01 img {
  margin-left: 30px;
}

.footer-cts02 img {
  margin-right: 20px;
}

.footer-cts03__place{
  margin-bottom: 5px;
}

.footer-cts03__place p {
  font-size: 23px;
  line-height: 1.74;
}

.footer-cts03__address{
  font-size: 16px;
  margin-bottom: 15px;
}

.footer-cts03 .contact {
  font-size: 26px;
}

.footer-cts03 .contact:not(:last-of-type){
  margin-bottom: 10px;
}

.footer-cts03 .contact span {
  font-size: 16px;
  margin-left: 5px;
}

.footer-cts03 .contact span:first-of-type {
  margin-left: 0;
}

.footer-cts03__place{
  display: flex;
  align-items: center;
}

#footer .privacy{
  font-size: 14px;
  margin-top: 15px;
  position: relative;
  display: inline-block;
  left: 15px;
  display: none;
}

#footer .privacy::before,#footer .privacy::after{
  content: '';
  display:inline-block;
  height: 20px;
  width: 1px;
  background: #000;
  position: absolute;
}

#footer .privacy::before{
  left: -10px;
}

#footer .privacy::after{
  right: -10px;
}

#footer .privacy a{
  position: relative;
  display: inline-block;
}

#footer .privacy a::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #FFF;
  bottom: -2px;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
  }
  
#footer .privacy a:hover::after {
  transform: scale(1, 1);
  }

@media screen and (min-width:1041px) {
  .openbtn {
    display: none;
  }

  #g-nav {
    display: none;
  }
}

.under-page-footer{
  padding: 0;
}

/* topボタン */
.scroll-top{
  display: block;
  position: sticky;
  bottom: 30px;
  margin: 0 80px 10px auto;
  width: 60px;
  height: 60px;
  background: white;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 3px solid #1C96D5;
}

/* >応募規約と選考方法
============================================ */
.p-terms-selection{
  max-width: 727px;
  margin: 30px auto;
}
.p-terms-selection .ttl {
  background-color: #8ABA28;
  position: relative;
}

.p-terms-selection ul{
  margin-top: 50px;
}

.p-terms-selection ul.txt {
  text-indent: 0;
}

.p-terms-selection li {
  margin-bottom: 5px;
  font-size: 24px;
}

.p-terms-selection li:not(:first-of-type){
  margin-top: 50px;
}

.p-terms-selection li::before {
  position: relative;
  top: 8px;
  margin-right: 2px;
  display: inline-block;
  width: 18px;
  height: 18px;
  content: '';
  border-radius: 100%;
  background: #8ABA28;
}

.p-terms-selection li.list-nomal::before {
  top: 0;
}

.list-item {
  display: flex;
}

.list-txt {
  line-height: 1.83;
  letter-spacing: -0.07em;
}

.list-nomal .list-txt {
  width: 100%;
}

.list-nomal .list-txt {
  margin-left: 1.5em;
}

.list-note {
  font-size: 14px;
  line-height: 1.57;
}

.p-terms-selection .list-note p {
  font-size: 20px;
  text-indent: -1em;
  padding-left: 1em;
}

.list-note_ttl:not(:first-of-type) {
  margin-top: 40px;
}

/* >協賛企業ページ
============================================ */
.p-sponsor{
  margin: 0px 15px 0;
}

.p-sponsor__lead{
  font-size: 30px;
  text-align: center;
  margin-bottom: 60px;
}

.p-sponsor__ttl{
  background-color: #F19CA6;
  max-width: 728px;
  margin: 0 auto 55px;
  font-size: 27px;
}

.p-sponsor__company-name{
  font-size: 48px;
  letter-spacing: -0.05em;
  text-align: center;
  margin-bottom: 75px;
}

.p-sponsor__cts{
  margin: 0 45px 160px;
  padding: 20px;
}

.p-sponsor__cts .white-bg{
  max-width: 800px;
  margin: 0 auto;
  padding-bottom: 60px;
}

.p-sponsor__cts--lead{
  font-size: 36px;
  letter-spacing: -0.05em;
  text-align: center;
  color: #D61F6D;
  margin-bottom: 40px;
  padding-top: 40px;
  line-height: 1.27;
}

.p-sponsor__cts__person{
  text-align: center;
  margin-bottom: 60px;
}

.p-sponsor__cts--name{
  font-size: 22px;
  margin-bottom: 40px;
  letter-spacing: -0.1em;
}

.p-sponsor__cts--txt-area{
  max-width: 660px;
  margin: 0 auto;
}

.p-sponsor__cts--txt-area h5{
  font-size: 22px;
  color: #29A339;
  margin: 50px 0 20px;
  padding-left: 1em;
  text-indent: -1.5em;
  line-height: 1.2;
  letter-spacing: -0.05em;
}

.p-sponsor__cts--txt-area p {
  text-indent: 1em;
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: -0.01em;
}

.p-sponsor__cts--txt-area p.txt-margin{
  margin-top: 1em;
}

.p-sponsor__cts--txt-area img{
  max-width: 470px;
  width: 100%;
  margin: 45px auto;
  display: block;
}

.p-sponsor__link-area--ttl{
  font-size: 36px;
  color: #2CA6E0;
  text-align: center;
}

.p-sponsor__link-area--list{
  max-width: 544px;
  margin: 20px auto 50px;
}

.p-sponsor__link-area--list li{
  text-align: center;
  padding: 20px 10px;
}

.p-sponsor__link-area--list li:has(.none){
  background-color: #C9CACA;
}

.p-sponsor__link-area--list .link{
  font-size: 36px;
  letter-spacing: -0.08em;
  padding: 0 10px;
  text-align-last: justify;
  display: block;
  position: relative;
}

.p-sponsor__link-area--list .link::after{
  position: absolute;
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  max-width: 515px;
  width: 100%;
  border-bottom: 1px solid #231815;
}

.p-sponsor__link-area--list .link:not(.none):hover{
  color: #1D2975;
}

.p-sponsor__link-area--list .link:not(.none):hover::after{
  border-bottom: 1px solid #1D2975;
}

.to-toppage{
  max-width: 437px;
  margin: 80px auto;
}

.to-toppage a{
  background-color: #FFF;
  border: 3px solid #E61673;
  display: block;
  width: 100%;
  text-align: center;
  font-size: 20px;
  color: #E61673;
  border-radius: 50vh;
  padding: 10px;
}

.to-toppage a:hover{
  background-color: #E61673;
  color: #FFF;
}

@media screen and (max-width:1120px){
  footer{
    padding: 35px 25px 65px;
  }

  .footer-cts{
    flex-direction: column;
    max-width: 500px;
    margin: 40px auto 0;
  }

  .footer-area__lead{
    text-align: center;
    justify-content: center;
    font-size: 17px;
    line-height: 1.5;
  }

  .footer-cts__ttl{
    font-size: 15px;
    margin-bottom: 15px;
    text-align: center;
  }

  .footer-cts__l--sponsor:not(:last-of-type){
    margin-bottom: 30px;
  }

  .footer-cts__r{
    margin-top: 50px;
  }

  .footer-cts01{
    flex-direction: row;
    width: 235px;
    margin-bottom: 14px;
  }

  .footer-cts01 p, .footer-cts02 p{
    font-size: 15px;
    margin-right: 0;
  }

  .footer-cts01 p{
    letter-spacing: 1em;
  }

  .footer-cts01 img{
    margin-right: 0;
    width: 91.5px;
    margin-left: 0px;
  }

  .footer-cts02{
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .footer-cts02 .footer-cts__ttl{
    margin-bottom: 0;
  }

  .footer-cts02 img{
    margin-right: 0;
    width: 109px;
    height: 25px;
  }

  .footer-cts03{
    position: relative;
  }

  .footer-cts03__place p{
    font-size: 17px;
    line-height: 1.35;
    margin-top: 10px;
  }

  .footer-cts03__address{
    font-size: 12px;
    margin-bottom: 5px;
  }

  .footer-cts03 .contact{
    font-size: 18px;
    letter-spacing: -0.06em;
  }

  .footer-cts03 .contact span{
    font-size: 12px;
  }

  .footer-cts03 .contact:not(:last-of-type){
    margin-bottom: 5px;
  }

  #footer .privacy {
    font-size: 13px;
    display: block;
    position: absolute;
    right: 30px;
    left: inherit;
    font-weight: bold;
  }
}

@media screen and (max-width:1040px) {
  /* hamburgerメニュー 
============================================ */
  .menu_g{
    display: none;
  }

  .contents_in{
    padding: 0 20px;
  }

  .contents_in .logo{
    max-width: 202px;
  }

  #p-top .contents_in{
    display: none;
  }

  #g-nav {
    position: fixed;
    z-index: 999;
    top: 0;
    right: -120%;
    width: 100%;
    height: 100vh;
    background-color: rgba(255,255,255,0.90);
    transition: all 0.6s;
  }

  #g-nav.panelactive {
    right: 0;
  }

  /*ナビゲーション*/
  #g-nav ul {
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  /*リストのレイアウト設定*/

  #g-nav li {
    list-style: none;
    text-align: center;
  }

  #g-nav li a {
    font-size: 18px;
    color: #231815;
    display: block;
    text-transform: uppercase;
    font-weight: bold;
    margin-bottom: 1.5em;
  }

  /*========= ボタンのためのCSS ==========*/
  .openbtn {
    position: fixed;
    z-index: 9999;
    top: -3px;
    right: 15px;
    cursor: pointer;
    width: 50px;
    height: 50px;
  }

  /*×に変化*/
  .openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 4px;
    height: 3px;
    border-radius: 2px;
    background-color: #9FA0A0;
    width: 42px;
  }

  .openbtn span:nth-of-type(1) {
    top: 15px;
  }

  .openbtn span:nth-of-type(2) {
    top: 23px;
  }

  .openbtn span:nth-of-type(3) {
    top: 31px;
  }

  .openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 8px;
    transform: translateY(6px) rotate(-45deg);
    width: 65%;
  }

  .openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }

  .openbtn.active span:nth-of-type(3) {
    top: 30px;
    left: 8px;
    transform: translateY(-6px) rotate(45deg);
    width: 65%;
  }

  .btn-red a{
    font-size: 26px;
    width: 46px;
    padding-left: 11px;
  }

  .scroll-top{
    margin: 0 50px 10px auto;
  }

  /* >協賛企業ページ */
  .p-sponsor__lead{
    position: absolute;
    left: 250px;
    /* transform: translateX(-45%); */
    max-width: 360px;
    top: 50px;
    text-align: left;
  }

  .p-sponsor__ttl{
    margin-top: 20px;
  }
}

@media screen and (max-width:767px) {
  html{
    background: rgb(215, 229, 151);
    background: linear-gradient(0deg, rgba(215, 229, 151, 1) 70%, rgba(255, 255, 255, 1) 100%);
  }

  .white-bg{
    border-radius: 10px;
    box-shadow: 0px 0px 10px 10px #FFF;
  }

  /* btn */
  .btn01{
    display: none;
  }

  .btn-red{
    margin: 20px 0 50px;
  }

  .btn-red a{
    position: inherit;
    writing-mode: inherit;
    font-size: 20px;
    display: flex;
    padding: 5px 0;
    border-radius: 10px;
    justify-content: center;
    width: 350px;
    margin: 0 auto;
    position: relative;
    bottom: 0;
  }

  .btn-img01{
    display: none;
  }

  .btn-img02{
    display: block;
    width: 35px;
    position: absolute;
    right: 50px;
    bottom: -8px;
  }

  .ttl{
    margin: 0 23px;
    font-size: 17px;
    border-radius: 10px;
    padding: 5px;
    letter-spacing: 0.1em;
    line-height: 1.47;
  }

  .txt-box{
    margin: 15px 23px 50px;
  }

  .txt{
    font-size: 15px;
  }

  /* header
  ============================================ */
  #p-top header{
    padding-top: 0;
  }

  .contents_in .logo {
    max-width: 100px;
  }

  /*top
  ============================================ */
  #top{
    padding: 0;
    margin-top: 51px;
  }

  .top-txt{
    font-size: 12px;
    right: 10px;
  }

  /* top 20231011 */
  .top-txt02{
    font-size: 21px;
    margin: 20px 0 0;
  }

  .top-txt02::after{
    width: 34px;
    height: 58px;
  }

  #top .top-logo{
    padding: 0 12px;
  }

  .circle{
    margin: 15px auto 0;
    max-width: 234.5449px;
  }

  .cts__lead{
    /* font-size: 24px; */
    /* line-height: 1.4; */
    margin: 65px 24px 0;
    /* max-width: 323px; */
  }

  .cts__lead-sub{
    font-size: 15.5px;
    letter-spacing: -0.01em;
    line-height: 1.63;
  }

  #cts{
    margin-top: 10px;
  }

  #cts02{
    margin: 65px 25px 0;
  }

  .cts02-box{
    padding: 25px 8px;
    /* box-shadow: 0px 0px 10px 10px #FFF; */
    /* border-radius: 20px; */
  }

  .theme .btn{
    max-width: 285px;
    margin: 55px auto 0;
  }

  #cts02 h2:has(img){
    width: 122px;
  }

  #cts02 .flex:first-child h2{
    width: 136px;
  }


  .theme__ttl p{
    font-size: 17px;
    line-height: 1.48;
    padding: 0;
    margin-top: 20px;
  }

  .sample__ttl{
    font-size: 14px;
  }

  .sample img {
    width: 276px;
  }

  /* judge */
  .judge{
    margin-top: 50px;
    align-items: center;
    gap: 15px;
  }

  .judge-member{
    margin-top: 5px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: initial;
    gap: 13px 30px;
    width: 90%;
    max-width: 330px;
  }

  .judge-member.flex img {
    width: 129px;
  }

  .judge-member li{
    flex-direction: column;
    align-items: center;
    width: calc((100% / 2) - 15px);
    gap: 5px;
  }

  .judge__name span.judge__name-s{
    font-size: 10px;
    letter-spacing: -0.1em;
  }

  .judge__name{
    text-align: center;
    line-height: 1.5;
  }

  .prize{
    margin-top: 50px;
    align-items: center;
  }

  .prize-dsc{
    margin-top: 0;
    align-items: center;
    gap: 40px 0;
  }

  .prize-cts{
    flex-direction: row;
    width: 270px;
  }

  .prize_img{
    max-width: 400px;
    margin-top: 6px;
    padding: 0 8px;
  }

  .prize01 .prize__ttl, .prize02 .prize__ttl{
    font-size: 17px;
  }

  .prize01 .prize__txt, .prize02 .prize__txt{
    font-size: 30px;
  }

  .prize01 .price, .prize02 .price{
    font-size: 42px;
  }

  .prize01 .prize__capa, .prize02 .prize__capa{
    font-size: 19px;
    margin-top: 20px;
    width: 85px;
  }

  .prize01 img {
    width: 54px;
  }

  .prize02 img {
    width: 54px;
  }

  .prize03 img {
    width: 42px;
    margin-right: 14px;
  }

  .prize03 .prize__ttl, .prize04 .prize__ttl{
    font-size: 14px;
    letter-spacing: -0.1em;
  }

  .prize03 .prize__txt{
    font-size: 25px;
  }

  .prize03 .price{
    font-size: 35px;
  }

  .prize03 .prize__capa{
    font-size: 16px;
    width: 60px;
    margin-top: 10px;
  }

  .prize04 img {
    width: 35px;
    margin-right: 20px;
  }

  .prize04 .prize__txt{
    font-size: 20px;
  }

  .prize04 .price{
    font-size: 32px;
  }

  .prize04 .prize__txt-sub{
    margin-left: 0;
  }

  .prize04 .prize__capa{
    font-size: 14px;
    margin-left: 20px;
    width: 55px;
  }

  .prize05{
    flex-direction: row;
    align-items: start;
  }

  .prize05 .prize__ttl01{
    font-size: 12px;
  }

  .prize05 .prize__ttl01::after{
    border-left: 13px solid #E60012;
    border-top: 23px solid transparent;
    border-right: 14px solid transparent;
    border-bottom: 25px solid transparent;
  }

  .prize05 .prize__txt{
    font-size: 14px;
    margin-bottom: 0;
    line-height: 1.5;
  }

  .prize05 .prize__ttl02{
    margin: 0 5px 0 20px;
  }

  .prize05 .prize__capa{
    width: 55px;
    padding: 2px 0;
    font-size: 14px;
  }

  .prize-dsc02{
    margin-top: 40px;
  }

  .prize-dsc02 .prize-cts{
    flex-direction: column;
    align-items: start;
    gap: 40px;
  }

  .prize-dsc02 .prize04-left{
    flex-direction: row;
    align-items: start;
    margin: 0 auto;
  }

  .prize-dsc02 .prize04 .prize__ttl{
    font-size: 14px;
  }

  .prize-dsc02 .prize04 .prize__txt{
    font-size: 20px;
    margin-right: 28px;
  }

  .prize-dsc02 .prize04 .price{
    font-size: 32px;
  }

  .prize04 .prize__capa{
    width: inherit;
  }

  .prize-dsc02 .prize04 .prize__capa{
    font-size: 17px;
  }

  .prize-dsc02 .prize04-right{
    flex-direction: row;
    margin: 0 auto;
  }

  .prize-dsc02 .prize04-right .prize__ttl01{
    width: 35%;
  }

  .prize-dsc02 .prize04-right .prize__ttl01 img{
    width: 100%;
  }

  .prize-dsc02 .prize04-right .prize__txt{
    width: 60%;
    font-size: 14px;
    text-align: right;
    margin-right: 0;
  }

  .prize-dsc02 .prize04-right .price{
    font-size: 24px;
  }

  .prize-dsc02 .prize04-right .prize__capa{
    max-width: 63px;
  }

  .prize-dsc02 .prize-note::before{
    width: 100px;
    height: 47px;
    top: -55px;
  }

  .prize-dsc02 .prize-note{
    font-size: 16px;
    margin: 100px auto 40px;
    max-width: 300px;
  }

  .prize-dsc02 .prize04-left.empathy .prize__capa{
    display: block;
    max-width: 58px;
    margin-top: 10px;
  }

  .prize-dsc02 .prize04-right.empathy .prize__ttl01{
    width: 60%;
  }

  .selection-schedule{
    align-items: center;
    margin-bottom: 0px;
    margin-top: 44px;
    gap: 17px;
  }

  .selection-schedule__dsc{
    max-width: 565px;
    width: 90%;
  }

  .selection-schedule__dsc--cts:not(:first-of-type){
    margin-top: 18px;
  }

  .selection-schedule__dsc--ttl{
    font-size: 14px;
    line-height: 1.45;
  }

  .selection-schedule__dsc--ttl::before{
    width: 1.2rem;
    height: 1.2rem;
  }

  .selection-schedule__dsc--txt{
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: -0.001em;
  }

  .selection-schedule__dsc--list li{
    font-size: 12px;
    margin-bottom: 0;
    line-height: 1.5;
  }

  .selection-schedule__dsc--list li.note{
    padding: 0;
    text-indent: 1em;
  }

  /*recruiting
  ============================ */
  #recruiting{
    margin-top: 88px;
    margin-bottom: 70px;
  }


  #recruiting .ttl img{
    width: 30px;
    top: -24px;
    left: calc(50% + 44px);
  }

  #recruiting .txt-box{
    margin: 9px 27px 0;
  }

  #recruiting .txt{
    font-size: 12px;
  }

  #recruiting li{
    margin-bottom: 0;
  }

  #recruiting li::before{
    width: 12px;
    height: 12px;
    top: 6px;
  }

  #recruiting li.terms-selection{
    font-size: 15px;
    max-width: 210px;
    margin-left: 0px;
    margin-top: 3px;
  }

  #recruiting li.method{
    margin-top: -4px;
    flex-wrap: wrap;
  }

  #recruiting li.method .list-ttl{
    width: 90%;
  }

  #recruiting li.method > p:nth-of-type(2){
    padding-left: 1em;
    line-height: 1.58;
  }

  #recruiting .list-note{
    padding-left: 0.6em;
    margin: 0;
  }

  #recruiting .list-note p{
    font-size: 12px;
    line-height: 1.58;
  }

  #recruiting .list-ttl {
    width: 20%;
  }

  #recruiting .list-txt{
    line-height: 1.58;
    width: 80%;
  }

  .list-ttl {
    width: 20%;
  }

  .list-nomal .list-judge{
    width: 87%;
  }

  .list-txt{
    width: 80%;
  }

  .list-item-prize .list-ttl{
    width: 17%;
  }

  .list-item-prize .list-txt{
    width: 83%;
  }

  .list-txt__prize span{
    text-indent: 8.65em;
  }
  
  .list-txt_note span{
    display: inline;
    text-indent: inherit;
  }

  #recruiting .btn{
    max-width: 310px;
    margin: 68px auto 0;
  }

  #recruiting .btn a{
    padding: 8px;
  }

  /* judge */
  .list-judge{
    margin-left: 24px !important;
  }

  .list-txt_judge{
    padding-left: 0 !important;
    text-indent: 0.5em !important;
  }

  .list-nomal .list-txt{
    margin-left: 0;
  }

  .list-note{
    font-size: 10px;
    margin-left: 1.2em;
  }

  .list-note_ttl:not(:first-of-type) {
    margin-top: 23px;
  }

  #recruiting .btn a{
    font-size: 11.5px;
  }

  /* btn */
  .btn p{
    font-size: 19px;
    line-height: 1.32;
  }

  .btn a{
    font-size: 13px;
    padding: 8px 0 10px;
    line-height: 1.67;
    min-height: inherit;
    padding: 4px 0;
  }

  .btn a span{
    font-size: 12.5px;
  }

  .btn p::before, .btn p::after{
    height: 4rem;
  }

  .btn p::before{
    border-left: solid 1px;
    left: -0.5rem;
  }

  .btn p::after{
    border-right: solid 1px;
    right: -0.5em;
  }

  /* .moyamoya 
  ============================================ */
  .moyamoya{
    padding: 10px 0;
    margin: 0 25px 80px;
  }

  .moyamoya__dsc{
    margin: 8px 24px;
    border-radius: 12px;
    padding: 9px 17px;
  }

  .moyamoya__dsc .txt{
    font-size: 15px;
    line-height: 1.58;
  }

  .sponsor{
    margin: 27px 24px 14px;
  }

  .sponsor__ttl{
    font-size: 16px;
    border-radius: 11px 11px 0 0;
    padding: 3px 0;
  }

  .sponsor__list{
    border-radius: 0 0 11px 11px;
    padding-bottom: 12px;
  }

  .sponsor__list li{
    padding: 0 0 23px;
  }

  .sponsor__list--logo{
    justify-content: start;
    background-color: #DFF2FC;
    padding-left: 14px;
    height: 57.5px;
  }

  .sponsor__list--logo img{
    height: 43px;
  }

  .sponsor__list--txt{
    font-size: 13px;
    padding: 10px 14px 0;
  }

  .sponsor__list--btn{
    margin-top: 15px;
  }

  .sponsor__list--btn a{
    font-size: 14px;
    padding: 2px 14px 3px
  }

  .sponsor__list li:not(:last-of-type)::after{
    max-width: 260px;
  }

  /* gender 
  ============================================ */
  .gender .ttl{
    font-size: 21px;
    padding: 14px 0;
  }

  .gender .cts-ttl{
    font-size: 19px;
    line-height: 1.4;
    margin-top: 25px;
  }

  .gender .txt-box{
    margin: 8px 24px;
    font-size: 15.5px;
    letter-spacing: 0.03em;
    line-height: 1.54;
  }

  .gender .txt{
    font-size: 15px;
  }

  .gender .link-area{
    margin-top: 20px;
    gap: 32px;
    align-items: center;
  }

  .gender .btn a{
    font-size: 19px;
    line-height: 1.7;
    padding: 8px 0;
  }

  .gender .btn a span{
    font-size: 14px;
  }

  .gender #hiroshima .btn:first-of-type p::before{
    left: -2rem;
  }

  .gender #hiroshima .btn:first-of-type p::after{
    right: -2rem;
  }

  /* sharing
  ============================================ */
  .gender #sharing{
    margin-top: 60px;
  }

  .gender #sharing .cts-ttl{
    letter-spacing: 0.16em;
  }

  .sharing-ttl{
    letter-spacing: 0.16em;
  }

  .gender #sharing .txt-box .txt{
    margin: 0 20px;
    letter-spacing: 0.03em;
  }

  #sharing .btn{
    margin-top: 27px;
  }

  .gender #sharing .btn p::before{
    left: -0.5em;
  }

  .gender #sharing .btn p::after{
    right: -0.5em;
  }

  #sharing .btn a{
    line-height: 1.38;
    padding: 12px 0;
  }

  #sharing .btn a span{
    margin-top: 5px;
  }

  /* 解消本 */
  .gender .gender-book{
    margin: 96px auto 60px;
    max-width: 320px;
    padding: 11px 7px 25px;
  }

  .gender .gender-book p{
    font-size: 13px;
  }

  .gender .gender-book__link{
    padding: 0 32px;
  }

  /* QA
  ============================================ */

  .Qa-Box{
    font-size: 15px;
    line-height: 1.33;
  }

  .Qa-Box .Qa{
    padding: 15px 0;
    border-bottom: 1px solid #87c5e5;
  }

  .Qa-Box .Qa dt{
    margin-bottom: 10px;
    text-indent: -1.5em;
    padding-left: 1.5em;
  }

  /* post
  ============================================ */
  #post{
    /* margin-bottom: 120px; */
    margin: 16px 25px;
  }

  #post .post_lead{
    font-size: 21px;
    margin-bottom: 30px;
  }

  #post .post_lead::after{
    width: 34.5586px;
    height: 58.6865px;
    right: -37px;
    bottom: 4px;
  }

  #post .white-bg{
    padding-top: 22px;
  }

  .arrow_box{
    font-size: 22px;
    max-width: 256px;
    border: 1.5px solid #AD7F47;
    margin: 20px auto;
  }

  .arrow_box:before {
    border-top-width: 14px;
    border-bottom-width: 28px;
    border-left-width: 9px;
    border-right-width: 9px;
    margin-left: -9px;
  }

  .arrow_box:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  border-left-width: 8px;
  border-right-width: 8px;
  margin-left: -8px;
  }

  /* post 20231011 */
  #post .arrow_box{
    border-radius: 10px;
  }

  #post .txt-box{
    margin: 30px 10px 25px;
    padding: 0;
  }

  #post .txt{
    font-size: 19.5px;
    line-height: 1.4;
    /* padding-left: 0.5em; */
    text-indent: 0.8em;
    letter-spacing: -0.01em;
  }

  .post-img{
    max-width: 310px;
  }

  /* topへボタン */
  .scroll-top{
    width: 45px;
    height: 45px;
    border: 2px solid #1C96D5;
    bottom: 10px;
    margin: 0 10px 5px auto;
  }

  .scroll-top img{
    width: 28.5px;
    margin-bottom: 3px ;
  }

  /*＞応募規約と選考方法ページ
  ============================================ */
  .p-terms-selection{
    margin-top: 10px;
  }

  .p-terms-selection ul{
    margin: 20px auto 80px;
    padding: 0 35px;
  }

  .p-terms-selection li{
    font-size: 12px;
  }

  .p-terms-selection li:not(:first-of-type){
    margin-top: 23px;
  }

  .p-terms-selection li::before{
    width: 12px;
    height: 12px;
  }

  .p-terms-selection .list-note p{
    font-size: 10px;
  }

  /*＞協賛企業ページ
  ============================================ */
  .p-sponsor{
    margin-top: 0;
  }

  .p-sponsor__lead{
    font-size: 17px;
    left: 130px;
    top: 20px;
    margin-bottom: 0;
  }

  .p-sponsor__ttl{
    margin:20px 0 30px;
  }

  .p-sponsor__company-name{
    font-size: 24px;
    letter-spacing: -0.15em;
    margin-bottom: 20px;
  }

  .p-sponsor__cts{
    margin: 0 0 80px;
  }

  .p-sponsor__cts .white-bg{
    padding-bottom: 10px;
  }

  .p-sponsor__cts--lead{
    font-size: 24px;
    margin-bottom: 10px;
    padding-top: 10px;
  }

  .p-sponsor__cts--name{
    font-size: 12px;
    margin-bottom: 30px;
  }

  .p-sponsor__cts__person{
    margin-bottom: 0;
  }

  .p-sponsor__cts--txt-area{
    padding: 0 10px;
  }

  .p-sponsor__cts--txt-area h5{
    font-size: 14px;
    margin: 30px 0 15px;
  }

  .p-sponsor__cts--txt-area p{
    font-size: 12px;
  }

  .p-sponsor__link-area{
    margin-top: -35px;
  }

  .p-sponsor__link-area--ttl{
    font-size: 20px;
  }

  .p-sponsor__link-area--list{
    margin-top: 10px;
  }

  .p-sponsor__link-area--list .link{
    font-size: 18px;
  }

  .to-toppage{
    max-width: 283.5px;
    margin: 20px auto 120px;
  }

  .to-toppage a{
    padding: 5px;
    font-size: 13px;
    border: 2px solid #E61673;
  }
}

/*========= 応募はこちらボタン ===============*/
/*リンクの形状*/
.footer-application__area{
  display: flex;
  justify-content: center;
}
#footer-application a{
	transition:all 0.3s;
}

/*リンクを右下に固定*/
#footer-application {
	position: fixed;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#footer-application.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#footer-application.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}