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

  a {
    text-decoration: none;
    display: block;
  }

  div.content1 {
    position: relative;
    width: 100%;
    background-color: #fff;
    margin-bottom: 20px;
  }


  div.tour-top {
    padding: 20px;
    padding-bottom: 0;
  }

  .tour-top h1 {
    font-size:2.3rem;
    font-weight: lighter;
    padding-bottom: 20px;
    color: #2D530C;
  }

  .tour-top p {
    font-size: 1.15vw;
    line-height: 1.6;
  }

  p.line-spacing {
    padding-top: 10px;
  }

  div.reservation {
    display: none;
    background-color: #2D530C;
    position: absolute;
    top: 20px;
    right: 20px;
  }

  .reservation p {
    color: #fff;
    padding:20px 33px;
    text-align: center;
    font-size: 1.15vw;
  }

  div.reservation-div {
    width: 100%;
  }

  #reservation{
    font-size: 4vw !important;
    color: #fff !important;
  }

  div.sp-reservation {
    background-color: #2D530C;
    margin: 0 auto;
    display: block;
    width: 57vw;
    margin-top: 30px;
    margin-bottom: 30px;
  }

  .sp-reservation p {
    color: #fff;
    padding:20px 33px;
    text-align: center;
    font-size: 1.15vw;
  }

  div.tour-flow {
    width: 100%;
    position: relative;
  }

  .tour-flow h2 {
    font-size: 2rem;
    padding-top: 20px;
    padding-bottom: 5px;
    padding-left: 20px;
    position: relative;
    width: 23vh;
    font-weight: lighter;
    color: #636161;
  }

  img.ex-leaf {
    width: 13%;
    transform: rotate(18deg);
    display: block;
    position: absolute;
    top: 3vh;
    right: 0;
  }

  #ex-leaf {
    width: 13%;
    transform: rotate(18deg);
    display: block;
    position: absolute;
    top: -0.5vh;
    right: 0;
  }

  div.tour {
    margin: 20px;
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #A9B51E;
    margin-top: 0;
  }

  div.flow {
    margin-top: 20px;
    display: flex;
  }



  div.flow-img {
    width: 100%;
  }

  .flow-img img {
    width: 100%;
    display: block;
  }

  div.flow-text {
    width: 100%;
  }

  .flow-text h1 {
    color: #2D530C;
    font-size: 1.8rem;
    padding: 10px 0;
    font-weight: lighter;
    line-height: 1.8;
  }

  .flow-text p {
    font-size: 1.15vw;
    line-height: 1.6;
  }

  div.content2 {
    position: relative;
    width: 100%;
    background-color: #fff;
    margin-bottom: 20px;
  }


  div.temomi-top {
    padding: 20px;
    padding-top: 0;
  }

  .temomi-top h1 {
    font-size: 2.3rem;
    font-weight: lighter;
    padding-bottom: 20px;
    color: #2D530C;
  }

  .temomi-top p {
    font-size: 1.15vw;
    line-height: 1.6;
  }

  div.select-course {
    width: 100%;
    position: relative;
  }


  .select-course h2 {
    font-size: 2rem;
    padding-bottom: 5px;
    padding-left: 20px;
    position: relative;
    width: 23vh;
    font-weight: lighter;
    color: #636161;
  }

  div.course {
    margin: 0 20px;
    padding-top: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-top: 1px solid #A9B51E;
  }

  div.course1 {
    width: 100%;
    border: 1px solid #707070;
    margin-bottom: 20px;
  }

  div.course-wrap {
    padding: 20px;
  }

  table.course-fee {
    margin-bottom: 20px;
  }

  div.course-top {
    display: flex;
    width: 100%;
    flex-direction: column;
  }

  div.course-top-text {
    width: 100%;
  }


  div.course-top-img {
    width: 100%;
  }

  .course-top-img img {
    width: 100%;
    display: block;
  }

  div.course-name {
    display: flex;
    padding-bottom: 10px;
  }

  .course-name h1 {
    font-size: 2rem;
    margin: auto 0;
    line-height: 1.2;
    color: #636161 !important;
    padding-right: 20px;
  }

  .course-name p {
    font-size: 1.15vw;
    padding:5px 10px;
    border: 1px solid #707070;
    margin-right: 20px;
    align-self: flex-start;
  }

  td.fee-td {
    padding-left: 5px;
  }

  div.course-text {
    width: 100%;
    padding-top: 20px;
  }

  .course-text p {
    font-size: 1.15vw;
    line-height: 1.6;
  }



  div.course2 {
    width: 100%;
    border: 1px solid #707070;
  }

  .course-fee td {
    font-size: 1.8rem;
    line-height: 1.8;
  }


  div.content3 {
    position: relative;
    width: 100%;
    background-color: #fff;
    margin-bottom: 20px;
  }


  div.kengaku-top {
    padding: 20px;
    padding-bottom: 20px;
    padding-top: 0;
  }

  .kengaku-top h1 {
    font-size: 2.3rem;;
    font-weight: lighter;
    padding-bottom: 20px;
    color: #2D530C;
  }

  .kengaku-top p {
    font-size: 1.15vw;
    line-height: 1.6;
  }

  div.kengaku-course {
    border: 1px solid #707070;
    margin-bottom: 20px;
  }

  #kengaku-course {
    margin-bottom: 0;
  }

  div.kengaku-img {
    width: 100%;
  }

  .horizontal_scroll {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    display: -ms-flexbox;
    display: flex; }



    .kengaku-img img {
      display: block;
      width: 100%;
    }

    div.kengaku-wrap {
      padding: 20px;
    }

    div.kengaku-wrap-top {
      display: flex;
      padding-bottom: 20px;
    }

    .kengaku-wrap-top h1 {
      font-size: 2rem;
      margin: auto 0;
      line-height: 1.2;
      color: #636161 !important;    padding-right: 20px;
      padding-right: 20px;
    }

    .kengaku-wrap-top p {
      font-size: 1.15vw;
      padding: 5px 10px;
      border: 1px solid #707070;
      margin-right: 20px;
      align-self: flex-start;
    }

    p.kengaku-wrap-text {
      font-size: 1.15vw;
      line-height: 1.6;
    }


    .horizontal_scroll {
      overflow-x: scroll;
      -webkit-overflow-scrolling: touch;
      display: -ms-flexbox;
      display: flex; }

      /* 画面幅が768px以上の場合、横スクロールを解除 */
      @media screen and (min-width: 768px) {
        .horizontal_scroll {
          overflow-x: inherit;
          padding: 0 8px 6px; } }

          .horizontal_scroll > div {
            width: 100%;
            min-width: 240px; }

            @media screen and (min-width: 768px) {
              .horizontal_scroll > div {
                min-width: inherit; } }

                .horizontal_scroll > div:not(:last-child) {
                  margin-right: 10px; }

                  .horizontal_scroll > div:last-child {
                    padding-right: 10px; }

                    @media screen and (min-width: 768px) {
                      .horizontal_scroll > div:last-child {
                        padding-right: 0; } }

                        .horizontal_scroll img {
                          vertical-align: bottom; }





                        }
