@charset "utf-8";
/*!
 * Author and Copyright
 * Author    :  prosysta Inc, (http://prosysta.co.jp/)
 * Created   :  2018.05
 * Modified  :  *******
 */

/* helper */

.centered {
  margin: auto;
  text-align: center;
}
.off {
  display: none /*!important*/;
  z-index: -1;
}
.fixed {
  /*position: fixed;*/
}
.heading-under-line {
  border-bottom: #3a3a3a solid 1px;
  padding-bottom: .5em;
  margin-bottom: 1.5em; 
}
.text-right  { text-align: right; }
.text-center { text-align: center; }
.text-left   { text-align: left; }
.clear {
    clear: both;
}
.clearfix:after {
    clear: both;
    content: " ";
    display: block;
}
.fade-in {
  -moz-transition: opacity 1.2s, transform .7s;
  -webkit-transition: opacity 1.2s, transform .7s;
  -ms-transition: opacity 1.2s, transform .7s;
  transition: opacity 1.2s, transform .7s;
}
.relative {
  position: relative;
}
.burette {
  margin-left: -.25em;
  margin-right: -.25em;
}
.cols-radius-large .col a {
  border-radius: 2rem;
  overflow: hidden;
}
.cols-circle-clip .col figure {
  border-radius: 50%;
  overflow: hidden;
}
.nowrap {
  white-space: nowrap;
  position: relative;
}
.nowrap > span {
  position: absolute;
  transform: translateX(-50%);
  top: 0;
}
.nowrap:before {
  content: " ";
  display: block;
  width: 1em;
  height: 2em; /* = html line-height: 2; */
}
.clinic-info .nowrap:before {
  content: none;
}
.panel {
  background-color: #fff;
}
.flex-grow {
  flex-grow: 1;
}
.mb-1em { margin-bottom: 1em; }
.mt-1em { margin-top: 1em; }
.mb-2em { margin-bottom: 2em; }
.mt-2em { margin-top: 2em; }
.small {
  font-size: .9em;
  display: inline-block;
}
.large {
  font-size: 1.25em;
}
.bold {
  font-weight: bold;
}
.inline-block {
  display: inline-block;
}

@media (max-width:767px) { /* for Tablet less than */
  .pc,
  [class*="flex"].pc,
  .middle-size-only {
  display: none;
}
/* 180628 スマホメニュー開でスクロール無効にしたい→fixedにするとページトップに戻ってしまう */
html.fixed {
  /*position: fixed;*/
}
html.fixed ,
.fixed body {
  overflow: hidden;
  max-height: 100%;
}
.fixed body {
}

} /* END for Tablet less than */


@media (min-width:768px) { /* for Tablet over */
  .sp {
    display: none;
  }

} /* END for Tablet over */


@media (min-width:961px) { /* for middle-size-only */
  .middle-size-only {
    display: none;
  }

} /* END for middle-size-only */


@media all and (-ms-high-contrast:none){ /* IE11 */
  *::-ms-backdrop, .flex-grow { letter-spacing: -.2rem; font-size: .85em; }
  *::-ms-backdrop, .flex-grow span { transform: scaleX(.85); position: relative; left: -1.2em; }
}
