@charset "UTF-8";
/* ===================================
下層ページ共通
=================================== */
/* ページ全体設定
==============================　*/
.page p {
  /*     line-height: 2.16;
 */
}

.page-inner {
  /*  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px; */
}

@media screen and (max-width: 600px) {
  .page p {
    font-size: 16px;
  }
}

/* 採用ページ用
------------------------------------------*/
.p-recruit-tab {
  position: relative;
}

.p-recruit-tab__nav {
  display: flex;
  width: 100%;
  margin: 0 auto;
  overflow-x: auto;
  max-width: 1140px;
}

.p-recruit-tab__item {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #fff;
  background-color: #9FA5AF;
  height: 50px;
  border-radius: 10px 10px 0 0;
  width: 100%;
  flex-shrink: 1;
  cursor: pointer;
}

.p-recruit-tab__item.-active {
  background-color: #34373B;
}

.p-recruit-tab-item {
  display: none;
  margin-top: 100px;
}

.p-recruit-tab-item.-active {
  display: block;
}

.p-recruit-tab-item h3 {
  position: relative;
  font-size: 24px;
  color: #fff;
  background: linear-gradient(to right, #5C677B 0%, #2D3646 100%);
  padding: 12px 36px;
  font-weight: 700;
}

.p-recruit-tab__scroll {
  display: none;
}

.p-recruit-nav-mv {
  position: relative;
}
.p-recruit-nav-mv__gb-img {
}
.p-recruit-nav-mv__content {
  position: absolute;
  top: 50%;
  right: 7%;
  width: 55%;
  transform: translate(0, -50%);
}

.p-recruit-nav-mv__content h2 {
  /* font-size: 148px; */
  font-size: 7vw;
  color: rgba(0,0,0,0.3);
  font-family: "Hind Siliguri";
}

.p-recruit-nav-mv__content p {
  /* font-size: 40px; */
  font-size:2vw;
  color: rgba(0,0,0,0.3);
}

.p-recruit-nav-tab {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
}
.p-recruit-nav-tab__nav {
  margin-top: -12%;
  margin-left: auto;
  width: 100%;
  max-width: 730px;
}
.p-recruit-nav-tab__item {
  padding: 30px 24px 30px 80px;
  border-top: solid 1px #707070;
  position: relative;
  background-color: #fff;
  cursor: pointer;
}
.p-recruit-nav-tab__item.-active {
  background-color: #e9e9e9;
}
.p-recruit-nav-tab__item:last-child {
  border-bottom: solid 1px #707070;
}
.p-recruit-nav-tab__label {
  font-size: 31px;
  color: #9C9EA2;
  font-family: "Hind Siliguri";
}
.p-recruit-nav-tab__sub-label {
  font-size: 20px;
  color: rgba(0,0,0,0.3);
}

.p-recruit-nav-tab__arrow {
  position: absolute;
  top: 50%;
  right: 40px;
  transform: translate(0, -50%);
  border-radius: 50%;
  background-color: #D9DFE7;
  width: 60px;
  height: 60px;
}
.p-recruit-nav-tab__arrow::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 1px;
  background-color: #707070;
}
.p-recruit-nav-tab__arrow::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: solid 1px #707070;
  border-right: solid 1px #707070;
}


.p-recruit-tab-item .content-label {
  width: 100%;
  max-width: 1000px;
  position: relative;
  margin: 0 auto;
}

.p-recruit-tab-item .content-label__bg {
  display: block;
}


.content-label__text-area {
  top: 50%;
  left: 100px;
  transform: translate(0, -50%);
  position: absolute;
}

.p-recruit-tab-item .content-label__text {
  font-size: 50px;
  color: #9C9EA2;

}

.content-label__sub-text {
  font-size: 30px;
  color: #9C9EA2;
}

@media screen and (max-width: 1200px) {
  .p-recruit-nav-tab__nav {
    margin-top: 0;
    margin-right: auto;
  }
}

@media screen and (max-width: 1024px) {
  .p-recruit-tab__item {
      min-width: 160px;
      font-size: 14px;
      border-radius: 6px 6px 0 0;
  }

  .p-recruit-tab__scroll {
    position: absolute;
    top: -40px;
    right: 0;
    display: block;
  }

  .p-recruit-tab__scroll::before {
    content: '';
    position: absolute;
    width: 100%;
    bottom: -5px;
    left: 0;
    height: 1px;
    background-color: #000;
  }
  .p-recruit-tab__scroll::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    border-top: solid #000 1px;
    border-right: solid #000 1px;
    bottom: -10px;
    right: 0;
    transform: rotate(45deg);
  }
  .p-recruit-nav-tab__item {
    padding: 22px 24px 22px 80px;
   }

   .p-recruit-nav-tab__sub-label {
    font-size: 18px;
   }
   .p-recruit-nav-tab__label {
    font-size: 26px;
   }
}


@media screen and (max-width: 780px) {
  .p-recruit-nav-mv__content {
    top: 150px;
    width: 85%;
  }

  .p-recruit-nav-mv__content h2 {
     font-size: 46px;
  }

  .p-recruit-nav-mv__content p {
    font-size: 20px;
 }

 .p-recruit-tab-item {
    margin-top: 64px;
 }

 .content-label__sub-text {
  font-size: 15px;
 }

 .p-recruit-tab-item .content-label__text {
  font-size: 27px;
 }

 .p-recruit-tab-item .content-label__text-area {
    left: 40px;
 }

 .p-recruit-nav-tab__label {
    font-size: 19px;
 }

 .p-recruit-nav-tab__sub-label {
  font-size: 15px;
 }

 .p-recruit-nav-tab__arrow {
  width: 40px;
  height: 40px;
 }

 .p-recruit-nav-tab__item {
  padding: 20px 24px 20px 48px;
 }

 .p-recruit-nav-tab {
  padding: 10px 24px;
 }

 .p-recruit-nav-tab__arrow::after {
    left: 58%;
    width: 6px;
    height: 6px;
  }
 .p-recruit-nav-tab__arrow::before {
    width: 12px;
  }
}

/* ページリンク
==============================　*/
.page-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 -20px 80px;
}

.page-link li {
  min-width: 25%;
  margin-bottom: 20px;
  padding: 0 20px;
}

.page-link li:last-child {
  margin-bottom: 0;
}

