/* Universal */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 10px;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #444444;
}

body {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #444444;
  margin: 0;
  font-size: 14px;
  letter-spacing: 1.5px;
  line-height: 1.75;
  font-weight: 500;
  width: 100%;
  height: 100%;
  color: #222;
}

p {
  font-size: 1.6rem;
  line-height: 2.5rem;
}

a {
  font-size: 1.6rem;
  color: #222;
  text-decoration: none;
}

h3 {
  font-size: 1.6rem;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a {
  color: #222;
}

a:hover {
  text-decoration: underline;
  text-decoration: none;
}

/* Reusable */
section {
  margin-bottom: 1rem;
  position: relative;
}

section.last {
  margin-bottom: 0;
}



section.distinction .container {
  padding: 5rem 0;
}

.container {
  width: 100%;
  max-width: 90rem;
  height: 100%;
  margin: 0 auto;
  position: relative;
}

.btn {
  text-decoration: none;
  background: #CC99FF;
  color: #fff;
  display: block;
  width: 200px;
  line-height: 44px;
  margin: 20px auto;
  font-size: 14px;
  font-weight: 600;
  border-radius: 4px;
  text-align: center;
}

.btn:hover {
  background-color: #B8B2EA;
}

.btn i.fa-chevron-circle-right {
  position: absolute;
  right: 0;
  top: 1.3rem;
  right: 2.5rem;
}

.article {

  border-radius: 2rem;
}

table td.align-center {
  text-align: center;
  padding: 0;
}

/* Header */
header#home {
  width: 100%;
  height: 15rem;
}

.header-title {
  margin-left: 8.3rem;
  padding-top: 4.7rem;
}

.clinic-name {
  display: inline-block;
}

.clinic-name a {
  text-decoration: none;
}

.clinic-name h3 {
  color: #222;
  font-size: 1.3rem;
}

.clinic-name h1 {
  color: #222;
  font-size: 2.3rem;
  margin: 0;
  margin-top: 1rem;
}

.clinic-access {
  display: inline-block;
  margin-left: 2rem;
  background-color: #CC99FF;
  border-radius: 1.1rem;
}

.clinic-access p {
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  padding: 0.5rem 2rem;
}

header {
  padding: 0 8%;
  height: auto;
}

.header-info {
  float: right;
}

.header-info h1 {
  position: absolute;
  top: 2rem;
  right: 42rem;
  font-size: 1.05rem;
  font-weight: normal;
  line-height: 1rem;
}

.header-buttons {
  position: absolute;
  right: 20rem;
  top: 1rem;
}

.header-buttons a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 1.2rem;
  font-weight: bold;
}

.reservation {
  background-color: #CC99FF;
  color: #fff;
  width: 20rem;
  height: 3.4rem;
  padding: 1rem .5rem 1rem 3.5rem;
  border-radius: 2.5rem;
  transition: all 500ms;
}

.reservation:hover {
  background-color: #CC99FF;
}

.transition:hover {
  background-color: #CC99FF;
}

.reservation .fa-chevron-circle-right {
  margin-left: 3rem;
}

.reser.hamburgervation .fa-desktop,
.phone-number .fa-phone-alt {
  margin-right: 0.5rem;
}

.phone-number {
  padding-top: 1rem;
  color: #222;
}

.phone-number .fa-phone-alt {
  color: #CC99FF;
}

/* Header - 繝｡繝九Η繝ｼ */
.header-menu {
  float: right;
  position: absolute;
  right: 20.0rem;
  top: 10rem;
}

.header-menu ul {
  list-style: none;
}

.header-menu ul li {
  float: left;
  border-right: 1px solid #222;
  transform: skewX(150deg);
}

.header-menu ul li:last-child {
  border: none;
}

.header-menu ul li a {
  font-size: 1.2rem;
  font-weight: bold;
  color: #222;
  text-decoration: none;
  margin: 0 1.8rem;
  display: block;
  transform: skewX(-150deg);
  transition: all 500ms;
}

.header-menu ul li a:hover {
  color: #CC99FF;
}

.header-menu-sm {
  display: none;
}

/* Title Banner - 繧ｿ繧､繝医Ν繝舌リ繝ｼ(蜈ｱ騾�) */
.title-banner {
  position: relative;
}

