:root {
	--tab-width: 96%;
	--tab-h2: 43px;
	--sp-width: 92%;
	--sp-h2: 20px;
	--sp-h3: 20px;
}

.PC {
	display: block;
}

.SP {
	display: none;
}

.top_main {
	width: 100%;
	aspect-ratio: 5 / 2.82;
	aspect-ratio: 5 / 2.5;
	display: flex;
	align-items: center;
	background-size: cover;
	position: relative;
	overflow: hidden;
}

.topElm .top_main::after {
	content: "";
	background: url(../images/top_main_wave.png) no-repeat center;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	aspect-ratio: 5 / 0.47;
	background-size: cover;
}

.topElm .top_main h2 {
	font-size: 80px;
	font-size: calc(40px + (80 - 40) * ((100vw - 890px) / (1920 - 890)));
	color: #fff;
	line-height: 1.5;
	margin-left: 60px;
	position: absolute;
	top: 55%;
	transform: translate(0%, -50%);
	text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.35);
}

.topElm .top_main h2 img {
	width: 100%;
	max-width: 750px;
}

.top_main video {
	width: 100%;
}

.top_main h2 span {
	font-size: 80px;
	font-size: calc(40px + (80 - 40) * ((100vw - 890px) / (1920 - 890)));
	color: #000;
	background: #fff;
	padding: 0 35px;
	margin-right: 15px;
}

.banner {
	width: 312px;
	position: fixed;
	right: 2%;
	bottom: 22%;
}

.banner .bannerBox {
	position: relative;
}

.banner .bannerBox a:hover {
	opacity: 0.8;
}

.banner img {
	width: 100%;
}

.banner .btn_banner {
	position: absolute;
	width: 25px;
	height: 25px;
	top: -7px;
	right: -8px;
	z-index: 10;
	cursor: pointer;
}

.banner .btn_banner:hover {
	opacity: 0.8;
}

.banner .btn_banner img {
	width: 100%;
}

.banner.recruitBanner {
	width: 250px;
	position: fixed;
	right: 2%;
	bottom: 6%;
	z-index: 10;
}

.Box {
	display: flex;
	flex-wrap: wrap;
	/* 折り返しを許可 */
	width: 100%;
	justify-content: center;
	align-content: center;
	/* 複数行のコンテンツを中央揃え */
	min-height: 300px;
	/* 高さを確保して効果を確認 */
	height: 100%;
}

.lBox {
	width: 50%;
}

.rBox {
	width: 50%;
}

.btnBox {
	display: flex;
	justify-content: right;
	margin-top: 30px;
}

/*リンクボタン*/
.btnBox .news-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #424242;
	border-radius: 40px;
	padding: 10px 30px;
	text-decoration: none;
	color: #333;
	width: 240px;
	font-size: 16px;
	position: relative;
}

.btnBox .arrow-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid #424242;
	margin-left: 25px;
	transition: all .3s;
}

.btnBox .arrow-icon::after {
	content: "→";
	font-size: 16px;
}

.btnBox .news-link:hover {
	border: 2px solid #AC4B44;
	background: #FFF9F9;
	color: #AC4B44;
	opacity: 1;
}

.btnBox .news-link:hover .arrow-icon {
	border: 1px solid #AC4B44;
	transform: scale(1.3);
}

.btnBox .news-link:hover .arrow-icon::after {
	color: #AC4B44;
	transform: scale(0.7);
}

/*topElm*/
.topElm .sub_ttl {
	font-size: 20px;
	width: 186px;
	border-bottom: 3px solid #AC4B44;
	text-align: center;
	padding-bottom: 10px;
	color: #424242;
}

.topElm h3.ttl {
	font-family: "Poppins", sans-serif;
	font-size: 80px;
	font-weight: 500;
	color: #424242;
}

.topElm .info_txt {
	margin-top: 50px;
	line-height: 1.5;
	color: #424242;
	font-size: 20px;
}

/*top_company*/
.topElm .top_company {
	margin-top: 250px;
	margin-bottom: 320px;
}

.topElm .top_company .Box {
	position: relative;
}

.topElm .top_company #company_line,
.topElm .top_company #company_line_sp {
	width: 100%;
	position: absolute;
	bottom: -165px;
	z-index: -1;
	left: 0;
	overflow: hidden;
}

.topElm .top_company #company_line span,
.topElm .top_company #company_line2 span,
.topElm .top_company #company_line_sp span,
.topElm .top_company #company_line2_sp span {
	width: 100%;
	display: block;
	background: #fff;
	height: 100%;
	position: absolute;
	left: 0%;
}

.topElm .top_company #company_line2,
.topElm .top_company #company_line2_sp {
	width: 100%;
	position: absolute;
	bottom: -70px;
	z-index: -1;
	overflow: hidden;
}

.topElm .top_company #company_line img,
.topElm .top_company #company_line2 img,
.topElm .top_company #company_line_sp img,
.topElm .top_company #company_line2_sp img {
	width: 100%;
	max-width: 100%;
}

.top_company img {
	max-width: 885px;
	width: 98%;
}

.top_company .txtBox {
	width: 100%;
	max-width: 542px;
	font-size: 18px;
	margin: 0 auto;
}

.top_company .lBox {
	display: flex;
	align-items: center;
}

.top_company .rBox {
	text-align: right;
	overflow: hidden;
}

.top_company .rBox img {
	transform: translateX(100%);
}

/*top_caseStudy*/
.top_caseStudy {
	aspect-ratio: 5 / 2.1;
	/*background: url(../images/top_case_study.jpg) no-repeat center;*/
	width: 100%;
	background-size: 100%;
	position: relative;
	overflow: hidden;
}

.top_caseStudy .sub_ttl {
	color: #fff;
	width: 220px;
}

.top_caseStudy h3.ttl {
	color: #fff;
}

.top_caseStudy .txtBox {
	width: 100%;
	max-width: 542px;
	font-size: 18px;
	margin: 0 auto;
}

.top_caseStudy .rBox {
	position: relative;
}

.top_caseStudy .btnBox {
	justify-content: center;
	position: relative;
	top: 80%;
	margin-top: 0px;
}

.top_caseStudy .btnBox a,
.top_recruit .btnBox a {
	background: #fff;
}

.casestudy_bg {
	position: absolute;
	z-index: -1;
	top: 0px;
	display: flex;
	width: 100%;
	height: 100%;
}

.casestudy_bg li {
	width: 28%;
	position: relative;
}

.casestudy_bg li:first-child,
.casestudy_bg li:last-child {
	width: 23%;
}

.casestudy_bg li img {
	width: 100%;
}

.casestudy_bg li.upTOdown img {
	position: absolute;
	top: -110%;
}

.casestudy_bg li.downTOup img {
	position: absolute;
	top: 100%;
}

/*top_news*/
.top_news {
	margin-top: 120px;
	margin-bottom: 140px;
	position: relative;
}

.top_news .ttlBox {
	text-align: center;
}

.top_news .ttlBox .sub_ttl {
	margin: 0 auto;
}

.top_news ul {
	width: 96%;
	max-width: 1200px;
	margin: 100px auto 0;
	border: 2px solid #000;
	border-radius: 5px;
}

.top_news ul li a {
	display: flex;
	height: 88px;
	padding: 0 20px;
	align-items: center;
	border-bottom: 1px solid #000;
}

.top_news ul li:last-child a {
	border-bottom: none;
}

.top_news ul li span {
	letter-spacing: 2px;
	line-height: 1.3;
	font-size: 18px;
}

.top_news ul li .category {
	border: 1px solid #000;
	border-radius: 14px;
	padding: 2px 10px;
	margin: 0 15px;
}

.top_news ul li:first-child a:hover {
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

.top_news ul li:last-child a:hover {
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px
}

.top_news ul li a:hover {
	background: #FFF9F9;
}

.top_news ul li a:hover span {
	color: #AC4B44;
}

.top_news ul li a:hover .category {
	border: 1px solid #AC4B44;
}

.top_news .newslink {
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
}

#top_news_line {
	position: absolute;
	bottom: -140px;
	z-index: -1;
	left: 0;
	overflow: hidden;
	width: 100%;
}

#top_news_line2 {
	position: absolute;
	bottom: -105px;
	z-index: -1;
	left: 0;
	overflow: hidden;
	width: 100%;
}

#top_news_line span,
#top_news_line2 span,
#top_news_line_sp span,
#top_news_line2_sp span {
	width: 100%;
	display: block;
	background: #fff;
	height: 100%;
	position: absolute;

}

#top_news_line img,
#top_news_line2 img,
#top_news_line_sp img,
#top_news_line2_sp img {
	width: 100%;
	max-width: 100%;
}

/*top_recruit*/
.top_recruit {
	background: url(../images/top_recruuit.png) no-repeat center;
	background-size: cover;
	aspect-ratio: 5 / 2.1;
}

.top_recruit .sub_ttl {
	border-bottom-color: #0D77C2;
}

.top_recruit .lBox {
	display: flex;
	align-items: center;
	background: #E7EDF2;
	height: 100%;
	clip-path: polygon(0% -1%, 100% -17%, 75% 100%, 0% 100%);
	overflow: hidden;
	width: 65%;
	position: relative;
}

.top_recruit .rBox {
	text-align: right;
	width: 35%;
}

.top_recruit .txtBox {
	width: 100%;
	max-width: 542px;
	font-size: 18px;
	margin: 0 auto;
	position: relative;
	left: -12%;
}

.top_recruit .btnBox .news-link:hover {
	border: 2px solid #0D77C2;
	background: #F6FBFF;
	color: #0D77C2;
	opacity: 1;
}

.top_recruit .btnBox .news-link:hover .arrow-icon {
	border: 1px solid #0D77C2;
	transform: scale(1.3);
}

.top_recruit .btnBox .news-link:hover .arrow-icon::after {
	color: #0D77C2;
}

#top_recruit_line,
#top_recruit_line2 {
	position: absolute;
	bottom: 0px;
	z-index: -1;
}

#top_recruit_line img,
#top_recruit_line2 img {
	width: 100%;
	max-width: 100%;
}

#top_recruit_line span,
#top_recruit_line2 span {
	width: 100%;
	display: block;
	background: #E7EDF2;
	height: 100%;
	position: absolute;
	left: 0%;
}

.top_recruit img {
	max-width: 885px;
	width: 98%;
}

/*outlineElm*/
.outlineElm .topBox {
	aspect-ratio: 5 / 1.89;
	background: url(../images/company_top2.jpg) no-repeat center;
	width: 100%;
	max-width: 100%;
	background-size: 100%;
}

.outlineElm .txtBox {
	width: 100%;
	max-width: 542px;
	font-size: 18px;
	margin: 0 auto;
}

.outlineElm .topBox img {
	width: 100%;
}

.outlineElm .topBox h2 {
	font-size: 53px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 26.5px;
	color: #fff;
	/*letter-spacing: 10px;*/
}

.outlineElm .topBox .breadcrumb {
	display: flex;
	margin-top: 32px;
}

.outlineElm .topBox .breadcrumb li {
	color: #fff;
	margin-right: 0.5rem;
}

.outlineElm .topBox .breadcrumb li:after {
	content: "/";
	margin-left: 0.5rem;
}

.outlineElm .topBox .breadcrumb li:last-child:after {
	content: "";
}

.outlineElm .topBox .breadcrumb li a {
	color: #fff;
}


.menuList {
	max-width: 1200px;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 260px auto 0;
}

.menuList li {
	width: 280px;
	width: 18%;
	height: 52px;
	/*border: 2px solid #424242;*/
	border-radius: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 0px;
}

.menuList li.btnBox a {
	display: flex;
	height: 52px;
	width: 100%;
	justify-content: center;
	align-items: center;
	text-align: center;
	border-radius: 0px;
	padding: 10px;
}

.outlineElm .btnBox .arrow-icon::after {
	content: "↓";
}

/*.menuList li a::after {
	content: "";
	background: url(../images/btn_arrow_under.png) no-repeat right center;
	width: 38px;
	height: 38px;
	padding-left: 27px;
	display: block;
	background-size: contain;
}*/



.outlineElm h3 {
	font-size: 30px;
	border-left: 6px solid #AC4B44;
	padding: 5px 0 5px 20px;
	font-weight: 500;
	color: #424242;
}

.outlineElm section {
	max-width: 1200px;
	margin: 0 auto;
}

.outlineElm .innerBox {
	max-width: 1150px;
	margin: 0 auto;
}

.outlineElm .t_Bold {
	margin-top: 60px;
	font-size: 30px;
	line-height: 1.5;
	color: #424242;
}

.outlineElm .txt {
	font-size: 20px;
	line-height: 1.5;
	margin-top: 40px;
	color: #424242;
}

.outlineElm .txt_name {
	text-align: right;
	font-size: 20px;
	line-height: 1.5;
	color: #424242;
	margin-top: 20px;
}

#about,
#philosophy,
#information,
#overseasBox,
#outlineMessage {
	margin-top: 160px;
	/*padding-top: 80px;*/
}

#about .imgBox {
	width: 80%;
	margin: 80px auto 0;
}

#about img {
	width: 100%;

}

#philosophy .imgBox {
	width: 75%;
	margin: 0 auto;
}

#philosophy .imgBox img {
	width: 100%;
}

.outlineElm .info-table {
	width: 100%;
	max-width: 1150px;
	margin: 50px auto 0;
	border-collapse: collapse;
}

.outlineElm .info-table tr {
	border-bottom: 1px solid #e0e0e0;
}

.outlineElm .info-table tr.noborder {
	border-bottom: none;
}

.outlineElm .info-table th {
	width: 30%;
	padding: 16px 10px;
	text-align: left;
	font-weight: normal;
	vertical-align: top;
	font-size: 18px;
}

.outlineElm .info-table td {
	width: 70%;
	padding: 16px 10px;
	vertical-align: top;
	line-height: 1.5;
	font-size: 18px;
}

.outlineElm .info-table td p,
.outlineElm .info-table td li,
.outlineElm .info-table td div,
.outlineElm .info-table td a {
	font-size: 18px;
}

.outlineElm .info-table td a {
	color: #ac4b44;
}

.outlineElm .info-table td a:hover {
	text-decoration: underline;
}

.outlineElm .info-table td .business-list li:last-child {
	margin-top: 20px;

}

.outlineElm .map-container {
	border: 0;
	width: 100%;
	aspect-ratio: 16 / 9;
}

.outlineElm .map_end {
	margin-top: 120px;
}

.outlineElm .btn_llink {
	text-align: right;
	margin-top: 30px;
}

.outlineElm .map-link,
.outlineElm .pdf-link {
	display: inline-flex;
	max-width: 258px;
	width: 96%;
	border: 2px solid #616161;
	min-height: 60px;
	border-radius: 40px;
	align-items: center;
	justify-content: center;
	background: #fff;
	color: #424242;
	font-size: 14px;
}

.outlineElm .map-link .arrow-icon,
.outlineElm .pdf-link .arrow-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid #424242;
	margin-left: 25px;
	transition: all .3s;
}

.outlineElm .map-link .arrow-icon::after,
.outlineElm .pdf-link .arrow-icon::after {
	content: "→";
	font-size: 16px;
}

.outlineElm .map-link:hover,
.outlineElm .pdf-link:hover {
	border: 2px solid #AC4B44;
	background: #FFF9F9;
	color: #AC4B44;
	opacity: 1;
}

.outlineElm .map-link:hover .arrow-icon,
.outlineElm .pdf-link:hover .arrow-icon {
	border: 1px solid #AC4B44;
	transform: scale(1.3);
}

.outlineElm .map-link:hover .arrow-icon::after,
.outlineElm .pdf-link:hover .arrow-icon::after {
	color: #AC4B44;
	transform: scale(0.7);
}

.outlineElm .pdf-link {
	max-width: 475px;
	width: 96%;
}

.outlineElm .location {
	margin-bottom: 10px;
	line-height: 25px;
	text-indent: -1em;
	padding-left: 1em;
	font-size: 18px;
}

.outlineElm .location2 {
	font-size: 18px;
}

.outlineElm .location-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	background-color: #000;
	border-radius: 50%;
	margin-right: 5px;
}

