@charset "utf-8";
/*!
foundation > reset
------------------------------
*/
html {
	color: #000;
	background: #fff;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

fieldset,
img {
	border: 0;
}

address,
caption,
cite,
code,
dfn,
th,
var {
	font-style: normal;
	font-weight: normal;
}
em,
strong{
	font-style: normal;
	font-weight:bold;
}
ol,
ul {
	list-style: none;
}

caption,
th {
	text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal;
}

q:before,
q:after {
	content: "";
}

abbr,
acronym {
	border: 0;
	font-variant: normal;
}

input,
textarea,
select,
button {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	font-size: 100%;
	border-radius: 0;
	border: none;
	appearance: none;
	-webkit-appearance: none;
	background-color: inherit;
}

textarea {
	resize: vertical;
	display: block;
}

select {
	cursor: pointer;
}

button {
	padding: 0;
	cursor: pointer;
}

legend {
	color: inherit;
}

tbody {
	-webkit-text-size-adjust: 100%;
}

main {
	display: block;
}

a {
	text-decoration: none;
	color: inherit;
}

img,
svg {
	width: 100%;
	height: auto;
	display: block;
}

dialog {
	max-width: 100%;
	max-height: 100%;
	padding: 0;
	color: inherit;
	border: none;
}

iframe {
	vertical-align: bottom;
}

* {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	box-sizing: border-box;
}

*::before,
*::after {
	box-sizing: border-box;
}

/*
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Overpass:wght@100;200;300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;700");
*/

/*カスタムプロパティ*/
:root{
	--color-primary: #4394D6;/*rgba(67, 148, 214, 1)*/
	--color-primary-rgb: 67, 148, 214;
	--color-primary2:#244F73;/*rgba(36, 79, 115, 1);*/
	--color-primary2-rgb: 36, 79, 115;
	--color-pagenav: #4682B4;
	--color-black: #000000;
	--color-white: #FFFFFF;
	--color-gray: #666666;
	--color-gray2: #999999;
	--color-border: #DDDDDD;
	--color-font: #141C1E;
	--color-font2: #0139B4;
	--color-font3: #1F4A6D;/*未使用*/
	--color-font4:#6e0b2c;/*看護部文字*/

	/*バックグランドカラー*/
	--color-theme-bg:#DFECF9;
	--color-theme-bg1:#EFF7FB;
	--color-theme-bg2:#C4E0F0;/*色の目的が不明*/
	--color-theme-bg3:#fff5f8;

	/*未使用（themeに合った赤系）*/
	--color-orange:#FF6F61;/*コーラルオレンジ*/
	--color-red1:#F28B82;/*ペールレッド*/
	--color-red2:#F44336;/*明るいレッド*/
	--color-red3:#8C2F2F;/*ダークレッドrgba(140, 47, 47, 1);*/

	/*看護部カラー*/
	--color-pink1:#FFA3C2;
	--color-pink2:#6e0b2c;
	--color-pink3:#ffe3ec;

}

html{
	font-size: 16px;
}
body{
	font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	color: var(--color-font);
	background: var(--color-white);
	font-size: 1rem;
	line-height:1.6;
	position:relative;
}

/* ================================================== */

h1 {/*site-nameのみ*/
	font-size:2.25rem;/*36px*/
	background: none;
}
h2 {
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	font-size: 2.75rem;/*44px*/
	letter-spacing: 0.05em;
}
h3{
	font-size: 1.5rem;/*24px*/
	font-weight:500;
	line-height: 1;
	margin: 0;
	letter-spacing: 0.05em
}

h4{
	font-size: 22px;/*?rem*/
}
h5{
	font-size: 1.125rem;/*18px*/
}
h6{
	font-size: 1rem;/*16px*/
}

a.u-normal-link,
.u-normal-link a{
	text-decoration:underline;
}
a.u-normal-link:hover,
.u-normal-link a:hover{
	color:blue;
}
a.u-hover-link:hover,
.u-hover-link a:hover{
	color:blue;
	text-decoration:underline;
}

@media (max-width: 840px) {}
@media (max-width: 540px) {
	h2 {
		font-size: 2.25rem;/*36px*/
	}
	h3{
		font-size: 1.25rem;/*20px*/
	}
	h4{
		font-size: 19px;/*?rem*/
	}
}
@media (max-width: 450px) {
	h2 {
		font-size: 2rem;/*32px*/
		letter-spacing: 0;
	}
}
.u-mtb10 {
	margin-bottom:10px !important;
	margin-top:10px !important;
}
.u-mt10{
	margin-top:10px !important;
}
.u-mt20{
	margin-top:20px !important;
}
.u-mb0{
	margin-bottom:0 !important;
}
.u-mb10{
	margin-bottom:10px !important;
}
.u-mb20{
	margin-bottom:20px !important;
}
.u-mb30{
	margin-bottom:30px !important;
}
.u-mb40{
	margin-bottom:40px !important;
}
/*clearfix*/
.clearfix::after {
	content: "";
	display: table;
	clear: both;
}
/*ローディング*/
#loading-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: white;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
}
.spinner {
	width: 40px;
	height: 40px;
	border: 4px solid #ccc;
	border-top-color: #333;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}
@keyframes spin {
	to { transform: rotate(360deg); }
}


/*構造*/
#home, #page {
	position: relative;
}

body{
	margin:0;
	padding:0;
}

.l-header {
	position: relative;
	width:100%;
	height: 100px;
	z-index: 1;
	/*border:5px solid purple;*/
}
@media screen and (max-width: 760px) {
	/*.l-header{
		height:300px;
	}*/
	.l-header.is-recruit{
		height:100px;
	}
	
}
@media screen and (max-width: 540px) {
	.l-header{
		height:70px;
	}
	.l-header.is-recruit{
		height:70px !important;
	}
}

/*コンテンツタイトル*/
.l-tile-container{
	max-width: 1280px;
	width: 100%;
	/* margin:100px auto 66px;
	padding: 0 50px!important; */
	margin:0 auto;
	padding: 100px 50px 66px !important;
	z-index:0;
	position:relative;
	/*border:5px solid skyblue;*/
}
.l-topic-path-container{
	max-width: 1280px;
	width: 100%;
	/* margin: 0 auto 30px;
	padding: 0 50px; */
	margin: 0 auto;
	padding: 0 50px 30px;
	z-index:0;
	position:relative;
    overflow: hidden;
	/* border:5px solid skyblue; */
}
@media screen and (max-width: 840px) {
	.l-topic-path-container{
		padding: 0 30px 20px;
	}

	.l-tile-container{
		padding: 70px 30px 40px !important;
		text-align:center;
	}
}
@media screen and (max-width: 540px) {
	.l-tile-container{
		padding: 60px 30px 60px !important;
	}
	.c-page-title {
		font-size: 2.25rem;/*36px*/
	}
	.l-topic-path-container {
		margin: 0 auto !important;
	}
}
@media screen and (max-width: 420px) {
	.l-topic-path-container {
		padding-left:15px;
		padding-right:10px;
	}
}
/**/
.l-container {
	display: block;
	width: 100%;
	margin:0 auto;
	padding: 0;
	position: relative;
	/*border:5px solid orange;*/
}
/**/
.l-unit {
	max-width: 1280px;
	width: 100%;
	padding:0 50px;
	margin:0 auto 50px;
	text-align:left;
	/*border:5px solid purple;*/
}

.l-unit::after {
	content: "";
	display: block;
	clear: both;
}
.l-unit-inner {
	padding:0 30px;
}
@media screen and (max-width: 840px) {
	.l-unit {
		padding:0 30px;
	}
	.l-unit-inner {
		padding:0 10px;
	}
}
@media screen and (max-width: 420px) {
	.l-unit {
		padding:0 10px;
	}
	.l-unit-inner {
		padding:0;
	}
}
.l-news-container{
	max-width: 1280px;
	width: 100%;
	padding:0 50px;
	margin:0 auto 50px;
	text-align:left;
}
@media (max-width: 650px) {
	.l-news-container{
		padding:0 0;
	}
}
/* .l-container内の最後の .l-unitの下マージンなし */
.l-container .l-unit:last-child {
	margin-bottom: 0; 
}
.l-button-container{
	margin:30px 0;
}
.l-button-container--center > *{
	margin:30px auto;
}
.l-button-container.u-m30auto .c-button{
	margin:30px auto !important;
}
.l-button-container.u-recruit{
	display:flex;
	gap:60px;
	justify-content:center;
	margin-top:48px;
	margin-bottom:0;
}

@media screen and (max-width: 768px) {
	.l-button-container.u-recruit{
		flex-direction: column;
		justify-content:center !important;
		gap:16px;
	}
	.c-button.c-button-recruit{
		margin:0 auto;
	}
}
.u-flex-g20{
	display:flex;
	gap:20px;
}
@media screen and (max-width: 540px) {
	.u-flex-g20{
		flex-direction: column;
		gap:10px;
	}
	.u-flex-g20 .c-button{
		margin:0 auto;
	}
}
.l-footer {
	margin: 0;
	padding: 0;
	/*border:5px solid pink;*/
}

.l-sitemap-container {
	margin: 0 auto;
	background: #fff;
}
.c-hamburger {
	position: fixed;
	top: 0;
	right:0;
	z-index: 1001;
	width: 80px;
	height: 100px;
	background-color: var(--color-primary); /* 通常時の背景色 */
	color: var(--color-white); /* ラベルの文字色 */
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background-color 0.3s ease;
}
.is-nurse .c-hamburger{
	background-color: var(--color-red3); /* 看護師コンテンツの背景色 */
}
.c-hamburger:hover {
	background-color: #FF0000; /* ホバー時の赤背景 */
}
.c-hamburger .label {
	margin-top: 12px;
	font-size: 0.9rem;
	color: var(--color-white); /* 白抜き文字 */
}
.c-hamburger .icon {
	position: relative;
	width: 38px;
	height: 32px;
}
.c-hamburger .icon span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: var(--color-white); /* 白抜き線 */
	border-radius: 2px;
	transition: all 0.4s ease;
}
/* 三本線のバランス配置 */
.c-hamburger .icon span:nth-child(1) {
	top: 9px;
}
.c-hamburger .icon span:nth-child(2) {
	top: 19px;
}
.c-hamburger .icon span:nth-child(3) {
	top: 29px;
}
/* ハンバーガーメニュー展開時（白背景＋青線＆ラベル） */
.c-hamburger.active {
	background-color: var(--color-white);
}
/* オープン時の状態（×に変形＋赤背景） */
.c-hamburger.active {
	background-color: var(--color-white);
}
.c-hamburger.active .label {
	color: var(--color-primary);
}
.c-hamburger.active .icon span {
	background-color: var(--color-primary);
}
.c-hamburger.active .icon span:nth-child(1) {
	transform: rotate(45deg);
	top: 19px;
}
.c-hamburger.active .icon span:nth-child(2) {
	opacity: 0;
}
.c-hamburger.active .icon span:nth-child(3) {
	transform: rotate(-45deg);
	top: 19px;
}
/* ホバー時に赤背景＋白抜き */
.c-hamburger.active:hover {
	background-color: #FF0000;
}
.c-hamburger.active:hover .label {
	color: var(--color-white);
}
.c-hamburger.active:hover .icon span {
	background-color: var(--color-white);
}
@media screen and (max-width: 540px) {
	.c-hamburger {
		width: 70px;
		height: 70px;
	}
	.c-hamburger .label {
		display:none;
	}
	/* 三本線のバランス配置 */
	.c-hamburger .icon span:nth-child(1) {
		top: 4px;
	}
	.c-hamburger .icon span:nth-child(2) {
		top: 14px;
	}
	.c-hamburger .icon span:nth-child(3) {
		top: 24px;
	}
	.c-hamburger.active .icon span:nth-child(1) {
		top: 14px;
	}
	.c-hamburger.active .icon span:nth-child(3) {
		top: 14px;
	}
}

/* フルスクリーンメニュー */
.l-fullscreen-menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: white;
	z-index: 999;
	overflow-y: auto;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s ease;
	background-color: var(--color-primary);
	color: var(--color-white);
}
.l-fullscreen-menu.active {
	opacity: 1;
	pointer-events: auto;
}
.c-fullscreen-menu-header{
	display:flex;
	justify-content:space-between;
}
/*フルスクリーン内のロゴ*/
.c-fullscreen-menu-header .c-site-logo {
	background-image: url("../images/logo/pc_white_log.svg");
	/*background: red;*/
}
/*フルスクリーン内のグローバルナビ*/
.c-fullscreen-menu-header .c-global-nav {
	grid-template-columns: 1fr 156px 92px 80px;
	grid-template-rows: 100px 0;
	gap:0;
}
.c-fullscreen-menu-header .c-global-nav-tel-no{
	align-self:center;
	margin-right:18px;
}
.c-fullscreen-menu-header .c-global-nav-inquiry{
	font-size:1.125rem;
	align-self:center;
	width:156px;
}
.c-fullscreen-menu-header .c-global-nav-search{
	font-size:1.125rem;
	align-self:center;
	width:92px;
}
.u-border-left{
	border-left:1px solid var(--color-white);
}
.e-square {
	display: flex;
	justify-content:center;
	align-items: center;
	height: 100px;
	font-weight:500;
	background-color: var(--color-primary);
	color: var(--color-white);
	text-decoration: none;
	transition: background-color 0.3s ease;
}
.e-square  i {
	margin-right: 8px;
	font-size: 1rem;
}
.e-square:hover {
	color: var(--color-white);
	background-color: var(--color-primary2);
}
@media screen and (max-width: 1040px) {
	.c-fullscreen-menu-header .c-site-logo  {
		background-image: url("../images/logo/pc_white_log1.svg");
		background-position: center bottom 12px;
	}
}
@media screen and (max-width: 760px) {
	.c-fullscreen-menu-header .c-site-logo  {
		width:100%;
		height:100px;
		background-image: url("../images/logo/sp_white_log.svg");
		background-position: left center;
		/*border:1px solid red;*/
	}
	.c-fullscreen-menu-header .c-global-nav{
		grid-template-columns: 0 0 0 0;
		grid-template-rows: 70px 0;
		column-gap:0;
		/*padding-right:70px;*/
	}
}
@media screen and (max-width: 540px) {
	.c-fullscreen-menu-header .c-global-nav{
		padding-right:70px;
		height:70px;
	}
	.c-fullscreen-menu-header .c-site-logo {
		height:70px;
		/*border:1px solid red;*/
	}
}


.c-fullscreen-menu-header{
	display:flex;
	justify-content:space-between;
	width: 100%;
	/*height: auto;*/
	position:relative;
	align-items:center;
}

.l-fullscreen-menu-inner{
	width:100%;
	max-width:1280px;
	margin:0 auto;
	padding: 0 30px;
}
.c-category-contents{
	display:block;
	width:100%;
	max-width:1280px;
	margin:40px auto;
	padding:30px 40px 0;
	background:var(--color-white);
	border-radius:10px;
}
.c-category-contents h2{
	text-align:left !important;
	color:var(--color-font2);
	position: relative;
	padding-right: 40px;
	line-height:1.5;
}
.c-category-contents h2::after {
	content: "\f078"; /* Font Awesome: chevron-down */
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1rem;
	color: #666;
	cursor: pointer;
	transition: transform 0.3s ease;
}
/* 展開時にアイコンを回転 */
.c-category-contents h2.active::after {
	transform: translateY(-50%) rotate(180deg);
}


.c-category-contents .c-topic-path {
	margin:0;
	padding:0;
}
.c-category-contents .c-topic-path ul{
	margin:20px 0 0;
	padding: 20px  0;
	border-top: 2px dotted var(--color-primary);
	color:var(--color-primary2);
}
.c-topic-path li.home::before,
.c-topic-path li:not(:last-child)::after {
	color:var(--color-primary2) !important;
}


.c-fullmenu-category-nav{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	justify-content:space-between;
	gap: 15px;
	/*column-gap: 15px;
	row-gap: 15px;*/
	list-style: none;
	padding: 0 0 40px;
	margin: 20px 0 0;
}
.c-fullmenu-category-nav li{
	display: flex;
	margin:0;
	padding: 0;
	align-items: center;
	height:50px;
	flex:2 1 auto;
}

.c-fullmenu-category-nav li a {
	display: flex;
	align-items: center;
	flex:2 1 auto;
	margin:0;
	padding: 0 16px 0 40px;
	font-size: 1.125rem;
	line-height: 1;
	color: var(--color-white);
	font-weight:500;
	background-color: var(--color-primary);
	/*border:2px solid var(--color-primary);*/
	border-radius: 10px;
	text-decoration: none;
	position: relative;
	height: 100%;
	/*word-break: break-word;*/
	transition: background-color 0.3s ease;
}
.c-fullmenu-category-nav li a::before {
	content: "\f0a9"; /* fa-circle-arrow-right */
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	font-size: 1.125rem;
	left: 13px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--color-white);
}
.c-fullmenu-category-nav li a:hover {
	background-color: var(--color-theme-bg2);
	/*border:2px solid var(--color-theme-bg2);*/
	color: var(--color-font2);

}
.c-fullmenu-category-nav li a:hover::before{
	color: var(--color-font2);
}

.c-menu-content {
	width:100%;
	max-width:1280px;
	margin:30px auto;
	padding: 0;
	border:0 solid red;
}
.u-no-letter-spacing,
.u-no-letter-spacing>*{
	letter-spacing: 0em;
}
.c-tb-sp-gnav-list {
	/*740px以降で表示*/
	display:none;
}
.c-menu-content-inner{
	display:flex;
	justify-content:space-between;
	gap:80px;
}

.c-menu-nav, .c-menu-hospital-info {
	/*list-style: none;*/
	flex:0 1 50%;
	padding: 0;
	margin: 0;
}

/* 親メニュー項目 */
.c-menu-nav > li {
	border-bottom: 1px solid var(--color-white);
	margin-top: 0;
}

/* 親メニューリンクとアイコンを並べる */
.c-menu-nav > li > a,
.c-menu-nav > li > .toggle-icon,
.c-menu-nav .c-menu-sub-nav > li > .subsub-toggle-icon {
	display: inline-block !important;
	vertical-align: middle;
	height: 60px;
	line-height: 60px;
	font-size: 1.125rem;
	text-decoration: none;
	color: var(--color-white);
	transition: background-color 0.3s ease;
}
.c-menu-nav > li > a {
	width: calc(100% - 64px);
	padding-left: 10px;
}

.toggle-icon,
.subsub-toggle-icon {
	font-size: 1.125rem;
	width: 60px;
	text-align: center;
	cursor: pointer;
	color: var(--color-white);
	transition: color 0.3s ease;
}
i.toggle-icon:hover,
i.subsub-toggle-icon:hover {
	background:#255378;
	color:var(--color-primary);
}
/* サブメニュー全体 */
.c-menu-sub-nav {
	display: none;
	padding: 0;
	margin: 0;
}

/* サブメニュー項目 */
.c-menu-sub-nav li {
	border-top: 1px solid var(--color-white);
	margin-top: 0;
}

.c-menu-sub-nav a {
	display: inline-block;
	height: 60px;
	line-height: 60px;
	font-size: 1.125rem;
	text-decoration: none;
	color: var(--color-white);
	padding-left: 3rem;
	position: relative;
	width: calc(100% - 64px);
	padding-left: 40px;
}
/* 疑似要素でアイコン表示 */
.c-menu-sub-nav a::before,
.c-menu-subsub-nav a::before  {
	content: "\f105";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	left: 1.5rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--color-white);
	font-size: 1rem;
}
/* サブサブメニュー項目 */
.c-menu-subsub-nav a{
	padding-left: 60px;
}
.c-menu-subsub-nav a::before {
	left: 2.75rem;
}

/* 親メニュー項目 */
.c-menu-hospital-info> li {
	margin:0;
	padding:0;
}
.c-menu-hospital-info> li .e-hospital-info-header {
	display:flex;
	align-items:center;
	margin:0;
	padding-left: 10px;
	height: 60px;
	min-height: 60px;
	font-size: 1.125rem;
	font-weight:500;
	color: var(--color-white);
	border-bottom: 1px solid var(--color-white);
}

.c-menu-hospital-info> li p{
	margin:10px 0;
	padding: 0 0 0 10px;
	font-size: 1.125rem;
	font-weight:400;
	line-height:1.4;
	color: var(--color-white);
}

.l-menu-footer{
	margin:60px auto 60px;
}

@media screen and (max-width: 840px) {
	.c-category-contents h2{
		font-size:2.5rem;
	}
}

@media screen and (max-width: 760px) {

	.c-tb-sp-gnav-list {
		display:block;
		padding: 0;
		margin:40px auto;
		display:flex;
		gap:20px;
	}
	.c-tb-sp-gnav-item,
	.c-tb-sp-gnav-item-search {
		width: 100%;
		height: 100px;
		margin: 0;
		border-radius: 8px;
		background-color: var(--color-white);;
		overflow: hidden;
		transition: background-color 0.3s ease, color 0.3s ease;
	}
	.c-tb-sp-gnav-item-link {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		height: 100%;
		text-decoration: none;
		color: #333;
		gap: 10px;
		padding: 0 20px;
		transition: color 0.3s ease;
	}
	.c-tb-sp-gnav-item-icon {
		width: 54px;
		height: 54px;
		border-radius: 50%;
		background-color: var(--color-primary);
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.c-tb-sp-gnav-item-icon svg {
		width: 40px;
		height: 40px;
		fill: white;
		padding-top:4px;
		padding-left:8px;
	}
	.c-tb-sp-gnav-item-label {
		font-size: 1.25rem;
		font-weight: 500;
		color:var(--color-primary);
	}

	.c-search-form {
		display: flex;
		align-items: center;
		height: 100px;
		background-color: transparent;
		padding: 0;
		margin: 0;
		position:relative;
	}

	.c-search-form-icon {
		width: 54px;
		height: 54px;
		border-radius: 50%;
		background-color: var(--color-primary);
		display: flex;
		align-items: center;
		justify-content: center;
		margin-left: 20px;
		flex-shrink: 0;
	}
	.c-search-form-icon svg {
		width: 30px;
		height: 30px;
		fill:white;
	}

	.c-search-form input {
		font-size: 1.25rem;
		font-weight:500;
		color:var(--color-primary);
		border: none;
		outline: none;
		padding: 0;
		height: 100%;
		flex: 1;
		margin-left: 8px;
	}

	.c-search-form button {
		position:absolute;
		right:16px;
		top: 50%;
		transform: translateY(-50%);
		font-size: 1.125rem;
		font-weight:600;
		color: var(--color-white);
		padding: 0 12px;
		border: none;
		background-color: var(--color-primary);
		cursor: pointer;
		border-radius:8px;
		height:50px;
	}
	.c-tb-sp-gnav-item-link:hover {
		background-color: var(--color-theme-bg2);
		text-decoration:none;
	}
	.c-tb-sp-gnav-item-link:hover > .c-tb-sp-gnav-item-label {
		color: var(--color-font2);
	}
	.c-tb-sp-gnav-item-link:hover > .c-tb-sp-gnav-item-icon {
		background-color: var(--color-font2);
	}
	.u-mb-20{
		margin-bottom:-20px !important;
	}
}
@media screen and (max-width: 539px) {
	.c-tb-sp-gnav-list {
		gap:20px;
	}
	.c-tb-sp-gnav-item-link {
		padding: 0 24px;
		gap:10px;
	}
	.c-tb-sp-gnav-item-icon {
		width: 48px;
		height: 48px;
	}
	.c-tb-sp-gnav-item-link{

	}
	.c-tb-sp-gnav-item-icon svg {
		padding-left:7px;
		width: 40px;
		height: 40px;
	}
	.c-tb-sp-gnav-item-label {
		font-size: 1rem;
	}
	.u-hlow {
		height: 64px !important;
	}

	.c-category-contents .c-topic-path ul{
		/* margin:20px 0;
		padding: 20px 0; */
		margin-bottom:10px;
		padding-bottom:0;

	}
}


@media screen and (max-width: 1280px) {
	.c-menu-content-inner{
		gap:40px;
	}
}
@media screen and (max-width: 839px) {
	/* タブレット向けの調整をここに */
	.c-menu-content-inner{
		flex-direction:column;
	}
	.c-capsule-button{
		/*margin:30px auto 20px;*//*このマージンはラッパーで調整すること!!*/
		width:100%;
		max-width: 520px;
	}
}

@media screen and (max-width: 699px) {
/* ここに700px以下で有効にしたいスタイルを書く */
	.c-hospital-info span.e-hospital-address{
		display:block;
	}
}
@media screen and (max-width: 539px) {
/* ここに540px以下で有効にしたいスタイルを書く */
	.l-fullscreen-menu-inner{
		width:100%;
		padding: 0 18px;
	}
	.c-category-contents{
		width:100%;
		padding: 24px 18px 24px;
	}
	.c-category-contents h2 {
		display:flex;
		flex-wrap:wrap;
		font-weight: 700;
		font-size: 1.75rem;
		letter-spacing: 0.05em;
	}
	/*.c-topic-path {
		display:none;
	}*/
	.c-fullmenu-category-nav{
		gap: 8px;
		padding-bottom:26px;
	}
	.c-fullmenu-category-nav li{
		height:42px;
	}
	.c-fullmenu-category-nav li a {
		padding: 0 16px 0 36px;
		font-size: 1em;
	}
	.c-fullmenu-category-nav li a::before {
		content: "\f0a9"; /* fa-circle-arrow-right */
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		position: absolute;
		font-size: 1rem;
		left: 13px;
		top: 50%;
		transform: translateY(-50%);
		color: var(--color-white);
	}

}

.l-background-layer{
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 25rem;
	overflow: hidden;
	background-image:linear-gradient(to bottom, 
		rgba(181,220,252, 1) , 
		rgba(255, 255, 255, 1)  
	);
	background-size: 100%;
	background-position: 100% 0;/*画像を見て調整*/
	background-repeat: no-repeat;
	animation: zoomOutBackground 60s linear infinite alternate;
}
/*recruitでは不要*/
.l-background-layer.recruit{
	position: static;
	top: auto;
	left: auto;
	width: auto;
	height: auto;
	overflow: visible;
	background-size: auto;
	background-position: 0% 0%;
	background-repeat: repeat;
	animation: none;
}
/*コンテンツに応じて背景画像を変更する*/
.l-background-layer.guide {
	background-image:linear-gradient(to bottom, 
		rgba(255, 255, 255, 0) , 
		rgba(255, 255, 255, 0) 20%,
		rgba(255, 255, 255, 1)  
	),url("../images/header/bg-sky_2.jpg");
	background-size: 100%;
}
.l-background-layer.information {
	background-image:linear-gradient(to bottom, 
		rgba(255, 255, 255, 0) , 
		rgba(255, 255, 255, 0) 20%,
		rgba(255, 255, 255, 1)  
	),url("../images/header/bg-sky_8.jpg");
	background-size: 100%;
	background-position: 50% 5%;
}
.l-background-layer.outline{
	background-image:linear-gradient(to bottom, 
		rgba(255, 255, 255, 0) , 
		rgba(255, 255, 255, 0) 20%,
		rgba(255, 255, 255, 1)  
	),url("../images/header/bg-sky_3.jpg");
	/*url("../images/header/outline/bg-outline.jpg");*/
	background-size: 100%;
	background-position: 100% 30%;/*画像を見て調整*/
	animation: zoomOutBackground 60s linear infinite alternate;
}
.l-background-layer.department{
	background-image:linear-gradient(to bottom, 
		rgba(255, 255, 255, 0) , 
		rgba(255, 255, 255, 0) 20%,
		rgba(255, 255, 255, 1)  
	),url("../images/header/bg-sky_5.jpg");
	/*url("../images/header/department/bg-department.jpg");*/
	background-size: 130%;
	background-position: 50% 40%;
}
.l-background-layer.department-nurse{
	background-image:linear-gradient(to bottom, 
		rgba(255, 255, 255, 0.2) , 
		rgba(255, 255, 255, 0.2) 20%,
		rgba(255, 255, 255, 1)  
	),url("../images/header/nurse/bg-nadeshiko.png");
	background-size: 120%;
	background-position: 100% 50%;
}
.l-background-layer.resident{
	background-image:linear-gradient(to bottom, 
		rgba(255, 255, 255, 0.2) , 
		rgba(255, 255, 255, 0.2) 20%,
		rgba(255, 255, 255, 1)  
	),url("../images/header/recruit/bg-resident.jpg");
	background-size: 100%;
	background-position: 100% 40%;
}
.l-background-layer.nurse-resident{
	background-image:linear-gradient(to bottom, 
		rgba(255, 255, 255, 0.2) , 
		rgba(255, 255, 255, 0.2) 20%,
		rgba(255, 255, 255, 1)  
	),url("../images/header/recruit/bg-nurse.jpg");
	background-size: 100%;
	background-position: 100% 40%;
}
.l-background-layer.recruit-staff{
	background-image:linear-gradient(to bottom, 
		rgba(255, 255, 255, 0.2) , 
		rgba(255, 255, 255, 0.2) 20%,
		rgba(255, 255, 255, 1)  
	),url("../images/header/recruit/bg-staff.jpg");
	background-size: 100%;
	background-position: 100% 10%;
}
.l-background-layer.community{
	background-image:linear-gradient(to bottom, 
		rgba(255, 255, 255, 0.2) , 
		rgba(255, 255, 255, 0.2) 20%,
		rgba(255, 255, 255, 1)  
	),url("../images/header/bg-sky_6.jpg");
	background-size: 100%;
	background-position: 100% 0;/*画像を見て調整*/
	/*animation: zoomOutBackground 20s linear infinite alternate;
	animation: slideBackground 50s linear infinite;*/
}

@media screen and (max-width: 700px) {
	/*使う画像によって要調整*/
	.l-background-layer {
		height: 50vh !important;
	}
	.l-background-layer.recruit{
		width: auto;
		top: auto;
		height: 0 !important;
	}
}
@media screen and (max-width: 540px) {
	/*使う画像によって要調整*/
	.l-background-layer {
		height: 38vh !important;
		background-size: cover !important;
	}
}
/*オーバーレイ+検索フォーム*/
.l-search-overlay {
	position: fixed;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.6);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}
