@charset "UTF-8";

/* ==========================================================================
Foundation
========================================================================== */
/* Reset
----------------------------------------------------------------- */
/* Base
----------------------------------------------------------------- */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-family: sans-serif;
  font-size: calc(1em * .625);
  color: #000;
}
html.fz-s {
  font-size: calc( 1em * .5 );
}
html.fz-m {
  font-size: calc( 1em * .625 );
}
html.fz-l {
  font-size: calc( 1em * 1.25 );
}
html.fz-s input[type=radio],
html.fz-s input[type=checkbox] {
  transform: scale( calc( .5 / .625 ) );
}
html.fz-l input[type=radio],
html.fz-l input[type=checkbox] {
  transform: scale( calc( 1.25 / .625 ) );
}

body {
  margin-top: 60px;
  font-size: 1.6rem;
  line-height: 1.5;
}
@media ( min-width: 768px ) {
  body {
    margin-top: 80px;
  }
}
ul,
ol {
  list-style: none;
}
ol.list-decimal {
  list-style: decimal inside;
}
dd {
  margin-bottom: 0;
}
img, video {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
a {
  text-decoration: none;
}
a.hover-zoom img {
  transition-duration: 0.5s;
}
a.hover-zoom:hover img {
	-webkit-transform: scale(1.1);
  transform: scale(1.1);
  overflow: hidden;
}

.border-dotted {
  border-style: dotted!important;
}

.ff-poiret_one {
  font-family: 'Poiret One', cursive;
}
.fz-75 {
  font-size: .75em;
}

/* Utility
----------------------------------------------------------------- */
/* ==========================================================================
Layout
========================================================================== */

/* Header
----------------------------------------------------------------- */
header {
  height: 60px;
}
@media ( min-width: 768px ) {
  header {
    height: 80px;
  }
}

/* site-title */
.site-title {
  margin-right: 60px;
  word-break: keep-all;
}
@media ( min-width: 768px ) {
  .site-title {
    margin-right: 80px;
  }
}
.site-title img {
  max-height: 46px;
}
@media ( min-width: 768px ) {
  .site-title img {
    max-height: 64px;
  }
}

/* drawer-hamburger */
.drawer-hamburger {
  padding: 15px 16px;
  width: 26px;
  z-index: 9999;
  -webkit-transition: unset;
  transition: unset;
}
@media ( min-width: 768px ) {
  .drawer-hamburger {
    padding: 25px 27px;
  }
}
.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  background: #fff;
}
.drawer-hamburger-icon {
  margin-top: 8px;
}
.drawer-hamburger-icon:before {
  top: -8px;
}
.drawer-hamburger-icon:after {
  top: 8px;
}
.drawer-hamburger-title:before {
  margin-top: 10px;
  display: block;
  color: #fff;
  font-size: 10px;
  line-height: 1;
  content: 'MENU';
}
.drawer-open .drawer-hamburger-title:before {
  content: 'CLOSE';
}
.drawer-nav {
  min-height: 60px;
  background: #fff;
  z-index: 9998;
}
@media ( min-width: 768px ) {
  .drawer-nav {
    min-height: 80px;
/*    background: transparent;*/
  }
}
.drawer-menu li {
  padding:10px;
}
.navbar {
  padding: 0;
  height: 100%;
}
.navbar-toggler:focus {
  box-shadow: 0 0 0 0;
}
@media ( min-width: 768px ) {
  .navbar-expand-md .drawer-nav {
    position: static;
    width: 100%;
  }
}
.navbar a {
  min-width: 44px;
  min-height: 44px;
}

/* fontsize */
.sect-fontsize {
  margin-right: 60px;
  padding: 0 16px;
  background: #eee;
  border-radius: 50px;
  word-break: keep-all;
}
@media ( min-width: 768px ) {
  .sect-fontsize {
    margin-right: 80px;
  }
}
.sect-fontsize .sect-head::after {
  padding: 0 8px;
  content: '|';
}
.sect-fontsize .sect-head span {
  padding: 8px;
}
.sect-fontsize ul {
  margin: 0;
  padding: 0;
}
.sect-fontsize ul li {
  padding: 0;
}
.sect-fontsize ul li a {
  padding: 8px;
  min-width: auto;
  min-height: auto;
}

/* Main
----------------------------------------------------------------- */

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

/* pagetop */
footer .pagetop {
  width: 60px;
  height: 60px;
  display: none;
  position: fixed;
  z-index: 2000;
  right: 0;
  bottom: 0;
  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;
  outline: none;
}
@media ( min-width: 768px ) {
  footer .pagetop {
    width: 80px;
    height: 80px;
  }
}
.pagetop-title:before {
  margin-top: 10px;
  display: block;
  color: #fff;
  font-size: 10px;
  line-height: 1;
  content: 'PageTop';
}