#overseasBox img {
	width: 450px;
}

#overseasBox {
	margin-bottom: 160px;
}

.outlineElm .fa-brands {
	font-family: "Font Awesome 6 Brands";
	-webkit-font-smoothing: antialiased;
	display: var(--fa-display, inline-block);
	font-style: normal;
	font-variant: normal;
	line-height: 1;
	text-rendering: auto;
	padding: 0 2px;
}

.outlineElm .fa-skype:before {
	content: "\f17e";
}


/*bizContentElm*/
.bizContentElm .topBox {
	aspect-ratio: 5 / 1.89;
	background: url(../images/syashi_customize_top.png) no-repeat center;
	width: 100%;
	max-width: 100%;
	background-size: 100%;
}

.bizContentElm .txtBox {
	width: 100%;
	max-width: 542px;
	font-size: 18px;
	margin: 0 auto;
}

.bizContentElm .topBox img {
	width: 100%;
}

.bizContentElm .topBox h2 {
	font-size: 53px;
	color: #fff;
	font-weight: normal;
	letter-spacing: 10px;
}

.bizContentElm .topBox .breadcrumb {
	display: flex;
	margin-top: 32px;
}

.bizContentElm .topBox .breadcrumb li {
	color: #fff;
	margin-right: 0.5rem;
}

.bizContentElm .topBox .breadcrumb li:after {
	content: "/";
	margin-left: 0.5rem;
}

.bizContentElm .topBox .breadcrumb li:last-child:after {
	content: "";
}

.bizContentElm .topBox .breadcrumb li a {
	color: #fff;
}

.bizContentElm .contentsBox {
	margin: 150px auto 160px;
	max-width: 1135px;
	width: 98%;
}

.bizContentElm .contentsBox h3 {
	font-size: 30px;
	font-weight: 500;
	border-left: 6px solid #AC4B44;
	padding: 5px 0 5px 20px;
	color: #424242;
}

.bizContentElm .info_txt {
	font-size: 20px;
	line-height: 1.8;
	margin-top: 40px;
	color: #424242;
}



.bizContentElm .image-grid {
	display: grid;
	/* 画面幅に応じて列数を調整 (最小200px、最大1frでスペースを埋める) */
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 56px 52px;
	/* アイテム間の隙間 */
	margin-bottom: 30px;
	margin-top: 88px;
}

.bizContentElm .grid-item {
	text-align: center;
	/* キャプションのテキストを左寄せに */
	display: flex;
	/* Flexboxを使用して画像を上に、キャプションを下に配置 */
	flex-direction: column;
	/* 子要素を縦に並べる */
}



.bizContentElm .grid-item.pointer {
	cursor: pointer;
}

.bizContentElm .grid-item.pointer:hover {
	opacity: 0.8;
}

.bizContentElm .grid-item img {
	max-width: 100%;
	height: auto;
	/* 高さを自動にすることでアスペクト比を維持 */
	display: block;
	object-fit: cover;
	border-radius: 8px;
}

.bizContentElm .grid-item .caption {
	color: #000;
	padding: 10px;
	font-size: 18px;
	flex-grow: 1;
	/* 画像下の残りのスペースを埋める（高さが揃うように） */
	display: flex;
	/* キャプション内のテキストを中央揃えにする場合 */
	align-items: center;
	/* 縦方向中央 */
	justify-content: center;
}

.bizContentElm .other-works-section {
	background-color: #616161;
	/* 「その他請負工事」セクションの背景色 */
	color: white;
	padding: 40px;
	border-radius: 10px;
	/* 角丸 */
}

.bizContentElm .other-works-section h2 {
	text-align: left;
	font-size: 1.6em;
	/* 見出しのフォントサイズ */
	margin-top: 0;
	margin-bottom: 25px;
	padding-bottom: 20px;
	color: #fff;
	border-bottom: 1px solid #fff;
	/* 見出しの下線 */
}

.bizContentElm .lists-container {
	display: flex;
	flex-wrap: wrap;
	/* 画面が小さい場合に折り返す */
	gap: 20px;
	/* リスト間の隙間 */
	justify-content: space-between;
	/* リストを均等に配置 */
}

.bizContentElm .work-list {
	list-style-type: disc;
	/* リストマーカー */
	padding-left: 20px;
	/* リストマーカーのインデント */
	margin: 0;
	/* 下マージンを追加して、折り返し時のスペースを確保 */
	flex: 1;
	/* 利用可能なスペースを分け合う */
	min-width: 260px;
	/* 各リストの最小幅 (これより狭くなると折り返す) */
	box-sizing: border-box;
}

.bizContentElm .work-list li {
	margin-bottom: 10px;
	/* 各リストアイテム間の隙間 */
	font-size: 18px;
	line-height: 1.6;
	color: #fff;
}

/*modal*/
.bizContentElm .modal {
	position: fixed;
	max-width: 1200px;
	width: 96%;
	margin: 0 auto;
	background: #fff;
	z-index: 99999;
	height: 79%;
	border-radius: 10px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	box-shadow: 0px 0px 36.4px 0px rgba(0, 0, 0, 0.15);

}

.bizContentElm .modal .modalBox {
	width: 100%;
	height: 100%;
	overflow-y: auto;
}

.bizContentElm .modal .modalInanna {
	position: relative;
	width: 94%;
	margin: 0 auto;
	padding: 40px 0;

}

.bizContentElm #frameBox {
	display: none;
}

#modalBackground {
	position: fixed;
	background: hwb(0deg 0% 100% / 74%);
	width: 100%;
	height: 100%;
	z-index: 9999;
	top: 0px;
	display: none;
}

.bizContentElm .modal .btn_close {
	position: absolute;
	top: -25px;
	right: -17px;
	text-shadow: 2px 1px 12px rgba(0, 0, 0, 0.4);
	cursor: pointer;
}

.bizContentElm .modal .btn_close:hover {}

.bizContentElm .modal h3 {
	color: #424242;
	font-size: 30px;
	font-style: normal;
	font-weight: 500;
	border-left: 4px solid #AC4B44;
	padding-left: 5px;
}

.bizContentElm .modal .sample_txt {
	border-radius: 5px;
	background: #AC4B44;
	color: #fff;
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	width: 128px;
	text-align: center;
	padding: 5px 0;
	margin-top: 55px;
}

.bizContentElm .modal .flexBox {
	display: flex;
	align-items: center;
	margin-top: 20px;
	justify-content: center;
}

.bizContentElm .modal .flexBox.second {
	margin-top: 20px;
}

.bizContentElm .modal li {
	margin-right: 10px;
}

.bizContentElm .modal li img {
	max-width: 100%;
}

.bizContentElm .modal li.arrow_r {
	padding: 0 20px;
}

.bizContentElm .modal li.arrow_r_mini {
	padding: 0 10px;
}

.bizContentElm .modal li .before_txt {
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	color: #616161;
	margin-bottom: 10px;
}

.bizContentElm .modal li .after_txt {
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	color: #AC4B44;
	margin-bottom: 10px;
}




/*****
ニースリスト
*****/
.informationElm .topBox {
	aspect-ratio: 5 / 1.89;
	background: url(../images/news_top.jpg) no-repeat center;
	width: 100%;
	max-width: 100%;
	background-size: 100%;
}

.informationElm .txtBox {
	width: 100%;
	max-width: 542px;
	font-size: 18px;
	margin: 0 auto;
}

.informationElm .topBox img {
	width: 100%;
}

.informationElm .topBox h2 {
	font-size: 53px;
	color: #424242;
	letter-spacing: 10px;
}

.informationElm .topBox .breadcrumb {
	display: flex;
	margin-top: 32px;
}

.informationElm .topBox .breadcrumb li {
	color: #424242;
	margin-right: 0.5rem;
}

.informationElm .topBox .breadcrumb li:after {
	content: "/";
	margin-left: 0.5rem;
}

.informationElm .topBox .breadcrumb li:last-child:after {
	content: "";
}

.informationElm .topBox .breadcrumb li a {
	color: #424242;
}

.informationElm h3 {
	font-size: 30px;
	border-left: 6px solid #AC4B44;
	padding: 5px 0 5px 10px;
}

.informationElm section {
	max-width: 1200px;
	margin: 0 auto;
}

.informationElm .news_list {
	margin: 150px auto;
}

.informationElm .news_list ul {
	width: 96%;
	max-width: 1200px;
	margin: 100px auto 0;
	border: 2px solid #000;
	border-radius: 5px;
}

.informationElm .news_list ul li a {
	display: flex;
	height: 100%;
	min-height: 88px;
	padding: 10px 20px;
	align-items: center;
	border-bottom: 1px solid #000;
}

.informationElm .news_list ul li:last-child a {
	border-bottom: none;
}

.informationElm .news_list ul li span {
	letter-spacing: 2px;
	line-height: 1.3;
	color: #616161;
	font-size: 18px;
}

.informationElm .news_list ul li .category {
	border: 1px solid #000;
	border-radius: 14px;
	padding: 2px 10px;
	margin: 0 10px;
}

.informationElm .news_list ul li:first-child a:hover {
	border-top-left-radius: 5px;
	border-top-right-radius: 5px
}

.informationElm .news_list ul li:last-child a:hover {
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px
}

.informationElm .news_list ul li a:hover {
	background: #FFF9F9;
}

.informationElm .news_list ul li a:hover span {
	color: #AC4B44;
}

.informationElm .news_list ul li a:hover .category {
	border: 1px solid #AC4B44;
}

/******
ニュース詳細
******/
.informationElm .news_detailElm {
	margin-top: 140px;
	margin-bottom: 400px;
}

.date-container {
	display: flex;
	align-items: center;
}

.news_detailElm .date {
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 3.6px;
	color: #424242;
}

.news_detailElm .info-tag {
	display: inline-block;
	border: 1px solid #616161;
	border-radius: 20px;
	padding: 2px 10px;
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 0.9px;
	margin-left: 16px;
	color: #424242;
}

.news_detailElm h3 {
	margin-top: 24px;
	color: #424242;
}

.news_detailElm .contentArea p {
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 25px;
	margin-top: 25px;
	color: #424242;
}

.news_detailElm .news-link-container {
	text-align: center;
	margin-top: 100px;
}

.news_detailElm .news-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #424242;
	border-radius: 40px;
	padding: 10px 30px;
	text-decoration: none;
	color: #333;
	width: 400px;
	font-size: 16px;
}

.news_detailElm .arrow-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid #424242;
	margin-left: 25px;
	transition: all .3s;
}

.news_detailElm .arrow-icon::after {
	content: "→";
	font-size: 16px;
}

.news_detailElm .news-link:hover {
	border: 2px solid #AC4B44;
	background: #FFF9F9;
	color: #AC4B44;
}

.news_detailElm .news-link:hover .arrow-icon {
	border: 1px solid #AC4B44;
	transform: scale(1.3);
}

.news_detailElm .news-link:hover .arrow-icon::after {
	color: #AC4B44;
	transform: scale(0.7);
}


/******
リコール
******/
.recallElm .topBox {
	aspect-ratio: 5 / 1.89;
	background: url(../images/recall_top.jpg) no-repeat center;
	width: 100%;
	max-width: 100%;
	background-size: 100%;
}

.recallElm .txtBox {
	width: 100%;
	max-width: 542px;
	font-size: 18px;
	margin: 0 auto;
}

.recallElm .topBox img {
	width: 100%;
}

.recallElm .topBox h2 {
	font-size: 53px;
	font-weight: normal;
	color: #fff;
	letter-spacing: 10px;
}

.recallElm .topBox .breadcrumb {
	display: flex;
	margin-top: 32px;
}

.recallElm .topBox .breadcrumb li {
	color: #fff;
	margin-right: 0.5rem;
}

.recallElm .topBox .breadcrumb li:after {
	content: "/";
	margin-left: 0.5rem;
}

.recallElm .topBox .breadcrumb li:last-child:after {
	content: "";
}

.recallElm .topBox .breadcrumb li a {
	color: #fff;
}

.recallElm .recallBox {
	margin: 150px auto 160px;
	max-width: 1135px;
	width: 98%;
}

.recallElm h3 {
	font-size: 30px;
	border-left: 6px solid #AC4B44;
	padding: 5px 0 5px 20px;
	color: #424242;
	font-weight: 500;
}

.recallElm .recallBox .section-header {
	color: #AC4B44;
	font-size: 20px;
	margin: 64px 0 20px;
}

.recallElm .recallBox .section-header::before {
	content: "■";
	padding-right: 5px;
}

.recallElm .recallBox .recall-item p,
.recallElm .recallBox .contact-info p {
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.8;
}

.recallElm .recallBox .recall-item p.recall-number {
	margin-top: 25px;
}

.recallElm .recallBox .recall-item ul a {
	color: #AC4B44;
	font-size: 18px;
	line-height: 1.5;
}

.recallElm .recallBox .recall-item ul a:hover {
	text-decoration: underline;
}

.recallElm .recallBox .recall-item ul a::before {
	content: "・";
}

.recallElm .recallBox .ttl {
	font-size: 20px;
	font-weight: bold;
	margin-top: 20px;
}

.recallElm .recallBox .info-text {
	font-size: 18px;
	line-height: 1.8;
	margin-top: 10px;
}

.recallElm .recallBox .contact-info {
	margin-top: 20px;
}


/******
お問い合わせ
******/
.inquiryElm .topBox {
	aspect-ratio: 5 / 1.89;
	background: url(../images/inquiry_top.jpg) no-repeat center;
	width: 100%;
	max-width: 100%;
	background-size: 100%;
}

.inquiryElm .txtBox {
	width: 100%;
	max-width: 542px;
	font-size: 18px;
	margin: 0 auto;
}

.inquiryElm .topBox img {
	width: 100%;
}

.inquiryElm .topBox h2 {
	font-size: 53px;
	font-weight: normal;
	color: #fff;
	letter-spacing: 10px;
}

.inquiryElm .topBox .breadcrumb {
	display: flex;
	margin-top: 32px;
}

.inquiryElm .topBox .breadcrumb li {
	color: #fff;
	margin-right: 0.5rem;
}

.inquiryElm .topBox .breadcrumb li:after {
	content: "/";
	margin-left: 0.5rem;
}

.inquiryElm .topBox .breadcrumb li:last-child:after {
	content: "";
}

.inquiryElm .topBox .breadcrumb li a {
	color: #fff;
}

.inquiryElm .inquiryBox {
	margin: 150px auto 160px;
	max-width: 1135px;
	width: 98%;
}

.inquiryElm h3 {
	font-size: 30px;
	border-left: 6px solid #AC4B44;
	padding: 5px 0 5px 20px;
	font-weight: 500;
	color: #424242;
}

.inquiryElm .btnBox {
	justify-content: left;
}

.inquiryElm .contact {
	margin: 48px 0;
}

.inquiryElm .contact-section {
	margin-top: 64px;
	padding-left: 32px;
}

.inquiryElm .contact-section h4,
.inquiryElm .contact-section .contact-link a {
	color: #AC4B44;
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: 25px;
}

.inquiryElm .contact-section h4::before {
	content: "■";
	padding-right: 5px;
}

.inquiryElm .contact-section p {
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 31px;
}

.inquiryElm .contact-box {
	border: 2px solid #C0C0C0;
	display: inline-block;
	padding: 20px 30px;
	margin-top: 24px;
	border-radius: 5px;
}

.inquiryElm .contact-section .txt_us {
	margin-top: 24px;
}

/*カスタマーハラスメント*/
.harassmentBox .contact-section h4 {
	margin-bottom: 20px;
}

.harassmentBox .contact-section p.t {
	margin-top: 20px;
}

.harassmentBox .contact-section li {
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 31px;
	list-style: inside;
}

/*****
プライバシーポリシー
*****/
.privacyElm .topBox {
	aspect-ratio: 5 / 1.89;
	background: url(../images/news_top.jpg) no-repeat center;
	width: 100%;
	max-width: 100%;
	background-size: 100%;
}

.privacyElm .txtBox {
	width: 100%;
	max-width: 632px;
	font-size: 18px;
	margin: 0 auto;
}