.l-search-overlay.is-active {
	visibility: visible;
	opacity: 1;
}
.c-search-overlay-form {
	background: var(--color-white);
	padding: 36px 32px 32px;
	max-width: 600px;
	width: 90%;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	position: relative;
	border-radius: 8px;
}
.c-search-overlay-form__close {
	position: absolute;
	top: 0;
	right: 0;
	width: 3rem;
	height: 3rem;
	background-color: var(--color-primary);
	color: var(--color-white);
	border: none;
	font-size: 1.5rem;
	font-weight: bold;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0 8px 0 8px; /* 右上にアクセント */
	transition: background-color 0.3s ease;
}
.c-search-overlay-form__close:hover,
.c-search-overlay-form__close:focus {
	background-color: #c0392b; /* 少し濃い赤に変化 */
	outline: none;
}
.c-search-overlay-form__title {
	font-size: 1.75rem;
	margin-bottom: 1rem;
	text-align: center;
}
.c-search-overlay-form__body {
	display: flex;
	/*justify-content:space-between;*/
	gap:0;
}
.c-search-overlay-form__input {
	padding: 0.75rem;
	font-size: 1.25rem;
	border: 2px solid var(--color-primary);
	border-right:none;
	border-top-left-radius: 8px;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 8px;
	width:78%
}
.c-search-overlay-form__input:focus {
	outline: none;
	background-color: rgba(67, 148, 214, 0.1);
}
.c-search-overlay-form__submit {
	padding: 0.75rem;
	font-size: 1.25rem;
	background-color: var(--color-primary);
	color: var(--color-white);
	border: none;
	border-top-left-radius: 0;
	border-top-right-radius:8px;
	border-bottom-right-radius:8px;
	border-bottom-left-radius: 0;
	cursor: pointer;
	width:22%;
}
.c-search-overlay-form__submit:hover {
	background-color: var(--color-font2);
}
.c-search-overlay-form__attention {
	font-size: 0.875rem;
	color: #666;
	margin-top: 1rem;
	text-align: center;
}

/*ヘッダー*/
.c-global-nav-wrapper{
	display:flex;
	justify-content:space-between;
	width: 100%;
	height:100px;
}
.c-global-nav-wrapper{
	background-color: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 540px) {
	.c-global-nav-wrapper{
		height:70px;
	}
}
.c-site-logo {
	font-size:1.5rem;
	line-height:1;
	text-indent: -9999px;
	justify-self: start;
	/*align-self:center;*/
	margin:0;
	width:100%;
	max-width:325px;
	height:100px;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url("../images/logo/pc_color_logo1.svg");
	background-position: center;
	/*border:1px solid red;*/
}
.c-site-logo>a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.l-header__site-logo{
	margin-left:34px;
}
/*グローバルナビゲーション*/
.c-global-nav {
	display: grid;
	grid-template-areas:
		"telno inquiry search hamburger"
		"navlink navlink navlink hamburger";
	grid-template-columns: 1fr 156px 92px 86px;
	grid-template-rows: 52px 48px;
	column-gap:18px;
	height:100px;
	/*border:1px solid red;*/
}
.c-global-nav-tel-no{
	grid-area: telno;
	justify-self: end;
	align-self:end;
	/*background:red;*/
}
.c-global-nav-inquiry{
	grid-area: inquiry;
	justify-self: end;
	align-self:end;
	/*background:green;*/
}
.c-global-nav-search{
	grid-area: search;
	justify-self: end;
	align-self:end;
	cursor: pointer;
	/*background:pink;*/
}
.c-head-navlink{
	display:flex;
	grid-area: navlink;
	justify-self: end;
	align-self:center;
	/*background:orange;*/
	display:flex;
	gap: 1.75rem;
	margin-right:0.25rem;
	font-size:1.125rem;/*18px*/
	font-weight: 500;
	letter-spacing: 0.025em;
}
.c-head-navlink a:hover{
	color: var(--color-font2);
	text-decoration:underline;
}
.is-nurse .c-head-navlink a:hover{
	color: var(--color-pink2);
}

.hamburger{
	grid-area: hamburger;
	display:flex;
}
.capsule {
	display: flex;
	align-items: center;
	height: 42px;
	padding: 0 16px;
	font-size: 1rem;
	font-weight:500;
	border-radius: 21px;
	border:1px solid var(--color-primary2);/*color:と合わせる*/
	background-color: var(--color-white);
	color: var(--color-primary2);
	text-decoration: none;
	transition: background-color 0.3s ease;
}
.is-nurse .capsule {
	color: var(--color-pink2);
	border:1px solid var(--color-pink2);
}
.capsule:hover {
	color: var(--color-white);
	background-color: var(--color-primary2);;
}
.is-nurse .capsule:hover {
	background-color: var(--color-pink2);
}
.capsule i {
	margin-right: 8px;
	font-size: 1rem;
}
.c-global-nav-tel-no{
	display: flex;
	align-items: center;
	font-size:1.5rem;
	font-weight:800;
	height:42px;
}
.c-global-nav-tel-no .daihyo{
	font-size:0.875rem;
	font-weight:500;
}
@media screen and (max-width: 1180px) {
	.c-global-nav {
		grid-template-rows: 100px 0;
	}
	.c-head-navlink{
		display:none;
	}
	.c-global-nav-tel-no{
		align-self:center;
	}
	.c-global-nav-inquiry{
		align-self:center;
	}
	.c-global-nav-search{
		align-self:center;
	}
}
@media screen and (max-width: 1040px) {
	.c-site-logo {
		background-image: url("../images/logo/pc_color_logo1-1.svg");
		/*background-image: url("../images/logo/sp_color_logo.svg");*/
		background-position: center bottom 12px;/*ロゴ位置微調整*/
	}
	.c-global-nav-tel-no{
		display:none;
	}
}
@media screen and (max-width: 760px) {
	.c-site-logo {
		width:100%;
		height:100px;
		background-image: url("../images/logo/sp_color_logo.svg");
		background-position: left center;
	}
	.l-header__site-logo{
		margin-left:30px;
	}
	.c-global-nav{
		grid-template-rows: 70px 0;
		grid-template-columns: 0 0 0 0;
		column-gap:0;
		/*padding-right:70px;*/
	}
	.c-global-nav-inquiry{
		display:none;
	}
	.c-global-nav-search{
		display:none;
	}
}
@media screen and (max-width: 540px) {
	.c-global-nav{
		padding-right:70px;
		height:70px;
	}
	.c-site-logo {
		height:70px;
	}
	.l-header__site-logo{
		margin-right:10px;
		margin-left:15px;
	}
}
/*コンテンツ単位の見出し表現*/
.c-page-title {
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items: center;
	margin:4px 0 0;
	line-height:1.2;
	text-shadow: 2px 2px 6px var(--color-white), 2px -2px 6px var(--color-white), -2px -2px 6px var(--color-white), -2px 2px 6px var(--color-white);
}
.c-page-subtitle {
	font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	padding-top:5px;
	font-weight:400;
	font-size:1.25rem;
	letter-spacing: 0;
	line-height:1;
	text-shadow: 2px 2px 6px var(--color-white), 2px -2px 6px var(--color-white), -2px -2px 6px var(--color-white), -2px 2px 6px var(--color-white);
}
@media screen and (max-width: 840px) {
	.c-page-title {
		flex-direction:column;
	}

}
.c-page-category {
	font-size:1.125rem;
	font-weight:500;
	text-shadow: 2px 2px 6px var(--color-white), 2px -2px 6px var(--color-white), -2px -2px 6px var(--color-white), -2px 2px 6px var(--color-white);
}

/*背景画像をゆっくりズームアウト風*/
@keyframes zoomOutBackground {
	0% {
		background-size: 120%;
	}
	100% {
		background-size: 100%;
	}
}
/*背景画像をゆっくり右から左へ*/
@keyframes slideBackground {
	0% {
		background-position: 100% 0;
	}
	100% {
		background-position: 0% 0;
	}
}

.c-topic-path{

	overflow-x: auto;

}
/*トピックパス*/
.c-topic-path ul {
	display: flex;
	flex-wrap: nowrap;
	list-style: none;
	padding: 10px 0 10px;
	margin: 0 auto;
	font-size: 0.95rem;
	color: var(--color-font);
	white-space: nowrap;
	/*overflow-x: auto;*/
}

@media screen and (max-width: 760px) {
	.c-topic-path ul {
		padding:15px 0;
	}
}
@media screen and (max-width: 540px) {
	.c-topic-path ul {
		padding:10px 0;
	}
}

.c-topic-path li {
	display: flex;
	align-items: center;
	margin-top:0;
}
/* ホームアイコン */
.c-topic-path li.home::before {
	content: "\f015";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-right: 6px;
	color: var(--color-font);
}
/* ＞アイコン */
.c-topic-path li:not(:last-child)::after {
	content: "\f105";
	font-family: "Font Awesome 6 Free";
	font-weight: 700;
	margin: 0 8px;
	color: var(--color-font);
}

/*ユーティリティ */
.u-border-top{
	border-top:1px dotted gray;
}

/*!
page > home
------------------------------
*/

#home h2{
	text-align:center;
	line-height:1.2;
}
#home .l-header {
	position: absolute;
	top: 0;
	left: 0;
}
#home .l-background-layer {
	position: relative;
	width: 100%;
	height: 89vh;
	overflow: hidden;
}
@media (max-width: 840px) {
	#home .l-background-layer {
		height: 92vh;
	}
}
#home .slide {
	height: 100vh;
	background-size: cover;
	background-position: center;
}
/* Slickドットナビゲーション */
#home .slick-dots {
	position: absolute;
	bottom:205px;
	display: block;
	width: 100%;
	padding: 0 40px;;
	margin: 0;
	height:40px;
	text-align: center;
	z-index: 1;
	/*background-color: red;*/
}
@media screen and (max-width: 1200px) {
	#home .slick-dots {
		display:none !important;
	}
}
/* slickドットの外枠と内側 */
#home .slick-dots li button {
	width: 16px;
	height: 16px;
	border: 2px solid var(--color-white); /* 外周の色 */
	border-radius: 50%;
	background-color: transparent; /* 内側は透明に */
	padding: 0;
	outline: none;
	cursor: pointer;
	position: relative;
}
/* アクティブなslickドットの内側を塗りつぶす */
#home .slick-dots li.slick-active button {
	background-color: var(--color-primary);
}
/* デフォルトのslickドットを非表示にする */
#home .slick-dots li button:before {
	display: none;
}
/* Slick矢印ナビゲーション(未使用) */
#home .slick-arrow {
	z-index: 1;
	/*border:1px solid red;*/
}
#home .slick-prev {
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
}
#home .slick-next {
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}

/*!
メインイメージのキャッチコピー
------------------------------
*/

.l-catchcopy {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	width:100%;
	padding: 1rem;
	text-align: center;
	pointer-events: none;
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	color: white;
}
@media (max-width: 840px) {
	.l-catchcopy {
		top: 40%;
	}
}
@media (max-width: 700px) {
	.l-catchcopy {
		top: 23%;
	}
}
.c-catchcopy {
	font-size: 2.75rem;/*44px*/
	line-height:1.5;
	text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.7), 
		2px -2px 10px rgba(0, 0, 0, 0.7), 
		-2px -2px 10px rgba(0, 0, 0, 0.7), 
		-2px 2px 10px rgba(0, 0, 0, 0.7);
}
.c-catchcopy--sub {
	font-size: 1.25rem;/*20px*/
	text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.8), 
		2px -2px 6px rgba(0, 0, 0, 0.8), 
		-2px -2px 6px rgba(0, 0, 0, 0.8), 
		-2px 2px 6px rgba(0, 0, 0, 0.8);
}
.c-explanation{
	font-size:0.75rem;/*12px*/
	color:#333;
	position: absolute;
	top: 110px;
	left: 10px;
	z-index: 1;
}
@media (max-width: 700px) {
	.c-catchcopy {
		font-size: 2.25rem;/*36px*/
		line-height:1.5;
	}
	.c-catchcopy--sub {
		font-size: 1.125rem;/*18px*/
	}
}
@media (max-width: 540px) {
	.c-catchcopy {
		font-size: 38px;/*28px*/
		line-height:1.6;
	}
	.c-catchcopy--sub {
		font-size: 1.0625rem;
	}
	.c-explanation{
		top: 80px;
	}
}
@media (max-width: 500px) {
	.c-catchcopy {
		font-size: 1.75rem;/*28px*/
		line-height:1.5;
	}
	.c-catchcopy--sub {
		font-size: 1rem;
	}
}


/*!
PICK-UPナビゲーションレイアウト
PICK-UPのスタイルはcompornetにあり
------------------------------
*/

.l-home-pick-up {
	width: 100%;
	padding:0 30px;
	position:absolute;
	top:-80px;
	left: 50%;
	z-index:0;
	transform: translateX(-50%);
	/*border:1px solid red;*/
}
@media screen and (max-width: 840px) {
	.l-home-pick-up {
		top:-270px;
	}
}
@media (max-width: 700px) {
	#home .l-background-layer {
		height: 93vh !important;
	}
	.l-home-pick-up {
		top:-380px;
		width:100%;
		padding:0 30px;
	}
}
@media screen and (max-width: 450px) {
	#home .l-background-layer {
		height: 80vh !important;
	}
	.l-home-pick-up {
		top:-350px;
		padding-left: 10px;
		padding-right: 10px;
	}
}

/*!
SECTION お知らせ
------------------------------
*/

.l-home-information{
	position:relative;
	background-color: var(--color-white);
	padding:0 0 100px;
	/*border:5px solid gold;*/
}
.l-home-information-header{
	padding-top:110px;
	background-color: #E6F0F6;
	position:relative;
	z-index:0;
	background-image: 
		linear-gradient(rgba(67, 148, 214, 0.1), rgba(67, 148, 214, 0.1)), 
		url("../images/home/bg_home-sbg-sky_8-50per.jpg");
	background-size: cover;
	background-position: center 10%;
	background-repeat: no-repeat;
}
@media screen and (max-width: 840px) {
	.l-home-information-header{
		padding-top:40px;
	}
}
.c-information-title {
	margin-bottom:40px;
}
@media screen and (max-width: 540px) {
	.l-home-information{
		padding-bottom:40px;
	}
	.l-home-information-header{
		padding-top:30px;
	}
	.c-information-title {
		margin-bottom:20px;
	}
}
.l-news-tabs-container,
.c-information-tabs {
	position: relative;
}
.c-information-tab-list {
	display: flex;
	justify-content: center;
	gap: 24px;
	margin: 0;
	padding: 0;
	position: relative;
}
.c-information-tab-list::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: var(--color-primary);
	z-index: -1;
}
.c-information-tab-list {
	gap: 24px;
}
.c-information-tab{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 220px;
	height: 52px;
	font-size: 1.125rem;
	background-color: var(--color-primary);
	color: var(--color-white);
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	border: 2px solid var(--color-primary);
	cursor: pointer;
	z-index: 0; /* ラインより前面に配置 */
	transition: background-color 0.3s ease, color 0.3s ease;
}
.c-information-tab.is-active {
	background-color: var(--color-white);
	color: var(--color-primary);
	font-weight:500;
	border-bottom: none;
}
.c-information-tab:not(.is-active):hover{
	color:var(--color-font2);
	background-color: var(--color-theme-bg2);
}
@media screen and (max-width: 860px) {
	.c-information-tab-list {
		gap: 12px;
	}
	.c-information-tab{
		width: 160px;
	}
}
@media screen and (max-width: 660px) {
	.c-information-tab-list {
		gap: 0;
	}
	.c-information-tab{
		width: 25%;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
		border-left: 3px solid #E6F0F6;
	}
	.c-information-tab{
		border-top: 2px solid var(--color-primary);
	}
	.c-information-tab.is-active{
		border-right:none;
	}
}
@media screen and (max-width: 400px) {
	.c-information-tab{
		font-size:1rem;
	}
}
/*記事リスト*/
.c-information-panels{
	margin-top:40px;
}
.c-article-list li {
	border-bottom: 1px solid var(--color-primary);
	height: 80px;
	width: 100%;
	font-size:1.0625rem;/*17px*/
	display: flex;
	align-items: center;
	gap:25px;
	transition: background-color 0.3s ease;
}
@media screen and (max-width: 500px) {
	.c-article-list li {
		gap:18px;
	}
}
@media screen and (max-width: 400px) {
	.c-article-list li {
		gap:10px;
	}
}
.c-article-list li:hover {
	background-color: #f5f5f5;
}
.c-article-list li a {
	display: flex;
	align-items: center;
	width: 100%;
	text-decoration: none;
	color: inherit;
}
.c-article-list--date {
	width: 7rem;
	white-space: nowrap;
}
.c-article-list--category {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 34px;
	background-color: var(--color-primary);
	color: var(--color-white);
	font-size: 15px;
	white-space: nowrap;
	line-height: 1;
	border-radius:4px;
}
.c-article-list li p {
	margin: 0;
	line-height: 1.4;
}
.c-information-panel {
	display: none;
}
.c-information-panel.is-visible {
	display: block;
}
@media screen and (max-width: 660px) {
	.l-unit.u-sp-pd0{
		padding-left: 0;
		padding-right: 0;
	}
	.c-article-list li {
		padding-left: 15px;
		padding-right: 15px;
	}
	.c-article-list li a {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2; 
		overflow: hidden;
		text-overflow: ellipsis;
	}
}
@media screen and (max-width: 400px) {
	.c-article-list li{
		display:block;
		padding-top:12px;
	}
	.c-article-list--category {
		font-size:0.9375rem;
		width:83px !important;
		height:28px;
	}
	.c-article-list li a{
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		height:auto;
		font-size: 1rem;
		margin-top:3px;
		display:block;
	}
}
/*!
SECTION 外来受付のご案内
------------------------------
*/

.l-home-outpatient-reception{
	position:relative;
	background-color: #E6F0F6;
	padding:60px 0 120px;
	background-image:
		linear-gradient(rgba(67, 148, 214, 0.1), rgba(67, 148, 214, 0.1)),
		url("../images/home/bg_home-sky_25051708-50per.jpg");
	background-size: cover;
	background-position:center center;
	background-repeat: no-repeat;
	/*border:5px solid green;*/
}

/*外来受付のご案内テーブル*/
/*角丸につきラッパーで外枠*/
.c-outpatient-reception-table {
	border: 2px solid var(--color-primary);
	border-radius: 8px;
	overflow: hidden;
	width: 100%;
}
.c-outpatient-reception-table table {
	border-collapse: collapse;
	width: 100%;
	max-width:1280px;
	table-layout: fixed;
}
.c-outpatient-reception-table th, 
.c-outpatient-reception-table td {
	padding: 15px 20px;
	text-align: left;
	font-size:1.125rem;
}
.c-outpatient-reception-table th{
	background: var(--color-primary);
	color:var(--color-white);
	border-bottom:1px solid var(--color-white);
	width: 25%;
	text-align:center;
	vertical-align:middle;
}
.c-outpatient-reception-table td{
	width: 75%;
	background:var(--color-white);
	border-bottom: 1px solid var(--color-primary);
}
.c-outpatient-reception-table tr:last-child th,
.c-outpatient-reception-table tr:last-child td {
	border-bottom: none;
}
/*リンクボタン*/
.c-outpatient-reception-table .l-button-container{
	margin: 20px 0 10px;
}
/*ボタンの段落ち*/
@media screen and (max-width: 750px) {

}
@media screen and (max-width: 400px) {
	.c-outpatient-reception-table table,
	.c-outpatient-reception-table tr, 
	.c-outpatient-reception-table th, 
	.c-outpatient-reception-table td {
		display: block;
		width: 100%;
		border:none;
	}
	.c-outpatient-reception-table th {
		background: var(--color-primary);
		color:var(--color-white);
		font-weight: 500;
		padding: 8px;
	}
	.c-outpatient-reception-table td {
		padding: 15px 10px 20px;
	}
	.c-outpatient-reception-table .c-capsule-button{
		/*display:block;*/
		margin-left: auto;
		margin-right: auto;
	}
}

/*!
SECTION 職員募集のお知らせ
------------------------------
*/

.l-home-recruitment {
	margin:0;
	padding:0 0 60px;
	background:#E6F0F6;
	/*border:5px solid green;*/
}
.c-recruitment-img-container {
	position: relative;
	display: grid;
	gap: 0; 
	width: 100%;
	margin: 0 auto;
	padding: 0;
	grid-template-columns: repeat(7, 1fr);
}
.c-recruitment-img-item {
	height: 500px; 
	background-color: #ccc; 
	border-radius: 0; 
	overflow: hidden;
	opacity: 0; 
	display: block; 
}
.c-recruitment-img-item img {
	width: 100%;
	height: 100%;
	object-fit: cover; 
	object-position: top center; 
	display: block;
}
.c-recruitment-img-container::after {
	content: '';
	position: absolute;
	bottom: 0; /* 下基準 */
	left: 0;
	width: 100%;
	height: 300px;
	z-index: 0;
	background: linear-gradient(
		to top, 
		rgb(230, 240, 246) 0%,
		rgb(230, 240, 246) 5%,
		rgba(230, 240, 246, 0) 100%
	);
}
.is-recruit .c-recruitment-img-container::after {
	background: none;
}
.l-catchphrase {
	position:relative;
	width: 95%;
	max-width:1280px;
	margin:0 auto;
	margin-top:-140px;
	text-align: center;
	z-index: 0;
	opacity: 0;/*JSで表示*/
}
.l-catchphrase-main {
	margin: 0 0 14px;
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	font-size: 2.75rem;/*44px*/
	line-height:1;
	letter-spacing: 0.05em;
	text-shadow: 2px 2px 6px var(--color-white), 2px -2px 6px var(--color-white), -2px -2px 6px var(--color-white), -2px 2px 6px var(--color-white);
	color: #000;
}
.l-catchphrase-sub {
	font-size: 1em;
	color: #000;
	margin: 0 auto;
}
.is-recruit > .l-catchphrase{
	margin-top:-200px !important;
}
.is-recruit .l-catchphrase-main {
	margin-bottom:30px;
	text-shadow: 2px 2px 6px var(--color-black), 2px -2px 6px var(--color-black), -2px -2px 6px var(--color-black), -2px 2px 6px var(--color-black) !important;
	color: var(--color-white);
}
.is-recruit .l-catchphrase-sub {
	font-size:1.5rem;
	text-shadow: 2px 2px 6px var(--color-black), 2px -2px 6px var(--color-black), -2px -2px 6px var(--color-black), -2px 2px 6px var(--color-black) !important;
	color: var(--color-white);
}
/*.l-capsule-button--wrapper {
	position:relative;
	text-align:center
}*/
/*  1499px以下 (5枚表示) */
@media (max-width: 1499px) {
	.c-recruitment-img-container {
		grid-template-columns: repeat(5, 1fr);
	}
}
/* 999px以下 (4枚表示) */
@media (max-width: 999px) {
	.c-recruitment-img-container {
		grid-template-columns: repeat(4, 1fr);
	}
}
/* 599px以下 (3列×2行 = 6枚表示)*/
@media (max-width: 599px) {
	.c-recruitment-img-container {
		grid-template-columns: repeat(3, 1fr);
	}
	.c-recruitment-img-item {
		height: 300px;
	}
	#l-catchphrase {
		margin-top:-80px;
	}
	.l-catchphrase-main {
		font-size: 2.375rem;
	}
	.l-catchphrase-sub {
		font-size: 1rem;
	}
}
@media (max-width: 400px) {
	.c-recruitment-img-item {
		height: 240px;
	}
	.c-recruitment-img-container::after {
		height: 200px;
	}
	.l-catchphrase-main {
		font-size: 2rem;
	}
	.l-catchphrase-sub {
		font-size: 0.9375rem;
	}
}

