:root {
  --pro-blue: #1d3f60;
  --pro-mblue: #7795b3;
  --pro-lblue: #eaeef2;
  --pro-gold: #c09350;
  --pro-black: #3a3838;
  --pro-lblack: #727272;
  --pro-llblack: #f5f5f5;
  --lred: #f57a78;
}

#ploigo {
  .C_b {
    color: var(--pro-blue);
  }

  .C_lb {
    color: var(--pro-lblue);
  }

  .C_mb {
    color: var(--pro-mblue);
  }

  .C_g {
    color: var(--pro-gold);
  }

  .C_k {
    color: var(--pro-black);
  }

  .C_lk {
    color: var(--pro-lblack);
  }

  .C_llk {
    color: var(--pro-llblack);
  }

  .C_w {
    color: white;
  }

  .C_lr {
    color: var(--lred);
  }

  .BG_b {
    background-color: var(--pro-blue);
  }

  .BG_mb {
    background-color: var(--pro-mblue);
  }

  .BG_lb {
    background-color: var(--pro-lblue);
  }

  .BG_g {
    background-color: var(--pro-gold);
  }

  .BG_k {
    background-color: var(--pro-black);
  }

  .BG_lk {
    background-color: var(--pro-lblack);
  }

  .BG_llk {
    background-color: var(--pro-llblack);
  }

  .BG_w {
    background-color: white;
  }
}

/* プロイゴについて */

#ploigo {
  transition: all 0.6s;
}

