@charset "UTF-8";

:root {
	--color_main1: #283769;
	--color_white: #fff;
	--color-white-transparent50: rgba(255,255,255,.5);
}

body > header nav.gnav p.nav_tw a svg {
	fill: #000;
}

/* 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 */
body > .footer {
    overflow: hidden;
	position: relative;
    z-index: 0;
	padding: 4vw;
	color: var(--color_white);
	background: transparent;
	a {
		color: var(--color_white);
	}
	.show_sp {
		display: inline-block;
	}
	.show_pc {
		display: none;
	}
	> .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 {
						display: block;
						filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(173deg) brightness(104%) contrast(104%);
					}
				}
			}
			nav {
				.footer_nav_list {
					display: block;
					margin: 0;
					padding: 0;
					list-style: none;
					font-size: 14px;
					line-height: 1.6;
					li {
						margin-top: .5em;
						a {
							display: block;
							text-decoration: none;
							&: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);
				background-image: url(/common/img/bg.gif);
				&::before {
					display: inline-block;
					margin-right: 8px;
					content: '\f0e0';
					font-family: 'Font Awesome 5 Free';
					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) {

	/* btn */
	.btn_s > a {
		font-size: 14px;
	}

	/* footer */
	body > .footer {
		padding-top: 40px;
		.show_sp {
			display: none;
		}
		.show_pc {
			display: inline-block;
		}
		> .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: 80px;
					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) {

	/* btn */
	.btn_s > a {
		font-size: 16px;
	}

	/* footer */
	body > .footer {
		padding: 40px;
		> .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%;
			}
		}
	}

}