.footer-content {
/*  background: #f3efe9;*/
  border-style: solid;
  border-bottom-width: 10px;
}
.footer-content .menu-fnav li:last-child a span {
  border-right-style: solid;
  border-right-width: 1px;
}

/* ==========================================================================
Object
========================================================================== */
/* Component
----------------------------------------------------------------- */
.img__wrapper {
	position: relative;
	overflow: hidden;
}
.img__wrapper:before {
  content: "";
  display: block;
}
.img__wrapper--square:before {
  padding-top: 100%;
}
.img__wrapper--portrait:before {
/*  padding-top: 161.8%;*/
  padding-top: calc( 100% * 4 / 3 );
}
.img__wrapper--landscape:before {
/*  padding-top: 61.8%;*/
  padding-top: calc( 100% * 3 / 4 );
}
.img__wrapper img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
  overflow: hidden;
}
.img__wrapper .img-dummy {
  background: #f7f7f7;
  position: absolute;
  width: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  word-break: break-all;
}
.img__wrapper .img-dummy__inner {
  height: 100%;
  position: relative;
}
.img__wrapper .img-dummy__inner span {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #ccc;
  transform: translate( -50%, -50% );
}

/* lightbox */
.modal--lightbox .modal-dialog {
  margin: 1.75rem;
  max-width: 100%;
  max-height: 100%;
}
.modal--lightbox .modal-content {
  width: auto;
}
.modal--lightbox img {
  max-height: calc(100vh - 3.5rem - 6.4rem - 1.5em );
  object-fit: scale-down;
}

/* youtube */
.youtube {
  position:relative;
  width:100%;
  height:0;
  padding-top:56.25%;
}
.youtube iframe {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

/* 見出し */
.design-h1 {
  padding: 1em 0 1.2em;
  position: relative;
  font-family: serif;
  text-align: center;
  letter-spacing: .25em;
}
.design-h1:before {
  width: 1.5em;
  height: 4px;
/*  background: #000;*/
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  content: '';
}
.design-h1:after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
/*  color: #000;*/
/*  font-size: 1.6rem;*/
  font-size: min( calc(1.365rem + 1.38vw), 2.4rem );
  letter-spacing: normal;
  content: attr( data-subtitle );
  transform: translateX(-50%);
}

.design-h2 {
/*  background: #ddd;*/
/*  border-bottom-color: #000;*/
  border-bottom-style: solid;
  border-bottom-width: 2px;
}

/* searchform（front-page, atchive-facility共通部分） */
.sect_searchform > .sect-head h2,
.sect_searchform > .sect-head h3 {
  padding: 0 1em;
  background: #fff;
  display: inline-block;
/*  color: #000;*/
}
.sect_searchform > .sect-body .btn {
  width: 100%;
/*  background: #000;*/
  border-width: 2px;
  color: #fff;
/*  box-shadow: 0 3px 0 0 #ddd;*/
}
.sect_searchform .sect-body .btn.active,
.sect_searchform .sect-body .btn:hover {
  background: #fff;
}

.btn-shadow {
  box-shadow: 0 3px 0 0 #ddd;
}

/*
.fa {
  position: relative;
  font-family: FontAwesome;
  font-style: normal;
}
.fa-lg {
  font-size: 1.33333em;
  line-height: .75em;
  vertical-align: -0.0667em;
}
.fa-2x {
  font-size: 2em;
}
.fa-chevron-circle-right:before {
  content: '\f138';
}
.fa-phone:before {
  content: '\f095';
}
.fa-envelope-o:before {
  content: '\f003';
}
*/
.ia_fa {
  position: relative;
}
.ia_fa-circle--outline {
  padding-right: 1.5em;
}
.ia_fa-circle--outline:before,
.ia_fa-circle--outline:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.ia_fa-circle--outline:before {
  color: #fff;
  z-index: 2;
}
.ia_fa-circle--outline:after {
  font-size: 1.75em;
  content: '\f111';
}

/* Project
----------------------------------------------------------------- */
/* front-page */

