@charset "utf-8";
.second_hdr {
		margin-bottom: 0 !important;
}
.about_section {
		max-width: 1350px;
		margin: 0 auto 80px
}
.about_section img {
		width: 100%;
		height: auto;
}
.about_main {
		border-bottom: 20px solid #C3392D;
}
.about_caption {
		margin: 0 110px;
		background: #f3f1f1 url(../images/check_bg.png?2602);
		box-shadow: rgba(0, 0, 0, 0.02) 3px 3px 5px;
		position: relative;
		z-index: 2;
		top: -45px;
}
.about_caption_inner {
		display: flex;
		padding: 58px 80px;
}
.about_caption_hd {
		margin: 0 60px 0 0;
}
.about_caption_hd h3 {
		font-size: 18px;
		font-family: "Montserrat", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		color: #C3392D;
		font-weight: 700;
		letter-spacing: 0.07em;
		padding-top: 3px;
}
.about_caption_hd h3 span {
		display: inline-block;
		padding-bottom: 3px;
		border-bottom: 2px solid #C3392D;
}
.about_caption_right {
		flex: 1;
}
.about_caption_right h4 {
		font-size: 28px;
		font-weight: 700;
		margin: 0 0 35px;
}
.about_caption_right p {
		text-align: justify;
		line-height: 1.8;
}
@media(max-width: 1300px) {
		.about_caption {
				margin: 0 30px;
		}
}
@media(max-width: 1200px) {
		.about_caption_inner {
				padding: 40px;
		}
}
@media(max-width: 960px) {
		.about_caption_inner {
				display: block;
				padding: 45px
		}
		.about_caption_hd {
				margin: 0 0 30px;
		}
		.about_caption_hd h3 {
				text-align: center;
				padding-top: 0;
		}
		.about_caption_right h4 {
				text-align: center;
				margin: 0px 0px 25px;
		}
}
@media(max-width: 767px) {
		.about_section {
				margin-bottom: 60px;
		}
		.about_main {
				border-bottom: 8px solid #C3392D;
		}
		.about_caption {
				margin: 0 20px;
				background: #f3f1f1 url(../images/check_bg_sp.png);
				top: -35px;
		}
		.about_caption_inner {
				padding: 25px 25px 35px;
		}
		.about_caption_hd h3 {
				font-size: 18px;
				margin: 0 0 20px;
		}
		.about_caption_right h4 {
				font-size: 24px;
				line-height: 1.6;
				margin-bottom: 20px;
		}
		.about_caption_right h4 span {
				transform: translateX(0.5em);
				display: inline-block;
		}
}
/* ================== */
.detail_inner .wp-block-table td, .detail_inner .wp-block-table th {
		border: none;
		padding: 0;
		margin: 0;
		line-height: 1;
}
.detail_inner .wp-block-table {
		overflow: visible;
}
.section_title {
		display: flex;
		flex-direction: column-reverse;
		text-align: center;
		margin: 0 0 40px
}
.section_title .en {
		font-size: 18px;
		font-family: "Montserrat", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		color: #C3392D;
		font-weight: 700;
		letter-spacing: 0.07em;
		margin: 0 0 25px;
}
.section_title .en span {
		display: inline-block;
		padding-bottom: 3px;
		border-bottom: 2px solid #C3392D;
}
.entry_inner .section_title .en {
		color: #fff;
}
.entry_inner .section_title .en span {
		border-bottom: 2px solid #fff;
}
.recruit_hd {
		font-size: 28px;
		font-weight: 700;
		margin: 0
}
@media(max-width: 767px) {
		.section_title .en {
				font-size: 18px;
				margin: 0 0 20px;
		}
		.recruit_hd {
				font-size: 20px;
		}
}
/* ============ */
.interview_section {
		padding: 0px 30px 80px;
}
.interview_grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 60px 20px;
		max-width: 1000px;
		margin: 0 auto;
}
.interview_tile_photo {
		position: relative;
}
.interview_tile_photo img {
		width: 100%;
		height: auto;
		aspect-ratio: 10 / 12.66;
		object-fit: cover;
}
.interview_tile_photo .job {
		position: absolute;
		top: 15px;
		left: 15px;
		display: flex;
		align-items: center;
		font-size: 14px;
		color: #fff;
		height: 34px;
		border-radius: 10px;
		background: #C3392D;
		padding: 0 13px;
}
.interview_tile_photo > div {
		overflow: hidden
}
.interview_tile_photo img {
		width: 100%;
		height: auto;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.interview_tile {
		background: #f3f1f1 url(../images/check_bg.png);
}
.interview_tile a {
		color: #222;
		text-decoration: none;
}
.interview_tile_caption {
		padding: 15px 25px 20px;
		position: relative;
}
.interview_tile_caption::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 6px);
		right: 30px;
		width: 12px;
		height: 13px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 12px;
		background-image: url("../images/interview_tile_arw_red.png");
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.interview_tile_caption .name {
		font-size: 24px;
		font-weight: 700;
		margin: 0 0 15px;
}
.interview_tile_caption .name span {
		font-size: 70%;
		font-weight: 500;
		margin-left: 0.25em;
}
@media (hover: hover) {
		.interview_tile a:hover img {
				transform: scale(1.05)
		}
		.interview_tile a:hover {
				color: #C3392D;
				text-decoration: none;
		}
		.interview_tile a:hover .interview_tile_caption::after {
				transform: translateX(10px)
		}
}
@media(max-width: 960px) {
		.interview_tile_caption {
				padding: 15px 15px 20px;
		}
		.interview_tile_caption::after {
				right: 20px;
		}
		.interview_tile_caption .name {
				font-size: 20px;
				margin: 0 0 10px;
		}
		.interview_tile_caption .year {
				font-size: 14px;
		}
}
@media(max-width: 767px) {
		.interview_section {
				padding: 0px 20px 60px;
		}
		.interview_grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 40px 10px;
		}
		.interview_tile_photo .job {
				top: 10px;
				left: 10px;
				font-size: 11px;
				height: 24px;
				border-radius: 6px;
				padding: 0 6px;
		}
		.interview_tile {
				background: #f3f1f1 url(../images/check_bg_sp.png);
		}
		.interview_tile_caption {
				padding: 15px 15px 20px;
		}
		.interview_tile_caption::after {
				top: calc(50% - 5px);
				right: 15px;
				width: 10px;
				height: 11px;
				background-size: 10px;
		}
		.interview_tile_caption .name {
				font-size: 18px;
				margin: 0 0 10px;
		}
}
/* ============ */
.detail_section {
		padding: 80px 30px;
		background: #f3f1f1 url(../images/check_bg.png);
}
.detail_inner {
		background: #fff;
		max-width: 1000px;
		box-sizing: border-box;
		padding: 50px 80px 60px;
		margin: 0 auto;
}
.detail_inner .wp-block-table table {
		width: 100%;
		border-collapse: collapse;
		border-top: 1px dotted #A8A8A8;
}
.detail_inner .wp-block-table th, .detail_inner .wp-block-table td {
		text-align: left;
		border-bottom: 1px dotted #A8A8A8;
		padding-top: 15px;
		padding-bottom: 15px;
		line-height: 1.8;
		vertical-align: top;
}
.detail_inner .wp-block-table th {
		width: 16%;
		white-space: nowrap;
		padding-left: 10px;
		color: #C3392D;
		font-weight: 700;
}
@media(max-width: 960px) {
		.detail_inner {
				padding: 40px 30px 50px;
		}
}
@media(max-width: 767px) {
		.detail_section {
				padding: 60px 20px;
				background: #f3f1f1 url(../images/check_bg_sp.png);
		}
		.detail_inner {
				padding: 30px 15px 30px;
		}
		.detail_inner .wp-block-table th, .detail_inner .wp-block-table td {
				display: block;
				padding: 0;
				width: auto;
				border: none;
		}
		.detail_inner .wp-block-table th {
				padding: 15px 0 5px;
		}
		.detail_inner .wp-block-table td {
				padding: 5px 0 15px;
				border-bottom: 1px dotted #A8A8A8;
		}
}
/* ============ */
.entry_section {
		padding: 80px 30px;
}
.entry_inner {
		max-width: 900px;
		margin: 0 auto;
		background: #C3392D;
		border-radius: 20px;
		padding: 40px;
		text-align: center;
		color: #fff;
}
.entry_inner .section_title {
		text-align: center;
		margin: 0 0 35px
}
.entry_inner .recruit_hd {
		font-size: 32px;
		font-weight: 700;
		margin: 0
}
@media(max-width: 767px) {
		.entry_section {
				padding: 60px 20px;
		}
		.entry_inner {
				border-radius: 16px;
				padding: 25px;
		}
		.entry_inner .recruit_hd {
				font-size: 22px;
		}
}
/* ============== */
.fixed_btn {
		position: fixed;
		right: 25px;
		bottom: 30px;
		z-index: 10;
		width: 230px;
		height: 170px;
		background-repeat: no-repeat;
		background-position: right bottom;
		background-size: 100%;
		background-image: url("../images/entry_btn_shadow.png");
		transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s;
}
.fixed_btn.isOff {
		transform: translateY(250px);
		opacity: 0
}
.fixed_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		text-decoration: none;
		height: 170px;
		color: #fff;
		font-weight: 500;
		line-height: 1.6;
		font-size: 20px;
		text-align: center;
		background-repeat: no-repeat;
		background-position: right bottom;
		background-size: 100%;
		background-image: url("../images/entry_btn_body_on.png");
		transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		position: relative;
}
.fixed_btn img {
		width: 100%;
		height: auto;
		transition: opacity 0.3s;
}
.fixed_btn a .fix_btn_entry_cont {
		position: absolute;
		top: 0;
		left: 0;
		width: 230px;
		height: 170px;
		display: flex;
		justify-content: center;
		align-items: center;
}
.fixed_btn a span {
		display: inline-block;
		position: relative;
		padding-bottom: 20px;
}
.fixed_btn a span::after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: calc(50% - 6px);
		width: 12px;
		height: 13px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 12px;
		background-image: url("../images/btn_arw_wht.png")
}
@media (hover: hover) {
		.fixed_btn a:hover {
				color: #a52317;
				transform: translateX(3px) translateY(3px)
		}
		.fixed_btn a:hover img {
				opacity: 0;
		}
		.fixed_btn a:hover span::after {
				background-image: url("../images/btn_arw_red.png")
		}
}
@media(max-width: 1400px) {
		.fixed_btn {
				position: fixed;
				right: 15px;
				bottom: 25px;
				width: 180px;
				height: 135px;
		}
		.fixed_btn a .fix_btn_entry_cont {
				width: 180px;
				height: 135px;
		}
		.fixed_btn a {
				height: 135px;
				font-size: 16px;
		}
}
@media(max-width: 767px) {
		.fixed_btn {
				position: fixed;
				right: 10px;
				bottom: 10px;
				width: 130px;
				height: 96px;
		}
		.fixed_btn a .fix_btn_entry_cont {
				width: 130px;
				height: 96px;
		}
		.fixed_btn a {
				width: 130px;
				height: 96px;
				font-size: 13px;
				font-weight: 700;
		}
		.fixed_btn a span {
				padding-bottom: 15px;
		}
		.fixed_btn a span::after {
				left: calc(50% - 5px);
				width: 10px;
				height: 11px;
				background-size: 10px;
		}
}