#about-ploigo {
  p {
    color: var(--pro-black);
  }

  span {
    display: inline-block;
    line-height: 170%;
  }

  .btn-CV {
    background-color: var(--pro-blue);
    padding: 5px;
    overflow: hidden;
    position: relative;

    .btn-b {
      position: absolute;

      width: 200px;
      height: 200px;
      top: calc(50% - 100px);
      left: calc(50% - 100px);

      .btn-b-in {
        position: absolute;
        inset: 0;
        margin: auto;
        background-color: var(--pro-gold);
        transition: all 0.3s;
        transform: scale(0.01);
        transform-origin: 50% 50%;
        border-radius: 50%;
      }
    }

    .btn-in {
      color: white;
      font-size: 16px;
      font-weight: 600;
      border: 1px solid var(--pro-gold);
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 10px;
      position: relative;
      z-index: 2;
    }
  }

  .btn-CV:hover {
    .btn-b {
      .btn-b-in {
        transform: scale(100%);
      }
    }
  }

  header {
    position: fixed;
    top: 0;
    left: 0;
    height: 70px;
    width: 100%;

    border-bottom: 1px solid var(--pro-gold);
    box-shadow: 0 1px 2px 2px rgba(1, 7, 61, 0.1);
    z-index: 8001;
    background: rgba(255, 255, 255, 0.5);
    /* 半透明の白 */
    backdrop-filter: blur(10px);
    /* 背景をぼかす */
    -webkit-backdrop-filter: blur(10px);

    nav {
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      max-width: 1300px;
      margin-inline: auto;
    }

    .tt-wrap {
      display: flex;
      gap: 10px;
      height: 100%;
      align-items: center;
      margin-left: 5px;

      .to-top {
        height: 100%;
        width: fit-content;
        display: flex;
        justify-content: center;
        align-items: center;

        img {
          height: 70%;
          width: auto;
          display: block;
        }
      }

      .tt-by {
        font-size: 14px;
        display: none;
      }

      .to-top-e {
        display: none;
      }
    }

    #pr-menu {
      position: fixed;
      top: 70px;
      right: 0;
      z-index: 8000;
      transition: all 0.4s;
      transform: translateX(105%);

      ul {
        padding-left: 20px;
        background-color: white;

        li {
          font-size: 18px;
          font-weight: 700;
          position: relative;
          border-bottom: 1px solid var(--pro-gold);
          padding-inline: 25px 5px;

          a {
            padding-top: 20px;
            font-size: 18px;
            width: 100%;
            display: block;
            padding-right: 20px;

            img {
              position: absolute;
              width: 20px;
              height: 20px;

              bottom: 7px;
              left: -5px;
              transition: all 0.5s;
              transform-origin: 50% 50%;
            }
          }

          a::after {
            content: "";
            position: absolute;
            bottom: -0.7px;
            left: 0;
            width: 0;
            height: 1.5px;
            background-color: var(--pro-blue);
            transition: all 0.5s;
          }

          a:hover {
            img {
              transform: rotate(270deg);
            }
          }

          a:hover::after {
            width: 100%;
          }
        }
      }
    }

    #pr-menu.posi {
      transform: translateX(0);
    }

    .btn-CV {
      margin-right: 20px;
      font-size: 14px;
      letter-spacing: 1px;
      width: 140px;
    }

    #pr-m-btn {
      display: flex;
      height: 100%;
      width: 70px;
      /* background-color: var(--pro-blue); */
      border-left: 1px solid var(--pro-gold);
      flex-direction: column;
      justify-content: center;
      align-items: center;
      cursor: pointer;
      transition: all 0.3s;

      .pmb-img {
        position: relative;
        width: 45px;
        height: 45px;

        img {
          width: 100%;
          height: 100%;
          user-select: none;
          transform-origin: 50% 50%;
          transition: all 0.5s;
          transform: rotate(0);
          position: absolute;
          top: 0;
          left: 0;
        }

        .pmb-img-1 {
          opacity: 1;
          visibility: visible;
        }

        .pmb-img-2 {
          opacity: 0;
          visibility: hidden;
        }

        .pmbt-du {
          display: block;
          width: 100%;
          height: 100%;
        }
      }

      .pmb-text {
        position: relative;
        width: 100%;
        user-select: none;
        line-height: 110%;

        .pmb-te {
          position: absolute;
          top: 0;
          left: 0;
          font-size: 10px;
          width: 100%;
          text-align: center;
          transition: all 0.3s;
        }

        .pmbt-1 {
          opacity: 1;
          visibility: visible;
        }

        .pmbt-2 {
          opacity: 0;
          visibility: hidden;
          color: white;
        }

        .pmbt-du {
          display: block;
          font-size: 10px;
        }
      }
    }

    #pr-m-btn.posi {
      background-color: var(--pro-blue);

      .pmb-img {
        .pmb-img-2 {
          opacity: 1;
          visibility: visible;
        }

        .pmb-img-1 {
          opacity: 0;
          visibility: hidden;
        }
      }

      .pmb-text {
        .pmbt-2 {
          opacity: 1;
          visibility: visible;
        }

        .pmbt-1 {
          opacity: 0;
          visibility: hidden;
        }
      }
    }

    #pr-m-btn:hover {
      img {
        transform: rotate(270deg);
      }
    }

    @media screen and (min-width: 950px) {
      .tt-wrap {
        margin-left: 20px;
        align-items: end;

        .to-top {
          img {
            height: 70%;
          }
        }

        .to-top-e {
          display: flex;
          height: 50%;
        }

        .tt-by {
          display: block;
        }
      }

      #pr-menu {
        position: static !important;
        height: 100%;
        transform: translateX(0) !important;
        display: flex;
        align-items: center;
        margin-right: 20px;

        ul {
          padding-left: 0;
          background-color: inherit;
          display: flex;
          justify-content: right;
          align-items: center;
          gap: 20px;

          li {
            a {
              padding-top: 0;
              padding-right: 0;
              font-size: 16px;
            }
          }
        }
      }

      #pr-m-btn {
        display: none;
      }
    }

    @media screen and (min-width: 1100px) {
      #pr-menu {
        ul {
          gap: 40px;
        }
      }
    }
  }

  .sec-pad {
    padding: 100px 5%;
  }

  @media screen and (min-width: 950px) {
    .sec-pad {
      padding: 150px 5%;
    }
  }

  #ploigo-1 {
    margin-top: 70px;

    h1 {
      text-align: center;
      background-color: var(--pro-blue);
      padding: 10px 0;
      margin-bottom: 0;

      span {
        font-size: 1.4rem;
        color: white;
        display: inline-block;
      }

      .h1-sp {
        font-size: 0.5rem;
      }
    }

    .p1-2 {
      position: relative;
      width: 100%;
      background-color: #f6f5ef;
      display: flex;
      justify-content: right;
      overflow: hidden;
      align-items: end;
      height: calc(100svh - 90px - 2rem);

      .p1-2-1 {
        position: absolute;
        top: 50px;
        left: 20px;
        width: 50%;
        max-width: 350px;
        z-index: 3;

        img {
          width: 100%;
        }

        .p1-flex {
          margin-top: 40px;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          position: relative;
          gap: 30px;

          span {
            padding: 5px 15px;
            background-color: var(--pro-blue);
            color: white;
            font-size: 18px;
            font-weight: 600;
          }
        }

        .p1-flex::before,
        .p1-flex::after {
          content: "";
          position: absolute;
          background-color: var(--pro-gold);
          display: block;
          width: 25px;
          height: 2px;
          transform-origin: 50% 50%;
          top: calc(50% - 1px);
          left: calc(50% - 3.5px);
        }

        .p1-flex::before {
          transform: rotate(45deg);
        }

        .p1-flex::after {
          transform: rotate(-45deg);
        }

        @media screen and (min-width: 650px) {
          .p1-flex {
            flex-direction: row;
            gap: 40px;
          }
        }
      }

      .p1-2-2 {
        width: 100%;
        height: calc(90vh - 160px);
        object-fit: cover;
        object-position: 65% 70%;
        position: relative;
        z-index: 2;
        max-width: 1100px;
      }

      .p1-2-temple {
        position: absolute;
        opacity: 0.4;
        width: clamp(600px, 50%, 1300px);
        height: auto;
        z-index: 1;
        bottom: 0;
        left: -80px;
        transform: translateY(10%);
      }
    }

    @media screen and (min-width: 950px) {
      .p1-2 {
        padding-top: 50px;

        .p1-2-1 {
          top: 15%;
          left: 17%;
          width: 35%;
          max-width: 500px;
        }

        .p1-2-2 {
          object-position: 65% 60%;
        }

        @media screen and (max-height: 700px) {
          .p1-2-2 {
            max-width: 800px;
          }
        }
      }
    }

    @media screen and (min-width: 1450px) {
      .p1-2 {
        .p1-2-2 {
          margin-right: 10vw;
        }
      }
    }
  }

  #ploigo-2 {
    .p2-1 {
      width: 100%;
      flex-direction: column;
      gap: 50px;

      .p2-1-1 {
        width: 100%;

        .p2h2-1 {
          font-size: 3.5rem;
          line-height: 5rem;
          margin-bottom: 50px;
        }

        .p2h2-2 {
          margin-left: 80px;
          position: relative;
          color: var(--pro-blue);
          line-height: 2.5rem;
        }

        .p2h2-2::before {
          content: "";
          position: absolute;
          display: block;
          width: 50px;
          height: 1px;
          background-color: var(--pro-blue);
          top: 1.4rem;
          left: -70px;
        }
      }

      .p2-1-2 {
        width: 100%;

        h3 {
          text-align: center;
          color: var(--pro-gold);
        }

        ul {
          display: flex;
          flex-direction: column;
          gap: 20px;
          max-width: 450px;
          margin: 20px auto;

          li {
            position: relative;
            border: 1px solid var(--pro-gold);
            border-left: none;
            padding: 10px 0 10px 40px;
            margin-left: 41px;
            font-size: 1.4rem;
            white-space: nowrap;

            img {
              position: absolute;
              height: 120%;
              width: auto;
              left: -40px;
              top: 50%;
              transform: translateY(-50%);
              background-color: white;
              border-radius: 50%;
            }
          }
        }
      }
    }

    .p2-2 {
      flex-direction: column;
      margin-top: 100px;
      gap: 50px;

      .p2-mov {
        width: 100%;

        video {
          width: 100%;
          border: solid 2px var(--pro-blue);
        }
      }

      .p2-2-2 {
        flex-direction: column;
        gap: 50px;
        position: relative;
        width: 100%;

        .p2-des-box {
          padding: 10px 2%;
          max-width: 700px;

          h3 {
            font-size: 1.2rem;
            color: var(--pro-gold);
            margin-bottom: 10px;
          }

          h4 {
            font-size: 1.8rem;
            margin-bottom: 40px;
          }

          .p2d-img {
          }

          .p2-des-me {
            display: flex;
            gap: 15px;
            margin-bottom: 40px;

            img {
              width: 20px;
              height: auto;
            }
          }

          .p2d-img {
            width: 100%;
            height: auto;
            max-width: 500px;
            margin-block: 10px;
          }

          p {
            max-width: 500px;

            span {
              display: inline;
              color: var(--pro-blue);
            }
          }
        }

        .p2db-1 {
          position: relative;
        }

        .p2db-1::before {
          content: "";
          position: absolute;
          width: 100%;
          height: 1px;
          border-top: 2px dotted var(--pro-gold);
          left: 0;
          bottom: -24px;
        }
      }
    }

    @media screen and (min-width: 950px) {
      .p2-1 {
        flex-direction: row;
        max-width: 1200px;
        margin-inline: auto;
        gap: 5%;

        .p2-1-2 {
          ul {
            max-width: 500px;

            li {
              padding-left: 60px;
            }
          }
        }
      }

      .p2-2 {
        flex-direction: row;
        margin-top: 150px;
        align-items: start;
        gap: 5%;

        .p2-mov {
          /* background-color: #1d3f60; */
          position: sticky;
          left: 0;
          top: 50%;

          video {
            width: 100%;
            border: solid 2px var(--pro-blue);
          }
        }
      }
    }
  }

  #plo-wave {
    width: 100%;
    padding-top: clamp(120px, 40vw, 300px);
    position: relative;
    overflow: hidden;

    .wp-ship {
      position: absolute;
      bottom: 4vw;
      right: 30px;
      width: 40%;
      max-width: 400px;
      height: auto;
      z-index: 1;
      animation: wp-ship 5s linear infinite;
      transform-origin: 50% 95%;
    }

    .wp-star {
      position: absolute;
      top: 0;
      left: 10%;
      width: clamp(30px, 10%, 60px);
      height: auto;
      z-index: 1;

      animation: wp-star 15s linear infinite;
      transform-origin: 50% 50%;
    }

    .wp-dol {
      position: absolute;
      top: clamp(80px, 20vw, 150px);
      /* left: -15%; */
      right: clamp(1px, 40%, 500px);
      width: clamp(400px, 40vw, 800px);
      height: auto;
      transform-origin: 50% 50%;
      animation: wp-dol 6s ease-in-out infinite;
    }

    svg {
      position: relative;
      bottom: -2px;
      z-index: 2;
      transform-origin: 50% 100%;
      transform: scale(1, 1.2);

      path {
        transform-origin: 50% 100%;
        transform: scale(1.1, 1);
      }
    }

    @media screen and (min-width: 800px) {
      .wp-ship {
        /* bottom: 10%; */
      }

      .wp-star {
        left: 35%;
      }
    }
  }

  #ploigo-3 {
    .p3-ti-img {
      width: clamp(250px, 40%, 350px);
      height: auto;
      margin: 30px auto 50px;
      display: block;
    }

    @media screen and (min-width: 750px) {
      .p3-ti-img {
        margin-bottom: 75px;
      }
    }

    .p3-wrap {
      margin-top: 50px;
      border: 1px solid var(--pro-gold);
      padding: 70px 5% 20px 5%;
      position: relative;
      max-width: 1270px;
      margin-inline: auto;

      h2 {
        margin: 0;
        padding: 0 40px;
        background-color: var(--pro-blue);
        position: absolute;
        color: white;
        display: block;
        left: 50%;
        top: 0;
        transform: translate(-50%, -50%);
        white-space: nowrap;

        .C_g {
          font-size: 5rem;
          margin-right: 5px;
        }
      }

      h2::before,
      h2::after {
        content: "";
        position: absolute;
        width: 12px;
        height: 12px;
        top: calc(50% - 6px);
        border: 1px solid var(--pro-gold);
      }

      h2::before {
        left: 0;
      }

      h2::after {
        right: 0;
      }
    }

    .p3-flex {
      flex-direction: column;

      .p3-box {
        margin-bottom: 60px;
        max-width: 450px;
        margin-inline: auto;

        img {
          width: 40px;
          height: auto;
          margin: 0 auto;
          display: block;
        }

        h3 {
          text-align: center;
          color: white;
          margin: 20px auto 10px;
          padding-bottom: 10px;
          border-bottom: 1px solid white;
        }

        p {
          color: white;
        }
      }
    }

    @media screen and (min-width: 950px) {
      .p3-flex {
        flex-direction: row;
        justify-content: center;
        gap: 5%;

        .p3-box {
          flex: 1;

          h3 {
            font-size: 1.2rem;
            display: flex;
            flex-direction: column;
            align-items: center;
          }
        }
      }
    }

    @media screen and (min-width: 1250px) {
      .p3-flex {
        .p3-box {
          h3 {
            font-size: 1.4rem;
          }
        }
      }
    }
  }

  #p3-under {
    display: block;
    width: 100%;
    height: clamp(150px, 30vh, 200px);
    background: linear-gradient(
      to bottom,
      #1d3f60 10%,
      rgba(29, 63, 96, 0) 100%
    );
  }

  #ploigo-4 {
    .p4-top {
      margin-top: 50px;
      text-align: center;

      h2 {
        display: block;
        width: fit-content;
        margin: 0 auto;
        position: relative;
      }

      h2::before,
      h2::after {
        content: "";
        position: absolute;
        width: 2.5rem;
        height: 5rem;
        background-size: contain;
        top: calc(50% - 2.5rem);
      }

      h2::before {
        background-image: url(https://xn--eckl3qmbc6976d2udy3ah35b.com/wp-content/themes/e-Live/img2/ploigo/tit-l.svg);
        left: -3rem;
      }

      h2::after {
        background-image: url(https://xn--eckl3qmbc6976d2udy3ah35b.com/wp-content/themes/e-Live/img2/ploigo/tit-r.svg);
        right: -3rem;
      }

      .p4t-sub {
        color: var(--pro-gold);
      }
    }

    .p4-wrap {
      flex-direction: column-reverse;
      width: 100%;
      justify-content: space-between;
      align-items: center;
      max-width: 1600px;
      margin-right: 0;
      margin-left: auto;

      .p4w-1 {
        padding: 50px 5%;
        width: 100%;

        .p4-tag {
          gap: 10px;
          align-items: center;
          margin-bottom: 20px;

          span {
            border: 1px solid var(--pro-gold);
            border-radius: 10px;
            font-size: 14px;
            padding: 2px 8px;
          }

          .p4-t-1 {
            background-color: white;
            color: var(--pro-blue);
          }

          .p4-t-2 {
            background-color: var(--pro-mblue);
            color: white;
          }

          .p4-t-3 {
            background-color: var(--pro-blue);
            color: white;
          }
        }

        h3 {
          text-align: left;
          font-size: 3rem;
          color: var(--pro-blue);
        }

        .p4w-sub {
          gap: 20px;
          align-items: center;
          margin-block: 20px 40px;

          img {
            width: 40px;
            height: auto;
            display: block;
          }

          p {
            text-align: left;
            line-height: 140%;
          }
        }

        .p4w-des {
          margin-top: 20px;
          text-align: left;

          span {
            color: var(--pro-blue);
            display: inline;
          }
        }
      }

      .p4w-2 {
        width: 100%;

        justify-content: center;
        align-items: end;
        padding-top: 100px;
        overflow: hidden;
        position: relative;

        .p4-2-2 {
          width: 110%;
          display: block;
          margin: 0 auto;
          max-width: 500px;
          position: relative;
          z-index: 2;
        }
      }
    }

    .p4-1 {
      margin-top: 100px;

      .p4w-2 {
        .p4-2-1 {
          position: absolute;
          z-index: 1;
          width: 150%;
          height: auto;
          top: 0;
          left: -25%;
          transform-origin: 50% 50%;
          animation: p4-1 70s linear infinite;
        }
      }
    }

    .p4-2 {
      margin-top: 100px;

      .p4w-2 {
        #p4-gate {
          position: absolute;
          z-index: 1;
          width: 100%;
          max-width: 700px;
          height: auto;
          top: 0;
          left: 50%;
          transform: translateX(-50%);

          .cls-1 {
            fill: none;
            stroke: #bb904f;
            stroke-linecap: round;
            stroke-linejoin: round;

            /* 描画アニメーション用 */
            stroke-dasharray: 4000;
            stroke-dashoffset: 4000;
            animation: draw-line 4s ease-in-out infinite;
            animation-direction: alternate;
          }
        }
      }
    }

    .p4-3 {
      margin-top: 100px;
      max-width: 1300px;
      margin-inline: auto;
      border: 1px solid var(--pro-gold);
      justify-content: center;
      flex-direction: column;
      padding: 50px 5%;
      gap: 5%;

      .p4-tag {
        gap: 10px;
        align-items: center;
        margin-bottom: 20px;

        span {
          border: 1px solid var(--pro-gold);
          border-radius: 10px;
          font-size: 12px;
          padding: 2px 8px;
        }

        .p4-t-1 {
          background-color: white;
          color: var(--pro-blue);
        }

        .p4-t-2 {
          background-color: var(--pro-mblue);
          color: white;
        }

        .p4-t-3 {
          background-color: var(--pro-blue);
          color: white;
        }
      }

      h3 {
        text-align: left;
        font-size: 3rem;
        color: var(--pro-blue);
      }

      .p4w-sub {
        gap: 20px;
        align-items: center;
        margin-top: 20px;

        img {
          width: 40px;
          height: auto;
          display: block;
        }

        p {
          text-align: left;
          line-height: 140%;
        }
      }

      .p4w-des {
        margin-top: 50px;
        text-align: left;
      }

      .p4-3-img {
        width: 100%;
        max-width: 350px;
        height: auto;
        display: block;
        margin: 30px auto;
      }
    }

    .p4-4 {
      margin-top: 100px;
      max-width: 1300px;
      margin-inline: auto;
      padding: 50px 5%;
      border: 1px solid var(--pro-gold);

      h3 {
        margin-bottom: 50px;
      }

      .p4-4-flex {
        justify-content: center;
        flex-direction: column;
        padding-inline: 5%;

        .p4-4-wrap {
          justify-content: center;

          .p4-4-box {
            position: relative;

            .p4-4-tit {
              .p4-tag {
                gap: 3px;
                align-items: center;
                justify-content: center;
                margin-bottom: 2px;

                span {
                  border: 1px solid var(--pro-gold);
                  border-radius: 10px;
                  font-size: 10px;
                  padding: 0;
                }

                .p4-t-1 {
                  background-color: white;
                  color: var(--pro-blue);
                }

                .p4-t-2 {
                  background-color: var(--pro-mblue);
                  color: white;
                }

                .p4-t-3 {
                  background-color: var(--pro-blue);
                  color: white;
                }

                .p4-t-p {
                  display: none;
                }
              }

              h4 {
                text-align: center;
                font-size: 2rem;
                color: var(--pro-blue);
              }
            }

            img {
              width: clamp(120px, 50%, 200px);
              height: auto;
              display: block;
              margin: 20px auto;
            }
          }

          .p44b-1,
          .p44b-2 {
            margin-bottom: 20px;
          }

          .p44b-1::after,
          .p44b-2::after {
            content: "";
            position: absolute;
            width: 80%;
            height: 1px;
            left: 10%;
            bottom: 0;
            background-color: var(--pro-gold);
          }
        }
      }

      @media screen and (min-width: 650px) {
        .p4-4-flex {
          /* flex-direction: row; */
          .p4-4-wrap {
            width: 100%;

            .p4-4-box {
              .p4-4-tit {
                .p4-tag {
                  margin-bottom: 20px;

                  span {
                    padding: 2px 8px;
                    font-size: 14px;
                  }

                  .p4-t-p {
                    display: inline-block;
                  }

                  .p4-t-s {
                    display: none;
                  }
                }

                h4 {
                  font-size: 2rem;
                }
              }
            }
          }
        }
      }

      @media screen and (min-width: 1350px) {
        .p4-4-flex {
          flex-direction: row;

          .p4-4-wrap {
            .p4-4-box {
              width: 100%;

              .p4-4-tit {
              }
            }

            .p44b-1,
            .p44b-2 {
              margin-bottom: 0;
            }

            .p44b-1::after,
            .p44b-2::after {
              display: none;
            }
          }
        }
      }
    }

    @media screen and (min-width: 950px) {
      .p4-wrap {
        flex-direction: row;

        .p4w-2 {
          justify-content: left;
          max-width: 620px;

          .p4-2-2 {
            margin-right: -30px;
            max-width: 700px;
          }
        }
      }

      .p4-1 {
        .p4w-2 {
          .p4-2-1 {
            width: 130%;
            max-width: 900px;
            left: 0;
          }
        }
      }

      .p4-2 {
        .p4w-2 {
          #p4-gate {
            width: 100%;
            max-width: 678px;
            transform: translateX(calc(-50% + 30px));
          }
        }
      }

      .p4-3 {
        flex-direction: row;

        .p4-3-box {
          width: 100%;

          h3 {
            font-size: 2.8rem;
          }
        }
      }
    }
  }

  #ploigo-5 {
    .p5-top {
      margin-top: 50px;
      text-align: center;

      h2 {
        display: block;
        width: fit-content;
        margin: 0 auto;
        position: relative;
      }

      h2::before,
      h2::after {
        content: "";
        position: absolute;
        width: 2.5rem;
        height: 5rem;
        background-size: contain;
        top: calc(50% - 2.5rem);
      }

      h2::before {
        background-image: url(https://xn--eckl3qmbc6976d2udy3ah35b.com/wp-content/themes/e-Live/img2/ploigo/tit-l.svg);
        left: -3rem;
      }

      h2::after {
        background-image: url(https://xn--eckl3qmbc6976d2udy3ah35b.com/wp-content/themes/e-Live/img2/ploigo/tit-r.svg);
        right: -3rem;
      }

      .p5t-sub {
        color: var(--pro-gold);
      }
    }

    .p5-grid {
      display: grid;
      width: 100%;
      max-width: 600px;
      margin: 50px auto;
      grid-template-rows: repeat(14, 1fr);
      grid-template-columns: repeat(7, 1fr);
      gap: 5%;
      position: relative;

      p {
        text-align: center;
      }

      .BG_w {
        border: 1px solid var(--pro-gold);
      }

      .BG_b {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;

        p {
          color: white;
        }
      }

      .p5g {
        padding: 5%;
        position: relative;
        z-index: 3;
      }

      .p5g-1 {
        grid-row: 1/5;
        grid-column: 1/8;

        .p5-1-title {
          text-align: center;
          font-size: 20px;
          margin-bottom: 20px;
        }

        .flex {
          gap: 5%;
          align-items: center;
          justify-content: center;
          gap: 30px;
          padding-bottom: 20px;

          img {
            width: 35%;
            height: auto;
            display: block;
          }

          ul {
            margin-left: 10px;

            li {
              font-size: 14px;
              color: var(--pro-black);
              position: relative;
              margin-bottom: 10px;
              font-size: 14px;

              img {
                position: absolute;
                width: 16px;
                height: 16px;
                top: calc(50% - 8px);
                left: -20px;
                display: block;
              }
            }
          }
        }
      }

      .p5g-2 {
        grid-row: 6/8;
        grid-column: 1/4;
      }

      .p5g-3 {
        grid-row: 6/8;
        grid-column: 5/8;
      }

      .p5g-4 {
        grid-row: 8/10;
        grid-column: 3/6;
      }

      .p5g-5 {
        grid-row: 11/15;
        grid-column: 1/4;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: end;

        p {
          padding-top: 10px;
        }

        img {
          width: 90%;
          min-width: 125px;
          height: auto;
          display: block;
        }
      }

      .p5g-6 {
        grid-row: 11/15;
        grid-column: 5/8;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: end;

        p {
          padding-top: 10px;
        }

        img {
          width: 90%;
          min-width: 125px;
          height: auto;
          display: block;
        }
      }

      .p5g-line {
        position: relative;
        display: block;
        justify-self: center;
        background-color: var(--pro-gold);
        z-index: 1;
      }

      .p5l-1 {
        grid-row: 2/14;
        grid-column: 1 / 4;
        width: 1px;
      }

      .p5l-2 {
        grid-row: 2/9;
        grid-column: 1/8;
        width: 1px;
      }

      .p5l-3 {
        grid-row: 2/14;
        grid-column: 5/8;
        width: 1px;
      }

      /* .p5l-4 {
        grid-row: 11/15;
        grid-column: 1/8;
        width: 50%;
        height: 1px;
        align-self: center;
        bottom: calc(7.5% + 2px);
      } */

      .p5l-4 {
        grid-row: 9/14;
        grid-column: 3;
        width: 1px;
      }

      .p5l-5 {
        grid-row: 9/14;
        grid-column: 5;
        width: 1px;
      }

      .p5g-arr {
        position: absolute;

        transform-origin: 50% 50%;
        z-index: 2;
        width: 18px;
        height: 18px;
      }

      .p5g-arr.p5ga-p {
        display: none;
      }

      .p5a-1 {
        top: 0;
        left: calc(50% - 9px);
        animation: p5a-1-s 30s linear infinite;
      }

      .p5a-2 {
        bottom: 0%;
        left: calc(50% - 9px);
        animation: p5a-3-s 30s linear infinite;
      }

      .p5a-3 {
        top: 0;
        left: calc(50% - 9px);
        animation: p5a-4-s 30s linear infinite;
      }

      .p5a-4 {
        bottom: 0;
        left: calc(50% - 9px);
        animation: p5a-2-s 30s linear infinite;
      }

      .p5a-5 {
        bottom: 0;
        left: calc(50% - 9px);
        animation: p5a-5-s 30s linear infinite;
      }
    }

    @media screen and (min-width: 950px) {
      .p5-grid {
        grid-template-rows: repeat(7, 1fr);
        grid-template-columns: repeat(14, 1fr);
        max-width: 1100px;

        .p5g-1 {
          grid-row: 1/8;
          grid-column: 1/5;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;

          .flex {
            flex-direction: column;

            img {
              width: 100%;
            }
          }
        }

        .p5g-2 {
          grid-row: 2;
          grid-column: 6/9;
        }

        .p5g-3 {
          grid-row: 6;
          grid-column: 6/9;
        }

        .p5g-4 {
          grid-row: 3/6;
          grid-column: 8/11;
        }

        .p5g-5 {
          grid-row: 1/4;
          grid-column: 12/15;
        }

        .p5g-6 {
          grid-row: 5/8;
          grid-column: 12/15;
        }

        .p5l-1 {
          grid-row: 2;
          grid-column: 4/13;

          height: 1px;
          align-self: center;
          width: 100%;
        }

        .p5l-2 {
          grid-row: 4;
          grid-column: 4/9;

          height: 1px;
          align-self: center;
          width: 100%;
          left: calc((100% - 260px) / -18);
        }

        .p5l-3 {
          grid-row: 6;
          grid-column: 4/13;

          height: 1px;
          align-self: center;
          width: 100%;
        }

        .p5l-4 {
          grid-row: 3;
          grid-column: 9/14;
          height: 1px;
          width: 100%;
          align-self: center;
        }

        .p5l-5 {
          grid-row: 5;
          grid-column: 9/14;
          height: 1px;
          width: 100%;
          align-self: center;
        }

        .p5g-arr.p5ga-p {
          display: block;
        }

        .p5g-arr.p5ga-s {
          display: none;
        }

        .p5a-1 {
          top: calc(50% - 9px);
          left: 0;
          animation: p5a-1-p 30s linear infinite;
        }

        .p5a-2 {
          top: calc(50% - 9px);
          right: 0;
          bottom: auto;
          left: auto;
          animation: p5a-3-p 30s linear infinite;
        }

        .p5a-3 {
          top: calc(50% - 9px);
          left: 0;
          animation: p5a-4-p 30s linear infinite;
        }

        .p5a-4 {
          top: calc(50% - 9px);
          right: 0;
          bottom: auto;
          left: auto;
          animation: p5a-2-p 30s linear infinite;
        }

        .p5a-5 {
          top: calc(50% - 9px);
          right: 0;
          bottom: auto;
          left: auto;
          animation: p5a-5-p 30s linear infinite;
        }
      }
    }
  }

  #trojan {
    height: 200px;
    width: 100%;

    overflow: hidden;
    border-bottom: 1px solid var(--pro-lblack);

    .tro-line {
      width: calc(100% + 200px);
      position: relative;
      transform: translateX(-200px);
      height: 100%;
    }

    .tro-box {
      height: 100%;
      width: auto;
      aspect-ratio: 1/1;
      position: absolute;
      left: 101%;
      top: 0;
      animation: tro-box 30s linear infinite;
      z-index: 10;

      .tb-bou {
        width: 100%;
        height: 100%;
        position: relative;
        animation: tb-bou 1.8s linear infinite;

        img {
          display: block;
          position: absolute;
        }

        .tb-1 {
          width: 100%;
          height: auto;
          top: 1%;
          left: 0;
        }

        .tb-ty {
          width: 18%;
          height: auto;
          bottom: 0;
          transform-origin: 50% 50%;
          animation: tb-ty 3s linear infinite;
        }

        .tb-2 {
          left: 0;
        }

        .tb-3 {
          left: 41.5%;
        }
      }
    }
  }

  #ploigo-6 {
    padding-inline: 2%;

    .p6-top {
      margin-top: 50px;
      text-align: center;

      h2 {
        display: block;
        width: fit-content;
        margin: 0 auto;
        position: relative;
      }

      h2::before,
      h2::after {
        content: "";
        position: absolute;
        width: 2.5rem;
        height: 5rem;
        background-size: contain;
        top: calc(50% - 2.5rem);
      }

      h2::before {
        background-image: url(https://xn--eckl3qmbc6976d2udy3ah35b.com/wp-content/themes/e-Live/img2/ploigo/tit-l.svg);
        left: -3rem;
      }

      h2::after {
        background-image: url(https://xn--eckl3qmbc6976d2udy3ah35b.com/wp-content/themes/e-Live/img2/ploigo/tit-r.svg);
        right: -3rem;
      }

      .p6t-sub {
        color: var(--pro-gold);
      }
    }

    .p6-1 {
      flex-direction: column;
      gap: 30px;
      margin-top: 50px;
      max-width: 1300px;
      margin-inline: auto;

      .p6-1-1 {
        width: 100%;
        max-width: 500px;

        h3 {
          font-size: 2rem;
          color: var(--pro-blue);
          margin-block: 50px;
        }

        p {
          margin-bottom: 10px;

          span {
            display: inline;
            color: var(--pro-blue);
          }
        }
      }

      .p6-1-2 {
        width: 100%;
        max-width: 700px;
        margin: 0 auto;

        table {
          width: 100%;

          th,
          td {
            padding: 5px;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            font-size: 1.1rem;
            color: var(--pro-black);
          }

          td {
            display: flex;
            width: calc((100% - 100px) / 2);
          }

          td.br1,
          th.br1 {
            position: relative;
          }

          td.br1::after,
          th.br1::after {
            content: "";
            position: absolute;
            height: 80%;
            width: 1px;
            top: 10%;
            right: 0;
            background-color: var(--pro-gold);
          }

          tr {
            display: flex;
            flex-wrap: wrap;
            width: 100%;
            border-bottom: 1px solid var(--pro-gold);
          }

          .p6-t-1 {
            .p6-t1-2 {
              display: flex;
              width: calc((100% - 100px) / 2);
              justify-content: start;
              flex-direction: column;

              .p6-t1-2-1 {
                font-size: 2rem;
                height: 50px;
                display: flex;
                align-items: center;

                img {
                  height: 100%;
                  width: auto;
                }
              }
            }

            .p6-t1-th {
              text-align: center;
              font-size: 2rem;
              color: var(--pro-lblack);
              border-top: none;
            }
          }

          .p6-th {
            display: block;
            width: 100%;
            border-top: 1px solid var(--pro-gold);
            border-bottom: 1px solid var(--pro-gold);
            font-size: 1.4rem;
            /* color: var(--pro-blue); */
            padding-top: 20px;
          }

          .p6-l-th {
            width: 100px;
            color: var(--pro-black);
          }
        }
      }
    }

    .p6-2 {
      margin-top: 100px;
      width: 100%;

      h3 {
        margin-bottom: 20px;
        text-align: center;
        color: var(--pro-lblack);
        font-size: 2rem;
      }

      table {
        width: 100%;

        th,
        td {
          display: flex;
          justify-content: center;
          align-items: center;
          padding: 5px;
        }

        tr {
          display: flex;
          flex-wrap: wrap;
          gap: 3px;
        }

        .BG_mb {
        }

        .BG_b {
        }

        thead {
          position: sticky;
          left: 0;
          top: 67px;

          th:nth-child(1) {
            width: 100%;
          }

          th:nth-child(n + 2) {
            width: calc((100% - 6px) / 3);
            padding-block: 20px;
          }

          span {
            text-align: center;
            width: 100%;
          }

          .p6-2-thead-1 {
            font-size: 1.3rem;
            display: block;
          }

          .p6-2-thead-2 {
            font-size: 1rem;
          }

          .h0 {
            height: 0;
            padding: 0;
          }

          .BG_mb,
          .BG_b {
            color: white;
          }

          .BG_w {
            border: 1px solid var(--pro-gold);
          }

          .BG_mb {
            border: 1px solid var(--pro-mblue);
          }

          .BG_b {
            border: 1px solid var(--pro-blue);
          }
        }

        tbody {
          th {
            width: 100%;
            justify-content: left;
            padding-top: 25px;
            color: var(--pro-lblack);
          }

          td {
            width: calc((100% - 6px) / 3);
            border-top: 1px solid var(--pro-gold);
            border-bottom: 1px solid var(--pro-gold);
            border-left: 1px solid var(--pro-gold);
            padding: 20px 0;
            background-color: white;
            color: var(--pro-black);

            span {
              span {
                width: 100%;
                text-align: center;
              }
            }

            .active {
              width: 20px;
              height: 20px;
              display: block;
              border: 1px solid var(--pro-blue);
              border-radius: 50%;
            }
          }

          td.fd-c {
            flex-direction: column;
          }

          .BG_w {
            border: 1px solid var(--pro-gold);
          }

          .BG_mb {
            border: 1px solid var(--pro-mblue);
          }

          .BG_b {
            border: 1px solid var(--pro-blue);
          }

          img {
            width: 30px;
            height: 30px;
          }

          .p6-2-fe {
            .BG_mb {
              background-color: var(--pro-mblue);

              span {
                color: white;
              }
            }

            .BG_b {
              background-color: var(--pro-blue);

              span {
                color: white;
              }
            }

            span {
              width: auto;

              small {
                font-size: 70%;
              }
            }
          }
        }
      }
    }

    @media screen and (min-width: 950px) {
      .p6-1 {
        flex-direction: row;
        gap: 50px;
      }

      .p6-2 {
        table {
          max-width: 870px;
          margin: 0 auto;

          thead {
            tr {
              justify-content: right;
            }

            th:nth-child(n + 2) {
              width: calc((100% - 138px) / 3);
            }
          }

          tbody {
            tr {
              justify-content: right;
              margin-block: 5px;
            }

            th {
              width: 120px;
              height: 100%;
            }

            td {
              width: calc((100% - 138px) / 3);
              font-size: 1.1em;
            }
          }
        }
      }
    }
  }

  #ploigo-voice {
    .pv-top {
      margin-top: 50px;
      text-align: center;

      h2 {
        display: block;
        width: fit-content;
        margin: 0 auto;
        position: relative;
      }

      h2::before,
      h2::after {
        content: "";
        position: absolute;
        width: 2.5rem;
        height: 5rem;
        background-size: contain;
        top: calc(50% - 2.5rem);
      }

      h2::before {
        background-image: url(https://xn--eckl3qmbc6976d2udy3ah35b.com/wp-content/themes/e-Live/img2/ploigo/tit-l.svg);
        left: -3rem;
      }

      h2::after {
        background-image: url(https://xn--eckl3qmbc6976d2udy3ah35b.com/wp-content/themes/e-Live/img2/ploigo/tit-r.svg);
        right: -3rem;
      }

      .pvt-sub {
        color: var(--pro-gold);
      }
    }

    .pv-1 {
      margin-top: 50px;
      width: 100%;
      max-width: 800px;
      margin-inline: auto;
      display: flex;
      flex-direction: column;

      .pv-box {
        width: 100%;
        border: 1px solid var(--pro-gold);

        .pvb-1 {
          width: 100%;
          padding: 20px 40px 20px 20px;
          background-color: var(--pro-blue);
          cursor: pointer;
          position: relative;
          transition: all 0.3s;

          h3 {
            color: white;
            font-size: 1.4rem;
          }

          img {
            position: absolute;
            width: 20px;
            height: 20px;
            top: calc(50% - 10px);
            right: 20px;
            display: block;
            transition: all 0.3s;
            transform-origin: 50% 50%;
          }
        }

        .pvb-1.posi {
          img {
            transform: rotate(180deg);
          }
        }

        .pvb-1:hover {
          background-color: var(--pro-mblue);
        }

        .pvb-2 {
          overflow: hidden;
          height: 0;
          width: 100%;
          transition: all 0.4s;

          .pvb-inner {
            width: 100%;

            img {
              width: 100%;
              height: auto;
            }
          }
        }
      }
    }
  }

  #ploigo-7 {
    .p7-top {
      margin-top: 50px;
      text-align: center;

      h2 {
        display: block;
        width: fit-content;
        margin: 0 auto;
        position: relative;
      }

      h2::before,
      h2::after {
        content: "";
        position: absolute;
        width: 2.5rem;
        height: 5rem;
        background-size: contain;
        top: calc(50% - 2.5rem);
      }

      h2::before {
        background-image: url(https://xn--eckl3qmbc6976d2udy3ah35b.com/wp-content/themes/e-Live/img2/ploigo/tit-l.svg);
        left: -3rem;
      }

      h2::after {
        background-image: url(https://xn--eckl3qmbc6976d2udy3ah35b.com/wp-content/themes/e-Live/img2/ploigo/tit-r.svg);
        right: -3rem;
      }

      .p7t-sub {
        color: var(--pro-gold);
      }
    }

    .p7-wrap {
      max-width: 1100px;
      margin: 50px auto;

      .p7-1 {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 15px;

        .p7-1-box {
          padding: 15px;
          border: 1px solid var(--pro-blue);
          width: 80%;
          max-width: 300px;
          position: relative;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          /* gap: 20px; */

          img {
            width: clamp(100px, 50%, 220px);
            height: auto;
          }
        }

        .p7-tri {
          width: 20px;
          height: 20px;
        }
      }

      .p7-2 {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin-top: 50px;
        padding-bottom: 50vh;
        padding-top: 0;
        transition: all 0.8s;

        img {
          width: 40px;
          height: 40px;
          margin-bottom: 20px;
        }

        .p7-2-1 {
          height: 1.8rem;
          margin-bottom: 20px;

          p {
            font-size: 1.8rem;
            line-height: 105%;
            color: var(--pro-blue);
          }
        }

        .p7-2-2 {
          height: 2.7rem;

          p {
            font-size: 2.7rem;
            color: var(--pro-gold);

            line-height: 105%;
          }
        }

        .p7-toggle {
          overflow: hidden;
          position: relative;
          text-align: center;

          .p7-inner {
            transition: all 0.4s 0.6s;
          }

          p:nth-child(1) {
            margin-bottom: 10px;
          }
        }
      }

      .p7-2.posi {
        padding-top: 50vh;
        padding-bottom: 0;

        .p7-2-1 {
          p {
            color: white;
          }
        }

        .p7-toggle {
          .p7-inner {
            transform: translateY(calc(-50% - 5px));
          }
        }
      }
    }

    @media screen and (min-width: 950px) {
      .p7-wrap {
        .p7-1 {
          flex-direction: row;

          .p7-1-box {
            padding: 20px 15px;
          }

          .p7-tri {
            transform: rotate(-90deg);
            transform-origin: 50% 50%;
          }
        }
      }
    }
  }

  #ploigo-7.sec-pad {
    padding-bottom: 0;
  }

  #ploigo-8 {
    .p8-1 {
      max-width: 900px;
      margin: 0 auto;
      background-color: white;
      padding: 20px;
      border: 1px solid var(--pro-gold);

      .yellow_back {
        background-color: var(--pro-lblue);
        width: 100%;
      }

      .table {
        display: flex;
        flex-direction: column;
      }

      #day-toggle-btn {
        width: 100%;
        justify-content: center !important;
        background-color: var(--pro-blue);

        span::after {
          top: calc(50% - 4px);
        }
      }

      .green_p {
        color: var(--pro-blue) !important;
      }

      .agreetext {
        text-align: center;
      }

      .wpcf7-form-control-wrap {
        text-align: center;
      }

      .sentbt.btns {
        width: 280px;
        margin: 0 auto;
        display: block;
        margin-top: 40px;
        cursor: pointer;
        position: relative;
        background-color: var(--pro-blue);
        overflow: hidden;
        z-index: 1;

        .btn-b {
          position: absolute;
          width: 400px;
          height: 400px;
          top: calc(50% - 200px);
          left: calc(50% - 200px);
          pointer-events: none;

          .btn-b-in {
            position: absolute;
            inset: 0;
            margin: auto;
            background-color: var(--pro-gold);
            transition: all 0.5s;
            transform: scale(0.001);
            transform-origin: 50% 50%;
            border-radius: 50%;
            z-index: 10;
          }
        }
      }

      small.pri {
        display: block;
        text-align: center;
        margin: 20px auto;
        margin-bottom: 0;
      }

      .wpcf7-submit {
        background: transparent;
        padding: 20px;
        width: 100%;

        text-align: center;
        font-size: 24px;
        display: block;
        border-radius: 0;
        position: relative;
        z-index: 11;
      }

      .sentbt.btns:hover {
        .btn-b {
          .btn-b-in {
            transform: scale(1);
          }
        }
      }

      .sentbt.btns::after {
        content: "";
        position: absolute;
        width: calc(100% - 15px);
        height: calc(100% - 15px);
        border: 1px solid var(--pro-gold);
        top: 7.5px;
        left: 7.5px;
        z-index: 20;
      }

      .form-table {
        .table2 {
          width: auto;

          input,
          select,
          textarea {
            background-color: #e9e9e9;
          }
        }
        
      }
      .form-table p {
          padding: 0;
          min-width: 55px;
        }
    }

    @media screen and (min-width: 750px) {
      .p8-1 {
        .table {
          flex-direction: row;

          .input {
            width: calc(100% - 250px);
          }
        }

        .yellow_back {
          width: 250px;
        }
      }
    }
  }

  #ploigo-8.sec-pad {
    padding-top: 0;
  }

  #ploigo-footer {
    .pf-1 {
      justify-content: center;
      gap: 30px;
      align-items: center;
      flex-wrap: wrap;
      margin: 20px auto;
      padding-top: 50px;

      a {
        width: 150px;

        img {
          width: 100%;
        }
      }
    }

    .pf-tel {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      max-width: 80%;
      margin: 10px auto;

      a {
        display: block;
        color: white;
        transition: all 0.3s;
        font-size: 30px;
      }

      a:hover {
        opacity: 0.6;
      }

      small {
        color: white;
      }
    }

    .pf-2 {
      justify-content: center;
      gap: 30px;
      align-items: center;
      margin: 20px auto;
    }

    small.C_w {
      text-align: center;
      display: block;
      margin: 0 auto;
      padding-bottom: 20px;
    }
  }
}