/* front-page > メインビジュアル */
.sect_front-page_mv {
  position: relative;
}
.sect_front-page_mv .item-catchcopy {
  width : 100%;
  text-align : center;
  overflow : hidden;
}
.sect_front-page_mv .item-catchcopy p {
  margin:0;
  display : inline-block;
  padding-left: 100%;
  font-family: serif;
  white-space : nowrap;
  line-height : 1em;
  animation : catchcopyScroll 20s linear infinite;
}
@keyframes catchcopyScroll {
  0% { transform: translateX(0) }
  100% { transform: translateX(-100%) }
}
.sect_front-page_mv .item-slide {
  padding: 0 0 3.125vw min(10vw, 190px);
}
@media ( min-width: 768px ) {
  .sect_front-page_mv .item-slide {
    padding-top: 3.125vw;
  }
}
.sect_front-page_mv .item-slide .slick img {
  border-radius: 20px 0 0 20px;
}
@media ( min-width: 768px ) {
  .sect_front-page_mv .item-slide .slick img {
    border-radius: 40px 0 0 40px;
  }
}
.sect_front-page_mv .item-layer01 {
  width: 25vw;
  max-width: 360px;
  position: absolute;
  right: 4vw;
  bottom: 0;
  z-index:1;
}
@media ( min-width: 768px ) {
  .sect_front-page_mv .item-layer01 {
    width: 19vw;
    bottom: 0;
  }
}

/* front-page > メインビジュアル > Scroll */
.item-scrolldown {
  height: min(9vw, 180px);
  display: none;
	position: absolute;
  top: 68%;
  bottom: calc(3.125vw);
	left: 4vw;
	z-index: 1
}
@media ( min-width: 768px ) {
	.item-scrolldown {
    display: block;
  }
}
.item-scrolldown-line {
  width: 100%;
  height: 100%;
  position: relative;
}
/* 丸の描写 */
.item-scrolldown-line:before {
  width: 10px;
  height: 10px;
/*  background: #000;*/
  border-radius: 50%;
  position: absolute;
  bottom: 0;
  left: -4px;
  content: '';
  /*丸の動き1.6秒かけて透過し、永遠にループ*/
  animation:
    circleMove 1.6s ease-in-out infinite,
    cirleMovehide 1.6s ease-out infinite;
}
/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circleMove{
  0% { bottom: calc( 100% - 5% ); }
  100% { bottom: -5px; }
}
/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirleMovehide{
  0% { opacity: 0; }
  50% { opacity: 1; }
  80% { opacity: 0.9; }
  100% { opacity: 0; }
}
/* 線の描写 */
.item-scrolldown-line:after {
  width: 1px;
  height: 100%;
  background: #999;
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
}
/*Scrollテキストの描写*/
.item-scrolldown-text {
  position: absolute;
  left: .5em;
  top: 50%;
  color: #999;
  text-align: center;
  letter-spacing: 0.05em;
  transform: translateY(-50%);
  /*縦書き設定*/
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}
.item-scrolldown-text span:first-child {
/*  color:#000;*/
}

/* front-page > 施設検索 > エリアから検索 */
.sect_front-page_searchform.sect_searchform_facility_area .sect-body {
  min-height: calc( ( 100vw - ( ( 1.6rem + 5px ) * 2 ) ) * .76 );
  background: url(../img/front-page/sp-front-page_searchform-facility_area_bg.png) no-repeat right top/100%;
}
@media ( min-width: 768px ) {
  .sect_front-page_searchform.sect_searchform_facility_area .sect-body {
    min-height: auto;
    background: none;
  }
}

/* front-page > 施設検索 > サービスから検索 */
.sect_front-page_searchform.sect_searchform_facility_service .sect-body .nav-item a {
/*  background: #ddd;*/
/*  border-color: #ddd;*/
}
.sect_front-page_searchform.sect_searchform_facility_service .sect-body .nav-item a.active,
.sect_front-page_searchform.sect_searchform_facility_service .sect-body .nav-item a:hover {
/*  background: #000;*/
/*  border-color: #000;*/
  color: #fff;
}

.sect_front-page_searchform.sect_searchform_facility_service .pc-content .tab-content-item {
  min-height: min( calc( ( 100vw - ( ( 1.6rem + 4.8rem ) * 2 ) ) * ( 390 / 1120 ) ), 390px );
/*  background: none no-repeat top right/cover;*/
  background: none no-repeat bottom left/contain;
}
.sect_front-page_searchform.sect_searchform_facility_service .pc-content .tab-content-item .sect-head h4 {
  padding: 1.6rem;
/*  color: #000;*/
/*  border-color: #000;*/
  border-style: solid;
  border-left-width: 4px;
/*  border: 1px solid #000;*/
}
.sect_front-page_searchform.sect_searchform_facility_service .pc-content .btn-facility_service {
  max-width: 200px;
}
.sect_front-page_searchform.sect_searchform_facility_service .sp-content .btn-facility_service {
  max-width: 460px;
}