/*!
SECTION 診療科・部門紹介
------------------------------
*/
.l-home-department{
	position:relative;
	background-color: var(--color-white);
	padding:100px 0 100px;
	/*border:5px solid purple;*/
}
.c-department-title{
	font-size:1.5rem;
	font-weight:500;
	margin:0 auto 15px;
	padding-bottom:5px;
	width:fit-content;
	border-bottom:1px solid #ccc;
}
.c-department-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
	gap: 10px 30px;
	padding: 0;
	margin: 0;
}
.c-department-item {
	height: 70px;
}
.c-department-item a {
	display: flex;
	align-items: center;
	height: 100%;
	padding-left: 28px;
	font-size: 1.125rem;
	text-decoration: none;
	border-bottom: 1px solid #ccc;
	transition: border-color 0.3s ease;
	position: relative;
}
.c-department-item a::before {
	position: absolute;
	left: 10px;
	top: 45%;
	width: 0.5em;
	height: 0.5em;
	content: "";
	border-radius: 100%;
	background-color: #00BCD4;
}
.c-department-list.is-nurse .c-department-item a::before{
	background-color: var(--color-pink1);
}
.c-department-item a:hover{
	/*text-shadow: 0 0 12px rgba(67, 148, 214, 0.8);*/
	color: var(--color-font2);
	border-bottom:1px solid var(--color-primary);
}
.c-department-list.is-nurse a:hover{
	color: var(--color-font4);
	border-bottom:1px solid var(--color-pink2);
}
.u-fz20{
	font-size:1.25rem;/*20px*/
	font-weight:500;
}
.u-mb50{
	margin-bottom:50px;
}
.u-mt40{
	margin-top:40px;
}
.u-mb80{
	margin-bottom:80px;
}
.u-mb60{
	margin-bottom:60px;
}

/*!
SECTION 地域連携
------------------------------
*/

.l-home-community {
	position: relative;
	background-color: var(--color-white);
	padding: 100px 0 100px;
	z-index: 0;
}
.l-home-community::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: 
		url('../images/home/bg_community-1920.jpg');
	background-position: 
	center top;
	background-repeat: no-repeat;
	background-size: 100%;
	opacity: 0.25; 
	z-index: -1;
}
@media screen and (max-width: 1280px) {
	.l-home-community::before {
		background-image: 
			url('../images/home/bg_community-1280.jpg');
	}
}
@media screen and (max-width: 840px) {
	.l-home-community::before {
		background-image: 
			url('../images/home/bg_community-840.jpg');
	}
}
.u-grid-2cols{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 60px;
}
@media screen and (max-width: 750px) {
	.u-grid-2cols{
		gap: 0 30px;
	}
}
@media screen and (max-width: 400px) {
	.u-grid-2cols {
		grid-template-columns: 1fr;
		gap: 0;
	}
}
.u-align-center {
	text-align:center;
}
.c-medical-related,
.c-local-people{
	width: 100%;
}
.c-medical-related p,
.c-local-people p {
	font-size:1.5rem;
	font-weight:500;
	padding-bottom:16px;
	border-bottom:1px solid #333;
	margin-bottom:20px;
}
.u-text-shadow {
	text-shadow: 
		2px 2px 6px var(--color-white),
		2px -2px 6px var(--color-white),
		-2px -2px 6px var(--color-white),
		-2px 2px 6px var(--color-white);
}
.u-mb0{
	margin-bottom:0 !important;
}

/*!
SECTION 病院概要
------------------------------
*/

.l-home-hospital-overview {
	position: relative;
	margin:0 ;
	padding:100px 0 100px;
	z-index: 0;
	height: 100%;
	background-color: var(--color-white);
}
.l-home-hospital-overview--contents-wrapper {
	background-color: transparent;
	overflow: hidden;
}
.l-home-hospital-overview--contents-wrapper::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 50vw; 
	height: 100%;
	background-image:
		linear-gradient(to left, 
			rgb(255, 255, 255) 0%, 
			rgba(255, 255, 255, 0.9) 20%, 
			rgba(255, 255, 255, 0) 80%),
			url('../images/home/bg_home-hospital-overview.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right center;
	z-index: -1;
	pointer-events: none;
}
@media screen and (max-width: 1100px) {
	.l-home-hospital-overview--contents-wrapper::before {
		width: 50vw; 
		background-image:
		linear-gradient(to left, 
			rgb(255, 255, 255) 0%, 
			rgba(255, 255, 255, 1) 20%, 
			rgba(255, 255, 255, 0.6) 80%),
			url('../images/home/bg_home-hospital-overview.jpg');
	}
}
@media screen and (max-width: 800px) {
	.l-home-hospital-overview--contents-wrapper::before {
		width: 100%;
		background-image:
		linear-gradient(to left, white 0%, rgba(255, 255, 255, 0.6) 100%),
		url('../images/home/bg_home-hospital-overview.jpg');
	}
	.c-capsule-button{
		max-width: none;
		justify-content:center;
	}
}
.u-flex{
	display:flex;
	justify-content:flex-end;
}
@media screen and (max-width: 1100px) {
	.u-flex{
		justify-content:center;
	}
}
@media screen and (max-width: 700px) {
	.u-flex{
		margin-bottom:20px;
		flex-direction:column;
		flex-wrap:wrap;
		gap:20px;
		justify-content:center;
	}
}
.u-2col-grid{
	display: grid;
	grid-template-areas:"dummycol maincol";
	grid-template-columns: 1fr 650px;
	width:100%;
}
@media screen and (max-width: 800px) {
	/*1カラムに変更*/
	.u-2col-grid{
		display: grid;
		grid-template-areas:"maincol";
		grid-template-columns: 1fr;
		width:100%;
		max-width:650px;
		margin:0 auto;
	}
}
/*病院長挨拶・病院概要*/
.c-home-hospital-overview--info-box {
	width: 416px;
	height: 140px;
	margin-right:30px;
	background-color: var(--color-white);
	border-radius: 8px;
	display: flex;
	overflow: hidden;
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
	position: relative;
}
.c-home-hospital-overview--info-box:last-child{
	margin-right:0;
}
.c-home-hospital-overview--info-box a {
	display: flex;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
	transition: background-color 0.3s ease;
}
.c-home-hospital-overview--info-box__left {
	width: 45%;
	height: 100%;
	position: relative;
	overflow: hidden;
	flex-shrink: 0;
}
.c-home-hospital-overview--info-box__left img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}
.c-home-hospital-overview--info-box__right {
	width: 55%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.c-home-hospital-overview--info-box__right p {
	font-size: 1.5rem;
	font-weight:400;
	color:#333;
	margin: 0;
	text-align: center;
}
.c-home-hospital-overview--info-box a:hover {
	background-color:var(--color-theme-bg2);
}
.c-home-hospital-overview--info-box a:hover p {
	color: var(--color-font2);
}
.c-overview-list--wrapper{
	grid-area: rightcol;
}
.c-overview-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	font-size:1.0625rem;/*17px*/
	grid-area: maincol;
}
@media screen and (max-width: 700px) {
	.c-home-hospital-overview--info-box {
		margin:0 auto !important;
		width:100%;
		max-width:416px;
		height: 100px;
	}
	.c-home-hospital-overview--info-box__left {
		width: 35%;
	}
	.c-home-hospital-overview--info-box__right {
		width: 65%;
	}
	.c-home-hospital-overview--info-box__right p {
		font-size: 1.25rem;
	}
	.c-overview-list {
		margin:0 auto;
		width: max-content;
		grid-template-columns: auto;
	}
}
.c-home-hospital-overview .e-capsule{
	max-width:320px;
}
.e-list-disc > li a:hover {
	color: var(--color-font2);
}


/*!
page > visiting/inpatient-care
------------------------------
*/

/*持ち込み禁止物品*/
.prohibited_items img{
	margin:0 auto;
	width:100%;
	max-width:300px;
	height:auto;
}
/*病衣*/
.byoui-koukan{
	margin:10px 0 10px 1rem;
	display:flex;
	justify-content:flex-start;
}
.byoui-koukan-title{
	font-weight:700;
}
.byoui-koukan-text{
	line-height:1.4;
}
@media screen and (max-width: 700px) {
	.byoui-koukan{
		margin:10px 0 10px 1rem;
		flex-direction:column;
	}
}

/*特別室等ご案内表の補足*/
.c-hosoku{
	margin:10px 0 20px 1rem;
}
.c-hosoku .u-midashi{
	display:inline-box;
	margin-right:1rem;
}
/*自動販売機イメージ*/
.vending-machine img{
	margin:0 auto;
	width:100%;
	max-width:140px;
	height:auto;
}
@media screen and (max-width: 960px) {
	.vending-machine img{
		margin:0 auto;
		max-width:120px;
	}
}

/*診断書等、各種証明書について*/
.u-consultation-desk-list{
	font-size:1.125rem !important;
	font-weight:500 !important;
}
.u-consultation-desk-item{
	font-size:1rem !important;
	font-weight:normal !important;
	margin-top:10px;
}
.u-consultation-desk-item > li{
	margin-bottom:0.25rem !important;
}
.u-consultation-desk-item p{
	font-weight:normal !important;
}
/*退院イメージ*/
.discharge img{
	margin:0 auto;
	width:100%;
	max-width:300px;
	height:auto;
}
/*緊急・時間外イメージ*/
.emergency img{
	margin:0;
	width:260px !important;
}
/*セカンドオピニオン外来イメージ*/
.secondopinion-flow--img{
	margin:30px 0;
}
.secondopinion-flow--img img{
	margin:0 auto;
	width:100%;
	max-width:700px;
}
@media screen and (max-width: 640px) {
	.secondopinion-flow--img{
		margin:1rem 0;
	}
}

.u-flex-container{
	width:100%;
	display:flex;
	justify-content:space-between;
	gap:20px;
}

.u-pharmacy-student > div{
	width:100%;
}
.u-pharmacy-student > figure{
	align-self:center;
}
@media screen and (max-width: 800px) {
	.u-flex-container{
		flex-direction: column;
		justify-content: center;
	}
	.emergency img{
		margin:-10px auto 10px;;
	}
}
/*診断書等の文書料金（セル名の一斉文字揃え）*/
.c-table--resident-program td:nth-child(2),
.c-table--pharmacy-staff td:nth-child(2),
.c-table--document-fee td:nth-child(2),
.c-table--nurse-professional td:nth-child(2),
.c-table--nurse-program td:nth-child(2){
	text-align: center;
}
.c-table--document-fee td:nth-child(3) {
	text-align: right;
}
.c-table--nurse-program td:nth-child(1),
.c-table--nurse-program td:nth-child(2),
.c-table--nurse-program td:nth-child(3){
	text-align: center;
}
.c-table--nurse-demae td:nth-child(1){
	text-align: center;
}
@media screen and (max-width: 550px) {
	.c-table--pharmacy-staff td,
	.c-table--document-fee td{
		padding:11px 6px !important;
	}
}
/*診療・部門紹介イメージ*/
.u-department img,
.u-department-nurse img{
	margin:0;
	width:260px !important;
}
.u-department-small img{
	margin:0;
	width:130px !important;
}
.u-department-large img{
	margin:0;
	width:320px !important;
}
.u-department-600 img{
	margin:0;
	width:100% !important;
	max-width:600px !important;
}
.u-department-nurse2 img{
	margin:0;
	width:200px !important;
}
@media screen and (max-width: 840px) {
	.u-department img,
	.u-department-nurse img,
	.u-department-large img{
		display:block;
		margin:0 auto;
	}
	.u-department-nurse{
		width:100%;
	}
	.u-department-nurse img{
		width:80% !important;
		height:auto;
	}
	.u-department-nurse2 img{
		margin:0 auto;
	}
}
@media screen and (max-width: 550px) {
	.u-department img,
	.u-department-nurse img,
	.u-department-large img{
		width:100% !important;
		height:auto;
	}
	.u-department-small img{
		display:block;
		margin:0 auto;
	}
}

/*医師紹介ブロック（）*/
/*
	<div class="c-doctor-name--wrapper">
		<p  class="c-doctor-name">
		<span class="c-doctor-name--kanji">山田　太郎</span>
		<span class="c-doctor-name--ruby">やまだ　たろう</span>
		</p>
	</div>
*/
.c-doctor-name--wrapper{
	display: flex;
	gap: 15px;
	align-items: center;
	margin: 10px 0;
	padding: 10px 20px;
	/*background-color:#F6F2D9;*/
	border-radius:8px;
	background: linear-gradient(
			to right, 
			#F6F2D9 200px,
			var(--color-white) 100%
		);
}
.c-doctor-name--wrapper::before {
	content: "\f0f0";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	align-self: center; 
	color: #c5a77d;
	font-size: 2.25rem;
	flex-shrink: 0;
}
.c-doctor-name {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column-reverse;
	align-items: center;/*flex-start*/
	flex-shrink: 0;
}
.c-doctor-name--kanji {
	font-size:1.25rem;
	font-weight: 600;
	color: #4B2C00;
	margin-top: 1px; 
	margin-bottom: 0;
	line-height:1.4;
}
.c-doctor-name--ruby {
	font-size: 0.75em; 
	font-weight: normal; 
	line-height:1.4;
	color: #4B2C00;
	margin:0;
}
@media only screen and (max-width: 420px) {
	.c-doctor-name--kanji {
		margin-top: 0;
	}
}

.l-doctors-info .c-table{
	border-top:none !important;
	margin-bottom:40px;
}
.l-doctors-info .c-table th,
.l-doctors-info .c-table td {
	border-bottom:1px dotted #4B2C00;
}
.l-doctors-info .c-table tr:last-child th,
.l-doctors-info .c-table tr:last-child td {
	border-bottom:none !important;
}

@media only screen and (max-width: 1050px) {
	.l-doctors-info .c-table td.th{
		width:130px !important;
	}
}


@media only screen and (max-width: 540px) {
	.l-doctors-info .c-table th {
		width: auto !important;
		color:#4B2C00;
		font-weight:500;
		border-radius: 8px;
		/*background-color: #F6F2D9;*/
		background: linear-gradient(
				to right, 
				#F6F2D9 200px,
				var(--color-white) 100%
			);
	}
	.l-doctors-info .c-table th,
	.l-doctors-info .c-table td {
		display: block;
		width: auto;
		border-bottom: 0;
	}
	.l-doctors-info .c-table td {
		border-left: 0;
	}
}

.u-w80p{
	width:80% !important;
	margin:0 auto !important;
}
@media only screen and (max-width: 840px) {
	.u-w80p{
		width:95% !important;
	}
}
/*キャプションを見出しとして表示*/
.u-caption-midashi{
	display:block;
	padding:6px;
	margin:0 auto 20px;
	text-align:center;
	font-size:1.5rem !important;
	color:var(--color-white) !important;
	background-color:#ccc;
	border-radius: 8px;
}

/* 全体のコンテナ */
.map-tab-container {
	width: 100%;
	max-width: 1280px;
	margin: 30px auto;
	padding: 0 20px;
	box-sizing: border-box;
	font-family: sans-serif;
}

/* --- タブボタンのスタイル --- */
.tab-list {
	display: flex;
	justify-content: center;
	gap: 20px;
	list-style: none;
	padding: 0;
	margin: 0;
	border-bottom: 2px solid var(--color-primary);
}

.tab-item {
	width:100%;
	max-width: 300px;
	height: 52px;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	background-color: var(--color-primary);
	color: var(--color-white);
	border: 2px solid var(--color-primary);
	/* 非アクティブ時（親のラインを見せる） */
	border-bottom: none;
	border-radius: 5px 5px 0 0;
	transition: all 0.3s;
	/* 下のラインと重ねるための調整 */
	margin-bottom: -2px;
}
.tab-item:not(.is-active):hover {
	opacity: 0.8;
}
/* アクティブなタブ */
.tab-item.is-active {
	background-color: var(--color-white);
	color:  var(--color-primary);
	font-weight: 500;
	border-bottom-color: var(--color-white);
	z-index: 2;
}
.tab-content-container {
	border: none; 
	border-top: none; 
	padding: 20px 0; 
	background-color: var(--color-white);
}
.tab-content-item {
	display: none;
}
.tab-content-item.is-active {
	display: block;
	animation: fadeIn 0.3s ease-in;
}
/* フェードイン */
@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
/*タブ幅の調整*/
@media only screen and (max-width: 840px) {
	.tab-item {
		width:230px;
	}
}
@media only screen and (max-width: 640px) {
	.map-tab-container {
		padding: 0;
	}
	.tab-list {
		gap: 0; 
	}
	.tab-item {
		width: 100%;
		border-radius: 0;
	}
}
@media only screen and (max-width: 540px) {
	.tab-item {
		width: 100%;
		border-radius: 0;
	}
}

.c-figure-item.u-img-100p {
    margin: 0;
}
.c-figure-item.u-img-100p img {
	width: 100%;
	height: auto;
	display: block;
}

/* Googleマップのレスポンシブ対応ラッパー */
.google-map-responsive {
	position: relative;
	padding-bottom: 56.25%; /* アスペクト比 16:9 */
	height: 0;
	overflow: hidden;
	}

.google-map-responsive iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

/*腫瘍マーカー（セル名の一斉文字揃え）*/
.c-table--tumor-marker td:nth-child(2),
.c-table--tumor-marker td:nth-child(3) {
	text-align: center;
}
/*オプション検査*/
.c-table--option-checkup td:nth-child(2){
	text-align: center;
}



/*外科特徴の実績テーブル*/
.u-surgery-data td:nth-child(2),
.u-surgery-data td:nth-child(3),
.u-surgery-data td:nth-child(4),
.u-surgery-data td:nth-child(5),
.u-surgery-data td:nth-child(6),
.u-surgery-data td:nth-child(7),
.u-surgery-data td:nth-child(8){
	text-align: center;
}

/*医療安全対策室の小見出し*/
.c-subheading1{
	font-family: "Noto Serif JP", serif;
	font-weight:700;
	font-size:1.5rem;
	line-height:1.3;
	color:#8C2F2F;
	margin-bottom: 10px;
}
.c-subheading2{
	font-weight:500;
	font-size:1.25rem;
	line-height:1.3;
	margin-bottom: 10px;
}


/*1から3カラムグリッド*/
.c-1col-gallery {
	width:100%;
	max-width:320px;
	display: block;
	margin:0 auto;
}
.u-max-img800 {
	max-width:800px !important;
	height:auto;
}
.u-max-img640 {
	max-width:640px !important;
	height:auto;
}
.u-max-img400 {
	max-width:400px !important;
	height:auto;
}
.u-max-img100p {
	max-width:100% !important;
	height:auto;
}
/*2カラムグリッド*/
.c-2col-gallery {
	display:grid;
	grid-template-columns: repeat(2, minmax(0, 320px));
	gap: 20px;
	justify-content: center;
	align-items:center;
}
.c-2col-gallery.u-col-240 {
	grid-template-columns: repeat(2, minmax(0, 240px));
}
.u-col-bgcolor {
	background-color: #A9E1FF;
}
/*3カラムグリッド*/
.c-3col-gallery {
	display:grid;
	grid-template-columns: repeat(3, minmax(0, 320px));
	gap: 20px;
	justify-content: center;
}
@media only screen and (max-width: 540px) {
	.c-2col-gallery,
	.c-3col-gallery {
		display: block; 
		/* 念のためリセット */
		grid-template-columns: none;
		column-gap: 0;
		row-gap: 0;
	}
	.c-2col-gallery img,
	.c-3col-gallery img{
		margin-bottom:20px;
	}
	.c-1col-gallery{
		max-width:100% !important;
	}
}

/* ２カラムFlaxコンテナ */
/* 薬剤部ページで使用 */
.c-2col-flex {
	display: flex;
	justify-content: center;
	align-items: stretch;
	width: 100%;
	max-width: 1280px; 
	margin: 0 auto;
	gap: 20px;
}
/* カラム幅指定 （260px）*/
.u-column260 > * {
	flex: 1 1 260px; 
	max-width: 260px; 
	display: flex;
	flex-direction: column;
}
/* テキストカラム*/
.u-text-column {
	padding: 20px; 
	/* 子要素（pタグ）を垂直方向（上下）中央に配置する */
	align-items: flex-start; /* 水平方向はコンテンツの幅を基準に左寄せ (pタグの幅は狭い) */
	justify-content: center; /* 垂直方向（主軸）を中央寄せ */
	text-align: left;
	align-self: stretch; 
}
/* 背景色の指定 */
.u-column-color1 {
	background-color: #A9E1FF;
	border-radius: 8px;
}

/* --------------------------------------------------
* C-COMPONENT: カテゴリーナビゲーション
* 看護師ページ、リクルートページでのみ使用
* -------------------------------------------------- */
.l-category-nav-container {
	width:100%;
	max-width: 1280px;
	margin: 0 auto 15px;
	padding: 0;
}

.c-category-nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
}

.c-category-nav a {
	display: block;
	text-decoration: none;
	color: var(--color-white);
	font-weight: 500;
	text-align: center;
	padding: 15px 5px;
	border-radius: 8px;
	transition: background-color 0.3s;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.c-category-nav a {
	background-color: var(--color-primary); 
}
.c-category-nav li.is-active a {
	background-color: var(--color-primary2);
}
.c-category-nav a:hover {
	background-color: var(--color-primary2);/*←色確認せよ*/
}
.is-nurse .c-category-nav a {
	background-color: #f08c8c; 
}
.is-nurse .c-category-nav a:hover {
	background-color: var(--color-pink2);
}
.is-nurse .c-category-nav li.is-active {
	border-radius:8px;
	color: var(--color-white); 
}
.is-nurse .c-category-nav li.is-active a {
	background-color: var(--color-pink2) !important;
}


/* --- PCレイアウト (1000px以上) --- */
@media (min-width: 1000px) {
	.c-category-nav ul {
		display: flex;       /* 横並び */
		justify-content: space-between;
		gap: 8px;            /* ボタン間の隙間（画像に合わせて微調整） */
	}
	.c-category-nav li {
		flex: 1;             /* 等分に広げる */
		min-width: 0;        /* ★重要: Flexアイテム内で文字省略を有効にするために必須 */
	}
}
/* --- モバイルレイアウト--- */
@media (max-width: 1100px) {
	.c-category-nav ul {
		display: grid;
		grid-template-columns: repeat(3, 1fr); 
		gap: 10px;
	}
	.c-category-nav li.is-active a::after {
		display:none;
	}
}
@media (max-width: 840px) {
	.c-category-nav ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr); 
		gap: 8px; 
	}
	.c-category-nav a {
		padding: 8px 5px;
	}
}

/* 医療の質の指標 */
.u-qi-title{
	display:block;
	font-size:1.25rem;
	font-weight:600;
	margin-bottom:10px;
	color:var(--color-primary2);
}



	/* =========================================
		案1: スタンダード・ピル (Solid)
		BEM: .menu-solid
	========================================= */
	.menu-solid {
		display: flex;
		justify-content: space-between;
		align-items: center;
		background-color: #ffffff;
		border-radius: 9999px; /* Pill shape */
		padding: 8px;
		box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
		list-style: none;
		margin: 0;
	}

	.menu-solid__item {
		width: 100%;
		display: flex; /* flexレイアウトを追加 */
	}

	.menu-solid__link {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		padding: 12px 0;
		border-radius: 9999px;
		text-decoration: none;
		color: #6b7280; /* Gray-500 */
		transition: all 0.3s ease;
		cursor: pointer;
		border: none;
		background: none;
		font-size: 16px;
	}

	.menu-solid__icon {
		font-size: 1.25rem; /* 20px */
		margin-right: 12px;
	}

	.menu-solid__text {
		font-weight: bold;
	}

	/* --- Hover State --- */
	.menu-solid__link:hover {
		background-color: #f9fafb; /* Gray-50 */
		color: #374151; /* Gray-700 */
	}

	/* --- Active State (Modifier) --- */
	/* JSなしで固定表示するためのクラス。ホバー時よりも優先されます */
	.menu-solid__link--active,
	.menu-solid__link--active:hover {
		background-color: #2563eb; /* Blue-600 */
		color: #ffffff;
		box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
		transform: scale(1.02);
	}

	/* =========================================
	案2: フローティング・セグメント (Segment)
	BEM: .menu-segment
	========================================= */
	.absolute{
		position:absolute;
		bottom:16px;
		left: 50%;
		transform: translateX(-50%);
	}
	.menu-segment {

		width:100%;
		max-width:1280px;
		
		display: flex;
		justify-content: space-between;
		align-items: center;
		background-color: #e2e8f0; /* Slate-200 */
		border-radius: 9999px;
		padding: 6px;
		list-style: none;
		margin: 0;
	}

	.menu-segment__item {
		width: 100%;
		display: flex;
	}

	.menu-segment__link {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		padding: 12px 0;
		border-radius: 9999px;
		text-decoration: none;
		color: #64748b; /* Slate-500 */
		transition: all 0.3s ease;
		cursor: pointer;
		border: none;
		background: none;
		font-size: 16px;
	}

	.menu-segment__icon {
		font-size: 1.25rem;
		margin-right: 12px;
	}

	.menu-segment__text {
		font-weight: 500;
	}

	/* --- Hover State --- */
	.menu-segment__link:hover {
		color: #334155; /* Slate-700 */
		background-color: rgba(255, 255, 255, 0.5); /* 半透明の白でホバーを表現 */
	}

	/* --- Active State (Modifier) --- */
	.menu-segment__link--active,
	.menu-segment__link--active:hover {
		background-color: #ffffff;
		color: #0d9488; /* Teal-600 */
		box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
		font-weight: bold;
	}


/*コンテンツナビゲーション*/

.l-container__nav-area {
	max-width: 1280px;
	width: 100%;
	padding: 0 44px;
	margin: 0 auto 10px;
	/*border:1px solid green;*/
}
@media screen and (max-width: 840px) {
	.l-container__nav-area {
		padding: 0 30px;
	}
}
@media screen and (max-width: 420px) {
	.l-container__nav-area {
		padding:0 10px;
	}
}

/*コンテンツナビゲーション*/
.c-grid-nav__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	/* デフォルト3列 */
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}
.c-grid-nav__list-col4 {
	grid-template-columns: repeat(4, 1fr);
}
.c-grid-nav__item {
	display: flex;
	border:1px solid #fff;/*枠*/
	border-radius: 8px;
}
.c-grid-nav__link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 100%;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.3s ease;
	/* フォント設定（汎用） */
	font-size: 1.0625rem;
	font-weight: 500;
}
.c-grid-nav__icon {
	font-size: 1.0625rem;
}
/* * MODIFIER: .c-grid-nav--boxed
	* 役割: 「枠で囲まれたボタンスタイル」の装飾を定義
	* 構造には影響を与えず、色や背景のみを管理
	*/
