/* --------------------------
Header
-------------------------- */

.l-header {
	border-top: none;
	box-shadow: 0 2px 6px var(--swl-color_shadow);
	position: fixed;
	top: 0;

	& .l-header__bar {
		background-color: #ffffff;
		color: var(--_color-black);
	}

	& .l-header__inner {
		@media screen and (min-width: 960px) {
			display: grid !important;
			grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
			grid-template-rows: 82px 40px;
		}
	}

	& .l-header__logo {
		grid-column: 1 / 4;
		grid-row: 1 / 2;
		padding-top: .7vw;
	}

	& .l-header__gnav {
		grid-column: 1 / 8;
		grid-row: 2 / 3;
		background-color: var(--color_main);
		color: var(--color_white);
		width: 100vw;
		margin-top: 5px;
		height: 38px;

		& .menu-item>a .ttl {
			font-size: .98em;
		}
	}

	& .w-header {
		grid-column: 4 / 9;
		grid-row: 1 / 2;
		padding: 0 2vw;
	}
}

.header_btn {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px;
	max-width: 34em;
	filter: drop-shadow(2px 2px 2px #8a8a8a44);
}

#fix_header {
	display: none;
}

.l-header__bar {
	transition: all 0.3s ease;
}

header.is-small {
	& .l-header__bar {
		margin-top: -23px;
	}
}


/* --------------------------
SP menu
-------------------------- */

.p-spMenu__body {
	font-size: 1.15em;
	display: grid;
	gap: 30px;
}

.p-spMenu__nav {
	order: 2;
}

.p-spMenu__bottom {
	order: 1;
}

.c-widget__title.-spmenu {
	display: none;
}

#sp_menu {
	& .p-spMenu__bottom {
		margin-top: 1em;
	}

}

/* --------------------------
Footer
-------------------------- */
.l-footer-cv {
	& .__content {
		border: 4px solid var(--color_pale-blue);
		border-radius: 5px;
		padding: 1.2em 1.5em;

		@media screen and (min-width: 600px) {
			border-width: 6px;
			padding: 2em 2.5em;
		}
	}

	& .__company {
		@media screen and (min-width: 960px) {
			border-right: 1px solid var(--_color-black);
			padding-right: 1.5em;
		}
	}

	& .__company figure {
		@media screen and (min-width: 600px) {
			text-align: left;
		}

		& img {
			max-width: 45%;

			@media screen and (min-width: 600px) {
				max-width: 178px;
			}
		}
	}

	& .__btns {
		gap: 2% !important;
		filter: drop-shadow(2px 2px 2px #8a8a8a44);
	}
}

.c-widget+.c-widget {
	margin-top: 0;
}

.l-footer-menu {
	@media screen and (min-width: 600px) {
		gap: 11% !important;
		gap: 120px !important;
	}

	& .__menu {
		@media screen and (max-width: 599px) {
			gap: .8em !important;
		}

		& .__menu-box {
			& p {
				margin-bottom: .8em;
				position: relative;
				padding-left: .9em;

				& a {
					text-decoration: none;
				}

				&:before {
					content: "";
					position: absolute;
					top: 55%;
					left: 0;
					transform: translateY(-55%);
					border: 4px solid transparent;
					border-left: 5px solid var(--color_light-gray);
				}
			}

			& p.--house {
				padding-left: 0;

				&:before {
					content: none;
				}
			}

			& .wp-block-group {
				margin-bottom: 1.0em;
			}

			& p.--house {
				margin-bottom: .5em;
			}

			& ul {
				gap: .4em;

				& a {
					align-items: end;
				}
			}
		}
	}
}

.l-footer__nav a,
.l-footer__nav li:first-child a {
	border: none;
}


/* --------------------------
body_wrap
-------------------------- */
#body_wrap {
	@media screen and (min-width: 960px) {
		margin-top: 155px;
	}
}