@charset "UTF-8";

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

header {
	.gnav {
		.nav_tw {
			display: flex;
			justify-content: center;
			align-items: center;
			gap: 8px;
			> span {
				font-size: 1rem;
				font-weight: 700;
				white-space: nowrap;
			}
			> a {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 24px;
				height: 24px;
				svg {
					width: 100%;
				}
			}
		}
	}
	@media (min-width: 960px) {
		.gnav {
			display: flex;
			align-items: center;
			.nav_tw {
				flex-direction: column;
				gap: 4px;
				margin-right: 20px;
				> a {
					width: 40px;
					height: 40px;
					border-radius: 1000px;
					background-color: var(--color_white);
					svg {
						width: 40%;
					}
				}
			}
		}
	}
}

/* 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;
}
section.form_input div.btn_wrap,
section.form_conf div.btn_wrap,
article.thx div.btn_wrap {
	margin: 0 0 180px 0;
}

/*fixed*/
body > .wrapper {
	position: relative;
	.sticky-button-wrapper {
		position: fixed;
		z-index: 9999;
		right: 0;
		bottom: 10px;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 8px;
		p.btn_recruit {
			margin: 0;
			width: 110px;
			height: 133px;
			a {
				display: block;
				width: 100%;
				height: 100%;
				transition: all .1s;
			}
		}
		p.to_top {
			margin: 0 10px 0 0;
			a {
				position: relative;
				display: block;
				width: 45px;
				height: 45px;
				font-size: 15px;
				color: #00d3f5;
				border: solid 7.5px #fff892;
				border-radius: 100%;
				background-color: rgba(255,255,255,.9);
				i::before {
					display: block;
					position: absolute;
					top: 0;
					right: 0;
					bottom: 0;
					left: 0;
					margin: auto;
					width: 13px;
					height: 15px;
				}
			}
		}
		&.sticky-footer-area {
			position: absolute;
		}
	}
}
body.recruit > .wrapper {
	.sticky-button-wrapper {
		p.btn_recruit {
			display: none;
		}
	}
}

/* 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);
	}
	.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;
					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 {
					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);
				&::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;
				}
			}
			.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;
	}
	section.form_input div.btn_wrap,
	section.form_conf div.btn_wrap,
	article.thx div.btn_wrap {
		margin-bottom: 3rem;
	}

	/* 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;
	}
	section.form_input div.btn_wrap,
	section.form_conf div.btn_wrap,
	article.thx div.btn_wrap {
		margin-bottom: 6rem;
	}

	/*fixed*/
	body > .wrapper > .sticky-button-wrapper {
		p.btn_recruit {
			bottom: 90px;
			width: 131px;
			height: 158px;
			a {
				display: block;
				&:hover {
					-webkit-transform: scale(1.05);
					-moz-transform: scale(1.05);
					-o-transform: scale(1.05);
					-ms-transform: scale(1.05);
					transform: scale(1.05);
					filter: saturate(120%);
				}
			}
		}
		p.to_top {
			a {
				width: 60px;
				height: 60px;
				font-size: 2rem;
				border-width: 10px;
				i::before {
					width: 1.6rem;
					height: 2rem;
				}
				&:hover {
					i::before {
						height: 2.4rem;
					}
				}
			}
		}
	}

	/* main */
	.cont_wrapper > main {
		width: 100%;
		article {
			div.h1_wrapper {
				background-image: url(/footer-assets/img/h1_bg_pc.gif);
			}
		}
	}

	/* body#list */
	body#list {
		.search_box {
			.search_cont_wrap {
				width: calc(100% - 280px);
				.nice-select,
				fieldset {
					width: calc(100% - 40px);
				}
			}
		}
		ul.comic_list {
			margin-left: 0;
			gap: 40px;
			> li {
				margin: 0;
				width: calc(calc(100% - 120px) / 4);
				figure {
					width: 100%;
				}
				h4.title,
				h3.name,
				p.cap {
					margin-left: 0;
					width: 100%;
				}
			}
		}
	}
	ul.site_list {
		display: flex;
		flex-wrap: wrap;
		gap: 24px;
		margin-left: auto;
		width: 100%;
		li {
			display: block;
			margin-right: 0;
			margin-bottom: 0;
			margin-left: 0;
			width: calc(calc(100% - 120px) / 6);
			aspect-ratio: 11 / 6;
		}
	}

	/* 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%;
			}
		}
	}

}