.page-title {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 18.3rem;
  height: inherit;
  line-height: inherit;
}

.page-title .page-title-icon {
  width: 6rem;
  height: 6rem;
  line-height: 6rem;
  display: inline-block;
  vertical-align: middle;
}

.page-title h1 {
  display: inline-block;
  vertical-align: middle;
  margin-left: 3rem;
}

.title-banner .title-banner-img {
  width: 100%;
}

.title-banner img.sp-title-banner {
  display: none;
}

/* Page Access - 繝壹�繧ｸ縺ｸ縺ｮ繧｢繧ｯ繧ｻ繧ｹ鬆�ｷｯ */
.page-access {
  width: 100%;
  height: 6rem;
  position: relative;
}

.page-access p,
.page-access p a {
  font-size: 1.2rem;
}

.page-access p {
  position: absolute;
  top: 0.5rem;
  left: 20rem;
}

/* Section Title - 繧ｻ繧ｯ繧ｷ繝ｧ繝ｳ繧ｿ繧､繝医Ν */
.section-title {
  width: 80%;
  margin: 0 auto 6.5rem;
  padding: 2rem 1rem;
  position: relative;
  background-color: #CC99FF;
  border-radius: 2rem;
  box-shadow: 1.5rem 1.5rem 0px 0 rgb(246, 213, 248);
  z-index: 10;
}

.section-title h2 {
  color: #fff;
  font-size: 1.7rem;
  text-align: center;
  vertical-align: middle;
}

/* Clinic Info - 繧ｯ繝ｪ繝九ャ繧ｯ諠��ｱ */
section.clinic-info {
  margin-top: 15rem;
}

.clinic-info-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 2.5rem;
}

.clinic-info-left {
  text-align: left;
}

.clinic-info-left h3 {
  font-size: 1.4rem;
  font-weight: bold;
}

.clinic-info-left h1 {
  font-size: 2.2rem;
  font-weight: bold;
  margin: 1rem 0 2rem 0;
}

.clinic-info-left p {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.clinic-info-left a {
  font-size: 1.7rem;
  font-weight: bold;
  display: block;
}

.clinic-info-left a i {
  margin-right: 0.8rem;
  color: #83BAD6;
}


.hour-info p .filled-circle,
.hour-info p .triangle {
  font-size: 2.3rem;
}

.hour-info p .filled-circle {
  color: #B8B2EA;
}

.hour-info p .triangle {
  color: #B8B2EA;
}

.hour-info p {
  font-size: 1.4rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  margin-top: 1rem;
}

.special-hour-sp {
  display: none;
}

.btn-reserve {
  margin: 4rem auto 0;
}

.btn-reserve i.fa-desktop {
  margin-right: 1rem;
}

/* Footer */
footer {
  width: 100%;
  height: auto;
  background-color: #f9f4ff;
  position: relative;
}

.footer-wrap {
  width: 70%;
  display: grid;
  margin: 0 auto;
  grid-template-columns: 1.5fr 1.5fr 1fr;
  column-gap: 5rem;
}

.footer-grid {
  margin-top: 5rem;
}

.footer-menu {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

footer ul {
  list-style: none;
}

footer ul li {
  padding-bottom: 1rem;
}

footer ul li:last-child {
  padding-bottom: 0;
}

footer ul li a {
  font-size: 1.1rem;
  text-decoration: none;
}

footer ul li:hover a {
  color: #83BAD6;
}

footer ul li a i {
  color: #B8B2EA;
  margin-right: 0.5rem;
}

footer ul li:hover a i {
  color: #fff;
}

footer .menu-title {
  border-bottom: 2px solid #B8B2EA;
  padding-bottom: 3px;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}

footer .menu-title h4 {
  font-size: 1.3rem;
  color: #222;
}

.footer-grid h5 {
  font-size: 1.7rem;
  margin-bottom: 1.5rem;
}

.footer-grid h6 {
  font-size: 1.2rem;
}

.footer-grid p,
.footer-grid .access-phone {
  font-size: 1.2rem;
  line-height: 2rem;
  padding-bottom: 15px;
}

.footer-grid p.footer-address {
  margin-bottom: 2rem;
}

.footer-grid .access-phone {
  text-decoration: none;
}

.footer-grid .access-phone i {
  color: #83BAD6;
  margin-right: 0.5rem;
}

.footer-grid p.footer-info-title {
  font-size: 1.1rem;
  border-bottom: 1px solid #B8B2EA;
  margin-bottom: 0.8rem;
}

footer small {
  font-size: 1rem;
  display: block;
  text-align: center;
  position: absolute;
  bottom: 1rem;
  left: 0;
  right: 0;
}

/* Page Top - 繝壹�繧ｸ繝医ャ繝� */
.page-top-container {
  position: relative;
  bottom: -6rem;
  z-index: 50;
}

.page-top-container a.page-top {
  position: fixed;
  right: 5rem;
  bottom: 3rem;
}

.page-top-container a.page-top img {
  width: 5rem;
  height: 5rem;
}

#sp-fixed-menu {
  position: fixed;
  width: 100%;
  bottom: 0px;
  font-size: 0;
  opacity: 0.9;
  z-index: 99;
}

/*メニューを横並びにする*/
#sp-fixed-menu ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}

#sp-fixed-menu li {
  justify-content: center;
  align-items: center;
  width: 50%;
  padding: 0;
  margin: 0;
  font-size: 14px;
  border-right: 1px solid #fff;
  font-weight: 600;
}