@keyframes wp-ship {
  0% {
    transform: translate(0, 0) rotate(0);
  }

  33.33333% {
    transform: translate(-4px, 10px) rotate(-5deg);
  }

  66.6666% {
    transform: translate(-6px, 3px) rotate(4deg);
  }

  100% {
    transform: translate(0, 0) rotate(0);
  }
}

@keyframes wp-dol {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(-360deg);
  }
}

@keyframes wp-star {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes p4-1 {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes draw-line {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes p5a-1-s {
  0% {
    top: 0;
  }

  15% {
    top: 100%;
  }

  100% {
    top: 100%;
  }
}

@keyframes p5a-2-s {
  0% {
    bottom: 0;
  }

  23% {
    bottom: 0;
  }

  29% {
    bottom: 100%;
  }

  100% {
    bottom: 100%;
  }
}

@keyframes p5a-3-s {
  0% {
    bottom: 0;
    opacity: 1;
  }

  31% {
    bottom: 0;
    opacity: 1;
  }

  40% {
    bottom: 100%;
    opacity: 1;
  }

  41% {
    bottom: 100%;
    opacity: 0;
  }

  42% {
    bottom: 0;
    opacity: 0;
  }

  43% {
    bottom: 0;
    opacity: 1;
  }

  79% {
    bottom: 0;
    opacity: 1;
  }

  88% {
    bottom: 100%;
    opacity: 1;
  }

  100% {
    bottom: 100%;
    opacity: 1;
  }
}

@keyframes p5a-4-s {
  0% {
    top: 0;
  }

  49% {
    top: 0;
  }

  63% {
    top: 100%;
  }

  100% {
    top: 100%;
  }
}

@keyframes p5a-5-s {
  0% {
    bottom: 0;
  }

  71% {
    bottom: 0;
  }

  77% {
    bottom: 100%;
  }

  100% {
    bottom: 100%;
  }
}

@keyframes p5a-1-p {
  0% {
    left: 0;
  }

  15% {
    left: 100%;
  }

  100% {
    left: 100%;
  }
}

@keyframes p5a-2-p {
  0% {
    right: 0;
  }

  23% {
    right: 0;
  }

  29% {
    right: 100%;
  }

  100% {
    right: 100%;
  }
}

@keyframes p5a-3-p {
  0% {
    right: 0;
    opacity: 1;
  }

  31% {
    right: 0;
    opacity: 1;
  }

  40% {
    right: 100%;
    opacity: 1;
  }

  41% {
    right: 100%;
    opacity: 0;
  }

  42% {
    right: 0;
    opacity: 0;
  }

  43% {
    right: 0;
    opacity: 1;
  }

  79% {
    right: 0;
    opacity: 1;
  }

  88% {
    right: 100%;
    opacity: 1;
  }

  100% {
    right: 100%;
    opacity: 1;
  }
}

@keyframes p5a-4-p {
  0% {
    left: 0;
  }

  49% {
    left: 0;
  }

  63% {
    left: 100%;
  }

  100% {
    left: 100%;
  }
}

@keyframes p5a-5-p {
  0% {
    right: 0;
  }

  71% {
    right: 0;
  }

  77% {
    right: 100%;
  }

  100% {
    right: 100%;
  }
}

@keyframes tro-box {
  0% {
    left: 101%;
  }

  100% {
    left: 0%;
  }
}

@keyframes tb-bou {
  10% {
    transform: translateY(-2px);
    animation-timing-function: cubic-bezier(0.4, 0, 1, 1.3);
  }

  12.5% {
    transform: translateY(0px);
  }

  25% {
    transform: translateY(-1px);
    animation-timing-function: cubic-bezier(0.4, 0, 1, 1.3);
  }

  30% {
    transform: translateY(0px);
  }

  70% {
    transform: translateY(-2px);
    animation-timing-function: cubic-bezier(0.4, 0, 1, 1.3);
  }

  74% {
    transform: translateY(0px);
  }

  100% {
    transform: translateY(0px);
  }
}

@keyframes tb-ty {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(-360deg);
  }
}

/* プロイゴについてここまで */

#preblog-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
  display: flex;
  justify-content: left;
  align-items: center;
  padding-left: 20px;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 9999;
  gap: 20px;

  a {
    height: 95%;
    width: auto;
    transition: all 0.3s;

    img {
      height: 100%;
      width: auto;
    }
  }

  a:hover {
    opacity: 0.7;
    transition: all 0.3s;
  }
}

#prepage div,
#prepage a {
  box-sizing: border-box;
}

