/*	
theme Name: sumita_hospital
Author: Plusers	
Description: original theme	
version： 1.0.0	
*/

html,body {
width: 100%;
height: 100%;
margin: 0 auto;
padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
font-size: 14px;/* 14px */
-webkit-text-size-adjust: 100%;
line-height: 1.7;
font-family:  -apple-system,BlinkMacSystemFont,"Helvetica","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
color: #444;
font-feature-settings: "palt" 1;
webkit-font-feature-settings: "palt" 1;
-moz-font-feature-settings: "palt" 1;
}

p,li {
	text-align: justify;
	word-break: break-all;
}

.small { font-size: 12px; }

a,
a:visited,
a:hover,
a:active {
	text-decoration: none;
	color: inherit;
}

img {
	max-width: 100%;
	height:auto;
	display:block;
	margin: 0;
	padding: 0;
	border: none;
}

li { list-style: none; }

dl { line-height: 1.6; }

address {
	line-height: 1.3;
	margin: 5px 0;
	font-style: normal;
}

.br2, .br-pc, .br-tbpr { display: none; }

.bold { font-weight: bold; }

header {
	height: 50px;
	width: 100%;
	display: flex;
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.2);
	padding: 0 10px;
	align-items: center;
	justify-content: space-between;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 24;
	background: #fff;
}

input { display: none; }

.logo img { margin: 0 0 0 10px; height: 32px; }



/*---------gnav sp--------------*/

    .head-inner {
      display: none;
    }

    .slick-next {
      right: 0;
    }

    #top-head,
    .inner {
        width: 100%;
        padding: 0;
    }
 
    #top-head {
	width: 100%;
	margin: 0 0 30px;
	line-height:1.5;
	z-index: 999;
    }
    
    #top-head a,
    #top-head {
    text-decoration: none;
}

    /* Fixed reset */
    #top-head.fixed {
        padding-top: 0;
        background: transparent;
    }
    #mobile-head {
        width: 100%;
        height: 50px;
        z-index: 999;
        position: relative;
    }

    #global-nav {
	position: absolute;
        /* 開いてないときは画面外に配置 */
        background: #d5f2f7;
        width: 100%;
		 top: -1000px; 
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
    
    #nav-toggle {
        display: block;
    }
    /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 8px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 8px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    /* #global-nav スライドアニメーション */
    .open #global-nav {
		padding: 0 0 30px; 
        /* #global-nav top + #mobile-head height */
        -moz-transform: translateY(1050px);
        -webkit-transform: translateY(1050px);
        transform: translateY(1050px);
    }


/* ========================================
   スマートフォン向けの基本スタイル（スマホファースト）
   ======================================== */
#gnav {
    list-style: none; /* リストの黒丸を消す */
    padding: 0;
    margin: 0;
}



/* メニューの各項目 */
#gnav > li {
    border-bottom: 1px solid #fff; /* 区切り線 */
}

/* メニューのリンク文字 */
.has-submenu p,
#gnav > li > a {
    display: flex;
    justify-content: space-between; /* 文字と矢印を左右に分ける */
    align-items: center;
    padding: 20px 1em;
    text-decoration: none;
    color: #333333;
}

/* サブメニュー（最初は隠しておく） */
.submenu {
    /* display: none; は削除します */
    max-height: 0; /* 最初は高さを0にして見えなくする */
    overflow: hidden; /* 0の高さからはみ出た部分を隠す */
    transition: max-height 0.3s ease; /* 0.3秒かけて滑らかに高さを変化させる */
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: #f9f9f9;
}

/* アコーディオンが開いたとき（openクラスがついたとき）のスタイルを新規追加 */
.has-submenu.open .submenu {
    max-height: 500px; /* メニューが開いた時の最大の高さ（中身より少し大きめの数値を設定） */
}

.has-submenu p {
    cursor: pointer; /* パソコンで見たときに、マウスカーソルを「指のマーク」にする */
}

/* サブメニューのリンク文字 */
.submenu li a {
    display: block;
    padding: 12px 15px 12px 30px; /* 左側に少し余白を空けて階層を表現 */
    text-decoration: none;
    color: #555555;
    border-top: 1px dashed #cccccc;
}

/* 矢印のデザイン（CSSで図形を作ります） */
.accordion-arrow {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #333333;
    border-bottom: 2px solid #333333;
    transform: rotate(45deg); /* 四角を回転させて「く」の字にする */
    transition: transform 0.3s ease; /* アニメーションで滑らかに動かす */
    padding: 5px; /* タップしやすいように少し余白を持たせる */
}

/* アコーディオンが開いたときの矢印の向き（上向きになる） */
.has-submenu.open .accordion-arrow {
    transform: rotate(-135deg);
}


.inner {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.inner:after {
    content:"";
    clear: both;
    display: block;
}


/*--------header-----------*/


#top-head .inner {
    position: relative;
    background: #ffffff;
}
#top-head .logo a {
	height: 50px;
	display: flex;
	align-items: center;
}

.logo__name {
	margin: 0 0 0 0.5em;
	line-height: 1.2;
	font-size: 12px;
}

.logo__name span {
	font-size: 15px;
	line-height: 1.1;
    display: block;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

/*-----------スマホのトグルボタンのCSS-------------*/

#nav-toggle {
	display: block;
    position: absolute;
	top: 8px;
    right: 1em;
    width: 40px;
    height: 34px;
    padding: 8px 5px 0 5px;
    cursor: pointer;
    z-index: 101;
    background: #2bbef9;
    border-radius: 4px;
}
#nav-toggle div {
    position: relative;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: #ffffff;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
    top: 0;
}
#nav-toggle span:nth-child(2) {
    top: 8px;
}
#nav-toggle span:nth-child(3) {
    top: 16px;
}

  .head-inner {
    display: none;
  }

  .slick-next {
    right: 0;
  }

  /* Fixed reset */
  #top-head.fixed {
      padding-top: 0;
      background: transparent;
  }


.reservation-sp { padding: 40px 1em 0; }

.reservation-sp a,
.web-reservation-sp a { height: 40px; }

.info { display: none; }
    
.container { margin: 50px 0 0; }

.firstaid {
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #2bbef9;
}

.firstaid p {
	width: 100%;
	line-height: 32px;
	color: #ffffff;
	text-align: center;
	position: relative;
	overflow: hidden; /* 光のはみ出しを防ぐ */
	display: inline-block; /* または block */
}

.firstaid p::after {
	content: "";
	position: absolute;
	top: -50%;
	left: -50%;
	width: 50%;
	height: 200%;
	background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.5) 50%,
    rgba(255, 255, 255, 0) 100%
	);
	transform: rotate(45deg); /* 斜めに光らせる */
	animation: firstaid-shine 2s infinite; /* 3秒周期で繰り返し */
}

@keyframes firstaid-shine {
	0% { left: -75%; /* 左外側からスタート */ }
	100% { left: 150%; /* 右外側へ移動 */ }
}

.head, .headHome {
	margin: 0 0 40px;
	display: inline-block;
	width: 100%;
	height: 180px;
}

.head img, .headHome img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  font-family: 'object-fit: cover;'; /*IE対策*/
}

.contents {
	width: 90%;
	margin: 0 auto;
}

.breadcrumb {
	height: 100%;
	width: 90%;
	margin: 0 auto 20px;
	display: block;
}

.wrap {
	width: 90%;
	margin: 0 auto 50px;
}

.breadcrumb li {
	margin: 0 5px 0 0;
	font-size: 12px;
	float: left;
}

.introduction {
	margin: 0 0 30px;
	gap: 0;
}

.introduction-video { margin: 1em auto 0 !important; }

.introduction-video__name {
    padding: 0 0 0 0.5em;
    font-size: 18px;
	font-weight: bold;
    border-left: 3px solid #00a1e0;
    line-height: 1.2;
}

.information-video { padding: 1em 0 0; }

.introduction p br { display: none; }

.introduction h1,
.introduction h2,
.recruit__introduction h2 {
	margin: 0 auto 10px !important;
	font-size: 18px;
	color: #ef48af;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	text-align: center;
}

.notoSerif { font-family: 'Noto Serif JP', serif; }

.hospitalization__section,
.block {
	padding: 0 0 30px;
	gap: 0;
}


.mainTitleBlock {
	width: 100%;
	margin: 0 0 20px !important;
	text-align: center;
	gap: 0;
}

.mainTitle {
	width: 90%;
	margin: 0 auto 20px;
	text-align: center;
}