.page-link a {
  border: 1px solid #444444;
  padding: 15px 10px;
  display: block;
  text-align: center;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.page-link a:hover {
  color: #fff;
  background-color: #444;
}

.page-link a.inlink {
  position: relative;
}

.page-link a.inlink:before {
  content: "";
  display: block;
  position: absolute;
  top: 18px;
  right: 20px;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  width: 8px;
  height: 8px;
  border-top: 2px solid #444;
  border-left: 2px solid #444;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.page-link a.inlink:hover:before {
  border-color: #fff;
}

@media screen and (max-width: 1024px) {
  .page-link li {
    width: 50%;
  }
}

@media screen and (max-width: 600px) {
  .page-link li {
    width: 100%;
  }
}

/* ボタンデフォルト
==============================　*/
.btn-default a {
  border: 1px solid #444444;
  padding: 15px 10px;
  display: block;
  background: #fff;
  color: #444;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.1em;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  line-height: 1.4;
}

.btn-default a:hover {
  color: #fff;
  background-color: #444;
}

.btn-default button,
.btn-default input[type="submit"],
.btn-default input[type="button"] {
  border: 1px solid #444444;
  padding: 15px 10px;
  display: block;
  background: #fff;
  color: #444;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.1em;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.btn-default button:hover,
.btn-default input[type="submit"]:hover,
.btn-default input[type="button"]:hover {
  color: #fff;
  background-color: #444;
}

.btn-default--re a {
  color: #fff;
  background-color: #444;
}

.btn-default--re a:hover {
  background: #fff;
  color: #444;
}

.btn-default--re button,
.btn-default--re input[type="submit"] {
  color: #fff;
  background-color: #444;
}

.btn-default--re button:hover,
.btn-default--re input[type="submit"]:hover {
  background: #fff;
  color: #444;
}

.btn-tel a {
  max-width: 335px;
  margin: 0 auto;
  position: relative;
  border: 1px solid #444444;
  padding: 15px 10px;
  display: block;
  background: #fff;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.1em;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.btn-tel a:before {
  content: "";
  display: inline-block;
  background: url(../img/common/ico-tel.png) center center no-repeat;
  background-size: contain;
  width: 17px;
  height: 24px;
  position: absolute;
  left: 87px;
  top: 13px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.btn-tel a:hover {
  background: #444;
  color: #fff;
}

.btn-tel a:hover:before {
  background: url(../img/common/ico-tel-w.png) center center no-repeat;
  background-size: contain;
}

.btn-dl a {
  max-width: 335px;
  margin: 0 auto;
  position: relative;
  border: 1px solid #444444;
  padding: 15px 10px;
  display: block;
  background: #fff;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.1em;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.btn-dl a:before {
  content: "";
  display: inline-block;
  background: url(../img/common/ico-dl.png) center center no-repeat;
  background-size: contain;
  width: 17px;
  height: 24px;
  position: absolute;
  left: 87px;
  top: 13px;
}

.btn-dl a:hover {
  background: #444;
  color: #fff;
}

.btn-dl a:hover:before {
  background: url(../img/common/ico-dl-w.png) center center no-repeat;
  background-size: contain;
}

.btn-ig a {
  max-width: 335px;
  margin: 0 auto;
  position: relative;
  border: 1px solid #444444;
  padding: 15px 10px;
  display: block;
  background: #fff;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.1em;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.btn-ig a:before {
  content: "";
  display: inline-block;
  background: url(../img/common/ico-ig.png) center center no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 77px;
  top: 14px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.btn-ig a:hover {
  background: #444;
  color: #fff;
}

.btn-ig a:hover:before {
  background: url(../img/common/ico-ig-w.png) center center no-repeat;
  background-size: contain;
}

@media screen and (max-width: 374px) {
  .btn-ig a::before {
    left: calc(50% - 90px);
  }
}

@media screen and (max-width: 600px) {
  .btn-default a {
    max-width: 335px;
    margin-right: auto;
    margin-left: auto;
  }
}

/* トップテキスト
==============================　*/
.top-ttl {
  text-align: center;
  font-size: 16px;
  margin-bottom: 20px;
}

.top-txt {
  margin-bottom: 80px;
  text-align: center;
  line-height: 2.16;
}

@media screen and (max-width: 768px) {
  .top-ttl {
    font-size: 14px;
  }
  .top-txt {
    margin-bottom: 40px;
    text-align: left;
  }
}

/* 中間に挿入するテキスト
==============================　*/
.middle-ttl {
  margin-bottom: 30px;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}

.middle-txt {
  margin-bottom: 50px;
  text-align: center;
  line-height: 2.16;
}

@media screen and (max-width: 768px) {
  .middle-ttl {
    font-size: 18px;
  }
  .middle-txt {
    margin-bottom: 40px;
    text-align: left;
  }
}

/* point
==============================　*/
.sec-point .sec_inner {
  max-width: 1140px;
}

.gray-list {
  margin-bottom: 2em;
  line-height: 2.16;
}

.gray-list li {
  position: relative;
  /*基準位置*/
  padding-left: 1em;
}

.gray-list li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0.1em;
  top: 1em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #fff;
}

.point-box {
  margin-bottom: 100px;
}

.point-box:last-child {
  margin-bottom: 0;
}

.point-box .ttl {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 12px;
  letter-spacing: 0.1em;
}

.point-box .ttl span {
  display: block;
}

.point-box .ttl .sub {
  margin-bottom: 5px;
  font-size: 14px;
}

.point-box .ttl .main {
  font-size: 16px;
  font-weight: bold;
}

.point-box .ttl:after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  width: 100%;
  height: 2px;
  background: url(../img/common/line.png) center center no-repeat;
  background-size: cover;
}

.point-box .point-img {
  max-width: 600px;
  /*     border: 1px solid #eee;
 */
}

.point-box .point-img img {
  display: block;
}

.point-box .txt {
  padding: 40px 40px;
  max-width: 650px;
  background: rgba(234, 234, 237, 0.9);
  margin-top: -200px;
  margin-left: auto;
  margin-right: 40px;
  position: relative;
}

.point-box p {
  line-height: 2.16;
}

.point-box .ttl--sp {
  display: none;
}

.point-box .ttl--pc {
  display: block;
}

.point-box .contact-area {
  margin-top: 30px;
}

.point-box .contact-area .inner {
  margin-bottom: 20px;
}

.point-box .contact-area .inner:last-child {
  margin-bottom: 0;
}

.point-box .btn-default {
  max-width: 335px;
  margin: 0 auto;
}

.point-box .btn-default,
.point-box .btn-tel {
  line-height: 1.4;
}

.point-box .sup-txt {
  margin-bottom: 5px;
  font-size: 10px;
  text-align: center;
}

.point-box:nth-of-type(even) .point-img {
  margin-left: auto;
  margin-top: -200px;
}

.point-box:nth-of-type(even) .txt {
  margin-right: auto;
  margin-left: 40px;
  position: relative;
  margin-top: 0;
}

@media screen and (max-width: 1024px) {
  .sec-point .sec_inner {
    max-width: 840px;
  }
  .point-box {
    margin-bottom: 60px;
  }
  .point-box .ttl {
    margin-bottom: 30px;
    padding-bottom: 12px;
  }
  .point-box .ttl .sub {
    font-size: 12px;
  }
  .point-box .ttl .main {
    font-size: 14px;
  }
  .point-box .txt {
    max-width: 100%;
    padding: 0;
    margin: 0;
    background: transparent;
  }
  .point-box .point-img {
    max-width: 100%;
    margin-bottom: 25px;
  }
  .point-box .point-img img {
    display: block;
  }
  .point-box .ttl--sp {
    display: block;
  }
  .point-box .ttl--pc {
    display: none;
  }
  .gray-list li:before {
    background: #ddd;
  }
  .point-box:nth-of-type(even) .point-img {
    margin-left: 0;
    margin-top: 0;
  }
  .point-box:nth-of-type(even) .txt {
    margin: 0;
  }
}

@media screen and (max-width: 768px) {
  .point-box .point-img {
    max-width: 60%;
    margin-right: auto;
    margin-left: auto;
  }
  .point-box:nth-of-type(even) .point-img {
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width: 600px) {
  .gray-list li {
    font-size: 16px;
  }
  .point-box .contact-area {
    margin-top: 60px;
  }
  .point-box .contact-area .inner {
    margin-bottom: 30px;
  }
  .point-box .point-img {
    max-width: 100%;
  }
}

/* クリニック情報リスト
==============================　*/
.cli {
  margin-bottom: 100px;
}

.cli:last-child {
  margin-bottom: 0;
}

.cli_ttl {
  margin-bottom: 10px;
}

.cli_ttl img {
  display: block;
  max-width: 280px;
  margin-bottom: 10px;
}

.cli_ttl span {
  display: block;
  font-size: 14px;
}

.cli-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 30px;
}

.cli-flex .item.img {
  width: 50%;
  margin-right: 30px;
}

.cli-flex .item.txt {
  width: calc(50% - 30px);
}

.cli_img img {
  display: block;
}

/*
** クリニック情報テーブル
*/
.cli-list > .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 20px 0;
  border-bottom: 1px solid #dddddd;
  line-height: 2.16;
}

.cli-list .ttl {
  font-size: 14px;
  font-weight: bold;
  margin-right: 30px;
  width: 200px;
}

.cli-list .txt {
  width: calc(100% - 230px);
}

.cli-list .inner.dr .dr-pr_img {
  margin-bottom: 15px;
}

.cli-list .inner.dr .txt {
  text-align: center;
}

.cli-list .inner.dr .posi {
  margin-bottom: 15px;
  font-size: 16px;
  line-height: 1.66666;
}

.cli-list .inner.dr .name {
  margin-bottom: 15px;
  font-size: 14px;
  font-weight: bold;
}

.cli-list .inner.contact .co_info {
  margin-top: 30px;
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.66666;
}

.cli-subttl {
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: bold;
}

.cli-subttl--sp {
  display: none;
}

.cli-subttl--pc {
  display: block;
}

.btn-default.access {
  max-width: 300px;
  margin: 30px auto 60px;
}

/*
** 代表
*/
.gray-wrap {
  background-color: #fafafa;
  padding: 60px;
}

.dr-area {
  margin-bottom: 60px;
}

.dr-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
}

.dr-flex > .item.dr-img {
  width: calc(50% - 60px);
  margin-right: 60px;
}

.dr-flex > .item.dr-img img {
  display: block;
}

.dr-flex > .item.content {
  width: 50%;
}

.dr-flex .posi {
  font-size: 14px;
  margin-bottom: 20px;
  line-height: 1.8;
}

.dr-flex .name {
  margin-bottom: 30px;
  font-size: 22px;
  font-weight: bold;
}

.dr-flex .sns-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 60px;
}

.dr-flex .sns-list li {
  padding: 0 10px;
}

.dr-flex .sns-list a {
  display: block;
  width: 30px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.dr-flex .sns-list a:hover {
  opacity: 0.7;
}

.dr-flex .sns-list img {
  display: block;
}

.dr-flex .btn-default {
  max-width: 335px;
}

/*
** カレンダーエリア
*/
.cale-area .item.cale {
  margin: 0 auto;
}

.cale-area .item.cale iframe {
  width: 100%;
}

.cale-area .item.ttl {
  text-align: center;
}

.route > .ttl {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}

.route-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -20px;
}

.route-list li {
  width: 33.33333%;
  padding: 0 20px;
  margin-bottom: 60px;
}

.route-list li img {
  display: block;
}

.route-list .txt {
  margin-top: 10px;
}

