/*	===============================================================
	● ヘッダ/フッターCSSファイル
	---------------------------------------------------------------
	Release 2026.04.22                               Powerd by TDR
	=============================================================== */

	/*============================
		ヘッダ/グローバルメニュー
	============================*/
	header
	{
		width: 100%;
		position: fixed;
		top:0;
		z-index: 999;
		color:#fff;
		background-color: var(--cl_primary);
		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);
	}
	header .container
	{
		max-width:100%;
		padding:0 24px;
		margin: 0 auto;
		text-shadow: 0 0 3px var(--cl_text_shadow2);
	}
	header .container a
	{
		color:#fff;
		text-decoration: none;
	}
	header .container a:hover
	{
		opacity: 0.7;
	}
	.hd_sub
	{
		display: flex;
		justify-content: space-between;
		border-bottom:1px solid rgba(222, 227, 221, 0.2);
		padding:8px 16px;
		line-height: 1.5;
	}
	.hd_sub .hd_tel a
	{
		padding-left:24px;
		position: relative;
		font-size: 1.6rem;
		font-weight: 600;
	}
	.hd_sub .hd_tel a::before
	{
		content:"";
		display: block;
		width: 20px;
		height:20px;
		position: absolute;
		top: 50%;
		left: 0px;
		transform: translate(0, -50%);
		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-phone h-5 w-5"><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>');
	}
	.hd_sub .lang
	{
		padding-left:24px;
		margin-right:-1em;
		position: relative;
		color:#ffffffb3;
	}
	.hd_sub .lang a
	{
		font-size: 1.6rem;
		font-weight: 600;
		color:#ffffff7c;
		margin-right:0.5em;
	}
	.hd_sub .lang::before
	{
		content:"";
		display: block;
		width: 20px;
		height:20px;
		position: absolute;
		top: 50%;
		left: 0px;
		transform: translate(0, -50%);
		background-color: #ffffff7c;
		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-globe h-5 w-5"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>');
	}
	a.glink.gt-current-lang
	{
		color:#fff;
		font-weight: 700;
	}
	.hd_main
	{
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		align-items: center;
		gap:24px;
		min-height: 120px;
		padding:16px 16px 16px 16px;
		text-shadow: 0 0 0.5px var(--cl_text_shadow1);
		position: relative;
	}
	.hd_main a:has(h1)
	{
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap:20px;
		width: 330px;
	}
	.hd_main a:has(h1)::before
	{
		content:"";
		display: block;
		width: 55px;
		height:55px;
		background-color: #fff;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		mask-image:url('../images/site/common/logo.png');
	}
	.hd_main a h1
	{
		font-size:3rem;
		margin:0 0 0 0;
		line-height: 1;
	}
	.hd_main a h1 p
	{
		padding:0;
		margin-bottom:0.5em;
		font-size:1.4rem;
		color:rgba(255, 255, 255, 0.7);
	}
	.btn_navi
	{
		display: block;
	}
	nav
	{
		width:calc( 100% - 340px );
		font-size:1.8rem;
	}
	nav ul.main_nav
	{
		display: flex;
		justify-content: flex-end;
		align-items: baseline;
		flex-wrap: wrap;
		gap:8px 48px;
		line-height: 1.3;
	}
	nav ul.main_nav li
	{
		margin-bottom:0 !important;
		padding:8px 0px;
		position: relative;
	}
	nav ul.main_nav a
	{
		padding:0 0;
		font-weight: 600;
		position: relative;
	}
	nav ul.main_nav > li:hover
	{
		color: var(--cl_hover);
		border-radius: 999px;
		transition: 0.3s;
		opacity: 1;
	}
	nav ul.main_nav > li:hover a
	{
		color: var(--cl_hover);
		opacity: 1;
	}
	nav ul.main_nav > li.dropdown
	{
		position: relative;
		cursor: pointer;
	}
	nav ul.main_nav > li.dropdown span
	{
		display: flex;
		align-items: center;
		gap:5px;
		font-weight: 600;
		padding:0 0px 0 0;
	}
	nav ul.main_nav > li.dropdown svg
	{
		width:18px;
		transition: 0.3s;
	}
	nav ul.main_nav > li.dropdown.open svg
	{
		transform: rotate(180deg);
	}
	nav ul.main_nav > li.dropdown ul.sub_nav
	{
		display: none;
		transition: 0.5s;
	}
	nav ul.main_nav > li.dropdown.open ul.sub_nav
	{
		width: fit-content;
		min-width: 220px;
		display: block;
		padding:12px 0;
		position: absolute;
		top:calc( 100% + 4px );
		left:0;
		z-index: 999;
		white-space: nowrap;
		background-color: #fff;
		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);
		border-radius: 8px;
		opacity: 1;
		visibility: visible;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		transition-delay: 0.5s;
	}
	nav ul.main_nav > li.dropdown.open ul.sub_nav li
	{
		padding:0;
	}
	nav ul.main_nav > li.dropdown.open ul.sub_nav a
	{
		display: flex;
		gap:8px;
		font-size:1.4rem;
		padding:12px 16px;
		color:var(--cl_text);
		text-shadow: none;
		font-weight: 500;
	}
	nav ul.main_nav > li.dropdown.open ul.sub_nav a:hover
	{
		background-color: #eeebe8;
	}
	nav ul.main_nav > li.dropdown ul.sub_nav a::before
	{
		content:"";
		display: block;
		width: 16px;
		height:16px;
		background-color: var(--cl_text);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
	}
	nav ul.main_nav > li.dropdown ul.sub_nav .about_us a::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-building2 h-4 w-4 flex-shrink-0"><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>');
	}
	nav ul.main_nav > li.dropdown ul.sub_nav .philosophy a::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-heart h-4 w-4 flex-shrink-0"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"></path></svg>');
	}
	nav ul.main_nav > li.dropdown ul.sub_nav .medical_care a::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-stethoscope h-4 w-4 flex-shrink-0"><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>');
	}
	nav ul.main_nav > li.dropdown ul.sub_nav .inpatient a::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-bed-double h-4 w-4 flex-shrink-0"><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>');
	}
	nav ul.main_nav > li.dropdown ul.sub_nav .outpatient a::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-4 w-4 flex-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>');
	}
	nav ul.main_nav > li.dropdown ul.sub_nav .health_checkup a::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-activity h-4 w-4 flex-shrink-0"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>');
	}
	nav ul.main_nav > li.dropdown ul.sub_nav .visitation a::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-user-check h-4 w-4 flex-shrink-0"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><polyline points="16 11 18 13 22 9"></polyline></svg>');
	}
	nav ul.main_nav > li.dropdown ul.sub_nav .certification a::before
	{
		mask-image: url('/images/site/icon_medal.svg');
	}

	nav ul.main_nav > li.dropdown ul.sub_nav .internal_medicine a::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-stethoscope h-4 w-4 flex-shrink-0"><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>');
	}
	nav ul.main_nav > li.dropdown ul.sub_nav .pediatrics a::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-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)
	{
		.hd_sub .lang
		{
			display: flex;
			align-items: center;
			margin-right: 0px;
		}

		.btn_navi
		{
			display: block;
			position: absolute;
			right:10px;
		}
		.btn_navi p
		{
			width:40px;
			height: 40px;
			background-color: transparent;
			position: relative;
			line-height: 1;
			z-index: 999;
			cursor: pointer;
			border-radius: 6px;
			transition: 0.3s;
		}
		.btn_navi p::after
		{
			content:"";
			width:20px;
			height:20px;
			display: block;
			position:absolute;
			place-self: center;
  			inset: 0;
			z-index: 999;
			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-menu h-6 w-6"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg>');
		}
		.btn_navi.is-open p::after
		{
			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-x h-6 w-6"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>');
		}
		.btn_navi p:hover
		{
			background-color: rgba(255,255,255,0.2);
		}
		.btn_navi p:hover::after
		{
			background-color: var(--cl_primary);
		}
		nav
		{
			display: block;
			width: 100%;
			height: calc(100vh - 164px);
			position: fixed;
			top:164px;
			left:100%;
			transition: 0.5s;
			padding:8px 50px 50px;
		}
		nav.is-open
		{
			left:0;
			background-color: var(--cl_primary);
			overflow-y: auto;
		}
		.main_nav
		{
			width: 100%;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			gap: 4px;
			line-height: 1.3;
		}
		.main_nav li
		{
			/* width:calc(100% - 16px); */
			width:100%;
			margin-inline:auto;
		}
		nav ul.main_nav > li.dropdown ul.sub_nav
		{
			display: flex;
			flex-direction: column;
			align-items: baseline;
			flex-wrap: wrap;
			gap: 8px 16px;
			line-height: 1.3;
			transition: 0.5s;
		}
		nav ul.main_nav li
		{
			padding: 0;
		}
		nav ul.main_nav > li.dropdown span
		{
			display: none;
		}
		nav ul.main_nav > li.dropdown
		{
			cursor: default;
		}
		nav ul.main_nav a
		{
			display: flex;
			align-items: center;
			gap:16px;
			width:100%;
			padding:8px 12px;
			font-size:1.8rem;
			border-radius: 8px;
			position: relative;
		}
		nav ul.main_nav > li:hover a
		{
			color: #fff;
		}

		nav ul.main_nav > li.dropdown ul.sub_nav a::before
		{
			content:"";
			display: inline-block;
			width:24px;
			height:24px;
			background-color: #fff;
			mask-repeat: no-repeat;
			mask-position: center;
			mask-size: contain;
		}
		.main_nav li a:hover
		{
			background-color: rgba(255, 255, 255, 0.1);
		}
		.main_nav > li > a::before
		{
			content:"";
			display: inline-block;
			width:24px;
			height:24px;
			background-color: #fff;
			mask-repeat: no-repeat;
			mask-position: center;
			mask-size: contain;
		}
		.main_nav li.about::before
		{
			content:"当院について";
			display: block;
			width:100%;
			padding-bottom:12px;
			padding-inline:16px;
			margin-bottom:8px;
			border-bottom: 1px solid #ffffff1a;
			font-size:1.2rem;
			font-weight: 300;
			color:#ffffff99;
		}
		.main_nav li.gallery::before
		{
			content:"その他";
			display: block;
			width:100%;
			padding-top:8px;
			padding-inline:16px;
			margin-top:16px;
			margin-bottom:8px;
			border-top: 1px solid #ffffff1a;
			font-size:1.2rem;
			font-weight: 300;
			color:#ffffff99;
		}
		.main_nav li.home a::before
		{
			mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M304 70.1C313.1 61.9 326.9 61.9 336 70.1L568 278.1C577.9 286.9 578.7 302.1 569.8 312C560.9 321.9 545.8 322.7 535.9 313.8L527.9 306.6L527.9 511.9C527.9 547.2 499.2 575.9 463.9 575.9L175.9 575.9C140.6 575.9 111.9 547.2 111.9 511.9L111.9 306.6L103.9 313.8C94 322.6 78.9 321.8 70 312C61.1 302.2 62 287 71.8 278.1L304 70.1zM320 120.2L160 263.7L160 512C160 520.8 167.2 528 176 528L224 528L224 424C224 384.2 256.2 352 296 352L344 352C383.8 352 416 384.2 416 424L416 528L464 528C472.8 528 480 520.8 480 512L480 263.7L320 120.3zM272 528L368 528L368 424C368 410.7 357.3 400 344 400L296 400C282.7 400 272 410.7 272 424L272 528z"/></svg>');
		}
		.main_nav li.philosophy a::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-heart h-6 w-6 flex-shrink-0"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"></path></svg>');
		}
		.main_nav li.about > a::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-building2 h-6 w-6 flex-shrink-0"><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>');
		}
		.main_nav li.medical-care a::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-stethoscope h-6 w-6 flex-shrink-0"><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_nav li.gallery a::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-image h-6 w-6 flex-shrink-0"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect><circle cx="9" cy="9" r="2"></circle><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"></path></svg>');
		}
		.main_nav li.access a::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 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>');
		}
		.main_nav li.recruit a::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-users h-6 w-6 flex-shrink-0"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg>');
		}
		.main_nav li.contact a::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-message-circle h-6 w-6 flex-shrink-0"><path d="M7.9 20A9 9 0 1 0 4 16.1L2 22Z"></path></svg>');
		}
		.main_nav li.medical a::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-briefcase h-6 w-6 flex-shrink-0"><path d="M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path><rect width="20" height="14" x="2" y="6" rx="2"></rect></svg>');
		}
		.main_nav li.faq a::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-circle-help h-6 w-6 flex-shrink-0"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><path d="M12 17h.01"></path></svg>');
		}
		.main_nav li.recruit a::after
		{
			content:"";
			display: block;
			width:16px;
			height:16px;
			position: absolute;
			top:50%;
			right:24px;
			transform:translate(0, -50%);
			background-color: #ffffff99;
			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-external-link h-4 w-4 text-primary-foreground/50"><path d="M15 3h6v6"></path><path d="M10 14 21 3"></path><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path></svg>')
		}

	}

	@media screen and (max-width: 640px)
	{
		.hd_sub
		{
			padding:4px 16px;
		}
		.gtranslate_wrapper
		{
			display: flex;
			align-items: baseline;
		}
		.gtranslate_wrapper > a.glink
		{
			width: 2em;
			height: 1em;
			position: relative;
			left:8px;
			bottom: 5px;
			margin-right: 0;
		}
		a.glink
		{
			visibility: hidden;
			width: fit-content;
		}
		a.glink[data-gt-lang="ja"]::before
		{
			visibility: visible;
			content:"JP";
		}
		a.glink[data-gt-lang="en"]::before
		{
			visibility: visible;
			content:"EN";
		}
		.hd_main
		{
			min-height: 85px;
			padding:8px 16px;
		}
		.hd_main a:has(h1)
		{
			display: flex;
			justify-content: flex-start;
			align-items: center;
			gap:16px;
			width: calc(100% - 72px);
		}
		.hd_main a:has(h1)::before
		{
			content:"";
			display: block;
			width: 40px;
			height:40px;
			background-color: #fff;
			mask-repeat: no-repeat;
			mask-position: center;
			mask-size: contain;
			mask-image:url('../images/site/common/logo.png');
		}
		.hd_main a h1
		{
			font-size:1.8rem;
		}
		.hd_main a h1 p
		{
			margin-bottom:0.2em;
			font-size:1.2rem;
		}
		nav
		{
			height: calc(100vh - 121px);
			top:121px;
			padding:24px;
		}
	}


	/*============================
		フッター
	============================*/
	footer
	{
		width: 100%;
		background-color: var(--cl_primary);
		padding:64px 0 32px;
	}
	footer .container
	{
		padding:0 24px;
	}
	footer .ft_wrap
	{
		display: grid;
		/* grid-template-columns: repeat(4, minmax(0, 1fr)); */
		/* grid-template-columns: repeat(auto-fill, minmax(0.8fr, 1.2fr)); */
		grid-template-columns: 0.8fr 0.9fr 1.2fr 1.1fr;
		gap:48px;
		color:#fff;
	}
	footer .ft_wrap h3
	{
		font-size:2.4rem;
		margin-bottom:16px;
	}
	footer .ft_wrap h4
	{
		font-size:1.8rem;
		margin-bottom:16px;
	}
	footer .ft_wrap p
	{
		font-size:1.6rem;
		margin-bottom:16px;
		color:#ffffffa2;
	}
	footer .ft_wrap ul li
	{
		margin-bottom:0px;
	}
	footer .ft_wrap ul li a
	{
		color:#ffffffcc;
		font-size:1.4rem;
	}
	footer .ft_wrap ul li a::before
	{
		content:"";
		display: inline-block;
		width: 1.2rem;
		height:1.2rem;
		background-color: rgba(255, 255, 255, 0.5);
		mask-position: center;
		mask-repeat: no-repeat;
		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: 256px; height: 256px; opacity: 1;" xml:space="preserve"><style type="text/css">.st0{fill:%234B4B4B;}</style><g><path class="st0" d="M256,0C114.614,0,0,114.613,0,256s114.614,256,256,256c141.387,0,256-114.613,256-256S397.387,0,256,0z M384.29,259.396L262.298,375.46c-11.79,11.226-30.435,10.767-41.653-1.032c-11.218-11.79-10.75-30.452,1.032-41.653l49.726-47.306H153.605c-16.282,0-29.467-13.186-29.467-29.468s13.186-29.46,29.467-29.46h117.799l-49.726-47.314c-11.782-11.193-12.25-29.863-1.032-41.644c11.218-11.798,29.863-12.267,41.653-1.032L384.29,252.605c0.928,0.887,1.452,2.113,1.452,3.395C385.742,257.282,385.218,258.508,384.29,259.396z" style="fill: rgb(75, 75, 75);"></path></g></svg>');
		margin-right: 8px;
	}
	footer .ft_wrap ul li a:hover
	{
		color:#ffffff;
	}

	footer .copyright
	{
		margin-top:48px;
		padding-top:32px;
		border-top:1px solid #ffffff33;
		text-align: center;
	}
	footer .copyright p
	{
		font-size:1.4rem;
		color:#ffffff99;
	}

	@media screen and (max-width: 768px)
	{
		footer .ft_wrap
		{
			grid-template-columns: repeat(1, minmax(0px, 1fr));
			gap:16px;
		}
	}
	@media screen and (max-width: 640px)
	{
		footer .ft_wrap h3
		{
			font-size:2rem;
		}
		footer .ft_wrap h4
		{
			font-size:1.6rem;
		}
		footer .ft_wrap p
		{
			font-size:1.4rem;
		}
	}

	.side_link
	{
		position: fixed;
		/* top: 164px; */
		top: 250px;
		right: 0px;
		display: flex;
		flex-direction: column;
		gap:8px;
		padding:16px 8px;
		z-index: 999;
		writing-mode: vertical-rl;
		font-feature-settings: initial;
		background-color: var(--cl_primary);
		border-radius: 8px 0 0 8px;
		transition: 0.2s;
	}

	.side_link a
	{
		color:#fff;
		font-weight: 600;
		font-size:1.2rem;
		letter-spacing: 0.1em;
		position: relative;
		padding-top:25px;
	}
	.side_link a::before
	{
		content: "";
		display: block;
		width: 20px;
		height: 20px;
		margin-bottom: 8px;
		background-color: #fff;
		border-radius: 50%;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, 0);
	}
	.side_link a::after
	{
		content: "";
		display: inline-block;
		width: 12px;
		height: 12px;
		margin-bottom: 8px;
		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-building2 h-4 w-4 flex-shrink-0"><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>');
		position: absolute;
		top: 4.5px;
		left: 50%;
		transform: translate(-50%, 0);
	}

	.side_link:hover
	{
		padding:16px 12px 16px 8px;
	}

	.side_link.blue { padding:10px 6px 24px; background:white; border:2px solid #7ec5ff; border-right:0; }
	.side_link.blue a { padding-top:36px; font-size:1.7rem; color:#7ec5ff; }
	.side_link.blue a::before { display:none; }
	.side_link.blue a::after { width:26px; height:26px; background-color:#7ec5ff; mask-image:url('/images/user.svg'); }
	.side_link.blue:hover { background:#7ec5ff; }
	.side_link.blue:hover a { color:white; }
	.side_link.blue:hover a::after { background-color:white; }