.c-grid-nav--boxed {
	/*周囲の背景*/
	background-color: #f0f2f5;
	padding: 6px;
	border-radius: 8px;
}
/* Boxedスタイル内のリンク装飾 */
.c-grid-nav--boxed .c-grid-nav__link {
	padding: 12px;
	border-radius: 8px;
	color: var(--color-font);
	background-color: transparent;
	border: 1px solid transparent; /* ボーダー分の高さを確保してガタつき防止 */
}
/* Hover State */
.c-grid-nav--boxed .c-grid-nav__link:hover {
	color: var(--color-primary2);
	background-color: rgba(var(--color-primary2-rgb), 0.1);
	border:1px solid rgba(var(--color-primary2-rgb), 0.1);
}
/* Active State (現在地) */
.c-grid-nav--boxed .c-grid-nav__item.is-active .c-grid-nav__link {
	background-color: var(--color-primary);
	color: var(--color-white);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/*看護師用ナビのカラー*/
.is_nurse .c-grid-nav--boxed .c-grid-nav__link:hover {
	color: #4C1919;
	background-color: rgba(76, 25, 25, 0.1);
	border:1px solid rgba(76, 25, 25, 0.1);
}
.is_nurse .c-grid-nav--boxed .c-grid-nav__item.is-active .c-grid-nav__link {
	background-color:#8C2F2F;
	color: var(--color-white);
}




/* * RESPONSIVE
	* コンポーネント固有のレスポンシブ設定
	*/
@media (max-width: 768px) {
	/*.c-grid-nav__list {
		grid-template-columns: repeat(2, 1fr);
	}*/
	.c-grid-nav__link {
		font-size: 1rem;
	}
	.c-grid-nav__icon {
		font-size: 1rem;
	}
}
@media (max-width: 680px) {
	.c-grid-nav__link {
		font-size: 0.9375rem;
	}
	.c-grid-nav__icon {
		font-size: 0.9375rem;
	}
}



.c-recruit-link__container{
	display: flex;           /* 子要素を横並びにする */
	justify-content: center; /* 中央寄せ（左寄せなら flex-start） */
	align-items: center;     /* 上下の中央揃え */
	flex-wrap: wrap;         /* 画面幅が足りない時は折り返す */
	align-items: stretch;
	gap: 20px;               /* ボタン同士の間隔 */
	max-width: 1280px;       /* ラッパー自体の最大幅（任意） */
	margin: 0 auto;          /* ラッパー自体を画面中央に */
}

/* =========================================
   PCファースト ベーススタイル (701px以上)
   ========================================= */

.c-recruit-link {
  display: flex;
  max-width: 580px;
  flex: 1;
  min-height: 180px;
  margin: 20px auto;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  color: var(--color-white);
  
  /* 通常時の枠線 */
  border: 1px solid var(--color-red1);/*#FF7799;#8C2F2F;*/
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  
  /* 枠線色もアニメーションするように設定 */
  transition: border-color 0.3s ease;
}

/* --- ▼▼▼ ホバー時の枠線色変更 ▼▼▼ --- */
.c-recruit-link:hover {
  border-color: #8C2F2F;
}

/* 画像エリアの設定 */
.c-recruit-link__media {
  flex: 0 0 42%;
  position: relative;
  /* 画像横の境界線 */
  border-right: 1px solid #eababb;
  transition: border-color 0.3s ease;
}

/* --- ▼▼▼ ホバー時に中央の線も色を変える ▼▼▼ --- */
.c-recruit-link:hover .c-recruit-link__media {
  border-right-color: #8C2F2F;
}

.c-recruit-link__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* テキストエリアの設定 */
.c-recruit-link__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  text-align: center;
  
  background-color: var(--color-red1);/*#FF7799;*/
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* --- ▼▼▼ ホバー時の背景・文字色変更 ▼▼▼ --- */
.c-recruit-link:hover .c-recruit-link__body {
  /* 背景を指定の濃い赤に変更 */
  background-color: #8C2F2F;
  /* 文字を白に変更 */
  color: #ffffff;
}


/* メインタイトル */
.c-recruit-link__title {
  margin: 0 0 10px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.3;

	display: -webkit-box;           /* 箱の仕様を変更 */
	-webkit-box-orient: vertical;   /* 縦並びの箱にする */
	-webkit-line-clamp: 2;          /* 2行で制限する */
	overflow: hidden;               /* はみ出た部分を隠す */
}

/* サブテキスト */
.c-recruit-link__text {
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.4;
}


/* =========================================
   レスポンシブスタイル (画面幅700px以下)
   ========================================= */
@media (max-width: 800px) {
  .c-recruit-link {
    flex-direction: column;
    height: auto;
    max-width: 100%;
  }

  .c-recruit-link__media {
    flex: 0 0 auto;
    width: 100%;
    border-right: none;
    /* SP時の下の境界線 */
    border-bottom: 1px solid var(--recruit-border-color);
  }

  /* SP時のホバーでも線を色変更させる */
  .c-recruit-link:hover .c-recruit-link__media {
    border-bottom-color: var(--recruit-hover-color);
  }

  .c-recruit-link__body {
    padding: 30px 20px;
  }
  
  .c-recruit-link__title {
    font-size: 1.5rem;
  }
}

/*!
layout > footer
l-footer
l-footer-nav-container
l-footer-note
------------------------------
*/
.l-footer{
	width:100%;
	padding:140px 0 40px;
	background-color: var(--color-white);
	/*背景画像*/
	background-image: 
		linear-gradient(to top,
			/* 下から上へ向かうグラデーション */
			/* 下端 (0%): 完全に透明（画像がそのまま見える） */
			rgba(255, 255, 255, 0) 0%,
			rgba(255, 255, 255, 0.5) 25%,
			rgb(255, 255, 255) 60%
		),
	url('../images/header/bg-sky_1.jpg');
	background-size: 
		100% 100%, 
		cover;
	background-position: 
		top left,
		bottom center;
	background-repeat:
		no-repeat,
		no-repeat;
}
/*病院名称（病院ロゴ+住所+TEL）*/
.c-basic-info{
	display: flex;
	justify-content: center;
	flex-direction:column;
	max-width:1280px;
	margin: 0 auto 60px;
	text-align:center;
	padding:0 30px;
	/*border:1px solid green;*/
}
.c-basic-info--hospital-name {
	margin: 0 auto 15px;
	width:100%;
	max-width:409px;
	height:auto;
}
.c-basic-info--hospital-address{
	display:block;
}
@media (max-width: 415px) {
	.c-basic-info--hospital-tel{
		display:block;
	}
}
/*フッターナビゲーション*/
.l-footer-nav-container {
	display: flex;
	flex-wrap: wrap;
	max-width:1280px;
	margin: 0 auto;
	padding:0 30px;
	/*border:1px solid red;*/
}
/*個別ナビゲーション*/
.c-footer-nav{
	width:100%;
	margin:5px auto 0;
	transition: opacity 0.3s ease-in-out;
	/*border:2px solid green;*/
}
/* 個別ナビゲーションのグループコンテナ*/
.c-footer-nav--group {
	width: 300px;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	opacity: 0; 
	transition: opacity 0.5s ease-out;
	border-left: 1px solid #ccc;
}
.c-footer-nav--group.is-visible {
	opacity: 1; 
}
.is-resizing .c-footer-nav--group {
	opacity: 0 !important; 
}
.c-footer-nav--group:first-child {
	border-left: none;/* 左罫 */
}
/* グループコンテナのカラム制御（JSにも指定あり）*/
@media (min-width: 1001px) {
	.col4-1, .col4-2, .col4-3, .col4-4 { width: 25%; }
}
@media (max-width: 1000px) and (min-width: 901px) {
	.col3-1, .col3-2, .col3-3 { width: 33.3333%; }
}
@media (max-width: 900px) and (min-width: 701px) {
	.col2-1, .col2-2 { width: 50%; }
}
@media (max-width: 700px) {
	.col1-1 { width: 100%; }
	.c-footer-nav--group {
		padding-left: 0;
		padding-right: 0;
	}
}
/*個別のリストのタイトル*/
.c-footer-nav--title {
	margin: 0 0 4px 0;
	padding: 0 0 4px 2px;
	font-size: 0.9375rem;/*15px*/
	font-weight: bold;
	color: #333;
	border-bottom: 1px solid #aaaaaa;
}
.c-footer-nav--title-only {
	margin-bottom: 25px; 
}
/*フッタナビ内の項目制御*/
.l-footer-nav-container .c-list-disc {
	margin-bottom: 16px;
}
.l-footer-nav-container .c-list-disc>li {
	font-size: 0.9375rem;/*15px*/
	margin-bottom: 0.1rem;
}
/*フッタナビ下の項目*/
.l-footer-note {
	width:100%;
	max-width:1280px;
	margin:40px auto;
	padding:0 30px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	/*border:1px solid red;*/
}
@media (max-width: 900px) {
	.l-footer-note{
		flex-direction:column;
		gap:30px 20px;
		flex-direction:column-reverse;
	}
}
.l-footer-note--banner{
	display:flex;
	gap:20px;
}
@media (max-width: 500px) {
	.l-footer-note--banner{
		flex-direction:column;
		justify-content:center;
		text-align:center;
		gap:20px 0;
	}
	.c-footer-nav--saiseikai-logo{
		margin:0 auto;
	}
}
.l-footer-note--link{
	display:flex;
}
.l-footer-note--link ul{
	display:flex;
	gap:30px;
	font-size: 0.9375rem;/*15px*/
}
.c-footer-nav--no-smoking img{
	width: auto;
	max-width:231px;
	height: 61px;
	border-radius:6px;
	background:#C8CACB;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}
.c-footer-nav--saiseikai-logo img{
	width: auto;
	height: 68px;
	max-width: 100%;
	background:var(--color-white);
	border-radius:6px;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
}
.c-footer-nav--jcqhc-mark img{
	width: auto;
	height: 68px;
	max-width: 100%;
	background:var(--color-white);
	border-radius:6px;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
}
.c-copyright{
	margin:80px auto 0;
	width:100%;
	max-width:1280px;
	text-align:center;
}
.c-copyright small{
	margin:0;
	padding:0;
	font-size:0.875rem;/*14px*/
}
.l-footer-note--link a:hover,
.c-footer-nav a:hover {
	text-decoration:underline;
	color:blue;
}

/* ==============================================
   C-COMPONENT: c-footnav（フッター固定ナビゲーション）
   ============================================== */
.l-footnav {
	display:none;
}
@media (max-width: 900px) {
	.l-footnav {
		display:block;
		position: fixed; 
		bottom: 0;
		left: 0;
		width: 100%;
		background-color: rgba(255, 255, 255, 0.9); 
		box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1); 
		display: flex;
		justify-content: center; 
		z-index: 1000; 
		padding: 5px 0 10px;
	}
	.c-footnav {
		text-decoration: none;
		color: #333333; 
		flex: 0 1 auto; 
		width:100%;
		max-width: 135px;
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 3px 0; 
		text-align: center;
		min-width: 0;
	}
	.c-footnav:hover {
		opacity: 0.7;
	}
	.c-footnav--icon {
		margin-bottom: 3px;
		height: 24px; 
		width: 24px; 
		color: #2c3e50; 
		cursor: pointer;
	}
	.c-footnav--icon img {
		display: block;
		width: 100%;
		height: 100%;
	}
	.c-footnav--text {
		margin: 0; 
		font-size: 0.7rem; 
		line-height: 1.2;
		color: #2c3e50; 
	}
	@media (max-width: 540px) {
		.l-footnav {
			padding: 5px 0 10px;
		}
	}
}
/*!
component.css
------------------------------
*/
.u-visually-hidden {
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	border: 0 !important;
	padding: 0 !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	margin: -1px !important;
}
/*用語説明リンク（用語ダイアログへのリンク）*/
a.glossary-link {
	text-decoration: none; 
	line-height:1;
	border-bottom: 1px solid currentColor;
	display: inline;
}
.u-glossary::after {
	content: "\f059"; 
	font-family: "Font Awesome 6 Free";
	font-weight: 400; 
	margin-left: 2px; 
	margin-right: 2px; 
}
/*ドキュメントへのリンクアイコン*/
a[href$=".pdf"]::before,
a[href$=".xlsx"]::before,
a[href$=".docx"]::before,
a[href$=".jpg"]::before,
a[href$=".png"]::before {
	content: "\f15c";
	font-family: "Font Awesome 6 Free"; 
	font-weight: 400;
	margin-left: 4px;
	margin-right: 4px;
	font-size: 1.125em;
	/*color: #cc0000;*/
}
/*リンクアイコンを消す*/
a.u-no-icon::before {
	content: none;
	margin: 0;
	font-size: 0;
}
.c-pdf-iframe,
.c-pdf-container{
	width: 100%;
	height: 90vh;
	border: 2px solid #ccc;
	border-radius: 8px;
}
@media (max-width: 540px) {
	.c-pdf-iframe,
	.c-pdf-container {
		height: 60vh; 
	}
}

.u-spacer {
	height: 20px;
}
.u-spacer30 {
	height: 30px;
}
.u-spacer40 {
	height: 64px;
}
.u-spacer50 {
	height: 50px;
}
.u-spacer60 {
	height: 60px;
}
.u-flex-center{
	justify-content:center;
}
.u-justify-content-start,
.u-flex-left{
	justify-content:flex-start !important;
}
.u-flex-right{
	justify-content:flex-end;
}
.u-flex-between{
	justify-content:space-between;
}
.u-flex-align-center{
	align-items:center !important;
}
.u-pl22{
	padding-left:22px !important;
}
.u-pl05rem{
	padding-left:0.5rem !important;
}
.u-plr05rem{
	padding-left:0.5rem !important;
	padding-right:0.5rem !important;
}
.u-pl1rem{
	padding-left:1rem !important;
}
.u-plr1rem{
	padding-left:1rem !important;
	padding-right:1rem !important;
}
.u-pl2rem{
	padding-left:2rem !important;
}
.u-plr2rem{
	padding-left:2rem !important;
	padding-right:2rem !important;
}
.u-pl3rem{
	padding-left:3rem !important;
}
.u-plr3rem{
	padding-left:3rem !important;
	padding-right:3rem !important;
}
@media (max-width: 540px) {
	.u-plr2rem,.u-plr3rem{
		padding-left:1rem !important;
		padding-right:1rem !important;
	}
}


.u-mtb0{
	margin-top:0 !important;
	margin-bottom:0 !important;
}
.u-mt10{
	margin-top:10px !important;
}
.u-mt20{
	margin-top:20px !important;
}
.u-mt30{
	margin-top:30px !important;
}
.u-mt40{
	margin-top:40px !important;
}
.u-mt50{
	margin-top:50px !important;
}
.u-mt60{
	margin-top:60px !important;
}
.u-mb5{
	margin-bottom:5px !important;
}
.u-mb10{
	margin-bottom:10px !important;
}
.u-mb15{
	margin-bottom:15px !important;
}
.u-mb20{
	margin-bottom:20px !important;
}
.u-mb30{
	margin-bottom:30px !important;
}
.u-mb40{
	margin-bottom:40px !important;
}
.u-mb50{
	margin-bottom:50px !important;
}
.u-mb60{
	margin-bottom:60px !important;
}
.u-mtb5{
	margin-top:5px !important;
	margin-bottom:5px !important;
}
.u-mtb10{
	margin-top:10px !important;
	margin-bottom:10px !important;
}
.u-mtb20{
	margin-top:20px !important;
	margin-bottom:20px !important;
}
.u-mtb30{
	margin-top:30px !important;
	margin-bottom:30px !important;
}
.u-ptb0{
	padding-top:0 !important;
	padding-bottom: 0 !important
}
.u-ptb5{
	padding-top:5px !important;
	padding-bottom:5px !important
}
.u-ptb10{
	padding-top:10px !important;
	padding-bottom:10px !important
}
.u-ptb15{
	padding-top:15px !important;
	padding-bottom:15px !important
}
.u-ptb20{
	padding-top:20px !important;
	padding-bottom:20px !important
}
.u-pt0{
	padding-top:0 !important;
}
.u-pt5{
	padding-top:5px !important;
}
.u-pt10{
	padding-top:10px !important;
}
.u-pt15{
	padding-top:15px !important;
}
.u-pt20{
	padding-top:20px !important;
}
.u-pt30{
	padding-top:30px !important;
}
.u-pt40{
	padding-top:40px !important;
}
.u-pt50{
	padding-top:40px !important;
}
.u-pb0{
	padding-bottom:0 !important;
}
.u-pb5{
	padding-bottom:5px !important;
}
.u-pb10{
	padding-bottom:10px !important;
}
.u-pb15{
	padding-bottom:15px !important;
}
.u-pb20{
	padding-bottom:20px !important;
}
.u-pb30{
	padding-bottom:30px !important;
}
.u-pb40{
	padding-bottom:40px !important;
}
.u-pb50{
	padding-bottom:50px !important;
}
.u-fz14{
	font-size:0.875rem !important;
}
.u-fz15{
	font-size:0.9375rem !important;
}
.u-fz16,.u-fz1rem{
	font-size:1rem !important;
}
.u-fz18{
	font-size:1.125rem !important;
}
.u-fz20{
	font-size:1.25rem !important;
}
.u-fz22{
	font-size:1.375rem !important;
}
.u-fz24{
	font-size:1.5rem !important;
}
.u-bb{
	border-bottom:1px solid #333;
}
.u-bb-red{
	border-bottom:1px solid red;
}
.u-color-blue{
	color:var(--color-primary2);
}
.u-color-red{
	color:red !important;
}
.u-color-orange{
	color:#FF7C29 !important;
}
.u-inline,
.u-inline-block{
	display:inline-block !important;
	text-indent:0 !important;
}
.u-tight-list li,
.u-list-tight li {
	margin-bottom: 4px !important;
}
.u-list-mb0 li {
	margin-bottom: 0 !important;
}
.u-ml1rem{
	margin-left:1rem;
}
/* 見出し直後での改列を防ぐ */
.u-mbreak-after{
	break-after: avoid;
	-webkit-column-break-after: avoid;
}

/*!
component > 見出し
------------------------------
*/
/*H3*/
.c-heading--title {
	display: flex;
	flex-wrap:wrap;
	align-items: center;
	position: relative;
	padding: 12px 12px 12px 20px;
	background: linear-gradient(to top, #E8E8EA 0%, var(--color-white) 70%);
	border-top: 1px solid #EEEEEE;
	border-bottom: 1px solid #CCCCCC;
	border-radius:8px;
	overflow:hidden;
	margin:0 0 30px;
	line-height: 1.4;
}
/* 左右の枠線（擬似要素） */
.c-heading--title::before{
	content: "";
	position: absolute;
	left: 20px;
	top: 0;
	width: 6px;
	height:100%;/*24px*/
	background: linear-gradient(to bottom, #1A9FC2, #00D4F6);
}
.c-heading--title::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 1px;
	background: linear-gradient(to top, #DADADA, var(--color-white));
}
.c-heading--title::before{
	left: 0;
}
.c-heading--title::after{
	right: 0;
}
/*.is-nurse .c-heading--title{
	color:var(--color-pink2);
}*/
.is-nurse .c-heading--title::before,
.c-heading--title.is-nurse::before {
	background: linear-gradient(to bottom, rgb(68, 12, 40),#9c134c);
}
/*H3をラップ*/
.c-dheading--department{
	padding:0;
	position:relative;
	margin:0 0 30px;
}
.c-dheading--department .c-heading--titl{
	margin:0;
}
.c-update,.c-price{
	position:absolute;
	top:35%;
	right:15px;
	font-size:0.875rem;
}
.c-department-tel{
	position:absolute;
	top:35%;
	right:16px;
	font-size:1em;
}
@media (max-width: 540px) {
	.c-update,.c-price{
		top:35%;
		font-size:0.8125rem;
	}
}
/*H4*/
.c-sub-heading--title {
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 20px;
	padding: 5px 5px 5px 0;
	text-indent:-0.75rem;
	padding-left:1.75rem;
	color: var(--color-primary);
	border-bottom: solid 1px rgba(67, 148, 214, 0.6);
}
.is-nurse .c-sub-heading--title,
.c-sub-heading--title.is-nurse {
	color: var(--color-pink2);
	border-bottom: solid 1px var(--color-pink1);
}
/*H5*/

/* 親要素: タイトル全体を包み、Flexコンテナにする */
.c-subsub-heading--title {
	display: flex;
	align-items: center;
	width: 100%;
	position: relative;
	font-size: 1.25rem;
	font-weight: 600;
	color: rgba(67, 148, 214, 0.9);
	margin: 1.25rem 0 0.5rem; 
	padding-left:1.5rem;
	position: relative;
}
.is-nurse .c-subsub-heading--title {
	color: var(--color-pink2);
}
.c-subsub-heading--title::before {
	position: absolute;
	left:7px;
	content: "";
	display: block; 
	flex-shrink: 0; 
	/* 円形ビュレットの設定 */
	width: 0.5rem; /* 幅と高さで円のサイズを決定 */
	height: 0.5rem;
	border-radius: 50%; /* 円形にする */
	background-color: rgba(67, 148, 214, 0.9); /* タイトルと同じ濃い色に設定 */
	/* タイトルテキストとの間隔 */
}
/* 右側のライン (::after) */
.c-subsub-heading--title::after {
	content: "";
	display: block; /* Flexアイテムとして機能させる */
	flex-grow: 1;
	height: 1px;
	width:auto;
	max-width:8rem;
	background-color: rgba(67, 148, 214, 0.6);
	margin-left: 0.5rem;
}
.is-nurse .c-subsub-heading--title::before,
.c-subsub-heading--title.is-nurse::before {
	background-color: var(--color-pink2);
}
.is-nurse .c-subsub-heading--title::after,
.c-subsub-heading--title.is-nurse::after {
	background-color: var(--color-pink2);
}
/*H6*/
.c-subsubsub-heading--title {
	font-size:1rem;
	font-weight: 600;
	color:var(--color-primary2);
	margin-bottom:0.6rem;
}
.is-nurse .c-subsubsub-heading--title,
.c-subsubsub-heading--title.is-nurse {
	color: var(--color-pink2);
}

/* ------------------------------------------------------------------
 * C-COMPONENT: c-page-nav (ページ内横並びリンクナビゲーション)
 * ------------------------------------------------------------------ */
.c-page-nav-container {
	padding-top:0;
	width: 100%;
}
/*.c-page-nav {
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr); 
	gap: 10px; 
	overflow-x: auto;
}*/
/* PCでは横4列にする計算 */
/*.c-page-nav__item {
	flex: 1 1 calc(25% - 10px);
	min-width: 140px;
}*/
.c-page-nav {
	padding: 0;
	margin: 0;
	display:flex;
	gap: 10px; 
	flex-wrap:nowrap;
	/*overflow-x: auto;*/
}
.c-page-nav__item {
	text-align: left; 
	position: relative; 
	flex: 0 0 auto;
}
.c-page-nav__item a {
	display: block; 
	background-color: #4682B4; 
	color: white;
	padding: 10px 18px; /* 左右パディング 18px */
	border-radius: 8px;
	text-decoration: none;
	text-align: left; 
	/* 951px以上: 均等幅のため、コンテンツは改行を許可 */
	white-space: nowrap;
	overflow: visible;
	transition: background 0.3s;
}
.c-page-nav__item a:hover {
	background-color: #36648b;
}
.c-page-nav__item a.active {
	background-color: #d9534f; /* 選択中の色（赤系など） */
	font-weight: bold;
	pointer-events: none;
}

.is-nurse .c-page-nav a,
.c-page-nav.is-nurse a{
	transition:0.5s;
	background-color: var(--color-red1);
}
.is-nurse .c-page-nav.is-nurse a:hover,
.c-page-nav.is-nurse a:hover{
	background-color: var(--color-red3);
}
.c-page-nav__item a::before {
	content: "\f0ab"; 
	font-family: "Font Awesome 6 Free"; 
	font-weight: 900; 
	display: inline-block; 
	margin-right: 5px; 
	color: white; 
	font-size: 1em;
}
.c-page-nav__item--external a::before {
	content: "\f0a9" !important;
}

@media (max-width: 840px) {
	/*PCと共通部分は除外してください*/
	/*スクロール版に変更*/
	.c-page-nav-container {
		overflow-x: auto;
		position: relative;
	}
	.c-page-nav__item {
		text-align: left; 
		position: relative; 
		flex: 0 1 auto;
		/*min-width: 200px;*/
		margin-bottom: 8px; 
	}
	.c-page-nav__item a {
		display: block; 
		background-color: var(--color-pagenav);
		color: white;
		/* 左右パディング 18px */
		padding: 10px 24px 10px 20px;
		border-radius: 8px;
		text-decoration: none;
		text-align: left; 
		/* 文字数に応じた幅を確保 */
		white-space: nowrap; 
		overflow: hidden;
		text-overflow: ellipsis; 
	}
}
@media (max-width: 540px) {
	.c-page-nav {
		/* SPサイズで最大幅を 800px に変更 */
		/*width: 700px;*/
		gap: 8px; 
	}
	.c-page-nav__item a {
		font-size:14px;
		padding: 7px 24px 7px 20px;
	}
}		
@media (max-width: 400px) {
	.c-page-nav {
		/* SPサイズで最大幅を 800px に変更 */
		width: 500px;
		gap: 8px; 
	}
}

/*看護師コンテンツのページナビ*/
 .c-page-nav.is-nurse {
	padding: 0;
	margin: 0;
	display: flex !important;
	gap: 10px;
}
.c-page-nav.is-nurse .c-page-nav__item a {
	display: flex;
	align-items: center;
	padding: 8px 32px;
	color: var(--color-white);
	font-size: 1rem;
	font-weight: 500;
	text-decoration: none;
	border-radius: 8px;
	transition: background-color 0.2s ease, opacity 0.2s ease;
}

/*!
component > トップに戻るボックス
------------------------------
*/
.c-page-top {
	display: none;
}
.c-page-top.show {
	display: block;
}

.c-page-top a {
	display: inline-block;
	width: 60px;
	height: 60px;
	background-color: var(--color-primary);
	position: fixed;
	bottom: 80px;
	right: 30px;
	border-radius: 4px;
	cursor: pointer;
	z-index:0;
	transition: background-color 0.3s ease;
	/* 白抜きの上矢印（2本線） */
}
.c-page-top.is-nurse a {
	background-color: var(--color-pink2);
}
.c-page-top a::before,
.c-page-top a::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 2px;
	height: 16px;
	background-color: white;
	transform-origin: top center;
}
.c-page-top a::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
.c-page-top a::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
.c-page-top a:hover {
	background-color: #E35B5B;
}


/*!
component > button系+++++++++++++++++++++++++++
------------------------------
*/
.c-capsule-button-wrapper {
	display:flex;
	gap:30px;
	margin: 20px 0 20px;
	padding: 0;
}

.c-capsule-button {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content:flex-start;
	align-items:center;
	/*flex: 0 1 300px;*/
	width: 100%;
	max-width: 300px;
	height: 52px;
	/*line-height: 52px;*/
	padding: 0 60px 0 24px;
	border-radius: 100vh;
	text-decoration: none;
	font-size: 1.125rem;
	font-weight: 500;
	position: relative;
	background-color:var(--color-primary);
	color:var(--color-white);
	
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: background-color 0.3s ease;
}

@media screen and (max-width: 450px) {
	.u-block{
		display:block;
	}
}
.c-capsule-button::after {
	content: "\f0a9";
	font-family: "Font Awesome 6 Free"; 
	font-weight: 900;
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.5rem;
}
.c-capsule-button--external::after {
	transform: translateY(-50%) rotate(-45deg); /* 外部リンクは-45度 */
}
.c-capsule-button:hover {
	text-decoration: none;
	background-color:var(--color-theme-bg2);
	color:var(--color-font2);
}
.c-capsule-button:hover::after {
	color: var(--color-font2);
}

/*自動幅のボタン*/
.c-capsule-button--auto{
	width: fit-content;
	max-width: 100%;
}
/*幅広のボタン*/
.c-capsule-button--large{
	flex-basis: 520px;
	max-width: 520px;
}
/*中くらいの幅のボタン*/
.c-capsule-button--middle{
	flex-basis: 400px;
	max-width: 400px;
}
/*狭い幅のボタン*/
.c-capsule-button--small{
	flex-basis: 240px;
	max-width: 240px;
	min-width: 0;
}
/*反転状態のボタン*/
.c-capsule-button--reverse{
	background-color:var(--color-white);
	color:var(--color-primary);
}
.c-capsule-button--reverse:hover {
	background-color: var(--color-theme-bg2);
	color: var(--color-font2);
}
.c-capsule-button--reverse:hover::after {
	color: var(--color-font2);
}


/*!
component > pickupナビ系
レイアウト情報.l-pick-up-list--***
.l-pick-up-list--fullmenu .c-pick-up-item
.l-pick-up-list--home .c-pick-up-item
.l-pick-up-list--subnav .c-pick-up-item
------------------------------
*/
/*フルメニュー｜ピックアップナビ*/
.l-pick-up-list--fullmenu {
	width:100%;
	margin: 40px auto 40px;/*margin-bottomは調整すること*/
	padding: 0;
}
@media screen and (max-width: 840px) {
	.l-pick-up-list--fullmenu {
		gap:24px;
		flex-wrap:wrap;
	}
}
@media screen and (max-width: 700px) {
	.l-pick-up-list--fullmenu {
		gap:18px;
	}
}
/*トップページ｜ピックアップナビ*/
.l-pick-up-list--home {
	width:100%;
	max-width:952px;
	margin: 0 auto;
	padding: 0;
}




.c-pick-up-list {
	display: flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap: nowrap;
	gap: 16px;
}

/*フルメニュー差分*/
.l-pick-up-list--fullmenu .c-pick-up-item {
	flex: 0 1 280px;
	max-width: 280px;
	height: 150px;
	background-color: #f5f5f5;
}
.l-pick-up-list--fullmenu .c-pick-up-item--first-examination .c-pick-up-item-icon,
.l-pick-up-list--fullmenu .c-pick-up-item--re-examination .c-pick-up-item-icon,
.l-pick-up-list--fullmenu .c-pick-up-item--hospitalization .c-pick-up-item-icon,
.l-pick-up-list--fullmenu .c-pick-up-item--emergency .c-pick-up-item-icon{
	background-color: var(--color-primary);
}
.l-pick-up-list--fullmenu .c-pick-up-item-label p {
	color:var(--color-primary);
	font-weight: 500;
}
/*トップページ差分*/
.l-pick-up-list--home .c-pick-up-item {
	flex: 0 1 225px;
	max-width: 225px;
	height: 145px;
	background-color: var(--color-white);
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.3);
}
.l-pick-up-list--home .c-pick-up-item--first-examination .c-pick-up-item-icon{
	background-color: #E8B9D3;
}
.l-pick-up-list--home .c-pick-up-item--re-examination .c-pick-up-item-icon{
	background-color: #B3D9CE;
}
.l-pick-up-list--home .c-pick-up-item--hospitalization .c-pick-up-item-icon{
	background-color: #BFC3E8;
}
.l-pick-up-list--home .c-pick-up-item--emergency .c-pick-up-item-icon{
	background-color: #F5C8A5;
}
.l-pick-up-list--home .c-pick-up-item-label p {
	color:#333333;
	font-weight: 400;
}
/*トップページ｜フルメニュー差分*/
@media screen and (max-width: 840px) {
	.l-pick-up-list--fullmenu .c-pick-up-item,
	.l-pick-up-list--home .c-pick-up-item {
		flex: 0 1 calc(100% / 2 - 10px);
		width:calc(100% / 2 - 10px);
		max-width: 300px;
		height: 100px;
	}
}
@media screen and (max-width: 700px) {
	.l-pick-up-list--fullmenu .c-pick-up-item,
	.l-pick-up-list--home .c-pick-up-item {
		height: 70px;
	}
}



.c-pick-up-item {
	margin: 0;
	border-radius: 8px;
	overflow: hidden;
	transition: background-color 0.3s ease, color 0.3s ease;
}
.c-pick-up-item-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	text-decoration: none;
	color: #333;

}
.c-pick-up-item-icon {/* 円形アイコン領域 */
	width: 68px;
	height: 68px;
	border-radius: 50%;
	/*background-color: var(--color-primary);*/
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}
.c-pick-up-item-icon svg {
	width: 48px;
	height: 48px;
	fill: white;
}
.c-pick-up-item-label {
	margin: 0;
}
.c-pick-up-item-label p{
	font-size: 1.25rem;
}
/* ホバー時の変化 */
.c-pick-up-item:hover {
	background-color:var(--color-theme-bg2);
	color:var(--color-font2);
}
.c-pick-up-item:hover .c-pick-up-item-icon {
	background-color:var(--color-font2);
}
.c-pick-up-item:hover .c-pick-up-item-label p {
	color:var(--color-font2);
}

@media screen and (max-width: 1000px) {
	.c-pick-up-item-link {
		margin:0;padding:0;
	}
	.c-pick-up-item-label{
		display: flex;
		flex-direction:column;
		justify-content: center;
		align-items: center;
		text-align:center;
	}
	.c-pick-up-item-label p{
		font-size:1.125rem;
		line-height:1.5;
	}
	/*画面を狭めたときのバリエーションが必要*/
	.c-pick-up-item-label p span.br{
		display:block;
		line-height:1;
	}
}

/*アイコン文字数の都合によるメディアクエリ1100*/
@media screen and (max-width: 840px) {
	.c-pick-up-list {
		justify-content:center;
		flex-wrap:wrap;
		gap: 16px;
	}
	.c-pick-up-item {
		margin:0;
		text-align:left;
	}
	.c-pick-up-item-link {
		flex-direction:row;
		justify-content: flex-start;
		gap: 12px;
		padding: 0 24px;
	}
	.c-pick-up-item-icon {
		width: 60px;
		height: 60px;
		margin-bottom: 0;
	}
	.c-pick-up-item-icon svg {
			width: 40px;
			height: 40px;
			fill: white;
		}
	.c-pick-up-item-label {
		flex-direction:row;
	}
	.c-pick-up-item-label p{
		font-size:1.125rem;
		line-height:1;
	}
	.c-pick-up-item-label p span.br{
		display:inline;
	}
}

@media screen and (max-width: 700px) {
	.l-pick-up-list--fullmenu .c-pick-up-item ,
	.l-pick-up-list--home .c-pick-up-item {
		height: 64px;
		flex: 1 1 100%; 
		min-width:100%;
	}
	.l-pick-up-list--fullmenu .c-pick-up-item-link ,
	.l-pick-up-list--home .c-pick-up-item-link {
		padding: 0 24px;
		gap:10px;
	}
	.l-pick-up-list--fullmenu .c-pick-up-item-icon  ,
	.l-pick-up-list--home .c-pick-up-item-icon {
		width: 48px;
		height: 48px;
	}
	.l-pick-up-list--fullmenu .c-pick-up-item-icon svg  ,
	.l-pick-up-list--home .c-pick-up-item-icon svg {
		width: 35px;
		height: 35px;
	}
	.l-pick-up-list--fullmenu .c-pick-up-item-label p ,
	.l-pick-up-list--home .c-pick-up-item-label p {
		font-size: 1.125rem;
	}
}

/*ご利用案内｜サブナビゲーション*/
.l-pick-up-list--subnav {
	width:100%;
	max-width:1220px;
	margin: 10px auto 10px;
	padding: 0;
}
.l-pick-up-list--subnav .c-pick-up-item {
	flex: 0 1 auto;
	width:100%;
	max-width: 295px;
	height: 70px;
	background-color: var(--color-primary);
	border: 1px solid var(--color-primary);
}
.l-pick-up-list--subnav .c-pick-up-item-link {
	flex-direction: row;
	gap:10px;
	justify-content:flex-start;
	align-items:center;
	padding: 0  0 0 18px ;
}
.l-pick-up-list--subnav .c-pick-up-item-icon {
	width: 50px;
	height: 50px;
	margin-bottom:0;
	background-color: var(--color-white);
}
.l-pick-up-list--subnav .c-pick-up-item-icon svg{
	width: 40px;
	height: 40px;
	fill: var(--color-primary);
}
.l-pick-up-list--subnav .c-pick-up-item-icon svg path{
	fill: var(--color-primary);
}
.l-pick-up-list--subnav .c-pick-up-item-label p {
	font-size: 1rem;
	text-align:left;
	line-height:1.3;
	color: var(--color-white);
}
/* subnavホバー */
.l-pick-up-list--subnav .c-pick-up-item:hover,
.l-pick-up-list--subnav .c-pick-up-item.is-active {
	background-color:var(--color-white);
	border:1px solid var(--color-primary);
	color:var(--color-primary);
}
.l-pick-up-list--subnav .c-pick-up-item:hover .c-pick-up-item-icon,
.l-pick-up-list--subnav .c-pick-up-item.is-active .c-pick-up-item-icon {
	background-color:var(--color-primary);
}
.l-pick-up-list--subnav .c-pick-up-item:hover .c-pick-up-item-label p,
.l-pick-up-list--subnav .c-pick-up-item.is-active .c-pick-up-item-label p {
	color:var(--color-primary);
}
.l-pick-up-list--subnav .c-pick-up-item:hover .c-pick-up-item-icon svg path,
.l-pick-up-list--subnav .c-pick-up-item.is-active .c-pick-up-item-icon svg path{
	fill: var(--color-white);
}

@media screen and (max-width: 1100px) {
	.l-pick-up-list--subnav .c-pick-up-item-label .br {
		display:block;
	}
}
@media screen and (max-width: 950px) {
	.l-pick-up-list--subnav .c-pick-up-list {
		gap:11px;
	}
	.l-pick-up-list--subnav .c-pick-up-item {
		flex: 1 1 calc(100% /4 - 30px);
		width:calc(100% /4 - 30px);
		min-width: 112px;
		height: 80px;
	}
	.l-pick-up-list--subnav .c-pick-up-item-link {
		flex-direction:column;
		justify-content:center;
		/*align-items:center;*/
		text-align:center;
		padding-left: 0 ;
		gap:6px;
	}
	.l-pick-up-list--subnav .c-pick-up-item-icon {
		width: 48px;
		height: 48px;
	}
	.l-pick-up-list--subnav .c-pick-up-item--re-examination .c-pick-up-item-icon svg{
		width: 35px;
		height: 35px;
	}
	.l-pick-up-list--subnav .c-pick-up-item-label p {
		font-size: 0.75rem;
		line-height:1;
		text-align:center;
	}
	.l-pick-up-list--subnav .c-pick-up-item-label .br {
		display:inline;
	}
}
@media screen and (max-width: 640px) {
	.l-pick-up-list--subnav .c-pick-up-item-label .nd {
		display:none;
	}
}
@media screen and (max-width: 570px) {
	.l-pick-up-list--subnav .c-pick-up-item {
		flex: 1 1 calc(100% / 2 - 10px);
		width:calc(100% / 2 - 10px);
		max-width: 300px;
	}
}


/*リストのマージン・パディングはユーティリィかラッパーで制御*/
/*順序なしリスト*/
.c-list-disc {
	list-style: none;
	font-weight:400;
	color:var(--color-font);
}
.c-list-disc > li {
	position: relative;
	padding-left: 1.4em;
	margin-bottom: 0.6em;
}
.c-list-disc > li::before {
	position: absolute;
	top: 0.6em;
	left: 0.3em;
	display: block;
	width: 0.5em;
	height: 0.5em;
	content: "";
	border-radius: 100%;
	background-color: #00BCD4;
}
.is-nurse .c-list-disc > li::before,
.c-list-disc--pink > li::before {
	background-color: #FFA3C2 !important;
}
/*list下のアキをh広く*/
.u-list-li-large > li{
	margin-bottom: 1.5em;
}
/*list下のアキをやや狭く*/
.u-list-li-snug > li{
	margin-bottom: 0.5em;
}
/*list下のアキを狭く*/
.u-list-li-tight > li{
	margin-bottom: 0.2em;
}
/*番号付きリスト*/
.c-list-decimal {
	margin-left: 1.4em;
	list-style-type: decimal !important;
}
.c-list-decimal > li {
	/*padding-left: 0.5em;*/
	margin-bottom: 0.6em;
}

/*個人情報の差分リストスタイル*/
.c-list-decimal--privacy{
	margin-bottom:20px;
}
.c-list-decimal--privacy > li,
.c-list-decimal--privacy > li::marker{
	color:var(--color-primary2);
	font-weight:600;
	margin-bottom: 0.2em;
}
.c-list-decimal--privacy > li ul{
	margin-top:5px;
	margin-bottom:20px;
}
.c-list-decimal--privacy > li ul li,
.privacy .c-list-disc li {
	margin-bottom: 0.3em;
}
.c-list-decimal--privacy > li ul li::before {
	background-color:var(--color-primary2);
}

/*番号付きフローリスト*/
.c-list-decimal__flow li{
	margin-bottom:28px;
}
/*番号付きフローリスト+受付の流れ*/
.c-list-decimal__flow li::marker {
	font-size:1.125rem;
	color:var(--color-primary2);
	font-weight:500;
}
/*番号付きフローリスト+受付の流れ見出し*/
.flow-title{
	font-size:1.125rem;
	color:var(--color-primary2);
	font-weight:500;
	margin-bottom:4px;
}
/*〇付番号リスト（①～⑤まで）*/
.c-list-circled {
	list-style-type: none;
	padding-left: 0; 
}
.c-list-circled > li {
	position: relative;
	padding-left: 1.5em;
	margin-bottom: 0.6em;
}
/* 擬似要素で丸付き数字の共通設定（１から10まで） */
.c-list-circled li::before {
	position: absolute;
	left: 0;
	font-weight: bold;
}
.c-list-circled > li:nth-child(1)::before {
	content: "\2460";
}
.c-list-circled > li:nth-child(2)::before {
	content: "\2461";
}
.c-list-circled > li:nth-child(3)::before {
	content: "\2462";
}
.c-list-circled > li:nth-child(4)::before {
	content: "\2463";
}
.c-list-circled > li:nth-child(5)::before {
	content: "\2464";
}
.c-list-circled > li:nth-child(6)::before {
	content: "\2465";
}
.c-list-circled > li:nth-child(7)::before {
	content: "\2466";
}
.c-list-circled > li:nth-child(8)::before {
	content: "\2467";
}
.c-list-circled > li:nth-child(9)::before {
	content: "\2468";
}
.c-list-circled > li:nth-child(10)::before {
	content: "\2469";
}

/*（１）～（９）までの丸括弧つき付番号リスト*/
.c-list-zenkaku {
	/* カウンター機能は使用しないが、リスト構造を維持するため初期設定は残す */
	padding-left: 2.75rem; 
	margin-bottom: 4px;
}
.c-list-zenkaku > li {
	position: relative;
	margin-bottom: 4px;
}
.c-list-zenkaku > li::before {
	position: absolute;
	left: -2.75rem; 
	text-align: right;
	width: 2.75rem; /* 幅を確保 */
	content: ""; 
}
/* --- 全角数字指定 --- */
.c-list-zenkaku > li:nth-child(1)::before {
    content: "（１）";
}
.c-list-zenkaku > li:nth-child(2)::before {
    content: "（２）";
}
.c-list-zenkaku > li:nth-child(3)::before {
    content: "（３）";
}
.c-list-zenkaku > li:nth-child(4)::before {
    content: "（４）";
}
.c-list-zenkaku > li:nth-child(5)::before {
    content: "（５）";
}
.c-list-zenkaku > li:nth-child(6)::before {
    content: "（６）";
}
.c-list-zenkaku > li:nth-child(7)::before {
    content: "（７）";
}
.c-list-zenkaku > li:nth-child(8)::before {
    content: "（８）";
}
.c-list-zenkaku > li:nth-child(9)::before {
    content: "（９）";
}

/*１）～９）までの閉じ丸括弧のみの番号リスト*/
.c-list-zenkaku2-list {
	/*counter-reset: zenkaku2-counter;*/
	padding-left: 0;
}
/* 2. リスト項目 (li) の設定 */
.c-list-zenkaku2-list > li {
	counter-increment: zenkaku2-counter;
	padding-left: 1.5em;
	line-height:1.5;
	position: relative;
	margin-bottom: 0.4rem; /* 項目間の間隔 */
}
.c-list-zenkaku2-list > li::before {
	content: counter(zenkaku2-counter, fullwidth-decimal) "）";
	position: absolute;
	left: 0;
	top: 0;
	width: 1.5em;
	text-align: left;
}

/* ==============================================
   C: ビュレットなしのインラインリスト
   ============================================== */
/* リストコンテナ (ul) の設定 */
.c-list-inline {
	padding: 0;
	margin: 0;
	display: flex;
	gap: 0 1rem; 
	flex-wrap: wrap; 
}
/* リスト項目 (li) の設定 */
.c-list-inlin > li {
	flex-shrink: 0;
}


/*矢印付きリスト*/
.c-list-arrow {
	margin-left: 0;
	list-style-type: none;
}
.c-list-arrow > li {
	position: relative;
	padding-left: 1.4em;
	margin-bottom: 0.6em;
}
.c-list-arrow > li::before {
	position: absolute;
	top: 0.7em;
	left: 0.3em;
	display: inline-block;
	width: 0.3em;
	height: 0.3em;
	content: "";
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	vertical-align: middle;
	border-style: solid;
	border-color: #212121;
	border-top-width: 0.1em;
	border-right-width: 0.1em;
	border-bottom-width: 0;
	border-left-width: 0;
}
/*カスタムリスト（先頭に一,）*/
.c-list-text {
	margin-left: 0;
	list-style-type: none;
}
.c-list-text > li {
	position: relative;
	padding-left: 2em;
	margin-bottom: 0.6em;
}
.c-list-text li::before {
	content: "一、";
	font-size:1rem;
	position: absolute;
	left: 0;
	top: 0;
}
.c-list-asterisk {
	margin-left: 0;
	list-style-type: none;
}
.c-list-asterisk > li {
	position: relative;
	padding-left: 1.25em;
	margin-bottom: 0.6em;
}
.c-list-asterisk li::before {
	content: "※";
	font-size:1rem;
	position: absolute;
	left: 0;
	top: 0;
}
.c-list-custom-counter {
	counter-reset: item;
	list-style: none;
	padding-left: 0;
}
.c-list-custom-counter li {
	counter-increment: item;
	margin-bottom: 0.5em;
	padding-left: 2em;       /* 全体を右にずらす */
	text-indent: -2.5em;     /* 1行目だけ左に戻す */
}
.c-list-custom-counter li::before {
	content: "（" counter(item) "）";
	margin-right: 0.5em;
	float: left;
	width: 2em;
}
/* --------------------------------------------------
	* C-COMPONENT: 正方形アウトラインビュレットリスト
	* -------------------------------------------------- */
.c-list-square-bullet {
	list-style: none;
	padding-left: 0;
	margin: 0 0 16px;
	font-size: 1rem;
	line-height: 1.4;
}
.c-list-square-bullet li {
	display: flex;
	align-items: flex-start;
	margin-bottom: 6px;
	padding-left: 19px;
	position: relative;
}
.c-list-square-bullet li::before {
	content: "\f0c8";
	font-family: "Font Awesome 6 Free";
	font-weight: 400; /* Regular指定 */
	color: var(--color-primary);
	font-size: 16px; 
	position: absolute;
	left: 0;
	top: 1px;
	flex-shrink: 0;
}

/* 横並びビュレットリスト（.c-list-discとの併用前提） */
.c-list--inline {
	display: flex;
	flex-wrap: wrap;
	gap: 0 20px;
}
.c-list--inline li {
	margin-bottom: 0;
}

/* --------------------------------------------------
	* C-COMPONENT: 横並びビュレットリスト (.c-list-inline-bullet)
	* -------------------------------------------------- */
.c-list-inline-bullet {
	list-style: none; 
	padding-left: 0;
	margin: 16px 0;
	font-size: 16px;
	line-height: 1.6;
	display: flex;
	flex-wrap: wrap;
}
.c-list-inline-bullet li {
	padding-left: 0; 
	display: flex; 
	align-items: flex-start; 
	position: relative; 
	margin-right: 1rem; 
	margin-bottom: 8px; 
}
.c-list-inline-bullet li::before {
	content: "\f0c8"; 
	font-family: "Font Awesome 5 Free";
	font-weight: 400; 
	color: var(--color-primary);
	font-size: 16px; 
	position: relative; 
	top: 0.05em; 
	margin-right: 8px;
	flex-shrink: 0;
}
/* --------------------------------------------------
	* UTILITY: 2列のグリッドを作る
	* -------------------------------------------------- */
.u-grid-2col {
	display: grid; 
	/* 2列指定: max-contentで、各列の幅がその列内で
	   最も長いコンテンツ（li要素の内容）の幅になる */
	grid-template-columns: max-content max-content; 
	column-gap: 40px; 
	row-gap: 0;
	padding-left: 0;
}
.u-1fr1fr{
	grid-template-columns: 1fr 1fr !important;
}
@media (max-width: 1000px) {
	.u-grid-2col.u-limit1000 {
		display: block; 
		/* 念のためリセット */
		grid-template-columns: none;
		column-gap: 0;
		row-gap: 0;
	}
}
@media (max-width: 800px) {
	.u-grid-2col {
		display: block; 
		/* 念のためリセット */
		grid-template-columns: none;
		column-gap: 0;
		row-gap: 0;
	}
}
/* --------------------------------------------------
	* UTILITY: インラインビュレット (既存のSPAN用)
	* -------------------------------------------------- */
.u-inline-square-bullet::before {
	content: "\f0c8"; 
	font-family: "Font Awesome 6 Free";
	font-weight: 400; 
	color: var(--color-primary);
	font-size: 14px; 
	margin-right: 6px; 
	display: inline-block;
	position: relative;
	top: 0.05em; 
}
/*キャッチフレーズ*/
.c-catchphrase{
	font-family: "Noto Serif JP", serif;
	font-weight:800;
	font-size:1.75rem;
	line-height:1.4;
	color:#8C2F2F;
	margin-bottom: 30px;
}
@media (max-width: 800px) {
	.c-catchphrase{
		margin-bottom: 20px;
	}
}
.c-catchphrase.c-catchphrase--v2{
	text-align:center;
	margin:40px auto 40px;
}
@media (max-width:540px) {
	.c-catchphrase.c-catchphrase--v2{
		margin:20px auto;
		font-size:5.25vw;
	}
}


/*テキストインデント*/
.c-text-indent {
	text-indent:-1rem;
	padding:0 2rem 0 2rem;
	line-height:1.4;
	margin-bottom:4px;
}

.u-text-indent{
	text-indent:1rem;
	padding-left:-1rem
}
/*突き出しインデント（※）*/
.u-text-minus1rem-indent{
	display:block;
	text-indent:-1rem;
	padding-left:1rem;
}
.u-text-minus-indent{
	text-indent:-1.25rem;
	padding-left:1rem;
}
.u-text-bold,
.u-text-bold500{
	font-weight:500 !important;
}
.u-text-bold600{
	font-weight:600 !important;
}
.u-text-bold700{
	font-weight:700 !important;
}
.u-text-bold800{
	font-weight:800 !important;
}
.u-text-bold900{
	font-weight:900 !important;
}
.u-left,
.u-align-left,
.u-text-left{
	text-align:left !important;
}
.u-right,
.u-align-right,
.u-text-right{
	text-align:right !important;
}
.u-center,
.u-align-center,
.u-text-center{
	text-align:center !important;
}
.u-text-normal {
	font-weight: normal !important;
}
.u-text-strong {
	font-weight: 700 !important;
}
.u-font-bold{
	font-weight:bold !important;
}
.u-text-highlight {
	display: inline;
	padding-right: 0.3em;
	padding-bottom: 0.1em;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #FFFFA6), to(#FFFFA6));
	background: linear-gradient(transparent 50%, #FFFFA6 50%, #FFFFA6 100%);
}

/*テキスト マルチ利用前提*/
.c-text, .c-text-large, .c-text-small{
	margin-bottom: 15px;
	font-weight:normal;
	color:var(--color-font);
}

.c-text-large {
	font-size: 1.25rem;
}
.c-text-small {
	font-size: 0.9375rem;
}
.c-text-recruit{
	font-size: 1.15625rem;/*18.5px;*/
	margin-bottom: 3px;
	font-weight:normal;
	color:var(--color-font);
	text-align:center;
}
.c-text-recruit--small{
	font-size: 1rem;
}
/* お知らせ */
.c-text-info{
	font-weight:600 !important;
	margin:0 0 10px;
	font-size:1.125rem;
}
/*小見出し*/
.c-text-komidash{
	font-weight:600;
	margin:30px 0 10px;
	font-size:1.125rem;
}
.privacy .c-text-komidash{
	color:var(--color-primary2);
}
/*テキスト下のマージン調整*/
.u-bottom-loose{
	margin-bottom:20px;
}
.u-bottom-normal{
	margin-bottom: 15px;
}
.u-bottom-snug{
	line-height:1.5;
	margin-bottom:5px;
}
.u-bottom-tight{
	line-height:1.4 !important;
	margin-bottom:2px !important;
}

@media only screen and (max-width: 767px) {
	.c-text,
	.c-text-small,
	.c-text-large {
		margin-bottom: 10px;
	}
}
@media only screen and (max-width: 539px) {
	.u-sp-center{
		text-align:center;
	}
}
.u-pc-center{
	text-align:center;
}
@media only screen and (max-width: 700px) {
	.u-pc-center{
		text-align:left;
	}
}
/*段落または文章中の枠囲み*/
.u-frame{
	border:1px solid gray;
	padding:1rem;
	border-radius:8px;
}
@media only screen and (max-width: 767px) {
	.u-frame{
		padding:0.75rem 0.5rem 0.5rem;
	}
}
/*コメント用スペーサー*/
.u-frame--space{
	padding:25px 2rem 30px;
	margin-bottom:40px;
}
.u-frame--space-small{
	padding:20px 2rem 15px;
	margin-bottom:40px;
}
/*コメント用のフレーム*/
.u-frame.u-frame-comment{
	padding:30px 2rem 20px;
	margin-bottom:40px;
}
@media only screen and (max-width: 540px) {
	.u-frame--space-small{
		padding:20px 1rem 15px;
	}
	.u-frame--space{
		padding:25px 1rem 30px;
	}
	.u-frame.u-frame-comment{
		padding:30px 1rem 20px;
	}
}
.u-comment{
	padding:0;
	margin-bottom:40px;
}

/*figureに指定*/
.u-float-right {
	float: right;
	width: 120px;
	margin: 0 0 1em 1em;
}
.u-float-right img {
	max-width: 100%;
	height: auto;
	display: block;
}
.u-float-right200 {
	float: right;
	width: 200px;
	padding-left: 1rem;
}
.u-float-right240 {
	float: right;
	width: 240px;
	padding-left: 1rem;
}
.u-float-right360 {
	float: right;
	width: 360px;
	padding-left: 1rem;
}
.u-float-left200 {
	float: left;
	width: 200px;
	padding-right: 1rem;
}
.u-float-left240 {
	float: left;
	width: 240px;
	padding-right: 1rem;
}
.u-float-left360 {
	float: left;
	width: 360px;
	padding-right: 1rem;
}
.u-img-border{
	border:2px solid #336600;
	padding:15px;
}
@media (max-width: 840px) {
	.u-float-right360 {
		float:none;
		padding-left:0;
		padding-bottom:20px;
		width:100%;
		display:block;
	}
	.u-float-right360 img {
		width:100%;
		height:auto;
	}
}
@media (max-width: 600px) {
	.u-float-right200,
	.u-float-right240 {
		float: right;
		width: 39vw;
		padding-left: 1rem;
	}
}

/*SPANに指定する前提。文字列（文中）の枠囲み*/
.u-inline-frame{
	display:inline-block;
	padding:1px;
	margin:0 10px;
	border:1px solid gray;
	border-radius:4px;
}
/*文字列（行頭）の枠囲み*/
.u-inline-frame--start{
	display:inline-block;
	padding: 1px;
	margin:0 10px 0 0;
	border:1px solid gray;
	border-radius:4px;
}
/*枠に色を指定する*/
.u-border-red{
	border-color:red;
}
.u-border-blue{
	border-color:blue;
}
/*adressブロック*/
.c-address{
	margin:20px 0;
	padding:20px;
	border:1px solid gray;
	background-color:var(--color-theme-bg1);
	border-radius:8px;
}
.c-address.is-nurse{
	background-color:var(--color-theme-bg3);
}

/*sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}*/

/*テーブル*/
.c-table {
	width: 100%;
	margin: 0;
	border-spacing: 0;
	border-top: 1px solid var(--color-primary);
	border-right: 1px solid var(--color-primary);
}
.is-nurse .c-table{
	border-top: 1px solid var(--color-pink2);
	border-right: 1px solid var(--color-pink2);
}
.c-table caption {
	margin-bottom: 10px;
	color: rgba(0, 0, 0, 0.6);
}
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}
.c-table tr, .c-table td, .c-table th {
	text-align: left;
	/*vertical-align: middle;*/
	vertical-align: top;
	word-break: break-all;
	position: relative;
}
.c-table th {
	/*width: 20%;*/
	padding: 11px 16px;
	vertical-align: middle;
	border-bottom: 1px solid var(--color-primary);
	border-left: 1px solid var(--color-primary);
	background-color: var(--color-theme-bg);
	/*color:var(--color-primary2);*/
}
.c-table td {
	padding: 11px 16px;
	border-bottom: 1px solid var(--color-primary);
	border-left: 1px solid var(--color-primary);
	background-color: var(--color-white);
}

.is-nurse .c-table th{
	border-bottom: 1px solid var(--color-pink2);
	border-left: 1px solid var(--color-pink2);
	background-color: var(--color-pink3);
}
.is-nurse .c-table td {
	border-bottom: 1px solid var(--color-pink2);
	border-left: 1px solid var(--color-pink2);
}
.c-table-td-middle td,
.c-table td.is_middle {
	vertical-align: middle !important;
}
/*表の上下の線を非表示にする*/
.c-table.u-tb-border-none {
	border-top: none !important;
}
.c-table.u-tb-border-none th,
.c-table.u-tb-border-none td {
	border-bottom:1px dotted var(--color-primary)
}
.c-table.u-tb-border-none tr:last-child th,
.c-table.u-tb-border-none tr:last-child td {
	border-bottom:none !important;
}
/*ボーダーなしテーブル*/
.u-table-borderless {
	border-right: 0;
}
.u-table-borderless th {
	color: #333333;
	border-left: 0;
	background: transparent;
}
.u-table-borderless td {
	border-left: 0;
}
.u-table-all-borderless,
.u-table-all-borderless th,
.u-table-all-borderless td {
	border-left: 0;
	border-right: 0;
	border-top: 0;
	border-bottom: 0;
	padding-left:0;
}
/*折り返し禁止*/
.u-white-space-nowrap,
.u-nowrap {
	white-space:nowrap !important;
}
/*外周の左右の線無*/
.is-nurse .u-side-borderless,
.u-side-borderless{
	border-right: 0;
}
.is-nurse .u-side-borderless th,
.u-side-borderless th{
	border-left: 0;
}

/*SP時ブロック*/
@media only screen and (max-width: 540px) {
	.u-table-sp-block th {
		/*border-bottom: 0;*/
	}
	.u-table-sp-block th,
	.u-table-sp-block td {
		display: block;
		width: auto;
	}
	.is-nurse .u-side-borderless td,
	.u-side-borderless td {
		border-left: 0;
	}
}
/*PCスクロール（外来診療表）*/
@media only screen and (max-width: 1280px) {
	.u-scroll-table {
		overflow-x: auto;
		width: 100%;
		padding-top: 2.5em;
		-webkit-overflow-scrolling: touch;
	}
	.u-scroll-table::before {
		font-size: 0.8em;
		position: absolute;
		right: 0;
		left: 0;
		display: block;
		margin-top: -2.5rem;
		padding: 0.5rem 0;
		content: " ←　この表は左右にスライドできます　→";
		text-align: center;
		white-space: nowrap;
	}
}
/*SP時スクロール*/
@media only screen and (max-width: 839px) {
	.u-responsive-table {
		overflow-x: auto;
		width: 100%;
		padding-top: 2.5em;
		-webkit-overflow-scrolling: touch;
	}

	.u-responsive-table::before {
		font-size: 0.8em;
		position: absolute;
		right: 0;
		left: 0;
		display: block;
		margin-top: -2.5rem;
		padding: 0.5rem 0;
		content: " ←　この表は左右にスライドできます　→";
		text-align: center;
		white-space: nowrap;
	}

	.u-responsive-table::-webkit-scrollbar {
		height: 3px;
	}

	.u-responsive-table::-webkit-scrollbar-track {
		background: #D4D4D4;
	}

	.u-responsive-table::-webkit-scrollbar-thumb {
		background: #333333;
	}

	.u-responsive-table table {
		width: 750px;
		min-width: 100%;
	}

	/*.u-responsive-table th,
	.u-responsive-table td {
		white-space: nowrap;
	}*/

	/*　スクロールした要素の中で幅を持たせたい場合　*/
	.u-responsive-item-width-30vw {
		width: 30vw;
		white-space: normal;
	}

	.u-responsive-item-width-50vw {
		width: 50vw;
		white-space: normal;
	}

}
.u-layout-fixed {
	table-layout: fixed;
}
/*THのみセンター*/
.u-thead-center th {
	text-align: center !important;
}
/*TH,TDともに一括センター*/
.u-cell-center th,
.u-cell-center td{
	text-align: center;
}
.u-thead-bold th {
	font-weight: 500 !important;
}
/*TDのみ一括上下中央にポジショニング*/
.u-data-middle td {
	vertical-align: middle !important;
}

/*TH,TDを個別に中央揃えの指定*/
.c-table th.u-cell-center,
.c-table td.u-cell-center {
	text-align: center;
}
.c-table th.u-cell-pl3rem,
.c-table td.u-cell-pl3rem{
	padding-left:3rem !important;
}
.u-cell-pd10-4 th,
.u-cell-pd10-4 td{
	padding:10px 4px;
}
.c-table th.u-cell-1em,
.c-table td.u-cell-1em {
	width: 1em;
}
.c-table th.u-cell-5p,
.c-table td.u-cell-5p {
	max-width: 5%;
	min-width:40px;/*??*/
}
.c-table th.u-cell-8,
.c-table td.u-cell-8p {
	width: 8% !important;
}
.c-table th.u-cell-10p,
.c-table td.u-cell-10p {
	width: 10% !important;
}
.c-table th.u-cell-13p,
.c-table td.u-cell-13p {
	width: 13%;
}
.c-table th.u-cell-15p,
.c-table td.u-cell-15p {
	width: 15%;
}
.c-table th.u-cell-18p,
.c-table td.u-cell-18p {
	width: 18% !important;
}
.c-table th.u-cell-20p,
.c-table td.u-cell-20p {
	width: 20%;
}
.c-table th.u-cell-25p,
.c-table td.u-cell-25p {
	width: 25%;
}
.c-table th.u-cell-27p,
.c-table td.u-cell-27p {
	width: 27%;
}
.c-table th.u-cell-30p,
.c-table td.u-cell-30p {
	width: 30%;
}
.c-table th.u-cell-35p,
.c-table td.u-cell-35p {
	width: 35%;
}
.c-table th.u-cell-40p,
.c-table td.u-cell-40p {
	width: 40%;
}
.c-table th.u-cell-50p,
.c-table td.u-cell-50p {
	width: 50%;
}
/* ゼブラ指定 */
.c-table--striped tr:nth-child(even) td {
	background-color: var(--color-white) !important;
}
.c-table--striped tr:nth-child(odd) td {
	background-color: var(--color-theme-bg1) !important; 
}
.is-nurse .c-table--striped tr:nth-child(even) td {
	background-color: var(--color-white) !important;
}
.is-nurse .c-table--striped tr:nth-child(odd) td {
	background-color: var(--color-theme-bg3) !important; 
}
.u-w190{width:190px;}
.u-w186{width:186px !important;}
.u-w120{width:120px !important;}
.u-w70{width:70px !important;}
/*空欄セル(td,th)に斜め線（左上から右下へ）*/
.diagonal-cell {
	background: 
	linear-gradient(
		to top right, /* 角度: 左下から右上 */
		transparent calc(50% - 2px / 2), /* 線の前半は透明 */
		var(--color-primary) 50%, /* 線の中心に色を付ける */
		transparent calc(50% + 2px / 2)
	);
}
/*空欄セル(td,th)に斜め線（右上から左下へ）*/
.diagonal-cell2 {
	background: 
	linear-gradient(
		to top left, /* 角度: 左下から右上 */
		transparent calc(50% - 2px / 2), /* 線の前半は透明 */
		var(--color-primary) 50%,  /* 線の中心に色を付ける */
		transparent calc(50% + 2px / 2)
	);
}
/*外来医師担当表-グレーの斜め線（右上から左下へ）*/
.u-diagonal-cell {
	background: 
	linear-gradient(
		to top left,
		transparent calc(50% - 2px / 2),
		#ccc 50%,
		transparent calc(50% + 2px / 2)
	);
}
.u-vertical-container {
	display: block; 
	overflow: hidden;
}
/*セルに文字列を縦で入れる*/
.u-vertical-text {
	writing-mode: vertical-rl; 
	text-orientation: upright;
	word-break: break-all; 
	margin: 0; 
	padding: 0;
	position: absolute; 
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* SP block時の指定を解除 */
@media only screen and (max-width: 767px) {
	.c-table.u-table-sp-block th.u-cell-1em,
	.c-table.u-table-sp-block th.u-cell-10p,
	.c-table.u-table-sp-block th.u-cell-13p,
	.c-table.u-table-sp-block th.u-cell-15p,
	.c-table.u-table-sp-block th.u-cell-18p,
	.c-table.u-table-sp-block th.u-cell-20p,
	.c-table.u-table-sp-block th.u-cell-25p,
	.c-table.u-table-sp-block th.u-cell-30p,
	.c-table.u-table-sp-block th.u-cell-35p,
	.c-table.u-table-sp-block th.u-cell-50p,
	.c-table.u-table-sp-block td.u-cell-1em,
	.c-table.u-table-sp-block td.u-cell-10p,
	.c-table.u-table-sp-block td.u-cell-15p,
	.c-table.u-table-sp-block td.u-cell-20p,
	.c-table.u-table-sp-block td.u-cell-25p,
	.c-table.u-table-sp-block td.u-cell-30p,
	.c-table.u-table-sp-block td.u-cell-35p,
	.c-table.u-table-sp-block td.u-cell-50p {
		width: auto;
	}
}
/*病室についてテーブルセルカラー*/
.u-bg-blue1{
	background-color: #EEF7FC !important;
}
.u-bg-blue2{
	background-color: #BCE6F2 !important;
}
.u-bg-green1{
	background-color: #EFF7E8 !important;
}
.u-bg-green2{
	background-color: #C7E3B2 !important;
}
.u-bg-green3{
	background-color: #74D586 !important;
}
.u-bg-orange1{
	background-color: #FEF6E1 !important;
}
.u-bg-orange2{
	background-color: #FEDE95 !important;
}
.u-bg-orange3{
	background-color: #FF6600 !important;
}
.u-bg-purple1{
	background-color: #F4EDF5 !important;
}
.u-bg-purple2{
	background-color: #D2ACD1 !important;
}
.u-bg-purple3{
	background-color: #728AD6 !important;
}

/*項目名と説明文のための汎用グリッド*/
/*
<div class="xxxx">
	<div class="c-label-value">
		<p class="c-label-value__name">長い設定項目名</p>
		<p class="c-label-value__description">可変幅の説明文、残りのスペースをすべて使用</p>
	</div>
	<div class="c-label-value">
		<p class="c-label-value__name">短縮名</p>
		<p class="c-label-value__description">説明文。</p>
	</div>
</div>
*/
/* 項目名（__name）の幅を固定にするユーティリティ */
/* 例: 項目名が5文字程度まで対応できる幅 120px に固定 */
.u-label-width-fixed .c-label-value__name {
	width: 120px; 
	/* 固定幅につき無効化 */
	flex-grow: 0;
	flex-shrink: 0;
}
.c-label-value {
	display: flex; 
	width: 100%; 
	margin-bottom: 20px; 
	padding: 0;
}
/* 用語（見出し） */
.c-label-value__name {
	white-space: nowrap;
	flex-shrink: 0; 
	font-weight: bold;
	padding-right: 1rem; 
}
/* 説明文（値） */
.c-label-value__description {
	flex-grow: 1;
}
@media (max-width: 800px) {
	.c-label-value {
		display: block; 
	}
	.c-label-value__name {
		display: block;
		padding-right: 0;
		margin-bottom: 4px;
		width: auto;
		white-space: normal; 
	}
	.c-label-value__name br{
		display:none;
	}
	.c-label-value__description {
		display: block;
	}
	.u-label-width-fixed .c-label-value__name {
		width: auto;
	}
}



/*c-cardをラップする*/
.l-card--containar {
	display: grid;
	/* 最小幅を決めて自動で列数を調整（最大4列） */
	grid-template-columns: repeat(4, minmax(220px, 1fr));
	gap: 16px;
}
@media (max-width: 1120px) {
  .l-card--containar { grid-template-columns: repeat(3, minmax(220px, 1fr)); }
}
@media (max-width: 840px) {
  .l-card--containar { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
}
@media (max-width: 560px) {
	.l-card--containar { grid-template-columns: 1fr; }
}

/*スタイルガイド用*/
code,
kbd,
pre,
samp {
	font-family: "Helvetica Neue", Arial, -apple-system, BlinkMacSystemFont, sans-serif;
}
code {
	font-size: 90%;
	padding: 6px;
	color: #000;
	border: solid 1px #ddd;
	border-radius: 3px;
	background-color: #efefef;
}
kbd {
	font-size: 90%;
	padding: 2px 4px;
	color: #c7254e;
	border-radius: 3px;
	background-color: #f9f2f4;
	-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
			box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
	font-size: 100%;
	font-weight: bold;
	padding: 0;
	-webkit-box-shadow: none;
			box-shadow: none;
}
pre {
	font-size: 14px;
	display: block;
	margin: 0;
	padding: 10px;
	white-space: pre-wrap;
	word-wrap: break-word;
	word-break: break-all;
	color: #333;
	border: 1px solid #ccc;
	border-radius: 3px;
	background-color: #ffc;
}
pre code {
	font-size: inherit;
	padding: 0;
	white-space: pre-wrap;
	color: inherit;
	border-radius: 0;
	background-color: transparent;
}

/*スタイルガイド用*/
.styleguide-dl {
	overflow: auto;
	margin-top: 10px;
	margin-bottom: 20px;
	padding: 16px 10px;
	white-space: nowrap;
	border: solid 1px #ccc;
}
.styleguide-dl dt,
.styleguide-dl dd {
	display: inline;
}
.styleguide-dl dd + dt::before {
	display: block;
	content: "\a";
	white-space: pre;
}
.styleguide-dl dd + dd::before {
	font-weight: normal;
	content: ", ";
}


/* ------------------------------------------------------------------
	* C-COMPONENT: c-figure-item (独立した画像カードコンポーネント)
	* ------------------------------------------------------------------ */
.c-figure-item {
	margin: 0;
	text-align: left;
	transition: transform 0.3s ease;
}
/*.c-figure-item:hover {
	opacity: 0.7;
}*/
.c-figure-item a {
	display: block;
	line-height: 0;
}
.c-figure-item img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	border-radius: 8px;
}
.u-border-blue{
	border:1px solid #A4E4FC;
}
.c-figure-item__caption {
	padding: 6px 0 8px;
	color: #333;
	font-size: 0.875rem;
	text-align: left;
	line-height: 1.4;
}
.u-caption-midashi{

}
.u-portrait{
	justify-self: start;
}
.u-portrait img{
	width: auto;
	max-width: 100%;
	max-height: 323px;
	object-fit: contain;
}
/**/
.u-border--orange{
	border:1px solid #FF6600;
	border-radius: 8px;
}
.u-border--orange .c-figure-item__caption{
	display:block;
	padding:6px;
	margin:0 auto 20px;
	text-align:center;
	font-size:1.5rem;
	color:var(--color-white);
	background-color:#020201;;
	border-radius: 8px 8px 0 0;
}
.c-figure-item--text{
	padding:5px 5% 20px;
	font-size:1rem;
	line-height:1.5;
}
/*画像のオリジナルサイズで表示*/
.u-img-originall img,
img.u-img-originall{
	width: auto !important;
	height: auto !important;
	max-width: none !important;
}
@media (max-width: 500px) {
	img.u-img-originall{
		width: 100% !important;
	}
}
.u-img-center {
	display: block;
	margin-left: auto !important;
	margin-right: auto !important;
}
.u-img-left {
	float: left;
	margin-right: 1rem;
}
.u-img-right {
	float: right;
	margin-left: 1rem;
}
.u-img-center {
	margin-right: auto;
	margin-left: auto;
	margin-top:1rem;
	margin-bottom:1rem;
	text-align: center;
	clear: both;
}
.u-img-25p {
	width: 25%;
}
.u-img-33p {
	width: 33.33%;
}
.u-img-50p {
	width: 50%;
}
.u-img-75p {
	width: 75%;
}
.u-img-100p {
	width: 100%;
	clear: both;
	margin-bottom:20px;
}
.u-img-mw240{
	width:100%;
	max-width:240px;
	height:auto;
}
.u-img-mw800{
	width:100%;
	max-width:800px;
	height:auto;
}
@media (max-width: 839px) {
	.u-img-25p,
	.u-img-33p,
	.u-img-50p {
		width: 50%;
	}
	.u-img-75p {
		width: 100%;
		clear: both;
	}
}
@media (max-width: 539px) {
	.u-img-center {
		margin-top:0;
		margin-bottom:0;
	}
	.u-img-25p,
	.u-img-33p,
	.u-img-50p,
	.u-img-75p {
		width: 100%;
		clear: both;
	}
	.u-nadeshiko{
		width: 60%;
		clear: both;
	}
}






/* 親要素 */
.c-image-gallery--flex {
	display: flex;
	flex-wrap: wrap; /* 折り返し許可 */
	gap: 20px;       /* 隙間 */
}

/* 子要素（figure） */
.c-image-gallery--flex .c-figure-item {
	/* 幅はなりゆき（auto）だが、最大幅は「(100% - 隙間20px) ÷ 2」に制限 */
	max-width: calc(50% - 10px);
	margin: 0; /* 余計なマージンをリセット */
}

/* 画像 */
.c-image-gallery--flex .c-figure-item img {
	max-width: 100%; /* 枠からはみ出さない */
	height: auto;    /* 高さはなりゆき */
	display: block;  /* 下の隙間消し */
}

/* スマホ対応：高さが高すぎるとはみ出すので小さくする */
@media (max-width: 1200px) {
	.c-image-gallery--flex {
		flex-direction:column;
		align-items: center;
	}
	.c-image-gallery--flex .c-figure-item {
		max-width: 80%;
		width: 100%;
		height: auto;
		margin: 0 0 20px 0;
	}
}












/* ------------------------------------------------------------------
	* C-COMPONENT: c-image-gallery (大枠のレイアウトコンポーネント)
	* PCファーストのベーススタイル (横幅851px以上を想定) - デフォルト4列
	* ------------------------------------------------------------------ */
.c-image-gallery {
	/* Gridコンテナとして設定 */
	display: grid;
	/* 縦横のギャップを20pxに設定 (全てのサイズで共通) */
	gap: 20px;
	/* PCサイズ（デフォルト）: 4列表示 */
	grid-template-columns: repeat(4, 1fr);
	max-width: 1280px; /* PCサイズの基準幅を明示 */
	margin: 20px auto; /* 中央寄せとマージン */
}

/* PCサイズ用のオプションクラス (MODIFIER: --col-N) */

	/* PC幅で3列表示にするオプション */
	.c-image-gallery--col-3 {
		grid-template-columns: repeat(3, 1fr);
	}
	/* PC幅で2列表示にするオプション */
	.c-image-gallery--col-2 {
		grid-template-columns: repeat(2, 1fr);
	}


/*Gridアイテムを縦方向センター揃え*/
.u-align-item--center{
	align-items:center !important;
}


/* ------------------------------------------------------------------
* レスポンシブ調整
* ------------------------------------------------------------------ */


/* タブレットサイズ (横幅850px以下) */
@media (max-width: 850px) {
	.c-image-gallery {
		grid-template-columns: repeat(2, 1fr);
		padding: 15px;
	}
	/*フロアマップ2:シャトルバス運行表*/
	.c-image-gallery--col-2 {
		grid-template-columns: 1fr;
		gap:40px;
	}
}

/* SPサイズ (横幅540px以下) */
@media (max-width: 540px) {
	.c-image-gallery {
		grid-template-columns: 1fr;
		padding: 10px;
		gap: 15px;
	}
}

/* ------------------------------------------------------------------
 * C-COMPONENT: c-relational-link (関連リンクブロックコンポーネント)
 * ------------------------------------------------------------------ */
.c-relational-link {
	padding: 0;
	margin: 0;
	border: 1px solid var(--color-primary);
	border-radius: 8px;
	background-color: var(--color-white);
	overflow: hidden;
}
.c-relational-link.is-nurse {
	border: 1px solid var(--color-red3);
}
/* 関連リンクのタイトル*/
.c-relational-link__title {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--color-white);
	background-color: var(--color-primary);
	padding: 12px 16px;
	border-bottom: 1px solid #3a7abf;
	margin: 0;
}
.c-relational-link.is-nurse .c-relational-link__title {
	background-color: var(--color-red3);
}
.c-relational-link__item {
	margin: 0;
}
.c-relational-link__item a {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: #333;
	font-size: 1rem; /* 16px */
	padding: 12px 16px;
	border-bottom: 1px solid #f0f0f0;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.c-relational-link__item:last-child a {
	border-bottom: none;
}
.c-relational-link__item a:hover {
	background-color: #f7f7f7;
	color: #004488;
}
.c-relational-link__item a::after {
	content: " >";
	margin-left: auto;
	flex-shrink: 0;
	color: #aaaaaa;
}

.c-relational-link__item.is-active a,
.c-relational-link__item.is-active a::after,
.c-relational-link__item a:hover::after,
.c-relational-link__item a:hover {
	background-color: #f7f7f7;
	color: var(--color-primary2); 
}

.is-nurse .c-relational-link__item.is-active a,
.is-nurse .c-relational-link__item.is-active a::after,
.is-nurse .c-relational-link__item a:hover::after,
.is-nurse .c-relational-link__item a:hover {
	background-color: #f7f7f7;
	color: var(--color-red3);
}

@media (max-width: 840px) {
	.c-relational-link {
		margin-left:0;
		margin-right:0;
	}
}

/* ------------------------------------------------------------------
 * C-COMPONENT: c-modal(モーダルボックス)
 * ------------------------------------------------------------------ */
.c-modal {
	border: none;
	color: inherit;
	width: 90%;
	max-width: 500px;
	padding: 40px;
	border-radius:8px;
	background-color: var(--color-white);
}
.c-modal::backdrop {
	background: rgba(0, 0, 0, 0.4);
}
.c-modal--link{
	text-decoration:underline;
}
.c-modal--link:hover{
	text-decoration:none;
	color:var(--color-font2);
	background-color:yellow;
}
.c-modal--close {
	position: absolute;
	right: 6px;
	top: 6px;
	width: 34px;
	height: 34px;
	border-radius: 4px;
	background-color: var(--color-nord6);
	display: grid;
	place-items: center;
}
.c-modal--close img {
	width: 24px;
}



/* --------------------------------------------------
 * C-COMPONENT: c-button
 * -------------------------------------------------- */
.c-button {
	width:100%;
	max-width: 300px;
	padding: 13px 10px 13px 24px;
	border-radius: 100vh;
	background-color: var(--color-primary);
	display: flex; /* テキストとアイコンを横並びにする */
	justify-content: space-between;
	align-items: center;
	position: relative;
	color: var(--color-white);
	transition: background-color 0.3s ease;
}

/*リクルートのボタンは少し大きくなる*/
.c-button.c-button-recruit{
	max-width: 342px !important;
	padding: 18px 10px 18px 30px !important;
}
.u-w350 {
	width: 350px;
}
.u-w280 {
	width: 280px;
}
.u-w250 {
	width: 250px;
}
.u-w200 {
	width: 200px;
}
/*ラッパーに指定（ボタンを中央配置）*/
.u-m-v30-auto .c-button{
	margin:30px !important;
}
.u-m-v0-auto .c-button{
	margin:0 auto !important;
}
.c-button.u-center{
	margin:0 auto;
}
/* --------------------------------------------------
 * ELEMENT: c-button-inner (テキスト部分をラップするコンテナ)
 * -------------------------------------------------- */
.c-button__inner {
	display: flex; 
	flex-direction: column;
	gap: 4px;
	flex-grow: 1;
	min-width: 0; 
	margin-right: 34px;
}
.c-button::after {
	content: "\f0a9";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.5rem;
	color: var(--color-white);
}

/* --------------------------------------------------
 * ELEMENT: c-button-text (省略の対象となるテキスト)
 * -------------------------------------------------- */
.c-button__text,
.c-button__sub-text {
	font-weight: 500;
	text-align:left;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	 /* 2行目までを表示し、それ以降を省略(Multi-line Ellipsis) */
	-webkit-line-clamp: 2;
}
.u-text-align-center{
	text-align:center !important;
}
.c-button__text {
	font-size: 1.125rem;
	line-height: 1.2;
}

.c-button__sub-text {
	font-size: 0.875rem;
	line-height: 1;
}

.c-button__external::after {
	transform: translateY(-50%) rotate(-45deg); /* 外部リンクは-45度 */
}
.c-button:hover {
	text-decoration: none;
	background-color:var(--color-theme-bg2);
	color:var(--color-font2);
}
.c-button:hover::after {
	color: var(--color-font2);
}
/*反転状態のボタン*/
.c-button__reverse{
	background-color:var(--color-white);
	color:var(--color-primary);
}
.c-button__reverse:hover {
	background-color: var(--color-theme-bg2);
	color: var(--color-font2);
}
.c-button__reverse:hover::after {
	color: var(--color-font2);
}
.c-button__reverse::after {
	color: var(--color-primary);
}
/*自動幅のボタン*/
.c-button__auto{
	width: fit-content;
	max-width: 100%;
}
/*幅広のボタン*/
.c-button__large{
	width:100%;
	max-width: 520px;
}
/*中くらいの幅のボタン*/
.c-button__middle{
	width:100%;
	max-width: 400px;
}
@media (max-width: 450px) {
	.c-button__auto,
	.c-button__large,
	.c-button__middle{
		max-width: 300px;
	}
}
/*狭い幅のボタン*/
.c-button__small{
	width:100%;
	max-width: 240px;
	min-width: 0;
}

.is-nurse .c-button {
	background-color: #8C2F2F;
}
.is-nurse .c-button:hover {
	background-color:var(--color-pink3);
	color:#8C2F2F;
}
.is-nurse .c-button:hover::after {
	color:#8C2F2F;
}
/* ------------------------------------------------------------------
 * C-COMPONENT: c-link-panel (リンクパネル)
 * ------------------------------------------------------------------ */
.c-link-panel {
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr; 
	gap: 0 60px;
}
.c-link-panel__item {
	display: block; 
	text-decoration: none;
	color: inherit;
	/*height: 148px;*/
	min-width: 280px;
	/*padding: 16px;*/
	box-sizing: border-box; 
	position: relative; 
	margin-bottom: 0;
	transition: background-color 0.2s ease;
	/*border: 1px solid red;*/
}
.c-link-panel__link{
	display: block;
	padding: 16px 16px 36px;
	min-height:148px;
	/*border: 1px solid blue;*/
}
.c-link-panel__item:hover {
	background-color: #f7f7f7;
}
.c-link-panel__item::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 2px; 
	background: linear-gradient(to right, 
		var(--color-primary) 0, 
		var(--color-primary) 180px, 
		#cccccc 180px, 
		#cccccc 100%
	);
}
.c-link-panel__title {
	font-size: 1.25rem;
	font-weight: 500;
	padding-left:1.5rem;
	margin-bottom: 8px;
	display: flex;
	align-items: flex-start;
	position:relative;
}
.c-link-panel__title::before {
	font-family: "Font Awesome 6 Free";
	content: "\f0a9";
	font-weight: 900;
	color: var(--color-primary);
	font-size: 1.125rem;
	margin-right: 8px;
	flex-shrink: 0;
	position:absolute;
	left:0;
	top:3px;
}
.c-link-panel__text {
	font-size: 1rem;
	line-height: 1.5;
	margin: 0; 
	margin-left: calc(1em + 8px);
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	/* 3行目までを表示し、それ以降を省略 */
	-webkit-line-clamp: 3;
}
@media (max-width: 1280px) {
	.c-link-panel {
		grid-template-columns: 1fr;
		gap: 0; /* 縦のギャップを調整 */
	}
	.c-link-panel__item {
		width: 100%; /* 全幅を占有 */
		height: auto; /* 高さをコンテンツに応じて自動調整 */
		/*padding-bottom: 36px;*/
		margin-bottom: 0; 
	}
	/* ラインの色分けは変更なし */
	.c-link-panel__item::before {
		background: linear-gradient(to right, 
			var(--color-primary) 0, 
			var(--color-primary) 180px, 
			#cccccc 180px, 
			#cccccc 100%
		);
	}
}
@media (max-width: 840px) {
	.c-link-panel__link{
		min-height:130px;
	}
}
/* --------------------------------------------------
* C-COMPONENT: カテゴリーナビゲーション（NG）
* -------------------------------------------------- */
/* ＋とーのアイコン設定 */
.___c-category-nav__close-btn::after,
.___c-category-nav__toggle::after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900; 
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.___c-category-nav {
	width: 100%;
	padding: 10px 0;
	margin-bottom:10px;
	border-radius: 8px;
	background-image: linear-gradient(
		to bottom,
		rgba(67, 148, 214, 0.2),
		var(--color-white)
	);
	transition: all 0.3s ease;
}
.___c-category-nav__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}
.___c-category-nav__title {
	display: flex;
	justify-content: space-between; 
	align-items: center;
	margin: 0; 
	padding: 0 10px 0 10px;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5; 
	color: var(--color-primary);
	border-bottom: none;
	transition: all 0.3s ease;
}
.___c-category-nav:not(.is-closed) .c-category-nav__title {
	margin-bottom: 10px; 
	padding-bottom: 5px;
	border-bottom: 1px solid var(--color-primary);
}
.___c-category-nav__close-btn {
	display: inline-block;
	vertical-align: middle;
	padding: 0 5px;
	border: none;
	background: none;
	color: var(--color-primary);
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	transition: transform 0.3s ease;
}
.___c-category-nav.is-closed .c-category-nav__close-btn::after {
	content: '\f067';/* fa-plus*/
}
.___c-category-nav__close-btn::after {
	content: '\f068';/* fa-minus */
}
.___c-category-nav__toggle {
	display: none; 
}
.___c-category-nav__list {
	display: flex;
	flex-wrap: wrap; 
	justify-content: flex-start;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 5px 10px; 
	max-height: none; 
	overflow: visible; 
	transition: all 0.3s ease;
}
.___c-category-nav.is-closed .c-category-nav__list {
	display: none; 
}
.___c-category-nav__list li {
	flex: 1 1 auto; 
	max-width: calc(50% - 5px); 
}
.___c-category-nav__list a {
	display: block; 
	width: 100%; 
	text-align: center; 
	padding: 8px 15px;
	border-radius: 8px;
	border: 1px solid var(--color-primary); 
	font-size: 1.125rem;
	font-weight: 500;
	color: var(--color-primary);
	background-color: #f7fcff; 
	text-decoration: none;
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.___c-category-nav__list a:hover {
	background-color: var(--color-primary); 
	color: white; 
	border-color: var(--color-primary); 
}
.___c-category-nav__list li.is-current a {
	background-color: var(--color-primary); 
	color: white;
	border: 1px solid var(--color-primary); 
	font-weight: bold;
}
@media (max-width: 839px) {
	.___c-category-nav {
		border: none;
		border-radius: 0;
		padding: 10px 0;
		background-color:transparent;
		background-image:none;
		/*border-bottom: 3px solid #00796b; */
	}
	.___c-category-nav__title {
		display: none; 
	}
	.___c-category-nav__toggle {
		display: block;
		width: 100%;
		position: relative;
		padding: 10px 15px;
		border-radius: 8px;
		background-color: var(--color-primary); 
		color: white;
		font-weight: normal;
	}
	.___c-category-nav__toggle::after {
		content: '\f067'; /* ＋ アイコン */
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-50%);
		font-size: 1.2em; /* SPで少し小さく */
		line-height: 1;
	}
	.___c-category-nav__list {
		display: block; 
		max-height: 0; 
		overflow: hidden;
		transition: none !important; /* アニメーション無効化 */
	}
	.___c-category-nav.is-open .c-category-nav__list {
		max-height: 500px;
		margin-top: 10px;
		padding: 5px; 
		border-radius: 8px;
		background-color: var(--color-white); 
		box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
		display: block; 
	} 
	.___c-category-nav.is-open .c-category-nav__toggle::after {
		content: '\f068';  /* ー アイコン */
	}
	.___c-category-nav__list li {
		flex: 1 1 100%; 
		max-width: 100%; 
		border-bottom:1px solid rgba(67, 148, 214, 0.3);
	}
	.___c-category-nav__list li:last-child{
		border-bottom:0;
	}
	.___c-category-nav__list a {
		display: block;
		width: auto; 
		text-align: left; 
		margin: 2px 0; 
		padding: 8px 15px;
		border-radius: 4px;
		border: none;
		font-size: 1rem; 
		background-color: var(--color-white); 
		color: #333; 
		font-weight: normal;
	}
	.___c-category-nav__list a:hover {
		background-color: #e3f2fd; 
		color: #333;
		border: none; 
	}
	.___c-category-nav__list li.is-current a {
		background-color: #e3f2fd; 
		color: #0d47a1;
		/*border: 1px solid #cceeff;*/
		border:none;
		font-weight: bold;
	}
}