.route-list .txt .sub {
  margin-bottom: 5px;
  font-size: 16px;
}

@media screen and (max-width: 768px) {
  .cli {
    margin-bottom: 80px;
  }
  .cli:last-child {
    margin-bottom: 0;
  }
  .cli-subttl {
    margin-bottom: 20px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
  }
  .cli-subttl--sp {
    display: block;
  }
  .cli-subttl--pc {
    display: none;
  }
  .cli_img {
    margin-bottom: 20px;
  }
  .cli_img img {
    display: block;
  }
  .cli-flex .item.txt {
    margin-bottom: 30px;
  }
  .cli_ttl {
    text-align: center;
  }
  .cli_ttl img {
    margin: 0 auto 10px;
  }
  .cli-list {
    text-align: center;
  }
  .cli-list > .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 20px 0;
    border-bottom: 1px solid #dddddd;
  }
  .cli-list .ttl {
    width: 100%;
    margin-bottom: 20px;
    margin-right: 0;
  }
  .cli-list .txt {
    width: 100%;
  }
  .cli-list .inner.contact a {
    max-width: 335px;
    margin: 0 auto;
    position: relative;
    border: 1px solid #444444;
    padding: 15px 10px;
    display: block;
    background: #fff;
    font-size: 14px;
    text-align: center;
    line-height: 1.4;
    letter-spacing: 0.1em;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
  .cli-list .inner.contact a:before {
    content: "";
    display: inline-block;
    background: url(../img/common/ico-tel.png) center center no-repeat;
    background-size: contain;
    width: 17px;
    height: 24px;
    position: absolute;
    left: 87px;
    top: 13px;
  }
  .gray-wrap {
    padding: 30px 20px;
  }
  .dr-flex > .item.dr-img {
    width: 100%;
    margin-right: 0px;
  }
  .dr-flex .dr-pr_img {
    max-width: 600px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
  }
  .dr-flex > .item.content {
    width: 100%;
    text-align: center;
  }
  .dr-flex .posi {
    font-size: 16px;
    margin-bottom: 20px;
    line-height: 1.8;
  }
  .dr-flex .name {
    margin-bottom: 20px;
    font-size: 14px;
  }
  .dr-flex .sns-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 30px;
  }
  .dr-flex .sns-list li {
    padding: 0 10px;
  }
  .dr-flex .sns-list a {
    display: block;
    width: 30px;
  }
  .dr-flex .sns-list img {
    display: block;
  }
  .dr-flex .btn-default {
    margin: 0 auto;
  }
  .cale-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    /*    padding: 30px 0; */
  }
  .cale-area .item.cale {
    width: 100%;
  }
  .cale-area .item.ttl {
    width: 100%;
  }
  .cli-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    /*     padding: 30px 0;
 */
    margin-bottom: 0;
    border-bottom: 1px solid #dddddd;
  }
  .cli-flex .item.img {
    width: 100%;
    margin: 0;
  }
  .cli-flex .item.txt {
    width: 100%;
  }
  .btn-default.access {
    max-width: 335px;
    margin-right: auto;
    margin-left: auto;
  }
  .route-list li {
    width: 50%;
  }
}

