@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
	font-family: 'Noto Sans JP', sans-serif, 'Noto Serif JP', sans-serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
	box-sizing: border-box;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
    height: auto;
}
a,
a:link {
	color: #191919;
	text-decoration: none;
}
a:visited {
	color: #191919;
}
a:hover {
	opacity: 0.7;
}
a:active {
	color: #191919;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	margin: 0 auto;
	color: #000;
	font-size: 1.6rem;
	line-height: 1.8;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
body.fixed {
	position: fixed;
	top: 0;
	width: 100%;
}
.content {
	max-width: 1000px;
	width: 95%;
	margin: 0 auto;
}
#container {
	position: relative;
	text-align: left;
	overflow: hidden;
}
#main {
	display: block;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.5rem;
	}
	.content {
		width: 90%;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}

/*------------------------------------------------------------
	共通
------------------------------------------------------------*/
.br-tb {
	display: none;
}
.br-sp {
	display: none;
}

@media screen and (max-width:896px) {
	.br-tb {
		display: block;
	}
	.tb-off {
		display: none;
	}
}
@media screen and (max-width:430px) {
	.br-sp {
		display: block;
	}
	.sp-off {
		display: none;
	}
}


.btn {
	background-color: #007AE2;
	border-radius: 20px 20px 20px 0;
	max-width: 273px;
	margin: 0 auto;
	padding: 12px 0;
	text-align: center;
	color: #fff;
	font-weight: bold;
	position: relative;
	font-size: 19px;
	display: grid;
	grid-template-columns: auto auto;
	align-items: center;
	justify-content: center;
	gap: 15px;
}
.btn span {
	background-color: #fff;
	border-radius: 50%;
	width: 19px;
	height: 19px;
	display: block;
	position: relative;
}
.btn span::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid #007AE2;
	border-right: 2px solid #007AE2;
	position: absolute;
	left: 45%;
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}

@media screen and (max-width:896px) {
	.btn {
		max-width: 200px;
	}
}


/*------------------------------------------------------------
	ローディング
------------------------------------------------------------*/
#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 1200;
	background: #fff;
	text-align:center;
}
#splash_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#splash_logo img {
	width: 260px;
}
@keyframes fadeIn{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/*------------------------------------------------------------
	アニメーション
------------------------------------------------------------*/
.fadeInup {
	opacity: 0;
	visibility: hidden;
	transform: translate(0, 30px);
	transition: 1s;
}
.fadeInup.active {
	opacity: 1;
	visibility: visible;
	transform: translate(0, 0);
}



/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#header.top .header_content {
	opacity: 0;
}
#header .header_content {
	padding: 30px 100px 30px 35px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
}
#header .header_nav nav ul {
	display: flex;
	justify-content: center;
	gap: 35px;
	font-size: 14px;
	font-weight: bold;
}
#header .header_btn {
	max-width: 160px;
}
#header .header_btn a {
	background-color: #F54E1D;
	border-radius: 50vh;
	padding: 10px 0 11px;
	font-size: 14px;
	font-weight: bold;
	color: #FFF;
	width: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
}
#header .header_btn a span {
	font-size: 20px;
	font-style: italic;
	margin-left: 3px;
	vertical-align: sub;
}
#header.top .zdo_drawer_menu {
	opacity: 0;
}

@media screen and (max-width:1325px) {
	#header .header_nav nav ul {
		gap: 20px;
		font-size: 12px;
	}
}
@media screen and (max-width:1175px) {
	#header .header_content {
		padding: 15px 65px 15px 10px;
		display: grid;
		grid-template-columns: auto 1fr;
	}
	#header .header_logo {
		max-width: 144px;
	}
	#header .header_nav {
		display: none;
	}
	#header .header_btn {
		margin-left: auto;
	}
	#header .header_btn a {
		padding: 3px 0;
		font-size: 10px;
		width: 105px;
	}
	#header .header_btn a span {
		font-size: 15px;
	}
}


/*------------------------------------------------------------
	メインビジュアル
------------------------------------------------------------*/
#mainvisual .mainvisual_ttl {
	max-width: 90%;
	margin: 0 auto;
	position: relative;
	z-index: 1;
	text-align: center;
	transform: translate(0, -35px);
}
#mainvisual .mainvisual_ttl h1 {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
#mainvisual .mainvisual_ttl h1 svg path, #mainvisual .mainvisual_ttl h1 svg polygon {
	opacity: 0;
}
#mainvisual .mainvisual_ttl h1 svg#subTxt, #mainvisual .mainvisual_ttl h1 svg#subTxtSp {
	max-width: min(411px, 70%);
}
#mainvisual .mainvisual_ttl h1 svg#mainTxt {
	max-height: 100px;
}
#mainvisual .mainvisual_ttl h1 svg#mainTxtSp01, #mainvisual .mainvisual_ttl h1 svg#mainTxtSp02 {
	height: max(45px, 12vw);
	width: 100%;
}
#mainvisual .mainvisual_slider {
  display: flex;
  overflow: hidden;
}
#mainvisual .mainvisual_slider .slider {
  animation: scroll-left 40s infinite linear .5s both;
  display: flex;
}
#mainvisual .mainvisual_slider .slide {
  width: calc(100vw / 3);
	margin: 0 -3.8vw;
	opacity: 0;
}
#mainvisual .mainvisual_slider .slide img {
  display: block;
  width: 100%;
}
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

@media screen and (max-width:1175px) {
	#mainvisual .mainvisual_slider .slide {
		width: calc(100vw / 2);
		margin: 0 -5.8vw;
	}
}
@media screen and (max-width:896px) {
	#mainvisual .mainvisual_slider .slide {
		width: calc(100vw / 1.5);
		margin: 0 -8vw;
	}
}
@media screen and (max-width:550px) {
	#mainvisual .mainvisual_slider .slide {
		width: calc(100vw / 1);
		margin: 0 -11.7vw;
	}
}

/*------------------------------------------------------------
	トップーアバウト
------------------------------------------------------------*/
#top_about {
	position: relative;
}
#top_about::before {
	content: "";
	background: url(../img/top/top_people_bg_01.png) no-repeat left bottom;
	background-size: auto 410px;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translate(0, 15%);
	z-index: -1;
}
#top_about .top_about-txt {
	position: relative;
	padding: 85px 0;
}
#top_about .top_about-txt::before, #top_about .top_about-txt::after {
	content: "";
	width: 100%;
	position: absolute;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#top_about .top_about-txt::before {
	content: "";
	background: url(../img/top/top_about_bg_01.png) no-repeat left;
	background-size: contain;
	height: calc(100% - 40px);
	left: 0;
	bottom: 0;
}
#top_about .top_about-txt::after {
	content: "";
	background: url(../img/top/top_about_bg_02.png) no-repeat right;
	background-size: contain;
	height: calc(100% - 40px);
	right: 0;
	top: 0;
}
#top_about .top_about-txt {
	text-align: center;
}
#top_about .top_about-txt h2 {
	font-size: clamp(20px, 4vw, 32px);
}
#top_about .top_about-txt h2 span {
	padding-top: 10px;
	background-position: top left;
	background-repeat: repeat-x;
	background-size: 1em 0.5em;
	background-image: radial-gradient(circle at center, #000 20%, transparent 20%);
}
#top_about .top_about-txt p {
	font-size: clamp(15px, 4vw, 18px);
	margin: 35px 0;
}
#top_about .top_about-txt a.btn {
	color: #fff;
	max-width: 216px;
	font-size: 16px;
}
#top_about .top_about-txt a.btn span {
	width: 16px;
	height: 16px;
}
#top_about .top_about-txt a.btn span::after {
	width: 7px;
	height: 7px;
}
#top_about .top_about-link ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 45px 25px;
}
#top_about .top_about-link ul li {
	position: relative;
}
#top_about .top_about-link ul li img {
	width: 100%;
}
#top_about .top_about-link ul li:nth-child(1) img {
	border-radius: 0 60px 0 0;
}
#top_about .top_about-link ul li:nth-child(2) img {
	border-radius: 0 0 60px 0;
}
#top_about .top_about-link ul li:nth-child(3) img {
	border-radius: 0 0 0 60px;
}
#top_about .top_about-link ul li:nth-child(4) img {
	border-radius: 60px 0 0 0;
}
#top_about .top_about-link ul li p {
	transform: translate(0, -50%);
	font-size: clamp(15px, 4vw, 19px);
	max-width: clamp(200px, 50vw, 273px);
}

@media screen and (max-width:896px) {
	#top_about::before {
		content: "";
		background: url(../img/top/top_people_bg_01.png) no-repeat left center;
		background-size: 100px auto;
		left: 0;
		bottom: 50%;
		transform: translate(0, 50%);
	}
	#top_about .top_about-txt::before {
		content: "";
		background: url(../img/top/top_about_bg_01_sp.png) no-repeat left top;
		background-size: 60px auto;
		height: calc(100% - 40px);
		left: 0;
		bottom: 0;
	}
	#top_about .top_about-txt::after {
		content: "";
		background: url(../img/top/top_about_bg_02_sp.png) no-repeat right bottom;
		background-size: 60px auto;
		height: calc(100% - 40px);
		right: 0;
		top: 0;
	}
	#top_about .top_about-txt p {
		text-align: left;
		max-width: 75%;
		margin: 25px auto;
	}
	#top_about .top_about-txt a.btn {
		max-width: 200px;
		font-size: 15px;
	}
	#top_about .top_about-link ul {
		grid-template-columns: 1fr;
		gap: 35px;
	}
}


/*------------------------------------------------------------
	トップーピープル
------------------------------------------------------------*/
#top_people {
	position: relative;
}
#top_people::after {
	content: "";
	background: url(../img/top/top_people_bg_02.png) no-repeat right center;
	background-size: auto 410px;
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(0, 25%);
	z-index: -1;
}
#top_people .top_people-content {
	padding: 100px 0;
}
#top_people .top_people-ttl {
	text-align: center;
	margin-bottom: 20px;
}
#top_people .top_people-ttl h2 svg {
	height: clamp(30px, 8vw, 44px);
}

