@charset "UTF-8";

/* ==========================================================================
Foundation
========================================================================== */
/* Reset
----------------------------------------------------------------- */
/* Base
----------------------------------------------------------------- */
:root {
  --hb-ff--sans-serif: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
/*  --hb-ff--sans-serif: "Noto Sans JP", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;*/




/*  --hb-ff--sans-serif: Poppins, "Zen Kaku Gothic New", system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;*/
/*  --hb-ff--sans-serif: "Open Sans", "Zen Kaku Gothic New", system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;*/

  --hb-color--primary: var(--bs-primary);
  --hb-color--secondary: var(--bs-secondary);
  --hb-color--placeholder: var(--bs-placeholder);

  --hb-color-rgb--main: 0 164 216;    /* #00A4D8 */
  --hb-color-rgb--sub: 0 88 116;      /* #005874 */
  --hb-color-rgb--text: 51 51 51;     /* #333 */
  --hb-color-rgb--white: 255 255 255;	/* #fff */
  --hb-color-rgb--black: 0 0 0;       /* #000 */
  --hb-color-rgb-bg: 0 0 0;

  /*--hb-drawer-hamburger-icon-color: var(--hb-color-rgb--main);*/
  --hb-drawer-hamburger-icon-color: var(--bs-secondary);

  

/*
  --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
*/

  /*
    --hb-color-rgb--main: 46 81 255; /* #2e51ff *
    rgba( var( --hb-color-rgb--white ) )
  */

  /* fa */
  --fa-li-margin: 1.5em;
  --fa-li-width: 1.5em;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body {
  font-family: var(--hb-ff--sans-serif);
  color: var(--hb-color-rgb--text);
}
html {
  font-size: calc(1em * .625);
}
/*
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;

  /* コンテンツが足りないときにフッターを下に固定する */
  min-height: calc( 100vh - 60px );
  min-height: calc( 100dvh - 60px );
  display: grid;
  grid-template-rows: auto 1fr auto;
  grid-template-columns: 100%;  
}
/*
@media ( min-width: 768px ) {
  body {
    margin-top: 80px;
    min-height: calc( 100vh - 80px );
    min-height: calc( 100dvh - 80px );
  }
}
*/
ul,
ol {
  padding-left: 0;
  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;
}

::placeholder {
  color: var(--hb-color--placeholder)!important;
}

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

/*
.ff-poiret_one {
  font-family: 'Poiret One', cursive;
}
*/

/*
.fz-75 {
  font-size: .75em;
}
*/

/* bootstrap */
.page-item:not(:first-child) .page-link {
  margin-left: .375em;
}
.page-link-all {
  padding: .5em .75em;
}
@media ( min-width: 768px ) {
  .page-link {
    padding: .25em .75em;
  }
  .page-link.page-link-all {
    padding: .25em .5em;
  }
}

/* FontAwesome */
.fa-ul {
  margin-left: var(--fa-li-margin, 2.5em);
}
.fa-li {
  padding-right: .5em;
  width: var(--fa-li-width, 2em);
  left: calc(var(--fa-li-width, 2em) * -1);
}
/*
.fa-solid {
  color: var(--hb-color--primary);
}
*/
.fa-clock::before {
  font-size: .875em;
}
@media ( min-width: 768px ) {
  .fa-md-lg {
    font-size: 1.25em;
    line-height: .05em;
    vertical-align: -.075em;
  }
}

.fa-stack.hb-fa-stack-half {
  height: 1em;
  line-height: 1em;
  width: 1.25em;
}
.fa-stack.hb-fa-stack-half > .fa-stack-1x {
  top: -.5px;
}
.fa-stack.hb-fa-stack-half > .fa-stack-1x:nth-child(1) {
  left: .1875em;
}
.fa-stack.hb-fa-stack-half > .fa-stack-1x:nth-child(2) {
  left: -.1875em;
}

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

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

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

