/* Scss Document */
/*  
---------------------------------------
after-school01
---------------------------------------
*/
.schoolIntroSub {
  position: relative;
  width: 49.6rem;
  margin: -2rem auto 0; }
  .schoolIntroSub__pic {
    width: 49.6rem; }
    .schoolIntroSub__pic img {
      display: block;
      width: 49.6rem;
      height: 35.3rem;
      object-fit: cover;
      border-radius: 4rem; }
  .schoolIntroSub__illust {
    position: absolute;
    left: -22rem;
    bottom: 2rem;
    z-index: 2;
    width: 27.6rem;
    height: auto; }
  @media (max-width: 999px) {
    .schoolIntroSub {
      width: 78%;
      margin: -2rem 0 0 auto; }
      .schoolIntroSub__pic {
        width: 100%; }
        .schoolIntroSub__pic img {
          width: 100%;
          height: auto;
          aspect-ratio: 496 / 353;
          object-fit: cover;
          border-radius: 2rem; }
      .schoolIntroSub__illust {
        left: -7rem;
        bottom: -1rem;
        width: 12rem;
        height: auto; } }

/*  
---------------------------------------
after-school02
---------------------------------------
*/
#after-school02 .ttl img {
  width: 40rem;
  height: auto; }
  @media (max-width: 999px) {
    #after-school02 .ttl img {
      width: 20rem;
      height: auto; } }
@media (max-width: 999px) {
  #after-school02 .inner14 {
    padding-bottom: 0; }
    #after-school02 .inner14 > .txt {
      text-align: justify;
      margin-bottom: 3rem; } }
#after-school02 .bgDeco {
  position: absolute;
  bottom: -10vw; }
#after-school02 .illust1 {
  position: absolute;
  right: -14rem;
  bottom: -16rem;
  width: 30rem; }
  @media (max-width: 999px) {
    #after-school02 .illust1 {
      right: -2rem;
      bottom: -6rem;
      width: 12rem; } }

.featureBoxs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1.5rem, calc(1.0869565217vw + 0.4130434783rem), 2.5rem); }

.featureBox {
  padding: clamp(4rem, calc(1.0869565217vw + 2.9130434783rem), 5rem) clamp(2.5rem, calc(0.5434782609vw + 1.9565217391rem), 3rem);
  background: #fff;
  border-radius: 2rem; }
  .featureBox__ico {
    width: clamp(12rem, calc(3.2608695652vw + 8.7391304348rem), 15rem);
    margin: 0 auto clamp(3rem, calc(1.0869565217vw + 1.9130434783rem), 4rem); }
    .featureBox__ico img {
      display: block;
      width: 100%;
      height: auto; }
  .featureBox .ttl {
    margin-bottom: clamp(1rem, calc(0.5434782609vw + 0.4565217391rem), 1.5rem);
    color: #4A7CC9;
    font-size: clamp(2rem, calc(0.4347826087vw + 1.5652173913rem), 2.4rem);
    font-weight: 700;
    line-height: 1.5;
    text-align: center; }
  .featureBox .txt {
    font-size: clamp(1.4rem, calc(0.2173913043vw + 1.1826086957rem), 1.6rem);
    line-height: 2; }
  @media (max-width: 999px) {
    .featureBox {
      padding: 2rem;
      border-radius: 1.5rem; }
      .featureBox__ico {
        width: clamp(10rem, calc(8.0128205128vw + 6.9951923077rem), 15rem);
        margin-bottom: 1rem; }
      .featureBox .ttl {
        margin-bottom: 1rem;
        font-size: clamp(1.8rem, calc(0.9615384615vw + 1.4394230769rem), 2.4rem); }
      .featureBox .txt {
        font-size: clamp(1.4rem, calc(0.3205128205vw + 1.2798076923rem), 1.6rem); } }

@media (max-width: 999px) {
  .featureBoxs {
    grid-template-columns: 1fr;
    gap: 2rem; } }
