@charset "UTF-8";
/*
Theme Name:ba-template
*/
/*####################################

1. General
┣ Root
┣ Element
┣ Decoration
┣ Css Animation
┣ Plugin Overwrite
┣ default.css Overwrite
┣ Other
2. Site Common Style
┣ Pagination
┣ Form
┣ 404 & Thanks
3. Header
4. Main
5. Footer
6. Common Style
┣ Single
┣ Section 
7.Module
8. Page

####################################*/
/*====================================

1. General

====================================*/
/*
Root
====================================*/
:root {
	/* メインカラー */
	--mainColor: #E60019;
	/*====== 背景カラー ======*/
	/* コンテンツ背景カラー */
	--mainColor2: #207DDB;
	--contentsBg: #F5F9FB;
	/* 下層ページトップ背景カラー */
	--lowerTopBg: #D7E1FA;
	/* 表組み項目名背景カラー */
	--tableItemBg: #F0F5FA;
	/* フォーム項目名背景カラー */
	--formItemBg: #F0F5FA;
	/* カテゴリーリンク背景カラー */
	--categoryLinkBg: #D7E1FA;
	/* メール問い合わせボタン背景カラー */
	--mailBtnBg: #262729;
	/*====== テキストカラー ======*/
	/* テキストカラー */
	--textColor: #333;
	/* リンクテキストカラー */
	--linkTextColor: #0c4876;
	/*====== ページネーションカラー ======*/
	/* ページネーションテキスト、矢印カラー */
	--pnColor: #aaa;
	/* ページネーションhoverテキスト、矢印カラー */
	--pnHoverColor: #333;
	/* ページネーションCurrentテキスト、矢印カラー */
	--pnCurrentColor: #333;
	/* ページネーションhover背景カラー */
	--pnHoverBg: #f6f6f6;
	/* ページネーションCurrent背景カラー */
	--pnCurrentBg: #f6f6f6;
	/*====== フォント ======*/
	--gothic: "NotoSansJp", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	--mincho: "NotoSerifJp", "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	/*====== width ======*/
	--maxWidth768: 768px;
	--maxWidth500: 500px;
	--maxWidth375: 375px;
	--maxWidth300: 300px;
	/*====== other ======*/
}
/*
Element
====================================*/
body {
	color: var(--textColor);
}
/*
Decoration
====================================*/
/*
Css Animation
====================================*/
/* fade */
.css_fade {
	opacity: 0;
	animation-name: css_fade;
	animation-duration: 3s;
	animation-timing-function: ease;
	animation-delay: 1s;
	animation-direction: normal;
	animation-fill-mode: forwards;
}
@keyframes css_fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/* text fade */
.css_textSplitFade {
	opacity: 0;
}
.css_textSplitFade > span {
	opacity: 0;
	animation: css_textSplitFade 1s ease-out forwards;
}
@keyframes css_textSplitFade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/* top_mv loop */
@keyframes topMvSlide {

	from {
		transform:translate3d(0,0,0);
	}

	to {
		transform:translate3d(-3550px,0,0);
	}

}
/* top_mv loop */
@keyframes topMvSlide_sp {

	from {
		transform:translate3d(0,0,0);
	}

	to {
		transform:translate3d(-1900px,0,0);
	}

}
/* text loop */
	@keyframes css_textLoop {
		from {
			transform: translateX(0);
		}
		to {
			transform: translateX(-100%);
		}
	}
/* top_slider loop */
@keyframes infinitySlide {
		from {
			transform: translateX(0);
		}
		to {
			transform: translateX(-100%);
		}
	}