#top_people .top_people-ttl p {
	margin-top: 10px;
	font-size: clamp(18px, 4vw, 22px);
	font-weight: bold;
}
#top_people .top_people-list ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 20px;
}
#top_people .top_people-list ul li {
	text-align: center;
}
#top_people .top_people-list ul li p {
	font-size: 14px;
}
#top_people .top_people-list ul li p span {
	font-weight: bold;
	font-size: 18px;
	line-height: 1.0;
}
#top_people .top_people-list ul li img {
	margin-bottom: 10px;
}
#top_people .top_people-list ul li:nth-child(1) img {
	border-radius: 0 60px 0 0;
}
#top_people .top_people-list ul li:nth-child(2) img {
	border-radius: 0 0 60px 0;
}
#top_people .top_people-list ul li:nth-child(3) img {
	border-radius: 0 0 0 60px;
}
#top_people .top_people-list ul li:nth-child(4) img {
	border-radius: 60px 0 0 0;
}

@media screen and (max-width:896px) {
	#top_people::after {
		background: url(../img/top/top_people_bg_02.png) no-repeat right top;
		background-size: 76px auto;
		bottom: auto;
		top: 0;
		transform: translate(0, 0);
	}
	#top_people .top_people-list ul {
		grid-template-columns: 1fr 1fr;
		gap: 30px 15px;
	}
}

/*------------------------------------------------------------
	トップーリンク
------------------------------------------------------------*/
#top_link .top_link-item {
	display: grid;
	grid-template: "img txt" 1fr / 65% auto;
	align-items: center;
	margin-bottom: 50px;
	max-width: 95%;
}
#top_link .top_link-item:last-child {
	grid-template: "txt img" 1fr / auto 65%;
	margin-left: auto;
}
#top_link .top_link-item .top_link-img {
	grid-area: img;
}
#top_link .top_link-item .top_link-txt {
	max-width: 400px;
	grid-area: txt;
}
#top_link .top_link-item:first-child .top_link-txt {
	margin: 0 auto 0 min(50px, 4vw);
}
#top_link .top_link-item:last-child .top_link-txt {
	margin: 0 min(50px, 4vw) 0 auto;
}
#top_link .top_link-item .top_link-txt h2 {
	font-size: clamp(22px, 4vw, 32px);
	margin-bottom: 30px;
}
#top_link .top_link-item .top_link-txt a.btn {
	color: #fff;
	max-width: 216px;
	font-size: 15px;
	margin: 20px 0 0;
}
#top_link .top_link-item .top_link-txt a.btn span {
	width: 16px;
	height: 16px;
}
#top_link .top_link-item .top_link-txt a.btn span::after {
	width: 7px;
	height: 7px;
}

@media screen and (max-width:896px) {
	#top_link .top_link-item {
		grid-template: "img" auto "txt" 1fr/ 1fr;
		max-width: 100%;
	}
	#top_link .top_link-item:last-child {
		grid-template: "img" auto "txt" 1fr/ 1fr;
	}
	#top_link .top_link-item .top_link-img {
		grid-area: img;
	}
	#top_link .top_link-item .top_link-txt {
		max-width: 100%;
		width: 90%;
		grid-area: txt;
	}
	#top_link .top_link-item:first-child .top_link-txt {
		margin: 0 auto 0 min(50px, 4vw);
	}
	#top_link .top_link-item:last-child .top_link-txt {
		margin: 0 min(50px, 4vw) 0 auto;
	}
	#top_link .top_link-item:first-child {
		padding-right: 0;
	}
	#top_link .top_link-item:first-child .top_link-img {
		padding-right: 5%;
	}
	#top_link .top_link-item:last-child {
		padding-left: 0;
	}
	#top_link .top_link-item:last-child .top_link-img {
		padding-left: 5%;
	}
	#top_link .top_link-item .top_link-img {
		margin-bottom: 30px;
	}
	#top_link .top_link-item .top_link-txt {
		max-width: 100%;
		width: 90%;
	}
	#top_link .top_link-item .top_link-txt h2 {
		text-align: center;
		margin-bottom: 20px;
	}
	#top_link .top_link-item .top_link-txt a.btn {
		margin: 20px auto 0;
	}
}


/*------------------------------------------------------------
	トップーリクルート
------------------------------------------------------------*/
#top_recruit {
	position: relative;
}
#top_recruit::before {
	content: "";
	background-color: #479AC2;
	border-radius: 167px;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}
#top_recruit .top_recruit-content {
	padding: 100px 0 80px;
	margin-top: 100px;
}
#top_recruit .top_recruit-ttl {
	text-align: center;
	margin-bottom: 30px;
}
#top_recruit .top_recruit-ttl h2 svg {
	height: clamp(30px, 7vw, 39px);
}

#top_recruit .top_recruit-ttl p {
	color: #fff;
	font-size: clamp(18px, 4vw, 22px);
	font-weight: bold;
	margin-top: 10px;
}
#top_recruit .top_recruit-list ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px;
}
#top_recruit .top_recruit-list ul li a {
	background-color: #fff;
	display: block;
	position: relative;
	padding: 50px 10px;
	min-height: 200px;
	display: grid;
	align-content: center;
}
#top_recruit .top_recruit-list ul li:nth-child(1) a {
	border-radius: 0 0 0 60px;
}
#top_recruit .top_recruit-list ul li:nth-child(2) a {
	border-radius: 0 60px;
}
#top_recruit .top_recruit-list ul li:nth-child(3) a {
	border-radius: 60px 0 0 60px;
}
#top_recruit .top_recruit-list ul li a .inner {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: center;
	gap: 20px;
}
#top_recruit .top_recruit-list ul li a .inner p {
	line-height: 1.5;
}
#top_recruit .top_recruit-list ul li a > p {
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: #F54E1D;
	color: #fff;
	max-width: 150px;
	width: 100%;
	display: grid;
	grid-template-columns: auto auto;
	justify-content: center;
	align-items: center;
	gap: 5px;
	border-radius: 20px 0 0 0;
	padding: 3px 0 3px 10px;
}
#top_recruit .top_recruit-list ul li a > p span {
	background-color: #fff;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	position: relative;
}
#top_recruit .top_recruit-list ul li a > p span::before {
	content: "";
	width: 6px;
	height: 6px;
	border-top: 2px solid #F54E1D;
	border-right: 2px solid #F54E1D;
	position: absolute;
	top: 50%;
	left: 45%;
	transform: translate(-50%, -50%) rotate(45deg);
}
#top_recruit .top_recruit-txt {
	text-align: center;
	margin: 30px 0;
	color: #fff;
}
#top_recruit .top_recruit-txt a {
	text-decoration: underline;
	color: #fff;
}
#top_recruit .top_recruit-btn {
	max-width: 286px;
	margin: 0 auto;
}
#top_recruit .top_recruit-btn a {
	background-color: #F54E1D;
	color: #fff;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	border-radius: 50vh;
	padding: 17px 0;
	font-size: clamp(16px, 4vw, 20px);
	font-weight: bold;
}
#top_recruit .top_recruit-btn a span {
	font-size: clamp(28px, 7vw, 32px);
	margin-left: 10px;
	vertical-align: sub;
	font-style: italic;
}

@media screen and (max-width:896px) {
	#top_recruit::before {
    border-radius: 15vw;
	}
	#top_recruit .top_recruit-list ul {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	#top_recruit .top_recruit-list ul li a {
		max-width: 400px;
		margin: 0 auto;
	}
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#footer .footer_content {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: space-between;
	padding: 100px 50px 150px;
	gap: 30px;
}
#footer .footer_nav nav ul {
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: auto auto auto auto;
	gap: 1rem 80px;
}
#footer .footer_nav nav ul li a {
	font-weight: bold;
	font-size: clamp(13px, 3vw, 15px);
}
#footer .footer_right {
	text-align: right;
}
#footer .footer_privacy {
	margin: 20px 0;
}
#footer .footer_privacy ul li a {
	font-size: 13px;
}
#footer .footer_copy p {
	font-size: 13px;
}

@media screen and (max-width:896px) {
	#footer .footer_content {
		grid-template-columns: 1fr;
		padding: 100px 5%;
		gap: 70px;
	}
	#footer .footer_logo a {
		display: flex;
    justify-content: center;
	}
	#footer .footer_nav {
		width: fit-content;
		margin: 0 auto;
	}
	#footer .footer_nav nav ul {
		grid-template-rows: repeat(5, auto);
		gap: 1rem 50px;
	}
	#footer .footer_right {
		text-align: center;
	}
}
@media screen and (max-width:430px) {
	#footer .footer_nav nav ul {
		grid-template-rows: repeat(5, auto);
		gap: 1rem 30px;
	}
}




/*------------------------------------------------------------
	下層ー共通
------------------------------------------------------------*/
#sec_top .sec_top-content {
	margin: 60px auto 30px;
	width: 95%;
}
#sec_top .sec_top-ttl {
	margin-bottom: 35px;
	position: relative;
}
#sec_top .sec_top-ttl h2 svg {
	height: 44px;
}
#sec_top .sec_top-ttl h2 svg path, #sec_top .sec_top-ttl h2 svg polygon {
	opacity: 0;
}
#sec_top .sec_top-ttl p {
	color: #479AC2;
	font-weight: bold;
	margin-top: 15px;
	border-bottom: 1px solid #479AC2;
	width: fit-content;
}
#sec_top .sec_top-pankuzu ul {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	font-size: 13px;
}

@media screen and (max-width:896px) {
	#sec_top .sec_top-content {
		width: 90%;
	}
	#sec_top .sec_top-ttl h2 svg {
		height: clamp(32px, 7vw, 44px);
	}
	#want #sec_top .sec_top-ttl h2 svg, #description #sec_top .sec_top-ttl h2 svg, #number #sec_top .sec_top-ttl h2 svg, #privacy #sec_top .sec_top-ttl h2 svg {
		height: clamp(64px, 12vw, 100px);
	}
}

