@charset "UTF-8";
.mainimagebox {
  margin: 0px auto 30px;
  max-width: 1440px;
  padding-top: 105px;

  .inner{
    padding: 0 clamp(40px, 5.5556vw, 80px);
  }

  @media screen and (min-width: 1441px) {
    max-width: initial;
    .inner{
      max-width: initial;
    }
  }

  @media screen and (max-width: 768px) {
    padding: 0;
    max-width: 100%;
    margin: 0 auto;
    .inner{
      padding: 0 0 0 5vw;
    }
  }
}

.main_image {
  display: flex;
  justify-content: space-between;
  align-items: center;

  .main_text {
    box-sizing: border-box;
  }

  .text {
    font-size: clamp(34px, 3.3333vw, 48px);
    letter-spacing: 0.2em;
    font-family: serif;
    line-height: 1.5;
  }

  .sub_text {
    font-size: 13px;
    font-weight: bold;
    font-family: serif;
  }

  .mv {
    max-width: clamp(600px, 52.2917vw, 753px);

    & img {
      width: 100%;
      display: block;
    }
  }

  /* 1441px以上：拡大 */
  @media screen and (min-width: 1441px) {
    min-width: initial;

    .text {
      font-size: 3.3vw;
    }

    .sub_text {
      font-size: 0.9vw;
    }

    .mv {
      max-width: 52vw;
    }
  }

  /* 768px以下：スマホ */
  @media screen and (max-width: 768px) {
    min-width: initial;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 16vw;


    .main_text {
      padding: 8vw 0 4vw;
    }

    .text {
      font-size: 7vw;
    }

    .sub_text {
      font-size: 3.5vw;
    }

    .mv {
      max-width: 100%;
      width: 100%;

      & img {
        width: 100%;
      }
    }
  }
}

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

/* sec01 */
.sec01 {
  margin-bottom: 125px;

    .dlist {
        width: 820px;
        max-width: 100%;
        margin: 0 auto;
    }
    .row {
        display: flex;
        align-items: center;
        padding: 65px 0;
        border-bottom: 1px dotted rgba(255, 116, 139, 1);
    }
    .term {
        width: 130px;
        min-width: 130px;
        text-align: center;
        .term_icon {
          text-align: center;
        }
    }
    .desc {
        overflow: hidden;
        .desc_text {
          font-size: 18px;
          font-weight: 500;
          letter-spacing: .1em;
          .pink{
            color: rgba(255, 116, 139, 1);
            font-weight: bold;
            font-size: 20px;
          }
          .line{
            border-bottom: 2px solid rgba(255, 116, 139, 1);
            padding-bottom: 5px;
            font-size: 20px;
          }
        }
    }
    .row:nth-of-type(1) {
      padding: 0;
      border-bottom: initial;
    }

    .googlemap {
        width: 840px;
        max-width: 100%;
        height: 547px;

        iframe {
            width: 100%;
            height: 100%;
        }
    }

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

    .row {
        display: block;
        align-items: center;
        padding: 5.5vw 0;
        border-bottom: 0.26vw dotted rgba(255, 116, 139, 1)
    }
    .term {
        width: 100%;
        min-width: auto;
        text-align: center;
        margin: 2vw 0 2.4vw;

        display: flex;
        justify-content: center;
        align-items: center;
        .term_icon {
          width:  15.46vw;
          height: 13.6vw;
          text-align: center;
        }
    }
    .desc {
        padding: 0 5.5vw;
        .desc_text {
          font-size: 4.2vw;
          .pink{
            font-size: 4.5vw;
          }
          .line{
            font-size: 4.5vw;
            padding-bottom: 1vw;
          }
        }
    }

    .googlemap {
        width: 100%;
        max-width: 100%;
        height: 66.6vw;
        iframe {
            width: 100%;
            height: 100%;
        }
    }

  }
}

/* sec02 */

.sec02 {
  margin-bottom: 140px;

  .timetable_box {
    width: 702px;
    max-width: 100%;
    margin: 0 auto 100px;

    .tlist {
      border-collapse: collapse;
      width: 100%;
      margin-bottom: 10px;
      font-weight: bold;
      text-align: center;
    }
    .tlist th, .tlist td {
      padding: .5em 1em;
    }
    .tlist th {
      background: #fff;
      color: #444;
      letter-spacing: .2em;
      font-size: 20px;
      font-weight: 600;
    }
    .tlist td {
      background: rgba(244, 206, 212, 0.18);
      color: #444;
      letter-spacing: .2em;
      font-size: 20px;
      font-weight: bold;
    }
    .tlist td span {
      letter-spacing: .15em;
      font-size: 18px;
      font-weight: 600;
    }
    .tlist td .red {
      font-size: 20px;
      color: rgba(255, 116, 139, 1);
    }

    .text {
      padding-left: 2em;
      letter-spacing: .1em;
      font-size: 20px;
      font-weight: 500;
    }
    .text .red {
      font-size: 20px;
      color: rgba(255, 116, 139, 1);
    }
  }

  .link_grid {
    box-sizing: border-box;
    width: 995px;
    max-width: 100%;
    margin: 0 auto 93px;

    display: grid;
    column-gap: 25px;
    grid-template-columns: 314px 314px 314px;
    .item {
      width:  314px;
      height: 111px;
      img {
        width:  100%;
        height: 100%;
        object-fit: contain;
      }
    }
  }

  @media screen and (max-width: 768px) {

    .timetable_box {
      margin: 0 auto 13.8vw;

      .tlist {
        margin-bottom: 2.6vw;
      }
      .tlist th, .tlist td {
        padding: .5em .2em;
      }
      .tlist th {
        letter-spacing: .2em;
        font-size: 4.2vw;
      }
      .tlist td {
        letter-spacing: .3em;
        font-size: 4.2vw;
        text-align: center;
      }
      .tlist td span {
        padding: .5em 0;
        letter-spacing: .03em;
        font-size: 4.2vw;
        text-wrap: nowrap;
        text-align: center;
      }
      .tlist td .red {
        font-size: 4.3vw;
        text-align: center;
      }

      .text {
        padding-left: .5em;
        letter-spacing: .06em;
        line-height: 1.4;
        font-size: 4.6vw;
        font-weight: 500;
      }
      .text .red {
        font-size: 4.3vw;
      }
    }

    .link_grid {
      margin: 0 auto 13.8vw;
      padding: 0 5.5vw;
      
      display: grid;
      row-gap: 4.2vw;
      column-gap: initial;
      grid-template-columns: repeat(1, 1fr);
      .item {
        width:  77.86vw;
        height: 27.73vw;
        img {
          width:  100%;
          height: 100%;
        }
      }
    }

  }
}