/* --------------------------------------------------
* C-COMPONENT: 前後ページネーションナビゲーション
* -------------------------------------------------- */
.c-pagination-nav {
	display: flex;
	gap: 20px; /* PCでの項目間の隙間 */
	margin-top: 60px;
	padding: 20px 0;
	border-top: 1px solid #E6F0F6;
}
/* リンクの基本スタイル (前へ・次へ共通) */
.c-pagination-nav__link {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 15px;
	/*border: 1px solid var(--color-primary);*/
	border-radius: 8px;
	text-decoration: none;
	color: var(--color-primary);
	font-weight: 500;
	font-size: 1rem;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	max-width: calc(50% - 10px);
}
.c-pagination-nav__link--prev {
	margin-right: auto;
}
.c-pagination-nav__link--next {
	margin-left: auto;
}
.c-pagination-nav__link:hover {
	background-color: #E6F0F6;
}
.c-pagination-nav__link--prev::before {
	content: "\f053";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-right: 8px;
}
.c-pagination-nav__link--next::after {
	content: "\f054";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-left: 8px;
}
@media (max-width: 750px) {
	.c-pagination-nav {
			flex-direction: column; /* リンクを縦に並べる */
			gap: 12px; /* 縦方向の隙間を調整 */
	}
	.c-pagination-nav__link {
			max-width: 100%;
			flex-grow: 1;
			border: 1px solid var(--color-primary)
	}
	.c-pagination-nav__link--prev,
	.c-pagination-nav__link--next {
			margin-right: 0;
			margin-left: 0;
	}
}
.c-department{
	margin:20px 0 40px;
}
/* 診療科外来診療表タイトルヘッダ */
.c-department-head {
	display: grid;
	grid-template-columns: 1fr 300px; 
	gap: 30px; 
	align-items: center; 
	padding-bottom: 5px;
}
/* H4（診療科外来診療表タイトル） */
.c-department-head__title{
	margin: 0; 
	padding-bottom: 5px;
	font-size: 1.5rem;
	font-weight:500;
	line-height: 1.3;
	color: var(--color-primary);
	border-bottom: 1px solid var(--color-primary);
}
/* 診療科外来診療表タイトルヘッダ（リンクボタンなし） */
.c-department-head__nolink {
	display: grid;
	grid-template-columns: 1fr; 
	gap: 0; 
	align-items: center; 
	padding-bottom: 5px;
	margin-bottom:10px;
}
/*外来診療表の担当*/
.u-tantou{
	font-size:0.875rem;
	color:#505000;
}
.u-caution{
	font-size:0.875rem;
}
/*ボタン側のグリッド幅を変更*/
.u-grid-col-2-w350{
	grid-template-columns: 1fr 350px !important;
}
.u-grid-col-2-w280{
	grid-template-columns: 1fr 280px !important;
}
.u-grid-col-2-w250{
	grid-template-columns: 1fr 250px !important;
}
.u-grid-col-2-w200{
	grid-template-columns: 1fr 200px !important;
}
@media (max-width: 840px) {
	.c-department-head,
	.u-grid-col-2-w350,
	.u-grid-col-2-w280,
	.u-grid-col-2-w250,
	.u-grid-col-2-w200 {
		grid-template-columns: 1fr !important;
		justify-items: center;
		gap: 8px;
	}
	.c-department-head__title{
		text-align:center;
		width:100%;
	}
	.c-department-head .c-button{
		padding: 8px 10px 8px 24px !important;
	}
	.c-department-head .c-button .c-button__text{
		font-size: 1rem;
	}
	.c-button::after {
		font-size: 1.25rem;
	}
}
.u-department-button{
	margin:0 0 8px !important;
}
/* 診療科ごとの受付時間や電話番号などを列記 */
.c-department-info {
	width:100%;
	max-width:870px;
	margin-bottom:20px;
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 1em;
	row-gap: 0.25em;
	align-items: start;
}
.u-grid-gap0{
	row-gap: 0 !important;
}
.c-department-info dt,
.c-department-info dd {
	margin: 0;
	/*white-space: nowrap;*/
}
.c-department .c-table{
	/*セルを固定幅に保つ*/
	table-layout: fixed;
}
.c-department-info dt {
	font-weight:600;
}
.u-table-auto {
	table-layout: auto !important;
}