/* drawer-hamburger */
.drawer-hamburger {
/*  padding: 15px 16px;*/
  padding: 14px 20px;
  width: /*26*/20px;
  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: var(--hb-drawer-hamburger-icon-color);
}
.drawer-hamburger-icon {
  margin-top: 8px;
}
.drawer-hamburger-icon:before {
  top: -6px;
}
.drawer-hamburger-icon:after {
  top: 6px;
}
.drawer-hamburger-title:before {
  margin-top: 12px;
  display: block;
  color: var(--hb-drawer-hamburger-icon-color);
  font-size: 10px;
  line-height: 1;
  content: 'MENU';
}
.drawer-open .drawer-hamburger-title:before {
  content: 'CLOSE';
}
.drawer-nav {
  min-height: 60px;
  background: rgb(var(--hb-color-rgb--white));
  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
----------------------------------------------------------------- */

body.single-post footer {
  margin-bottom: 60px;
}
@media ( min-width: 768px ) {
  body.single-post footer {
    margin-bottom: 0;
  }
}

/* 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;
  }
}
*/
footer .pagetop:hover .pagetop-title:before,
footer .pagetop:focus .pagetop-title:before {
    color: var(--hb-color--secondary);
}

.pagetop-title:before {
/*  margin-top: 10px;*/
  display: block;
  color: rgb(var(--hb-color-rgb--white));
  font-size: 10px;
  line-height: 1;
  content: 'TOP';
}

/*
.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;
}
.footer-content .copyright {
/*  font-size: .75;*/
}

/* ==========================================================================
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: .125em;
}
/*
.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;
}
*/

/* searchform */
/*
.sect_searchform_inner {
  max-width: 736px;
}
*/

/* form */
.form-select__wrapper {
  position: relative;
}
.form-select__wrapper .form-select {
  padding-left: 2em;
}
.form-select__wrapper .icon {
  position: absolute;
  top: 50%;
  left: .5em;
  transform: translateY(-50%);
}
.form-select__wrapper {
  width: calc( 50% - .8rem );
}
.form-select__wrapper:nth-of-type(odd) {
  margin-right: 1.6rem;
}
@media ( min-width: 768px ) {
  .form-select__wrapper {
    width: auto;
  }
  .form-select__wrapper:not(:last-of-type) {
    margin-right: 1.6rem;
  }
}
/*
.searchform .btn {
  max-width: 100px;
}
  */

/*
.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';
}
*/


/*
.hb_fa {
  position: relative;
}
.hb_fa-circle--outline {
  padding-right: 1.5em;
}
.hb_fa-circle--outline:before,
.hb_fa-circle--outline:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hb_fa-circle--outline:before {
  color: #fff;
  z-index: 2;
}
.hb_fa-circle--outline:after {
  font-size: 1.75em;
  content: '\f111';
}
*/

/* タグ */
.tag {
	margin: 0 .25em .25em 0;
	padding: .25em .5em;
	display: inline-block;
  font-size: 1.2rem;
/*	border-radius: .25em;*/
/*margin: 0 .1em .6em 0;*/
/*padding: .6em;*/
/*line-height: 1;*/
/*text-decoration: none;*/
/* color: #0000ee;*/
/* background-color: #fff; */
/* border: 1px solid #0000ee;*/
}

span.marker {
	padding: .125em .5em;
    background: linear-gradient(transparent 60%, #ddd 40%);
}

/* Project
----------------------------------------------------------------- */
/* home */

/* search */
.card_search .card-header span {
  padding: .8rem 1.6rem;
}
.card_search .card-header span.card_search--category {
  background: rgb(var(--hb-color-rgb--white));
  border-radius: 0 .5em 0 0;
  text-wrap: nowrap;
}
/* 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-post */


/* 施設概要 */
@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-post {
  background: var(--hb-color--primary);
}
.page-foot_single-post--sp  {
  height: 60px;
}
.page-foot_single-post--sp .btn  {
  width: calc(100% - 60px);
}
.page-foot_single-facility--sp a:hover .page-foot-tel  {
  color: #fff!important;
}

/*reCAPTCHA v3 バッジ位置を移動*/
.grecaptcha-badge {
  bottom: 68px!important;
}