@media screen and (max-width: 600px) {
  .route > .ttl {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .route-list li {
    width: 100%;
    margin-bottom: 30px;
  }
  .route-list .txt .sub {
    font-size: 14px;
  }
}

/* 
アコーディオン
=================================== */
.aco_item {
  margin-bottom: 20px;
  padding: 20px;
  background: #fafafa;
}

.aco_item:last-child {
  margin-bottom: 0;
}

.aco_ttl {
  display: block;
  position: relative;
  padding-right: 20px;
  font-weight: bold;
  font-size: 16px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.aco_cont {
  margin-top: 30px;
  line-height: 2.16;
}

.aco_cont ul {
  line-height: 2.16;
}

.aco_plus1,
.aco_plus2 {
  position: absolute;
  right: 0;
  width: 15px;
  height: 1px;
  background-color: #000;
}

.aco_plus1 {
  top: 50%;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.aco_plus2 {
  top: 50%;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

/*＋、－切り替え*/
.aco_ttl.active .aco_plus1 {
  display: none;
}

.aco_ttl.active .aco_plus2 {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

@media screen and (max-width: 600px) {
  .aco_item {
    margin-bottom: 20px;
    padding: 15px;
  }
  .aco_ttl {
    display: block;
    position: relative;
    padding-right: 20px;
    font-weight: bold;
    font-size: 14px;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
  .aco_cont {
    font-size: 12px;
  }
}

/* ===================================
料金表
=================================== */
.sec-price .sec_inner {
  max-width: 1240px;
}

.sec-price .price-box-wrap {
  margin-bottom: 100px;
}

/* お支払いについて
==============================　*/
.sec-pay .sec_inner {
  max-width: 940px;
}

.pay-box {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #dddddd;
}

.pay-box:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.pay-box .ttl {
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: bold;
}

.pay-box p {
  line-height: 2.16;
}

.pay-box p:last-child {
  margin-bottom: 0;
}

.pay-box ul {
  line-height: 2.16;
  list-style-type: disc;
  padding-left: 1.5em;
}

.pay-box ul:last-child {
  margin-bottom: 0;
}

.pay-box .sup {
  margin-top: 20px;
  font-size: 12px;
  line-height: 1.8;
}

@media screen and (max-width: 600px) {
  .pay-box .ttl {
    font-size: 14px;
  }
  .pay-box p {
    font-size: 16px;
  }
  .pay-box ul {
    font-size: 16px;
  }
  .pay-box .sup {
    font-size: 10px;
  }
}

/* ===================================
よくあるお問い合わせ
=================================== */
.aco_item {
  margin-bottom: 20px;
  padding: 20px;
  background: #fafafa;
}

.aco_item:last-child {
  margin-bottom: 0;
}

.aco_ttl {
  display: block;
  position: relative;
  padding-right: 20px;
  font-weight: bold;
  font-size: 16px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.aco_cont {
  margin-top: 30px;
  line-height: 2.16;
}

.aco_cont ul {
  line-height: 2.16;
}

.aco_plus1,
.aco_plus2 {
  position: absolute;
  right: 0;
  width: 15px;
  height: 1px;
  background-color: #000;
}

.aco_plus1 {
  top: 50%;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.aco_plus2 {
  top: 50%;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

/*＋、－切り替え*/
.aco_ttl.active .aco_plus1 {
  display: none;
}

.aco_ttl.active .aco_plus2 {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

@media screen and (max-width: 600px) {
  .aco_item {
    margin-bottom: 20px;
    padding: 15px;
  }
  .aco_ttl {
    display: block;
    position: relative;
    padding-right: 20px;
    font-weight: bold;
    font-size: 14px;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
  .aco_cont {
    font-size: 16px;
  }
}

/* ===================================
メニュー一覧
=================================== */
/* 
.menu-link {
  margin: 0 -10px 50px;
  padding-top: 110px;
  margin-top: -110px;

  ul {
    display: flex;
    flex-wrap: wrap;
  }
  li {
    width: 20%;
    padding: 0 10px;
    margin-bottom: 30px;
    a {
      display: block;
      transition: 0.5s;
      &:hover {
        opacity: 0.7;
      }
    }
  }
  ul li div {
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  ul li div img {
    max-width: 50px;
    margin-right: 15px;
  }
}
@media screen and (max-width: 1200px) {
  .menu-link {
    padding-top: 50px;
    margin-top: -50px;
  }
}

@media screen and (max-width: 768px) {
  .menu-link ul li div {
    flex-direction: column;
  }
  .menu-link ul li div img {
    margin-right: 0;
    margin-bottom: 15px;
  }
  .menu-link ul li {
    width: 33.33333%;
  }
}
@media screen and (max-width: 600px) {
  .menu-link {
    margin-bottom: 40px;
  }
  .menu-link ul {
    margin-top: 40px;
    margin-bottom: 50px;
    margin: 0 -5px;
  }
  .menu-link ul li {
    padding: 0 5px;
    margin-bottom: 20px;
    font-size: 10px;
  }
} */
/* 料金表テーブル
==============================　*/
.dtl-table {
  line-height: 2.16;
}

.dtl-table > .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 30px 0px;
  border-bottom: 1px solid #dddddd;
}

.dtl-table dt {
  width: 200px;
  margin-right: 30px;
  font-weight: bold;
}

.dtl-table dd {
  width: calc(100% - 230px);
}

@media screen and (max-width: 600px) {
  .dtl-table {
    padding: 30px 0px;
  }
  .dtl-table dt {
    margin-bottom: 15px;
    font-weight: bold;
    width: 100%;
    margin-right: 0;
  }
  .dtl-table dd {
    width: 100%;
    font-size: 16px;
  }
}

/* ===================================
メニュー一覧
=================================== */
/* 
.menu-link {
  margin: 0 -10px 50px;
  padding-top: 110px;
  margin-top: -110px;
  ul {
    display: flex;
    flex-wrap: wrap;
  }
  li {
    width: 20%;
    padding: 0 10px;
    margin-bottom: 30px;
    a {
      display: block;
      transition: 0.5s;
      &:hover {
        opacity: 0.7;
      }
    }
  }
  ul li div {
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  ul li div img {
    max-width: 50px;
    margin-right: 15px;
  }
}

@media screen and (max-width: 1200px) {
  .menu-link {
    padding-top: 0;
    margin-top: 0;
  }
}

@media screen and (max-width: 1024px) {
  .menu-link ul li {
    width: 25%;
  }
}
@media screen and (max-width: 767px) {
  .menu-link ul li div {
    flex-direction: column;
  }
  .menu-link ul li div img {
    margin-right: 0;
    margin-bottom: 15px;
  }
  .menu-link ul li {
    width: 33.33333%;
  }
}
@media screen and (max-width: 600px) {
  .menu-link {
    margin-bottom: 40px;
  }
  .menu-link ul {
    margin-top: 40px;
    margin-bottom: 50px;
    margin: 0 -5px;
  }
  .menu-link ul li {
    padding: 0 5px;
    margin-bottom: 20px;
    font-size: 10px;
  }
} */
/* 特徴ボックス
==============================　*/
.sec-fea .sec_inner {
  max-width: 940px;
}

.fea-box-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 -20px;

  /* wp化に伴う調整 */
  margin-bottom: 30px;
}

.fea-box {
  width: 50%;
  padding: 0 20px;
}
/* wp化に伴う調整 */
.fea-box--full{
  width: 100%;
}
.fea-box .inner {
  height: 100%;
  padding: 40px 40px;
  background: rgba(234, 234, 237, 0.9);
}

/* wp化に伴う調整 */
/* .fea-box:last-child {
  margin-bottom: 0;
} */

.fea-box .ttl {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 12px;
  letter-spacing: 0.1em;
}

.fea-box .ttl span {
  display: block;
}

.fea-box .ttl .sub {
  margin-bottom: 5px;
  font-size: 14px;
}

.fea-box .ttl .main {
  font-size: 16px;
  font-weight: bold;
}

.fea-box .ttl:after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  width: 100%;
  height: 2px;
  background: url(../img/common/line.png) center center no-repeat;
  background-size: cover;
}

.fea-box p {
  line-height: 2.16;
}

@media screen and (min-width: 601px) {
  .fea-box:nth-child(even) {
    margin-top: 50px;
  }
}

@media screen and (max-width: 600px) {
  .fea-box {
    margin-bottom: 60px;
  }
  .fea-box .ttl {
    margin-bottom: 30px;
    padding-bottom: 12px;
  }
  .fea-box .ttl .sub {
    font-size: 12px;
  }
  .fea-box .ttl .main {
    font-size: 14px;
  }
  .fea-box .txt {
    max-width: 100%;
    padding: 0;
    margin: 0;
    background: transparent;
  }
  .fea-box .point-img {
    max-width: 100%;
    margin-bottom: 25px;
  }
  .fea-box .point-img img {
    display: block;
  }
}

/* ===================================
ドクター紹介
=================================== */
.sec-dr .sec-ttl .main {
  padding-bottom: 0;
}

.sec-dr .sec-ttl .main:before {
  content: none;
}

.sec-dr .sec-ttl .sub {
  margin-bottom: 5px;
  font-size: 12px;
  font-weight: normal;
}

.sec-dr .sec-ttl .sub:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 1024px) {
  .sec-dr .sec_inner {
    max-width: 840px;
  }
}

/* トップ
==============================　*/
.dr-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.dr-box .item.img {
  width: 45%;
  margin-right: 40px;
}

.dr-box .item.img img {
  display: block;
}

.dr-box .item.txt {
  width: calc(55% - 40px);
  margin-top: 100px;
  padding: 60px;
  background-color: #eaeaed;
}

.dr-box .item.txt .subttl {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
}

.dr-box .item.txt p {
  line-height: 2.16;
  margin-bottom: 20px;
}

.dr-box .item.txt p:last-child {
  margin-bottom: 0;
}

.dr-box .item.txt .btn-default {
  margin: 30px auto 0;
  max-width: 335px;
}

.dr-box .ttl {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 12px;
  letter-spacing: 0.1em;
  font-size: 22px;
  font-weight: bold;
  width: 100%;
}

.dr-box .ttl:after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  width: 100%;
  height: 2px;
}

.dr-box .ttl:after {
  background: url(../img/common/line.png) center center no-repeat;
  background-size: cover;
}

.dr-box .ttl--sp {
  display: none;
}

.dr-box .ttl--pc {
  display: block;
}

.dr-box--bio .item.txt {
  width: 45%;
  margin-top: -80px;
  margin-right: 40px;
  background-color: #eaeaed;
  padding: 60px;
}

.dr-box--bio .item.txt img {
  display: block;
}

.dr-box--bio .item.img {
  width: calc(55% - 40px);
  margin-top: 30px;
  margin-right: 0;
}

.textBox-ptn-01 .dr-box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.textBox-ptn-01 .dr-box .item.txt {
  margin-top: 0;
}

.textBox-ptn-01 .dr-box--bio .item.txt {
  width: 100%;
  margin-top: 80px;
  margin-right: 0px;
}

.page.shinji .dr-box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.page.shinji .dr-box .item.txt {
  margin-top: 0;
}

.page.shinji .dr-box--bio .item.txt {
  width: 100%;
  /* margin-top: 80px; */
  margin-right: 0px;
}

@media screen and (min-width: 1025px) {
  .dr-box--reverse .item.img {
    margin-right: 0;
    margin-left: 40px;
  }
  .dr-box--reverse .item.txt {
    margin-top: 50px;
  }
}

@media screen and (max-width: 1024px) {
  .dr-box {
    margin-bottom: 60px;
  }
  .dr-box:last-child {
    margin-bottom: 0 !important;
  }
  .dr-box .item.img {
    width: 100%;
    max-width: 600px;
    margin: 0 auto 30px;
  }
  .dr-box .item.txt {
    width: 100%;
    margin-top: 0px;
    padding: 0px;
    background-color: transparent;
  }
  .dr-box .item.txt .subttl {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .dr-box .ttl {
    font-size: 16px;
  }
  .dr-box .ttl--sp {
    display: block;
  }
  .dr-box .ttl--pc {
    display: none;
  }
  .dr-box--bio .item.txt {
    margin-right: 0;
  }
  .dr-box--bio .item.img {
    margin-top: 30px;
    margin-bottom: 0;
  }
  .textBox-ptn-01 .dr-box--bio .item.txt {
    margin-top: 0px;
  }
}

@media screen and (max-width: 1024px) {
  .dr-box--reverse .item.img {
    margin-top: 60px;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 600px) {
  .dr-box .item.img {
    padding: 0 20px;
  }
  .dr-box .item.txt .ttl {
    font-size: 14px;
  }
  .dr-box .item.txt .subttl {
    font-size: 14px;
  }
  .dr-box .item.txt p {
    line-height: 2.16;
  }
  .dr-box--reverse .item.img {
    padding: 0;
  }
}

/* 資格・所属
==============================　*/
.sec_bg {
  background-color: #fafafa;
  padding: 80px 0;
}

.sec-license .sec_inner {
  max-width: 940px;
}

@media screen and (max-width: 600px) {
  .sec_bg {
    background-color: transparent;
    padding: 0;
  }
  .sec-license .dtl-table {
    padding: 0;
  }
  .sec-license .dtl-table .inner {
    border: none;
    padding-top: 0;
    padding-bottom: 60px;
  }
  .sec-license .dtl-table .inner:last-child {
    padding-bottom: 0;
  }
  .textBox-ptn-01 .sec-license {
    padding-bottom: 80px;
  }
}

.dr-sns {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 10px;
  width: calc(55% - 40px);
}
.dr-sns img {
  width: 40px;
}
@media screen and (max-width: 600px) {
  .dr-sns {
    width: 100%;
  }
  .dr-sns img {
    width: 30px;
  }
}

/* ご挨拶
==============================　*/
.gr-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.gr-box .item.img {
  width: 45%;
  margin-right: 60px;
}

.gr-box .item.txt {
  width: calc(55% - 60px);
  margin-top: 100px;
  padding: 40px;
  background-color: #eaeaed;
}

.gr-box .item.txt .ttl {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 12px;
  letter-spacing: 0.1em;
  font-size: 22px;
  font-weight: bold;
}

.gr-box .item.txt .ttl:after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  width: 100%;
  height: 2px;
}

.gr-box .item.txt .ttl:after {
  background: url(../img/common/line.png) center center no-repeat;
  background-size: cover;
}

.gr-box .item.txt .subttl {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
}

.gr-box .item.txt p {
  margin-bottom: 1em;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .gr-box {
    max-width: 600px;
    margin: 0 auto;
  }
  .gr-box .item.img {
    width: 70%;
    margin-right: -20px;
    margin-left: auto;
  }
  .gr-box .item.txt {
    width: 95%;
    margin-top: -200px;
    padding: 40px;
    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid #000;
  }
  .gr-box .item.txt .ttl {
    font-size: 22px;
    text-align: center;
  }
  .gr-box .item.txt .ttl:after {
    content: none;
  }
}

@media screen and (max-width: 600px) {
  .gr-box .item.img {
    width: 90%;
  }
  .gr-box .item.txt {
    margin-top: -150px;
    padding: 30px 20px;
  }
  .gr-box .item.txt .ttl {
    padding-bottom: 0;
    font-size: 14px;
  }
  .gr-box .item.txt .ttl p {
    margin-bottom: 30px;
  }
}

/* ===================================
アクセス
=================================== */
.page.access .insta {
  max-width: 30px;
  margin-top: 10px;
}

.page.access .insta a {
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.page.access .insta a:hover {
  opacity: 0.7;
}

.page.access .cli-list {
  margin-bottom: 60px;
}

.page.access .googlemap iframe {
  width: 100%;
  height: 350px;
}

.bg-main {
  background: url(../img/common/bg.png) no-repeat;
  background-size: cover;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -2;
  opacity: 0.6;
}

.bg-main--sp {
  display: none;
  background: url(../img/common/bg-sp.png) no-repeat;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .page.access .cli-flex .item.txt {
    /*  margin-bottom: 0px; */
  }
  .page.access .insta {
    margin: 0 auto;
  }
  .page.access .cli-list {
    margin-bottom: 30px;
  }
  .page.access .googlemap {
    padding-bottom: 30px;
    border-bottom: 1px solid #dddddd;
  }
  .page.access .googlemap iframe {
    width: 100%;
    height: 350px;
  }
  .bg-main--pc {
    display: none;
  }
  .bg-main--sp {
    display: block;
  }
}

@media screen and (max-width: 600px) {
  .cli-list .inner.access .txt {
    text-align: left;
  }
}

/* ===================================
ご予約・お問い合わせ
=================================== */
/* カレンダーアコーディオン
==============================　*/
.cale-aco {
  margin-bottom: 30px;
  border: 1px solid #444444;
}

.cale-aco:last-child {
  margin-bottom: 0;
}

.cale-aco .cale-aco_ttl {
  position: relative;
  /*     border: 1px solid $border-color1;
 */
  padding: 15px 10px;
  display: block;
  background: #fff;
  color: #444;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.1em;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  line-height: 1.4;
}

.cale-aco .cale-aco_ttl:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 21px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #444444;
  border-left: 2px solid #444444;
  /* -webkit-transform: translateY(-50%) rotate(-135deg);
          transform: translateY(-50%) rotate(-135deg); */
  font-size: 20px;
  pointer-events: none;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.cale-aco .cale-aco_ttl.active {
  background: #444;
  color: #fff;
}

.cale-aco .cale-aco_ttl.active:after {
  top: 27px;
  border-color: #fff;
  /* -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg); */
}

.cale-aco .cale-aco_cont {
  padding: 20px;
  background: #fff;
  /*     margin-top: 30px;
 */
  /*     border: 1px solid $border-color1;
 */
}

.cale-aco iframe {
  width: 100%;
}

@media screen and (max-width: 600px) {
  .cale-aco .cale-aco_cont {
    padding: 0px;
  }
}

/* ご予約・お問い合わせ
==============================　*/
.sec-cli-info .cale-aco {
  max-width: 800px;
  margin: 0 auto;
}

.page.contact-top .top-ttl {
  font-weight: bold;
}

.page.contact-top .top-txt {
  margin-bottom: 60px;
}

.cli-info-box-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -20px;
}

.cli-info-box-wrap .cli-info-box {
  width: 100%;
  padding: 0 20px;
}

.cli-info-box-wrap .cli-info-box:last-child {
  margin-bottom: 0;
}

.cli-info-box-wrap .cli-info-box:first-child .inner {
  border-top: 1px solid #ddd;
}

.cli-info-box-wrap .cli-info-box .inner {
  padding-top: 60px;
  padding-bottom: 60px;
  border-bottom: 1px solid #ddd;
}

.cli-info-box-wrap .cli-info-box .ttl {
  margin-bottom: 30px;
  font-size: 16px;
  text-align: center;
  font-weight: bold;
}

.cli-info-box-wrap .cli-info-box .btn-tel {
  margin-bottom: 30px;
}

.cli-info-box-wrap .cli-info-box .time-txt {
  margin-bottom: 20px;
  text-align: center;
}

.cli-info-box-wrap .cli-info-box .cale {
  margin: 0 auto;
}

.cli-info-box-wrap .cli-info-box .cale iframe {
  width: 100%;
}

.contact-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -20px;
}

.contact-wrap .top-ttl {
  font-weight: bold;
}

.contact-wrap .mail-box {
  width: 50%;
  padding: 0 20px;
}

.contact-wrap .mail-box .sup-txt {
  margin-bottom: 10px;
  font-size: 10px;
  text-align: center;
}

.contact-wrap .inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.contact-wrap .btn-default {
  max-width: 335px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 20px;
}

.contact-wrap .btn-default:last-child {
  margin-bottom: 0;
}

.contact-wrap--2 {
  text-align: center;
}

.contact-wrap--2 .btn-wrap {
  margin-bottom: 30px;
}

.contact-wrap--2 .btn-wrap:last-child {
  margin-bottom: 0;
}
.taL{
  text-align: left !important;
}
.w24h{
  position:relative
}
.w24h em{
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateY(0) translateX(-50%);
  -webkit-\ transform: translateY(0) translateX(-50%);
  margin: auto;
  display: block;
  background: #444;
  color: #fff;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .page.contact-top .top-txt {
    text-align: center;
    margin-bottom: 30px;
  }
  .cli-info-box-wrap .cli-info-box .inner {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .cli-info-box-wrap .cli-info-box .ttl {
    margin-bottom: 30px;
    font-size: 16px;
    text-align: center;
    font-weight: bold;
  }
  .cli-info-box-wrap .cli-info-box .btn-tel {
    margin-bottom: 30px;
  }
  .cli-info-box-wrap .cli-info-box .time-txt {
    margin-bottom: 20px;
    text-align: center;
  }
  .contact-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -20px;
  }
  .contact-wrap .mail-box {
    width: 100%;
  }
  .contact-wrap .mail-box:last-child .inner {
    border-bottom: none;
  }
  .contact-wrap .mail-box .inner {
    border-bottom: 1px solid #ddd;
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .contact-wrap .btn-default {
    max-width: 335px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
  }
  .contact-wrap .btn-default:last-child {
    margin-bottom: 0;
  }
  .contact-wrap--2 {
    text-align: center;
  }
  .contact-wrap--2 .btn-wrap {
    margin-bottom: 30px;
  }
  .contact-wrap--2 .btn-wrap:last-child {
    margin-bottom: 0;
  }
  .contact-wrap--2 .mail-box {
    margin-bottom: 60px;
  }
  .contact-wrap--2 .mail-box:last-child {
    margin-bottom: 0;
  }
}

/* ===================================
お問い合わせフォーム
=================================== */
.contact-footer .footer-inner {
  display: block;
  padding: 50px 0px 30px;
}

.contact-footer .logo {
  max-width: 300px;
  font-family: "Lato", sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  letter-spacing: 0;
}

.contact-footer .logo img {
  width: 90px;
}

.contact-footer .logo p {
  font-size: 10px;
  font-weight: bold;
  margin-left: 10px;
  color: gray;
}

.contact-footer .logo p span {
  font-weight: normal;
}

.contact-footer .copy {
  padding: 0;
}

.sec-inq .sec_inner {
  max-width: 840px;
}

.sec-inq .top-txt {
  margin-bottom: 30px;
}

.sec-inq .sup-txt {
  margin-bottom: 60px;
  font-size: 12px;
  text-align: center;
  line-height: 1.8;
}

input,
textarea {
  font-size: 16px;
  outline: none;
  outline: 0;
}

button {
  outline: none;
  outline: 0;
}

input[type="radio"] {
  -moz-appearance: radio;
       appearance: radio;
  -webkit-appearance: radio;
  top: 1px;
  position: relative;
  outline: none;
  outline: 0;
  border: none;
  cursor: pointer;
}

input[type="checkbox"] {
  -moz-appearance: checkbox;
       appearance: checkbox;
  -webkit-appearance: checkbox;
}

select::-ms-expand {
  display: none;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  font-size: 16px;
  width: 100%;
  padding: 7px;
  border-radius: 4px;
  border: 1px solid #dddddd;
  outline: none;
}

input::-webkit-input-placeholder {
  color: #aaa;
  font-size: 16px;
  letter-spacing: 0.1em;
}

input:-ms-input-placeholder {
  color: #aaa;
  font-size: 16px;
  letter-spacing: 0.1em;
}

input::-ms-input-placeholder {
  color: #aaa;
  font-size: 16px;
  letter-spacing: 0.1em;
}

input::placeholder {
  color: #aaa;
  font-size: 16px;
  letter-spacing: 0.1em;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
  min-height: 40px;
}

textarea {
  min-height: 200px;
}

.form-wrap .inner {
  padding: 30px 0;
  border-top: 1px solid #dddddd;
}

.form dt {
  margin-bottom: 20px;
  font-weight: bold;
}

.form dt .sup {
  display: block;
  margin-top: 10px;
  font-weight: normal;
  line-height: 1.66666;
}

.require {
  display: inline-block;
  padding: 3px 5px;
  margin-left: 18px;
  background-color: #aaaaaa;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  line-height: 1;
}
.form dt {
  margin-bottom: 20px;
  font-weight: bold;
}

.form dt .sup {
  display: block;
  margin-top: 10px;
  font-weight: normal;
  line-height: 1.66666;
}

.form label {
  margin-right: 40px;
  display: inline-block;
  cursor: pointer;
}

.btn-default--submit {
  margin-top: 40px;
}

.btn-default--submit button,
.btn-default--submit input[type="submit"] {
  max-width: 335px;
  width: 100%;
  margin: 0 auto;
}

.date {
  margin-bottom: 30px;
}

.date:last-child {
  margin-bottom: 0;
}

.date > p {
  margin-bottom: 10px;
}

.date .sup {
  margin-top: 20px;
}

.date-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -5px;
}

.date-flex .item {
  width: 50%;
  padding: 0 5px;
}

.date-flex .item p {
  margin-bottom: 5px;
}

.date-flex .item .select-wrap {
  position: relative;
}

.date-flex .item .select-wrap:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 17px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #ccc;
  border-left: 2px solid #ccc;
  -webkit-transform: translateY(-50%) rotate(-135deg);
          transform: translateY(-50%) rotate(-135deg);
  font-size: 20px;
  pointer-events: none;
}

.date-flex .item select {
  min-height: 40px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background-color: #fff;
}

.date-flex .item select.is-empty {
  color: #aaa;
}

@media screen and (max-width: 768px) {
  .sec-inq .top-txt {
    text-align: center;
  }
}

@media screen and (max-width: 600px) {
  .sec-inq .top-txt {
    text-align: left;
  }
  .sec-inq .sup-txt {
    margin-bottom: 30px;
    font-size: 10px;
    text-align: left;
  }
  .form dt {
    margin-bottom: 30px;
    text-align: center;
  }
  .form dt .sup {
    text-align: left;
    font-size: 12px;
  }
  .form dt.text-left-sp {
    text-align: left;
  }
  dd.checkbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  dd.checkbox label {
    /* width: 50%; */
    margin-right: 0;
    margin-bottom: 20px;
  }
  dd.checkbox label:last-child, dd.checkbox label:nth-last-child(2) {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 374px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  textarea,
  select {
    font-size: 12px;
  }
  input::-webkit-input-placeholder {
    font-size: 12px;
  }
  input:-ms-input-placeholder {
    font-size: 12px;
  }
  input::-ms-input-placeholder {
    font-size: 12px;
  }
  input::placeholder {
    font-size: 12px;
  }
}


/* 追加：contactform7用コード */
.wpcf7-form dt {
  margin-bottom: 20px;
  font-weight: bold;
}

.wpcf7-form dt .sup {
  display: block;
  margin-top: 10px;
  font-weight: normal;
  line-height: 1.66666;
}

.wpcf7-form label {
  margin-right: 40px;
  display: inline-block;
  cursor: pointer;
}
.wpcf7-form-control.wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
span.wpcf7-list-item.first{
  margin-left: 0;
}
.wpcf7-submit {
  max-width: 335px;
  width: 100%;
}
@media screen and (max-width: 600px) {
  .sec-inq .top-txt {
    text-align: left;
  }
  .sec-inq .sup-txt {
    margin-bottom: 30px;
    font-size: 10px;
    text-align: left;
  }
  .wpcf7-form dt {
    margin-bottom: 30px;
    text-align: center;
  }
  .wpcf7-form dt .sup {
    text-align: left;
    font-size: 12px;
  }
  .wpcf7-form dt.text-left-sp {
    text-align: left;
  }
  .wpcf7-form-control-wrap {
    width: 100%;
  }
  span.wpcf7-list-item {
    width: calc(50% - 1em);
    margin-bottom: 20px;
  }
  .wpcf7-radio span.wpcf7-list-item {
    width: auto;
  }
  .wpcf7-form span.wpcf7-list-item:nth-of-type(3){
    margin-left: 0;
  }
}
.wpcf7-submit{
  margin-left: auto;
  margin-right: auto;
}
/* ===================================
確認画面
=================================== */
.page.confirm .sec_inner {
  max-width: 840px;
}

.formTable {
  width: 100%;
}

.formTable tr {
  display: block;
  padding: 30px 0;
  border-top: 1px solid #dddddd;
}

.formTable th {
  margin-bottom: 20px;
  font-weight: bold;
}

.formTable th,
.formTable td {
  width: 100%;
  display: block;
  text-align: left;
}

#formWrap form .btn-default {
  margin-top: 40px;
}

#formWrap form .btn-default input {
  max-width: 335px;
  width: 100%;
  margin: 0 auto 30px;
}

#formWrap form .btn-back {
  text-align: center;
}

#formWrap form .btn-back input[type="button"] {
  padding: 0;
  border-bottom: 1px solid #000;
  background-color: transparent;
  -webkit-transition: opacity, 0.5s;
  transition: opacity, 0.5s;
}

#formWrap form .btn-back input[type="button"]:hover {
  opacity: 0.7;
}

