@charset "UTF-8";

:root{
  --accent_color:rgba(2, 255, 225, 0.995);
  --accent_light_color:rgba(177, 252, 255, 0.995);
  --gradation_color:linear-gradient(180deg, rgba(108, 244, 215, 0.995),rgba(5, 255, 188, 0.995));
}

body {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  background-color: #eaeaea;
  color: #555;
  border-top: 8px solid var(--accent_color);
}

main{
  border-bottom: 3px solid var(--accent_color);
}
/* common */
.l_header_nav_item{
  content: "";
  font-weight: bold;
  font-size: 14px;
  color: white;
  position: relative;
}

.sp_inner{
  padding: 0 16px;
}
@media screen and (min-width: 1080px) {
  .sp_inner{
    padding: 0;
  }
}

@media screen and (min-width: 1080px) {
  .pc-inner{
    padding: 0 5%;
  }
}

.m_page-info{
  padding: 16px 2px 0 2px;
}
@media screen and (min-width: 1080px) {
  .m_page-info{
    margin-left: 5%;
  }
}
.m_page-link{
  text-decoration: underline;
  color: blue;
  font-weight: lighter;
  font-size: 12px;
}
.u_page__arrow{
  margin: 0 4px;
  font-size: 12px;
}

.u_page-info{
  font-size: 12px;
}

.main-ttl_wrap{
  border-radius: 6px 6px 0 0;
  background: var(--gradation_color);
  padding: 12px 18px;
}
@media screen and (min-width: 1080px) {
  .main-ttl_wrap{
    padding: 32px 18px;
  }
}

.m_main-ttl{
  font-family: 'M PLUS Rounded 1c', sans-serif;
  color: white;
  text-shadow: #555 1px 1px 5px;
  font-size: 18px;
  font-weight: bold;
}
@media screen and (min-width: 1080px) {
  .m_main-ttl{
    font-size: 24px;
  }
}

.m_detail{
  background-color: #fff;
  padding: 0 16px 24px 16px;
}
@media screen and (min-width: 1080px) {
  .m_detail{
    padding: 0 16px 32px 16px;
  }
}

.m_detail-ttl{
  font-size: 16px;
  font-weight: bold;
  padding-bottom: 8px;
  border-bottom:3px solid var(--accent_color);
}
@media screen and (min-width: 1080px) {
  .m_detail-ttl{
    font-size: 18px;
  }
}
/* header */
.l_header{
  text-align: center;
}