/*------------------------------------------------------------
	下層ー三共精機について
------------------------------------------------------------*/
#about .about_ttl {
	text-align: center;
	margin-bottom: 40px;
}
#about .about_ttl h2 {
	font-size: clamp(22px, 5vw, 28px);
	line-height: 1.5;
}
#about .about_ttl p {
	font-size: 14px;
	font-weight: 500;
	color: #479AC2;
	letter-spacing: 1px;
}
/* 代表メッセージ */
#about .about_message {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 60px;
	margin-bottom: 150px;
	position: relative;
}
#about .about_message::after {
	content: "";
	background: url(../img/about/about_bg_01.png) no-repeat left;
	background-size: cover;
	width: 123px;
	height: 318px;
	position: absolute;
	right: 0;
	bottom: -30px;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#about .about_message .img {
	max-width: min(400px, 40vw);
}
#about .about_message .img img {
	width: 100%;
}
#about .about_message .img p {
	text-align: center;
	font-size: 14px;
	margin-top: 15px;
}
#about .about_message .img p span {
	font-weight: bold;
	font-size: 20px;
	line-height: 1.3;
}
#about .about_message .txt h3 {
	font-size: 20px;
	margin-bottom: 1.5em;
}
#about .about_message .txt p {
	margin-bottom: 1.5em;
}
/* 企業理念 */
#about .about_philosophy {
	margin-bottom: 100px;
	position: relative;
}
#about .about_philosophy::before {
	content: "";
	background: url(../img/about/about_bg_02.png) no-repeat right;
	background-size: cover;
	width: 133px;
	height: 319px;
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translate(0, 50%);
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#about .about_philosophy .img img {
	width: 100%;
}
/* 事業内容 */
#about .about_business {
	margin-bottom: 100px;
}
#about .about_business .img {
	max-width: 900px;
	margin: 0 auto;
}
#about .about_business .img {
	width: 100%;
}
#about .about_business .txt {
	text-align: center;
	margin: 50px 0;
}
#about .about_business .txt h3 {
	font-size: 22px;
	margin-bottom: 20px;
}
#about .about_business .list {
	position: relative;
}
#about .about_business .list::before {
	content: "";
	background: url(../img/about/about_bg_03.png) no-repeat left;
	background-size: cover;
	width: 123px;
	height: 319px;
	position: absolute;
	right: 0;
	top: 22%;
	transform: translate(0, -50%);
	z-index: -3;
	margin: 0 calc(50% - 50vw);
}
#about .about_business .list::after {
	content: "";
	background: url(../img/about/about_bg_04.png) no-repeat right;
	background-size: cover;
	width: 123px;
	height: 319px;
	position: absolute;
	left: 0;
	top: 62%;
	transform: translate(0, -50%);
	z-index: -3;
	margin: 0 calc(50% - 50vw);
}
#about .about_business .list ul li {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 50px;
	padding: 50px;
	margin-bottom: 30px;
	border-radius: 0 30px 30px 30px;
	position: relative;
}
#about .about_business .list ul li::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: -2;
	background-image: linear-gradient(to bottom, #DDDDDD 1px, transparent 1px), linear-gradient(to bottom, #DDDDDD 1px, transparent 1px), linear-gradient(to left, #DDDDDD 1px, transparent 1px),linear-gradient(to right, #DDDDDD 1px, transparent 1px);
  background-size: 15px 2px, 15px 2px, 2px 15px, 2px 15px;
  background-repeat: repeat-y, repeat-y, repeat-x, repeat-x;
  background-position: left top, right top, left top, right bottom;
	border-radius: 0 30px 30px 30px;
}
#about .about_business .list ul li::after {
	content: "";
	width: calc(100% - 18px);
	height: calc(100% - 18px);
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
	background-color: #fff;
	border-radius: 0 25px 25px 25px;
}
#about .about_business .list ul li img {
	max-width: 200px;
}
#about .about_business .list ul li .inner h4 {
	font-size: 18px;
	margin-bottom: 15px;
}

/* 会社概要 */
#about .about_overview .about_overview-table table {
	border-spacing: 0;
}
#about .about_overview .about_overview-table table th, #about .about_overview .about_overview-table table td {
	padding: 15px 0;
}
#about .about_overview .about_overview-table table th {
	border-bottom: 1px solid #479AC2;
	width: 150px;
}
#about .about_overview .about_overview-table table td {
	border-bottom: 1px solid #B9B9B9;
	padding-left: 15px;
}
#about .about_overview .about_overview-table table td .item p {
	margin-bottom: 15px;
}
#about .about_overview .about_overview-table table td a {
	text-decoration: underline;
}

@media screen and (max-width:896px) {
	#about .about_message {
		grid-template-columns: 1fr;
		gap: 50px;
		margin-bottom: 75px;
	}
	#about .about_message::after {
		width: 80px;
		height: 318px;
	}
	#about .about_message .img {
		max-width: 400px;
		margin: 0 auto;
	}
	#about .about_philosophy::before {
		width: 70px;
		height: 319px;
		transform: translate(0, 110%);
	}
	#about .about_business .list::before {
		width: 80px;
		height: 319px;
	}
	#about .about_business .list::after {
		width: 70px;
		height: 319px;
	}
	#about .about_business .list ul li {
		grid-template-columns: 1fr;
		padding: 50px 30px;
	}
	#about .about_business .list ul li img {
		margin: 0 auto;
		max-width: 400px;
		width: 90%;
	}
}
@media screen and (max-width:620px) {
	#about .about_business .txt p {
		text-align: left;
	}
	#about .about_business .txt p .sp-off {
		display: none;
	}
	#about .about_overview .about_overview-table table th, #about .about_overview .about_overview-table table td {
		width: 100%;
		display: block;
	}
	#about .about_overview .about_overview-table table th {
		padding-bottom: 5px;
		border-bottom: 0;
	}
	#about .about_overview .about_overview-table table td {
		padding-left: 0;
		padding-top: 5px;
		border-bottom: 0;
		position: relative;
	}
	#about .about_overview .about_overview-table table td::after {
		content: "";
		width: 100%;
		height: 1px;
		background: linear-gradient(to right, #479AC2 30%, #B9B9B9 30%);
		position: absolute;
		bottom: 0;
		left: 0;
	}
}


/*------------------------------------------------------------
	下層ー求める人物像
------------------------------------------------------------*/
#want .want_ttl {
	text-align: center;
	margin-bottom: 40px;
}
#want .want_ttl h2 {
	font-size: clamp(22px, 5vw, 28px);
	line-height: 1.5;
}
#want .want_ttl p {
	font-size: 14px;
	font-weight: 500;
	color: #479AC2;
	letter-spacing: 1px;
}
#want .want_img {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 10px;
	margin: 0 calc(50% - 50vw);
	margin-bottom: 70px;
}
#want .want_img img:nth-child(1) {
	border-radius: 0 40px 0 0;
}
#want .want_img img:nth-child(2) {
	border-radius: 0 0 0 40px;
}
#want .want_img img:nth-child(3) {
	border-radius: 40px 0 0 0;
}
#want .want_txt {
	max-width: 670px;
	margin: 0 auto 100px;
	position: relative;
}
#want .want_txt::before {
	content: "";
	background: url(../img/want/want_bg_01.png) no-repeat right;
	background-size: cover;
	width: 139px;
	height: 319px;
	position: absolute;
	left: 0;
	top: 20%;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#want .want_txt h3 {
	margin-bottom: 35px;
	text-align: center;
}
#want .want_txt h3 img {
	height: clamp(30px, 8vw, 42px);
}
#want .want_txt p {
	margin-bottom: 2em;
}
#want .want_item {
	display: grid;
	grid-template-columns: 40% 1fr;
	gap: 70px;
	margin-bottom: 100px;
	position: relative;
}
#want .want_item::before {
	content: "";
	background: url(../img/want/want_bg_02.png) no-repeat left;
	background-size: cover;
	width: 110px;
	height: 319px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#want .want_item .img {
	margin-left: calc(100% - 50vw + 70px);
}
#want .want_item .img img {
	border-radius: 0 80px 0 0;
}
#want .want_item .txt h3 {
	font-size: clamp(22px, 4vw, 24px);
	margin-bottom: 25px;
}
#want .want_item .txt p {
	margin-bottom: 2em;
}
#want .want_people {
	/* max-width: 750px;
	margin: 0 auto; */
	position: relative;
}
#want .want_people::before {
	content: "";
	background: url(../img/want/want_bg_03.png) no-repeat right;
	background-size: cover;
	width: 139px;
	height: 319px;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#want .want_people ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 20px;
}
#want .want_people ul li {
	text-align: center;
}
#want .want_people ul li p {
	font-size: 14px;
}
#want .want_people ul li p span {
	font-weight: bold;
	font-size: 18px;
	line-height: 1.0;
}
#want .want_people ul li img {
	margin-bottom: 10px;
}
#want .want_people ul li:nth-child(1) img {
	border-radius: 0 60px 0 0;
}
#want .want_people ul li:nth-child(2) img {
	border-radius: 0 0 60px 0;
}
#want .want_people ul li:nth-child(3) img {
	border-radius: 0 0 0 60px;
}

@media screen and (max-width:896px) {
	#want .want_txt::before {
		width: 80px;
		height: 319px;
	}
	#want .want_item {
		grid-template-columns: 1fr;
		gap: 50px;
		margin-bottom: 100px;
	}
	#want .want_item::before {
		width: 70px;
		height: 319px;
	}
	#want .want_item .img {
		margin-left: calc(50% - 50vw);
	}
	#want .want_people::before {
		width: 80px;
		height: 319px;
	}
	#want .want_people ul {
		grid-template-columns: 1fr 1fr;
	}
}



