@charset "UTF-8";

:root {
	--color-main1: #222;
	--color-white: #fff;
	--color-white-transparent50: rgba(255,255,255,.5);
}

.pagetop_btn,
.to_wanted_btn,
.footer_share_wrap {
	z-index: 9999;
}

.footer_share_list li.btn_share_tw a::after {
	content: '\e61b';
	font-family: 'Font Awesome 7 Brands';
}
.footer_share_list li.btn_share_tw a:hover::after {
	color: #000;
}

.gnav_tw_link {
	display: none;
}
.gnav_sns_link {
    position: absolute;
    top: 18px;
    right: 60px;
	display: flex;
	align-items: center;
    margin: 0;
    width: 108px;
    height: 24px;
    font-size: 10px;
    letter-spacing: normal;
	> p {
		margin-right: 8px;
		color: #222;
		font-weight: 900;
		white-space: nowrap;
	}
	.gnav_sns_list {
		display: flex;
		align-items: center;
		gap: 8px;
		margin: 0;
		padding: 0;
		list-style: none;
		li {
			a {
				display: flex;
				justify-content: center;
				align-items: center;
				&::before {
					display: inline-block;
					width: 100%;
					height: 100%;
					font-size: 24px;
					line-height: 1;
					font-family: "Font Awesome 7 Brands";
					font-weight: 400;
					transition: .2s;
				}
			}
			&.sns-x {
				a {
					&::before {
						content: '\e61b';
					}
				}
			}
			&.sns-instagram {
				a {
					&::before {
						content: '\f16d';
					}
				}
			}
		}
	}
}

/* footer */
body > .footer {
	overflow: hidden;
	position: relative;
    z-index: 0;
	padding: 4vw;
	color: var(--color-white);
	background: var(--color-main1);
	a {
		color: var(--color-white);
	}
	/* btn */
	.btn-s > a {
		display: inline-block;
		text-decoration: none;
		font-size: 16px;
		line-height: 1.5;
		border-style: solid;
		border-width: 1px;
		border-radius: 1000px;
	}
	> .footer-inner {
		> .footer-nav-wrap {
			text-align: center;
			.label-logo {
				margin: 8vw auto;
				width: 64%;
				a {
					display: block;
					&:hover {
						border: none;
						box-shadow: none;
					}
					img,
					svg {
						display: block;
						filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(173deg) brightness(104%) contrast(104%);
					}
				}
			}
			nav {
				.footer-nav-list {
					margin: 0;
					padding: 0;
					list-style: none;
					font-size: 14px;
					line-height: 1.6;
					li {
						margin-top: .5em;
						a {
							display: block;
							text-decoration: none;
							letter-spacing: normal;
							box-shadow: none;
							border-radius: 0;
							background-color: transparent;
							&:hover {
								text-decoration: underline;
							}
						}
					}
				}
			}
		}
		> .wanted-bnr-wrap {
			.wanted-bnr-list {
				margin: 8vw 0 0;
				padding: 0;
				list-style: none;
				li {
					& + li {
						margin-top: 4vw;
					}
					a {
						display: block;
						&.img-border {
							border: solid 1px var(--color-white-transparent50);
						}
						img {
							vertical-align: bottom;
						}
					}
				}
			}
		}
		> .address-box {
			padding: 16px 24px;
			border: solid 1px #fff;
			border-radius: 4px;
			line-height: 1.6;
			margin-top: calc(8vw + 12px);
			padding: 12px 4vw 16px;
			font-size: 14px;
			line-height: 1.8;
			border-color: rgba(255,255,255,.5);
			> .txt-ttl {
				position: absolute;
				display: flex;
				justify-content: flex-start;
				align-items: center;
				margin: -24px 0 0 0;
				padding: 0 16px;
				font-size: 16px;
				line-height: 1;
				background-color: var(--color-main1);
				&::before {
					display: inline-block;
					margin-right: 8px;
					content: '\f0e0';
					font-family: 'Font Awesome 7 Pro';
					font-weight: 400;
					font-size: 24px;
					line-height: 1;
				}
			}
			> p,
			> address {
				margin: 8px 0 0;
			}
			> p:first-child {
				margin-top: 0;
				margin-bottom: .5em;
			}
			.btn-s {
				margin-top: 16px;
				a {
					padding: 7px 20px;
					font-size: 12px;
					font-weight: 700;
					transition: 0.3s;
					&:hover {
						color: var(--color-main1);
						box-shadow: none;
						background-color: var(--color-white);
					}
				}
			}
		}
		> .footer-aside-wrap {
			margin-top: 8vw;
			.s-bnr-wrap {
				.s-bnr-list {
					margin: 0;
					padding: 0;
					list-style: none;
					li {
						margin: 0 auto;
						width: calc(100% - 32vw);
						& + li {
							margin-top: 4vw;
						}
						a {
							display: block;
							border: none;
							background-color: var(--color-white);
							&.img-border {
								border: solid 1px var(--color-white-transparent50);
							}
							img {
								display: block;
								aspect-ratio: 11 / 3;
								object-fit: contain;
							}
						}
					}
				}
			}
			.footer-abj-wrap {
				display: flex;
				justify-content: space-between;
				align-items: center;
				margin-top: 4vw;
				.img-wrap {
					margin: 0;
					width: 21%;
					img {
						display: block;
						filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(173deg) brightness(104%) contrast(104%);
					}
				}
				.txt-wrap {
					margin: 0;
					width: 74%;
					font-size: 10px;
					line-height: 1.6;
					a {
						&:hover {
							border: none;
							box-shadow: none;
						}
					}
				}
			}
			.recaptcha-txt {
				margin: 4vw 0 0;
				font-size: 10px;
				line-height: 1.6;
			}
		}
		> .footer-copyright-wrap {
			margin-top: 8vw;
			.btn-corp-list {
				display: flex;
				justify-content: center;
				margin: 0 auto;
				padding: 0;
				list-style: none;
				width: calc(100% - 8vw);
				li {
					display: flex;
					justify-content: center;
					align-items: center;
					margin: 0 4vw;
					width: 50%;
					height: 8vw;
					a {
						display: block;
						img {
							display: block;
							width: auto;
							height: 100%;
						}
					}
				}
			}
			.txt-footer-copyright {
				margin: 12px 0 0 0;
				text-align: center;
				font-size: 12px;
				line-height: 1.6;
			}
		}
	}
	> .footer-link-wrap {
		margin-top: 6vw;
		padding: 6vw 0;
		border-top: solid 1px var(--color-white);
		> .footer-link-list {
			margin: 0;
			padding: 0;
			list-style: none;
		}
		> .footer-link-list li {
			font-size: 14px;
			text-align: center;
			&+ li {
				margin-top: 4px;
			}
		}
	}
}






