@charset "UTF-8";

/*
 Theme Name: BusinessPress Child
 Template: businesspress
*/
@media screen and (min-width: 540px) {}

@media screen and (min-width: 640px) {}

@media screen and (min-width: 782px) {}

@media screen and (min-width: 980px) {}

/* Base
------------------------------------------------------------ */
.content-area {
  margin-bottom: 0;
}

/* Jumbotron */
.jumbotron-content {
  padding-bottom: 4.0rem;
  padding-top: 4.0rem;
}

.jumbotron-title {
  text-shadow: none;
  letter-spacing: 2px;
  text-indent: 2px;
}

.subheader {
  font-weight: normal;
  letter-spacing: 2px;
  text-indent: 2px;
}

@media screen and (min-width: 782px) {
  .jumbotron-content {
    padding-bottom: 5.6rem;
    padding-top: 5.6rem;
  }
}

@media screen and (min-width: 980px) {
  .jumbotron-content {
    padding-bottom: 8.0rem;
    padding-top: 8.0rem;
  }
}


/* Header
------------------------------------------------------------ */
/* main-header */
.main-header {
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
  border-bottom: solid 1px rgba(238, 238, 238, 1);
}

.home .main-header {
  border-bottom: none;
}

@media screen and (min-width: 980px) {
  .main-header {
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }
}

/* .main-header-clone */
.main-header-clone {
  border-bottom: none;
}

/* site-branding */
@media screen and (min-width: 782px) {
  .site-branding {
    padding-right: 24px;
  }
}


/* 固定ページ
------------------------------------------------------------ */
.section {
  padding: 4.8rem 0;
}

@media screen and (min-width: 640px) {
  .section {
    padding: 6.4rem 0;
  }
}

@media screen and (min-width: 782px) {
  .section {
    padding: 8.0rem 0;
  }
}

/* section-title */
.section-title {
  margin-bottom: 4.8rem;
}

/* section-title01 */
.section-title01 {
  position: relative;
}

.section-title01::before {
  content: '';
  display: block;
  margin: 0 auto 4.0rem;
  width: calc(56px - 2px);
  height: calc(56px - 2px);
  background-image: url();
  background-size: 32px 32px;
  background-position: center center;
  background-repeat: no-repeat;
  border: solid 1px rgba(121, 189, 154, 1);
  border-radius: 50%;
}

.section-title01::after {
  content: '';
  position: absolute;
  display: inline-block;
  width: 1px;
  height: 24px;
  top: 56px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

/* section-title02 */
.section-title02 {}

.section-title02 h2 {
  display: inline-block;
  padding: 0 5.6rem;
}

.section-title02 h2::before,
.section-title02 h2::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 40px;
  height: 1px;
}

.section-title02 h2::before {
  left: 0;
}

.section-title02 h2::after {
  right: 0;
}

/* section-title03 */
.section-title03 {}

/* midashi01*/
.midashi01 {
  margin-bottom: 5.6rem;
}

.midashi01 h2 {
  line-height: 2;
  letter-spacing: 1px;
  text-indent: 1px;
}

.midashi01 h2 br {
  display: none;
}

@media screen and (min-width: 540px) {
  .midashi01 h2 br {
    display: block;
  }
}

/* TOPページ
------------------------------------------------------------ */
/* TOP メインビジュアル スライダー セクション
------------------------------------------------------------ */
.top-section-mainvisualslider {
  padding: 0;
}

.slider-mainvisual {
  padding-bottom: 4px;
  height: 400px;
}

.slider-mainvisual::after {
  position: absolute;
  content: '';
  display: inline-block;
  width: 100%;
  height: 4px;
  bottom: 0;
  left: 0;
}

