@charset "UTF-8";

/*html {
	scroll-behavior: auto;
}*/

:root {
	/* ===== 文字サイズ ===== */
	--font-size-base: 16px;
	--font-size-large: 18px;
	--font-size-extra-large: 22px;

/* ===== 色 ===== */
	--text-color--primary: #2b1e1d;
	--link-color--primary: #2b1e1d;
	--bg-color--primary: #f7f7f7;
	--bg-color--white: #ffffff;
}

body {
	background-color: var(--bg-color--primary);
	color: var(--text-color--primary);
	font-family: "Noto Sans JP", sans-serif;
	font-size: var(--font-size-base);
	font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";

	-webkit-text-size-adjust: 100%;
}

body a {
	color: var(--link-color--primary);
}

body.active {
	overflow: hidden;
}

/*[id] {
	scroll-margin-top: 100px;
}*/

/*@media screen and (max-width: 1200px) {
	[id] {
		scroll-margin-top: 0;
	}
}*/

body.font-large {
	font-size: var(--font-size-large);
}

body.font-extra-large {
	font-size: var(--font-size-extra-large);
}

/* ===== アクセシビリティ配色 ===== */
body.accessibility-blue {
	--text-color--primary: white;
	--bg-color--primary: #0027ff;
}

body.accessibility-yellow {
	--text-color--primary: black;
	--bg-color--primary: #fff500;
}

body.accessibility-blue a {
	--link-color--primary: yellow;
}

body.accessibility-yellow a {
	--link-color--primary: #0027ff;
}


* {
	margin: 0;
	padding: 0;
	text-decoration: none;
}

figure {
	margin: 0;
}

* , *::before , *::after {
	box-sizing: border-box;
}

a[href^=tel] {
	color: inherit;
}

ul , ol {
	list-style: none;
}

img , video , iframe {
	display: block;
}

.clearfix:after {
	display: block;
	clear: both;
	text-decoration: none;
	content: "";
}

::placeholder {
	font-weight: 500;
}

input:not(input[type="checkbox"]) , textarea , select {
	display: block;
	width: 100%;
	padding: 0.5em;
	border-style: solid;
	border-color: #e6e6e6;
	border-radius: 0;
	font-size: 1em;
	outline: none;

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input[type="radio"] {
	display: inline-block !important;

/* radioは標準でinline-block */
	width: auto !important;

	all: initial;

/* すべて初期値に戻す */
	appearance: auto !important;

	/* UAのデフォルトUIに戻す */
}

input:focus , textarea:focus , select:focus {
	border-width: 2px;
	border-color: #313131;
	border-radius: 5px;
}

select {
	background-repeat: no-repeat;
	background-position: right 10px center;
}

select::-ms-expand {
	display: none;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"] , input[type="reset"] , input[type="button"] {
	box-sizing: border-box;
	cursor: pointer;

	-webkit-appearance: button;
	appearance: button;
}

input[type="submit"]::-webkit-search-decoration , input[type="reset"]::-webkit-search-decoration , input[type="button"]::-webkit-search-decoration {
	display: none;
}

input[type="submit"]::focus , input[type="reset"]::focus , input[type="button"]::focus {
	outline-offset: -2px;
}

/** 外部テキストリンクの共通スタイル **/
.external_link {
	color: #0097eb;
	font-size: 1em;
	line-height: clamp(1.563rem, 1.226rem + 0.7vw, 1.688rem);
	text-decoration: underline;
}

/* ─────────────────────────────────
   <br> 制御ユーティリティ
   .br-{N} = 画面幅 N px 以下で display:none
   ───────────────────────────────── */

@media (max-width: 1300px) {
	.br-1300 {
		display: none;
	}
}
@media (max-width: 1200px) {
	.br-1200 {
		display: none;
	}
}
@media (max-width: 1024px) {
	.br-1024 {
		display: none;
	}
}
@media (max-width:  960px) {
	.br-960 {
		display: none;
	}
}
@media (max-width:  900px) {
	.br-900 {
		display: none;
	}
}
@media (max-width:  768px) {
	.br-768 {
		display: none;
	}
}
@media (max-width:  767px) {
	.br-767 {
		display: none;
	}
}
@media (max-width:  600px) {
	.br-600 {
		display: none;
	}
}
@media (max-width:  480px) {
	.br-480 {
		display: none;
	}
}

.container {
	position: relative;
	overflow: hidden;
}

.loader_container {
	visibility: visible;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	opacity: 1;
	transition: all 0.5s ease;
}

#loading.loader_container.is_active {
	visibility: hidden;

/* display: none; */
	opacity: 0;
	transition: all 0.5s ease;
}

.sk-cube-grid {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80px;
	height: 80px;
}

.sk-cube-grid .sk-cube {
	float: left;
	width: 33%;
	height: 33%;
	background-color: #006252;
	animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
	-webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
}

.sk-cube-grid .sk-cube1 {
	animation-delay: 0.2s;
	-webkit-animation-delay: 0.2s;
}

.sk-cube-grid .sk-cube2 {
	animation-delay: 0.3s;
	-webkit-animation-delay: 0.3s;
}

.sk-cube-grid .sk-cube3 {
	animation-delay: 0.4s;
	-webkit-animation-delay: 0.4s;
}

.sk-cube-grid .sk-cube4 {
	animation-delay: 0.1s;
	-webkit-animation-delay: 0.1s;
}

.sk-cube-grid .sk-cube5 {
	animation-delay: 0.2s;
	-webkit-animation-delay: 0.2s;
}

.sk-cube-grid .sk-cube6 {
	animation-delay: 0.3s;
	-webkit-animation-delay: 0.3s;
}

.sk-cube-grid .sk-cube7 {
	animation-delay: 0s;
	-webkit-animation-delay: 0s;
}

.sk-cube-grid .sk-cube8 {
	animation-delay: 0.1s;
	-webkit-animation-delay: 0.1s;
}

.sk-cube-grid .sk-cube9 {
	animation-delay: 0.2s;
	-webkit-animation-delay: 0.2s;
}

@-webkit-keyframes sk-cubeGridScaleDelay {
	0% , 70% , 100% {
		transform: scale3D(1, 1, 1);
		-webkit-transform: scale3D(1, 1, 1);
	}

	35% {
		transform: scale3D(0, 0, 1);
		-webkit-transform: scale3D(0, 0, 1);
	}
}