/* archive-facility */
.sect_archive-facility_searchresult .sect-head h2 {
  display: flex;
  align-items: center;
}
.sect_archive-facility_searchresult .sect-head h2:before,
.sect_archive-facility_searchresult .sect-head h2:after {
  content: '';
  height: 4px;
  flex-grow: 1;
/*  background-color: #000;*/
}
.sect_archive-facility_searchresult .sect-head h2:before {
  margin-right: 5rem;
}
.sect_archive-facility_searchresult .sect-head h2:after {
  margin-left: 5rem;
}

.card.card_archive-facility .card-header .card-subtitle {
/*  background: #000;*/
/*  border-color: #000;*/
  border-radius: 4px;
  text-align: center;
}
.card.card_archive-facility .card-header .card-subtitle .service {
  color: #fff;
}
.card.card_archive-facility .card-header .card-subtitle .pref {
  background: #fff;
}
.card.card_archive-facility .card-body .card-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4; /* 制限したい行数が3の場合 */
  overflow: hidden;
}
.card.card_archive-facility .card-footer a {
/*  background: #ddd;*/
  border-radius: 0 0 16px 16px;
}


/* single-facility */

/* スライド */
.sect_single-facility_slide .slick-main .slick-list {
  margin: 0 auto;
}
@media ( min-width: 768px ) {
  .sect_single-facility_slide .slick-main .slick-list {
    width: 75%;
  }
}
.sect_single-facility_slide .slick-main .slick-prev {
  left: 0;
}
.sect_single-facility_slide .slick-main .slick-next {
  right: 0;
}
.sect_single-facility_slide .slick-main .slick-prev,
.sect_single-facility_slide .slick-main .slick-next {
  width: 40px;
  height: 40px;
  z-index: 999;
}
.sect_single-facility_slide .slick-main .slick-prev:before,
.sect_single-facility_slide .slick-main .slick-next:before {
/*  color: #000;*/
  font-size: 40px;
}
.sect_single-facility_slide .slick-main .slick-slide {
  position: relative;
}
.sect_single-facility_slide .slick-main .slick-slide p {
  padding: .5em;
  width: 100%;
	background: rgba(0,0,0,.6);
	display: block;
	position: absolute;
	bottom: 0;
	color: #fff;
}
.sect_single-facility_slide .slick-thumbnail {
  margin-top: 40px;
  position: relative;
}
.sect_single-facility_slide .slick-thumbnail:before {
  border-right: 50px solid transparent;
/*  border-bottom-color: #000;*/
  border-bottom-style: solid;
  border-bottom-width: 20px;
  border-left: 50px solid transparent;
  position: absolute;
  bottom: calc( 100% + 10px );
  left: 50%;
  right: 50%;
  content: '';
  transform: translateX( -50% );
}
.sect_single-facility_slide .slick-thumbnail .slick-slide {
  border: 2px solid transparent;
}
.sect_single-facility_slide .slick-thumbnail .slick-slide.slick-current {
/*  border-color: #000;*/
}

/* 施設概要 */
@media ( min-width: 768px ) {
  .sect_single-facility_outline_list dl {
/*    border-bottom-color: #000;*/
      border-bottom-style: dotted;
      border-bottom-width: 1px;
    }
}
@media ( min-width: 768px ) {
  .sect_single-facility_outline_list dl:first-child {
/*    border-top-color: #000;*/
      border-top-style: dotted;
      border-top-width: 1px;
    }
}
.sect_single-facility_outline_list dt {
/*  background: #000;*/
/*  border-radius: 4px;*/
/*  color: #fff;*/
}
@media ( min-width: 768px ) {
  .sect_single-facility_outline_list dt {
    margin-right: 1.5em;
    width: 25%;
  }
}
@media ( min-width: 768px ) {
  .sect_single-facility_outline_list dd {
    width: calc( 75% - 1.5em );
  }
}