.slider-mainvisual .swiper-slide {
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

.slider-mainvisual .swiper-slide03 {
  background-position: 50% 100%;
}

.slider-mainvisual .swiper-pagination-bullets {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  gap: 6px;
  bottom: auto;
  top: 50%;
  left: 5%;
  -ms-transform: translate(0%, -50%);
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  width: fit-content;
  height: fit-content;
}

.slider-mainvisual .swiper-pagination-bullet {
  margin: 0 !important;
}

.slider-mainvisual .swiper-text {
  margin: 0;
  padding: 0;
  bottom: 4%;
  right: 0;
  -ms-transform: translate(0%, -4%);
  -webkit-transform: translate(0%, -4%);
  transform: translate(0%, -4%);
  z-index: 4;
  text-align: right;
}

.slider-mainvisual .swiper-text h2 {
  padding: 1.2rem;
  letter-spacing: 3px;
  font-weight: lighter;
  line-height: 1.8;
  width: max-content;
}

@media screen and (min-width: 782px) {
  .slider-mainvisual {
    padding-left: 10%;
    height: 480px;
  }

  .slider-mainvisual .swiper-pagination-bullets {
    left: calc(5% - 6px);
  }

  .slider-mainvisual .swiper-text {
    bottom: 6%;
    right: auto;
    left: 9%;
    -ms-transform: translate(-9%, -6%);
    -webkit-transform: translate(-9%, -6%);
    transform: translate(-9%, -6%);
    text-align: left;
  }

  .slider-mainvisual .swiper-text h2 {
    padding: 2.4rem;
  }
}

@media screen and (min-width: 980px) {
  .slider-mainvisual {
    height: 560px;
  }

  .slider-mainvisual .swiper-text h2 {
    padding: 3.2rem;
  }
}

/* TOP  コロナセクション
------------------------------------------------------------ */
.top-section-covid19 {
  padding: 2.4rem 0;
}

/* TOP  お知らせセクション
------------------------------------------------------------ */
.top-section-news ul {
  margin: 0 auto;
  list-style: none;
}

.top-section-news ul li {
  margin-bottom: 1.6rem;
  padding-bottom: 1.2rem;
  border-bottom: solid 1px rgba(238, 238, 238, 1);
}

.top-section-news ul li:last-of-type {
  margin-bottom: 0;
}

.top-section-news ul .cat-links {
  margin: 0 0 0.4rem 0.4rem;
  display: inline-block;
}

.top-section-news ul .cat-links a {
  padding: 0 0.4rem;
  display: inline-block;
  min-width: calc(72px - 10px);
  /* 左右のpadding + 左右のborder */
  text-align: center;
  border: solid 1px rgba(238, 238, 238, 1);
}

@media screen and (min-width: 640px) {
  .top-section-news ul .cat-links {
    margin: 0 0.4rem 0 0.4rem;
  }

  .top-section-news ul .entry-title {
    display: inline-block;
  }
}


/* TOP  施術内容セクション
------------------------------------------------------------ */
.flex-menulist {
  margin-bottom: 4px;
  padding: 5% 3%;
  padding-right: calc(24px + 4px);
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  gap: 2.0rem;
  text-decoration: none;
}

.flex-menulist::after {
  display: none;
  /*position: absolute;
  content: '\0bb';
  right: 0;
  bottom: 0;
  width: 24px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  transition: all .15s ease-in-out;*/
}

.flex-menulist .menulist-item {
  -webkit-flex-basis: 64px;
  flex-basis: 64px;
}

.flex-menulist .menulist-item:last-child {
  -webkit-flex-grow: 1;
  flex-grow: 1;
}

.flex-menulist .aspect-group {
  margin: 0 auto;
}

.flex-menulist .aspect-bgimage {
  padding-top: 100%;
  border-radius: 50%;
}

.flex-menulist .aspect-bgimage::after {
  position: absolute;
  content: '';
  margin: 0;
  padding: 0;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  border-radius: 50%;
  transition: all .15s ease-in-out;
  z-index: 4;
}

.flex-menulist p {
  line-height: 1.4;
}

@media screen and (min-width: 540px) {
  .flex-menulist .menulist-item {
    -webkit-flex-basis: 72px;
    flex-basis: 72px;
  }
}

@media screen and (min-width: 640px) {
  .flex-menulist {
    padding: 3%;
    padding-right: calc(28px + 4px);
  }

  .flex-menulist::after {
    width: 28px;
    height: 28px;
    line-height: 28px;
  }
}

@media screen and (min-width: 782px) {
  .flex-menulist {
    padding: 6% 3%;
    padding-right: calc(28px + 4px);
  }
}

@media screen and (min-width: 980px) {
  .flex-topmenu .flex-item {
    -webkit-flex-basis: 40%;
    flex-basis: 40%;
  }

  .flex-topmenu .flex-item:first-child {
    -webkit-flex-grow: 1;
    flex-grow: 1;
  }

  .flex-menulist .menulist-item {
    -webkit-flex-basis: 80px;
    flex-basis: 80px;
  }
}

/* TOP  医院紹介セクション
------------------------------------------------------------ */
.top-section-about .text-group {
  margin: 2.4rem auto 0;
  max-width: 800px;
}

@media screen and (min-width: 640px) {
  .top-section-about .aspect-bgimage {
    padding-top: 50%;
    /* 2:1 */
  }
}

/* 固定 医院紹介ページ
------------------------------------------------------------ */
/* 皆様へご挨拶セクション ----------*/
.page-section-about01 .text-group {
  margin: 2.4rem auto 0;
  max-width: 800px;
}

@media screen and (min-width: 640px) {
  .page-section-about01 .aspect-bgimage {
    padding-top: 50%;
    /* 2:1 */
  }
}

/* 当院の特徴セクション ----------*/
.flex-feature {
  margin: 0 auto;
  -webkit-align-items: center;
  align-items: center;
  max-width: 85%;
}

.page-section-about02 .section-container .flex-feature {
  margin-bottom: 4.8rem;
  counter-increment: number;
}

.page-section-about02 .section-container .flex-feature:last-child {
  margin-bottom: 0;
}

.flex-feature::after {
  margin: 0;
  padding: 0;
  position: absolute;
  display: inline-block;
  content: counter(number);
  top: -20px;
  left: 50%;
  -ms-transform: translate(-50%, 0%);
  -webkit-transform: translate(-50%, 0%);
  transform: translate(-50%, 0%);
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
  z-index: 2;
}

.flex-feature .text-group {
  padding: 0 2.4rem 2.4rem;
}

@media screen and (min-width: 540px) {
  .flex-feature .aspect-bgimage {
    padding-top: 56.25%;
  }
}

@media screen and (min-width: 782px) {
  .flex-feature {
    max-width: 100%;
  }

  .flex-feature::after {
    top: 50%;
    left: -20px;
    -ms-transform: translate(0%, -50%);
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }

  .flex-feature .flex-item {
    -webkit-flex-basis: 30%;
    flex-basis: 30%;
  }

  .flex-feature .flex-item:last-child {
    -webkit-flex-grow: 1;
    flex-grow: 1;
  }

  .flex-feature .aspect-bgimage {
    padding-top: 100%;
  }

  .flex-feature .text-group {
    padding: 0 3.2rem 0 0;
  }
}

@media screen and (min-width: 980px) {
  .flex-feature::after {
    left: -24px;
    width: 48px;
    height: 48px;
    line-height: 48px;
  }

  .flex-feature .text-group {
    padding: 0 4.0rem 0 0;
  }
}

/* 院内の様子セクション ----------*/
.slider-gallery {
  padding-bottom: 1.6rem;
}

.slider-gallery .image-caption {
  padding: 0 0.8rem;
}

.slider-gallery .swiper-pagination {
  position: relative;
  bottom: -16px;
  line-height: 1;
}

.slider-gallery .swiper-pagination-bullet {
  width: 1.0rem;
  height: 1.0rem;
}


/* 固定 スタッフ紹介ページ
------------------------------------------------------------ */
.page-section-staff .aspect-group {
  margin: 0 auto 1.6rem;
}

.page-section-staff .aspect-bgimage {
  padding-top: 100%;
}

.text-groupname {
  margin-bottom: 2.4rem;
}

table.table-staff caption {
  padding: 0.6rem 1.0rem;
  caption-side: top;
  display: inline-block;
  line-height: 1;
  border: solid 1px rgba(238, 238, 238, 1);
}

table.table-staff th,
table.table-staff td {
  padding: 0;
  border: none;
}

table.table-staff th {
  padding-top: 0.8rem;
  vertical-align: top;
  font-weight: normal;
}

table.table-staff tr:last-child td {
  border-bottom: none;
}

@media screen and (min-width: 640px) {

  table.table-staff th,
  table.table-staff td {
    padding: 0.8rem 0 0;
  }

  table.table-staff th {
    width: 72px;
  }
}

/* 院長セクション ----------*/
.page-section-staff01 .aspect-group {
  max-width: 240px;
}

.page-section-staff01 .aspect-bgimage {
  background-position: 25% 50%;
  /* 使用する写真でX軸Y軸の%を変更してください。 */
}

@media screen and (min-width: 540px) {
  .page-section-staff01 .aspect-group {
    max-width: 320px;
  }
}

@media screen and (min-width: 782px) {
  .page-section-staff01 .aspect-group {
    max-width: 400px;
  }
}

@media screen and (min-width: 980px) {
  .page-section-staff01 .aspect-group {
    max-width: 480px;
  }
}

/* スタッフセクション ----------*/
.flex-staff {
  gap: 4.8rem;
}

.page-section-staff02 .aspect-group {
  max-width: 240px;
}

.flex-staff .flex-item:last-child .aspect-bgimage {
  background-position: 25% 50%;
  /* 使用する写真でX軸Y軸の%を変更してください。 */
}

.flex-staff .text-groupname {
  margin-bottom: 1.6rem;
}

@media screen and (min-width: 540px) {
  .page-section-staff02 .aspect-group {
    max-width: 320px;
  }
}

@media screen and (min-width: 782px) {
  .flex-staff {
    gap: 3.2rem;
  }
}

@media screen and (min-width: 980px) {
  .flex-staff {
    gap: 4.0rem;
  }
}


/* 固定 施術内容ページ
------------------------------------------------------------ */
.flex-menusummary a {
  display: block;
  text-decoration: none;
  pointer-events: none;
}

.flex-menusummary a::after {
  display: none;
  /*position: absolute;
  content: '\0bb';
  right: 0;
  bottom: 0;
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  transition: all .15s ease-in-out;*/
}

.flex-menusummary .aspect-bgimage::after {
  position: absolute;
  content: '';
  margin: 0;
  padding: 0;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  transition: all .15s ease-in-out;
  z-index: 4;
}

.flex-menusummary .text-group {
  padding: 2.4rem 3.2rem 3.2rem;
}

.flex-menusummary p {
  list-style: 1.4;
}

@media screen and (min-width: 640px) {
  .flex-menusummary .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
  }
}

