@charset "utf-8";

/*common------------------------------------------*/
.h1_bordertop {
  border-top: 1px solid #afd5e9;
  padding: 0;
  margin: 2em auto;
  width: 100%;
  position: relative;
  text-align: center;
}
h1 {
  color: #63a4c2;
  font-size: 40px;
  line-height: 2em;
  letter-spacing: 5px;
  border-top: solid 3px #63a4c2;
  margin-top: -2px;
  display: inline-block;
}
/*MENU---------------------------------------------*/
.menu_wrap {
  display: flex;
  justify-content:space-between;
}
.menu_h2 {
  font-size: 34px;
  color: #63a4c2;
  letter-spacing: 5px;
  line-height: 1.1em;
  margin-top: 1em;
}
.menu_hair {
  flex: 1;
  padding-right: 4%;
  border-right: dotted 1px #63a4c2;
}
.menu_shaving {
  flex: 1;
  padding-left: 4%;
}
.menu_h3 {
  position: relative;
  font-size: 20px;
  border-top: solid 1px #afd5e9;
  margin: 2em auto 0 auto;
  padding-top: 0.5em;
}
.menu_h3::after {
  position: absolute;
  top:-2px;
  left: 0;
  z-index: 2;
  content: '';
  width: 20%;
  height: 3px;
  background-color: #63a4c2;
}
.h3_small {
  font-size: 17px;
  padding-top: 0.8em;
}
.hair_plan {
  margin-top: 1.5em;
  border-top: solid 1px #afd5e9;
  padding-top: 1em;
}
.shaving_plan {
  margin-top: 0.5em;
}
.hair_plan dt {
  font-size: 18px;
  clear: left;
  float:left;
}
.shaving_plan dt {
  font-size: 22px;
  line-height: 1.4em;
  clear: left;
  float:left;
}
.plice {
  text-align: right;
  font-size: 22px;
  line-height: 1.4em;
}
.explan {
  font-size: 14px;
  color: #63a4c2;
  line-height: 1.5em;
}
.plice_2 {
  text-align: right;
  font-size: 22px;
  line-height: 1;
  margin-top: 0;
}
.point {
  background-color: #f0f7ff;
  border-radius: 15px;
  padding: 5%;
  margin-top: 2em;
  box-shadow: 0px 0px 0px 5px #e3f0ff;
  border: dotted 1px #63a4c2;
}
.point p {
  margin-top: 0;
  color: #63a4c2;
}
.point img {
  display: block;
  margin: auto;
  width: 70%;
  mix-blend-mode: multiply;
}

.flow {
  position: relative;
  margin:0;
  padding:0;
  line-height: 2em;
  color: #63a4c2;
}
.flow li {
  list-style-position:outside;
  margin:0;
  padding-left:1.25em
}
.flow li span {
  position: absolute;
  left:0;
  margin:0
}
.shaving_zone {
  font-size: 14px;
  width: 100%;
  line-height: 1.8em;
  table-layout:fixed;
}
.shaving_zone td {
  color: #fff;
  font-size: 12px;
  line-height: 1.2em;
  background-color: #63a4c2;
  border: solid #fff;
  border-width: 4px 1px;
  text-align: center;
  padding: 4px 2px;
  box-sizing: content-box;
  vertical-align: middle;
}
td.td_color_reversal {
  color: #63a4c2;
  background-color: #d6e5f6;
}

.sub_txt {
  font-size: 14px;
}
/*Message---------------------------------------------*/
.message_wrap {
  border: dotted 1px  #8f7b54;
  box-shadow: 0px 0px 0px 5px #efece5;
  margin: auto;
  max-width: 90%;
  padding: 4%;
  box-sizing: border-box;
}
.message_h2 {
  position: relative;
  text-align: center;
  font-size: 22px;
  color: #63a4c2;
  margin-bottom: 1.5em;
}
.message_h2 span {
  position: relative;
  z-index: 2;
  display: inline-block;
  margin: 0 2.5em;
  padding: 0 1em;
  background-color: #fff;
  text-align: left;
}
.message_h2::before {
  position: absolute;
  top: 50%;
  z-index: 1;
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #afd5e9;
}
.message_wrap p {
  margin: auto;
  text-align: center;
  margin-top: 1em;
}
.message_h3 {
  color: #63a4c2;
  font-size: 26px;
  position: relative;
  display: inline-block;
  padding: 0 55px;
  margin-top: 5em;
  margin-bottom: 1em;
  text-align: center;
}
.message_h3::before, .message_h3::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: #63a4c2;
}
.message_h3::before {left:0;}
.message_h3::after {right: 0;}