/*------------------------------------------------------------
	下層ー職種紹介
------------------------------------------------------------*/
#job .job_nav {
	margin: 0 calc(50% - 50vw);
}
#job .job_nav ul {
	display: flex;
	justify-content: space-evenly;
	gap: 15px;
	flex-wrap: wrap;
	margin: 0 auto;
	width: 95%;
}
#job .job_nav ul li {
	width: 100%;
	max-width: 200px;
}
#job .job_nav ul li a {
	border: 1px solid #C1C1C1;
	border-radius: 50vh;
	display: inline-block;
	padding: 10px 0;
	width: 100%;
	text-align: center;
	line-height: 1.0;
	position: relative;
}
#job .job_nav ul li a span {
	width: 20px;
	height: 20px;
	background-color: #479AC2;
	border-radius: 50%;
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translate(0, -50%);
}
#job .job_nav ul li a span::before {
	content: "";
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	width: 7px;
	height: 7px;
	position: absolute;
	left: 50%;
	top: 45%;
	transform: translate(-50%, -50%) rotate(45deg);
}
#job .job_item {
	padding: 100px 0;
	border-bottom: 1px solid #D0D0D0;
	position: relative;
}
#job .job_item:first-child {
	padding-top: 40px;
}
#job .job_item:last-child {
	border-bottom: 0;
}
#job .job_item:nth-child(1)::before {
	content: "";
	background: url(../img/common/bg_icon_01.png) no-repeat right;
	background-size: contain;
	width: 96px;
	height: 319px;
	position: absolute;
	right: 0;
	top: 35%;
	transform: translate(0, -50%);
	margin: 0 calc(50% - 50vw);
	z-index: -1;
}
#job .job_item:nth-child(2)::before {
	content: "";
	background: url(../img/common/bg_icon_02.png) no-repeat left;
	background-size: contain;
	width: 108px;
	height: 318px;
	position: absolute;
	left: 0;
	top: 40%;
	transform: translate(0, -50%);
	margin: 0 calc(50% - 50vw);
	z-index: -1;
}
#job .job_item:nth-child(3)::before {
	content: "";
	background: url(../img/common/bg_icon_03.png) no-repeat right;
	background-size: contain;
	width: 109px;
	height: 318px;
	position: absolute;
	right: 0;
	top: 35%;
	transform: translate(0, -50%);
	margin: 0 calc(50% - 50vw);
	z-index: -1;
}
#job .job_item:nth-child(4)::before {
	content: "";
	background: url(../img/common/bg_icon_04.png) no-repeat left;
	background-size: contain;
	width: 94px;
	height: 319px;
	position: absolute;
	left: 0;
	top: 40%;
	transform: translate(0, -50%);
	margin: 0 calc(50% - 50vw);
	z-index: -1;
}
#job .job_top {
	display: grid;
	grid-template-columns: 50% 1fr;
	gap: 80px;
	margin-bottom: 50px;
}
#job .job_top.reverce {
	grid-template: "txt img" 1fr/ 1fr 50%;
}
#job .job_top .img {
	margin-left: calc(100% - 50vw);
}
#job .job_top .img img {
	border-radius: 0 40px 0 0;
}
#job .job_top .txt h3 {
	font-size: 28px;
	position: relative;
	padding-bottom: 15px;
	margin-bottom: 30px;
}
#job .job_top .txt h3::after {
	content: "";
	width: 47px;
	height: 4px;
	background-color: #479AC2;
	position: absolute;
	left: 0;
	bottom: 0;
}
#job .job_top .txt .inner {
	margin-top: 40px;
}
#job .job_top .txt .inner h4 {
	background-color: #479AC2;
	border-radius: 20px 20px 20px 0;
	color: #fff;
	max-width: 165px;
	text-align: center;
	padding: 13px 0;
	line-height: 1.0;
	margin-bottom: -10px;
	position: relative;
	z-index: 1;
}
#job .job_top .txt .inner ul {
	background-color: #F8F8F8;
	border-radius: 0 30px 30px 30px;
	padding: 35px 30px;
}
#job .job_top .txt .inner ul li {
	font-weight: bold;
	text-indent: -1.5rem;
	padding-left: 1.5rem;
}
#job .job_top.reverce .img {
	grid-area: img;
}
#job .job_top.reverce .txt {
	grid-area: txt;
}
#job .job_top.reverce .img {
	margin-left: 0;
	margin-right: calc(100% - 50vw);
}
#job .job_top.reverce .img img {
	border-radius: 40px 0 0 0;
}
#job .job_bottom ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
}
#job .job_bottom ul li h3 {
	font-size: 22px;
	margin-bottom: 20px;
	padding-bottom: 15px;
	position: relative;
}
#job .job_bottom ul li h3::after {
	content: "";
	width: 47px;
	height: 1px;
	background-color: #479AC2;
	position: absolute;
	left: 0;
	bottom: 0;
}

@media screen and (max-width:896px) {
	#job .job_item {
		padding: 50px 0;
	}
	#job .job_item:nth-child(1)::before {
		width: 70px;
		height: 319px;
		top: 90vw;
	}
	#job .job_item:nth-child(2)::before {
		width: 80px;
		height: 318px;
		top: 90vw;
	}
	#job .job_item:nth-child(3)::before {
		width: 70px;
		height: 318px;
		top: 90vw;
	}
	#job .job_item:nth-child(4)::before {
		width: 80px;
		height: 319px;
		top: 90vw;
	}
	#job .job_top {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	#job .job_top.reverce {
		grid-template: "img" auto "txt" auto / 1fr;
		gap: 40px;
	}
	#job .job_top .img {
		margin-left: calc(50% - 50vw);
	}
	#job .job_top.reverce .img {
		margin-left: 0;
		margin-right: calc(50% - 50vw);
	}
	#job .job_bottom ul {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}
@media screen and (max-width:430px) {
	#job .job_nav ul li {
		width: 100%;
		max-width: 100%;
	}
}


/*------------------------------------------------------------
	下層ー社員の声一覧
------------------------------------------------------------*/
#people .people_list > p {
	margin-bottom: 20px;
}
#people .people_list ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 20px;
}
#people .people_list ul li {
	text-align: center;
}
#people .people_list ul li p {
	font-size: 14px;
}
#people .people_list ul li p span {
	font-weight: bold;
	font-size: 18px;
	line-height: 1.0;
}
#people .people_list ul li img {
	margin-bottom: 10px;
}
#people .people_list ul li:nth-child(1) img {
	border-radius: 0 60px 0 0;
}
#people .people_list ul li:nth-child(2) img {
	border-radius: 0 0 60px 0;
}
#people .people_list ul li:nth-child(3) img {
	border-radius: 0 0 0 60px;
}
#people .people_list ul li:nth-child(4) img {
	border-radius: 60px 0 0 0;
}

@media screen and (max-width:896px) {
	#people .people_list ul {
		grid-template-columns: 1fr 1fr;
		gap: 30px 15px;
	}
}


/*------------------------------------------------------------
	下層ー社員の声詳細
------------------------------------------------------------*/
#people .people_top {
	margin-bottom: 90px;
	position: relative;
}
#people .people_top::before {
	content: "";
	background: url(../img/common/bg_icon_02.png) no-repeat right;
	background-size: cover;
	width: 141px;
	height: 319px;
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translate(0, 60%);
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#people .people_top .img {
	margin-bottom: 50px;
	position: relative;
}
#people .people_top .img::before {
	content: "";
	background: url(../img/common/bg_icon_01.png) no-repeat right bottom;
	background-size: contain;
	width: 99px;
	height: 319px;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#people .people_top .img img {
	width: 100%;
	border-radius: 0 60px 0 0;
}
#people .people_top .img .inner {
	text-align: right;
	position: absolute;
	right: 7%;
	top: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
}
#people .people_top .img .inner h3 {
	font-size: clamp(32px, 4vw, 42px);
	line-height: 1;
}
#people .people_top .img .inner h3 span {
	background: #000;
	padding: 5px 13px;
	display: inline-block;
}
#people .people_top .img .inner p {
	font-size: clamp(14px, 3vw, 20px);
}
#people .people_top .img .inner p span {
	background-color: #000;
	padding: 1px 7px;
}
#people .people_top .img .inner p.post span {
	background-color: #479AC2;
}
#people .people_top .txt {
	max-width: 675px;
	margin: 0 auto 50px;
}
#people .people_top .txt h4 {
	text-align: center;
	margin-bottom: 40px;
	font-size: clamp(22px, 5vw, 28px);
}
#people .people_top .txt p {
	margin-bottom: 2rem;
}
#people .people_top .txt p:last-child {
	margin-bottom: 0;
}
#people .people_item {
	display: grid;
	grid-template-columns: calc(50% + 30px) 1fr;
	align-items: center;
	margin: 0 calc(50% - 50vw);
}
#people .people_item.reverce {
	grid-template: "right left" 1fr / 1fr calc(50% + 30px);
	margin: 0 calc(50% - 50vw);
}
#people .people_item .left img {
	border-radius: 0 60px 0 0;
}
#people .people_item.reverce .left img {
	border-radius: 60px 0 0 0;
}
#people .people_item.reverce .left {
	grid-area: left;
}
#people .people_item .right {
	margin: 0 auto;
	width: 90%;
	max-width: 475px;
}
#people .people_item .right h3 {
	font-size: clamp(22px, 5vw, 28px);
	margin-bottom: 20px;
}
#people .people_item .right p {
	margin-bottom: 2rem;
}
#people .people_item .right p:last-child {
	margin-bottom: 0;
}
#people .people_item.reverce .right {
	grid-area: right;
}

#people .people_info {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	position: relative;
	margin: 100px 0;
	padding: 100px 0;
	color: #fff;
}
#people .people_info::before {
	content: "";
	background-color: #479AC2;
	border-radius: 60px;
	width: 100vw;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}
#people .people_info .people_inner h3 {
	font-size: 28px;
	margin-bottom: 35px;
	padding-bottom: 20px;
	position: relative;
}
#people .people_info .people_inner h3::before {
	content: "";
	background-color: #fff;
	width: 47px;
	height: 4px;
	position: absolute;
	left: 0;
	bottom: 0;
}
#people .people_info .people_inner ul li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 15px;
	align-items: baseline;
	padding-bottom: 1rem;
	position: relative;
}
#people .people_info .people_inner ul li::before {
	content: "";
	background-color: #fff;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	display: block;
}
#people .people_info .people_inner ul li::after {
	content: "";
	height: 100%;
	border-left: 1px solid #fff;
	position: absolute;
	left: 6px;
	top: 10px;
}
#people .people_info .people_inner ul li:last-child:after {
	content: none;
}
#people .people_info .people_inner ul li p {
	text-indent: -4rem;
	padding-left: 4rem;
}

#people .people_other {
	max-width: 750px;
	margin: 100px auto 0;
	position: relative;
}
#people .people_other::before {
	content: "";
	background: url(../img/common/bg_icon_04.png) no-repeat right;
	background-size: cover;
	width: 118px;
	height: 319px;
	position: absolute;
	left: 0;
	top: 0;
	transform: translate(0, -20%);
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#people .people_other > h3 {
	font-size: clamp(22px, 5vw, 28px);
	text-align: center;
	margin-bottom: 35px;
	padding-bottom: 15px;
	position: relative;
}
#people .people_other > h3::before {
	content: "";
	background-color: #479AC2;
	width: 47px;
	height: 4px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%);
}
#people .people_other ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px;
}
#people .people_other ul li {
	text-align: center;
}
#people .people_other ul li p {
	font-size: 14px;
}
#people .people_other ul li p span {
	font-weight: bold;
	font-size: 18px;
	line-height: 1.0;
}
#people .people_other ul li img {
	margin-bottom: 10px;
}
#people .people_other ul li:nth-child(1) img {
	border-radius: 0 60px 0 0;
}
#people .people_other ul li:nth-child(2) img {
	border-radius: 0 0 60px 0;
}
#people .people_other ul li:nth-child(3) img {
	border-radius: 0 0 0 60px;
}