@keyframes sk-cubeGridScaleDelay {
	0% , 70% , 100% {
		transform: scale3D(1, 1, 1);
		-webkit-transform: scale3D(1, 1, 1);
	}

	35% {
		transform: scale3D(0, 0, 1);
		-webkit-transform: scale3D(0, 0, 1);
	}
}

.header-container {
	position: fixed;
}

/* header-container全体のpointer-eventsをオフ */
.header-container {
	pointer-events: none;
}

/* クリックが必要な要素だけ個別にautoへ */
.header_logo-container , .header-nav_container , .mega.is-open , .global-drawer.is-open , #accessibility-control , .header-menu_wrap {
	pointer-events: auto;
}


.header-content_container {
	display: flex;
	width: 100%;
}

.header_logo-container {
	display: flex;
	position: relative;
	z-index: 9999;
	overflow: hidden;
	min-width: 85px;
	width: clamp(5.313rem, -0.313rem + 11.72vw, 13.75rem);
	border-bottom-right-radius: clamp(2.5rem, 1.875rem + 1.3vw, 3.438rem);
	background-color: #ffffff;
	justify-content: center;
	align-items: center;
}

.header-logo {
	max-width: 155px;
	width: clamp(3.75rem, -0.208rem + 8.25vw, 9.688rem);
}

.header-logo img {
	width: 100%;
	height: auto;
}



@media screen and (min-width: 768px) {
	.header_logo-container {
		max-width: 220px;
		padding-top: clamp(0rem, -0.833rem + 1.74vw, 1.25rem);

		aspect-ratio: 1/1;
	}
}

@media screen and (max-width: 767px) {
	.header_logo-container {
		padding-right: 5px;

		aspect-ratio: 17/16;
	}
}





.header-nav_container {
	display: flex;
	width: 100%;
	height: 80px;
	background-color: #ffffff;
	justify-content: flex-end;
	align-items: center;
	pointer-events: auto;
}

.header-nav {
	display: flex;
	align-items: center;
}


.header_parent-list {
	display: flex;
	align-items: center;
}



.header_other-list {
	display: flex;
	max-width: 310px;
	min-width: 250px;
	width: clamp(15.625rem, 12.739rem + 5.53vw, 19.375rem);
	align-items: center;
}

.header_other-item {
	max-width: 155px;
	width: 50%;
}

.header_other-item a {
	display: flex;
	width: 100%;
	height: 80px;
	color: #ffffff;
	line-height: 25px;
	text-align: center;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.header_other-item a span {
	display: flex;
	font-weight: 900;
	font-size: clamp(0.875rem, 0.75rem + 0.26vw, 1.063rem);
	column-gap: 5px;
	align-items: center;
	transition: all 0.3s;
}

.header_other-item a i {
	font-size: clamp(1rem, 0.833rem + 0.35vw, 1.25rem);
}




.header-nav_item {
	position: relative;
	padding: 0 30px;
}

.header-nav_item::after {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	height: 50px;
	border-right: 2px solid #006252;
	content: "";
}

.header-nav_item:last-child::after {
	content: none;
}

.header-nav_link {
	display: flex;
	color: #006252;
	font-weight: 900;
	font-size: clamp(0.938rem, 0.793rem + 0.28vw, 1.125rem);
	white-space: nowrap;
	column-gap: 5px;
	align-items: center;
}

.header-nav_link span {
	display: inline-flex;
	letter-spacing: 0.05em;
	column-gap: calc(clamp(0.313rem, 0.072rem + 0.46vw, 0.625rem) - 0.05em);
	align-items: center;
}

.header-nav_link span i {
	font-size: clamp(1rem, 0.808rem + 0.37vw, 1.25rem);
}

.arrow-bottom {
	margin-top: 3px;
	font-size: 8px;
}

.nav-logo {
	margin-right: 9px;
}

.nav-logo.about-logo {
	width: 13px;
}

.nav-logo.business-logo {
	width: 22px;
}

.nav-logo.service-logo {
	width: 27px;
}

.nav-logo.facility-logo {
	width: 30px;
}

.nav-logo.recruitment-logo {
	width: 17px;
}


.header-button.green-bg {
	border: 3px solid #00846f;
	background-color: #00846f;
}

.header-button.blue-bg {
	border: 3px solid #0082e2;
	background-color: #0082e2;
}

.header-button:hover {
	background-color: #ffffff;
}

.header-button.green-bg:hover {
	color: #006252;
}

.header-button.blue-bg:hover {
	color: #0082e2;
}

.header-button:hover .icon-icon_arrow_blue .path1:before {
	color: rgb(0, 130, 226);
}

.header-button:hover .icon-icon_arrow_blue .path2:before {
	color: rgb(255, 255, 255);
}

.header-button:hover .icon-icon_arrow_green .path1:before {
	color: rgb(0, 132, 111);
}

.header-button:hover .icon-icon_arrow_green .path2:before {
	color: rgb(255, 255, 255);
}

.arrow-flex {
	display: flex;
	column-gap: 6px;
	justify-content: center;
	align-items: center;
}

.icon-icon_arrow_blue {
	font-size: 20px;
}

.icon-icon_arrow_green {
	font-size: 20px;
}

.arrow-right-bg {
	width: 20px;
	height: 20px;
}

.header-menu_wrap {
	position: relative;
	z-index: 9999;
	width: clamp(5rem, 3.076rem + 3.69vw, 7.5rem);
}

div#accessibility-control {
	display: flex;
	position: absolute;
	top: 95px;
	right: 0;
	text-shadow: -1px -1px 0 #ffffff, 1px -1px 0 #ffffff, -1px 1px 0 #ffffff, 1px 1px 0 #ffffff;
	align-items: center;
	pointer-events: auto;
}

div#accessibility-control {
	font-size: clamp(10px, 0.78vw, 15px);
}

ul.control-list > li:last-child {
	margin-bottom: 0;
}

ul.control-list {
	font-weight: var(--xdBlack);
}

ul.control-list > li {
	display: flex;
	margin-bottom: 13px;
	align-items: center;
}

.bg-white {
	background-color: white;
}

.bg-blue {
	background-color: blue;
}

.bg-yellow {
	background-color: yellow;
}

.color-black {
	color: black;
}

.color-white {
	color: white;
}

ul.control-switch-list {
	display: flex;
}

ul.control-list li > span {
	width: 5.5em;
	margin-right: 5px;
}

ul.control-switch-list li {
	display: inline-block;
	/*width: clamp(38.67px, 3.02vw, 58px);
	height: clamp(18.56px, 1.45vw, 28px);
	margin: 0 4px;
	border: solid 1px #707070;
	border-radius: 19px;
	line-height: 1.86;
	text-align: center;*/
}