#ploigo div,
#ploigo a {
  box-sizing: border-box;
}

html:has(.pretop) {
  margin-top: 0 !important;
}

.pretop footer {
  display: none;
}

#prepage a:hover {
  opacity: 1;
}

#ploigoe a:hover {
  opacity: 1;
}

#prepage {
  width: 100%;
  font-family: a-otf-ryumin-pr6n, YuMincho, 游明朝, serif;
  /* min-height: ; */
}

#ploigo {
  width: 100%;
  font-family: a-otf-ryumin-pr6n, YuMincho, 游明朝, serif;
  /* min-height: ; */
}

#ploigo {
  /* p,
  span {
    color: var(--pro-black);
  } */

  .Cflex {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .flex {
    display: flex;
  }

  .bt {
    border-top: 1px solid #393a3a;
  }

  .bb {
    border-bottom: 1px solid #393a3a;
  }

  .bl {
    border-left: 1px solid #393a3a;
  }

  .br {
    border-right: 1px solid #393a3a;
  }

  .wbt {
    border-top: 1px solid #f6f5ef;
  }

  .wbb {
    border-bottom: 1px solid #f6f5ef;
  }

  .wbl {
    border-left: 1px solid #f6f5ef;
  }

  .wbr {
    border-right: 1px solid #f6f5ef;
  }

  /*  */
  /*  */
  /* 各コンテンツ */
  /*  */
  /*  */

  /* コース選択モーダル */
  #courseselect {
    position: fixed;
    width: 100%;
    height: 100svh;
    top: 0;
    left: 0;
    background-color: rgba(000, 000, 000, 0.7);
    justify-content: center;
    align-items: center;
    z-index: 9000;
  }

  #courseselect.prenega {
    display: none;
  }

  #courseselect.posi {
    animation: cs-posi 0.5s forwards;
  }

  #courseselect.nega {
    animation: cs-nega 0.3s forwards;
  }

  .cs-wrapper {
    width: fit-content;
    min-width: 80%;
    height: fit-content;
    position: relative;
    padding: 50px;
    background-color: #f6f5ef;
    border-radius: 20px;
    flex-direction: column;
    gap: 50px;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    margin-inline: 30px;
  }

  .cs-wrapper p {
    display: block;
    width: fit-content;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--pro-blue);
    letter-spacing: 0.1rem;
  }

  .cs-flex {
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
  }

  .cs-flex a {
    justify-content: center;
    align-items: center;
    flex-direction: column;
    /* gap: 15px; */
    border-radius: 10px;
    text-align: center;
    width: 300px;
    padding: 20px;
    transition: all 0.3s;
    position: relative;
  }

  .other-c {
    padding: 3px 15px;
    position: relative;
  }

  .other-c::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 0;
    transition: all 0.3s;
    transform-origin: 50% 0;
    background-color: #3a3838;
  }

  .other-c:hover {
    opacity: 1;
  }

  .other-c:hover::after {
    transition: all 0.5s;
    width: 100%;
  }

  .cs-flex a:hover {
    opacity: 1;
    transform: translateY(5px);
    transition: all 0.5s;
  }

  .cs-flex a:nth-of-type(1) {
    background-color: #393a3a;

    span {
      color: #f6f5ef;
    }
  }

  .cs-flex a:nth-of-type(2) {
    background-color: var(--pro-blue);

    span {
      color: #f6f5ef;
    }
  }

  .cs-flex a:nth-of-type(3) {
    background-color: var(--pro-gold);
  }

  .cs-flex a span:nth-child(1) {
    font-size: 1.6rem;
    line-height: 1rem;
  }

  .cs-flex a::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 1px;
    width: 0;
    transition: all 0.3s;
    transform-origin: 50% 0;
    background-color: #f6f5ef;
  }

  .cs-flex a:hover::after {
    transition: all 0.5s;
    width: 80%;
  }

  .cs-flex a span:nth-child(2) {
    font-size: 1.1rem;
  }

  .cs-close {
    cursor: pointer;
    position: absolute;
    top: -10px;
    right: -10px;
    transition: all 0.3s;
  }

  .cs-close:hover {
    transform: scale(1.3);
    transition: all 0.5s;
  }

  .cs-close img {
    width: 40px;
    aspect-ratio: 1/1;
  }

  /* コース選択モーダル */

  .premain {
    height: 100vh;
  }

  .pm-flex {
    width: 100%;
    height: calc(100vh - 60px);
    position: relative;
  }

  .pmf-g {
    height: 100%;
    flex: 1;
    border-right: 1px solid #393a3a;
  }

  .pg-content {
    width: 100%;
    height: calc(100% - 60px);
    border-bottom: 1px solid #393a3a;
  }

  .pgc-side {
    width: 300px;
    height: 100%;
    border-right: 1px solid #393a3a;
  }

  .pgcs-small {
    width: 100%;
    flex-direction: column;
    height: 220px;
  }

  .pgcss-logo {
    width: 100%;
    height: 50%;
    border-bottom: 1px solid #393a3a;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .pgcss-logo h1 {
    display: block;
    width: 100%;
    height: 80%;
    text-align: center;
  }

  .pgcss-logo img {
    width: auto;
    height: 100%;
  }

  .pgcss-day {
    width: 100%;
    height: 50%;
    border-bottom: 1px solid #393a3a;
  }

  .pgcss-day p {
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--pro-blue);
  }

  .pgcs-countdown {
    width: 100%;
    height: calc(100% - 220px);
  }

  .countBox {
    text-align: center;
  }

  .countBox p {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 3rem;
  }

  .countBox p:nth-child(1) {
    font-size: 1.6rem;
  }

  #restday {
    color: var(--pro-gold);
    font-size: 200%;
    margin-left: 10px;
    margin-right: 10px;
    font-weight: 600;
  }

  .pgc-center {
    flex: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: start;
  }

  .pgcc-title {
    width: fit-content;
    text-align: left;
  }

  .pgcc-title p {
    padding-left: 50px;
    margin-bottom: 5px;
    display: block;
    width: fit-content;
    font-weight: 500;
    font-size: 1.4rem;
  }

  .pgcc-title h2 {
    padding: 30px 40px;
    width: fit-content;
    color: #f6f5ef;
    background-color: var(--pro-blue);
    letter-spacing: 0.2rem;
    font-size: 4rem;
  }

  .todaytutor {
    justify-content: center;
    padding-inline: 10px;
    gap: 5%;
    margin: 0 auto;
  }

  #horiday-attention {
    display: none;
    padding: 25px;
    font-size: 2rem;
    text-align: center;
    border: 2px solid var(--pro-blue);
    background-color: white;
    font-weight: 500;
    color: var(--pro-blue);
  }

  .tutorcontent {
    flex: 1;
    max-width: 400px;
    /* display: none; */
  }

  .tutorpro {
    position: relative;
    width: 100%;
  }

  .tutorthumb {
    width: 100%;
    padding-bottom: 50px;
  }

  .tutorthumb img {
    width: 100%;
    height: auto;
  }

  .tutorname {
    position: absolute;
    right: 0;
    bottom: 7px;
  }

  .tutorcat {
    text-align: right;
    padding-right: 20px;
    padding-left: 50px;
    border-bottom: 1px solid var(--pro-gold);
  }

  .tccontent {
    font-size: 1rem;
    letter-spacing: 0.1rem;
    display: block;
    /* width: fit-content; */
    padding-bottom: 5px;
  }

  .tutortitle h2 {
    font-size: 1.4rem;
    color: var(--pro-gold);
    letter-spacing: 0.2rem;
    padding-right: 20px;
    text-align: right;
  }

  .tutortitle h2 span {
    font-size: 1rem;
    color: #393a3a;
    letter-spacing: 0.1rem;
  }

  .tutorcontent h3 {
    margin: 20px 0 10px 0;
    width: 100%;
    text-align: left;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--pro-gold);
    font-size: 1.1rem;
  }

  .tutorsub {
    justify-content: left;
    flex-wrap: wrap;
    gap: 4px;
    width: 100%;
  }

  .tutorsub .tutorsubcontent {
    width: 80px;
    height: 25px;
    box-sizing: border-box;
    color: #f6f5ef;
    border-radius: 3px;
    text-align: center;
    vertical-align: middle;
    font-size: 0.9rem;
  }

  .tutorsub .tc-1 {
    background-color: #bb6161;
  }

  .tutorsub .tc-2 {
    background-color: #64a5c0;
  }

  .tutorsub .tc-3 {
    background-color: #8a58a8;
  }

  .tutorsub .tc-4 {
    background-color: #63b85c;
  }

  .tutorsub .tc-5 {
    background-color: #c29b61;
  }

  .tutorsub .tc-other {
    background-color: #757575;
  }

  .pg-news {
    width: 70%;
    height: 60px;
  }

  .pgn-flex {
    width: 100%;
    height: 100%;
    align-items: center;
    padding-left: 20px;
    gap: 50px;
  }

  .NEWS {
    font-weight: 600;
  }

  .pgnf-Box {
    position: relative;
    flex: 1;
    overflow: hidden;
    height: 100%;
  }

  .pgnf-dammy {
    width: 100%;
    height: 100%;
  }

  .news-c {
    display: flex;
    justify-content: left;
    gap: 15px;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translateY(50px);
  }

  .news-c:nth-of-type(1) {
    animation: pn-anime 16.5s infinite;
  }

  .news-c:nth-of-type(2) {
    animation: pn-anime 16.5s 5.5s infinite;
  }

  .news-c:nth-of-type(3) {
    animation: pn-anime 16.5s 11s infinite;
  }

  .pn-date {
    font-size: 0.8rem;
    font-weight: 400;
    color: #757575;
    width: 80px;
    text-align: left;
  }

  .pn-category {
    width: 85px;
    padding: 5px 10px;
    font-size: 0.9rem;
    color: #f6f5ef;
    border-radius: 3px;
    text-align: center;
    font-weight: 500;
    white-space: nowrap;
  }

  .pn-1 {
    background-color: #bb6161;
  }

  .pn-2 {
    background-color: var(--pro-blue);
  }

  .pn-3 {
    background-color: var(--pro-gold);
  }

  .pn-4 {
    background-color: #8a58a8;
  }

  .pn-5 {
    background-color: #63b85c;
  }

  .pn-other {
    background-color: #64a5c0;
  }

  .pn-title {
    font-weight: 400;
  }

  .pmh-r {
    width: 500px;
    height: calc(100% - 200px);
    margin-top: 200px;
  }

  .pmh-r a {
    width: 100%;
    height: 50%;
    overflow: hidden;
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: space-around;
  }

  .pmh-r a:nth-child(2) {
    align-items: end;
    text-align: right;
  }

  .pmh-r a:nth-child(2) {
    background-color: var(--pro-blue);

    h2 {
      border-bottom: 1px solid var(--pro-gold);
      padding-bottom: 5px;
      padding-right: 20px;
      margin-bottom: 10px;
      color: var(--pro-gold);
      padding-left: 15px;
      font-size: 1.8rem;
    }

    span {
      padding-right: 20px;
      color: white;
    }

    p {
      padding: 0 100px 5px 15px;
      position: relative;
      color: white;
    }

    p:before {
      content: "";
      position: absolute;
      top: 40%;
      right: 60px;
      width: 25.5px;
      height: 0.5px;
      display: block;

      background-color: white;
      transition: all 0.3s;
      transform: translate(0, -70%);
      background-size: cover;
    }

    p:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      height: 1px;
      width: 0;
      background-color: var(--pro-gold);
      transition: all 0.3s;
      transform-origin: 0% 0%;
    }
  }

  .pmh-r a:nth-child(1) {
    h2 {
      border-bottom: 1px solid var(--pro-gold);
      padding-bottom: 5px;
      padding-left: 20px;
      margin-bottom: 10px;
      color: var(--pro-blue);
      width: fit-content;
      padding-right: 15px;
      font-size: 1.8rem;
    }

    span {
      padding-left: 20px;
      color: #393a3a;
    }

    p {
      padding: 0 100px 5px 20px;
      color: #393a3a;
      position: relative;
      display: block;
      width: fit-content;
    }

    p:before {
      content: "";
      position: absolute;
      top: 40%;
      right: 60px;
      width: 25.5px;
      height: 0.5px;
      display: block;
      background-color: var(--pro-blue);
      /* background-image: url(https://xn--eckl3qmbc6976d2udy3ah35b.com/wp-content/uploads/2024/11/arrow1.png); */
      transition: all 0.3s;
      transform: translate(0, -70%);
      background-size: cover;
    }

    p:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      height: 1px;
      width: 0;
      background-color: #f6f5ef;
      transition: all 0.3s;
      transform-origin: 0% 0%;
    }
  }

  .pmh-r a:hover {
    opacity: 1;
  }

  .pmh-r a:hover p::before {
    transform: translate(12px, -70%);
    transition: all 0.5s;
  }

  .pmh-r a:hover p::after {
    width: 100%;
    transition: all 0.5s;
  }

  .pmh-r a:nth-child(2) img {
    object-position: 0% 45%;
    transform-origin: 50% 50%;
    transform: rotate(15deg) translateY(-50%);
    height: 110%;
    max-height: 250px;
    width: auto;
    opacity: 0.8;
    position: absolute;
    top: 50%;
    left: -30px;
    z-index: 1;

    transition: all 0.3s;
  }

  .pmh-r a:nth-child(1) img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    object-fit: cover;
    width: 100%;
    height: 100%;

    transition: all 0.3s;
  }

  .pmh-r a:hover img {
    transition: all 0.5s;
    transform: scale(1.1);
  }

  .pmh-r a:nth-child(1) img {
    object-position: 92% 15%;
    transform-origin: 92% 15%;
  }

  .pmh-r a:nth-child(2):hover img {
    transition: all 0.5s;
    transform: scale(1.1) rotate(15deg) translateY(-50%);
  }

  /* comingsoon */

  .pr-blog {
    /* pointer-events: none; */
    position: relative;
  }

  .pr-blog .blogcomingsoon {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(000, 000, 000, 0.7);

    display: flex;
    justify-content: center;
    align-items: center;
  }

  .pr-blog .blogcomingsoon span {
    color: white;
    text-align: center;
    letter-spacing: 0.5rem;
    font-size: 1.3rem;
    font-weight: 400;
  }

  /* comingsoon */

  .pr-about {
    border-bottom: 1px solid #393a3a;
  }

  .pmf-b {
    position: absolute;
    top: 0;
    right: 0;
    width: 500px;
    height: 200px;
    border-bottom: 1px solid #393a3a;
  }

  .pmf-b a {
    position: relative;
  }

  .pmf-b a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    aspect-ratio: 1/1;
    transition: all 0.3s;
    background-size: cover;
  }

  .pmf-b p {
    font-size: 1.2rem;
    font-weight: 600;
    text-align: center;
    transition: all 0.3s;
    position: relative;
    padding: 0 10px 2px 10px;
  }

  .pmf-b p::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 0;
    transition: all 0.3s;
    transform-origin: 50% 0;
  }

  .pmf-b a:hover {
    opacity: 1;
  }

  .pb-newface {
    flex: 1;
    height: 100%;
    border-right: 1px solid #393a3a;
  }

  .pbn-reception,
  .pbn-contact {
    width: 100%;
    height: 50%;
  }

  .pbn-reception {
    border-bottom: 1px solid #393a3a;
    background-color: #f6f5ef;
  }

  .pbn-reception::before {
    background-image: url(https://xn--eckl3qmbc6976d2udy3ah35b.com/wp-content/uploads/2024/11/radius3.png);
  }

  .pbn-reception p {
    color: var(--pro-blue);
  }

  .pbn-reception p::after {
    background-color: var(--pro-blue);
  }

  .pbn-contact {
    background-color: var(--pro-gold);
  }

  .pbn-contact::before {
    background-image: url(https://xn--eckl3qmbc6976d2udy3ah35b.com/wp-content/uploads/2025/11/radius2.webp);
  }

  .pb-member {
    width: 200px;
    height: 100%;
    background-color: var(--pro-blue);
    position: relative;
    cursor: pointer;
  }

  .pb-member::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    aspect-ratio: 1 / 1;
    transition: all 0.3s;
    background-size: cover;
    background-image: url(https://xn--eckl3qmbc6976d2udy3ah35b.com/wp-content/uploads/2025/11/radius1.webp);
  }

  .pmf-b a:hover::before,
  .memberbtn:hover::before {
    transition: all 0.5s;
    width: 30px;
  }

  .pbn-contact p,
  .pb-member p {
    color: #f6f5ef;
  }

  .pbn-contact p::after,
  .pb-member p::after {
    background-color: #f6f5ef;
  }

  .pmf-b a:hover p::after,
  .pb-member:hover p::after {
    transition: all 0.5s;
    width: 100%;
  }

  #prefooter {
    height: 60px;
    background-color: #393a3a;
    display: flex;
    align-items: center;
    justify-content: space-around;
  }

  #prefooter a,
  #prefooter p {
    color: #f6f5ef;
    display: flex;
    height: 80%;
    justify-content: center;
    align-items: center;
    position: relative;
    cursor: pointer;

    span {
      color: #f6f5ef;
    }
  }

  #prefooter a:nth-child(1):before {
    display: none;
  }

  #prefooter a::before,
  #prefooter p::before {
    content: "";
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 0;
    transition: all 0.3s;
    transform-origin: 50% 0;
    background-color: #f6f5ef;
  }

  #prefooter a:nth-child(n + 2) {
    opacity: 1;
  }

  #prefooter a:hover::before,
  #prefooter p:hover::before {
    transition: all 0.5s;
    width: 100%;
  }

  #prefooter img {
    height: 80%;
    width: auto;
  }

  .wttb {
    display: none;
  }

  /*ノーパソ タブレット表示 */
  @media screen and (max-width: 1439px) {
    .wtpc {
      display: none;
    }

    .wttb {
      display: block;
    }

    .premain {
      height: fit-content;
    }

    .pm-flex {
      flex-direction: column;
      height: 1200px;
    }

    .pmf-g {
      /* height: 800px; */
      border-right: none;
      flex: auto;
    }

    .pgc-center {
      height: 500px;
      margin-top: 150px;
    }

    .tutorcontent {
      max-width: 370px;
    }

    .pgcc-title p {
      padding-left: 30px;
      margin-top: 20px;
    }

    .pgcc-title h2 {
      font-size: 2rem;
      padding: 20px 30px;
      margin-bottom: 20px;
    }

    .tutorcontent h3 {
      margin-top: 10px;
      font-size: 1rem;
    }

    .tutorsub .tutorsubcontent {
      font-size: 0.75rem;
      width: 60px;
      height: 23px;
    }

    .pmh-r {
      width: 100%;
      height: 400px;
      margin-top: 0;
      border-top: 1px solid #393a3a;
    }

    .pmf-b {
      width: calc(100% - 300px);
      height: 150px;
    }

    .pgcs-small {
      height: 150px;
    }

    .pgcs-countdown {
      height: calc(100% - 150px);
    }

    .pb-member {
      width: 50%;
    }
  }

  /* スマホ表示 */
  @media screen and (max-width: 800px) {
    .cs-flex a {
      width: 230px;
    }

    .wtsp {
      display: block;
    }

    .pm-flex {
      flex-direction: column;
      height: 1500px;
    }

    .pmf-g {
      flex-direction: column;
    }

    .pgc-side {
      width: 100%;
      height: 120px;
      border-right: none;
    }

    .pgcs-small {
      height: 50%;
      flex-direction: row;
    }

    .pgcss-logo {
      flex: 1;
      width: auto;
      height: 100%;
      border-right: 1px solid #393a3a;
    }

    .pgcss-day {
      height: 100%;
      width: 120px;
    }

    .pgcs-countdown {
      height: 50%;
    }

    .countBox {
      display: flex;
      justify-content: center;
      align-items: end;
      padding-top: 7px;
      gap: 10px;
    }

    .countBox p {
      display: block;
    }

    .pg-content {
      flex-direction: column;
      justify-content: start;
      height: calc(100% - 60px);
    }

    .pgcc-title p {
      font-size: 1.8rem;
    }

    .pgcc-title h2 {
      margin-bottom: 60px;
      font-size: 3rem;
    }

    .tutorcat {
      padding-right: 7px;
    }

    .tutortitle h2 {
      padding-right: 7px;
    }

    .pmf-b {
      top: 120px;
      width: 100%;
      height: 240px;
      flex-direction: column-reverse;
      border-top: 1px solid #393a3a;
    }

    .pmf-b p {
      font-size: 1.6rem;
    }

    .pb-newface {
      width: 100%;
      height: 50%;
      display: flex;
      border-top: 1px solid #393a3a;
      border-right: none;
    }

    .pbn-reception,
    .pbn-contact {
      width: 50%;
      height: 100%;
    }

    .pbn-reception {
      border-bottom: none;
      border-right: 1px solid #393a3a;
    }

    .pb-member {
      width: 100%;
      height: 50%;
    }

    .pgc-center {
      height: 750px;
      margin-top: 300px;
      flex: 0;
    }

    .pgn-flex {
      padding-left: 10px;
      gap: 20px;
    }

    .pn-category {
      width: 60px;
    }

    .pn-title {
      font-size: 1rem;
    }

    .tccontent {
      font-size: 0.85rem;
      padding-bottom: 0;
    }

    .tutorsub .tutorsubcontent {
      width: 75px;
      font-size: 1rem;
    }

    .pmh-r a:nth-child(1) img {
      object-position: 15% 45%;
    }

    #prefooter {
      flex-direction: column;
      height: fit-content;
    }

    #prefooter a {
      height: 60px;
    }

    .pg-news {
      width: 100%;
    }
  }
}