.privacyElm .lBox {
	width: 55%;
}

.privacyElm .rBox {
	width: 45%;
}

.privacyElm .topBox img {
	width: 100%;
}

.privacyElm .topBox h2 {
	font-size: 53px;
	color: #424242;
	letter-spacing: 10px;
	font-weight: normal;
}

.privacyElm .topBox .breadcrumb {
	display: flex;
	margin-top: 32px;
}

.privacyElm .topBox .breadcrumb li {
	color: #424242;
	margin-right: 0.5rem;
}

.privacyElm .topBox .breadcrumb li:after {
	content: "/";
	margin-left: 0.5rem;
}

.privacyElm .topBox .breadcrumb li:last-child:after {
	content: "";
}

.privacyElm .topBox .breadcrumb li a {
	color: #424242;
}

.privacyElm .privacyBox {
	max-width: 1200px;
	width: 96%;
	margin: 140px auto 160px;
}

.privacyElm h3 {
	font-size: 30px;
	border-left: 6px solid #AC4B44;
	padding: 5px 0 5px 20px;
	color: #424242;
	font-weight: 500;
}

.privacyElm .infotxt {
	max-width: 1150px;
	width: 96%;
	margin: 48px auto 0;
}

.privacyElm .infotxt p {
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
	/* 156.25% */
}

.privacyElm .privacyBox ul {
	max-width: 1150px;
	width: 96%;
	margin: 48px auto 0;
	border-radius: 5px;
	background: #FFE5E3;
	padding: 24px;
}

.privacyElm .privacyBox ul li {
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
	margin-top: 15px;
	text-indent: -1em;
	padding-left: 1em;
}


/******
リクルート＿TOP
******/
.recruit_h .nav-list li {
	margin-left: 100px;
}

.recruit_h .nav-list li:first-child {
	margin-left: 0px;
}

.recruit_h .nav-list a {
	text-decoration: none;
	color: #0D77C2;
	transition: color 0.3s ease;
	font-size: 19px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
	letter-spacing: 2.85px;
}

.recruit_h .nav-list li a:hover {
	color: #0D77C2;
}

.recruit_h .nav-list li a::after {
	background: #0D77C2;
}

.entry-button a {
	display: inline-block;
	padding: 12px 20px;
	background: linear-gradient(to right, #9CD6FF, #0D77C2);
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	font-weight: bold;
	transition: opacity 0.3s ease;
	margin-left: 50px;
	width: 200px;
	text-align: center;
	/*アニメーションの指定*/
	transition: ease .2s;
	position: relative;
	z-index: 3;


}

.entry-button a span {
	color: #fff;
	position: relative;
	z-index: 10;
	font-size: 19px;
	width: 100%;
	display: inline-block;
	background: url(../images/recruit_icon_arrow.png) no-repeat right center;
	background-size: contain;
	transition: transform .6s;
}

.entry-button a:before {
	content: '';
	/*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	/*色や形状*/
	background: linear-gradient(to right, #FDA07C, #F42F1D);
	/*背景色*/
	width: 100%;
	height: 100%;
	/*アニメーション*/
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: left top;
}

/*hoverした際の形状*/
.entry-container:hover .entry-button a:before {
	transform-origin: left top;
	transform: scale(1, 1);
}

.entry-container:hover .entry-button a span {
	background: url(../images/recruit_icon_arrow2.png) no-repeat right center;
	background-size: 17px;
}

.recruit_topElm {
	/*background: url(../images/recruit_bg.png) top center;*/
	background-size: cover;
	background: var(--2, linear-gradient(91deg, #4ED0FF -19.69%, #004F95 131.79%));
	padding-bottom: 100px;
}

.recruit_topElm .top_main {
	aspect-ratio: initial;

}

.top_main .swiper {
	width: 100%;
	height: auto;
	/* 画像のアスペクト比に合わせて高さを自動調整 */
}

.top_main .swiper-slide {
	text-align: center;
	font-size: 18px;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top_main .swiper-slide img {
	display: block;
	width: 100%;
	height: auto;
	/* 画像のアスペクト比を維持 */
	object-fit: cover;
}

/* ナビゲーションボタンのスタイル調整 */
.top_main .swiper-button-prev,
.top_main .swiper-button-next {
	color: #007aff;
	/* ボタンの色 */
	width: 40px;
	height: 40px;
	background-color: rgba(255, 255, 255, 0.7);
	/* 半透明の背景 */
	border-radius: 50%;
	/* 丸いボタン */
	transition: background-color 0.3s ease;
}

.top_main .swiper-button-prev:hover,
.top_main .swiper-button-next:hover {
	background-color: rgba(255, 255, 255, 1);
}

.top_main .swiper-button-prev::after,
.top_main .swiper-button-next::after {
	font-size: 20px;
	/* アイコンのサイズ */
}

/* ページネーションのスタイル調整 */
.top_main .swiper-pagination-bullet {
	background-color: #007aff;
	/* ページネーションの色 */
	opacity: 0.7;
	transition: opacity 0.3s ease;
}

.top_main .swiper-pagination-bullet-active {
	opacity: 1;
	background-color: #007aff;
	/* アクティブなページネーションの色 */
}

.recruit_topElm .top_main .txtBox {
	margin-left: 60px;
	margin-top: 100px;
}

.recruit_topElm .top_main .subttl {
	color: #fff;
	font-size: 22px;
	font-style: normal;
	font-weight: 400;
	margin-bottom: 20px;
	letter-spacing: 2.8px;
	text-shadow: 1px 3px 4px rgba(0, 0, 0, 0.4);
}

.recruit_topElm .top_main .txtBox h2 {
	margin-left: 0px;
	font-size: 80px;
	color: #fff;
	line-height: 1;
}

.recruit_topElm .top_main .txtBox h2 img {
	width: 80%;
	filter: drop-shadow(1px 2px 6px rgba(0, 0, 0, 0.6));
}

.recruit_topElm .recruit_top_news {
	width: 96%;
	max-width: 1200px;
	margin: 118px auto 0;
}

.recruit_topElm .recruit_top_news ul li {
	margin-bottom: 12px;
}

.recruit_topElm .recruit_top_news ul li a {
	display: flex;
	height: 68px;
	padding: 0 20px;
	align-items: center;
	border-radius: 5px;
	background: #fff;
	box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.15);
}

.recruit_topElm .recruit_top_news ul li span {
	letter-spacing: 2px;
	line-height: 1.3;
	color: #0D77C2;
	font-size: 18px;
}

.recruit_topElm .recruit_top_news ul li .category {
	border: 1px solid #0D77C2;
	border-radius: 5px;
	padding: 2px 10px;
	margin: 0 10px;
}

.recruit_topElm .recruit_top_news ul li a:hover {
	background: #DBEFFF;
	opacity: 1;
}

.recruit_topElm .recruit_top_news ul li a:hover span {
	color: #005A99;
}

.recruit_topElm .recruit_top_news ul li a:hover .category {
	border: 1px solid #005A99;
}

.recruit_topElm .recruit_btnBox {
	margin-top: 40px;
}

.recruit_btnBox {
	display: flex;
	justify-content: right;
	margin-top: 30px;
}

.recruit_btnBox .news-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 5px;
	padding: 10px 30px;
	text-decoration: none;
	width: 357px;
	height: 53px;
	background: #fff;
	box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.15);
	position: relative;
	transition: ease .2s;
}

.recruit_btnBox .news-link .txt {
	color: #0D77C2;
	font-size: 16px;
	transition: ease .2s;
	position: relative;
}

.recruit_btnBox .news-link:before {
	content: '';
	/*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	background: #0D77C2;
	width: 100%;
	height: 100%;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: left top;
}

.recruit_btnBox .arrow-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin-left: 25px;
	transition: all 1.3s;
	position: absolute;
	right: 18%;
}

.recruit_btnBox .arrow-icon::after {
	content: "→";
	font-size: 24px;
	color: #0D77C2;
	z-index: 1;
	position: relative;
}

.recruit_btnBox .news-link:hover:before {
	transform-origin: left top;
	transform: scale(1, 1);
}

.recruit_btnBox .news-link:hover::before {
	background: #0D77C2;
}

.recruit_btnBox .news-link:hover .txt,
.recruit_btnBox .news-link:hover {
	color: #fff;
}

.recruit_btnBox .news-link:hover .arrow-icon {
	right: 10%;
}

.recruit_btnBox .news-link:hover .arrow-icon::after {
	color: #fff;

}

.recruit_message_Box {
	margin-top: 225px;
	width: 96%;
	margin: 225px auto 0;
}

.recruit_message_Box p {
	text-align: center;
	color: #fff;
	text-shadow: 0px 4px 34px rgba(0, 0, 0, 0.35);
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 50px;
	letter-spacing: 3.45px;
}

/**/
.job_description_Box {
	background: #FFF;
	padding-bottom: 180px;
	margin-top: 250px;
	position: relative;
}

.job_description_Box h2 {
	max-width: 527px;
	width: 100%;
	border-bottom: 3px solid #0D77C2;
	color: #0D77C2;
	font-size: 40px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 4.5px;
	text-align: center;
	height: 100%;
	padding-bottom: 15px;
	padding-top: 70px;
}

.job_description_Box #recruit_job_line,
.job_description_Box #recruit_job_line_sp {
	width: 100%;
	position: absolute;
	bottom: 155px;
	z-index: 0;
	left: 0;
	overflow: hidden;
}

.job_description_Box #recruit_job_line2,
.job_description_Box #recruit_job_line2_sp {
	width: 100%;
	position: absolute;
	bottom: 223px;
	z-index: 0;
	overflow: hidden;
}

.job_description_Box #recruit_job_line img,
.job_description_Box #recruit_job_line2 img {
	width: 100%;
	max-width: 100%;
}

.job_description_Box #recruit_job_line span,
.job_description_Box #recruit_job_line2 span {
	width: 100%;
	display: block;
	background: #fff;
	height: 100%;
	position: absolute;
	left: 0%;
}

.job_description_Box p {
	max-width: 1200px;
	width: 82%;
	margin-left: 18%;
	margin-top: 26px;
	text-shadow: 0px 4px 34px rgba(0, 0, 0, 0.15);
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 3px;
	color: #0D77C2;
}

.job_descriptionBtn {
	width: 94%;
	margin: 0 auto;
}

.job_descriptionBtn .recruit_btnBox {
	border: 2px solid #0D77C2;
	max-width: 357px;
	margin: 26px 0 26px auto;
	border-radius: 5px;
	position: relative;
}

.job_description_Box .slider {
	overflow: hidden;
	white-space: nowrap;
	width: 100%;
	margin-top: 60px;
}

.swiper-container-free-mode>.swiper-wrapper {
	transition-timing-function: linear !important;
}

.job_description_Box .slider li {
	width: 470px;
	display: inline-block;
	margin-right: 70px;
	/* スライド間の余白 */
}

.job_description_Box .slider li img {
	width: 100%;
}

/*******
モーダル
*******/
#Re_moveBox {
	position: fixed;
	z-index: 100000;
	text-align: center;
	max-width: 1100px;
	width: 94%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#Re_moveBox .modalinner {
	width: 100%;
	position: relative;
}

#Re_moveBox video {
	width: 100%;
	height: 100%;
}

#Re_moveBox .info_txt {
	color: #fff;
	font-size: 18px;
	line-height: 1.5;
	text-align: right;
}


#Re_moveBox .btn_close {
	position: absolute;
	right: -25px;
	top: -4%;
	z-index: 22;
	width: 50px;
}

#Re_moveBox .btn_close img {
	width: 100%;
}

#Re_moveBox #startBtn {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100px;
	transform: translate(-50%, -50%);
	cursor: pointer;
}

#Re_moveBox #startBtn:hover {
	opacity: 0.8;
}

#Re_moveBox #startBtn img {
	width: 100%;
}

#Re_modalBackground {
	position: fixed;
	background: hwb(0deg 0% 100% / 74%);
	width: 100%;
	height: 100%;
	z-index: 99999;
	top: 0px;
}

/* スマホ表示時の特別なスタイル */
@media (max-width: 768px) {
	#Re_moveBox {
		width: 80%;
	}

	#Re_moveBox .btn_close {
		position: absolute;
		right: -20px;
		top: -11%;
		z-index: 22;
		width: 37px;
	}

	.info_txt {
		color: #fff;
		font-size: 10px;
		text-align: left;
	}

	#Re_moveBox #startBtn {
		width: 65px;
		top: 35%;
	}
}


/*******
NEWSリスト
*******/
.recruit_newsElm {
	background: #F7F9FF;
}

.recruit_newsElm .topBox {
	aspect-ratio: 5 / 1.79;
	background: url(../images/recall_mainvisual.jpg) no-repeat center;
	width: 100%;
	max-width: 100%;
	background-size: cover;

}

.recruit_newsElm .topBox .lBox {
	width: 44%;
}

.recruit_newsElm .topBox .rBox {
	width: 56%;
}

.recruit_newsElm .topBox h2 {
	border-bottom: 1px solid #fff;
	font-size: 60px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 5.4px;
	color: #fff;
	padding-left: 8%;
	padding-bottom: 20px;
}

.recruit_newsElm .topBox .breadcrumb {
	display: flex;
	margin-top: 32px;
	padding-left: 8%;
}

.recruit_newsElm .topBox .breadcrumb li {
	color: #fff;
	margin-right: 0.5rem;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 1.44px;
}

.recruit_newsElm .topBox .breadcrumb li:after {
	content: "/";
	margin-left: 0.5rem;
}

.recruit_newsElm .topBox .breadcrumb li:last-child:after {
	content: "";
}

.recruit_newsElm .topBox .breadcrumb li a {
	color: #fff;
}

.recruit_newsElm .recruit_newslist {
	margin-top: 160px;
	padding-bottom: 160px;
}

.recruit_newsElm .recruit_newslist h3 {
	max-width: 677px;
	width: 100%;
	border-bottom: 1px solid #0D77C2;
	color: #0D77C2;
	font-size: 50px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 4.5px;
	padding-left: 60px;
	padding-bottom: 15px;
}

.recruit_newsElm .recruit_newslist ul {
	width: 96%;
	max-width: 1200px;
	margin: 118px auto 0;
}

.recruit_newsElm .recruit_newslist ul li {
	margin-bottom: 32px;
}

.recruit_newsElm .recruit_newslist ul li a {
	display: flex;
	min-height: 68px;
	padding: 12px 20px;
	align-items: center;
	border-radius: 5px;
	background: #fff;
	box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.15);
	line-height: 1.5;
}

.recruit_newsElm .recruit_newslist ul li span {
	letter-spacing: 2px;
	line-height: 1.3;
	color: #0D77C2;
	font-size: 18px;
}

.recruit_newsElm .recruit_newslist ul li .category {
	border: 1px solid #0D77C2;
	border-radius: 5px;
	padding: 2px 10px;
	margin: 0 10px;
}

.recruit_newsElm .recruit_newslist ul li a:hover {
	background: #DBEFFF;
	opacity: 1;
}

.recruit_newsElm .recruit_newslist ul li a:hover span {
	color: #005A99;
}

.recruit_newsElm .recruit_newslist ul li a:hover .category {
	border: 1px solid #005A99;
}


/******
ニュース詳細
******/

.recruit_newsElm .recruit_news_detailElm {
	max-width: 1200px;
	margin: 140px auto 0px;
	padding-bottom: 400px;
}

.date-container {
	display: flex;
	align-items: center;
}

.recruit_news_detailElm .date {
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 3.6px;
	color: #424242;
}

.recruit_news_detailElm .info-tag {
	display: inline-block;
	border: 2px solid #616161;
	border-radius: 4px;
	padding: 2px 10px;
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 0.9px;
	margin-left: 16px;
	color: #424242;
}

.recruit_news_detailElm h3 {
	margin-top: 24px;
	color: #0D77C2;
	font-size: 40px;
	font-style: normal;
	font-weight: 500;
	line-height: 50px;
	letter-spacing: 3.6px;
	padding-bottom: 20px;
	border-bottom: 3px solid #0D77C2;
}