.u-text-additional {
	display:inline-block;
	padding-left:0.5rem;
	color:#FF7C29;
}
@media (max-width: 640px) {
	.u-text-additional {
		display:block;
		padding-left:0;
		font-size:0.875rem;
		line-height:1.3;
	}
}
@media (max-width: 500px) {
	.c-department-info {
		grid-template-columns: 1fr !important;
	}
	.c-department-info dt{
		line-height:1.3;
	}
	.c-department-info dd{
		margin-bottom:10px;
		padding-bottom:10px;
		border-bottom:1px solid var(--color-primary);
	}
	.c-department-info dd:last-child{
		border-bottom:0;
	}

}
.c-image-container img{
	border-radius: 8px;
	width:100%;
	height:auto;
	margin:0 0 20px;
}
.c-image-container80p img{
	width:80% !important;
}
@media (max-width: 540px) {
	.c-image-container80p img{
		width:100% !important;
	}
}
/*!
リクルート（ヒーローイメージ）
------------------------------
*/
.c-recruitment-images-container-wrapper {
	/* ラッパーサイズなどを調整 */
	width: 100%;
	height: 505px;
	overflow: hidden;
}

/* 親要素のCSSは変わらず、画像が横並びになる設定を維持 */
.c-recruitment-images-container {
	display: flex;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	font-size: 0; /* (空白文字対策として残す) */
	/* ★追加: 子要素を絶対配置するための基準 */
	position: relative; 
}
.c-rectuit-catchphrase {
	width: 90%;
	position: absolute;
	bottom: 22%;
	left: 50%;
	transform: translate(-50%, 0);
	text-align: center;
	opacity: 0; 
	color: var(--color-white);
	text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.7), 2px -2px 6px rgba(0, 0, 0, 0.7), -2px -2px 6px rgba(0, 0, 0, 0.7), -2px 2px 6px rgba(0, 0, 0, 0.7);
	z-index: 10;
}
.c-rectuit-catchphrase .c-catchphrase-main {
	margin: 0;
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	font-size: 2.75rem;
	letter-spacing: 0.05em;
}
.c-rectuit-catchphrase .c-catchphrase-sub {
	font-size: 1.5rem;
	font-weight: 500;
}
@media (max-width: 540px) {
	.c-rectuit-catchphrase {
		bottom: 10%;
		width:95%;
	}
	.c-rectuit-catchphrase .c-catchphrase-main {
		font-size: 2.25rem;
		letter-spacing: 0;
	}
	.c-rectuit-catchphrase .c-catchphrase-sub {
		font-size: 1.25rem;
	}
}
.c-recruitment-image {
	width: calc(100% / 7);
	flex-shrink: 0;
	height: 100%;
	object-fit: cover;
	opacity: 0;
}
/* 画面幅が1280px以下で順次表示枚数を変更 */
@media (max-width: 1280px) {
	.c-recruitment-image {
		width: calc(100% / 6);
	}
}
@media (max-width: 1200px) {
	.c-recruitment-image {
		width: 20%; 
	}
}
@media (max-width: 980px) {
	.c-recruitment-image {
		width: calc(100% / 4);
	}
}
@media (max-width: 767px) {
	.c-recruitment-image {
		width: calc(100% / 3);
	}
}
@media (max-width: 540px) {
	.c-recruitment-images-container-wrapper {
		/* ラッパーサイズの高さ */
		height: 360px;
	}
}
@media (max-width: 340px) {
	.c-recruitment-images-container-wrapper {
		height: 280px;
	}
	.c-recruitment-image {
		width: calc(100% / 2);
	}
}


 /*リクルートコンテンツタイトル（H2）*/