.shuttleBox {
  position: relative;
  padding: clamp(4rem, calc(2.1739130435vw + 1.8260869565rem), 6rem) clamp(5rem, calc(5.4347826087vw + -0.4347826087rem), 10rem) clamp(4rem, calc(2.1739130435vw + 1.8260869565rem), 6rem);
  border: 0.3rem solid #4A7CC9;
  border-radius: 2rem; }
  .shuttleBox__ttl {
    position: absolute;
    top: 0;
    left: 50%;
    min-width: clamp(48rem, calc(15.2173913043vw + 32.7826086957rem), 62rem);
    margin: 0;
    padding: clamp(1.5rem, calc(0.5434782609vw + 0.9565217391rem), 2rem) clamp(3rem, calc(2.1739130435vw + 0.8260869565rem), 5rem);
    background: #4A7CC9;
    border-radius: 10rem;
    color: #fff;
    font-size: clamp(2.4rem, calc(0.8695652174vw + 1.5304347826rem), 3.2rem);
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    transform: translate(-50%, -50%); }
  .shuttleBox__row {
    display: grid;
    grid-template-columns: clamp(22rem, calc(4.347826087vw + 17.652173913rem), 26rem) 1fr;
    gap: clamp(3rem, calc(2.1739130435vw + 0.8260869565rem), 5rem);
    padding: clamp(3rem, calc(1.0869565217vw + 1.9130434783rem), 4rem) 0;
    border-bottom: 1px solid #ddd; }
  .shuttleBox__head {
    font-size: clamp(1.8rem, calc(0.652173913vw + 1.147826087rem), 2.4rem);
    font-weight: 700;
    line-height: 1.5; }
    .shuttleBox__head span {
      display: inline-block;
      margin-top: .5rem; }
  .shuttleBox__txt {
    font-size: clamp(1.6rem, calc(0.2173913043vw + 1.3826086957rem), 1.8rem); }
  @media (max-width: 999px) {
    .shuttleBox {
      margin-top: 7rem;
      padding: 4rem 2rem 2rem;
      border-width: .2rem;
      border-radius: 1.5rem; }
      .shuttleBox__ttl {
        width: calc(100% - 4rem);
        min-width: 0;
        padding: 1rem 2rem;
        font-size: clamp(1.8rem, calc(0.9615384615vw + 1.4394230769rem), 2.4rem); }
      .shuttleBox__row {
        display: block;
        padding: 2.5rem 0; }
      .shuttleBox__head {
        margin-bottom: 1rem;
        font-size: clamp(1.6rem, calc(0.641025641vw + 1.3596153846rem), 2rem); }
      .shuttleBox__txt {
        font-size: clamp(1.4rem, calc(0.3205128205vw + 1.2798076923rem), 1.6rem); } }

/*  
---------------------------------------
after-school03
---------------------------------------
*/
#after-school03 {
  position: relative;
  z-index: 1; }
  #after-school03 .illust1 {
    position: absolute;
    right: 3vw;
    bottom: -14rem;
    width: 40rem;
    height: auto; }
    @media (max-width: 999px) {
      #after-school03 .illust1 {
        right: 1vw;
        bottom: -4rem;
        width: 12rem;
        height: auto; } }
  #after-school03 .boxs {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(4rem, calc(4.347826087vw + -0.347826087rem), 8rem);
    position: relative; }
    #after-school03 .boxs .pic {
      width: 50%;
      max-width: 74rem;
      aspect-ratio: 740 / 560;
      overflow: hidden;
      flex-shrink: 0;
      border: 4rem; }
      #after-school03 .boxs .pic img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover; }
    #after-school03 .boxs .box {
      width: 100%; }
    #after-school03 .boxs .sttl {
      color: #fff;
      font-size: clamp(3.6rem, calc(0.8695652174vw + 2.7304347826rem), 4.4rem); }
    #after-school03 .boxs .stxt {
      color: #fff; }
    #after-school03 .boxs.reverse {
      flex-direction: row-reverse; }
  @media (max-width: 999px) {
    #after-school03 {
      padding: 4rem 0 0;
      margin-bottom: 6rem; }
      #after-school03 .bgDecoKimidori {
        padding: 0rem 0rem 4rem; }
      #after-school03 .boxs {
        display: block;
        margin-bottom: 4rem; }
        #after-school03 .boxs .pic {
          width: 100%;
          max-width: none;
          margin-bottom: 2rem; }
        #after-school03 .boxs .box {
          margin-bottom: 2rem; }
        #after-school03 .boxs .sttl {
          font-size: 2rem; } }

/*  
---------------------------------------
after-school04
---------------------------------------
*/
.scheduleList {
  position: relative; }
  .scheduleList::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .2rem;
    background: repeating-linear-gradient(to right, rgba(74, 124, 201, 0.5) 0, rgba(74, 124, 201, 0.5) 0.6rem, transparent 0.6rem, transparent 1.2rem); }

.scheduleItem {
  position: relative;
  display: grid;
  grid-template-columns: 35rem 1fr;
  align-items: center;
  gap: clamp(4rem, calc(2.1739130435vw + 1.8260869565rem), 6rem);
  padding: clamp(3rem, calc(1.0869565217vw + 1.9130434783rem), 4rem) 0; }
  .scheduleItem::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: .2rem;
    background: repeating-linear-gradient(to right, rgba(74, 124, 201, 0.5) 0, rgba(74, 124, 201, 0.5) 0.6rem, transparent 0.6rem, transparent 1.2rem); }
  .scheduleItem__pic {
    width: 35rem; }
    .scheduleItem__pic img {
      display: block;
      width: 35rem;
      height: 24rem;
      object-fit: cover;
      border-radius: 4rem; }
  .scheduleItem__time {
    display: inline-block;
    margin: 0 0 clamp(2rem, calc(1.0869565217vw + 0.9130434783rem), 3rem);
    padding: .8rem 2rem;
    border: 0.2rem solid #4A7CC9;
    border-radius: 10rem;
    color: #4A7CC9;
    font-size: clamp(1.8rem, calc(0.4347826087vw + 1.3652173913rem), 2.2rem);
    font-weight: 700;
    line-height: 1.4; }
    .scheduleItem__time span {
      font-size: clamp(1.4rem, calc(0.4347826087vw + 0.9652173913rem), 1.8rem); }
  .scheduleItem__txt {
    margin: 0;
    line-height: 2; }
  @media (max-width: 999px) {
    .scheduleItem {
      display: block;
      padding: 4rem 0; }
      .scheduleItem__pic {
        width: 100%;
        margin-bottom: 2.5rem; }
        .scheduleItem__pic img {
          width: 100%;
          height: auto;
          aspect-ratio: 350 / 240;
          border-radius: 2rem; }
      .scheduleItem__time {
        margin-bottom: 1.5rem;
        padding: .7rem 1.5rem;
        font-size: clamp(1.6rem, calc(0.9615384615vw + 1.2394230769rem), 2.2rem); }
        .scheduleItem__time span {
          font-size: clamp(1.3rem, calc(0.8012820513vw + 0.9995192308rem), 1.8rem); }
      .scheduleItem__txt {
        line-height: 1.9; } }