.recruit_news_detailElm .contentArea {
	margin-top: 100px;
}

.recruit_news_detailElm .contentArea p {
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 25px;
	margin-top: 25px;
	color: #424242;
}

.recruit_news_detailElm .news-link-container {
	text-align: center;
	margin-top: 100px;
}

.recruit_news_detailElm .news-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 5px;
	padding: 10px 30px;
	text-decoration: none;
	color: #0D77C2;
	border: 2px solid #0D77C2;
	width: 357px;
	height: 53px;
	font-size: 16px;
	background: #fff;
	box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.15);
	position: relative;
	transition: ease .6s;
}

.recruit_news_detailElm .news-link:before {
	content: '';
	/*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: 0;
	background: #0D77C2;
	width: 100%;
	height: 100%;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transition: transform .6s;
	transform: scale(0, 1);
	transform-origin: left top;
}

.recruit_news_detailElm .arrow-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin-left: 25px;
	transition: all .8s;
	position: absolute;
	right: 18%;
}

.recruit_news_detailElm .arrow-icon::after {
	content: "→";
	font-size: 24px;
	color: #0D77C2;
	z-index: 1;
	position: relative;
}

.recruit_news_detailElm .news-link .txt {
	color: #0D77C2;
	font-size: 16px;
	transition: ease .2s;
	position: relative;
}

.recruit_news_detailElm .news-link:hover:before {
	transform-origin: left top;
	transform: scale(1, 1);
	background: #0D77C2;
}

.recruit_news_detailElm .news-link:hover .txt,
.recruit_news_detailElm .news-link:hover {
	color: #fff;
	transition: ease .6s;
}

.recruit_news_detailElm .news-link:hover .arrow-icon {
	right: 10%;
}

.recruit_news_detailElm .news-link:hover .arrow-icon::after {
	color: #fff;

}

/*******
代表メッセージ
*******/
.recruit_messageElm .topBox {
	aspect-ratio: 5 / 1.79;
	background: url(../images/recruit_message_top.png) no-repeat center;
	width: 100%;
	max-width: 100%;
	background-size: cover;
}

.recruit_messageElm .topBox h2 {
	border-bottom: 1px solid #fff;
	font-size: 60px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 5.4px;
	color: #fff;
	padding-left: 8%;
	padding-bottom: 20px;
}

.recruit_messageElm .topBox .breadcrumb {
	display: flex;
	margin-top: 32px;
	padding-left: 8%;
}

.recruit_messageElm .topBox .breadcrumb li {
	color: #fff;
	margin-right: 0.5rem;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 1.44px;
}

.recruit_messageElm .topBox .breadcrumb li a {
	color: #fff;
}

.recruit_messageElm .topBox .breadcrumb li:after {
	content: "/";
	margin-left: 0.5rem;
}

.recruit_messageElm .topBox .breadcrumb li:last-child:after {
	content: "";
}

.recruit_messageBox {
	margin-bottom: 160px;
}

.recruit_messageBox h3 {
	max-width: 527px;
	width: 100%;
	border-bottom: 3px solid #0D77C2;
	color: #0D77C2;
	font-size: 40px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 4.5px;
	text-align: center;
	height: 100%;
	padding-bottom: 15px;
	padding-top: 70px;
}

.recruit_messageBox .recruit_messageInner {
	max-width: 1200px;
	width: 96%;
	margin: 30px auto 0;
}

.recruit_messageBox .recruit_messageInner .imgBox img {
	width: 100%;
}

.recruit_messageBox .recruit_messageInner p {
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
	color: #424242;
}

.recruit_messageBox .recruit_messageInner p.txt {
	margin-top: 60px;
}

.recruit_messageBox .recruit_messageInner p.txt2 {
	margin-top: 40px;
}

/*******
Jobリスト
*******/
.recruit_jobElm {
	background: #F7F9FF;
}

.recruit_jobElm .topBox {
	aspect-ratio: 5 / 1.79;
	background: url(../images/recruit_job_top.png) no-repeat center;
	width: 100%;
	max-width: 100%;
	background-size: cover;
}

.recruit_jobElm .topBox .lBox {
	width: 44%;
}

.recruit_jobElm .topBox .rBox {
	width: 56%;
}

.recruit_jobElm .topBox h2 {
	border-bottom: 1px solid #fff;
	font-size: 60px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 5.4px;
	color: #fff;
	padding-left: 8%;
	padding-bottom: 20px;
}

.recruit_jobElm .topBox .breadcrumb {
	display: flex;
	margin-top: 32px;
	padding-left: 8%;
}

.recruit_jobElm .topBox .breadcrumb li {
	color: #fff;
	margin-right: 0.5rem;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 1.44px;
}

.recruit_jobElm .topBox .breadcrumb li:after {
	content: "/";
	margin-left: 0.5rem;
}

.recruit_jobElm .topBox .breadcrumb li:last-child:after {
	content: "";
}

.recruit_jobElm .topBox .breadcrumb li a {
	color: #fff;
}

.recruit_jobElm .recruit_job_Box {
	margin-top: 160px;
	padding-bottom: 160px;
}

.recruit_jobElm .recruit_job_Box h3 {
	max-width: 677px;
	width: 100%;
	border-bottom: 1px solid #0D77C2;
	color: #0D77C2;
	font-size: 50px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 4.5px;
	padding-left: 60px;
	padding-bottom: 15px;
}

.recruit_jobElm .jobContentBox {
	margin-top: 100px;
}

.recruit_jobElm .jobContentBox .top-section {
	padding: 50px 120px;
	border-radius: 10px;
	background: #FFF;
	max-width: 1200px;
	width: 96%;
	box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.15);
	margin: 0 auto 40px;
}

.recruit_jobElm .jobContentBox .top-section .logo-circles {
	text-align: center;
}

.recruit_jobElm .jobContentBox .top-section .logo-circles img {
	max-width: 650px;
	width: 96%;
}

.recruit_jobElm .jobContentBox .top-section h4 {
	color: #0D77C2;
	font-size: 21px;
	font-style: normal;
	font-weight: 700;
	line-height: 44.3px;
	letter-spacing: 2.1px;
	text-align: center;
	margin-top: 45px;
}

.recruit_jobElm .jobContentBox .top-section p {
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	color: #424242;
	margin-top: 45px;
}

/*bottom-section*/
.recruit_jobElm .bottom-section {
	display: flex;
	gap: 30px;
	border-radius: 8px;
	max-width: 1200px;
	width: 96%;
	margin: 0 auto;
}

.recruit_jobElm .bottom-section .column {
	flex: 1;
	background-color: #fff;
	padding: 60px 50px;
	border-radius: 6px;
	box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.15);
}

.recruit_jobElm .bottom-section .column img {
	width: 100%;
	max-width: 376px;
	height: auto;
	border-radius: 4px;
	margin: 0 auto 45px;
	display: block;
}

.recruit_jobElm .bottom-section .column h4 {
	font-size: 21px;
	color: #0D77C2;
	margin-bottom: 10px;
	font-weight: bold;
	font-weight: 700;
	line-height: 35px;
	letter-spacing: 2.1px;
}

.recruit_jobElm .bottom-section .column p {
	font-size: 18px;
	line-height: 35px;
	color: #424242;
	margin-top: 45px;
}

/*.recruit_role_Box*/
.recruit_jobElm .recruit_job_Box .recruit_role_Box {
	margin-top: 160px;
}

.recruit_jobElm .recruit_job_Box .recruit_role_Box h3 {
	max-width: 1460px;

}

.recruit_jobElm .recruit_job_Box .recruit_role_Box ul.role_ul {
	margin-top: 100px;
}

.recruit_jobElm .recruit_job_Box .recruit_role_Box .role_fast {
	max-width: 485px;
	width: 53%;
	margin: 0 auto 20px;

}

.recruit_jobElm .recruit_job_Box .recruit_role_Box .role_second {
	max-width: 1066px;
	width: 96%;
	margin: 0 auto 5px;
}

.recruit_jobElm .recruit_job_Box .recruit_role_Box .role_third {
	max-width: 914px;
	width: 85%;
	margin: 0 auto;
}

.recruit_jobElm .recruit_job_Box .recruit_role_Box .role_fast,
.recruit_jobElm .recruit_job_Box .recruit_role_Box .role_second,
.recruit_jobElm .recruit_job_Box .recruit_role_Box .role_third {
	opacity: 0;
	transition: opacity 1s ease;
}

/* is-visible クラスが付与されたら表示 */
.recruit_jobElm .recruit_job_Box .recruit_role_Box .role_fast.is-visible,
.recruit_jobElm .recruit_job_Box .recruit_role_Box .role_second.is-visible,
.recruit_jobElm .recruit_job_Box .recruit_role_Box .role_third.is-visible {
	opacity: 1;
}

.recruit_jobElm .recruit_job_Box .recruit_role_Box ul.role_ul img {
	width: 100%;
}

.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul {
	margin-top: 60px;
	display: flex;
	gap: 40px;
	justify-content: center;
}

.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul li {
	width: 20%;
	max-width: 378px;
	border-radius: 5px;
	border: 3px solid #0D77C2;
	box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.15);
	padding: 40px;
}

.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul .imgBox {
	text-align: center;
}

.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul .imgBox img {
	width: 100%;
	max-width: 164px;
}

.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul h4 {
	color: #0D77C2;
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 2.5px;
	display: flex;
	margin-top: 32px;
	align-items: center;
}

.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul li:first-child h4 {
	/*width: 50%;*/
}

.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul h4 .number {
	width: 40px;
	height: 40px;
	border-radius: 5px;
	background: #0D77C2;
	color: #fff;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 40px;
	text-align: center;
	margin-right: 15px;
}

.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul .ttl {
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 25px;
	color: #0D77C2;
	letter-spacing: 0.96px;
	margin-top: 25px;
}

.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul .txt {
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 25px;
	color: #0D77C2;
	letter-spacing: 0.96px;
	margin-top: 20px;
}

/*******
募集要項
*******/
.recruit_descriptionElm {
	background: #F7F9FF;
}

.recruit_descriptionElm .topBox {
	aspect-ratio: 5 / 1.79;
	background: url(../images/recruit_description_top.png) no-repeat center;
	width: 100%;
	max-width: 100%;
	background-size: cover;
}

.recruit_descriptionElm .topBox .lBox {
	width: 44%;
}

.recruit_descriptionElm .topBox .rBox {
	width: 56%;
}

.recruit_descriptionElm .topBox h2 {
	border-bottom: 1px solid #fff;
	font-size: 60px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 5.4px;
	color: #fff;
	padding-left: 8%;
	padding-bottom: 20px;
}

.recruit_descriptionElm .topBox .breadcrumb {
	display: flex;
	margin-top: 32px;
	padding-left: 8%;
}

.recruit_descriptionElm .topBox .breadcrumb li {
	color: #fff;
	margin-right: 0.5rem;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 1.44px;
}

.recruit_descriptionElm .topBox .breadcrumb li:after {
	content: "/";
	margin-left: 0.5rem;
}

.recruit_descriptionElm .topBox .breadcrumb li:last-child:after {
	content: "";
}

.recruit_descriptionElm .topBox .breadcrumb li a {
	color: #fff;
}

.recruit_descriptionElm .recruit_description_Box {
	margin-top: 100px;
	padding-bottom: 160px;
}

/*メニューリスト*/
.recruit_descriptionElm .recruit_description_Box .menu_description {
	display: flex;
	gap: 40px;
	justify-content: center;
	max-width: 1200px;
	width: 96%;
	margin: 0 auto 160px;
}

.recruit_descriptionElm .recruit_description_Box .menu_description li.btnBox {
	width: 33.33%;
}

.recruit_descriptionElm .recruit_description_Box .menu_description li.btnBox .news-link {
	max-width: 360px;
	width: 100%;
	border: 2px solid #0D77C2;
	background: #fff;
	border-radius: 5px;
}

.recruit_descriptionElm .recruit_description_Box .menu_description li.btnBox .news-link:hover {
	opacity: 0.8;
	background: #fff;
}

.recruit_descriptionElm .recruit_description_Box .menu_description li.btnBox .news-link:hover .arrow-icon::after {
	color: #0D77C2;
	transform: scale(0.7);
}

.recruit_descriptionElm .recruit_description_Box .menu_description li.btnBox .arrow-icon {
	color: #0075c2;
	border: 1px solid #0075c2;

}

.recruit_descriptionElm .recruit_description_Box .menu_description li.btnBox .arrow-icon::after {
	content: "↓";
	font-size: 16px;
}

.recruit_descriptionElm .recruit_description_Box .menu_description li a {
	font-size: 20px;
	color: #0D77C2;
}

.recruit_descriptionElm .recruit_description_Box h3 {
	max-width: 677px;
	width: 100%;
	border-bottom: 1px solid #0D77C2;
	color: #0D77C2;
	font-size: 50px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 4.5px;
	padding-left: 60px;
	padding-bottom: 15px;
}

.recruit_descriptionElm .recruit_description_Box h3 span {
	color: #0D77C2;
	font-size: 20px;
	letter-spacing: 1px;
	padding-left: 15px;
}


.recruit_descriptionElm .recruit_description_Box .container {
	max-width: 1200px;
	width: 96%;
	margin: 100px auto 0;
}

.recruit_descriptionElm .recruit_description_Box .container h4 {
	color: #0D77C2;
	font-size: 40px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 3.6px;
}

.recruit_descriptionElm .recruit_description_Box .recruit_table {
	background: #fff;
	padding: 0 50px 0px 50px;
	margin-top: 50px;
}

.recruit_descriptionElm .recruit_description_Box table th,
.recruit_descriptionElm .recruit_description_Box table td,
.recruit_descriptionElm .recruit_description_Box table div,
.recruit_descriptionElm .recruit_description_Box table li {
	color: #0D77C2;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 25px;
}

.recruit_descriptionElm .recruit_description_Box table tr {
	border-bottom: 1px solid #0D77C2;
	padding: 42px 0;
}

.recruit_descriptionElm .recruit_description_Box table tr.noLine {
	border-bottom: none;
}

.recruit_descriptionElm .recruit_description_Box table th {
	text-align: left;
	color: #0D77C2;
	font-weight: bold;
	width: 380px;
	vertical-align: middle;
	padding: 42px 0 42px 40px;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 25px;
	letter-spacing: 1px;
}

.recruit_descriptionElm .recruit_description_Box table td {
	padding: 42px 0;
}

.recruit_descriptionElm .recruit_description_Box table td .category-desc {
	padding-left: 1em;
}


.recruit_descriptionElm .recruit_description_Box table td .category-title {
	font-weight: bold;
	margin-top: 20px;
}

.recruit_descriptionElm .recruit_description_Box table td .category-title.marginNo {
	margin-top: 0px;
}


.recruit_descriptionElm .recruit_description_Box table td div {
	line-height: 25px;
}

.recruit_descriptionElm .recruit_description_Box .container h4.midway,
.recruit_descriptionElm .recruit_description_Box h3.flowttl {
	margin-top: 100px;
}

.recruit_descriptionElm .flow-container {
	max-width: 1200px;
	width: 96%;
	margin: 100px auto 0;
}

.recruit_descriptionElm .recruit_description_Box .flow-item {
	position: relative;
	display: block;
	margin-bottom: 80px;
	padding: 35px 16px;
	border: 4px solid #0075c2;
	border-radius: 8px;
	background-color: #ffffff;
	text-align: left;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: #000000;
	opacity: 0;
	transition: opacity 1s ease;
}

.recruit_descriptionElm .recruit_description_Box .flow-item.is-visible {
	opacity: 1;
}

.recruit_descriptionElm .recruit_description_Box .flow-item::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 50px 65px 0 65px;
	border-color: #0075c2 transparent transparent;
	translate: -50% 100%;
}

.recruit_descriptionElm .recruit_description_Box .flow-item::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 45px 58.4px 0 58.4px;
	border-color: #ffffff transparent transparent;
	translate: -50% 100%;
}

.recruit_descriptionElm .recruit_description_Box .flow-item:last-child::before,
.recruit_descriptionElm .recruit_description_Box .flow-item:last-child::after {
	display: none;
}