.control-switch-list button {
	display: inline-flex;
	width: clamp(38.67px, 3.02vw, 58px);
	height: clamp(18.56px, 1.45vw, 28px);
	margin: 0 4px;
	border: solid 1px #707070;
	border-radius: 19px;
	text-align: center;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

@media screen and (max-width: 1350px) {
	div#accessibility-control {
		top: 95px;
	}
}

@media screen and (max-width: 1200px) {
	div#accessibility-control {
		display: none;
	}
}

/* ===== メガメニュー（PC用：クリックで下に展開）===== */
.header-container {
	right: 0;
	left: 0;
	z-index: 100;
}

/* いま header-nav_container が高さ80pxなので、それの“下”に出す */
.mega {
	visibility: hidden;
	position: absolute;
	top: 80px;
	left: 0;
	overflow: hidden;
	width: 100%;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	background: #f7f7f7;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s ease, visibility 0.35s ease;
}

.mega.is-open {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.mega-inner {
	position: relative;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
	padding: 60px 40px 72px;
}

@media (min-width: 1360px) and (max-width: 1680px) {
	.mega-inner {
		padding-top: clamp(4.375rem, -5.719rem + 11.88vw, 6.75rem);
	}
}

@media (min-width: 1680px) and (max-width: 1960px) {
	.mega-inner {
		padding-left: clamp(8.5rem, -22.8571vw + 32.5rem, 4.5rem);
	}
}

/* パネルは通常非表示 */
.mega-panel {
	display: none;
	width: 100%;
}

/* 開いているパネルだけ表示 */
.mega-panel.is-active {
	display: block;
}

.mega-top-link {
	max-width: 1200px;
	width: fit-content;
	margin-bottom: 36px;
}

.mega-link_wrap {
	display: flex;
	position: relative;
	column-gap: 10px;
	align-items: center;
	pointer-events: auto;
}


.mega-logo.mega-about-logo {
	max-width: 18px;
	height: 100%;
}

.mega-logo.mega-business-logo {
	max-width: 26px;
	height: 100%;
}

.mega-logo.mega-service-logo {
	max-width: 27px;
	height: 100%;
}

.mega-logo.mega-facility-logo {
	max-width: 30px;
	height: 100%;
}

.mega-logo.mega-recruitment-logo {
	max-width: 16px;
	height: 100%;
}

.mega-link-text {
	display: inline-flex;
	position: relative;
	color: #006252;
	font-weight: 700;
	font-size: 1.375em;
	column-gap: 10px;
	align-items: center;
}

.mega-link-text::after {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	transform: scaleX(0.55);
	transform-origin: left bottom;
	width: 100%;
	border-bottom: 3px solid #006252;
	content: "";
	pointer-events: none;
	transition: all 0.3s;
}

.mega-link-text i {
	font-size: 25px;
}

.mega-button_wrap {
	display: flex;
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	background-color: #ffffff;
	color: #006252;
	font-size: 39px;
	justify-content: center;
	align-items: center;
	transition: all 0.3s ease;
}

.mega-button_wrap::after {
	display: flex;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 2px solid #006252;
	border-radius: 20px;
	justify-content: center;
	align-items: center;
	content: "";
	transition: all 0.3s ease;
}

.mega-link_wrap:hover .mega-link-text::after {
	transform: scaleX(1);
}

.mega-link_wrap:hover .mega-button_wrap {
	background-color: #006252;
	color: #ffffff;
}

.mega-button_wrap:hover .icon-icon_arrow {
	color: #006252;
}

.mega-button-img {
	max-width: 70px;
	margin-left: 10px;
	transition: opacity 0.2s ease;
}

.mega-button-img:hover {
	content: url(./images/mega-button_hover.png);
}

/* 中身の高さに合わせる */
.mega-grid {
	display: grid;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
	column-gap: 80px;
	grid-template-columns: repeat(3, minmax(0, 1fr));

	row-gap: 26px;
}

.mega-grid a {
	display: flex;
	width: 100%;
	padding: 7px 5px 7px 0;
	border-bottom: solid 1px #948e8d;
	color: #006252;
	font-weight: 500;
	justify-content: space-between;
	align-items: center;
	transition: all 0.3s;
}

.mega-grid a i {
	font-size: 20px;
}

.mega-grid a:hover {
	padding-right: 0;
}

.header-nav_link.is-open {
	opacity: 0.9;
}

.header-nav_link.is-open .arrow-bottom::before {
	transform: rotate(180deg);
}

.arrow-bottom {
	transition: transform 0.2s ease;
}

.arrow-bottom::before {
	transition: transform 0.2s ease;
}

/* 1200px未満は、あなたはナビを消してるのでメガも消す */
@media screen and (max-width: 1200px) {
	.mega {
		display: none;
	}
}

@media screen and (max-width: 1690px) {
	.header-nav_item {
		padding: 0 14px;
	}


	.header-button {
		width: 130px;
	}

	.header-menu_wrap {
		width: clamp(5rem, 3.076rem + 3.69vw, 7.5rem);
	}
}

@media screen and (max-width: 1360px) {
	.header-menu_wrap {
		width: auto;
	}

	.menu-toggle {
		width: 60px !important;
		background-color: #ffffff !important;
	}

	.header-button {
		width: 120px;
		height: 100%;
		font-size: 14px;
		line-height: 1.6;
		align-items: center;
	}

	.nav-logo {
		margin-right: 2px;
	}
}

@media screen and (max-width: 1360px) {
	.header-nav_container {
		background-color: transparent;
		pointer-events: none;
		/* 透明なため、クリックを素通りさせる */
	}

	.header-nav {
		display: none;
	}

	.header-button_container {
		display: none;
	}

	.header-menu_wrap {
		position: absolute;
		top: 50%;
		right: 15px;
		transform: translateY(-50%);
	}

	.menu-toggle {
		width: 60px !important;
		height: 60px !important;
	}
}

@media screen and (max-width: 767px) {
	.header-menu_wrap {
		right: 10px;
	}

	.menu-toggle__label {
		display: none;
	}

	.menu-toggle {
		width: 54px !important;
		height: 46px !important;
	}

	.menu-toggle__icon {
		width: 36px !important;
	}
}

.menu-toggle {
	display: flex;
	width: 120px;

/* 既存の header-menu_wrap に合わせるなら調整 */
	height: 46px;
	border: 0;
	background: #ffffff;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	cursor: pointer;

	gap: 6px;
}

.menu-toggle__label {
	color: #006252;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.06em;
}

.menu-toggle__icon {
	position: relative;
	width: 44px;
	height: 24px;
}

.menu-toggle__bar {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	border-radius: 999px;
	background: #006252;
	transition: transform 0.2s ease, top 0.2s ease, opacity 0.15s ease;
}

/* 三本線の位置 */
.menu-toggle__bar:nth-child(1) {
	top: 0;
}

.menu-toggle__bar:nth-child(2) {
	top: 10px;
}

.menu-toggle__bar:nth-child(3) {
	top: 20px;
}

/* クリック後（= open）で × にする */
.menu-toggle.is-open .menu-toggle__bar:nth-child(1) {
	top: 10px;
	transform: rotate(45deg);
}

.menu-toggle.is-open .menu-toggle__bar:nth-child(2) {
	opacity: 0;
}

.menu-toggle.is-open .menu-toggle__bar:nth-child(3) {
	top: 10px;
	transform: rotate(-45deg);
}

/* ===== MENUボタン（三本線↔×）===== */
.menu-toggle {
	display: flex;
	width: 100%;
	height: 80px;

/* ヘッダーと揃えるなら80 */
	border: 0;
	background: transparent;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	cursor: pointer;

	gap: 6px;
}

.menu-toggle__label {
	color: #006252;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.06em;
}

.menu-toggle__icon {
	position: relative;
	width: 44px;
	height: 24px;
}

.menu-toggle__bar {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	border-radius: 999px;
	background: #006252;
	transition: transform 0.2s ease, top 0.2s ease, opacity 0.15s ease;
}

.menu-toggle__bar:nth-child(1) {
	top: 0;
}

.menu-toggle__bar:nth-child(2) {
	top: 10px;
}

.menu-toggle__bar:nth-child(3) {
	top: 20px;
}

.menu-toggle.is-open .menu-toggle__bar:nth-child(1) {
	top: 10px;
	transform: rotate(45deg);
}

.menu-toggle.is-open .menu-toggle__bar:nth-child(2) {
	opacity: 0;
}

.menu-toggle.is-open .menu-toggle__bar:nth-child(3) {
	top: 10px;
	transform: rotate(-45deg);
}

.global-drawer {
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 200;
	overflow: scroll;
	transform: translateY(-20px);
	width: 100%;
	height: 100vh;
	background-color: #f5f5f5;

/* 閉じている状態 */
	opacity: 0;
	transition: opacity 0.35s ease,
	transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
	visibility 0s linear 0.35s;
}

@media screen and (max-width: 767px) {
	.global-drawer {
		padding-bottom: 100px;
	}
}

/* 開いた状態 */
.global-drawer.is-open {
	visibility: visible;
	transform: translateY(0);
	opacity: 1;
	transition: opacity 0.35s ease,
	transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.global-drawer__inner {
	position: relative;
	max-width: 1430px;
	width: 90%;
	margin: auto;
	padding-top: 190px;
	padding-bottom: 100px;
}

.global-drawer__main {
	position: relative;
	max-width: 1200px;
	padding-left: 30px;
}

.drawer-border {
	max-width: 100%;
	width: 1432px;
	margin: 45px auto;
	border-bottom: 2px solid #006252;
	content: "";
}

.drawer-menu {
	display: flex;
	column-gap: 100px;
	flex-wrap: wrap;

	row-gap: 60px;
}

.drawer-list {
	display: flex;
	column-gap: 34px;
	flex-direction: column;

	row-gap: 20px;
}

.drawer-list.columns {
	max-height: 210px;
	flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
	.drawer-list.drawer-list-pc {
		display: grid;
		grid-template-rows: repeat(4, auto);
		grid-auto-flow: column;
	}

	#drawer-business .drawer-list.drawer-list-pc {
		grid-template-rows: repeat(6, auto);
	}
}

.drawer-list a {
	color: #006252;
}

.drawer-top-link {
	display: flex;
	margin-bottom: 16px;
	justify-content: space-between;
	align-items: center;
}

.drawer-top-link .icon-accordion {
	display: none;
	width: 27px;
	height: 27px;
	padding-top: 4px;
	line-height: 1;
}

.drawer-link_wrap {
	display: inline-block;
	position: relative;
	width: fit-content;
	column-gap: 7px;
	pointer-events: auto;
}

.drawer-arrow-bottom {
	display: none;
	color: #006252;
}

.drawer-logo.drawer-about-logo {
	max-width: 18px;
	height: 100%;
}

.drawer-logo.drawer-business-logo {
	max-width: 26px;
	height: 100%;
}

.drawer-logo.drawer-service-logo {
	max-width: 27px;
	height: 100%;
}

.drawer-logo.drawer-facility-logo {
	max-width: 30px;
	height: 100%;
}

.drawer-logo.drawer-recruitment-logo {
	max-width: 16px;
	height: 100%;
}

.drawer-link-text {
	display: inline-flex;
	width: fit-content;
	color: #006252;
	font-weight: 700;
	font-size: 1.375em;
	column-gap: 5px;
	align-items: center;
}

.drawer-list a {
	display: flex;
	column-gap: 15px;
	align-items: center;
	pointer-events: auto;
	transition: all 0.2s ease;
}

.drawer-list a:hover {
	color: #ffa500;
}

.drawer-list a .icon-icon_arrow {
	position: relative;
	left: 0;
	transition: left 0.2s ease;
}

.drawer-list a:hover .icon-icon_arrow {
	left: 10px;
}

.drawer-right-arrow {
	width: 20px;
	height: 100%;
}

.icon-icon_arrow {
	font-size: 13px;
}

.drawer-right-bottom {
	margin-left: 80px;
}

.drawer-black-list {
	display: flex;
	flex-direction: column;

	row-gap: 20px;
}

.drawer-black-list a {
	color: initial;
	pointer-events: auto;
	transition: all 0.2s ease;
}

.drawer-black-list a:before {
	margin-right: 16px;
	content: "―";
}

.drawer-black-list a:hover {
	color: #006252;
}

.drawer-black-list a span {
	border-bottom: 2px solid transparent;
	transition: border-bottom 0.2s ease;
}

.drawer-black-list a span:hover {
	border-bottom: 2px solid #006252;
}

.drawer-cta {
	display: flex;
	flex-direction: column;

	row-gap: 16px;
}

.drawer-cta__btn {
	padding: 30px 50px;
	color: #ffffff;
	font-weight: 700;
}

.drawer-cta__btn.green {
	background-color: #00846f;
}

.drawer-cta__btn.blue {
	background-color: #0082e2;
}

.drawer-bottom-wrap {
	display: flex;
	max-width: 510px;
	margin-top: 51px;
	column-gap: 45px;
	flex-wrap: wrap;

	row-gap: 33px;
}

.drawer-bottom {
	display: flex;
	padding-left: 30px;
	column-gap: 76px;
	align-items: center;
}

.drawer-logo-img {
	max-width: 130px;
}

.drawer-info-name {
	margin: 10px 0 10px;
	font-weight: 600;
}

.drawer-bottom-button_wrap {
	display: flex;
	column-gap: 44px;
}

.drawer-bottom-button {
	display: flex;
	width: 276px;
	height: 74px;
	border-radius: 41px;
	color: #ffffff;
	font-weight: 900;
	column-gap: 3px;
	justify-content: center;
	align-items: center;
	pointer-events: auto;
	transition: all 0.2s ease;
}

.drawer-bottom-button.green-btn {
	border: 3px solid #00846f;
	background-color: #00846f;
}

.drawer-bottom-button.green-btn:hover {
	background-color: #ffffff;
	color: #006252;
}

.drawer-bottom-button.blue-btn {
	border: 3px solid #0082e2;
	background-color: #0082e2;
}

.drawer-bottom-button.blue-btn:hover {
	background-color: #ffffff;
	color: #0082e2;
}

.drawer-bottom-button:hover .icon-icon_arrow_blue .path1:before {
	color: rgb(0, 130, 226);
}

.drawer-bottom-button:hover .icon-icon_arrow_blue .path2:before {
	color: rgb(255, 255, 255);
}

.drawer-bottom-button:hover .icon-icon_arrow_green .path1:before {
	color: rgb(0, 132, 111);
}

.drawer-bottom-button:hover .icon-icon_arrow_green .path2:before {
	color: rgb(255, 255, 255);
}

.drawer-list-mb {
	display: none;
}


@media screen and (max-width: 1325px) {
	.drawer-right-bottom {
		margin-left: 0;
	}

	.drawer-bottom {
		column-gap: 24px;
	}

	.drawer-bottom-button_wrap {
		column-gap: 12px;
	}
}

@media screen and (max-width: 1000px) {
	.drawer-bottom {
		flex-direction: column;
		align-items: flex-start;

		row-gap: 36px;
	}
}

@media screen and (min-width: 768px) {
	.drawer-button-wrap-mb {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.global-drawer__inner {
		width: 100%;
		padding-top: 125px;
		padding-bottom: 24px;
	}

	.global-drawer__main {
		padding-left: 0;
	}

	.drawer-top-link .icon-accordion {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.header-container.active .header-content_container::after {
		display: flex;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 9998;
		width: 100%;
		height: 100%;
		background-color: #ffffff;
		content: "";
		transition: all 0.3s;
	}

	.drawer-menu {
		flex-direction: column;

		row-gap: 0;
	}

	.drawer-block {
		padding: 16px 20px;
	}

	.drawer-top-link {
		margin-bottom: 0;
	}

	.drawer-link_wrap {
		position: relative;
		pointer-events: auto;
	}

	.drawer-arrow-bottom {
		display: block;
		width: 20px;
		font-size: 10px;
		transition: all 0.3s ease;
	}

	.drawer-arrow-bottom::before {
		transition: all 0.3s ease;
	}

	.drawer-link_wrap.open + .drawer-arrow-bottom::before {
		transform: rotate(180deg);
		transition: all 0.3s ease;
	}

	.drawer-link-text {
		font-size: 19px;
	}

	.drawer-block:nth-child(even) {
		background-color: #ffffff;
	}

	.drawer-border {
		display: none;
	}

	.drawer-bottom {
		display: none;
	}

	.drawer-list.drawer-list-pc {
		display: none;
	}

	.drawer-list.drawer-list-mb {
		display: flex;
		overflow: hidden;
		transform: translateY(-12px);
		max-height: 0;
		opacity: 0;
		transition: max-height 0.45s cubic-bezier(0.22, 1, 0.36, 1),
		opacity 0.3s ease,
		transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
	}

	.drawer-list.columns {
		max-height: 0;
	}

	.drawer-list.open {
		transform: translateY(0);
		max-height: 1000px;
		padding-top: 14px;

/* 中身より十分大きければOK */
		opacity: 1;
	}

	.drawer-menu-flex {
		display: flex;
		column-gap: 32px;
		flex-direction: column;
		flex-wrap: wrap;

		row-gap: 20px;
	}

	#drawer-about .drawer-menu-flex {
		max-height: 150px;
	}

	#drawer-business .drawer-menu-flex {
		max-height: 65px;
	}

	#drawer-facility .drawer-menu-flex {
		max-height: 70px;
	}

	#drawer-recruitment .drawer-menu-flex {
		max-height: 150px;
	}

	.drawer-list a {
		font-size: 14px;
	}

	.drawer-bottom-button_wrap {
		margin-top: 38px;
		justify-content: center;
	}

	.drawer-bottom-button {
		width: 166px;
		height: 40px;
		font-size: 11px;
	}

	.drawer-right-bottom {
		margin-top: 21px;
		padding-left: 20px;
	}

	.drawer-black-list {
		row-gap: 12px;
	}
}