/*
Plugin Overwrite
====================================*/
/*
Slick
---------------------------------------------------------------*/
.top_mv .slick-arrow::before {
	border-color: var(--mainColor);
}
.top_mv .slick-dots li.slick-active button {
	background: var(--mainColor);
}
/*
default.css Overwrite
====================================*/
/*
Other
====================================*/
/*====================================

2. Site Common Style

====================================*/
/*
Pagination
====================================*/
/*
List
---------------------------------------------------------------*/
.pn_list {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 56px;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.1);
	margin: 75px 0 0;
}
.pn_list .listArrow::before, .pn_list .listArrow::after {
	content: '';
	position: absolute;
	top: calc(50% + 3px);
	width: 9px;
	height: 9px;
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%);
	transition: .3s;
}
.pn_list .listPagerBlk {
	display: flex;
	align-items: center;
	gap: 11px;
}
.pn_list .listPagerPrevious::before {
	border-bottom: solid 2px var(--pnColor);
	border-left: solid 2px var(--pnColor);
	left: calc(50% - 2px);
}
.pn_list .listPagerBlk a, .pn_list .listPagerBlk span {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 35px;
	width: 35px;
	color: var(--pnColor);
	border-radius: 5px;
}
.pn_list .listPagerBlk span.listPagerNum {
	color: #fff;
	background: var(--mainColor);
}
.pn_list .listPagerNext::before {
	border-top: solid 2px var(--pnColor);
	border-right: solid 2px var(--pnColor);
	right: calc(50% - 2px);
}
@media screen and (min-width: 1025px) {
	.pn_list .listPagerPrevious:hover::before {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
	.pn_list .listPagerBlk a:hover {
		color: var(--pnHoverColor);
		background: var(--pnHoverBg);
		opacity: 1;
	}
	.pn_list .listPagerNext:hover::before {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
}
.pn_list .listFirstBlk, .pn_list .listLastBlk {
	width: 100px;
	height: 100%;
}
.pn_list .listFirstBlk a, .pn_list .listLastBlk a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
@media screen and (min-width: 1025px) {
	.pn_list .listFirstBlk a:hover, .pn_list .listLastBlk a:hover {
		background: var(--pnHoverBg);
	}
}
.pn_list .listFirstBlk a {
	border-right: solid 1px #E2E6EB;
}
.pn_list .listFirstBlk a::before {
	border-bottom: solid 2px var(--pnColor);
	border-left: solid 2px var(--pnColor);
	left: 50%;
}
.pn_list .listFirstBlk a::after {
	border-bottom: solid 2px var(--pnColor);
	border-left: solid 2px var(--pnColor);
	left: calc(50% - 7px);
}
@media screen and (min-width: 1025px) {
	.pn_list .listFirstBlk a:hover::before {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
	.pn_list .listFirstBlk a:hover::after {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
}
.pn_list .listLastBlk a {
	border-left: solid 1px #E2E6EB;
}
.pn_list .listLastBlk a::before {
	border-top: solid 2px var(--pnColor);
	border-right: solid 2px var(--pnColor);
	right: 50%;
}
.pn_list .listLastBlk a::after {
	border-top: solid 2px var(--pnColor);
	border-right: solid 2px var(--pnColor);
	right: calc(50% - 7px);
}
@media screen and (min-width: 1025px) {
	.pn_list .listLastBlk a:hover::before {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
	.pn_list .listLastBlk a:hover::after {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
}
@media screen and (max-width: 1024px) {
	.pn_list {
		margin: 60px 0 0;
	}
	.pn_list .listArrow::before, .pn_list .listArrow::after {
		top: calc(50% + 2px);
	}
	.pn_list .listPagerBlk {
		gap: 8px;
	}
	.pn_list .listPagerPrevious::before {
		left: calc(50% - 2px);
	}
	.pn_list .listPagerBlk a, .pn_list .listPagerBlk span {
		height: 30px;
		width: 26px;
		font-size: 14px;
	}
	.pn_list .listPagerBlk span.listPagerNum {}
	.pn_list .listPagerNext::before {}
	.pn_list .listFirstBlk, .pn_list .listLastBlk {
		width: 40px;
	}
	.pn_list .listFirstBlk a, .pn_list .listLastBlk a {}
	.pn_list .listFirstBlk a {}
	.pn_list .listFirstBlk a::before {
		left: calc(50% + 2px);
	}
	.pn_list .listFirstBlk a::after {
		left: calc(50% - 5px);
	}
	.pn_list .listLastBlk a {}
	.pn_list .listLastBlk a::before {
		right: calc(50% + 2px);
	}
	.pn_list .listLastBlk a::after {
		right: calc(50% - 5px);
	}
}
/*
Detail
---------------------------------------------------------------*/
.pn_detail {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 55px;
	margin: 75px 0 0;
}
.pn_detail > * {
	height: 100%;
}
.pn_detail .detailpreviousBlk, .pn_detail .detailNextBlk {
	width: 100px;
}
.pn_detail .detailpreviousBlk a, .pn_detail .detailNextBlk a {
	position: relative;
	display: block;
	height: 100%;
}
.pn_detail a {
	background: #fff;
	box-shadow: 0px 3px 10px rgb(0 0 0 / 10%);
	border-radius: 6px;
}
@media screen and (min-width: 1025px) {
	.pn_detail a:hover {
		background: var(--pnHoverBg);
		opacity: 1;
	}
}
.pn_detail .detailpreviousBlk {}
.pn_detail .detailpreviousBlk a {}
.pn_detail .detailpreviousBlk a::before, .pn_detail .detailpreviousBlk a::after {
	content: '';
	position: absolute;
	top: calc(50% + 3px);
	width: 9px;
	height: 9px;
	border-bottom: solid 2px var(--pnColor);
	border-left: solid 2px var(--pnColor);
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%);
	transition: .3s;
}
.pn_detail .detailpreviousBlk a::before {
	left: 50%;
}
.pn_detail .detailpreviousBlk a::after {
	left: calc(50% - 7px);
}
@media screen and (min-width: 1025px) {
	.pn_detail .detailpreviousBlk a:hover::before, .pn_detail .detailpreviousBlk a:hover::after {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
}
.pn_detail .detailNextBlk {}
.pn_detail .detailNextBlk a {}
.pn_detail .detailNextBlk a::before, .pn_detail .detailNextBlk a::after {
	content: '';
	position: absolute;
	top: calc(50% + 3px);
	width: 9px;
	height: 9px;
	border-top: solid 2px var(--pnColor);
	border-right: solid 2px var(--pnColor);
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%);
	transition: .3s;
}
.pn_detail .detailNextBlk a::before {
	right: 50%;
}
.pn_detail .detailNextBlk a::after {
	right: calc(50% - 7px);
}
@media screen and (min-width: 1025px) {
	.pn_detail .detailNextBlk a:hover::before, .pn_detail .detailNextBlk a:hover::after {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
}
.pn_detail .detailBackBlk {}
.pn_detail .detailBackBlk a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	height: 100%;
	font-size: 13px;
}
@media screen and (max-width: 1024px) {
	.pn_detail {
		margin: 60px 0 0;
	}
	.pn_detail > * {}
	.pn_detail .detailpreviousBlk, .pn_detail .detailNextBlk {
		width: 55px;
	}
	.pn_detail .detailpreviousBlk a, .pn_detail .detailNextBlk a {
		width: 100%;
	}
	.pn_detail a {}
	.pn_detail .detailpreviousBlk {}
	.pn_detail .detailpreviousBlk a {}
	.pn_detail .detailpreviousBlk a::before, .pn_detail .detailpreviousBlk a::after {}
	.pn_detail .detailpreviousBlk a::before {}
	.pn_detail .detailpreviousBlk a::after {}
	.pn_detail .detailNextBlk {}
	.pn_detail .detailNextBlk a {}
	.pn_detail .detailNextBlk a::before, .pn_detail .detailNextBlk a::after {}
	.pn_detail .detailNextBlk a::before {}
	.pn_detail .detailNextBlk a::after {}
	.pn_detail .detailBackBlk {}
	.pn_detail .detailBackBlk a {
		width: 180px;
	}
}
/*
Form
====================================*/
/*
Input
----------------------------------------------------------------*/
.form_input {display: grid;gap: 20px;}
.form_input .inputRow {
	display: flex;
	gap: 75px;
	justify-content: space-between;
}
.form_input .inputItem {
	position: relative;
	display: flex;
	align-items: start;
	gap: 20px;
	width: 215px;
	padding: 15px 0;
}
.form_input .inputItem ._must {
	font-size: 15px;
	color: #fff;
	background-color: var(--mainColor);
	padding: 2px 15px;
	border-radius: 40px;
}
.form_input .inputValue {
	flex: 1;
	/* padding: 15px; */
	display: flex;
	align-items: center;
}
.form_input .wpcf7-form-control-wrap {
	width: 100%;
	background-color: #fff;
}
/* input[text, tel, email], textarea */
.form_input input[type="text"], .form_input input[type="tel"], .form_input input[type="email"], .form_input textarea {
	/* padding: 0px 10px; */
}
.form_input textarea {
	width: 100% !important;
	height: auto;
	padding: 10px;
}
.form_input input::placeholder, .form_input textarea::placeholder {
	font-size: 14px;
	color: #b4b7bc;
}
/* input[checkbox, radio] */
.form_input input[type="checkbox"], .form_input input[type="radio"] {
	width: 16px;
	height: 16px;
	cursor: pointer;
}
.form_input .wpcf7-form-control {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 10px 0;
	width: 100%;
	height: 55px;
	border-radius: 5px;
	border: solid #C4C4C4 1px;
	padding: 0px 10px;
	padding: 15px 10px;
}
.form_input ._height  .wpcf7-form-control{
    min-height: 230px;
}
.form_input .wpcf7-list-item {
	margin: 0;
}
.form_input .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
.form_input .wpcf7-list-item-label {
	font-size: 14px;
}
/* input[file] */
.form_input input[type="file"] {
	font-size: 14px;
}
/* validation */
.form_input .wpcf7-not-valid-tip {
	width: 100%;
	font-size: 14px;
	margin: 10px 0 0;
}
/* turnstile */
.form_turnstile {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}
/* agree */
.form_agree {
	margin: 35px 0 0;
	text-align: center;
}
.form_agree .wpcf7-list-item {
	margin: 0;
}
.form_agree label {
	display: flex;
	align-items: center;
	gap: 12px;
}
.form_agree .wpcf7-list-item-label {
	font-size: 13px;
}
.form_agree input[type="checkbox"] {
	width: 20px;
	height: 20px;
}
/* submit */
.form_submit {
	position: relative;
	width: 350px;
	text-align: center;
	margin: 40px auto 0;
}
.form_submit input[type="submit"] {
	width: 100%;
	height: 80px;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	transition: .3s;
	background: linear-gradient(90deg, #E60019, #FB7F4B);
	border-radius: 100px;
}
@media screen and (min-width: 1025px) {
	.form_submit input[type="submit"]:hover {
		opacity: .7;
	}
}
.form_submit .wpcf7-spinner {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
	.form_input {
	}
	.form_input .inputRow {
		flex-flow: wrap;
		gap: 10px;
	}
	.form_input .inputRow:last-child {
		border-bottom: transparent;
	}
	.form_input .inputItem {
		justify-content: flex-start;
		width: 100%;
		padding: initial;
		border-right: transparent;
		gap: 20px;
	}
	.form_input .inputItem ._must {
    font-size: 13px;
    padding: 2px 10px;
}
	.form_input .inputValue {}
	.form_input .wpcf7-form-control-wrap {}
	/* input[text, tel, email], textarea */
	.form_input input[type="text"], .form_input input[type="tel"], .form_input input[type="email"], .form_input textarea {
		font-size: 16px;
	}
	.form_input textarea {}
	.form_input input::placeholder, .form_input textarea::placeholder {}
	/* input[checkbox, radio] */
	.form_input input[type="checkbox"], .form_input input[type="radio"] {}
	.form_input .wpcf7-form-control {}
	.form_input .wpcf7-list-item {}
	.form_input .wpcf7-list-item label {}
	.form_input .wpcf7-list-item-label {}
	/* input[file] */
	.form_input input[type="file"] {}
	/* validation */
	.form_input .wpcf7-not-valid-tip {}
	/* agree */
	.form_agree {}
	.form_agree .wpcf7-list-item {}
	.form_agree label {}
	.form_agree .wpcf7-list-item-label {}
	.form_agree input[type="checkbox"] {}
	/* submit */
	.form_submit {
		margin: 30px auto 0;
		width: 100%;
		max-width: var(--maxWidth300);
	}
	.form_submit input[type="submit"] {
		height: 65px;
	}
	.form_submit .wpcf7-spinner {}
}
/*
Privacy Policy
----------------------------------------------------------------*/
.form_pp {
	margin: 60px 0 0;
	width: 100%;
	height: 270px;
	border-radius: 5px;
	background: #fff;
	border: 1px solid #cecece;
	padding: 30px 33px;
	overflow: auto;
}
.form_pp dl {}
.form_pp dt {
	font-size: 15px;
}
.form_pp dd {
	font-size: 13px;
	line-height: 22px;
	margin: 20px 0 0;
}
@media screen and (max-width: 1024px) {
	.form_pp {
		margin: 50px 0 0;
		width: 100%;
		height: 250px;
		padding: 30px 15px;
	}
	.form_pp dl {}
	.form_pp dt {
		font-size: 15px;
	}
	.form_pp dd {}
}
/*
Thanks & 404
====================================*/
.thanks_section {
	overflow: hidden;
	padding: 0 0 150px;
}
.thanks_section .inner {}
.thanks_section .blk {}
.thanks_section .headBlk {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding: 20px 0;
	background: var(--contentsBg);
}
.thanks_section .head {
	text-align: center;
	font-size: 24px;
}
.thanks_section .mainBlk {
	margin: 35px 0 0;
}
.thanks_section .mainDesc {
	font-size: 14px;
	line-height: 26px;
	text-align: center;
}
.error_section {
	overflow: hidden;
	padding: 80px 0 150px;
}
.error_section .inner {}
.error_section .blk {}
.error_section .headBlk {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding: 20px 0;
	background: var(--contentsBg);
}
.error_section .head {
	text-align: center;
	font-size: 30px;
	font-weight: 600;
}
.error_section .head span {
	font-size: 22px;
	display: block;
}
.error_section .mainBlk {
	margin: 35px 0 0;
}
.error_section .mainDesc {
	font-size: 14px;
	line-height: 26px;
	text-align: center;
}
.thanks_section .linkBlk, .error_section .linkBlk {
	text-align: center;
	margin: 45px 0 0;
}
.thanks_section .linkBlk a, .error_section .linkBlk a {
	display: inline-block;
	width: 250px;
	line-height: 40px;
	font-size: 14px;
	border: solid 1px var(--mainColor);
	border-radius: 30px;
}
@media screen and (min-width: 1025px) {
	.thanks_section .linkBlk a:hover, .error_section .linkBlk a:hover {
		opacity: 1;
		background: var(--mainColor);
		color: #fff;
	}
}
@media screen and (max-width: 1024px) {
	.thanks_section {
		padding: 0 0 90px;
	}
	.thanks_section .inner {}
	.thanks_section .blk {}
	.thanks_section .headBlk {
		padding: 15px 0;
	}
	.thanks_section .head {
		text-align: center;
		font-size: 20px;
	}
	.thanks_section .mainBlk {
		margin: 30px 0 0;
	}
	.thanks_section .mainDesc {
		line-height: 24px;
	}
	.thanks_section .linkBlk {
		margin: 40px 0 0;
	}
	.error_section {
		padding: 40px 0 90px;
	}
	.error_section .inner {}
	.error_section .blk {}
	.error_section .headBlk {}
	.error_section .head {
		font-size: 24px;
	}
	.error_section .head span {
		font-size: 16px;
	}
	.error_section .mainBlk {
		margin: 30px 0 0;
	}
	.error_section .mainDesc {
		line-height: 24px;
	}
	.thanks_main .linkBlk a, .error_section .linkBlk a {}
}
/*====================================

3. Header

====================================*/
.header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	width: 100%;
	height: 100px;
	height: clamp(5rem, 4.432rem + 2.42vw, 6.25rem);
	background: white;
}
.header .inner {
	height: 100%;
	padding: 0 30px;
}
.header .blk {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 30px;
	height: 100%;
}
.header .logoBlk {
	flex-shrink: 0;
	display: flex;
}
.header .logoBlk a {}
.header .logoBlk a img {
	height: 28px;
	/* height: clamp(2.375rem, 0.977rem + 2.18vw, 2.75rem); */
}
@media screen and (min-width: 1025px) {
	.header .menuBlk {
		display: flex;
		flex-shrink: 0;
		height: 100%;
	}
	.header .menuBlk nav {}
	.header .menuBlk nav > ul {
		display: flex;
		gap: 30px;
		gap: clamp(1.25rem, -1.08rem + 3.64vw, 1.875rem);
		height: 100%;
	}
	.header .menuBlk nav > ul > li {
		position: relative;
		display: flex;
		align-items: center;
		height: 100%;
	}
	.header .menuBlk nav > ul > li > a {
		font-size: 16px;
		font-size: clamp(0.875rem, 0.143rem + 1.14vw, 1rem);
		font-weight: bold;
	}
	.header .menuBlk nav > ul > li._interview > a {
		pointer-events: none;
		cursor: default;
	}
	.header .menuBlk nav > ul > li > a._active {
		color: var(--mainColor);
	}
	.header .menuBlk nav > ul > li > a:hover {}
	@media screen and (min-width: 1025px) {
		.header .menuBlk nav > ul > li a:hover {
			color: var(--mainColor);
		}
	}
	.header .menuBlk nav > ul > li > ul {
		position: absolute;
		top: 80%;
		left: -30px;
		left: clamp(-1.25rem, 1.08rem + -3.64vw, -1.875rem);
		display: flex;
		gap: 15px;
		flex-direction: column;
		background: #fff;
		box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
		z-index: 1;
		padding: clamp(1.25rem, -1.08rem + 3.64vw, 1.875rem);
		min-width: 220px;
		opacity: 0;
		visibility: hidden;
		transition: .3s;
		pointer-events: none;
		border-radius: 10px;
	}
	.header .menuBlk > nav > ul > li._parent:hover > ul {
		top: 100%;
		opacity: 1;
		visibility: visible;
		pointer-events: initial;
	}
	.header .menuBlk nav > ul > li > ul > li {}
	.header .menuBlk nav > ul > li > ul > li > a {
		font-size: 14px;
	}
	.header .menuBlk nav > ul > li > ul > li > a:hover {}
	.header .menuBlk nav > ul > li._contact {}
	.header .menuBlk nav > ul > li._contact._tel {}
	.header .menuBlk nav > ul > li._contact._mail {}
	.header .menuBlk nav > ul > li._contact a {
		display: flex;
		align-items: center;
	}
	.header .menuBlk nav > ul > li._contact._tel a {
		padding: 0 0 0 20px;
		line-height: 1;
		font-size: 26px;
		font-size: clamp(1.5rem, 1.034rem + 0.73vw, 1.625rem);
		font-weight: 300;
		background-image: url(./images/icon_tel01_black.svg);
		background-repeat: no-repeat;
		background-position: left top 80%;
		background-size: 16px;
		background-size: clamp(0.938rem, 0.705rem + 0.36vw, 1rem);
	}
	.header .menuBlk nav > ul > li._contact._mail a {
		display: grid;
		width: 190px;
		width: clamp(10rem, -0.982rem + 17.14vw, 11.875rem);
		height: 50px;
		height: clamp(2.813rem, 1.648rem + 1.82vw, 3.125rem);
		font-size: 16px;
		font-size: clamp(0.875rem, 0.409rem + 0.73vw, 1rem);
		color: white;
		background-color: var(--mainColor);
		border-radius: 100px;
	}
	.header .menuBlk nav > ul > li._contact._mail a._blue{
		background-color: var(--mainColor2);
	}
	.header .menuBlk nav > ul > li._contact._mail > a:before, .header .menuBlk nav > ul > li._contact._mail > a:after {
		content: '';
		position: absolute;
		top: 50%;
		transform: translate(0%, -50%);
		display: inline-block;
		background: #fff;
	}
	.header .menuBlk nav > ul > li._contact._mail > a:before {
		height: 3px;
		width: 20px;
		right: 20px;
	}
	.header .menuBlk nav > ul > li._contact._mail > a:after {
		width: 3px;
		height: 20px;
		right: 28px;
	}
	.header .menuBlk nav > ul > li._contact._mail > a:hover{
		opacity:1;
	}
	.header .menuBlk nav > ul > li._contact._mail > a > span {
		line-height: 1;
		padding: 0 20px 0 30px;
	}
	.header .entryMenu{
		position: relative;
	
		.entryBlk{
			position: absolute;
			top: 140px;
			right: -30px;
			background: #fff;
			border-radius: 10px;
			box-shadow: 0px 3px 20px rgba(99, 55, 107, 0.1);
			display: flex;
			flex-direction: column;
			justify-content: center;
			gap: 10px;
			padding: 30px 15px;
			opacity: 0;
			visibility: hidden;
			transform: translateY(10px);
			transition: .3s;
			z-index: 100;

			a{
				display: block;
				width:200px;
				padding: 0 0 0 25px;
				color: #333;
				font-weight: bold;
				text-decoration: none;
				background-image: url(./images/icon_arrow02_white.svg);
				background-repeat: no-repeat;
				background-size: inherit;
				background-position: right 25px center;
			}
		}
	}
	.entryMenu.is-open{
		.entryBlk{
			opacity: 1;
			visibility: visible;
			transform: translateY(0);
			a{}
		}
	}
}
@media screen and (max-width: 1024px) {
	.header {
		height: 60px;
		box-shadow: none;
	}
	.header .inner {
		padding: 0 5px 0 4%;
	}
	.header .blk {
    gap: initial;
}
	.header .logoBlk {}
	.header .logoBlk a {}
	.header .logoBlk a img {
		height: 18px;
	}
	.header .menuBlk {
		position: absolute;
		top: var(--headerH, 55px);
		left: 0;
		height: calc(100dvh - var(--headerH, 55px));
		z-index: -1;
		width: 100%;
		background: white;
		overflow: auto;
		padding: 30px 0 60px;
		opacity: 0;
		visibility: hidden;
		transition: .3s;
		display: block;
		flex-shrink: unset;
	}
	.header .menuBlk::-webkit-scrollbar {
		display: none;
	}
	.header._menuOpen .menuBlk {
		opacity: 1;
		visibility: visible;
	}
	.header .menuBlk > * {
		width: 92%;
		max-width: var(--maxWidth768);
		margin: auto;
	}
	.header .menuBlk nav {}
	.header .menuBlk nav > ul {
		display: block;
		height: auto;
	}
	.header .menuBlk nav > ul > li {
		position: relative;
		display: block;
		height: auto;
	}
	.header .menuBlk nav > ul > li > span {
		position: absolute;
		top: 0;
		right: 0;
		height: 100%;
		width: 70px;
	}
	.header .menuBlk nav > ul > li > a {
		display: flex;
		font-size: 15px;
		padding: 15px 0px;
		border-bottom: 1px solid #c4c4c4;
	}
	.header .menuBlk nav > ul > li._parent > a {
		position: relative;
		pointer-events: initial;
	}
	.header .menuBlk nav > ul > li::before {
		content: '';
		border-style: solid;
		position: absolute;
		top: 25px;
		right: -15px;
		transform: translateY(0%);
		transition: .3s;
		transform: translate(0, -50%);
		width: 60px;
		height: 60px;
		background-image: url(./images/icon_arrow02_red.svg);
		background-repeat: no-repeat;
		background-position: center;
	}
	.header .menuBlk nav > ul > li._parent::before {
		/* transform: translateY(0%); */
	}
	.header .menuBlk nav > ul > li._parent._childOpen::before {
		/* transform: rotateX(180deg); */
	}
	.header .menuBlk nav > ul > li > ul {
		display: flex;
		flex-direction: column;
		gap: 0;
		margin: 0;
		/* padding: 0 0 0 20px; */
		transition: .3s;
		position: unset;
		background: unset;
		box-shadow: unset;
		min-width: unset;
		opacity: unset;
		visibility: unset;
	}
	.header .menuBlk nav > ul > li > ul {
		overflow-y: scroll;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	.header .menuBlk nav > ul > li > ul::-webkit-scrollbar {
		display: none;
	}
	.header .menuBlk > nav > ul > li._parent:hover > ul {
		top: 100%;
		opacity: unset;
		visibility: unset;
	}
	.header .menuBlk nav > ul > li._childOpen > ul {
		gap: 10px 0;
		margin: 15px 0 20px;
	}
	.header .menuBlk nav > ul > li > ul > li {
		height: 0;
		transition: .3s;
	}
	.header .menuBlk nav > ul > li._childOpen > ul > li {
		height: auto;
	}
	.header .menuBlk nav > ul > li > ul > li > a {
		font-size: 13px;
		font-weight: 300;
		opacity: 0;
		visibility: hidden;
	}
	.header .menuBlk nav > ul > li._childOpen > ul > li > a {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
	.header .menuBlk nav > ul > li._contact {
		border-bottom: none;
	}
	.header .menuBlk nav > ul > li._contact > a {
		width: 250px !important;
		margin: auto;
	}
	.header .menuBlk nav > ul > li._contact._tel {
		margin: 40px 0 0;
	}
	.header .menuBlk nav > ul > li._contact._tel > a {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 5px 0;
		flex-flow: wrap;
		padding: 15px 0;
		font-size: 26px;
		line-height: 23px;
		font-weight: 500;
		border: 1px solid;
		background: unset;
	}
	.header .menuBlk nav > ul > li._contact._tel > a > ._num {
		padding: 0 0 0 20px;
		background-image: url(./images/icon_tel01_black.svg);
		background-repeat: no-repeat;
		background-position: left top 100%;
		background-size: 15px;
	}
	.header .menuBlk nav > ul > li._contact._tel > a > ._time {
		width: 100%;
		font-size: 14px;
		text-align: center;
		color: black;
		line-height: 1;
		margin: 7px 0 0;
	}
	.header .menuBlk nav > ul > li._contact._tel > a > img {
		height: 20px;
		margin: 4px 0 0;
		margin: 0 2px 0 0;
	}
	.header .menuBlk nav > ul > li._contact._mail {
		margin: 15px auto 0;
	}
	.header .menuBlk nav > ul > li._contact._mail > a {
		display: grid;
		place-items: center;
		padding: 15px 0;
		box-shadow: 0 3px 6px rgb(0 0 0 / 18%);
		height: auto;
		color: white;
		background: var(--mailBtnBg);
	}
	.header .menuBlk nav > ul > li._contact._mail > a > img {
		height: 20px;
	}
	.header .menuBlk nav > ul > li._contact._mail > a > span {
		padding: 27px 0 0;
		background-image: url(./images/icon_mail01_white.svg);
		background-repeat: no-repeat;
		background-position: left 50% top;
		background-size: 25px;
	}
	.header .menuBlk nav > ul > li.entryMenu {
		margin:30px 0 0;
		&::before{
			content:initial;
		}
		.entryBlk{
			display:flex;
			flex-flow: column;
			align-items: center;
			justify-content: center;
			gap: 10px;
			a{
			    width: 100%;
			    max-width: 300px;
			    padding: 15px 25px;
			    color: #fff;
			    background-color: var(--mainColor);
			    border-radius: 100px;
			    FONT-WEIGHT: 600;
			    background-image: url(./images/icon_arrow02_white.svg);
			    background-repeat: no-repeat;
			    background-size: inherit;
			    background-position: right 25px center;
			}
			a._blue{
			    background-color: var(--mainColor2);
			}
		}
	}
	.header .mbMenuBlk {
		position: relative;
		height: 100%;
		max-height: 30px;
		min-width: 55px;
		aspect-ratio: 4/3;
		cursor: pointer;
		background-color: var(--mainColor);
		border-radius: 15px;
	}
	/*.header .mbMenuBlk::before {
	content: 'MENU';
	color: #363A4D;
	font-size: 10px;
	position: absolute;
	top: 0;
	right: 0;
	right: 14px;
	top: 11px;
}*/
	.header .mbMenuBdrBlk, .mbMenuBdrBlk span {
		display: inline-block;
		box-sizing: border-box;
	}
	.header .mbMenuBdrBlk {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 25px;
		height: auto;
		transform: translate(-50%, -50%);
	}
	.header .mbMenuBdrBlk:focus:not(:focus-visible) {
		outline: none;
	}
	.header .mbMenuBdrBlk::before, .mbMenuBdrBlk::after {
		content: '';
	}
	.header .mbMenuBdrBlk::before, .mbMenuBdrBlk::after, .mbMenuBdrBlk span {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, 0);
		width: 100%;
		max-width: 18px;
		height: 1px;
		background: #fff;
		border-radius: 4px;
		transition: .2s;
	}
	.header .mbMenuBdrBlk::before {
		transform: translateX(-50%) rotate(45deg) scaleX(0);
	}
	.header .mbMenuBdrBlk::after {
		transform: translateX(-50%) rotate(-45deg) scaleX(0);
	}
	.header .mbMenuBdrBlk span:nth-of-type(1) {
		top: -5px;
		transition-delay: .2s;
	}
	.header .mbMenuBdrBlk span:nth-of-type(2) {
		top: 0px;
		transition-delay: .2s;
	}
	.header .mbMenuBdrBlk span:nth-of-type(3) {
		top: 5px;
		transition-delay: .2s;
	}
	.header._menuOpen .mbMenuBdrBlk::before {
		transform: translateX(-50%) rotate(45deg) scaleX(1);
		transition-delay: .2s;
	}
	.header._menuOpen .mbMenuBdrBlk::after {
		transform: translateX(-50%) rotate(-45deg) scaleX(1);
		transition-delay: .2s;
	}
	.header._menuOpen .mbMenuBdrBlk span {
		transform: scaleX(0);
		transition-delay: 0s;
	}
	.header .snsBlk {
    margin: 30px auto 0;
}
	.header .snsBlk > ul {
		gap: 20px;
		justify-content: center;
	}
	.header .snsBlk > ul > li {}
	.header .snsBlk > ul > li > a {}
	.header .snsBlk > ul > li > a img {
		height: 25px;
	}
}
/*====================================

4. Main

====================================*/
main {
	/* margin: var(--headerH, clamp(4.063rem, 0.568rem + 5.45vw, 5rem)) 0 0; */
	overflow: hidden;
}
@media screen and (max-width: 1024px) {
	main {
		/* margin: var(--headerH, 55px) 0 0; */
	}
}
/*====================================

5. Footer

====================================*/
.footer {
	position: relative;
	padding: 200px 0 75px;
	background: #303236;
}
.footer .inner {}
.footer .blk {}
.footer .entryBlk{
    position: absolute;
    top: -75px;
    left: 50%;
    transform: translate(-50%, 0px);
    width: 1200px;
    width: clamp(59.375rem, -32.143rem + 142.86vw, 75rem);
    max-width: 100%;
    border-radius: 20px;
    background: linear-gradient(to right, #E60019 0%, #FC824C 100%);
}
.footer .entryLink{
    position: relative;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 25px;
    font-family: Montserrat;
    color: #fff;
    FONT-WEIGHT: 500;
    font-size: 50px;
    padding: 65px 65px 65px 80px;
	&::before{
		content:"";
		position:absolute;
		top: 50%;
		right: 80px;
		transform: translate(0, -50%);
		width: 60px;
		height: 60px;
		border-radius: 40px;
		background-color: #fff;
		background-image: url(./images/icon_arrow02_red.svg);
		background-repeat: no-repeat;
		background-position: center;
	}
	span{
		font-size:20px;
	}
	}
.footer .mainBlk {
	justify-content: space-between;
	padding: 0 60px 60px 0;
	border-bottom: solid 1px #656565;
}
.footer .mainLeftBlk {}
.footer .mainLogoBlk {}
.footer .mainLogoBlk a {}
.footer .mainLogoBlk img {
	height: 28px;
}
.footer .mainInfoBlk {
	margin: 25px 0 0;
}
.footer .mainInfoBlk p {
	font-size: 14px;
	line-height: 26px;
	color: #fff;
}
.footer .mainInfoBlk p a {}
.footer .menuBlk {
}
.footer .menuBlk > ul {
	display: grid;
	grid-template-columns: repeat(3, max-content);
	gap: 40px;
}
.footer .menuBlk > ul > li {}
.footer .menuBlk > ul > li > a {
	font-weight: 700;
}
.footer .menuBlk > ul > li a {
	color: #fff;
}
.footer .menuBlk > ul > li > ul {
	display: grid;
	gap: 8px;
	margin: 15px 0 0;
}
.footer .menuBlk > ul > li > ul > li {}
.footer .menuBlk > ul > li > ul > li > a {
	font-size: 14px;
	font-weight: normal;
}
.footer .underFlexOutline{
    margin: 25px 0 0;
}
.footer .snsBlk {
}
.footer .snsBlk > ul {
	gap: 20px;
	justify-content: center;
}
.footer .snsBlk > ul > li {}
.footer .snsBlk > ul > li > a {
    color: #fff;
}
.footer .snsBlk > ul > li > a img {
	height: 25px;
}
.footer .btmBlk {}
.footer .copyrightBlk {
}
.footer .copyrightBlk p {
	font-size: 15px;
	color: #BBB8B8;
	text-align: center;
}
.footer .recaptchaBlk {
	margin: 6px 0 0;
}
.footer .recaptchaBlk p {
	font-size: 10px;
	color: #fff;
	text-align: center;
}
@media screen and (max-width: 1024px) {
	.footer {
	padding: 100px 0 50px;
	}
	.footer .inner {}
	.footer .blk {}
	.footer .entryBlk{
	    top: -75px;
	    width: calc(100% - 30px);
	    max-width: 880px;
	    margin: 0 auto 15px;
	    border-radius: 15px;
	}
	.footer .entryLink{
		flex-flow: column;
		align-items: start;
		gap: 10px;
		font-size: 35px;
		line-height: 1;
		padding: 30px 25px;
		
		&::before{
		    right: 20px;
		    width: 50px;
		    height: 50px;
		}
	}
	.footer .entryLink span{
	    font-size: 14px;
	}
	.footer .mainBlk {
		justify-content: center;
		gap: 35px;
		padding: 0 0 50px;
	}
	.footer .mainLeftBlk {
		order: 2;
		width: 100%;
	}
	.footer .mainLogoBlk {
		text-align: center;
	}
	.footer .mainLogoBlk a {}
	.footer .mainLogoBlk img {
		height: 23px;
	}
	.footer .underFlexOutline{
    flex-flow: column;
    align-items: center;
    gap: 25px;
    margin: 50px 0 0;
}
	.footer .mainInfoBlk {
		margin: 15px 0 0;
	}
	.footer .mainInfoBlk p {
		line-height: 1.6;
		text-align: center;
	}
	.footer .mainInfoBlk p a {}
	.footer .menuBlk {
		order: 1;
		width: 100%;
		flex: unset;
	}
	.footer .menuBlk {
		text-align: center;
	}
	.footer .menuBlk > ul {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		max-width: var(--maxWidth375);
		margin: auto;
		gap: 15px 0;
	}
	.footer .menuBlk > ul > li {
		text-align: center;
	}
	.footer .menuBlk > ul > li a {}
	.footer .menuBlk > ul > li > a {}
	.footer .menuBlk > ul > li > ul {
		display: none;
	}
	.footer .menuBlk > ul > li > ul > li {}
	.footer .menuBlk > ul > li > ul > li > a {}
	.footer .topSnsBlk {
		margin: 35px 0 0;
	}
	.footer .topSnsBlk > ul {
		gap: 20px;
	}
	.footer .topSnsBlk > ul > li {}
	.footer .topSnsBlk > ul > li > a {}
	.footer .topSnsBlk > ul > li > a img {
		height: 24px;
	}
	.footer .snsBlk {
	}
	.footer .copyrightBlk {
	}
	.footer .copyrightBlk p {}
	.footer .recaptchaBlk {}
	.footer .recaptchaBlk p {}
}
/*====================================

6. Common Style

====================================*/
/*
6.1 Single
====================================*/
.cmn_bgColor {
	background-color: var(--contentsBg);
}
.cmn_outer {
	padding: clamp(3.75rem, 2.898rem + 3.64vw, 5.625rem) 0;
}
.cmn_outer._top {
	padding: clamp(3.75rem, 2.898rem + 3.64vw, 5.625rem) 0 0;
}
.cmn_inner {
	max-width: 1300px;
	padding: 0 50px;
	margin: auto;
}
.cmn_inner._small {
	max-width: 1000px;
	padding: 0;
}
.cmn_link1 {
	display: inline-flex;
	align-items: center;
	width: min(260px, 100%);
	height: clamp(3.438rem, -0.223rem + 5.71vw, 4.063rem);
	padding: 20px 25px 20px 40px;
	color: #fff;
	font-weight: bold;
	background-color: var(--mailBtnBg);
	background-image: url(./images/icon_arrow02_white.svg);
	background-repeat: no-repeat;
	background-size: inherit;
	background-position: right 25px center;
	border-radius: 100px;
}
@media screen and (min-width: 1025px) {
	.cmn_link1:hover::before {
		right: 0px;
		opacity: 0;
	}
}
/*head*/
.cmn_head1 {
	font-size: 50px;
	FONT-WEIGHT: 600;
	.pointSpan{
	    font-family: Montserrat;
	    position: relative;
	    display: block;
	    font-size: 18px;
	    color: var(--mainColor);
	    padding: 0 0 0 25px;
	    FONT-WEIGHT: 500;
		&:before{
			content:"";
			position:absolute;
			top:50%;
			left:0;
			transform:translate(0, -50%);
			width:15px;
			height:2px;
			background-color:var(--mainColor2);
		}
	}
}
/*title*/
.cmn_title1 {
	font-size: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);
}
/*text*/
.cmn_text1 {
	font-size: clamp(0.875rem, 0.847rem + 0.12vw, 0.938rem);
	line-height: 28px;
}
@media screen and (max-width: 1024px) {
	.cmn_inner {
		width: 92%;
		max-width: var(--maxWidth768);
		padding: 0;
	}
	.cmn_link1 {
		max-width: var(--maxWidth300);
		padding: 15px 20px;
	}
	.cmn_head1 {
		font-size: 30px;
		.pointSpan{
			font-size: 16px;
			padding: 0 0 0 20px;
			&:before{
			    width: 13px;
			}
		}
	}
	/*text*/
	.cmn_text1 {
		line-height: 1.6;
	}
}
/*
6.2 Section
====================================*/
/* lower top */
.cmn_top {
	height: 535px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: left 30% center;
	&._interview{
		height: 920px;
	}
}
#about-us .cmn_top {
	background-image: url(./images/about_mv.webp);
}
#works .cmn_top {
	background-image: url(./images/works_mv.webp);
}
#info .cmn_top, #informationDetail .cmn_top, #entry .cmn_top, #job-description .cmn_top, #customDetail .cmn_top, #thanks .cmn_top {
	background-image: url(./images/under_mv.webp);
}
#interview01 .cmn_top {
	background-image: url(./images/interview01_mv.webp);
}
#interview02 .cmn_top {
	background-image: url(./images/interview02_mv.webp);
}
#interview03 .cmn_top {
	background-image: url(./images/interview03_mv.webp);
}
#interview04 .cmn_top {
	background-image: url(./images/interview04_mv.webp);
}
#interview05 .cmn_top {
	background-image: url(./images/interview05_mv.webp);
}
#interview06 .cmn_top {
	background-image: url(./images/interview06_mv.webp);
}
#interview07 .cmn_top {
	background-image: url(./images/interview07_mv.webp);
}
#interview08 .cmn_top {
	background-image: url(./images/interview08_mv.webp);
}
.cmn_top._small {
	height: 150px;
	background: var(--lowerTopBg);
}
.cmn_top .inner {
	height: 100%;
}
.cmn_top .blk {
	height: 100%;
}
.cmn_top .headBlk {
	height: 100%;
	display: flex;
	flex-flow: column;
	align-items: start;
	justify-content: center;
}
.cmn_top .head {
	line-height: 1;
	FONT-WEIGHT: 500;
}
.cmn_top .head .pointSpan {
	font-size: 20px;
	line-height: 1;
	padding: 0 0 0 35px;
	background-image: url(./images/icon_top_cmnHead.webp);
	background-repeat: no-repeat;
	background-size: 23px;
	background-position: left;
}
.cmn_top .head .mainSpan {
	display: block;
	font-family: Montserrat;
	font-size: 90px;
	line-height: 110px;
	padding: 10px 0 0;
}
.cmn_top .headBlk .breadcrumb{}
.cmn_top._interview .interviewBlk{
    margin: 70px 0 0;
}
.cmn_top._interview .interviewTtl{
    font-size: 35px;
    FONT-WEIGHT: 600;
}
.cmn_top._interview .interviewDetailBlk{
    margin: 50px 0 0;
    gap: 20px;
    justify-content: start;
    align-items: start;
}
.cmn_top._interview .interviewDetailName{
    font-size: 28px;
    line-height: 1;
    FONT-WEIGHT: 600;
}
.cmn_top._interview .interviewDetailGroup{
    padding: 0 0 0 30px;
    border-left: 1px solid #C4C4C4;
    font-size: 20px;
}
.cmn_top._interview .interviewDetailGroup span{
    display: block;
    font-size: 18px;
}
/* menu */
.cmn_menu{
	margin:-105px 0 0;
	background-color:#fff;
	height: 145px;
	border-radius: 80px 80px 0 0;
	
	.inner{
	    height: 100%;
	}
	.blk{
	    height: 100%;
	}
	.flexBlk{
	    height: 100%;
	    align-items: center;
	    justify-content: center;
	    gap: 60px;
	}
	.flexLink{
	    background-image: url(./images/icon_arrow03_red.svg);
	    background-repeat: no-repeat;
	    background-size: inherit;
	    background-position: right center;
	    padding: 0 25px 0 0;
	}
}
#info .cmn_menu, #informationDetail .cmn_menu, #entry .cmn_menu, #job-description .cmn_menu, #customDetail .cmn_menu,
#interview01 .cmn_menu, #interview02 .cmn_menu, #interview03 .cmn_menu, #interview04 .cmn_menu, #interview05 .cmn_menu
, #interview06 .cmn_menu, #interview07 .cmn_menu, #interview08 .cmn_menu{
	margin: -90px 0 0;
	height: 95px;
}
/* table */
.cmn_table > dl {
	border-top: 1px solid #C4C4C4;
	border-bottom: 1px solid #C4C4C4;
}
.cmn_table > dl > div {
	display: flex;
	flex-flow: wrap;
	border-bottom: 1px solid #C4C4C4;
}
.cmn_table > dl > div:last-child {
	border-bottom: transparent;
}
.cmn_table > dl > div > * {
	padding: 25px 30px;
}
.cmn_table > dl > div > dt {
	width: 250px;
	background: var(--contentsBg);
	font-weight: 500;
}
.cmn_table > dl > div > dd {
	flex: 1;
	line-height: 28px;
}
.cmn_table > dl > div > dd a {
	color: var(--linkTextColor);
}
.cmn_table > dl > div > dd a:not([href^="tel"]) {
	text-decoration: underline;
}
.cmn_table > dl > div > dd a[href^="tel"] {
	color: inherit;
}
@media screen and (max-width: 1024px) {
	.cmn_top {
		height: 280px;
		height: initial;
		padding: 80px 0 90px;
		background-position: right 30% center;
		&._interview{
			height: auto;
			
			
			
			
			
			.inner{}
			.blk{}
			.headBlk{
			    /* padding: 80px 0 90px; */
			}
			.head{}
			.pointSpan{}
			.mainSpan{}
			.imgBlk{
				margin: 40px calc(50% - 50vw) 0;
				width: 100vw;
			}
		}
	}
	#about-us .cmn_top {
		background-image: url(./images/about_mv_sp.webp);
		background-position: right bottom;
	}
	#works .cmn_top {
		background-image: url(./images/works_mv_sp.webp);
		background-position: right bottom;
	}
	#info .cmn_top, #informationDetail .cmn_top, #entry .cmn_top, #job-description .cmn_top, #customDetail .cmn_top {
		background-image: url(./images/under_mv_sp.webp);
		background-position: right bottom;
	}
	#interview01 .cmn_top, #interview02 .cmn_top, #interview03 .cmn_top, #interview04 .cmn_top,
	#interview05 .cmn_top, #interview06 .cmn_top, #interview07 .cmn_top, #interview08 .cmn_top
	{
		background-image: url(./images/top_aboutBg.webp);
	}
	.cmn_top._small {
		height: 100px;
	}
	.cmn_top .inner {}
	.cmn_top .blk {}
	.cmn_top .headBlk {
	    justify-content: start;
	    padding: initial;
	}
	.cmn_top .head {
		font-size: 24px;
		line-height: 1;
	}
	.cmn_top .head .pointSpan {
	    font-size: 15px;
	    padding: 0 0 0 25px;
	    background-size: 19px;
	}
	.cmn_top .head .mainSpan {
	    font-size: 40px;
	    line-height: 1.6;
	}
	.cmn_top .headBlk .breadcrumb{
	    padding: initial;
	}
	.cmn_top._interview .interviewBlk{
	    margin: 45px 0 0;
	    width: 100%;
	}
	.cmn_top._interview .interviewTtl{
	    font-size: 25px;
	}
	.cmn_top._interview .interviewDetailBlk{
	    margin: 20px 0 0;
	    gap: 15px;
	}
	.cmn_top._interview .interviewDetailName{
	    font-size: 18px;
	}
	.cmn_top._interview .interviewDetailGroup{
	    padding: 0 0 0 15px;
	    font-size: 15px;
	}
	.cmn_top._interview .interviewDetailGroup span{
	    font-size: 14px;
	}
	/* menu */
	.cmn_menu{
		margin: -40px 0 0;
		height: 100px;
		border-radius: 40px 40px 0 0;
		.inner{}
		.blk{}
		.flexBlk{
		    gap: 20px 40px;
		    align-items: end;
		    height: auto;
		    padding: 40px 0 0;
		}
		.flexLink{
		    padding: 0 20px 0 0;
		}
	}
	#info .cmn_menu, #informationDetail .cmn_menu, #entry .cmn_menu, #job-description .cmn_menu, #customDetail .cmn_menu,