.c-recruit-title{
	padding:0 0 80px;
	line-height:1;
	text-align:center;
	letter-spacing:0;
}
/*タイトル下のアキを狭くする*/
.c-recruit-title--snug{
	padding:0 0 60px;
}
/*タイトル下のアキをきつくする*/
.c-recruit-title--tight{
	padding:0 0 40px;
}
/*リクルートお知らせ*/
 .l-recruit-information{
	margin:0 auto;
	padding:40px 0 40px;
 }

/*リクルート募集職種*/
.l-recruit-jobtype {
	margin:0 auto;
	padding:80px 0;
	background-color: #E6F0F6;
	position:relative;
	z-index:0;
	background-image: 
		linear-gradient(rgba(67, 148, 214, 0.1), rgba(67, 148, 214, 0.1)), 
		url(../images/recruit/bg-jobtype.jpg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
/*リクルート・病院見学*/
.l-recruit-hospitaltour{
	margin:0 auto;
	padding:110px 0 40px;
	text-align:center;
}

/*リクルート・履歴書について*/
.l-recruit-personalhistory{
	margin:0 auto;
	padding:76px 0 20px;
	text-align:center;
	background-color: #DFECF9;
}

/*リクルート・書類送付先および問い合わせさき*/
.l-recruit-contact{
	margin:0 auto;
	padding:76px 0 20px;
 }



/* --------------------------------------------------
	Recruit Card Component (BEM)
	-------------------------------------------------- */
.c-recruit-card {
	display: flex;
	align-items: center; /* テキストを垂直中央揃え */
	justify-content: space-between;
	align-items:center;
	background-color: #fff;
	margin:0 auto 85px;
	/* 必要に応じて枠線や影を追加 */
	box-shadow: 0 4px 12px rgba(0,0,0,0.2); 
	width:100%;
	max-width:1100px;
	height:300px;
	overflow: hidden;
}

/* * Modifier: Reverse
	* PC表示時に画像とテキストの配置を左右入れ替える
	*/
.c-recruit-card--reverse {
	flex-direction: row-reverse;
}

.c-recruit-jobtype .c-recruit-card:last-child {
	margin-bottom: 0;
}

/* * Element: Image Wrapper
	* 指示にある「画像」エリア
	*/
.c-recruit-card__image {
	width: 100%;
	max-width:550px;
	height:300px;

	flex:1 1 550px;

	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3; 
}

.c-recruit-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

/* ホバー時の演出（任意） */
/*.c-recruit-card:hover .c-recruit-card__image img {
	transform: scale(1.05);
}*/

/* * Element: Content Wrapper
	* テキストエリア
	*/
.c-recruit-card__content {
	display:flex;
	flex-direction:column;
	justify-content:center;
	width: 100%;
	max-width:550px;
	height:300px;
	flex:1 1 550px;
	padding: 40px 60px; /* テキスト周りの余白 */
	box-sizing: border-box;
}

/* Element: Title */
.c-recruit-card__title {
	font-size: 1.75rem;
	font-weight: 500;
	margin-bottom: 24px;
	line-height: 1.4;
}

/* Element: Description */
.c-recruit-card__desc {
	font-size: 1.125rem;
	margin-bottom: 32px;
}

/* Element: Button Wrapper */
.c-recruit-card__actions {
	text-align: left; /* 左寄せ指示を想定 */
}

/* Element: Button */
.c-recruit-card__btn {
	display: inline-block;
	background-color: #333;
	color: #fff;
	text-decoration: none;
	padding: 14px 40px;
	font-size: 1rem;
	font-weight: bold;
	border-radius: 9999px; /* 角丸指示を想定 */
	transition: background-color 0.3s, transform 0.2s;
	position: relative;
}

.c-recruit-card__btn:hover {
	background-color: #d32f2f;
	/*transform: translateY(-2px);*/
}

/* 矢印アイコンの装飾 */
.c-recruit-card__btn::after {
	content: "\f0a9";
	font-family: "Font Awesome 6 Free"; 
	font-weight: 900;
	margin-left: 10px;
	font-size: 1rem;
}

/* --------------------------------------------------
	Responsive (SP Layout)
	画像の上に指示がある場合などを考慮し、縦積みに変更
	-------------------------------------------------- */
        @media (max-width: 768px) {
            .c-recruit-card,
            .c-recruit-card--reverse {
                display: flex; /* ブロックではなくFlexのまま方向を変える */
                flex-direction: column;
                margin-bottom: 40px;
                
                /* 【修正】PCの固定高さを解除 */
                height: auto; 
                max-height: none;
            }

            .c-recruit-card__image {
                /* 【修正】Flexアイテムとしての幅制限を解除 */
                width: 100%;
                max-width: 100%;
                flex: none; 
                
                /* 【修正】高さをなりゆきにし、アスペクト比を設定 */
                height: auto;
                aspect-ratio: 16 / 9; /* スマホで見やすい比率 */
            }

            .c-recruit-card__image img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            .c-recruit-card__content {
                /* 【修正】幅と高さの制限を解除 */
                width: 100%;
                max-width: 100%;
                flex: none;
                height: auto;
                
                padding: 30px 20px;
            }

            .c-recruit-card__title {
                font-size: 1.4rem;
                margin-bottom: 16px;
            }

            .c-recruit-card__desc {
                font-size: 0.95rem;
                margin-bottom: 24px;
            }
            
            .c-recruit-card__btn {
                display: block;
                text-align: center;
                width: 100%;
                box-sizing: border-box;
            }
        }




/*!
floating-palette
------------------------------
*/
/*
<!-- フローティングパレット構造 -->
<div id="js-floating-palette" class="c-floating-palette">
	<!-- ドラッグ＆開閉用ハンドル -->
	<div class="c-floating-palette--handle">
		<i class="fa-solid fa-chevron-right"></i>
	</div>
	<div class="c-floating-palette--body">
		<div class="c-floating-palette--header">
		<i class="fa-solid fa-circle-chevron-left"></i>
		ページカテゴリー名
		</div>
		<ul class="c-floating-palette--list">
		<li><a href="#">ページ名 (+ リンク) 1</a></li>
		<li><a href="#">.....
		</li>
		</ul>
	</div>
</div>
*/
#js-floating-palette {
	/* スムーズに変化させるためのトランジション設定 */
	transition: opacity 0.3s ease; 
	opacity: 1;
}
/* 半透明化クラスが適用された状態 */
#js-floating-palette.is-faded {
	opacity: 0.3; /* 30%の透明度 */
}
/* パレットが開いている場合は、半透明化を強制的に解除する */
#js-floating-palette.is-open {
	opacity: 1 !important; 
}
/* --- フローティングパレット本体 --- */
.c-floating-palette {
	position: fixed;
	top: 29%; /* 初期位置 */
	left: 0;
	z-index: 1000;
	display: flex;
	align-items: flex-start;
	/* 閉じた状態：コンテンツ幅分だけ左に隠す */
	transform: translateX(-320px); 
	transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
/* 開いた状態 */
.c-floating-palette.is-open {
	transform: translateX(0);
}
/* --- ハンドル（アイコン部分） --- */
.c-floating-palette--handle {
	width: 48px;
	height: 48px;
	background-color: rgba(36, 79, 115, 1);/*--color-primary2*/
	color: var(--color-white);
	border-radius: 0 8px 8px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: grab; /* 掴めることを示すカーソル */
	box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
	user-select: none; /* テキスト選択防止 */
}
.c-floating-palette--handle:active {
	cursor: grabbing; /* 掴んでいる最中のカーソル */
}
.c-floating-palette--handle i {
	font-size: 1.25rem;/*20px*/
	transition: transform 0.3s;
}
/* 開いている時のアイコン回転 */
.c-floating-palette.is-open .c-floating-palette--handle i {
	transform: rotate(180deg);
}
/* --- パレットの中身 --- */
.c-floating-palette--body {
	width: 320px; /* パレットの幅 */
	background-color: var(--color-white);
	border: 3px solid var(--color-primary2);
	border-left: none; /* 画面端につくので左線はなし */
	border-radius: 0 0 8px 0;
	/*box-shadow: 2px 2px 10px rgba(0,0,0,0.3);*/
	display: flex;
	flex-direction: column;
	/* パレット自体もハンドルより左側（画面外）にある前提の配置 */
	order: -1; 
	height: auto;
	max-height: 70vh; /* 画面からはみ出さないように制限 */
}
/* パレットが開いているときのみ影を表示 */
#js-floating-palette.is-open .c-floating-palette--body {
	box-shadow: 2px 2px 10px rgba(0,0,0,0.3);
	transition: box-shadow 0.3s ease-out;
}
#js-floating-palette .c-floating-palette--body {
	box-shadow: 0 0 0 rgba(0,0,0,0);
	transition: box-shadow 0.3s ease-out;
}
@media (max-width: 500px) {
	.c-floating-palette {
		transform: translateX(-280px);
	}
	.c-floating-palette--body {
		width: 280px; /* パレットの幅 */
	}
}
@media (max-width: 380px) {
	.c-floating-palette {
		transform: translateX(-240px);
	}
	.c-floating-palette--body {
		width: 240px; /* パレットの幅 */
	}
}
/* ヘッダー */
.c-floating-palette--header {
	background-color: var(--color-white);
	padding: 7px 10px 7px 15px;
	color:var(--color-white);
	background-color: var(--color-primary2);
	font-weight: 500;
	font-size: 1.1rem;
	border-top: 2px solid var(--color-primary2);
	border-bottom: 2px solid var(--color-primary2);
	display: flex;
	align-items: center;
	gap: 10px;
}
.c-floating-palette--header:first-child{
	border-top:0;
}
.c-floating-palette--header i{
	padding-top:4px;
}
.c-floating-palette--header.sub{
	background-color: rgba(36, 79, 115, 0.7);
}
/* リストエリア */
.c-floating-palette--list {
	list-style: none;
	margin: 0;
	padding: 0;
	overflow-y: auto; /* 長い場合はスクロール */
	max-height: 300px; /* リストの最大高さ */
}
.c-floating-palette--list li {
	border-bottom: 1px solid rgba(67, 148, 214, 0.5);
}
.c-floating-palette--list li a {
	display: block;
	padding: 12px 15px;
	text-decoration: none;
	color: var(--color-primary2);
	font-size: 0.95rem;
	transition: background-color 0.2s;
}
/*サブリスト扱い（若干のインデント）*/
.c-floating-palette--list li.u-subitem a{
	text-indent:-0.75rem;
	padding-left:40px;
	position:relative;
}
.c-floating-palette--list li.u-subitem a::before{
	content: "\f105";
	font-family: "Font Awesome 6 Free"; 
	font-weight: 900;
	position: absolute;
	left: 28px;
	top: 53%;
	transform: translateY(-50%);
	font-size: 0.75rem;
}
.c-floating-palette--list li.is-active{
	background-color: var(--color-red1);
}
.c-floating-palette--list li.is-active a{
	color:var(--color-white);
}
.c-floating-palette--list li a:hover {
	background-color: var(--color-theme-bg);
}
.c-floating-palette--list li.is-active a:hover {
	color:var(--color-white);
	background-color: var(--color-red1);
}
/* スクロールバーのデザイン調整（Webkit系） */
.c-floating-palette--list::-webkit-scrollbar {
	width: 8px;
}
.c-floating-palette--list::-webkit-scrollbar-thumb {
	background-color: var(--color-white);
	border-radius: 8px;
}