.mainTitle h1, .mainTitleBlock h2 {
padding: 0 0 6px;
line-height: 1.2;
font-family: 'Noto Serif JP', serif;
font-weight: 600;
font-size: 22px;
background-image: linear-gradient(90deg, #FFF,#F09,#FFF);
background-size: 100% 2px;
background-repeat: no-repeat;
background-position: bottom left;
}

.mainTitleBlock h2 {
	width: 100%;
}

p.eng_Title {
	font-size: 12px;
	text-align: center;
	color: #2bbef9;
}

p.eng_blockTitle { font-size: 12px; color: #2bbef9; }

.medical-department {
	margin: 0 auto 20px;
	display: flex;
	gap: 2em;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: flex-start;
}

.medical-department figure {
	text-align: center;
	line-height: 1.3;
}

.medical-department figure:nth-of-type(3),
.medical-department figure:nth-of-type(4) { margin: 0; }

.medical-department figure img {
	margin: 0 auto 10px;
}

.medical-department figure figcaption {
	text-align: center !important;
}

.kokorodpt,
.department {
	position: relative;
	display: flex;
}

.kokorodpt,
.department, { margin: 0 0 15px !important; }

.kokorodpt figcaption a,
.department figcaption a {
	height: 40px;
	width: 70%;
	min-width: 280px;
	margin: 0;
	position: absolute;
	bottom: 0;
	left: 15%;
	background: #ffffff;
	opacity: 0.8;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
}

.calendar { gap: 0; }

.calendar table,
.schedule table,
.schedulePage table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border-top: solid 1px #d3d3d3;
    background: #fff;
}

.calendar table,
.schedule table { margin: 0 0 5px !important; }

.schedulePage table { margin: 0 0 10px; }

.calendar table td,
.schedule table td,
.schedulePage table td {
    line-height: 40px;
    text-align: center;
    border-left: solid 1px #d3d3d3;
}

.calendar table td.firstchild,
.schedule table td.firstchild,
.schedulePage table td.firstchild {
    width: 120px;
    border-left: none;
    border-bottom:none;
}

tr.weekly { background: #2bbef9; }

tr.weekly td {
    color: #fff;
    border-left: solid 1px #d3d3d3;
}

.calendar table td.time,
.schedule table td.time,
.schedulePage table td.time {
    width: 32%;
    line-height: 1.3;
    border-left: none;
    border-bottom: solid 1px #d3d3d3;
}

.schedulePage table td.time { font-size: 12px; }

table td.receptionist,
table td.recepSat,
table td.day {
    padding: 5px 0;
    border-bottom: solid 1px #d3d3d3;
}

table td.sat,
table td.recepSat {
    line-height: 1;
    font-size: 80%;
}

.phone {
	width: 100%;
	padding: 20px;
	line-height: 1.5;
	background: #d5f2f7;
	gap: 0;
}

.phone img,
.hospitalization__consultation p a img {
	height: 20px;
	width: auto;
	margin: 0 5px 0 0;
}

.phone > div { width: 100%; }

.phone-number,
.web-reservation {
	width: 100%;
	gap: 0;
}

.phone-number { margin: 0 0 10px 0 !important; }

.phone-number p,
.web-reservation p { width: 100%; }

.phone-number p:first-of-type a,
.web-reservation a {
	height: 50px;
	width: 100%;
	margin: 0 0 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: bold;
	background: #fff;
}

.reserve-heading {
	padding: 0 0 5px;
	text-align: center;
	font-size: 23px;
	font-weight: bold;
}

.infoComment { width: 100%; }

.infoComment ul {
	margin: 10px 0 20px !important;
	line-height: 1.6;
	text-indent: -1em;
	padding-left: 1em;
}

.infoComment ul li:nth-of-type(3) { margin: 0 0 10px; }

.news { margin: 0 0 20px !important; }

.news li {
	margin: 0 0 10px;
	line-height: 1.6;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	font-size: 16px;
}

.news li time {
	font-size: 16px;
	order: 1;
	display: flex;
    align-items: center;
}

.news li time:before {
	height: 14px;
	width: 14px;
	margin: 0 5px 0 0;
    content: ''; /* 空でも必須 */
	display: inline-block;
	background-image: url('images/home/square.svg');
	background-size: contain; /* サイズを枠に合わせる */
	background-repeat: no-repeat;
}

.news li:last-of-type { margin: 0; }

.news li a {
	text-decoration: underline;
	text-decoration-color: #c2c2c2;
	order: 2;
}

.book h3, .access h3, .facility h3 {
    font-size: 16px;
    font-weight: normal;
}

.information h3, .book h3, .access h3, .facility h3 {
	width: 100%;
    padding: 0 0 0 10px;
    border-left: solid 4px #2bbef9;
    border-bottom: solid 1px #2bbef9;
}

.information h3, .book h3, .facility h3 { margin: 0 0 20px !important; }

.access h3 {
     margin: 0 0 10px !important;
    padding: 0 0 0 10px;

}

.pamflet {
	margin: 0 0 10px;
	display: flex;
	justify-content: space-between;
	align-items: initial !important;
	flex-wrap: wrap !important;
	gap: 0;
}

.pamflet figure { width: 36%; }

.pamflet p { width: 60%; }

.pamflet p.download {
	width: 100%;
	margin: 10px 0 0 !important;
	line-height: 2.2;
	text-align: center;
	background: #fff468;
}

.pamflet p.download a { display: block; }

.map {
	width: 100%;
	margin: 15px 0 !important;
}

.map iframe, .map object, .map embed {
    width: 100%;
    height: 250px;
}

.access {
	width: 100%;
	margin: 0 0 20px !important;
}

.hospitalization__consultation {
	width: 100%;
	margin: 20px auto 0 !important;
	padding:1em 1em 1.5em;
	border: solid 2px;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.phone__inquiry {
	width: 100%;
	margin: 0 auto !important;
	padding: 0 0 30px;

	& > div {
	width: 100%;
	padding:1em 1em 1.5em;
	border: solid 2px;
	border-radius: 10px;
	}

	& p a {
    width: 240px;
	margin: 0 auto;
	padding: 0 1em;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
	white-space: nowrap;
    line-height: 44px;
	background: #d5f2f7;
	border-radius: 10px;
	}

	& p a img {
    height: 20px;
    width: auto;
    margin: 0 5px 0 0;
	}
}

.hospitalization__consultation p a {
    width: 100%;
	padding: 0 2em;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    line-height: 44px;
	background: #d5f2f7;
	border-radius: 10px;
}

.hospitalization { margin: 1em auto 0 !important; }

.schedulePage table td.time { font-size: 14px; }

.recruit__link { padding: 0.5em 0 0 0; }

.group,
.group div { width: 100%; }

.group a { line-height: 1.4; color: #0050AD; border-color: #0050AD; }

.group a img { margin: 0 auto; }

.group a span {
	font-size: 22px;
	font-weight: bold;
}

.page__section-heading,
.blockTitle,
.faq h2,
.page__section h2,
.page__section h3,
.information__section h2,
.approach__section h3,
.news__section h2,
.contents_pamflet h3 {
	height: 44px;
	width: 100%;
	padding: 0 0 0 15px;
	display: flex;
	align-items: center;
	background: #ccf1f5;
}

.page__section-heading,
.blockTitle,
.faq h2,
.page__section h2,
.page__section h3,
.information__section h2,
.news__section h2,
.contents_pamflet h3 { margin: 0 0 20px !important; }

.blockTitle h2,
.blockTitle h3,
.approach__section h3 { margin: 0 10px 0 0; }

.page__section-heading h3,
.blockTitle,
.blockTitle h2,
.blockTitle h3,
.approach__section h3,
.faq h2,
.page__section h2,
.page__section h3,
.information__section h2,
.news__section h2,
.contents_pamflet h3 {
	font-size: 20px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
}

.space { padding: 0 0 20px; }

.outpatient__gallery,
.approach-photo__gallery {
	padding: 0 0 20px;
	gap: 1em;
}

.visit {
	width: 100%;
	text-align: center;
}

.visit h4 {
	color: #0980a1;
	font-size: 23px;
}

.visit p { text-align: center; }

.list { padding: 0 0 30px;
	& li { margin: 0 0 0 1em; text-indent: -1em; }
}

.text { padding: 0 0 20px; }

.outpatient { gap: 20px; }

.kokoronomori,
.book,
.access,
.hospitalization__consultation,
.visit,
.contentsPage__link,
.information__desc,
.phone__inquiry { gap: 0; }

.brightpink { color: #f59ed4; }

.schedule { margin: 0 0 20px; }

.schedulePage { width: 100%; }

.contentsPage__link {
	margin: 20px 0 0;
	& .link__block {
		width: 100%;
		margin: 0 0 30px;
		gap: 0;
		& figure {
			margin: 0 0 10px;
			position: relative;
			display: flex;
		}
	}
	& .link__block:last-of-type {
		margin: 0;
	}
}

.link__block h3 {
	margin: 0 0 0.25em;
	font-size: 18px;
	font-weight: 500;
}

.contentsPage__link figure figcaption a {
	height: 40px;
	width: 70%;
	margin: 0;
	position: absolute;
	bottom: 0;
	left: 15%;
	background: #ffffff;
	opacity: 0.8;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
}

.annotation { padding: 10px 0 20px; }

.gallery__three-column { padding: 0 0 20px; }

.faq {
	padding: 0 0 50px;
	gap: 0;
}

.faq__list { width: 100%; }

.wp-block-accordion-heading__toggle-title {
    padding: 0 0 0 2em;
    text-indent: -2em;
	line-height: 1.5;
}

.wp-block-accordion-panel {
    padding: 0 0 0 1.25em;
    text-indent: -1.25em;
}

.table-of-contents {
	width: 100%;
	margin: 30px 0 !important;
	padding: 1em;
	background: #ccf1f5;
    display: flex;
    flex-direction: column;
	gap: 0.25em;
}

.table-of-contents li a {
	display: flex;
	align-items: center;
	gap: 0.25em;
}

.circle_number {
  width: 22px;
  height: 22px;
  border: 1px solid black;
  border-radius: 50%;
  text-align: center;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}

.link__detail {
	width: 100%;
	padding: 0.5em 0 0;
    display: flex;
}

.link__detail a {
	width: 100%;
	margin: 0 auto;
	padding: 0.5em 1em;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.25em;
	border: solid 1px;
	border-radius: 12px;
}

.section__subsection {
	padding: 0 0 30px;

	& h3 {
		height: 44px;
		width: 100%;
		margin: 0 0 0.5em !important;
		padding: 0 0 0 15px;
		font-size: 18px;
		font-weight: 600;
		display: flex;
		align-items: center;
		background: #fae3f6;
	}
}

.section__subsection:last-of-type { padding: 0; }

.outInformation ul.things {
	margin: 10px 0;
	border: solid 2px #a0dff8;
	border-radius: 12px;
}

.page__section,
.information__section,
.news__section {
	padding: 0 0 30px;
	gap: 0;
}

.page__section { width: 100%; }

.information__section:last-of-type { padding: 0; }

.information__desc {
	width: 100%;
	padding: 1em 0 0;
}

.information__desc ul,
.necessary,
.rehabilitation__desc {
	width: 100%;
	margin: 10px 0 !important;
	padding: 1em;
	border: solid 2px #a0dff8;
	border-radius: 12px;
}

.information__desc ul li,
.rehabilitation__desc ul li {
	margin: 0 0 15px;
	padding: 0 0 15px;
	border-bottom: dotted 1px #444;
}

.information__desc ul li:last-of-type,
.rehabilitation__desc ul li:last-of-type {
	margin: 0;
	padding: 0;
	border: none;
}

.information__desc ol {
	padding: 0 0 0 1.25em;

	& li {
		border: none;
		margin: 0;
		padding: 0;
		list-style-type: decimal;
	}
}

.outInformation ul.things { padding: 20px 5%; }

.outInformation .necessary { padding: 10px 5%; }

.outInformation ul.things li {
	border-bottom: dotted 1px #444;
	margin: 0 0 15px;
	padding: 0 0 15px;
}

.outInformation ul.things li:last-of-type {
	margin: 0;
	padding: 0;
	border: none;
}

.psychiatric-process {
	padding: 0 0 1em;

	& li {
	width: 100%;
	margin: 0 0 30px;
	position: relative;
	display: inline-block;
	}

	& li br {
	display: none;
	}

	& span {
		padding: 0 0.25em 0 0;
		color: #e8380d;
	}
}

.psychiatric-process li:last-of-type { margin: 0; }

.psychiatric-process li::after {
	width: 20px;
	height: 20px;
	background: url(images/flow-arrow.png);
	background-size: contain;
	background-repeat: no-repeat;
	content: ''; /* 必須：擬似要素を表示する */
	position: absolute;
	left: 10%;
	transform: translateY(150%);
}

.psychiatric-process li:last-of-type::after { display: none; }

.page__section-grid { padding: 0 0 30px; }

.page__section-grid > div {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: auto;
	gap: 0.5em;

	& figure { margin: 0; }

	& figure:first-of-type {  grid-area: 1 / 1 / 2 / 3; }
	& figure:nth-of-type(2) { grid-area: 2 / 1 / 3 / 2; }
	& figure:nth-of-type(3) { grid-area: 2 / 2 / 3 / 3; }
	& figure:nth-of-type(4) { grid-area: 3 / 1 / 4 / 3; }
	& figure:nth-of-type(5) { grid-area: 4 / 1 / 5 / 2; }
	& figure:nth-of-type(6) { grid-area: 4 / 2 / 5 / 3; }
}

.page__sub-section,
.approach__sub-section {
	width: 100%;
	padding: 0 0 20px;
	gap: 1em;
}

.page__sub-section:last-of-type,
.approach__sub-section:last-of-type { padding: 0; }

.page__sub-section h4,
.approach__sub-section h4 {
	width: 100%;
    padding: 0 0 0 10px;
	font-size: 16px;
    font-weight: normal;
    border-left: solid 4px #2bbef9;
    border-bottom: solid 1px #2bbef9;
}

.tagline {
	padding: 0 0 20px;

	& h4 {
	color: #ef48af;
	font-size: 16px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	}
}

#section-1,
#section-2,
#section-3,
#section-4,
#section-5 { scroll-margin-top: 60px; }

.ward__photo { gap: 0; }

.ward__photo figure { padding: 0 0 0.5em; }

.service-details {
	width: 100%;
	gap: 0;
}

.service-details > div {
	width: 100%;
	align-items: initial !important;
	gap: 0.5em;
	border-bottom: solid 1px #cccccc;
}

.service-details > div:first-of-type { border-top: solid 1px #cccccc; }

.service-details > div p {
	padding: 0.5em 0;
	flex: 1;
}

.service-details > div p:first-of-type {
	width: 100px;
	padding: 0 1em;
	display: flex;
	align-items: center;
	flex: none;
	white-space: nowrap;
	color: #fff;
	background: #06bad1;
}

.figure__grid-five {
	grid-template-columns: repeat(2, 1fr) !important;
	grid-template-rows: auto;
}

.figure__grid-five figure:first-of-type { grid-area: 1 / 1 / 2 / 3; }
.figure__grid-five figure:nth-of-type(2) { grid-area: 2 / 1 / 3 / 2; }
.figure__grid-five figure:nth-of-type(3) { grid-area: 2 / 2 / 3 / 3; }
.figure__grid-five figure:nth-of-type(4) { grid-area: 3 / 1 / 4 / 2; }
.figure__grid-five figure:nth-of-type(5) { grid-area: 3 / 2 / 4 / 3; }

.figure__grid-two,
.rehabilitation__figure-two { gap: 1em; }

.ward__information-psychiatric { padding: 0 0 30px; }

.ceo figure {
	width: 70%;
	margin: 0 auto !important;
	text-align: center;
}

.director img { margin: 0 0 10px; }

.information__section h3 {
	color: #ef48af;
	font-size: 16px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
}

.information__section .philosophy {
	font-size: 16px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;

	& li { margin: 0 0 10px; }

	& li:last-of-type { margin: 0; }
}

.information__video { padding: 0 0 1em; }

.information__gallery { gap: 1em; }

.information__section table {
	border-top: solid 2px #d3d3d3;
	border-bottom: solid 2px #d3d3d3;
}

.information__section table tbody {
	border-right: none;

	& th {
		white-space: nowrap;
		text-align: left;
		border-color: #d3d3d3;
		border-left: none;
	}

	& td { border-color: #d3d3d3;
		border-right: none; }
	
	& li, li:last-of-type {
		margin: 0 0 0 1em;
		list-style: disc;
	}
}

.approach__gallery-machine {
	padding: 20px 0 0;
	gap: 1em;
}

.rehabilitation__desc:last-of-type { margin: 10px 0 0 !important }

.rehabilitation__desc h4 { font-size: 18px;}

.rehabilitation__consultation {
	padding: 0 0 30px;
	color: #0980a1;
    font-size: 23px;
}

.rehabilitation__figure-two { padding: 0 0 1em; }

.approach__section {
	padding: 0 0 30px;
    gap: 1em;
}

 
.celebration,
.recruit__introduction p {
	display: flex;
	justify-content: center;
}

.celebration p,
.recruit__introduction p {
	margin: 10px 0 0;
	padding: 5px 15px;
	color: #fff;
	background: #00a1e0;
	font-weight: bold;
	text-align: center;
	border-radius: 8px;
}

.recruit-celebration {
	margin: 0 0 30px;
	padding: 20px 10px;
	line-height: 1.5;
	background: #ccf1f5;
}

.recruit-celebration h3 {
	margin: 0 0 0.5em;
	font-size: 20px;
	color: #ef48af;
}

.congratulations { font-size: 18px; }

.congra-annotation {
	margin: 0 0 0.5em;
	font-size: 14px;
}

.video {
	margin: 0 0 2em;
	padding: 0 0 2em;
	border-bottom: dotted 1px;
	flex-wrap: wrap !important;
}

.video h3 {
    margin: 0 0 0.5em !important;
    padding: 0 0 0 0.5em;
    font-size: 18px;
    border-left: 3px solid #00a1e0;
    line-height: 1.2;
}

.video p br {
    display: none;
}

.recruit-page { font-size: 14px; }

.recruit-greeting { margin: 0 0 30px; }

.recruit-occupation,
.recruit_another {
	border: solid 1px #a2a2a2;
	margin: 0 0 1em;
}

.recruit-overview { padding: 0 1em 1em; }

.recruit-overview li {
    text-indent: -0.5em;
    padding: 0 0 0 0.5em;
}

.recruiting h2,
.recruiting h3,
.senior-section h2,
.workflow h2,
.workplace h2 { font-size: 20px; }

.workplace h2 { padding: 0 0 0.5em; }

.recruiting h4 { font-size: 17px; }

.recruit-overview p { line-height: 1.5; }

.recruit-button a {
	margin: 1em 0 0;
	padding: 0.5em 1.333em !important;
	font-size: 14px;
	border: solid 1px #a2a2a2 !important;
	border-radius: 6px !important;
}

.recruit-section,
.recruit-section-contact {
	margin: 0 0 1em;
	padding: 1em;
	line-height: 1.5;
	border: solid 1px #a2a2a2;
}

.recruit-section li {
	text-indent: -1em;
	padding: 0 0 0 1em;
	line-height: 1.5;
}

.recruit-section li:nth-of-type(odd) {
	margin: 0 0 0.5em;
}

.recruit-section li:nth-of-type(even) {
	margin: 0 0 1em;
	padding: 0 0 1em 1em;
	border-bottom: dotted 1px;
}

.recruit-section li:last-of-type {
	margin: 0;
	padding: 0 0 0 1em;
	border-bottom: none;
}

.recruit-phone {
	line-height: 1.1;
	font-size: 22px;
}

.recruit-contact {
	margin: 0.5em 0 0;
	padding: 1em;
}

.recruiting-phone-icon img { width: 100%; }

.staff-image img {
	height: 200px !important;
	object-fit: cover;
}

.recruit__introduction { margin: 0 0 30px;}

.recruit_another {
	margin: 0 auto 20px;
	padding: 1em;
	gap: 0;
}

.recruit__contact p { display: block;}

.recruit__contact a {
	width: 240px;
	margin: 0 auto 20px;
	padding: 1em;
	display: block;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	background: #00a1e0;
	border-radius: 12px;
}

.news__list { width: 100%; }

.news__list li {
	margin: 0 0 1em;
	padding: 0 0 1em;
	display: flex;
	flex-direction: column;
	border-bottom: dotted 1px;
}

.news__list li time { font-size: 14px; }

.news__list h3 { line-height: 1.5 !important; }

.news__archive {
	margin: 0 auto !important;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.25em;
}

.news__archive a {
    line-height: 2.5;
    margin: 10px auto 0;
	padding: 0.5em 1em;
    text-align: center;
    border: solid 1px;
    
}

.post li {
	margin: 0 0 0.5em;
	padding: 0 0 0.5em;
    border-bottom: dotted 1px;

	& time { font-size: 14px; }

	& h2 {
	font-size: 16px;
	font-weight: normal;
	flex: 1;
	}
}

.page-numbers {
	margin: 0 7px 0 0;
	padding: 5px 15px;
	border: solid 1px;
	border-radius: 6px;
	display: inline-block;
}

.pager .current {
	border: solid 1px #ee93cb;
	background: #ee93cb;
	color: #ffffff;
}

.pager { margin: 30px 0 0; }

.recruit__infomation { padding: 0 0 30px; }

.apyly-button {
	margin: 0 auto !important;
	padding: 1em 0 0;
	justify-content: center;
}

.apply {
	width: 200px;
}

.apply a {
	width: 200px;
	padding: 0.5em 2em;
}

.workplace { padding: 0 0 30px; }

table.mynumber {
	width: 100%;
	margin: 1em 0 0;
	font-size: 14px;
	line-height: 1.5;
	border-collapse: collapse;
}

table.mynumber td {
	padding: 0.5em;
	border: 1px solid #b4b4b4;
}

td.nowrap { white-space: nowrap; }

td.tablehead { background: #dcefff; }

.addition { 0 0 1em; }

.addition h2 {
	margin: 0 0 10px;
	font-size: 18px;
	letter-spacing: 0.1em;
	color: #ef48af;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
}

p.online a {
    background: #fdfbdf;
    position: fixed;
    bottom: 35px;
    width: 100%;
    text-align: center;
    line-height: 35px;
}

.online-license { margin: 0 0 15px; }

.online-license-last { margin: 0 0 30px; }

.deptInfo { margin: 10px 0 30px; }

.deptDetails { width: 100%; }

.deptDetails a {
	line-height: 3;
	margin: 10px 0 0;
	text-align: center;
	border: solid 1px;
	display: block;
}

.contents_pamflet > div {
	margin: 0 0 1.5em;
    padding: 0 0 1.5em;
    border-bottom: dotted 1px;

	& a { text-decoration: underline; }

	& a.wp-block-file__button { background: #50acd1 !important; }
}

.job-description table {
	margin: 0 0 1em;
	line-height: 1.6;
}

.job-description table td { border: solid 1px #a2a2a2; }

.job-description table td:first-of-type {
	width: 90px;
	white-space: nowrap;
	background: #d5f2f7;
}

.job-description table td:nth-of-type(2) { padding: 1em 0.5em; }

.recruiting h3.job-description-head { font-size: 18px; }

.reception { padding: 1em 0; }

.affiliated-hospital {
    font-size: 18px;
    text-align: left;
    padding: 0.5em 0 0;
}

.hospitalization__flow li {
	padding: 0 0 0.5em;
	font-size: 18px;
	font-weight: bold;

	& ul li {
		padding: 0 0 0 1em;
		font-size: 16px;
		font-weight: normal;
	}
}

.entry h2 {
	padding: 0 0 10px 1em;
	font-size: 16px;
	border-bottom: dotted 1px;
    text-indent: -1em;
}

.entry_main {
	margin: 0 0 30px;
	padding: 0 0 30px;
	border-bottom: dotted 1px;
}

.date {
	margin: 0 0 30px;
	text-align: right;
}

span.post-nav-next { float: right; }

.nav a {
	line-height: 40px;
    display: inline-block;
	padding: 0 20px;
	border: solid 1px;
	border-radius: 6px;
}

.wp-block-image figcaption { text-align: left !important; }

.information__desc h3 { font-size: 18px; }

.sidemenu li { font-family: 'Noto Serif JP', serif; }

footer {
	padding: 0 0 35px;

	& ul {
	font-size: 14px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(4, 1fr);
	grid-column-gap: 0px;
	grid-row-gap: 0px;
	}

	& li {
	line-height: 2.6;
	text-align: center;
	border-bottom: solid 1px #d3d3d3;

	& a { display: block; }
	}

	& li:first-of-type { grid-area: 1 / 1 / 2 / 2; }
	& li:nth-of-type(1) { border-right: solid 1px #d3d3d3; }
	& li:nth-of-type(2) { grid-area: 1 / 2 / 2 / 3; }
	& li:nth-of-type(3) { grid-area: 2 / 1 / 3 / 2; border-right: solid 1px #d3d3d3; }
	& li:nth-of-type(4) { grid-area: 2 / 2 / 3 / 3; }
	& li:nth-of-type(5) { grid-area: 3 / 1 / 4 / 2; border-right: solid 1px #d3d3d3; }
	& li:nth-of-type(6) { grid-area: 3 / 2 / 4 / 3; }
	& li:nth-of-type(7) { grid-area: 4 / 1 / 5 / 2; border-right: solid 1px #d3d3d3; }
	& li:nth-of-type(8) { grid-area: 4 / 2 / 5 / 3; }
	& li:nth-of-type(9) { grid-area: 5 / 1 / 6 / 3; }
}

.footer_Inner {
	padding: 20px 5% 10px;
	background: #d5f2f7;
}

.footer_Information { margin: 0 0 10px; }

.footer_Phone {
	font-size: 26px;
	line-height: 1;
}

.footer_Firstaid {
	margin: 10px 0;
	padding: 5px;
	color: #e20707;
	text-align: center;
	background: #fff;
}

.copyright p {
	line-height: 3.6;
	font-size: 12px;
	text-align: center;
}

p#pageTop {
	display: block;
	position: fixed;
	right: 0;
	bottom: 50px;
}

p#pageTop a {
	display: block;
	z-index: 999;
	width: 45px;
	line-height: 45px;
	background: #81dbff;
	color: #fff;
	text-align: center;
}

footer {
	& .sns {
		font-size: 14px;
		display: flex;
		justify-content: center;
		gap: 1em;
		margin: 20px 0 0;
		}

	& .sns a {
		display: flex;
		align-items: center;
		gap: 0.25em;
	}

	& .sns img {
		width:30px;
		height: 30px;
	}
}

.footer_Logo img { height: 50px; }

.footer_Logo {
	display: flex;
	align-items: center;
	margin: 0 0 10px;
	gap: 0.5em;
}

.footer_Logo p {
	line-height: 1.3;
	font-size: 15px;
}

.footer_Logo p span {
	font-size: 18px;
    display: block;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
}

.copyright { margin: 0 0 30px; }

.mainCopy,
.contents_pamflet h2 { margin: 0 0 30px; }

.heading-tagline,
.mainCopy h2,
.contents_pamflet h2,
.mainCopy h4 {
	color: #ef48af;
	font-size: 18px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
}

.mainCopy h2,
.contents_pamflet h2,
.mainCopy h4 {
	color: #ef48af;
	font-size: 16px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
}

.heading-tagline { padding: 0 0 20px; }

.pink { color: #ef48af; }

.blue { color: #2bbef9; }

.faq h4 { font-size: 18px; }























.twoColumn { margin: 0 0 15px !important; }

.twoColumn a {
	position: relative;
	display: flex;
}

.department_Title {
	height: 40px;
	width: 70%;
	position: absolute;
	bottom: 0;
	left: 15%;
	background: #ffffff;
	opacity: 0.8;
	display: flex;
	align-items: center;
	justify-content: center;
}

.department_Title p {
	text-align: center;
	color: #000000;
}

.facility { margin: 0 0 20px; }

.information dd, .outInformation dd, .book dd {
	margin: 0 0 10px;
	padding: 0 0 0 1em;
}

.information ul, .book ul { margin: 0 0 20px; }

.information ul li, .book ul li { margin: 0 0 10px; line-height: 1.4; }

.reserve-heading-sp {
	margin: 0 0 5px;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
}


.reservation-sp { padding: 20px 10px 10px; }

.phone-reservation-sp { margin: 0 0 10px; }

.reservation-sp a,
.web-reservation-sp a {
	height: 30px;
	width: 100%;
	margin: 0 0 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: bold;
	background: #fff;
}

.reservation-sp img {
	height: 16px;
	margin: 0 5px 0 0;
}



.correspondence { display: none; }

.outPhone {
	height: 40px;
	margin: 20px 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	border: solid 1px;
}

.outPhone span {
	padding: 0 0 0 4px;
	font-size: 20px;
	font-weight: bold;
}



.break { margin: 0 0 20px; padding: 0 0 20px; border-bottom: dotted 1px; }

.break li.indent { margin: 0 0 0 1em; text-indent: -1em; }

.consultation { padding: 0 0 0 10px; border-left: solid 5px #c998ba; }

.galleryThree { margin: 0 0 50px; display: flex; }

.logo p.features, .sidemenu { display: none; }

ul.activity {
    display: flex;
    flex-wrap: wrap;
}

ul.activity li { margin: 0 10px 0 0; }


.outInformation dl#program dt { float: left; }


.outInformation dl#program dd {
    margin: 0 0 0 130px;
    padding: 0;
}

.underArrow { margin: 5px 0 5px 45%; }

.galleryFour {
	margin: 0 0 30px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.galleryTwo, .galleryThree {
	margin: 0 0 30px;
	display: flex;
	justify-content: space-between;
}

.fourcolumn, .galleryTwo p { width: 48%; }

.fourcolumn:first-of-type, .fourcolumn:nth-of-type(2) { margin: 0 0 10px; }

.threecolumn { width: 32%; }

.flow li.icon {
	margin: 5px 0;
	display: flex;
	justify-content: center;
	color: #2bbef9;
}

.flow li.iconRight { display: none; }

.gallery {
	margin: 0 0 50px;
	display: flex;
	justify-content: space-between;
}

.gallery p { width: 29%; }

.gallery p.wide { width: 66%; }

.gallerymedical .vertical img {
	width: 70%;
	margin: 0 auto 20px;
}

.outline dt { float: left; }

.outline dd { padding: 0 0 0 75px; }

.outline dt, .outline dd { margin: 0 0 5px; }

.staff { margin: 0 0 30px; }

.staff h4 {
	margin: 0 0 5px;
	color: #ef48af;
	font-size: 18px;
}

.comment  { width: 60%; }

.staffimg  { width: 38%; }



.ward {
	margin: 0 0 10px;
	padding: 5px 0;
	font-size: 16px;
	text-align: center;
	background: #fae3f6;
}


.condition {
	display: flex;
	flex-wrap: wrap;
	border-top: solid 1px;
}

.condition dt {
	width: 25%;
	padding: 10px 0;
	background: #fae3f6;
	border-bottom: dotted 1px;
	text-align: center;
}

.condition dd {
	width: 75%;
	padding: 10px 0 10px 5%;
	border-bottom: dotted 1px;
}

.condition dt.lastchild, .condition dd.lastchild {
	border-bottom: solid 1px;
}

h3.occupation {
	line-height: 44px;
	margin: 0 0 20px;
	padding: 0 0 0 15px;
	font-size: 15px;
	font-weight: normal;
	background: #ccf1f5;
}

.support {
	margin: 30px 0 0;
	padding: 20px;
	border: solid 2px #a0dff8;
	text-align: center;
	border-radius: 12px;
}

.web-foot-pc,
.mynumber-foot-pc { display: none; }

.reserve-foot,
.call-foot a,
.web-foot a,
.map-foot a {
	height: 35px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.call-foot,
.web-foot,
.map-foot {
	width: 33.33333%;
}
.call-foot,
.map-foot { background: #2bbef9; }

.web-foot { background: #5ad0ff; }

.reserve-foot {
	width: 100%;
	color: #fff;
	position: fixed;
	bottom: 0;
	justify-content: space-between;
}

.call-foot img,
.web-foot img,
.map-foot img { height: 16px;  margin: 0 5px 0 0; }

.call-foot-pc { display: none; }


.slick-next,
.slick-prev { display: none !important; }

.head-inner {
    display: block;
    position: relative;
    width: 100%;
}

.head h1 {
	position: absolute;
	left: 5%;
	top: 20%;
	transform: translate(0,-50%);
	font-size: 26px;
	white-space: nowrap;
	letter-spacing: 0.2em;
	text-shadow:
            4px 4px 4px white, -4px -4px 4px white,
           -4px 4px 4px white,  4px -4px 4px white;
}




.email figure img {
	height: 18px;
	width: 22px;
}

.email {
	margin: 0.5em 0 0;
	padding: 0.5em;
}

#job {
	margin: 0 0 1em;
	padding: 0 0.5em;
	line-height: 2;
	background: #395491;
	color: #fff;
	font-size: 20px;
}

.greeting-title {
	line-height: 1.5;
	margin: 0 0 0.5em;
	font-size: 17px;
}

.recruit-desc {
	border: solid 1px #a2a2a2;
	margin: 0 0 1em;
	padding: 1em;
}

.vk_jobInfo_table th {
	white-space: nowrap;
}

.vk_jobInfo_table th,
.vk_jobInfo_table td {
	font-size: 15px !important;
	border-bottom: dotted 1px;
}

.vk_jobInfo_table {
	border-top: dotted 1px;
}

.vk_jobInfo_table th {
	border-right: dotted 1px;
}



.outInformation ul.things li ul.number li {
	margin: 0 0 0 1em;
	padding: 0;
	list-style-type: decimal;
	border-bottom: none !important;
}

.senior-section h2 { margin: 0 auto 1em; }

.senior-outer figure img { max-width: 50px; }

.senior-outer > div { display: flex; }

.senior {
	margin: 0 auto 1em;
	padding: 1em;
	border-radius: 12px;
	background: #fff1fa;
}

.senior > div p:first-of-type { font-size: 16px; }

.senior > div p:nth-of-type(2) {
	margin: 0 auto 1em;
	padding: 0 0 1em;
	border-bottom: dotted 1px;
}

.workflow { margin: 0 auto 1em; }

.senior-section,
.workflow h2 { margin: 0 auto 20px; }

.day-schedule { margin: 0 0 10px; }

.day-schedule > div {
	display: flex;
	align-items: center;
}

.on-time {
	height: 60px;
	min-width: 60px;
	margin: 0 10px 0 0;
	background: #d5f2f7;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	float: left;
}

.schedule-desc-head { font-size: 16px; }

.senior > div p:nth-of-type(2),
.schedule-desc,
.schedule-desc p { line-height: 1.4; }

.schedule-gallery > div {
	margin: 0 0 1em;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1em;
}

.schedule-gallery > div figure { margin: 0; }

.logo p br,
.menu-recruite { display: none; }

.menu-recruite-sp {
	padding: 10px 0;
	background: #fdfbdf;
}

.menu-recruite-sp p {
	line-height: 1.3;
	text-align: center;
}

.recruit-page a {
	margin: 5px 0 0;
	padding: 10px 20px;
	line-height: 1.5;
	color: #fff;
	border-radius: 6px;
	background: #2bbef9;
	display: inline-block;
}

.recruit-page {
	margin: 0 auto 0;
	position: relative;
	overflow: hidden; /* 光のはみ出しを防ぐ */
	display: flex;
    justify-content: center;
}

.recruit-page a::after {
	content: "";
	position: absolute;
	top: -50%;
	left: -50%;
	width: 50%;
	height: 200%;
	background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.5) 50%,
    rgba(255, 255, 255, 0) 100%
	);
	transform: rotate(-25deg); /* 斜めに光らせる */
	animation: recruit-page-shine 2s infinite; /* 3秒周期で繰り返し */
	animation-delay: 1s;
}

@keyframes recruit-page-shine {
	0% { left: -75%; /* 左外側からスタート */ }
	100% { left: 150%; /* 右外側へ移動 */ }
}


h2#recruit-head { margin: 0; }
















@media screen and (min-width: 360px) {

body { font-size: 16px; }

p.eng_Title { font-size: 14px; }

.calendar table td.time,
.schedule table td.time {
    width: 32%;
    font-size: 14px;
}

.phone span { font-size: 22px; }

.outInformation dl#program dd { margin: 0 0 0 140px; }

.underArrow { margin: 5px 0 5px 25%; }

.mainCopy h4 { font-size: 18px; }




.schedulePage table td.time {
	line-height: 1.5;
	font-size: 14px;
}




.entry h2 { font-size: 20px; }

h3.occupation { font-size: 16px; }

.four {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.four p {
	width: 49%;
	margin: 0 0 10px;
}

.call-foot img,
.web-foot img,
.map-foot img { height: 20px; }

.recruit-button a { font-size: 16px; }

.vk_jobInfo_table th,
.vk_jobInfo_table td { font-size: 16px !important }

.staff-image img { height: 220px !important; }

.recruiting h4 { font-size: 19px; }

.schedule-desc-head { font-size: 17px; }

table.mynumber { font-size: 15px; }











}





@media screen and (min-width: 768px) {

.br-sp, .br-tb, .br-tbpr { display: none; }

.text__right {
	width: 100%;
}

.logo__name {
    font-size: 15px;
    display: flex;
	align-items: center;
}

.logo__name span {
	margin: 0 0 0 0.25em;
	font-size: 18px;
}

.firstaid { height: 50px; }

.firstaid p { line-height: 50px; }

.recruit-page a::after { transform: rotate(45deg); }


.hospitalization__section,
.block,
.phone__inquiry,
.page__section,
.information__section,
.rehabilitation__consultation,
.approach__section,
.workplace { padding: 0 0 70px; }

.section__subsection,
.faq { padding: 0 0 50px; }

.hospitalization__consultation { margin: 50px auto 0 !important; }

.kokoronomori,
.contentsPage__link {
	width: 100%;
    display: flex;
	flex-direction:initial !important;
}

.contentsPage__link {
	flex-wrap: nowrap !important;
    gap: 30px;
}

.kokoronomori {
	justify-content: center;
	gap: 40px;
}

.link__detail a { width: 330px; }

.heading-tagline { padding: 0 0 30px; }

.mainCopy,
.contents_pamflet h2 { margin: 0 0 50px; }

.psychiatric-process {
	display: flex;
	justify-content: center;
    flex-wrap: wrap;
    gap: 15px 40px;

	& li {
		width: 29%;
		margin: 0;
		padding: 1em 1.25em;
		line-height: 1.6;
		white-space: nowrap;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		border: solid 1px #d3d3d3;
		border-radius: 8px;
	}

	& li::after,
	li:last-of-type::after {
		left: -20px;
		transform: rotate(-90deg) translateY(-50%); 
	}

	& li:first-of-type::after { display: none; }

	& li:last-of-type::after { display: block; }

	& li br { display: block; }
}


.ward__information,
.ward__information-psychiatric {
	grid-template-columns: repeat(2, 1fr) !important;
	grid-template-rows: repeat(3, 1fr);
	gap: 20px;
}

.ward__information-psychiatric { padding: 0 0 30px; }

.ward__information > div:first-of-type,
.ward__information-psychiatric > div:first-of-type { grid-area: 1 / 1 / 2 / 2; }
.ward__information > div:nth-of-type(2),
.ward__information-psychiatric > div:nth-of-type(2) { grid-area: 1 / 2 / 2 / 3; }
.ward__information > div:nth-of-type(3),
.ward__information-psychiatric > div:nth-of-type(3) { grid-area: 2 / 1 / 3 / 2; }
.ward__information > div:nth-of-type(4),
.ward__information-psychiatric > div:nth-of-type(4) { grid-area: 2 / 2 / 3 / 3; }
.ward__information > div:nth-of-type(5),
.ward__information-psychiatric > div:nth-of-type(5) { grid-area: 3 / 1 / 4 / 2; }
.ward__information > div:nth-of-type(6),
.ward__information-psychiatric > div:nth-of-type(6) { grid-area: 3 / 2 / 4 / 3; }

.page__section-grid > div {
	display: flex;
	gap: 1em;
}

.information__desc ul,
.necessary,
.rehabilitation__desc { padding: 2em; }

.service-details > div { gap: 1em; }

.service-details > div p { padding: 1em 0; }

.tagline h4 { font-size: 20px; }

.figure__grid-two,
.rehabilitation__figure-two,
.approach__figure-two { grid-template-columns: repeat(2, 1fr) !important; }

.phone__inquiry { width: 500px; }

.ceo {
	flex-direction: initial !important;
	flex-wrap: nowrap !important;
	gap: 30px;

	& figure { width: 30%; margin: 0; }
	& p { flex: 1; }
}

.outpatient {
	margin: 0 auto !important;
    display: flex;
	flex-direction: initial !important;
    gap: 2em 4%;

	& figure { width: 48%; }
}

.reserve-heading,
.visit h4 { font-size: 26px; }

.group div {
    width: 400px;
	margin: 0 auto !important;
}

.outpatient__gallery {
	grid-template-columns: repeat(2, 1fr) !important;
	grid-template-rows: repeat(2, 1fr);
}

.information__gallery {
	grid-template-columns: repeat(3, 1fr) !important;
	grid-template-rows: repeat(1, 1fr);
}

.outpatient__gallery { padding: 0 0 50px; }

.information__gallery figure:first-of-type { grid-area: 1 / 1 / 2 / 2; }
.information__gallery figure:nth-of-type(2) { grid-area: 1 / 2 / 2 / 3; }
.information__gallery figure:nth-of-type(3) { grid-area: 1 / 3 / 2 / 4; }
.information__gallery figure:nth-of-type(4) { grid-area: 2 / 1 / 3 / 2; }
.information__gallery figure:nth-of-type(5) { grid-area: 2 / 2 / 3 / 3; }
.information__gallery figure:nth-of-type(6) { grid-area: 2 / 3 / 3 / 4; }

.contentsPage__link .link__block { margin: 0; }

.table-of-contents { padding: 1em 3em; }

.page__section-grid > div {
    grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 1fr;
    gap: 1em;
}

.information__section .philosophy li { font-size: 20px; }

.outline {
	background: #fce9ef;
	border-bottom: solid 2px #d3d3d3;
}

.information__section table {
	& th {
		width: 120px;
		background: #fce9ef;
	}

	& th, td { padding: 20px 0 20px 20px; }
}

.approach__gallery-machine {
	flex-direction: initial !important;
	flex-wrap: nowrap !important;

	& figure img {
		height: 310px;
		object-fit: cover;
	}
}

.approach__sub-section ul {
    display: flex;
    flex-wrap: wrap;

	& li { margin: 0 1em 0 0; }
}

.recruit_another {
	width: 370px;
	margin: 0 auto 70px;
}

.affiliated-hospital { padding: 1em 0 0; }

.self-payment-amount { padding: 0 0 1em; }

#top-head { margin: 0; }

#global-nav {
    top: -1300px;
}

/* #global-nav スライドアニメーション */
.open #global-nav {
     /* #global-nav top + #mobile-head height */
     -moz-transform: translateY(1350px);
    -webkit-transform: translateY(1350px);
    transform: translateY(1350px);
}

.page__section-heading,
.blockTitle,
.faq h2,
.page__section h2,
.page__section h3,
.information__section h2,
.approach__section h3,
.news__section h2,
.contents_pamflet h3 { height: 56px; }

.page__section-heading h3,
.blockTitle h2,
.faq h2,
.page__section h2,
.page__section h3,
.information__section h2,
.approach__section h3,
.news__section h2,
.contents_pamflet h3 { font-size: 22px; }

.link__block h3 { font-size: 20px; }

.approach-photo__gallery {
	grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: repeat(1, 1fr);
}

.introduction-video { margin: 2em auto 0 !important; }

.information-video { padding: 1em 0 0; }

.introduction-video { width: 80%; }
















.phone > div {
	display: flex;
	justify-content: space-between;
	flex-direction: initial !important;
	text-align: center;
}

.phone .phone-number,
.phone .web-reservation {
	width: 48%;
	margin: 0;
}

.phone-number p:first-of-type a,
.web-reservation a { font-size: 24px; }

.phone img { height: 26px; }

.text { padding: 0 0 30px; }

.br2 { display: block; }

.head, .headHome {
	  height: 400px;
	  margin: 0 0 50px;
}

.head img, .headHome img {
	height: 400px;
}

.news {
	width: 100%;
	margin: 10px auto 20px !important;
	padding: 10px 0 0;
}

.news li {
	margin: 0 0 10px;
    padding: 0 0 10px;
    border-bottom: dotted 1px;
	flex-direction: inherit;
}

.news li:last-of-type { border: none; }

.news li time { width: 165px; }

.book {
	width: 100%;
	height: 150px;
	display:flex;
	flex-direction: initial !important;
	align-items: center !important;
	background: #d5f2f7;
}

.book h3 {
    height: 150px;
    margin: 0 !important;
    padding: 0;
    width: 80px;
    border: none;
    background: #2bbef9;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pamflet {
    margin: 20px 5% !important;
    align-items: center !important;
	flex-wrap: nowrap !important;
	flex: 1;
}

.pamflet figure { width: 135px; }

.pamflet p { width: 230px; }

.pamflet p.download {
    width: 30%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pamflet p.download p { width: 100%; }

.recruit__introduction p { font-size: 18px; }

.post li {
    margin: 0;
    padding: 1em 0 1em;

	& a {
	display:flex;
	align-items: center;
	}

	& time { width: 130px; }
}

.pager { margin: 40px 0 0; }











footer {
	& ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(3, 1fr);
	grid-column-gap: 0px;
	grid-row-gap: 0px;

	& li:first-of-type { grid-area: 1 / 1 / 2 / 2; }
	& li:nth-of-type(2) { grid-area: 1 / 2 / 2 / 3; border-right: solid 1px #d3d3d3; }
	& li:nth-of-type(3) { grid-area: 1 / 3 / 2 / 4; border-right: solid 1px #d3d3d3; }
	& li:nth-of-type(4) { grid-area: 2 / 1 / 3 / 2; border-right: solid 1px #d3d3d3; }
	& li:nth-of-type(5) { grid-area: 2 / 2 / 3 / 3; }
	& li:nth-of-type(6) { grid-area: 2 / 3 / 3 / 4; }
	& li:nth-of-type(7) { grid-area: 3 / 1 / 4 / 2; }
	& li:nth-of-type(8) { grid-area: 3 / 2 / 4 / 3; border-right: solid 1px #d3d3d3; }
	& li:nth-of-type(9) { grid-area: 3 / 3 / 4 / 4; }
	}
}

.hospitalization__consultation p a { font-size: 26px; }

.home__recruit { width: 500px; }

.outPhone {
    height: 26px;
    padding: 0 0 0 8px;
    justify-content: start;
    border-left: solid 6px #f59ed4;
    border-top: none;
    border-right: none;
    border-bottom: none;
}

.outPhone p { font-weight: bold; }

.outPhone span { font-size: 24px; }

.shop { width: 400px; }














.department, .kokorodpt {
    width: 31%;
}

.twoColumn { width: 48%; }

.department_Title {
    width: 90%;
    left: 5%;
}

aside img.entrance { margin: 0 auto; }

.information dl dt, .outInformation dl dt, .reception dl dt {
	float: left;
}

.information dd, .outInformation dd {
	margin: 0 0 5px 100px;
	padding: 0;
}

.information dd, .outInformation dd#activityDate {
	margin: 0 0 5px 190px;
	padding: 0;
}

.reception dl dt {
	margin: 0 0 5px;
	padding: 0;
}

.information ul li { margin: 0; }




.infoWrap {
	display: flex;
	justify-content: space-between;
}

.deptInfo { margin: 10px 0 50px; }

.mainTitle, .mainTitleBlock { margin: 0 auto 30px; }

.heading-tagline,
.mainCopy h2,
.contents_pamflet h2,
.mainCopy h4,
.catchCopy h4 {
    font-size: 20px;
}

.fourcolumn:first-of-type, .fourcolumn:nth-of-type(2) {
    margin: 0;
}

.footer_Information {
	width: 46%;
	margin: 0;
}

.calendar table {
	table-layout: fixed;
	width: 100%;
}

.calendar table td.firstchild { width: 150px; }

.calendar table td:nth-of-type(7) { width: 100px; }

table.schedule {
	width: 50%;
	margin: 0;
}

table td.recepSat {
    width: 130px;
    font-size: 16px;
}
.footer_Inner { padding: 40px 0; }

.infoWrap {
	width: 90%;
	margin: 0 auto;
}

.outInformation dl#program dd {
    margin: 0 0 0 150px;
}

.underArrow { margin: 5px 0 5px 23%; }

.visit { margin: 50px 0 0; }

.fourcolumn { width: 23.5%; margin: 0 }

.flow {
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.flow li.icon { display: none; }

.flow li {
	height: 100%;
	width: 21%;
	padding: 5px;
	line-height: 1.6;
	display: flex;
	align-items: center;
	text-align: center;
	border: solid 1px #d3d3d3;
	border-radius: 8px;
}

.flow li.iconRight {
	width: 4%;
	padding: 0;
	display: flex;
	justify-content: center;
	color: #2bbef9;
	border: none;
}

.gallerymix {
	display: flex;
	justify-content: space-between;
}

.firstPic { width: 66%; margin: 0; }

.spFlex {
	width: 31%;
	flex-wrap: wrap;
}

.spFlex p { width: 100%; }

.spFlex p:first-of-type { margin: 0 0 auto; }

.spFlex img { display: flex; }

.onecolumnPic { width: 100%; }

.four p { width: 24%; }

.greeting {
	display: flex;
	justify-content: space-between;
}

.sentence { width: 66%; }

.gallerymedical {
	height: 310px;
	display: flex;
	justify-content: space-between;
}

.gallerymedical img,
.gallerymedical p {
	height: 100%;
	width: auto;
}

.gallerymedical .vertical img {
	height: 100%;
	width: auto;
	margin: 0;
}

.schedulePage table td.time {
    line-height: 1.7;
    font-size: 16px;
}

.recruit {
	display: flex;
	justify-content: space-between;
}

.staff { width: 48%; margin: 0; }

.entry h2 { font-size: 22px; }

.schedule { width: 50%; margin: 0; }

.support { margin: 70px 0 0; }

h3.occupation { font-size: 20px; }

.payment p br { display: none; }

.medical-department {
	width: 80%;
	gap: 0;
}

.medical-department figure { width: 33.333333%; }

.medical-department figure img { width: 100px; }

.sub-medical-department { text-align: center; }

.reserve-foot { width: 100%; }

.reserve-foot,
.call-foot a,
.web-foot a,
.map-foot a { height: 50px; }

p#pageTop { bottom: 70px; }

.recruiting-group > div {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 4%;
}

.recruit-occupation { width: 48%; }

.recruit-overview p { height: 80px; }

.recruiting h2,
.recruiting h3,
.senior-section h2,
.workflow h2 { font-size: 20px; }

.recruit-phone { font-size: 28px; }

.recruit-section,
.recruit-section-contact {
    padding: 2em;
}

.recruit-section-contact > div {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1em;
}

.email {
	margin: 0;
	padding: 0.5em 2em;
}

.head h1 { font-size: 38px; }

#job { font-size: 24px; }

.greeting-title { font-size: 20px; }

.recruit-desc { padding: 2em; }

.senior-outer figure img { max-width: 100px; }

.senior { padding: 2em; }

.senior > div p:first-of-type { font-size: 18px; }

.on-time {
    height: 80px;
    min-width: 80px;
}

.workflow-inner > div {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 1em;
}

.schedule-gallery > div { display: initial; }

.schedule-gallery > div figure { margin: 0 0 1em; }

.senior-section,
.workflow { margin: 0 auto 40px; }

.recruit-greeting,
.recruiting,
.recruit-section,
.news__section { margin: 0 0 50px; }

.apply a {
	width: 260px;
	margin: 0;
}

.job-description table td:nth-of-type(2) { padding: 1em; }

.job-description table td:first-of-type { width: 130px; }

.recruit-celebration { padding: 20px 30px; }

p.online a {
    bottom: 50px;
    line-height: 50px;
}

table.mynumber { font-size: 16px; }

table.mynumber td {
	padding: 1em;
	line-height: 2;
}

table.mynumber td.nowrap { line-height: 1.5; }

.video h3 { font-size: 20px; }



.footer_Logo p span { font-size: 20px; }

.copyright { margin: 0 0 60px; }




}







@media screen and (min-width: 1024px) {

	a[href^="tel:"] {
    pointer-events: none; /* クリックやタップを無効化 */
    color: inherit;       /* 通常のテキスト色にする */
    text-decoration: none; /* 下線を消す場合 */
  }

.br-tb,
.reservation-sp { display: none; }

.br-pc,
.sidemenu,
.info,
.introduction p br { display: block; }

#section-1,
#section-2,
#section-3,
#section-4,
#section-5 { scroll-margin-top: 190px; }

.page__sub-section,
.approach__sub-section {
	flex-wrap: nowrap !important;
	flex-direction: initial !important;
}

.page__sub-section h4,
.approach__sub-section h4 {
	width: 150px;
	padding: 10px 0;
	border: none;
	text-align: center;
	background: #fce9ef;
}

.page__sub-section p,
.approach__sub-section ul {
	flex: 1;
}

.approach__gallery-machine figure img { height: 285px; }

.sidemenu { width: 25%; }

.hospitalization-contents,
.contentsPage,
.contents__information,
.contents_pamflet { width: 70%; }

.sidemenu ul li {
	padding: 0;
	line-height: 1.4;
	font-size: 18px;
	border-top: solid 3px #ffffff;
	background: #ccf1f5;
}

.sidemenu ul li ul.sub-menu  li {
	background: #fff;
}

.sidemenu ul li.sub {
	padding: 0;
	font-size: 16px;
	background: none;
	border-top: solid 1px #d3d3d3;
}

.sidemenu ul li a { padding: 0.75em 0 0.75em 1em; display: block; }

.sidemenu ul li.sub a { padding: 0.75em 0 0.75em 1em; }

.sidemenu ul ul.sub-menu   li:first-of-type {
    border-top: none;
}


/* ========================================
   パソコン向けのスタイル（画面幅1024px以上）
   ======================================== */
    #gnav {
        display: flex; /* メニューを横並びにする */
        justify-content: space-between;
    }
    
    #gnav > li {
        border-bottom: none; /* 区切り線を消す */
        position: relative; /* サブメニューの位置の基準にする */
    }

    /* PCでは矢印のサイズを調整 */
    .accordion-arrow {
        width: 6px;
        height: 6px;
        margin-left: 8px;
        margin-bottom: 3px;
        padding: 0;
    }

.submenu {
    max-height: none; /* PCでは高さの制限を解除する */
    overflow: visible; /* はみ出た部分を隠す設定も解除する */
    display: none; /* PCではホバーするまで非表示にしておく */

	& li a {
    display: block;
    padding: 12px 30px 12px 30px;
	white-space: nowrap;
    }
}

.has-submenu:hover .submenu {
    display: block;
    position: absolute;
    top: 100%;
    right: 0;
    background-color: #ffffff;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    z-index: 10;
}


footer ul { width: 1024px; }

    /* PCではJavaScriptによる「open」クラスの矢印回転を無効にする */
.has-submenu.open .accordion-arrow { transform: rotate(45deg); }

.has-submenu p,
#gnav > li > a { padding: 20px 0; }

#top-head #global-nav ul li, #top-head.fixed #global-nav ul li,
footer li, .deptDetails, .post, a.page-numbers,
.recruit-button > div:hover {
	-webkit-transition: all 0.8s ease;
	-moz-transition: all 0.8s ease;
	-o-transition: all 0.8s ease;
	transition: all  0.8s ease;
}

 #top-head #global-nav ul li:hover, #top-head.fixed #global-nav ul li:hover,
footer li:hover, .deptDetails:hover, .post:hover, a.page-numbers:hover,
.recruit-button:hover > div {
	background: #d5f2f7;
}

.mobile-head-inner {
    width: 94%;
    margin: 0 1% 0 5%;
}

.sidemenu ul li {
	-webkit-transition: all 0.8s ease;
	-moz-transition: all 0.8s ease;
	-o-transition: all 0.8s ease;
	transition: all  0.8s ease;
}

.sidemenu ul li:hover {
	background: #fee7f5;
}

.outpatient { width: 800px; }

.home__heading br { display: none; }

.psychiatric-process li { padding: 1em 1em; }

.introduction-video {
	width: 800px;
	margin: 70px auto 0 !important;
}




.head, .headHome { margin: 0 0 80px; }

.text { padding: 0 0 40px; }

#top-head #global-nav ul li.child { display: none; }

.logo img {
    margin: 0;
    height: 42px;
}

.logo__name {
	font-size: 16px;
	color: inherit;
	display: block;
}

.logo__name span {
	margin: 0;
	font-size: 20px;
}

.logo p br { display: block; }

#top-head .logo {
	height: 100px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.5em;
}

.logo p.features {
	height: auto;
	width: 100%;
	line-height: 1.3;
	font-size: 18px;
	padding: 3px 10px;
	text-align: center;
	color: #fff;
	background: rgb(239, 72, 175);
	position: relative;
	overflow: hidden; /* 光のはみ出しを防ぐ */
	display: inline-block; /* または block */
}

.logo p.features::after {
	content: "";
	position: absolute;
	top: -50%;
	left: -50%;
	width: 50%;
	height: 200%;
	background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.5) 50%,
    rgba(255, 255, 255, 0) 100%
	);
	transform: rotate(-25deg); /* 斜めに光らせる */
	animation: features-shine 2s infinite; /* 3秒周期で繰り返し */
}

@keyframes features-shine {
	0% { left: -75%; /* 左外側からスタート */ }
	100% { left: 150%; /* 右外側へ移動 */ }
}

.logo p.features br { display: none; }

.menu-recruite-sp { display: none; }

#top-head { padding: 10px 0; }

.menu-recruite {
	height: 100px;
	margin: 0 auto;
	padding: 0 0.5em;
	background: #2bbef9;
	border-radius: 12px;
	position: relative;
	overflow: hidden; /* 光のはみ出しを防ぐ */
	display: inline-block; /* または block */
}
.menu-recruite > div {
	height: 100%;
	display: flex;
	justify-content:center;
	align-items: center;
	flex-direction: column;
}

.menu-recruite::after {
	content: "";
	position: absolute;
	top: -25px;
	width: 150px;
	height: 150px;
	background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.5) 50%,
    rgba(255, 255, 255, 0) 100%
	);
	 transform: skewX(45deg);
	animation: menu-recruite-shine 2s infinite; /* 2秒周期で繰り返し */
	animation-delay: 1s;
}
@keyframes menu-recruite-shine {
  0% {
    left: -100px; /* 要素の左外側からスタート */
  }
  100% {
    left: 100%; /* 要素の右外側（100%）を通り過ぎるまで移動 */
  }
}

#top-head .menu-recruite p {
	color: #fff;
	text-align: center;
}

#top-head .menu-recruite p a { 
	margin: 5px 0 0;
	padding: 5px 10px;
	line-height: 1;
	color: #000;
	border-radius: 6px;
	background: #fff;
	display: inline-block;
}
#mobile-head { display: block; }

#nav-toggle { display: none; }

#global-nav {
    height: auto;
    padding: 0;
    position: static;
    top: 98px;
}

#global-nav ul li {
	width: 100%;
	border-left: solid 1px #fff;
}

.has-submenu p, #gnav > li > a {
	    justify-content: center;
}

#global-nav ul li:first-of-type,
#global-nav ul li ul.submenu li { border-left: none; }

#global-nav ul li ul.submenu li:last-of-type { border-right: none; }


.calendar {
	width: 740px;
	margin: 0 auto !important;
}

.book {
    width: 740px;
    margin: 0 auto !important;
}

.access {
    width: 100%;
    margin: 0 0 10px !important;
    display: flex;
    align-items: center !important;
	flex-direction: initial !important;
}

.access h3 {
	margin: 0 2% 0 0 !important;
	padding: 10px 0;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: #fce9ef;
}


.hospitalization__overview {
	width: 740px;
	margin: 0 auto !important;
}

.hospitalization__consultation,
.phone__inquiry {
	width: 500px;
	margin: 0 auto !important;
}

.hospitalization { gap: 3.5%; }

.group {
	width: 840px;
	margin: 0 auto !important;
    flex-direction: initial !important;
}

.group div { height: 100px; }


.mainTitle { margin: 0 auto 60px; }

.gallery { margin: 0 0 100px; }

.container { margin: 0; }

    .wrap {
        width: 90%;
        margin: 0 auto 50px;
        display: flex;
        justify-content: space-between;
    }

.introduction,
.recruit__introduction { margin: 0 auto 70px; }

.introduction h1,
.introduction h2,
.recruit__introduction h2 {
    margin: 0 0 10px;
    font-size: 22px;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
}

.mainTitle h1, .mainTitleBlock h2 {
    padding: 0 0 10px;
    font-size: 28px;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
}

.introduction p { 
	margin: 0 auto;
	text-align: center;
}

.information {
    display: flex;
    justify-content: space-between;
}

.information dl { width: 47%; }

.information ul li { margin: 0; }

.outpatientInfo aside { width: 31%; }

.map iframe, .map object, .map embed { height: 400px; }

.news dd { padding: 0 0 10px 170px; }

.news dt { width: 170px; }

.facility {
    width: 100%;
    margin: 0 0 20px;
    display: flex;
    align-items: center;
}

.facility h3 {
	margin: 0 2% 0 0;
	padding: 10px 0;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: #fce9ef;
}

.access h3, .facility h3 {
	width: 22%;
}

.access p, .facility p, .facility ul {
	width: 76%;
}

.access ul li { line-height: 2; }

.footer_Information {
	width: 34%;
	margin: 0;
}

.schedule { width: 63%; }



.gallery p { width: 30%; }

.gallery p.wide { width: 67.5%; }

.gallerymedical { height: 285px; }

ul.purpose { margin: 0; }

.footer_Inner { margin: 0 0 30px; }

footer {
	& ul {
	width: 90%;
	margin: 0 auto;
	display: flex;
	justify-content: center;

	& li {
		border-top: solid 1px #d3d3d3;
		border-right: solid 1px #d3d3d3;
	}
	& li:first-of-type { border-left: solid 1px #d3d3d3; }

	& a { padding: 0 1em; }
	}
}







.director { width: 32%; }

.sentence { width: 64%; }


.recruit {
	display: flex;
	justify-content: space-between;
}

.staff { width: 48%; }

.comment  { width: 55%; }

.staffimg  { width: 43%; }

.schedule { width: 60%; }

.calendar table td:nth-of-type(7) { width: 130px; }

.calendar table td.time,
.schedule table td.time { font-size: 16px; }

.calendar table td.sat,
.schedule table td.sat {
    line-height: 40px;
    font-size: 16px;
}

.schedule table td:nth-of-type(7) {
    width: 120px;
}

.outInformation ul.things {
	padding: 20px 30px;
}

.outInformation .necessary {
	padding: 15px 30px;
}

header,
#mobile-head,
.mobile-head-inner,
#top-head .inner,
.firstaid { height: 120px; }

.mobile-head-inner,
.head-access,
.head-map a {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.phonenumber a,
.web {
	display: flex;
	justify-content: center;
	align-items: center;
}
.web {
	padding: 0 10px;
}

.mobile-head-inner {
	width: 96%;
	margin: 0 auto;
}

.reserve {
	margin: 0 0 5px;
	display: flex;
	justify-content: end;
	align-items: center;
}

.call {
	margin: 0 10px 0 0;
	background: #d5f2f7;
}

.call,
.web-reserve {
	height: 50px;
	padding: 10px;
	display: flex;
	align-items: center;
	border-radius: 12px;
}

.web-reserve {
	color: #fff;
	background: #2bbef9;
}

.call img,
.web img {
	height: 16px;
	margin: 0 5px 0 0;
}

.web-reserve p {
	font-size: 12px;
	text-align: center;
}

.call p,
.web-reserve .web {
	font-size: 18px;
	font-weight: bold;
}

.head-access { font-size: 14px; }

.head-map a {
	margin: 0 0 0 10px;
	text-decoration: underline !important;
}

.head-map a img { height: 20px; margin: 0 3px 0 0; }

.medical-department { width: 600px; }

.medical-department figure { width: 200px; }

.recruiting h2,
.recruiting h3,
.senior-section h2,
.workflow h2,
.workplace h2 { font-size: 26px; }

.staff-image img { height: 180px !important; }

.head h1 { top: 30%; }

.recruit-overview p { height: 100px; }

.online-license-last { margin: 0 0 50px; }

.addition h2 {
    font-size: 22px;
}




.copyright { margin: 0 0 80px; }






}




@media screen and (min-width: 1180px) {


.table-of-contents { margin: 30px 0 50px !important; }

.figure__grid-five {
	grid-template-columns: repeat(4, 1fr) !important;
	grid-template-rows: auto;
}

.figure__grid-five figure:first-of-type { grid-area: 1 / 1 / 2 / 5; }
.figure__grid-five figure:nth-of-type(2) { grid-area: 2 / 1 / 3 / 2; }
.figure__grid-five figure:nth-of-type(3) { grid-area: 2 / 2 / 3 / 3; }
.figure__grid-five figure:nth-of-type(4) { grid-area: 2 / 3 / 3 / 4; }
.figure__grid-five figure:nth-of-type(5) { grid-area: 2 / 4 / 3 / 5; }

.tagline h4,
.information__section h3 { font-size: 24px; }

.approach__gallery-machine figure img { height: 355px; }

.recruit__introduction h2 { font-size: 26px; }

.recruit__introduction p { font-size: 20px; }

.reception dd { margin: 0 0 0 100px; }

#gnav {
	width: 1120px;
	margin: 0 auto;
    justify-content: center;
}

#global-nav ul li:last-of-type {
        border-right: solid 1px #fff;
    }

#global-nav ul li:first-of-type {
	border-left: solid 1px #fff;
}

.reserve-foot {
	height: auto;
	width: auto;
	display: block;
	right: 0;
	top: 250px;
}

.call-foot,
.web-foot { display: none; }

.call-foot-pc,
.web-foot-pc {
	width: auto;
	display: block;
}

.mynumber-foot-pc {
	width: auto;
	display: block;
	background: #fff;
	border-top-left-radius: 16px;
	border-bottom-left-radius: 16px;
}

.mynumber-foot-pc a {
	height: 50px;
	padding: 0 20px;
	font-size: 18px;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #000;
}

.web-foot-pc {
	padding: 1em 0.75em;
	background: #009844;
	border-radius: 12px 0 0 12px;
	border-top: solid 3px #fff;
	border-bottom: solid 3px #fff;
	border-left: solid 3px #fff;
}
.web-foot-pc img { width: 35px; }

.map-foot,
p.online { display: none; }

p#pageTop { bottom: 0; }

.psychiatric-process {
	gap: 15px 40px;
	& li { width: 30%; }
}










.staff-image:hover { opacity: 0.7; }


.br-pcW { display: none; }

.head,
.head img { height: 500px; }

.headHome,
.headHome img { height: 700px; }

.head,
.headHome {
  margin: 0 0 120px;
}

.contents, footer ul { width: 1024px; }

.wrap,
.breadcrumb,
.mainTitle,
.infoWrap {
	width: 1120px;
}

.news { width: 740px; }

.mainTitle { margin: 0 auto 80px; }

.wrap { margin: 0 auto 80px; }

.breadcrumb li { font-size: 14px; }

.sidemenu { width: 260px; }

.hospitalization-contents,
.contentsPage,
.contents__information,
.contents_pamflet { width: 800px; }


.logo img { height: 48px; }

.logo__name {
    font-size: 16px;
    text-wrap: nowrap;
}

.logo__name span { font-size: 22px; }

footer { padding: 0; }

.introduction h1,
.introduction h2,
.addition h2 { font-size: 26px; }

.information {
    width: 86%;
    margin: 0 auto;
}

.information dl { width: auto; }

.information dd { margin: 0 0 15px 100px; }

.mainTitle { margin: 0 auto 80px; }

.book, .book h3 { height: 180px; }

.book h3 { font-size: 20px; }

.firstPic { width: 67%; }

.heading-tagline,
.mainCopy h2,
.contents_pamflet h2,
.mainCopy h4,
.catchCopy h4 {
    font-size: 24px;
}

.gallery p { width: 29%; }

.gallery p.wide { width: 66.5%; }

.galleryTwo p { width: 49%; }

.gallerymedical { height: 355px; }

.sentence { width: 66%; }


.footer_Information { width: 30%; }

.footer_Inner { padding: 40px 0; }

.comment  { width: 52%; }

.staffimg  { width: 46%; }

.schedule { width: 65%; }

.condition dt { width: 17%; }

.condition dd { width: 83%; padding: 10px 0 10px 20px; }

.post dt { width: 140px; }

.recruiting-group > div { gap: 2%; }

.recruit-occupation { width: 32%; }

.greeting-title {
    font-size: 24px;
}

.head h1 { top: 50%; }

.time-schedule { display: flex; }

.schedule-gallery { width: 270px; }

.time-schedule > div {
	width: 510px;
	display: flex;
	flex-direction: column;
}

.day-schedule {
	width: 510px;
	flex-grow: 1;
}

.apply a {
	width: 300px;
	padding: 1em 2em;
}




}




@media screen and (min-width: 1366px) {

#top-head .logo {
	width: auto;
	flex-direction: initial;
    align-items: center;
	gap: 1em;
}

#top-head .logo p.features {
	width: auto;
	padding: 0.5em 1em;
}
.logo p.features::after { transform: rotate(-45deg); }

#top-head .logo p.features br,
.video p br { display: block; }

.logo img { height: 70px; }

.logo__name {
	line-height: 1.5;
	font-size: 18px;
}

.logo__name span { font-size: 24px; }

#gnav {
	width: 1180px;
	flex-wrap: nowrap;
}

#global-nav ul li { width: 100%; }

.has-submenu p, #gnav > li > a {
    padding: 20px 0;
	justify-content: center;
}

.has-submenu:hover .submenu {
	left: 0;
	right: initial;
}
	
.psychiatric-process {
        width: 100%;
        gap: 15px 40px;
}

}