@charset "UTF-8";
/*------------------------
mv
------------------------*/
header {
	margin-bottom: 30px;
}
.mv {
	background: url(/recruit/pc/img/index/bg_mv.jpg) no-repeat 100%/contain;
	background-position: right bottom;
	height: max(46.875vw,560px);
	position: relative;
}
.mv h1 {
	width: clamp(660px, 48vw, 900px);
	padding: 4.167vw 6.51vw;
}
.mv .pict {
	position: absolute;
	animation: .3s ease-in fadeimg;
}
.mv .pict:nth-of-type(1) {
	width: 10vw;
	bottom: 17vw;
	left: 13vw;
}
.mv .pict:nth-of-type(2) {
	width: 12vw;
	bottom: 14vw;
	left: 46vw;
	animation: .6s ease-in fadeimg;
}
.mv .pict:nth-of-type(3) {
	width: 12vw;
	top: 18.5vw;
	right: 10vw;
	animation: .9s ease-in fadeimg;
}
@keyframes fadeimg {
	0% {
		opacity : 0;
		transform : translate(0, -100vw);
	}
	100%{
		opacity : 1;
		transform : translate(0, 0);
	}
}
/*------------------------
お知らせ
------------------------*/
.news {
	background: var(--btncolor);
}
.news .inner {
	width: 1200px;
	margin: auto;
	padding: 20px 0;
	line-height: 1;
	align-items: center;
}
.news .inner h2 {
	width: 144px;
	border-right: 2px solid #fff;
	font-size: 2.6rem;
	font-weight: bold;
	color: #fff;
}
.news .inner .slick {
	width: 818px;
	margin-right: 50px;
}
.news .inner .slick .slick-item a {
	color: #fff;
	padding-left: 40px;
	min-height: 28px;
	align-items: center;
}
.news .inner .slick .slick-item a:hover {
	opacity: .7;
}
.news .inner .slick .slick-item a .wrap {
	letter-spacing: 0;
	align-items: center;
}
.news .inner .slick .slick-item a .date {
	display: block;
	font-size: 1.4rem;
	margin-right: 15px;
}
.news .inner .slick .slick-item a .cat {
	display: block;
	font-size: 1.4rem;
	background: var(--newgraduate);
	padding: 6px 10px;
	margin-right: 2px;
}
.news .inner .slick .slick-item a h3 {
	padding-left: 20px;
	font-weight: 500;
	flex: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
/*arrow*/
.slick-prev, .slick-next {
	width: 12px;
	height: 7px;
}
.news .inner .slick .slick-prev {
	left: auto;
	top: 5px;
	right: -12px;
	z-index: 1;
}
.news .inner .slick .slick-prev::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 6px solid transparent;
	border-left: 6px solid transparent;
	border-bottom: 7px solid #fff;
	border-top: 0;
	opacity: 1;
}
.news .inner .slick .slick-next {
	right: -12px;
	top: initial;
	bottom: 0;
	z-index: 1;
}
.news .inner .slick .slick-next::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 6px solid transparent;
	border-left: 6px solid transparent;
	border-top: 7px solid #fff;
	border-bottom: 0;
	opacity: 1;
}
.news .btn {
	flex: 1;
}
.news .btn a {
	display: block;
	width: 100%;
	background: #fff;
	padding: 10px 15px;
	border-radius: 50vw;
	font-size: 1.6rem;
	font-weight: 400;
	color: var(--btncolor);
	letter-spacing: .025em;
	line-height: 1;
	position: relative;
}
.news .btn a::after {
	content: '';
	position: absolute;
	right: 15px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	width: 14px;
	height: 14px;
	background: #fff;
	border: 1px solid var(--btncolor);
	transition: all .3s ease 0s;
}
.news .btn a span::before {
	content: '';
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	width: 6px;
	height: 1px;
	background: var(--btncolor);
	z-index: 1;
	transition: all .3s ease 0s;
}
.news .btn a span::after {
	content: '';
	position: absolute;
	right: 20px;
	top: -2px;
	bottom: 0;
	margin: auto 0;
	width: 3px;
	height: 1px;
	background: var(--btncolor);
	z-index: 1;
	transition: all .3s ease 0s;
	transform: rotate(45deg);
}
.news .btn a:hover::after {
	background: var(--btncolor);
}
.news .btn a:hover span::before ,
.news .btn a:hover span::after {
	background: #fff;
}
@media screen and (max-width: 1240px) {
	.news .inner {
		width: 100%;
		padding: 20px;
	}
}
/*------------------------
会社情報
------------------------*/
section {
	padding: 100px 0;
}
.company {
	background: url(/recruit/pc/img/common/bg_company.jpg) no-repeat 100%/cover;
	position: relative;
}
.company::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: url(/recruit/pc/img/common/bg_network.png) no-repeat 100%/cover;
}
section .inner {
	width: 1200px;
	margin: auto;
	position: relative;
	z-index: 1;
}
section .inner .txt-wrap {
	flex: 1;
}
section .inner .txt-wrap .ttl {
	margin-bottom: 20px;
}
section .inner .txt-wrap .txt {
	margin-bottom: 30px;
}
section .inner .txt-wrap h3 {
	font-size: 2.8rem;
	font-weight: bold;
	color: var(--btncolor);
	margin-bottom: 10px;
}
section .inner .txt-wrap p {
	font-size: 1.8rem;
	text-align: justify;
	line-height: 1.66;
}
.company .inner .txt-wrap ul {
	flex-wrap: wrap;
	gap: 10px;
}
.company .inner .txt-wrap ul li {
	width: calc(50% - 5px);
}
.company .inner .txt-wrap ul li a {
	background: #fff;
	border-radius: 8px;
	padding: 2px;
	align-items: center;
	position: relative;
}
/*ボタン*/
.company .inner .txt-wrap ul li a::after {
	content: '';
	position: absolute;
	right: 15px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	width: 25px;
	height: 25px;
	background: var(--btncolor);
	border: 1px solid var(--btncolor);	
	transition: all .3s ease 0s;
}
.company .inner .txt-wrap ul li a span::before {
	content: '';
	position: absolute;
	right: 23px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	width: 9px;
	height: 1px;
	background: #fff;
	z-index: 1;
	transition: all .3s ease 0s;
}
.company .inner .txt-wrap ul li a span::after {
	content: '';
	position: absolute;
	right: 22px;
	top: -2px;
	bottom: 0;
	margin: auto 0;
	width: 4px;
	height: 1px;
	background: #fff;
	z-index: 1;
	transition: all .3s ease 0s;
	transform: rotate(45deg);
}
.company .inner .txt-wrap ul li a:hover::after {
	background: #fff;
}
.company .inner .txt-wrap ul li a:hover span::before ,
.company .inner .txt-wrap ul li a:hover span::after {
	background: var(--btncolor);
}
.company .inner .txt-wrap ul li a .img {
	width: 86px;
	height: 76px;
	border-radius: 6px 0 0 6px;
	overflow: hidden;
	margin-right: 20px;
}
.company .inner .txt-wrap ul li a .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .3s ease 0s;
}
.company .inner .txt-wrap ul li a:hover .img img {
	transform: scale(1.05, 1.05);
}
.company .inner .txt-wrap ul li a h4 {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
}
/*動画*/
.thumb {
	position: relative;
}
.company .inner .thumb::before {
	content: '';
	display: block;
	position: absolute;
	top: -32px;
	left: 32px;
	width: 57px;
	height: 57px;
	background: var(--career);
	z-index: 1;
}
.company .inner .thumb::after {
	content: '';
	display: block;
	position: absolute;
	top: -42px;
	left: 22px;
	width: 57px;
	height: 57px;
	background: var(--newgraduate);
	z-index: 1;
}
.company .inner .thumb .img ,
.mein-rec .inner .workstyle .thumb .img {
	display: block;
	position: relative;
	width: 486px;
	height: 530px;
	margin-left: 50px;
	border-radius: 20px;
	overflow: hidden;
}
.thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .3s ease 0s;
}
.thumb a:hover .img img  {
	transform: scale(1.05, 1.05);
}
.thumb .icn {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 80px;
	height: 80px;
}
.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
	background: var(--btncolor);
}
@media screen and (max-width: 1240px) {
	section .inner {
		width: 1160px;
	}
}
/*------------------------
採用情報
------------------------*/
.mein-rec {
	position: relative;
	overflow: hidden;
}
.mein-rec::brfore {
	content: '';
	position: relative;
	z-index: 1;
	width: min(1100px, 92%);
	margin: 0 auto;
}
.mein-rec::after{
	content:'';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 600'%3E%3Cpath d='M160 -30 L0 70 L120 130 L0 200 L120 270 L0 330 L120 400 L0 470 L120 530 L0 600' fill='none' stroke='%23fafafa' stroke-width='16' stroke-linejoin='miter' stroke-linecap='butt'/%3E%3C/svg%3E");
	background-size: 100% auto;
	background-repeat: repeat-y;
	background-position: center top;
}
.mein-rec .top-thumb {
	position: absolute;
	top: 100px;
	right: 0;
	width: calc(50% - 114px);
	height: 530px;
	z-index: 2;
}
.mein-rec .top-thumb .img{
	display: block;
	overflow: hidden;
	height: 100%;
	border-radius: 20px 0 0 20px;
}
.mein-rec .top-txt-wrap {
	width: 664px;
	position: relative;
	margin-bottom: 200px;
}
.mein-rec .top-txt-wrap .ashi {
	position: absolute;
	top: 30px;
	right: 0;
	width: 175px;
}
.mein-rec .top-txt-wrap .ashi2 {
	position: absolute;
	top: 50px;
	right: 71px;
	width: 100px;
}
.mein-rec .inner .btn-area {
	gap: 0 40px;
	margin-bottom: 90px;
}
.mein-rec .inner .btn-area .rec-btn {
	width: 100%;
}
.mein-rec .inner .btn-area .rec-btn a {
	display: block;
	text-align: center;
	color: #fff;
	line-height: 1;
	position: relative;
}
.mein-rec .inner .btn-area .newgraduate a {
	background: url(/recruit/pc/img/common/btn_newgraduate.jpg) no-repeat 100%/cover;
}
.mein-rec .inner .btn-area .rec-btn a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}
.mein-rec .inner .btn-area .newgraduate a::before {
	background: var(--newgraduate);
}
.mein-rec .inner .btn-area .career a::before {
	background: var(--career);
}
.mein-rec .inner .btn-area .rec-btn a:hover::before {
	transform: scale(1, 1);
}
/*ボタン*/
.mein-rec .inner .btn-area .rec-btn a::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
	width: 46px;
	height: 46px;
	background: var(--btncolor);
	transition: all .3s ease 0s;
}
.mein-rec .inner .btn-area .rec-btn a .txt::before {
	content: '';
	position: absolute;
	right: 14px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	width: 16px;
	height: 2px;
	background: #fff;
	z-index: 1;
	transition: all .3s ease 0s;
}
.mein-rec .inner .btn-area .rec-btn a .txt::after {
	content: '';
	position: absolute;
	right: 13px;
	top: -6px;
	bottom: 0;
	margin: auto 0;
	width: 10px;
	height: 2px;
	background: #fff;
	z-index: 1;
	transition: all .3s ease 0s;
	transform: rotate(45deg);
}
.mein-rec .inner .btn-area .rec-btn a:hover::after {
	background: #fff;
}
.mein-rec .inner .btn-area .rec-btn a:hover .txt::before ,
.mein-rec .inner .btn-area .rec-btn a:hover .txt::after {
	background: var(--btncolor);
}
.mein-rec .inner .btn-area .career a {
	background: url(/recruit/pc/img/common/btn_career.jpg) no-repeat 100%/cover;
}
.mein-rec .inner .btn-area .rec-btn .txt {
	padding: 68px 0 76px;
	position: relative;
	line-height: 1;
	z-index: 2;
}
.mein-rec .inner .btn-area .rec-btn h3 {
	font-size: 3.8rem;
	font-weight: bold;
	margin-bottom: 20px;
}
.mein-rec .inner .btn-area .rec-btn span {
	display: block;
	font-size: 2.1rem;
}
/*ワークライフバランス*/
.mein-rec .inner .workstyle {
	margin-bottom: 90px;
}
.mein-rec .inner .workstyle .txt-wrap p {
	margin-bottom: 30px;
}
.mein-rec .inner .workstyle .thumb::before {
	content: '';
	display: block;
	position: absolute;
	top: -46px;
	left: 32px;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 40px solid transparent;
	border-left: 40px solid transparent;
	border-bottom: 40px solid var(--accentcolor);
	border-top: 0;
	transform: rotate(45deg);
	z-index: 1;
}
/*インタビュー*/
.interview .txt-wrap {
	margin-bottom: 40px;
}
.interview .pick .item {
	margin-bottom: 30px;
}
.interview .pick .item a {
	background: #fff;
	padding: 40px;
	border-radius: 20px;
	box-shadow: 1px 1px 20px 0px rgba(0, 0, 0, .07);
}
.interview .pick .item a:hover {
	transform: translateY(4px);
}
.interview .pick .item .img {
	width: 380px;
	height: 270px;
	border-radius: 14px;
	overflow: hidden;
	margin-right: 40px;
}
.interview .pick .item .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .3s ease 0s;
}
.interview .pick .item a:hover img {
	transform: scale(1.05, 1.05);
}
.img.no {
	background: var(--career);
	background: linear-gradient(45deg,var(--newgraduate) 0%, var(--career) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.3);
	padding-bottom: 10px;
}
.img.no span {
	line-height: 1;
	font-size: 1.2rem;
}
.img.no span b{
	font-size: 4rem;
	display: inline-block;
	padding-top: .1em;
}
.interview .pick .item .txt {
	flex: 1;
}
.interview .pick .item .txt .flex-box {
	align-items: center;
	line-height: 1;
}
.interview .pick .item .txt .head {
	margin-bottom: 15px;
}
.interview .pick .item .txt .head h4 {
	font-size: 3.2rem;
	font-weight: bold;
	color: var(--btncolor);
	margin-right: 20px;
}
.interview .pick .item .txt .head .position {
	font-size: 1.8rem;
}
.interview .pick .item .txt .cat-area {
	margin-bottom: 20px;
}
.interview .cat {
	display: inline-block;
	min-width: 84px;
	padding: 8px 10px;
	color: #fff;
	text-align: center;
	line-height: 1;
	margin-right: 10px;
}
.interview .cat.newgraduate {
	background: var(--newgraduate);
}
.interview .cat.career {
	background: var(--career);
	letter-spacing: 0;
}
.interview .pick .item .txt .cat-area .year {
	font-size: 1.8rem;
}
.interview .pick .item .txt .tag-area {
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.interview .pick .item .txt .tag-area span {
	display: block;
	padding: 8px 15px;
	border: 1px solid var(--btncolor);
	border-radius: 50vw;
	color: var(--btncolor);
	letter-spacing: .025em;
	margin: 0 5px 5px 0;
}
.interview .pick .item .txt h5 {
	font-size: 2.4rem;
	font-weight: bold;
}
.interview .slick {
	margin-bottom: 50px;
}
.interview .slick-list {
  margin: 0 -18px;
}
.interview .slick-track {
	margin: 0;
}
.interview .slick-slide {
  margin: 0 18px;
}
.interview .slick .slick-item a {
	display: block;
	position: relative;
}
.interview .slick .slick-item .img {
	height: 268px;
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 20px;
}
.interview .slick .slick-item .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .3s ease 0s;
}
.interview .slick .slick-item a:hover .img img {
	transform: scale(1.05, 1.05);
}
.interview .slick .slick-item .cat {
	position: absolute;
	top: 20px;
	left: 0;
}
.interview .slick .slick-item .txt {
	line-height: 1;
}
.interview .slick .slick-item .txt .head {
	align-items: center;
	margin-bottom: 10px;
}
.interview .slick .slick-item .txt .head h4 {
	font-size: 2.6rem;
	font-weight: bold;
	color: var(--btncolor);
	margin-right: 15px;
}
.interview .slick .slick-item .txt .head .position {
	display: block;
}
.interview .slick .slick-item .txt .year {
	display: block;
	font-size: 1.8rem;
	margin-bottom: 15px;
}
.interview .slick .slick-item .txt .tag-area {
	flex-wrap: wrap;
}
.interview .slick .slick-item .txt .tag-area span {
	display: block;
	padding: 8px 15px;
	border: 1px solid var(--btncolor);
	border-radius: 50vw;
	font-size: 1.4rem;
	color: var(--btncolor);
	letter-spacing: .025em;
	margin: 0 5px 5px 0;
}
.interview .slick .slick-arrow {
	background: #fff;
	border: 1px solid var(--btncolor);
	width: 36px;
	height: 36px;
	z-index: 1;
}
.interview .slick .slick-arrow::before {
	opacity: 1;
}
.slick-prev, .slick-next {
	top: 134px;
}
.slick-prev {
	left: -18px;
}
.slick-next {
	right: -18px;
}
.interview .slick .slick-prev::before ,
.interview .slick .slick-next::before {
	content: '';
	display: inline-block;
	width: 10px;
	height: 1px;
	background: var(--btncolor);
	top: 0;
	bottom: 0;
	right: 15px;
	margin: auto;
}
.interview .slick .slick-prev::after {
	content: '';
	position: absolute;
	left: 10px;
	top: -3px;
	bottom: 0;
	margin: auto 0;
	width: 6px;
	height: 1px;
	background: var(--btncolor);
	z-index: 1;
	transform: rotate(-45deg);
}
.interview .slick .slick-next::after {
	content: '';
	position: absolute;
	right: 10px;
	top: -3px;
	bottom: 0;
	margin: auto 0;
	width: 6px;
	height: 1px;
	background: var(--btncolor);
	z-index: 1;
	transform: rotate(45deg);
}
/*------------------------
更新履歴
------------------------*/
.update {
	background: var(--bgcolor);
	padding: 60px 0;
}
.update .inner {
	background: #fff;
	padding: 40px;
	border-radius: 20px;
	position: relative;
}
.update .inner .ttl {
	flex: 1;
	line-height: 1;
}
.update .inner .ttl .en {
	display: block;
	font-size: 1.8rem;
	color: var(--btncolor);
	line-height: 1;
	margin-bottom: 10px;
}
.update .inner .ttl h2 {
	font-size: 2.6rem;
	font-weight: bold;
}
.update .inner ul {
	width: 880px;
	height: 120px;
	overflow-y: scroll;
}
.update .inner ul li .flex-box {
	padding: 10px 0;
	border-bottom: 1px solid #eff1f4;
}
.update .inner ul li a:hover {
	color: var(--btncolor);
}
.update .inner ul li .date {
	padding-top: 3px;
	font-size: 1.4rem;
	line-height: 1;
	margin-right: 20px;
}
.update .inner ul li h3 {
	flex: 1;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.2;
}
.update .inner .ashi {
	position: absolute;
	bottom: -60px;
	left: 50px;
	width: 120px;
	height: 142px;
	transform: scale(-1, 1);
}
.update .inner .ashi img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}