@media screen and (max-width: 600px) {
  .formTable th {
    text-align: center;
  }
}

/* ===================================
サンクス
=================================== */
.page.thanks .btn-default,
.page.media_thanks .btn-default {
  max-width: 335px;
  margin: 0 auto;
}

/* ===================================
症例写真
=================================== */
.page.case .ig-txt {
  margin-bottom: 10px;
  text-align: center;
}

/* .case-box-wrap {
  display: flex;
  flex-wrap: wrap;
  .case-box {
    width: 50%;
    padding: 0 20px;
  }
  .case-img {
    display: flex;
    flex-wrap: wrap;
    .item {
      width: 50%;
      padding: 0 20px;
    }
  }
} */
@media screen and (min-width: 769px) {
  .page.case .top-txt {
    margin-bottom: 60px;
  }
}

@media screen and (max-width: 768px) {
  .page.case .top-txt {
    text-align: center;
  }
}

@media screen and (max-width: 600px) {
  .page.case .ig-txt {
    font-size: 10px;
  }
}

@media screen and (max-width: 374px) {
  .page.case .top-txt br {
    display: none;
  }
}

/* ===================================
初めての方へ
=================================== */
@media screen and (max-width: 768px) {
  .sec-intro-contact .top-txt {
    text-align: center;
  }
}