#interview01 .cmn_menu, #interview02 .cmn_menu, #interview03 .cmn_menu, #interview04 .cmn_menu, #interview05 .cmn_menu
, #interview06 .cmn_menu, #interview07 .cmn_menu, #interview08 .cmn_menu{
	margin: -40px 0 0;
	height: 40px;
}
	/* table */
	.cmn_table > dl {
		border: 1px solid #d7dce2;
		background: white;
	}
	.cmn_table > dl > div {
	}
	.cmn_table > dl > div:last-child {
		border-bottom: transparent;
	}
	.cmn_table > dl > div > * {
		padding: 20px 15px;
	}
	.cmn_table > dl > div > dt {
		width: 100%;
	}
	.cmn_table > dl > div > dd {
		flex: unset;
		width: 100%;
		line-height: 1.6;
	}
	.cmn_table > dl > div > dd a {}
	.cmn_table > dl > div > dd a[href^="tel"] {}
}
/*====================================

7. Module

====================================*/
/*modal*/
.mod_modal {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100dvh;
	padding: 0 50px;
	background-color: rgb(51, 51, 51, 65%);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
@media screen and (max-width: 1024px) {
	.mod_modal {
		padding: initial;
	}
}
.mod_modal._open {
	transition: all .5s;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.mod_modal .inner {
	position: relative;
	min-width: 50%;
	max-height: 90%;
	padding: 60px clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
	border-radius: 10px;
	background: #fff;
}
@media screen and (max-width: 1024px) {
	.mod_modal .inner {
		max-width: initial;
	}
}
.mod_modal .blk {
	position: relative;
}
.mod_modal .closeBtn {
	position: absolute;
	top: 15px;
	right: 15px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 2px solid #000;
	background: #fff;
	pointer-events: auto;
	cursor: pointer;
	transition: all .3s;
}
.mod_modal .closeBtn::before, .mod_modal .closeBtn::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50%;
	height: 2px;
	background: #000;
	border-radius: 4px;
	transition: all .3s;
}
.mod_modal .closeBtn::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
.mod_modal .closeBtn::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (min-width: 1025px) {
	.mod_modal .closeBtn:hover {
		background: #000;
		opacity: 1;
	}
	.mod_modal .closeBtn:hover::before, .mod_modal .closeBtn:hover::after {
		background: #fff;
	}
}
.mod_modal .mainBlk {
	display: none;
	max-height: calc((100dvh - 10dvh) - 120px);
	padding: 0 clamp(0rem, -0.568rem + 2.42vw, 1.25rem);
	overflow: auto;
}
.mod_modal .mainBlk._active {
	display: block;
}
/* float link */
.mod_floatLink {
	top: 550px;
	z-index: 1;
}
.mod_floatLink a {
	display: grid;
	place-items: center;
	padding: 25px 0;
	width: 50px;
	font-size: 17px;
	color: white;
	background: var(--mailBtnBg);
}
/* contact */
.mod_contact {
	margin: 0 0 90px;
	padding: 70px 0;
	background: var(--contentsBg);
	.inner {}
	.blk {}
	.headBlk {
		.head {
			text-align:center;
			font-size: 50px;
			line-height: 1;
		}
		.headSpan {
			display: block;
			margin: 15px 0 0;
			font-size: 14px;
		}
		@media screen and (max-width: 1024px) {
			.head {
				font-size: 24px;
			}
			.headSpan {
				margin: 10px 0 0;
				font-size: 12px;
			}
		}
	}
	.mainBlk {
		margin: 30px 0 0;
		.mainDesc {
			text-align:center;
		}
	}
	.linkBlk {
		align-items:center;
		justify-content:center;
		gap:20px;
		margin:30px 0 0;
		a{
			display:flex;
			align-items:center;
			justify-content:center;
			width: 280px;
			height: 65px;
			border-radius: 50px;
			border: 1px solid #000;
		}
		a._tel{
			
		}
		a._mail{}
	}
}
/* rikunavi mynavi link */
.mod_rikunaviMynavi{
	margin:55px 0 0;
	.inner{}
	.blk{}
	.mainLinkBlk{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 30px;
		a{
			position: relative;
			display: flex;
			align-items:center;
			border: 1px solid #00ABEB;
			padding: 30px;
			border-radius: 5px;
			color: #00ABEB;
			font-size: 22px;
			font-weight: bold;
			&:before{
				content:"";
				position:absolute;
				top: 50%;
				right: 30px;
				transform: translate(0, -50%);
				width: 40px;
				height: 40px;
				border-radius: 40px;
				background-image: url(./images/icon_arrow01_white.svg);
				background-repeat: no-repeat;
				background-position: center;
				background-size: 20px;
				background-color: #00ABEB;
			}
			&._rikunavi{
			    border: 1px solid #005CE2;
			    color: #005CE2;
			    
			    
				&:before{
					background-color: #005CE2;
				}
			}
			span{
			    font-family: Montserrat;
			    padding: 5px 0 0 5px;
			}
			
		}
	}
}
@media screen and (max-width: 1024px){
	.mod_rikunaviMynavi{
		margin: 30px 0 0;
		.inner{}
		.blk{}
		.mainLinkBlk{
			grid-template-columns: repeat(1, 1fr);
			gap: 15px;
			a{
				padding:20px 15px;
				font-size: 18px;
				&:before{
					right: 20px;
					width: 35px;
					height: 35px;
				}
				&._rikunavi{
					&:before{}
					span{}
				}
			}
		}
	}
}
/*====================================

8. Page

====================================*/
/*
Top
====================================*/
/*common start*/
.top_cmn_head {
	.pointSpan{
		font-size: 20px;
		line-height: 1;
		padding: 0 0 0 35px;
		background-image: url(./images/icon_top_cmnHead.webp);
		background-repeat: no-repeat;
		background-size: 23px;
		background-position: left;
	}
	
	.mainSpan {
		display: block;
		font-family: Montserrat;
		font-size: 90px;
		line-height: 110px;
		font-weight: 500;
		padding: 10px 0 0;
	}
}
/*common end*/
.top_mv {
	position: relative;
	height: 100vh;
	height: 1075px;
	background-image: url(./images/top_mvBg.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	.topMvCatchBlk {
		position: absolute;
		bottom: 0;
		left: 75px;
		max-width: 715px;
	}
	.inner {
		height:100%;
	}
	.blk {
		position:relative;
		height:100%;
	}
	.mainBlk {
		overflow:hidden;
		height:100%;

	}
	.track {
		display:flex;
		width:max-content;
		height:100%;
		animation:topMvSlide 40s linear infinite;
	}
	.track ul {
		position:relative;
		display:flex;
		width:3450px;
		min-width:3450px;
		height:100%;
		align-items:center;
		/* ul同士の隙間 */
		margin-right:100px;
	}
	.track ul li {
		width:calc(100vw / 4);
	}
	.track ul li img {
		position:absolute;
		border-radius:15px;
		overflow:hidden;
	}
	.track ul li:nth-child(1) img {
		top:210px;
		left:0;
		width:395px;
	}
	.track ul li:nth-child(2) img {
		top:545px;
		left:305px;
		width:265px;
	}
	.track ul li:nth-child(3) img {
		top:125px;
		left:640px;
		width:700px;
	}
	.track ul li:nth-child(4) img {
		top:340px;
		left:1450px;
		width:550px;
	}
	.track ul li:nth-child(5) img {
		top:115px;
		left:2120px;
		width:245px;
	}
	.track ul li:nth-child(6) img {
		top:470px;
		left:2365px;
		width:330px;
	}
	.track ul li:nth-child(7) img {
		top:245px;
		left:2850px;
		width:600px;
	}
}
/*slider*/
.top_mv._slider {
	background: initial;
	.catchBlk {
		position: relative;
		z-index: 1;
		place-items: initial;
		justify-content: flex-start;
		align-items: center;
		padding: 0 0 0 10%;
		pointer-events: none;
		.desc {
			font-size: clamp(1.375rem, 0.58rem + 3.39vw, 3.125rem);
			color: #fff;
		}
	}
	.slideBlk {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		img {}
	}
}
.top_overview {
	padding:125px 0 85px;
	overflow: hidden;
	.inner {}
	.blk {
}
	.flexBlk{
		gap: 65px;
		.flexTxtBlk{
		    flex: 1;
		}
		.desc{
			font-size: 20px;
			line-height: 2;
		}
	}
	.flexImgOutline {
		position: relative;
		width: 35%;
		.flexImgBlk{
			width: calc(((100% - (15px * 2)) / 3));
			max-width: 180px;
			img{}
		}
		.flexImgBlk:nth-child(1){
		    margin-top: 35px;
		}
		.flexImgBlk:nth-child(2){
		    margin-top: 120px;
		}
		.flexImgBlk:nth-child(3){
		    margin-top: 70px;
		}
	}
	.flexImgWrap{
		position: relative;
		top: 0;
		left: 0;
		width: calc(var(--vw) * 50);
		.flexImgWrapBlk{
			gap:15px;
			justify-content: start;
		}
	}
	.loopBlk {
		display: flex;
		margin: 60px 0 0;
		}
		.loopBlk ul {
			display: flex;
			animation: css_textLoop 150s infinite linear 1s both;
			white-space: nowrap;
		}
		.loopBlk ul li {
	    font-family: Montserrat;
	    font-size: 120px;
	    line-height: 146px;
	    color: #E4EAEE;
	}
}
.top_common {
	padding:initial;
	.top_aboutImgBlk{}
	.inner {
	    position: relative;
	}
	.top_aboutPartsImgBlk, .top_worksPartsImgBlk{
		position:absolute;
	}
	.blk {}
	.headBlk {
		.head {}
	}
	.desc {
		margin:35px 0 0;
	}
	.mainLinkBlk {
		margin: 80px 0 0;
		text-align: center;
		
		a {}
	}
}
.top_about{
    padding: 0px 0 140px;
    background-image: url(./images/top_aboutBg.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
	.top_aboutPartsImgBlk{
		top: -290px;
        left: -279px;
        max-width: 495px;
	}
	.headBlk{
		position:relative;
		padding:120px 0 0;
	}
	.desc{
		max-width: 615px;
	}
	.top_aboutSubImgBlk{
		position:absolute;
		top:-110px;
		right:0;
		max-width:405px;
		max-width: clamp(15.625rem, -41.116rem + 88.57vw, 25.313rem);
		
		img {
		    border-radius: 15px;
		}
	}
	.mainBlk {
		display: grid;
		gap: 15px;
		margin: 90px 0 0;
		}
	.mainItemOutline{
	    display: grid;
	    grid-template-columns: repeat(2, 1fr);
	    gap: 15px;
	}
	.mainItemOutline._threeRows{
	    grid-template-columns: repeat(3, 1fr);
		.maimItemFlexPoint{
			font-size:20px;
			font-size: clamp(1rem, -0.464rem + 2.29vw, 1.25rem);
		}
		.maimItemFlexTxt{
		    font-family: Montserrat;
		    font-weight: 500;
		    margin: clamp(0.625rem, -1.205rem + 2.86vw, 0.938rem) 0 0;
		    font-size: 70px;
		    font-size: clamp(2.813rem, -6.339rem + 14.29vw, 4.375rem);
		    line-height: 1;
		}
		.maimItemFlexBlk{gap: 20px;}
		.maimItemFlexImgBlk{
			max-width:85px;
		}
		.maimItemTxtBlk{
			margin: 10px 0 0;
		}
	}
	.maimItemBlk{
		padding:40px 40px 45px;
		padding: clamp(1.875rem, -1.786rem + 5.71vw, 2.5rem) clamp(1.875rem, -1.786rem + 5.71vw, 2.5rem) clamp(1.875rem, -3.616rem + 8.57vw, 2.813rem);
		background-color:#fff;
		border-radius:15px;
		box-shadow: 0px 3px 20px rgba(99, 55, 107, 0.1);
	}
	.maimItemFlexBlk {
	    gap: 70px;
	    gap: clamp(2.5rem, -8.482rem + 17.14vw, 4.375rem);
	    align-items: start;
	}
	.maimItemFlexTxtBlk{
	    width: fit-content;
	}
	.maimItemFlexPoint{
		font-size:22px;
		font-size: clamp(1.125rem, -0.339rem + 2.29vw, 1.375rem);
		line-height: 1;
		FONT-WEIGHT: 600;
		color: var(--mainColor);
	}
	.maimItemFlexTxt{
		margin:15px 0 0;
		font-size:40px;
		font-size: clamp(1.875rem, -1.786rem + 5.71vw, 2.5rem);
		line-height: 58px;
		line-height: clamp(3rem, -0.661rem + 5.71vw, 3.625rem);
		font-weight: 600;
		
		span{
		    font-size: 28px;
		    padding: 0 0 0 5px;
		}
	}
	.maimItemFlexImgBlk{
	    flex: 1;
	    max-width: 105px;
	    max-width: clamp(5.625rem, 0.134rem + 8.57vw, 6.563rem);
	    min-height: clamp(5.625rem, 0.134rem + 8.57vw, 6.563rem);
	}
	.maimItemTxtBlk{
	    margin: 30px 0 0;
	    margin: clamp(0.625rem, -3.036rem + 5.71vw, 1.25rem) 0 0;
	}
	.maimItemTxt{
	    font-size: 15px;
	    line-height: 28px;
	}
	.mainTextBlk {
		flex: 1;
		
		.head {}
		.desc {
			margin: clamp(1.25rem, 0.966rem + 1.21vw, 1.875rem) 0 0;
		}
	}
	.mainImgWrap {
		position: relative;
		width: 50%;
		}
	.mainImgBlk {
		position: relative;
		top: 0;
		left: 0;
		width: calc(var(--vw)* 50);
		img {
			width: 100%;
			aspect-ratio: 16 / 10;
			min-height: 460px;
		}
	}
}
.top_works{
    position: relative;
    padding: 155px 0 60px;

	.top_worksPartsImgBlk{
		top: -115px;
		right: -90px;
		max-width: 405px;
	}
	.blk{
		background-image: url(./images/top_worksBg.webp);
	    background-repeat: no-repeat;
	    background-size: contain;
	    background-position: center;
	}
	.mainBlk {
	    display: grid;
	    grid-template-columns: repeat(4, 1fr);
	    gap: 20px;
	    gap: clamp(0.625rem, -3.036rem + 5.71vw, 1.25rem);
	    margin: 50px 0 0;
	}
	.mainItemBlk{
	    padding: 15px;
	    padding: clamp(0.625rem, -1.205rem + 2.86vw, 0.938rem);
	    background-color: #fff;
	    border-radius: 10px;
	    min-height: 405px;
	    min-height: clamp(22.5rem, 6.027rem + 25.71vw, 25.313rem);
	    box-shadow: 0px 3px 20px rgba(99, 55, 107, 0.1);
	}
	.mainItemHead{
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		padding: 15px;
		padding: clamp(0.625rem, -1.205rem + 2.86vw, 0.938rem);
		background-color: var(--mainColor2);
		font-size: 22px;
		font-size: clamp(1.125rem, -0.339rem + 2.29vw, 1.375rem);
		color: #fff;
		text-align: center;
		FONT-WEIGHT: 600;
		border-radius: 5px;

		span{
		    font-size: 16px;
		    font-size: clamp(0.875rem, 0.143rem + 1.14vw, 1rem);
		}
	}
	.mainImgBlk{
		margin: 20px 0 0;
		text-align: center;

		img{
			max-height: 120px;
			max-height: clamp(6.25rem, -1.071rem + 11.43vw, 7.5rem);
		}
	}
	.mainItemTxtBlk{
	    display: flex;
	    align-items: center;
	    flex-flow: wrap;
	    gap: 5px 10px;
	    margin: 15px 0 0;
	}
	.mainItemTxt{
	    padding: 10px 25px;
	    /* padding: 10px clamp(0.625rem, -4.866rem + 8.57vw, 1.563rem); */
	    font-size: clamp(0.875rem, 0.143rem + 1.14vw, 1rem);
	    border: 1px solid #D5DFE8;
	    background-color: #F5F9FB;
	    FONT-WEIGHT: 600;
	    border-radius: 50px;
	    font-size: 14px;
	}
	.mainItemBlk:last-child{
		position: relative;
		width: 100%;
		grid-column: 1 / -1;
		justify-content: start;
		align-items: center;
		gap: 40px;
		gap: clamp(1.25rem, -6.071rem + 11.43vw, 2.5rem);
		padding: 30px;
		padding: clamp(1.25rem, -2.411rem + 5.71vw, 1.875rem);
		min-height: initial;

		.mainItemTxtBlk{
		    margin: initial;
		}
		.mainImgBlk{
		    position: absolute;
		    bottom: 0;
		    right: 50px;
		    margin: initial;
		    max-width: 110px;
		    max-width: clamp(4.688rem, -8.125rem + 20vw, 6.875rem);
		}
	}
}
.top_slider{
	position:relative;
	padding: 120px 0 80px;
	.bgBlk{
	    position: absolute;
	    top: 50%;
	    display: block;
	    background-image: url(./images/top_aboutBg.webp);
	    background-repeat: no-repeat;
	    background-size: cover;
	    background-position: center;
	    width: 100%;
	    height: 100%;
	}
	.top_sliderPartsImgBlk{
		position:absolute;
		top: -125px;
		left: 120px;
		width: 165px;
	}
	.mainBlk {
		overflow: hidden;
		display: flex;
		gap: 65px;
		margin: 20px 0 0;
	}
	.mainBlk ul {
		display: flex;
		gap: 65px;
		align-items: center;
		animation: infinitySlide 25s infinite linear 0.5s both;
	}
	.mainBlk ul li {
		width: calc(100vw / 4);
	}
	.mainBlk ul li img {
	    border-radius: 15px;
	    overflow: hidden;
	}
	.mainBlk ul li:nth-child(1){
	    width: 355px;
	}
	.mainBlk ul li:nth-child(2){
	    width: 330px;
	}
	.mainBlk ul li:nth-child(3){
	    width: 590px;
	}
	.mainBlk ul li:nth-child(4){
	    width: 420px;
	}
	@media screen and (max-width: 1024px) {
		.mainBlk ul {
			display: flex;
			animation: infinitySlide 25s infinite linear 0.5s both;
		}
		.mainBlk ul li {
			width: calc(100vw / 1.5);
		}
		.mainBlk ul li img {}
	}
}
.top_interview{
	padding: 80px 0 155px;
	position: relative;
	background-image: url(./images/top_aboutBg.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	.top_interviewTopPartsImgBlk{
		position: absolute;
		top: 95px;
		right: -25px;
		max-width: 175px;
	}
	.top_interviewPartsImgBlk{
	    position: absolute;
	    bottom: -275px;
	    left: -185px;
	    max-width: 560px;
	    z-index: 1;
	}
	.top_cmn_head{
		text-align:center;
	}
	.desc {
		margin:20px 0 0;
		text-align:center;
	}
	.carouselBlk {
		margin: 80px 0 0;
	}
	.carouselItemOutline {
		position: relative;
		aspect-ratio: 1030 / 520;
	}
	.carouselItemOutline .carouselCardItemBlk {
		--position: 0;
		--distance: max(
			calc(var(--position) * -1),
			var(--position)
		);

		position: absolute;
		top: 44%;
		left: 50%;
		width: 33%;
		aspect-ratio: 400 / 530;
		translate: -50% -50%;

		transform:
			translateX(calc(var(--position) * 76%))
			translateY(calc(var(--distance) * 3%))
			scale(calc(1 - var(--distance) * 0.1))
			rotate(calc(var(--position) * 8deg));

		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		z-index: calc(10 - var(--distance));

		transition:
			transform 0.5s ease,
			opacity 0.5s ease,
			visibility 0.5s,
			z-index 0s 0.25s;
	}
	.carouselItemOutline .carouselCardItemLink{
		display: block;
		&:hover{
			opacity:1;
			transform: translateY(-20px);
		}
	}
	.carouselCardImgBlk{
		transition: transform .3s cubic-bezier(.2,1.4,.4,1);
		&:hover .carouselCardImgBlk{
			transform: translateY(-20px);
		}
	}
	/* 左・中央・右の3枚だけ表示 */
	.carouselItemOutline .carouselCardItemBlk.is-visible {
		opacity: calc(1 - var(--distance) * 0.1);
		visibility: visible;
	}

	/* 中央カード */
	.carouselItemOutline .carouselCardItemBlk.is-center {
		z-index: 20;
		pointer-events: auto;
	}
	.carouselItemOutline .carouselCardImgBlk {
		position: relative;
		width: 100%;
		height: 100%;
	}

	.carouselItemOutline img {
		display: block;
		width: 100%;
		height: 100%;
		border-radius: 15px;
		object-fit: cover;
	}
	.carouselItemOutline .carouselCardItemHead {
		position: absolute;
		top: -30px;
		left: 20px;
		display: flex;
		flex-direction: row-reverse;
		flex-direction: column;
		gap: 5px;
		margin: 0;
		color: #0874df;
		font-size: 25px;
		font-weight: 600;
		line-height: 1.5;
		letter-spacing: 0.15em;
		writing-mode: vertical-rl;
		opacity: 0;
		visibility: hidden;
		transform: translateY(12px);
		transition:
			opacity 0.5s ease,
			transform 0.5s ease,
			visibility 0.5s;
		z-index: 2;
	}

	.carouselItemOutline .carouselCardItemHead span {
		display: block;
		height: fit-content;
		padding: 10px 5px;
		background-color: #fff;
	}
	.carouselItemOutline .carouselCardTxtBlk {
		position: absolute;
		top: calc(100% + 30px);
		left: 50%;
		width: 200%;
		text-align: center;
		translate: -50% 0;
		opacity: 0;
		visibility: hidden;
		transform: translateY(12px);
		transition:
			opacity 0.5s ease,
			transform 0.5s ease,
			visibility 0.5s;
	}

	.carouselItemOutline .carouselCardTxtName {
		margin: 0;
		color: #202124;
		font-size: 15px;
		font-weight: 700;
		line-height: 1.5;
		text-align: center;
		span{
			font-size:23px;
			padding:0 0 0 5px;
		}
	}

	.carouselItemOutline .carouselCardTxtNameYear {
		margin: 10px 0 0;
		color:#717274;
		font-size: 15px;
		text-align: center;
	}
	/*
	* 中央へ移動したあと、
	* JSからクラスを付けて表示
	*/
	.carouselItemOutline .carouselCardItemBlk.is-content-visible .carouselCardItemHead,
	.carouselItemOutline .carouselCardItemBlk.is-content-visible .carouselCardTxtBlk {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
	.items-navigation {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 15px;
		margin-top: 50px;
	}

	.items-navigation .card-back,
	.items-navigation .card-next {
		flex-shrink: 0;
		width: 55px;
		aspect-ratio: 1;
		padding: 0;
		border: 0;
		background: transparent;
		cursor: pointer;
		transition: transform 0.3s ease;
	}

	.items-navigation .card-back:hover,
	.items-navigation .card-next:hover {
		transform: scale(1.08);
	}

	.items-navigation .card-back svg,
	.items-navigation .card-next svg {
		display: block;
		width: 100%;
		height: 100%;
	}

	.items-navigation .card-back rect,
	.items-navigation .card-next rect {
		transition: fill 0.3s ease;
	}

	.items-navigation .card-back:hover rect,
	.items-navigation .card-next:hover rect {
		fill: #0874df;
	}
	.items-pagination {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		min-width: 160px;
	}

	.items-current,
	.items-total {
		flex-shrink: 0;
		font-size: 25px;
		font-weight: 600;
		line-height: 1;
		font-family: Montserrat;
	}

	.items-current {
		color: #0874df;
	}

	.items-total {
		color: #202124;
	}

	.items-progress {
		position: relative;
		width: 105px;
		height: 1px;
		overflow: hidden;
		background-color: #b8b8b8;
	}

	.items-progress-bar {
		position: absolute;
		top: 0;
		left: 0;
		width: 12.5%;
		height: 100%;
		background-color: #0874df;
		transform-origin: left center;
		transition: width 0.5s ease;
	}
}
.top_entry{
	position: relative;
	padding:0 0 155px;
	overflow: hidden;
	
	.top_interviewPartsImgBlk{
    position: absolute;
    bottom: -130px;
    right: -185px;
    max-width: 440px;
}
	.mainImgBlk{}
	.inner{}
	.blk{
    padding: 90px 0 0;
}
	.head{
		.mainSpan{
			font-size:50px;
			font-family: inherit;
		}
	}
	.mainBlk{
}
	.mainTxtBlk{
    margin: 50px 0 0;
}
	.mainTxt{
    line-height: 28px;
}
	.mainLinkBlk{
		a{
    min-width: 260px;
}
		display: grid;gap: 10px;
	}
}
/*reverse*/
.top_common .mainBlk._reverse {
	flex-flow: row-reverse;

	.mainImgWrap {
		transform: scale(-1, 1);
	}
	.mainImgBlk {
		left: initial;
		right: 0;
		transform: scale(-1, 1);

		img {}
	}
}
/*single*/
.top_common._single { 
	.mainBlk {
		margin: clamp(1.875rem, 1.307rem + 2.42vw, 3.125rem) 0 0;
		
		.head {
			text-align: center;
		}
	}
	.mainImgBlk {
		width: 100%;
		margin: 35px auto 0;

		img {
			min-height: initial;
		}
	}
	.mainLinkBlk {
		text-align: center;
	}
}
.top_sns{
	padding:80px 0;
	background-image: url(./images/top_aboutBg.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	.inner{}
	.blk{}
	.mainBlk{
	    justify-content: center;
	    gap: 40px;
	}
	.mainItemBlk{
		background-color:#fff;
		width: 500px;
		border-radius: 20px;
		box-shadow: 0px 3px 20px rgba(99, 55, 107, 0.1);
	}
	.mainItemLink{
    display: inline-block;
    width: 100%;
    padding: 50px 35px 40px 45px;
}
	.mainItemHeadBlk{
    justify-content: start;
    align-items: center;
    gap: 20px;
}
	.mainItemHeadImgBlk{}
	.mainItemHeadTxt{
    font-family: Montserrat;
    font-weight: 500;
    font-size: 35px;
}
	.mainItemTxtBlk{
    margin: 55px 0 0;
}
	.mainItemTxt{
	    position: relative;
	    line-height: 28px;
	    padding: 0 80px 0 0;

		&:before{
			content:"";
			position:absolute;
			top: 50%;
			right: 0;
			transform: translate(0, -50%);
			width: 40px;
			height: 40px;
			border-radius: 40px;
			border:1px solid var(--mainColor);
			background-image: url(./images/icon_arrow01_red.svg);
			background-repeat: no-repeat;
			background-position: center;
		}
	}
}
.top_info {
	padding:140px 0 315px;
	.inner {}
	.blk {
		position: relative;
		display: flex;
		justify-content: space-between;
		gap: 85px;
	}
	.headBlk {
		width: fit-content;
		.head {
			text-align: left;
		}
	}
	.mainBlk {
		flex: 1;
	}
	.mainBlk
	article {
		border-top: solid 1px #C4C4C4;
		&:last-child {
			border-bottom: solid 1px #C4C4C4;
		}
	}
	.mainBlk a {
		position: relative;
		justify-content: flex-start;
		align-items: center;
		padding: 35px 35px 35px 20px;

		&::before {
			content: "";
			position: absolute;
			top: 50%;
			right: 35px;
			transform: translateY(-50%);
			width: 8px;
			height: 8px;
			background-color: #9AA2AA;
			border-radius: 50%;
			transition: background-color .3s;
		}
		@media screen and (min-width: 1025px) {
			&:hover::before {
				background-color: var(--mainColor);
			}
		}
	}
	.date {
		font-family: Poppins;
		color: #9CA8B4;
		display: inline-block;
		transition: .3s;
	}
	@media screen and (min-width: 1025px) {
		.mainBlk a:hover .date {
			color: var(--mainColor);
		}
	}
	.category {
		display: inline-block;
		min-width: clamp(5.625rem, 5.057rem + 2.42vw, 6.875rem);
		padding: 1px 5px;
		margin-left: clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
		font-size: clamp(0.813rem, 0.784rem + 0.12vw, 0.875rem);
		color: #fff;
		text-align: center;
		background: var(--mainColor);
	}
	.title {
		flex: 1;
		margin-left: 20px;
	}
	.linkBlk {
		position: absolute;
		bottom: -50px;
		right: 0;
		a {
			position: relative;
			padding: 0 60px 0 0;
	
			&::before{
				content:"";
				position:absolute;
				top: 50%;
				right: 0;
				transform: translate(0, -50%);
				width: 40px;
				height: 40px;
				border-radius: 40px;
				background-color: var(--mainColor);
				background-image: url(./images/icon_arrow02_white.svg);
				background-repeat: no-repeat;
				background-position: center;
			}
		}
	}
}
	
@media screen and (max-width: 1024px) {
	/*common start*/
	.top_cmn_head {
		.pointSpan{
			font-size: 15px;
			padding: 0 0 0 20px;
			background-size: 15px;
		}
		.mainSpan {
			font-size: 40px;
			line-height: 1.6;
		}
	}
	/*common end*/
	.top_mv {
		width: 100%;
		aspect-ratio: 16/ 10;
		min-height: 620px;
		height: auto;
		background-image: url(./images/top_mvBg_sp.webp);
		.topMvCatchBlk{
		    bottom: 25px;
		    left: 20px;
		    max-width: 285px;
		}
		.inner {}
		.blk {}
		.mainBlk {
    overflow: initial;
}
		.track {
			animation: topMvSlide_sp 55s linear infinite;
		}
		.track ul {
			width: 1820px;
			min-width: 1820px;
			
			/* ul同士の隙間 */
			margin-right:80px;
		}
		.track ul li {
			width: calc(100vw / 3);
			height: 100%;
		}
		.track ul li img {
			position:absolute;
			border-radius:15px;
			overflow:hidden;
		}
		.track ul li:nth-child(1) img {
			top: 160px;
			left:0;
			width: 205px;
		}
		.track ul li:nth-child(2) img {
			top: 340px;
			left: 160px;
			width: 140px;
		}
		.track ul li:nth-child(3) img {
			top: 115px;
			left: 335px;
			width: 370px;
		}
		.track ul li:nth-child(4) img {
			top: 230px;
			left: 760px;
			width: 290px;
		}
		.track ul li:nth-child(5) img {
			top: 110px;
			left: 1115px;
			width: 130px;
		}
		.track ul li:nth-child(6) img {
			top: 300px;
			left: 1245px;
			width: 125px;
		}
		.track ul li:nth-child(7) img {
			top: 180px;
			left: 1500px;
			width: 315px;
		}		
	}
	/*slider*/
	.top_mv._slider {
		background: unset;

		.catchBlk {
			padding: 5% 0 0 7%;
			align-items: flex-start;
		}
	}
	.top_overview {
		padding: 50px 0;
		.inner {
    max-width: initial;
}
		.blk {}
		.flexBlk{
			flex-flow: wrap;
			align-items: center;
			gap: 40px;
			
			
			.flexTxtBlk{
			    flex: initial;
			}
			.desc{
			    font-size: 16px;
			    line-height: 1.6;
			}
		}
		.flexImgOutline {
			width: 100%;
			max-width: 355px;
			.flexImgBlk{
				img{}
			}
			.flexImgBlk:nth-child(1){
			    margin: initial;
			}
			.flexImgBlk:nth-child(2){
			    margin-top: 55px;
			}
			.flexImgBlk:nth-child(3){margin-top: 20px;}
		}
			.flexImgWrap{
				width: inherit;
				
				
				.flexImgWrapBlk{
			    gap: 10px;
			    justify-content: center;
			}
		}
		.loopBlk {
		    margin: 40px 0 0;
		}
		.loopBlk ul {}
		.loopBlk ul li {
		    font-size: 60px;
		    line-height: 1.6;
		}
	}
	.top_common {
		.top_aboutImgBlk{}
		.inner {}
		.top_aboutPartsImgBlk, .top_worksPartsImgBlk{}
		.blk {}
		.headBlk {
			.head {}
		}
		.desc {
			margin: 30px 0 0;
		}
		.mainLinkBlk {
			margin: 40px 0 0;
			a {}
		}
	}
	.top_about{
	    padding: 0px 0 80px;
		.top_aboutPartsImgBlk{
			top: -85px;
			left: -105px;
			max-width: 190px;
		}
		.headBlk{
			padding: 80px 0 0;
		}
		.desc{
			max-width: initial;
		}
		.top_aboutSubImgBlk{
			top: -40px;
			right:0;
			max-width: clamp(6.25rem, 3.361rem + 12.33vw, 11.25rem);
			img{
			    border-radius: 5px;	
			}
		}
		.mainBlk {
			margin: 40px 0 0;
			}
		.mainItemOutline{
		    display: flex;
		    flex-flow: wrap;
		    justify-content: stretch;
		    grid-template-columns: repeat(1, 1fr);
		}
		.mainItemOutline._threeRows{
		    grid-template-columns: repeat(1, 1fr);
		    
		    
			.maimItemFlexPoint{
			font-size: 16px;
			text-align: start;
			}
			.maimItemFlexTxt{
			    font-weight: 500;
			    margin: 5px 0 0;
			    font-size: 50px;
			}
			.maimItemFlexBlk{
				flex-flow: initial;
				gap: 20px;
			}
			.maimItemFlexImgBlk{
				max-width: 90px;
			}
			.maimItemTxtBlk{
			}
		}
		.maimItemBlk{
			padding: 30px;
			border-radius: 10px;
			max-width: 375px;
			width: 100%;
		}
		.maimItemFlexBlk {
		    flex-flow: column;
		    align-items: center;
		    gap: 20px;
		}
		.maimItemFlexTxtBlk{}
		.maimItemFlexPoint{
			font-size: 16px;
			text-align: center;
		}
		.maimItemFlexTxt{
			margin: 5px 0 0;
			font-size: 25px;
			line-height: 1.6;
			span{
			    font-size: 28px;
			    padding: 0 0 0 5px;
			}
		}
		.maimItemFlexImgBlk{
		    flex: initial;
		    max-width: 90px;
		    min-height: clamp(5.625rem, 0.134rem + 8.57vw, 6.563rem);
		}
		.maimItemTxtBlk{
		    margin: 20px 0 0;
		}
		.maimItemTxt{
		    font-size: 15px;
		    line-height: 28px;
		}
		.mainTextBlk {
			flex: 1;
			
			.head {}
			.desc {
				margin: clamp(1.25rem, 0.966rem + 1.21vw, 1.875rem) 0 0;
			}
		}
		.mainImgWrap {
			position: relative;
			width: 50%;
			}
		.mainImgBlk {
			position: relative;
			top: 0;
			left: 0;
			width: calc(var(--vw)* 50);
			img {
				width: 100%;
				aspect-ratio: 16 / 10;
				min-height: 460px;
			}
		}
	}
	.top_works{
	    padding: 80px 0 0px;
	    
	    
	    
		.top_worksPartsImgBlk{
			top: -50px;
			right: -30px;
			max-width: 120px;
		}
		.blk{}
		.mainBlk {
		    grid-template-columns: repeat(1, 1fr);
		    gap: 15px;
		    margin: 30px 0 0;
		}
		.mainItemBlk{
		    padding: 15px;
		    min-height: initial;
		}
		.mainItemHead{
			gap: 5px;
			width: 100%;
			border-radius: 5px;
			span{}
		}
		.mainImgBlk{
			img{
				max-height: 120px;
				max-height: clamp(6.25rem, -1.071rem + 11.43vw, 7.5rem);
			}
		}
		.mainItemTxtBlk{
		    flex-flow: wrap;
		    gap: 5px 10px;
		    margin: 20px 0 0;
		}
		.mainItemTxt{
		    padding: 10px 25px;
		    font-size: clamp(0.875rem, 0.143rem + 1.14vw, 1rem);
		    border-radius: 50px;
		}
		.mainItemBlk:last-child{
			justify-content: start;
			align-items: center;
			gap: 40px;
			gap: clamp(1.25rem, -6.071rem + 11.43vw, 2.5rem);
			padding: 30px;
			padding: clamp(1.25rem, -2.411rem + 5.71vw, 1.875rem);
			.mainItemTxtBlk{
			    margin: initial;
			}
			.mainImgBlk{
			    bottom: 0;
			    right: 15px;
			    max-width: 110px;
			    max-width: clamp(4.688rem, -8.125rem + 20vw, 6.875rem);
			}
		}
	}
	.top_slider{
		padding: 80px 0;
		.bgBlk{}
		.top_sliderPartsImgBlk{
			top: -30px;
			left: 40px;
			width: 90px;
		}
		.mainBlk {
			gap: 40px;
			margin: initial;
		}
		.mainBlk ul {
			gap: 40px;
			animation: infinitySlide 25s infinite linear 0.5s both;
		}
		.mainBlk ul li {
			width: calc(100vw / 4);
		}
		.mainBlk ul li img {
		    border-radius: 10px;
		    overflow: hidden;
		}
		.mainBlk ul li:nth-child(1){
		    width: 200px;
		}
		.mainBlk ul li:nth-child(2){
		    width: 250px;
		}
		.mainBlk ul li:nth-child(3){
		    width: 370px;
		}
		.mainBlk ul li:nth-child(4){
		    width: 260px;
		}
	}
	/*reverse*/
	.top_common .mainBlk._reverse {
		flex-flow: wrap-reverse;

		.mainImgBlk {
			transform: unset;
		}
	}
	/*single*/
	.top_common._single .mainImgBlk {
		margin: 25px 0 0;

		img {
			height: auto;
		}
	}
	.top_interview{
		padding: 60px 0 120px;
		.top_interviewTopPartsImgBlk{
			top: 90px;
			right: -25px;
			max-width: 125px;
		}
		.top_interviewPartsImgBlk{
		    bottom: -80px;
		    left: -75px;
		    max-width: 200px;
		}
		.top_cmn_head{
			text-align:center;
		}
		.desc {
			margin:20px 0 0;
		}
		.carouselBlk {
			margin: 30px 0 0;
		}
		.carouselItemOutline {
			aspect-ratio: 330 / 320;
		}
		.carouselItemOutline .carouselCardItemBlk {
			top: 43%;
			width: 58%;
			transform: translateX(calc(var(--position) * 43%))
		    translateY(calc(var(--distance) * 3%))
		    scale(calc(1 - var(--distance) * 0.16))
		    rotate(calc(var(--position) * 10deg));
			}
		.carouselItemOutline .carouselCardItemLink{			
			&:hover{
				opacity:1;
				transform: translateY(-20px);
			}
		}
		.carouselCardImgBlk{
			
			&:hover .carouselCardImgBlk{
				transform: translateY(-20px);
			}
		}
		/* 左・中央・右の3枚だけ表示 */
		.carouselItemOutline .carouselCardItemBlk.is-visible {
		}
	
		/* 中央カード */
		.carouselItemOutline .carouselCardItemBlk.is-center {
		}
		.carouselItemOutline .carouselCardImgBlk {
		}
	
		.carouselItemOutline img {
			border-radius: 10px;
		}
		.carouselItemOutline .carouselCardItemHead {
			top: -15px;
			left: 10px;
			gap: 3px;
			font-size: 15px;
			font-size: clamp(0.938rem, 0.576rem + 1.54vw, 1.563rem);
		}	
		.carouselItemOutline .carouselCardItemHead span {
			padding: 8px 3px;
		}
		.carouselItemOutline .carouselCardTxtBlk {
			top: calc(100% + 20px);
			width: 160%;
		}	
		.carouselItemOutline .carouselCardTxtName {
			font-size: 13px;
			
			span{
			    font-size: 20px;
			}
		}
		.carouselItemOutline .carouselCardTxtNameYear {
		    margin: 5px 0 0;
		    font-size: 13px;
		}
		/*
		* 中央へ移動したあと、
		* JSからクラスを付けて表示
		*/
		.carouselItemOutline .carouselCardItemBlk.is-content-visible .carouselCardItemHead,
		.carouselItemOutline .carouselCardItemBlk.is-content-visible .carouselCardTxtBlk {
		}
		.items-navigation {
			gap: 10px;
			margin-top: 40px;
		}
		.items-navigation .card-back,
		.items-navigation .card-next {
			width: 50px;
		}
		.items-navigation .card-back:hover,
		.items-navigation .card-next:hover {
			transform: scale(1.08);
		}
		.items-navigation .card-back svg,
		.items-navigation .card-next svg {
			display: block;
			width: 100%;
			height: 100%;
		}
		.items-navigation .card-back rect,
		.items-navigation .card-next rect {
			transition: fill 0.3s ease;
		}
		.items-navigation .card-back:hover rect,
		.items-navigation .card-next:hover rect {
			fill: #0874df;
		}
		.items-pagination {
			gap: 5px;
			min-width: 140px;
		}
		.items-current,
		.items-total {
			font-size: 18px;
		}	
		.items-current {
		}	
		.items-total {
			color: #202124;
		}	
		.items-progress {
			width: 65px;
		}
		.items-progress-bar {
			position: absolute;
			top: 0;
			left: 0;
			width: 12.5%;
			height: 100%;
			background-color: #0874df;
			transform-origin: left center;
			transition: width 0.5s ease;
		}
	}
	.top_entry{
		padding: 0 0 80px;
		.top_interviewPartsImgBlk{
		    bottom: -125px;
		    right: -115px;
		    max-width: 300px;
		}
		.slideBlk {
			img{
			    min-height: 230px;
			}
		}
		.inner{}
		.blk{
		    padding: 50px 0 0;
		}
		.head{
			.mainSpan{
				font-size: 24px;
			}
		}
		.mainBlk{
			flex-flow: column;
			gap: 30px;
			margin:30px 0 0;
		}
		.mainTxtBlk{
		    margin: initial;
		}
		.mainTxt{
		    line-height: 1.6;
		}
		.mainLinkBlk{
			display: flex;
			flex-flow: wrap;
			gap: 10px;
			width: 100%;
			
			
			
			
			
			
			
			
			a{
			    min-width: 175px;
			}
		}
	}
	.top_sns{
		padding: 50px 0;
		background-image: url(./images/top_aboutBg.webp);
		.inner{}
		.blk{}
		.mainBlk{
		    gap: 15px;
		    flex-flow: wrap;
		}
		.mainItemBlk{
			width: 100%;
			max-width: 375px;
			border-radius: 20px;
		}
		.mainItemLink{
		    padding: 20px;
		}
		.mainItemHeadBlk{
		    gap: 10px;
		}
		.mainItemHeadImgBlk{
		    width: 30px;
		}
		.mainItemHeadTxt{
		    font-size: 25px;
		}
		.mainItemTxtBlk{
		    margin: 10px 0 0;
		}
		.mainItemTxt{
		    line-height: 1.6;
		    padding: 0 50px 0 0;
			&:before{
				top: 50%;
				right: 0;
				transform: translate(0, -50%);
				width: 35px;
				height: 35px;
				border-radius: 40px;
				background-size: 20px;
			}
		}
	}
	.top_info {
		padding: 60px 0 170px;
		
		
		
		
		
		
		.inner {}
		.blk {
			position: relative;
			display: flex;
			flex-flow: column;
			justify-content: space-between;
			gap: 20px;
		}
		.headBlk {
			
			.head {
			}
		}
		.mainBlk {
			flex: initial;
		}
		.mainBlk
		article {
			
			&:last-child {
				border-bottom: solid 1px #C4C4C4;
			}
		}
		.mainBlk a {
			flex-flow: wrap;
			gap: 10px;
			padding: 20px 30px 20px 0;
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
	
			&::before {
				right: 10px;
			}
		}
		.date {
			display: block;
			width: 100%;
			transition: .3s;
		}
		.category {
			display: inline-block;
			min-width: clamp(5.625rem, 5.057rem + 2.42vw, 6.875rem);
			padding: 1px 5px;
			margin-left: clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
			font-size: clamp(0.813rem, 0.784rem + 0.12vw, 0.875rem);
			color: #fff;
			text-align: center;
			background: var(--mainColor);
		}
		.title {
			flex: initial;
			margin-left: initial;
		}
		.linkBlk {
			bottom: initial;
			top: 55px;
			right: 0;
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			a {
				position: relative;
				padding: 0 45px 0 0;
				
				
				
				
				
				
				
				
				
				
				
				
				
				
		
				&::before{
					width: 35px;
					height: 35px;
				}
			}
		}
	}
}
/*
About-us
====================================*/
.about_date {
    padding: 30px 0 0;
	.inner {
	    max-width: 1420px;
	    padding: 0 50px;
	    margin: auto;
	}
	.blk {}
	.headBlk {
		position:relative;
	}
	.head {}
	.headTxt{
		position:absolute;
		bottom: 5px;
		right: 60px;
	}
	.mainBlk {
		display: grid;
		grid-template-columns: repeat(6, 1fr);
		gap: 15px;
		gap: clamp(0.625rem, -1.205rem + 2.86vw, 0.938rem);
		margin: 50px 0 0;
		background-color: var(--contentsBg);
		padding: 60px;
		padding: clamp(1.875rem, -9.107rem + 17.14vw, 3.75rem);
		border-radius: 40px;
	}
	.mainItemBlk{
		align-items: center;
		white-space: nowrap;
		background-color: #fff;
		border-radius:15px;
		padding: 40px 30px;
		padding: clamp(1.25rem, -6.071rem + 11.43vw, 2.5rem) clamp(0.938rem, -4.554rem + 8.57vw, 1.875rem);
		box-shadow: 0px 3px 20px rgba(99, 55, 107, 0.1);
		
		&._column2{
			grid-column: span 2 / span 2;
		}
		&._column3{
			grid-column: span 3 / span 3;
		}
		&._column4{
			grid-column: span 4 / span 4;
		}
		&._column6{
			grid-column: span 6 / span 6;
		}
		&._row2{
			grid-row: span 2 / span 2;
		}
		&:nth-child(1), &:nth-child(2){
			.minHead{
				font-size:24px;
				font-size: clamp(1.25rem, -0.214rem + 2.29vw, 1.5rem);
			}
			.mainHead{
				font-family:initial;
				font-size:45px;
				font-size: clamp(1.875rem, -3.616rem + 8.57vw, 2.813rem);
			}
		}
		&:nth-child(2){
			grid-column-start: 4;
		}
		&:nth-child(3){
			grid-row-start: 2;
		}
		&:nth-child(4){
			grid-column-start: 1;
			grid-row-start: 3;
		}
		&:nth-child(5), &:nth-child(6){
			justify-content:center;
			flex-flow: column;
			.minHead{
				font-size:36px;
				font-size: clamp(1.75rem, -1.179rem + 4.57vw, 2.25rem);
				text-align:center;
			}
			.mainHead{
				font-size:88px;
				font-size: clamp(4.063rem, -4.357rem + 13.14vw, 5.5rem);
				
				
				span{
					font-size:36px;
					font-size: clamp(1.75rem, -1.179rem + 4.57vw, 2.25rem);
				}
			}
		}
		&:nth-child(5){
			grid-column-start: 3;
			grid-row-start: 2;
		}
		&:nth-child(6){
			grid-column-start: 5;
			grid-row-start: 2;
		}
		&:nth-child(7){
			grid-row-start: 4;
		}
		&:nth-child(8){
			grid-column-start: 3;
			grid-row-start: 4;
		}
		&:nth-child(9){
			grid-column-start: 5;
			grid-row-start: 4;
		}
		&:nth-child(10){
			grid-row-start: 5;
		}
		&:nth-child(11){
			grid-column-start: 3;
			grid-row-start: 5;
		}
		&:nth-child(12){
			grid-row-start: 6;
			padding: 45px 80px 45px 100px;
			padding: clamp(1.875rem, -3.616rem + 8.57vw, 2.813rem) clamp(3.125rem, -7.857rem + 17.14vw, 5rem) clamp(1.875rem, -3.616rem + 8.57vw, 2.813rem) clamp(3.75rem, -10.893rem + 22.86vw, 6.25rem);

			.mainItemTxtBlk{
				display: flex;
				align-items: end;
				gap: 20px;
			}
			.minHead{
				padding: 0 0 15px;
			}
		}
	}
	.mainItemTxtOutline{
	    display: grid;
	    gap: 15px;
	}
	.mainItemTxtBlk{}
	.minHead{
	    font-size: 20px;
	    font-size: clamp(0.875rem, -1.321rem + 3.43vw, 1.25rem);
	    color: var(--mainColor);
	}
	.mainHead{
		font-family: Montserrat;
		font-size: 70px;
		font-size: clamp(2.5rem, -8.482rem + 17.14vw, 4.375rem);
		line-height: 1;
		FONT-WEIGHT: 500;
		padding: 5px 0 0;
		span{
		    font-family: initial;
		    font-size: 28px;
		    font-size: clamp(1.125rem, -2.536rem + 5.71vw, 1.75rem);
		    padding: 0 0 0 5px;
		}
		.minSpan{
		    font-size: 16px;
		}
	}
	.mainItemImgBlk{
		max-width: 110px;
		max-width: clamp(5rem, -5.982rem + 17.14vw, 6.875rem);
		flex: 1;
		&._120{
			max-width:120px;
			max-width: clamp(6.25rem, -1.071rem + 11.43vw, 7.5rem);
		}
		&._240{
			max-width:240px;
			max-width: clamp(12.5rem, -2.143rem + 22.86vw, 15rem);
		}
		&._180{
			max-width:180px;
			max-width: clamp(10rem, 2.679rem + 11.43vw, 11.25rem);
		}
		&._480{
			max-width:480px;
		}
	}
	.mainItemHeadBlk{
	    gap: 40px;
	    gap: clamp(1.25rem, -6.071rem + 11.43vw, 2.5rem);
	}
}
.about_welfare {
	padding: 140px 0;
	
	.inner {}
	.blk {}
	.mainBlk {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin: 40px 0 0;
}
	.mainItemBlk{
		&:last-child{
			grid-column: 1 / -1;
		}
		background-color: var(--contentsBg);
		padding: 40px;
		border-radius: 15px;
	}
	.mainItemHead{
	    position: relative;
	    font-size: 22px;
	    FONT-WEIGHT: 600;
	    padding: 0 0 0 25px;
		&::before{
			content:"";
			position:absolute;
			top: calc(50% + 2px);
			left: 0;
			transform: translate(0, -50%);
			width: 17px;
			height: 17px;
			border: 3px solid var(--mainColor);
			border-radius:15px
		}
	}
	.mainItemFlexBlk{
		.mainItemTxt{
			width: calc(100% / 4);
		}
}
	.mainItemTxt{
    margin: 20px 0 0;
}
}
.about_message {
    background-image: url(./images/about_messageBg.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
    padding: 140px 0 300px;
	.inner {}
	.blk {}
	.headBlk {}
	.head {
		color: #fff;
		.pointSpan{
		    color: #fff;
			&:before{
				background-color:#fff;
			}
		}
	}
	.mainBlk {
		gap: 85px;
		margin: 60px 0 0;
	}
	.mainTxtBlk{
	    max-width: 675px;
	    color: #fff;
	}
	.mainHead{
	    font-size: 40px;
	    FONT-WEIGHT: 600;
	}
	.mainTxt{
	    margin: 60px 0 0;
	    font-size: 18px;
	}
	.mainImgBlk{
	    flex: 1;
	}
}
.about_philosophy {
	position:relative;
	padding: 140px 0 230px;
	.about_philosophyPartsImgBlk{
		position:absolute;
		top:-150px;
		right: -100px;
		max-width: 405px;
	}
	.inner {}
	.blk {}
	.headBlk {}
	.head {}
	.mainBlk {
		margin: 125px 0 0;
	}
	.mainItemBlk{
	    gap: 200px;
	    justify-content: start;
	    padding: 40px 0;
		&:nth-child(1){
		    padding: 0 0 40px;
		}
		&:not(:last-child) {
		    border-bottom: 1px solid #D5DFE8;
		}
		&:last-child{
		    gap: 30px;
		}
		.mainItemHeadBlk{
		    min-width: 180px;
		}
		.mainItemHead{
			font-family: Montserrat;
			font-size: 45px;
			line-height: 1;
			FONT-WEIGHT: 500;
			span{
			    display: block;
			    font-family: initial;
			    padding: 10px 0 0;
			    font-size: 16px;
			    color: var(--mainColor);
			    font-weight: normal;
			}
		}
		.mainItemTxtBlk{
		    flex: 1;
		}
		.mainItemTxtHead{
		    font-size: 22px;
		    FONT-WEIGHT: 600;
		}
		.mainItemTxt{
		    margin: 20px 0 0;
		}
		.mainItemImgBlk{}
	}
	}
@media screen and (max-width: 1024px) {
	.about_date {
	    padding: 40px 0 0;
	    
	    
	    
	    
	    
	    
	    
	    
	    
	    
	    
	    
	    
	    
	    
	    
	    
	    
	    
	    
		.inner {
			width: 92%;
			max-width: var(--maxWidth768);
			padding: 0;
		}
		.blk {}
		.headBlk {
		    width: initial;
		    max-width: initial;
		    padding: initial;
		}
		.head {}
		.headTxt{
		    position: initial;
		    margin: 20px 0 0;
		}
		.mainBlk {
			display: flex;
			flex-flow: wrap;
			justify-content: center;
			margin: 20px 0 0;
			padding: 20px 15px;
			border-radius: 20px;
		}
		.mainItemBlk{
			gap: 15px;
			white-space: initial;
			width: calc((100% - 10px) / 2);
			min-width: 315px;
			padding: 20px 25px;
			&._column2, &._column3, &._column4, &._column6, &._row2{
				grid-column: initial;
			}
			&._column2{}
			&._column3{}
			&._column4{}
			&._column6{
			    padding: 10px 15px;
			}
			&._row2{}
			&:nth-child(1), &:nth-child(2){
				.minHead{
				    font-size: 16px;
				}
				.mainHead{
				    font-size: 23px;
				}
			}
			&:nth-child(2){}
			&:nth-child(3){}
			&:nth-child(4){}
			&:nth-child(5), &:nth-child(6){
				flex-flow: row-reverse;
				justify-content: space-between;
				.minHead{
				    font-size: 14px;
				    text-align: initial;
				}
				.mainHead{
					span{
					font-size:18px;
					}
					font-size: 35px;
				}
			}
			&:nth-child(5){}
			&:nth-child(6){}
			&:nth-child(7){}
			&:nth-child(8){}
			&:nth-child(9){}
			&:nth-child(10){}
			&:nth-child(11){
				.mainHead{
				    span:nth-child(1){
					    padding: 0 5px 0 0;
					}
				}
			}
			&:nth-child(12){
				.mainItemTxtBlk{
				    flex-flow: column;
				    align-items: start;
				    gap: 5px;
				}
				.minHead{
				    padding: initial;
				}
				.mainHead{
				    padding: initial;
				}
			}
		.mainItemTxtOutline{
		    gap: 10px;
		}
		.mainItemTxtBlk{}
		.minHead{}
		.mainHead{
			font-size: 35px;
			span{
			    font-size: 16px;
			}
			.minSpan{
			    font-size: 12px;
			}
		}
		.mainItemImgBlk{
			&._120{
				max-width: 70px;
			}
			&._240{
			    max-width: 140px;
			}
			&._180{
			    max-width: 120px;
			}
			&._480{}
		}
		.mainItemHeadBlk{
		    flex-flow: column;
		    gap: 5px;
		}
	}
	}
	.about_welfare {
		padding: 60px 0 70px;
		.inner {}
		.blk {}
		.mainBlk {
		    grid-template-columns: initial;
		    margin: 20px 0 0;
		}
		.mainItemBlk{
			padding: 25px;
			border-radius: 10px;
			
			
			
			
			&:last-child{}
		}
		.mainItemHead{
			font-size: 18px;
			padding: 0 0 0 20px;
			&::before{
			    width: 15px;
			    height: 15px;
			    border: 3px solid var(--mainColor);
			}
		}
		.mainItemFlexBlk{
			margin: 10px 0 0;gap: 5px 0;
			.mainItemTxt{
				width: calc(100% / 2);
				margin: initial;
			}
		}
		.mainItemTxt{
		    margin: 10px 0 0;
		}
	}
	.about_message {
	    padding: 80px 0 150px;
		.inner {}
		.blk {}
		.headBlk {}
		.head {
			.pointSpan{
				&:before{}
			}
		}
		.mainBlk {
			gap: 50px;
			flex-flow: column;
			margin: 30px 0 0;
		}
		.mainTxtBlk{
		    max-width: initial;
		    width: 100%;
		}
		.mainHead{
		    font-size: 25px;
		}
		.mainTxt{
		    margin: 30px 0 0;
		    font-size: 15px;
		}
		.mainImgBlk{
		    flex: initial;
		    max-width: 500px;
		    margin: 0 auto;
		}
	}
	.about_philosophy {
		padding: 80px 0 150px;		
		.about_philosophyPartsImgBlk{
			top: -110px;
			right: -70px;
			max-width: 260px;
		}
		.inner {}
		.blk {}
		.headBlk {}
		.head {}
		.mainBlk {
			margin: 30px 0 0;
		}
		.mainItemBlk{
			gap: 20px;
			flex-flow:column;
			padding: 25px 0;
			&:nth-child(1){
			    padding: 0 0 25px;
			}
			&:not(:last-child) {}
			&:last-child{
			    padding: 25px 0 0;
			}
			.mainItemHeadBlk{}
			.mainItemHead{
				font-size: 30px;
				span{}
			}
			.mainItemTxtBlk{
			    flex: initial;
			}
			.mainItemTxtHead{
			    font-size: 18px;
			}
			.mainItemTxt{
			    margin: 15px 0 0;
			}
			.mainItemImgBlk{
    max-width: 600px;
    margin: 0 auto;
}
		}
	}
}
/*
Our Works
====================================*/
.works_outline{
	padding: 40px 0 140px;
	background-image: url(./images/works_job_outlineBg.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom center;
	.inner{}
	.blk{}
	.headBlk{}
	.head{
		font-size:40px;
		line-height:66px;
		font-weight:600;
		text-align:center;
		span{
			color:var(--mainColor);
		}
	}
	.headTxt{
		margin:50px 0 0;
		text-align:center;
	}
	.mainBox {
		display: grid;
		gap: 10px;
		width: 100%;
		margin: 60px 0 0;
		> div {
			display: flex;
			gap: 30px;
			> .mainArrowBox, .mainCorporateBox {
				width: 100px;
				/* min-height: 300px; */
				height: auto;
				flex-shrink: 0;
				background: var(--mainColor2);
				color: #fff;
				clip-path: polygon(0 0, 50% 7%, 100% 0, 100% 93%, 50% 100%, 0 93%);
				display: flex;
				align-items: center;
				justify-content: center;
				> p {
					margin: 0;
					writing-mode: vertical-rl;
					font-size: 20px;
					font-weight: 700;
				}
			}
			/* 1つ目 */
			&:first-child .mainArrowBox {
				clip-path: polygon(0 0, 100% 0, 100% 93%, 50% 100%, 0 93%);
			}
			/* 4つ目 */
			&:nth-child(4) .mainArrowBox {
				clip-path: polygon(0 0, 50% 7%, 100% 0, 100% 100%, 0 100%);
			}
			/* コーポレート */
			.mainCorporateBox{
			    clip-path: initial !important;
			    background: var(--mainColor);
			}
			> a{
				flex: 1;
				background-color:#fff;
				border-radius:15px;
				box-shadow: 0px 0px 20px rgba(9, 55, 107, 0.1);
				&:hover{
					opacity:1;
				}
				.mainTextBox {
					display: flex;
					gap: 30px;
					padding: 30px 35px;
				}
				.mainTextImgBlk{
					max-width:175px;
				}
				.mainTextBlk{
					flex:1;
					h3{
						position: relative;
						width: fit-content;
						font-size:25px;
						color:var(--mainColor2);
						&::before {
							content: "";
							position: absolute;
							right: -25px;
							top: 50%;
							width: 15px;
							height: 2px;
							background: var(--mainColor2);
							transform: translateY(-50%);
						}
						&::after {
							content: "";
							position: absolute;
							right: -25px;
							top: 50%;
							width: 10px;
							height: 10px;
							border-top: 2px solid var(--mainColor2);
							border-right: 2px solid var(--mainColor2);
							transform: translateY(-50%) rotate(45deg);
						}
					}
					>p{
						margin:15px 0 0;
						line-height:28px;
					}
					.mainTextPointBlk{
						display:flex;
						align-items:center;
						gap:10px;
						margin:30px 0 0;
						p{
							padding:10px 25px;
							border:1px solid #D5DFE8;
							border-radius:40px;
							background-color:#F5F9FB;
						}
					}
				}
			}
			&:last-child {
				margin:20px 0 0;
				.mainTextBlk {
					h3 {
						color: var(--mainColor);
						&::before {
						    background: var(--mainColor);
						}
						&::after{
						    border-top: 2px solid var(--mainColor);
						    border-right: 2px solid var(--mainColor);
						}
					}
				}
			}
		}
	}
}
.works_job{
	position: relative;
	padding: 140px 0 240px;
	background-image: url(./images/top_aboutBg.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	z-index: 0;
	.inner{}
	.blk{}
	.headBlk{}
	.head{}
	.headTxt{
		margin:40px 0 0;
	}
	.headLinkBlk{
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 15px;
		padding: 50px 0 80px;
		a{
			position:relative;
			width:calc((100% - ( 15px * 3)) / 4);
			max-width: 260px;
			background-color: var(--mailBtnBg);
			color: #fff;
			padding: 20px 30px;
			border-radius: 50px;
			&::after {
				content: "";
				position: absolute;
				top: 50%;
				right: 30px;
				width: 15px;
				height: 15px;
				transform: translateY(-50%) rotate(90deg);
				background-image: url(./images/icon_arrow02_white.svg);
				background-repeat: no-repeat;
				background-size: contain;
				background-position: center;
			}
		}
	}
	.mainBlk{
		display:grid;
		gap:140px;
		.mainItemBlk{}
		.mainItemImgBlk{
			position: relative;
			margin: 0 calc(50% - 50vw);
			width: 100vw;
			p{
				position:absolute;
				bottom: -25px;
				right: 25px;
				font-family: Montserrat;
				font-size: 140px;
				line-height: 1;
				color: #F5F9FB;
			}
		}
		.mainItemHeadBlk{
			padding: 60px 0 50px;
			border-bottom: 1px solid #C4C4C4;
		}
		.mainItemHead{
			display: flex;
			align-items: center;
			gap: 15px;
			font-size:50px;
			line-height: 1;
			font-weight:500;
			
			span{
				display: inline-block;
				font-family: Montserrat;
				font-size: 18px;
				color: var(--mainColor);
			}
		}
		.mainItemHeadTxtBlk{
			display:flex;
			justify-content: end;
			margin:30px 0 0;
		}
		.mainItemHeadTxt{
			max-width: 730px;
			line-height: 28px;
		}
		.mainItemReadBlk{
			gap:80px;
			align-items: center;
			padding:60px 0 0;
		}
		.mainItemReadTxtBlk{
			width:50%;
		}
		.mainItemReadHead{
			padding: 0 0 0 35px;
			font-size: 30px;
			background-image: url(./images/icon_top_cmnHead.webp);
			background-repeat: no-repeat;
			background-size: 20px;
			background-position: left;
		}
		.mainItemReadTxt{
			margin:25px 0 0;
			line-height: 28px;
		}
		.mainItemReadLinkBlk{
			margin:30px 0 0;
			p{
				position: relative;
				display: flex;
				align-items: center;
				max-width: 230px;
				width: 100%;
				height: 55px;
				padding: 0 25px;
				border-radius: 50px;
				border: 1px solid #262729;
				font-weight: bold;
				&::before, &::after {
					content: "";
					position: absolute;
					top: 50%;
					right: 25px;
					width: 15px;
					height: 2px;
					background: #262729;
					transform: translateY(-50%);
					transition: .3s;
				}
				&::before {
					transform: translateY(-50%);
				}
				&::after {
					transform: translateY(-50%) rotate(90deg);
				}
				&._open::after {
					opacity: 0;
				}
			}
		}
		.mainItemReadImgBlk{
			flex:1;
			border-radius: 15px;
			overflow: hidden;
		}
		.mainItemDetailBlk{
			gap: 170px;
			margin:45px 0 0;
			background-color: #fff;
			padding: 80px;
			border-radius: 20px;
		}
			.mainItemDetailBlk {
				display: none;
			
				&._open {
					display: flex;
				}
			}
		.mainItemDetailHeadBlk{}
		.mainItemDetailHead{
			font-size:25px;
			color:var(--mainColor);
		}
		.mainItemDetailTxtBlk{
			flex:1;
		}
		.mainItemDetailTxtItem{
			padding:30px 0 30px;
			border-bottom:1px solid #C4C4C4;
			&:first-child{
				padding:0 0 30px;
			}
			&:last-child{
				border-bottom:transparent;
				padding:30px 0 0;
			}
		}
		.mainItemDetailTxtHead{
			position:relative;
			padding: 0 0 0 25px;
			font-size: 20px;
			&::before{
				content:"";
				position:absolute;
				top: calc(50% + 2px);
				left: 0;
				transform: translate(0, -50%);
				width: 15px;
				height: 15px;
				border: 3px solid var(--mainColor);
				border-radius:15px
			}
		}
		.mainItemDetailTxt{
			margin:20px 0 0;
			line-height: 28px;
		}
		.mainItemJobBlk{
			position: relative;
			display: grid;
			gap: 35px;
			padding:60px 0 0;
		}
		.mainItemJobFlexBlk{
			position: relative;
			gap:80px;
			align-items: center;
			z-index: 0;
		}
		.mainItemJobFlexTxtBlk{
			width:50%;
		}
		.mainItemJobFlexTxtHead{
			padding: 0 0 0 35px;
            font-size: 30px;
            background-image: url(./images/icon_top_cmnHead.webp);
            background-repeat: no-repeat;
            background-size: 20px;
            background-position: left;
		}
		.mainItemJobFlexTxt{
			margin:30px 0 0;
			line-height: 28px;
		}
		.mainItemJobFlexPlace{
			margin: 30px 0 0;
			padding: 20px;
			background-color:#fff;
			border-radius: 5px;
			font-size: 15px;
		}
		.mainItemJobFlexImgBlk{
			flex:1;
			border-radius: 15px;
			overflow: hidden;
		}
		.mainItemIdealBlk{
			position: relative;
			margin:60px 0 0;
			padding: 60px 70px 70px;
			background-color: #fff;
			border-radius: 20px;
		}
		.works_jobTopPartsImgBlk{
			position:absolute;
			top: 120px;
			right: -225px;
			img{
				max-width: 405px;
			}
		}
		.works_jobBottomPartsImgBlk{
			position:absolute;
			top: -65px;
			left: -30px;
			margin: 0 calc(50% - 50vw);
			width: 100vw;
			z-index: -1;
			img{
				max-width: 200px;
			}
		}
		.mainItemIdealHead{
			font-size:24px;
			FONT-WEIGHT: 600;
			text-align: center;
			color: var(--mainColor);
		}
		.mainItemIdealDetailBlk{
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 20px 25px;
			margin:40px 0 0;
		}
		.mainItemIdealDetail{
			position:relative;
			display: flex;
			align-items: center;
			padding: 0 0 0 35px;
			
			&::before{
				content:"";
				position:absolute;
				top: 50%;
				left: 0;
				transform: translate(0, -50%);
				width: 22px;
				height: 22px;
				border-radius: 40px;
				background-color: var(--mainColor);
				background-image: url(./images/icon_check_white.svg);
				background-repeat: no-repeat;
				background-position: center;
			}
		}
		.mainItemInterviewBlk{
			margin:60px 0 0;
		}
		.mainItemInterviewOutline{
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 20px;
			margin: 40px 0 0;
		}
		.mainItemInterviewLink{
			position: relative;
			display: flex;
			align-items: center;
			gap: 10px;
			background:linear-gradient(	to right,	#207DDB 0%,	#207DDB 50%,	#5AC0EE 100%);
			padding: 15px 20px;
			border-radius: 10px;
			&::after {
				content: "";
				position: absolute;
				bottom: 15px;
				right: 15px;
				width: 15px;
				height: 15px;
				background-image: url(./images/icon_arrow02_white.svg);
				background-repeat: no-repeat;
				background-size: contain;
				background-position: center;
			}
		}
		.mainItemInterviewLinkImgBlk{
			max-width:100px;
			max-width: clamp(4.375rem, -6.607rem + 17.14vw, 6.25rem);
		}
		.mainItemInterviewLinkTxtBlk{
			color:#fff;
			font-weight:600;
		}
		.mainItemInterviewLinkTxt{
			span{
				font-size:23px;
				padding:0 0 0 7px;
			}
		}
		.mainItemInterviewLinkYear{
			font-size:15px;
			padding: 5px 0 0;
		}
	}
}
@media screen and (max-width: 1024px) {
	.works_outline{
		padding: 20px 0 90px;
		.inner{}
		.blk{}
		.headBlk{}
		.head{
			font-size: 20px;
			line-height: 1.6;
			span{}
		}
		.headTxt{
			margin: 20px 0 0;
			text-align: start;
		}
		.mainBox {
			display: flex;
			flex-flow: column;
			gap: 10px;
			margin: 40px 0 0;
			> div {
				gap: 10px;
				> .mainArrowBox, .mainCorporateBox {
					width: 45px;
					clip-path: polygon(0 0, 50% 3%, 100% 0, 100% 97%, 50% 100%, 0 97%);
					> p {
						font-size: 16px;
					}
				}
				/* 1つ目 */
				&:first-child .mainArrowBox {
					clip-path: polygon(0 0, 100% 0, 100% 97%, 50% 100%, 0 97%);
				}
				/* 4つ目 */
				&:nth-child(4) .mainArrowBox {
					clip-path: polygon(0 0, 50% 3%, 100% 0, 100% 100%, 0 100%);
				}
				/* コーポレート */
				.mainCorporateBox{
				}
				> a{
					border-radius: 10px;
					/* flex: initial; */
					&:hover{
						opacity:1;
					}
					.mainTextBox {
						flex-flow: column;
						gap: 20px;
						padding: 15px;
					}
					.mainTextImgBlk{
						max-width:175px;
						margin: 0 auto;
					}
					.mainTextBlk{
						flex: initial;
						h3{
							font-size: 17px;
							&::before {
								right: -15px;
								width: 12px;
								height: 2px;
							}
							&::after {
								right: -15px;
								width: 8px;
								height: 8px;
							}
						}
						>p{
							margin: 10px 0 0;
							line-height: 1.6;
						}
						.mainTextPointBlk{
							flex-flow: wrap;
							gap: 5px;
							margin: 10px 0 0;
							p{
								padding: 5px 15px;
								/* margin: initial; */
							}
						}
					}
				}
				&:last-child {
					margin:20px 0 0;
					.mainTextBlk {
						h3 {
							color: var(--mainColor);
							&::before {
							    background: var(--mainColor);
							}
							&::after{
							    border-top: 2px solid var(--mainColor);
							    border-right: 2px solid var(--mainColor);
							}
						}
					}
				}
			}
		}
	}
	.works_job{
		padding: 60px 0 160px;		
		.inner{}
		.blk{}
		.headBlk{}
		.head{}
		.headTxt{
			margin: 20px 0 0;
		}
		.headLinkBlk{
			gap: 10px 5px;
			flex-flow: wrap;
			padding: 30px 0 60px;
			a{
				position:relative;
				width: calc((100% - 5px) / 2);
				max-width: initial;
				padding: 10px 15px;
				border-radius: 50px;
				&::after {
					right: 10px;
					width: 13px;
					height: 13px;
					transform: translateY(-50%) rotate(90deg);
				}
			}
		}
		.mainBlk{
			display: flex;
			flex-flow: column;
			gap: 100px;
			.mainItemBlk{}
			.mainItemImgBlk{
				position: relative;
				img{
					height:100%;
					min-height: 180px;
				}
				p{
					bottom: -8px;
					right: 5px;
					font-size: 40px;
				}
			}
			.mainItemHeadBlk{
				padding: 40px 0;
			}
			.mainItemHead{
				gap: 10px;
				font-size: 25px;
				span{
					font-size: 14px;
				}
			}
			.mainItemHeadTxtBlk{
				margin: 25px 0 0;
			}
			.mainItemHeadTxt{
				max-width: initial;
				line-height: 1.6;
			}
			.mainItemReadBlk{
				flex-flow: column-reverse;
				gap: 20px;
				padding: 40px 0 0;
			}
			.mainItemReadTxtBlk{
				width: 100%;
			}
			.mainItemReadHead{
				padding: 0 0 0 25px;
				font-size: 20px;
				background-size: 18px;
			}
			.mainItemReadTxt{
				margin: 15px 0 0;
				line-height: 1.6;
			}
			.mainItemReadLinkBlk{
				margin: 20px 0 0;
				p{
					max-width: 230px;
					height: 55px;
					padding: 0 25px;
					border-radius: 50px;
					&::before{
						content:"";
						position:absolute;
						top: 50%;
						right:25px;
						transform: translate(0%, -50%);
						display: inline-block;
						width:15px;
						height:2px;
						background: #262729;
					}
				}
			}
			.mainItemReadImgBlk{
				border-radius: 10px;
				flex: initial;
			}
			.mainItemDetailBlk{
				flex-flow: column;
				gap: 20px;
				margin: 40px 0 0;
				padding: 25px 20px 30px;
				border-radius: 15px;
			}
			.mainItemDetailHeadBlk{}
			.mainItemDetailHead{
				font-size: 20px;
			}
			.mainItemDetailTxtBlk{
				flex: initial;
			}
			.mainItemDetailTxtItem{
				padding:30px 0 30px;
				&:first-child{
					padding: 0 0 20px;
				}
				&:last-child{
					padding:30px 0 0;
				}
			}
			.mainItemDetailTxtHead{
				position:relative;
				padding: 0 0 0 20px;
				font-size: 17px;
				&::before{
					top: 15px;
				}
			}
			.mainItemDetailTxt{
				margin: 10px 0 0;
				line-height: 1.6;
			}
			.mainItemJobBlk{
				gap: 50px;
				padding: 50px 0 0;
			}
			.mainItemJobFlexBlk{
				flex-flow: column-reverse;
				gap: 20px;
			}
			.mainItemJobFlexTxtBlk{
				width: 100%;
			}
			.mainItemJobFlexTxtHead{
				padding: 0 0 0 25px;
				font-size: 20px;
				background-size: 18px;
			}
			.mainItemJobFlexTxt{
				margin: 15px 0 0;
				line-height: 1.6;
			}
			.mainItemJobFlexPlace{
			    margin: 20px 0 0;
				font-size: 14px;
			}
			.mainItemJobFlexImgBlk{
				flex: initial;
				border-radius: 10px;
			}
			.mainItemIdealBlk{
				margin: 50px 0 0;
				padding: 25px 20px 30px;
				border-radius: 15px;
			}
			.works_jobTopPartsImgBlk{
				top: 40px;
				right: -205px;
				img{
					max-width: 335px;
				}
			}
			.works_jobBottomPartsImgBlk{
				top: -65px;
				left: -30px;
				img{
					max-width: 200px;
				}
			}
			.mainItemIdealHead{
				font-size: 16px;
			}
			.mainItemIdealDetailBlk{
				display: grid;
				grid-template-columns: repeat(1, 1fr);
				gap: 15px;
				margin: 20px 0 0;
			}
			.mainItemIdealDetail{
				padding: 0 0 0 35px;
				
				&::before{
					content:"";
					position:absolute;
					top: 50%;
					left: 0;
					transform: translate(0, -50%);
					width: 22px;
					height: 22px;
					border-radius: 40px;
				}
			}
			.mainItemInterviewBlk{
				margin: 40px 0 0;
			}
			.mainItemInterviewOutline{
				grid-template-columns: repeat(1, 1fr);
				gap: 15px;
				margin: 30px 0 0;
			}
			.mainItemInterviewLink{
				gap: 10px;
				background:linear-gradient(	to right,	#207DDB 0%,	#207DDB 50%,	#5AC0EE 100%);
				padding: 10px 15px;
				border-radius: 5px;
				&::after {
					content: "";
					position: absolute;
					bottom: 10px;
					right: 15px;
				}
			}
			.mainItemInterviewLinkImgBlk{
				max-width:100px;
				max-width: clamp(4.375rem, -6.607rem + 17.14vw, 6.25rem);
			}
			.mainItemInterviewLinkTxtBlk{
			}
			.mainItemInterviewLinkTxt{
				span{
					font-size: 20px;
				}
			}
			.mainItemInterviewLinkYear{
				font-size: 13px;
				padding: 3px 0 0;
			}
		}
	}
}
/*
Job description
====================================*/
.interview_section{
	padding: 45px 0 90px;
	.inner{}
	.blk{}
	.mainOutline{
		display:grid;
		gap:90px;
	}
	.mainBlk{
	    display: flex;
	    justify-content: space-between;
	    gap: 70px;
	}
	.mainHeadBlk{
	    width: fit-content;
	}
	.numHead{
	    font-family: Montserrat;
	    font-size: 18px;
	    FONT-WEIGHT: 500;
	    color: var(--mainColor);
	}
	.mainHead{
		margin:20px 0 0;
		font-size:30px;
	}
	.mainTxtBlk{
		flex:1;
		max-width: 750px;
	}
	.mainTxt{
    line-height: 2;
}
	.mainImgBlk{
		border-radius:20px;
		overflow:hidden;
	}
}
.interview_schedule{
	background-image: url(./images/top_aboutBg.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
	.inner{}
	.blk{}
	.mainBlk{
		display:flex;
		justify-content:space-between;
	}
	.mainHeadBlk{
	    flex: 1;
	}
	.mainHead{
		font-size: 30px;
		FONT-WEIGHT: 600;
		padding: 0 0 0 30px;
		background-image: url(./images/icon_top_cmnHead.webp);
		background-repeat: no-repeat;
		background-size: 20px;
		background-position: left;
	}
	.mainTimeBlk{
		display: grid;
		gap: 20px;
		width: 50%;
	}
	.mainTimeTxt{
		position: relative;
		display: flex;
		gap: 20px;
		padding: 0 0 0 35px;
		font-size: 18px;
		&::before{
			content:"";
			position:absolute;
			top: calc(50% + 2px);
			top: 7px;
			left: 0;
			/* transform: translate(0, -50%); */
			width: 18px;
			height: 18px;
			border: 4px solid var(--mainColor);
			border-radius:15px
		}
		&:not(:last-child)::after{
			content:"";
			position:absolute;
			top: 26px;
			left: 8px;
			width: 1px;
			height: 100%;
			background-color: #C4C4C4;
		}
		span{
			font-family: Montserrat;
			min-width: 50px;
			font-size: 20px;
			FONT-WEIGHT: 500;
			color: var(--mainColor);
		}
	}
	.loopBlk{
		display: flex;
		margin: 70px 0 0;
	}
	.loopBlk ul {
		display: flex;
		animation: css_textLoop 150s infinite linear 1s both;
		white-space: nowrap;
	}
	.loopBlk ul li {
	    font-family: Montserrat;
	    font-size: 120px;
	    line-height: 146px;
	    color: #E4EAEE;
	}
	.messageOutline{
		position: relative;
		max-width: 1500px;
		padding: 0 40px;
		margin: -45px auto 0;
	}
	.messageBlk{
		display: flex;
		gap: 60px;
		align-items: center;
		justify-content: center;
		padding: 60px 170px;
		background: radial-gradient(circle at 100% 50%, #5CB5F9 0%, #207DDB 100%);
		border-radius: 20px;
	}
	.messageTxtBlk{
	    flex: 1;
	    color: #fff;
	}
	.messageTxtHead{
		font-size:30px;
		FONT-WEIGHT: 600;
	}
	.messageTxt{
		margin:25px 0 0;
		line-height: 2;
	}
	.messageImgBlk{
	    width: 320px;
	    border-radius: 160px;
	    overflow: hidden;
	}
}
.interview_slider {
	padding: 120px 0 230px;
	overflow: hidden;
	.inner {
	}
	.headBlk {
		position: relative;
	}
	.head {
		font-size: 30px;
        FONT-WEIGHT: 600;
        padding: 0 0 0 30px;
        background-image: url(./images/icon_top_cmnHead.webp);
        background-repeat: no-repeat;
        background-size: 20px;
        background-position: left;
	}
	.sliderArrowBlk {
		position: absolute;
		bottom: 0;
		right: 0;
		display: flex;
		gap: 12px;
		button {
			position: relative;
			width: 48px;
			height: 48px;
			padding: 0;
			border: 0;
			border-radius: 50%;
			background: #222;
			font-size: 0;
			cursor: pointer;
			transition: opacity .3s;
			&:hover {
				opacity: .7;
			}
			&::before {
				content: "";
				position: absolute;
				top: 50%;
				left: 50%;
				width: 10px;
				height: 10px;
				border-top: 2px solid #fff;
				border-right: 2px solid #fff;
			}
		}
		.slick-prev::before {
			transform: translate(-35%, -50%) rotate(45deg);
		}
		.slick-next::before {
			transform: translate(-65%, -50%) rotate(45deg);
		}
	}
	.mainBlk {
		margin:60px 0 0;
		.slick-list {
			overflow: visible;
		}
		.slick-track {
			/* display: flex; */
			/* gap: 40px; */
		}
		.slick-slide {
			height: auto;
		}
		&::before {
			content: "";
			position: absolute;
			z-index: 10;
			top: -5px;
			bottom: -5px;
			right: 100%;
			width: 100vw;
			background: #fff;
		}
	}
	.mainItemBlk {
		a {
			display: block;
		color: inherit;
		text-decoration: none;
		}
		.mainItemImgBlk {
		position: relative;
		overflow: hidden;
		aspect-ratio: 310 / 400;
		border-radius: 15px;
		img {
				display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
			}
		}
		.mainCatchBlk {
		position: absolute;
		top: 15px;
		left: 15px;
		display: flex;
		flex-flow: row-reverse;
		gap: 5px;
			.mainCatch {
		display: block;
		height: fit-content;
		padding: 5px 8px 10px;
		background: #fff;
		color: #0074d9;
		font-size: 20px;
		font-size: clamp(1rem, -0.464rem + 2.29vw, 1.25rem);
		line-height: 1;
		font-weight: 600;
		letter-spacing: .05em;
		}
		}
		.mainItemTextBlk {
		margin: 20px 0 0;
		}
		.mainItemTxtJob{
		text-align: center;
		FONT-WEIGHT: 600;
		span{
				font-size:23px;
		padding: 0 0 0 5px;
			}
		}
		.mainItemTxtYear{
		text-align: center;
		margin: 5px 0 0;
		color: #717274;
		font-size: 15px;
		}
		margin-right: 40px;margin-right: clamp(1.25rem, -6.071rem + 11.43vw, 2.5rem);
	}
}
@media screen and (max-width: 1024px){
	.interview_section{
		padding: 0px 0 60px;
		.inner{}
		.blk{}
		.mainOutline{
			gap: 30px;
		}
		.mainBlk{
		    flex-flow: column;
		    gap: 25px;
		}
		.mainHeadBlk{
		}
		.numHead{
		    font-size: 18px;
		}
		.mainHead{
			margin: 10px 0 0;
			font-size: 25px;
		}
		.mainTxtBlk{
			flex:1;
			max-width: 750px;
		}
		.mainTxt{
    line-height: 1.75;
}
		.mainImgBlk{
			border-radius: 10px;
			img{
				min-height:220px;
			}
		}
	}
	.interview_schedule{
		.inner{}
		.blk{}
		.mainBlk{
			flex-flow: column;
			gap: 20px;
		}
		.mainHeadBlk{
		    flex: initial;
		}
		.mainHead{
			font-size: 22px;
		}
		.mainTimeBlk{
			gap: 10px;
			width: 100%;
		}
		.mainTimeTxt{
			gap: 15px;
			padding: 0 0 0 25px;
			font-size: 16px;
			&::before{
				width: 15px;
				height: 15px;
				border: 3px solid var(--mainColor);
			}
			&:not(:last-child)::after{
				top: 20px;
				left: 7px;
			}
			span{
				font-size: 18px;
			}
		}
		.loopBlk{
			margin: 20px 0 0;
		}
		.loopBlk ul {
			animation: css_textLoop 150s infinite linear 1s both;
		}
		.loopBlk ul li {
		    font-size: 90px;
		    line-height: 1.6;
		}
		.messageOutline{
			max-width: 1500px;
			width: 92%;
			padding: initial;
			margin: -45px auto 0;
		}
		.messageBlk{
			flex-flow: wrap-reverse;
			gap: 30px;
			padding: 30px 20px;
			border-radius: 10px;
		}
		.messageTxtBlk{
		}
		.messageTxtHead{
			font-size: 22px;
		}
		.messageTxt{
			margin: 15px 0 0;
		}
		.messageImgBlk{
		}
	}
	.interview_slider {
		padding: 70px 0 170px;
		.inner {}
		.headBlk {
			position: relative;
		}
		.head {
			font-size: 22px;
			background-size: 20px;
		}
		.sliderArrowBlk {
			bottom: -60px;
			right: 0;
			gap: 15px;
			button {
				width: 48px;
				height: 48px;
				padding: 0;
				border: 0;
				border-radius: 50%;
				font-size: 0;
				cursor: pointer;
				transition: opacity .3s;
				&:hover {
					opacity: .7;
				}
				&::before {
					content: "";
					position: absolute;
					top: 50%;
					left: 50%;
					width: 10px;
					height: 10px;
					border-top: 2px solid #fff;
					border-right: 2px solid #fff;
				}
			}
			.slick-prev::before {
				transform: translate(-35%, -50%) rotate(45deg);
			}
			.slick-next::before {
				transform: translate(-65%, -50%) rotate(45deg);
			}
		}
		.mainBlk {
			margin: 100px 0 0;
			.slick-list {
			}
			.slick-track {
				gap: 15px;
			}
			.slick-slide {
				height: auto;
			}
			&::before {
				content: "";
				position: absolute;
				z-index: 10;
				top: -5px;
				bottom: -5px;
				right: 100%;
				width: 100vw;
				background: #fff;
			}
		}
		.mainItemBlk {
			a {
				display: block;
				color: inherit;
				text-decoration: none;
			}
			.mainItemImgBlk {
				position: relative;
				overflow: hidden;
				aspect-ratio: 310 / 400;
				border-radius: 15px;
				img {
					display: block;
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
			}
			.mainCatchBlk {
				position: absolute;
				top: 15px;
				left: 15px;
				display: flex;
				flex-flow: row-reverse;
				gap: 5px;
				.mainCatch {
					display: block;
					height: fit-content;
					padding: 5px 8px 10px;
					background: #fff;
					color: #0074d9;
					font-size: clamp(0.875rem, 0.756rem + 0.38vw, 1rem);
					line-height: 1;
					font-weight: 600;
					letter-spacing: .05em;
					@media screen and (max-width: 1000px) {
						font-size: 16px;padding: 10px 7px;
					}
					@media screen and (max-width: 500px) {
						font-size: 22px;padding: 15px 10px;
					}
				}
			}
			.mainItemTextBlk {
				margin: 20px 0 0;
			}
			.mainItemTxtJob{
				text-align: center;
				FONT-WEIGHT: 600;
				
				span{
					font-size:23px;
					padding: 0 0 0 5px;
				}
			}
			.mainItemTxtYear{
				text-align: center;
				margin: 5px 0 0;
				color: #717274;
				font-size: 15px;
			}
		}
	}
	@media screen and (max-width: 500px){
		font-size:16px;
	}
}

/*
Job description
====================================*/
.job_description{
	padding:10px 0 235px;
	.inner{}
	.blk{}
	.tabBlk{}
	.tabBtnBlk{}
	.tabBtnBlk ul{
		display:flex;
		justify-content: center;
		align-items: center;
		width: 500px;
		height: 65px;
		color: #9A9C9F;
		text-align: end;
		background-color: #EEF1F2;
		border-radius: 100px;
		font-weight: bold;
		margin: 0 auto;
	}
	.tabBtnBlk li{
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    width: calc(100% / 2);
	    text-align: center;
	    cursor: pointer;
	}
	.tabBtnBlk li._active{
	    height: 100%;
	    background-color: var(--mailBtnBg);
	    color: #fff;
	    border-radius: 100px;
	}
	.panelFlexBlk{
		padding:75px 0 0;
	}
	.panelBlk{}
	.panelFlexTxt{
		text-align:center;
	}
	.panelCtnBlk{
	    display: grid;
	    grid-template-columns: repeat(3, 1fr);
	    align-items: stretch;
	    gap: 30px;
	}
	.panelItemBlk{
		border:1px solid #C4C4C4;
		border-radius:10px;
		display: grid;
	}
	.panelItemLink{
		position: relative;
		display:inline-block;
		opacity: 1;
		padding: 25px;
		&::before{
			content:"";
			position:absolute;
			bottom: 0;
			right: 25px;
			transform: translate(0, -50%);
			width: 40px;
			height: 40px;
			border-radius: 40px;
			background-color: var(--mailBtnBg);
			background-image: url(./images/icon_arrow02_white.svg);
			background-repeat: no-repeat;
			background-position: center;
			transition: .3s;
		}
	}
	@media screen and (min-width: 1025px) {
		.panelItemLink:hover::before{
			background-color: var(--mainColor);
		}
	}
	.panelItemJobTitle{
		font-size: 20px;
		font-weight: bold;
		padding: 0 0 20px;
		border-bottom: 1px solid #C4C4C4;
		
		span{
			display: block;
			width: fit-content;
			padding: 5px 15px;
			margin: 0 0 15px;
			font-size: 16px;
			background-color: var(--mainColor2);
			color: #fff;
			border-radius: 50px;
			font-weight: 500;
		}
	}
	.panelItemJobTxt{
	    padding: 20px 0 0;
	    font-size: 15px;
	}
	.panelItemJobPlace{
		margin:25px 0 0;
		padding: 0 0 0 25px;
		color: var(--mainColor2);
		FONT-WEIGHT: 600;
		background-image: url(./images/icon_map.svg);
		background-repeat: no-repeat;
		background-size: 22px;
		background-position: left;
	}
}
@media screen and (max-width: 1024px) {
	.job_description{
		padding: 0px 0 160px;
		.inner{}
		.blk{}
		.tabBlk{}
		.tabBtnBlk{}
		.tabBtnBlk ul{
			width: 100%;
			max-width: 500px;
			height: 50px;
		}
		.tabBtnBlk li{
		    display: flex;
		}
		.tabBtnBlk li._active{
		}
		.panelFlexBlk{
			padding: 50px 0 0;
		}
		.panelBlk{}
		.panelFlexTxt{
		}
		.panelCtnBlk{
		    grid-template-columns: repeat(1, 1fr);
		    gap: 15px;
		}
		.panelItemBlk{
		}
		.panelItemLink{
			padding: 15px;			
			&::before{
				content:"";
				position:absolute;
				bottom: -5px;
				right: 15px;
				width: 35px;
				height: 35px;
				border-radius: 40px;
			}
		}
		.panelItemJobTitle{
			font-size: 18px;
			padding: 0 0 10px;
			span{
				padding: 3px 15px;
				margin: 0 0 5px;
				font-size: 13px;
				border-radius: 50px;
			}
		}
		.panelItemJobTxt{
		    padding: 10px 0 0;
		    font-size: 13px;
		}
		.panelItemJobPlace{
			margin: 20px 0 0;
			padding: 0 0 0 22px;
			background-size: 20px;
		}
	}
}
/*
Job description custom_detail
====================================*/
.custom_detail{
	padding: 0 0 140px;
	.inner{}
	.blk{}
	.mainBlk{}
	.mainHeadBlk{}
	.mainHead{
		font-size:25px;
		font-weight:500;
		padding: 0 0 0 20px;
		background-image: url(./images/icon_top_cmnHead.webp);
		background-repeat: no-repeat;
		background-size: 23px;
		background-position: left;
	}
	.mainDatailBlk{
		padding:40px 0 0;
	}
	.linkBlk{
		display:grid;
		gap:45px;
		padding:75px 0 0;
		a{
			position: relative;
			display:flex;
			justify-content:center;
			align-items:center;
			width:100%;
			margin:0 auto;
			border-radius: 100px;
			color: #fff;
			font-weight: bold;
			
			&._entry{
				max-width:400px;
				padding: 25px;
				font-size: 18px;
				background: linear-gradient(to right, #E60019 0%, #FC824C 100%);
				&::before{
					content:"";
					position:absolute;
					top: 50%;
					right: 25px;
					transform: translate(0, -50%);
					width: 15px;
					height: 15px;
					border-radius: 40px;
					background-image: url(./images/icon_arrow02_white.svg);
					background-repeat: no-repeat;
					background-position: center;
				}
			}
			&._list{
				max-width:260px;
				padding:20px;
				background-color:var(--mailBtnBg);
				&::before{
					content:"";
					position:absolute;
					top: 50%;
					left: 20px;
					transform: translate(0, -50%) rotate(180deg);
					width: 15px;
					height: 15px;
					border-radius: 40px;
					background-image: url(./images/icon_arrow02_white.svg);
					background-repeat: no-repeat;
					background-position: center;
				}
			}
		}
	}
}
@media screen and (max-width: 1024px){
	.custom_detail{
		padding: 0 0 140px;
		.inner{}
		.blk{}
		.mainBlk{}
		.mainHeadBlk{}
		.mainHead{
			font-size: 22px;
			background-size: 20px;
			padding: 0 0 0 25px;
			background-position: left top 10px;
		}
		.mainDatailBlk{
			padding: 30px 0 0;
		}
		.linkBlk{
			gap: 40px;
			padding: 50px 0 0;
			a{
				width:100%;
				&._entry{
					max-width: 350px;
					padding: 20px;
					font-size: 16px;
					&::before{
						right: 25px;
						width: 15px;
						height: 15px;
					}
				}
				&._list{
					max-width: 250px;
					padding: 15px;
					&::before{
						left: 20px;
						width: 15px;
						height: 15px;
					}
				}
			}
		}
	}
}
/*
Information
====================================*/
.info_category {
	padding: 90px 0 0px;
}
.info_category .inner {}
.info_category .blk {}
.info_category .mainBlk {}
.info_category .mainBlk ul {
	justify-content: center;
	gap: 15px;
}
.info_category .mainBlk ul li {
	width: calc((100% - (15px * 4)) / 5);
}
.info_category .mainBlk ul li a {
	display: block;
	line-height: 44px;
	text-align: center;
	background: var(--categoryLinkBg);
	font-size: 14px;
}
@media screen and (min-width: 1025px) {
	.info_category .mainBlk ul li a:hover {
		opacity: 1;
		color: white;
		background: var(--mainColor);
	}
}
.info_category .mainBlk ul li.current-cat a {
	background-color: var(--mainColor);
	color: white;
}
.info_list {
	padding: 45px 0 235px;
}
.info_list .inner {}
.info_list .blk {}
.info_list .mainBlk {}
.info_list .mainBlk article {
	border-top: solid 1px #C4C4C4;
}
.info_list .mainBlk article:last-child {
	border-bottom: solid 1px #DDDDDD;
}
.info_list .mainBlk article a {
	position: relative;
	padding: 30px 0;
	align-items: center;
	gap: 26px;
	&::before {
			content: "";
			position: absolute;
			top: 50%;
			right: 35px;
			transform: translateY(-50%);
			width: 8px;
			height: 8px;
			background-color: #9AA2AA;
			border-radius: 50%;
			transition: background-color .3s;
		}
		@media screen and (min-width: 1025px) {
			&:hover::before {
				background-color: var(--mainColor);
			}
		}
}
.info_list .mainImgBlk {
	width: 150px;
}
.info_list .mainImgBlk img {
	width: 100%;
	height: 92px;
}
.info_list .mainTextBlk {
	display: flex;
	gap: 40px;
	align-items: center;
}
.info_list .mainTextDate {
	font-family: Poppins;
	FONT-WEIGHT: 500;
	color: #9CA8B4;
	transition: .3s;
}
@media screen and (min-width: 1025px) {
	.info_list a:hover .mainTextDate {
		color: var(--mainColor);
	}
}
.info_list .mainTextCat {
	margin: 0 0 0 15px;
	display: inline-flex;
	font-size: 14px;
	padding: 1px 10px;
	background: var(--mainColor);
	color: white;
}
.info_list .mainTextTitle {
	line-height: 26px;
	FONT-WEIGHT: 600;
}
.info_list .paginationBlk {}
.info_detail {
	padding: 45px 0px 0;
	background-image: url(./images/informationDetail_bg.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top;
}
.info_detail .inner {}
.info_detail .blk {
	background-color: rgba(255, 255, 255, 0.7);
	padding: 0 0 240px;
}
.info_detail .mainBlk {
    max-width: 1000px;
    margin: 0 auto;
}
.info_detail .mainBlk article {}
.info_detail .mainDate {
	font-family: Poppins;
	display: inline-flex;
	color: #9CA8B4;
	FONT-WEIGHT: 500;
}
.info_detail .mainCat {
	margin: 0 0 0 15px;
	display: inline-flex;
	font-size: 14px;
	padding: 1px 10px;
	background: var(--mainColor);
	color: white;
}
.info_detail .mainHead {
	font-size: 30px;
	line-height: 48px;
	FONT-WEIGHT: 500;
	margin: 15px 0 0;
	padding: 0 0 40px;
	border-bottom: 1px solid #C4C4C4;
}
.info_detail .mainContentBlk {
	margin: 40px 0 0;
}
.info_detail .mainContentBlk > *:first-child,
.info_detail .mainContentBlk > * *:first-child {
	margin-top: 0;
}
.info_detail .mainContentBlk p {
	line-height: 2;
}
.info_detail .mainContentBlk img {
	display: table;
	margin: auto!important;
}
.info_detail .mainContentBlk :not(ul):not(li):not(iframe):not(table *) {
	margin: calc(1rem* 2) 0 0;
}
.info_detail .mainContentBlk a {
	color: var(--mainColor);
	text-decoration: underline;
}
.info_detail .paginationBlk {
    max-width: 1000px;
    margin: 0 auto;
}
@media screen and (max-width: 1024px) {
	.info_category {
		padding: 60px 0 0px;
	}
	.info_category .inner {}
	.info_category .blk {}
	.info_category .mainBlk {
		max-width: 400px;
		margin: auto;
	}
	.info_category .mainBlk ul {
		gap: 5px;
		justify-content: flex-start;
	}
	.info_category .mainBlk ul li {
		width: calc((100% - (5px * 1)) / 2);
	}
	.info_category .mainBlk ul li a {
		display: block;
		line-height: 44px;
		text-align: center;
		background: var(--categoryLinkBg);
		font-size: 14px;
	}
	.info_list {
		padding: 30px 0 140px;
	}
	.info_list .inner {}
	.info_list .blk {}
	.info_list .mainBlk {}
	.info_list .mainBlk article {
		border-top: solid 1px #DDDDDD;
	}
	.info_list .mainBlk article:last-child {
		border-bottom: solid 1px #DDDDDD;
	}
	.info_list .mainBlk article a {
		padding: 20px 30px 20px 0;
		align-items: center;
		gap: 20px;
		&::before{
		    right: 15px;
		}
	}
	.info_list .mainImgBlk {
		width: 100%;
	}
	.info_list .mainImgBlk img {
		width: 100%;
		height: auto;
		aspect-ratio: 16 /10;
	}
	.info_list .mainTextBlk {
		flex: unset;
		flex-flow: column;
		align-items: start;
		gap: 10px;
		width: 100%;
	}
	.info_list .mainTextDate {
		font-size: 14px;
	}
	.info_list .mainTextCat {
		margin: 0 0 0 15px;
		font-size: 14px;
		padding: 1px 10px;
	}
	.info_list .mainTextTitle {
		line-height: 24px;
		width: 100%;
	}
	.info_list .paginationBlk {}
	.info_detail {
		padding: 30px 0px 120px;
	}
	.info_detail .inner {}
	.info_detail .blk {
        padding: 0 15px 50px;
	    margin: 0;
       }
	.info_detail .mainBlk {}
	.info_detail .mainBlk article {}
	.info_detail .mainDate {
		display: inline-flex;
	}
	.info_detail .mainCat {
		margin: 0 0 0 15px;
		display: inline-flex;
		font-size: 14px;
		padding: 1px 10px;
		background: var(--mainColor);
		color: white;
	}
	.info_detail .mainHead {
		font-size: 22px;
		line-height: 30px;
		margin: 10px 0 0;
		padding: 0 0 30px;
	}
	.info_detail .mainContentBlk {
		margin: 30px 0 0;
	}
	.info_detail .mainContentBlk > *:first-child,
	.info_detail .mainContentBlk > * *:first-child {}
	.info_detail .mainContentBlk :not(ul):not(li):not(iframe):not(table *) {
		margin: calc(0.875rem* 1.6) 0 0;
	}
	.info_detail .mainContentBlk a {}
	.info_detail .paginationBlk {
		max-width: 350px;
		margin: auto;
	}
}
/*
Entry
====================================*/
.entry_newGraduate {
    padding: 45px 0 0;
	.inner {}
	.blk {}
	.mainBlk {}
	.mainHeadBlk{}
	.mainHeadDesc {
		margin:40px 0 0 ;
	}
}
.entry_midGraduate {
	padding: 140px 0 235px;
	.inner{}
	.blk{}
	.mainHeadBlk{}
	.mainHeadDesc{}
	.mainBlk{
		margin:50px 0 0;
		padding: 90px;
		background-color: var(--contentsBg);
		border-radius: 40px;
	}
}
@media screen and (max-width: 1024px) {
	.entry_newGraduate {
	    padding: 30px 0 0;
		.inner {}
		.blk {}
		.mainBlk {}
		.mainHeadBlk{}
		.mainHeadDesc {
		    margin: 20px 0 0;
		}
	}
	.entry_midGraduate {
		padding: 80px 0 160px;
		.inner{}
		.blk{}
		.mainHeadBlk{}
		.mainHeadDesc{
		    margin: 20px 0 0;
		}
		.mainBlk{
		    margin: 30px 0 0;
		    padding: 30px 15px 60px;
		    border-radius: 20px;
		}
	}
}
/*テスト*/