.footer-content_container {
	display: flex;
	max-width: 1200px;
	width: 90%;
	margin: auto;
	padding-top: 94px;
	padding-bottom: 59px;
	justify-content: space-between;
}

.footer-icon {
	max-width: 142px;
}

.footer-info_container {
	margin-top: 26px;
}

.footer-info-text {
	font-weight: 400;
}

.footer-info-text:nth-child(1) {
	margin-bottom: 12px;
	font-weight: 600;
	font-size: 1.5em;
}

.footer-link-list_container {
	display: flex;
	height: 220px;
	margin-top: 20px;
	column-gap: 76px;
	flex-direction: column;
	flex-wrap: wrap;

	row-gap: 23px;
}

.footer-link-item {
	display: flex;
	column-gap: 12px;
	align-items: center;
	transition: all 0.2s ease;
}

.footer-link-text {
	border-bottom: transparent solid 2px;
	transition: all 0.2s ease;
}

.footer-link-item:hover .footer-link-text {
	border-bottom: #006252 solid 2px;
	color: #006252;
	transition: all 0.2s ease;
}

.icon-icon_footer {
	font-size: 26px;
}

.footer-link-item:hover .icon-icon_footer {
	font-size: 24px;
}

.icon-icon_footer .path1:before {
	transition: color 0.2s ease;
}