@keyframes cs-posi {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes cs-nega {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes pn-anime {
  0% {
    transform: translateY(50px);
  }

  3% {
    transform: translateY(0);
  }

  33.333333334% {
    transform: translateY(0);
  }

  36.333333341% {
    transform: translateY(-50px);
  }

  100% {
    transform: translateY(-50px);
  }
}

/* レセプション */
.prereception + .single .gray_back {
  display: none;
}

html:has(.prereception) {
  margin-top: 0 !important;
  background-color: #f6f5ef;
}

.prereception + .single {
  font-family: a-otf-ryumin-pr6n, YuMincho, 游明朝, serif;

  .contents {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    form {
      text-align: center;

      p {
        font-size: 1.2rem;
      }
    }
  }

  img {
    display: block;
    width: clamp(270px, 20%, 400px);
    margin-bottom: 10px;
    margin-top: 50px;
  }

  h1 {
    font-size: 1.6rem;
  }

  h1 span {
    margin-bottom: 50px;
    font-size: 2rem;
  }

  h1::before {
    display: none;
  }

  .prr-signin {
    display: block;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: 0.2rem;
    padding: 20px 35px;
    border-radius: 10px;
    color: #f6f5ef;
    margin-top: 40px;
    transition: all 0.3s;
  }

  .prr-return {
    padding: 15px;
    padding-bottom: 17px;
    background-color: rgb(192, 192, 192);
    border-radius: 5px;
    transition: all 0.3s;
    margin-top: 100px;
  }

  .prr-return span,
  .prr-signin span {
    position: relative;
  }

  .prr-return span::after,
  .prr-signin span::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 0;
    transition: all 0.3s;
    transform-origin: 50% 0;
    background-color: #f6f5ef;
  }

  .prr-return:hover,
  .prr-signin:hover {
    opacity: 1;
    transform: translateY(5px);
    transition: all 0.5s;
  }

  .prr-return:hover span::after,
  .prr-signin:hover span::after {
    transition: all 0.5s;
    width: 110%;
  }

  .pr-1 {
    background-color: #393a3a;

    span {
      color: white;
    }
  }

  .pr-2 {
    background-color: var(--pro-gold);
    color: #393a3a;
  }

  .pr-3 {
    background-color: var(--pro-blue);

    span {
      color: white;
    }
  }

  .pr-4 {
    background-color: #393a3a;

    span {
      color: white;
    }
  }

  .prr-login {
    line-height: 1.8rem;
  }

  .re-des {
    margin: 50px auto;
    width: clamp(370px, 80%, 1200px);

    padding: 5%;
    border: 1px solid var(--pro-blue);
    box-sizing: border-box;

    h2 {
      padding-block: 30px;
      background-color: var(--pro-blue);
      color: white;
      text-align: center;
      margin-bottom: 30px;

      span {
        color: white;
      }
    }

    .re-des-in {
      margin-top: 60px;

      h3 {
        color: var(--pro-blue);
        margin-bottom: 50px;
      }

      .re-content {
        margin-left: 20px;
        position: relative;
        margin-bottom: 50px;

        h4 {
          font-weight: 600;
          line-height: 250%;
          font-size: 1.4rem;
          margin-bottom: 15px;
        }
      }

      .re-content::before {
        position: absolute;
        left: -25px;
        top: 17px;
        font-size: 1.4rem;
        font-weight: 700;
        color: var(--pro-gold);
      }

      .re-content:nth-child(2)::before {
        content: "1";
      }

      .re-content:nth-child(3)::before {
        content: "2";
      }

      .re-content:nth-child(4)::before {
        content: "3";
      }

      .re-content:nth-child(5)::before {
        content: "4";
      }
    }

    p {
      font-size: 1.1rem;
    }
  }
}

/* レセプションここまで */

/* 会員ページ */

html:has(.premember) {
  margin-top: 0 !important;
}

.premember {
  width: 100%;
  height: 100svh;
  min-height: 832px;

  .pm-main {
    height: 100%;
  }

  .pr {
    position: relative;
  }

  .pa {
    position: absolute;
  }

  .flexcol {
    display: flex;
    flex-direction: column;
  }

  .bgc-b {
    background-color: #393a3a;
  }

  .bgc-g {
    background-color: var(--pro-blue);
  }

  p,
  h2 {
    color: #f6f5ef;
  }

  .premain {
    height: 100vh;
  }

  .pmm-box {
    height: 100%;
    flex-wrap: wrap;
  }

  .pmm-left {
    width: 70%;
    height: calc(100% - 60px);
  }

  .pmml-top {
    height: 110px;
  }

  .pmmlt-home {
    gap: 20px;
    width: 400px;
    height: 100%;
  }

  .pmmlt-home img {
    height: 50%;
    width: auto;
  }

  .pmmlt-home h2 {
    text-align: center;
    font-size: 1.2rem;
  }

  .pmmlt-day {
    width: 200px;
    height: 100%;
  }

  .pmmlt-day p {
    font-size: 1.6rem;

    span {
      color: white;
    }
  }

  .pmmlt-count {
    flex: 1;
    min-width: 230px;
  }

  .countBox {
    text-align: center;
  }

  .pmml-bottom {
    flex: 1;
    justify-content: center;
    gap: 5%;
  }

  .pmmlb-body {
    width: calc(100% - 180px);
    gap: 20px;
    /* margin-bottom: 50px; */
    justify-content: space-around;
    margin-left: 20px;
  }

  .pmmlb-title p,
  .pmmlb-title h2 {
    display: block;
    width: fit-content;
  }

  .pmmlb-title p {
    color: #393a3a;
    padding-left: 33px;
    margin-top: 20px;
    font-weight: 600;
    letter-spacing: 0.2rem;
  }

  .pmmlb-title h2 {
    padding: 20px 30px;
    background-color: var(--pro-blue);
    letter-spacing: 0.4rem;
  }

  .tutorcontent {
  }

  .tccontent {
    color: #393a3a;
  }

  .lineWrapper {
    bottom: 120px;
    right: 0;
    background-color: #1bae25;
    justify-content: center;
    align-items: center;
    border-radius: 15px 0 0 0;
    width: 140px;
    height: 300px;
    padding: 25px 0;
    gap: 30px;
  }

  .line-box {
    height: 100px;
  }

  .lineWrapper a {
    align-items: center;
  }

  .lineWrapper a img {
    width: 80px;
    aspect-ratio: 1/1;
    margin-bottom: 10px;
    transition: all 0.3s;
  }

  .lineWrapper a:hover img {
    transition: all 0.5s;
    transform: scale(1.1);
  }

  .lineWrapper a h3 {
    color: #f6f5ef;
    text-align: center;
    font-size: 1.1rem;
  }

  .lineWrapper a h3::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 0;
    transition: all 0.3s;
    transform-origin: 50% 0;
    background-color: #f6f5ef;
  }

  .lineWrapper a:hover h3::after {
    transition: all 0.5s;
    width: 110%;
  }

  .pm-blog {
    bottom: 0;
    right: 0;
    width: 240px;
    height: 120px;
    display: block;
    box-sizing: border-box;
    border: 1px solid var(--pro-blue);
    background-color: white;
  }

  .pmb-box {
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: left;
    overflow: hidden;
  }

  .pmb-box img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 70% 0%;
    transition: all 0.3s;
  }

  .pm-blog:hover .pmb-box img {
    transform: scale(1.1);
    transition:
      all 0,
      5s;
  }

  .pmb-box h2 {
    padding-inline: 20px 15px;
    text-align: left;
    font-size: 1.6rem;
    color: var(--pro-blue);
  }

  .pmb-box h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;

    height: 1px;
    width: 0;
    transition: all 0.3s;
    transform-origin: 0 0;
    background-color: var(--pro-gold);
  }

  .pm-blog:hover .pmb-box h2::after {
    transition: all 0.5s;
    width: 100%;
  }

  .pmm-right {
    width: 30%;
  }

  .pmmr-limted {
    height: 110px;
    width: 100%;
    flex-wrap: wrap;
    text-align: center;
  }

  .pmmrl-1,
  .pmmrl-2 {
    width: 100%;

    span {
      color: #f6f5ef;
    }
  }

  .pmmr-contents {
    width: 100%;
    height: 100%;
    flex: 1;
  }

  .pmmr-contents a {
    border-bottom: 1px solid #f6f5ef;
  }

  .pmmr-contents a:last-child {
    border-bottom: none;
  }

  .pmmrc-btn {
    flex: 1;
    width: 100%;
  }

  .pmc-icon {
    height: 100%;
    width: 80px;
  }

  .pmc-icon img {
    width: 70%;
    aspect-ratio: 1/1;
    transition: all 0.3s;
  }

  .pmc-body {
    flex: 1;
    justify-content: center;
    gap: 30px;
    transition: all 0.3s;
  }

  .pmc-body h2 {
    padding-left: 20px;
  }

  .pmc-body p {
    display: block;
    width: fit-content;
    margin-right: 0;
    margin-left: auto;
    padding-right: 100px;
    padding-left: 30px;
  }

  .pmc-body p::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;

    height: 1px;
    width: 0;
    transition: all 0.3s;
    transform-origin: 0 0;
    background-color: #f6f5ef;
  }

  .pmmrc-btn:hover .pmc-body {
    background-color: var(--pro-gold);
    transition: all 0.5s;
  }

  .pmmrc-btn:hover .pmc-body p::after {
    width: 100%;
    transition: all 0.5s;
  }

  .pmmrc-btn:hover .pmc-icon img {
    transform: scale(1.2);
    transition: all 0.5s;
  }

  .pn-date,
  .pn-title {
    color: #f6f5ef !important;
  }

  .pm-news {
    flex: 1.3;
    min-width: 600px;
  }

  footer {
    display: none;
  }

  #pmfooter {
    height: 60px;
    gap: 20%;
    width: fit-content;
    padding-inline: 30px;
    flex: 1;
  }

  #pmfooter a {
    color: #f6f5ef;
    white-space: nowrap;
  }

  #pmfooter a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 0;
    transition: all 0.3s;
    transform-origin: 50% 0;
    background-color: #f6f5ef;
  }

  #pmfooter a:hover::after {
    transition: all 0.5s;
    width: 110%;
  }
}