@media (min-width: 768px) {

	/* footer */
	body > .footer {
		padding-top: 40px;
		/* btn */
		.btn-s > a {
			font-size: 14px;
		}
		> .footer-inner {
			display: flex;
			flex-direction: column;
			flex-wrap: wrap;
			justify-content: space-between;
			> .footer-nav-wrap {
				order: 1;
				margin-right: 40px;
				width: calc(40% - 40px);
				text-align: left;
				.label-logo {
					margin: 0 0 24px;
					width: auto;
					height: 40px;
					a {
						display: inline-flex;
						aspect-ratio: 19 / 8;
						height: 100%;
					}
				}
				nav {
					.footer-nav-list {
						font-size: 12px;
						li {
							margin-top: 1em;
							a {
								display: inline-block;
							}
						}
					}
				}
			}
			> .wanted-bnr-wrap {
				order: 3;
				width: 60%;
				.wanted-bnr-list {
					margin-top: 0;
					li {
						& + li {
							margin-top: 16px;
						}
					}
				}
			}
			> .address-box {
				order: 4;
				margin-top: 30px;
				padding-left: 24px;
				padding-right: 24px;
				width: 60%;
			}
			> .footer-aside-wrap {
				order: 2;
				margin: 24px 40px 0 0;
				width: calc(40% - 40px);
				.s-bnr-wrap {
					.s-bnr-list {
						li {
							margin: 0;
							width: 100%;
							max-width: 200px;
							& + li {
								margin-top: 8px;
							}
						}
					}
				}
				.footer-abj-wrap {
					flex-direction: column;
					align-items: flex-start;
					margin-top: 24px;
					.img-wrap {
						width: 72px;
					}
					.txt-wrap {
						margin-top: 1em;
						width: 100%;
					}
				}
				.recaptcha-txt {
					margin-top: 24px;
				}
			}
			> .footer-copyright-wrap {
				order: 5;
				display: flex;
				justify-content: space-between;
				align-items: center;
				margin-top: 24px;
				width: 60%;
				.btn-corp-list {
					margin: 0;
					width: auto;
					li {
						margin: 0;
						width: auto;
						height: 24px;
						& + li {
							margin-left: 24px;
						}
					}
				}
				.txt-footer-copyright {
					margin-top: 0;
				}
			}
		}
	}

}






@media (min-width: 960px) {

	.gnav_sns_link {
		flex-direction: column;
		justify-content: center;
		gap: 8px;
		top: auto;
		right: 0;
		width: 92px;
		height: 92px;
		background-color: #222;
		> p {
			margin: 0;
			color: var(--color-white);
		}
		.gnav_sns_list {
			margin-bottom: 8px;
			gap: 14px;
			li {
				a {
					&::before {
						color: var(--color-white);
						font-size: 22px;
					}
				}
				&.sns-x {
					a:hover {
						&::before {
							color: #000;
						}
					}
				}
				&.sns-instagram {
					a:hover {
						&::before {
							background-clip: text;
							-webkit-background-clip: text;
							color: transparent;
							background-image: linear-gradient(to right, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
						}
					}
				}
			}
		}
	}

	/* footer */
	body > .footer {
		padding: 40px;
		/* btn */
		.btn-s > a {
			font-size: 16px;
		}
		> .footer-inner {
			> .footer-nav-wrap {
				width: calc(30% - 40px);
			}
			> .wanted-bnr-wrap {
				width: 70%;
			}
			> .address-box {
				width: 70%;
			}
			> .footer-aside-wrap {
				width: calc(30% - 40px);
				.footer-abj-wrap {
					flex-direction: row;
					align-items: center;
					margin-top: 24px;
					.img-wrap {
						width: 72px;
					}
					.txt-wrap {
						margin-top: 0;
						width: calc(100% - 88px);
					}
				}
			}
			> .footer-copyright-wrap {
				width: 70%;
			}
		}
	}

}