@media screen and (max-width:896px) {
	#people .people_top {
    margin-bottom: 0;
	}
	#people .people_top::before {
		width: 90px;
		height: 319px;
	}
	#people .people_top .img::before {
		width: 70px;
		height: 319px;
	}
	#people .people_top .img .inner {
		right: 5%;
		top: auto;
		bottom: 5%;
		transform: translate(0, 0);
	}
	#people .people_item {
		grid-template-columns: 1fr;
		gap: 50px;
		margin: 0;
	}
	#people .people_item.reverce {
		grid-template: "left" auto "right" 1fr / 1fr;
		margin: 0;
	}
	#people .people_item .left {
		margin-left: calc(50% - 50vw);
	}
	#people .people_item.reverce .left {
		margin-right: calc(50% - 50vw);
		margin-left: 0;
	}
	#people .people_item .right {
		width: 100%;
		max-width: 100%;
	}
	#people .people_info {
    grid-template-columns: 1fr;
    gap: 50px;
    margin: 75px 0;
    padding: 75px 0;
	}
	#people .people_other::before {
		width: 80px;
		height: 319px;
	}
	#people .people_other ul {
		grid-template-columns: 1fr;
	}
	#people .people_other ul li {
		max-width: 250px;
    margin: 0 auto;
	} 
}


/*------------------------------------------------------------
	下層ー働く環境を知る
------------------------------------------------------------*/
#environment .environment_ttl {
	text-align: center;
	position: relative;
}
#environment .environment_ttl::after {
	content: "";
	width: 47px;
	height: 4px;
	background-color: #479AC2;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%);
}
#environment .environment_ttl h3 {
	font-size: clamp(22px, 4vw, 28px);
	margin-bottom: 30px;
	padding-bottom: 15px;
}
#environment .environment_top {
	position: relative;
}
#environment .environment_top::before {
	content: "";
	background: url(../img/common/bg_icon_01.png) no-repeat left;
	background-size: cover;
	width: 96px;
	height: 319px;
	position: absolute;
	right: 0;
	top: 70%;
	transform: translate(0, -50%);
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#environment .environment_top .top_img {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin: 0 calc(50% - 50vw);
}
#environment .environment_top .top_img img {
	width: 100%;
}
#environment .environment_top .top_img img:first-child {
	border-radius: 0 40px 0 0;
}
#environment .environment_top .top_img img:last-child {
	border-radius: 0 0 0 40px;
}
#environment .environment_top .txt {
	max-width: 675px;
	margin: 60px auto 85px;
}
#environment .environment_top .txt h3 {
	text-align: center;
	font-size: clamp(19px, 6vw, 28px);
	margin-bottom: 30px;
}
#environment .environment_top .img {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px;
}
#environment .environment_top .img img {
	border-radius: 0 40px 0 0;
	width: 100%;
}
#environment .education, #environment .system, #environment .office, #environment .base {
	margin: 85px 0;
}
#environment .education {
	position: relative;
}
#environment .education::before {
	content: "";
	background: url(../img/common/bg_icon_02.png) no-repeat right;
	background-size: cover;
	width: 108px;
	height: 319px;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#environment .system {
	position: relative;
}
#environment .system::before {
	content: "";
	background: url(../img/common/bg_icon_03.png) no-repeat left;
	background-size: cover;
	width: 109px;
	height: 319px;
	position: absolute;
	right: 0;
	bottom: 0;
	transform: translate(0, 100%);
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#environment .system_list ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px 30px;
}
#environment .system_list ul li {
	border: 6px solid #E8E8E8;
	padding: 50px;
	position: relative;
}
#environment .system_list ul li::before {
	content: "";
	height: 30px;
	width: 12px;
	background-color: #479AC2;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%);
}
#environment .system_list ul li h4 {
	text-align: center;
	margin-bottom: 17px;
	font-size: 22px;
}
#environment .office {
	position: relative;
}
#environment .office::before {
	content: "";
	background: url(../img/common/bg_icon_04.png) no-repeat right;
	background-size: cover;
	width: 94px;
	height: 319px;
	position: absolute;
	left: 0;
	top: 55%;
	transform: translate(0, -50%);
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#environment .office::after {
	content: "";
	background: url(../img/common/bg_icon_01.png) no-repeat left;
	background-size: cover;
	width: 96px;
	height: 319px;
	position: absolute;
	right: 0;
	bottom: -5%;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#environment .office_list-01 ul  {
	display: grid;
	grid-template: "left01 center01 right01" auto "left01 center02 right02" auto / 1fr 1fr 1fr;
	gap: 20px;
}
#environment .office_list-01 ul li:nth-child(1) {
	grid-area: left01;
}
#environment .office_list-01 ul li:nth-child(1) img {
	aspect-ratio: unset;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#environment .office_list-01 ul li:nth-child(2) {
	grid-area: center01;
}
#environment .office_list-01 ul li:nth-child(3) {
	grid-area: right01;
}
#environment .office_list-01 ul li:nth-child(4) {
	grid-area: center02;
}
#environment .office_list-01 ul li:nth-child(5) {
	grid-area: right02;
}
#environment .office_list-02 {
	margin: 20px 0;
}
#environment .office_list-02 ul li {
	width: 100%;
}
#environment .office_list-03 ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px;
}
#environment .office_list ul li {
	display: flex;
	flex-direction: column;
}
#environment .office_list ul li img {
	/* width: 100%;
	height: 100%;
	object-fit: cover; */
	aspect-ratio: 320 / 239;
}
#environment .office_list ul li p {
	margin-top: 5px;
}
#environment .base {
	position: relative;
}
#environment .base::after {
	content: "";
	background: url(../img/common/bg_icon_02.png) no-repeat right;
	background-size: cover;
	width: 108px;
	height: 319px;
	position: absolute;
	left: 0;
	top: 50%;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#environment .base_list ul {
	display: flex;
	gap: 30px 25px;
	flex-wrap: wrap;
	justify-content: center;
}
#environment .base_list ul li {
	width: calc(100% / 3 - 17.5px);
	height: 100%;
	text-align: center;
}
#environment .base_list ul li img {
	aspect-ratio: 1/0.778;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#environment .base_list ul li p {
	margin-top: 10px;
	font-weight: bold;
	line-height: 1.5;
}

@media screen and (max-width:896px) {
	#environment .environment_top::before {
		width: 70px;
		height: 319px;
	}
	#environment .education::before {
		width: 80px;
		height: 319px;
	}
	#environment .system::before {
		width: 80px;
		height: 319px;
	}
	#environment .system_list ul {
		grid-template-columns: 1fr;
	}
	#environment .office::before {
		width: 80px;
		height: 319px;
	}
	#environment .office::after {
		width: 80px;
		height: 319px;
	}
	#environment .office_list-01 ul  {
		grid-template: "left01 center01" auto "left01 right01" auto "center02 right02" auto / 1fr 1fr;
		gap: 10px;
	}
	#environment .office_list-02 {
		margin: 10px 0;
	}
	#environment .office_list-03 ul {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}
	#environment .base::after {
		width: 80px;
		height: 319px;
	}
	#environment .base_list ul {
		gap: 20px 10px;
	}
	#environment .base_list ul li {
		width: calc(100% / 2 - 5px);
	}
}



/*------------------------------------------------------------
	下層ー募集要項
------------------------------------------------------------*/
#description .description_nav ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 15px;
	margin: 15px 0 25px;
}
#description .description_nav ul li {
	max-width: 235px;
	width: 100%;
}
#description .description_nav ul li a {
	text-align: center;
	width: 100%;
	padding: 5px 0;
	border: 1px solid #C1C1C1;
	border-radius: 50vh;
	display: inline-block;
	position: relative;
}
#description .description_nav ul li a span {
	width: 20px;
	height: 20px;
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translate(0, -50%);
	background-color: #479AC2;
	border-radius: 50%;
}
#description .description_nav ul li a span::before {
	content: "";
	width: 8px;
	height: 8px;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	position: absolute;
	left: 50%;
	top: 45%;
	transform: translate(-50%, -50%) rotate(45deg);
}
#description .description_item {
	margin-bottom: 40px;
	position: relative;
}
#description .description_item:nth-child(2)::before {
	content: "";
	background: url(../img/common/bg_icon_01.png) no-repeat left;
	background-size: cover;
	width: 96px;
	height: 319px;
	position: absolute;
	right: 0;
	top: 10%;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#description .description_item:nth-child(2)::after {
	content: "";
	background: url(../img/common/bg_icon_02.png) no-repeat right;
	background-size: cover;
	width: 108px;
	height: 319px;
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translate(0, 50%);
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#description .description_item:nth-child(3)::before {
	content: "";
	background: url(../img/common/bg_icon_03.png) no-repeat left;
	background-size: cover;
	width: 109px;
	height: 319px;
	position: absolute;
	right: 0;
	bottom: -10%;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#description .description_item:nth-child(4)::after {
	content: "";
	background: url(../img/common/bg_icon_04.png) no-repeat right;
	background-size: cover;
	width: 94px;
	height: 319px;
	position: absolute;
	left: 0;
	bottom: 5%;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#description .description_item .ttl {
	background-color: #479AC2;
	padding: 25px 60px;
	border-radius: 0 40px 0 0;
}
#description .description_item .ttl h3 {
	font-size: clamp(22px, 4vw, 28px);
	color: #fff;
	padding-bottom: 10px;
	position: relative;
}
#description .description_item .ttl h3::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 47px;
	height: 4px;
	background-color: #fff;
}
#description .description_item .table {
	background-color: #fff;
	border: 1px solid #707070;
	border-top: 0;
	padding: 10px 50px;
}
#description .description_item .table table {
	border-collapse: collapse;
	width: 100%;
}
#description .description_item .table table th, #description .description_item .table table td {
	padding: 20px;
}
#description .description_item .table table th {
	border-bottom: 1px solid #479AC2;
	padding: 20px 10px;
	width: 160px;
	vertical-align: baseline;
}
#description .description_item .table table td {
	border-bottom: 1px solid #B9B9B9;
	padding-left: 50px;
}
#description .description_item .table table tr:last-child th, #description .description_item .table table tr:last-child td {
	border-bottom: 0;
}