/*
** 未成年
*/
.minors {
  margin-top: 60px;
  text-align: center;
  border-top: 1px solid #dddddd;
  padding-top: 60px;
}

.minors .ttl {
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: bold;
}

.minors .txt {
  margin-bottom: 30px;
  line-height: 2.16;
}

.minors .sup-txt {
  margin-bottom: 10px;
  font-size: 10px;
}

@media screen and (max-width: 768px) {
  .minors {
    margin-top: 80px;
    border-top: none;
    padding-top: 0px;
  }
}

@media screen and (max-width: 600px) {
  .minors .txt {
    text-align: left;
  }
}

/* ===================================
画像とテキストがかぶらないボックス
=================================== */
.sec-photo p[class*="btn"] {
  margin-top: 60px;
}

.sec-photo .sec_inner {
  max-width: 1140px;
}

.photo-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 80px;
}

.photo-box:last-of-type {
  margin-bottom: 0;
}

.photo-box .ttl {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 12px;
  letter-spacing: 0.1em;
  font-size: 22px;
  font-weight: bold;
  width: 100%;
}

.photo-box .ttl:after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  width: 100%;
  height: 2px;
}

.photo-box .ttl:after {
  background: url(../img/common/line.png) center center no-repeat;
  background-size: cover;
}

.photo-box .ttl--sp {
  display: none;
}

.photo-box .ttl--pc {
  display: block;
}

.photo-box .item.img {
  width: 45%;
  margin-right: 40px;
}

.photo-box .item.img img {
  display: block;
  /*       border: 1px solid #eee;
 */
}

.photo-box .item.txt {
  width: calc(55% - 40px);
  margin-top: 100px;
  padding: 60px;
  background-color: #eaeaed;
}

.photo-box .item.txt p {
  margin-bottom: 20px;
}

.photo-box .item.txt p:last-child {
  margin-bottom: 0;
}

.photo-box .item.txt .subttl {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}

.photo-box .item.txt .subttl--min {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px;
}

.photo-box p {
  line-height: 2.16;
}