.flow-header {
	position: absolute;
	top: -45px;
	left: -3.8%;
	max-width: 120px;
	height: 72px;
	width: 100%;
	border-radius: 70px;
	background: #0D77C2;
	z-index: 1;
	text-align: center;
	align-items: center;
	display: flex;
	justify-content: center;
}

.flow-number {
	font-size: 40px;
	color: #fff;
	font-weight: bold;
}

.recruit_descriptionElm .recruit_description_Box .flow-item .flow-title {
	color: #0075c2;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 5px;
}

.recruit_descriptionElm .recruit_description_Box .flow-item .flow-content {
	background-color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	margin: 0 auto;
}

.recruit_descriptionElm .recruit_description_Box .flow-item .flow-text {
	width: 60%;
	text-align: center;
}

.recruit_descriptionElm .recruit_description_Box .flow-item .flow-title {
	font-size: 40px;
	font-style: normal;
	font-weight: 700;
	line-height: 50px;
}

.recruit_descriptionElm .recruit_description_Box .flow-item .imgBox {
	width: 40%;
	text-align: center;
}

.recruit_descriptionElm .recruit_description_Box .flow-item .imgBox img {
	max-width: 96%;
}

.recruit_descriptionElm .recruit_description_Box .flow-item .flow-description {
	color: #0075c2;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
}

.entryBox {
	display: flex;
	justify-content: space-between;
}

.entryBox .chuutoBox {
	width: 48%;
	margin: 50px 0 0;
}

.ButtonBox {
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
}

.ButtonBox .attention_txt {
	color: #0D77C2;
	font-size: 18px;
	margin-top: 10px;
}

.entryButton {
	border-radius: 5px;
	background: #27DE98;
	/*width: 100%;
	max-width: 1200px;*/
	width: 100%;
	height: 120px;
	margin: 100px auto 0;
	display: flex;
	align-items: center;
	justify-content: center;

	/*アニメ*/
	transition: ease .2s;
	position: relative;
	overflow: hidden;
}

.entryButton span {
	position: relative;
	color: #fff;
	font-size: 40px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 4px;

}

.entryButton small {
	color: #fff;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.48px;
	display: block;
	text-align: center;
	margin-top: 12px;
}

.entryButton::before {
	content: '';
	/*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: -185%;
	/*色や形状*/
	background: #FF6D67;
	width: 150%;
	height: 100%;
	transform: skewX(-60deg);
}

/*hoverした時のアニメーション*/
.entryButton:hover::before {
	animation: skewanime .5s forwards;
	/*アニメーションの名前と速度を定義*/
}



/*contactButton*/
.contactButton {
	border-radius: 5px;
	background: #0D77C2;
	width: 98%;
	max-width: 1200px;
	height: 120px;
	margin: 100px auto 0;
	display: flex;
	align-items: center;
	justify-content: center;

	/*アニメ*/
	transition: ease .2s;
	position: relative;
	overflow: hidden;
}

.contactButton span {
	position: relative;
	color: #fff;
	font-size: 40px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 4px;

}

.contactButton small {
	color: #fff;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.48px;
	display: block;
	text-align: center;
	margin-top: 6px;
}

.contactButton::before {
	content: '';
	position: absolute;
	top: 0;
	left: -170%;
	background: #FFB006;
	width: 145%;
	height: 100%;
	transform: skewX(-60deg);
}

/*hoverした時のアニメーション*/
.contactButton:hover::before {
	animation: skewanime0 .5s forwards;
	/*アニメーションの名前と速度を定義*/
}



/*recrutButton*/
.recrutButton {
	border-radius: 5px;
	background: #fff;
	width: 96%;
	max-width: 1200px;
	height: 120px;
	margin: 100px auto 0;
	display: flex;
	align-items: center;
	justify-content: center;

	/*アニメ*/
	transition: ease .2s;
	position: relative;
	overflow: hidden;
}

.recrutButton span {
	position: relative;
	color: #0D77C2;
	font-size: 40px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 4px;

}

.recrutButton small {
	color: #fff;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.48px;
	display: block;
	text-align: center;
	margin-top: 6px;
}

.recrutButton::before {
	content: '';
	position: absolute;
	top: 0;
	left: -170%;
	background: #91A2FF;
	width: 145%;
	height: 100%;
	transform: skewX(-60deg);
}

/*hoverした時のアニメーション*/
.recrutButton:hover::before {
	animation: skewanime0 .5s forwards;
	/*アニメーションの名前と速度を定義*/
}

.recrutButton:hover span {
	color: #FFF;
}

@keyframes skewanime {
	100% {
		left: -20%;
		/*画面の見えていない左から右へ移動する終了地点*/
	}
}

@keyframes skewanime0 {
	100% {
		left: -22%;
		/*画面の見えていない左から右へ移動する終了地点*/
	}
}

/*代表メッセージ*/
.top_messageBox {
	background: url(../images/recruit_message_bg.png) no-repeat top center;
	width: 100%;
	max-width: 100%;
	background-size: cover;
	padding-bottom: 70px;
}

.top_messageBox ul {
	max-width: 2000px;
}

.top_messageBox h2 {
	max-width: 527px;
	width: 100%;
	border-bottom: 3px solid #0D77C2;
	color: #0D77C2;
	font-size: 40px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 4.5px;
	text-align: center;
	padding-bottom: 15px;
}

.top_messageBox .txtbox {
	color: #0D77C2;
	text-shadow: 0px 4px 34px rgba(0, 0, 0, 0.15);
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: 40px;
	letter-spacing: 3px;
	margin-left: 15%;
	width: 85%;
	max-width: 670px;
	margin-top: 80px;
}

.top_messageBox ul {
	display: flex;
	justify-content: center;
}

.top_messageBox ul li {
	width: 50%;
}

.top_messageBox ul li.Rbox {
	text-align: center;
}

.top_messageBox ul li img {
	width: 90%;
	max-width: 835px;
}

/*研修制度*/
.training-timeline {
	background: url(../images/recruit_training.png) no-repeat top center;
	width: 100%;
	max-width: 100%;
	background-size: cover;
	padding-top: 90px;
	padding-bottom: 80px;
}

.training-timeline h2 {
	width: 572px;
	border-bottom: 3px solid #fff;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.00) 101.05%);
	text-align: center;
	padding-bottom: 7px;
}

.training-timeline h2 span {
	color: #fff;
	font-size: 50px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 4.5px;
	/*margin-left: -20%;*/
}

.stageBox {
	max-width: 1200px;
	margin: 80px auto 0;
}

.stage-wrapper {
	display: flex;
	align-items: center;
	position: relative;
	width: 100%;
	flex-wrap: wrap;
}

.stage-wrapper.stage3 {
	padding: 2px 0 35px;
}

.stage-label {
	flex-shrink: 0;
	text-align: right;
	color: #fff;
	box-sizing: border-box;
	padding: 10px;
	font-size: 15px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 1.2px;
	border: 2px solid #fff;
	width: 85px;
	text-align: center;
	margin-right: 3%;
	line-height: 1.5;
}

.stage-label.none {
	opacity: 0;
}

.stage-content {
	display: flex;
	align-items: center;
	position: relative;
	flex-grow: 1;
	/* Allow content to take available space */
	flex-wrap: wrap;
	/* Allow wrapping for circle and content box */
}

.circle {
	width: 180px;
	height: 180px;
	border: 2px solid #fff;
	border-radius: 50%;
	margin-right: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.circle span {
	width: 160px;
	height: 160px;
	color: #1b4d8b;
	background: #fff;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 1.2em;
	font-weight: bold;
	flex-shrink: 0;
	z-index: 2;
	box-sizing: border-box;
}

.circle::after {}

.connector-line {
	content: '';
	/* 擬似要素ではないので、これは不要ですが、元々の意図を考慮して残すことも可能 */
	position: absolute;
	top: 100%;
	/* 円の下部に配置 */
	left: 50%;
	width: 2px;
	height: 66px;
	/* 初期値として設定、jQueryで上書きされます */
	background-color: #fff;
	z-index: 1;
	transform: translate(-50%, 0%);
}

.stage3 .circle::after {}

.stage4 .circle::after {}

.content-box {
	padding: 40px 25px;
	flex-grow: 1;
	/*min-width: 300px;
	max-width: calc(100% - 200px - 30px - 100px - 50px);*/
	position: relative;
	box-sizing: border-box;
	border-bottom: 1px solid #fff;
	opacity: 0;
	transition: opacity 1s ease-out;
	width: 70%;
}

.stage4 .content-box {
	border: none;
}


.content-box ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.content-box ul li {
	margin-bottom: 8px;
	line-height: 1.4;
	color: #fff;
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 2px;
}

.content-box ul li span {
	font-weight: bold;
	margin-right: 5px;
	color: #f0f0f0;
	font-size: 16px;
}

.description {
	font-size: 0.95em;
	line-height: 1.4;
	color: #fff;
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 2px;
}

.sub-box-container {
	display: inline-flex;
	vertical-align: middle;
}

.sub-box {
	border: 1.5px solid #fff;
	/* Sub-box color */
	color: #ffffff;
	padding: 3px 8px;
	/* Adjust padding */
	border-radius: 4px;
	font-size: 0.8em;
	/* Adjust font size */
	margin-left: 5px;
	/* Adjust margin */
}

/* Adjustments for OJT stage */
.ojt-content-box {
	padding-top: 60px;
	padding-bottom: 60px;
}

.ojt-content-box p {
	margin: 0 0 10px 0;
}

.ojt-content-box p:last-child {
	margin-bottom: 0;
}


/*アコーディオン全体*/
.fukuri_box {
	background: url(../images/recruit_fukuri_bg.png) top center;
	width: 100%;
	max-width: 100%;
	background-size: contain;
	padding-bottom: 80px;
	background-repeat: repeat-y;
}

.fukuri_box h2 {
	max-width: 527px;
	width: 100%;
	border-bottom: 3px solid #0D77C2;
	color: #0D77C2;
	font-size: 40px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 4.5px;
	text-align: center;
	height: 100%;
	padding-bottom: 15px;
	padding-top: 70px;
}

.fukuri_box .accordion-area {
	list-style: none;
	width: 96%;
	max-width: 1200px;
	margin: 80px auto 0;
}

.fukuri_box .accordion-area li {
	margin: 32px 0 0;
	background: #E7EDF2;
	box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.15);
}

.fukuri_box .accordion-area section {}

/*アコーディオンタイトル*/
.fukuri_box .title {
	position: relative;
	cursor: pointer;
	padding: 1% 3% 1% 50px;
	transition: all .5s ease;
	font-size: 25px;
	font-style: normal;
	font-weight: 500;
	line-height: 60px;
	letter-spacing: 3.75px;
	color: #0D77C2;
}

/*アイコンの＋と×*/
.fukuri_box .title::before,
.fukuri_box .title::after {
	position: absolute;
	content: '';
	width: 25px;
	height: 2px;
	background-color: #0D77C2;

}

.fukuri_box .title::before {
	top: 48%;
	right: 15px;
	transform: rotate(0deg);

}

.fukuri_box .title::after {
	top: 48%;
	right: 15px;
	transform: rotate(90deg);

}

/*　closeというクラスがついたら形状変化　*/
.fukuri_box .title.close::before {
	transform: rotate(0deg);
}

.fukuri_box .title.close::after {
	transform: rotate(0deg);
}

/*アコーディオンで現れるエリア*/
.fukuri_box .box {
	display: none;
	margin: 0 3% 3% 3%;
	padding: 1% 3%;
}

.fukuri_box .box .contactTxt {
	margin-top: 30px;
}

.fukuri_box .box .nomargin {
	margin-top: 0px;
}

.fukuri_box .box .ttl {
	font-size: 18px;
	font-style: normal;
	line-height: 30px;
	letter-spacing: 2.7px;
	font-weight: 700;
	color: #0D77C2;
}

.fukuri_box .box .txt {
	font-size: 18px;
	font-style: normal;
	line-height: 30px;
	letter-spacing: 2.7px;
	color: #0D77C2;
}

/*数字で見るIBC*/
.ibc_box {
	margin-top: 120px;
}

.ibc_box h2 {
	width: 572px;
	border-bottom: 3px solid #fff;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.00) 101.05%);
	text-align: center;
	padding-bottom: 7px;
}

.ibc_box h2 span {
	color: #fff;
	font-size: 50px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 4.5px;
	/*margin-left: -20%;*/
}

.ibc_elm {
	max-width: 1380px;
	margin: 80px auto 0;
	border-radius: 5px;
	border: 1px solid #FFF;
	background: var(--60, rgba(255, 255, 255, 0.60));
	box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.10);
	backdrop-filter: blur(47px);
}



.stats-list {
	display: flex;
	flex-wrap: wrap;
	margin: 80px auto;
	list-style: none;
	width: 92%;
	gap: 80px 3%;
}

.stat-box {
	flex: 1;
	min-width: 31%;
	padding: 20px;
	position: relative;
	background-color: #f6f9fc;
	min-height: 428px;
}

.stat-title {
	color: #0071bc;
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 30px;
	letter-spacing: 2.4px;
	font-weight: bold;
	margin-bottom: 10px;
	position: relative;
	padding-left: 15px;
	z-index: 2;
}

.stat-title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 5px;
	background-color: #0071bc;
}

.graph {
	text-align: center;
}

.legend {
	margin-top: 5px;
	display: flex;
	justify-content: center;
	column-gap: 40px;
	opacity: 0;
	transition: opacity 0.5s ease;
	overflow-wrap: anywhere;
	flex-wrap: wrap;
	width: 68%;
	margin: 0 auto;
	width: 97%;
	column-gap: 3%;
	margin-top: 30px;
}

.left-legend {
	justify-content: left;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	width: 76%;
	column-gap: 5%;
}

.recruit_topElm .ageChart .legend {
	width: 83%;
}

.recruit_topElm .commuteChart .legend {
	width: 90%;
	column-gap: 10%;
}

.left-legend div:nth-child(odd) {
	/*justify-content: right;*/
}


.legend-item {
	display: flex;
	align-items: center;
	margin-bottom: 3px;
	font-size: 14px;

}

.legend-item span {
	color: #616161;
	display: flex;
	align-items: center;
	justify-content: end;
}

.legend .t {
	color: #616161;
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
}

.legend .n {
	color: #616161;
	font-size: 20px;
	font-weight: bold;
	width: 53px;
}

.statElm {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 95%;
	width: 92%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.statElm2 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 87%;
	width: 92%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}


.kinzoku {
	background: url(../images/recruit_ibc_kinzoku.png) no-repeat bottom center;
	background-color: #f6f9fc;
	background-size: contain;
}

.worktime .statElm {
	background: url(../images/recruit_ibc_time.png) no-repeat center center;
	background-color: #f6f9fc;
	/*background-size: contain;*/
}

.rishoku .statElm {
	background: url(../images/recruit_ibc_rishoku.png) no-repeat center center;
	background-color: #f6f9fc;
	/*background-size: contain;*/
}

.paid .statElm {
	background: url(../images/recruit_ibc_paid.png) no-repeat center center;
	background-color: #f6f9fc;
	/*background-size: contain;*/
}

.females .statElm2 {
	background: url(../images/recruit_ibc_woman2.png) no-repeat center center;
	background-color: #f6f9fc;
	/*background-size: contain !important;*/
}

@media (max-width: 768px) {

	.worktime .statElm,
	.rishoku .statElm,
	.females .statElm2 {
		background-size: contain !important;
	}

}


.color-box {
	width: 12px;
	height: 12px;
	border-radius: 2px;
	margin-right: 4px;
}

.stat-value {
	display: flex;
	align-items: end;
	justify-content: center;
}

.large-number {
	font-size: 125px;
	font-weight: bold;
	color: #0071bc;
	line-height: 1;
}

.unit {
	font-size: 24px;
	margin-left: 5px;
	color: #0071bc;
	font-weight: 600;
}

.footnote {
	font-size: 12px;
	color: #616161;
	margin-top: 10px;
}

.year-label {
	font-size: 12px;
	color: #616161;
	text-align: right;
	position: absolute;
	bottom: 3%;
	right: 3%;
}

