@charset "utf-8";
.footer-back-area {
 background-color: #FFF;
}
.fix-btn {
  top: 44%; }

.schools-fix-btn {
  position: fixed;
  top: 50%;
  right: 2vw;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;}
@media (max-width: 1680px) {.schools-fix-btn {top: 40%;} }
@media (max-width: 1366px) {.schools-fix-btn {top: 32%;} }
@media (max-width: 1025px) {.schools-fix-btn {top: 28%;} }
/* line 296, index.scss */
.schools-fix-btn a {
  color: #3E3A39;
  line-height: 1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  border-top: solid 1px #3E3A39;
  padding: 16px 10px; }
.schools-fix-btn a.swimming {
 background: rgba(92,194,207,.5);
}
.schools-fix-btn a.gymnastics{
 background: rgba(233,85,19,.5);
}
.schools-fix-btn a.soccer {
 background: rgba(0,152,68,.5);
}

.schools-fix-btn a.swimming:hover {
 background: rgba(92,194,207,1);
}
.schools-fix-btn a.gymnastics:hover{
 background: rgba(233,85,19,1);
}
.schools-fix-btn a.soccer:hover{
 background: rgba(0,152,68,1);
}
.schools-fix-btn a:last-child {
  border-bottom: solid 1px #3E3A39; }
.schools-fix-btn a:hover {
  opacity: 1.0; }

@media (max-width: 1024px) {
  .schools-fix-btn {
    display: none; }
}
@media (min-width: 1025px) {
  .schools-fix-btn {
    font-size: 0.9375vw; }
}

/* ================================
   school/swiming Styles

   01 common
   02 junior
   03 course
   04 schedule

   =================================== */

/* == common == */
:root {
  --fs16: 0.8vw;
  --fs17: 0.85vw;
  --fs18: 0.9vw;
  --fs20: 1.0vw;
  --fs23: 1.15vw;
  --fs26: 1.3vw;
  --fs28: 1.4vw;
  --fs30: 1.5vw;
  --fs34: 1.7vw;
  --fs40: 2.0vw;
  --ctxt: #3e3a39;
  --cbdr: #808080;
  --cbk1: #F0FAF0;
  --cpl1: #009844;
  --cpl2: #009844;
  --cpl3: #a0d8ef;
  --cpl4: #008db7;
  --cred: #e61e28;
  --ccsw: #5CC2CF;
  --ccya: #009844;
  --cora: #e95513;
  --cgre: #009844;
  --credH: #ff0019;
  --rFlex: flex;
  --r28: 28%;
  --r30: 30%;
  --r32: 32%;
  --r40: 40%;
  --r46: 46%;
  --gym1: #F7931E;
  --cpl3: #FFFDAF;
  --cpl4: #F5F3A5;
}
@media screen and (min-width:1301px) {
  :root {
    --fs16: 16px;
    --fs17: 17px;
    --fs18: 18px;
    --fs20: 20px;
    --fs23: 23px;
    --fs26: 26px;
    --fs28: 28px;
    --fs30: 30px;
    --fs34: 34px;
    --fs40: 40px;
  }
}
@media screen and (max-width:1300px) {
  :root {
    --fs16: 1.0vw;
    --fs17: 1.0vw;
    --fs18: 1.1vw;
    --fs20: 1.2vw;
    --fs23: 1.4vw;
    --fs26: 1.5vw;
    --fs28: 1.7vw;
    --fs30: 1.9vw;
    --fs34: 2.1vw;
    --fs40: 2.5vw;
  }
}
@media screen and (max-width:1024px) {
  :root {
    --fs16: 13px;
    --fs17: 14px;
    --fs18: 15px;
    --fs20: 16px;
    --fs23: 19px;
    --fs26: 21px;
    --fs28: 22px;
    --fs30: 23px;
    --fs34: 26px;
    --fs40: 30px;
    --rFlex: block;
    --r28: 100%;
  }
}
@media screen and (max-width:640px) {
  :root {
    --fs16: 12px;
    --fs17: 13px;
    --fs18: 14px;
    --fs20: 15px;
    --fs23: 16px;
    --fs26: 17px;
    --fs28: 20px;
    --fs30: 22px;
    --fs34: 24px;
    --fs40: 28px;
    --rFlex: block;
    --r28: 100%;
  }
}
.bn-seasonevent{
 text-align: center;}
@media screen and (max-width:640px) {
 .bn-seasonevent{
 display: none; }
}
@media screen and (max-width:640px) {
 .seasonevent{
  width: 90%;
  height: auto;
  margin: auto;
 }
}
.seasonevent .seasonevent-title{
    width: 100%;
    margin: 50px auto;
    text-align: center;
}
.seasonevent .seasonevent-title h2{
    display: block;
    width: 50%;
    padding: 0.9em 0;
    background: #fff;
    font-size: var(--fs26);
    line-height: 1.0;
    border: 3px solid #E61E28;
    border-radius: 3em;
    cursor: pointer;
    margin: 0 auto 50px auto;
}
.seasonevent .seasonevent-title p{
    font-size: var(--fs20);
}
.seasonevent .seasonevent-flex{
 max-width: 1400px;
 margin: auto;
}
.seasonevent .seasonevent-flex__list{
 width: 100%;
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
}
.seasonevent .seasonevent-flex__box{
 max-width: 22.8%;
 margin-bottom: 100px;
 margin: 0 1% 50px 1%;
}
.seasonevent .seasonevent-flex__box img{
 width: 100%;
 height: auto;
 border-radius: 2em;
 margin-bottom: 30px;
}
.seasonevent .seasonevent-flex__box h5{
 font-size: var(--fs18);
 color: #FFF;
 background:#E61E28;
 padding: 8px;
 text-align: center;
 width: 100%;
 border-radius: 2em;
 margin-bottom: 12px;
}
.seasonevent .seasonevent-flex__box em{
 display: block;
 font-size: var(--fs16);
 font-style: normal;
 text-align: center;
 width: 100%;
 margin-bottom: 8px;
}
.seasonevent .seasonevent-flex__box p{
 font-size: var(--fs18);
 text-align: left;
 width: 100%;
}
@media screen and (max-width:1024px) {
 .seasonevent .seasonevent-title h2{
  padding: 6vw 0;
  width: 100%;
  font-size: var(--fs34);
 }
 .seasonevent .seasonevent-flex__list{
  width: 100%;
  display: block;
 }
 .seasonevent .seasonevent-flex__box{
  max-width: 100%;
  margin-bottom: 60px;
  margin: 0 auto 60px;
 }
}

section.parent section.seasonevent{
  padding: 2em 0 10em;
}
section.parent section.junior{
  padding-top: 4em;
  padding-bottom: 4vw;
  position: relative;
}