.photo-box .btn-default {
  margin: 30px auto 0;
  max-width: 335px;
}

.photo-box p[class*="btn"] {
  margin-bottom: 30px;
}

.photo-box p[class*="btn"]:last-child {
  margin-bottom: 0;
}

.photo-box--re .item.img {
  margin-right: 0;
  width: 45%;
}

.photo-box--re .item.img img {
  display: block;
}

.photo-box--re .item.txt {
  width: calc(55% - 40px);
  margin-right: 40px;
}

.photo-box + .dtl-table {
  margin-top: 60px;
}

@media screen and (max-width: 1024px) {
  .sec-photo .sec_inner {
    max-width: 840px;
  }
  .photo-box .ttl {
    font-size: 16px;
  }
  .photo-box .item.txt {
    padding: 30px;
  }
  .photo-box .ttl--sp {
    display: none;
  }
  .photo-box .ttl--pc {
    display: block;
  }
}

@media screen and (max-width: 1024px) {
  .photo-box {
    margin-bottom: 60px;
  }
  .photo-box .ttl {
    font-size: 16px;
  }
  .photo-box .ttl--sp {
    display: block;
  }
  .photo-box .ttl--pc {
    display: none;
  }
  .photo-box .item.img {
    width: 100%;
    margin: 0 auto 25px;
  }
  .photo-box .item.txt {
    width: 100%;
    margin-top: 0px;
    padding: 0px;
    background-color: transparent;
  }
  .photo-box .item.txt .subttl {
    font-size: 12px;
    margin-bottom: 10px;
  }
  .photo-box .item.txt .subttl--min {
    font-size: 12px;
  }
  .photo-box--re .item.img {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .photo-box--re .item.txt {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    margin-top: 0px;
    margin-right: 0;
    padding: 0px;
  }
}

@media screen and (max-width: 768px) {
  .photo-box .item.img {
    width: 60%;
    margin: 0 auto 25px;
  }
}

@media screen and (max-width: 600px) {
  .photo-box .ttl {
    font-size: 14px;
  }
  .photo-box .item.img {
    width: 100%;
  }
  .photo-box .item.txt p {
    line-height: 2.16;
  }
}

/* ===================================
3列ボックス
=================================== */
.pro-box-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 -20px;
}

.pro-box {
  margin-bottom: 60px;
  width: 33.33333%;
  padding: 0 20px;
}

.pro-box .inner {
  height: 100%;
  padding: 30px;
  background: rgba(234, 234, 237, 0.9);
}

.pro-box:nth-child(2) {
  margin-top: 50px;
}

.pro-box:nth-child(5) {
  margin-top: 50px;
}

.pro-box:nth-child(8) {
  margin-top: 50px;
}

.pro-box:nth-child(11) {
  margin-top: 50px;
}

.pro-box:nth-child(14) {
  margin-top: 50px;
}

.pro-box:last-child {
  /*     margin-bottom: 0;
 */
}

.pro-box .pro-img {
  margin-bottom: 30px;
}

.pro-box .ttl {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 12px;
  letter-spacing: 0.1em;
}

.pro-box .ttl span {
  display: block;
}

.pro-box .ttl .sub {
  margin-bottom: 5px;
  font-size: 14px;
}

.pro-box .ttl .main {
  font-size: 16px;
  font-weight: bold;
}

.pro-box .ttl:after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  width: 100%;
  height: 2px;
  background: url(../img/common/line.png) center center no-repeat;
  background-size: cover;
}

.pro-box .ttl--sp {
  display: none;
}

.pro-box .ttl--pc {
  display: block;
}

.pro-box p {
  line-height: 2.16;
  margin-bottom: 20px;
}

.pro-box p:last-child {
  margin-bottom: 0;
}

.pro-box .btn-default {
  margin-top: 20px;
}

@media screen and (max-width: 1024px) {
  .pro-box-wrap {
    -webkit-box-align: normal;
        -ms-flex-align: normal;
            align-items: normal;
    margin: 0 -10px;
  }
  .pro-box {
    width: 50%;
    padding: 0 10px;
    margin-bottom: 30px;
  }
  .pro-box:nth-child(2) {
    margin-top: 0px;
  }
  .pro-box:nth-child(5) {
    margin-top: 0px;
  }
  .pro-box:nth-child(8) {
    margin-top: 0px;
  }
  .pro-box:nth-child(11) {
    margin-top: 0px;
  }
  .pro-box:nth-child(14) {
    margin-top: 0px;
  }
}

@media screen and (max-width: 600px) {
  .pro-box {
    width: 100%;
  }
  .pro-box:last-child {
    margin-bottom: 0;
  }
  .pro-box .inner {
    height: 100%;
    padding: 0;
    background: transparent;
  }
  .pro-box .ttl--sp {
    display: block;
  }
  .pro-box .ttl--pc {
    display: none;
  }
}

@media screen and (max-width: 600px) {
  .pro-box {
    margin-bottom: 60px;
  }
  .pro-box .ttl {
    margin-bottom: 30px;
    padding-bottom: 12px;
  }
  .pro-box .ttl .sub {
    font-size: 12px;
  }
  .pro-box .ttl .main {
    font-size: 14px;
  }
  .pro-box .txt {
    max-width: 100%;
    padding: 0;
    margin: 0;
    background: transparent;
  }
  .pro-box .point-img {
    max-width: 100%;
    margin-bottom: 25px;
  }
  .pro-box .point-img img {
    display: block;
  }
}

/* ===================================
画像とテキストボックスが重なるボックス
=================================== */
.point-box2 {
  margin-bottom: 100px;
}

.point-box2:last-child {
  margin-bottom: 0;
}

.point-box2 .ttl {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 12px;
  letter-spacing: 0.1em;
}

.point-box2 .ttl span {
  display: block;
}

.point-box2 .ttl .sub {
  margin-bottom: 5px;
  font-size: 14px;
}

.point-box2 .ttl .main {
  font-size: 16px;
  font-weight: bold;
}

.point-box2 .ttl:after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  width: 100%;
  height: 2px;
  background: url(../img/common/line.png) center center no-repeat;
  background-size: cover;
}

.point-box2 .point-img {
  max-width: 600px;
  /*     border: 1px solid #eee;
 */
}

.point-box2 .point-img img {
  display: block;
}

.point-box2 .txt {
  padding: 40px 30px;
  max-width: 800px;
  background: rgba(234, 234, 237, 0.9);
  margin-top: -200px;
  margin-left: auto;
  margin-right: 40px;
  position: relative;
}

.point-box2 p {
  line-height: 2.16;
  margin-bottom: 20px;
}

.point-box2 p:last-child {
  margin-bottom: 0;
}

.point-box2 .ttl--sp {
  display: none;
}

.point-box2 .ttl--pc {
  display: block;
}

.point-box2:nth-of-type(even) .point-img {
  margin-left: auto;
}

.point-box2:nth-of-type(even) .txt {
  margin-right: auto;
  margin-left: 40px;
}

@media screen and (max-width: 1024px) {
  .point-box2 {
    margin-bottom: 60px;
  }
  .point-box2 .ttl {
    margin-bottom: 30px;
    padding-bottom: 12px;
  }
  .point-box2 .ttl .sub {
    font-size: 12px;
  }
  .point-box2 .ttl .main {
    font-size: 14px;
  }
  .point-box2 .txt {
    max-width: 100%;
    padding: 0;
    margin: 0;
    background: transparent;
  }
  .point-box2 .point-img {
    max-width: 100%;
    margin-bottom: 25px;
  }
  .point-box2 .point-img img {
    display: block;
  }
  .point-box2 .ttl--sp {
    display: block;
  }
  .point-box2 .ttl--pc {
    display: none;
  }
  .point-box2:nth-of-type(even) .point-img {
    margin-left: 0;
    margin-top: 0;
  }
  .point-box2:nth-of-type(even) .txt {
    margin: 0;
  }
}

@media screen and (max-width: 768px) {
  .point-box2 .point-img {
    max-width: 60%;
    margin-right: auto;
    margin-left: auto;
  }
  .point-box2:nth-of-type(even) .point-img {
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width: 600px) {
  .point-box2 .point-img {
    max-width: 100%;
  }
}

/* ===================================
WEB予約
=================================== */
.sec-reserve .btn-default {
  max-width: 350px;
  margin: 0 auto 30px;
}

.sec-reserve .sup-txt {
  margin-bottom: 30px;
}

.caution-box {
  max-width: 600px;
  margin: 0 auto 60px;
  border: 1px solid #e03636;
  padding: 30px;
  font-weight: bold;
  text-align: center;
  line-height: 2.16;
}

@media screen and (max-width: 600px) {
  .caution-box {
    padding: 20px;
  }
}

/* ===================================
美しさへ導く
=================================== */
.dr-box--beauty .item.txt {
  margin-top: 50px;
}

.beauty-ttl {
  margin-bottom: 40px;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
}

.beauty-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -20px;
}

.beauty-list li {
  width: 25%;
  padding: 0 20px;
}