/*ノーパソ タブレット表示 */
@media screen and (max-width: 1230px) {
  .premember {
    height: fit-content;

    .pm-main {
      height: fit-content;
    }

    .pmm-box {
      height: fit-content;
    }

    .pmm-left {
      height: fit-content;
      display: block;
      flex: 1;
      width: 100%;
    }

    .pmmlt-home {
      width: 380px;
    }

    .pmmlt-home img {
      height: 50%;
    }

    .pmmlt-home h2 {
      font-size: 1.2rem;

      span {
        color: white;
      }
    }

    .pmmlt-day {
      width: 189px;
    }

    .pmmlb-title {
      margin-top: 30px;
      margin-bottom: 10px;
    }

    .pmmlb-body {
      margin-bottom: 140px;
      margin-left: 20px;
      flex-wrap: wrap;
      gap: 30px;
    }

    .tutorcontent {
      min-width: 300px;
    }

    .tutorcontent h3 {
      font-size: 1.4rem !important;
    }

    .pm-news {
      order: 2;
      min-width: auto;
      width: 100%;
      flex: auto;
      border-bottom: 1px solid #f6f5ef;
    }

    .pmm-right {
      order: 3;
      width: 100%;
    }

    .pmmr-limted {
      border-left: none !important;
      flex-wrap: nowrap;
    }

    .pmmrl-1 {
      border-right: 1px solid #f6f5ef;
    }

    #pmfooter {
      order: 4;
    }

    .pmmr-contents {
      border-left: none !important;
      flex: auto;

      flex-direction: row;
      flex-wrap: wrap;
    }

    .pmc-body p {
      margin-left: 0;
    }

    .pmmr-contents a {
      border-bottom: none;
    }

    .pmmr-1 .pmc-1,
    .pmmr-3 .pmc-1,
    .pmmr-3 .pmc-3 {
      border-right: 1px solid #f6f5ef;
    }

    .pmmr-2 .pmc-1 {
      flex: auto;
      width: 100%;
    }

    .pmmr-3 a {
      flex: auto;
      width: 50%;
    }

    .pmmr-2 .pmc-2 {
      border-right: 1px solid #f6f5ef;
    }

    .pmmr-2 .pmc-1,
    .pmmr-3 .pmc-1,
    .pmmr-3 .pmc-2 {
      border-bottom: 1px solid #f6f5ef;
    }

    .pg-news {
      width: 100%;
    }
  }
}