/* 医療の受け入れ体制 */
.sect_single-facility_accept_list {
  display: flex;
  position: relative;
  text-align: center;
}
.sect_single-facility_accept_list dl {
	margin: 0;
/*  border-right-color: #eee;*/
/*  border-bottom-color: #eee;*/
  border-style: solid;
  border-width: 0 3px 3px 0;
}
/* 一番上の行 */
.sect_single-facility_accept_list dl:nth-child(-n+4) {
  border-top-width: 3px;
}
@media ( min-width: 768px ) {
  .sect_single-facility_accept_list dl:nth-child(-n+4) {
    border-top-width: 0;
  }
  .sect_single-facility_accept_list dl:nth-child(-n+6) {
    border-top-width: 3px;
  }
}
/* 一番左の行 */
.sect_single-facility_accept_list dl:first-child,
.sect_single-facility_accept_list dl:nth-child(4n+1) {
  border-left-width: 3px;
}
@media ( min-width: 768px ) {
  .sect_single-facility_accept_list dl:nth-child(4n+1) {
    border-left-width: 0;
  }
  .sect_single-facility_accept_list dl:nth-child(6n+1) {
    border-left-width: 3px;
  }
}
/* 左上のセル */
.sect_single-facility_accept_list dl:first-child,
.sect_single-facility_accept_list dl:first-child dt {
  border-radius: 1.25em 0 0 0;
}
/* 右上のセル */
.sect_single-facility_accept_list .row-cols-4 dl:nth-child(4),
.sect_single-facility_accept_list .row-cols-4 dl:nth-child(4) dt {
	border-radius: 0 1.25em 0 0;
}
@media ( min-width: 768px ) {
	.sect_single-facility_accept_list .row-cols-4 dl:nth-child(4),
	.sect_single-facility_accept_list .row-cols-4 dl:nth-child(4) dt {
		border-radius: 0;
	}
	.sect_single-facility_accept_list .row-cols-4 dl:nth-child(6),
	.sect_single-facility_accept_list .row-cols-md-6 dl:nth-child(6) dt {
		border-radius: 0 1.25em 0 0;
	}
}
/* 左下のセル */
.sect_single-facility_accept_list .row-cols-4 dl:nth-last-child(4),
.sect_single-facility_accept_list .row-cols-4 dl:nth-last-child(4) dd {
	border-radius: 0 0 0 1.25em;
}
@media ( min-width: 768px ) {
	.sect_single-facility_accept_list .row-cols-4 dl:nth-last-child(4),
	.sect_single-facility_accept_list .row-cols-4 dl:nth-last-child(4) dd {
		border-radius: 0;
	}
	.sect_single-facility_accept_list .row-cols-4 dl:nth-last-child(6),
	.sect_single-facility_accept_list .row-cols-md-6 dl:nth-last-child(6) dd {
		border-radius: 0 0 0 1.25em;
	}
}
/* 右下のセル */
.sect_single-facility_accept_list dl:last-child,
.sect_single-facility_accept_list dl:last-child dd {
	border-radius: 0 0 1.25em 0;
}

.sect_single-facility_accept_list dt {
	padding: 1em;
/*	background: #ddd;*/
}
.sect_single-facility_accept_list dd {
	padding: 1em;
}

.sect_single-facility_accept_list .chk_more {
	display: none;
}
.sect_single-facility_accept_list .lbl_more {
  width: 100%;
  height: 9.75em; /* グラデーションの高さ */
  background: linear-gradient(to top, rgba(250, 252, 252, 1) 0, rgba(250, 252, 252, 1) calc( ( 1em * 1.375 * ( 1.2 + .75 * 2 ) ) + 4px ), rgba(250, 252, 252, 0) 100%);
  position: absolute;
  bottom: 0;
  text-align: center;
  z-index: 1;
  cursor: pointer;
}
@media ( min-width: 768px ) {
  .sect_single-facility_accept_list .lbl_more {
    display: none;
  }
}
.sect_single-facility_accept_list .chk_more:checked + .lbl_more {
	background: inherit; /* 開いた時にグラデーションを消す */
}
.sect_single-facility_accept_list .lbl_more:after {
  padding: .75em;
  width: 400px;
  max-width: 100%;
  background: #f7f7f7;
/*  border-color: #000;*/
  border-style: solid;
  border-width: 2px;
  border-radius: 4px;
  position: absolute;
  bottom: 0;
  left: 50%;
/*  color: #000;*/
  font-family: FontAwesome;
  content: '\f13a'' もっと見る';
  transform: translateX(-50%);
}
.sect_single-facility_accept_list .chk_more:checked + .lbl_more:after {
	content: '\f139'' 閉じる';
}
.sect_single-facility_accept_list .dl__wrapper {
  overflow: hidden;
  height: 75vw; /* 開く前に見えている部分の高さ */
  transition: all 0.5s;
}
@media ( min-width: 768px ) {
  .sect_single-facility_accept_list .dl__wrapper {
    height: auto;
  }
}
.sect_single-facility_accept_list .chk_more:checked ~ .dl__wrapper {
  height: auto;
  padding-bottom: calc( ( 1em * 1.375 * ( 1.2 + .75 * 2 ) ) + 1em + 4px ); /* 閉じるボタンのbottomからの位置 */
  transition: all 0.5s;
}

.page-foot_single-facility {
  background-image: url(../img/single-facility/single-facility_page-foot_bg);
}
.page-foot_single-facility--sp a:hover .page-foot-tel  {
  color: #fff!important;
}