section.panel {
	> div {
		overflow: hidden;
		background-color: #fff;
		min-height: 100%;
		display: grid;
		> figure {
			grid-area: 1/1/2/2;
			position: relative;
			&:nth-of-type(1) {
				z-index: 2;
				overflow: hidden;
				> img {
					height: auto;
					max-width: none;
					width: 100%;
					@media (width < 1200px) {
						width: 130%;
						transform: translateX(-12%);
					}
				}
			}
			&:nth-of-type(2) {
				z-index: 3;
				align-self: end;
				display: block;
				> img {
					width: 100%;
					margin-bottom: -1px;
				}
				> div {
					background-color: #fff;
					padding-bottom: 10px;
				}
			}
		}
	}
}

section.breadcrumbs {
	> div {
		max-width: 1000px;
	}
}
section.top {
	padding: 50px 5% 50px 5%;
	background-image: url(./image/top_bg.svg);
	background-repeat: no-repeat;
	background-position: 90% 10%;
	background-size: min(250px ,20vw);
	@media (width < 780px) {
		padding: 40px 5% 170px 5%;
		background-size: 170px;
		background-position: 95% 98%;
	}
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> h2 {
			font-size: min(2.5rem,7vw);
			line-height: 1.3;
			color: #a72126;
			font-weight: 800;
			letter-spacing: 0.1em;
		}
		> p {
			margin-top: 50px;
			font-size: min(1rem, 4.5vw);
			line-height: 2.0;
			letter-spacing: 0.05rem;
			color: #333;
			text-align: justify;
			@media (width < 780px) {
				margin-top: 40px;
				line-height: 1.8;
			}
		}
	}
}
section.inform {
	padding: 60px 5% 100px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		padding-block: 30px;
		padding-inline: 50px;
		border: solid 2px #ccc;
		border-radius: 12px;
		@media (width < 500px) {
			padding-inline: 20px;
		}
		> h2 {
			text-align: center;
			font-size: 2.4rem;
			line-height: 1;
			color: #1a9ee4;
			font-family: var(--font-en);
			font-weight: 900;
		}
		> div#informListArea {
			margin-top: 20px;
			padding-block: 20px;
			> article {
				&:first-child {
					border-top: solid 1px #ccc;
				}
				border-bottom: solid 1px #ccc;
				padding-block: 8px;
				> a {
					text-decoration: none;
					display: block;
					padding-block: 10px;
					&:hover {
						opacity: 0.7;
					}
					> dl {
						display: grid;
						grid-template-columns: 120px 1fr;
						@media (width < 1300px) {
							grid-template-columns: 1fr;
						}
						> dt {
							font-size: min(1rem,5vw);
							line-height: 1.5;
							color: #666;
						}
						> dd {
							font-size: min(1rem,5vw);
							line-height: 1.5;
							color: #222;
						}
					}
				}
			}
			> .empty {
				background-color: #eee;
				text-align: center;
				font-size: 0.9;
				line-height: 1.3;
				color: #888;
				padding: 20px;
			}
		}
		> div.more {
			margin-top: 20px;
			text-align: center;
			> a {
				text-decoration: underline;
				font-size: 1rem;
				line-height: 1;
				color: #05a;
				font-weight: 600;
				display: flex;
				justify-content: center;
				align-items: center;
				column-gap: 10px;
				&:hover {
					opacity: 0.7;
				}
			}
		}
	}
}
section.about {
	position: relative;
	z-index: 3;
	background-color: #64c8be;
	border-radius: 50px;
	padding: 50px 5% 50px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> h3 {
			font-size: min(3.3rem,7vw);
			line-height: 1.3;
			color: #fff;
			font-weight: 800;
			letter-spacing: 0.1em;
			font-family: var(--font-en);
			text-align: center;
		}
		> p {
			text-align: center;
			margin-block: 40px 40px;
			font-size: min(1.4rem, 6vw);
			line-height: 1.0;
			font-weight: 500;
			color: #fff;
		}
		> div {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			column-gap: 30px;
			row-gap: 30px;
			@media (width < 650px) {
				grid-template-columns: repeat(1, 1fr);
			}
			> a {
				text-decoration: none;
				&:hover {
					opacity: 0.8;
				}
				> div {
					display: grid;
					> figure {
						grid-area: 1/1/2/2;
						> img {
							max-width: 100%;
							border-radius: min(40px, 10%);
						}
						&:nth-of-type(1) {
							> img {
								width: 100%;
							}
						}
						&:nth-of-type(2) {
							align-self: end;
							justify-self: center;
							text-align: center;
							> img {
							}
						}
						&.seat {
							padding-bottom: 5px;
							> img {
								width: 35%;
							}
						}
					}
					> img {
						grid-area: 1/1/2/2;
						width: 60px;
						align-self: end;
						justify-self: end;
						margin: 15px;
						@media (width < 700px) {
							width: 15%;
						}
					}
				}
			}
		}
	}
}
section.fresherslink {
	position: relative;
	z-index: 2;
	padding: 50px 5% 50px 5%;
	@media (width < 750px) {
		padding: 100px 5% 50px 5%;
		margin-top: -50px;
		background-color: #fff064;
	}
	> div {
		position: relative;
		z-index: 2;
		max-width: 1000px;
		margin-inline: auto;
		> div {
			background-color: #fff064;
			clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
			padding-block: 150px;
			@media (width < 750px) {
				clip-path: unset;
				background-color: unset;
				padding-block: 50px;
			}
			> figure {
				text-align: center;
				> img {
					max-width: 100%;
				}
			}
			> h3 {
				margin-block: 10px 20px;
				font-size: min(2.0rem, 7vw);
				line-height: 1.3;
				color: #1f3d7e;
				font-weight: 800;
				letter-spacing: 0.1em;
				text-align: center;
			}
			> p {
				text-align: center;
				font-size: min(1.0rem, 4.5vw);
				line-height: 1.8;
				font-weight: 500;
				letter-spacing: 0.1rem;
				color: #333;
				margin-bottom: 30px;
			}
			> a {
				display: grid;
				text-decoration: none;
				&:hover {
					opacity: 0.8;
				}
				> div {
					justify-self: center;
					border-radius: 30px;
					background: url(./common/image/mark_external_fff.svg) no-repeat calc(100% - 20px) 50%, linear-gradient(to left, #ff8c32, #ff5074);
					padding: 15px 50px;
					> p {
						text-align: center;
						font-size: min(1.1rem, 5vw);
						font-weight: 500;
						letter-spacing: 0.1rem;
						color: #fff;
					}
				}
			}
		}
		> figure {
			position: absolute;
			&:nth-of-type(1) {
				top: 10%;
				left: -5%;
				@media (width < 1060px) {
					top: 5%;
				}
				@media (width < 540px) {
					top: -4%;
					left: -2%;
				}
				> img {
					width: 200px;
					@media (width < 1060px) {
						width: 18vw;
					}
				}
			}
			&:nth-of-type(2) {
				top: 20%;
				right: -3%;
				@media (width < 1060px) {
					top: 15%;
				}
				@media (width < 540px) {
					top: 0%;
					right: -2%;
				}
				> img {
					width: 150px;
					@media (width < 1060px) {
						width: 18vw;
					}
				}
			}
			&:nth-of-type(3) {
				top: 30%;
				left: 10%;
				@media (width < 1060px) {
					top: 25%;
					left: 6%;
				}
				> img {
					width: 180px;
					@media (width < 1060px) {
						width: 15vw;
					}
				}
			}
			&:nth-of-type(4) {
				top: 35%;
				right: 17%;
				@media (width < 1060px) {
					top: 28%;
					right: 5%;
				}
				> img {
					width: 130px;
					@media (width < 1060px) {
						width: 10vw;
					}
				}
			}
			&:nth-of-type(5) {
				bottom: -6%;
				left: 2%;
				@media (width < 1060px) {
					bottom: -15%;
					left: -3%;
				}
				> img {
					width: 200px;
					@media (width < 1060px) {
						width: 21vw;
					}
				}
			}
			&:nth-of-type(6) {
				bottom: -4%;
				right: 6%;
				@media (width < 1060px) {
					bottom: -15%;
					right: -2%;
				}
				> img {
					width: 160px;
					@media (width < 1060px) {
						width: 15vw;
					}
				}
			}
		}
	}
}
section.recruitlink {
	position: relative;
	z-index: 1;
	padding: 60px 5% 60px 5%;
	background: url(./image/recruitlink_bgfff.svg) 50% / cover;
	> div {
		position: relative;
		z-index: 2;
		max-width: 1000px;
		margin-inline: auto;
		> h3 {
			margin-bottom: 60px;
			font-size: min(3.0rem, 8vw);
			line-height: 1.3;
			color: #00a0e9;
			font-weight: 800;
			letter-spacing: 0.1em;
			text-align: center;
		}
		> div {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 30px;
			@media (width < 760px) {
				grid-template-columns: repeat(1, 1fr);
			}
			> article {
				display: grid;
				grid-template-rows: subgrid;
  				grid-row: span 3;
				background-color: #fff;
				border-radius: 40px;
				padding: 40px;
				@media (width < 760px) {
					padding: 30px;
				}
				@media (width < 760px) {
					max-width: 500px;
					justify-self: center;
				}
				> h4 {
					font-size: min(2.4rem, 7vw);
					line-height: 1.3;
					color: #0075c1;
					font-weight: 600;
					letter-spacing: 0.1em;
					text-align: center;
				}
				> p {
					text-align: justify;
					font-size: min(1.0rem, 5vw);
					line-height: 1.6;
					font-weight: 500;
					letter-spacing: 0.1rem;
					color: #333;
				}
				> a {
					display: grid;
					text-decoration: none;
					&:hover {
						opacity: 0.8;
					}
					> div {
						justify-self: center;
						border-radius: 30px;
						background: url(./image/link_arrow_fff.svg) no-repeat calc(100% - 20px) 50% / 8px, linear-gradient(to left, #ff8c32 0%, #ff5074 100%);
						padding: 15px 50px;
						@media (width < 340px) {
							padding: 15px 40px;
							background: url(./image/link_arrow_fff.svg) no-repeat calc(100% - 20px) 50% / 8px, linear-gradient(to left, #ff8c32 0%, #ff5074 100%);
						}
						> p {
							text-align: center;
							font-size: min(1.1rem, 5vw);
							font-weight: 500;
							letter-spacing: 0.1rem;
							color: #fff;
						}
					}
				}
			}
		}
	}
}
section.profile {
	margin-top: 80px;
	padding: 60px 5% 60px 5%;
	border-radius: 50px;
	background: url(./image/company_profilebg01.svg) no-repeat -5% 10% / 28vw, url(./image/company_profilebg02.svg) no-repeat 103% 3% / 26vw,#0075c1;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> h3 {
			margin-bottom: 20px;
			font-size: min(3.0rem, 8vw);
			line-height: 1.3;
			color: #fff;
			font-weight: 800;
			letter-spacing: 0.1em;
			text-align: center;
			font-family: var(--font-en);
		}
		> p {
			margin-bottom: 40px;
			text-align: center;
			font-size: min(1.4rem, 6vw);
			line-height: 1.8;
			font-weight: 500;
			letter-spacing: 0.1rem;
			color: #fff;
		}
		> div {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			column-gap: min(100px,3vw);
			row-gap: 20px;
			> article {
				max-width: 300px;
				display: grid;
				justify-self: center;
				> figure {
					> img {
						max-width: 100%;
						display: block;
					}
				}
				> p {
					font-size: min(1.0rem, 4.5vw);
					line-height: 1.4;
					color: #fff;
					padding-block: 30px;
					@media (width < 800px) {
						padding-block: 10px;
					}
				}
				> a {
					display: block;
					text-decoration: none;
					&:hover {
						opacity: 0.8;
					}
					> div {
						justify-self: center;
						border-radius: 30px;
						background-image: url(./common/image/mark_external_07c.svg);
						background-repeat: no-repeat;
						background-position: right 20px top 51%;
						background-color: #fff;
						padding-block: 15px;
						padding-inline: 30px 50px;
						@media (width < 500px) {
							padding-block: 10px;
							padding-inline: 10px 35px;
						}
						> p {
							text-align: center;
							font-size: min(1rem, 4.5vw);
							color: #0075c1;
							> br {
								display: none;
								@media (width < 360px) {
									display: block;
								}
							}
						}
					}
				}
			}
		}
	}
}
section.question {
	padding: 60px 5% 80px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		display: grid;
		grid-template-columns: 1fr 1fr;
		border-radius: 50px;
		border: 2px solid #0075c1;
		padding: 20px 40px 40px 40px;
		box-shadow: 10px 12px 0 #b2d6ec;
		@media (width < 690px) {
			padding: 10px 20px 20px 20px;
			grid-template-columns: 1fr;
			row-gap: 10px;
		}
		> figure {
			justify-self: center;
			align-self: center;
			@media (width < 690px) {
				max-width: 80px;
			}
			> img {
				max-width: 100%;
			}
		}
		> div {
			justify-self: center;
			align-self: center;
			> figure {
				@media (width < 690px) {
					max-width: 100px;
					margin-inline: auto;
				}
				> img {
					max-width: 100%;
				}
			}
			> p {
				text-align: center;
				font-size: min(1.2rem, 4.5vw);
				line-height: 1.8;
				font-weight: 600;
				letter-spacing: 0.1rem;
				color: #333;
				padding-block: 20px;
				@media (width < 690px) {
					padding-block: 10px;
				}
			}
			> a {
				display: grid;
				text-decoration: none;
				&:hover {
					opacity: 0.8;
				}
				> div {
					justify-self: center;
					border-radius: 30px;
					background: url(./image/link_arrow_fff.svg) no-repeat calc(100% - 20px) 50% / 8px, linear-gradient(to left, #ff8c32 0%, #ff5074 100%);
					padding: 15px 50px;
					@media (width < 340px) {
						padding: 15px 40px;
						background: url(./image/link_arrow_fff.svg) no-repeat calc(100% - 20px) 50% / 8px, linear-gradient(to left, #ff8c32 0%, #ff5074 100%);
					}
					> p {
						text-align: center;
						font-size: min(1.1rem, 5vw);
						font-weight: 500;
						letter-spacing: 0.1rem;
						color: #fff;
					}
				}
			}
		}
	}
}