/* スマホ表示 */
@media screen and (max-width: 800px) {
  .premember {
    .pmml-top {
      flex-wrap: wrap;
      height: 180px;
    }

    .pmmlt-home {
      width: calc(100% - 110px);
      height: 50%;
    }

    .pmmlt-home img {
      height: 45%;
    }

    .pmmlt-count {
      order: 3;
      width: 100%;
      flex: auto;
      height: 50%;
      border-right: none !important;
      border-top: 1px solid #f6f5ef;
    }

    .pmmlt-day {
      order: 2;
      width: 110px;
      height: 50%;
    }

    .pmmlb-body {
      margin: 0 auto;
      margin-bottom: 320px;
      width: 90%;
    }

    .pmmlb-title h2 {
      font-size: 2rem;
    }

    .tutortitle h2 {
      font-size: 1.4rem !important;
    }

    .lineWrapper {
      width: 100%;
      left: 0;
      right: auto;
      flex-direction: row;
      height: 120px;
      border-radius: 15px 15px 0 0;
      justify-content: space-around;
      padding-inline: 20%;
    }

    .lineWrapper a img {
      width: 70px;
    }

    .pm-blog {
      right: auto;
      left: 0;
      width: 100%;
    }

    .pmb-box img {
      object-position: 70% 20%;
    }

    .NEWS {
      font-size: 1rem;
    }

    .pn-date {
      display: none;
    }

    .pmmrc-btn {
      border-right: none !important;
      border-bottom: 1px solid #f6f5ef !important;
      flex: auto;
    }

    .pmmrc-btn:last-child {
      border-bottom: none !important;
    }

    .pmc-body {
      gap: 15%;
    }

    .pmmr-contents {
      flex-direction: row;
    }

    .pmc-body h2 {
      font-size: 1.4rem;
    }

    .pmc-body p {
      margin-left: auto;
      margin-right: 0;
      padding-right: 40px;
    }

    .pmmr-1 {
      height: 200px;
    }

    .pmmr-2 {
      height: 300px;
    }

    .pmmr-3 {
      height: 400px;
    }

    .pmmrl-1,
    .pmmrl-2 {
      padding-inline: 20px;
    }

    .pmmrl-1 p,
    .pmmrl-2 p {
      line-height: 2rem;

      span {
        color: white;
      }
    }

    .pmmr-3 a {
      width: 100%;
    }

    .pg-news {
      width: 100%;
    }
  }
}

/* 本日の講師の背景 */

.pmback {
  position: relative;
}

.pmb-Wrapper {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}

.pmb-Wrapper img {
  position: absolute;
  width: clamp(30px, 5vw, 100px);
  aspect-ratio: 1/1;
  filter: blur(2.5px);
  left: 110%;
  transform: translateX(-100%);
}

.pmb-Wrapper img:nth-child(1) {
  top: -5%;

  animation: bobj 30s -2s linear infinite;
}

.pmb-Wrapper img:nth-child(2) {
  top: 10%;

  animation: bobj 40s -10s linear infinite;
}

.pmb-Wrapper img:nth-child(3) {
  top: 19%;

  animation: bobj 30s -4s linear infinite;
}

.pmb-Wrapper img:nth-child(4) {
  top: 38%;

  animation: bobj 40s -12s linear infinite;
}

.pmb-Wrapper img:nth-child(5) {
  top: 43%;

  animation: bobj 30s -14s linear infinite;
}

.pmb-Wrapper img:nth-child(6) {
  top: 58%;

  animation: bobj 30s -24s linear infinite;
}

.pmb-Wrapper img:nth-child(7) {
  top: 65%;

  animation: bobj 40s -25s linear infinite;
}

.pmb-Wrapper img:nth-child(8) {
  top: 79%;

  animation: bobj 40s -17s linear infinite;
}

.pmb-Wrapper img:nth-child(9) {
  top: 103%;

  animation: bobj 30s -6s linear infinite;
}

.pmb-Wrapper img:nth-child(10) {
  top: 24%;

  animation: bobj 30s -36s linear infinite;
}

.pmb-Wrapper img:nth-child(11) {
  top: 71%;

  animation: bobj 30s -33s linear infinite;
}

.pmb-Wrapper img:nth-child(12) {
  top: 83%;

  animation: bobj 30s -26s linear infinite;
}

.pmb-Wrapper img:nth-child(13) {
  top: 60%;

  animation: bobj 30s -45s linear infinite;
}

.pmb-Wrapper img:nth-child(14) {
  top: 32%;

  animation: bobj 30s -14s linear infinite;
}

/* 本日の講師背景ここまで */

@keyframes bobj {
  0% {
    left: 110%;
  }

  100% {
    left: 0%;
  }
}

/* 塾長ブログページネーション */
#preblog {
  .pagination {
    display: flex;
    justify-content: center;
    margin: 50px 0;

    .elv-pagination ul {
      display: flex;
    }

    .page-numbers {
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 3px;
      height: 40px;
      width: 40px;
      font-size: 1rem;
      line-height: 1.2rem;
      border: solid 1px var(--pro-gold);
      color: var(--pro-gold);
      background-color: var(--white);
    }

    a.page-numbers:hover {
      background: var(--pro-gold);
      color: var(--white);
    }

    .next,
    .prev {
      width: fit-content;
      padding: 0 20px;
    }

    .current {
      background-color: #45b9a7aa;
      color: white;
    }

    .dots {
      background: none;
      border: 0;
    }
  }
}

/* 塾長ブログ */
html:has(.preblogmain) {
  margin-top: 0 !important;
}

#preblog {
  width: 100%;

  position: relative;

  .prereturn {
    position: fixed;
    top: 100px;
    left: 0;
    padding: 20px 30px;
    background-color: white;
    color: var(--pro-gold);
    border: 1px solid var(--pro-gold);
    border-left: none;
    transition: all 0.3s;
    font-weight: 600;
    letter-spacing: 0.2rem;
  }

  .prereturn:hover {
    opacity: 1;
    background-color: var(--pro-gold);
    color: white;
    transition: all 0.5s;
  }

  .titleWrapper {
    justify-content: left;
    align-items: center;
    border-bottom: 1px solid var(--pro-gold);
    overflow: hidden;
    position: relative;
    padding-top: 200px;
  }

  .preblog-b1 {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 50%;
    object-fit: cover;
    object-position: 0 0;
    z-index: -1;
  }

  .preblog-b2 {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 70%;
    width: 30%;
    object-fit: cover;
    object-position: 0 0;
    z-index: -1;
  }

  .tw-left {
    h1 {
      font-size: 2.8rem;
      letter-spacing: 0.5rem;
      padding-inline: 10vw 50px;
      border-bottom: 1px solid var(--pro-gold);
      padding-bottom: 20px;
      width: fit-content;
      font-weight: 200;
    }

    .subtitle {
      margin-left: 10vw;
      letter-spacing: 0.4rem;
    }
  }

  .tw-right {
    margin-left: 22%;
    width: 50%;
    min-width: 300px;
    margin-top: 100px;
    padding-bottom: 100px;
    position: relative;

    p {
      line-height: 1.8rem;
      letter-spacing: 0.1rem;
      font-weight: 500;
    }
  }

  .miniNakano {
    position: absolute;
    bottom: 0;
    left: -200px;
    height: 310px;
    width: auto;
  }

  .preblogmain {
    width: clamp(320px, 80%, 1300px);
    margin: 100px auto;
    gap: 5%;
  }

  .pbm-left {
    width: 60%;
    box-sizing: border-box;
    border-right: 1px solid var(--pro-gold);
  }

  .pbm-right {
    width: 25%;
  }

  .Nakano-pro {
    width: 95%;
    margin-inline: auto;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    img {
      width: 70%;
      height: auto;
      border-bottom: 1px solid var(--pro-gold);
    }

    span {
      display: block;
    }
  }

  .pb-content {
    border-radius: 20px;
    box-shadow: 7px 7px 7px rgba(152, 195, 209, 0.7);
    display: block;
    width: 80%;
    padding: 30px;
    box-sizing: border-box;
    position: relative;
    transition: all 0.5s;
  }

  .pb-content:hover {
    opacity: 1;
    box-shadow: 2px 2px 2px rgba(152, 195, 209, 0.5);
    transition: all 0.2s;
  }

  .pb-content::before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    top: 50%;
    left: -30px;
    background-color: var(--pro-gold);
    border-radius: 50%;
    border: 1px solid var(--pro-gold);
    transition: all 0.5s;
    transform: translateY(-50%);
  }

  .pb-content:hover::before {
    transition: all 0.2s;
    background-color: white;
  }

  .pb-date {
    font-weight: 200;
    font-size: 0.8rem;
    color: #9e9fa1;
    letter-spacing: 0.15rem;
    margin-bottom: 10px;
  }

  .pb-title {
    font-weight: 400;
    font-size: 1.4rem;
    letter-spacing: 0.2rem;
  }

  .pb-tagWrapper {
    margin-top: 20px;
    justify-content: left;
    gap: 7px;
  }

  .pb-tag {
    padding: 2px 7px;
    background-color: white;
    width: fit-content;
    border: 1px solid var(--pro-gold);
    font-size: 0.85rem;
  }

  .pb-TagArea {
    width: 100%;
    margin-bottom: 20px;
    padding: 20px;
    border: 1px solid var(--pro-gold);
    box-sizing: border-box;
    width: 80%;
  }

  .pb-TagArea h2 {
    font-size: 1.8rem;
    font-weight: 300;
    letter-spacing: 0.2rem;
    color: var(--pro-blue);
    margin-bottom: 20px;
  }

  .pb-TagArea .flex {
    flex-wrap: wrap;
    gap: 7px;
    width: 100%;
    box-sizing: border-box;
    justify-content: left;
  }

  .pb-TagArea .flex a {
    padding: 2px 7px;
    background-color: white;
    width: fit-content;
    border: 1px solid var(--pro-gold);
    font-size: 0.95rem;
    display: block;
    transition: all 0.3s;
  }

  .pb-TagArea .flex a:hover {
    opacity: 1;
    background-color: var(--pro-gold);
    color: white;
  }

  .np-sub {
    font-size: 0.9rem;
    letter-spacing: 0.1rem;
    margin-top: 8px;
  }

  .np-name {
    margin-top: 5px;
    font-size: 1.2rem;
    letter-spacing: 0.2rem;
    margin-bottom: 20px;
  }

  .prereturn2 {
    display: none;
  }

  @media screen and (max-width: 900px) {
    .prereturn {
      display: none;
    }

    .prereturn2 {
      display: block;
      position: fixed;
      top: 20%;
      left: auto;
      right: 0;
      padding: 10px 5px;
      font-size: 1.2rem;
      border: 1px solid var(--pro-gold);
      border-right: none;
      color: var(--pro-gold);
      letter-spacing: 0.3rem;
      writing-mode: vertical-rl;
      background-color: white;
    }

    .titleWrapper {
      padding-top: 100px;
    }

    .preblog-b1 {
      width: 70%;
    }

    .preblog-b2 {
      display: none;
    }

    .tw-right {
      margin: 100px auto;
      margin-bottom: 0;
      padding-bottom: 300px;
      width: 80%;
    }

    .miniNakano {
      left: 20px;
      height: 250px;
    }

    .preblogmain {
      width: 90%;
      margin: 50px auto;
      flex-direction: column-reverse;
      align-items: center;
    }

    .pbm-left {
      width: 100%;
      border-right: none;
      border-top: 1px solid var(--pro-gold);
      padding-top: 30px;
    }

    .pb-content {
      width: 90%;
      margin-left: 30px;
    }

    .pbm-right {
      width: 100%;
      margin-bottom: 30px;
    }

    .Nakano-pro img {
      max-width: 280px;
    }

    .np-sub {
      font-size: 1.1rem;
    }

    .np-name {
      font-size: 1.6rem;
    }

    .pb-TagArea {
      width: 90%;
      margin-left: 30px;
    }
  }
}