.icon-icon_footer .path2:before {
	transition: color 0.2s ease;
}

.footer-link-item:hover .icon-icon_footer .path1:before {
	color: rgb(255, 255, 255);
}

.footer-link-item:hover .icon-icon_footer .path2:before {
	border: 1px solid #006252;
	border-radius: 50%;
	color: rgb(0, 98, 82);
}

.footer-link-text {
	color: initial;
	font-size: 17px;
}

.footer-link-item.footer-link-design {
	padding: 5px 30px;
	border-radius: 19px;
	color: #ffffff;
	transition: all 0.2s ease;
}

.footer-link-item.footer-link-design.green-design {
	border: 3px solid #00846f;
	background-color: #00846f;
}

.footer-link-item.footer-link-design.green-design:hover {
	background-color: #ffffff;
	color: #00846f;
}

.footer-link-item.footer-link-design.blue-design {
	border: 3px solid #0082e2;
	background-color: #0082e2;
}

.footer-link-item.footer-link-design.blue-design:hover {
	background-color: #ffffff;
	color: #0082e2;
}

.footer-link-item.footer-link-design:hover .icon-icon_arrow_blue .path1:before {
	color: rgb(0, 130, 226);
}

.footer-link-item.footer-link-design:hover .icon-icon_arrow_blue .path2:before {
	color: rgb(255, 255, 255);
}