/* 年間表示部分のスタイル */
.yearly-data {
	width: 100%;
	margin-top: 25px;
}

.year-item {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
	align-items: center;
	width: 80%;
	margin: 0 auto;
	border-bottom: 1px solid #0D77C2;
	padding: 17px 0;
}

.year {
	color: #0D77C2;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 30px;
	letter-spacing: 2px;
	position: relative;
	bottom: -18px;
}

.value {
	color: #0D77C2;
	font-size: 60px;
	font-style: normal;
	font-weight: bold;
}

/* 性別アイコンのスタイル */
.gender-stats {
	display: flex;
	justify-content: space-around;
	/*margin-top: 30px;*/
	text-align: center;
}

.gender-stats .subject {
	position: absolute;
	left: 2%;
	background: #0D77C2;
	color: #FFF;
	padding: 8px 10px;
	border-radius: 4px;
	font-weight: bold;
	font-size: 15px;
	letter-spacing: 3px;
}

.gender-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 33.333%;
	padding-top: 60px;
	;
}

.gender-icon {
	width: 40px;
	height: 60px;
	margin-bottom: 10px;
	background-color: #f6f9fc;
	position: relative;
}

.female-icon {
	background: url(../images/recruit_ibc_woman.png) no-repeat center center;
	height: 152px;
	width: 76px;
}

.male-icon {
	background: url(../images/recruit_ibc_man.png) no-repeat center center;
	height: 152px;
	width: 61px;
}

.total-icon {
	background: url(../images/recruit_ibc_couple.png) no-repeat center center;
	height: 152px;
	width: 145px;
}

.gender-value {
	font-size: 48px;
	font-weight: bold;
	margin-top: 5px;
}

.female-value,
.female-value .unit {
	color: #ff6363;
	font-size: 45px;
}

.male-value,
.male-value .unit {
	color: #0071bc;
	font-size: 45px;
}

.total-value,
.total-value .unit {
	color: #ffb263;
	font-size: 45px;
}

.gender-label {
	font-size: 14px;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 3px;
	margin: 11px auto 0;
}

.female .gender-label,
.female .unit {
	color: #F85044;
}

.male .gender-label {
	color: #0D77C2;
}

.total .gender-label,
.total .unit {
	color: #F99B49;
}



/* レスポンシブデザイン */
@media (max-width: 992px) {
	.stat-box {
		min-width: calc(50% - 30px);
	}
}

@media (max-width: 576px) {
	.stat-box {
		min-width: 100%;
	}
}

/* 女性比率のスタイル */
.female-ratio {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 20px;
}

.female-ratio-icon {
	width: 80px;
	height: 120px;
	background-color: rgba(255, 99, 99, 0.2);
	margin-bottom: 20px;
}

.female-ratio-value {
	color: #F75044;
	font-size: 100px;
	font-style: normal;
	font-weight: 700;
}

.females .unit {
	color: #F75044;
}

/* 育児休業関連スタイル */
.childcare-box {
	min-width: calc(66.666% - 30px);
	position: relative;
}


.buttonlist {
	width: 96%;
	max-width: 1380px;
	margin: 0 auto;
}

.buttonlist .entryButton {
	width: 92%;
}

.buttonlist .contactButton,
.buttonlist .recrutButton {
	width: 100%;
}

.buttonlist ul {
	/*max-width: 1200px;
	width: 100%;*/
	width: 92%;
	margin: 0 auto;
	display: flex;
	gap: 2%;
}

.buttonlist ul li {
	width: 50%;
}

.entryButton {
	margin-top: 24px;
}

.recrutButton span {
	font-size: 30px;
}

@media (max-width: 1141px) {
	.circle {
		margin-right: 75px;
	}
}