@media screen and (min-width: 1080px) {
  .l_header-flex{
    height: 150px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.l_header-logo_img{
  width: 260px;
}
@media screen and (min-width: 1080px) {
  .l_header-logo_img{
    width: 350px;
  }
}

.l_clinic-copy{
  font-size: 10px;
}
@media screen and (min-width: 1080px) {
  .l_clinic-copy{
    font-size: 12px;
  }
}

.l_tel{
  font-size: 22px;
  font-weight: bold;
  margin-left: 8px;
}
@media screen and (min-width: 1080px) {
  .l_tel{
    font-size: 30px;
    margin-left: 10px;
  }
}

i, .tel{
  margin-top: 24px;
}
@media screen and (min-width: 1080px) {
  i, .tel{
    margin-top: 32px;
  }
}
.l_business-hour{
  display: inline-block;
  margin-top: 8px;
  font-size: 10px;
  border: #ccc 1px solid;
  padding: 4px 16px;
}
@media screen and (min-width: 1080px) {
  .l_business-hour{
    margin-top: 12px;
    font-size: 12px;
    padding: 8px 24px;
  }
}

.u_red{
  color: rgb(255, 0, 0);
}

.pc_br{
  display: none;
}
@media screen and (min-width: 1080px) {
  .pc_br{
    display: block;
  }
}

.l_header_nav{
  margin-top: 24px;
  width: 100%;
}

.l_header_nav_list{
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 1080px) {
  .l_header_nav_list{
    flex-wrap: nowrap;
  }
}

.l_header_nav_item{
  border-radius: 4px;
  height: 70px;
  width: 50%;
  background: var(--gradation_color);
}
.l_header_nav_item:not(:last-child){
  border-right: 0.8px solid rgb(179, 179, 179);
}

.l_header_nav_item:hover{
  background: var(--accent_color);
  opacity: 0.8;
}

.header_nav_link{
  color: white;
  font-weight: bold;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-shadow: #555 1px 1px 5px;
}

.l_header_nav_item.l_header-nav__home::after{
  content: "HOME";
  display: block;
  position: absolute;
  font-size: 10px;
  left: 50%;
  top: 60%;
  transform: translateX(-50%);
}
.l_header_nav_item.l_header-nav__clinic::after{
  content: "CLINIC";
  display: block;
  position: absolute;
  font-size: 10px;
  left: 50%;
  top: 60%;
  transform: translateX(-50%);
}
.l_header_nav_item.l_header-nav__service::after{
  content: "SERVICE";
  display: block;
  position: absolute;
  font-size: 10px;
  left: 50%;
  top: 60%;
  transform: translateX(-50%);
}
.l_header_nav_item.l_header-nav__staff::after{
  content: "STAFF";
  display: block;
  position: absolute;
  font-size: 10px;
  left: 50%;
  top: 60%;
  transform: translateX(-50%);
}
.l_header_nav_item.l_header-nav__access::after{
  content: "ACCESS";
  display: block;
  position: absolute;
  font-size: 10px;
  left: 50%;
  top: 60%;
  transform: translateX(-50%);
}

/* pc flex */
@media screen and (min-width: 1080px) {
.pc-flex{
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  gap: 2%;
}
}

/* body right */
@media screen and (min-width: 1080px) {
  .l_body-right{
    width: calc(100% - 30%);
  }
}
.m_clinic-img-wrap{
  margin-top: 32px;
}

.m_clinic-img{
  height: 160px;
  object-fit: cover;
}
@media screen and (min-width: 1080px) {
  .m_clinic-img{
    height: 280px;
    object-fit: cover;
  }
}

.m_info{
  background-color: #fff;
  margin-top: 16px;
  padding: 32px 24px;
  border-radius: 0 0 8px 8px;
}

.m_info-ttl{
  font-weight: bold;
  border-bottom:3px solid var(--accent_color);
  padding-bottom: 8px;
}
@media screen and (min-width: 1080px) {
  .m_info-ttl{
    font-size: 18px;
    padding-bottom: 12px;
  }
}

.m_info-wrap{
  margin-top: 16px;
  border-bottom: #ccc dotted 1px;
}
@media screen and (min-width: 1080px) {
  .m_info-wrap{
    display: flex;
    gap: 16px;
  }
}

time{
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
}
@media screen and (min-width: 1080px) {
  .m_time_wrap{
    font-size: 16px;
  }
}

.m_info_txt_wrap{
  font-size: 12.5px;
  padding: 8px 16px;
}
@media screen and (min-width: 1080px) {
  .m_info_txt_wrap{
    font-size: 16px;
    width: calc(100% - 130px);
    padding-top: 0;
  }
}

/* l_aside-wraps */
.l_aside-wraps{
  font-family: 'M PLUS Rounded 1c', sans-serif;
}
@media screen and (min-width: 1080px) {
  .l_aside-wraps{
    width: 30%;
    margin-top: 32px;
  }
}

.m_general_wrap{
  margin-top: 32px;
}
@media screen and (min-width: 1080px) {
  .m_general_wrap{
    margin-top: 0px;
  }
}

.m_aside-ttl{
  letter-spacing: 2px;
  color: white;
  font-weight: bold;
  padding: 8px 16px;
  border-radius: 6px 6px 0 0;
  background: var(--gradation_color);
  text-shadow: #555 1px 1px 5px;
}
@media screen and (min-width: 1080px) {
  .m_aside-ttl{
    font-size: 20px;
    padding: 12px 18px;
  }
}

.m_aside_treatment_lists{
  background-color: #fff;
  padding: 0px 12px;
  padding-bottom: 24px;
  font-weight: bold;
  font-size: 14px;
  border: 1px solid var(--accent_color);
}
@media screen and (min-width: 1080px) {
  .m_aside_treatment_lists{
    font-size: 18px;
    padding: 0 18px 24px 18px;
  }
}

.m_dia{
  display: inline-block;
  width:8px ;
  height: 8px;
  background: var(--accent_color);
  transform: rotate(45deg);
  margin-right: 16px;
}
@media screen and (min-width: 1080px) {
  .m_dia{
    width: 10px;
    height: 10px;
  }
}

.m_aside_treatment_item{
  padding: 12px 0 8px 0;
  border-bottom: 1px solid var(--accent_color);
}

.m_aside_treatment_item:hover{
  color: var(--accent_color);
}

.m_cosmetic_wrap{
  margin-top: 24px;
}

/* below nav */
.l_below_nav{
  margin-top: 32px;
}

.l_below_nav_lists{
  display: flex;
  flex-wrap: wrap;
  padding: 8px 16px;
  gap: 16px;
  border-radius: 8px;
  background-color: var(--accent_color);
}
@media screen and (min-width: 1080px) {
  .l_below_nav_lists{
    height: 40px;
    gap: 24px;
    align-items: center;
  }
}

.l_below_nav_item{
  color: white;
  font-size: 14px;
  font-weight: bold;
  display: flex;
  align-items: center;
  text-shadow: #555 1px 1px 5px;
}
@media screen and (min-width: 1080px) {
  .l_below_nav_item{
    font-size: 16px;
  }
  .below_nav_link{
    margin-bottom: 6px;
  }
}

.l_below_nav_item:hover{
  text-decoration: underline;
}

.m_circle{
  display: inline-block;
  height: 14px;
  width: 14px;
  border: #fff 3px solid;
  border-radius: 50%;
  margin-right: 4px;
}
@media screen and (min-width: 1080px) {
  .m_circle{
    height: 16px;
    width: 16px;
    margin-right: 14px;
  }
}

@media screen and (min-width: 1080px) {
  .u_sp_br{
    display: none;
  }
}

.m_clinic-add{
  margin-top: 24px;
  text-align: right;
  padding-bottom: 4px;
}

em{
  font-weight: bold;
}

@media screen and (min-width: 1080px) {
  .m_clinic-add{
    margin-top: 0;
    padding: 24px 0;
}
}

.m_clinic-add_txt{
  font-size: 14px;
  line-height: 1.8;
}
@media screen and (min-width: 1080px) {
  .m_clinic-add_txt{
    letter-spacing: 1px;
    font-size: 16px;
  }
}

/* footer */
.l_footer-copy{
  text-align: center;
  padding: 8px 0;
}

.l_footer-copy_txt{
  font-size: 10px;
}

/* clinic */
.m_clinic-txt-wrap{
  padding: 24px 8px 0 8px;
}
@media screen and (min-width: 1080px) {
  .m_clinic-txt-wrap{
    padding: 32px 12px 0px 12px;
  }
}

.m_clinic-txt-ttl{
  font-weight: bold;
  color: var(--accent_color);
}

.m_clinic-txt{
  font-size: 14px;
  line-height: 1.7;
  margin-top: 16px;
}

.m_detail-ttl_wrap{
  padding-top: 24px;
}
@media screen and (min-width: 1080px) {
  .m_detail-ttl_wrap{
    padding-top: 32px;
  }
}

/* (table)m_clinic-hour */
.l_clinic_body{
  margin-top: 16px;
}

.l_aside__other{
  margin-top: 16px;
}
.m_clinic-hour{
  margin-top: 16px;
}

.m_clinic-hour, tr, td{
  text-align: center;
  border-collapse: collapse;
  border: 1px solid black;
  font-size: 12px;
}
@media screen and (min-width: 1080px) {
  .m_clinic-hour, tr, td{
    font-size: 16px;
  }
}

.transparent{
  color: transparent;
}

td{
  padding: 8px 1px;
}

.dayoff{
  width: 20%;
}

.bold{
  font-weight: bold;
  background: #cdcdcd;
}
.m_clinic-hour-info:first-of-type{
  margin-top: 24px;
}

.m_clinic-hour-info{
  margin-top: 16px;
  font-size: 14px;
}
@media screen and (min-width: 1080px) {
  .m_clinic-hour-info{
    font-size: 16px;
  }
}
.m_clinic-hour-info:nth-of-type(3){
  font-size: 10px;
  text-decoration: underline;
  color: red;
}
@media screen and (min-width: 1080px) {
  .m_clinic-hour-info:nth-of-type(3){
    font-size: 12px;
  }
}   

.u_clinic-hour__bold{
  font-weight: bold;
  margin-right: 8px;
}

/* service */
.m_service-list-wrap{
  margin-top: 24px;
}

.m_service-list-ttl{
  font-weight: bold;
  color: var(--accent_color);
}
@media screen and (min-width: 1080px) {
  .m_service-list-ttl{
    font-size: 18px;
  }
}

.m_service-list-txt{
  font-size: 14px;
  margin-top: 16px;
}
@media screen and (min-width: 1080px) {
  .m_service-list-txt{
    font-size: 16px;
  }
}

.m_service-list-wrap:nth-of-type(5){
  padding-bottom: 20px;
}

/* staff */
.l_staff_body{
  margin-top: 16px;
}

@media screen and (min-width: 1080px) {
  .m_staff-detail-ttl{
    font-size: 18px;
  }
}

@media screen and (min-width: 1080px) {
  .director-flex{
    display: flex;
  }
}
.m_directors-img_wrap{
  margin-top: 16px;
  text-align: center;
}

.m_directors-img{
  width: 200px;
  height: 200px;
  object-fit: cover;
}
@media screen and (min-width: 1080px) {
  .m_directors-img{
    width: 250px;
    height: 250px;
    object-fit: cover;
  }
}


.m_name{
  text-align: center;
  margin-top: 16px;
  color: #fff;
  background-color: var(--accent_color);
  font-size: 14px;
  padding: 4px 0;
}
@media screen and (min-width: 1080px) {
  .m_name{
    font-size: 16px;
  }
}

.m_history_wrap{
  margin-top: 16px;
}

@media screen and (min-width: 1080px) {
  .m_history_wrap{
    margin-top: 0;
    margin-left: 24px;
  }
}

.m_directors-txt-ttl{
  color: var(--accent_color);
  font-weight: bold;
  margin-bottom: 24px;
}
@media screen and (min-width: 1080px) {
  .m_history_wrap{
    font-size: 18px;
  }
}

.m_directors-txt{
  font-size: 14px;
  margin-top: 4px;
}
@media screen and (min-width: 1080px) {
  .m_directors-txt{
    font-size: 16px;
  }
}

.m_directors-detail_wrap{
  margin-top: 24px;
}

.m_directors-text{
  font-size: 14px;
}
@media screen and (min-width: 1080px) {
  .m_directors-text{
    font-size: 16px;
  }
}

.m_directors-text:not(:first-child){
  margin-top: 12px;
}

.m_staff-img_wrap{
  margin-top: 16px;
}

.m_staff-detail_wrap{
  margin-top: 24px;
}

.m_staff-name{
  font-size: 14px;
}
@media screen and (min-width: 1080px) {
  .m_staff-name{
    font-size: 16px;
  }
}

.m_staff-name:not(:first-child){
  margin-top: 4px;
}


/* access */

.m_access-map_wrap{
  margin-top: 16px;
}

.m_map_link{
  font-size: 10px;
  color: blue;
  text-decoration: underline;
}
@media screen and (min-width: 1080px) {
  .m_map_link{
    font-size: 12px;
  }
  .m_access-map_wrap{
    position: relative;
    padding-top: 50%;
  }
  iframe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;   
  }
}

.l_access_body{
  margin-top: 16px;
}

.border{
  border-bottom: 3px solid var(--accent_color);
  padding-top: 16px;
}

@media screen and (min-width: 1080px) {
  .m_access-flex{
    display: flex;
  }
  .m_clinic-img{
    height: 250px;
    width: 100%;
  }
}

.m_clinic-img_wrap{
  margin-top: 16px;
  padding-top: 8px;
}

.access-txt_wrap{
  margin-top: 16px;
}
@media screen and (min-width: 1080px) {
  .access-txt_wrap{
    margin-left: 16px;
    margin-top: 60px;
  }
}

.access-txt{
  font-size: 14px;
  margin-top: 16px;
}
@media screen and (min-width: 1080px) {
  .access-txt{
    font-size: 16px;
  }
}

.access-txt:first-child{
  font-size: 16px;
  color: var(--accent_color);
  font-weight: bold;
}
@media screen and (min-width: 1080px) {
  .access-txt:first-child{
    font-size: 18px;
  }
}