.footer-link-item.footer-link-design:hover .icon-icon_arrow_green .path1:before {
	color: rgb(0, 132, 111);
}

.footer-link-item.footer-link-design:hover .icon-icon_arrow_green .path2:before {
	color: rgb(255, 255, 255);
}

.footer-link-right-content:not(:first-of-type) {
	margin-top: 20px;
}

.footer-link-light-item {
	display: flex;
	position: relative;
	border: 2px solid transparent;
	color: initial;
	transition: all 0.2s ease;
}

.footer-link-light-item span {
	border-bottom: transparent solid 2px;
	transition: all 0.2s ease;
}

.footer-right-contents_container .footer-link-light-item::before , .footer-mobile-bottom .footer-link-light-item::before {
	margin-right: 16px;
	content: "―";
}

.footer-link-light-item:hover span:not(.icon-icon_footer) {
	border-bottom: 2px solid #006252;
	color: #006252;
}

.footer-link-light-item:hover::before {
	color: #006252;
}


.footer-mobile-contents {
	display: none;
}

.footer-right-contents_container.dis_1000 {
	display: none;
}

.footer-link-light-item.pdf-link-black {
	display: flex;
	position: relative;
	align-items: center;
}

.footer-link-light-item.pdf-link-black::after {
	width: 17px;
	height: 17px;
	margin-left: 4px;
	background-image: url(./images/pdf-link_black.png);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
}

@media screen and (max-width: 1200px) {
	/* .br-1200 {
		display: inline;
	} */

	.footer-link-list_container {
		column-gap: 26px;
	}
}

@media screen and (max-width: 1000px) {
	.footer-content_container {
		flex-direction: column;

		row-gap: 40px;
	}

	.footer-center-contents_container {
		display: flex;
		column-gap: 36px;
	}

	.footer-right-contents_container {
		display: none;
	}

	.footer-right-contents_container.dis_1000 {
		display: flex;
		margin-top: 40px;
		margin-top: 0;
		flex-direction: column;

		row-gap: 20px;
	}
}

@media screen and (max-width: 767px) {
	.footer-mobile-contents {
		display: block;
	}

	.footer-content_container {
		padding-top: 40px;
		padding-bottom: 26px;

		row-gap: 0;
	}

	.footer-left-contents_container {
		order: 2;
	}

	.footer-center-contents_container {
		display: none;
	}

	.footer-right-contents_container.dis_1000 {
		display: none;
	}

	.footer-mobile-contents {
		display: flex;
		column-gap: 56px;
		flex-direction: column;

		row-gap: 19px;
	}

	.footer-mobile-middle {
		display: flex;
		column-gap: 11px;
	}

	.footer-mobile-list {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;

		row-gap: 13px;
	}

	.footer-mobile-list.max-height-100 {
		max-height: 130px;
	}

	.footer-mobile-right .footer-mobile-list {
		row-gap: 14px;
	}

	.footer-link-item.footer-link-design {
		display: flex;
		padding: 12px 26px;
		font-weight: 900;
		font-size: 11px;
		text-align: center;
		justify-content: center;
		align-items: center;
	}

	.footer-mobile-left-content a {
		display: flex;
		column-gap: 8px;
	}

	.footer-link-icon {
		width: 20px;
		height: auto;
	}

	.footer-mobile-left-content a {
		font-size: 13px;
	}

	.footer-info_container {
		margin-top: 14px;
	}

	.footer-info-text:nth-child(1) {
		margin-bottom: 8px;
		font-weight: 600;
		font-size: 18px;
	}

	.footer-info-text {
		font-size: 14px;
	}

	.footer-icon {
		display: none;
	}

	.br-1200 {
		display: none;
	}

	.footer-bottom-text {
		font-size: 12px;
	}

	.footer-link-light-item.pdf-link-black::after {
		width: 14px;
		height: 14px;
	}

	.footer-link-light-item:hover .icon-icon_footer .path1:before {
		color: rgb(255, 255, 255);
	}

	.footer-link-light-item:hover .icon-icon_footer .path2:before {
		border: 1px solid #006252;
		border-radius: 50%;
		color: rgb(0, 98, 82);
	}
}

@media screen and (max-width: 550px) {
	.footer-link-item.footer-link-design {
		padding: 10px 18px;
		border-radius: 26px;
	}
}

/*******************************************************************************
	フッター改良版
*******************************************************************************/
.footer-container {
	background-color: #ffffff;
}

.footer_inner {
	display: block;
	max-width: 1260px;
	margin: 0 auto;
}

.footer_contents {
	display: flex;
	max-width: 1230px;
	width: 100%;
	margin-bottom: 70px;
	margin-left: auto;
	column-gap: 20px;
	justify-content: space-between;

	row-gap: 15px;
}

.footer_site-status {
	display: flex;
	flex-direction: column;

	row-gap: 10px;
}

.footer_site-title {
	display: flex;
	flex-direction: column;

	row-gap: 10px;
}

.footer_site-logo {
	max-width: 130px;
	width: 100%;
}

.footer_site-logo img {
	width: 100%;
	height: auto;
}

