﻿:root {  
  /* base color（RGB） */
  --color-dark: 35,65,100;
  --color-10: 35,85,135;
  --color-8: 50,115,180;
  --color-6: 32,32,32;
  --color-5: 32,32,32;
  --color-4: 175,205,245;
  --color-2: 218,232,251;
  --color-1: 229,242,251;
  
  /* sub color（RGB） */
  --scolor-10: 242,146,12;
  --scolor-8: 244,166,12;
  --scolor-6: 247,188,73;
  --scolor-5: 249,206,122;
  --scolor-4: 251,224,170;
  --scolor-1: 255,250,238;
  
  /* accent color（RGB） */
  /*
  --acolor-10: ;
  --acolor-8: ;
  --acolor-6: ;
  --acolor-5: ;
  --acolor-4: ;
  --acolor-1: ;
  */
  
  /* link color */
  --fc-link: rgba(var(--color-8),1);
  --fc-link-hover: rgba(var(--color-5),1);
  
  /* TEL */
  --tel-ic: url("../image/icon/tel.svg");
  --tel-fc: rgba(var(--scolor-8),1);
  
  /* fancybox thumbnail */
  --fancybox-tmb-bg: rgba(0,0,0,0.2);
  --fancybox-tmb-border-width: 3px;
  /*--fancybox-tmb-border-color: ;*/
  /*--fancybox-progress-color: ;*/
}


/*----------------------------------------------------------------------------------------------------

  見出し
  
----------------------------------------------------------------------------------------------------*/
.p-hdLine {
  line-height: 1.2;
  color: rgba(var(--color-10),1);
  font-weight: 500;
}
@media print, screen and (min-width:751px) {
  .p-hdLine {
    font-size: var(--fs-4l);
  }
}
@media screen and (max-width:750px) {
  .p-hdLine {
    font-size: var(--fs-3l);
  }
}

/*--------------------------------------------------------------------------------
  小見出し
--------------------------------------------------------------------------------*/
.p-sub-hdLine {
  background: rgba(var(--color-6),1);
  color: #fff;
  line-height: 1.2;
  font-weight: 500;
  text-align: left;
  padding: 0.65em 0.75em;
  font-size: var(--fs-l);
}
@media screen and (max-width:750px) {
  .p-sub-hdLine {
    font-size: var(--fs-m);
  }
}

/*----------------------------------------------------------------------------------------------------

  Button
  
----------------------------------------------------------------------------------------------------*/
.p-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  vertical-align: middle;
  border: none;
  margin: 0;
  outline: none;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  line-height: 1.2;
  position: relative;
  overflow: hidden;
  font-weight: 400;
  transition: .2s all !important;
}
.p-btn[btn-size="S"] {
  padding: 0.5em 1.5em;
}
.p-btn[btn-size="M"] {
  padding: 0.5em 2em;
}
@media print, screen and (min-width:751px) {
  .p-btn {
    padding: 0.7em 3em;
  }
}
@media screen and (max-width:750px) {
  .p-btn {
    padding: 0.7em 2em;
  }
}
.p-btn[btn-txt="left"] {
  text-align: left;
  padding-left: 1em;
}
/*
.ua-pc .p-btn {
  transition: border 0.15s ease-out, background 0.15s ease-out, color 0.1s ease-out;
}
*/
.p-btn,
.p-btn:visited,
.p-btn:hover,
.ua-pc .p-btn:hover,
.p-btn a,
.p-btn a:visited,
.p-btn a:hover,
.ua-pc .p-btn a:hover {
  color: inherit;
  text-decoration: none;
}
.p-btn .p-arrow:not([arrow="prev"]) { margin-right: -0.75em; margin-left: 0.5em; }
.p-btn .p-arrow[arrow="prev"] { margin-left: -0.75em; margin-right: 0.5em; }

/*--------------------------------------------------------------------------------
  背景有
--------------------------------------------------------------------------------*/
.p-btn,
.p-btn:visited,
.p-btn:hover,
.p-btn a,
.p-btn a:visited,
.p-btn a:hover {
  color: #fff;
  background-color: #fff;
}
.ua-pc .p-btn:hover,
.ua-pc .p-btn a:hover,
.ua-pc a:hover .p-btn {
  color: #fff;
  background-color: rgba(var(--color-5),1);
}
/* sub color */
.p-btn[color="sub"],
.p-btn[color="sub"]:visited,
.p-btn[color="sub"]:hover,
.p-btn[color="sub"] a,
.p-btn[color="sub"] a:visited,
.p-btn[color="sub"] a:hover {
  color: #fff;
  background-color: rgba(var(--scolor-8),1);
}
.ua-pc .p-btn[color="sub"]:hover,
.ua-pc .p-btn[color="sub"] a:hover,
.ua-pc a:hover .p-btn[color="sub"] {
  color: #fff;
  background-color: rgba(var(--scolor-6),1);
}

