#trimming,
#hotel,
#reserve {
  @media (min-width: 1024px) {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
  }
}

.menu_bg {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    height: clamp(160px, 25vw, 300px);
    background-image: url(../img/menu_bg.jpg);
    background-size: cover;
    background-position: center;
    background-color:rgba(255, 255, 255, .6);
    background-blend-mode:lighten;
    position: relative;
}
.page_title {
    font-size: clamp(24px ,3vw, 30px);
    color: #fff;
    text-shadow: .1em .1em .2em #000, 
                 .1em .1em .2em #000;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.small_title {
  font-size: clamp(12px , 1.5vw, 20px);

  @media (min-width: 768px) {
    font-size: 1.5rem;
  }
}


/* コース紹介 */
.menu_int {
  margin: auto;
  max-width: 1020px;
}

.menu_int img {
  display: block;
  width: 100%;
  max-height: 450px;
  object-fit: cover;
  margin: 0 auto 1em;
}

#trimming .text_wrap p:nth-child(2) {
  margin-bottom: 1em;
}

.title_trimming {
  text-align: center;
  margin-bottom: .4em;
}


span.gr_marker {
  background: linear-gradient(transparent 40%, #aaffdd 70%);
}

@media (min-width: 768px) {
    .menu_int {
      display: flex;
      flex-direction: row-reverse;
    }
    .menu_int img {
      flex: 1;
      align-self: end;
      width: 10vw;
      max-width: 400px;
      max-height: 300px;
      margin-bottom: 0;
    }

    #trimming .text_wrap {
      flex: 1;
      padding: 0 2em 0 0;
    }
    .title_trimming {
      text-align: left;
    }
}

@media (min-width: 1024px) {
  .title_trimming {
    margin-bottom: 1em;
  }
}

 
/* tab関連 */
.tabs {
  margin-top: 6em;
  padding-bottom: 1em;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  width: 100%;
}

/*タブのスタイル*/
.tab_item {
  width: calc(100%/4);
  border-bottom: 3px solid #a88646;
  background-color: #d9d9d9;
  font-size: 1.2rem;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  padding: .5em 0;
}

.tab_item .tab_br {
  white-space: pre-line;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 1em .8em 0;
  clear: both;
  overflow: hidden;

  @media (min-width: 768px) {
    padding: 2em;
  }
}


/*選択されているタブのコンテンツのみを表示*/
#standard:checked ~ #standard_content,
#select:checked ~ #select_content,
#premium:checked ~ #premium_content,
#option:checked ~ #option_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #a88646;
  color: #fff;
}

/* tab内 コース紹介 */

.course_img {
  width: 100%;
}

.course_wrap_top h2 {
  margin-top: .5em;
  margin-bottom: .2em;
}

.shampoo, .cut {
  margin-top: 3em;
}
h3.course_title {
  font-size: 2rem;
  text-align: center;
  margin-bottom: .5em;
}

.course_detail {
  line-height: 1.8;
  padding: .6em;
  background-color: #fff5e0;
  border: 1px solid #ddccaa;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}

.cut .course_detail {
  text-align: center;
}
.add-plus {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  width: 1em;
  height: .25em;
  background: currentColor;
  position: relative;
}
.add-plus::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
}

@media (min-width: 768px) {
  .course_wrap_top {
    display: block;
    margin: 0 auto;
  }

  .course {
    display: flex;
    gap: 1.5em;
    margin-top: 3em;
  }

  .shampoo, .cut {
    flex: 1;
  }
  .cut_gap {
    display: flex;
    flex-direction: column;
  }

  .cut_gap .course_detail {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15%;
  }

  h3.course_title {
    font-size: 2.5rem;
  }

  .course_detail {
    font-size: 1.8rem;
  }
}

@media (min-width: 1024px) {
  .course_wrap_top {
    width: 85%;
    margin: 0 auto;
  }
}


/* 注意書き */
.caution {
  font-size: 1.2rem;
  padding: .3em;
  margin-top: 1em;
  line-height: 1.8;
  @media (min-width: 768px) {
    font-size: 1.5rem;
  }
}


/* table関連 */
.price_list {
  font-size: 2rem;
  text-align: center;
  margin: 3em 0 .5em;

  @media (min-width: 768px) {
    font-size: 2.5rem;
  }
}
.table_wrap {
  overflow-x: scroll;
  border-collapse: collapse;
  white-space: nowrap;
}
.price_table {
  border-collapse: collapse;
  white-space: nowrap;
  margin-bottom: .5em;

  @media (min-width: 768px) {
    width: 100%;
    font-size: 1.8rem;
  }
}
.price_table tr:nth-child(even) th, 
.price_table tr:nth-child(even) td {
  background-color: #ffeac3;
}

tr.table_head {
  color: #fff;
  background-color: #a88646;
}
.price_table th,
.price_table td {
  padding: .5em;
  border: solid 2px #ddd;
}

.price_table td {
  text-align: center;
}


/* セレクトコース関連 */
/* pls_op プラスオプション関連 */
.pls_op {
  margin-top: 3em;
}
.op_table {
  border-collapse: collapse;
  width: 100%;
}
.pls_op tr {
  background-color: #fff;
}
.op_table .table_head {
  font-size: 1.6rem;
  color: #fff;
  background-color: #a88646;
}
.op_table th,
.op_table td {
  font-size: 1.2rem;
  border: solid 2px #ddd;
  padding: .5em;
}

@media (min-width: 768px) {
  .op_table {
    table-layout: fixed;
  }
  .op_table .table_head {
    font-size: 2rem;
  }

  .op_table th,
  .op_table td {
    font-size: 1.6rem;
  }
}


/* プレミアムコース関連 */
/* pr_op */
.pr_table {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
}
.pr_op tr {
  text-align: left;
  background-color: #fff;
}
.pr_table .herb {
  font-size: 1.4rem;
  font-weight: bold;
  color: #A71B1A;
}
.pr_table td {
  font-size: 1.2rem;
  padding: .5em;
  border: solid 2px #ddd;
}

@media (min-width: 768px) {
  .pr_table .herb {
    font-size: 1.6rem;
  }
  .pr_table td {
    font-size: 1.4rem;
  }
}


/* 単品オプション関連 */
.single_option .table_wrap {
  margin-top: 0;
}
.single_option .course_title {
   margin-top: 0;
}
.single_option td {
  text-align: center;
  padding: .5em 2em;
}


/* ペットホテル */
/* 宿泊 */
#hotel {
  margin-top: 0;
}
#hotel .container {
  padding-top: 8em;
}
.hotel_title {
  text-align: center;
  margin-bottom: 2em;
}
.stay_length {
  text-align: center;
  margin-bottom: .5em;
}
#hotel .price_table {
  width: 100%;
}
#hotel .row_white td {
  background-color: #fff;
}


/* 一時預かり */
.temporary {
  margin-top: 2em;
}