
/*----------------------------
common
----------------------------*/
/*--------------
  swiper
--------------*/
.slide {
  /* position: relative; */
  margin: 0 auto;
  overflow: hidden;
}

.swiper-container {
  max-width: 960px;
  overflow: visible !important;
}

.swiper_img {
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}

.swiper-pagination {
  position: relative !important;
  margin: 2rem;
}

.swiper-pagination-bullet {
  margin-right: 1rem;
  width: 12px !important;
  height: 12px !important;
}


@media (min-width: 768px) {
  .slide {
    height: 480px;
  }
}
/* --- ここまで --- */

/*--------------
  header
--------------*/
.login_header {
  padding: 1rem;
}

.layout_header_text {
  display: none;
}

.headerBox {
  border-bottom: 1.5px solid #f08300;
  padding-bottom: 1rem;
}

.headerBox a {
  text-decoration: none;
}

.headerBox_img {
  width: 70%;
  margin: 0 auto;
  align-self: start;
}

.headerBox_text {
  padding-top: 1.4rem;
  text-align: right;
  width: 100%;
  font-size: 14px;
}

.headerBox_text_reserve {
  background-color: #f08300;
  border-radius: 6px;
  color: #fff;
  padding: 0.2rem 1rem;
  font-size: 14px;
  display: inline-block;
  margin-bottom: 1rem;
}

.headerBox_text_time {
  background-color: #7a6a56;
  border-radius: 6px;
  color: #fff;
  padding: 0.2rem 1rem;
}

.headerBox_text_time::before {
  content: '';
  height: 15px;
  width: 15px;
  display: inline-block;
  background-image: url('/images/body/common/clock.svg');
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 5px;
  vertical-align: middle;
}

.header_contactBox_wrapper {
  display: none;
}

.contact_box {
  margin-bottom: 1rem;
}

.contact_box a {
  text-decoration: none;
}

.line_contact {
  background-color: #00b900;
  font-size: 1.1rem;
  color: #fff;
  border-radius: 3px;
  line-height: 2.5rem;
  padding: 0.2rem 0.8rem;
  margin-right: 1rem;
}

.line_contact::before {
  content: '';
  height: 25px;
  width: 25px;
  margin-right: 0.5rem;
  display: inline-block;
  vertical-align: middle;
  background-image: url('/images/body/common/line_white.svg');
  background-repeat: no-repeat;
  background-size: contain;
}

.mail_contact {
  background-color: #f08300;
  font-size: 1.1rem;
  color: #fff;
  border-radius: 3px;
  line-height: 2.5rem;
  padding: 0.2rem 0.8rem;
}

.mail_contact::before {
  content: '';
  height: 20px;
  width: 20px;
  margin-right: 0.5rem;
  display: inline-block;
  vertical-align: middle;
  background-image: url('/images/body/common/contact_white.svg');
  background-repeat: no-repeat;
  background-size: contain;
}

.img_h_reserve {
  width: 120px;
}

/* .img_h_tel {
display: none;
} */

.img_h_access {
  max-width: 80px;
}

.logo_horizontal {
  width: 200px;
  display: block;
  margin: 0 auto;
  padding: 1rem 0;
}

/*--------------
　body
--------------*/
.contents_section {
  padding-top: 3rem;
}



.proposal {
  margin: 1rem 0 3rem;
  text-align: center;
}

.proposal_text {
  border-bottom: 3px solid #f8c384;
  padding-bottom: 1px;
  display: inline;
  line-height: 2;
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: 1px;
}

.balloonBox {
  margin: 2rem 0;
}

.balloonBox_balloon{
  position: relative;
  width: 90px;
  height: 90px;
  background: #f08300;
  padding: 1rem;
  margin: 0 auto;
  line-height: 23px;
  text-align:center;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: bold;
}

.balloonBox_balloon:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  right: -11px;
  bottom: 35px;
  border-style: solid;
  border-color: transparent transparent transparent #f08300;
  border-width: 7px 0 7px 12.12px;
  transform: rotate(0deg);
  display: none;
}

.balloonBox_balloon_point_img {
  margin: 1rem 0rem 0rem 1rem;
}

/*--------------
　table
--------------*/
.beginners_table {
  width: 100%;
  margin: 2rem 0;
}

.beginners_table-header {
  color: #f08300;
  font-size: 2rem;
  letter-spacing: 3px;
}

.beginners_table-header::before {
  content: '';
  width: 20px;
  height: 20px;
  background-color: #f08300;
  border-radius: 50%;
  display: inline-block;
  margin-right: 3px;
  vertical-align: middle;
  margin-bottom: 5px;
}

.beginners_table-caution {
  background-color: #eb6100;
  padding: 0 4px 0 13px;
  border-radius: 9px;
  color: #fff;
}

