/*
 *  Remodal - v1.1.1
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */

/* ==========================================================================
   Remodal's necessary styles
   ========================================================================== */

/* Hide scroll bar */

html.remodal-is-locked {
  overflow: hidden;

  -ms-touch-action: none;
  touch-action: none;
}

/* Anti FOUC */

.remodal,
[data-remodal-id] {
  display: none;
}

/* Necessary styles of the overlay */

.remodal-overlay {
  position: fixed;
  z-index: 9999;
  top: -5000px;
  right: -5000px;
  bottom: -5000px;
  left: -5000px;
  background: linear-gradient(180deg, #F9F9F9 0%, rgba(249, 249, 249, 0.70) 100%) !important;
  display: none;
}

/* Necessary styles of the wrapper */

.remodal-wrapper {
  position: fixed;
  padding: calc((100vw / var(--vw-large))*100) !important;
  z-index: 10000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  overflow: auto;
  text-align: center;
  -webkit-overflow-scrolling: touch;

  @media screen and (max-width: 768px) {
    padding: calc((100vw / var(--vw-small))*150) calc((100vw / var(--vw-small))*20) !important;
  }
}

.remodal-wrapper:after {
  display: inline-block;
  height: 100%;
  margin-left: -0.05em;

  content: "";
}

/* Fix iPad, iPhone glitches */

.remodal-overlay,
.remodal-wrapper {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Necessary styles of the modal dialog */

.remodal {
  position: relative;
  outline: none;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  max-width: calc((100vw / var(--vw-large))*990) !important;
  padding: calc((100vw / var(--vw-large))*70) calc((100vw / var(--vw-large))*40) !important;

  @media screen and (max-width: 768px) {
    max-width: calc((100vw / var(--vw-small))*340) !important;
    padding: calc((100vw / var(--vw-small))*60) calc((100vw / var(--vw-small))*20) !important;
  }
}

.remodal-is-initialized {
  /* Disable Anti-FOUC */
  display: inline-block;
}

/* MODAL */

.remodal-close {
  right: calc((100vw / var(--vw-large))*-80) !important;
  top: calc((100vw / var(--vw-large))*-60) !important;
  left: initial !important;

  @media screen and (max-width: 768px) {
    right: calc((100vw / var(--vw-small))*-10) !important;
    top: calc((100vw / var(--vw-small))*-80) !important;
  }

  &::before {
    font-size: calc((100vw / var(--vw-large))*60) !important;

    @media screen and (max-width: 768px) {
      font-size: calc((100vw / var(--vw-small))*40) !important;
    }
  }
}

article {
  .thum_contents {
    position: relative;
    margin-bottom: calc((100vw / var(--vw-large))*40);

    @media screen and (max-width: 768px) {
      margin-bottom: calc((100vw / var(--vw-small))*40);
    }

    img {
      object-fit: contain;
    }

    .case_num {
      position: absolute;
      left: calc((100vw / var(--vw-large))*-40);
      top: calc((100vw / var(--vw-large))*-142);
      font-size: calc((100vw / var(--vw-large))*45);
      line-height: 159.091%;
      letter-spacing: calc((100vw / var(--vw-large))*6);
      background: #4B9F9F;
      padding: 0 calc((100vw / var(--vw-large))*10);
      width: calc((100vw / var(--vw-large))*222);

      @media screen and (max-width: 768px) {
        left: calc((100vw / var(--vw-small))*-20);
        top: calc((100vw / var(--vw-small))*-142);
        font-size: calc((100vw / var(--vw-small))*45);
        letter-spacing: calc((100vw / var(--vw-small))*6);
        padding: 0 calc((100vw / var(--vw-small))*10);
        width: calc((100vw / var(--vw-small))*222);
      }
    }
  }

  .profile {
    width: calc((100vw / var(--vw-large))*840);
    margin: 0 auto calc((100vw / var(--vw-large))*20);

    @media screen and (max-width: 768px) {
      width: calc((100vw / var(--vw-small))*265);
      margin: 0 auto calc((100vw / var(--vw-small))*40);
    }

    .inner {
      flex-wrap: wrap;
      gap: calc((100vw / var(--vw-large))*20);
      justify-content: flex-start;

      @media screen and (max-width: 768px) {
        flex-direction: column;
        gap: calc((100vw / var(--vw-small))*20);
      }

      .flex {
        color: #524D38 !important;

        @media screen and (max-width: 768px) {
          width: 100%;
        }

        .tit {
          padding: calc((100vw / var(--vw-large))*5) calc((100vw / var(--vw-large))*15);
          gap: calc((100vw / var(--vw-large))*10);
          border-radius: calc((100vw / var(--vw-large))*22);
          border: calc((100vw / var(--vw-large))*1) solid var(--brown, #524D38);
          -webkit-border-radius: calc((100vw / var(--vw-large))*22);
          -moz-border-radius: calc((100vw / var(--vw-large))*22);
          -ms-border-radius: calc((100vw / var(--vw-large))*22);
          -o-border-radius: calc((100vw / var(--vw-large))*22);
          margin-right: calc((100vw / var(--vw-large))*15);

          @media screen and (max-width: 768px) {
            padding: calc((100vw / var(--vw-small))*5) calc((100vw / var(--vw-small))*15);
            gap: calc((100vw / var(--vw-small))*10);
            border-radius: calc((100vw / var(--vw-small))*22);
            border: calc((100vw / var(--vw-small))*1) solid var(--brown, #524D38);
            -webkit-border-radius: calc((100vw / var(--vw-small))*22);
            -moz-border-radius: calc((100vw / var(--vw-small))*22);
            -ms-border-radius: calc((100vw / var(--vw-small))*22);
            -o-border-radius: calc((100vw / var(--vw-small))*22);
            margin-right: calc((100vw / var(--vw-small))*15);
          }
        }

      }

      .sp_b {
        text-align: left;

        .txt {
          display: inline-block;
          margin-top: calc((100vw / var(--vw-large))*10);
        }
      }

      @media screen and (max-width: 768px) {
        .sp_b {
          flex-direction: column;
          text-align: left;

          .txt {
            margin-top: calc((100vw / var(--vw-small))*10);
            display: block;
          }
        }
      }
    }
  }

  .description {
    width: calc((100vw / var(--vw-large))*840);
    margin: 0 auto calc((100vw / var(--vw-large))*40);

    @media screen and (max-width: 768px) {
      width: calc((100vw / var(--vw-small))*265);
      margin: 0 auto calc((100vw / var(--vw-small))*40);
    }

    h4 {
      color: var(--brown, #524D38);
      font-size: calc((100vw / var(--vw-large))*20);
      font-weight: 500;
      line-height: 120%;
      letter-spacing: calc((100vw / var(--vw-large))*0.8);
      text-align: left;
      margin-bottom: calc((100vw / var(--vw-large))*18);

      @media screen and (max-width: 768px) {
        font-size: calc((100vw / var(--vw-small))*20);
        letter-spacing: calc((100vw / var(--vw-small))*0.8);
        margin-bottom: calc((100vw / var(--vw-small))*18);
      }
    }

    p {
      text-align: left;
      color: var(--brown, #524D38);
      line-height: 250%;
      letter-spacing: calc((100vw / var(--vw-large))*1.6);

      @media screen and (max-width: 768px) {
        letter-spacing: calc((100vw / var(--vw-small))*1.6);
      }
    }
  }

  .trainer_wrap {
    .img {
      margin-bottom: calc((100vw / var(--vw-large))*40);

      @media screen and (max-width: 768px) {
        margin-bottom: calc((100vw / var(--vw-small))*40);
      }
    }

    .description {
      width: calc((100vw / var(--vw-large))*840);

      @media screen and (max-width: 768px) {
        width: calc((100vw / var(--vw-small))*265);
      }

      h4 {
        color: var(--brown, #524D38);
        font-size: calc((100vw / var(--vw-large))*20);
        font-weight: 500;
        line-height: 120%;
        letter-spacing: calc((100vw / var(--vw-large))*0.8);
        text-align: left;
        margin-bottom: calc((100vw / var(--vw-large))*18);

        @media screen and (max-width: 768px) {
          font-size: calc((100vw / var(--vw-small))*20);
          letter-spacing: calc((100vw / var(--vw-small))*0.8);
          margin-bottom: calc((100vw / var(--vw-small))*18);
        }
      }

      p {
        text-align: left;
        color: var(--brown, #524D38);
        line-height: 250%;
        letter-spacing: calc((100vw / var(--vw-large))*1.6);

        @media screen and (max-width: 768px) {
          letter-spacing: calc((100vw / var(--vw-small))*1.6);
        }
      }
    }
  }
}