.beauty-list li img {
  display: block;
  margin-bottom: 10px;
}

.beauty-list li a {
  display: block;
  -webkit-transition: opacity, 0.5s;
  transition: opacity, 0.5s;
}

.beauty-list li a:hover {
  opacity: 0.7;
}

.beauty-list .ja-ttl {
  margin-bottom: 3px;
  font-size: 16px;
  font-weight: bold;
}

.beauty-list .en-ttl {
  color: #aaa;
  font-size: 14px;
}

@media screen and (max-width: 1024px) {
  .dr-box--beauty .item.img {
    margin-bottom: 80px;
  }
  .dr-box--beauty .item.txt {
    margin-top: 0px;
  }
  .dr-box--beauty .item.txt .ttl {
    margin-bottom: 40px;
    padding-bottom: 0;
    font-size: 18px;
    text-align: center;
  }
  .dr-box--beauty .item.txt .ttl:after {
    content: none;
  }
}

@media screen and (max-width: 768px) {
  .page.beauty .top-txt {
    margin-bottom: 30px;
  }
  .beauty-list {
    margin: 0 -12px;
  }
  .beauty-list li {
    width: 50%;
    margin-bottom: 40px;
    padding: 0 12px;
  }
  .beauty-list li:last-child {
    margin-bottom: 0;
  }
  .beauty-list li:nth-last-child(2) {
    margin-bottom: 0;
  }
  .beauty-list .ja-ttl {
    font-size: 14px;
  }
  .beauty-list .en-ttl {
    font-size: 12px;
  }
}

@media screen and (max-width: 600px) {
  .dr-box--beauty .item.img {
    padding: 0;
  }
  .beauty-ttl {
    font-size: 18px;
  }
}

@media screen and (max-width: 374px) {
  .beauty-list .ja-ttl {
    font-size: 12px;
  }
}

/* ===================================
美しさへ導く 下層
=================================== */
/* スキンケア
==============================　*/
@media screen and (min-width: 1025px) {
  .photo-box--beauty .item.img {
    margin-right: 20px;
  }
  .photo-box--beauty .item.txt {
    margin-top: 50px;
    padding: 40px 30px;
  }
  .photo-box--re.photo-box--beauty .item.txt {
    width: calc(55% - 20px);
    margin-right: 20px;
  }
  .photo-box--re.photo-box--beauty .item.img {
    margin-right: 0px;
  }
}

/* 毛穴
==============================　*/
.pro-box-wrap--beauty {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.photo-box--beauty .item.img.img--pores {
  background-color: #fff;
}

/* クマ
==============================　*/
@media screen and (min-width: 1025px) {
  .photo-box--dark .item.img {
    width: 35%;
  }
  .photo-box--dark .item.txt {
    width: calc(65% - 40px);
    margin-top: 50px;
  }
}
/*# sourceMappingURL=page.css.map */

.price_page table{
    table-layout:fixed !important;
    word-wrap: break-word !important;
}

.price_page table br.sp {
  display: none
}

@media screen and (max-width: 600px) {
  .price_page .datsumou table {
      display: block;
      overflow-x: scroll;
      white-space: nowrap;
      -webkit-overflow-scrolling: touch;
  }
  tbody {
    width: 100%;
    display: table;
  }

  .price_page table br.sp {
    display: block
  }
}


.list-panel {
  background-color: #eaeaed;
  padding: 48px;
}


.list-panel.-revarse .list-panel__content{
  flex-direction: row-reverse;
}

.list-panel__inner {
}

.list-panel__title {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 12px;
  letter-spacing: 0.1em;
  font-size: 16px;
  font-weight: bold;
}

.list-panel__title:after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 50%;
  -webkit-transform: translateX(50%);
  transform: translateX(50%);
  width: 100%;
  height: 2px;
  background: url(../img/common/line.png) center center no-repeat;
  background-size: cover;
}

.list-panel__img {
  flex-shrink: 0;
  width: 30%;
}

.list-panel__img img {
  display: block;
}

.list-panel__p {
  line-height: 2.16;
}

@media screen and (min-width: 769px) {
  .list-panel__content {
    display: flex;
    gap: 24px;
  }
}

@media screen and (max-width: 768px) {
  .list-panel__p {
    margin-top: 18px;
  }

  .list-panel__img {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    display: block;
  }
}

/* 余白 */
@media screen and (min-width: 769px) {
  .flex {
    display: flex;
  }

  .flex.-gap-d-24 {
    gap: 24px;
  }

  .mt-d-12 {
    margin-top: 12px;
  }

  .mt-d-24 {
    margin-top: 24px;
  }

  .mt-d-32 {
    margin-top: 32px;
  }

  .mt-d-48 {
    margin-top: 48px;
  }

  .mt-d-64 {
    margin-top: 64px;
  }

  .width-d-32\% {
    width: 32%;
  }

  .width-d-full {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .flex.-gap-s-12 {
    gap: 12px;
  }

  .mt-s-12 {
    margin-top: 12px;
  }

  .mt-s-24 {
    margin-top: 24px;
  }

  .mt-s-32 {
    margin-top: 32px;
  }

  .mt-s-48 {
    margin-top: 48px;
  }

  .mt-s-64 {
    margin-top: 64px;
  }

  .width-s-full {
    width: 100%;
  }
}

/***********追加*************/
.nttlco{
    background-color: #eaeaed;
    padding: 10px 10px;
    width: 300px;
    margin: auto;
    margin-bottom: 20px;
    font-size: 20px;
}
.nstore:after {
    content: "";
    position: absolute;
    right: 10px;
    top: 21px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #444444;
    border-left: 2px solid #444444;
    -webkit-transform: translateY(-50%) rotate(-135deg);
    transform: translateY(-50%) rotate(-135deg);
    font-size: 20px;
    pointer-events: none;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}
.sotrebox{
    width: 680px;
    margin: auto;
    display: flex;
    text-align: center;
	    margin-bottom: 100px;
    justify-content: space-around;
}
.sotrebox div {
	width: 41%;}
	.nabtn{
		    display: block;
    border: 1px solid #444444;
    padding: 10px;
	position: relative;
}
.nabtn:after {
    content: "";
    position: absolute;
    right: 10px;
    top: 21px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #444444;
    border-left: 2px solid #444444;
    -webkit-transform: translateY(-50%) rotate(-135deg);
    transform: translateY(-50%) rotate(-135deg);
    font-size: 20px;
    pointer-events: none;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.nttl{
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    border-bottom: 1px solid #000;
    display: inline-block;
    margin: auto;
	margin-bottom: 40px;
}
.center{
	text-align: center;
}
.nteltime{
    font-size: 12px;
    margin-top: 20px;
    display: block;
}
.ncontactbox{
    justify-content: space-between;
    display: flex;
}


.w48{
	width: 48%;
}
 .ncontactbox div h3{
    background: #444444;
    padding: 10px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
}
.mb40{
	margin-bottom: 40px;
}
 .ncontactbox div h4{
    background: #AFAFAF;
    padding: 10px;font-weight: bold;
	 color: #1D1A1A;}.ntel {
    font-size: 20px;
    font-weight: bold;
}
.nicon:before{
left: 56px !important;
top: 15px !important;}
.mb20{
	margin-bottom: 20px;
}
.nbtn{
    display: inline-block;
    padding: 10px 45px;
}
.fa-s {
    font-family: FontAwesome;
}.fa-solid {
    font-family: FontAwesome;
}
.nfl2{
    display: flex;
    justify-content: space-between;
	    margin: 40px 0 60px;
}
.nfl2 p{width:45%;
	text-align: center;
}.nfl2 p a{
	padding: 20px;border: 1px solid #000;
}
.nfl2 p a:hover {
    background: #444;
    color: #fff;
}
.nttl2{
    background: #AFAFAF;
    padding: 10px;
    font-weight: bold;
    color: #1D1A1A;
    font-size: 20px;
}

.f18{
	font-size:18px;
	margin-right: 5px;
}
.left10{
	margin-left: 10px;
}
@media (max-width: 984px) {
.nfl4{
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
}
.nfl4 p{
width: 100%;
margin-bottom: 30px;
}
.nfl4 p a {
  width: 100%;
  display: block;
  padding: 25px 20px;
}
.w24h em {
  top: -10px;
}
}
@media screen and (max-width: 680px) {
.sotrebox {
    width: 95%;
	display: block;}
	.spmb20{margin-bottom: 20px;}
	.sotrebox div {
    width: 100%;
}.ncontactbox {
    display: block;
}.w48 {
    width: 100%;
}.nfl2 {
	display: block;}
	.nfl2 p{width: 100%;    margin-bottom: 70px;}
  .nfl3 {
    display: flex;}
  .nfl3 img{
    width: 97%;}

  .nfl4 p {
      margin-bottom: 40px;
    }
  .btn-tel a {
      max-width: 280px;
      padding: 10px;
    }
  .nicon::before {
      left: 22px !important;
    }
}

