@charset "UTF-8";


/* lead_sec */
.lead_sec {
  @media screen and (max-width: 768px) {
  }
}

/* sec01 */
.sec01 {
  margin-bottom: 80px;
  position: relative;
  &::after{
    position: absolute;
    content: "";
    width: 609px;
    height: 618px;
    right: 0;
    top: -140px;
    background: url(/taniyama/images/doctor/kazari.webp) center / contain no-repeat;
  }
  .inner{
    padding: 0 clamp(30px, 56.25vw - 690px, 120px) 95px;
  }
  .yellow_bg {
    position: relative;
    padding: 0px 0 80px 0px;
    &::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0; 
      left: calc(50% - 50vw);  
      background: linear-gradient(
        to top,
        rgba(254, 253, 229, 0) 0%,
        rgba(254, 253, 229, 0.77) 40%,
        rgba(254, 253, 229, 1) 100%
      );
      z-index: -1; 
    }
  }
  .flexbox{
    column-gap: 105px;
    align-items: flex-start;
  }
  .left{
    max-width: 400px;
    width: 100%;
    .imagebox{
      z-index: 1;
      position: relative;
      margin-bottom: 120px;
      &::before{
        content: "";
        position: absolute;
        width: 400px;
        height: 500px;
        background-color: #F9EA00;
        border-radius: 30px;
        right: -40px;
        top: 40px;
        z-index: -1;
      }
      .namebox{
        position: absolute;
        right: -30px;
        bottom: 75px;
        background-color: #fff;
        padding: 25px 60px 25px 100px;
        clip-path: polygon(60px 0, 100% 0, 100% 100%, 0 100%);
      }
      .name{
        font-size: 24px;
        font-weight: 500;
        span{
          padding-right: 30px;
          font-weight: 500;
          font-size: 16px;
        }
      }
      .eng{
        font-size: 30px;
        color: #fff;
        text-align: right;
        font-family: 'Inter', sans-serif;
        line-height: 1;
        position: absolute;
        bottom: -40px;
        right: -30px;
        letter-spacing: 0.18em;
        font-weight: 300;
        font-style: italic;
      }
    }

    .bottom_title{
      color: #ECD300;
      font-size: 24px;
      padding-bottom: 15px;
      margin-bottom: 15px;
      border-bottom: 2px solid #ECD300;
    }
    .bottom_text{
      margin-bottom: 30px;
    }
  }
  .right{
    width: 100%;
    .textbox{
      margin-bottom: 60px;
    }
    .sec_title{
      font-size: 45px;
      color: #ECD300;
      text-align: right;
      position: relative;
      right: 75px;
      top: -40px;
      font-family: 'Inter', sans-serif;
      letter-spacing: 0.25em;
    }
    .box_title{
      font-size: 24px;
      font-weight: 500;
      margin-bottom: 135px;
      span{
        font-weight: 500;
        font-size: 32px;
      }
    }
    .box_text{
      padding-right: 70px;
    }
    .text_bottom{
      position: relative;
      .image02{
        position: absolute;
        right: 110px;
        bottom: -60px;
      }
    }
  }

  @media screen and (max-width: 1280px) {
    .yellow_bg::before {
        left: calc(50% - 640px); 
    }
  }
  @media screen and (max-width: 768px) {
    margin-bottom: 0;
    overflow: hidden;

    &::after {
      width: 123vw;
      height: 124vw;
      top: -8vw;
      right: -16vw;
      background: url(/taniyama/images/doctor/kazari_sp.webp) center / contain no-repeat;
    }

    .inner {
      padding: 0 3vw 10vw;
    }

    .yellow_bg {
      padding: 10.7vw 0;
      &::before {
        left: calc(50% - 50vw);  
        right: calc(50% - 50vw); 
      }
    }

    .sec_body {
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .flexbox {
      display: contents;
    }

    .left {
      display: contents;

      .imagebox {
        order: 3;
        width: 68vw;
        margin-bottom: 15vw;
        img {
          width: 100%;
          height: auto;
        }
        &::before {
          width: 68vw;
          height: 85vw;
          right: -7vw;
          top: 7vw;
          border-radius: 5.3vw;
        }
        .namebox {
          right: -2.7vw;
          bottom: 10.7vw;
          padding: 3.2vw 5.3vw 3.2vw 12.0vw;
          clip-path: polygon(5.3vw 0, 100% 0, 100% 100%, 0 100%);
        }
        .name {
          font-size: 4.3vw;
          span {
            font-size: 4vw;
            padding-right: 4.3vw;
          }
        }
        .eng {
          font-size: 5.4vw;
          right: -3vw;
          bottom: -7vw;
          letter-spacing: 0.15em;
        }
      }

      .image_bottom {
        order: 4;
        width: 86vw;
        margin-bottom: 8vw;
      }

      .bottom_title {
        font-size: 5vw;
        padding-bottom: 2vw;
        margin-bottom: 2vw;
      }

      .bottom_text {
        font-size: 4vw;
        margin-bottom: 5vw;
      }
    }

    .right {
      display: contents;

      .textbox {
        display: contents;
      }

      .sec_title {
        order: 1;
        position: static;
        text-align: center;
        font-size: 12vw;
        letter-spacing: 0.2em;
        margin-bottom: 5.3vw;
      }

      .box_title {
        order: 2;
        text-align: center;
        font-size: 4vw;
        line-height: 1.5;
        margin-bottom: 34vw;
        span {
          font-size: 6.4vw;
        }
      }

      .box_text {
        order: 5;
        width: 86vw;
        padding-right: 0;
        font-size: 4vw;
        line-height: 2;
        margin-bottom: 8.0vw;
        text-align: justify;
      }

      .text_bottom {
        order: 6;
        width: 86vw;
        margin-bottom: 10vw;
        .image01 img {
          width: 58.7vw;
          height: auto;
          border-radius: 3.2vw;
        }
        .image02 {
          right: 3vw;
          bottom: -6.4vw;
          width: 49vw;
          img {
            width: 100%;
            height: auto;
            border-radius: 3.2vw;
          }
        }
      }

      .box_text_sp{
        order: 7;
        width: 86vw;
        padding-right: 0;
        font-size: 4vw;
        line-height: 2;
        text-align: justify;
      }
    }
  }
}