.scheduleHoliday {
  display: grid;
  grid-template-columns: clamp(26rem, calc(6.5217391304vw + 19.4782608696rem), 32rem) 1fr;
  align-items: center;
  gap: clamp(4rem, calc(2.1739130435vw + 1.8260869565rem), 6rem);
  padding: 4rem;
  background: #fff;
  border-radius: 2rem; }
  .scheduleHoliday__ttl {
    margin: 0;
    font-size: clamp(1.8rem, calc(0.2173913043vw + 1.5826086957rem), 2rem);
    font-weight: 700;
    line-height: 1.5; }
  @media (max-width: 999px) {
    .scheduleHoliday {
      display: block;
      padding: 2rem; }
      .scheduleHoliday__ttl {
        margin-bottom: 1.5rem;
        font-size: clamp(1.6rem, calc(0.641025641vw + 1.3596153846rem), 2rem); } }

#after-school04 .bgDecoKimidori {
  background-repeat: no-repeat;
  background-position: 0 20rem; }

/*  
---------------------------------------
after-school05
---------------------------------------
*/
.staffBox {
  position: relative;
  padding: 1rem clamp(4rem, calc(2.1739130435vw + 1.8260869565rem), 6rem) clamp(8rem, calc(2.1739130435vw + 5.8260869565rem), 10rem);
  background: #fff;
  text-align: center; }
  .staffBox__deco {
    display: block;
    width: clamp(14rem, calc(6.5217391304vw + 7.4782608696rem), 20rem);
    height: auto;
    margin: -4rem auto 2rem; }
  .staffBox__head {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(2rem, calc(2.1739130435vw + -0.1739130435rem), 4rem); }
    .staffBox__head .ttl {
      color: #4A7CC9;
      font-size: clamp(3.6rem, calc(0.8695652174vw + 2.7304347826rem), 4.4rem);
      font-weight: 700; }
  .staffBox__line {
    flex-shrink: 0;
    width: clamp(6rem, calc(2.1739130435vw + 3.8260869565rem), 8rem);
    height: auto; }
  .staffBox__txt {
    margin: 4rem 0;
    text-align: center; }
  .staffBox__pic {
    position: relative;
    width: clamp(80rem, calc(21.7391304348vw + 58.2608695652rem), 100rem);
    margin: 0 auto; }
    .staffBox__pic .pic {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 4rem; }
  .staffBox__illust {
    position: absolute;
    z-index: 2;
    height: auto; }
    .staffBox__illust--left {
      left: -10rem;
      bottom: -10rem;
      width: clamp(16rem, calc(8.6956521739vw + 7.3043478261rem), 24rem); }
    .staffBox__illust--right {
      right: -10rem;
      bottom: -10rem;
      width: clamp(16rem, calc(7.6086956522vw + 8.3913043478rem), 23rem); }
  .staffBox__btn {
    position: relative;
    z-index: 3;
    width: clamp(30rem, calc(10.8695652174vw + 19.1304347826rem), 40rem);
    margin: clamp(-3rem, calc(1.0869565217vw + -4.0869565217rem), -2rem) auto 0; }
  @media (max-width: 999px) {
    .staffBox {
      padding: 1rem 2rem 4rem; }
      .staffBox__deco {
        width: 10rem;
        margin: -2rem auto 2rem; }
      .staffBox__head {
        gap: 1.2rem; }
        .staffBox__head .ttl {
          font-size: clamp(2rem, calc(1.6025641026vw + 1.3990384615rem), 3rem);
          line-height: 1.6; }
      .staffBox__line {
        width: 3rem; }
      .staffBox__txt {
        margin: 2rem 0;
        text-align: left; }
      .staffBox__pic {
        width: 100%; }
        .staffBox__pic .pic {
          border-radius: 2rem; }
      .staffBox__illust--left {
        left: -4rem;
        bottom: -2rem;
        width: clamp(7rem, calc(6.4102564103vw + 4.5961538462rem), 11rem); }
      .staffBox__illust--right {
        right: -4rem;
        bottom: -2rem;
        width: clamp(7rem, calc(8.0128205128vw + 3.9951923077rem), 12rem); } }