/*--------------------------------------------------------------------------------
  線有
--------------------------------------------------------------------------------*/
.p-btn[type="line"],
.p-btn[type="line"]:visited,
.p-btn[type="line"]:hover,
.p-btn[type="line"] a,
.p-btn[type="line"] a:visited,
.p-btn[type="line"] a:hover {
  color: rgba(var(--color-6),1);
  background-color: transparent;
  border: 1px solid rgba(var(--color-4),1);
  filter: drop-shadow(10px 10px 0px #202020);
}
.p-btn[type="line1"],
.p-btn[type="line1"]:visited,
.p-btn[type="line1"]:hover,
.p-btn[type="line1"] a,
.p-btn[type="line1"] a:visited,
.p-btn[type="line1"] a:hover {
  color: rgba(var(--color-5),1);
  background-color: #fff;
  border: 1px solid rgba(var(--color-5),1);
  filter: drop-shadow(10px 10px 0px #202020);
}
.ua-pc .p-btn[type="line"]:hover,
.ua-pc .p-btn[type="line"] a:hover,
.ua-pc .js__linkBox:hover .p-btn[type="line"],
.ua-pc .js__linkBox:hover .p-btn[type="line"] a,
.ua-pc .p-btn[type="line1"]:hover,
.ua-pc .p-btn[type="line1"] a:hover,
.ua-pc .js__linkBox:hover .p-btn[type="line1"],
.ua-pc .js__linkBox:hover .p-btn[type="line1"] a{
  filter: drop-shadow(0px 0px 0px #202020);
}

/*----------------------------------------------------------------------------------------------------

  矢印
  
----------------------------------------------------------------------------------------------------*/
.p-arrow {
  width: 1em;
  height: 1em;
  line-height: 0;
  vertical-align: middle;
  display: inline-block;
  margin-bottom: 0.2em;
  position: relative;
}
.p-arrow:before {
  content: "";
  display: inline-block;
  --width:30%;
  --border:1px;
  width: var(--width);
  height: var(--width);
  border-width: 0 var(--border) var(--border) 0;
  border-style: solid;
  border-color: var(--arrow);
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -webkit-calc(-1 * var(--width) / 2);
  margin-top: calc(-1 * var(--width) / 2);
  transform: rotate(-45deg) translate(-50%,-50%);
}
.p-btn .p-arrow { margin-bottom: 0; }
/* 左向き */
.p-arrow[arrow="prev"]:before {
  border-width: var(--border) 0 0 var(--border);
  margin-left: -webkit-calc(var(--width) / 2 - calc(var(--border) / 4));
  margin-left: calc(var(--width) / 2 - calc(var(--border) / 4));
}
/* 上向き */
.p-arrow[arrow="up"]:before {
  border-width: var(--border) var(--border) 0 0;
  margin-top: -webkit-calc(-1 * var(--width) / 4);
  margin-top: calc(-1 * var(--width) / 4);
  margin-left: -webkit-calc(var(--width) / 4);
  margin-left: calc(var(--width) / 4);
}
/* 下向き */
.p-arrow[arrow="down"]:before {
  border-width: 0 0 var(--border) var(--border);
  margin-top: -webkit-calc(-1 * var(--width) / 1.5 + calc(var(--border) / 6));
  margin-top: calc(-1 * var(--width) / 1.5 + calc(var(--border) / 6));
  margin-left: -webkit-calc(var(--width) / 4);
  margin-left: calc(var(--width) / 4);
}

/*--------------------------------------------------------------------------------
  線有
--------------------------------------------------------------------------------*/
.p-arrow[type="line"] {
  border: 1px solid rgba(var(--color-5),1);
  background-color: transparent;
}
.ua-pc a.p-arrow[type="line"]:hover {
  background-color: rgba(var(--color-5),1);
}
.ua-pc a.p-arrow[type="line"]:hover:before {
  border-color: #fff;
}

/*--------------------------------------------------------------------------------
  背景有
--------------------------------------------------------------------------------*/
.p-arrow[type="bg"] {
  background-color: rgba(var(--color-5),1);
}
.ua-pc a.p-arrow[type="bg"]:hover {
  background-color: rgba(var(--color-4),1);
}
.p-arrow[type="bg"]:before {
  border-color: #fff;
}

/*----------------------------------------------------------------------------------------------------

  Icon
  
----------------------------------------------------------------------------------------------------*/
.p-icon {
  display: inline-block;
  margin-bottom: -0.2em;
}
.p-icon:before {
  content: "";
  width: 1em;
  height: 1em;
  display: inline-block;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-bottom: 0.2em;
}
.p-icon[icon-ps="right"]:before {
  display: none;
}
.p-icon--mgR:before,
.p-icon--mgR:after { margin-right:1.25rem; }
.p-icon--mgL:before,
.p-icon--mgL:after { margin-left:1.25rem; }
.p-icon--mgR-s:before,
.p-icon--mgR-s:after { margin-right:0.75rem; }
.p-icon--mgL-s:before,
.p-icon--mgL-s:after { margin-left:0.75rem; }

/* TEL */
.p-icon[icon="tel"]:before {
  width: 0.8em;
  background-image: var(--tel-ic);
  background-size: auto 0.8em;
}
/* ダウンロード */
.p-icon[icon="dl"]:before {
  background-image: url(../image/icon/dl.svg);
}
.p-icon[icon="dl"][color="white"]:before {
  background-image: url(../image/icon/dl_white.svg);
}
/* ファイル */
.p-icon[icon="file"]:before {
  width: 1.1em;
  height: 1.1em;
  background-image: url(../image/icon/file.svg);
}
.p-icon[icon="file"][color="white"]:before {
  background-image: url(../image/icon/file_white.svg);
}
/*
.p-icon--txt[icon="file"]:before {
  margin-left: -1.6em;
}
*/

/*----------------------------------------------------------------------------------------------------

  List
  
----------------------------------------------------------------------------------------------------*/
ul.p-list,
ol.p-list { margin-left: 1.25em; }
ul.p-list li,
ol.p-list li {
  line-height: var(--line-height-m);
}
ul.p-list li:not(:first-child),
ol.p-list li:not(:first-child),
ul.p-listMk li:not(:first-child) {
  padding-top: 0.25em;
}

/*--------------------------------------------------------------------------------
  マーク
--------------------------------------------------------------------------------*/
ul.p-listMk {
  list-style: none;
  line-height: var(--line-height-m);
}
ul.p-listMk[listmk="maru"] li:before,
:not(ul).p-listMk[listmk="maru"]:before {
  content: "●";
  font-size: 0.8em;
  padding-bottom: 0.2em;
  color: rgba(var(--color-4),1);
}
ul.p-listMk[listmk="dot"] li:before,
:not(ul).p-listMk[listmk="dot"]:before {
  content: "・";
  font-size: 0.8em;
  padding-bottom: 0.2em;
}
ul.p-listMk[listmk="annot"] li:before,
:not(ul).p-listMk[listmk="annot"]:before {
  content: "※";
}
ul.p-listMk:not([listmk="annot"]) li { padding-left: 1.2em; }
ul.p-listMk[listmk="annot"] li { padding-left: 1em; }
ul.p-listMk li:before {
  display: inline-block;
  vertical-align: middle;
}
ul.p-listMk[listmk="annot"] li:before {
  margin-left: -1.2em;
  margin-right: 0.2em;
}
ul.p-listMk:not([listmk="annot"]) li:before {
  margin-left: -1.4em;
  margin-right: 0.4em;
}

/*----------------------------------------------------------------------------------------------------

  Photo hover
  
----------------------------------------------------------------------------------------------------*/
.p-hvPhoto {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.p-hvPhoto__img {
  transition: transform 0.8s var(--cubic-bezier);
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit:cover;"
}
.ua-pc .p-hvPhoto:hover .p-hvPhoto__img,
.ua-pc .js__linkBox:hover .p-hvPhoto__img {
  transform: scale(1.04) rotate(0.001deg);
}

/*----------------------------------------------------------------------------------------------------

  Photo zoom
  
----------------------------------------------------------------------------------------------------*/
.p-zmPhoto {
  display: inline-block;
}
.p-zmPhoto a {
  display: block;
  position: relative;
}
.p-zmPhoto a:after {
  content: "";
  width: 1.2em;
  height: 1.2em;
  display: inline-block;
  position: absolute;
  right: 0.75em;
  bottom: 0.75em;
  background: url("../image/icon/zoom.svg") no-repeat center center;
  background-size: contain;
}

/*----------------------------------------------------------------------------------------------------

  ブログパターン
  
----------------------------------------------------------------------------------------------------*/
.p-glog {
  text-align: left;
}
.p-glog:not(:first-of-type) {
  padding-top: 2em;
}
.p-glog:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.p-glog a {
  text-decoration: underline;
}
.p-glog a:hover {
  text-decoration: none;
}
.p-glog ul,
.p-glog ol {
  margin-left: 1.25em;
}
.p-glog b,
.p-glog strong {
  font-weight: 500;
}
.p-glog__txt {
  word-break: break-all;
}
.p-glog__txt--column,
.p-glog__img--center,
.p-glog__datafile {
  width: 100%;
}
.p-glog__img--center {
  text-align: center;
}
.p-glog__img--left,
.p-glog__img--right {
  display: inline-block;
}
.p-glog__img--left:not([data-mg="0"]),
.p-glog__img--right:not([data-mg="0"]),
.img--center__item[data-ps="top"]:not([data-mg="0"]) {
  margin-bottom: 1.5em;
}
.img--center__item[data-ps="bottom"]:not([data-mg="0"]) {
  margin-top: 1.5em;
}
.p-glog__img--center img,
.p-glog__img--left img,
.p-glog__img--right img {
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}
.img--center__item {
  display: inline-block;
}
.p-glog__datafile {
  padding: 0.5em 0;
}
.p-glog__datafile + .p-glog__txt {
  padding-top: 1em;
}
.p-glog__txt + .p-glog__datafile {
  padding-top: 1em;
}
.p-glog__img__cp {
  display: block;
  text-align: center;
  line-height: var(--line-height-s);
  padding-top: 0.5em;
  font-size: var(--fs-2s);
  color: rgba(0,0,0,0.5);
}
.p-glog__back {
  padding-top: var(--block-space-l);
}
.p-glog__more {
  padding-top: 1.5em;
}
@media print, screen and (min-width:751px) {
  .p-glog__img--left {
    float: left;
    margin-right: 1.5em;
  }
  .p-glog__img--right {
    float: right;
    margin-left: 1.5em;
  }
  .p-glog__img--left img,
  .p-glog__img--right img,
  .img--center__item img {
    max-width: 100% !important;
  }
}
@media screen and (max-width:750px) {
  .p-glog__img--left,
  .p-glog__img--right,
  .p-glog__img--left + .p-glog__txt,
  .p-glog__img--right + .p-glog__txt {
    width: 100% !important;
  }
  .p-glog__img--left,
  .p-glog__img--right {
    max-width: 100% !important;
    text-align: center;
  }
  .p-glog__img--left img,
  .p-glog__img--right img,
  .img--center__item img {
    width: 100% !important;
  }
}

/*--------------------------------------------------------------------------------
  非公開
--------------------------------------------------------------------------------*/
.private-alert p {
  text-align: left;
  background-color: #fff0f5;
  border: 1px dotted #eb2d32;
  line-height: var(--line-height-s);
  color: #eb2d32;
  padding: 0.75em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.private-alert b {
  font-size: var(--fs-3s);
  font-weight: 500;
  background-color: #eb2d32;
  color: #fff;
  padding: 0.4em 0.4em 0.5em 0.4em;
  vertical-align: middle;
  margin-right: 1em;
  white-space: nowrap;
}
.private-alert small {
  font-size: var(--fs-s);
  -webkit-flex: 1;
  flex: 1;
}

/*----------------------------------------------------------------------------------------------------

  ページネーション
  
----------------------------------------------------------------------------------------------------*/
.p-pagination {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-pagination--center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.p-pagination__list {
  list-style: none;
  text-align: center;
  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;
}
.p-pagination__list a,
.p-pagination__list a:visited,
.p-pagination__list a:hover { text-decoration: none; }
.p-pagination__list li {
  line-height: 1;
}
.p-pagination a {
  display: block;
}
.p-pagination__list li,
.p-pagination__list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-pagination__list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.8em;
  height: 1.8em;
  color: inherit;
  border: 1px solid rgba(var(--color-6),1);
  padding: 0.3em;
  margin-left: 0.3em;
  margin-right: 0.3em;
  line-height: 1;
  transition: .2s all !important;
}
.p-pagination__list li a:hover {
  color: #fff;
  background-color: rgba(var(--color-6),1);
}
.p-pagination__list li span.is-active {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.8em;
  height: 1.8em;
  color: #fff;
  background-color: rgba(var(--color-6),1);
  padding: 0.3em;
  margin-left: 0.3em;
  margin-right: 0.3em;
  line-height: 1;
}
.p-pagination__list li.first:after,
.p-pagination__list li.last:before {
  content: "...";
  font-size: 87.5%;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-pagination .more a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.8em;
  height: 1.8em;
  color: inherit;
  border: 1px solid rgba(var(--color-6),1);
  padding: 0.3em;
  margin-left: 0.3em;
  margin-right: 0.3em;
  line-height: 1;
  transition: .2s all !important;
}
.p-pagination .more a:hover {
  color: #fff !important;
  background-color: rgba(var(--color-6),1);
}
.p-pagination .more .p-arrow { font-size: 137.5%; margin-bottom: 0; }

/*----------------------------------------------------------------------------------------------------

  診療時間
  
----------------------------------------------------------------------------------------------------*/
.p-hrsTbl {
  width: 100%;
  min-width: 400px;
  border-collapse: collapse;
  line-height: var(--line-height-s);
  color: rgba(var(--color-6),1);
}
.p-hrsTbl th,
.p-hrsTbl td {
  border-bottom: 1px solid rgba(var(--color-5),0.3);
  text-align: center;
  vertical-align: middle;
}
.p-hrsTbl th {
  white-space: nowrap;
}
.p-hrsTbl thead th {
  background-color: rgba(var(--color-5),1);
  color: #fff;
  padding: 0.6em 0.5em;
  font-size: var(--fs-s);
  font-weight: 400;
}
.p-hrsTbl tbody th,
.p-hrsTbl tbody td {
  background-color: #fff;
  padding: 0.75em 0.5em;
}
.p-hrsTbl tbody th {
  font-weight: 300;
}

/*--------------------------------------------------------------------------------
  マーク
--------------------------------------------------------------------------------*/
.p-hrs-mk {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
  line-height: 0;
  vertical-align: middle;
  width: 1em;
  height: 1em;
  position: relative;
  --hrs-mk-color: rgba(var(--color-4),1);
}

/* 丸
----------------------------------------------------------------------*/
.p-hrs-mk[hrs-mk="1"] {
  width: 0.8em;
  height: 0.8em;
  background-color: var(--hrs-mk-color);
  border-radius: 100%;
}

/* 三角
----------------------------------------------------------------------*/
.hrs-mk[hrs-mk="2"] {
  border-style: solid;
  border-width: 0 0.5em 0.7em 0.5em;
  border-color: transparent transparent var(--hrs-mk-color) transparent;
  margin-bottom: 0.3em;
}

/* 斜線
----------------------------------------------------------------------*/
.p-hrs-mk[hrs-mk="0"]:before {
  content: "";
  display: block;
  width: 2px;
  border-radius: 1px;
  height: 100%;
  background-color: var(--hrs-mk-color);
  position: absolute;
  top: 0;
  left: 50%;
  transform: rotate(45deg);
}

/*--------------------------------------------------------------------------------
  備考
--------------------------------------------------------------------------------*/
.p-hrs-bikou,
.p-hrs-bikouList {
  line-height: var(--line-height-m);
}
.p-hrs-bikou {
  padding-top: 1em;
}
.p-hrs-bikouList {
  padding-top: 1.5em;
}
.p-hrs-bikouList dt:not(:first-of-type),
.p-hrs-bikouList dd:not(:first-of-type) {
  padding-top: 0.25em;
}
.p-hrs-bikouList dt {
  width: 4.25em;
  float: left;
  clear :both;  
  font-weight: 500;
  text-align-last: justify; /* Chrome・Firefox用 */
  text-justify: inter-ideograph; /* IE・Edge用 */
}
.p-hrs-bikouList dd {
  margin-left: 4.25em;
  padding-left: 1em;
}

/*----------------------------------------------------------------------------------------------------

  Google MAP
  
----------------------------------------------------------------------------------------------------*/
.p-gmap {
  width: 100%;
  max-width: var(--base-width);
  height: 60vh;
  margin-left: auto;
  margin-right: auto;
}
.p-gmap iframe {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}
@media print,screen and (min-width:751px) {
  .p-gmap {
    max-height: 600px;
    min-height: 400px;
  }
}
@media screen and (max-width:750px) {
  .p-gmap {
    max-height: 400px;
    min-height: 250px;
  }
}
