@charset "utf-8";
/*	===============================================================
	● サイトCSSファイル
	---------------------------------------------------------------
	Release 2025.10.22                               Powerd by TDR
	=============================================================== */

	/*============================
		Webフォント
	============================*/
	@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;800&family=M+PLUS+1p:wght@700&display=swap');
	/*
		font-family: "BIZ UDPGothic", sans-serif; font-weight: 400;
		font-family: "BIZ UDPGothic", sans-serif; font-weight: 800;
		font-family: "M PLUS 1p", sans-serif; font-optical-sizing: auto;
	*/
	:root {
		--font_awesome:"Font Awesome 6 Free";
		--btn_color:#448ffc;
		--aside_color:#999;
		--mb_xsmall:10px;
		--mb_small:18px;
		--mb_middle:40px;
		--mb_large:65px;
	}
	@media screen and (max-width: 768px)
	{
		:root {
			--mb_xsmall:8px;
			--mb_small:13px;
			--mb_middle:25px;
			--mb_large:40px;
		}
	}

	/*============================
		レイアウト
	============================*/
	html
	{
		overflow: auto;
		font-size: 62.5%;
		margin: auto;
		padding:0;
		scroll-behavior: smooth;
		scroll-padding-top: 130px;
	}

	body
	{
		font-family: "BIZ UDPGothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'MS Ｐゴシック', 'MS PGothic', sans-serif;
		font-size: 1.6rem;
		font-weight: 400;
		background: #fff;
		color:#222;
		font-weight: 400;
		margin: auto;
		padding:0;
		position: relative;
		line-height: 1.7;
		letter-spacing: 0.05em;
	}
	main
	{
		display:block;
		width: 100%;
		/* overflow: hidden; */
		position: relative;
		z-index: 0;
		margin-bottom: 0;
	}
	main > article,
	main > section
	{
		display:block;
		width: 100%;
		background:#fff;
	}
	.container
	{
		max-width:1440px;
		width:100%;
		margin:0 auto;
		padding:50px 30px 0px;
		position: relative;
		z-index: 0;
	}
	article > .container
	{
		padding-top: 60px;
	}
	header > .container
	{
		max-width:100%;
	}
	section.contents_wrap
	{
		width: 100%;
	}
	figure img
	{
		width:100%;
		height:auto;
	}
	figure.obfit_contain img
	{
		object-fit: contain!important;
	}
	figure img[data-lity="data-lity"]
	{
		cursor: pointer;
	}
	figure img[data-lity="data-lity"]:hover
	{
		opacity: 0.8;
	}

	p
	{
		text-align: justify;
		word-break: break-all;
	}
	a,
	a *
	{
		color:#222;
		/* transition: 0.3s; */
		transition: 0.1s;
		text-decoration: none;
	}
	a:hover
	{
		color:#0f88bc;
		/* opacity: 0.8; */
		opacity: 1;
	}
	a.p_link
	{
		color:#0f88bc;
	}
	a.p_link:hover
	{
		opacity: 0.6;
	}

	.pc{display: inline-block;}
	.sp{display: none;}

	@media screen and (max-width: 768px)
	{
		.pc{display: none;}
		.sp{display: inline-block;}
	}

	.mb_x{margin-bottom:var(--mb_xsmall)!important}
	.mb_s{margin-bottom:var(--mb_small)!important}
	.mb_m{margin-bottom:var(--mb_middle)!important}
	.mb_l{margin-bottom:var(--mb_large)!important}
	.mt_l{margin-top:var(--mb_large)!important}

	.m_auto{margin:auto}

	:is(.txt,.txt_wrap,.kome) a:not(:is(.download,.arw))
	{
		text-decoration: none;
		color: #0f88bc;
	}
	:is(.txt,.txt_wrap,.kome) a:not(:is(.download,.arw)):hover
	{
		text-decoration: underline;
		text-underline-offset: .3em;
		text-decoration-color: #0f88bc;
		transition: 0.1s;
		opacity: 1;
	}
	.btn_wrap a
	{
		text-decoration: none;
		color: #222;
	}
	.btn_wrap a:hover
	{
		text-decoration: none;
	}

	a.arw
	{
		display: flex;
		width:fit-content;
		align-items: baseline;
		gap:10px;
		line-height: 1.3;
		padding-bottom: .1em;
		/* margin-bottom:0.5em; */
		background: linear-gradient(#0f88bc, #0f88bc) 0 100% / 0 1px no-repeat;
		transition: background 0s;
		text-decoration: none;
		color:#0f88bc;
	}
	a.arw:hover
	{
		color:#0f88bc;
		background-size: 100% 1px;
	}
	a.arw::before
	{
		content:"";
		display: inline-block;
		min-width:1em;
		height:1em;
		position: relative;
		top:0.2em;
		/* background-color: #70a5ff; */
		background-color: #afbddd;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: 100%;
		mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zM160 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h94.1L119 327c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V328c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24H160z"/></svg>');
	}

	a.download
	{
		display: flex;
		width:fit-content;
		/* align-items: center; */
		align-items: baseline;
		gap:10px;
		line-height: 1.3;
		padding-bottom: .1em;
		background: linear-gradient(#0f88bc, #0f88bc) 0 100% / 0 1px no-repeat;
		transition: background 0s;
		text-decoration: none;
		color:#0f88bc;
	}

	a.download.inline
	{
		display: inline-flex;
	}

	a.download:hover
	{
		color:#0f88bc;
		background-size: 100% 1px;
	}
	a.download::before
	{
		content:"";
		display: inline-block;
		width:1em;
		height:1em;
		background-color: #0f88bc;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: 100%;
		mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/></svg>');
	}

	.address .flex_inner a.download
	{
		display: inline-block;
	}
	.address .flex_inner a.download::before
	{
		display: inline-block;
		margin-right: 0.5em;
	}
	/* .address .flex_inner a.download::before
	{
		content:none;
	}
	.address .flex_inner a.download::after
	{
		content:"";
		display: inline-block;
		width:1em;
		height:1em;
		margin-left: 0.25em;
		background-color: #70a5ff;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: 100%;
		mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/></svg>');
	} */


	a.page_back
	{
		width:fit-content;
		display: flex;
		justify-content: center;
		align-items: center;
		gap:10px;
		padding:0.1em 0.3em;
		margin:0 auto 0.5em;
		transition: 0.3s;
		text-decoration: none;
		/* border-top:1px solid #38ade0; */
		border-bottom:1px solid #38ade0;
		color:#222!important;
	}
	a.page_back:hover
	{
		color:#0f88bc!important;
		border-color:transparent;
	}
	a.page_back::before
	{
		content:"";
		display: inline-block;
		width:1em;
		height:1em;
		background-color: #70a5ff;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: 100%;
		mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M205 34.8c11.5 5.1 19 16.6 19 29.2v64H336c97.2 0 176 78.8 176 176c0 113.3-81.5 163.9-100.2 174.1c-2.5 1.4-5.3 1.9-8.1 1.9c-10.9 0-19.7-8.9-19.7-19.7c0-7.5 4.3-14.4 9.8-19.5c9.4-8.8 22.2-26.4 22.2-56.7c0-53-43-96-96-96H224v64c0 12.6-7.4 24.1-19 29.2s-25 3-34.4-5.4l-160-144C3.9 225.7 0 217.1 0 208s3.9-17.7 10.6-23.8l160-144c9.4-8.5 22.9-10.6 34.4-5.4z"/></svg>');
	}

	input[type="text"],
	input[type="search"],
	input[type="date"],
	input[type="tel"],
	input[type="mail"],
	input[type="password"],
	select
	{
		padding: 10px;
		border: #999 solid 1px;
		border-radius: 4px;
		background: #fff;
		font-size: 1.6rem;
		width:100%;
	}
	select
	{
		padding: 10px 30px 10px 10px;
		background: url(../images/common/select_down.svg) no-repeat top 50% right 8px / 14px auto #fff;
	}
	textarea
	{
		padding: 10px;
		border: #999 solid 1px;
		border-radius: 4px;
		background: #fff;
		font-size: 1.6rem;
		width:100%;
		height:100%;
	}
	::placeholder
	{
		color:#ccc;
	}

	.radio_wrap ul
	{
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		flex-wrap: wrap;
		gap:20px;
	}
	.radio_wrap.contact_category ul
	{
		flex-flow: row wrap;
		gap:10px 20px;
	}
	.radio_wrap ul li label span
	{
		position: relative;
		padding:5px 5px 5px 30px;
		cursor: pointer;
		white-space: nowrap;
	}
	.radio_wrap ul li label span::before,
	.radio_wrap ul li label span::after
	{
		content: "";
		display: block;
		border-radius: 50%;
		position: absolute;
		transform: translateY(-50%);
		top: 50%;
	}
	.radio_wrap ul li label span::before
	{
		background-color: #fff;
		border: 1px solid #999;
		border-radius: 50%;
		width: 18px;
		height: 18px;
		left: 5px;
	}
	.radio_wrap ul li label span:hover::before
	{
		border: 1px solid var(--btn_color);
	}
	.radio_wrap ul li label span::after
	{
		background-color: var(--btn_color);
		border-radius: 50%;
		opacity: 0;
		width: 14px;
		height: 14px;
		left: 7px;
		transition: 0.1s;
	}
	.radio_wrap ul li label input[type=radio]:checked + span::before
	{
		border: 1px solid var(--btn_color);
	}
	.radio_wrap ul li label input[type=radio]:checked + span::after
	{
		opacity: 1;
	}

	.alc
	{
		text-align: center!important;
		justify-content: center!important;
	}
	.alr
	{
		text-align: right!important;
		justify-content: flex-end!important;
	}
	/* .mt_1e
	{
		margin-top:1em;
	} */


	section > .container > h3
	{
		margin-bottom:20px;
	}

	.pc_only{display:block;}
	.sp_only{display:none;}

	@media screen and (max-width: 768px)
	{
		body
		{
			font-size: 1.4rem;
		}
		.container
		{
			padding:30px 15px 0px;
		}
		article > .container
		{
			padding-top: 30px;
		}

		.radio_wrap
		{
			width: fit-content;
		}
		.radio_wrap ul
		{
			width: fit-content;
			gap:10px;
		}
		section.contents_wrap .contents
		{
			max-width: 100%;
			width: 100%;
			padding:30px 20px;
		}
		section.contents_wrap .contents img
		{
			max-width: 100%;
			height:auto;
			float: none!important;
			display: block;
			margin: 0.5em auto;
		}
		.contents div :is( h3, h4 ) img
		{
			margin: 0.5em 0!important;
		}
		section.contents_wrap .contents table
		{
			max-width: 100%;
			table-layout: fixed!important;
		}
		.pc_only{display:none;}
		.sp_only{display:inline-block;}
	}

	/*============================
		ブランディング
	============================*/
	.branding
	{
		width: 100%;
		position: relative;
		background-size: cover;
	}
	.branding.main_kv
	{
		height:660px;
		/* background: url(../images/common/kv_main.jpg) no-repeat; */
		/* background-position: right center; */
		overflow: hidden;
	}
	.branding.main_kv #img-wrap
	{
		position: absolute;
		z-index: 0;
	}
	.branding.main_kv #img-wrap::after
	{
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top:0;
		left:0;
		background: linear-gradient(to left, transparent 0%, transparent 60%, rgba(0,0,0,0.4) 100%);
	}
	.branding.main_kv #img-wrap img
	{
		object-position: center bottom;
	}

	.branding .kv_copy
	{
		width: 100%;
		max-width: 1640px;
		margin: auto;
		text-shadow:2px 2px 4px rgba(0, 0, 0, .5);
	}
	.branding .kv_inner
	{
		width: 100%;
		max-width: 1440px;
		margin: auto;
		padding:0px;
	}
	.branding.main_kv .kv_copy
	{
		padding-top:5%;
	}
	.branding .kv_copy h2
	{
		font-family: "M PLUS 1p", sans-serif; font-optical-sizing: auto;
		/* font-size: 5.6rem; */
		font-size: clamp(2.3rem, 5vw, 5.6rem);
		letter-spacing: 1px;
		color:#fff;
		font-weight: 800;
		text-shadow:2px 2px 4px rgba(0, 0, 0, .5);
		padding-inline: 30px;
		position: relative;
		z-index: 10;
	}
	.branding .kv_copy h2 span
	{
		display: block;
		margin-bottom:0px;
		font-weight: 800;
		position: relative;
	}
	.branding .kv_copy h2 span::after
	{
		content: "";
		height:2px;
		max-width:630px;
		min-width:630px;
		background: #fff;
		position: absolute;
		bottom:-2px;
		left:0;
		box-shadow:2px 2px 4px rgba(0, 0, 0, .5);
	}
	.branding .kv_copy > p
	{
		color:#fff;
		margin-top:35px;
		max-width:calc(630px + 60px);
		/* font-size:2.4rem; */
		font-size: clamp(1.1rem, 5vw, 2.4rem);
		letter-spacing: 1px;
		padding-inline: 30px;
		position: relative;
		z-index: 10;
		text-shadow:2px 2px 4px rgba(0, 0, 0, .5);
	}

	@media screen and (max-width: 768px)
	{
		.branding .kv_copy h2 span::after
		{
			max-width:90%;
			min-width:90%;
		}
		.branding.main_kv #img-wrap
		{
			height: 250px!important;
		}
		.branding.main_kv #img-wrap img
		{
			object-position: center bottom;
			height: 100%!important;
		}
	}


	/* sub_kv */
	.branding.sub_kv
	{
		height:250px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}
	.branding.outpatient
	{
		background-image: url(../images/common/kv_outpatient.jpg);
		background-position: center right 28%;
	}
	.branding.hospitalization
	{
		background-image: url(../images/common/kv_hospitalization.jpg);
		background-position: center right 40%;
	}
	.branding.medical
	{
		background-image: url(../images/common/kv_medical.jpg);
		background-position: top right 35%;
	}
	.branding.clinical
	{
		background-image: url(../images/common/kv_clinical.jpg);
		background-position: center center;
	}
	.branding.recruitment
	{
		background-image: url(../images/common/kv_recruitment.jpg);
		background-position: center right 35%;
	}
	.branding.ncnp
	{
		height:250px;
		background-image: url(../images/common/kv_ncnphospital.jpg);
		background-position: center center;
	}
	.branding.column
	{
		height:150px;
		background-image: url(../images/common/kv_column.jpg);
		background-position: center right 35%;
	}
	.branding.sub_kv .kv_copy
	{
		max-width: 600px;
		margin-left:0;
		position: absolute;
		top:50%;
		transform:translate(0, -50%);
	}
	.branding.sub_kv .kv_copy h1
	{
		font-family: "M PLUS 1p", sans-serif; font-optical-sizing: auto;
		font-size: 5.3rem;
		letter-spacing: 1px;
		color:#fff;
		font-weight: 800;
		text-align: center;
		text-shadow:2px 2px 4px rgba(0, 0, 0, .5);
	}
	.branding.sub_kv .kv_copy h1 span
	{
		font-family: "BIZ UDPGothic", sans-serif;
		/* font-size: 2.4rem; */
		font-size: clamp(1.1rem, 5vw, 2rem);
		font-weight: 400;
		display: block;
		padding-top:5px;
		border-top:1px solid #fff;
	}

	@media screen and (max-width: 768px)
	{
		.branding.main_kv
		{
			height:250px;
			background-size: auto 100%;
		}
		.branding.sub_kv
		{
			height:100px;
		}
		.branding.outpatient
		{
			background-size: auto 100%;
			background-position: right -90px center;
		}
		.branding .kv_copy
		{
			padding:15px 10px 0 10px;
			height:100%;
			position: relative;
		}
		.branding .kv_copy h2
		{
			font-size: 2rem;
			padding-inline:0;
		}
		.branding .kv_copy > p
		{
			position: absolute;
			bottom:15px;
			color:#000;
			font-size:1.1rem;
			padding:5px 10px;
			margin-right:10px;
			text-shadow: none;
			background: rgba(255, 255, 255, .8);
		}

		.branding.sub_kv .kv_copy
		{
			max-width: fit-content;
			padding-left:20px;
			margin:0;
		}
		.branding.sub_kv .kv_copy h1
		{
			font-size: 2.3rem;
		}
		.branding.sub_kv .kv_copy h1 span
		{
			font-size: 1.5rem;
			padding-top:0;
			padding:0 1em;
		}

	}


	/*============================
		TOPカテゴリ
	============================*/
	.top_category
	{
		width:100%;
		background:linear-gradient(rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0) 50%), url(../images/site/top/bg_top_category.jpg) no-repeat ;
		background-size:cover;
		background-position: center center;
		padding-bottom:60px;
		container-type: inline-size;
	}
	.important_wrap
	{
		background: #fff;
		border:2px solid #ff1f54;
		padding:15px 30px;
		border-radius: 0 10px 10px 0;
		width:calc(100% - 45px);
		position: relative;
		left:45px;
	}
	.top_category .important_wrap
	{
		margin-bottom:60px;
	}
	.important_wrap:before
	{
		content:"\f05a";
		font-family: var(--font_awesome);
		font-weight: 800;
		font-size:2rem;
		width:45px;
		color:#fff;
		background: #ff1f54;
		border:2px solid #ff1f54;
		border-radius: 10px 0 0 10px;
		position: absolute;
		top:-2px;
		left:-45px;
		height:calc( 100% + 4px );
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.contents .important_wrap
	{
		background: #fff;
		border:2px solid #ff1f54;
		padding:15px 20px;
		border-radius: 8px;
		width:100%;
		position: relative;
		left:0;
		/* margin-bottom:60px; */
	}
	.contents .important_wrap:before
	{
		content:none;
	}
	.contents .important_wrap h4
	{
		color:#ff1f54;
		margin-bottom:10px;
	}
	.important_wrap ul li
	{
		margin-bottom:15px;
		display: flex;
		gap:30px;
		color: #ff1f54;
		font-weight: 800;
	}
	.important_wrap ul li:last-child
	{
		margin-bottom:0;
	}
	.important_wrap ul li div.time
	{
		width:106px;
		white-space: nowrap;
		letter-spacing: 0;
	}
	.important_wrap ul li div.ttl
	{
		width:calc(100% - 30px - 106px);
	}
	.important_wrap ul li div.ttl a
	{
		color: #222;
		padding-bottom: .3em;
		background: linear-gradient(#38ade0, #38ade0) 0 100% / 0 3px no-repeat;
		transition: background 0s;
		text-decoration: none;
	}
	.important_wrap ul li div.ttl a:hover
	{
		color: #0f88bc;
		background-size: 100% 1px;
	}
	@media screen and (max-width: 768px)
	{
		.top_category
		{
			padding-bottom:30px;
		}
		.important_wrap
		{
			padding:10px 15px;
			margin-bottom:30px;
		}
		.top_category .important_wrap
		{
			margin-bottom:30px;
		}
		.important_wrap
		{
			width:calc(100% - 30px);
			left:30px;
		}
		.important_wrap:before
		{
			font-size:1.5rem;
			width:30px;
			left: -30px;
		}
		.contents .important_wrap
		{
			padding:10px 15px;
			margin-bottom:30px;
		}
		.important_wrap ul li
		{
			flex-direction: column;
			gap:2%;
		}
		.important_wrap ul li div.time
		{
			display: inline-block;
			margin-bottom: 8px;
			border-bottom: 1px solid #ff1f54;
			font-size: 1.1rem;
			width: fit-content;
		}
		.important_wrap ul li div.ttl
		{
			width:100%;
			font-size: 1.1rem;
		}
	}

	.category_wrap
	{
		margin-bottom:0px;
	}
	.category_wrap ul
	{
		display: flex;
		justify-content: space-between;
		gap:40px;
		margin-bottom: 40px;
	}
	.category_wrap ul.main_cate li
	{
		width: calc( ( 100% - 40px * 4 ) / 5 );
	}
	.category_wrap ul.main_cate li a
	{
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 250px 1fr;
		gap:0;
		width:100%;
		height:100%;
		min-height:510px;
		border-radius: 10px;
		text-decoration: none;
		color:#222;
		box-shadow: 3px 3px 10px rgba(0, 0, 0, .5);
	}
	.category_wrap ul.main_cate li a figure
	{
		width:100%;
		height:100%;
		border-radius: 8px 8px 0 0;
	}
	.category_wrap ul.main_cate li a figure img
	{
		width:100%;
		height:100%;
		object-fit: cover;
		object-position: 50% 30%;
		border-radius: 8px 8px 0 0;
	}
	.category_wrap ul.main_cate li.department a figure img
	{
		object-position: 50% 20%;
	}
	.category_wrap ul.main_cate li.team a figure img
	{
		object-position: 50% 45%;
	}
	.category_wrap ul.main_cate li.brain a figure img
	{
		object-position: 50% 45%;
	}
	.category_wrap ul.main_cate li a > div
	{
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: fit-content(55px, 70px) 1fr minmax(31px,51px);
		gap:30px;
		width: 100%;
		height:100%;
		min-height: 250px;
		background: #fff;
		border-radius: 0 0 8px 8px;
		padding:40px 10px 25px;
		position: relative;
		z-index: 10;
		transition: 0.3s;
	}
	.category_wrap ul.main_cate li a > div.cate_inner::before
	{
		content: "";
		display: block;
		width:43px;
		height:43px;
		position: absolute;
		top:-25px;
		left:50%;
		transform:translate(-50%, 0);
		z-index: 3;
		background-color: #283a58;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
	}
	.category_wrap ul.main_cate li.outpatient a > div.cate_inner::before
	{
		mask-image:url(../images/common/icon/menu_1.svg);
	}
	.category_wrap ul.main_cate li.hospitalization a > div.cate_inner::before
	{
		mask-image:url(../images/common/icon/menu_2.svg);
	}
	.category_wrap ul.main_cate li.department a > div.cate_inner::before
	{
		mask-image:url(../images/common/icon/menu_3.svg);
	}
	.category_wrap ul.main_cate li.for_medical a > div.cate_inner::before
	{
		mask-image:url(../images/common/icon/menu_4.svg);
	}
	.category_wrap ul.main_cate li.brain a > div.cate_inner::before
	{
		mask-image:url(../images/common/icon/menu_5.svg);
	}
	.category_wrap ul.main_cate li a > div.cate_inner::after
	{
		content: "";
		width:calc( ( ( 100vw - 160px ) / 5 ) / 1.8 );
		height:calc( ( ( 100vw - 160px ) / 5 ) / 1.8 );
		max-width:125px;
		max-height:62.5px;
		padding:0 0 13%;
		margin:0;
		object-fit: none;
		position: absolute;
		top:-47.5px;
		left:50%;
		transform:translate(-50%, 0);
		border-radius:65px 65px 0 0;
		background: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 0;
		transition: 0.3s;
	}
	.category_wrap ul.main_cate li a > div h4
	{
		position: relative;
		z-index: 10;
		text-align: center;
		font-weight: 800;
		margin-bottom:0px;
	}
	.category_wrap ul.main_cate li a > div h4 span
	{
		display: block;
		color:#808080;
		font-weight: 400;
		font-size:1.1rem;
		letter-spacing: 0;
		margin-top: 5px;
		margin-bottom: 0px;
	}
	.category_wrap ul.main_cate li a > div > p
	{
		text-align: center;
		position: relative;
		z-index: 10;
		font-size:1.3rem;
		color:#808080;
		margin-bottom: 0px;
	}
	@container (max-width: 1024px)
	{
		.category_wrap ul.main_cate li a > div > p
		{
			font-size:1.1rem;
		}
		.category_wrap ul.main_cate li a > div > p br
		{
			display: none;
		}
	}
	.category_wrap ul.main_cate li a > div > div
	{
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.category_wrap ul.main_cate li a > div > div > p
	{
		width:fit-content;
		padding:5px 15px;
		background: #e6e6e6;
		text-align: center;
		font-size:1.2rem;
		color:#666;
		margin:auto;
		border-radius: 5px;
	}
	@container (max-width: 1024px)
	{
		.category_wrap ul.main_cate li a > div > div > p
		{
			font-size:1.1rem;
		}
	}
	.category_wrap ul.main_cate li a:hover,
	.category_wrap ul.main_cate li a:hover *
	{
		opacity: 1;
	}
	.category_wrap ul.main_cate li a:hover > div,
	.category_wrap ul.main_cate li a:hover > div.cate_inner::after
	{
		background: #0f88bc;
	}

	.category_wrap ul.main_cate li a:hover > div.cate_inner::before
	{
		background-color: #fff;
	}
	.category_wrap ul.main_cate li a:hover > div h4
	{
		color:#fff;
	}
	.category_wrap ul.main_cate li a:hover > div h4 span
	{
		color:#fff;
	}
	.category_wrap ul.main_cate li a:hover > div > p
	{
		color:#fff;
	}
	.category_wrap ul.main_cate li a:hover > div > div > p
	{
		background: #fff;
		color:#000;
	}
/*
	@container (max-width: 1024px)
	{
		.category_wrap ul.main_cate li a figure
		{
			height:fit-content;
		}
		.category_wrap ul.main_cate li a > div > p
		{
			font-size:1.0rem;
			margin-bottom:20px;
		}
		.category_wrap ul.main_cate li a > div > div > p
		{
			font-size:1.2rem;
		}
		.category_wrap ul.main_cate li a > div
		{
			width: 100%;
			height:100%;
			min-height: 250px;
			background: #fff;
			border-radius: 0 0 8px 8px;
			padding:40px 10px 25px;
			position: relative;
			z-index: 10;
			transition: 0.3s;
		}
	} */

	.category_wrap ul.sub_cate
	{
		display: flex;
		justify-content: space-between;
		gap:40px;
		margin-bottom: 0px;
	}
	.category_wrap ul.sub_cate li
	{
		width: calc( ( 100% - 40px * 2 ) / 3 );
	}
	@media screen and (max-width: 920px)
	{
		.category_wrap ul
		{
			gap:20px;
			margin-bottom: 20px;
		}
		.category_wrap ul.main_cate li
		{
			width: calc( ( 100% - 20px * 4 ) / 5 );
		}
		.category_wrap ul.sub_cate
		{
			gap:20px;
		}
		.category_wrap ul.sub_cate li
		{
			width: calc( ( 100% - 20px * 2 ) / 3 );
		}
	}
	.category_wrap ul.sub_cate li a
	{
		width:100%;
		height:100%;
		min-height:120px;
		border-radius: 8px;
		padding:20px 30px 20px;
		display: flex;
		align-items: center;
		gap:25px;
		text-decoration: none;
		color:#222;
		background: #fff;
		box-shadow: 3px 3px 10px rgba(0, 0, 0, .5);
		position: relative;
		z-index: 1;
	}
	.category_wrap ul.sub_cate li a
	{
		padding-left:104px;
	}
	.category_wrap ul.sub_cate li a::before
	{
		content: "";
		display: block;
		width:43px;
		height:43px;
		position: absolute;
		top:50%;
		left:32px;
		transform:translate(0, -50%);
		z-index: 3;
		background-color: #283a58;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
	}
	.category_wrap ul.sub_cate li.advance_medical a::before
	{
		mask-image:url(../images/common/icon/menu_6.svg);
	}
	.category_wrap ul.sub_cate li.for_recruitment a::before
	{
		mask-image:url(../images/common/icon/menu_7.svg);
	}
	.category_wrap ul.sub_cate li.foreign a::before
	{
		mask-image:url(../images/common/icon/menu_8.svg);
	}

	.category_wrap ul.sub_cate li a h4
	{
		text-align: center;
		font-weight: 800;
		text-align: left;
	}
	.category_wrap ul.sub_cate li a h4 span
	{
		display: block;
		color:#808080;
		font-weight: 400;
		font-size:1.1rem;
		letter-spacing: 0;
	}
	.category_wrap ul.sub_cate li a::after
	{
		content:"\f0da";
		font-family: var(--font_awesome);
		font-weight: 800;
		position: absolute;
		top:50%;
		right:30px;
		transform:translate(0, -50%);
		color:#ccc;
		font-size:1.8rem;
	}

	.category_wrap ul.sub_cate li a:hover
	{
		background: #0f88bc;
		opacity: 1;
	}
	.category_wrap ul.sub_cate li a:hover *
	{
		color:#fff;
		opacity: 1;
	}
	.category_wrap ul.sub_cate li a:hover h4
	{
		color:#fff;
	}
	.category_wrap ul.sub_cate li a:hover h4 span
	{
		color:#fff;
	}
	.category_wrap ul.sub_cate li a:hover::after
	{
		color:#fff;
	}
	.category_wrap ul.sub_cate li:not(.about_ncnp) a:hover::before
	{
		background-color: #fff;
	}

	@media screen and (max-width: 768px)
	{
		.category_wrap ul
		{
			display: flex;
			flex-wrap: wrap;
			gap:20px;
			margin-bottom: 20px;
		}
		.category_wrap ul.main_cate li
		{
			width: 100%;
		}
		.category_wrap ul.main_cate li a
		{
			display: flex;
			flex-direction: row;
			height:185px;
   		 	min-height: 0;
			position: relative;
		}
		.category_wrap ul.main_cate li a figure
		{
			width:30%;
			height:auto;
			border-radius: 0;
			border-radius: 8px 0 0 8px;
			position: relative;
		}
		.category_wrap ul.main_cate li a figure img
		{
			border-radius: 10px 0 0 10px;
		}
		.category_wrap ul.main_cate li a > div
		{
			display: block;
			width: 70%;
			height:100%;
			min-height: auto;
			border-radius: 0;
			padding:20px 10px 18px;
			border-radius: 0 8px 8px 0;
		}
		.category_wrap ul.main_cate li a > div h4
		{
			font-size:1.4rem;
			margin-bottom:15px;
		}
		.category_wrap ul.main_cate li a > div h4 span
		{
			font-size: 1rem;
			margin-bottom: 0px;
		}
		.category_wrap ul.main_cate li a > div > p
		{
			font-size: 1.2rem;
			margin-bottom: 15px;
		}
		.category_wrap ul.main_cate li a > div > p br
		{
			display: block;
		}
		.category_wrap ul.main_cate li a > div figure
		{
			display: none;
		}
		.category_wrap ul.main_cate li a > div.cate_inner::before {
			content: none;
		}
		.category_wrap ul.main_cate li a > div.cate_inner::after {
			content: none;
		}
		.category_wrap ul.sub_cate
		{
			flex-direction: column;
			gap:20px;
		}
		.category_wrap ul.sub_cate li
		{
			width:100%;
		}
		.category_wrap ul.sub_cate li a
		{
			width:100%;
			height:100%;
			min-height:70px;
			padding:20px 30px 20px;
			display: flex;
			align-items: center;
			gap:25px;
			text-decoration: none;
			color:#222;
			background: #fff;
			box-shadow: 3px 3px 10px rgba(0, 0, 0, .5);
			position: relative;
		}
		.top_category .category_wrap ul.sub_cate li a
		{
			padding:20px 30px 20px 104px;
		}
		.category_wrap ul.sub_cate li a h4
		{
			font-size:1.4rem;
		}
		.category_wrap ul.sub_cate li a h4 span
		{
			font-size:1rem;
		}
	}
	/*============================
		お知らせ
	============================*/
	.top_topics
	{
		margin:auto;
		padding: 30px 0px 0px;
	}
	.top_topics .container
	{
		margin:auto;
		padding: 30px 15px 0px;
	}
	.top_topics .container ul
	{
		display:flex;
		justify-content:flex-start;
		/* gap:20px; */
		gap:30px 45px;
	}
	.top_topics .container li
	{
		width:calc( ( 100% - 60px ) / 4 );
		/* width:320px; */
		max-width: 320px;
	}
	.top_topics .container li a
	{
		display: block;
		border-radius: 8px;
		line-height: 0.5!important;
		padding:0!important;
	}
	.top_topics .container li a img
	{
		object-fit: cover;
		line-height: 1;
		border-radius: 8px;
	}
	.top_topics .container li a:hover
	{
		opacity: 0.8;
		box-shadow: 1px 1px 8px rgba(0, 0, 0, .3);
	}

	@media screen and (max-width: 768px)
	{
		.top_topics
		{
			margin:auto;
			padding: 0px 0px 0px;
		}
		.top_topics .container ul
		{
			flex-wrap: wrap;
			gap:10px;
		}
		.top_topics .container li
		{
			width:calc( ( 100% - 10px ) / 2 );
		}
	}

	.news_wrap
	{
		display: flex;
		justify-content: space-between;
		gap:100px;
		margin-bottom: 60px;
	}
	.contents_news .news_wrap
	{
		margin-bottom: 0px;
	}

	.news_wrap > div
	{
		width:calc( ( 100% - 100px ) / 2 );
		max-width:680px;
		/* margin-bottom: 60px; */
	}
	.contents_news .news_wrap > div
	{
		width: 100%;
		max-width: 100%;
	}
	div.client h4
	{
		color:#f59daf;
		font-weight: 400;
		border-bottom:3px solid #f9ccd5;
		padding-bottom:5px;
		margin-bottom:15px;
	}
	div.hospital h4
	{
		color:#4ca46a;
		font-weight: 400;
		border-bottom:3px solid #b8dec5;
		padding-bottom:5px;
		margin-bottom:15px;
	}
	div.nurse h4
	{
		color:#006d9b;
		font-weight: 400;
		border-bottom:3px solid #aadef5;
		padding-bottom:5px;
		margin-bottom:15px;
	}

	ul.news_list li
	{
		margin-bottom:30px;
	}
	ul.news_list li:last-child
	{
		margin-bottom:0px;
	}
	ul.news_list li > div,
	.detail_hd > div
	{
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap:10px 0px;
		line-height: 1;
		margin-bottom: 10px;
	}
	ul.news_list li > div .mark,
	.detail_hd > div .mark
	{
		line-height: 1.7;
		margin-right: 2em;
		display:inline-block;
		text-align: center;
		min-width: 110px;
		/* font-size: 1.4rem; */
		font-size: 1.2rem;
		padding:5px 10px;
		border-radius: 3px;
		color:#444;
		background-color: #f3f3f3;
	}
	.client .mark
	{
		background: #fdeef1!important;
	}
	.hospital .mark
	{
		background: #dfefe4!important;
	}
	.nurse .mark
	{
		background: #d8ecf5!important;
	}
	.award .mark
	{
		background: #b1ddf4!important;
	}
	.archive .mark
	{
		background: #cab1f4!important;
	}
	.detail_hd > div .award_name
	{
		margin-right: 2em;
	}
	ul.news_list.medical li > div .mark
	{
		background: #dfefe4;
	}
	.detail_hd > div .mark.recruit1,
	.detail_hd > div .mark.recruit11
	{
		background: #2f9fe0;
		color:#fff;
	}
	.detail_hd > div .mark.recruit2,
	.detail_hd > div .mark.recruit12
	{
		background: #ff7f2a;
		color:#fff;
	}
	.detail_hd > div .mark.recruit3,
	.detail_hd > div .mark.recruit13
	{
		background: #44aa00;
		color:#fff;
	}
	.detail_hd > div .mark.recruit4,
	.detail_hd > div .mark.recruit14
	{
		background: #c837ab;
		color:#fff;
	}
	.detail_hd > div .mark.recruit5,
	.detail_hd > div .mark.recruit15
	{
		background: #8a0c47;
		color:#fff;
	}
	.detail_hd > div .mark.recruit6,
	.detail_hd > div .mark.recruit16
	{
		background: #0bb1d1;
		color:#fff;
	}
	ul.news_list li > div time,
	.detail_hd > div time
	{
		display:inline-block;
		font-size: 1.6rem;
		color:#999;
	}
	ul.news_list li > div time:before,
	.detail_hd > div time:before
	{
		content:"\f017";
		font-family: var(--font_awesome);
		font-weight: 400;
		margin-right:0.3em
	}
	ul.news_list li > a
	{
		color:#222;
		padding-bottom: .3em;
		background: linear-gradient(#38ade0, #38ade0) 0 100%/0 3px no-repeat;
		transition: background 0s;
		text-decoration: none;
	}
	ul.news_list li > a:hover
	{
		color:#0f88bc;
		background-size: 100% 1px;
	}

	.news_more
	{
		margin:40px auto 50px;
		text-align: center;
		font-size: 1.6rem;
	}
	.news_more a
	{
		display: inline-block;
		width: fit-content;
		line-height: 1.3;
		padding-inline: 0.2em;
		padding-bottom: .1em;
		border-bottom:1px solid #0f88bc;
		transition: background 0s;
		text-decoration: none;
		color: #0f88bc;
	}
	.news_more a:hover
	{
		text-decoration: none !important;
		border-bottom: none;
	}


	.detail_hd
	{
		margin-bottom: 40px;
	}

	.top_subbanner
	{
		margin:auto;
		padding: 0px 0px 30px;
	}
	.top_subbanner .container
	{
		margin:auto;
		padding: 0px 30px 30px;
	}
	.top_subbanner .container ul
	{
		display:flex;
		justify-content:flex-start;
		gap:20px;
	}
	.top_subbanner .container li
	{
		/* width:calc( ( 100% - 60px ) / 4 ); */
		width:320px;
	}
	.top_subbanner .container li a
	{
		display: block;
		border-radius: 8px;
		line-height: 0.5!important;
		padding:0!important;
	}
	.top_subbanner .container li a img
	{
		object-fit: cover;
		line-height: 1;
		border-radius: 8px;
	}
	.top_subbanner .container li a:hover
	{
		opacity: 0.8;
		box-shadow: 1px 1px 8px rgba(0, 0, 0, .3);
	}
	@media screen and (max-width: 768px)
	{
		.top_subbanner
		{
			margin:auto;
			padding: 0px 0px 0px;
		}
		.top_subbanner .container ul
		{
			flex-wrap: wrap;
			gap:10px;
		}
		.top_subbanner .container li
		{
			width:calc( ( 100% - 10px ) / 2 );
		}
	}

	@media screen and (max-width: 768px)
	{
		.news_wrap
		{
			display: block;
			margin-bottom:30px;
		}
		.news_wrap > div
		{
			width:100%;
			margin-bottom: 0px;
		}
		.news_wrap > div:first-child
		{
			margin-bottom: 30px;
		}
		ul.news_list li
		{
			margin-bottom:20px;
		}
		ul.news_list li > div time
		{
			font-size: 1.3rem;
		}
		ul.news_list li > a
		{
			font-size:1.4rem;
		}
		.detail_hd
		{
			margin-bottom: 25px;
		}
		ul.news_list li > div,
		.detail_hd > div
		{
			justify-content: space-between;
		}
	}

	/*============================
		コンテンツガイド
	============================*/
	.guide_wrap
	{
		container-type: inline-size;
	}
	.guide_box
	{
		display: flex;
		flex-wrap: wrap;
		gap:32px;
	}
	.guide_box > li
	{
		width: calc(( 100% - 32px ) / 2);
		padding:24px;
		line-height: 1;
		border: 1px solid #006d9a;
		border-radius: 16px;
		box-shadow:0px 0px 7px rgba(185, 185, 185, 0.7);
	}
	@container (max-width: 600px)
	{
		.guide_box > li
		{
			width: 100%;
		}
	}
	.guide_box > li h4
	{
		display: flex;
		justify-content: center;
		align-items: center;
		gap:16px;
		position: relative;
		margin-bottom: 24px;
		text-align: center;
		font-weight: 700;
		letter-spacing: 0.15em;
	}
	.guide_box > li h4::before
	{
		content:"";
		display: block;
		width: 2.8em;
		height: 2.8em;
		background-color: #006d9a;
		position: relative;
		top:-0.05em;
		mask-position: center;
		mask-size: contain;
		mask-repeat: no-repeat;
	}
	.guide_box > li.first_visit h4::before
	{
		mask-image: url(../images/common/icon/guide/first_visit.png);
	}
	.guide_box > li.re_examination h4::before
	{
		mask-image: url(../images/common/icon/guide/re_examination.png);
	}
	.guide_box > li.outpatient h4::before
	{
		mask-image: url(../images/common/icon/guide/outpatient.png);
	}
	.guide_box > li.medical_and_welfare h4::before
	{
		mask-image: url(../images/common/icon/guide/medical_and_welfare.png);
	}

	.guide_box > li.hospitalization h4::before
	{
		mask-image: url(../images/common/icon/guide/hospitalization.png);
	}
	.guide_box > li.ward h4::before
	{
		mask-image: url(../images/common/icon/guide/ward.png);
	}
	.guide_box > li.meeting h4::before
	{
		mask-image: url(../images/common/icon/guide/meeting.png);
	}
	.guide_box > li.examination h4::before
	{
		mask-image: url(../images/common/icon/guide/examination.png);
	}

	.guide_box > li.medical_cooperation h4::before
	{
		mask-image: url(../images/common/icon/guide/medical_cooperation.png);
	}
	.guide_box > li.second_opinion h4::before
	{
		mask-image: url(../images/common/icon/guide/second_opinion.png);
	}
	.guide_box > li.patient_support h4::before
	{
		mask-image: url(../images/common/icon/guide/patient_support.png);
	}
	.guide_box > li.international_cooperation h4::before
	{
		mask-image: url(../images/common/icon/guide/international_cooperation.png);
	}

	.guide_box > li.application h4::before
	{
		mask-image: url(../images/common/icon/guide/application.png);
	}
	.guide_box > li.Information h4::before
	{
		mask-image: url(../images/common/icon/guide/Information.png);
	}
	.guide_box > li.consultation_office h4::before
	{
		mask-image: url(../images/common/icon/guide/consultation_office.png);
	}
	.guide_box > li.medical_cooperation_office h4::before
	{
		mask-image: url(../images/common/icon/guide/medical_cooperation_office.png);
	}
	.guide_box > li.admission_and_discharge h4::before
	{
		mask-image: url(../images/common/icon/guide/admission_and_discharge.png);
	}


	.guide_inner
	{
		display: flex;
		flex-wrap: wrap;
		gap:16px;
	}
	.guide_inner li
	{
		display: inline-block;
		max-width: 100%;
		min-height: 60.38px;
		width: calc((100% - 20px) / 2);
	}
	@container (max-width: 1000px)
	{
		.guide_inner li
		{
			width: 100%;
		}
	}
	.guide_inner li a
	{
		display: flex;
		align-items: center;
		height: 100%;
		position: relative;
		font-size: 1.4rem;
		border:2px solid #0f88bc;
		border-radius: 8px;
		line-height: 1.3;
		padding: 12px 24px 12px 18px;
		background-color:#0f88bc;
		color: #fff !important;
		text-decoration: none !important;
		transition: 0.5s;
	}
	.guide_inner li a::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 10px;
		transform: translate(0, -50%);
		display: block;
		width: 1em;
		height: 1em;
		background-color: #fff;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: 100%;
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-caret-right-fill" viewBox="0 0 16 16"><path d="m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/></svg>');
	}
	.guide_inner li a:hover
	{
		background-color:#fff;
		color: #0f88bc !important;
	}
	.guide_inner li a::before {
		right: 6px;
		background-color: #6fb8d7;
	}

	.tbl_guide .inquiry
	{
		width: 28%;
	}
	.tbl_guide .contact
	{
		width: 18%;
	}
	.tbl_guide .tel_fax
	{
		width: 34%;
	}
	.tbl_guide .time
	{
		width: 20%;
	}
	.tbl_guide .tel,
	.tbl_guide .fax,
	.tbl_guide .mail
	{
		display: flex;
		gap:8px;
		align-items: center;
	}
	.tbl_guide .tel::before,
	.tbl_guide .fax::before,
	.tbl_guide .mail::before
	{
		width:60px;
		text-align: center;
		display: inline-block;
		padding:2px 10px;
		background-color:#f6f4f2;
		border-radius: 3px;
		color: #283a58;
		font-size:0.6em;
	}
	.tbl_guide .tel::before
	{
		content:"TEL";
	}
	.tbl_guide .fax::before
	{
		content:"FAX";
	}
	.tbl_guide .mail::before
	{
		content:"MAIL";
	}

	/*============================
		採用情報
	============================*/
	ul.recruit_list
	{
		padding-top: 18px;
		border-top: 1px dashed #ccc;
	}
	ul.recruit_list li
	{
		margin-bottom: 18px;
		padding: 0 10px 18px;
		border-bottom: 1px dashed #ccc;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		/* gap: 40px; */
	}
	ul.recruit_list li > div:not(.recruit_ttl)
	{
		display: flex;
		gap:1em;
		width: 340px;
	}
	ul.recruit_list li > div.recruit_ttl
	{
		max-width: calc( 100% - 340px );
	}
	ul.recruit_list li > div.recruit_ttl span
	{
		display: block;
		font-size:1.1rem;
		color:gray;
		letter-spacing: 0;
	}
	ul.recruit_list li .recruit_mark
	{
		width:20px;
		position: relative;
	}
	ul.recruit_list li .recruit_mark.top:before
	{
		content:"";
		width: 1.3em;
		height: 1.3em;
		position: absolute;
		top:50%;
		left:50%;
		transform:translate(-50%, -50%);
		background-color: #38acef;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		mask-image:url(../images/common/icon/pin.svg);
	}
	ul.recruit_list li .recruit_mark.date:before
	{
		content:"";
		width: 1.3em;
		height: 1.3em;
		position: absolute;
		top:50%;
		left:50%;
		transform:translate(-50%, -50%);
		background-color: #ffcc00;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		mask-image:url(../images/common/icon/bell.svg);
	}
	ul.recruit_list li time
	{
		color: #999;
		min-width: 116px;
	}
	.recruit_category
	{
		display: inline-block;
		margin-right: 2em;
		font-size: 1.2rem;
		padding: 0.2em 1em;
		text-align: center;
		min-width: 135px;
		background: #fff;
		color: #006c99;
		border: 1px solid #006c99;
		border-radius: 8px;
	}
	.recruit_category:is(.cate1,.cate11)
	{
		color: #39adf0;
		border: 1px solid #39adf0;
	}
	.recruit_category:is(.cate2,.cate12)
	{
		color:#ff7f2a;
		border:1px solid #ff7f2a;
	}
	.recruit_category:is(.cate3,.cate13)
	{
		color:#44aa00;
		border:1px solid #44aa00;
	}
	.recruit_category:is(.cate4,.cate14)
	{
		color:#c837ab;
		border:1px solid #c837ab;
	}
	.recruit_category:is(.cate5,.cate15)
	{
		color:#8a0c47;
		border:1px solid #8a0c47;
	}
	.recruit_category.cate99
	{
		color:#999;
		border:1px solid #999;
	}
	ul.recruit_list li span span
	{
		color: gray;
		font-size: 0.8em;
		white-space: nowrap;
		margin-left: 1.5em;
	}
	ul.recruit_list li a
	{
		display: inline-block;
		text-decoration: none;
		line-height: 1.7;
	}
	ul.recruit_list li a:hover
	{
		text-decoration: underline;
		text-underline-offset: .3em;
		text-decoration-color: #0f88bc;
		transition: 0.1s;
		opacity: 1;
	}
	@media screen and (max-width: 768px)
	{
		ul.recruit_list li
		{
			margin-bottom: 18px;
			padding: 0 10px 18px;
			flex-direction: column;
			gap: 5px 10px;
			align-items: stretch;
		}
		ul.recruit_list li > div:not(.recruit_ttl)
		{
			gap:0.5em;
			margin-bottom:0.3em;
			width: 100%;
		}
		ul.recruit_list li > div.recruit_ttl
		{
			max-width: 100%;
		}
		ul.recruit_list li > div.recruit_ttl span
		{
			padding-left: calc(0.5em + 19px);
		}
		ul.recruit_list li .recruit_mark
		{
			width: 19px;
		}
		ul.recruit_list li a
		{
			padding-left:calc(0.5em + 19px)
		}

		.recruit_category
		{
			margin-top: -0.3em;
		}
		ul.recruit_list li span span
		{
			padding-left: calc(0.5em + 19px);
		}
	}

	/*============================
		市民公開講座
	============================*/
	ul.lecture_list
	{
		padding-top: 18px;
		border-top: 1px dashed #ccc;
	}
	ul.lecture_list li
	{
		margin-bottom: 18px;
		padding: 0 10px 18px;
		border-bottom: 1px dashed #ccc;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		/* gap: 40px; */
	}
	ul.lecture_list li > div
	{
		display: flex;
		gap:1em;
	}
	ul.lecture_list li .lecture_mark
	{
		width:20px;
		position: relative;
	}
	ul.lecture_list li .lecture_mark.top:before
	{
		content:"";
		width: 1.3em;
		height: 1.3em;
		position: absolute;
		top:50%;
		left:50%;
		transform:translate(-50%, -50%);
		background-color: #38acef;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		mask-image:url(../images/common/icon/pin.svg);
	}
	ul.lecture_list li .lecture_mark.date:before
	{
		content:"";
		width: 1.3em;
		height: 1.3em;
		position: absolute;
		top:50%;
		left:50%;
		transform:translate(-50%, -50%);
		background-color: #ffcc00;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		mask-image:url(../images/common/icon/bell.svg);
	}
	ul.lecture_list li time
	{
		color: #999;
	}
	.lecture_category
	{
		display: inline-block;
		margin-right: 2em;
		font-size: 1.2rem;
		padding: 0.2em 1em;
		text-align: center;
		min-width: 135px;
		background: #fff;
		color: #006c99;
		border: 1px solid #006c99;
		border-radius: 8px;
	}
	.lecture_category:is(.cate1)
	{
		color: #39adf0;
		border: 1px solid #39adf0;
	}
	.lecture_category:is(.cate2)
	{
		color:#ff7f2a;
		border:1px solid #ff7f2a;
	}
	.lecture_category:is(.cate3)
	{
		color:#44aa00;
		border:1px solid #44aa00;
	}
	.lecture_category:is(.cate4)
	{
		color:#c837ab;
		border:1px solid #c837ab;
	}
	.lecture_category.cate99
	{
		color:#999;
		border:1px solid #999;
	}
	.contents .detail_hd p.lecture_category
	{
		display: inline-block;
		line-height: 1.7;
		font-size:1.2rem;
		padding:0.2em 1em;
		text-align: center;
		min-width: 135px;
		background: #fff;
		color: #006c99;
		border: 1px solid #006c99;
		border-radius: 5px;
		font-weight: 400;
		position: relative;
		top: -0.2em;
		/* margin-left: 0.5em; */
	}
	.contents .detail_hd p.lecture_category:is(.cate1)
	{
		color: #fff;
		background-color: #39adf0;
		border: 1px solid #39adf0;
	}
	.contents .detail_hd p.lecture_category:is(.cate2)
	{
		color: #fff;
		background-color: #ff7f2a;
		border:1px solid #ff7f2a;
	}
	.contents .detail_hd p.lecture_category:is(.cate3)
	{
		color: #fff;
		background-color: #44aa00;
		border:1px solid #44aa00;
	}
	.contents .detail_hd p.lecture_category:is(.cate4)
	{
		color: #fff;
		background-color: #c837ab;
		border:1px solid #c837ab;
	}
	.contents .detail_hd p.lecture_category.cate99
	{
		color: #fff;
		background-color: #999;
		border:1px solid #999;
	}
	ul.lecture_list a
	{
		display: inline;
		text-decoration: none;
		line-height: 1.7;
	}
	ul.lecture_list a:hover
	{
		text-decoration: underline;
		text-underline-offset: .3em;
		text-decoration-color: #0f88bc;
		transition: 0.1s;
		opacity: 1;
	}
	@media screen and (max-width: 768px)
	{
		ul.lecture_list li
		{
			margin-bottom: 18px;
			padding: 0 10px 18px;
			flex-direction: column;
			gap: 5px 10px;
			align-items: stretch;
		}
		ul.lecture_list li > div
		{
			gap:0.5em;
		}
		ul.lecture_list li .lecture_mark
		{
			width: 19px;
		}
		ul.lecture_list li a
		{
			padding-left:calc(0.5em + 19px)
		}
	}
	/*============================
		コラム
	============================*/
	.contents_column
	{
		width:100%;
	}
	.contents_column .column_wrap
	{
		margin-bottom: 0px;
	}
	.contents_column .column_wrap
	{
		margin-bottom: 0px;
	}
	ul.column_list
	{
		padding-top:18px;
		border-top: 1px dashed #ccc;
	}
	ul.column_list li
	{
		margin-bottom:18px;
		padding:0 10px 18px;
		border-bottom: 1px dashed #ccc;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap:40px;
	}
	ul.column_list li:last-child
	{
		margin-bottom:0px;
	}
	ul.column_list li time
	{
		color:#999;
	}
	.contents .column_wrap  h4
	{
		font-size:1.2em;
	}

	.contents .sketch_wrap h3
	{
		position: relative;
		border:none;
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: space-between;
		gap:20px;
		white-space: nowrap;
	}
	.contents .sketch_wrap h3::after
	{
		position: static;
		display: block;
		width:calc(100% - 20px - 7em);
	}
	.contents .sketch_wrap h3.spring::after
	{
		background: #f9ccd5;
	}
	.contents .sketch_wrap h3.summer::after
	{
		background: #b8dec5;
	}
	.contents .sketch_wrap h3.autumn::after
	{
		background: #f7ede0;
	}
	.contents .sketch_wrap h3.winter::after
	{
		background: #c1e0fb;
	}

	.sketch_panel {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
		grid-template-rows: 160px 160px;
		gap: 10px;
	}
	section.contents_wrap .contents .sketch_panel img {
		display: block;
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
		border-radius: 8px;
		position: relative;
		cursor: pointer;
	}
	.sketch_panel img.no_image
	{
		cursor: default;
		pointer-events: none;
	}

	/* レイアウト1 */
	.sketch_panel.type1 .pane1 {
		grid-column: 1 / 3;
		grid-row: 1 / 3;
	}

	.sketch_panel.type1 .pane2 {
		grid-column: 3 / 4;
		grid-row: 1 / 3;
	}

	.sketch_panel.type1 .pane3 {
		grid-column: 4 / 5;
		grid-row: 1 / 2;
	}

	.sketch_panel.type1 .pane4 {
		grid-column: 4 / 5;
		grid-row: 2 / 3;
	}

	/* レイアウト2 */
	.sketch_panel.type2 .pane1 {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}

	.sketch_panel.type2 .pane2 {
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}

	.sketch_panel.type2 .pane3 {
		grid-column: 2 / 4;
		grid-row: 1 / 3;
	}

	.sketch_panel.type2 .pane4 {
		grid-column: 4 / 5;
		grid-row: 1 / 2;
	}

	.sketch_panel.type2 .pane5 {
		grid-column: 4 / 5;
		grid-row: 2 / 3;
	}

	/* レイアウト3 */
	.sketch_panel.type3 .pane1 {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}

	.sketch_panel.type3 .pane2 {
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}

	.sketch_panel.type3 .pane3 {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}

	.sketch_panel.type3 .pane4 {
		grid-column: 2 / 3;
		grid-row: 2 / 3;
	}

	.sketch_panel.type3 .pane5 {
		grid-column: 3 / 5;
		grid-row: 1 / 3;
	}

	/* レイアウト4 */
	.sketch_panel.type4 .pane1 {
		grid-column: 1 / 3;
		grid-row: 1 / 3;
	}

	.sketch_panel.type4 .pane2 {
		grid-column: 3 / 5;
		grid-row: 1 / 2;
	}

	.sketch_panel.type4 .pane3 {
		grid-column: 3 / 5;
		grid-row: 2 / 3;
	}

	@media screen and (max-width: 768px)
	{
		.sketch_panel {
			grid-template-rows: 80px 80px;
			gap: 5px;
		}
	}


	.pager
	{
		margin: 0 auto 0;
		max-width: 1200px;
		width: 80%;
	}
	.pager .page_button
	{
		display: flex;
		align-items: stretch;
		justify-content: center;
		flex-wrap: wrap;
		gap: 15px;
	}

	.pager .page_button li a,
	.pager .page_button li.active
	{
		height:25px;
		line-height: 25px;
		display: flex;
		justify-content: center;
		align-items: center;
		border: 1px solid #999;
		text-align: center;
		padding: 0 5px;
		min-width: 25px;
		color: #999;
		font-size:1.3rem;
		letter-spacing: 0;
	}

	.pager .page_button li a.arrow
	{
		border:none;
	}
	.pager .page_button li a.arrow i
	{
		color:#999;
	}
	.pager .page_button li a.arrow:hover i
	{
		color:#fff;
		border: 1px solid #999;
	}

	.pager .page_button li a:hover,
	.pager .page_button li.active
	{
		background: #999;
		color: #fff;
	}
	@media screen and (max-width: 768px)
	{
		.pager
		{
			width: 100%;
		}
	}
	/*============================
		診療科目
	============================*/
	.box.symptom_container
	{
		padding:25px 20px 25px 45px;
	}
	.box.symptom_container .symptom_wrap:not(:last-child)
	{
		margin-bottom:var(--mb_middle);
	}
	.symptom_mark
	{
		display: flex;
		gap:10px 20px;
		flex-wrap: wrap;
	}
	.txt .symptom_mark li a
	{
		display: inline-block;
		text-align: center;
		width: fit-content;
		font-size: 1.3rem;
		padding: 6px 20px;
		border-radius: 8px;
		color: #70a5ff;
		font-weight: 800;
		line-height: 1;
		border: 1px solid #70a5ff;
		background: #fff;
		text-decoration: none;
	}
	.txt .symptom_mark li a:hover
	{
		color: #fff;
		background: #70a5ff;
		text-decoration: none;
	}
	.staff_list
	{
		display: flex;
		flex-wrap: wrap;
		gap:50px 80px;
	}
	.staff_list li
	{
		width:calc((100% - 80px) / 2);
		display: flex;
		gap:32px;
		align-items: flex-start;
	}
	.staff_list li figure
	{
		width:200px;
		aspect-ratio: 40 / 53;
		margin:auto;
	}
	.staff_list.department_staff li figure
	{
		width:144px;
		aspect-ratio: 144 / 190;
		margin:0 auto;
		padding:0;
	}
	.staff_list li figure img
	{
		width:100%;
		height:100%;
		object-fit: cover;
		border-radius: 4px;
	}
	.staff_list li .staff_inner
	{
		width:calc(100% - 200px - 30px);
	}
	.staff_list.department_staff li .staff_inner
	{
		width:calc(100% - 140px - 30px);
	}
	.staff_list li .staff_inner h5
	{
		font-size:1.5rem;
		font-weight: 800;
		border-bottom:1px solid #999;
		padding-bottom:10px;
	}
	.staff_list li .staff_inner h5 span
	{
		padding-left:1em;
		font-size:1.4rem;
		font-weight: 400;
	}
	.staff_list li .staff_inner dl
	{
		font-size:1.4rem;
		margin:10px 0 0;
		line-height: 1.5;
	}
	.staff_list li .staff_inner dl dt
	{
		font-size:1.2rem;
		margin-bottom:5px;
	}
	@media screen and (max-width: 768px)
	{
		.box.symptom_container
		{
			padding:15px 10px 20px 30px;
		}

		.symptom_mark
		{
			gap:10px 10px;
		}
		.txt .symptom_mark li a
		{
			padding: 6px 10px;
			text-align: left;
			line-height: 1.2;
		}

		.staff_list
		{
			gap:50px;
		}
		.staff_list li
		{
			width:100%;
			display: block;
		}
		.staff_list li figure
		{
			margin:10px auto;
		}
		.staff_list li .staff_inner
		{
			width:100%;
		}

		.staff_list.department_staff li .staff_inner
		{
			width:100%;
			margin-top: 10px;
		}
		.staff_list li .staff_inner h5
		{
			text-align: center;
		}
		.staff_list li .staff_inner h5 span
		{
			padding-left: 0;
			display: block;
		}
	}

	/*============================
		NCNP病院の取り組み
	============================*/
	.attempt
	{
		background: #f7f5f2;
	}
	.attempt_wrap
	{
		margin-top:30px;
		padding-bottom: 60px;
	}
	.attempt_wrap ul
	{
		display: flex;
		justify-content: space-between;
		gap: 40px;
	}
	.attempt_wrap ul li
	{
		width: calc( ( 100% - 160px ) / 5 );
	}
	.attempt_wrap ul li a
	{
		display: grid;
		flex-direction: column;
		width:100%;
		height:100%;
		border-radius: 10px;
		text-decoration: none;
		color:#222;
		/* box-shadow: 3px 3px 10px rgba(0, 0, 0, .5); */
		box-shadow:2px 2px 5px rgba( 0, 0, 0, 0.4 );
	}
	.attempt_wrap ul li a figure
	{
		width:100%;
		height:130px;
		border-radius: 10px 10px 0 0;
	}
	.attempt_wrap ul li a figure img
	{
		width:100%;
		height:100%;
		object-fit: cover;
		object-position: 50% 0%;
		border-radius: 8px 8px 0 0;
	}
	.attempt_wrap ul li a.safe figure img
	{
		object-position: 50% 10%;
	}
	.attempt_wrap ul li a.pediatric figure img
	{
		object-position: 50% 70%;
	}
	.attempt_wrap ul li a.research figure img
	{
		object-position: 50% 80%;
	}
	.attempt_wrap ul li a > div
	{
		width: 100%;
		height:100%;
		min-height: 80px;
		background: #fff;
		border-radius: 0 0 8px 8px;
		padding:20px 15px 25px;
		position: relative;
	}
	.attempt_wrap ul li a > div h4
	{
		display: grid;

		grid-template-columns: 1fr;
		grid-template-rows: repeat(auto-fit, auto-fit);
	}
	.attempt_wrap ul li a:hover,
	.attempt_wrap ul li a:hover *
	{
		opacity: 1;
	}
	.attempt_wrap ul li a:hover > div
	{
		/* background: #e8f4bc; */
		background: #0f88bc;
	}
	.attempt_wrap ul li a > div h4 p
	{
		position: relative;
		z-index: 10;
		text-align: center;
		font-weight: 800;
		display: flex;
		align-items: center;
		justify-content: center;
		height:3em;
		line-height: 1.3;
		flex-wrap: wrap;
	}
	.attempt_wrap ul li a > div h4 span
	{
		display: block;
		text-align: center;
		width:100%;
		min-height: 28.59px;
		color:#808080;
		font-weight: 400;
		font-size:1.1rem;
		letter-spacing: 0;
		margin-top: 5px;
		line-height: 1.3;
	}
	@media screen and (max-width: 1024px)
	{
		.attempt_wrap ul li a > div h4 p
		{
			font-size: 1.3rem;
		}
	}
	.attempt_wrap ul li a:hover > div h4 p
	{
		color:#fff;
	}
	.attempt_wrap ul li a:hover > div h4 span
	{
		color:#fff;
	}

	ul.award_list
	{
		padding-top:18px;
		border-top: 1px dashed #ccc;
	}
	ul.award_list li
	{
		margin-bottom:18px;
		padding:0 10px 18px;
		border-bottom: 1px dashed #ccc;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap:40px;
	}
	ul.award_list li .name
	{
		width:9em;
	}
	.txt_wrap ul.award_list li a
	{
		width: calc(100% - 40px - 8em - 40px);
		color:#222;
		text-decoration: none;
	}
	.txt_wrap ul.award_list li a:hover
	{
		color:#0f88bc;
	}
	ul.award_list li:last-child
	{
		margin-bottom:0px;
	}
	ul.award_list li time
	{
		color:#999;
	}
	@media screen and (max-width: 768px)
	{
		.attempt_wrap
		{
			padding-bottom: 30px;
		}
		.attempt_wrap ul
		{
			flex-wrap: wrap;
			gap: 20px;
		}
		.attempt_wrap ul li
		{
			width: calc( ( 100% - 20px ) / 2 );
		}
		.attempt_wrap ul li a
		{
			display: flex;
		}
		.attempt_wrap ul li a figure
		{
			width:100%;
			height:100px;
			border-radius: 10px 10px 0 0;
		}
		.attempt_wrap ul li a > div
		{
			min-height: 50px;
			padding:10px 5px 15px;
			position: relative;
		}
		.attempt_wrap ul li a > div h4 p
		{
			font-size:1.4rem;
		}
		.attempt_wrap ul li a > div h4 span
		{
			font-size:1rem;
		}

		ul.award_list li
		{
			flex-wrap: wrap;
			gap:10px;
		}
		ul.award_list li a
		{
			width:100%
		}
		ul.award_list li .name
		{
			width:100%;
		}
		.txt_wrap ul.award_list li a
		{
			width: 100%;
		}
	}

	.voice_list li
	{
		display: flex;
		gap:35px;
		margin-bottom:65px;
	}
	.voice_list li:before
	{
		content:"";
		width:45px;
		height:45px;
		background:#3f7df0;
		background-color: #70a5ff;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: 100%;
		mask-image:url(../images/common/icon/voice.svg);
	}
	.voice_list li .voice_wrap
	{
		width: calc(100% - 45px - 35px);
	}
	.voice_list.practice li
	{
		margin-bottom:20px;
	}



	.voice_list_wrap li
	{
		display: flex;
		align-items: center;
		padding-bottom:16px;
		margin-bottom:18px;
		border-bottom: 1px dashed #ccc;
	}
	.voice_list_wrap li:before
	{
		content:"";
		display: block;
		width:24px;
		height:24px;
		margin-top: 2px;
		margin-right: 8px;
		background:#3f7df0;
		background-color: #70a5ff;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: 100%;
		mask-image:url(../images/common/icon/voice.svg);
	}
	.voice_list_wrap li p
	{
		width: 30%;
		max-width: 130px;
	}
	.voice_list_wrap li span
	{
		display: block;
		margin-left:16px;
		font-size:0.8em;
		color:gray;
	}



	@media screen and (max-width: 768px)
	{
		.voice_list li
		{
			gap:15px;
			margin-bottom:35px;
		}
		.voice_list li:before
		{
			width:20px;
			height:20px;
		}
		.voice_list li .voice_wrap
		{
			width: calc(100% - 20px - 15px);
		}


		.voice_list_wrap li
		{
			display: flex;
			flex-wrap: wrap;
		}
		.voice_list_wrap li:before
		{
			width:16px;
			height:16px;
		}
		.voice_list_wrap li p
		{
			display: inline;
			white-space: nowrap;
			width: 50%;
			max-width: 130px;
		}
		.voice_list_wrap li span
		{
			display: inline;
			margin-left:8px;
		}
	}
	/*============================
		施設のご案内
	============================*/
	.floor_wrap
	{
		margin-top: 30px;
		padding-bottom: 60px;
	}
	.floor_wrap ul
	{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 40px 75px;
	}
	.floor_wrap ul li
	{
		width:calc( ( 100% - 75px ) / 2 );
	}
	.floor_wrap ul li a
	{
		display: flex;
		text-decoration: none;
		border-radius: 10px;
	}
	.floor_wrap ul li a:hover
	{
		opacity: 0.8;
		box-shadow: 1px 1px 8px rgba(0, 0, 0, .3);
	}
	.floor_wrap ul li a figure
	{
		width:50%;
	}
	.floor_wrap ul li a figure img
	{
		width:100%;
		height:100%;
		object-fit: cover;
		border-radius: 8px 0 0 8px;
	}
	.floor_wrap ul li a > div
	{
		width:50%;
		border-radius: 0 8px 8px 0;
		padding:20px;
		background: #f7f5f2;
		text-align: center;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.floor_wrap ul li a > div div
	{
		font-size: 2.8rem;
		color:#999;
		margin-bottom:10px;
	}
	.floor_wrap ul li a > div figure img
	{
		width: 2.8rem;
		height: 2.8rem;
		object-fit: contain;
		margin-bottom:10px;
	}
	.floor_wrap ul li a > div h4
	{
		font-weight: 800;
		color:#222;
		margin-bottom:20px;
	}
	.floor_wrap ul li a > div p
	{
		text-align: center;
		font-size: 1.3rem;
		color: #808080;
	}
	@media screen and (max-width: 768px)
	{
		.floor_wrap
		{
			padding-bottom: 0px;
		}
		.floor_wrap ul
		{
			display: block;
		}
		.floor_wrap ul li
		{
			width:100%;
		}
		.floor_wrap ul li:not(:last-child)
		{
			margin-bottom:20px;
		}
		.floor_wrap ul li a figure
		{
			width:30%;
		}
		.floor_wrap ul li a > div
		{
			width:70%;
			padding:20px 30px;
		}
	}

	/* フロアマップ */
	.floor_map_wrap
	{
		display:flex;
		gap:40px;
	}
	.floor_map_wrap .flex_inner
	{
		width: calc(45% - 40px);
	}
	.floor_map_wrap .floor_ttl
	{
		display: flex;
		width: 100%;
		font-weight: 800;
		border:2px solid #70a5ff;
		border-radius: 8px;
		font-size: 2rem;
		margin-top:5px;
	}
	.floor_map_wrap .floor_ttl dt
	{
		background:#70a5ff;
		color:#fff;
		width:60px;
		padding:5px;
		text-align: center;
	}
	.floor_map_wrap .floor_ttl dd
	{
		width:calc(100% - 60px);
		padding:5px 20px;
	}
	.floor_map_wrap .flex_inner figure
	{
		width:100%;
	}
	.floor_map_wrap .flex_inner figure + h4
	{
		padding:15px 0 30px;
		text-align: center;
		border-bottom:1px solid #dcdcdc;
	}

	.floor_map_wrap .floor_map
	{
		width: 55%;
		margin-top:5px;
	}
	.floor_map_wrap .floor_map ul
	{
		padding:5px 0;
		display: flex;
		justify-content: space-between;
		gap:10px;
		flex-wrap: wrap;
	}
	.floor_map_wrap .floor_map ul li
	{
		width:fit-content;
	}
	.floor_map_wrap .floor_map ul li a
	{
		width: 100%;
		font-size:1.4rem;
		display: block;
		border-radius: 8px;
		padding:5px 20px;
		background: #d2d2d2;
		color:#fff;
		font-weight: 800;
		white-space: nowrap;
		text-decoration: none;
	}
	.floor_map_wrap .floor_map ul li a:hover,
	.floor_map_wrap .floor_map ul li.active a
	{
		background: #70a5ff;
	}

	:is(.floor_navi,.disease_navi) h5
	{
		font-size:1.8rem;
		color:#70a5ff;
		text-align: center;
		width: 100%;
		margin:0 auto;
		padding-bottom: 5px;
		position: relative;
	}
	:is(.floor_navi,.disease_navi) h5::before
	{
		content:"";
		position: absolute;
		width:100%;
		height:1px;
		background: #ddd;
		top:calc( 100% + 5px );
		left:0;
		z-index: -1;
	}
	:is(.floor_navi,.disease_navi) h5::after
	{
		content:"";
		position: absolute;
		width:80px;
		height:5px;
		border-radius: 2px;
		background: #70a5ff;
		top:calc( 100% + 5px - 1px );
		left:50%;
		transform:translate(-50%, 0);
	}
	.floor_navi ul
	{
		display: flex;
		flex-wrap: wrap;
		gap:55px 50px;
	}
	.floor_navi ul li
	{
		width:calc((100% - 100px) / 3);
	}
	.floor_navi ul li a
	{
		display: flex;
		align-items: stretch;
		height: 100%;
		text-decoration: none;
	}
	.floor_navi ul li a:hover
	{
		opacity: 0.8;
	}

	.floor_navi ul li a > figure
	{
		width:100px;
		height:100%;
	}
	.floor_navi ul li a > figure img
	{
		width:100%;
		height:100%;
		object-fit: cover;
		border-radius: 8px 0 0 8px;
	}
	.floor_navi ul li a > div
	{
		width:calc(100% - 100px);
		height:100%;
		display: flex;
		align-items: center;
		gap:0.8em;
		background:#f6f2eb;
		padding:20px;
		border-radius:0 8px 8px 0;
		line-height: 1;
	}
	.floor_navi ul li a > div > div,
	.floor_navi ul li a > div figure
	{
		color:#949494;
		font-size:1.4rem;
		width:1.5em;
	}
	.floor_navi ul li a > div > h4
	{
		font-size: 1.6rem;
		font-weight: 400;
	}
/*
	.disease_navi ul
	{
		display: flex;
		flex-wrap: wrap;
		gap:30px 50px;
	}
	.disease_navi ul li
	{
		width:fit-content;
	}
	.disease_navi ul li a
	{
		display: inline-block;
		text-align: center;
		width: fit-content;
		font-size: 1.3rem;
		padding: 6px 20px;
		border-radius: 8px;
		color: #70a5ff;
		font-weight: 800;
		line-height: 1;
		border: 1px solid #70a5ff;
		background: #fff;
		text-decoration: none;
	}
	.disease_navi ul li a:hover
	{
		color: #fff;
		background: #70a5ff;
		text-decoration: none;
	}
*/

	.disease_navi ul
	{
		column-width:30%;
		column-count:3;
	}
	.disease_navi.irb ul
	{
		column-count:5;
	}
	.disease_navi ul li
	{
		margin-bottom:1em;
	}
	.disease_navi ul li a
	{
		color:#5c5c5c;
		text-decoration: underline;
		text-decoration-color: #cccccc;
		text-underline-offset: 4px;
	}
	.disease_navi ul li a:hover
	{
		color:var(--btn_color);
		text-decoration: none;
	}

	@media screen and (max-width: 1024px)
	{
		.disease_navi ul
		{
			column-width:50%;
			column-count:2;
		}
	}
	@media screen and (max-width: 768px)
	{
		.floor_map_wrap
		{
			flex-direction: column;
			gap:20px;
		}
		.floor_map_wrap .flex_inner
		{
			width: 100%;
		}
		.floor_map_wrap .flex_inner figure + h4
		{
			padding:10px 0 15px;
		}

		.floor_map_wrap .floor_map
		{
			width: 100%;
		}
		.floor_map_wrap .floor_map ul
		{
			padding:0px 0;
			justify-content: flex-start;
			flex-wrap: wrap;
		}
		.floor_navi ul
		{
			gap:20px;
		}
		.floor_navi ul li
		{
			width:100%;
		}
		.contents .floor_navi ul li a > div > h4
		{
			margin-bottom: 0!important;
		}
		/*
		.disease_navi ul li
		{
			width:calc((100% - 30px * 2) / 3);
		}
		*/

		.disease_navi ul
		{
			column-width:100%;
			column-count:1;
		}
		.disease_navi.irb ul
		{
			column-count:3;
		}
	}
	@media screen and (max-width: 380px)
	{
		.disease_navi.irb ul
		{
			column-count:2;
		}
	}


	/*============================
		コンテンツページ
	============================*/
	.contents h3
	{
		font-size: 2rem;
		font-weight: 400;
		padding-bottom:var(--mb_small);
		/* margin-bottom:30px; */
		border-bottom: 1px solid #ccc;
		position: relative;
		display: flex;
		flex-wrap: wrap;
		gap:10px;
		align-items: center;
		line-height: 1.3;
	}
	.contents h3:not(:is(.mb_x,.mb_s,.mb_m,.mb_l))
	{
		margin-bottom:24px;
	}
	.contents h3 span
	{
		display:inline-block;
		margin-left:1em;
		color:#ff8080;
	}
	.contents h3::after
	{
		content:"";
		position: absolute;
		left:0;
		bottom:-2px;
		height:3px;
		width: 80px;
		background: #cee27e;
	}

	.contents .detail_hd h3
	{
		/* font-size: 1.8rem; */
		font-size: 2.2rem;
		font-weight: 800;
		padding-bottom:0px;
		margin-bottom:10px;
		border-bottom:none;
		position: relative;
		display:block;
		line-height: 1.7;
	}
	.contents .detail_hd h3::after
	{
		content:none;
	}

	.contents h4
	{
		/* font-size:1.8rem; */
		font-size:1.6rem;
		line-height: 1.1;
		/* margin-bottom: 10px; */
	}
	.contents .symptom_wrap h4
	{
		font-size:1.5rem;
		line-height: 1.1;
	}
	.contents h4 span
	{
		font-weight: normal;
		color:#999;
		margin-left:0.8em;
	}
	.contents h4.border_blue
	{
		padding-bottom:var(--mb_xsmall);
		border-bottom: 5px solid #e4edf9;
		position: relative;
	}
	.contents h4.border_blue:after
	{
		content:"";
		width:95px;
		border-bottom: 5px solid #bfd7fc;
		position: absolute;
		bottom:-5px;
		left:0;
	}
	.contents h4.border_gray
	{
		padding-bottom:var(--mb_xsmall);
		border-bottom: 2px solid #ccc;
		position: relative;
	}

	.contents h4.check
	{
		/* text-indent: -1.5em; */
		margin-left: -1.5em;
		margin-bottom: 0.3em;
		line-height: 1.5;
		display: flex;
		justify-content: flex-start;
		/* align-items: center; */
	}
	.contents h4.check:before
	{
		content:"";
		display: inline-block;
		position: relative;
		left:0rem;
		width:1em;
		height:1em;
		margin-top: 0.3em;
		background-color: #70a5ff;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		mask-image:url(../images/common/icon/check.svg);
		margin-right: 0.6em;
	}
	.contents .read
	{
		/* margin: 0 auto 60px; */
		margin: 0 auto 0px;
	}
	.contents .txt
	{
		/* margin: 0 auto 40px; */
		margin: 0 auto 0px;
	}

	.contents .visit_info_wrap
	{
		display: flex;
		justify-content: space-between;
		/* margin-bottom: 25px; */
	}

	.contents .visit_info_wrap div
	{
		width: calc(( 100% - 60px ) / 2);
	}
	.contents .visit_info_wrap div aside
	{
		display: block;
		font-size: 0.9em;
		color:#666;
		margin-top:0.3em;
	}
	.contents .visit_info_wrap div h4
	{
		font-size: 2rem;
		font-weight: 400;
		display: flex;
		align-items: center;
		gap:10px;
		margin-bottom:10px;
	}
	@media screen and (max-width: 768px)
	{
		.contents h3
		{
			/* display: block; */
			font-size:1.8rem;
		}
		.contents h3:not(:is(.mb_x,.mb_s,.mb_m,.mb_l))
		{
			margin-bottom:16px;
		}
		.contents h3 span
		{
			width:100%;
			margin-left:0em;
		}
		.contents .detail_hd h3
		{
			font-size: 1.8rem;
		}
		.contents h4
		{
			margin-bottom: 15px;
			font-size:1.6rem
		}
		.contents h4 span
		{
			margin-left:0;
		}
		.contents .visit_info_wrap div h4
		{
			font-size: 1.6rem;
		}
	}
	.bn_flex
	{
		display: flex;
		gap:48px;
	}
	.bn_flex a
	{
		display: block;
	}
	.bn_flex a img
	{
		border-radius: 8px;
		box-shadow: 0px 0px 3px #818181;
	}
	.bn_flex a:hover img
	{
		box-shadow: 0px 0px 10px #818181;
	}
	@media screen and (max-width: 768px)
	{
		.bn_flex
		{
			flex-direction: column;
			gap:24px;
		}
		.bn_flex a
		{
			width: 80%;
			margin-inline: auto;
		}
	}

	/* table */
	.contents table
	{
		width:100%;
		border-collapse: collapse;
		/* border-top: 1px solid #ccc; */
		table-layout: fixed;
	}
	.contents table.visit_info
	{
		border-top: 1px solid #ccc;
	}
	.contents table table
	{
		width:100%;
	}
	.contents table :is( th, td )
	{
		border-bottom: 1px solid #ccc;
		padding: 0.8em 1em;
		font-weight: 400;
	}
	.contents table thead tr th
	{
		/* background: #e5e5df; */
		background: #f1e5d6;
		font-size: 1.4rem;
		text-align: left;
		padding:5px 1em;
	}
	.contents table.tbl_room thead tr th
	{
		text-align: center;
	}

	.contents table.tbl_resident thead tr th:first-child
	{
		width: 30%;
	}

	.contents .visit_info th
	{
		background: #eff4e1;
		color: #222;
		text-align: center;
		width: 140px;
		vertical-align: top;
	}
	.contents .visit_info tr td.bold
	{
		font-weight: 800;
	}
	.contents .visit_info td aside
	{
		font-size:1.3rem;
		padding-left:0.5em;
		font-weight: 400;
		display: inline;
		color:#666;
	}
	.contents table.medical_kitei thead tr th:first-child
	{
		width:95px;
	}
	.contents table.medical_kitei thead tr th
	{
		text-align: center;
	}
	.contents table.medical_phase thead tr th
	{
		width:190px;
		text-align: right;
	}
	.contents table.medical_phase thead tr th:last-child
	{
		width:auto;
	}
	.contents table.medical_phase tbody tr th
	{
		text-align: center;
	}
	.contents table.medical_phase tbody tr td
	{
		text-align: right;
	}
	.contents table.medical_phase tfoot tr td
	{
		border-bottom:none;
		font-weight: bold;
		text-align: right;
	}
	.contents table.medical_phase thead tr th
	{
		text-align: center;
	}

	.contents table.medical_trial thead tr th:first-child
	{
		width: 300px;
	}
	.contents table.medical_trial thead tr th:last-child
	{
		width: 60px;
	}
	.contents table.medical_trial tbody tr td:last-child a
	{
		text-align: center;
		margin:auto;
	}


	.contents table.medical_trial tbody tr td a
	{
		display: flex;
		width:fit-content;
		/* align-items: center; */
		align-items: baseline;
		gap:10px;
		padding-bottom: .1em;
		background: linear-gradient(#38ade0, #38ade0) 0 100% / 0 1px no-repeat;
		transition: background 0s;
		text-decoration: none;
	}

	.contents table.medical_trial tbody tr td a:hover
	{
		color:#0f88bc;
		background-size: 100% 1px;
	}
	.contents table.medical_trial tbody tr td a::before
	{
		content:"";
		display: inline-block;
		width:1em;
		height:1em;
		background-color: #70a5ff;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: 100%;
		mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/></svg>');
	}


	.award_list_wrap li
	{
		display: flex;
		align-items: center;
		padding-bottom:16px;
		margin-bottom:18px;
		border-bottom: 1px dashed #ccc;
	}
	.award_list_wrap li p
	{
		width: 30%;
		max-width: 130px;
	}
	.award_list_wrap li span
	{
		display: block;
		margin-left:16px;
		font-size:0.8em;
		color:gray;
	}

	@media screen and (max-width: 768px)
	{
		.contents table.medical_phase tbody tr td
		{
			text-align: left;
		}
		.contents table.medical_phase tbody tr td:last-child
		{
			display: none;
		}
		.contents table.medical_phase tbody tr td:not(:last-child):before
		{
			content: "●" attr(data-label) "：";
			color: gray;
			font-size: 0.8em;
			margin-right: 0.8em;
		}
		.contents table.medical_phase tfoot tr
		{
			/* border:none; */
			border-top:1px solid #ccc;
			border-bottom:1px solid #ccc;
		}
		.contents table.medical_phase tfoot tr td
		{
			text-align: left;
		}
		.contents table.medical_phase tfoot tr td::before
		{
			content: "●" attr(data-label) "：";
			color: gray;
			font-size: 0.8em;
			margin-right: 0.8em;
		}
		.contents table.medical_phase tfoot tr td:first-child,
		.contents table.medical_phase tfoot tr td:last-child
		{
			display: none;
		}

		.contents table.medical_trial tbody tr td::before
		{
			content: "●" attr(data-label) "：";
			color: gray;
			font-size: 0.8em;
			margin-right: 0.8em;
			display: block;
		}
		.contents table.medical_trial tbody tr td:last-child::before
		{
			content:none;
		}


		.award_list_wrap li
		{
			display: flex;
			flex-wrap: wrap;
		}
		.award_list_wrap li p
		{
			display: inline;
			white-space: nowrap;
			width: 50%;
			max-width: 130px;
		}
		.award_list_wrap li span
		{
			display: inline;
			margin-left:8px;
		}
	}

	.contents .tbl1
	{
		/* margin-bottom: 30px; */
	}
	.contents .txt_wrap p + .tbl1
	{
		/* margin-top: 20px; */
	}
	.contents .tbl1:has(:not(thead)) tbody
	{
		border-top: 1px solid #ccc;
	}
	.contents .tbl1 tbody th
	{
		background: #f6f4f2;
		/* background: #f8f7f6; */
		color: #222;
		text-align: left;
		width: 260px;
	}
	.contents .tbl1.base th
	{
		background: #eff4e1;
	}
	.contents .tbl1.access thead th
	{
		font-size:1.4rem;
		padding:5px 10px;
		background:#e5e5df;
	}
	.contents .tbl1.access thead th:first-child
	{
		width: 150px;
	}
	.contents .tbl1.access thead th:nth-child(2)
	{
		width: 240px;
	}
	.contents .tbl1.access thead th:nth-child(3)
	{
		width: 100px;
	}
	.contents .tbl1.psychologist tbody th
	{
		width: 30%;
	}
	.tbl_room
	{
		/* margin-bottom: 30px; */
	}
	.tbl_room thead th
	{
		background:#e5e5df;
		padding:5px;
		font-size:1.4rem;
	}
	.tbl_room thead th span
	{
		font-size:0.8em;
		line-height: 1.3;
		display: block;
		white-space: nowrap;
	}
	.tbl_room thead th.room
	{
		width:90px;
	}
	.tbl_room thead th.bed
	{
		width:110px;
	}
	.tbl_room thead th.price
	{
		width:150px;
	}
	.tbl_room thead th.num_rooms
	{
		width:330px;
	}
	.tbl_room thead th.num_rooms p
	{
		display: flex;
		justify-content: space-around;
	}
	.tbl_room tbody th
	{
		background: #f6f4f2;
		padding:8px;
	}
	.tbl_room tbody td
	{
		padding:8px;
		text-align: center;
	}
	.tbl_room tbody tr td:nth-child(3)
	{
		text-align: left;
	}
	.tbl_room tbody td table,
	.tbl_room tbody td table td
	{
		border:none;
	}
	.tbl_room tbody td table td,
	.tbl_room tbody td table td:nth-child(3)
	{
		text-align: center;
		white-space: nowrap;
	}
	.tbl_room tbody td table td:empty::after
	{
		content:"─";
		color:#666;
	}

	.contents .tbl1:is(.trial_tbl,.medical_phase,.medical_trial,.medical_kitei,.medical_conference) thead th
	{
		font-size:1.4rem;
		/* padding:5px 10px; */
		background:#e5e5df;
	}
	.contents .tbl1.trial_tbl thead th.hd_kind1
	{
		width:20%;
	}
	.contents .tbl1.trial_tbl thead th.hd_kind2
	{
		width:40%;
	}
	.contents .tbl1.trial_tbl thead th.hd_possibility
	{
		width:20%;
	}
	.contents .tbl1.trial_tbl thead th.hd_trial
	{
		width:20%;
	}

	.contents .tbl1.trial_tbl thead th.committee
	{
		width: 120px;
	}
	.contents .tbl1.trial_tbl thead th.member_name
	{
		width: 180px;
	}
	.contents .tbl1.trial_tbl thead th.qualifications
	{
		width: 120px;
	}
	.contents .tbl1.trial_tbl thead th.classification
	{
		width: 80px;
	}

	.contents .tbl1.trial_tbl thead th.number
	{
		width: 80px;
	}
	.contents .tbl1.trial_tbl thead th.deadline
	{
		width: 200px;
	}
	.contents .tbl1.trial_tbl thead th.held
	{
		width: 200px;
	}
	.contents .tbl1.trial_tbl thead th.summary
	{
		/* width: 120px; */
	}
	.contents .tbl1.medical_conference
	{
		margin-bottom: 0;
	}
	.contents .tbl1.medical_conference thead th
	{
		font-size:1.6rem;
		font-weight: 400;
	}
	.contents .tbl1.medical_conference .col1
	{
		width: 15%;
	}
	.contents .tbl1.medical_conference .col2
	{
		width: 18%;
	}
	.contents .tbl1.medical_conference .col4
	{
		width: 14%;
	}
	.contents .tbl1.medical_conference .title span
	{
		display: block;
		font-size: 0.9em;
		color:#666;
	}
	@media screen and (max-width: 768px)
	{
		.contents .tbl1.medical_conference thead th
		{
			font-size:1.4rem;
		}
		.contents .tbl1.medical_conference tbody th
		{
			font-size:1rem;
		}
		.contents .tbl1.medical_conference tbody td
		{
			padding:0.6em 0.5em;
			font-size: 1.3rem;
		}
		.contents .tbl1.medical_conference tbody td.category
		{
			font-size:1.2rem
		}
		.contents .tbl1.medical_conference tbody td.title
		{
			line-height: 1.3;
		}
	}

	.contents .tbl1.trial_tbl tbody tr.trial_head .center
	{
		white-space: nowrap;
		text-align: center;
		font-size:1.4rem;
	}
	.contents .tbl1.trial_tbl tbody .center
	{
		text-align: center;
	}
	.contents .tbl1.trial_tbl th.trial_ttl
	{
		width: 190px;
	}

	.contents .tbl1.trial_tbl.corporate_entry th
	{
		border-right:1px solid #ccc;
	}
	.contents .tbl1.trial_tbl.corporate_entry td
	{
		border-left:1px solid #ccc;
	}

	.tbl_scroll
	{
		height:auto;
		overflow:visible!important;
	}

	@media screen and (max-width: 768px)
	{
		.contents .tbl1:has(:not(thead)) tbody
		{
			border-top: none;
		}
		.contents table:not(.scroll) thead
		{
			display: none;
		}
		.contents .tbl1 tbody th
		{
			width: 100%;
		}
		.contents .tbl1.psychologist tbody th
		{
			width: 100%;
		}
		.contents .tbl1.access thead
		{
			display: none;
		}
		.contents .tbl1.access > tbody > tr > th::before,
		.contents .tbl1.access > tbody > tr > td::before
		{
			content:"●" attr(data-label) "：";
			color:gray;
			font-size:0.8em;
			margin-right:0.8em;
		}
		.tbl_room
		{
			display: block;
			border-top: none;
			margin-bottom: 15px;
		}
		.tbl_room thead
		{
			display: none;
		}
		.tbl_room > tbody > tr,
		.tbl_room > tbody > tr > :is(th,td)
		{
			width:100%;
			display: block;
			text-align: left;
		}
		.tbl_room > tbody > tr
		{
			margin-bottom:8px;
			border-top: 1px solid #ccc;
			border-left: 1px solid #ccc;
			border-right: 1px solid #ccc;
		}
		.tbl_room > tbody > tr > th
		{
			text-align: center;
			font-weight: 800;
			/* background:#e5e5df; */
		}
		.tbl_room > tbody > tr > td::before
		{
			content:"●" attr(data-label) "：";
			color:gray;
			font-size:0.8em;
			margin-right:0.8em;
		}
		.tbl_room > tbody > tr > td:last-child:before
		{
			content:attr(data-label);
			display: flex;
			justify-content: center;
			background: #f6f4f2;
			margin:0 0 0px;
		}
		.tbl_room > tbody > tr > td td::before
		{
			content:attr(data-label) "：";
			color:gray;
			font-size:0.8em;
			margin-right:0.3em;
		}

		.trial_tbl.irb
		{
			width: 100%;
			display: block;
			border-top: none;
			margin-bottom: 15px;
		}
		.trial_tbl.irb thead
		{
			display: none;
		}
		.contents .trial_tbl.irb > tbody,
		.contents .trial_tbl.irb > tbody > tr,
		.contents .trial_tbl.irb > tbody > tr > :is(th,td)
		{
			width:100%;
			display: block;
			text-align: left;
		}
		.trial_tbl.irb > tbody > tr
		{
			margin-bottom:8px;
			border-top: 1px solid #ccc;
			border-left: 1px solid #ccc;
			border-right: 1px solid #ccc;
		}
		.trial_tbl.irb > tbody > tr > th
		{
			text-align: center;
			font-weight: 800;
			background:#fff;
			font-weight: normal;
			border-top: none;
			border-bottom: 1px solid #ccc;
			text-align: left;
		}
		.trial_tbl.irb > tbody > tr > :is(td,th)::before
		{
			content:"●" attr(data-label) "：";
			color:gray;
			font-size:0.8em;
			margin-right:0.8em;
			min-width: 9em;
			text-align-last: justify;
			display: inline-block;
		}
		.trial_tbl.irb > tbody > tr > :is(td,th):first-child
		{
			/* background-color: #f8f7f6; */
			background-color: #f6f4f2;
			font-weight: 800;
		}
		.trial_tbl.irb > tbody > tr > :is(td,th):first-child:before
		{
			content:none;
		}
/*
		.trial_tbl.irb > tbody > tr > :is(td,th):empty::after
		{
			content: "─";
			color: #666;
		}
*/
		.trial_tbl.irb.conference > tbody > tr > :is(td,th):first-child
		{
			/* background-color: #f8f7f6; */
			background-color: #f6f4f2;
			font-weight: normal;
		}
		.trial_tbl.irb.conference > tbody > tr > :is(td,th):first-child:before
		{
			content:"第";
			margin-right:0.3em;
			font-size:1em;
			min-width: 1em;
		}
		.trial_tbl.irb.conference > tbody > tr > :is(td,th):first-child:after
		{
			content:"回";
			color:gray;
			margin-left:0.3em;
		}
		.trial_tbl.irb.conference > tbody > tr > td:last-child
		{
			min-height: 4.717rem;
		}
		.trial_tbl.irb.conference > tbody > tr > td:last-child a
		{
			margin-inline: auto;
		}
		.trial_tbl.irb.conference > tbody > tr > td:last-child:before
		{
			content:none;
		}
/*
		.trial_tbl.irb.conference > tbody > tr > :is(td,th):empty::after
		{
			content: "─";
			color: #666;
		}
		.trial_tbl.irb.conference > tbody > tr > :is(td,th):last-child:before
		{
			content:"●開催時間：";
			color:gray;
			font-size:0.8em;
			margin-right:0.8em;
		}
		.trial_tbl.irb.conference > tbody > tr > :is(td,th):last-child:empty::after
		{
			content: "16：00開催";
		}
		.trial_tbl.irb.conference > tbody > tr > :is(td,th):last-child:not(:empty)::after
		{
			content: "16：30より開催";
			color: #666;
		}
*/

		.trial_tbl.irb.conference > tbody > tr > :is(td,th) .no_file
		{
			text-align: center;
		}

		.tbl_scroll
		{
			overflow: auto!important;
		}
		.contents .tbl1.trial_tbl.scroll
		{
			width: 1150px;
			border-spacing: 5px 0;
		}
	}

	/* form table */
	p > .fix
	{
		display: inline;
		margin-right: 0.3em;
		color: #fff;
		background: #CC0000;
		padding: 0.2em 0.3em 0.2em;
		font-size: 0.8em;
		border-radius: 3px;
	}
	.contents .tbl1.form tr
	{
		height: 65px;
	}
	.contents .tbl1.form th
	{
		width: 260px;
		padding-right:65px;
		vertical-align: top;
		position: relative;
	}
	.contents .tbl1.form th .fix
	{
		position: absolute;
		top: calc(1.6rem * 1.0);
		right: 2em;
		color: #fff;
		background: #CC0000;
		padding: 0.1em 0.3em;
		font-size: 1.1rem;
		border-radius: 3px;
	}

	.contents .tbl1.form .flex
	{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: first baseline;
		gap:10px 30px;
	}
	.contents .tbl1.form .zip_wrap
	{
		position: relative;
	}
	.contents .tbl1.form .zip_wrap i
	{
		position: absolute;
		top:8px;
		left:8px;
		font-style:normal;
	}
	.contents .tbl1.form .zip_wrap input
	{
		padding-left:30px;
	}
	.contents .tbl1.form .zip_wrap button
	{
		width: fit-content;
		display: block;
		padding: 5px 10px;
		text-align: center;
		background-color: #eee;
		color: #222;
		border: 1px solid #999;
		border-radius:1.5em;
		cursor: pointer;
		transition: 0.1s;
	}

	.contents .tbl1.form .flex + aside
	{
		margin-top:5px;
		color:var(--aside_color)
	}
	.contents .tbl1.form .w18p
	{
		width:180px;
	}
	.contents .tbl1.form .w25
	{
		width:25%;
	}
	.contents .tbl1.form .w30
	{
		width:30%;
	}
	.contents .tbl1.form .w50
	{
		width:calc(50% + 30px);
	}
	.contents .tbl1.form .w75
	{
		width:calc(75% + 30px);
	}
	.contents .tbl1.form .w100
	{
		width:100%;
	}
	.contents .tbl1.form .h100p
	{
		height:auto;
		position:relative;
	}
	.contents .tbl1.form .h100p textarea
	{
		padding-bottom:1em;
		min-height: 100px;
		field-sizing: content;
	}
	.contents .tbl1.form .h100p .input_count
	{
		position:absolute;
		right:15px;
		bottom:8px;
		font-size:0.8em;
		color:var(--aside_color)
	}
	.contents .tbl1.form .h100p .error_form_message + .input_count
	{
		bottom:60px;
	}

	@media screen and (max-width: 768px)
	{
		.contents .tbl1.form tr
		{
			height: auto;
		}
		.contents .tbl1.form th
		{
			width: 100%;
			padding-right:65px;
		}
		.contents .tbl1.form th br
		{
			display: none;
		}
		.contents .tbl1.form .flex
		{
			gap:10px 10px;
		}
		.contents .tbl1.form .w18p,
		.contents .tbl1.form .w25,
		.contents .tbl1.form .w30
		{
			width:calc((100% - 10px ) /2 );
		}
		.contents .tbl1.form .w25.birthday
		{
			width:100%;
		}
		.contents .tbl1.form :is(.w18p,.w25,.w30).radio_wrap
		{
			width:55%;
		}
		.contents .tbl1.form :is(.w18p,.w25,.w30).radio_wrap + :is(.w18p,.w25,.w30)
		{
			width:calc(45% - 10px );
		}

		.contents .tbl1.form .w50,
		.contents .tbl1.form .w75
		{
			width:100%;
		}
		.contents .tbl1.form tr.contact_address
		{
			margin-bottom: 0;
		}
		.contents .tbl1.form tr.contact_address td
		{
			border-bottom-style: dashed;
		}
		.contents .tbl1.form .w20.s100,
		.contents .tbl1.form .w25.s100
		{
			width:100%;
		}
	}

	#message
	{
		margin-bottom:30px;
		text-align: center;
		position: relative;
		border:2px solid #ccc;
		outline-offset: 1px;
		padding: 20px 20px 15px;
		border-radius: 8px;
	}
	#message > message_title
	{
		font-weight: 800;
		font-size:1.3rem;
		position: absolute;
		top:-.8em;
		left:50%;
		background: #fff;
		transform:translate(-50%, 0);
		padding:0 20px;
	}
	#message > p
	{
		text-align:center;
	}

	#message.success
	{
		border-color:#40b06c;
		color:#40b06c;
	}
	#message.error
	{
		border-color:#cc0000;
		color:#cc0000;
	}

	.error_form_message
	{
		display: inline-block;
		background: #cc0000;
		padding: 0.5em 1em;
		margin-bottom: 1em;
		color: #fff;
		margin-top: 1em;
		border-radius: 4px;
		position: relative;
		font-size: 1.2rem;
		line-height: 1.3;
		text-align: left;
	}
	.error_form_message:after
	{
		content: "";
		position: absolute;
		top: -10px;
		left: 1em;
		border-right: 7px solid transparent;
		border-bottom: 10px solid #cc0000;
		border-left: 7px solid transparent;
	}
	.contents .tbl1.form aside
	{
		font-size: 0.8em;
		line-height: 1.5;
	}



	@media screen and (max-width: 768px)
	{
		.contents .tbl1
		{
			width: 100%;
			border-top:none;
			margin-bottom: 0;
		}
		.contents .tbl1:not(.scroll) tr
		{
			width: 100%;
			display: block;
			border-top: 1px solid #ccc;
			border-right: 1px solid #ccc;
			border-left: 1px solid #ccc;
			margin-bottom:8px;
		}
		.contents .tbl1:not(.scroll) th
		{
			width: 100%;
			display: block;
			/* border-top: 1px solid #ccc; */
		}
		.contents .tbl1:not(.scroll) td
		{
			display: block;
			width: 100%;
		}
	}

	.contents .txt_wrap
	{
		/* margin-bottom: 60px; */
	}
	.contents .read .txt_wrap
	{
		/* margin-bottom: 30px; */
	}
	/* .contents .txt_wrap > p
	{
		margin-bottom: 30px;
	} */
	.contents .txt_wrap .column
	{
		display: flex;
		/* justify-content: space-between; */
		gap:50px;
	}
	.contents .txt_wrap .column.hospital_director_wrap,
	.contents .txt_wrap .column.access
	{
		gap:80px;
	}
	.contents .txt_wrap .column.ratio6_4
	{
		gap:60px;
		align-items: flex-start;
	}
	.contents .txt_wrap .column.ratio6_4 .flex_inner
	{
		width:calc(60% - 60px);
	}
	.contents .txt_wrap .column.ratio6_4 > div.cert_wrap
	{
		width:40%;
	}
	.contents .txt_wrap .column.ratio6_4 > .youtube_IRUD,
	.contents .txt_wrap .column.ratio6_4 > figure
	{
		width:40%;
		height:auto;
	}
	.contents .txt_wrap .column.certification
	{
		gap:40px;
		align-items: flex-start;
	}

	.contents .txt_wrap .column.public
	{
		flex-wrap: wrap;
		justify-content: flex-start;
		gap:45px;
	}
	.contents .txt_wrap .column.floor
	{
		align-items: flex-start;
		gap:45px;
		flex-wrap: wrap;
	}
	.contents .txt_wrap .column.garden
	{
		align-items: flex-start;
		gap:40px;
	}
	.contents .txt_wrap .program_rework
	{
		flex-wrap: wrap;
		gap:40px;
	}
	.contents .txt_wrap .program_rework
	{
		flex-wrap: wrap;
		gap:40px;
	}
	.contents .txt_wrap .column.program
	{
		flex-wrap: wrap;
		gap:40px;
	}
	.contents .txt_wrap .column.program .flex_inner
	{
		width:calc(( 100% - 40px * 2 ) / 3);
	}

	.contents .txt_wrap .program_rework_tbl
	{
		font-size:0.9em
	}
	.contents .txt_wrap .program_rework_tbl :is( thead th, tbody td )
	{
		text-align: center;
	}

	.contents .txt_wrap .column > .flex_inner
	{
		width:calc(100% - 220px - 40px);
	}

	.contents .txt_wrap .column.public > .flex_inner
	{
		width:calc((100% - 225px) / 6);
		text-align: center;
	}
	.contents .txt_wrap .column.floor > .flex_inner
	{
		width:calc((100% - 90px) / 3);
		text-align: center;
	}
	.contents .txt_wrap .column.floor > .flex_inner figure
	{
		width: 100%;
	}
	.contents .txt_wrap .column.floor > .flex_inner figure img
	{
		border-radius: 8px 8px 0 0;
	}
	.contents .txt_wrap .column.floor > .flex_inner h4
	{
		font-weight: 400;
	}
	.contents .txt_wrap .column.garden > .flex_inner
	{
		width:calc((100% - 160px) / 5);
		text-align: center;
	}
	.contents .txt_wrap .column.garden > .flex_inner figure
	{
		width: 100%;
	}
	.contents .txt_wrap .column.garden > .flex_inner figure img
	{
		border-radius: 8px 8px 0 0;
	}
	.contents .txt_wrap .column:is(.award,.program)  > .flex_inner div
	{
		font-size:1.4rem;
		word-break: break-all;
	}

	.contents .txt_wrap .column > div.cert_wrap
	{
		width:220px;
		display: flex;
		justify-content: space-between;
		gap:10px;
		position: relative;
	}
	.contents .txt_wrap .column > div.cert_wrap::before
	{
		content:"";
		position: absolute;
		width:2px;
		height:100%;
		left:-20px;
		background:#b5cbf3;
	}
	.contents .txt_wrap .column > div.cert_wrap figure
	{
		display: block;
		width:calc((100% - 10px) / 2);
	}
	.contents .txt_wrap .column > div.cert_wrap figure img
	{
		object-fit: contain;
	}
	.contents .txt_wrap .column > div.cert_wrap figure img[data-lity="data-lity"]
	{
		cursor: pointer;
	}

	.contents .txt_wrap .column.patient_rights > div.cert_wrap figure
	{
		width:100%;
	}
	.contents .txt_wrap .column.patient_rights > div.cert_wrap a:hover
	{
		opacity: 0.6;
	}

	.contents .txt_wrap .column.award .flex_inner a
	{
		text-decoration: none;
	}
	.contents .txt_wrap .column.award .flex_inner a:hover
	{
		opacity: 0.6;
	}
	.contents .txt_wrap .column.award .flex_inner a h4
	{
		text-align: center;
		border-bottom:1px solid #d1d1d1;
		padding-bottom:10px;
	}

	.contents .txt_wrap .column.program .flex_inner
	{
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.contents .txt_wrap .column.program .flex_inner div
	{
		flex-grow: 2;
	}
	.contents .txt_wrap .column.program .flex_inner h4
	{
		text-align: center;
		border-bottom:1px solid #d1d1d1;
		padding-bottom:10px;
	}
	.contents .txt_wrap .column.program .flex_inner ul
	{
		display: flex;
		justify-content: space-around;
		gap:4%;
	}
	.contents .txt_wrap .column.program .flex_inner ul li
	{
		width: 45%;
	}
	.contents .txt_wrap .column.program .flex_inner a.program_link
	{
		text-decoration: none;
		margin: auto;
		font-size:1.4rem;
		width:100%;
		max-width: 200px;
		line-height: 1.3;
		border-radius: 8px;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 10px 10px 10px 10px;
		border: 1px solid #70a5ff;
		position: relative;
		z-index: 1;
		box-shadow: 1px 1px 3px rgba(112, 165, 255, .4);
		color:#222;
	}
	.contents .txt_wrap .column.program .flex_inner ul li a
	{
		text-decoration: none;
		margin: auto;
		font-size:1.4rem;
		width:100%;
		/* max-width: 200px; */
		line-height: 1.3;
		border-radius: 8px;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 10px 10px 10px 10px;
		border: 1px solid #70a5ff;
		position: relative;
		z-index: 1;
		box-shadow: 1px 1px 3px rgba(112, 165, 255, .4);
		color:#222;
	}
	.contents .txt_wrap .column.program .flex_inner a.program_link::before
	{
		content: "";
		display: block;
		width: 16px;
		height: 16px;
		position: relative;
		/* top: 50%; */
		left: 0;
		/* transform: translate(0, -50%); */
		margin-right: 10px;
		z-index: 3;
		background-color: #70a5ff;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"/></svg>')
	}
	.contents .txt_wrap .column.program .flex_inner a.list_link::before
	{
		content: "";
		display: block;
		width: 16px;
		height: 16px;
		position: relative;
		/* top: 50%; */
		left: 0;
		/* transform: translate(0, -50%); */
		margin-right: 10px;
		z-index: 3;
		background-color: #70a5ff;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M40 48C26.7 48 16 58.7 16 72l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24L40 48zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 232l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0z"/></svg>')
	}
	.contents .txt_wrap .column.program .flex_inner a:hover
	{
		background:#70a5ff;
		color:#fff;
		transition: 0.3s;
	}
	.contents .txt_wrap .column.program .flex_inner a:hover::before
	{
		background-color:#fff;
	}


	.contents .txt_wrap .column.program .flex_inner a.medical_link
	{
		text-decoration: none;
	}
	.contents .txt_wrap .column.program .flex_inner a.medical_link:hover
	{
		background-color: #fff;
		opacity: 0.8;
	}
	.contents .txt_wrap .column.program .flex_inner a.medical_link figure
	{
		overflow: hidden;
	}
	.contents .txt_wrap .column.program .flex_inner a.medical_link:hover img
	{
		transform: scale(1.05);
		transition: 0.3s;
	}
	.contents .txt_wrap .rinen_txt
	{
		font-size:1.2em;
		color:#000;
	}

	.monitoring_calendar
	{
		display: block;
		width: 100%;
		max-width: 1000px;
		aspect-ratio: 4 / 3;
		margin-inline: auto;
	}


	.contents .txt_wrap .column.program.column_top a:hover
	{
		text-decoration: none;
		opacity: 0.6;
	}

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

		.contents .txt_wrap .column.ratio6_4 > .youtube_IRUD,
		.contents .txt_wrap .column.ratio6_4 > figure
		{
			width:100%;
			height:auto;
		}
		.contents .txt_wrap .program_rework_tbl	tbody th
		{
			border-bottom: 1px solid #ccc;
		}
		.contents .txt_wrap .program_rework_tbl	tbody td
		{
			text-align: left;
		}
		.contents .txt_wrap .program_rework_tbl	tbody td::before
		{
			content: "●" attr(data-label) "：";
			color: gray;
			font-size: 0.8em;
			margin-right: 0.8em;
			display: block;
		}

		.contents .txt_wrap .column.certification
		{
			display: block;
		}

		.contents .txt_wrap .column > .flex_inner
		{
			width:100%;
		}

		.contents .txt_wrap .column > div.cert_wrap
		{
			width:100%;
			gap:30px;
			justify-content: center;
			margin:auto;
			position: relative;
		}
		.contents .txt_wrap .column > div.cert_wrap:before
		{
			content:none;
		}

		.contents .txt_wrap .column.public
		{
			gap:25px;
		}
		.contents .txt_wrap .column.public > .flex_inner
		{
			width:calc((100% - 50px) / 3);
		}
		.contents .txt_wrap .column.floor
		{
			gap:25px;
		}
		.contents .txt_wrap .column.floor > .flex_inner
		{
			width:calc((100% - 25px) / 2);
			text-align: center;
		}
		.contents .txt_wrap .column.floor > .flex_inner h4
		{
			margin-bottom:0;
			font-size:1.5rem;
		}
		.contents .txt_wrap .column.garden
		{
			gap:25px;
			flex-wrap: wrap;
		}
		.contents .txt_wrap .column.garden > .flex_inner
		{
			width:calc((100% - 25px) / 2);
			text-align: center;
		}
		.contents .txt_wrap .column.garden > .flex_inner h4
		{
			margin-bottom:0;
			font-size:1.5rem;
		}

		.contents .txt_wrap .column.program
		{
			gap:20px;
		}
		.contents .txt_wrap .column.program .flex_inner
		{
			width:100%;
		}
		.program_movie iframe
		{
			width: 100%;
			height: 100%;
		}
	}

	.contents .column .flex_inner
	{
		width: calc( 100% - 50px - 330px );
	}
	.contents .txt_wrap .column.address
	{
		flex-wrap: wrap;
		gap:50px 80px;
	}
	.contents .txt_wrap .column.address .flex_inner
	{
		width: calc( ( 100% - 160px ) / 3 );
	}
	.contents .txt_wrap .column.equipment
	{
		flex-wrap: wrap;
		gap:80px 60px;
	}
	.contents .txt_wrap .column.equipment .flex_inner
	{
		width: calc( ( 100% - 120px ) / 3 );
	}
	.contents .txt_wrap .column.team
	{
		flex-wrap: wrap;
		justify-content: flex-start;
		gap:60px 40px;
	}
	.contents .txt_wrap .column.team .flex_inner
	{
		width: calc( ( 100% - 80px ) / 3 );
	}
	.contents .column .flex_inner p
	{
		margin-bottom:0px;
	}
	.contents .column.team .flex_inner .box
	{
		height: calc(100% - 2.5em);
	}
	.contents .txt_wrap .column.address .flex_inner dl
	{
		display: flex;
		justify-content: flex-start;
		gap:0.5em;
		margin:0;
	}
	.contents .txt_wrap .column.address .flex_inner dt
	{
		width: 5.5em;
		text-align-last: justify;
	}
	.contents .txt_wrap .column.address .flex_inner dt::after
	{
		content:"：";
	}
	.contents .txt_wrap .column.address .flex_inner dd
	{
		width: calc( 100% - 6em );
	}

	.contents .txt_wrap .column.equipment .flex_inner figure
	{
		width:100%;
		aspect-ratio: 3 / 2;
	}
	.contents .txt_wrap .column.equipment .flex_inner figure img
	{
		/* cursor: pointer; */
		border-radius: 8px 8px 0 0;
	}
	.contents .txt_wrap .column.equipment .flex_inner h4
	{
		font-size:1.6rem;
		text-align: center;
	}
	.contents .txt_wrap .column.equipment .flex_inner h4 span
	{
		font-size:1.3rem;
		color:#aaa;
		font-weight: 400;
		display: block;
	}
	.contents .txt_wrap .column.equipment .flex_inner ul.label
	{
		display: flex;
		gap:20px;
	}
	.contents .txt_wrap .column.equipment .flex_inner ul.label li
	{
		width: 140px;
		border-radius: 8px;
		text-align: center;
		font-size:1.2rem;
		background:#aaa;
		padding:0.1em 0;
		color:#fff;
		display: inline-block;
	}

	@media screen and (max-width: 768px)
	{
		.contents .txt_wrap .column.address
		{
			flex-direction: column;
			gap:30px;
		}
		.contents .txt_wrap .column.address .flex_inner
		{
			width: 100%;
		}
		.contents .txt_wrap .column.equipment
		{
			flex-direction: column;
			gap:60px 30px;
		}
		.contents .txt_wrap .column.equipment .flex_inner
		{
			width: 100%;
		}
		.contents .txt_wrap .column.team
		{
			flex-direction: column;
			gap:30px;
		}
		.contents .txt_wrap .column.team .flex_inner
		{
			width: 100%;
		}

		.contents .txt_wrap .column.ratio6_4
		{
			flex-direction: column;
			gap:15px;
		}
		.contents .txt_wrap .column.ratio6_4 .flex_inner
		{
			width:100%;
		}
		.contents .txt_wrap .column.ratio6_4 > div.cert_wrap
		{
			width:100%;
		}
		.contents .txt_wrap .column.ratio6_4 > figure
		{
			width:100%;
		}
	}

	:is(.lnk_wrap, .dl_wrap, .btn_wrap)
	{
		/* margin-top:30px;
		margin-bottom:15px; */
	}
	:is(.lnk_wrap, .dl_wrap, .btn_wrap) a:hover
	{
		text-decoration: none!important;
	}
	.txt_wrap p + :is(.lnk_wrap, .dl_wrap, .btn_wrap)
	{
		/* margin-top:15px;
		margin-bottom:15px; */
	}

	.contents .visit_info_wrap + .dl_wrap
	{
		/* margin-top:20px; */
	}
	.dl_wrap + ul.kome
	{
		/* margin-top:20px; */
	}
	.lnk_wrap > a:not(:last-child)
	{
		margin-bottom:var(--mb_xsmall);
	}


	.dl_wrap.satisfaction li
	{
		margin-bottom:var(--mb_small);
	}
	.dl_wrap.satisfaction li a
	{
		display: flex;
		width: fit-content;
		align-items: baseline;
		gap: 10px;
		padding-bottom: .1em;
		background: linear-gradient(#38ade0, #38ade0) 0 100% / 0 1px no-repeat;
		transition: background 0s;
		text-decoration: none;
	}
	.dl_wrap.satisfaction li a:hover
	{
		color: #0f88bc;
   		background-size: 100% 1px;
	}
	.dl_wrap.satisfaction li a::before
	{
		content: "";
		display: inline-block;
		width: 1em;
		height: 1em;
		background-color: #70a5ff;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: 100%;
		mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/></svg>');
	}

	.btn_wrap
	{
		display: flex;
		width: 100%;
		/* justify-content: space-between; */
		/* justify-content: center; */
		justify-content: flex-start;
		/* align-items: center; */
		gap:40px
	}
	.btn_wrap.jfc
	{
		justify-content: center;
	}
	.btn_wrap.jfsb
	{
		justify-content: space-between;
	}
	.btn_wrap.jfsa
	{
		justify-content: space-around;
	}
	.btn_wrap
	{
		display: flex;
		width: 100%;
		/* justify-content: space-between; */
		/* justify-content: center; */
		justify-content: flex-start;
		/* align-items: center; */
		gap:40px
	}
	.btn_wrap > a
	{
		width:350px;
		line-height: 1.3;
		border-radius: 8px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding:10px 30px 10px 20px;
		border:1px solid #70a5ff;
		position: relative;
		z-index: 1;
		box-shadow: 3px 3px 7px rgba(112, 165, 255, .4);
		color:#222!important;
	}
	.btn_wrap > a.no_icon
	{
		padding:10px 30px 10px 20px;
	}
	.btn_wrap > a > p
	{
		width:calc( 100% - 25px - 18px );
	}
	.btn_wrap > a::before
	{
		content: "";
		display: block;
		width:25px;
		height:25px;
		position: relative;
		/* top:50%; */
		left:0;
		/* transform:translate(0, -50%); */
		margin-right:18px;
		z-index: 3;
		background-color: #70a5ff;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
	}

	.btn_wrap > a.download::before
	{
		width:20px;
		height:20px;
	}
	.btn_wrap > a.web::before
	{
		mask-image:url(../images/common/icon/input.svg);
	}
	.btn_wrap > a.fax::before
	{
		mask-image:url(../images/common/icon/fax.svg);
	}
	.btn_wrap > a.calendar::before
	{
		mask-image:url(../images/common/icon/calendar.svg);
	}
	.btn_wrap > a.up::before
	{
		mask-image:url(../images/common/icon/up_arrow.svg);
	}
	.btn_wrap > a.heart::before
	{
		mask-image:url(../images/common/icon/heart.svg);
	}
	.btn_wrap > a.message::before
	{
		mask-image:url(../images/common/icon/voice.svg);
	}
	.btn_wrap > a.manager::before
	{
		mask-image:url(../images/common/icon/manager.svg);
	}
	.btn_wrap > a.book::before
	{
		mask-image:url(../images/common/icon/doc.svg);
	}
	.btn_wrap > a.human::before
	{
		mask-image:url(../images/common/icon/human.svg);
	}
	.btn_wrap > a.lecture::before
	{
		mask-image:url(../images/common/icon/lecture.svg);
	}
	.btn_wrap > a.payment::before
	{
		mask-image:url(../images/common/icon/cash.svg);
	}
	.btn_wrap > a.no_icon::before
	{
		content:none;
	}
	.btn_wrap > a:after
	{
		content: "";
		position: absolute;
		left:calc(100% - 26px);
		display: block;
		/* width: 10px;
		height: 10px; */
		width: 1em;
		height: 1em;
		background-color: #dad6cb;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: 100%;
		/* mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z"/></svg>');
		transform: scale(0.8, 0.8);
		 */
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-caret-right-fill" viewBox="0 0 16 16"><path d="m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/></svg>');
	}
	.btn_wrap > a p span
	{
		display: inline;
		font-size:0.8em;
		color:#666
	}
	.btn_wrap > a:hover
	{
		color: #fff!important;;
		background: var(--btn_color);
	}
	.btn_wrap > a:hover::before,
	.btn_wrap > a:hover::after
	{
		background-color: #fff;
	}
	.btn_wrap > a:hover p,
	.btn_wrap > a:hover span
	{
		color:#fff;
	}


	.btn_wrap > button
	{
		/* width:calc(( 100% - 40px ) / 2);
		max-width: 350px; */
		width:350px;
		font-size: 1.6rem;
		margin:10px 0;
		line-height: 1;
		border-radius: 8px;
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		z-index: 1;
		box-shadow: 3px 3px 7px rgba(112, 165, 255, .4);
		transition: 0.1s;
	}
	.box.btn_wrap > button.web
	{
		background: #fff;
		padding:15px 20px 15px 20px;
		border:1px solid var(--btn_color);
	}
	.box.btn_wrap > button.web::before
	{
		content: "";
		display: block;
		width:25px;
		height:25px;
		position: absolute;
		top:50%;
		left:20px;
		transform:translate(0, -50%);
		margin-right:18px;
		z-index: 3;
		background-color: var(--btn_color);
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		mask-image:url(../images/common/icon/input.svg);
	}
	.box.btn_wrap > button.web:hover
	{
		background: var(--btn_color);
		color:#fff;
	}
	.box.btn_wrap > button.web:hover::before
	{
		background-color: #fff;
	}
	.box.btn_wrap > button.web:disabled
	{
		filter: grayscale(1);
		cursor:not-allowed ;
	}

	.btn_wrap > button.entry
	{
		background: var(--btn_color);
		padding:15px 0px 15px 0px;
		border:1px solid var(--btn_color);
		color:#fff;
	}
	.btn_wrap > button.back
	{
		background: #fff;
		padding:15px 0px 15px 0px;
		border:1px solid #999;
		color:#222;
		box-shadow: 3px 3px 7px rgba(190, 190, 190, .4);
	}
	.btn_wrap > button:is(.entry,.back):hover
	{
		opacity: 0.6;
	}
	@media screen and (max-width: 768px)
	{
		.contents .txt_wrap .column.access
		{
			gap:20px;
		}
		.btn_wrap > button
		{
			width:85%;
			margin-left:auto;
			margin-right:auto;
		}
		.box.btn_wrap > button.web
		{
			padding:15px 0px 15px 10px;
		}
	}

	.contents .column figure
	{
		width: 330px;
		height:auto;
	}
	.contents .column.award figure
	{
		width: 100%;
		height:150px;
		border-radius: 8px;
	}
	.contents .column.award figure img
	{
		/* object-fit: contain; */
	}
	.contents .column.program figure
	{
		width: 100%;
		height:90px;
	}
	.contents .column.program figure img
	{
		object-position: top center;
	}
	.contents .column.program figure img.img_middle
	{
		object-position: center 18%;
	}
	.contents .column figure:has(figcaption)
	{
		padding-bottom:1.5em;
	}
	.contents .column figure figcaption
	{
		display: block;
		text-align: center;
		font-size:1rem;
		color:#666;
		letter-spacing: 0;
	}
	.contents .column.row3 figure
	{
		width: 200px;
		height:auto;
	}
	.contents .column figure.schedule_contain
	{
		width: 100%;
		aspect-ratio: 3 / 2;
	}
	.contents .column figure img
	{
		width: 100%;
		height:100%;
		object-fit: cover;
		border-radius: 8px;
	}
	.contents .column figure.schedule_contain img
	{
		object-fit: contain;
	}
	.grid_wrap
	{
		display: grid;
		gap: 30px;
		grid-template-columns: 2fr 1fr 1fr;
		grid-template-rows: 1fr 2fr;
	}
	.grid_wrap .dorm
	{
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}
	.grid_wrap .dorm .tbl1 th
	{
		width:30%;
	}
	.grid_wrap .floor
	{
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}
	.grid_wrap .floor figure
	{
		width: 100%;
		height: 100%;
	}
	.grid_wrap .floor img
	{
		width: 100%;
		height: 100%;
		object-fit: contain;
		/* cursor: pointer; */
	}
	.grid_wrap .photo1
	{
		grid-column: 2 / 3;
		grid-row: 1 / 3;
	}
	.grid_wrap .photo2
	{
		grid-column: 3 / 4;
		grid-row: 1 / 3;
	}
	.grid_wrap :is(.photo1,.photo2) figure
	{
		width: 100%;
		height: 100%;
	}
	.grid_wrap :is(.photo1,.photo2) img
	{
		width: 100%;
		height: 100%;
		object-fit: cover;
		/* cursor: pointer; */
	}


	.box
	{
		/* margin:0.8em auto; */
		margin:0em auto;
		padding:1em 1.5em;
		background:#f7f5f2;
		border-radius: 8px;
	}
	.box.address
	{
		background:#eff4e1;
	}
	.box strong
	{
		color:#666;
	}
	.box strong.box_ttl
	{
		color:#222;
		display: block;
		margin-bottom: 0.5em;
	}
	.box p
	{
		text-align: left;
	}
	.box span
	{
		display: inline-block;
	}
	.txt_wrap .signature
	{
		display: block;
		width:fit-content;
		margin:1em 0 0 auto;
		text-align: right;
	}
	.txt_wrap .signature span
	{
		text-align: left;
		display: block;
	}
	@media screen and (max-width: 768px)
	{
		.grid_wrap
		{
			display: block;
		}
		.grid_wrap .dorm .tbl1 th
		{
			width:100%;
		}
		.grid_wrap .floor figure
		{
			width: 100%;
			height: auto;
			margin:0 auto 0px;
		}
		.grid_wrap :is(.photo1,.photo2) figure
		{
			width: 80%;
			height: auto;
			margin:0 auto 0px;
		}

		.box
		{
			padding:1em 1em;
		}
	}
	ul.kome
	{
		list-style: none;
		/* margin:10px 0 10px 0.5em; */
		margin:0px 0 0px 0.5em;
		padding-left: 1.0em;
	}
	ul.kome li
	{
		text-indent: -1.5em;
		margin-bottom: 0.2em;
		line-height: 1.5;
	}
	ul.kome li:last-child
	{
		margin-bottom: 0;
	}
	ul.kome li:before
	{
		content: "※";
		margin-right: 0.3em;
	}

	ul.check
	{
		list-style: none;
		/* margin:10px 15px 10px 15px; */
		margin:0px 15px 0px 15px;
		padding-left: .5em;
	}
	ul.check li
	{
		/* text-indent: -1.5em; */
		margin-left: -1.5em;
		margin-bottom: 0.5em;
		line-height: 1.5;
		display: flex;
		justify-content: flex-start;
		padding-left: 1.6em;
		position: relative;
		/* align-items: center; */
	}
	ul.check li:before
	{
		content:"";
		display: block;
		position: absolute;
		left:0rem;
		width:1em;
		height:1em;
		margin-top: 0.3em;
		background-color: #70a5ff;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		mask-image:url(../images/common/icon/check.svg);
		margin-right: 0.6em;
	}


	.box ul.check li
	{
		flex-wrap: wrap;
	}
	.box ul.check li:last-child
	{
		margin-bottom: 0;
	}
	.box ul.check li strong
	{
		display: block;
		width:100%;
		color:#000;
	}

	ul.dot
	{
		list-style: none;
		margin:10px 0px 10px 0px;
		padding-left: 0;
	}
	ul.dot li
	{
		text-indent:0em;
		margin-bottom: 0.3em;
		line-height: 1.5;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
	}
	ul.dot li:before
	{
		content:"●";
		display: inline-block;
		position: relative;
		left:0;
		font-size:0.3em;
		/* color: #70a5ff; */
		color: gray;
		padding-top: 10px;
		margin-left:5px;
		margin-right:10px;
	}
	ul.dot.recruit li strong
	{
		display: inline-block;
		width: 7em;
	}
	ul.dot.recruit li strong + span::before
	{
		content:"：";
		display: inline-block;
		width: 1em;
	}

	/* ol.number
	{
		list-style: none;
		margin:10px 0px 10px 0px;
		padding-left: 0;
  		counter-reset: number;
	}
	ol.number > li
	{
		text-indent:0em;
		margin-bottom: 0.3em;
		line-height: 1.5;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		margin-left: 0.5em;
  		padding-left: 0.5em;
	}
	ol.number > li:before
	{
		counter-increment: number;
  		content: counter(number);
		display: inline-block;
		font-weight: 800;
		position: relative;
		left: -10px;
		color: #70a5ff;
		width: 1em;
	} */

	ol.number
	{
		list-style-type: decimal;
		position: relative;
		padding-left:1.8em;
	}
	ol.number li
	{
		margin-bottom: 0.2em;
	}
	ol.number li::marker
	{
		font-weight: 400;
		color: #70a5ff;
	}
	:is(ul, ol).space li
	{
		margin-bottom:1em;
	}


	ul.asterisk
	{
		list-style: none;
		margin:10px 0px 10px 0px;
		padding-left: 0;
	}
	ul.asterisk li
	{
		text-indent:0em;
		margin-bottom: 0.3em;
		line-height: 1.5;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
	}
	ul.asterisk li:before
	{
		content:"＊";
		display: inline-block;
		position: relative;
		left:0;
		font-size:1em;
		/* color: #70a5ff; */
		/* margin-left:5px;
		margin-right:10px; */
	}
	ul.asterisk li > *
	{
		display: inline;
		text-align: left;
	}


	.department_wrap > p:not(:last-child)
	{
		/* margin-bottom: 30px; */
	}
	.flow_wrap
	{
		/* margin-bottom:30px; */
	}
	.flow_inner
	{
		/* margin-bottom:40px; */
	}
	.flow_inner dl
	{
		display:flex;
		margin:0 auto;
	}
	.flow_inner dt
	{
		font-size:3rem;
		width:50px;
		text-align: right;
		letter-spacing: 0;
		line-height: 1;
		padding-right: 15px;
		margin-right: 15px;
		border-right:2px solid #97b6f0;
		color:#97b6f0;
	}
	.flow_inner dd
	{
		width: calc(100% - 40px - 15px - 15px);
	}
	.flow_inner dd strong
	{
		display: block;
		/* margin-bottom:0.3em; */
	}
	.flow_inner dl + .dl_wrap
	{
		/* margin-top:20px; */
		margin-left:55px;
	}
	.flow_inner div.choice
	{
		display:flex;
		align-items: center;
		gap:45px;
		margin-top:0.8em;
		margin-left:55px;
	}
	.flow_inner div.choice p
	{
		width:40%;
		max-width:150px;
	}
	.flow_inner div.choice p input
	{
		display: none;
	}
	.flow_inner div.choice p label
	{
		display:block;
		padding:3px 0;
		text-align: center;
		color:#999;
		border:1px solid #999;
		border-radius: 8px;
		cursor: pointer;
		transition: 0.1s;
	}
	.flow_inner div.choice p:first-child label:hover
	{
		color:var(--btn_color);
		border:1px solid var(--btn_color);
	}
	.flow_inner div.choice p:last-child label:hover
	{
		color:#f74b4b;
		border:1px solid #f74b4b;
	}
	.flow_inner div.choice p:first-child input[type="radio"]:checked + label
	{
		color:#fff;
		background-color:var(--btn_color);
		border:1px solid var(--btn_color);
	}
	.flow_inner div.choice p:last-child input[type="radio"]:checked + label
	{
		color:#fff;
		background-color:#f74b4b;
		border:1px solid #f74b4b;
	}

	.flow_flex
	{
		/* margin-bottom:60px; */
	}
	.flow_flex ul
	{
		display:flex;
		justify-content:flex-start;
		gap:40px;
	}
	.flow_flex ul li
	{
		width:calc(( 100% - 120px ) / 4);
	}
	.flow_flex ul li figure
	{
		line-height: 1;
		margin-bottom:15px;
	}
	.flow_flex ul li figure img
	{
		aspect-ratio: 3 / 2;
		object-fit: cover;
		border-radius: 8px;
	}
	.flow_flex ul li h5
	{
		font-size:1.8rem;
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom:10px;
	}
	.flow_flex ul li h5 span
	{
		font-size:2.8rem;
		padding-right:10px;
		color:#97b6f0;
		font-weight: 400;
	}

	@media screen and (max-width: 768px)
	{
		.contents .txt_wrap > p
		{
			margin-bottom: 20px;
		}
		.contents .txt
		{
			margin: 0 auto 20px;
		}
		.contents .visit_info_wrap
		{
			display: block;
			margin-bottom: 30px;
		}
		.contents .visit_info_wrap div
		{
			width: 100%;
			margin-bottom:20px;
		}
		.contents .txt_wrap
		{
			margin-bottom: 30px;
		}
		.contents .txt_wrap .column
		{
			flex-wrap: wrap;
			gap:30px;
		}
		.contents .txt_wrap .column.row3 figure
		{
			width:calc((100% - 20px) / 2);
		}
		.contents .column .flex_inner
		{
			width: 100%;
		}
		.contents .column figure
		{
			width: 100%;
		}
		.btn_wrap
		{
			display: block;
		}
		.btn_wrap > a
		{
			width:100%;
			margin-bottom:18px;
		}
		.btn_wrap > a.solo
		{
			width:80%;
			margin:0 auto 18px;
		}

		ul.check
		{
			margin:0 0 0 15px;
		}
		ul.check li:last-child
		{
			margin-bottom: 0;
		}

		.flow_inner
		{
			margin-bottom:20px;
		}
		.flow_inner dl
		{
			margin-bottom: 0;
		}
		.flow_inner dt
		{
			font-size:1.5rem;
			width:25px;
			padding-right: 8px;
			margin-right: 20px;
			padding-top: 5px;
		}
		.flow_inner dd
		{
			width:calc(100% - 25px - 8px - 20px);
		}
		.flow_inner dl + .dl_wrap
		{
			margin-top:5px;
			margin-left:40px;
		}
		.flow_flex
		{
			margin-bottom: 30px;
		}
		.flow_flex ul
		{
			display:block;
		}
		.flow_flex ul li
		{
			width:100%;
			margin-bottom:20px;
		}
		.flow_flex ul li:last-child
		{
			margin-bottom:0;
		}
		.flow_flex ul li > div
		{
			display: grid;
			grid-template-columns: 1fr 2fr;
			grid-template-rows: auto auto;
			gap:10px 20px;
		}
		.flow_flex ul li figure
		{
			grid-column: 1 / 2;
			grid-row: 1 / 3;
		}
		.flow_flex ul li figure img
		{
			aspect-ratio: auto;
			height:calc(100% + 1em);
		}
		.flow_flex ul li h5
		{
			grid-column: 2 / 3;
			grid-row: 1 / 2;
			line-height: 1;
			font-size:1.6rem;
			margin-bottom:0;
			justify-content: flex-start;
		}
		.flow_flex ul li h5 span
		{
			font-size:2rem;
		}
		.flow_flex ul li h5 p
		{
			grid-column: 2 / 3;
			grid-row: 1 / 3;
			line-height: 1.5;
		}
	}

	/* スケジュール */
	.schedule {
	position: relative;
	font-size: 1.6rem;
	}
	.schedule::before {
		position: absolute;
		background-color: #ccc;
		content: "";
	}

	.schedule ul {
		padding: 0px;
		margin: 0px;
		list-style: none;
	}

	.schedule li {
		position: relative;
	}

	.schedule_time {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		/* width: 5em; */
		height: 2em;
		top:1em;
		text-align: center;
	}
	.schedule_time::after {
		position: absolute;
		width: 1em;
		height: 1em;
		border: 2px solid #fff;
		border-radius: 50%;
		background-color: #70a5ff;
		content: "";
	}

	.schedule_content_title {
		font-weight: bold;
   		/* font-size: 1.2rem; */
   		font-size: clamp(1.2rem, 1.05rem + 0.5vw, 1.5rem);
	}

	@media screen and (max-width: 590px) {
		.schedule
		{
			display: flex;
			gap:0px;
			justify-content: center;
			padding-right:1em;
		}
		.schedule::before {
			top: 15px;
			left: 50%;
			transform:translate(-64px, 0);
			width: 2px;
			height: 100%;
			position: absolute;
		}
		/* .schedule ul
		{
			margin-left:50px;
			margin-right:30px;
		} */
		.schedule li {
			display: flex;
			align-items: center;
			width: 100%;
		}
		.schedule li + li
		{
			margin-top: 1em;
		}
		.schedule_time
		{
			width:4.5em;
		}
		.schedule_time::before {
			top: 50%;
			right: 0px;
			transform: translateX(50%) translateY(-50%) rotate(45deg);
		}
		.schedule_time::after {
			top: 50%;
			left: 5em;
			transform: translateY(-50%);
		}
		.schedule_content {
			margin: 0px 0px 0px 3em;
			/* width: calc(100% - 15em); */
			/* writing-mode: vertical-rl; */
			letter-spacing: 0.1em;
			position: relative;
			top:1em;
		}
	}
	@media screen and (min-width: 590px) {
		.schedule::before {
			top: 3.5em;
			left: 0px;
			transform: translateY(-50%);
			width: 100%;
			height: 2px;
		}
		.schedule ul {
			display: flex;
			flex-wrap: nowrap;
			margin: 0px -10px;
		}
		.schedule li {
			margin: 0px 10px;
			/* width: calc(12.5% - 20px); */
			width: calc(100% / 18);
		}
		.schedule_time {
			margin: 0px auto;
		}
		.schedule_time::before {
			left: 50%;
			bottom: 0px;
			transform: translateX(-50%) translateY(50%) rotate(45deg);
		}
		.schedule_time::after {
			top: 2.5em;
			left: 50%;
			transform: translateX(-50%) translateY(-50%);
		}
		.schedule_content {
			margin: 3em 0px 0px;
		}
		.schedule_content_title {
			text-align: center;
			white-space: nowrap;
		}
		.schedule_content_detail {
			margin-top: 0.5em;
		}
	}
	.step_flow
	{
		width:90%;
		margin:30px auto 0;
		display:flex;
		align-items: center;
		gap:50px;
	}
	.step_flow div
	{
		padding:5px 0;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 8px 0 0 8px;
		position: relative;
	}
	.step_flow div::after
	{
		content:"";
		width: calc(30px / 2);
  		height: 100%;
		clip-path: polygon(0 0, 100% 50%, 0 100%);
		position: absolute;
		right: -14px;
	}
	.step_flow div.step_flow1
	{
		flex-grow: 1;
		color:#528232;
		background: #e0f2e8;
	}
	.step_flow div.step_flow1::after
	{
		background: #e0f2e8;
	}
	.step_flow div.step_flow2
	{
		flex-grow: 2.9;
		color:#fe5599;
		background: #feecf2;
	}
	.step_flow div.step_flow2::after
	{
		background: #feecf2;
	}
	.step_flow div.step_flow3
	{
		flex-grow: 1;
		color:#4a73af;
		background: #d4e8f4;
	}
	.step_flow div.step_flow3::after
	{
		background: #d4e8f4;
	}

	@media screen and (max-width: 590px)
	{
		.step_flow
		{
			width:80px;
			margin:30px 0 30px 20px;
			display:flex;
			justify-content: center;
			align-items: center;
			flex-direction: column;
			gap:20px;
		}
		.step_flow div
		{
			writing-mode: vertical-rl;
			letter-spacing: 0.1em;
			padding:0 5px;
			display: flex;
			align-items: center;
			justify-content: center;
			flex-direction: column;
			border-radius: 8px 8px 0 0;
			position: relative;
			line-height: 1.5;
		}
		.step_flow div::after
		{
			content:"";
			width: 100%;
			height: calc(30px / 2);
			clip-path: polygon(0 0, 100% 0, 50% 100%);
			position: absolute;
			right: 0px;
			bottom:-14px;
		}
	}

	.flex_panel_wrap > ul
	{
		display: flex;
		gap:90px 40px;
		justify-content: space-between;
		flex-flow: row wrap;
	}
	.flex_panel_wrap > ul li
	{
		width:calc( (100% - 80px) / 3 );
	}
	.flex_panel_wrap > ul li figure
	{
		margin-bottom:15px;
	}
	.flex_panel_wrap > ul li figure img
	{
		border-radius: 8px 8px 0 0;
	}
	.flex_panel_wrap > ul li h6
	{
		font-size: 1.8rem;
		font-weight: 800;
		text-align: center;
		margin-bottom:10px;
	}
	.flex_panel_wrap > ul li > ul
	{
		display: flex;
		gap:8px;
		justify-content: flex-start;
		flex-flow: row wrap;
		margin-top:10px;
	}
	.flex_panel_wrap > ul li > ul li
	{
		width:calc( (100% - 32px) / 5 );
		display: block;
		text-align: center;
		padding:1px 0;
		background: #aaa;
		color:#fff;
		font-size: 1.2rem;
		border-radius: 12px;
	}
	.flex_panel_wrap > ul li > ul li.ts
	{
		background: #000;
	}
	@media screen and (max-width: 768px)
	{
		.flex_panel_wrap > ul
		{
			display: flex;
			gap:20px;
			justify-content: space-between;
			flex-flow: row wrap;
		}
		.flex_panel_wrap > ul li
		{
			width:calc( (100% - 20px) / 2 );
		}
		.flex_panel_wrap > ul li figure
		{
			margin-bottom:5px;
		}
		.flex_panel_wrap > ul li h6
		{
			font-size: 1.5rem;
			margin-bottom:5px;
		}
		.flex_panel_wrap > ul li > ul
		{
			display: flex;
			gap:8px;
			justify-content: flex-start;
			flex-flow: row wrap;
			margin-top:10px;
		}
		.flex_panel_wrap > ul li > ul li
		{
			width:calc( (100% - 8px) / 2 );
			display: block;
			text-align: center;
			padding:1px 0;
			background: #aaa;
			color:#fff;
			font-size: 1rem;
			border-radius: 10px;
		}
	}

	/* NCNP病院について */
	.hospital_director
	{
		width:330px;
	}
	.hospital_director h5
	{
		font-size:1.8rem;
		padding:15px;
		text-align: center;
		border-bottom:1px solid #ccc;
	}
	.hospital_director .career
	{
		font-size:1.3rem;
		padding:15px;
		background: #f2f2f2;
	}
	.IRUD_member
	{
		display: flex;
		flex-flow: row wrap;
	}
	.IRUD_member dt
	{
		width:8em;
		display: inline-block;
	}
	.IRUD_member dd
	{
		width:calc(100% - 8em);
		display: inline-block;
		position: relative;
	}
	.IRUD_member dd::before
	{
		content: ":";
		width:1em;
		left:-1em;
		position: absolute;
	}

	.organization_map
	{
		display: flex;
		gap:86px;
	}
	.organization_map > div
	{
		width:185px;
	}
	.organization_map > div > h5
	{
		font-size: 1.8rem;
		font-weight: 400;
		text-align: center;
		letter-spacing: 0;
		white-space: nowrap;
	}
	.organization_map > div > h5 span
	{
		display: block;
		font-size: 1.3rem;
		margin: 3px auto 45px;
		padding-top: 3px;
		border-top: 1px solid #999;
		color: #808080;
		position: relative;
	}
	.organization_map > div.organization_list
	{
		width:calc(100% - 86px - 185px);
		position: relative;
	}
	.organization_map > div.organization_list::before
	{
		content:"";
		width:1px;
		height:100%;
		background: #b6ccf4;
		position: absolute;
		top:0;
		left:-43px;
	}
	.organization_map > div.organization_list::after
	{
		content:"";
		width:7px;
		height:7px;
		border-radius: 50%;
		background: #b6ccf4;
		position: absolute;
		top:-2px;
		left:-46px;
	}
	.organization_map.low > div.organization_list::before
	{
		background: #bce1a8;
	}
	.organization_map.low > div.organization_list::after
	{
		background: #bce1a8;
	}
	.organization_map > div.organization_list p
	{
		font-size:1.4rem;
	}
	.organization_map > div.organization_list ul
	{
		display: flex;
		flex-wrap: wrap;
		gap:20px 8%;
	}
	.organization_map.up > div.organization_list ul
	{
		flex-direction: column;
	}
	.organization_map.clinical > div.organization_list ul
	{
		gap:20px;
		flex-direction: row;
		flex-wrap: wrap;
	}
	.organization_map > div.organization_list ul li
	{
		max-width:350px;
		width:calc(50% - 70px);
		display: block;
	}
	.organization_map > div.organization_list ul li :is(a,span)
	{
		width: 100%;
		display: block;
		padding:10px 36px 10px 18px;
		background: #e8effb;
		border-radius: 8px;
		position: relative;
	}
	.organization_map > div.organization_list ul li a
	{
		background: #edf4d6;
		text-decoration: none;
		position: relative;
		/* font-size: 1.5rem; */
		font-size: 1.3rem;
		color: #222;
		display: flex;
		align-items: center;
	}
	.organization_map > div.organization_list.specialized_disease ul li a
	{
		line-height: 1.3;
		min-height: 55px;
		display: flex;
		align-items: center;
	}
	.organization_map > div.organization_list ul li a:hover
	{
		text-decoration: none;
	}
	.organization_map > div.organization_list ul li a::before
	{
		content: "";
		position: absolute;
		top:50%;
		right:15px;
		transform:translate(0, -50%);
		display: block;
		width: 1em;
		height: 1em;
		background-color: #dad6cb;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: 100%;
		/* mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z"/></svg>'); */
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-caret-right-fill" viewBox="0 0 16 16"><path d="m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/></svg>');
	}
	.organization_map.clinical > div.organization_list ul li :is(a,span)
	{
		padding:5px 24px 5px 18px;
	}
	.organization_map.clinical > div.organization_list ul li
	{
		max-width:100%;
		width:calc((100% - 60px) / 4);
	}
	.organization_map.clinical > div.organization_list ul li a
	{
		background: #e8effb;
	}
	.organization_map.clinical > div.organization_list ul.clinical_link li a
	{
		background: #e8effb;
	}
	.organization_map.clinical > div.organization_list ul.clinical_link li a::before
	{
		background-color: #a1b0d7;
	}
	.organization_map.clinical > div.organization_list ul.clinical_link li a:hover
	{
		background: #0F88BC;
		color:#fff;
	}
	.organization_map.clinical > div.organization_list ul.clinical_link li a:hover::before
	{
		background-color: #fff;
	}

	.organization_map > div.organization_list ul li a::after
	{
		content: none;
	}
	.organization_map > div.organization_list ul li a:hover
	{
		color:#222;
		opacity: 0.6;
	}

	.contents .txt_wrap .column.public > .flex_inner figure
	{
		width:100%;
		aspect-ratio: 141 / 199;
		margin:auto;
		margin-bottom:var(--mb_xsmall);
	}
	.contents .txt_wrap .column.public > .flex_inner figure img
	{
		object-fit: cover;
		object-position:top right;
		border-radius: 0;
		border:1px solid #ddd;
		box-shadow: 3px 3px 5px #ddd;
	}
	.contents .txt_wrap .column.public > .flex_inner .vol_no
	{
		display: inline-block;
		text-align: center;
		width: fit-content;
		font-size: 1.3rem;
		padding: 6px 20px;
		border-radius: 3px;
		color: #fff;
		font-weight: 800;
		line-height: 1;
		margin-bottom:var(--mb_xsmall);
	}
	.contents .txt_wrap .column.public > .flex_inner .vol_no.news
	{
		background: #70a5ff;
	}
	.contents .txt_wrap .column.public > .flex_inner .vol_no.annual
	{
		background: #87aa00;
	}
	.contents .txt_wrap .column.public > .flex_inner .issue_date
	{
		font-size: 1.3rem;
	}
	.contents .department_txt
	{
		font-size:1.5rem;
	}
	.txt_wrap a.newsletter_img:hover
	{
		opacity: 0.6;
	}


	@media screen and (max-width: 768px)
	{
		.contents .txt_wrap .column.hospital_director_wrap
		{
			display: block;
		}
		.hospital_director
		{
			width:100%;
			max-width:330px;
			margin:50px auto 0;
		}
		.IRUD_member dt
		{
			width:7em;
		}
		.IRUD_member dd
		{
			width:calc(100% - 7em);
		}

		.organization_map
		{
			display: block;
		}
		.organization_map > div
		{
			width:280px;
			margin:auto;
		}
		.organization_map > div.organization_list
		{
			width:100%;
		}
		.organization_map > div.organization_list::before
		{
			content:"";
			width:100%;
			height:1px;
			top:-25px;
			left:0;
		}
		.organization_map > div.organization_list::after
		{
			content:"";
			width:7px;
			height:7px;
			border-radius: 50%;
			top:-28px;
			left:0;
		}
		.organization_map > div.organization_list ul li
		{
			width:100%;
			max-width: none;
		}
		.organization_map.low > div.organization_list
		{
			margin-top:50px;
		}

		.organization_map > div > h5 span
		{
			display: block;
			font-size: 1.3rem;
			margin: 10px auto 20px;
			padding-top: 7px;
			border-top: none;
			color: #808080;
			position: relative;
		}
		.organization_map.clinical > div.organization_list ul li
		{
			max-width:100%;
			width:calc((100% - 20px) / 2);
		}
	}
	.youtube_IRUD iframe
	{
		width:100%;
		aspect-ratio: 16 / 9;
	}

	/* サイト全般 */
	.ncnp_address
	{
		display: flex;
		gap:30px;
		align-items: center;
		justify-content: flex-start;
	}
	.ncnp_address figure
	{
		width:100px;
		height:auto;
	}
	.ncnp_address .flex_inner
	{
		width:calc(100% - 30px -100px);
	}
	.ncnp_address .flex_inner h6
	{
		font-size:2rem;
		font-weight: 400;
		margin-bottom:8px;
	}
	.ncnp_address .flex_inner h6 strong
	{
		font-weight: 800;
		padding-left:0.5em;
	}

	.access_map
	{
		width:100%;
		height:420px;
	}
	.access_map iframe
	{
		width:100%;
		height: 100%;
	}
	@media screen and (max-width: 768px)
	{
		.ncnp_address
		{
			gap:10px;
		}
		.ncnp_address figure
		{
			width:50px;
		}
		.ncnp_address .flex_inner
		{
			width:calc(100% - 10px - 50px);
		}
		.ncnp_address .flex_inner h6
		{
			font-size:1.4rem;
			margin-bottom:0;
		}
		.ncnp_address .flex_inner h6 strong
		{
			display: block;
			padding-left:0;
		}
		.ncnp_address .flex_inner h6 + p
		{
			font-size:1.2rem;
		}
		.access_map
		{
			height:180px;
		}
	}

	.box:is( .faq, .recruit, .lecture )
	{
		padding:1em 1.5em 0 1.5em;
	}
	.box:is( .faq, .recruit, .lecture ) > a
	{
		display: inline-block;
		margin: 0 1.51em 1em 0;
		font-size:1.2rem;
		padding:0.2em 1em;
		text-align: center;
		min-width:173px;
		background:#fff;
		color:#006c99;
		border:1px solid #006c99;
		border-radius: 8px;
	}
	.box:is( .faq, .recruit, .lecture ) > a.cat_1
	{
		color:#2f9fe0;
		border:1px solid #2f9fe0;
	}
	.box:is( .faq, .recruit, .lecture ) > a.cat_2
	{
		color:#ff7f2a;
		border:1px solid #ff7f2a;
	}
	.box:is( .faq, .recruit, .lecture ) > a.cat_3
	{
		color:#44aa00;
		border:1px solid #44aa00;
	}
	.box:is( .faq, .recruit, .lecture ) > a.cat_4,
	.box:is( .faq, .recruit, .lecture ) > a.cat_12
	{
		color:#c837ab;
		border:1px solid #c837ab;
	}
	.box:is( .faq, .recruit, .lecture ) > a.cat_5
	{
		color:#8a0c47;
		border:1px solid #8a0c47;
	}
	.box:is( .faq, .recruit, .lecture ) > a.cat_6
	{
		color:#0bb1d1;
		border:1px solid #0bb1d1;
	}
	.box:is( .faq, .recruit, .lecture ) > a.cat_99
	{
		color:#999;
		border:1px solid #999;
	}
	/* .box:is( .faq, .recruit, .lecture ) > a:last-child
	{
		color:#c837ab;
		border:1px solid #c837ab;
	} */

	.box:is( .faq, .recruit, .lecture ) > a.cat_all.active,
	.box:is( .faq, .recruit, .lecture ) > a.cat_all:hover
	{
		background:#006c99;
		color:#fff;
	}
	.box:is( .faq, .recruit, .lecture ) > a.cat_1.active,
	.box:is( .faq, .recruit, .lecture ) > a.cat_1:hover
	{
		background:#2f9fe0;
		color:#fff;
	}
	.box:is( .faq, .recruit, .lecture ) > a.cat_2.active,
	.box:is( .faq, .recruit, .lecture ) > a.cat_2:hover
	{
		background:#ff7f2a;
		color:#fff;
	}
	.box:is( .faq, .recruit, .lecture ) > a.cat_3.active,
	.box:is( .faq, .recruit, .lecture ) > a.cat_3:hover
	{
		background:#44aa00;
		color:#fff;
	}
	.box:is( .faq, .recruit, .lecture ) > a.cat_4.active,
	.box:is( .faq, .recruit, .lecture ) > a.cat_4:hover,
	.box:is( .faq, .recruit, .lecture ) > a.cat_12.active,
	.box:is( .faq, .recruit, .lecture ) > a.cat_12:hover
	{
		background:#c837ab;
		color:#fff;
	}
	.box:is( .faq, .recruit, .lecture ) > a.cat_5.active,
	.box:is( .faq, .recruit, .lecture ) > a.cat_5:hover
	{
		background:#8a0c47;
		color:#fff;
	}
	.box:is( .faq, .recruit, .lecture ) > a.cat_6.active,
	.box:is( .faq, .recruit, .lecture ) > a.cat_6:hover
	{
		background:#0bb1d1;
		color:#fff;
	}
	.box:is( .faq, .recruit, .lecture ) > a.cat_99.active,
	.box:is( .faq, .recruit, .lecture ) > a.cat_99:hover
	{
		background:#999;
		color:#fff;
	}
	.box.box_flex
	{
		display: flex;
		justify-content: flex-start;
		gap:15px 35px;
		flex-wrap: wrap;
	}
	/* .box:is( .faq, .recruit, .lecture ) > a.active:last-child,
	.box:is( .faq, .recruit, .lecture ) > a:last-child:hover
	{
		background:#c837ab;
		color:#fff;
	} */

	.box.pink
	{
		background-color: #fdeff2;
		outline: 5px solid #fdeff2;
		outline-offset:2px;
	}
	.box.pink p
	{
		color: #fa8072;
	}

	@media screen and (max-width: 768px)
	{
		.box:is( .faq, .recruit, .lecture ) > a
		{
			min-width:0;
			line-height: 1.3;
			display: flex!important;
			justify-content: center;
			align-items: center;
		}
	}

	/* //////////////////////////////////////////
	採用について
	////////////////////////////////////////// */
	.nurse_feature .column
	{
		display: flex;
		justify-content: space-between;
		gap:50px;
	}
	.nurse_feature .column .flex_inner
	{
		width:calc(100% - 50px - 35%);
	}
	.nurse_feature .column figure
	{
		width:35%;
	}
	.nurse_feature .column figure img
	{
		object-fit: contain;
	}
	.nurse_feature .column:last-child figure img
	{
		/* max-height: 258px; */
	}
	.nurse_feature .column > .flex_inner:has( .nurse_tbl )
	{
		width: 50%;
	}
	.nurse_feature .column > .nurse_graph
	{
		width: calc( 100% - 50% - 50px );
	}
	.nurse_feature .column > .flex_inner .nurse_tbl td
	{
		text-align: right;
	}
	.nurse_feature .column .nurse_graph figure
	{
		width: 100%;
	}
	@media screen and (max-width: 768px)
	{
		.nurse_feature .column
		{
			flex-direction: column;
			gap:20px;
		}
		.nurse_feature .column .flex_inner
		{
			width:100%;
		}
		.nurse_feature .column > .flex_inner:has( .nurse_tbl )
		{
			width: 100%;
		}
		.nurse_feature .column > .nurse_graph
		{
			width: 100%;
		}
	}
	.line_arr_bottom
	{
		font-size: 2rem;
		line-height: 1.5;
		font-weight: 400;
		padding-bottom: 15px;
		border-bottom: 3px solid #daaffd;
		margin-bottom: var(--mb_middle);
		position: relative;
	}
	.line_arr_bottom::before,
	.line_arr_bottom::after {
		position: absolute;
		top: 100%;
		left: 30%;
		content: "";
		height: 0;
		width: 0;
	}
	.line_arr_bottom::before {
		border: 20px solid;
		border-color: transparent;
		border-top-color: #daaffd;
		margin-left: -20px;
	}
	.line_arr_bottom::after {
		border: 16px solid;
		border-color: transparent;
		border-top-color: white;
		margin-left: -16px;
	}
	.feature_step li
	{
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		align-items: flex-start;
	}
	.feature_step li:nth-child(even)
	{
		display: flex;
		flex-flow: row-reverse nowrap;
		justify-content: space-between;
		align-items: flex-start;
	}
	.feature_step li .flex_inner
	{
		width:48%;
		text-align: left;
	}
	.feature_step li:nth-child(even) .flex_inner
	{
		text-align: right;
	}
	.feature_step li figure
	{
		width: 52%;
	}
	.feature_step li .flex_inner .step_no
	{
		line-height: 1;
		font-size: 5.5rem;
		font-family: "Roboto", sans-serif;
		font-weight: 400;
		font-style: italic;
		color:#5499ff;
		position: relative;
	}
	.feature_step li .flex_inner .step_no::after
	{
		content: "";
		position: absolute;
		z-index: -1;
		bottom:8px;
		left:0;
		width:100%;
		height:0.2em;
		background: #e9f2ff;
	}
	.feature_step li .flex_inner :is(h4,p)
	{
		padding-right:55px;
	}
	.feature_step li:nth-child(even) .flex_inner :is(h4,p)
	{
		padding-right:0;
		padding-left:55px;
	}
	.feature_step li .flex_inner .btn_wrap a
	{
		max-width: 250px;
		position: relative;
		left:50%;
		transform:translate(-50%, 0);
		margin-left:-30px;
	}
	.feature_step li:nth-child(even) .flex_inner .btn_wrap a
	{
		left:0%;
		right:50%;
		transform:translate(50%, 0);
		margin-left:0;
		margin-right:-30px;
	}
	.feature_step li .flex_inner .btn_wrap a p
	{
		padding: 0px;
	}
	table:is(.seminar,.course)
	{
		width: 100%;
		border-collapse: collapse;
		border-top: 1px solid #ccc;
		table-layout: fixed;
		margin-top:1em;
		margin-bottom:1em;
	}
	table:is(.seminar,.course) :is( th, td )
	{
		border-bottom: 1px solid #ccc;
		padding: 0.8em 1em;
		font-weight: 400;
		word-break: break-all;
	}

	table.seminar thead tr th.date
	{
		width: 38%;
	}
	table.seminar thead tr th.place
	{
		width: 30%;
	}
	table.seminar thead tr th.capacity
	{
		width: 15%;
	}
	table.seminar thead tr th.link
	{
		width: 18%;
	}
	table.course thead tr th.course_name
	{
		width: 25%;
	}
	table.course thead tr th.mail
	{
		width: 30%;
	}
	table.course thead tr th.entry
	{
		width: 140px;
	}
	table:is(.seminar,.course) tbody th
	{
		background: #f6f4f2;
		color: #222;
		text-align: left;
		max-width: 260px;
	}
	table:is(.seminar,.course) tbody tr td.link a
	{
		display: block;
		padding: 3px 10px;
		font-size:1.5rem;
		text-align: center;
		color: var(--btn_color);
		border: 1px solid var(--btn_color);
		border-radius: 8px;
		cursor: pointer;
		transition: 0.1s;
		text-decoration: none;
		max-width: 300px;
		margin: auto;
	}
	table:is(.seminar,.course) tbody tr td.link a:hover
	{
		color: #fff;
		background:var(--btn_color);
		opacity: 1;
		text-decoration: none;
	}

	.nurse_feature .column.voice
	{
		display: block;
	}
	.nurse_feature .column.voice .flex_wrap
	{
		display: flex;
		justify-content: space-between;
		gap:50px;
	}
	.nurse_feature .column.voice .flex_inner
	{
		width:calc(100% - 50px - 30%);
	}
	.nurse_feature .column.voice .flex_inner h5
	{
		font-weight: 800;
	}
	.nurse_feature .column.voice .flex_inner h5 span
	{
		font-weight: 400;
		display: inline-block;
		margin-left:30px;
	}
	.nurse_feature .column.voice .flex_inner h5 span::before,
	.nurse_feature .column.voice .flex_inner h5 span::after
	{
		content:"/";
		padding:0 0.3em;
		display: inline-block;
	}
	.nurse_feature .column.voice figure
	{
		width:30%;
	}
	.nurse_feature .column.voice figure img
	{
		border-radius: 8px;
		object-fit: cover;
	}
	.nurse_feature .column.graph
	{
		display: flex;
		gap: 50px;
		justify-content: space-between;
	}
	.nurse_feature .column.graph .flex_inner:nth-child(-n+2)
	{
		width:calc((100% - 100px - 20%) / 2);
	}
	.nurse_feature .column.graph .flex_inner:last-child
	{
		width:20%;
	}
	.nurse_feature .column.graph .flex_inner figure
	{
		width:100%;
	}
	.nurse_feature .column.graph .flex_inner figure img
	{
		object-fit: contain;
		border-radius: 0;
	}
	@media screen and (max-width: 768px)
	{
		.nurse_feature .column
		{
			display: block;
		}
		.nurse_feature .column .flex_inner
		{
			width:100%;
		}
		.nurse_feature .column figure
		{
			max-width: 230px;
			width:60%;
			margin:auto;
		}
		.nurse_feature .column.voice .flex_inner h5
		{
			text-align: center;
		}
		.nurse_feature .column.voice .flex_inner h5 span
		{
			display: block;
			margin-left:0px;
		}

		.feature_step li
		{
			display: flex;
			flex-flow: column-reverse nowrap;
			justify-content: space-between;
			align-items: flex-start;
		}
		.feature_step li:nth-child(even)
		{
			display: flex;
			flex-flow: column-reverse nowrap;
			justify-content: space-between;
			align-items: flex-start;
		}
		.feature_step li .flex_inner
		{
			width:100%;
			text-align: left;
			position: relative;
		}
		.feature_step li:nth-child(even) .flex_inner
		{
			text-align: left;
		}
		.feature_step li .flex_inner .step_no
		{
			position: absolute;
			width: 30%;
			margin-top:-1.25em;
			right:0;
			z-index: 999;
			padding-right: 10px;
			text-align: right;
		}
		.feature_step li .flex_inner .step_no::after
		{
			height:0.1em;
		}
		.feature_step li figure
		{
			width: 100%;
			aspect-ratio: 12 / 5;
			position: relative;
			overflow: hidden;
			border-radius: 8px;
			margin-bottom:var(--mb_small);
		}
		.feature_step li figure img
		{
			object-fit: cover;
			object-position: top;
			height:100%;
		}
		.feature_step li .flex_inner :is(h4,p)
		{
			padding-right:0;
		}
		.feature_step li:nth-child(even) .flex_inner :is(h4,p)
		{
			padding-right:0;
			padding-left:0;
		}
		.feature_step li .flex_inner .btn_wrap a
		{
			margin-left:0px;
		}
		.feature_step li:nth-child(even) .flex_inner .btn_wrap a
		{
			left:50%;
			right:0%;
			transform:translate(-50%, 0);
			margin-left:0;
			margin-right:0px;
		}
		table:is(.seminar,.course)
		{
			border-top: none;
		}
		table:is(.seminar,.course) :is( th, td )
		{
			display: block;
			width:100%;
			border: none;
		}

		table:is(.seminar,.course) thead
		{
			display: none;
		}
		table:is(.seminar,.course) tbody tr
		{
			display: block;
			margin-bottom: var(--mb_middle);
			border: 1px solid #ccc;
		}
		table.course td.course_link a
		{
			margin:auto;
		}
		table:is(.seminar,.course) tbody tr:last-child
		{
			margin-bottom:0;
		}
		table:is(.seminar,.course) tbody :is(th,td):not(:last-child):before
		{
			content: "●" attr(data-label) "：";
			color: gray;
			font-size: 0.8em;
			margin-right: 0.8em;
			display: block;
		}
		table:is(.seminar,.course) tbody th
		{
			background: #f6f4f2;
			color: #222;
			text-align: left;
			max-width: 100%;
		}
		.nurse_feature .column.voice .flex_wrap
		{
			display: block;
		}
		.nurse_feature .column.voice .flex_inner
		{
			width:100%;
		}
		.nurse_feature .column.voice figure
		{
			width:60%;
			margin:auto;
		}
		.nurse_feature .column.graph
		{
			display: block;
		}
		.nurse_feature .column.graph .flex_inner:nth-child(-n+2),
		.nurse_feature .column.graph .flex_inner:last-child
		{
			width:100%;
		}
		.nurse_feature .column.graph .flex_inner figure
		{
			max-width:450px;
			width:80%;
			margin: auto;
		}
	}


	/* //////////////////////////////////////////
	オンライン・カウンセリング
	////////////////////////////////////////// */
	.shortcut_link
	{
		border: 2px solid #0f88bc;
		padding: 30px 12px 15px;
		font-size: 1em;
		border-radius: 5px;
		position: relative;
	}
	.shortcut_link::after
	{
		content:"目次";
		position: absolute;
		top:-12.5px;
		left: 8px;
		display: inline-block;
		line-height: 1;
		padding: 6px 10px;
		background: #0f88bc;
		color: #ffffff;
		font-weight: bold;
		border-radius: 5px;
	}

	.shortcut_link ul
	{
		list-style: none;
		/* margin:10px 0 10px 0.5em; */
		margin:0px 0 0px 1.5em;
		padding-left: 1.0em;
	}
	.shortcut_link ul li
	{
		text-indent: -1.5em;
		margin-bottom: 0.5em;
		line-height: 1.5;
	}
	.shortcut_link ul li:last-child
	{
		margin-bottom: 0;
	}
	.shortcut_link ul li:before
	{
		content: "●";
		margin-right: 0.3em;
		color:#0f88bc;
	}
	.shortcut_link ul li a
	{
		color:#0f88bc;
	}
	.shortcut_link ul li.active
	{
		background-color: #f1f1f1;
	}
	.shortcut_link ul li.active a
	{
		font-weight: 700;
		color:#222;
	}
	.shortcut_link ul li a:hover
	{
		text-decoration: underline;
	}
	/* 挿絵 */
	.picture
	{
		text-align: center;
	}
	.picture figure
	{
		width: 90%;
		max-width: 450px;
		margin-inline: auto;
	}
	.picture a figure
	{
		width: 90%;
		max-width: 550px;
		margin-inline: 0;
	}

	.curon_link
	{
		text-align: left;
		font-weight: 700;
		font-size:2.5rem;
	}
	.curon_link div
	{
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap:0.5em;
	}
	.curon_link div img
	{
		width: auto;
		height:1.5em;
	}
	.curon_link div span
	{
		font-size:1.5rem;
		padding-left:0.5em;
	}
	.curon_howto
	{
		font-size:2rem;
		text-align: center;
	}
	.contents table.tbl_onc thead tr th
	{
		text-align: center;
	}
	.contents table.tbl_onc thead tr th:first-child
	{
		width:120px;
	}
	.contents table.tbl_onc thead span
	{
		display: block;
		text-align: center;
		font-size: 1.2rem;
	}
	.contents table.tbl_onc tbody
	{
		text-align: center;
	}
	.contents table.tbl_onc tbody tr:first-child th
	{
		background-color: #ddebf7;
	}
	.contents table.tbl_onc tbody tr:last-child th
	{
		background-color: #c6e0b4;
	}
	.contents table.tbl_onc tbody span
	{
		display: block;
		text-align: center;
		font-size: 1.2rem;
	}

	@media screen and (max-width: 768px)
	{
		.curon_link
		{
			font-size:2rem;
		}
		.curon_link div img
		{
			width: auto;
			height:2.5rem!important;
			margin-inline:0!important;
		}
		.contents table.tbl_onc thead
		{
			display: table-header-group;
		}
		.contents table.tbl_onc thead tr th:first-child
		{
			width:70px;
		}
		.contents table.tbl_onc thead tr th,
		.contents table.tbl_onc thead tr th span
		{
			font-size:0.8rem;
			line-height: 1.3;
		}
		.contents table.tbl_onc tbody tr th
		{
			font-size:1rem;
		}
		.contents table.tbl_onc tbody tr td
		{
			font-size:1rem;
		}
		.contents table.tbl_onc tbody tr td span
		{
			font-size:0.7em;
		}
	}

	.visiting_lecture
	{
		display: grid;
		grid-template-rows: auto;
		gap:48px;
	}
	.visiting_lecture > dl
	{
		border-top:1px solid #ccc;
	}
	.visiting_lecture_list
	{
		display: grid;
		grid-template-columns: 2fr 1fr;
		gap:0px;
		padding: 0;
		margin:0;
	}
	.visiting_lecture_list dt ul
	{
		border-left:1px solid #ccc;
	}
	.visiting_lecture_list dt ul li
	{
		border-right:1px solid #ccc;
		border-bottom:1px solid #ccc;
		padding:8px 16px;
	}
	.visiting_lecture_list dt ul li:nth-child(odd)
	{
		background: #f7f5f2;
	}
	.visiting_lecture_list dd
	{
		border-right:1px solid #ccc;
		border-bottom:1px solid #ccc;
		padding:8px 16px;
		position: relative;
	}
	.visiting_lecture_list:not(.ttl) dd::after
	{
		content:"";
		width:30px;
		height:30px;
		background-color: #f7ddb2;
		position: absolute;
		top:5px;
		right:5px;
		clip-path: polygon(0 0, 100% 100%, 100% 0);
	}
	.visiting_lecture_list dd > div
	{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		/* text-decoration: underline;
		text-decoration-style: wavy;
		text-underline-offset: 3px;
		text-decoration-color: #cfcfcf; */
	}
	.visiting_lecture > dl.ttl
	{
		height:1.5em;
		align-items: center;
		padding:0 0px;
		margin-bottom: -54px;
		border-top:none;
		font-weight: 700;
		font-size:0.9em;
	}
	.visiting_lecture > dl.ttl dt
	{
		margin-bottom:-1.5em;
		padding:0px 16px;
		text-align: center;
	}
	.visiting_lecture > dl.ttl dd
	{
		margin-bottom:-1.5em;
		padding:0px 16px;
		border: none;
		background: none;
		text-align: center;
	}
	@media screen and (max-width: 675px)
	{
		.visiting_lecture_list:not(.ttl) dd::after
		{
			content:none;
		}
		.visiting_lecture_list dd > div
		{
			display: block;
		}
		.visiting_lecture > dl.ttl
		{
			display: none;
		}
		.visiting_lecture_list
		{
			grid-template-columns: 1fr;
		}
		.visiting_lecture_list dt ul
		{
			border-right:1px solid #ccc;
			padding:10px 16px 5px;
		}
		.visiting_lecture_list dt ul::before
		{
			content:"● 出前講座メニュー：";
			display: block;
			margin-bottom:0.3em;
			font-size: 0.8em;
			color: gray;
			font-weight: 700;
		}
		.visiting_lecture_list dt ul li
		{
			position: relative;
			border:none;
			padding:0;
			margin-left: 1.5em;
			margin-bottom: 0.3em;
		}
		.visiting_lecture_list dt ul li:nth-child(odd)
		{
			background: none;
		}
		.visiting_lecture_list dt ul li:before
		{
			content: "";
			display: block;
			position: absolute;
			left: -2rem;
			width: 1em;
			height: 1em;
			margin-top: 0.3em;
			background-color: #70a5ff;
			mask-repeat: no-repeat;
			mask-position: center;
			mask-size: contain;
			mask-image: url(../images/common/icon/check.svg);
			margin-right: 0.6em;
		}
		.visiting_lecture_list dd
		{
			border-left:1px solid #ccc;
			background: #f7f5f2;
		}
		.visiting_lecture_list dd::before
		{
			content:"● 講師：";
			display: block;
			margin-bottom:0.3em;
			font-size: 0.8em;
			color: gray;
			font-weight: 700;
		}
	}

	/* //////////////////////////////////////////
	FAQ
	////////////////////////////////////////// */
	.faq_ttl
	{
		display: flex;
		flex-direction: column-reverse;
		flex-direction: row-reverse;
		gap:0.5em;
		align-items: flex-end;
		cursor: pointer;
	}
	.faq_ttl p:hover
	{
		color:#0f88bc
	}
	.faq_ttl + div
	{
		display:none;
		padding:15px 20px;
		background:#f5f5f5;
		border-radius:8px;
		transition: 0.5s;
	}
	.faq_category
	{
		display: inline-block;
		/* margin-right: 2em; */
		font-size: 1.2rem;
		padding: 0em 1em;
		text-align: center;
		min-width: 173px;
		background: #fff;
		color: #999;
		border: 1px solid #999;
		border-radius: 8px;
		line-height: 1.7;
	}
	.faq_category.cate1
	{
		color:#39adf0;
		border:1px solid #39adf0;
	}
	.faq_category.cate2
	{
		color:#ff7f2a;
		border:1px solid #ff7f2a;
	}
	.faq_category.cate3
	{
		color:#44aa00;
		border:1px solid #44aa00;
	}
	.faq_category.cate4
	{
		color:#c837ab;
		border:1px solid #c837ab;
	}
	.faq_category.cate5
	{
		color:#8a0c47;
		border:1px solid #8a0c47;
	}
	.faq_category.cate6
	{
		color:#0bb1d1;
		border:1px solid #0bb1d1;
	}
	.faq_category.cate99
	{
		color:#999;
		border:1px solid #999;
	}

	.faq_ttl p
	{
		width:calc(100% - 1em - 95px );
		line-height: 1.6;
	}

	@media screen and (max-width: 768px)
	{
		.box:is( .faq, .recruit, .lecture )
		{
			display: flex;
			flex-wrap: wrap;
			gap:0.8em 15px;
			line-height: 1;
			padding-bottom:1em;
		}
		.box:is( .faq, .recruit, .lecture ) > a
		{
			display: inline-block;
			margin: 0;
			/* min-width:auto; */
			padding:5px;
			width:calc((100% - 15px * 2) / 3);
		}
		.faq_ttl
		{
			flex-direction: column-reverse;
		}
		.faq_category
		{
			font-size:1.1rem;
			padding:0.1em 0.5em;
			min-width:100px;
			top:0;
			margin-bottom:5px;
			margin-left:0;
			margin-right: auto;
		}
		.faq_ttl p
		{
			width:100%;
		}
		.faq_answer img
		{
			width: 100%;
			height:auto;
		}
	}

	.sitemap_wrap
	{
		display: flex;
		justify-content: flex-start;
		gap:40px;
	}
	.sitemap_wrap figure
	{
		width:120px;
	}
	.sitemap_wrap figure img
	{
		border-radius: 8px;
	}
	.sitemap_wrap .sitemap_inner
	{
		width:calc(100% - 120px - 40px);
	}
	.sitemap_link
	{
		display: flex;
		flex-wrap: wrap;
		gap:0.8em 2.5em;
	}
	.sitemap_link li a
	{
		display: block;
		width:fit-content;
	}
	.sitemap_link li a:hover
	{
		text-decoration: underline;
		text-underline-offset: .3em;
		text-decoration-color: #0f88bc;
		transition: 0.1s;
		opacity: 1;
	}
	.sitemap_list .sitemap_wrap:last-child
	{
		margin-bottom:0!important;
	}

	@media screen and (max-width: 768px)
	{
		.sitemap_wrap
		{
			gap:20px;
		}
		.sitemap_wrap figure
		{
			width:70px;
		}
		.sitemap_wrap .sitemap_inner
		{
			width:calc(100% - 70px - 20px);
		}
		.sitemap_link
		{
			display: block;
		}
		.sitemap_link li
		{
			width:100%;
			margin-bottom:0.3em;
		}
	}

	.link_list > div:last-child
	{
		margin-bottom:0!important;
	}

	/****************************
	 * 汎用メッセージ
	 ****************************/
	#msg
	{
		width:100%;
		margin:30px auto;
		padding:1rem 0;
		border:3px solid #000;
		border-radius:10px;
		background:#fff;
		text-align:center;
		position:relative;
	}

	#msg message_title, .message_title_center
	{
		padding:0 20px;
		background:#fff;
		font-weight:bold;
		display:inline-block;
		position:absolute;
		top:-0.9rem;
		left:50%;
		transform:translateX(-50%);
	}

	#msg > p
	{
		margin:0px;
		padding:10px 0 5px 0;
		text-align:center;
	}

	/** タイプによる色変更 *********************/
	#msg.success { border-color:#0caf0f; color:#0caf0f; }
	#msg.error   { border-color:#ff1e1e; color:#ff1e1e; }
	#msg.confirm { border-color:#ff803e; color:#ff803e; }
	#msg.notice  { border-color:#0c91c5; color:#0c91c5; }

	/** メッセージの別デザイン *********************/
	#msg.type1
	{
		width:50%;
		padding:15px 15px 15px 80px;
		background:#fcede7;
		border:0px;
		color:#cc0000;
		font-size:0.8rem;
		text-align:left;
		line-height:150%;
		position:relative;
	}
	#msg.type1::before
	{
		content:'\f071';
		font-family:"Font Awesome 6 Free";
		font-weight:900;
		font-size:1rem;
		position:absolute;
		left:40px;
		transform:translateX( -50% );
		top:15px;
	}

	#msg.type2
	{
		width:50%;
		padding:0px 0px 8px 0px;
		border-top:0px;
		border-left:0px;
		border-right:0px;
		border-width:1px;
		border-radius:0px;
		font-size:0.8rem;
		text-align:left;
		line-height:150%;
	}
	#msg.type2 message_title
	{
		padding:0px 0px 12px 0px;
		position:static;
		left:0px;
		transform:translateX( 0% );
	}

	#msg.type2 p { color:#444; }

	.nurse_oneday h4
	{
		font-size: 1.7rem;
	}
	.nurse_oneday h5
	{
		padding: .5em .7em;
		border-left: 5px solid #2589d0;
		background-color: #f2f2f2;
		color: #333333;
		font-size: 1.6rem;
		font-weight: normal;
	}
	.nurse_oneday h5.daytime
	{
		border-color: #f6dab3;
		background-color: #f3ede5;
	}
	.nurse_oneday h5.evening
	{
		border-color: #f0664d;
		background-color: #fff1ef;
	}
	.nurse_oneday h5.night
	{
		border-color: #6c8cdf;
		background-color: #eaeefa;
	}
	.nurse_oneday h5 span
	{
		font-size: 0.9em;
		display: inline-block;
		margin-left:1em;
	}

	.tbl_oneday
	{
		border-top:1px solid #ccc;
		/* border-left:1px solid #ccc; */
	}
	.tbl_oneday th
	{
		width:15%;
		max-width:150px;
		/* border-right:1px solid #ccc; */
	}
	.tbl_oneday td
	{
		/* border-right:1px solid #ccc; */
	}

	.contents .tbl_oneday.daytime
	{
		border-color:#f6dab3;
	}
	.contents .tbl_oneday.daytime th
	{
		background-color: #f7f5f2;
		border-color:#f6dab3;
	}
	.contents .tbl_oneday.daytime td
	{
		border-color:#f6dab3;
	}

	.contents .tbl_oneday.evening
	{
		border-color:#ffcbcb;
	}
	.contents .tbl_oneday.evening th
	{
		background-color: #fff5f5;
		border-color:#ffcbcb;
	}
	.contents .tbl_oneday.evening td
	{
		border-color:#ffcbcb;
	}

	.contents .tbl_oneday.night
	{
		border-color:#c9d6f8;
	}
	.contents .tbl_oneday.night th
	{
		background-color: #f0f3fa;
		border-color:#c9d6f8;
	}
	.contents .tbl_oneday.night td
	{
		border-color:#c9d6f8;
	}

	.contents .txt_wrap .column.oneday_scene
	{
		padding:40px;
		flex-wrap: wrap;
		gap: 35px;
	}
	.contents .txt_wrap .column.equipment.oneday_scene > .flex_inner
	{
		width: calc( (100% - 70px) / 3 );
	}
	.contents .txt_wrap .column.oneday_scene .flex_inner figure
	{
		width: 100%;
		aspect-ratio: 3 / 2;
	}
	.contents .txt_wrap .column.oneday_scene .flex_inner figure img
	{
		object-position: center 30%;
		/* filter: brightness(180%) contrast(90%) saturate(80%); */
	}
	.contents .txt_wrap .column.equipment.oneday_scene .flex_inner h4
	{
		text-align: center;
	}
	.contents .txt_wrap .column.equipment.oneday_scene .flex_inner h4 span
	{
		color: gray;
		font-size:1.6rem;
		display: inline-block;
		margin-right:1em;
		margin-left: 0;
	}
	@media screen and (max-width: 768px)
	{
		.tbl_oneday th
		{
			width:30%;
			max-width:150px;
		}
		.contents .txt_wrap .column.oneday_scene
		{
			padding:20px;
			gap: 25px;
		}
		.contents .txt_wrap .column.oneday_scene .flex_inner figure
		{
			aspect-ratio: 6 / 3;
		}
			.contents .txt_wrap .column.equipment.oneday_scene > .flex_inner
		{
			width: 100%;
		}
	}