@media screen and (min-width: 782px) {
  .flex-menusummary {
    gap: 3.2rem;
  }

  .flex-menusummary .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(32px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(32px / 4) * 2));
  }
}

@media screen and (min-width: 980px) {
  .flex-menusummary {
    gap: 4.0rem;
  }

  .flex-menusummary .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(40px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(40px / 4) * 2));
  }
}


/* 固定 施術内容個別ページ
------------------------------------------------------------ */
/* イントロセクション ----------*/
.section-menuchild01 .text-group {
  margin: 2.4rem auto 0;
  max-width: 800px;
}

@media screen and (min-width: 640px) {
  .section-menuchild01 .aspect-bgimage {
    padding-top: 50%;
    /* 2:1 */
  }
}

/* 治療の特徴セクション ----------*/
.section-menuchild02 .section-container .flex-feature {
  margin-bottom: 4.8rem;
  counter-increment: number;
}

.section-menuchild02 .section-container .flex-feature:last-child {
  margin-bottom: 0;
}

/* 料金セクション ----------*/
table.table-price caption {
  padding-top: 0.4rem;
  caption-side: bottom;
  text-align: left;
  line-height: 1.5;
}

table.table-price th,
table.table-price td {
  display: table-cell;
}

table.table-price th {
  width: 25%;
  text-align: center;
}