.profile_table {
  max-width: 600px;
  margin: auto;
}
.profile_table p{
  font-size: 18px;
}
.profile_table th {
  width: 10em;
  text-align: left;
}
.profile_table td {
  padding: 0 0 8px 1em ;
}

/*Gallery---------------------------------------------*/
.gallery_wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 3em;
}
.gallery_txt_left {
  color: #63a4c2;
  border: solid #afd5e9;
  border-width: 1px 0 0 1px;
  padding: 2em 5%;
  margin-top: 0;
  margin-right: 2%;
  flex-basis: 620px;
  box-sizing: border-box;
}
.gallery_txt_right {
  color: #63a4c2;
  border: solid #afd5e9;
  border-width: 1px 1px 0 0;
  padding: 2em 5%;
  margin-top: 0;
  margin-left: 2%;
  order: 2;
  flex-basis: 620px;
  box-sizing: border-box;
}
.gallery_column {
  display: flex;
  justify-content: space-between;
  padding: 10px 5%;
  margin-top: 4em;
  border: dotted 1px #63a4c2;
}
.gallery_column p {
  margin-top: 0;
  margin-right: 5%;
  color: #63a4c2;
  align-self:center;
  flex-basis: 720px;
}
/*Calender---------------------------------------------*/
.calender {
  max-width: 680px;
  margin:auto;
}
.gcal {
  width: 100%;
  height: 400px;
}

/*
.gcal {
  position: relative;
  padding-bottom: 100%;
  height: 0;
  overflow: hidden;
}
.gcal iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

/*Access---------------------------------------------*/
.access_wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 3em;
}
.map {
  margin-right: 2%;
  position: relative;
  padding-bottom: 50%;
  flex-basis: 600px;
}
.map iframe {
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
}
.access_info {
  flex-basis: 600px;
  margin-left: 2%;
}
.access_info dl {
  margin: 1em 0;
}
.access_info dt {
  clear:left;
  float:left;
  color: #fff;
  background-color: #3e75b1;
  border: solid #fff;
  border-width: 1px 0;
  padding: 5px;
  margin-right: 5px;
  width: 50px;
  text-align: center;
}
.access_info dd {
  padding: 6px;
}
.sp_only_gapp {
  display: none;
}

/*改行位置調整---------------------------*/
.sp_br {
  display: none;
}
.sp_br1, .sp_br2, .sp_br3{
  display: none;
}
/*----------------------------------------------*/

@media screen and (min-width: 768px){
.br_sp {display: none; }
}
/*----------------------------------------------*/


/*1023-768*/


/*----------------------------------------------*/
@media screen and (max-width: 1023px) {
  .message_wrap {
    display: block;
  }
  .image_left_bottom, .image_right_top {
    display: none;
  }
  .pc_br {
    display: none;
  }
}
/*------------------------------------------------------------*/
/*------------------------------------------------------------*/


/*smartphone*/


/*------------------------------------------------------------*/
@media screen and (max-width: 767px) {
/*main_visual------------------------------------------------*/
  .menu_wrap,.profile_wrap,.gallery_wrap,.gallery_column,.access_wrap {
    flex-direction: column;
  }
  .menu_hair, .menu_shaving {
    padding: 0;
    border: none;
  }
  .menu_shaving {
    margin-top: 8em;
  }
  .message_wrap {
    padding: 5%;
  }
  .message_h2 {
    margin-bottom: 1em;
  }
  .message_h2 span {
    margin: 0 2em;
    padding: 0 0.5em;
  }
  .profile_table {
    margin-top: 1em;
    flex-basis: auto;
  }
  .profile_wrap {
    margin-top: 2em;
  }
  .profile_ph {
    margin: auto;
  }
  .profile_table th, .profile_table td {
    display: block;
    width: 100%;
    padding: 4px 0;
    border-top: solid 1px  #afd5e9;
  }
  .profile_table th {
    color: #63a4c2;
  }
  .gallery_txt_left,.gallery_txt_right,.gallery_column p {
    flex-basis: auto;
    margin: 0;
  }
  .gallery_txt_left {
    border-width: 1px 0px 0px 0px;
  }
  .gallery_txt_right {
    order: 0;
    border-width: 1px 0px 0px 0px;
  }
  .gallery_column {
    padding: 5%;
  }
  .gallery_column div {
    text-align: center;
  }
  .map {
    margin: 0 0 1em 0;
    flex-basis: auto;
    height: 300px;
    padding-bottom: 0;
  }
  .access_info {
    margin: 0;
    flex-basis: auto;
  }
  .sp_only_gapp {
    display: inline;
    line-height: 2em;
    font-size: 16px;
  }
  /*-----------------------------------------------------*/
}