.footer_site-name {
	font-weight: 600;
	font-size: clamp(1.125rem, 0.943rem + 0.38vw, 1.25rem);
	text-align: justify;
}

.footer_site-name a {
	color: #000000;
}

.footer_site-address {
	font-style: normal;
	font-size: 14px;
	line-height: 22px;
}


.footer_menu-nav {
	display: flex;
	column-gap: clamp(1.25rem, -11.462rem + 20.34vw, 5rem);
	justify-content: space-between;

	row-gap: 20px;
}

.footer_menu-left {
	display: grid;
	height: fit-content;
	column-gap: clamp(1.25rem, -13.581rem + 23.73vw, 5.625rem);

	row-gap: 20px;
}

@media screen and (max-width: 960px) {
	.footer_contents {
		flex-direction: column-reverse;
	}

	.footer_menu-nav {
		max-width: 705px;
		column-gap: 10px;
	}

	.footer_menu-left {
		column-gap: clamp(0.625rem, -19.72rem + 55.17vw, 5.625rem);
	}
}

.footer_menu-item {
	display: flex;
	height: fit-content;
	align-items: center;
}

.footer_menu-left .footer_menu-item:not(.footer_menu-large) a {
	display: flex;
	color: #000000;
	column-gap: 10px;
	align-items: center;
}

.footer_menu-left .footer_menu-item:not(.footer_menu-large) i {
	display: flex;
	position: relative;
	border-radius: 100%;
	background-color: #006252;
	color: #ffffff;
	font-style: normal;
	font-size: clamp(1.25rem, 0.612rem + 1.33vw, 1.688rem);
	justify-content: center;
	align-items: center;
	transition: all 0.3s;

	aspect-ratio: 1/1;
}

.footer_menu-left .footer_menu-item:not(.footer_menu-large) a:hover i {
	background-color: #ffffff;
	color: #006252;
}

.footer_menu-left .footer_menu-item:not(.footer_menu-large) i::after {
	display: flex;
	position: absolute;
	width: 100%;
	border: 1px solid #006252;
	border-radius: 100%;
	font-style: normal;
	justify-content: center;
	align-items: center;
	content: "";

	aspect-ratio: 1/1;
}

.footer_menu-left span {
	position: relative;
	font-weight: 400;
	font-size: clamp(0.875rem, 0.602rem + 0.57vw, 1.063rem);
	transition: all 0.3s;
}

.footer_menu-left a:hover span {
	color: #006252;
}

.footer_menu-left span::after {
	display: block;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	border-radius: 1px;
	background-color: #00846f;
	opacity: 0;
	content: "";
	transition: all 0.3s;
}

.footer_menu-left a:hover span::after {
	opacity: 1;
}

.footer_menu-large a {
	display: flex;
	max-width: 220px;
	min-width: 165px;
	width: clamp(10.313rem, -1.34rem + 18.64vw, 13.75rem);
	border-width: 2px;
	border-style: solid;
	color: #ffffff;
	font-weight: 500;
	font-size: clamp(0.688rem, 0.323rem + 0.76vw, 0.938rem);
	font-feature-settings: normal;
	column-gap: 3px;
	justify-content: center;
	align-items: center;
	transition: all 0.3s;
}

.footer_menu-large a:hover {
	background-color: #ffffff;
}

.menu_large-green a {
	border-color: #00846f;
	background-color: #00846f;
}

.menu_large-green a:hover {
	color: #00846f;
}

.menu_large-blue a {
	border-color: #0082e2;
	background-color: #0082e2;
}

.menu_large-blue a:hover {
	color: #0082e2;
}

.footer_menu-large a i {
	font-size: clamp(0.875rem, 0.329rem + 1.14vw, 1.25rem);
}

.footer_menu-right {
	display: flex;
	font-size: clamp(0.813rem, 0.63rem + 0.38vw, 0.938rem);
	flex-direction: column;

	row-gap: 20px;
}

.footer_menu-right .footer_menu-item::before {
	content: "―";
}

.footer_menu-right .footer_menu-item {
	column-gap: 1em;
}

.footer_menu-right a {
	display: flex;
	position: relative;
	color: #000000;
	column-gap: 5px;
	align-items: center;
}

.footer_menu-right a:hover {
	color: #006252;
	opacity: 1;
}

.footer_menu-right a::after {
	display: block;
	position: absolute;
	top: 100%;
	bottom: 0;
	width: 100%;
	height: 1px;
	border-radius: 1px;
	background-color: #006252;
	opacity: 0;
	content: "";
	transition: all 0.3s;
}

.footer_menu-right a:hover::after {
	opacity: 1;
}

.footer_menu-right a i {
	font-size: clamp(0.75rem, 0.295rem + 0.95vw, 1.063rem);
}

.footer_making {
	display: flex;
	padding: clamp(0.406rem, 0.042rem + 0.76vw, 0.656rem) 0;
	background-color: #006252;
	color: #ffffff;
	font-weight: 500;
	font-size: clamp(0.75rem, 0.659rem + 0.19vw, 0.813rem);
	text-align: center;
	letter-spacing: 0.1em;
	justify-content: center;
	align-items: center;
}

/* フッターバナーエリア全体 */
.footer-banner-area {
	position: relative;
	padding-top: 80px;           /* 上部余白 80px */
	padding-bottom: 50px;        /* 下部余白 50px */
	border-top: 4px solid #cccccc;   /* 上部枠線：太め(4px)のグレイ */
	background-color: #f7f7f7;   /* 背景色 */
}

/* コンテンツ最大幅と中央揃え */
.footer-banner-inner {
	max-width: 1200px;           /* サイトのメイン幅に合わせて調整 */
	margin: 0 auto;
	padding: 0 20px;
}

/* バナーリストの設定 */
.footer-banner-list {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;             /* 折り返し有効 */

	gap: 30px 10px;              /* PC時の隙間：行間30px / 左右10px */
}

/* 各アイテムの枠（PC時：4列） */
.footer-banner-item {
	display: flex;               /* 中のaタグを中央に寄せるため */
	width: calc((100% - 30px) / 4); /* 4列計算 */
	height: 80px;                /* 行の高さを共通化 */
	box-sizing: border-box;
	justify-content: center;     /* 左右中央 */
	align-items: center;         /* 上下中央 */
}

/* リンク（画像部分のみに絞る） */
.footer-banner-item a {
	display: inline-block;       /* 中身（画像）のサイズに合わせる */
	line-height: 0;              /* 下部の不要な隙間を排除 */
	cursor: pointer;
	transition: opacity 0.3s ease;
}