/* 関連メニューセクション ----------*/
/* 全体のflex */
.flex-relatedmenu {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.flex-relatedmenu .flex-item {
  margin: 0 auto;
  max-width: 90%;
}

@media screen and (min-width: 540px) {
  .flex-relatedmenu .flex-item {
    margin: 0;
    max-width: 100%;
  }
}

@media screen and (min-width: 782px) {
  .flex-relatedmenu {
    gap: 2.4rem 3.2rem;
  }

  .flex-relatedmenu .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(32px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(32px / 4) * 2));
  }
}

@media screen and (min-width: 980px) {
  .flex-relatedmenu {
    gap: 3.2rem 4.0rem;
  }

  .flex-relatedmenu .flex-item {
    -webkit-flex-basis: calc(calc(100% / 3) - calc(calc(40px / 6) * 4));
    flex-basis: calc(calc(100% / 3) - calc(calc(40px / 6) * 4));
  }
}

/* 個別のflex */
a.flex-relatedmenuchild {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  text-decoration: none;
}

a.flex-relatedmenuchild::after {
  position: absolute;
  content: '\0bb';
  top: 50%;
  right: 12px;
  -ms-transform: translate(0%, -50%);
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  line-height: 1;
  text-align: center;
  transition: all .15s ease-in-out;
}