/* 看護師コンテンツ用カラーリング */
.c-floating-palette.is-nurse .c-floating-palette--handle{
	background-color: var(--color-red3);
}
.c-floating-palette.is-nurse .c-floating-palette--body{
	border: 3px solid var(--color-red3);
	border-left: none;
}
.is-nurse .c-floating-palette--header {
	background-color: var(--color-red3);
	border-top: 2px solid var(--color-red3);
	border-bottom: 2px solid var(--color-red3);
}
.is-nurse .c-floating-palette--header.sub{
	background-color: rgba(140, 47, 47, 0.8);
}
.is-nurse .c-floating-palette--list li {
	border-bottom: 1px solid rgba(140, 47, 47, 0.5);
}
.is-nurse .c-floating-palette--list li a {
	color: var(--color-red3);
}
.is-nurse .c-floating-palette--list li a:hover {
	background-color: rgba(140, 47, 47, 0.1);
}

/*QandA*/
.c-answer{
	display: grid;
	grid-template-columns: 45px 1fr;
	align-items: start;
	gap: 12px;
}
.c-answer::before {
	content: "";
	display: grid;
	place-items: center;
	font-size: 24px;
	font-weight: bold;
	border-radius: 50%;
	width: 100%;
	aspect-ratio: 1 / 1;
}
.c-answer::before {
	content: "A";
	color:var(--color-white);
	background: var(--color-primary);
}
.is-nurse .c-answer::before {
	background: var(--color-pink2);
}

.c-float-container,
.c-nurse-profile {
	margin-bottom:0;
}
.c-float-container::after,
.c-nurse-profile::after {
	content: "";
	display: block;
	clear: both;
}
.is-recruit.c-nurse-profile{
	background-color:#FFEFBD;
	border-radius:8px;
	padding:30px 30px 20px;
	margin-bottom:30px;
}
/*認定看護師名前*/
.c-nurse-name{
	font-family: "Noto Serif JP", serif;
	font-weight:800;
	font-size:1.375rem;
	line-height:1.4;
	color:#8C2F2F;
	margin-bottom: 10px;
}

/* PDFアーカイブビューア */

.c-pdf-viewer-container {
	display: flex;
	flex-direction: row;
	height: 90vh;
	gap: 10px;
	padding: 0;
}
/* サイドバー（リスト） */
.c-pdf-viewer-sidebar {
	flex: 0 0 250px;/* 幅250px固定 */
	background: #f4f4f4;
	padding: 8px;
	overflow-y: auto;
	border-radius: 8px;
}
.c-pdf-viewer-sidebar ul { list-style: none; padding: 0; }
.c-pdf-viewer-sidebar li { margin-bottom: 4px; text-align:center;}
.c-pdf-viewer-link {
	display: block;
	padding: 4px;
	text-decoration: none;
	color: #333;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
}
.c-pdf-viewer-link.active {
	background: #007bff;
	color: #fff;
	border-color: #0056b2;
}
/* メイン（ビューワー） */
.c-pdf-viewer-content {
	flex: 1; 
	background: #ddd;
	border-radius: 8px;
	overflow: hidden;
}
.c-pdf-viewer {
	width: 100%;
	height: 100%;
	border: none;
}
/* --- スマホ表示（SP）のスタイル --- */
@media (max-width: 799px) {
	.c-pdf-viewer-container {
		flex-direction: column;
		/*height: auto;*//* うまくいかないので封印。高さを自動調整スクロールさせる */
	}
	.c-pdf-viewer-sidebar {
		flex: none;
		width: 100%;
		max-height: 180px;/* リストの高さ */
		margin-bottom: 5px;
	}
	.c-pdf-viewer-content {
		height: 100vh;/* ビューワーの高さ */
	}
}


/* HTMLビューア（外部htmlをiframeに読み込む） */
.l-iframe-htmlviewer--wrapperr {
	width: 100%;
	overflow: hidden; /* はみ出た部分を隠す */
	position: relative;
}
/* スケーリングを行うコンテナ */
.c-iframe-htmlviewer--scaler {
	width: 1000px; /* 元のHTMLが綺麗に見えるデスクトップ幅を指定 */
	transform-origin: 0 0; /* 左上を起点に縮小する */
}
.c-iframe-htmlviewer {
	width: 1000px;
	height: 1200px; /* 縦の長さはコンテンツに合わせて調整 */
	border: 2px solid var(--color-primary2);
	border-radius: 8px;
	padding:10px;
}
/* PC表示（画面が1000px以上の時）は縮小しない */
@media (min-width: 1001px) {
	.c-iframe-htmlviewer--scaler {
		width: 100%;
		transform: none !important;
	}
	.c-iframe-htmlviewer {
		width: 100%;
	}
}

.l-fukidashi{
	width:100%;
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	gap:10px;
}
.l-fukidashi.l-fukidashi--right{
	flex-direction:row-reverse;
}
.c-fukidashi {
	width: 110px;
	height: 64px;
	flex-shrink: 0;
	flex-grow: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	color: #fff;
	font-weight: bold;
	font-family: sans-serif;
	font-size: 1.5rem;
	line-height: 1;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	padding-bottom: 8px; 
}

/* 左下しっぽ */
.c-fukidashi--left {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 70'%3E%3Cpath d='M60,0 C93.1,0 120,13.4 120,30 C120,46.6 93.1,60 60,60 C48,60 36.8,58.1 27,54.7 L10,65 L18,51 C7.5,45.6 0,38.2 0,30 C0,13.4 26.9,0 60,0 Z' fill='%2374aaff'/%3E%3C/svg%3E");
}

/* 右下しっぽ */
.c-fukidashi--right {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 70'%3E%3Cpath d='M60,0 C26.9,0 0,13.4 0,30 C0,46.6 26.9,60 60,60 C72,60 83.2,58.1 93,54.7 L110,65 L102,51 C112.5,45.6 120,38.2 120,30 C120,13.4 93.1,0 60,0 Z' fill='%2374aaff'/%3E%3C/svg%3E");
}
.c-fukidashi-honbun{
	background-color:var(--color-theme-bg);
	padding:1rem;
	margin-bottom:20px;
	border-radius: 8px;
	min-height:64px;
	display:flex;
	align-items:center;
	font-size:1rem;
	line-height:1.4;
}
.c-fukidashi-honbun--right{
	flex-direction:row-reverse;
}



/* 親枠：メッセージの配置基準 */
.scroll-wrap {
	position: relative;
	overflow: hidden; /* メッセージが枠外に出ないように */
}
/* スクロール領域（前回の修正箇所） */
.js-scroll-container {
	overflow-x: auto;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch; /* iOSでの慣性スクロール */
}
/* ポップアップメッセージ */
.scroll-hint {
	display: none; /* 初期状態は非表示 */
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%); /* 中央配置 */

	/* デザイン：半透明の黒背景 */
	background: rgba(0, 0, 0, 0.7);
	color: #fff;
	padding: 8px 16px;
	font-size: 12px;
	white-space:nowrap;
	border-radius: 20px;
	z-index: 10;

	/* 重要：メッセージの上からでも下の要素を操作・スクロールできるようにする */
	pointer-events: none; 
}

.__scroll-hint {
	display: none; /* 初期状態は非表示 */
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%); /* 中央配置 */

	/* デザイン：半透明の黒背景 */
	background: rgba(0, 0, 0, 0.7);
	color: #fff;
	padding: 8px 16px;
	font-size: 12px;
	white-space:nowrap;
	border-radius: 20px;
	z-index: 10;

	/* 重要：メッセージの上からでも下の要素を操作・スクロールできるようにする */
	pointer-events: none; 
}


/* 基本スタイル（PC・共通） */
.grid-list {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 5px 3px; /* 上下左右の余白 */
	align-items: start; /* テキストのベースラインを揃える */
	line-height: 1.4;
}
.grid-list dt {
	font-weight: 500;
	grid-column: 1; /* 左列に配置 */
}
.grid-list dd {
	margin: 0; /* ブラウザデフォルトの余白をリセット */
	grid-column: 2; /* 右列に配置 */
}

/* ◆マークの追加 */
.grid-list dt::before {
	content: "◆";
	margin-right: 0.5em;
	color:var(--color-primary);
}
.grid-list dd a{
	display:inline-block;
	margin-left:0.5rem;
}
/* SPサイズ（スマホ対応） */
@media screen and (max-width: 540px) {
	.grid-list {
		/* 1カラムにして縦積みにする */
		grid-template-columns: 100%;
		gap: 5px 0; /* 項目間の余白調整 */
	}

	.grid-list dt,
	.grid-list dd {
		/* カラム指定を解除（自動配置） */
		grid-column: auto;
	}

	/* 段落ちした際、次の項目との間隔を空ける */
	.grid-list dd {
		margin-bottom: 20px;
	}

	/* 最後のddだけ余白を消す（お好みで） */
	.grid-list dd:last-child {
		margin-bottom: 0;
	}
}

.c-dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.c-dl dt {
	white-space: nowrap; /* dt内での改行を禁止 */
	font-weight: 500;
	padding-right:0.5rem;
}

.c-dl dd {
	/* 残りの幅をすべて占有させる */
	flex: 1; 
	/* 100%からdtの幅を引いた分で維持させるための設定 */
	min-width: calc(100% - 200px); /* dtが長すぎる場合にddが下に落ちるのを防ぐ目安 */
	margin: 0;
}


/*リクルートバナーラッパー*/
.l-recruit-banner__container {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 20px;
	width: 100%;
	max-width: 1280px; 
	margin: 0 auto;
	padding: 0;
}
/* ラッパー内のボタンのサイズ調整 
 横並び（2列）想定の幅計算にする計算式 全体の50% から gap(20px)の半分(10px) を引く*/
.l-recruit-banner__container .c-recruit-banner {
	width: calc(50% - 10px);
}
@media (max-width: 1000px) {
	.l-recruit-banner__container .c-recruit-banner {
		width: 100%;
	}
}
/*
リクルートバナー 
<a href="#" class="c-recruit-banner">
	<div class="c-recruit-banner__text-area">
		<p class="c-recruit-banner__desc">
			日勤も夜勤も。<br>
			看護師としてバリバリ働きたい方
		</p>
		<p class="c-recruit-banner__title">
			正社員<span class="c-recruit-banner__title-note">（月給制）</span>
		</p>
	</div>
	<div class="c-recruit-banner__action">
		<div class="c-recruit-banner__btn">
			<span class="c-recruit-banner__icon"></span>募集要項
		</div>
	</div>
*/
.c-recruit-banner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 100px;
	padding: 0 20px;
	background-color: var(--color-theme-bg1);
	border: 1px solid rgba(var(--color-primary-rgb), 0.5);
	border-radius: 6px;
	text-decoration: none;
	color: #333;
	transition: border-color 0.3s ease;
}
.is-nurse .c-recruit-banner {
	background-color: #fdf4f9;
	border: 1px solid #dcdcdc;
}
.c-recruit-banner__text-area {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1; 
	min-width: 0; 
}
.c-recruit-banner__desc {
	font-size: 15px;
	line-height: 1.3;
	color: #2c3e50;
	font-weight: 500;
	margin-bottom: 4px;
}
.c-recruit-banner__title {
	display: flex;
	align-items: center;
	flex-wrap:wrap;
	font-size: 1.75rem;
	font-weight: 600;
	color: #232f3e;
	line-height: 1;
	/*white-space: nowrap;*/
}
.c-recruit-banner__title-note {
	font-size: 1rem;
	font-weight: 600;
	margin:5px 0;
	display: inline-block;
}
.c-recruit-banner__action {
	flex: 0 1 160px;
	margin-left: 15px;
	min-width: 110px; 
}
.c-recruit-banner__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 160px;
	height: 60px;
	border-radius: 5px;
	background-color: #4682B4;
	color: var(--color-white);
	font-size: 1.125rem;
	font-weight: 600;
	transition: background-color 0.3s ease;
	white-space: nowrap;
}

.c-recruit-banner__icon {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--color-white);
	border-right: 2px solid var(--color-white);
	transform: rotate(45deg);
	margin-right: 10px;
	margin-left: -4px;
}
.c-recruit-banner:hover {
	border-color: var(--color-primary2);
}
.c-recruit-banner:hover .c-recruit-banner__btn {
	background-color: var(--color-primary2);
}

.is-nurse .c-recruit-banner__btn {
	background-color: #8C2F2F;
	color: var(--color-white);
}
.is-nurse .c-recruit-banner:hover {
	border-color: #f06d9e;
}
.is-nurse .c-recruit-banner:hover .c-recruit-banner__btn {
	background-color: #d65a88;
}
@media (max-width: 768px) {
	.l-recruit-banner__container .c-recruit-banner {
		width: 100%;
	}
}
/* 480px以下: ボタン段落ち＆100%幅に変更*/
@media (max-width: 520px) {
	.c-recruit-banner {
		flex-direction: column; /* 縦積みに変更 */
		align-items: stretch;   /* 横幅いっぱいに要素を伸ばす */
		height: auto;           /* 固定高さを解除 */
		padding: 20px;          /* 余白を少し広めに調整 */
	}
	.c-recruit-banner__text-area {
		margin-bottom: 15px;    /* テキストとボタンの間隔 */
		text-align: left;       /* 必要であれば center も可 */
	}
	/* 以前のフォントサイズ縮小設定は削除しました */
	.c-recruit-banner__title {
			white-space: normal; /* タイトルが長すぎる場合は折り返し許可 */
	}
	.c-recruit-banner__action {
		margin-left: 0;  /* 横並び時の余白リセット */
		flex: none;      /* flex設定リセット */
		width: 100%;     /* ラッパー幅100% */
	}
	.c-recruit-banner__btn {
		max-width: none; /* 幅の上限（160px）を解除 */
		width: 100%;     /* 横幅いっぱい */
		height: 50px;    /* スマホ用に高さを少し調整（任意） */
	}
}

/* * ==========================================
 * Modifier: 募集停止（非活性）状態
 * .c-recruit-banner--closed を付与して使用
 * ==========================================
 */
.is-closed {
	/* ▼ リンクとしての機能をCSSで無効化 */
	pointer-events: none;
	cursor: default;
	/* 全体の見た目をグレーアウト */
	background-color: #f2f2f2;
	border-color: #ddd;
}
/* 内部テキストの色を強制的にグレーへ変更 */
.is-closed .c-recruit-banner__desc,
.is-closed .c-recruit-banner__title,
.is-closed .c-recruit-banner__title-note {
	color: #999 !important;
}
/* ボタン部分のグレーアウト */
.is-closed .c-recruit-banner__btn {
	background-color: #ccc;
	color: #fff;
	box-shadow: none;
}
/* 矢印アイコンを目立たなくする（不透明度を下げる） */
.is-closed .c-recruit-banner__icon {
	opacity: 0.5;
}

/* ==========================================================================
   当院からのお知らせinformatio
   ========================================================================== */
/*ニュースタブ*/
.c-news-tabs {
	width:100%;
	display: flex;
	justify-content:center;
	list-style: none;
	padding: 0;
	margin: 0 0 20px 0;
	border-bottom: 2px solid var(--color-primary);
	gap: 16px;
}
.c-news-tabs__item {
	flex: 1;
	max-width: 220px;
	text-align: center;
	cursor: pointer;
	padding: 12px 0;
	background: var(--color-primary);
	color: var(--color-white);
	font-size:1.125rem;
	font-weight: 500;
	border-radius: 8px 8px 0 0;
	transition: background 0.3s, color 0.3s;
	position: relative;
}
.c-news-tabs__item:hover {
	background: #2980b9;
}
.c-news-tabs__item.is-active {
	background: #fff;
	color: #3498db;
	border: 2px solid #3498db;
	border-bottom: 2px solid #fff;
	margin-bottom: -2px;
	z-index: 2;
}
/*注記*/
.c-news-explanation{
	text-align:right;
	margin-top:10px;
}
/*ニュースリスト*/
.c-news-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.c-news-item {
	border-bottom: 1px solid var(--color-primary);
	padding: 24px 10px;
	transition: background 0.2s;
}
.c-news-item:hover {
	background-color: #fcfcfc;
}
.c-news-item__inner {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 25px;
	font-size:1.0625rem;
}
.c-news-item__date {
	font-family: Arial, sans-serif;
	color: #333;
	min-width: 90px;
}
.c-news-item__cat {
	display: inline-block;
	padding: 4px 0;
	width:100%;
	max-width:120px;
	font-size:0.9375rem;
	color: var(--color-white);
	/*background: red;*/
	border-radius: 4px;
	min-width: 80px;
	text-align: center;
}
/*カテゴリーでの色変更対応*/
.c-news-item__cat.cat-news	{ background-color: #4394D6; }
.c-news-item__cat.cat-recruit { background-color: #4394D6; }
.c-news-item__cat.cat-bid	 { background-color: #4394D6; }
.c-news-item__cat.pickup {
	background: linear-gradient(
		to right,
		#4394D6,
		#d9534f
	);
}
.c-pickup-item{
	display:inline-block;
	margin:0 2px;
	padding:2px 5px;
	color:var(--color-white);
	white-space:nowrap;
	border-radius: 4px;
	background: linear-gradient(
		to right,
		#4394D6,
		#d9534f
	);
}
.c-news-item__title {
	flex: 1;
}
.c-news-item__title a {
	text-decoration: none;
	color: #333;
}
.c-news-item__title a:hover {
	text-decoration: underline;
	color: #3498db;
}
@media (max-width: 840px) {
	.c-news-tabs {
		gap: 0;
	}
	.c-news-tabs__item.is-active {
		border-left: none;
		border-right: none;
	}
	.c-news-tabs__item {
		width: 25%;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
		border-left: 1px solid #E6F0F6;
	}
}
@media (max-width: 650px) {
	.c-news-item__inner {
		gap: 10px;
		font-size:1.0625rem;
	}
	.c-news-item__cat {
		max-width:90px;
		font-size:0.9375rem;
		min-width: 80px;
	}
	.c-news-item__title{
		line-height:1.3;
	}
	.c-news-explanation{
		font-size:0.875rem;
		margin-right:12px;
	}
}
@media (max-width: 390px) {
	.c-news-tabs__item {
		font-size:1rem;
	}
	/*titleを段落ちさせる*/
	.c-news-item__title{
		min-width:100%;
		font-size:1rem;
	}
}
/* ローディング表示 */
.c-news__loading-overlay {
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(255,255,255,0.8);
	z-index: 10;
	display: none;
}
.c-news__loading-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border: 4px solid #f3f3f3;
	border-top: 4px solid #3498db;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	animation: spin 1s linear infinite;
}
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* ==========================================================================
   ページネーション
   ========================================================================== */
.c-pagination {
	margin-top: 30px;
	padding-bottom: 20px;
	text-align: center;
}
.c-pagination__list {
	display: flex;
	justify-content: center;
	gap: 5px;
	list-style: none;
	padding: 0;
	flex-wrap: wrap;
}
.c-pagination__list li a,
.c-pagination__list li span {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 40px;
	height: 40px;
	padding: 0 5px;
	border: 1px solid #ddd;
	background-color: #fff;
	color: #333;
	text-decoration: none;
	border-radius: 4px;
	box-sizing: border-box;
	font-size: 14px;
	transition: all 0.2s;
}
.c-pagination__list li a:hover {
	background-color: #f0f0f0;
}
.c-pagination__list li.current span {
	background-color: #3498db;
	color: #fff;
	border-color: #3498db;
	font-weight: bold;
}
.c-pagination__list li.dot span {
	border: none;
	background: none;
	color: #999;
}
.c-pagination__list li.prev a,
.c-pagination__list li.next a {
	background-color: #f9f9f9;
	font-weight: bold;
}

/* ==========================================================================
   サイトマップ
   ========================================================================== */
/* ベース設定 */
.c-sitemap {
	padding: 40px 0;
	/* ▼ PC: 3列表示 */
	-webkit-column-count: 3;
	-moz-column-count: 3;
	column-count: 3;
	/* ▼ 列と列の間隔 */
	-webkit-column-gap: 40px;
	-moz-column-gap: 40px;
	column-gap: 40px;
	/* ▼ コンテンツの充填バランス (列の高さを均等に保つ) */
	-moz-column-fill: balance;
	column-fill: balance;
}
/* -----------------------------------------------------------------
   Category Section (大カテゴリーの塊)
   ----------------------------------------------------------------- */
.c-sitemap__section {
	/* カテゴリー自体は列をまたいでOK（分割許可） */
	/* これにより、長いカテゴリーが次の列へ自然に流れます */
	width: 100%;
	margin-bottom: 40px;
}
/* 大見出し (グレー背景 + 左青線) */
.c-sitemap__main-title {
	font-size: 20px;
	font-weight: bold;
	color: var(--color-white);
	background-color: var(--color-primary);
	padding: 12px 15px;
	margin: 0 0 20px 0;
	border-radius: 8px;
	/* 見出し直後での改列を防ぐ */
	break-after: avoid;
	-webkit-column-break-after: avoid;
}
/* -----------------------------------------------------------------
   Content Groups (改列禁止のユニット)
   ----------------------------------------------------------------- */
/* 直下のリストブロック、またはサブカテゴリーのブロック */
.c-sitemap__group,
.c-sitemap__block {
	/* ★重要★ この単位で「改列禁止」にします */
	/* 「見出しとリスト」や「リストの塊」が泣き別れになるのを防ぎます */
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
	margin-bottom: 25px;
	/* 描画崩れ防止のためinline-block化 */
	display: inline-block;
	width: 100%;
}
/* -----------------------------------------------------------------
   Sub Category (中見出し)
   ----------------------------------------------------------------- */
.c-sitemap__sub-title {
	font-size: 16px;
	font-weight: bold;
	margin: 0 0 10px 0;
	line-height: 1.4;
}
/* リンク付き・テキストのみ共通スタイル */
.c-sitemap__sub-link,
.c-sitemap__sub-text {
	display: flex;
	align-items: center;
	color:var(--color-primary2);
	text-decoration: none;
	padding-bottom:8px;
	border-bottom:1px solid #ccc;
}
.c-sitemap__sub-link:hover {
	text-decoration: underline;
	color: #0056b3;
}
/* オレンジ色の正方形アイコン */
.c-sitemap__sub-link::before,
.c-sitemap__sub-text::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	background-color: var(--color-primary);
	margin-right: 10px;
	flex-shrink: 0;
}
/* -----------------------------------------------------------------
   List Items (末端のリンク)
   ----------------------------------------------------------------- */
.c-sitemap__list {
	margin: 0;
	padding: 0 0 0 10px;
	list-style: none;
}
/* リストアイテム (親) */
.c-sitemap__item {
	margin-bottom: 8px;
	font-size: 15px;
	position: relative;
	padding-left: 15px; /* 左の丸ポチ用スペース */
}
/* グレーの丸い中黒 */
.c-sitemap__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px; /* 文字サイズに合わせて位置調整 */
	width: 6px;
	height: 6px;
	background-color: #ccc;
	border-radius: 50%;
}
.c-sitemap__link {
	color: var(--color-font);
	text-decoration: none;
	transition: color 0.2s;
}
.c-sitemap__link:hover {
	color: #0056b3;
}
/* -----------------------------------------------------------------
   Nested List (子階層のスタイル)
   ----------------------------------------------------------------- */
/* 親アイテムの中に配置される子リスト */
.c-sitemap__list--child {
	margin-top: 8px;	  /* 親リンクとの隙間 */
	margin-left: 2px;	 /* 全体を少し右へ */
	padding-left: 0;
	border-left: 1px solid #eee; /* 左に薄いガイド線を表示 */
}
/* 子アイテム */
.c-sitemap__item--child {
	margin-bottom: 6px;
	font-size: 14px;	  /* 少し文字を小さく */
	padding-left: 18px;   /* インデント */
}
/* 子アイテムの中黒 */
.c-sitemap__item--child::before {
	top: 8px;
	left: 8px;			/* 位置調整 */
	width: 4px;		   /* 親より少し小さく */
	height: 4px;
	background-color: #ddd; /* 薄めのグレー */
}
/* site_info ブロックのみ上に線を引く */
.c-sitemap__section--site_info {
	border-top: 1px solid #ccc; /* 薄いグレーの線 */
	padding-top: 20px;		  /* 線と文字の間隔 */
	margin-top: 20px;		   /* 上のブロックとの間隔 */
	/* ※段組みの中で、線が変な位置に出ないようにブロックとしてまとめる */
	width: 100%;
	/* もし「線ごと次の列の先頭に送りたい」場合は以下を有効にしてください */
	/* break-inside: avoid; */
}
/* TB (840px以下)2列 */
@media (max-width: 840px) {
	.c-sitemap {
		-webkit-column-count: 2;
		-moz-column-count: 2;
		column-count: 2;
		column-gap: 30px;
	}
}
/* SP (540px以下)1列 */
@media (max-width: 540px) {
	.c-sitemap {
		-webkit-column-count: 1;
		-moz-column-count: 1;
		column-count: 1;
	}
	.c-sitemap__main-title {
		font-size: 18px;
		padding: 10px;
	}
	/* スマホでは文字サイズを少し調整 */
	.c-sitemap__item {
		font-size: 14px;
		margin-bottom: 10px;
	}
}