/*左側メニューを緑色に*/
#sp-fixed-menu li:first-child {
  background: #83BAD6;
}

/*左側メニューをオレンジ色に*/
#sp-fixed-menu li:last-child {
  background: #CC99FF;
}

/*ボタンを調整*/
#sp-fixed-menu li a {
  color: #fff;
  text-align: center;
  display: block;
  width: 100%;
  padding: 20px;
}

/* PCの場合は非表示 */
@media screen and (min-width:767px) {
  #sp-fixed-menu {
    display: none;
  }
}

.biz-hour {
  /* スマホのときだけ親要素いっぱいに */
  border-collapse: collapse;
  width: 95%;
  margin: 0 auto;
}

.biz-hour th,
.biz-hour td {
  padding: 8px;
  text-align: center;
  border: 1px solid #000;
  font-weight: 500;
  font-size: 12px;
}

/* 上段。backgroundを書き換えれば背景色が変わります。 */
.biz-hour th {
  font-weight: 600;
}

/* 土曜日の文字色 */
.biz-hour th.sat {
  color: #3db2da;
}

/* 日曜日の文字色 */
.biz-hour th.sun {
  color: #e66a6a;
}

.biz-hour .color1 {
  color: #000;
  font-size: 10px;
  font-family: 'TsukuBRdGothic-Regular', sans-serif;
  font-weight: 700;
}

.biz-hour .color {
  color: #CC99FF;
  font-size: 10px;
}

.biz-hour .color2 {
  color: #e66a6a;
  font-size: 15px;
  font-weight: 700;
}

@media screen and (min-width: 900px) {
  .timetable {
    width: 100%;
  }

  .timetable .ta {
    font-size: 15px;
  }

  .timetable .tal {
    text-align: left;
    font-size: 15px;
  }

  .biz-hour {
    border-collapse: collapse;
    width: 100%;
  }

  .biz-hour th,
  .biz-hour td {
    padding: 8px;
    text-align: center;
    /* 枠線。色を変えたい時は#ff6680というところをお好みで */
    border: 1px solid #000;
    font-weight: 500;
    font-size: 15px;
  }

  /* 上段。backgroundを書き換えれば背景色が変わります。 */
  .biz-hour th {
    font-weight: 600;
  }

  /* 土曜日の文字色 */
  .biz-hour th.sat {
    color: #3db2da;
  }

  /* 日曜日の文字色 */
  .biz-hour th.sun {
    color: #e66a6a;
  }

  .biz-hour .color1 {
    color: #000;
    font-size: 15px;
    font-family: 'TsukuBRdGothic-Regular', sans-serif;
    font-weight: 700;
  }

  .biz-hour .color {
    color: #CC99FF;
    font-size: 15px;
    font-weight: 700;
  }

  .biz-hour .color2 {
    color: #e66a6a;
    font-size: 15px;
    font-weight: 700;
  }
}