a.flex-relatedmenuchild .relatedmenuchild-item {
  -webkit-flex-basis: 80px;
  flex-basis: 80px;
}

a.flex-relatedmenuchild .relatedmenuchild-item:last-child {
  padding: 0 3.2rem 0 1.6rem;
  -webkit-flex-grow: 1;
  flex-grow: 1;
}

a.flex-relatedmenuchild .aspect-bgimage {
  padding-top: 100%;
}

a.flex-relatedmenuchild .aspect-bgimage::before {
  position: absolute;
  content: '';
  margin: 0;
  padding: 0;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  transition: all .15s ease-in-out;
  z-index: 4;
}

a.flex-relatedmenuchild p {
  line-height: 1.4;
}


/* 固定 お問合せページ
------------------------------------------------------------ */
.wpcf7 .required,
.wpcf7 .optional {
  margin: 0 0.4rem 0.4rem 0;
  font-size: 90%;
  line-height: 1;
}

.form-p label {
  font-weight: bold;
}

.wpcf7 .form-p br {
  display: none;
}

/* ココナラデモ用 */
.page-section-contact .text-group {
  margin: 0;
  padding: 0;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  z-index: 3;
}

.page-section-contact .text-group p {
  font-size: 250%;
  font-weight: 100;
  line-height: 2;
}

.page-section-contact .overlay {
  background: rgba(221, 221, 221, 0.3);
  /* #DDDDDD */
  background: radial-gradient(circle, rgba(255, 255, 255, 0.7) 0%, rgba(221, 221, 221, 0.3) 100%);
}


/* 固定 プライバシーポリシー、免責事項ページ
------------------------------------------------------------ */
.page-section-policy .section-container h3,
.page-section-disclaimer .section-container h3 {
  margin-top: 5.6rem;
  margin-bottom: 0.4rem;
}

.page-section-policy .section-container p,
.page-section-policy .section-container ul,
.page-section-disclaimer .section-container p,
.page-section-disclaimer .section-container ul {
  margin-bottom: 1.6rem
}

.page-section-policy .section-container p.margin-bottom0,
.page-section-disclaimer .section-container p.margin-bottom0 {
  margin-bottom: 0;
}


/* 固定 サイトマップページ
------------------------------------------------------------ */
.flex-sitemap {
  gap: 1.6rem;
}

.flex-sitemap .flex-item a {
  padding: 1.2rem;
  display: block;
  position: relative;
  text-decoration: none;
  border: solid 1px rgba(221, 221, 221, 1);
}

.flex-sitemap .flex-item a::after {
  position: absolute;
  margin: 0;
  padding: 0;
  top: 50%;
  right: 12px;
  -ms-transform: translate(-12px, -50%);
  -webkit-transform: translate(-12px, -50%);
  transform: translate(-12px, -50%);
  font-family: FontAwesome;
  content: '\f178';
}

@media screen and (min-width: 640px) {
  .flex-sitemap {
    gap: 2.4rem;
  }

  .flex-sitemap .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
  }
}


/* 固定 新型コロナウイルス感染症に関する対応についてページ
------------------------------------------------------------ */
.page-section-covid19 h3 {
  margin-bottom: 0.8rem;
}

.page-section-covid19 h3.customer {
  margin-top: 4.0rem;
}

.flex-covid19 {
  margin-bottom: 4.0rem;
  gap: 1.6rem;
}

.flex-covid19 .inner-covid19 {
  padding: 1.6rem 0.8rem 0.8rem;
  border: solid 1px rgba(221, 221, 221, 1);
}

.flex-covid19 figure {
  margin: 0 auto 0.8rem;
  max-width: 64px;
}

@media screen and (min-width: 640px) {
  .flex-covid19 {
    gap: 2.4rem;
  }

  .flex-covid19 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
  }
}

/* 投稿ページ
------------------------------------------------------------ */
@media screen and (min-width: 540px) {
  .single .post-thumbnail {
    margin-left: auto;
    margin-right: auto;
  }
}