.beginners_table tr {
  border: 1.5px solid #000;
  height: 40px;
}

.beginners_table th {
  text-align: center;
  border-right: 1.5px solid #000;
  background-color: #efefef;
}

.beginners_table th:empty {
  background-image: linear-gradient(to top right, transparent, transparent 49.5%, #000 49.5%, #000 51%, transparent 51%, transparent);
}

.beginners_table-th-saturday {
  color: #08629d;
}

.beginners_table-th-holyday {
  color: #e6002d;
}

.beginners_table td {
  border-right: 1.5px solid #000;
  text-align: center;
  width: 9%;
}

.beginners_table td:first-child {
  width: 20%;
  background-color: #feeec6;
  text-align: left;
  padding-left: 1rem;
}

.beginners_table td span {
  font-size: 1rem;
}

/* --- ここまで --- */

/*--------------
  recommendBox
--------------*/
.recommendBox {
  background-color: #e5dfce;
  padding: 2rem 3rem;
}

.recommendBox_header {
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
  color: #6d6967;
  padding-bottom: 1rem;
}

.recommendBox_list {
  padding: 2rem;
  background-color: #fff;
  font-weight: bold;
  color: #6d6967;
  line-height: 40px;
}

.recommendBox_list ul {
  list-style: inside;
}

.recommendBox_face {
  display: block;
  margin: 0 2rem 0 auto;
}

.triangle {
  border-top: 30px solid #f08300;
  border-right: 30px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 30px solid transparent;
  width: 60px;
  margin: 0 auto;
  margin-top: 2rem;
}
/* --- ここまで --- */

/*--------------
  reviews
--------------*/
.side_menu a {
  text-decoration: none;
}

.side_menu .current {
  background-color: #ffed7c;
}

.side_menu_title {
  margin: 1rem 0;
}

.side_menu_list {
  padding: 1rem;
  height: auto;
  background-color: #fff;
  border-top: thin solid #f08300;
}

.side_menu_list::before {
  content: '';
  height: 20px;
  width: 20px;
  display: inline-block;
  background-image: url('/images/body/common/arrow_icon.png');
  background-repeat: no-repeat;
  background-size: cover;
  vertical-align: top;
  margin-right: 1rem;
}

.side_submenu {
  padding: 1rem 0 1rem 3rem;
  height: auto;
  background-color: #fff;
  border-top: thin solid #f08300;
}

.side_submenu::before {
  content: '>';
  height: 20px;
  width: 20px;
  display: inline-block;
  vertical-align: top;
}

.side_menu_link {
  text-decoration: none;
}

.side_blog {
  margin-bottom: 2rem;
  vertical-align: bottom;
}

.side_blog_link {
  transition: all 0.3s;
  display: inherit;
  text-align: center;
}

.side_blog_link:hover {
  opacity: 0.4;
  transition-duration: 0.4s;
}

.side_contact {
  background-color: #00b900;
  padding: 0.5rem 1rem;
  margin-bottom: 2rem;
  border-radius: 6px;
  color: #fff;
  font-size: 1.6rem;
  line-height: 3.7rem;
}

.side_contact::before {
  content: '';
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: bottom;
  margin-right: 1rem;
  background-image: url('/images/body/common/line_white.svg');
  background-size: contain;
  background-repeat: no-repeat;
}

.side_contact_link {
  text-decoration: none;
  transition: all 0.3s;
}

.side_contact_link:hover {
  opacity: 0.4;
  transition-duration: 0.4s;
}

.side_menu {
  margin-bottom: 2rem;
  border-bottom: 1px solid #f08300;
}

.side_menu a li:hover {
  background-color: orange;
}

.side_instagram {
  margin-bottom: 2rem;
  vertical-align: bottom;
  max-width: 100%;
}


.belowBtnBox {
  text-align: center;
  margin-top: 2rem;
}

.belowBtnBox_btn-review {
  color: #f08300;
  border: thin solid #f08300;
  margin-bottom: 2rem;
}

.belowBtnBox_btn-contact {
  color: #fff;
  background-color: #f08300;
  border: thin solid #f08300;
  margin-bottom: 2rem;
}
/* --- ここまで --- */

/*--------------
  footer
--------------*/

.shop_profile_section {
  background-color: #fff;
  position: relative;
  /* padding: 2rem; */
  margin-bottom: 3rem;
}

.shop_profile_banner {
  width: 300px;
  position: absolute;
  left: 0;
  top: 6rem;
}

.shop_profile_worktime {
  padding-top: 1rem;
}

.shop_profile_medicaltime {
  padding-top: 1rem;
}

.shop_profile_detail {
  margin-top: 3rem;
}

.shop_profile_border {
  border: 1px dashed #eee;
  width: 100%;
  display: inline-block;
}

.access_map_img {
  border: 1px solid #ccc;
}

.worktime_text {
  /* width: 40%; */
  margin-top: 5rem;
}

.worktime_img {
  width: 60%;
}

.footer_table {
  /* width: 60%; */
}

.footer_table-header {
  font-size: 2.2rem;
  margin-left: -16px;
}


/*--------------
pageclass-posts
--------------*/

.pageclass-posts .post_content {
  background-color: #fff;
  padding: 3rem 2rem 2rem;
}

.pageclass-posts .posts_list {
  text-decoration: none;
}

.pageclass-posts .posts_list:hover {
  opacity: 0.5;
}

/*--------------
インスタフィード
--------------*/
#instafeed {
  display: flex;
  margin: 2rem;
}