/* sec02 */
.sec02{
  position: relative;
  overflow-x: clip; 
  margin-bottom: 100px;
  &::before{
    position: absolute;
    content: "";
    width: 609px;
    height: 618px;
    left: 0;
    top: -330px;
    z-index: 1;
    background: url(/taniyama/images/doctor/kazari02.webp) center / contain no-repeat;
  }
  .imagebox{
    margin: 0 auto 80px;
    text-align: center;
    position: relative;
    max-width: 1200px;
    &::before{
      content: "";
      position: absolute;
      width: 110px;
      height: 94px;
      left: 30px;
      bottom: -55px;
      background: url(/taniyama/images/doctor/kazari03.webp) center / contain no-repeat;
    }
    &::after{
      content: "";
      position: absolute;
      width: 200px;
      height: 161px;
      right: 50px;
      bottom: 5px;
      background: url(/taniyama/images/doctor/kazari04.webp) center / contain no-repeat;
    }
  }
  .textbox{
    max-width: 860px;
    margin: 0 auto 50px;
    .box_title{
      font-size: 32px;
      margin-bottom: 40px;
      color: #fff;
      text-align: center;
    }
    .box_text{
      color: #fff;
      line-height: 2.5;
      padding: 0 60px;
    }
  }

  .pink_bg {
    position: absolute;
    top: 345px;
    left: 50%;
    transform: translateX(-50%);
    width: max(100vw, 1280px); 
    height: 900px;        /* ← bottom を削除して height で指定 */
    background: #F5B0A1;
    z-index: -1;
  }
  .slideshow {
        width: 100%;
        overflow: hidden;
        padding-block: 60px;
  }

  .slideshow_track {
      display: flex;
      align-items: center;
      width: max-content;
      animation: slide_loop 40s linear infinite;
      will-change: transform;

      .slide {
          flex: none;
          margin-right: 30px; 

          img {
              display: block;
              border-radius: 16px;
          }

          &:nth-child(odd) {
              transform: translateY(-20px);
          }

          &:nth-child(even) {
              transform: translateY(20px); 
          }
      }
  }

  @media screen and (max-width: 768px) {
    margin-bottom: 13.8vw;

    &::before {   
        width: 59vw;
        height: 67vw;
        top: -33.7vw;
        left: -8vw;
        background: url(/taniyama/images/doctor/kazari02_sp.webp) center / contain no-repeat;
    }

    .imagebox {
      width: 90vw;
        margin: 0 auto 10vw;
        img {
            width: 100%;
            height: auto;
        }
        &::before {  
            width: 18vw;
            height: 16vw;
            left: 0vw;
            bottom: -9vw;
        }
        &::after {    
            width: 34vw;
            height: 27vw;
            right: 0vw;
            bottom: -8vw;
        }
    }

    .textbox {
        margin: 0 auto 8.0vw;
        .box_title {
            font-size: 5.5vw;
            margin-bottom: 5.3vw;
            padding: 0 5vw;
            line-height: 1.5;
        }
        .box_text {
            font-size: 4vw;
            line-height: 2;
            padding: 0 5vw;
        }
    }

    .pink_bg {
        top: 20vw;  
        width: 100vw; 
        height: 178vw; 
    }

    .slideshow {
        padding-block: 8.0vw;
    }

    .slideshow_track {
        .slide {
            margin-right: 4.0vw;
            img {
                border-radius: 2.7vw;
            }

            &:nth-child(odd) img {
                width: 54.0vw;     
                height: auto;
                transform: translateY(-2.7vw);
            }
            &:nth-child(even) img {
                width: 30.7vw;  
                height: auto;
                transform: translateY(-4vw);
            }
        }
    }
}
  
}
@keyframes slide_loop {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}