@media screen and (max-width:896px) {
	#description .description_item:nth-child(2)::before {
		width: 80px;
		height: 319px;
	}
	#description .description_item:nth-child(2)::after {
		width: 90px;
		height: 319px;
	}
	#description .description_item:nth-child(3)::before {
		width: 90px;
		height: 319px;
	}
	#description .description_item:nth-child(4)::after {
		width: 80px;
		height: 319px;
	}
	#description .description_item .ttl {
		padding: 25px 30px;
	}
	#description .description_item .table {
		padding: 10px 20px;
	}
	#description .description_item .table table th {
		width: 100px;
	}
	#description .description_item .table table td {
		padding: 20px 10px;
	}
	#description .description_item .table table tr:last-child th, #description .description_item .table table tr:last-child td {
		border-bottom: 0;
	}
}
@media screen and (max-width:430px) {
	#description .description_nav ul li {
		max-width: 100%;
	}
}


/*------------------------------------------------------------
	下層ーよくあるご質問
------------------------------------------------------------*/
#faq .faq_item {
	border: 1px solid #707070;
	border-radius: 0 40px 0 0;
	margin-bottom: 20px;
	padding: 40px 40px 60px;
}
#faq .faq_item .question {
	margin-bottom: 15px;
}
#faq .faq_item .question .inner h3 {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 15px;
	font-size: clamp(18px, 4vw, 20px);
}
#faq .faq_item .question .inner h3 span {
	width: 44px;
	height: 44px;
	background: url(../img/faq/faq_icon_01.svg) no-repeat center;
	background-size: contain;
}
#faq .faq_item .answer .inner {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 15px;
}
#faq .faq_item .answer .inner span {
	width: 44px;
	height: 44px;
	background: url(../img/faq/faq_icon_02.svg) no-repeat center;
	background-size: contain;
}
#faq .faq_item .answer .inner .txt p {
	margin-bottom: 15px;
}

@media screen and (max-width:896px) {
	#faq .faq_item {
    padding: 30px 20px 50px;
	}
}


/*------------------------------------------------------------
	下層ー数字で見る三共精機
------------------------------------------------------------*/
#number .number_content {
	position: relative;
}
#number .number_content::before {
	content: "";
	background: url(../img/common/bg_icon_01.png) no-repeat left;
	background-size: cover;
	width: 96px;
	height: 319px;
	position: absolute;
	right: 0;
	top: 10%;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#number .number_content::after {
	content: "";
	background: url(../img/common/bg_icon_02.png) no-repeat right;
	background-size: cover;
	width: 108px;
	height: 319px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0, -50%);
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#number .number_list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 15px;
	position: relative;
}
#number .number_list::before {
	content: "";
	background: url(../img/common/bg_icon_03.png) no-repeat left;
	background-size: cover;
	width: 109px;
	height: 319px;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#number .number_item {
	width: calc(100% / 3 - 10px);
	border: 1px solid #707070;
	background-color: #fff;
	padding: 50px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#number .number_item.w_60 {
	width: calc(100% - (100% / 3) - 5px);
}
#number .number_item.w_100 {
	width: 100%;
}
#number .number_item.txt_fl {
	padding: 50px 10px;
}
#number .number_item.br01 {
	border-radius: 70px 0 0 0;
}
#number .number_item.br02 {
	border-radius: 0 70px 0 0;
}
#number .number_item.br03 {
	border-radius: 0 0 70px 0;
}
#number .number_item.br04 {
	border-radius: 0 0 0 70px;
}

#number .number_item > p {
	text-align: center;
	width: 100%;
	max-width: 192px;
	background-color: #479AC2;
	border-radius: 50vh;
	color: #fff;
	font-weight: bold;
	padding: 5px 0;
	margin: 0 auto 20px;
}
#number .number_item > img {
	margin: 0 auto 15px;
	display: block;
}
#number .number_item:nth-child(1) > img {
	max-width: 154px;
}
#number .number_item:nth-child(2) > img {
	max-width: 163px;
}
#number .number_item:nth-child(3) > img {
	max-width: 132px;
}
#number .number_item:nth-child(4) > img {
	max-width: 65px;
}
#number .number_item:nth-child(6) > img {
	max-width: 132px;
}
#number .number_item:nth-child(7) > img {
	max-width: 125px;
}
#number .number_item:nth-child(8) > img {
	max-width: 115px;
}
#number .number_item:nth-child(9) > img {
	max-width: 78px;
}
#number .number_item:nth-child(10) > img {
	max-width: 104px;
}
#number .number_item:nth-child(11) > img {
	max-width: 98px;
}

#number .number_item .txt {
	display: flex;
	justify-content: center;
	gap: 20px;
}
#number .number_item .item p {
	font-size: 22px;
	font-weight: bold;
	text-align: center;
}
#number .number_item .item p .number {
	font-size: 60px;
	line-height: 1.0;
}
#number .number_item .item p small {
	font-weight: normal;
	font-size: 16px;
}

#number .number_item .item p.fs01 {
	font-size: 20px;
}
#number .number_item .item p.fs01 .number {
	font-size: 47px;
}
#number .number_item .item p.fs02 {
	font-size: 18px;
}
#number .number_item .item p.fs02 .number {
	font-size: 40px;
}
#number .number_item .item p.fs03 {
	font-size: 16px;
}
#number .number_item .item p.fs03 .number {
	font-size: 47px;
}

#number .number_item ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 13px;
}
#number .number_item ul li {
	border: 1px solid #000;
	border-radius: 50vh;
	text-align: center;
	padding: 7px 0;
	font-weight: bold;
}

#number .number_item .graph {
	display: grid;
	align-items: center;
	gap: 30px;
	font-weight: bold;
}
#number .number_item.graph01 .graph {
	grid-template-columns: 135px auto;
}
#number .number_item.graph02 .graph {
	grid-template-columns: 192px auto;
}
#number .number_item .graph .graph_line {
	display: flex;
	align-items: center;
	gap: 15px;
}
#number .number_item .graph .line {
	height: 25px;
	background-color: #479AC2;
}
#number .number_item .graph .line.on {
	animation-name: lineAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}
@keyframes lineAnime {
  0% {
    transform-origin: left;
    transform: scaleX(0);
  }
  100% {
		transform-origin: left;
    transform: scaleX(1);
  }
}

#number .number_item .graph .item {
	width: fit-content;
}
#number .number_item.graph01 .graph:nth-child(1) .line {
	width: 100%;
}
#number .number_item.graph01 .graph:nth-child(2) .line {
	width: 16%;
}
#number .number_item.graph01 .graph:nth-child(3) .line {
	width: 5%;
}
#number .number_item.graph01 .graph:nth-child(4) .line {
	width: 10%;
}
#number .number_item.graph01 .graph:nth-child(5) .line {
	width: 15%;
}
#number .number_item.graph02 .graph:nth-child(1) .line {
	width: 60%;
}
#number .number_item.graph02 .graph:nth-child(2) .line {
	width: 42%;
}
#number .number_item.graph02 .graph:nth-child(3) .line {
	width: 6%;
}
#number .number_item.graph02 .graph:nth-child(4) .line {
	width: 30%;
}
#number .number_item.graph02 .graph:nth-child(5) .line {
	width: 70%;
}
#number .number_item.graph02 .graph:nth-child(6) .line {
	width: 20%;
}

@media screen and (max-width:896px) {
	#number .number_content::before {
		width: 80px;
		height: 319px;
	}
	#number .number_content::after {
		width: 90px;
		height: 319px;
	}
	#number .number_item::before {
		width: 90px;
		height: 319px;
	}
	#number .number_item {
		width: calc(100% / 2 - 10px);
		padding: 50px 20px;
	}
	#number .number_item.w_60 {
		width: 100%;
	}
	#number .number_item .graph {
		gap: 0;
	}
	#number .number_item.graph01 .graph {
		grid-template-columns: 1fr;
	}
	#number .number_item.graph02 .graph {
		grid-template-columns: 1fr;
	}
}
@media screen and (max-width:768px) {
	#number .number_item ul {
		grid-template-columns: 1fr 1fr;
	}
}
@media screen and (max-width:550px) {
	#number .number_item {
		width: 100%;
	}
}


/*------------------------------------------------------------
	下層ーインターンシップ
------------------------------------------------------------*/
#intern .intern_img {
	margin-bottom: 55px;
}
#intern .intern_img .swiper-wrapper {
  transition-timing-function: linear;
}
#intern .intern_img .swiper-slide:nth-child(odd) img {
  border-radius: 0 40px 0 0;
}
#intern .intern_img .swiper-slide:nth-child(even) img {
  border-radius: 0 0 0 40px;
}
#intern .intern_txt {
	max-width: 675px;
	margin: 0 auto 70px;
}
#intern .intern_txt h3 {
	text-align: center;
	margin-bottom: 24px;
	font-size: clamp(22px, 4vw, 28px);
}
#intern .intern_ttl {
	margin-bottom: 20px;
	text-align: center;
}
#intern .intern_ttl h3 {
	padding-bottom: 15px;
	font-size: clamp(22px, 4vw, 28px);
	position: relative;
	line-height: 1.5;
}
#intern .intern_ttl h3::after {
	content: "";
	width: 47px;
	height: 4px;
	background-color: #479AC2;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%);
}
#intern .intern_overview {
	margin-bottom: 120px;
	position: relative;
}
#intern .intern_overview::before {
	content: "";
	background: url(../img/common/bg_icon_01.png) no-repeat left;
	background-size: cover;
	width: 96px;
	height: 319px;
	position: absolute;
	right: 0;
	top: 10%;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#intern .intern_overview-table table {
	border-collapse: collapse;
	width: 100%;
}
#intern .intern_overview-table table th, #intern .intern_overview-table table td {
	padding: 20px;
}
#intern .intern_overview-table table th {
	border-bottom: 1px solid #479AC2;
	padding: 20px 10px;
	width: 160px;
	vertical-align: baseline;
}
#intern .intern_overview-table table td {
	border-bottom: 1px solid #B9B9B9;
	padding-left: 50px;
}
#intern .intern_overview-table table tr:last-child th, #intern .intern_overview-table table tr:last-child td {
	border-bottom: 0;
}
#intern .intern_flow {
	margin-bottom: 100px;
}
#intern .intern_flow-list ul {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 4px;
	margin-bottom: 50px;
}
#intern .intern_flow-list ul li {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 4px;
	align-items: center;
}
#intern .intern_flow-list ul li p {
	background-color: #fff;
	aspect-ratio: 1/1;
	border-radius: 50%;
	width: 100%;
	display: grid;
	align-content: center;
	text-align: center;
	color: #479AC2;
	border: 6px solid #479AC2;
	font-weight: bold;
	font-size: 18px;
	line-height: 1.5;
	max-width: 188px;
}
#intern .intern_flow-list ul li::after {
	content: "";
	width: 11px;
	height: 26px;
	background-color: #EE705C;
	display: block;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