@media (max-width: 1098px) {
	.topElm h3.ttl {
		font-size: 60px;
	}

	.top_caseStudy .Box {
		width: var(--tab-width);
		margin: 0 auto;
	}

	/*採用情報*/
	.top_recruit .txtBox {
		max-width: 410px;
	}

	/*企業情報ページ*/
	.menuList {
		margin: 110px auto 0;
		width: var(--tab-width);
	}

	.menuList li {
		/*width: 24%;*/
	}

	.menuList li.btnBox a {
		position: relative;
		padding-right: 21%;
	}

	#about,
	#philosophy,
	#outlineMessage,
	#information,

	#overseasBox {
		width: var(--tab-width);
		margin-top: 60px;
	}

	.outlineElm .innerBox {
		width: var(--tab-width);
		margin: 0 auto;
	}

	#overseasBox {
		width: var(--tab-width);
	}

	.btnBox .arrow-icon {
		position: absolute;
		right: 6%;
	}

	/*カスタマイズ事例*/
	.bizContentElm .contentsBox {
		margin: 110px auto 160px;
		width: var(--tab-width);
	}

	/*リコール情報*/
	.recallElm .recallBox {
		margin: 110px auto 160px;
		width: var(--tab-width);
	}

	/*NEWS*/
	.recallElm .recallBox {
		margin: 110px auto 160px;
		width: var(--tab-width);
	}

	/*NEWS*/
	.informationElm .news_list {
		margin: 110px auto 160px;
		width: var(--tab-width);
	}

	.informationElm .news_list ul {
		margin: 80px auto 0;
	}

	/*NEWS詳細*/
	.informationElm .news_detailElm {
		margin: 110px auto 160px;
		width: var(--tab-width);
	}

	/*お問い合わせ*/
	.inquiryElm .inquiryBox {
		margin: 110px auto 160px;
		width: var(--tab-width);
	}

	.inquiryElm .contact-section {
		margin-top: 30px;
		padding-left: 2%;
	}

	.harassmentBox .contact-section h4 {
		margin-bottom: 8px;
	}

	.harassmentBox .contact-section li {
		line-height: 25px;
	}

	.inquiryElm .lBox {
		width: 56%;
	}

	.inquiryElm .rBox {
		width: 44%;
	}

	/*プライバシーポリシー*/
	.privacyElm .privacyBox {
		margin: 110px auto 160px;
		width: var(--tab-width);
	}

	.privacyElm .topBox h2 {
		font-size: 43px;
	}

	.privacyElm .lBox {
		width: 60%;
	}

	.privacyElm .rBox {
		width: 40%;
	}

	/*プライバシーポリシー*/
	.privacyElm .privacyBox {
		margin: 110px auto 160px;
		width: var(--tab-width);
	}

	.recruit_newsElm .recruit_newslist {
		margin-top: 100px;
	}

	.recruit_newsElm .recruit_newslist ul {
		margin-top: 80px;
	}

	/*
	リクルート　TOP
	*/
	.recruit_h .nav-list li {
		margin-left: 70px;
	}

	.job_description_Box p {
		width: 96%;
		margin: 26px auto 0;
	}

	.circle {
		margin-right: 32px;
	}

	/*
	リクルート　仕事内容
	*/
	.recruit_jobElm .recruit_job_Box {
		margin: 110px auto 160px;
	}

	.recruit_jobElm .topBox h2 {
		font-size: var(--tab-h2);
	}

	.recruit_jobElm .jobContentBox .top-section {
		width: 92%;
		padding: 50px 60px;
	}

	.recruit_jobElm .bottom-section {
		width: 92%;
	}

	.recruit_jobElm .bottom-section .column {
		padding: 45px 30px;
	}

	.recruit_jobElm .recruit_job_Box h3 {
		padding-left: 3%;
		font-size: 42px;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul {
		flex-wrap: wrap;
		gap: 20px 2%;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul li {
		width: 46%;
	}


	/*News詳細*/
	.recruit_newsElm .recruit_news_detailElm {
		margin: 110px auto 160px;
		width: var(--tab-width);
	}

	.recruit_jobElm .jobContentBox {
		margin-top: 80px;
	}

	.recruit_newsElm .topBox .lBox {
		width: 60%;
	}

	.recruit_newsElm .topBox .rBox {
		width: 40%;
	}

	/****************
	募集要項
	****************/
	.recruit_descriptionElm .topBox h2 {
		font-size: 30px;
	}

	.recruit_descriptionElm .recruit_description_Box .menu_description li a {
		font-size: 16px;
	}

	.btnBox .arrow-icon {
		width: 25px;
		height: 25px;
	}

	.recruit_descriptionElm .recruit_description_Box .menu_description li.btnBox .arrow-icon::after {
		font-size: 13px;
	}

	.btnBox .news-link:hover .arrow-icon {
		transform: scale(1.2);
	}

	.recruit_descriptionElm .recruit_description_Box .menu_description {
		margin: 0 auto 100px;
	}

	.recruit_descriptionElm .recruit_description_Box h3 {
		font-size: 25px;
	}

	.recruit_descriptionElm .recruit_description_Box .container h4 {
		font-size: 25px;
	}

	.recruit_descriptionElm .recruit_description_Box .container {
		margin: 50px auto 0;
	}

	.recruit_descriptionElm .recruit_description_Box table th {
		width: 200px;
		padding: 20px 0 20px 25px;
		font-size: 17px;
	}

	.recruit_descriptionElm .recruit_description_Box table td {
		padding: 25px 0;
	}

	/*流れ*/
	.recruit_descriptionElm .flow-container {
		width: 90%;
	}

	.recruit_descriptionElm .recruit_description_Box .flow-item .flow-title {
		font-size: 32px;
	}

	.flow-number {
		font-size: 35px;
	}


}

/*890px以下*/
@media (max-width: 1055px) {
	.stage-wrapper .stage-label {
		display: none;
	}

	.stage-wrapper .content-box .label_sp {
		display: block;
		font-size: 20px;
		font-style: normal;
		font-weight: 700;
		letter-spacing: 0.72px;
		color: #fff;
		border: 1px solid #fff;
		display: inline-block;
		border-radius: 4px;
		padding: 9px 15px;
		margin-bottom: 16px;
	}
}

/*890px以下*/
@media (max-width: 890px) {

	/*TOP採用情報*/
	.top_recruit {
		aspect-ratio: 5 / 3.1;
	}

	.top_recruit .txtBox {
		width: 71%;
		margin-left: 4%;
		left: 0%;
	}


}

/* スマホ表示時の特別なスタイル */
@media (max-width: 768px) {
	.PC {
		display: none;
	}

	.SP {
		display: block;
	}

	#up_arrow {
		width: 35px;
		height: 35px;
		padding: 9px;
		bottom: 5%;
	}

	#up_arrow img {
		width: 100%;
	}

	.btnBox .news-link {
		width: 170px;
		font-size: 12px;
		background: #fff;
	}

	.btnBox .arrow-icon {
		width: 26px;
		height: 26px;
		margin-left: 17px;
	}

	.topElm .sub_ttl {
		text-align: left;
	}


	.topElm .top_main {
		aspect-ratio: 7.2 / 10;
		height: 210px;
		align-items: start;
	}

	.topElm .top_main h2 img {
		width: 45%;
	}

	.topElm .top_main video {
		width: 100%;
	}

	.topElm .top_main h2,
	.top_main h2 span {
		font-size: 35px;
	}

	.top_main h2 span {
		margin-right: 7px;
		padding: 5px 20px;
	}

	.topElm .top_main h2 {
		margin-left: 30px;
	}

	.banner {
		display: none;
	}

	.Box {
		display: block;
		min-height: auto;
	}

	.lBox,
	.rBox {
		width: 90%;
		margin-right: auto;
		margin-left: auto;
	}

	.topElm h3.ttl {
		font-size: 32px;
		width: 186px;
		text-align: left;
	}

	.topElm .top_company {
		margin-top: 50px;
		margin-bottom: 120px;
	}

	.topElm .top_company .imgsp {
		margin-top: 24px;
	}

	.topElm .top_company #company_line_sp {
		bottom: -100px;
	}

	.topElm .info_txt {
		margin-top: 24px;
		font-size: 14px;
	}

	/*TOPカスタマイズ事例*/
	.top_caseStudy {
		aspect-ratio: 5 / 4.5;
	}

	.casestudy_bg li {
		width: 50%;
	}

	.top_caseStudy .btnBox {
		justify-content: right;
	}

	.top_caseStudy .rBox {
		margin-top: 30px;
	}

	.top_caseStudy h3.ttl {
		width: 220px;
	}

	/*news*/
	.top_news {
		width: 100%;
		margin: 0px auto 55px;
	}

	.top_news ul {
		margin-top: 25px;
		width: 90%;
		border: 1px solid #000;
	}

	.top_news .ttlBox {
		width: 90%;
		margin: 47px auto 0;
	}

	.top_news .ttlBox .sub_ttl {
		margin: 0px;
	}

	.top_news ul li a {
		display: block;
		height: auto;
		padding: 15px 20px;
	}

	.top_news ul li a>div:nth-child(1),
	.top_news ul li a>div:nth-child(2) {
		display: inline-block;
		vertical-align: top;
		margin-right: 12px;
		margin-bottom: 8px;
	}

	.top_news ul li a>div:nth-child(3) {
		display: block;
		width: 100%;
		clear: both;
	}

	.top_news .newslink {
		width: 90%;
	}

	.top_news ul li span {
		font-size: 12px;
	}

	#top_news_line_sp {
		position: absolute;
		bottom: -10px;
		z-index: -1;
		left: 0;
		overflow: hidden;
		width: 100%;
	}

	#top_news_line2_sp {
		position: absolute;
		bottom: -5px;
		z-index: -1;
		left: 0;
		overflow: hidden;
		width: 100%;
	}

	/*採用情報*/
	.top_recruit {
		background: url(../images/top_recruuit_sp.png) no-repeat bottom center;
		aspect-ratio: 6 / 10;
		background-size: cover;
	}

	.top_recruit .Box {
		align-content: start;
	}

	.top_recruit .lBox {
		padding-top: 50px;
		height: 46%;
		width: 100%;
		display: block;
		clip-path: polygon(0% 0%, 100% 0%, 100% 65%, 0% 100%);
		padding-top: 50px;
		background: hsl(207.27deg 29.73% 92.75% / 92%);
	}

	.top_recruit .txtBox {
		left: 0px;
		width: var(--sp-width);
		max-width: 100%;
	}

	/*起業情報*/
	.outlineElm .topBox {
		aspect-ratio: 7.2 / 10;
		background: url(../images/company_top_sp.jpg) no-repeat center;
		background-size: cover;
		height: 360px;
	}

	.outlineElm .topBox h2 {
		font-size: var(--sp-h2);
		letter-spacing: 1.8px;
		font-weight: 500;
		border-bottom: 1px solid #fff;
		padding-bottom: 12px;
	}

	.outlineElm .topBox .breadcrumb {
		margin-top: 13px;
	}

	.outlineElm .topBox .breadcrumb li {
		font-size: 12px;
	}

	.outlineElm .menuList {
		display: block;
		width: 70%;
		margin: 54px auto 0;
	}

	.outlineElm .menuList li {
		width: 100%;
		margin-top: 12px;
	}

	.outlineElm .menuList li a {
		border: 1px solid #424242;
		border-radius: 5px;
	}

	#about,
	#philosophy,
	#information,
	#overseasBox {
		margin-top: 40px;
		width: var(--sp-width);
		margin-bottom: 65px;
	}

	.outlineElm h3 {
		font-size: 20px;
		border-left: 4px solid #AC4B44;
	}

	.outlineElm .t_Bold {
		font-size: 18px;
		margin-top: 24px;
	}

	.outlineElm .txt {
		font-size: 16px;
		line-height: 1.5;
		margin-top: 15px;
	}

	#about .imgBox {
		width: 100%;
		margin: 25px auto 0;
	}

	#philosophy .imgBox {
		width: 88%;
		margin: 25px auto 0;
	}

	.outlineElm .map-link,
	.outlineElm .pdf-link {
		font-size: 12px;
		text-align: center;
		position: relative;
		padding-right: 23%;
		padding-left: 5%;
	}

	.outlineElm .map-link .arrow-icon,
	.outlineElm .pdf-link .arrow-icon {
		width: 26px;
		height: 26px;
		margin-left: 0px;
		position: absolute;
		right: 6%;
	}

	.outlineElm .map_end {
		margin-top: 24px;
	}

	#overseasBox img {
		width: 100%;
	}


	/********************
	カスタマイズ事例
	********************/
	.bizContentElm .topBox {
		aspect-ratio: 7.2 / 10;
		background: url(../images/syashi_customize_top_sp.png) no-repeat center;
		background-size: cover;
	}

	.bizContentElm .topBox h2 {
		font-size: var(--sp-h2);
		letter-spacing: 1.8px;
		font-weight: 500;
		border-bottom: 1px solid #fff;
		padding-bottom: 12px;
	}

	.bizContentElm .topBox .breadcrumb {
		margin-top: 13px;
	}

	.bizContentElm .topBox .breadcrumb li {
		font-size: 12px;
	}

	.bizContentElm .contentsBox {
		margin: 54px auto 65px;
		width: var(--sp-width);
	}

	.bizContentElm .contentsBox h3 {
		font-size: 20px;
		border-left: 4px solid #AC4B44;
	}

	.bizContentElm .info_txt {
		margin-top: 15px;
		font-size: 16px;
		line-height: 1.5;
	}

	.bizContentElm .image-grid {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 1% 2%;
		margin-top: 30px;
	}

	.bizContentElm .grid-item {
		width: 48%;
	}

	.bizContentElm .grid-item .caption {
		font-size: 10px;
	}

	.bizContentElm .lists-container {
		gap: 30px 0;
	}

	.bizContentElm .other-works-section {
		padding: 25px;
	}

	.bizContentElm .other-works-section h2 {
		font-size: 12px;
	}

	.bizContentElm .work-list li {
		font-size: 12px;
	}

	/*モーダル*/
	.bizContentElm .modal {
		width: 85%;
	}

	.bizContentElm .modal .btn_close {
		top: -15px;
		right: -15px;
	}

	.bizContentElm .modal .btn_close img {
		width: 35px;
	}

	.bizContentElm .modal h3 {
		font-size: 18px;
	}

	.bizContentElm .modal .sample_txt {
		font-size: 14px;
		width: 100px;
		margin-top: 25px;
	}

	.bizContentElm .modal .flexBox {
		margin-top: 13px;
	}

	.bizContentElm .modal li {
		margin-right: 0px;
	}

	.bizContentElm .modal li.arrow_r {
		padding: 0 12px;
	}

	.bizContentElm .modal li .before_txt,
	.bizContentElm .modal li .after_txt {
		font-size: 15px;
		margin-bottom: 5px;
	}

	.bizContentElm .modal li.arrow_r img {
		margin-top: 14px;
	}

	.bizContentElm .modal li.arrow_r_mini img {
		margin-top: 13px;
	}


	/********************
	カスタマイズ事例
	********************/
	.recallElm .topBox {
		aspect-ratio: 7.2 / 10;
		background: url(../images/recall_top.jpg) no-repeat center;
		background-size: cover;
	}

	.recallElm .topBox h2 {
		font-size: var(--sp-h2);
		letter-spacing: 1.8px;
		font-weight: 500;
		border-bottom: 1px solid #fff;
		padding-bottom: 12px;
	}

	.recallElm .topBox .breadcrumb {
		margin-top: 13px;
	}

	.recallElm .topBox .breadcrumb li {
		font-size: 12px;
	}

	.recallElm .recallBox {
		margin: 54px auto 65px;
		width: var(--sp-width);
	}

	.recallElm h3 {
		font-size: var(--sp-h3);
		border-left: 4px solid #AC4B44;
	}

	.recallElm .recallBox .section-header {
		font-size: 18px;
		margin: 30px 0 11px;
	}

	.recallElm .recallBox .ttl {
		font-size: 16px;
	}


	/********************
	NEWS リスト
	********************/
	.informationElm .topBox {
		aspect-ratio: 7.2 / 10;
		background: url(../images/news_top.jpg) no-repeat center;
		background-size: cover;
	}

	.informationElm .topBox h2 {
		font-size: var(--sp-h2);
		letter-spacing: 1.8px;
		font-weight: 500;
		border-bottom: 1px solid #424242;
		padding-bottom: 12px;

	}

	.informationElm .topBox .breadcrumb {
		margin-top: 13px;
	}

	.informationElm .topBox .breadcrumb li {
		font-size: 12px;

	}


	.informationElm .news_list {
		margin: 54px auto 65px;
		width: var(--sp-width);
	}

	.informationElm h3 {
		font-size: var(--sp-h3);
		border-left: 4px solid #AC4B44;
		line-height: 1.4;
		margin-top: 18px;
	}

	.informationElm .news_list ul {
		margin-top: 25px;
		width: 100%;
		border: 1px solid #000;
	}

	.informationElm .news_list ul li a {
		display: block;
		height: auto;
		padding: 15px 20px;
	}

	.informationElm .news_list ul li a>div:nth-child(1),
	.informationElm .news_list ul li a>div:nth-child(2) {
		display: inline-block;
		vertical-align: top;
		margin-right: 12px;
		margin-bottom: 8px;
	}

	.informationElm .news_list ul li a>div:nth-child(3) {
		display: block;
		width: 100%;
		clear: both;
	}

	.informationElm .news_list ul li span {
		font-size: 12px;
	}

	/*NEWS詳細*/
	.informationElm .news_detailElm {
		margin: 54px auto 65px;
		width: var(--sp-width);
	}

	.news_detailElm .date {
		font-size: 14px;
		letter-spacing: 2.6px;
	}

	.news_detailElm .info-tag {
		font-size: 14px;
	}

	.news_detailElm .news-link {
		width: 100%;
	}

	.news_detailElm .contentArea p {
		font-size: 14px;
	}

	.news_detailElm .news-link-container {
		margin-top: 70px;
	}

	.informationElm .news_list ul li .category {
		margin: 0px;
	}

	/********************
	お問い合わせ
	********************/
	.inquiryElm .topBox {
		aspect-ratio: 7.2 / 10;
		background: url(../images/inquiry_top.jpg) no-repeat center;
		background-size: cover;
	}

	.inquiryElm .topBox h2 {
		font-size: var(--sp-h2);
		letter-spacing: 1.8px;
		font-weight: 500;
		border-bottom: 1px solid #fff;
		padding-bottom: 12px;
	}

	.inquiryElm .topBox .breadcrumb {
		margin-top: 13px;
	}

	.inquiryElm .topBox .breadcrumb li {
		font-size: 12px;
	}

	.inquiryElm .inquiryBox {
		margin: 54px auto 65px;
		width: var(--sp-width);
	}

	.inquiryElm h3 {
		font-size: var(--sp-h3);
	}

	.inquiryElm .contact {
		margin: 35px 0 20px;
	}

	.inquiryElm .contact-section {
		margin-top: 30px;
		padding-left: 3%;
	}

	.inquiryElm .contact-box {
		margin-top: 12px;
		padding: 20px 14px;
		width: 100%;
	}

	.inquiryElm .inquiryBox .btnBox .news-link {
		width: 100%;
		padding: 13px 30px;
	}

	.inquiryElm .contact-section .contact-link a {
		font-size: 16px;
	}

	.inquiryElm .rBox,
	.inquiryElm .lBox {
		width: 90%;
	}

	.harassmentBox .contact-section h4 {
		font-size: 18px;
	}

	.inquiryElm .contact-section p {
		font-size: 16px;
		line-height: 1.5;
	}


	/**/
	.privacyElm .topBox {
		aspect-ratio: 7.2 / 10;
		background: url(../images/news_top.jpg) no-repeat center;
		background-size: cover;
	}

	.privacyElm .topBox h2 {
		font-size: var(--sp-h2);
		letter-spacing: 1.8px;
		font-weight: 500;
		border-bottom: 1px solid #424242;
		padding-bottom: 12px;
	}

	.privacyElm .topBox .breadcrumb {
		margin-top: 13px;
	}

	.privacyElm .topBox .breadcrumb li {
		font-size: 12px;
	}

	.privacyElm .privacyBox {
		margin: 54px auto 65px;
		width: var(--sp-width);
	}

	.privacyElm h3 {
		font-size: var(--sp-h3);
	}

	.privacyElm .rBox,
	.privacyElm .lBox {
		width: 90%;
	}

	.privacyElm .infotxt {
		margin: 30px auto 0;
	}

	/********************
	リクルート
	********************/
	.entryButton {
		height: 90px;
	}

	.recruit_descriptionElm .entryButton span {
		font-size: 25px;
	}


	.entryBox {
		display: block;
	}

	.entryBox .chuutoBox {
		width: 100%;
	}

	.entryBox .chuutoBox {
		margin-top: 20px;
	}

	.recruit_descriptionElm .entryButton small {
		font-size: 12px;
		margin-top: 8px;
	}

	/********************
	リクルート　TOP
	********************/
	.recruit_topElm .top_main {}

	.top_main .swiper-button-prev,
	.top_main .swiper-button-next {
		width: 25px;
		height: 25px;
	}

	.top_main .swiper-button-prev::after,
	.top_main .swiper-button-next::after {
		font-size: 11px;
	}

	.recruit_topElm .top_main .txtBox {
		margin: 10px auto 0;
		width: 90%;
	}

	.recruit_topElm .top_main .subttl {
		text-align: left;
		font-size: 15px;
		margin-bottom: 10px;
	}

	/*News*/
	.recruit_topElm .recruit_top_news {
		width: 92%;
		margin: 50px auto 0;
	}

	.recruit_topElm .recruit_top_news ul li span {
		font-size: 15px;
	}

	.recruit_topElm .recruit_top_news ul li a {
		display: block;
		height: auto;
		padding: 15px 20px;
	}

	.recruit_topElm .recruit_top_news ul li a>div:nth-child(1),
	.recruit_topElm .recruit_top_news ul li a>div:nth-child(2) {
		display: inline-block;
		vertical-align: top;
		margin-right: 12px;
		margin-bottom: 8px;
	}

	.recruit_topElm .recruit_top_news ul li a>div:nth-child(3) {
		display: block;
		width: 100%;
		clear: both;
	}

	.job_descriptionBtn .recruit_btnBox {
		max-width: 70%;
	}

	.job_descriptionBtn .recruit_btnBox .news-link {
		width: 100%;
	}

	.job_description_Box #recruit_job_line {
		bottom: 82px;
	}

	.recruit_btnBox .arrow-icon {
		right: 6%;
	}

	.recruit_btnBox .news-link {
		width: 70%;
	}

	.job_description_Box {
		margin-top: 60px;
	}

	/*代表メッセージ*/
	.top_messageBox ul {
		display: block;
	}

	.top_messageBox ul li {
		width: 100%;
	}

	.top_messageBox ul li .imgBox {
		width: 90%;
		margin: 30px auto 0;
	}

	.top_messageBox ul li .imgBox img {
		width: 100%;
	}

	.top_messageBox .txtbox {
		margin-left: 0%;
		width: 92%;
		margin: 20px auto 0;
		font-size: 16px;
		line-height: 1.5;
	}

	.top_messageBox h2 {
		max-width: 527px;
		width: 92%;
		padding-left: 8%;
		text-align: left;
		font-size: 20px;
		padding-top: 40px;
	}

	.recruit_topElm .top_main .txtBox h2 {
		text-align: left;
		font-size: initial;
	}

	.recruit_message_Box {
		width: 95%;
		margin: 50px auto 0;
	}

	.recruit_message_Box p {
		font-size: 12px;
		font-style: normal;
		font-weight: 700;
		line-height: 28px;
		letter-spacing: 0.13px;
	}


	.recruit_topElm .recruit_top_news ul li {
		margin-bottom: 26px;
	}

	.job_description_Box h2 {
		max-width: 527px;
		width: 92%;
		padding-left: 8%;
		text-align: left;
		font-size: 20px;
		padding-top: 40px;
	}

	.job_description_Box p {
		width: 90%;
		margin: 26px auto 0;
		font-size: 12px;
		font-style: normal;
		font-weight: 500;
		line-height: 1.5;
	}

	/*研修*/
	.job_description_Box .slider li {
		margin-right: 40px;
		width: 250px;
	}

	.stage-wrapper {
		width: 92%;
		margin: 0 auto;
	}

	.circle {
		width: 110px;
		height: 110px;
		margin-right: 15px;

	}

	.circle span {
		width: 85px;
		height: 85px;
		font-size: 1em;
	}

	.content-box {
		padding: 40px 0px;
		width: 60%;
	}

	.stage-wrapper .content-box .label_sp {
		font-size: 12px;
	}

	.content-box ul li {
		font-size: 12px;
		margin-bottom: 4px;
	}

	.description {
		font-size: 12px;
		margin-bottom: 4px;
	}

	.content-box ul li .sub-box {
		font-size: 12px;
		padding: 3px 3px;
		border-radius: 2px;
		margin-left: -5px;
	}



	.training-timeline {
		padding-top: 50px;
	}

	.training-timeline h2 {
		max-width: 572px;
		width: 92%;
		padding: 2% 0 2% 8%;
		text-align: left;
	}

	.training-timeline h2 span {
		font-size: 20px;
	}

	.ibc_box h2 {
		max-width: 572px;
		width: 92%;
		padding: 2% 0 2% 8%;
		text-align: left;
	}

	.ibc_box h2 span {
		font-size: 20px;
	}

	.fukuri_box .accordion-area {
		margin: 40px auto 0;
	}

	.fukuri_box h2 {
		max-width: 572px;
		width: 92%;
		padding-left: 8%;
		text-align: left;
		font-size: 20px;
		padding-top: 40px;
	}

	.fukuri_box .accordion-area li {
		margin: 22px 0 0;
	}

	.fukuri_box .title {
		font-size: 13px;
		padding: 5% 3% 5% 20px;
		line-height: 1.5;
	}

	.fukuri_box .title::before,
	.fukuri_box .title::after {
		width: 15px;
	}

	.fukuri_box .box {
		padding: 1% 3% 3%;
	}

	.fukuri_box .box .ttl {
		font-size: 16px;
	}

	.fukuri_box .box .txt {
		font-size: 12px;
		line-height: 1.5;
	}

	.ibc_box {
		margin-top: 50px;
	}

	.ibc_elm {
		width: 92%;
		margin: 30px auto 0;
	}

	.stats-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px 11px;
		width: 92%;
		margin: 40px auto;
	}

	.stat-box {
		min-width: unset;
		/* 以前のmin-widthをリセット */
		width: 100%;
		min-height: 305px;
		padding: 4%;
		height: 100%;
	}

	/* 必要に応じて、各 stat-box 内の要素の配置を調整 */
	.stat-box .statElm,
	.stat-box .statElm2 {
		width: 100%;
		margin-top: 10px;
		background-size: 80%;
	}

	.stat-box.females .statElm2 {
		height: 50%;
	}


	.stat-box .stat-title {
		font-size: 12px;
		/* タイトルフォントサイズ調整 */
		line-height: 1.3;
		padding-left: 10px;
	}

	.stat-box .stat-title::before {
		width: 3px;
		/* 左線の幅を調整 */
	}

	.legend .n {
		font-size: 15px;
	}

	.commuteChart .legend .n {
		font-size: 15px;
		width: 30px;
	}

	.legend .t {
		font-size: 11px;
	}

	.stat-box .large-number {
		font-size: 40px;
	}

	.stat-box .unit {
		font-size: 18px;
		/* 単位のフォントサイズ調整 */
	}

	.stat-box .year-label {
		position: absolute;
		text-align: center;
		margin-top: 10px;
		bottom: 5%;
		right: 5%;
		font-size: 9px;
	}

	.stat-box .footnote {
		text-align: center;
		font-size: 9px;
	}

	.stat-box .yearly-data {
		width: 100%;
	}

	.stat-box .year-item {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		padding: 7px 0px;
	}

	.stat-box .gender-stats {
		flex-wrap: wrap;
		/* 折り返しを許可 */
		justify-content: center;
		/* 中央揃え */
		margin-top: 20px;
	}

	.stat-box .gender-item {
		width: 33%;
		margin-top: 40px;
		margin-bottom: 15px;
		padding: 0;
	}

	.stat-box .gender-stats .subject {
		position: absolute;
		margin-bottom: 10px;
		text-align: center;
		width: auto;
		padding: 5px 10px;
		font-size: 11px;
		left: 4%;
	}

	.stat-box .female-icon,
	.stat-box .male-icon,
	.stat-box .total-icon {
		height: 100px;
		/* アイコンの高さ調整 */
		background-size: contain;
		/* コンテンツに収まるように調整 */
	}

	.stat-box .gender-value .female-value,
	.stat-box .gender-value .male-value,
	.stat-box .gender-value .total-value {
		font-size: 45px;
		/* 性別値のフォントサイズ調整 */
	}

	.stat-box .gender-label {
		font-size: 16px;
		/* 性別ラベルのフォントサイズ調整 */
	}

	.ibc_elm .graph canvas {
		width: 100%;
		/* Canvasの幅を親要素に合わせる */
		height: auto;
		/* 高さを自動調整 */
		max-width: 200px;
		/* 最大幅を設定 */
		max-height: 200px;
		/* 最大高さを設定 */
		margin: 0 auto;
		/* 中央寄せ */
		display: block;
		/* ブロック要素に */
	}

	.legend {
		width: 100%;
		/* 凡例の幅を調整 */
		column-gap: 10px;
		/* 凡例アイテム間の隙間を調整 */
		grid-template-columns: repeat(1, 1fr);
		/* 凡例を1列に */
		margin-top: 15px;
	}

	.left-legend {
		grid-template-columns: repeat(1, 1fr);
		/* 凡例を1列に */
		width: 100%;
		column-gap: 0;
		justify-content: center;
		display: flex;
	}

	.recruit_topElm .ageChart .legend,
	.recruit_topElm .commuteChart .legend {
		width: 100%;
		column-gap: 10px;
	}

	.recruit_topElm .commuteChart .legend {
		display: block;
	}

	.recruit_topElm .commuteChart .legend .legend-item {
		justify-content: space-between;
	}

	.stats-list .childcare-box {
		grid-column: 1 / -1;
		width: auto;
		min-height: 330px;
	}

	.stats-list .stat-box.kinzoku,
	.stats-list .stat-box.worktime,
	.stats-list .stat-box.paid,
	.stats-list .stat-box.rishokurate,
	.stats-list .females {
		min-height: 215px !important;
		height: 75%;
	}

	.stats-list .stat-box.shinsotsu,
	.stats-list .stat-box.rishoku {
		min-height: 308px;
		height: 75%;
	}

	.stat-box .year {
		font-size: 14px;
		bottom: -11px;
	}

	.stat-box .value {
		font-size: 45px;
	}

	.stat-box .female-ratio-value {
		font-size: 55px;
	}

	.buttonlist .contactButton,
	.buttonlist .recrutButton,
	.buttonlist .entryButton {
		border-radius: 3px;
		height: 50px;
		margin: 30px auto 0;
	}

	.buttonlist .entryButton {
		margin-top: 10px;
	}

	.contactButton span,
	.buttonlist .recrutButton span,
	.entryButton span {
		font-size: 12px;
		letter-spacing: 1.2px;
		text-align: center;
	}

	.contactButton small,
	.entryButton small {
		font-size: 7px;
		margin-top: 6px;
	}

	.buttonlist .recrutButton {}

	/********************
	リクルート　NEWS
	********************/
	.recruit_newsElm .topBox {
		aspect-ratio: 7.2 / 10;
		aspect-ratio: 5 / 1.79;
		background-size: cover;
		height: 350px;
	}

	.recruit_newsElm .topBox h2 {
		font-size: var(--sp-h3);
		letter-spacing: 1.8px;
		padding-bottom: 12px;
		padding-left: 2%;

	}

	.recruit_newsElm .topBox .breadcrumb {
		margin-top: 13px;
		padding-left: 2%;
	}

	.recruit_newsElm .topBox .breadcrumb li {
		font-size: 12px;
	}

	.recruit_newsElm .topBox .rBox,
	.recruit_newsElm .topBox .lBox {
		width: 90%;
	}

	.recruit_newsElm .recruit_newslist {
		margin-top: 40px;
	}

	.recruit_newsElm .recruit_newslist h3 {
		font-size: var(--sp-h3);
		padding-left: 4%;
	}

	.recruit_newsElm .recruit_newslist ul {
		margin-top: 24px;
	}

	.recruit_newsElm .recruit_newslist ul li a {
		display: block;
		height: auto;
		padding: 15px 20px;
	}

	.recruit_newsElm .recruit_newslist ul li a>div:nth-child(1),
	.recruit_newsElm .recruit_newslist ul li a>div:nth-child(2) {
		display: inline-block;
		vertical-align: top;
		margin-right: 12px;
		margin-bottom: 8px;
	}

	.recruit_newsElm .recruit_newslist ul li a>div:nth-child(3) {
		display: block;
		width: 100%;
		clear: both;
	}

	.recruit_newsElm .recruit_newslist ul li {
		margin-bottom: 15px;
	}


	/*News詳細*/
	.recruit_newsElm .recruit_news_detailElm {
		margin: 54px auto 0px;
		width: var(--sp-width);
		padding-bottom: 100px;
	}

	.recruit_news_detailElm .date {
		font-size: 14px;
		letter-spacing: 2.6px;
	}

	.recruit_news_detailElm .info-tag {
		font-size: 14px;
	}

	.recruit_news_detailElm h3 {
		font-size: var(--sp-h3);
		line-height: 1.4;
		margin-top: 17px;
	}

	.recruit_news_detailElm .contentArea p {
		font-size: 12px;
	}

	.recruit_news_detailElm .contentArea {
		margin-top: 24px;
	}

	.recruit_news_detailElm .news-link-container {
		margin-top: 40px;
	}

	.recruit_news_detailElm .news-link {
		width: 100%;
	}

	/*
	リクルート　代表メッセージ
	*/
	.recruit_messageElm .topBox {
		background: url(../images/recruit_message_top_sp.png) no-repeat center;
		background-size: cover;
		aspect-ratio: 5 / 1.79;
		height: 265px;
	}

	.recruit_messageElm .topBox h2 {
		font-size: var(--sp-h2);
		letter-spacing: 1.8px;
		font-weight: 500;
		border-bottom: 1px solid #fff;
		padding-bottom: 12px;
		line-height: 1.3;
	}

	.recruit_messageElm .topBox .breadcrumb {
		margin-top: 13px;
	}

	.recruit_messageElm .topBox .breadcrumb li {
		font-size: 12px;
	}

	.recruit_messageElm .menuList {
		display: block;
		width: 70%;
		margin: 54px auto 0;
	}

	.recruit_messageElm .menuList li {
		width: 100%;
		margin-top: 12px;
	}

	.recruit_messageElm .menuList li a {
		border: 1px solid #424242;
		border-radius: 5px;
	}

	.recruit_messageElm .topBox .lBox,
	.recruit_messageElm .topBox .rBox {
		width: 90%;
	}

	.recruit_messageBox {
		margin-bottom: 80px;
	}

	.recruit_messageBox h3 {
		max-width: 527px;
		width: 92%;
		padding-left: 8%;
		text-align: left;
		font-size: 20px;
		padding-top: 40px;
	}

	.recruit_messageBox .recruit_messageInner {
		margin-top: 24px;
		width: 92%;
	}

	.recruit_messageBox .recruit_messageInner p.txt {
		margin-top: 24px;
	}

	.recruit_messageBox .recruit_messageInner p.txt2 {
		margin-top: 20px;
	}

	.recruit_messageBox .recruit_messageInner p {
		font-size: 18px;
	}

	/*
	リクルート　仕事内容
	*/
	.recruit_jobElm .topBox {
		background: url(../images/recruit_job_top_sp.png) no-repeat center;
		background-size: cover;
		aspect-ratio: 5 / 1.79;
		height: 265px;
	}

	.recruit_jobElm .topBox h2 {
		font-size: var(--sp-h2);
		letter-spacing: 1.8px;
		font-weight: 500;
		border-bottom: 1px solid #fff;
		padding-bottom: 12px;
	}

	.recruit_jobElm .topBox .breadcrumb {
		margin-top: 13px;
	}

	.recruit_jobElm .topBox .breadcrumb li {
		font-size: 12px;
	}

	.recruit_jobElm .menuList {
		display: block;
		width: 70%;
		margin: 54px auto 0;
	}

	.recruit_jobElm .menuList li {
		width: 100%;
		margin-top: 12px;
	}

	.recruit_jobElm .menuList li a {
		border: 1px solid #424242;
		border-radius: 5px;
	}

	.recruit_jobElm .topBox .lBox,
	.recruit_jobElm .topBox .rBox {
		width: 90%;
	}

	.recruit_jobElm .recruit_job_Box {
		margin: 54px auto 0px;
		padding-bottom: 60px;
	}

	.recruit_jobElm .recruit_job_Box h3 {
		font-size: var(--sp-h2);
		letter-spacing: 1.8px;
	}

	.recruit_jobElm .jobContentBox {
		margin-top: 25px;
	}

	.recruit_jobElm .jobContentBox .top-section {
		width: 86%;
		padding: 35px 35px;
		margin-bottom: 0px;
	}

	.recruit_jobElm .jobContentBox .top-section h4,
	.recruit_jobElm .bottom-section .column h4 {
		line-height: 1.2;
		font-size: 16px;
		margin-top: 25px;
		text-align: center;
	}

	.recruit_jobElm .jobContentBox .top-section p,
	.recruit_jobElm .bottom-section .column p {
		margin-top: 15px;
		font-size: 12px;
		line-height: 1.5;
	}

	.recruit_jobElm .bottom-section {
		width: 86%;
		display: block;
	}

	.recruit_jobElm .bottom-section .column {
		margin-top: 12px;
		padding: 35px 35px;
	}

	.recruit_jobElm .bottom-section .column img {
		margin: 0 auto 25px;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box {
		margin-top: 40px;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box ul.role_ul {
		margin: 24px auto;
		width: 95%;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .role_second {
		width: 92%;
		margin-right: 2%;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .role_fast {
		width: 65%;
		margin-bottom: 0px;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .role_third {
		max-width: 100%;
		width: 90%;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul {
		display: block;
		width: 86%;
		margin: 0 auto;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul li {
		width: 100%;
		max-width: 100%;
		position: relative;
		padding: 8px 10px 25px;
		margin: 30px auto;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul h4 .number {
		position: absolute;
		top: -20px;
		left: -15px;
		width: 30px;
		height: 30px;
		line-height: 32px;
		font-size: 15px;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul .sp_contents {
		display: flex;
		align-items: center;
		margin-top: 10px;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul h4 {
		margin-top: 0px;
		font-size: 16px;
		font-weight: bold;
		width: 30%;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul .bumon_third h4 {
		width: 40%;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul .bumon_third .ttl {
		width: 60%;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul .ttl {
		margin-top: 0px;
		margin-left: 2%;
		font-size: 12px;
		width: 68%;
		line-height: 1.5;
		font-weight: bold;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul .sp_contents .sp_img {
		width: 30%;
		text-align: center;
		margin-right: 5%;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul .sp_contents .sp_img img {
		max-width: 90%;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul .sp_contents .sp_txt {
		width: 70%;
	}

	.recruit_jobElm .recruit_job_Box .recruit_role_Box .bumon_ul .txt {
		line-height: 1.5;
		font-size: 13px;
		margin-top: 0px;
	}

	/*
	リクルート　募集要項
	*/
	.recruit_descriptionElm .topBox {
		background: url(../images/recruit_description_top_sp.png) no-repeat center;
		background-size: cover;
		aspect-ratio: 5 / 1.79;
		height: 265px;
	}

	.recruit_descriptionElm .topBox h2 {
		font-size: var(--sp-h2);
		letter-spacing: 1.8px;
		font-weight: 500;
		border-bottom: 1px solid #fff;
		padding-bottom: 12px;
		line-height: 1.3;
	}

	.recruit_descriptionElm .topBox .breadcrumb {
		margin-top: 13px;
	}

	.recruit_descriptionElm .topBox .breadcrumb li {
		font-size: 12px;
	}

	.recruit_descriptionElm .menuList {
		display: block;
		width: 70%;
		margin: 54px auto 0;
	}

	.recruit_descriptionElm .menuList li {
		width: 100%;
		margin-top: 12px;
	}

	.recruit_descriptionElm .menuList li a {
		border: 1px solid #424242;
		border-radius: 5px;
	}

	.recruit_descriptionElm .topBox .lBox,
	.recruit_descriptionElm .topBox .rBox {
		width: 90%;
	}

	.recruit_descriptionElm .recruit_description_Box {
		margin-top: 0px;
	}

	.recruit_descriptionElm .recruit_description_Box .menu_description {
		display: block;
		width: 70%;
		margin: 54px auto 40px;
	}

	.recruit_descriptionElm .recruit_description_Box .menu_description li.btnBox {
		width: 100%;
		margin-top: 12px;
	}

	.recruit_descriptionElm .recruit_description_Box .menu_description li.btnBox .news-link {
		font-size: 12px;
		border: 1px solid #0D77C2;
		border-radius: 5px;
		padding: 13px 0;
	}

	.recruit_descriptionElm .recruit_description_Box h3 {
		font-size: 20px;
		padding-left: 5%;
		letter-spacing: 1.8px;
		width: 93%;
	}

	.recruit_descriptionElm .recruit_description_Box .container {
		width: var(--sp-width);
		margin: 40px auto 0;
	}

	.recruit_descriptionElm .recruit_description_Box .container h4 {
		font-size: 16px;
		letter-spacing: 1.44px;
	}

	.recruit_descriptionElm .recruit_description_Box .recruit_table {
		margin-top: 16px;
		padding: 0 13px 0px 10px;
	}

	.recruit_descriptionElm .recruit_description_Box table th {
		padding: 5px 0 5px 5px;
		font-size: 13px;
		width: 110px;
	}

	.recruit_descriptionElm .recruit_description_Box table td .category-desc {
		font-size: 13px;
	}

	.recruit_descriptionElm .recruit_description_Box table td {
		padding: 20px 0;
		font-size: 13px;
	}

	.recruit_descriptionElm .recruit_description_Box table th,
	.recruit_descriptionElm .recruit_description_Box table td,
	.recruit_descriptionElm .recruit_description_Box table div,
	.recruit_descriptionElm .recruit_description_Box table li {
		font-size: 13px;
		line-height: 1.5;
	}

	/*流れ*/
	.recruit_descriptionElm .flow-container {
		width: 86%;
		margin: 40px auto 0;
	}

	.recruit_descriptionElm .recruit_description_Box h3.flowttl {
		margin-top: 45px;
	}

	.recruit_descriptionElm .recruit_description_Box h3.flowttl span {
		font-size: 12px;
	}

	.recruit_descriptionElm .recruit_description_Box .flow-item {
		border-radius: 0px;
	}

	.recruit_descriptionElm .recruit_description_Box .flow-item .flow-content {
		display: block;
	}

	.recruit_descriptionElm .recruit_description_Box .flow-item .flow-text {
		width: 100%;
	}

	.recruit_descriptionElm .recruit_description_Box .flow-item .flow-title {
		font-size: 22px;
		line-height: 1.5;
	}

	.recruit_descriptionElm .recruit_description_Box .flow-item .imgBox {
		width: 85%;
		margin: 20px auto 0;
	}

	.recruit_descriptionElm .recruit_description_Box .flow-item .imgBox img {
		max-height: 110px;

	}

	.flow-number {
		font-size: 18px;
	}

	.flow-header {
		max-width: 60px;
		height: 42px;
		width: 100%;
		top: -25px;
		left: -7.8%;
	}

	.recruit_descriptionElm .recruit_description_Box .flow-item {
		margin-bottom: 35px;
		padding: 22px 16px;
	}

	.recruit_descriptionElm .recruit_description_Box .flow-item::before {
		border-width: 30px 37.5px 0 37.5px;
	}

	.recruit_descriptionElm .recruit_description_Box .flow-item::after {
		border-width: 24.9px 31.1px 0 31.1px;
	}
}