/*	===============================================================
	● サイトCSSファイル
	---------------------------------------------------------------
	Release 2026.06.24                               Powerd by TDR
	=============================================================== */

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

	body
	{
		font-family: "Noto Serif JP", serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: 1.8rem;
		font-weight: 400;
		background: #f9fafb;
		color:var(--cl_text);
		font-weight: 400;
		margin: auto;
		padding:0;
		position: relative;
		line-height: 1.7;
		letter-spacing: 0.05em;
	}
	main
	{
		display:block;
		width: 100%;
		padding-top:164px;
		overflow: hidden;
		position: relative;
		z-index: 0;
		margin-bottom: 0;
		background-color: #f9fafb;
	}
	main > article,
	main > section
	{
		display:block;
		width: 100%;
		margin:0;
		padding:0;
		position: relative;
	}
	.container
	{
		max-width:1280px;
		width:100%;
		margin:0 auto 0px;
		padding:48px 24px 48px;
		position: relative;
		z-index: 0;
	}
	section.booklet .container
	{
		padding-top:64px;
		padding-bottom:64px;
	}
	section.group .container
	{
		padding-top:64px;
		padding-bottom:128px;
	}

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

	figure
	{
		margin:0;
		padding:0;
	}
	figure img
	{
		width: 100%;
		height:auto;
		object-fit: contain;
	}
	a:link
	{
		text-decoration: none;
		color:var(--cl_text);
		transition: 0.3s;
	}
	main.contents > article .text_wrap a
	{
		text-decoration: underline;
		text-underline-offset: 5px;
		color: var(--cl_primary);
	}

	main.contents > article .text_wrap a:hover
	{
		text-decoration: none;
		opacity: 0.8;
	}

	main.contents > article .text_wrap a.btn
	{
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 16px;
		width: fit-content;
		margin-top: 0;
		padding: 16px 32px 16px 24px;
		color: #fff !important;
		background-color: var(--cl_primary);
		border-radius: 8px;
		border-bottom: none;
		text-decoration: none !important;
	}
	main.contents > article .text_wrap a.btn::before
	{
		content: "";
		display: block;
		width: 16px;
		height: 16px;
		background-color: #fff;
		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" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text mr-2 h-5 w-5"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg>');
	}

	.btn_wrap
	{
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 16px;
		margin-top:24px;
	}
	.btn_wrap a.btn
	{
		flex-direction: row!important;
	}
	.group_wrap .btn_wrap
	{
		justify-content: center;
		margin-top:24px;
	}
	.btn_wrap a.btn
	{
		width: fit-content;
		margin-top: 8px;
		padding: 12px 32px 12px 32px;
		color: #fff !important;
		background-color: var(--cl_primary);
		border-radius: 8px;
		border-bottom: none;
		text-decoration: none !important;
		font-size:1.6rem;
	}
	.btn_wrap a.btn
	{
		width: fit-content;
		margin-top: 8px;
		padding: 12px 32px 12px 32px;
		color: #fff !important;
		background-color: var(--cl_primary);
		border-radius: 8px;
		border-bottom: none;
		text-decoration: none !important;
		font-size:1.6rem;
		box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgb(0 0 0 / .05);
	    position: relative;
		top:0;
	}
	.btn_wrap a.btn:hover
	{
		top: -2px;
		opacity: 0.8;
	}
	p
	{
		margin:0;
		padding:0;
	}
	:is(ul,ol):not(:has(input)) li:not(:last-child)
	{
		margin-bottom: 24px;
	}

	.pager
	{
		margin: 0 auto 0;
		padding-top:24px;
		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; */
	}
	.fas.fa-chevron-right::after
	{
		content:"";
		display: block;
		width: 20px;
		height: 20px;
		background-color: #999;
		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 640 640"><!--!Font Awesome Free 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M439.1 297.4C451.6 309.9 451.6 330.2 439.1 342.7L279.1 502.7C266.6 515.2 246.3 515.2 233.8 502.7C221.3 490.2 221.3 469.9 233.8 457.4L371.2 320L233.9 182.6C221.4 170.1 221.4 149.8 233.9 137.3C246.4 124.8 266.7 124.8 279.2 137.3L439.2 297.3z"/></svg>');
	}
	.fas.fa-chevron-left::after
	{
		content:"";
		display: block;
		width: 20px;
		height: 20px;
		background-color: #999;
		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 640 640"><path d="M169.4 297.4C156.9 309.9 156.9 330.2 169.4 342.7L361.4 534.7C373.9 547.2 394.2 547.2 406.7 534.7C419.2 522.2 419.2 501.9 406.7 489.4L237.3 320L406.6 150.6C419.1 138.1 419.1 117.8 406.6 105.3C394.1 92.8 373.8 92.8 361.3 105.3L169.3 297.3z"/></svg>');
	}
	.fas.fa-chevron-right:hover::after,
	.fas.fa-chevron-left:hover::after
	{
		background-color: #fff;
		border: none;
	}

	.pager .page_button li a:hover,
	.pager .page_button li.active
	{
		background: #999;
		color: #fff;
	}
	@media screen and (max-width: 768px)
	{
		.container
		{
			padding:32px 12px 32px;
		}
		.pager
		{
			width: 100%;
		}
	}
	@media screen and (max-width: 640px)
	{
		main
		{
			padding-top:121px;
		}
	}

	.box
	{
		width:100%;
		margin-top:24px;
		padding:24px;
		border: 1px solid #e5e1dc;
		background-color: #eeebe84d;
		border-radius: 8px;
		font-size:1.6rem;
		color:var(--cl_text);
	}

	dl.form_container
	{
		margin-top:16px;
	}
	dl.form_container dt
	{
		font-size: 1.4rem;
		color:#919191;
		font-weight: 700;
	}
	dl.form_container dt span.required
	{
		color:var(--cl_accent);
		margin-left:4px;
		font-size: 1.4rem;
	}
	dl.form_container dd
	{
		margin:8px 0 0 0;
	}
	dl.form_container input[type="text"],
	dl.form_container input[type="tel"],
	dl.form_container input[type="date"],
	dl.form_container select,
	dl.form_container textarea
	{
		width: 100%;
		padding:12px 16px;
		background-color: #f9fafb;
		border: 1px solid var(--cl_border);
		border-radius: 4px;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		font-size:1.7rem;
		color:var(--cl_text);
		text-align: left;
		min-height: 46px;
	}
	dl.form_container textarea
	{
		min-height: 120px;
		line-height: 1.5;
		field-sizing: content;
	}
	dl.form_container input[type="radio"]
	{
		background-color: #f9fafb;
		font-size:1.7rem;
	}
	dl.form_container ul
	{
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap:16px;
	}
	dl.form_container li label
	{
		display: flex;
		align-items: center;
		gap:8px;
		font-size: 1.7rem;
		color:var(--cl_text);
	}
	dl.form_container li span
	{
		display: block;
		padding:4px 0 4px;
		font-size: 1.7rem;
		color:var(--cl_text);
	}
	form:has(.confirm)
	{
		dl.form_container div.black
		{
			font-size:1.7rem;
			padding-top:0.2em;
			padding-bottom:1.2em;
			line-height: 1.5;
		}
	}
	.tbl_1
	{
		width: 100%;
		border-collapse: collapse;
	}
	.tbl_1 tr
	{
		border-bottom: 1px solid var(--cl_border);
	}
	.tbl_1 :is(th,td)
	{
		padding:28px 0 16px;
		font-size: 1.6rem;
		text-align: left;
	}
	.tbl_1 th
	{
		width:28%;
		font-weight: 700;
	}
	.tbl_1 td
	{
		width:calc(100% - 28%);
	}

	.tbl2
	{
		width: 100%;
		table-layout: fixed;
    	border-collapse: collapse;
		border-spacing: 0px;
	}
	.tbl2 :is(th,td)
	{
		width: auto;
		padding: 16px;
		font-size: 1.6rem;
		color:var(--cl_text);
		text-align: center;
		border:1px solid var(--cl_border);
	}
	.tbl2 thead th
	{
		font-weight: 700;
		background-color: rgb( from var(--cl_primary) r g b / 0.1);
	}
	.tbl2 tbody tr:nth-child(even)
	{
		background-color: #f9f8f7;
	}
	.tbl2 tbody th
	{
    	font-weight: 700;
		vertical-align: middle;
	}




	main.medical_care .tbl2
	{
		margin-bottom:16px;
	}
	main.medical_care .tbl2 thead th:first-child
	{
		width: 20%;
	}
	main.medical_care .tbl2 tbody :is(th,td)
	{
		text-align:left;
		line-height: 1.5;
	}
	@media screen and (max-width: 768px)
	{
		.tbl2 :is(th,td)
		{
			padding:16px 8px;
			vertical-align: middle;
		}
	}

	.flowchart
	{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		height:auto;
		margin-bottom: 56px;
		position: relative;
	}
	/* .flowchart::after
	{
		content: "";
		display: block;
		height:95%;
		width: 2px;
		position: absolute;
		top:1%;
		z-index: 0;
		left:calc(48px / 2 - 2px / 2);
		background-color: var(--cl_primary);
	} */
	.flowchart .flow-step
	{
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		gap: 16px;
		position: relative;
		width:100%;
	}
	.flowchart .flow-step:not(:last-of-type)::after
	{
		content:"";
		position: absolute;
		top:48px;
		z-index: 1;
		height: 100%;
		width: 2px;
		margin-block: -4px;
		margin-left: calc(48px / 2 - 2px / 2);
		background-color: var(--cl_bg3);
	}
	.flowchart .flow-line
	{
		position: relative;
		height: 48px;
		width: 2px;
		margin-block: -4px;
		margin-left: calc(48px / 2 - 2px / 2);
		background-color: var(--cl_bg3);
	}
	.flow-node
	{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		background-color: var(--cl_primary);
		color: #ffffff;
		font-size: 19px;
		box-sizing: border-box;
		flex-shrink: 0;
		border-radius: 50%;
		position: relative;
		z-index: 10;
	}
	.flowchart .step_no
	{
		font-size:1.4rem;
		color:rgb( from var(--cl_primary) r g b / 0.7);
		font-weight: 500;
	}
	.flow-texts
	{
		display: flex;
		flex-direction: column;
		gap: 4px;
		/* align-items: flex-start; */
		width:100%;
		text-align: left;
	}
	.flow-label
	{
		font-size: 1.6rem;
		font-weight: 700;
		white-space: nowrap;
	}
	@media screen and (max-width: 768px)
	{
		.flow-label
		{
			white-space: normal;
		}
	}
	.flow-desc
	{
		margin-top:4px;
		font-size: 1.4rem;
		line-height: 1.5;
		color: var(--cl_aside);
	}
	.flow-desc .text
	{
		width: 100%;
		margin-top:8px;
		font-size: 1.4rem;
		padding:8px 16px;
		border-radius: 4px;
		background-color: var(--cl_box_bg);
	}
	.flow-node span
	{
		display: block;
		width: 24px;
		height:24px;
		background-color: #fff;
		position: absolute;
		top:50%;
		left:50%;
		transform:translate(-50%, -50%);
		mask-position: center;
		mask-size: contain;
		mask-repeat: no-repeat;
	}
	.flow-node span.document
	{
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text h-6 w-6 text-primary-foreground"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg>');
	}
	.flow-node span.list
	{
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard-list h-6 w-6 text-primary-foreground"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><path d="M12 11h4"></path><path d="M12 16h4"></path><path d="M8 11h.01"></path><path d="M8 16h.01"></path></svg>');
	}
	.flow-node span.home
	{
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house h-6 w-6 text-primary-foreground"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg>');
	}
	.flow-node span.clock
	{
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-6 w-6 text-primary-foreground"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>');
	}
	.flow-node span.check
	{
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check-big h-6 w-6 text-primary-foreground"><path d="M21.801 10A10 10 0 1 1 17 3.335"></path><path d="m9 11 3 3L22 4"></path></svg>');
	}

	::placeholder
	{
		color: #999;
	}

	/* success/errorメッセージ */
	#msg {
		width: 100%;
		margin-bottom: 35px;
		border-collapse: separate;
		border-radius: 8px;
		border: 2px solid;
		padding:10px 24px;
		position: relative;
		font-size:1rem;
		text-align: center;
	}

	#msg message_title {
		font-size: 1.4rem;
		vertical-align: middle;
		line-height: 1.6;
		padding: 3px 20px;
		font-weight: 700;
		position: absolute;
		top:-15px;
		word-break: break-all;
	}

	#msg.success
	{
		border-color: #07ad60;
	}
	#msg.error
	{
		border-color: #ec0202;
	}
	#msg.confirm
	{
		border-color: #ff803e;
	}
	#msg.success message_title
	{
		color: #07ad60;
	}
	#msg.error message_title
	{
		color: #ec0202;
	}
	#msg.confirm message_title
	{
		color: #ff803e;
	}

	#msg p
	{
		padding:5px 0;
		font-size:1.6rem;
		text-align: center;
		margin-inline:auto;
		font-weight: 700;
	}
	#msg.success p
	{
		color: #07ad60;
	}

	#msg.error p
	{
		color: #ec0202;
	}
	#msg.confirm p
	{
		color: #ff803e;
	}
	.error_form_message
	{
		font-size:1.4rem;
		color: #ec0202;
		padding:0.2em 0;
	}

	/* 区切り線 */
	.separator_1
	{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		max-width: 1280px;
		margin-inline: auto;
		padding:32px 0;
		background-color: transparent;
	}
	.separator_1::before,
	.separator_1::after
	{
		border-radius: 50%;
		content: "";
		height: 1px;
		width: calc(( 100% - 72px ) / 2 );
		max-width: 600px;
		background: linear-gradient(to right, #fff, var(--cl_line), #fff);
	}
	.separator_1::before
	{
		margin-right:32px;
	}
	.separator_1::after
	{
		margin-left:32px;
	}
	.separator_1 span
	{
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background-color: var(--cl_primary);
		opacity: 0.6;
		margin-inline: 4px;
	}
	.separator_1 span:nth-child(2)
	{
		width: 8px;
		height: 8px;
		background-color: var(--cl_primary);
		opacity: 1;
	}
	.separator_2
	{
	border-radius: 50%;
	height: 2px;
	width: 100%;
	max-width: 600px;
	margin: 32px auto;
	background: linear-gradient(to right, #fff, var(--cl_line), #fff);
	}

	/* フェードイン */
	.fade_up
	{
		opacity: 0;
		transform: translateY(40px);
		transition: opacity 0.6s ease-out, transform 0.6s ease-out;
	}
	/* 表示された時のクラス */
	.fade_up.is-show
	{
		opacity: 1;
		transform: translateY(0);
	}


	/*============================
		slider
	============================*/
	.branding_wrap .slick-dots
	{
		position: relative;
		bottom: 40px;
		left:50%;
		transform:translate(-40px, 0);
		z-index: 99999;
	}
	.branding_wrap .slick-dots li
	{
		position: relative;
		display: inline-block;
		width: auto;
		height: auto;
		margin: 0;
		padding: 0;
		cursor: pointer;
	}
	.branding_wrap .slick-dots li button
	{
		font-size: 0;
		line-height: 0;
		padding: 0;
		cursor: pointer;
		color: transparent;
		border: 0;
		text-indent: -9999px;
		display: block;
		width: 12px;
		height: 12px;
		margin: 0 5px;
		outline: 0;
		border-radius: 6px;
		transition-duration: 0.3s;
		background-color: #fff;
		opacity: 0.6;
	}
	.branding_wrap .slick-dots li button:before
	{
		content: none;
	}
	.branding_wrap .slick-dots li button:hover,
	.branding_wrap .slick-dots li.slick-active button
	{
		width: 24px;
		height: 12px;
		opacity: 1;
	}

	@media screen and (max-width: 1024px)
	{
		.branding_wrap .slick-dots
		{
			position: relative;
			bottom: 30px;
			left:50%;
			z-index: 99999;
		}
	}

	/* Arrows */
	.slick-prev,
	.slick-next
	{
		font-size: 0;
		line-height: 0;
		position: absolute;
		top: 50%;
		display: block;
		width: 20px;
		height: 20px;
		padding: 0;
		-webkit-transform: translate(0, -50%);
		-ms-transform: translate(0, -50%);
		transform: translate(0, -50%);
		cursor: pointer;
		color: transparent;
		border: none;
		outline: none;
		background: transparent;
		z-index: 10;
	}
	.slick-prev:hover,
	.slick-prev:focus,
	.slick-next:hover,
	.slick-next:focus
	{
		color: transparent;
		outline: none;
		background: transparent;
	}
	.slick-prev:hover:before,
	.slick-prev:focus:before,
	.slick-next:hover:before,
	.slick-next:focus:before
	{
		opacity: 1;
	}
	.slick-prev.slick-disabled:before,
	.slick-next.slick-disabled:before
	{
		opacity: .25;
	}

	.slick-prev:before,
	.slick-next:before
	{
		display: flex;
		justify-content: center;
		align-items: center;
		width:25px;
		height:25px;
		background-color: #ffffff;
		border-radius: 50%;
		font-family: 'slick';
		font-size: 15px;
		line-height: 1;
		opacity: .75;
		/* color: #bababa; */
		color: #5d5c5c;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		/* border: 1px solid #bababa; */
		border: 1px solid #5d5c5c;
	}

	.slick-prev
	{
		left: -8px;
	}
	.slick-prev:before
	{
		content: '←';
	}

	.slick-next
	{
		right: -6px;
	}
	.slick-next:before
	{
		content: '→';
	}

	main.top .slick-track
	{
		margin-left: 0;
		margin-right: 0;
	}

	.to_home,.btn,.form_btn
	{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		gap:12px;
		margin-top:16px;
	}
	.branding .btn
	{
		justify-content: flex-start;
	}
	.to_home a
	{
		display: flex;
		justify-content: center;
		align-items: center;
		gap:8px;
		width: fit-content;
		padding:5px 4px;
		border-bottom: 1px dashed var(--cl_border);
		font-size:1.6rem;
		font-weight: 600;
		color:var(--cl_primary);
	}
	.to_home a.btn_top::before
	{
		content:"";
		display: block;
		width: 16px;
		height: 16px;
		background-color: var(--cl_primary);
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		mask-image:url('data:image/svg+xml,<svg version="1.1" id="_x32_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="width: 16px; height: 16px; opacity: 1;" xml:space="preserve"><style type="text/css">.st0{fill:%234B4B4B;}</style><g><path class="st0" d="M452.421,155.539c-36.6-36.713-87.877-59.612-143.839-59.579h-87.179V9.203L5.513,228.805h215.889h87.179c19.702,0.033,36.924,7.8,49.898,20.659c12.876,12.99,20.644,30.212,20.676,49.914c-0.032,19.703-7.8,36.924-20.676,49.898c-12.974,12.876-30.196,20.642-49.898,20.676H0v132.844h308.582c55.962,0.033,107.239-22.866,143.839-59.579c36.715-36.6,59.612-87.877,59.579-143.84C512.033,243.416,489.136,192.14,452.421,155.539z" style="fill: rgb(75, 75, 75);"></path></g></svg>');
	}
	.btn a
	{
		display: flex;
		justify-content: center;
		align-items: center;
		gap:8px;
		width: fit-content;
		padding:24px 32px;
		border-bottom: 1px dashed var(--cl_border);
		font-size:1.8rem;
		font-weight: 500;
		color:var(--cl_primary);
	}
	.form_btn button
	{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 60%;
		max-width: 400px;
		padding:12px 16px;
		font-size:1.6rem;
		color:#fff;
		background-color: var(--cl_btn);
		border-radius: 8px;
		border: none;
		appearance: none;
		cursor: pointer;
	}
	.form_btn button.cancel
	{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 60%;
		max-width: 400px;
		padding:12px 16px;
		font-size:1.6rem;
		color:var(--cl_text);
		background-color: #f1f1f1;
		border-radius: 8px;
		border: none;
		appearance: none;
		cursor: pointer;
	}
	.branding .btn a
	{
		border-bottom: none;
	}
	.branding .btn .mail
	{
		background-color: var(--cl_primary);
		color:#fff;
		display: flex;
		justify-content: center;
		align-items: center;
		gap:8px;
	}
	.branding .btn .mail::before
	{
		content:"";
		display: inline-block;
		width: 1.8rem;
		height: 1.8rem;
		background-color: #fff;
		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 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail h-10 w-10 text-primary"><path d="M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></svg>');
	}

	.branding .btn .pediatrics
	{
		background-color: var(--cl_primary);
		color:#fff;
		display: flex;
		justify-content: center;
		align-items: center;
		gap:8px;
	}
	.branding .btn .pediatrics::before
	{
		content:"";
		display: inline-block;
		width: 1.8rem;
		height: 1.8rem;
		background-color: #fff;
		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" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user-round h-5 w-5"><circle cx="12" cy="8" r="5"></circle><path d="M20 21a8 8 0 0 0-16 0"></path></svg>');
	}

	@media screen and (max-width: 1024px)
	{
		.branding .btn:not(:has(.mail))
		{
			flex-direction: column;
			 align-items: flex-start;
		}
	}

	main.contents > article .btn
	{
		display: flex;
		justify-content: center;
		align-items: center;
	}
	@media screen and (max-width: 1024px)
	{
		main.contents > article:not(:has(.mail)) .btn
		{
			flex-direction: column;
			 align-items: flex-start;
		}
	}
	main.contents > article .btn a.access_map
	{
		display: flex;
		align-items: center;
		gap: 8px;
		width: fit-content;
		/* padding: 12px 24px; */
		padding: 16px 32px 16px 24px;
		line-height: 1.5;
		color: #fff;
		background-color: var(--cl_primary);
		border-radius: 8px;
		border-bottom: none;
		text-decoration: none;
	}
	main.contents > article .btn a.access_map:hover
	{
		opacity: 0.8;
	}
	.btn a.access_map::before
	{
		content: "";
		display: block;
		width: 16px;
		height: 16px;
		background-color: #fff;
		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" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-map-pin h-6 w-6 flex-shrink-0"><path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"></path><circle cx="12" cy="10" r="3"></circle></svg>');
	}
	.btn a.access_map:last-child:before
	{
		content: "";
		display: block;
		width: 16px;
		height: 16px;
		background-color: #fff;
		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 640 640"><path d="M104 112C90.7 112 80 122.7 80 136L80 184C80 197.3 90.7 208 104 208L152 208C165.3 208 176 197.3 176 184L176 136C176 122.7 165.3 112 152 112L104 112zM256 128C238.3 128 224 142.3 224 160C224 177.7 238.3 192 256 192L544 192C561.7 192 576 177.7 576 160C576 142.3 561.7 128 544 128L256 128zM256 288C238.3 288 224 302.3 224 320C224 337.7 238.3 352 256 352L544 352C561.7 352 576 337.7 576 320C576 302.3 561.7 288 544 288L256 288zM256 448C238.3 448 224 462.3 224 480C224 497.7 238.3 512 256 512L544 512C561.7 512 576 497.7 576 480C576 462.3 561.7 448 544 448L256 448zM80 296L80 344C80 357.3 90.7 368 104 368L152 368C165.3 368 176 357.3 176 344L176 296C176 282.7 165.3 272 152 272L104 272C90.7 272 80 282.7 80 296zM104 432C90.7 432 80 442.7 80 456L80 504C80 517.3 90.7 528 104 528L152 528C165.3 528 176 517.3 176 504L176 456C176 442.7 165.3 432 152 432L104 432z"/></svg>');
	}
	/*============================
		TOPページ
	============================*/
	section.branding
	{
		width: 100%;
		height:600px;
	}
	section.branding::before
	{
		content:"";
		width: 100%;
		height:600px;
		display: block;
		position: absolute;
		top:0;
		left:0;
		z-index: 10;
		background-color: #0006;
	}
	.branding_wrap div
	{
		width:100%;
		height: 100%;
	}
	.branding_wrap div img
	{
		width:100%;
		height:600px;
		object-fit: cover;
		object-position: bottom center;
	}
	section.branding .kv_copy
	{
		width: 100%;
		max-width: 1280px;
		position: absolute;
		top:50%;
		left:50%;
		z-index: 20;
		transform:translate(-50%, -50%);
		margin-inline:auto;
		padding-inline:24px;

	}
	section.branding .kv_copy h2
	{
		font-size: 6rem;
		color:#fff;
		line-height: 1;
		font-weight: 700;
		text-shadow: rgba(0, 0, 0, 0.3) 0px 2px 20px;
	}
	section.branding .kv_copy h2 span
	{
		display: block;
		font-size: 2.4rem;
		margin:24px 0 40px 0;
		font-weight: 500;
	}
	section.branding .kv_copy a
	{
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 8px;
		width:fit-content;
		font-size:1.8rem;
		padding:12px 24px;
		border-radius: 6px;
		background-color: #fff;
		color:var(--cl_primary);
		font-weight: 700;
		text-decoration: none;
		box-shadow:  0 0 #0000, 0 0 #0000, 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
		position: relative;
		top:0px;
		text-align: center;
	}
	section.branding .kv_copy a::before
	{
		content: "";
		display: inline-block;
		width: 1.8rem;
		height: 1.8rem;
		background-color: var(--cl_primary);
		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" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bed-double h-5 w-5"><path d="M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8"></path><path d="M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4"></path><path d="M12 4v6"></path><path d="M2 18h20"></path></svg>');
	}
	section.branding .kv_copy a:hover
	{
		top:-4px;
	}

	@media screen and (max-width: 1024px)
	{
		section.branding
		{
			height:300px;
			overflow: hidden;
		}
		section.branding::before
		{
			height:300px;
		}
		.branding_wrap div img
		{
			width: 100vw;
			height: 300px;
			object-fit: cover;
			object-position: center center;
		}
		section.branding .kv_copy h2
		{
			font-size: 3.3rem;
			text-align: center;
			margin-bottom:16px;
		}
		section.branding .kv_copy h2 span
		{
			font-size: 1.5rem;
			margin:16px 0 16px 0;
		}
	}
	@media screen and (max-width: 768px)
	{
		section.branding .kv_copy a
		{
			min-width: 280px;
			font-size: 1.6rem;
		}
	}
	@media screen and (max-width: 500px)
	{
		.branding .btn
		{
			justify-content: center;
		}
	}

	section.note_link .container:not(:has(:is(a, span)))
	{
		padding:32px 0 0 0;
	}
	section.note_link :is(a, span)
	{
		display: flex;
		/* align-items: flex-start; */
		align-items: center;
		gap:24px;
		padding:32px;
		margin-bottom:40px;
		border: 1px solid #dee3dd;
		background-color: var(--cl_bg1);
		color:var(--cl_primary);
		position: relative;
		box-shadow: 0;
	}
	section.note_link a:hover
	{
	    box-shadow:0 0 #0000,0 0 #0000,0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
	}
	section.note_link :is(a, span):last-child
	{
		margin-bottom:0px;
	}
	section.note_link :is(a, span)::before
	{
		content:"";
		display: block;
		width: 72px;
		height: 72px;
		background-color: var(--cl_bg3);
		position: relative;
	}
	section.note_link :is(a, span)::after
	{
		content:"";
		display: block;
		width: 40px;
		height: 40px;
		background-color: var(--cl_primary);
		position: absolute;
		/* top:50px; */
		/* transform:translate(0, -100%); */
		margin-left:16px;
		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" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-stethoscope h-10 w-10 text-primary"><path d="M11 2v2"></path><path d="M5 2v2"></path><path d="M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1"></path><path d="M8 15a6 6 0 0 0 12 0v-3"></path><circle cx="20" cy="10" r="2"></circle></svg>');
	}
	section.note_link :is(a, span):has(.important)
	{
		border: 2px solid var(--cl_accent);
		border-radius: 8px;
		background-color: #fff;
	}
	section.note_link :is(a, span):has(.important)::before
	{
		background-color: transparent;
	}
	section.note_link :is(a, span):has(.important)::after
	{
		content:"";
		display: block;
		width: 40px;
		height: 40px;
		background-color: var(--cl_accent);
		position: absolute;
		margin-left:16px;
		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 640 640"><path d="M320 64C334.7 64 348.2 72.1 355.2 85L571.2 485C577.9 497.4 577.6 512.4 570.4 524.5C563.2 536.6 550.1 544 536 544L104 544C89.9 544 76.8 536.6 69.6 524.5C62.4 512.4 62.1 497.4 68.8 485L284.8 85C291.8 72.1 305.3 64 320 64zM320 416C302.3 416 288 430.3 288 448C288 465.7 302.3 480 320 480C337.7 480 352 465.7 352 448C352 430.3 337.7 416 320 416zM320 224C301.8 224 287.3 239.5 288.6 257.7L296 361.7C296.9 374.2 307.4 384 319.9 384C332.5 384 342.9 374.3 343.8 361.7L351.2 257.7C352.5 239.5 338.1 224 319.8 224z"/></svg>');
	}
	section.note_link :is(a, span) div
	{
		display: block;
		max-width: calc( 100% - 72px - 24px );
	}
	section.note_link :is(a, span) h3
	{
		margin-bottom: 24px;
		color:var(--cl_primary);
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.3;
	}
	section.note_link :is(a, span) p
	{
		font-size: 1.6rem;
		color:#333;
		line-height: 1.5;
	}
	section.note_link :is(a, span) .important h3
	{
		color:var(--cl_accent);
	}
	section.note_link :is(a, span) .important p
	{
		color:var(--cl_accent);
	}

	@media screen and (max-width: 640px)
	{
		section.note_link :is(a, span):has(.important)
		{
			flex-direction: column;
			gap:0;
		}
		section.note_link :is(a, span):has(.important)::before
		{
			width: 50px;
			height: 50px;
			position: absolute;
		}
		section.note_link :is(a, span) .important h3
		{
			padding-left:50px;
		}
		section.note_link :is(a, span):has(.important)::after
		{
			width: 30px;
			height: 30px;
			margin-left:0;
			top:32px;
			left:32px;
			transform:translate(0, 50%);
		}
		section.note_link :is(a, span):has(.important) div
		{
			display: block;
			max-width: 100%;
		}
	}


	article.category .container
	{
		padding-top:32px;
	}
	article.category .container ul
	{
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2px;
		padding-bottom:24px;
	}
	article.category .container ul li
	{
		margin-bottom: 0;
	}
	article.category .container ul a
	{
		display: flex;
		justify-content: center;
		align-items: center;
		min-height: 280px;
		border: 1px solid #dee3dd;
		background-position: center;
		background-size: cover;
		overflow: hidden;
		position: relative;
		transition: 0.3s;
		background-color: #0000000d;
	}
	article.category .container ul a::after
	{
		content:"";
		width: 100%;
		height:100%;
		min-height:280px;
		display: block;
		position: absolute;
		top:0;
		left:0;
		z-index: 10;
		opacity: 0.5;
		background-color: #0000000d;
		transition: 0.3s;
	}
	article.category .container ul a:hover::after
	{
		background-color: #00000026;
	}
	article.category .container ul .inpatient a{background-image: url(../images/site/top/category01.png);}
	article.category .container ul .outpatient a{background-image: url(../images/site/top/category02.png);}
	article.category .container ul .checkup a{background-image: url(../images/site/top/category03.png);}
	article.category .container ul .visitation a{background-image: url(../images/site/top/category04.png);}

	@media screen and (max-width: 1024px)
	{
		article.category .container ul
		{
			grid-template-columns: repeat(1, minmax(0, 1fr));
			padding-bottom:24px;
		}
	}

	article.category .container ul a div
	{
		width: calc(100% - 12px * 2);
		display: flex;
		justify-content: center;
		align-items: center;
		margin-inline:12px;
		padding:10px 24px;
		background-color: rgb( from var(--cl_primary) r g b / 0.65);
		backdrop-filter:blur(4px);
		position: absolute;
		bottom:0;
		border-radius: 12px 12px 0 0;
		line-height: 1.5;
		z-index: 999;
		transition: 0.3s;
	}
	article.category .container ul a div h4
	{
		color:#fff;
		font-size: 1.8rem;
		font-weight: 700;
		margin-bottom: 0;
		position: relative;
		display: flex;
		align-items: center;
		gap:12px;
	}
	article.category .container ul a div h4::after
	{
		content:"";
		display: block;
		width: 20px;
		height: 20px;
		background-color: #fff;
		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" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right h-5 w-5"><path d="m9 18 6-6-6-6"></path></svg>');
	}
	article.category .container ul a:hover div
	{
		background-color: rgb( from var(--cl_primary) r g b / 0.8);
	}




	.top_movie
	{
		margin-top:64px;
		padding:24px;
		border: 1px solid #dee3dd;
		background-color: #fff;
	}
	.top_movie h3
	{
		padding:0 0 8px 0;
		font-size: 3rem;
		line-height: 1.3;
		color: var(--cl_primary);
	}
	.top_movie div
	{
		width: 100%;
		padding-bottom: 56.25%;
		display: block;
		position: relative;
	}
	.top_movie div iframe
	{
		display: block;
		width: 100%;
		height:100%;
		position: absolute;
		top:0;
		left:0;
	}

	section.news
	{
		background-color   : var(--cl_bg2);
		background-image   : radial-gradient(#f0e6d9 5%, transparent 8%),
		radial-gradient(#f0e6d9 5%, transparent 8%);
		/* background-position: 0 0, 16px 16px; */
		background-size    : 22px 22px;
	}
	section.news h3
	{
		display: block;
		padding:24px 24px 24px 40px;
		margin-bottom:0;
		border: 1px solid var(--cl_border);
		background-color: #f9fafb;
		font-size:2.4rem;
		font-weight: 700;
		color:var(--cl_primary);
		position: relative;
	}
	section.news h3::before
	{
		content:"";
		display: inline-block;
		width:4px;
		height:28px;
		border-radius: 4px;
		background-color: var(--cl_primary);
		position: absolute;
		top:50%;
		left:24px;
		transform:translate(0, -50%);
	}
	section.news .news_list
	{
		/* display: flex;
		align-items: stretch; */
		padding:24px 16px 24px 16px;
		border-left: 1px solid #dee3dd;
		border-right: 1px solid #dee3dd;
		border-bottom: 1px solid #dee3dd;
		background-color: #fff;
	}
	section.news .news_list li
	{
		margin-inline:8px;
		margin-bottom: 0;
		border: 1px solid #dee3dd;
		background-color: #fff;
		position: relative;
		top:0;
		transition: 0.3s;
	}
	section.news .news_list li:before
	{
		content:"";
		position: absolute;
		left:0;
		top:0px;
		bottom:0;
		width:4px;
		height:100%;
		background-color: var(--cl_primary);
		transform: scale(1,0);
		transform-origin: center bottom;
		transition: transform 0.3s ease-out;
	}
	section.news .news_list li:hover
	{
		top:-4px;
		background-color: #edebe97e;
		box-shadow: 0 0 #0000, 0 0 #0000, 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
	}
	section.news .news_list li:hover:before
	{
		transform: scale(1,1);
	}
	section.news .news_list li a
	{
		display: flex;
		flex-direction: column;
		gap:12px;
		height:100%;
		padding:24px;
		line-height: 1.6;
	}
	section.news .news_list li:hover a
	{
		opacity: 1;
	}
	section.news .news_list li .time
	{
		display: flex;
		align-items: center;
		gap:16px;
	}
	section.news .news_list li .time time
	{
		font-size:1.4rem;
		color:var(--cl_aside);
	}
	section.news .news_list li .time span.new
	{
		display: block;
		width: fit-content;
		font-size: 1.2rem;
		border-radius: 9999px;
		padding:2px 10px;
		color:#fff;
		background-color: var(--cl_accent);
	}
	section.news .news_list li h4
	{
		/* min-height:calc(2em * 1.6); */
		margin:0;
		font-size:1.6rem;
		color:#333;
		font-weight: 600;
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		letter-spacing: 0;
	}
	section.news .news_list li:hover h4
	{
		color:var(--cl_primary);
	}
	section.news .news_list li p
	{
		min-height:calc(2em * 1.6);
		font-size:1.4rem;
		color:var(--cl_aside);
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
	section.event h3
	{
		display: block;
		margin-bottom: 48px;
		position: relative;
		text-align: center;
		font-size:3rem;
		font-weight: 700;
		color:var(--cl_primary);
	}
	section.booklet
	{
		background-color   : var(--cl_bg2);
		background-image   : radial-gradient(#e9eee9 5%, transparent 8%),
		radial-gradient(#e9eee9 5%, transparent 8%);
		/* background-position: 0 0, 16px 16px; */
		background-size    : 22px 22px;
	}
	section.booklet h3
	{
		display: block;
		margin-bottom: 16px;
		position: relative;
		text-align: center;
		font-size:3rem;
		line-height: 2em;
		font-weight: 700;
		color:var(--cl_primary);
	}
	section.booklet h3 + p
	{
		display: block;
		margin-bottom: 48px;
		position: relative;
		text-align: center;
		font-size:1.8rem;
		font-weight: 400;
		color:var(--cl_aside);
		line-height: 1.5;
	}
	.contents_wrap
	{
		position: relative;
		z-index: 1;
	}
	.contents_wrap a
	{
		display: block;
		position: relative;
		top:0;
		transition: 0.3s;
		margin-inline:8px;
		border: 1px solid #dee3dd;
	}
	.contents_wrap a figure
	{
		width:100%;
		aspect-ratio: 16 / 9;
		overflow: hidden;
	}
	.contents_wrap a figure img
	{
		width:100%;
		height:100%;
		object-fit: cover;
		object-position: center top;
		transform: scale(1);
	}
	.contents_wrap a > div
	{
		display: flex;
		flex-direction: column;
		flex: 1 1 0%;
		padding:24px;
		background-color: #fff;
		position: relative;
	}
	.contents_wrap a > div::before
	{
		content:"";
		position: absolute;
		left:0;
		top:0px;
		bottom:0;
		width:4px;
		height:100%;
		background-color: var(--cl_primary);
		transform: scale(1,0);
		transform-origin: center bottom;
		transition: transform 0.3s ease-out;
	}
	main.list .contents_wrap a > div::before
	{
		content:none;
	}
	.contents_wrap a:hover
	{
		top:-4px;
		box-shadow: 0 0 #0000, 0 0 #0000, 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
	}
	.contents_wrap a:hover figure img
	{
		transition: 0.3s;
		/* transform: scale(1.05); */
	}
	.contents_wrap a:hover > div::before
	{
		transform: scale(1,1);
	}
	section.booklet .contents_wrap a > div
	{
		align-items: center;
	}
	.contents_wrap a > div .time
	{
		display: block;
		padding:8px 16px;
		margin-bottom: 16px;
		font-size:1.4rem;
		color:#fff;
		background-color: var(--cl_primary);
		text-align: center;
	}
	.contents_wrap a > div h4
	{
		font-size: 1.8rem;
		color:var(--cl_primary);
		margin-bottom:8px;
		font-weight: 700;
		line-height: 1.5em;
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
	}
	section .contents_wrap a > div p
	{
		font-size: 1.4rem;
		min-height: 42px;
		line-height: 1.5em;
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		color:var(--cl_aside);
	}
	section.booklet .contents_wrap a > div p
	{
		min-height: auto;
		-webkit-line-clamp: 1;
	}

	section .container > .more_link
	{
		display: block;
		margin-top: 32px;
		text-align: center;
	}
	section .container > .more_link a
	{
		color:var(--cl_primary);
		font-size:1.6rem;
		position: relative;
	}
	section .container > .more_link a::after
	{
		position: absolute;
		bottom: -5px;
		left: 0;
		content: '';
		width: 100%;
		height: 1px;
		border-radius: 999px;
		background: var(--cl_primary);
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform .3s;
	}
	section .container > .more_link a:hover::after
	{
		transform: scale(1, 1);
		transform-origin: left top;
	}

	section.group
	{
		background-color: var(--cl_bg2);
	}
	section.group h3
	{
		display: block;
		margin-bottom: 16px;
		position: relative;
		text-align: center;
		font-size:3.6rem;
		line-height: 2em;
		font-weight: 700;
		color:var(--cl_primary);
	}
	section.group h3 + p
	{
		display: block;
		margin-bottom: 48px;
		position: relative;
		text-align: center;
		font-size:1.8rem;
		font-weight: 400;
		color:var(--cl_aside);
	}
	.group_wrap
	{
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap:32px;
		/* width:1024px; */
		margin-inline: auto;
	}
	.group_wrap .group_inner
	{
		display: block;
		padding:24px;
		border:1px solid #e5e1dc;
		background-color: #fff;
		box-shadow: 0 0 #0000,0 0 #0000,0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
	}
	.group_wrap .group_inner a figure
	{
		width:100%;
		height:192px;
		overflow: hidden;
		margin-bottom: 16px;
	}
	.group_wrap .group_inner a figure img
	{
		width:100%;
		height:100%;
		object-fit: cover;
		transform: scale(1);
		transition: 0.3s;
	}
	.group_wrap .group_inner a:hover figure img
	{
		transform: scale(1.1);
	}
	.group_wrap .group_inner h4
	{
		font-size:2rem;
		line-height: 1.6em;
		color:var(--cl_primary);
	}
	.group_wrap .group_inner dl
	{
		display: flex;
		gap:0.5em;
		font-size:1.6rem;
	}
	.group_wrap .group_inner dl dt
	{
		width:80px;
		white-space: nowrap;
		text-align-last: justify;
		font-weight: 700;
	}
	.group_wrap .group_inner dl dt::after
	{
		content:"：";
	}
	.group_wrap .group_inner dl dd
	{
		width:calc( 100% - 80px - 0.5em );
		font-weight: 400;
		margin-left:0
	}
	.group_wrap .group_inner dl dd a
	{
		color:var(--cl_primary);
	}

	.group_wrap .group_inner.royal h4,
	.group_wrap .group_inner.royal dl dd a
	{
		color:#0f2889;
	}
	.group_wrap .group_inner.royal .btn_wrap a.btn
	{
    	background-color:#0f2889;
	}

	.group_wrap .group_inner.kaishindo h4,
	.group_wrap .group_inner.kaishindo dl dd a
	{
		color:#911817;
	}
	.group_wrap .group_inner.kaishindo .btn_wrap a.btn
	{
    	background-color:#911817;
	}

	.group_wrap .group_inner.kaishindo2 h4,
	.group_wrap .group_inner.kaishindo2 dl dd a
	{
		color:#e78b23;
	}
	.group_wrap .group_inner.kaishindo2 .btn_wrap a.btn
	{
    	background-color:#e78b23;
	}

	.group_wrap .group_inner.grace h4,
	.group_wrap .group_inner.grace dl dd a
	{
		color:#347945;
	}
	.group_wrap .group_inner.grace .btn_wrap a.btn
	{
    	background-color: #347945;
	}

	.group_wrap + p
	{
		margin:32px 0 0!important;
		font-size:1.8rem!important;
	}
	.group_wrap + p a
	{
		color:var(--cl_primary);
		text-decoration: underline;
		text-underline-offset: 5px;
		font-weight: 700;
	}
	.group_wrap + p a:hover
	{
		text-decoration: none;
	}

	@media screen and (max-width: 1024px)
	{
		section.group h3
		{
			font-size:3rem;
		}
		.group_wrap
		{
			width: 100%;
			grid-template-columns: repeat(1, minmax(0, 1fr));
			gap:32px;
		}
	}


	/*============================
		下層ページ
	============================*/
	main.contents > :is(article,section)
	{
		padding-top: 64px;
		padding-bottom:64px;
		background-color: #f9fafb;
	}
	main.contents > :is(article,section) .container
	{
		max-width: 1000px;
		padding-top: 0;
	}
	main.contents.list > :is(article,section) .container
	{
		/* max-width: 1280px; */
		max-width: 1400px;
		padding-top: 0;
	}
	main.contents > :is(article,section) h1
	{
		font-size: 3.6rem;
		line-height: 1.3;
		color:var(--cl_primary);
		margin-bottom: 24px;
		text-align: center;
	}
	main.contents > :is(article,section) p
	{
		width: fit-content;
		font-size: 1.6rem;
		line-height: 1.7;
		color:var(--cl_text);
		margin-inline:auto;
		margin-bottom: 32px;
	}
	@media screen and (max-width: 1024px)
	{
		main.contents > :is(article,section) h1
		{
			font-size: 3rem;
		}
	}

	main.contents .news_list
	{
		margin-bottom: 40px;
	}
	main.contents .news_list li
	{
		padding:24px;
		border:1px solid #dee3dd;
		border-radius: 0px;
		margin-top:16px;
	}
	main.contents .news_list li:before
	{
		content: "";
		position: absolute;
		left: 0;
		top: 0px;
		bottom: 0;
		width: 4px;
		height: 100%;
		background-color: var(--cl_primary);
		transform: scale(1,0);
		transform-origin: center bottom;
		transition: transform 0.3s ease-out;
	}
	main.contents .news_list li:hover
	{
		top:-4px;
		background-color: #edebe97e;
    	box-shadow: 0 0 #0000, 0 0 #0000, 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
	}
	main.contents .news_list li:hover:before
	{
		transform: scale(1,1);
	}
	main.contents .news_list li a
	{
		display: flex;
		flex-direction: column;
		padding: 0px;
	}
	main.contents .news_list li a[tabindex]
	{
		pointer-events: none;
	}
	main.contents .news_list li:last-child
	{
		/* border-bottom:none; */
		margin-bottom:0px;
	}
	/* main.contents .news_list li:last-child a
	{
		padding: 0px 30px 0px;
	} */
	main.contents .news_list li a .time
	{
		display: flex;
		align-items: center;
		gap:8px;
		margin-bottom: 8px;
		color:var(--cl_aside);
		font-size:1.4rem;
	}
	main.contents .news_list li a .time time
	{
		display: inline-block;
		padding:2px 10px 2px 0;
	}
	main.contents .news_list li a .time .new
	{
		display: flex;
		align-items: center;
		width: fit-content;
		font-size:1.4rem;
		background-color: var(--cl_accent);
		color:#fff;
		padding:2px 10px;
		border-radius: 9999px;
	}
	main.contents .news_list li a h4
	{
		font-size: 1.8rem;
		width: fit-content;
		line-height: 1.5em;
		color:var(--cl_text);
		font-weight: 700;
		margin-bottom: 8px;
		position: relative;
	}
	main.contents .news_list li:hover a h4
	{
		color:var(--cl_primary);
	}
	main.contents .news_list li a p
	{
		font-size: 1.4rem;
		line-height: 1.5em;
		margin: 0px;
		color:var(--cl_aside);
		font-weight: 400;
		text-align: left;
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}



	main.contents > article:is(.news,.event,.booklet) h1
	{
		font-size: 3.6rem;
		line-height: 1.3;
		color:var(--cl_primary);
		margin-bottom: 24px;
		text-align: left;
	}
	main.contents > article.booklet h1
	{
		margin-bottom: 16px;
	}
	main.contents > article.booklet h1 + p
	{
		margin:0 0 32px 0;
	}
	main.contents > article .counter
	{
		display: block;
		font-size: 1.6rem;
		color:var(--cl_aside);
		margin-bottom: 24px;
		text-align: left;
	}
	main.contents > article.event .contents_wrap a
	{
		display: flex;
		gap:24px;
		padding:24px;
		background-color: #fff;
		border:1px solid #dee3dd;
		border-radius: 8px;
		margin-bottom: 24px;
	}
	main.contents > article.event .contents_wrap a figure
	{
		width: 96px;
		height: 96px;
		overflow: hidden;
		border-radius: 8px;
	}
	main.contents > article.event .contents_wrap a figure img
	{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	main.contents > article.event .contents_wrap a > div
	{
		display: block;
		width: calc( 100% - 96px - 24px );
		padding:0;
	}
	main.contents > article.event .contents_wrap a > div .time
	{
		padding:0;
		display: inline-block;
		background-color: initial;
		color:var(--cl_aside);
		margin-bottom:8px;
	}
	main.contents > article.event .contents_wrap a > div h4
	{
		font-size:2rem;
		line-height: 1.5em;
		color:var(--cl_primary);
		font-weight: 700;
		margin-bottom: 8px;
	}
	main.contents > article.event .contents_wrap a > div p
	{
		font-size:1.6rem;
		line-height: 1.5em;
		color:var(--cl_aside);
		font-weight: 400;
		margin: 0px;
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	main.contents > article.booklet .contents_wrap
	{
		display:grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap:24px;
		margin-bottom:24px;
	}
	main.contents > article.booklet .contents_wrap a
	{
		display: block;
		margin:0;
		padding:0px;
		background-color: #fff;
		border:1px solid #dee3dd;
		border-radius: 8px;
		text-align: center;
		overflow: hidden;
	}
	main.contents > article.booklet .contents_wrap a figure
	{
		display: block;
		width:100%;
		aspect-ratio: 200 / 283;
		padding:0px;
	}
	main.contents > article.booklet .contents_wrap a figure img
	{
		width:100%;
		height: 100%;
		object-fit: contain;
	}
	main.contents > article.booklet .contents_wrap a div
	{
		width:100%;
		padding:16px;
	}
	main.contents > article.booklet .contents_wrap a div h4
	{
		font-size:1.6rem;
		color:var(--cl_primary);
		font-weight: 700;
		margin-bottom: 8px;
	}
	main.contents > article.booklet .contents_wrap a div p
	{
		font-size:1.4rem;
		min-height: auto;
		margin-bottom:0;
	}

	.text_wrap
	{
		padding:32px;
		margin-bottom: 24px;
		border:1px solid #dee3dd;
		border-radius: 8px;
		background-color: #fff;
	}
	.text_wrap .title
	{
		font-size:2.4rem;
		line-height: 1.3;
		color:var(--cl_primary);
		font-weight: 700;
		margin-bottom: 24px;
	}
	.ttl
	{
		margin-top:56px;
		margin-bottom:16px;
	}
	.ttl .title
	{
		font-size:2.4rem;
		line-height: 1.3;
		color:var(--cl_primary);
		font-weight: 700;
		margin-bottom: 16px;
	}
	.ttl .title + p
	{
		text-align: left;
		margin:0;
	}
	.text_wrap .time
	{
		display: flex;
		align-items: center;
		gap:16px;
		font-size:1.4rem;
		line-height: 1.6;
		color:var(--cl_aside);
		margin-bottom: 32px;
	}
	.text_wrap .time time
	{
		width:fit-content;
	}
	.text_wrap .time .new
	{
		display: block;
		width: fit-content;
		font-size: 1.2rem;
		border-radius: 9999px;
		padding: 2px 10px;
		color: #fff;
		background-color: var(--cl_accent);
	}

	.text_wrap hr
	{
		margin-top:24px;
		margin-bottom:24px;
		border: none;
		border-top: 1px solid #e5e1dc;
	}

	@media screen and (max-width: 768px)
	{
		.text_wrap
		{
			padding:16px;
			margin-bottom: 24px;
		}
	}

	.event_slide_wrap
	{
		margin-bottom: 24px;
	}
	.event_slide_wrap .event_slide
	{
		display: block;
		width:100%;
		height:450px;
		background-color: var(--cl_bg1);
		text-align: center;
		line-height: 1;
		border-radius: 10px;
		position: relative;
	}
	.event_slide_wrap .event_slide .item
	{
		width:100%;
		height:100%;
		margin-inline: auto;
		text-align: center;
		overflow: hidden;
	}
	.event_slide_wrap .event_slide img
	{
		display: block;
		width: 800px;
		height:450px;
		margin-inline:auto;
		object-fit: cover;
	}
	@media screen and (max-width: 768px)
	{
		.event_slide_wrap .event_slide
		{
			width:100%;
			height:auto;
			aspect-ratio: 1 / 1;
		}
		.event_slide_wrap .event_slide img
		{
			width: 100%;
			height:auto;
			aspect-ratio: 1 / 1;
			object-fit: contain;
		}
	}
	.event_slide_wrap .event_slide .slide_num
	{
		width: fit-content;
		padding:6px 12px;
		border-radius: 999px;
		background-color: #00000080;
		color: #fff;
		font-size: 1.4rem;
		position: absolute;
		bottom: 16px;
		left: 50%;
		transform: translate(-50%, 0);
	}


	.event_slide_wrap .thumbnail
	{
		position: relative;
		padding: 0;
		display: flex;
		gap: 16px;
		margin-top:16px;
		padding-bottom: 8px;
	}
	.event_slide_wrap .thumbnail div
	{
		position: relative;
	}
	.event_slide_wrap .thumbnail .item
	{
		position: relative;
		cursor: pointer;
		width: 60px!important;
		aspect-ratio: 1/1;
		margin:0 8px 0 0;
		padding: 0;
		border-radius: 4px;
		overflow: hidden;
	}
	.event_slide_wrap .thumbnail .item img
	{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.event_slide_wrap .thumbnail .slick-list,
	.event_slide_wrap .thumbnail .slick-track
	{
		width: 100%!important;
		transform: none!important;
	}
	.event_slide_wrap .thumbnail .item.slick-current
	{
		border: 2px solid var(--cl_primary);
	}
	.event_slide_wrap .thumbnail .item:not(.slick-current):after
	{
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		content: "";
		opacity: 0.5;
		background: #fff;
	}

	.event_slide_wrap .slick-prev:before,
	.event_slide_wrap .slick-next:before
	{
		content:"";
		display: flex;
		justify-content: center;
		align-items: center;
		width:40px;
		height:40px;
		position: absolute;
		top:50%;
		transform:translate(0, -50%);
		background-color: #00000080;
		border-radius: 8px;
		font-size: 1.6rem;
		line-height: 1;
		color: #fff;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

	.event_slide_wrap .slick-prev
	{
		left: 2%;
	}
	.event_slide_wrap .slick-prev::after
	{
		content: "";
		display: block;
		width: 20px;
		height: 20px;
		position:absolute;
		top: 0;
		left:20px;
		transform:translate(-50%, 0);
		background-color: #fff;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		mask-image:url('../images/site/common/arrow_l.svg');
	}

	.event_slide_wrap .slick-next
	{
		right: calc(2% + 20px);
	}
	.event_slide_wrap .slick-next:after
	{
		content: "";
		display: block;
		width: 20px;
		height: 20px;
		position:absolute;
		top: 0;
		left:20px;
		transform:translate(-50%, 0);
		background-color: #fff;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		mask-image:url('../images/site/common/arrow_r.svg');
	}

	main.contents.inpatient > :is(article,section) .container
	{
		max-width: 1150px;
		padding-top: 0;
	}
	main.contents.inpatient > article
	{
		padding: 48px 0;
		line-height: 1.5;
	}
	main.contents.inpatient > article h1
	{
		margin-bottom:16px;
	}

	main.contents.inpatient .anchor
	{
		width: fit-content;
		display: flex;
		justify-content: center;
		align-items: center;
		gap:16px;
		margin:32px auto;
	}
	main.contents.inpatient .anchor li
	{
		margin-bottom:0;
	}
	main.contents.inpatient .anchor a
	{
		display: flex;
		align-items: center;
		gap:8px;
		padding:16px 24px;
		font-size: 1.8rem;
		font-weight: 600;
		border:2px solid rgb( from var(--cl_primary) r g b / 0.2);
		color:var(--cl_primary);
		border-radius: 8px;
	}
	main.contents.inpatient .anchor a::before
	{
		content:"";
		display: block;
		width:24px;
		height:24px;
		background-color: var(--cl_primary);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
	}
	main.contents.inpatient .anchor a.list::before
	{
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard-list h-6 w-6 text-primary"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><path d="M12 11h4"></path><path d="M12 16h4"></path><path d="M8 11h.01"></path><path d="M8 16h.01"></path></svg>');
	}
	main.contents.inpatient .anchor a.home::before
	{
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house h-6 w-6 text-primary"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg>');
	}
	main.contents.inpatient .anchor a.download::before
	{
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download h-6 w-6 text-primary"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" x2="12" y1="15" y2="3"></line></svg>');
	}
	main.contents.inpatient .anchor a:hover
	{
		background-color: rgb( from var(--cl_primary) r g b / 0.05);
		border:2px solid var(--cl_primary);
	}

	main.contents.inpatient > article .btn
	{
		margin-bottom:32px;
	}
	main.contents.inpatient > article .btn a
	{
		display: flex;
		align-items: center;
		gap:16px;
		width: fit-content;
		padding:24px 32px;
		font-size: 1.8rem;
		line-height: 1.5;
		color:#fff;
		background-color: var(--cl_btn);
		border-radius: 8px;
		border-bottom: none;
	}
	main.contents.inpatient > article .btn a:hover
	{
		opacity: 0.9;
	}
	main.contents.inpatient > article .btn a::before
	{
		content:"";
		display: block;
		width: 16px;
		height: 16px;
		background-color: #fff;
		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" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text mr-2 h-5 w-5"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg>');
	}

	@media screen and (max-width: 1024px)
	{
		main.contents.inpatient > article .btn a
		{
			margin-inline: auto;
		}
	}
	@media screen and (max-width: 768px)
	{
		main.contents.inpatient .anchor
		{
			flex-direction: column;
			align-items: center;
			width: 100%;
		}
		main.contents.inpatient .anchor li
		{
			width: 100%;
		}
		main.contents.inpatient .anchor a
		{
			width: 100%;
		}
	}

	main.contents.inpatient > article .text_wrap .title
	{
		font-size:3rem;
		margin-bottom: 6px;
	}
	main.contents.inpatient > article .text_wrap .title + p
	{
		width: 100%;
		font-size: 1.6rem;
		margin-top: 6px;
		margin-bottom: 24px;
		color:var(--cl_text);
		text-align: left;
	}

	main.contents.inpatient .flowchart
	{
		width: fit-content;
		margin-inline:auto;
		line-height: 1.3;
	}
	main.contents.inpatient .flowchart .flow-label
	{
		font-size: 2rem;
		color:var(--cl_text);
	}
	main.contents.inpatient .flowchart .flow-desc
	{
		font-size: 1.6rem;
		color:var(--cl_aside);
	}

	main.contents.inpatient > article .contact_info
	{
		display: block;
		margin-top:24px;
		padding:24px;
		background-color: #f9faf9;
		border:1px solid #dee3dd;
		border-radius: 8px;
	}
	main.contents.inpatient > article .contact_info h4.title
	{
		font-size: 2.4rem;
		margin-bottom: 16px;
	}
	main.contents.inpatient > article .contact_info p
	{
		font-size: 1.8rem;
		margin:0 0 16px 0!important;
	}
	main.contents.inpatient > article .contact_info .tel_number
	{
		font-size: 2.4rem;
		margin-bottom: 16px;
		color:var(--cl_primary);
		font-weight: 700;
	}
	main.contents.inpatient > article .contact_info .tel_number font
	{
		color:#33333399;
		padding-right:0.5em;
	}
	main.contents.inpatient > article .contact_info .tel_number span
	{
		font-size: 1.6rem;
		color:#33333399;
		font-weight: 400;
		margin-left: 8px;
	}
	@media screen and (max-width: 1024px)
	{
		main.contents.inpatient > article .contact_info h4.title
		{
			font-size: 2rem;
			margin-bottom: 16px;
		}
		main.contents.inpatient .flowchart .flow-label
		{
			font-size: 1.8rem;
		}
		main.contents.inpatient .flowchart .flow-desc
		{
			font-size: 1.6rem;
		}
		main.contents.inpatient > article .text_wrap .title
		{
			font-size:2.4rem;
		}
		main.contents.inpatient > article .contact_info .tel_number
		{
			font-size: 2.0rem;
			line-height: 1.5;
		}
	}
	main.contents.inpatient .text_wrap .sub_title
	{
		margin-bottom:12px;
		font-size:2.4rem;
		color:var(--cl_primary);
	}
	main.contents.inpatient .text_wrap .one_day
	{
		display: grid;
		/* grid-template-columns: repeat(2, minmax(0, 1fr)); */
		grid-template-columns: 1fr;
		gap:12px;
		font-size: 1.6rem;
		margin-bottom:32px;
	}
	main.contents.inpatient .text_wrap .one_day li
	{
		display: flex;
		align-items: center;
		gap:12px;
		margin-bottom: 0;
		padding:12px 24px;
		background-color: #f9fafb;
		border:1px solid var(--cl_border);
		border-radius: 8px;
	}
	main.contents.inpatient .text_wrap .one_day li::before
	{
		content:"";
		display: block;
		width:20px;
		height:20px;
		background-color: var(--cl_primary);
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
	}
	main.contents.inpatient .text_wrap .one_day li.clock::before
	{
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-5 w-5 text-primary shrink-0"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>');
	}
	main.contents.inpatient .text_wrap .one_day li.meal::before
	{
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-utensils-crossed h-5 w-5 text-primary shrink-0"><path d="m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8"></path><path d="M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7"></path><path d="m2.1 21.8 6.4-6.3"></path><path d="m19 5-7 7"></path></svg>');
	}
	main.contents.inpatient .text_wrap .one_day li.list::before
	{
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard-list h-5 w-5 text-primary shrink-0"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><path d="M12 11h4"></path><path d="M12 16h4"></path><path d="M8 11h.01"></path><path d="M8 16h.01"></path></svg>');
	}
	main.contents.inpatient .text_wrap .one_day li.home::before
	{
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house h-5 w-5 text-primary shrink-0"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg>');
	}

	@media screen and (max-width: 1024px)
	{
		main.contents.inpatient .text_wrap .one_day
		{
			grid-template-columns: 1fr;
		}
	}

	main.contents.inpatient .text_wrap .one_day + .box
	{
		margin-bottom: 32px;
	}
	main.contents.inpatient .text_wrap .one_day + .box
	{
		margin-bottom: 32px;
	}
	main.contents.inpatient .text_wrap .check_list
	{
		font-size: 1.6rem;
		margin-left: 0em;
		line-height: 1.8;
	}
	main.contents.inpatient .text_wrap .check_list li
	{
		display: flex;
		align-items: center;
		gap: 0.5em;
		margin-bottom: 0;
		color: var(--cl_text);
	}
	main.contents.inpatient .text_wrap .check_list li::before
	{
		content: "";
		display: inline-block;
		background-color: var(--cl_primary);
		width: 1.6rem;
		height: 1.6rem;
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check-big h-5 w-5 text-primary shrink-0"><path d="M21.801 10A10 10 0 1 1 17 3.335"></path><path d="m9 11 3 3L22 4"></path></svg>');
	}
	main.contents.inpatient .download_wrap
	{
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap:16px;
	}
	main.contents.inpatient .download_wrap a
	{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap:12px;
		text-decoration: none;
		margin:0;
		position: relative;
	}
	main.contents.inpatient .download_wrap a::after
	{
		content: "";
		position: absolute;
		left: 0;
		top: 0px;
		bottom: 0;
		width: 4px;
		height: 100%;
		background-color: var(--cl_primary);
		transform: scale(1, 0);
		transform-origin: center bottom;
		transition: transform 0.3s ease-out;
	}
	main.contents.inpatient .download_wrap a:hover
	{
		top: -4px;
		background-color: #edebe97e;
		box-shadow: 0 0 #0000, 0 0 #0000, 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
	}
	main.contents.inpatient .download_wrap a:hover::after
	{
		transform: scale(1, 1);
	}
	/*
	main.contents.inpatient .download_wrap a:has(aside)
	{
		cursor: default;
	}
	main.contents.inpatient .download_wrap a:has(aside)::after
	{
		content: none;
	}
	main.contents.inpatient .download_wrap a:has(aside):hover
	{
		top: 0px;
		box-shadow: none;
	}
	*/

	main.contents.inpatient .download_wrap a::before
	{
		content:"";
		width:40px;
		height:40px;
		display: block;
		background-color: var(--cl_primary);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text h-10 w-10 text-primary"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg>');
	}
	main.contents.inpatient .download_wrap a h4
	{
		font-size:1.6rem;
		font-weight: 600;
		color:var(--cl_text);
		margin-bottom:0;
	}
	main.contents.inpatient .download_wrap a aside
	{
		font-size:1.4rem;
		color:var(--cl_aside);
		font-style: oblique;
	}
	@media screen and (max-width: 1024px)
	{
		main.contents.inpatient .download_wrap
		{
			grid-template-columns: 1fr;
		}
		main.contents.inpatient .download_wrap a
		{
			flex-direction: row;
			justify-content: flex-start;
		}
		main.contents.inpatient .download_wrap a::before
		{
			width: 1.8rem;
			height: 1.8rem;
		}
	}

	.form_wrap
	{
		padding:32px;
		margin-top: 32px;
		margin-bottom: 24px;
		border:1px solid #dee3dd;
		border-radius: 8px;
		background-color: #fff;
	}
	.form_wrap h3.subtitle
	{
		font-size: 1.8rem;
		line-height: 1.3;
		color:var(--cl_text);
		font-weight: 700;
		margin-top:32px;
		padding:12px;
		background-color: #f5f5de;
	}
	.form_wrap form h3.subtitle:first-of-type
	{
		margin-top:0;
	}
	.form_wrap form .form_btn
	{
		margin-top:48px;
		margin-bottom:48px;
	}
	main.contents > article p.form_description
	{
		width: 100%;
		font-size: 1.6rem;
		line-height: 1.5;
		color:var(--cl_aside);
		margin-bottom: 32px;
	}

	.form_wrap .thanks
	{
		width: fit-content;
		margin:32px auto 0;
	}
	.form_wrap .thanks h4
	{
		font-size: 2.4rem;
		line-height: 1.3;
		color:var(--cl_primary);
		font-weight: 700;
		margin-bottom: 16px;
	}
	.form_wrap .hospital_name
	{
		font-size: 1.8rem;
		line-height: 1.5;
		color:var(--cl_text);
	}
	@media screen and (max-width: 1024px)
	{
		.form_wrap
		{
			padding:16px;
			margin-top: 32px;
			margin-bottom: 24px;
			border:1px solid #dee3dd;
			border-radius: 8px;
			background-color: #fff;
		}
	}

	main.contents > article .text_wrap p
	{
		margin-inline:0;
		margin-bottom: 0;
	}
	main.contents > article .text_wrap p:not(:last-child)
	{
		margin-bottom: 16px;
	}
	main.contents > article ol
	{
		padding-left: 3.2rem;
	}
	main.contents > article.fix ol li
	{
		position: relative;
		padding-left: 16px;
		list-style: decimal;
		font-size:1.8rem;
		color:var(--cl_text);
		line-height: 1.5;
	}
	main.contents > article.fix ol li::marker
	{
		font-size: 2rem;
		font-weight: 700;
		color:var(--cl_primary);
	}
	main.contents > article.fix ul li
	{
		position: relative;
		font-size:1.8rem;
		color:var(--cl_text);
	}
	main.contents > article.fix ul li h4
	{
		font-size:2rem;
		color:var(--cl_primary);
		margin-bottom:12px;
	}
	main.contents > article.fix ul li h4.c_bk
	{
		font-size:1.8rem;
		color:#222;
	}

	.group_btn
	{
		display: block;
		width: fit-content;
		margin-inline:auto;
		position: relative;
		padding-top:80px;
	}
	.group_btn::before
	{
		content:"";
		width:64px;
		height:64px;
		background-color: var(--cl_bg1);
		border-radius: 9999px;
		position: absolute;
		top:0;
		left:50%;
		transform: translate(-50%,0);
	}
	.group_btn::after
	{
		content:"";
		width: 32px;
		height: 32px;
		display: block;
		background-color: var(--cl_primary);
		position: absolute;
		top:16px;
		left:50%;
		transform: translate(-50%,0);
		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" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-building2 h-8 w-8 text-primary"><path d="M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z"></path><path d="M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2"></path><path d="M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2"></path><path d="M10 6h4"></path><path d="M10 10h4"></path><path d="M10 14h4"></path><path d="M10 18h4"></path></svg>');
		z-index: 10;
	}

	.group_btn a
	{
		display: flex;
		justify-content: center;
		align-items: center;
		gap:16px;
		width: fit-content;
		margin-inline:auto;
		padding:16px 32px;
		border-radius: 8px;
		font-size: 1.8rem;
		background-color:var(--cl_primary);
		color:#fff!important;
		text-decoration: none!important;
	}
	.group_btn a::after
	{
		content:"";
		width: 16px;
		height: 16px;
		background-color: #fff;
		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" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-5 w-5"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>');
	}

	/*============================
		Gallery
	============================*/
	main.contents > article.gallery
	{
		padding-top:0px;
		margin-top:0;
	}
	main.contents > article.gallery .gallery_title
	{
		padding:64px 0;
		margin:0 auto;
		background-color: var(--cl_primary);
	}
	main.contents > article.gallery .gallery_title .container
	{
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap:50px;
	}
	main.contents > article .gallery_title h1
	{
		color:#fff;
		font-size:4.8rem;
		margin-bottom:16px;
		text-align: left;
		line-height: 1;
	}
	main.contents > article .gallery_title p
	{
		color:#fff;
		font-size:2.4rem;
		line-height:1.5;
		margin-bottom:8px;
		opacity: 0.9;
		text-align: left;
		margin-left:0;
	}
	main.contents > article .gallery_title p:has(span)
	{
		margin-bottom:0px;
	}
	main.contents > article .gallery_title p span
	{
		color:#fff;
		font-size:1.8rem;
		line-height:1.5;
		margin-bottom:0px;
		opacity: 0.8;
	}
	main.contents > article.gallery .container
	{
		padding-bottom:0px;
	}

	main.contents > article .gallery_title .gallery_btn_wrap
	{
		display: none;
	}
	main.contents > article .gallery_title .gallery_btn_wrap:has(a.gallery_btn)
	{
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap:16px 32px;
		flex-wrap: wrap;
	}
	main.contents > article .gallery_title .gallery_btn_wrap a.gallery_btn
	{
		display: flex;
		gap:12px;
		width: fit-content;
		font-size: 1.8rem;
		padding: 16px 24px;
		border-radius: 6px;
		background-color: #fff;
		color: var(--cl_primary);
		font-weight: 700;
		text-decoration: none;
		box-shadow: 0 0 #0000, 0 0 #0000, 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
		position: relative;
		top: 0px;
	}
	main.contents > article .gallery_title .gallery_btn_wrap a.gallery_btn:before
	{
		content:"";
		display: block;
		width:20px;
		height:20px;
		background-color: rgb( from var(--cl_primary) r g b / 0.6);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download h-4 w-4"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" x2="12" y1="15" y2="3"></line></svg>');
	}

	main.contents > article .gallery_title .gallery_btn_wrap a.gallery_btn:hover
	{
		top: -4px;
	}

	@media screen and (max-width: 1024px)
	{
		main.contents > article .gallery_title h1
		{
			font-size:3rem;
		}
		main.contents > article .gallery_title p
		{
			font-size:2rem;
		}
		main.contents > article .gallery_title p:has(span)
		{
			margin-bottom:0px;
		}
		main.contents > article .gallery_title p span
		{
			font-size:1.6rem;
		}
		main.contents > article.gallery .gallery_title .container
		{
			align-items: start;
			gap:32px;
			flex-direction: column;
		}
		main.contents > article .gallery_title .gallery_btn_wrap:has(a.gallery_btn)
		{
			justify-content: flex-start;
		}
	}

	article.gallery .container .search
	{
		margin-top:48px;
		margin-bottom:32px;
		background-color: #eeebe880;
		border-radius: 6px;
	}
	article.gallery .container .search ul
	{
		display: flex;
		justify-content: center;
		align-items: center;
		gap:8px;
		padding:8px;
		border:solid 0px #e5e1dc;
	}
	article.gallery .container .search ul li
	{
		margin:0;
		display: block;
	}
	article.gallery .container .search ul li a
	{
		display: block;
		padding:6px 12px;
		font-size:1.4rem;
		font-weight: 500;
		color:var(--cl_aside);
		background-color: transparent;
		border-radius: 4px;
	}
	article.gallery .container .search ul li.active a
	{
		background-color: #f9fafb;
		box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgb(0 0 0 / .05);
	}
	article.gallery .contents_wrap ul
	{
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap:24px;
	}
	article.gallery .contents_wrap ul li
	{
		display: grid;
		margin-bottom:0;
	}
	article.gallery .contents_wrap ul li a
	{
		display: grid;
		grid-template-rows: subgrid;
		gap:0;
		grid-row: span 2;
		margin-inline:0;
		background-color: #fff;
		border-radius: 8px;
		overflow: hidden;
		box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgb(0 0 0 / .05);
		cursor: pointer;
	}
	article.gallery .contents_wrap ul li a > div
	{
		padding:0;
	}
	article.gallery .contents_wrap ul li figure
	{
		position: relative;
		width: 100%;
		aspect-ratio: 323 / 242;
	}
	article.gallery .contents_wrap ul li figure img
	{
		width: 100%;
		height:100%;
		object-fit: cover;
	}
	article.gallery .contents_wrap ul li h3
	{
		padding:16px;
		margin-bottom:4px;
		font-size:1.8rem;
		color:var(--cl_text);
		font-weight:600;
	}
	@media screen and (max-width: 1280px)
	{
		article.gallery .contents_wrap ul
		{
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}
	}
	@media screen and (max-width: 1024px)
	{
		article.gallery .contents_wrap ul
		{
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
	}
	@media screen and (max-width: 640px)
	{
		article.gallery .contents_wrap ul
		{
			grid-template-columns: repeat(1, minmax(0, 1fr));
		}
	}

	.lity-container > div
	{
		width:100%;
		max-width:950px;
		padding:24px 24px 16px 24px;
		background-color: #f9fafb;
		border-radius: 8px;
	}
	.lity-container > div figure
	{
		width:100%;
		max-width:950px;
		aspect-ratio: 323 / 242;
		padding:0px;s
	}
	.lity-container > div figure img
	{
		width: 100%;
		height:100%;
		object-fit: cover;
	}
	.lity-container > div h3
	{
		font-size:2rem;
		color:var(--cl_text);
		padding-bottom:8px;
		margin:16px auto 0;
	}

	/*============================
		access
	============================*/
	.text_wrap .icon:not(:last-child)
	{
		margin-bottom: 32px;
	}
	.text_wrap .icon .title
	{
		margin-bottom: 16px;
	}
	.text_wrap .icon
	{
		padding-left:40px;
		position: relative;
	}
	.text_wrap .icon:before
	{
		content:"";
		width: 24px;
		height: 24px;
		margin-top:4px;
		position: absolute;
		top:0;
		left:0;
		background-color: var(--cl_primary);
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
	}
	.text_wrap .icon.ico_map:before
	{
		mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-map-pin w-6 h-6 text-primary flex-shrink-0 mt-1"><path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"></path><circle cx="12" cy="10" r="3"></circle></svg>');
	}
	.text_wrap .icon.ico_tel:before
	{
		mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-phone w-6 h-6 text-primary flex-shrink-0 mt-1"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path></svg>');
	}
	.text_wrap .icon.ico_train:before
	{
		mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tram-front w-6 h-6 text-primary"><rect width="16" height="16" x="4" y="3" rx="2"></rect><path d="M4 11h16"></path><path d="M12 3v8"></path><path d="m8 19-2 3"></path><path d="m18 22-2-3"></path><path d="M8 15h.01"></path><path d="M16 15h.01"></path></svg>');
	}
	.text_wrap .icon.ico_bus:before
	{
		mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M480 64C568.4 64 640 135.6 640 224L640 448C640 483.3 611.3 512 576 512L570.4 512C557.2 549.3 521.8 576 480 576C438.2 576 402.7 549.3 389.6 512L250.5 512C237.3 549.3 201.8 576 160.1 576C118.4 576 82.9 549.3 69.7 512L64 512C28.7 512 0 483.3 0 448L0 160C0 107 43 64 96 64L480 64zM160 432C133.5 432 112 453.5 112 480C112 506.5 133.5 528 160 528C186.5 528 208 506.5 208 480C208 453.5 186.5 432 160 432zM480 432C453.5 432 432 453.5 432 480C432 506.5 453.5 528 480 528C506.5 528 528 506.5 528 480C528 453.5 506.5 432 480 432zM480 128C462.3 128 448 142.3 448 160L448 352C448 369.7 462.3 384 480 384L544 384C561.7 384 576 369.7 576 352L576 224C576 171 533 128 480 128zM248 288L352 288C369.7 288 384 273.7 384 256L384 160C384 142.3 369.7 128 352 128L248 128L248 288zM96 128C78.3 128 64 142.3 64 160L64 256C64 273.7 78.3 288 96 288L200 288L200 128L96 128z"/></svg>');
	}
	.text_wrap .icon.ico_car:before
	{
		mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-car w-6 h-6 text-primary"><path d="M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2"></path><circle cx="7" cy="17" r="2"></circle><path d="M9 17h6"></path><circle cx="17" cy="17" r="2"></circle></svg>');
	}
	.text_wrap.gmap
	{
		height:400px;
		padding:0;
		line-height: 1;
		overflow: hidden;
	}

	.text_wrap .subtitle
	{
		font-size:2rem;
		color:var(--cl_primary);
		margin-bottom:16px;
		position: relative;
    	top: 4px;
	}

	.text_wrap aside
	{
		font-size:1.8rem;
		color:var(--cl_aside);
	}

	#form.text_wrap aside
	{
		font-size:1rem;
		color:var(--cl_aside);
	}

	@media screen and (max-width: 1024px)
	{
		.text_wrap aside
		{
			font-size:1.6rem;
			line-height: 1.5;
		}
	}
	@media screen and (max-width: 640px)
	{
		.text_wrap .icon
		{
			padding-left: 0px;
		}
		.text_wrap .icon:before
		{
			content:none;
		}
		.text_wrap .subtitle
		{
			padding-left: 40px;
		}
		.text_wrap .subtitle::before
		{
			content:"";
			width: 24px;
			height: 24px;
			margin-top:0px;
			position: absolute;
			top:-4px;
			left:0;
			background-color: var(--cl_primary);
			mask-repeat: no-repeat;
			mask-position: center;
			mask-size: contain;
		}
		.text_wrap .icon.ico_train .subtitle::before
		{
			mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tram-front w-6 h-6 text-primary"><rect width="16" height="16" x="4" y="3" rx="2"></rect><path d="M4 11h16"></path><path d="M12 3v8"></path><path d="m8 19-2 3"></path><path d="m18 22-2-3"></path><path d="M8 15h.01"></path><path d="M16 15h.01"></path></svg>');
		}
		.text_wrap .icon.ico_car .subtitle::before
		{
			mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-car w-6 h-6 text-primary"><path d="M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2"></path><circle cx="7" cy="17" r="2"></circle><path d="M9 17h6"></path><circle cx="17" cy="17" r="2"></circle></svg>');
		}
	}

	/*============================
		faq
	============================*/
	main.contents.faq > article
	{
		padding-top:0px;
		margin-top:0;
	}
	main.contents.faq > article .container
	{
		padding:0px;
	}
	.faq_title
	{
		display: block;
		width: 100%;
		padding:64px 0;
		background-color: rgb( from var(--cl_primary) r g b / 0.1);
	}
	main.contents.faq > article .faq_title h1
	{
		display: flex;
		justify-content: center;
		align-items: center;
		gap:8px;
		font-size:3.6rem;
		color:var(--cl_text);
		margin-bottom:12px;
	}
	main.contents.faq > article .faq_title h1::before
	{
		content:"";
		display: block;
		width: 32px;
		height: 32px;
		background-color: var(--cl_primary);
		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" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-help-circle w-8 h-8 text-primary"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 1 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>');
	}
	main.contents.faq > article .faq_title p
	{
		margin-bottom:0;
		font-size:1.8rem;
		color:var(--cl_aside);
		letter-spacing: normal;
	}
	.faq_list
	{
		display: block;
		max-width: 750px;
		margin: 64px auto 64px;
	}
	.faq_list dl
	{
		width: 100%;
		padding:0px 24px;
		line-height: 2.5rem;
		position: relative;
		background: #fff;
		border-radius: 8px;
		font-size: 1.8rem;
		border: 1px solid #e5e1dc;
		box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgb(0 0 0 / .05);
	}
	.faq_list dt
	{
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		gap:12px;
		cursor: pointer;
		font-weight: 700;
		padding:20px 0;
		position: relative;
	}
	.faq_list dt::after
	{
		content:"";
		display: block;
		width: 16px;
		height: 16px;
		background-color: var(--cl_aside);
		position: absolute;
		top: 50%;
		right: 10px;
		transform: translate(50%, -50%);
		mask-position: center;
		mask-size: contain;
		mask-repeat: no-repeat;
		mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 transition-transform"><path d="m6 9 6 6 6-6"></path></svg>');
		transition: transform 0.3s ease;
	}
	.faq_list dt.open::after
	{
		transform: translate(50%, -50%) rotate(180deg);
	}
	.faq_list dt.active::after
	{
		transform: translate(50%, -50%) rotate(-135deg);
	}
	.faq_list dt > span
	{
		display: inline-block;
		color: var(--cl_primary);
	}
	.faq_list dd
	{
		font-size: 1.6rem;
		color:var(--cl_aside);
		padding: 0px 0px 20px 40px;
		margin: 0;
	}
	.faq_list dt
	{
		padding:20px 0 16px;
	}
	.faq_list dd a
	{
		text-decoration: underline;
		text-underline-offset: 5px;
		color: var(--cl_primary);
	}
	.faq_list dd a:hover
	{
		text-decoration: none;
	}

	@media screen and (max-width: 1024px)
	{
		.faq_title
		{
			padding:48px 16px;
		}
		main.contents.faq > article .faq_title h1
		{
			font-size:2.4rem;
			margin-bottom:16px;
		}
		main.contents.faq > article .faq_title p
		{
			text-align: center;
		}
		.faq_list
		{
			margin: 48px auto 48px;
			padding:0 16px;
		}
		.faq_list dl
		{
			font-size: 1.6rem;
		}
		.faq_list dt
		{
			padding:20px 16px 16px 0;
		}
	}


	/*============================
		医療関係者情報
	============================*/
	main.contents.medical > :is(article,section)
	{
		padding: 64px 0px;
		line-height: 1.5;
	}

	main.contents.medical > :is(#accept,#introduce)
	{
		background-color: #f5f5f4;
	}
	main.contents.medical > section h2
	{
		margin-bottom: 8px;
		font-size: 3rem;
		color:var(--cl_primary);
	}
	main.contents.medical > section h2 + p
	{
		width: 100%;
		margin-bottom: 32px;
		font-size: 1.6rem;
		color:var(--cl_aside);
		text-align: left;
	}

	main.contents.medical > section:first-of-type
	{
		padding: 0 0px;
	}
	main.contents.medical .container
	{
		margin-top:0;
		padding:0px 16px;
		max-width: 1024px;
	}
	.medical_title > div:not(:last-child)
	{
		display: block;
		width: 100%;
		padding:64px 0;
		background-color: rgb( from var(--cl_primary) r g b / 0.1);
		text-align: center;
	}
	main.contents.medical .medical_title h1
	{
		display: flex;
		justify-content: center;
		align-items: center;
		gap:8px;
		font-size:3.6rem;
		color:var(--cl_text);
		margin-bottom:12px;
	}
	main.contents.medical .medical_title h1::before
	{
		content:"";
		display: block;
		width: 32px;
		height: 32px;
		background-color: var(--cl_primary);
		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" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-stethoscope h-8 w-8 text-primary"><path d="M11 2v2"></path><path d="M5 2v2"></path><path d="M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1"></path><path d="M8 15a6 6 0 0 0 12 0v-3"></path><circle cx="20" cy="10" r="2"></circle></svg>');
	}
	main.contents.medical .medical_title p
	{
		margin-bottom:0;
		font-size:1.8rem;
		color:var(--cl_aside);
		letter-spacing: normal;
	}

	@media screen and (max-width: 768px)
	{
		main.contents.medical > :is(article,section)
		{
			padding: 48px 0px;
		}
		.medical_title > div:not(:last-child)
		{
			padding:48px 0;
		}
		main.contents.medical .medical_title h1
		{
			font-size:2.4rem;
			margin-bottom:16px;
		}
		main.contents.medical > section h2
		{
			font-size: 2.4rem;
		}
	}


	.medical .anchor
	{
		display: block;
		width: 100%;
		padding:32px 0;
		background-color: #fff;
		border-bottom: 1px solid var(--cl_border);
	}
	.medical .anchor ul
	{
		max-width: 770px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: stretch;
		gap:16px;
		margin-inline:auto;
	}
	.medical .anchor ul li
	{
		width: calc( (100% - 16px * 3) / 4 );
		margin-bottom: 0;
	}
	@media screen and (max-width: 420px)
	{
		.medical .anchor ul li
		{
			width: calc( (100% - 16px * 1) / 2 );
			margin-bottom: 0;
		}
	}
	.medical .anchor ul a
	{
		width: 100%;
		display: flex;
		flex-direction: column;
		gap:8px;
		padding:16px;
		border-radius: 8px;
		text-align: center;
		font-size: 1.4rem;
		color:var(--cl_primary);
		font-weight: 600;
	}
	.medical .anchor ul a span
	{
		display: grid;
		place-content: center;
		position: relative;
		width: 48px;
		height: 48px;
		line-height: 48px;
		margin:0 auto 8px;
		background-color: rgb(from var(--cl_primary) r g b / 0.1);
		border-radius: 50%;
	}
	.medical .anchor ul a span svg
	{
		object-fit: contain;
	}
	.medical .anchor ul a:hover
	{
		background-color: rgb(from var(--cl_primary) r g b / 0.1);
	}
	.medical .anchor ul a:hover span
	{
		background-color: rgb(from var(--cl_primary) r g b / 0.2);
	}
	.medical:has(#data,#download)
	{
		background-color: #eeebe84d;
	}
	.medical .container
	{
		width:100%;
		max-width:100%;
	}
	.medical #accept .box
	{
		background-color: #fff;
	}
	.medical .box h3
	{
		margin-bottom: 16px;
		font-size:1.8rem;
		font-weight: 700;
	}
	.medical #accept .box ul
	{
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap:16px;
	}
	.medical #accept .box ul li
	{
		display: flex;
		align-items: center;
		flex-direction: column;
		gap:8px;
		margin:0;
		padding:12px;
		border-radius: 8px;
		background-color: rgb( from var(--cl_primary) r g b / 0.05);
		line-height: 1;
	}
	.medical #accept .box ul li svg
	{
		color:var(--cl_primary);
	}

	@media screen and (max-width: 768px)
	{
		.medical #accept .box ul
		{
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}

	}

	.medical #data .box
	{
		margin-bottom: 24px;
		padding:16px;
		border:none;
	}
	.medical #data .box p
	{
		width: 100%;
		margin:0;
		font-size: 1.4rem;
		text-align: left;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap:0.5em 1em;
	}
	.medical #data .box p span
	{
		display: inline-block;
		padding:4px 12px;
		border:1px solid;
		font-weight: 500;
	}
	.medical #data .box p span.bed_status_1
	{
		color:#065f46;
		background-color: #d1fae5;
		border-color:#6ee7b7;
	}
	.medical #data .box p span.bed_status_2
	{
		color:#92400e;
		background-color: #fef3c7;
		border-color:#fcd34d;
	}
	.medical #data .box p span.bed_status_3
	{
		color:#9f1239;
		background-color: #ffe4e6;
		border-color:#fda4af;
	}
	.medical #data .text_wrap
	{
		padding:0;
	}
	.medical #data .text_wrap h3
	{
		font-size:1.8rem;
		position: relative;
		display: flex;
		align-items: center;
		gap:8px;
		padding:16px;
	}

	.medical #data .text_wrap h3::before
	{
		content:"";
		display: inline-block;
		width: 20px;
		height: 20px;
		background-color: var(--cl_primary);
		mask-position: center;
		mask-size: contain;
		mask-repeat: no-repeat;
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bed-double h-5 w-5 text-primary"><path d="M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8"></path><path d="M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4"></path><path d="M12 4v6"></path><path d="M2 18h20"></path></svg>');
	}
	.medical #data .text_wrap table
	{
		width: 100%;
		table-layout: fixed;
	}
	.medical #data .text_wrap table thead
	{
		background-color: rgba(229, 225, 220, 0.3);
	}
	.medical #data .text_wrap table thead th
	{
		padding:16px;
		font-size:1.6rem;
		font-weight: 600;
		text-align: left;
	}
	.medical #data .text_wrap table thead th:nth-child(n+3)
	{
		text-align: center;
	}
	.medical #data .text_wrap table thead th:first-of-type
	{
		width: 25%;
		text-align: left;
	}
	.medical #data .text_wrap table tbody tr
	{
		border-top:1px solid var(--cl_border);
	}
	.medical #data .text_wrap table tbody tr:nth-child(odd)
	{
		background-color: rgb( from var(--cl_primary) r g b / 0.05);
	}
	.medical #data .text_wrap table tbody th
	{
		padding:16px;
		font-size: 1.6rem;
		text-align: left;
		font-weight: 500;
	}
	.medical #data .text_wrap table tbody td
	{
		padding:16px;
		font-size: 1.6rem;
		text-align: center;
		font-weight: 700;
	}

	.medical #data .text_wrap table tbody td span
	{
		display: inline-block;
		padding:4px 12px;
		border:1px solid;
		font-weight: 600;
		font-size:1.4rem;
	}
	.medical #data .text_wrap table tbody td span.bed_status_1
	{
		color:#065f46;
		background-color: #d1fae5;
		border-color:#6ee7b7;
	}
	.medical #data .text_wrap table tbody td span.bed_status_2
	{
		color:#92400e;
		background-color: #fef3c7;
		border-color:#fcd34d;
	}
	.medical #data .text_wrap table tbody td span.bed_status_3
	{
		color:#9f1239;
		background-color: #ffe4e6;
		border-color:#fda4af;
	}

	.bed_data ul
	{
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap:24px;
	}
	.bed_data ul li
	{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap:8px;
		padding:24px;
		margin-bottom:0!important;
		border-radius: 8px;
		box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgb(0 0 0 / .05);
		background-color: #fff;
		border:1px solid var(--cl_border);
	}
	.bed_data ul li .count
	{
		font-size: 3rem;
		font-weight: 700;
		letter-spacing: -0.75px;
		color: var(--cl_primary);
	}
	.bed_data ul li .text
	{
		font-size: 1.4rem;
		color:var(--cl_aside);
		padding-bottom: 0;
		margin-bottom: 0;
	}
	@media screen and (max-width: 768px)
	{
		.bed_data ul
		{
			grid-template-columns: 1fr;
		}
	}

	.medical #introduce h3
	{
		font-size: 1.8rem;
		font-weight: 700;
		margin-bottom: 24px;
	}



	.medical #introduce .text_wrap h3
	{
		font-size:1.8rem;
		margin-bottom:16px;
	}
	.medical #introduce .text_wrap ul
	{
		font-size:1.6rem;
		margin-left: 0em;
		line-height: 1.8;
	}
	.medical #introduce .text_wrap ul li
	{
		display: flex;
		align-items: center;
		gap:0.5em;
		margin-bottom:0;
		color:var(--cl_aside);
	}
	.medical #introduce .text_wrap ul li::before
	{
		content:"";
		display: inline-block;
		background-color: var(--cl_primary);
		width: 1.6rem;
		height:1.6rem;
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		mask-image: url(/images/site/icon_file.svg);
	}

	.medical #introduce .text_wrap:has(.contact_wrap) h3
	{
		font-size:2.4rem;
		margin-bottom:24px;
	}
	.medical #introduce .text_wrap .contact_wrap
	{
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap:24px;
	}
	.medical #introduce .text_wrap .contact_wrap > div
	{
		display: flex;
		gap:16px;
	}
	.medical #introduce .text_wrap .contact_wrap > div::before
	{
		content:"";
		display: block;
		width: 24px;
		height:24px;
		background-color: var(--cl_primary);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
	}
	.medical #introduce .text_wrap .contact_wrap > div.tel::before
	{
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-phone h-6 w-6 text-primary mt-1 flex-shrink-0"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path></svg>');
	}
	.medical #introduce .text_wrap .contact_wrap > div.fax::before
	{
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail h-6 w-6 text-primary mt-1 flex-shrink-0"><rect width="20" height="16" x="2" y="4" rx="2"></rect><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"></path></svg>');
	}

	.medical #introduce .text_wrap .contact_wrap > div > div
	{
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
	}
	.medical #introduce .text_wrap .contact_wrap > div > div h4
	{
		font-size: 1.6rem;
		font-weight: 600;
		margin-bottom: 0;
	}
	.medical #introduce .text_wrap .contact_wrap > div > div p
	{
		width:100%;
		font-size: 1.8rem;
		font-weight: 700;
		margin-bottom: 0;
	}
	.medical #introduce .text_wrap .contact_wrap > div.tel > div p
	{
		color:var(--cl_primary);
	}
	.medical #introduce .text_wrap .contact_wrap > div > div aside
	{
		font-size: 1.4rem;
		margin-top: 4px;
	}
	@media screen and (max-width: 768px)
	{
		.medical #introduce .text_wrap:last-of-type
		{
			margin-bottom:0;
		}
		.medical #introduce .text_wrap .contact_wrap
		{
			grid-template-columns: 1fr;
		}
	}

	.medical #download .download_wrap
	{
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap:16px;
	}
	.medical #download .download_wrap .box
	{
		margin:0;
		padding:20px 20px 20px 86px;
		background-color: #fff;
		position: relative;
		transition: 0.3s;
	}
	.medical #download .download_wrap .box::before
	{
		content:"";
		display: block;
		width:48px;
		height:48px;
		border-radius: 4px;
		background-color: rgb( from var(--cl_primary) r g b / 0.1);
		position: absolute;
		top:20px;
		left:20px;
	}
	.medical #download .download_wrap .box::after
	{
		content:"";
		display: block;
		width:24px;
		height:24px;
		background-color: var(--cl_primary);
		position: absolute;
		top:calc(48px - 24px + 20px);
		left:calc(48px - 24px + 20px);
		transform:translate(-50%, -50%);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		mask-image: url(/images/site/icon_file.svg);
	}
	.medical #download .download_wrap .box:hover
	{
		box-shadow: 0 0 #0000, 0 0 #0000, 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
	}
	.medical #download .download_wrap .box h4
	{
		margin-bottom: 4px;
		font-size:1.6rem;
		font-weight: 700;
	}
	.medical #download .download_wrap .box p
	{
		width: auto;
		margin-bottom: 12px;
		font-size:1.4rem;
		color:var(--cl_aside);
		letter-spacing: 0;
	}
	.medical #download .download_wrap .box a
	{
		width:fit-content;
		display: flex;
		justify-content: center;
		align-items: center;
		gap:8px;
		margin:0;
		padding:6px 12px;
		background-color: #f9fafb;
		border:1px solid var(--cl_border);
		border-radius: 6px;
		font-size:1.4rem;
		color:var(--cl_text);
		font-weight: 500;
	}
	.medical #download .download_wrap .box a::before
	{
		content:"";
		display: block;
		width:14px;
		height:14px;
		background-color: var(--cl_text);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download h-4 w-4"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" x2="12" y1="15" y2="3"></line></svg>');
	}
	.medical #download .download_wrap .box a:hover
	{
		background-color: var(--cl_hover);
		color:#fff;
	}
	.medical #download .download_wrap .box a:hover::before
	{
		background-color: #fff;
	}
	.medical #download .box:has(aside)
	{
		padding:16px;
		background-color: rgb( from var(--cl_primary) r g b / 0.05);
	}
	.medical #download .box aside
	{
		font-size:1.4rem;
		color:var(--cl_aside);
	}
	@media screen and (max-width: 768px)
	{
		.medical #download .download_wrap
		{
			grid-template-columns: 1fr;
		}
	}