/* ホバー効果 */
.footer-banner-item a:hover {
	opacity: 0.6;
}

/* 画像自体の制御 */
.footer-banner-item img {
	display: block;
	max-width: 100%;             /* 枠からはみ出さない */
	width: auto;                 /* 横幅はなりゆき */
	max-height: 80px;            /* 高さを80pxに制限（共通化） */
	height: auto;                /* 比率を維持 */
}

/* レスポンシブ：スマホ・タブレット */
@media screen and (max-width: 767px) {
	/* リストの隙間調整 */
	.footer-banner-list {
		gap: 10px 10px;          /* ★スマホ時の隙間：行間10px / 左右10px */
	}

	/* 各アイテムの幅（2列） */
	.footer-banner-item {
		width: calc((100% - 10px) / 2);
		height: 60px;            /* スマホ時は少し低くする（お好みで） */
	}

	.footer-banner-item img {
		max-height: 60px;        /* スマホ時の高さ制限に合わせる */
	}

	.footer-banner-area {
		padding-top: 50px;       /* スマホ時の上下余白を調整 */
		padding-bottom: 30px;
	}
}


@media (min-width: 768px) {
	.footer-container {
		padding-top: 110px;
	}

	.footer_inner {
		width: 95%;
	}

	.footer_contents {
		margin-bottom: 70px;
	}

	@media screen and (min-width: 961px) {
		.footer_menu-nav {
			max-width: 810px;
		}

		.footer_menu-left {
			column-gap: clamp(1.25rem, -13.581rem + 23.73vw, 5.625rem);
		}
	}

	.footer_menu-left {
		height: fit-content;
		grid-template-rows: repeat(4, auto);
		grid-auto-flow: column;
	}

	.footer_menu-large a {
		padding: 5px;
		border-radius: 17.5px;
	}

	.footer_menu-right {
		row-gap: 20px;
	}
}

@media screen and (max-width: 767px) {
	.footer-container {
		padding-top: 20px;
	}

	.footer_inner {
		width: 100%;
		padding: 0 15px;
	}

	.footer_contents {
		margin-bottom: 15px;
	}

	.footer_menu-large a {
		padding: 10px 5px;
		border-radius: 20px;
	}

	.footer_site-logo {
		display: none;
	}

	.footer_menu-nav {
		flex-wrap: wrap;
	}

	.footer_menu-left {
		grid-template-columns: repeat(2, auto);
	}

	.footer_menu-left li:nth-child(1) {
		grid-column: 1;
		grid-row: 1;
	}

	.footer_menu-left li:nth-child(2) {
		grid-column: 1;
		grid-row: 2;
	}

	.footer_menu-left li:nth-child(3) {
		grid-column: 1;
		grid-row: 3;
	}

	.footer_menu-left li:nth-child(4) {
		grid-column: 2;
		grid-row: 1;
	}

	.footer_menu-left li:nth-child(5) {
		grid-column: 2;
		grid-row: 2;
	}

	.footer_menu-left li:nth-child(6) {
		grid-column: 2;
		grid-row: 3;
	}

	.footer_menu-left li:nth-child(7) {
		grid-column: 1;
		grid-row: 4;
	}

	.footer_menu-left li:nth-child(8) {
		grid-column: 2;
		grid-row: 4;
	}

	.footer_menu-right {
		row-gap: 10px;
	}

	.footer_menu-left li:nth-of-type(-n+3) , .footer_site-status {
		padding-left: 5px;
	}

	@media screen and (max-width: 585px) {
		.footer_menu-right {
			padding-left: 5px;
		}
	}
}



/*******************************************************************************
	フッター改良版
*******************************************************************************/
.site_pdf-container {
	display: block;
	width: 100%;
	padding: 30px 0;
	background-color: #ebebeb;
}
.site_pdf-nav {
	display: flex;
	max-width: 1590px;
	margin: 0 auto;
	justify-content: center;
}
.site_pdf-list {
	display: flex;
	width: 100%;
	flex-wrap: wrap;

	row-gap: 10px;
}
.site_pdf-item a {
	color: #2b1e1d;
	font-size: clamp(0.813rem, 0.76rem + 0.11vw, 0.875rem);
	word-break: auto-phrase;
	transition: all 0.3s;
}
.site_pdf-item a.foot_not {
	pointer-events: none;
}

@media screen and (min-width: 768px) {
	.site_pdf-container {
		padding: 30px 0;
	}
	.site_pdf-nav {
		width: 95%;
	}
	.site_pdf-item a:hover {
		background-color: #ffffff;
	}
	.site_pdf-list {
		column-gap: 0.628875%;

		row-gap: 10px;
	}
	.site_pdf-item {
		max-width: 310px;
		width: 19.4969%;
		font-size: clamp(0.813rem, 0.76rem + 0.11vw, 0.875rem);
	}
	@media screen and (min-width: 880px) and (max-width: 1106px) {
		.site_pdf-list {
			max-width: 836px;
		}
	}
	@media screen and (max-width: 879px) {
		.site_pdf-list {
			max-width: 623px;
		}
	}
	.site_pdf-item {
		max-width: 310px;
		width: 19.4969%;
	}
	.site_pdf-item {
		min-width: 205px;
		width: 19.4969%;
	}
	.site_pdf-item a {
		display: flex;
		width: 100%;
		max-height: 70px;
		min-height: 60px;
		height: 100%;
		padding: 10px clamp(0.625rem, 0.36rem + 0.55vw, 0.938rem);
		background-color: #f5f5f5;
		align-items: center;
	}
}
@media screen and (max-width: 767px) {
	.site_pdf-container {
		padding: 15px 0;
	}
	.site_pdf-nav {
		width: calc(100% - 40px);
	}
	.site_pdf-list {
		display: grid;
		column-gap: 10px;

		row-gap: 10px;
	}
	@media screen and (min-width: 646px) {
		.site_pdf-list {
			grid-template-columns: repeat(3, auto);
		}
	}
	@media screen and (min-width: 436px) and (max-width: 645px) {
		.site_pdf-list {
			grid-template-columns: repeat(2, auto);
		}
	}
	@media screen and (max-width: 435px) {
		.site_pdf-list {
			display: flex;
			flex-direction: column;
		}
	}
	.site_pdf-item a {
		border-bottom: 1px solid transparent;
		color: #0082e2;
	}
	.site_pdf-item a:hover {
		border-color: #006252;
		color: #006252;
	}
}
