@charset "UTF-8";
/*----------------------------------------------------------------------
------------------------------------------------------------------------

File Name:
Note:


New Creation:	.
Last Change:	2014/10/24 16:17:04.


Created By		Yoshiaki Murakami

------------------------------------------------------------------------
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
------------------------------------------------------------------------
目次

1.	共通使用変数定義
2.	ブラウザデフォルトスタイルリセット
3.	HTMLタグ
4.	container
5.	共通部分
6.	header
7.	content
8.	main
9.	sub
10.	footer
11.	ページ別個別設定

------------------------------------------------------------------------
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
1.	layout
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
2.	Component
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
3.	Project
----------------------------------------------------------------------*/
.p-header {
  display: flex;
  position: sticky;
  top: 0;
  z-index: 2147483647;
  justify-content: space-between;
  margin-bottom: 7.0666666667vw;
  padding: 4.9333333333vw 4vw;
  height: 6.9333333333vw;
  transition: background 0.15s linear;
}
.p-header__logo {
  margin: -0.6666666667vw 0 0 2.6666666667vw;
}
.p-header__menus {
  display: flex;
  position: relative;
}
.p-header__menus .message {
  position: relative;
  width: 9.6vw;
}
.p-header__menus__item + .p-header__menus__item {
  margin-left: 5.2vw;
}
.p-header.is-stack {
  background: #282828;
}

.p-menu {
  top: 16.8vw;
  bottom: 0;
  width: 76vw;
  background: rgba(255, 255, 255, 0.95);
}
.p-menu__inner {
  overflow: scroll;
  height: calc(100vh - 16.8vw);
}
.p-menu__button {
  position: relative;
  width: 9.3333333333vw;
  height: 6.9333333333vw;
}
.p-menu__button:focus {
  outline: none;
}
.p-menu__button__line {
  transition: all 0.15s 0.15s, transform 0.15s;
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  border-top: 0.2666666667vw solid #cdc0a9;
}
.p-menu__button__line.no1 {
  top: 0;
}
.p-menu__button__line.no2 {
  top: 50%;
  transform: translateY(-50%);
}
.p-menu__button__line.no3 {
  top: calc(100% - 0.2666666667vw);
}
.p-menu__button.is-active .p-menu__button__line {
  transition: all 0.15s, transform 0.15s 0.15s;
}
.p-menu__button.is-active .no1 {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.p-menu__button.is-active .no2 {
  opacity: 0;
}
.p-menu__button.is-active .no3 {
  top: calc(50% - 0.2666666667vw);
  transform: translateY(50%) rotate(-45deg);
}
.p-menu__nav {
  margin: 4vw;
}
.p-menu__nav__item + .p-menu__nav__item {
  margin-top: 1.3333333333vw;
}
.p-menu__nav__item a {
  display: flex;
  align-items: center;
  height: 15.7333333333vw;
  border: 0.2666666667vw solid #cbcbcb;
  border-radius: 1.3333333333vw;
  background: #fff;
  font-size: 1.4rem;
  color: #666;
}
.p-menu__nav__item a::before {
  content: "";
  display: block;
  width: 17.6vw;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.p-menu__nav__item.aftercare a::before {
  height: 8.5333333333vw;
  background-image: url(../img/aftercare.svg);
}
.p-menu__nav__item.line a::before {
  height: 9.6vw;
  background-image: url(../img/line2.svg);
}
.p-menu__nav__item.reservation a::before {
  height: 9.2vw;
  background-image: url(../img/reservation2.svg);
}
.p-menu__nav__item.tel a::before {
  height: 9.6vw;
  background-image: url(../img/tel2.svg);
}
.p-menu__nav__item.introduction a::before {
  height: 9.2vw;
  background-image: url(../img/introduction2.svg);
}
.p-menu__clinic {
  margin: 0 4vw 4vw;
  border-radius: 1.3333333333vw;
  background: rgba(183, 165, 135, 0.5);
}
.p-menu__clinic__title {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 11.3333333333vw;
}
.p-menu__clinic__title a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #666;
}
.p-menu__clinic__title img {
  margin-right: 2vw;
  width: 29.8666666667vw;
}
.p-menu__link__list {
  display: flex;
  flex-wrap: wrap;
}
.p-menu__link__item {
  box-sizing: border-box;
  width: 50%;
  height: 11.2vw;
  border-top: 0.2666666667vw solid #fff;
}
.p-menu__link__item:nth-child(even) {
  border-left: 0.2666666667vw solid #fff;
}
.p-menu__link__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-size: 1.3rem;
  color: #666;
}
.p-menu__subcontents {
  margin: 0 4vw 2vw;
}
.p-menu__subcontents__item {
  line-height: 1.7692307692;
  font-size: 1.3rem;
}
.p-menu__subcontents__item::before {
  content: "●";
  margin-right: 0.5em;
  color: #a48c65;
}
.p-menu__subcontents__item a {
  color: #666;
}