/* 塾長ブログここまで */

/* 塾長ブログシングル */
html:has(.titleWrapper) {
  margin-top: 0 !important;
}

#pb-single {
  width: 100%;
  position: relative;

  .prereturn {
    position: fixed;
    top: 100px;
    left: 0;
    padding: 20px 30px;
    background-color: white;
    color: var(--pro-gold);
    border: 1px solid var(--pro-gold);
    border-left: none;
    transition: all 0.3s;
    font-weight: 600;
    letter-spacing: 0.2rem;
  }

  .prereturn:hover {
    opacity: 1;
    background-color: var(--pro-gold);
    color: white;
    transition: all 0.5s;
  }

  .titleWrapper {
    justify-content: left;
    align-items: center;
    border-bottom: 1px solid var(--pro-gold);
    overflow: hidden;
    position: relative;
    padding-top: 200px;
  }

  .preblog-b1 {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 50%;
    object-fit: cover;
    object-position: 0 0;
    z-index: -1;
  }

  .miniNakano {
    position: absolute;
    bottom: 0;
    right: 20%;
    height: 310px;
  }

  .tw-left {
    padding-bottom: 200px;

    .mtitle {
      font-size: 2.8rem;
      letter-spacing: 0.5rem;
      padding-inline: 10vw 50px;
      border-bottom: 1px solid var(--pro-gold);
      padding-bottom: 20px;
      width: fit-content;
      font-weight: 200;
      display: block;
      margin: 0.25em 0;
    }

    .subtitle {
      margin-left: 10vw;
      letter-spacing: 0.4rem;
    }
  }

  .preblogmain {
    width: clamp(320px, 80%, 1300px);
    margin: 100px auto;
    gap: 5%;
  }

  .pbm-left {
    width: 60%;
    box-sizing: border-box;
    border-right: 1px solid var(--pro-gold);
    padding-right: 30px;
  }

  .pbm-right {
    width: 25%;
  }

  .Nakano-pro {
    width: 95%;
    margin-inline: auto;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    img {
      width: 70%;
      height: auto;
      border-bottom: 1px solid var(--pro-gold);
    }

    span {
      display: block;
    }

    .np-sub {
      font-size: 0.9rem;
      letter-spacing: 0.1rem;
      margin-top: 8px;
    }

    .np-name {
      margin-top: 5px;
      font-size: 1.2rem;
      letter-spacing: 0.2rem;
      margin-bottom: 20px;
    }
  }

  h1 {
    font-size: 1.6rem;
    letter-spacing: 0.3rem;
    font-weight: 200;
    width: 100%;
    padding: 30px 20px;
    border: 1px solid var(--pro-gold);
    margin: 30px 0;
  }

  h1::before {
    display: none;
  }

  .single {
    h2 {
      font-size: 1.4rem;
      font-weight: 300;
      color: var(--pro-blue);
      padding: 15px;
      border-top: 6px double var(--pro-gold);
      border-bottom: 6px double var(--pro-gold);
      margin-block: 50px;
    }

    h3 {
      font-size: 1.4rem;
      font-weight: 200;
      color: #393a3a;
      padding: 15px;

      border-bottom: 3px dotted var(--pro-gold);
      margin-block: 30px;
      width: 80%;
    }

    h4 {
      font-size: 1.2rem;
      font-weight: 200;
      color: #393a3a;
      padding: 15px;

      border-bottom: 1px solid var(--pro-gold);
      margin-block: 30px;
      width: 60%;
    }

    span {
      font-size: 1rem;
      display: inline;
      color: var(--pro-blue);
    }

    img {
      margin: 30px auto;
      width: clamp(340px, 80%, 700px);
      height: auto;
    }
  }

  .back_single a {
    background-color: white;
    color: #393a3a;
    font-size: 1.2rem;
    font-weight: 300;
    letter-spacing: 0.2rem;
    padding: 10px;
    border-radius: 0;
    position: relative;
  }

  .back_single a::before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    top: 50%;
    left: -30px;
    background-color: var(--pro-gold);
    border-radius: 50%;
    border: 1px solid var(--pro-gold);
    transition: all 0.5s;
    transform: translateY(-50%);
  }

  .back_single a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 0;
    transition: all 0.3s;
    transform-origin: 50% 0;
    background-color: var(--pro-gold);
  }

  .back_single a:hover {
    opacity: 1;
  }

  .back_single a:hover::before {
    transition: all 0.2s;
    background-color: white;
  }

  .back_single a:hover::after {
    width: 100%;
    transition: all 0.2s;
  }

  .prereturn2 {
    display: none;
  }

  @media screen and (max-width: 900px) {
    .prereturn {
      display: none;
    }

    .prereturn2 {
      display: block;
      position: fixed;
      top: 20%;
      left: auto;
      right: 0;
      padding: 10px 5px;
      font-size: 1.2rem;
      border: 1px solid var(--pro-gold);
      border-right: none;
      color: var(--pro-gold);
      letter-spacing: 0.3rem;
      writing-mode: vertical-rl;
      background-color: white;
    }
  }

  @media screen and (max-width: 900px) {
    .prereturn {
      display: none;
    }

    .prereturn2 {
      display: block;
      position: fixed;
      top: 20%;
      left: auto;
      right: 0;
      padding: 10px 5px;
      font-size: 1.2rem;
      border: 1px solid var(--pro-gold);
      border-right: none;
      color: var(--pro-gold);
      letter-spacing: 0.3rem;
      writing-mode: vertical-rl;
      background-color: white;
    }

    .titleWrapper {
      padding-top: 100px;
    }

    .preblog-b1 {
      width: 70%;
    }

    .preblog-b2 {
      display: none;
    }

    .tw-left {
      padding-bottom: 280px;
    }

    .tw-right {
      margin: 100px auto;
      margin-bottom: 0;
      padding-bottom: 300px;
      width: 80%;
    }

    .miniNakano {
      left: auto;
      right: 50px;
      height: 250px;
    }

    .preblogmain {
      width: 90%;
      margin: 50px auto;
      flex-direction: column;
      align-items: center;
    }

    .pbm-left {
      width: 100%;
      border-right: none;
      border-bottom: 1px solid var(--pro-gold);
      padding-bottom: 30px;
      padding-right: 0;
    }

    .pb-content {
      width: 90%;
      margin-left: 30px;
    }

    .pbm-right {
      width: 100%;
      margin-bottom: 30px;
      margin-top: 30px;
    }

    .Nakano-pro img {
      max-width: 280px;
    }

    .np-sub {
      font-size: 1.1rem;
    }

    .np-name {
      font-size: 1.6rem;
    }

    .single .write {
      padding: 0 !important;
    }

    .single {
      h2 {
        font-size: 2rem;
      }

      h3 {
        font-size: 2rem;
      }

      h4 {
        font-size: 1.8rem;
      }

      span {
        font-size: 1.65rem;
      }
    }

    .back_single a {
      font-size: 2rem;
    }
  }

  /* 塾長ブログシングルここまで */
}

/* 塾長ブログタクソノミー */
#pretax {
  width: 100%;
  position: relative;

  .prereturn {
    position: fixed;
    top: 100px;
    left: 0;
    padding: 20px 30px;
    background-color: white;
    color: var(--pro-gold);
    border: 1px solid var(--pro-gold);
    border-left: none;
    transition: all 0.3s;
    font-weight: 600;
    letter-spacing: 0.2rem;
  }

  .prereturn:hover {
    opacity: 1;
    background-color: var(--pro-gold);
    color: white;
    transition: all 0.5s;
  }

  .titleWrapper {
    justify-content: left;
    align-items: center;
    border-bottom: 1px solid var(--pro-gold);
    overflow: hidden;
    position: relative;
    padding-top: 200px;
  }

  .preblog-b1 {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 50%;
    object-fit: cover;
    object-position: 0 0;
    z-index: -1;
  }

  .preblog-b2 {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 70%;
    width: 30%;
    object-fit: cover;
    object-position: 0 0;
    z-index: -1;
  }

  .tw-left {
    h1 {
      font-size: 2.8rem;
      letter-spacing: 0.5rem;
      padding-inline: 10vw 50px;
      border-bottom: 1px solid var(--pro-gold);
      padding-bottom: 20px;
      width: fit-content;
      font-weight: 200;
    }

    .subtitle {
      margin-left: 10vw;
      letter-spacing: 0.4rem;
    }
  }

  .tw-right {
    margin-left: 22%;
    width: 50%;
    min-width: 300px;
    margin-top: 100px;
    padding-bottom: 100px;
    position: relative;

    p {
      line-height: 1.8rem;
      letter-spacing: 0.1rem;
      font-weight: 500;
    }
  }

  .miniNakano {
    position: absolute;
    bottom: 0;
    left: -200px;
    height: 310px;
    width: auto;
  }

  .preblogmain {
    width: clamp(320px, 80%, 1300px);
    margin: 100px auto;
    gap: 5%;
  }

  .pbm-left {
    width: 60%;
    box-sizing: border-box;
    border-right: 1px solid var(--pro-gold);
  }

  .pbm-right {
    width: 25%;
  }

  .Nakano-pro {
    width: 95%;
    margin-inline: auto;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    img {
      width: 70%;
      height: auto;
      border-bottom: 1px solid var(--pro-gold);
    }

    span {
      display: block;
    }
  }

  .pb-content {
    border-radius: 20px;
    box-shadow: 7px 7px 7px rgba(152, 195, 209, 0.7);
    display: block;
    width: 80%;
    padding: 30px;
    box-sizing: border-box;
    position: relative;
    transition: all 0.5s;
  }

  .pb-content:hover {
    opacity: 1;
    box-shadow: 2px 2px 2px rgba(152, 195, 209, 0.5);
    transition: all 0.2s;
  }

  .pb-content::before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    top: 50%;
    left: -30px;
    background-color: var(--pro-gold);
    border-radius: 50%;
    border: 1px solid var(--pro-gold);
    transition: all 0.5s;
    transform: translateY(-50%);
  }

  .pb-content:hover::before {
    transition: all 0.2s;
    background-color: white;
  }

  .pb-date {
    font-weight: 200;
    font-size: 0.8rem;
    color: #9e9fa1;
    letter-spacing: 0.15rem;
    margin-bottom: 10px;
  }

  .pb-title {
    font-weight: 400;
    font-size: 1.4rem;
    letter-spacing: 0.2rem;
  }

  .pb-tagWrapper {
    margin-top: 20px;
    justify-content: left;
    gap: 7px;
  }

  .pb-tag {
    padding: 2px 7px;
    background-color: white;
    width: fit-content;
    border: 1px solid var(--pro-gold);
    font-size: 0.85rem;
  }

  .prereturn2 {
    display: none;
  }

  @media screen and (max-width: 900px) {
    .prereturn {
      display: none;
    }

    .prereturn2 {
      display: block;
      position: fixed;
      top: 20%;
      left: auto;
      right: 0;
      padding: 10px 5px;
      font-size: 1.2rem;
      border: 1px solid var(--pro-gold);
      border-right: none;
      color: var(--pro-gold);
      letter-spacing: 0.3rem;
      writing-mode: vertical-rl;
      background-color: white;
    }

    .titleWrapper {
      padding-top: 100px;
    }

    .preblog-b1 {
      width: 70%;
    }

    .preblog-b2 {
      display: none;
    }

    .tw-right {
      margin: 100px auto;
      margin-bottom: 0;
      padding-bottom: 300px;
      width: 80%;
    }

    .miniNakano {
      left: 20px;
      height: 250px;
    }

    .preblogmain {
      width: 90%;
      margin: 50px auto;
      flex-direction: column-reverse;
      align-items: center;
    }

    .pbm-left {
      width: 100%;
      border-right: none;
      border-top: 1px solid var(--pro-gold);
      padding-top: 30px;
    }

    .pb-content {
      width: 90%;
      margin-left: 30px;
    }

    .pbm-right {
      width: 100%;
      margin-bottom: 30px;
    }

    .Nakano-pro img {
      max-width: 280px;
    }

    .np-sub {
      font-size: 1.1rem;
    }

    .np-name {
      font-size: 1.6rem;
    }

    .pb-TagArea {
      width: 90%;
      margin-left: 30px;
    }
  }
}

/* 塾長ブログタクソノミーここまで */

/*本日の講師　昨日の講師を消す */
#tutordate {
  font-size: 1px;
  opacity: 0;
}

/* サンクスページ */

.plothanks{
    #about-ploigo {
        #ploigo-1 {
            padding: 50px 5%;

            h1 {
                background: none;
                padding: 100px 0;
                color: var(--pro-blue);
            }
        }
        .C_r{
          color: var(--red);
        }
        .btn{
          display: block;
          background: var(--pro-blue);
          color: white;
          margin: 50px auto;
          padding: 10px 40px;
          width: fit-content;
        }
        .btn:hover{
          background: var(--pro-gold);
          color: #1d3f60;
        }
    }
  }