#intern .intern_flow-list ul li:last-child::after {
	content: none;
}
#intern .intern_flow-list p {
	max-width: 675px;
	margin: 0 auto;
}
#intern .intern_study {
	margin-bottom: 100px;
	position: relative;
}
#intern .intern_study::after {
	content: "";
	background: url(../img/common/bg_icon_02.png) no-repeat right;
	background-size: cover;
	width: 108px;
	height: 319px;
	position: absolute;
	left: 0;
	top: 5%;
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#intern .intern_study-box {
	border: 7px solid #EDEDED;
	background-color: #fff;
	border-radius: 0 60px 0 0;
	padding: 40px 100px 30px;
}
#intern .intern_study-box ul li {
	border-bottom: 1px dashed #D5D5D5;
	padding: 20px 0;
	font-weight: bold;
	font-size: clamp(18px, 4vw, 22px);
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 18px;
}
#intern .intern_study-box ul li:last-child {
	border-bottom: 0;
}
#intern .intern_study-box ul li span {
	background-color: #479AC2;
	border-radius: 50%;
	width: 22px;
	height: 22px;
	position: relative;
}
#intern .intern_study-box ul li span::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 45%;
	transform: translate(-50%, -50%) rotate(-45deg);
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
	width: 10px;
	height: 6px;
}
#intern .intern_entry {
	margin-bottom: 150px;
}
#intern .intern_entry-txt {
	max-width: 675px;
	margin: 0 auto;
}
#intern .intern_entry-btn {
	max-width: 236px;
	margin: 30px auto 0;
}
#intern .intern_entry-btn a {
	background-color: #F54E1D;
	color: #fff;
	text-align: center;
	display: block;
	width: 100%;
	border-radius: 50vh;
	padding: 7px 0;
	font-size: 14px;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
}
#intern .intern_entry-btn a span {
	font-size: 20px;
	font-weight: normal;
	margin-left: 10px;
}
#intern .open_company {
	display: grid;
	grid-template-columns: 40% 1fr;
	gap: 70px;
	align-items: center;
	position: relative;
	padding-bottom: 50px;
}
#intern .open_company::before {
	content: "";
	background: url(../img/common/bg_icon_03.png) no-repeat left;
	background-size: cover;
	width: 110px;
	height: 319px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(0, -50%);
	z-index: -1;
	margin: 0 calc(50% - 50vw);
}
#intern .open_company .img {
	margin-left: calc(100% - 50vw + 70px);
}
#intern .open_company .img img {
	border-radius: 0 80px 0 0;
}
#intern .open_company .txt h3 {
	font-size: clamp(22px, 4vw, 24px);
	margin-bottom: 25px;
}
#intern .open_company .txt p {
	margin-bottom: 2em;
}


/* ----------------------------------------------------
   特徴セクション（最新版）
   ---------------------------------------------------- */
.intern_features {
  margin-bottom: 80px; /* 下の要素との余白 */
}

.intern_features ul {
  display: flex;
  justify-content: center;
  gap: 40px; /* アイテム間の余白 */
  flex-wrap: wrap;
}

.intern_features li {
  width: 300px; /* 各カードの幅 */
  position: relative;
  margin-top: 30px; /* アイコンが飛び出す分の余白 */
  text-align: center;
}

/* --- PC用：白い背景部分（丸型） --- */
.intern_features li .feature_body {
  background: #fff;
  border: 6px solid #479AC2;
  border-radius: 50%; /* 正円 */
  width: 100%;
  aspect-ratio: 1 / 1; /* 正方形（正円）を維持 */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  box-sizing: border-box;
  box-shadow: 0 0 20px rgba(225, 240, 245, 0.6); /* 淡い影 */
}

/* --- PC用：特徴バッジ --- */
.intern_features .badge {
  display: inline-block;
  background-color: #479AC2; /* 青色 */
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 5px 25px;
  border-radius: 50px;
  margin-bottom: 15px;
  font-family: "Roboto", sans-serif;
}
/* PCではバッジ内の文字を横並びのままに */
.intern_features .badge span {
  display: inline;
  margin: 0 2px;
}

/* 見出し */
.intern_features h4 {
  color: #479AC2; /* 青色 */
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 15px;
}

/* テキスト */
.intern_features p {
  font-size: 1.4rem;
  line-height: 1.6;
  color: #333;
}

/* PC/SPの改行制御用クラス */
@media screen and (min-width: 769px) {
  .pc { display: block; }
  .sp { display: none; }
}


/* ----------------------------------------------------
   レスポンシブ対応（スマホ：カード型レイアウトへ変更）
   ---------------------------------------------------- */
@media screen and (max-width: 768px) {
  
  .pc { display: none; } /* スマホで改行を無効化 */

  .intern_features ul {
    flex-direction: column;
    align-items: center;
    gap: 20px; /* カード間の余白 */
  }
  
  .intern_features li {
    width: 100%;
    max-width: 100%;
    margin-top: 0;
  }

  /* ▼▼▼ カードデザインの上書き ▼▼▼ */
  .intern_features li .feature_body {
    border: solid #479AC2 4px;       /* 丸い枠線を消す */
    border-radius: 15px; /* 角丸の四角にする */
    aspect-ratio: auto; /* 正方形解除 */
    
    /* レイアウトをGridで組む（左：バッジ、右：タイトル、下：本文） */
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    gap: 15px; /* 要素間の余白 */
    
    padding: 25px;
    align-items: center; /* 垂直中央揃え */
    text-align: left;    /* 左寄せ */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); /* 影をつける */
    background-color: #fff;
  }

  /* バッジ（左上の青い丸） */
  .intern_features .badge {
    grid-row: 1;
    grid-column: 1;
    /* 参考画像に近い濃い青（必要に応じて #479AC2 に戻してください） */
    background-color: #479AC2; 
    width: 70px;
    height: 70px;
    padding: 0;
    margin-bottom: 0;
    border-radius: 50%; /* 完全な丸 */
    
    /* 中の文字を縦並び中央寄せ */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    line-height: 1.1;
  }

  /* バッジ内の文字調整 */
  .badge_txt {
    font-size: 1.1rem;
    font-weight: bold;
    display: block;
  }
  .badge_num {
    font-size: 2.2rem;
    font-weight: 900;
    display: block;
  }

  /* タイトル */
  .intern_features h4 {
    grid-row: 1;
    grid-column: 2;
    margin-bottom: 0;
    font-size: 1.8rem;
    color: #479AC2; /* バッジと同じ濃い青 */
    text-align: left;
  }

  /* 本文 */
  .intern_features p {
    grid-row: 2;
    grid-column: 1 / 3; /* 横幅いっぱいに配置 */
    font-size: 1.4rem;
    line-height: 1.6;
    margin-top: 5px;
    text-align: left;
  }
}

/* ----------------------------------------------------
   インターンシップ アコーディオン（画像対応・最新版）
   ---------------------------------------------------- */

/* 元々外に出していた事業部名は非表示 */
#intern-division {
  display: none;
}

/* アコーディオンエリア全体：初期状態は非表示にしてガタつきを防止 */
.intern_accordion_area {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  opacity: 0; /* JSで中身が入るまで隠す */
  transition: opacity 0.5s ease; /* ふわっと表示させる */
}

/* 読み込み完了後にJSから付与するクラス */
.intern_accordion_area.is-show {
  opacity: 1;
}

.accordion_item {
  margin-bottom: 20px;
}

/* ボタン部分 */
.accordion_trigger {
  background-color: #479AC2;
  color: #fff;
  padding: 25px 80px 25px 30px;
  cursor: pointer;
  position: relative;
  transition: opacity 0.3s;
  display: block;
  border-radius: 15px;
  width: 100%;
  box-sizing: border-box;
}

.accordion_trigger:hover {
  opacity: 0.9;
}

/* ラベルとタイトルの囲い */
.trigger_inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

/* 事業部名ラベル */
.sub_label {
  display: inline-block;
  background-color: #fff;
  color: #479AC2;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 6px 20px;
  border-radius: 50px;
  line-height: 1.2;
}

/* メインタイトル */
.main_title {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.4;
  display: block;
}

/* プラスボタン（背景白丸型） */
.accordion_trigger .icon_plus {
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  background-color: #fff;
  border-radius: 50%;
  display: block;
}

/* 白丸の中の「青い＋」の線 */
.accordion_trigger .icon_plus::before,
.accordion_trigger .icon_plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #479AC2;
  transition: transform 0.3s;
}

.accordion_trigger .icon_plus::before {
  width: 16px;
  height: 3px;
}

.accordion_trigger .icon_plus::after {
  width: 3px;
  height: 16px;
}

.accordion_trigger.open .icon_plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

/* アコーディオンの中身 */
.accordion_content {
  display: none;
  background-color: #fff;
  border: 1px solid #479AC2;
  border-top: none;
  border-radius: 0 0 15px 15px;
  margin-top: -8px;
}

.accordion_content .content_inner {
  padding: 30px;
}

/* テーブルスタイル */
.accordion_content table {
  width: 100%;
  border-collapse: collapse;
}

.accordion_content th,
.accordion_content td {
  padding: 20px 15px;
  text-align: left;
  border-bottom: 1px solid #eee;
  font-size: 1.6rem;
}


.accordion_content th {
  width: 25%;
  font-weight: bold;
  color: #479AC2;
  border-right: 1px solid #ccc; /* ご提示いただいた右線 */
}

/* --- 追加：テーブル下の画像スタイル --- */
.intern_content_img {
  width: 70%;            /* PC時は70% */
  margin: 40px auto 0;   /* 上に余白、中央寄せ */
  text-align: center;
}

.intern_content_img img {
  width: 100%;           /* 親要素(70%)に対して100% */
  height: auto;
  display: block;
  max-width: 100%;       /* はみ出し防止 */
  border-radius: 10px;   /* 角を丸めて馴染ませる */
}


/* エントリーボタンエリア */
.intern_entry_area {
  margin-top: 40px;
  text-align: center;
  padding-bottom: 20px;
}

/* エントリーボタン本体 */
.intern_entry_btn {
  display: inline-block;
  background-color: #F54E1C; /* オレンジ */
  color: #fff !important;    /* 文字色を白に強制 */
  font-size: 2.0rem;
  font-weight: bold;
  text-decoration: none;
  padding: 20px 80px;
  border-radius: 50px;
  box-shadow: 0 4px 15px rgba(245, 78, 28, 0.3);
  transition: all 0.3s ease;
}