.instagram_item {
  margin: 1rem;
}

.instagram_target {
  width: 10rem;
  height: 10rem;
  display: block;
}

.instagram_img {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .header_contactBox_wrapper {
    display: block;
  }

  .layout_header_text {
    font-size: 1.3rem;
    display: block;
  }

  .headerBox_img {
    width: auto;
    margin: 0;
  }

  .headerBox_text {
    width: 40%;
  }

  .headerBox_text_reserve {
    display: inherit;
  }

  .balloonBox_balloon {
    /* margin: 0; */
  }

  .balloonBox_balloon::after {
    display: block;
  }

  .proposal_text {
    border-bottom: 7px solid #f8c384;
    line-height: 2.5;
    font-size: 1.8rem;
  }

  .img_h_tel {
    max-width: 230px;
    display: block;
  }

  .shop_profile_banner {
    top: 4rem;
  }

  .shop_profile_detail {
    margin-top: 0;
  }

  .shop_profile_worktime {
    padding: 1rem 3rem 0;
  }

  .shop_profile_medicaltime {
    padding: 0rem 3rem 2rem;
  }

  .belowBtnBox_btn-review {
    margin-bottom: 0;
  }

  .belowBtnBox_btn-contact {
    margin-bottom: 0;
  }

  .access_map_img {
    margin-right: 5rem;
  }
}

@media screen and (min-width: 920px) {}

  /*--------------
  画像ファイル監理
  --------------*/
  /* アップロード */
  .select_img {
    margin: 1rem 0;
  }

  label.upload_file_label {
    color: #fff;
    background-color: #90c4f8;
    border: thin solid #90c4f8;
    padding: 6px;
    margin: 1rem 0 0;
    cursor: pointer;
    display: inline-block;
  }

  label.upload_file_label > input {
    display: none;
  }

  .upload_file_input {
    color: #333;
    width: 100%;
    border: thin solid #ccc;
    border-radius: unset;
    outline: none;
    font-size: 1.6rem;
  }

  .select_file {
    margin: 1rem auto 2rem;
  }
  /* 画像ファイルサムネイル */
  .img_file_item {
    width: 50%;
  }

  .img_file_item_wrapper {
    padding: 1rem;
    margin: 1rem;
    border: thin solid #ccc;
    border-radius: 4px;
  }

  .img_file_item_name {
    word-wrap: break-word;
    margin-bottom: 1rem;
  }

  .img_file_item_filesize {
    border-top: thin solid #ccc;
    padding-top: 1rem;
  }

  .img_file_thumbnail {
    background-color: #fff;
    padding: 1rem;
  }

  .img_file_thumbnail img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    display: block;
    margin: auto;
  }

  .img_file_item_icons {
    padding-top: 1rem;
  }
  /*--------------
  画像ファイルアイコン（fontawesome CSS版）
  --------------*/

  .img_file_icons::before {
    font-family: "Font Awesome 5 Free";
    font-size: 2rem;
    color: #5b85c4;
    width: 25px;
    height: 25px;
    vertical-align: middle;
    text-align: center;
    display: inline-block;
  }

  .css-icon_imgfile_select::before {
    content: "\f058";
    font-weight: 900;
  }

  .css-icon_imgfile_select:hover {
    opacity: 0.5;
  }

  .css-icon_imgfile_edit {
    text-decoration: none;
  }

  .css-icon_imgfile_edit::before {
    content: "\f5ad";
    font-weight: 900;
  }

  .css-icon_imgfile_edit:hover {
    opacity: 0.5;
  }

  .css-icon_imgfile_delete::before {
    content: "\f2ed";
    font-weight: 900;
    color: #d9534f;
  }

  .css-icon_imgfile_delete:hover {
    opacity: 0.5;
  }
  @media screen and (min-width: 768px) {
    .img_file_item {
      width: 200px;
    }

    .img_file_thumbnail {
    }

    .img_file_thumbnail::nth-child(4n) {
    }

    .img_file_thumbnail img {
      height: 100px;
    }
  }

  @media screen and (min-width: 920px) {}