.amp-lightbox {
  display: flex;
  position: absolute;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.p-lightbox__wrapper {
  position: absolute;
  top: 13.3333333333vw;
  right: 4vw;
  bottom: 13.3333333333vw;
  left: 4vw;
  overflow: hidden;
  border-radius: 1.3333333333vw;
  background: rgba(255, 255, 255, 0.95);
  box-sizing: border-box;
}
.p-lightbox__header {
  margin: 1.3333333333vw 1.3333333333vw 4vw;
  border-radius: 0.6666666667vw;
  background: #414141;
}
.p-lightbox__inner {
  position: absolute;
  top: 17.0666666667vw;
  right: 5.3333333333vw;
  bottom: 5.3333333333vw;
  left: 5.3333333333vw;
  overflow-y: scroll;
  -webkit-mask-image: linear-gradient(#000 90%, transparent);
          mask-image: linear-gradient(#000 90%, transparent);
}
.p-lightbox__title {
  padding: 4vw 0;
  background: linear-gradient(#e9e3da, #b7a587);
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  color: #a38c66;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-lightbox__button {
  position: absolute;
  top: 1.6vw;
  right: 1.6vw;
  overflow: hidden;
  width: 11.2vw;
  height: 11.2vw;
}
.p-lightbox__button:focus {
  outline: none;
}
.p-lightbox__button::before, .p-lightbox__button::after {
  content: "";
  display: block;
  position: absolute;
}
.p-lightbox__button::before {
  right: 0;
  bottom: 50%;
  left: 0;
  border-top: 0.2666666667vw solid #acacac;
  transform: translateY(50%) rotate(45deg);
}
.p-lightbox__button::after {
  top: 0;
  right: 50%;
  bottom: 0;
  border-left: 0.2666666667vw solid #acacac;
  transform: translateX(50%) rotate(45deg);
}
.p-lightbox__contents {
  line-height: 1.75;
  font-size: 1.2rem;
}

.p-message {
  color: #666;
}
.p-message__list {
  margin-bottom: 6vw;
}
.p-message__item {
  margin-bottom: 2.6666666667vw;
  padding: 4vw 0 6.6666666667vw;
  border-bottom: 0.2666666667vw dashed #c5c5c5;
}
.p-message__item:last-child {
  margin: 0;
  padding: 0;
  border-bottom: 0;
}
.p-message__item__header {
  margin-bottom: 4.1333333333vw;
}
.p-message__item__date {
  font-size: 1rem;
}
.p-message__item__body {
  margin-bottom: 6.8vw;
}
.p-message__item__text {
  line-height: 1.75;
  font-size: 1.2rem;
}
.p-message__item__text + .p-message__item__text {
  margin-top: 1em;
}
.p-message__item__text a {
  display: inline-flex;
  position: relative;
  padding-right: 4.2666666667vw;
  text-decoration: underline;
  color: #a48b64;
}
.p-message__item__text a::before, .p-message__item__text a::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.p-message__item__text a::before {
  right: 0;
  width: 3.4666666667vw;
  height: 3.4666666667vw;
  border-radius: 1.7333333333vw;
  background: #4d4d4d;
}
.p-message__item__text a::after {
  right: 1.2vw;
  border-top: 0.8vw solid transparent;
  border-bottom: 0.8vw solid transparent;
  border-left: 0.8vw solid #b7a585;
}
.p-message__item__footer {
  text-align: right;
}
.p-message__item__from {
  font-size: 1.2rem;
}
.p-message__item.new .p-message__item__date {
  display: flex;
  align-items: center;
}
.p-message__item.new .p-message__item__date::after {
  content: "";
  display: block;
  margin-left: 1.0666666667vw;
  padding: 0 1.3333333333vw;
  width: 6.9333333333vw;
  height: 3.2vw;
  border-radius: 1.6vw;
  background: url(../img/icon_new.png) center no-repeat #e44c64;
  background-size: contain;
}

.js-anchor-point {
  position: relative !important;
}

.js-anchor-position {
  display: block !important;
  position: absolute !important;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 20.9333333333vw;
  pointer-events: none;
}