#comments {
  display: none;
}


/* アーカイブページ
------------------------------------------------------------ */


/* Footer
------------------------------------------------------------ */
/* widget */

/* 医院紹介 */
.footer-widget-1 figure {
  margin-bottom: 1.6rem;
  max-width: 160px;
}

.footer-widget-1 .widget li {
  margin-bottom: 0;
}

.footer-widget-1 .custom-html-widget a {
  text-decoration: none;
}

/* site-bottom */
.site-bottom { 
  border-top: none;
}
.site-bottom .current-menu-item>a {
  text-decoration: underline;
}

@media screen and (min-width: 782px) {

  .header-social-link,
  .footer-navigation {
    float: none;
  }

  .site-info {
    float: none;
    clear: both;
    text-align: center;
  }
}

/* back-to-top */
.back-to-top {
  right: 0;
  bottom: 0;
  border-radius: 0;
}


/* 全ページ共通のお問合せセクション
------------------------------------------------------------ */
/* お問合せセクション ----------*/
@media screen and (min-width: 782px) {
  .flex-contact .flex-item {
    -webkit-flex-basis: 100%;
    flex-basis: 100%;
  }
}

@media screen and (min-width: 980px) {
  .flex-contact .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(40px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(40px / 4) * 2));
  }
}

/* ロゴ画像 */
.flex-contact figure {
  margin: 0 auto 3.2rem;
  max-width: 240px;
}

/* 電話番号 */
.flex-contact .phone-group {
  margin-bottom: 3.2rem;
}

.flex-contact .phone-group a {
  padding-left: calc(48px + 12px);
  position: relative;
  text-decoration: none;
  letter-spacing: 4px;
  text-indent: 4px;
  line-height: 1;
}

.flex-contact .phone-group a::before {
  position: absolute;
  font-family: 'Material Icons Outlined';
  content: '\e0b0';
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  line-height: 48px;
  text-align: center;
  border-radius: 50%;
  transition: all .15s ease-in-out;
}

/* 受付時間・休診日・住所などのテキスト */
table.table-summary th,
table.table-summary td {
  padding: 1.2rem 0 0.4rem;
  display: table-cell;
  border: none;
  border-bottom: solid 1px rgba(238, 238, 238, 1);
}

table.table-summary th {
  vertical-align: top;
  width: 64px;
}

table.table-summary tr:first-child th,
table.table-summary tr:first-child td {
  padding-top: 0;
}

@media screen and (min-width: 540px) {
  table.table-summary th {
    width: 72px;
  }
}

@media screen and (min-width: 980px) {
  table.table-summary th {
    width: 80px;
  }
}

/* 受付時間・休診日のテーブル */
table.table-week {
  table-layout: fixed;
}

table.table-week th,
table.table-week td {
  padding: 1.2rem 0;
  display: table-cell;
  width: calc(100% / 8);
  text-align: center;
  line-height: 1.5;
  border-left: none;
  border-right: none;
}

table.table-week tr:last-child th {
  border-bottom: solid 1px rgba(238, 238, 238, 1);
}

@media screen and (min-width: 980px) {

  table.table-week th,
  table.table-week td {
    padding: 1.6rem 0;
  }
}


/* Google Map */
@media screen and (min-width: 640px) {
  .flex-contact .embed-container {
    padding-top: 50%;
  }
}

@media screen and (min-width: 980px) {
  .flex-contact .embed-container {
    padding-top: 100%;
  }
}

/* SNSセクション
------------------------------------------------------------ */
.section-sns {
  padding-top: 0;
}

.section-sns ul {
  margin: 0 auto;
  list-style: none;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  justify-content: center;
  gap: 1.6rem;
}

.section-sns ul li a {
  display: inline-block;
  width: 40px;
  height: 40px;
}

.section-sns ul li a .fab {
  line-height: 40px;
}


/* 背景画像セクション
------------------------------------------------------------ */
.section-bgimage {
  padding: 0;
}

.section-bgimage .aspect-bgimage {
  padding-top: 40%;
  background-position: 50% 90%;
  /* 使用する写真でX軸Y軸の%を変更してください。 */
}

@media screen and (min-width: 640px) {
  .section-bgimage .aspect-bgimage {
    padding-top: 30%;
  }
}