.intern_entry_btn:hover {
  background-color: #d43d10; /* ホバー時に濃く */
  transform: translateY(-3px);
  color: #fff !important;    /* ホバー時も白を維持 */
  text-decoration: none;
}

/* ----------------------------------------------------
   オープンカンパニー専用：アコーディオンボタンの色変更
   ---------------------------------------------------- */
/* 親IDを指定して、オープンカンパニー側だけネイビーに変更 */
#open-company-container .accordion_trigger {
  background-color: #013E5C !important;
}

/* ラベル内の文字色やアイコンの色も、必要に応じて微調整が必要な場合はここに追加します */
#open-company-container .sub_label {
  color: #013E5C !important; /* ラベル内の文字色も合わせる */
}

#open-company-container .icon_plus::before,
#open-company-container .icon_plus::after {
  background-color: #013E5C !important; /* プラスマークの色をネイビーに */
}

/* ついでに、中身のテーブルのthの線や文字色も合わせる場合 */
#open-company-container .accordion_content {
  border-color: #013E5C !important;
}
#open-company-container .accordion_content th {
  color: #013E5C !important;
}


/* ----------------------------------------------------
   カテゴリーごとの背景色設定
   ---------------------------------------------------- */

/* 1. インターン：既存の水色 (デフォルト) */
.accordion_trigger.bg_intern {
  background-color: #375e97 !important;
}
/* インターンの場合のラベル文字色 */
.accordion_trigger.bg_intern .sub_label {
  color: #375e97;
}

/* 2. オープンカンパニー：ネイビー */
.accordion_trigger.bg_open {
  background-color: #fb6542 !important;
}
/* オープンカンパニーの場合のラベル文字色 */
.accordion_trigger.bg_open .sub_label {
  color: #fb6542;
}
/* プラスアイコンや枠線も合わせる場合 */
.accordion_trigger.bg_open .icon_plus::before,
.accordion_trigger.bg_open .icon_plus::after {
  background-color: #fb6542;
}

/* 3. 会社説明会：グリーン（例） */
.accordion_trigger.bg_briefing {
  background-color: #ffbb00 !important; /* ここで好きな色に変更 */
}
/* 会社説明会の場合のラベル文字色 */
.accordion_trigger.bg_briefing .sub_label {
  color: #ffbb00;
}
.accordion_trigger.bg_briefing .icon_plus::before,
.accordion_trigger.bg_briefing .icon_plus::after {
  background-color: #ffbb00;
}


/* スマホ対応 */
@media screen and (max-width: 768px) {
  .accordion_trigger {
    padding: 20px 70px 20px 20px;
  }
  .sub_label {
    font-size: 1.2rem;
    padding: 4px 15px;
  }
  .main_title {
    font-size: 1.7rem;
  }
  .accordion_trigger .icon_plus {
    width: 30px;
    height: 30px;
    right: 15px;
  }
  .accordion_content th,
  .accordion_content td {
    display: block;
    width: 100%;
  }
  .accordion_content th {
    border-right: none; /* スマホ時は右線を消す */
    border-bottom: none;
    padding-bottom: 5px;
  }
  /* スマホ時は画像を横幅いっぱいに */
  .intern_content_img {
    width: 100%;
    margin-top: 25px;
  }
  .accordion_content td {
	padding-top: 4px;
}
  .intern_entry_btn {
    font-size: 1.8rem;
    padding: 15px 40px;
    width: 100%; /* スマホではボタンを横いっぱいに */
    box-sizing: border-box;
  }
}





@media screen and (max-width:896px) {
	#intern .intern_overview::before {
		width: 80px;
		height: 319px;
	}
	#intern .intern_overview-table table th {
		width: 100px;
	}
	#intern .intern_overview-table table td {
		padding: 20px 10px;
	}
	#intern .intern_overview-table table tr:last-child th, #intern .intern_overview-table table tr:last-child td {
		border-bottom: 0;
	}
/* 横スクロール対応のコンテナ */
    #intern .intern_flow-list ul {
        display: flex;             /* 横並びにする */
        overflow-x: auto;          /* 横スクロールを許可 */
        -webkit-overflow-scrolling: touch; /* スクロールを滑らかに */
        gap: 0;                 /* アイテム同士の間隔 */
        padding-bottom: 20px;
        grid-template-columns: unset; /* Grid解除 */
		z-index: 999999999999;
    }

    /* 各ステップのアイテム */
    #intern .intern_flow-list ul li {
        flex: 0 0 220px;           /* 幅を固定（調整可） */
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 3px;                  /* 丸と矢印の余白を3pxに */
        grid-template-columns: unset; /* Grid解除 */
        position: relative;        /* 重ね順の基準 */
    }

    /* 丸い要素を奥に配置 */
    #intern .intern_flow-list ul li p {
        position: relative;
        z-index: 1;
    }

    /* 矢印の設定 */
    #intern .intern_flow-list ul li::after {
        content: "";
        width: 11px;
        height: 26px;
        background-color: #EE705C;
        display: block;
        /* 右向きの矢印に戻す */
        clip-path: polygon(0 0, 0% 100%, 100% 50%);
        flex-shrink: 0;
        /* 矢印を手前に表示 */
        position: relative;
        z-index: 2; /* 丸(z-index:1)より手前に */
    }

	#intern .intern_study::after {
		width: 90px;
		height: 319px;
	}
	#intern .intern_study-box {
		padding: 40px 30px 30px;
	}
	#intern .open_company {
		grid-template-columns: 1fr;
		gap: 50px;
		padding-bottom: 0;
	}
	#intern .open_company::before {
		width: 90px;
		height: 319px;
	}
	#intern .open_company .img {
		margin-left: calc(50% - 50vw);
	}
}
@media screen and (max-width:430px) {
	#intern .intern_study-box {
		padding: 20px;
	}
}


/*------------------------------------------------------------
	下層ーお問い合わせ
------------------------------------------------------------*/
#contact .contact_table table {
	width: 100%;
	border-spacing: 0 20px;
}
#contact .contact_table table th {
	width: 200px;
	vertical-align: top;
	padding-top: 13px;
}
#contact .contact_table table th .required {
	color: #F54E1D;
}
#contact .contact_table table td input, #contact .contact_table table td textarea {
	width: 100%;
	padding: 15px;
	border: 1px solid #B9B9B9;
	background-color: #fff;
}
#contact .contact_policy {
	text-align: center;
}
#contact .contact_policy p a {
	text-decoration: underline;
}
#contact .contact_btn {
	margin: 50px auto 0;
	max-width: 250px;
}
#contact .contact_btn input {
	background-color: #F54E1D;
	border: 0;
	border-radius: 50vh;
	padding: 15px 0;
	font-size: 17px;
	font-weight: bold;
	color: #FFF;
	width: 100%;
	text-align: center;
}
#contact .contact_thanks h3 {
	font-size: 24px;
	margin-bottom: 15px;
}
#contact .contact_thanks p {
	border: 6px solid #B9B9B9;
	padding: 30px 50px;
}
#contact .contact_thanks .thanks_btn {
	margin: 50px auto 0;
	max-width: 250px;
}
#contact .contact_thanks .thanks_btn a {
	background-color: #F54E1D;
	border: 0;
	border-radius: 50vh;
	padding: 15px 0;
	font-size: 17px;
	font-weight: bold;
	color: #FFF;
	width: 100%;
	text-align: center;
	display: block;
}

@media screen and (max-width:768px) {
	#contact .contact_table table th, #contact .contact_table table td {
		display: block;
		width: 100%;
	}
	#contact .contact_table table th {
		padding-bottom: 10px;
		padding-top: 0;
	}
}
@media screen and (max-width:475px) {
	#contact .contact_policy {
		text-align: left;
	}
	#contact .contact_policy p .sp-off {
		display: none;
	}
}


/*------------------------------------------------------------
	下層ーエントリー
------------------------------------------------------------*/
#entry .entry_table table {
	width: 100%;
	border-spacing: 0 20px;
}
#entry .entry_table table th {
	width: 200px;
	vertical-align: top;
	padding-top: 13px;
}
#entry .entry_table table th .required {
	color: #F54E1D;
}
#entry .entry_table table td input[type="text"], #entry .entry_table table td input[type="email"], #entry .entry_table table td input[type="tel"], #entry .entry_table table td textarea {
	width: 100%;
	padding: 15px;
	border: 1px solid #B9B9B9;
	background-color: #fff;
}
#entry .entry_table table td .entry_job {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	padding-top: 10px;
}
#entry .entry_policy {
	text-align: center;
}
#entry .entry_policy p a {
	text-decoration: underline;
}
#entry .entry_btn {
	margin: 50px auto 0;
	max-width: 250px;
}
#entry .entry_btn input {
	background-color: #F54E1D;
	border: 0;
	border-radius: 50vh;
	padding: 15px 0;
	font-size: 17px;
	font-weight: bold;
	color: #FFF;
	width: 100%;
	text-align: center;
}
#entry .entry_thanks h3 {
	font-size: 24px;
	margin-bottom: 15px;
}
#entry .entry_thanks p {
	border: 6px solid #B9B9B9;
	padding: 30px 50px;
}
#entry .entry_thanks .thanks_btn {
	margin: 50px auto 0;
	max-width: 250px;
}
#entry .entry_thanks .thanks_btn a {
	background-color: #F54E1D;
	border: 0;
	border-radius: 50vh;
	padding: 15px 0;
	font-size: 17px;
	font-weight: bold;
	color: #FFF;
	width: 100%;
	text-align: center;
	display: block;
}


@media screen and (max-width:768px) {
	#entry .entry_table table th, #entry .entry_table table td {
		display: block;
		width: 100%;
	}
	#entry .entry_table table th {
		padding-bottom: 10px;
		padding-top: 0;
	}
}
@media screen and (max-width:475px) {
	#entry .entry_policy {
		text-align: left;
	}
	#entry .entry_policy p .sp-off {
		display: none;
	}
}

/*------------------------------------------------------------
	下層ープライバシーポリシー
------------------------------------------------------------*/
#privacy .privacy_txt h3 {
	font-size: 20px;
	margin-bottom: 10px;
}
#privacy .privacy_txt p {
	margin-bottom: 30px;
}
#privacy .privacy_txt p.t_right {
	text-align: right;
}