@charset "utf-8";
/*=============================================*/
/* HEADER */
/*=============================================*/
.l-header {
  width: 100%;
  height: 48px;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
.recruit__body .l-header {
	background: transparent;
}
@media (min-width: 1025px) {
  .l-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    height: 90px;
  }
}
.l-header.fixed {
	position: fixed;
	top: 0;
	left: 0;
}
/* ヘッダーロゴ */
.l-header__logo {
	height: 100%;
  background: #fff;
  position: relative;
}
.l-header__logo a {
  display: flex;
  align-items: center;
  gap: 15px;
  height: 100%;
  padding: 0 clamp(10px, 1.25vw, 24px);
  color: #00519E;
  font-size: clamp(10px, 0.83vw, 16px);
  font-weight: 500;
  line-height: 1.1;
}
.l-header__logo a img {
	width: clamp(220px, 20.83vw, 400px);
}
@media (min-width: 1025px) {
	.l-header__logo {
		width: min(100%, 550px);
		border-radius: 0 0 30px 0;
	}
	.l-header__logo a img {
		min-width: 220px;
		max-width: 400px;
	}
}
/* バーガーボタン 
-----------------------------------------------*/
.l-toggle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: var(--color-main01);
  cursor: pointer;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 999;
}
.l-toggle span,
.l-toggle span::before,
.l-toggle span::after {
  display: block;
  content: "";
  width: 20px;
  height: 1px;
  background: #fff;
  position: relative;
  transition: all .3s;
}
.l-toggle span::before {
  top: -7px;
}
.l-toggle span::after {
  top: 6px;
}
.l-toggle.active {
  background: var(--color-main01);
}
.l-toggle.active span {
  background: none;
}
.l-toggle.active span::before {
  background: #fff;
  transform: translateY(6px) rotate(-45deg);
}
.l-toggle.active span::after {
  background: #fff;
  transform: translateY(-7px) rotate(45deg);
}
@media (min-width: 1025px) {
  .l-toggle {
    display: none;
  }
}
/* ナビゲーション 
-----------------------------------------------*/
.l-header__nav li {
  font-weight: 500;
}
@media (max-width: 1024px) {
  .l-header__nav {
    display: none;
    padding-top: 78px;
    padding-bottom: 50px;
    background: #F8F8F8;
    width: 100%;
    height: 100dvh;
    color: var(--color-main01);
    font-size: 14px;
    overflow-y: scroll;
    position: fixed;
    left: 0;
    top: 0;
  }
  .l-header__nav__menu {
  	width: 89.333333%;
    margin-inline: auto;
    border-top: 1px solid #C1C1C1;
  }
  .l-header__nav__menu li a {
    display: block;
    width: 100%;
    padding: 17px 30px 17px 16px;
    border-bottom: 1px solid #C1C1C1;
    color: var(--color-main01);
    position: relative;
    cursor: pointer;
  }
  .l-header__nav__menu li a::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid var(--color-main01);
    border-right: 1px solid var(--color-main01);
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
}
@media (min-width: 1025px) {
  .l-header__nav {
  	flex-shrink: 0;
    height: 100%;
    padding-right: var(--m40);
  }
  .l-header__nav__menu {
    display: flex;
    gap: min(1.25vw, 24px);
    height: 100%;
  }
  .l-header__nav__menu li {
    display: flex;
    align-items: center;
    position: relative;
  }
  .l-header__nav__menu li a {
    display: block;
    padding: 25px 0;
    font-size: clamp(14px, 1.23vw, 16px);
    cursor: pointer;
    position: relative;
  }
  .recruit__body .l-header__nav__menu li a {
  	color: #fff;
  }
  .l-header__nav__menu li a:before {
    content: "";
    width: 0;
    transition: .5s;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .l-header__nav__menu a.current::before,
  .l-header__nav__menu li a:hover::before {
    content: "";
    width: 100%;
    height: 3px;
    background: var(--color-main01);
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .recruit__body .l-header__nav__menu li a:hover::before {
  	background: #fff;
  }
  .recruit__body .l-header__nav__menu a.current::before {
  	background: #fff;
  }
}

/*=============================================*/
/* FOOTER */
/*=============================================*/
.l-footer {
	background: #fff;
	position: relative;
}
@media (min-width: 1025px) {
	.recruit__body .l-footer {
		z-index: 999;
	}
}
/* Entry
-----------------------------------------------*/
.l-footer__entry {
	padding: 50px 0 clamp(60px, 8.46vw, 110px);
	background: var(--color-main01);
	color: #fff;
	text-align: center;
}
.l-footer__entry .c-content {
	max-width: 780px;
}
.l-footer__entry h2 {
	color: #fff;
}
.l-footer__entry h3 {
	margin-bottom: var(--m30);
	font-size: var(--font32);
}
.l-footer__entry p {
	margin-bottom: clamp(45px, 3.84vw, 50px);
}
.l-footer__entry ul {
	display: grid;
	gap: 20px;
	width: 81.25%;
	margin-inline: auto;
}
@media (min-width: 640px) {
	.l-footer__entry ul {
		grid-template-columns: repeat(2, 1fr);
		width: 100%;
	}
}
.l-footer__entry ul a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(11px, 1vw, 13px);
	padding: clamp(17px, 2.3vw, 30px);
	background: #fff;
	border: 1px solid var(--color-main01);
	border-radius: 48px;
	color: var(--color-main01);
	font-size: var(--font24);
	font-weight: 500;
}
.l-footer__entry ul a[target="_blank"]::after {
	content: "\e904";
	font-family: 'icomoon' !important;
	font-size: clamp(12px, 1.3vw, 17px);
}
@media (any-hover: hover) {
	.l-footer__entry ul a:hover {
		background: var(--color-main01);
		border-color: #fff;
		color: #fff;
	}
}
/* Footer Nav
-----------------------------------------------*/
.l-footer__nav {
	padding: var(--m60) 0;
}
.l-footer__nav ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px var(--m40);
	width: 70%;
}
@media (min-width: 1025px) {
  .l-footer__nav ul{
  	display: flex;
  	justify-content: center;
  	flex-wrap: wrap;
  }
}
.l-footer__nav ul li {
	font-size: var(--font20);
}
@media (any-hover: hover) {
	.l-footer__nav ul li a:hover {
		color: var(--color-main01);
	}
}
/* FOOTER BOTTOM */
.l-footer__bottom {
	padding: 40px 0;
  background: #333;
  color: #fff;
  font-weight: 500;
}
@media (min-width: 768px) {
	.l-footer__bottom {
		padding: 30px 0;
	}
}
.l-footer__bottom .c-content {
  display: grid;
  justify-content: center;
  gap: clamp(20px, 4.07vw, 53px);
}
@media (min-width: 768px) {
  .l-footer__bottom .c-content {
    grid-template-columns: min(100%, 300px) auto;
    align-items: center;
  }
}
.l-footer__bottom .-btn {
	padding: 17px;
	width: 81.25%;
	margin-inline: auto;
	background: #fff;
	border: 1px solid #fff;
	border-radius: 30px;
	text-align: center;
}
@media (min-width: 768px) {
	.l-footer__bottom .-btn {
		width: 100%;
	}
}
.l-footer__bottom .-copy {
	font-size: clamp(14px, 1.23vw, 1.6rem);
	text-align: center;
	line-height: 1.42;
}
@media (min-width: 768px) {
	.l-footer__bottom .-copy {
		text-align: right;
	}
}
/*=============================================*/
/* page__top */
/*=============================================*/
.page__top {
  display: block;
  width: clamp(60px, 6vw, 72px);
  height: clamp(60px, 6vw, 72px);
  position: fixed;
  bottom: 40px;
  right: 5px;
  z-index: 999;
  cursor: pointer;
  transition: all ease-in-out .3s;
}
@media (min-width: 1025px) {
  .page__top {
    right: 26px;
    bottom: 20px;
  }
}
/*=============================================*/
/* MAIN */
/*=============================================*/
main {
  padding-top: 48px;
}
@media (min-width: 1025px) {
  main {
    padding-top: 90px;
  }
}
/*=============================================*/
/* 採用 - TOP */
/*=============================================*/
.p-recruit {
	--height: calc(533 / 375 * 100vw);
	padding-top: calc(var(--height) - 10.104vw);
	position: relative;
}
@media (min-width: 640px) {
	.p-recruit {
		--height: calc(650 / 768 * 100vw);
	}
}
@media (min-width: 1024px) {
	.p-recruit {
		--height: calc(963 / 1920 * 100vw);
	}
}
/* hero
-----------------------------------------------*/
.p-recruit__hero {
  width: 100%;
  height: var(--height);
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
}
.p-recruit__hero::before {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(80, 143, 206, 0.75);
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}
.p-recruit__hero::after {
	content: "";
	width: 100%;
	aspect-ratio: 1920 / 194;
	background: url(/assets/images/recruit/recruit_hero_frame.png) center bottom / 100% no-repeat;
	position: absolute;
	left: 50%;
	bottom: -1px;
	translate: -50%;
	z-index: 2;
}
.p-recruit__hero .-img {
  width: 100vw;
/*  height: 100dvh;*/
  padding-top: 80px;
  position: relative;
  transform: rotate(-15deg);
}
@media all and (min-width: 640px) {
  .p-recruit__hero .-img {
  	padding-top: 35px;
  }
}
@media all and (min-width: 1025px) {
  .p-recruit__hero .-img {
  }
}
.p-recruit__hero .-img .--item {
  display: flex;
}
.p-recruit__hero .-img .--item img {
  width: 290vw;
  max-width: initial;
}
@media all and (min-width: 640px) {
  .p-recruit__hero .-img .--item img {
    width: 195vw;
  }
}
@media all and (min-width: 1025px) {
  .p-recruit__hero .-img .--item img {
    width: 135vw;
  }
}
@media all and (min-width: 1680px) {
  .p-recruit__hero .-img .--item img {
    width: 114.58vw;
  }
}
@keyframes loop {
  0% {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(-200%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes loop-left {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop-left2 {
  0% {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-200%);
  }
}
.p-recruit__hero .-img .--item:nth-of-type(1) img:first-child,
.p-recruit__hero .-img .--item:nth-of-type(3) img:first-child {
  animation: loop 100s -50s linear infinite;
}
.p-recruit__hero .-img .--item:nth-of-type(1) img:last-child,
.p-recruit__hero .-img .--item:nth-of-type(3) img:last-child {
  animation: loop2 100s linear infinite;
}
.p-recruit__hero .-img .--item:nth-of-type(2) img {
  margin-top: clamp(9px, 2vw, 27px);
  margin-bottom: clamp(9px, 2vw, 27px);
}
.p-recruit__hero .-img .--item:nth-of-type(2) img:first-child {
  animation: loop-left 100s -50s linear infinite;
}
.p-recruit__hero .-img .--item:nth-of-type(2) img:last-child {
  animation: loop-left2 100s linear infinite;
}
.p-recruit__hero .-copy {
	width: min(90%, 1220px);
	position: absolute;
	top: 45.880149%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}
@media (min-width: 640px) {
	.p-recruit__hero .-copy {
		top: 43.769470%;
	}
}
/* メインコンテンツ
-----------------------------------------------*/
.p-recruit__main {
	width: 100%;
	padding-top: clamp(80px, 17.18vw, 330px);
	background-image: url(/assets/images/recruit/recruit_main_bg_sp.svg), linear-gradient(rgba(255, 255, 255, 0) 3%, rgba(255, 255, 255, 1) 3% 100%);
	background-position: top center;
	background-size: 100%;
	background-repeat: no-repeat;
	position: relative;
	z-index: 99;
}
@media (min-width: 1025px) {
	.p-recruit__main {
		background-image: url(/assets/images/recruit/recruit_main_bg.png);
		z-index: 999;
	}
}
/* p-recruit__intro
-----------------------------------------------*/
.p-recruit__intro {
	display: grid;
	gap: 2em;
	max-width: 957px;
	padding-bottom: clamp(80px, 14.23vw, 185px);
}
.p-recruit__intro p {
	font-size: clamp(16px, 1.84vw, 2.4rem);
	font-weight: 500;
	line-height: 2.08;
	text-align: center;
}
/* p-recruit__sec
-----------------------------------------------*/
.p-recruit__sec {
	margin-top: calc(-1 * var(--m60));
	padding: var(--m100) 0 clamp(90px, 12.3vw, 160px);
	background: #F8F5ED;
	border-radius: var(--m60) var(--m60) 0 0;
}
.p-recruit__sec.-blue {
	background: var(--color-main01);
}
/* title */
.p-recruit__ttl {
	margin-bottom: 30px;
	color: var(--color-main01);
	font-size: clamp(40px, 7.69vw, 10rem);
	font-weight: 700;
	text-align: center;
}
@media (min-width: 1025px) {
	.p-recruit__ttl {
		margin-bottom: 15px;
	}
}
.p-recruit__subttl {
	display: grid;
	gap: 10px;
	margin-bottom: clamp(23px, 2.3vw, 30px);
	font-size: clamp(24px, 4.61vw, 6.0rem);
	font-weight: 700;
	text-align: center;
}
.p-recruit__subttl span {
	display: flex;
	justify-content: center;
	gap: var(--m30);
	font-size: var(--font26);
	font-weight: 500;
}
.p-recruit__subttl span::before,
.p-recruit__subttl span::after {
	content: "";
	width: clamp(1px, 0.15vw, 2px);
	background: #333;
	rotate: 30deg;
}
.p-recruit__subttl span::before {
	rotate: -30deg;
}
.p-recruit__sec.-blue .p-recruit__ttl,
.p-recruit__sec.-blue .p-recruit__subttl,
.p-recruit__sec.-blue p {
	color: #fff;
}
.p-recruit__sec.-blue .p-recruit__subttl span::before,
.p-recruit__sec.-blue .p-recruit__subttl span::after {
	background: #fff;
}
/* About us
-----------------------------------------------*/
.p-recruit__aboutus .-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(15px, 2.3vw, 33px);
}
@media (min-width: 640px) {
	.p-recruit__aboutus .-list {
		grid-template-columns: repeat(3, 1fr);
	}
}
/* Department
-----------------------------------------------*/
.p-recruit__department .-txt {
	width: 94.117647%;
	margin-inline: auto;
	margin-bottom: clamp(40px, 3.84vw, 50px);
	text-align: center;
}
/* Interview
-----------------------------------------------*/
.p-recruit__interview .c-content {
	max-width: 1552px;
}
.p-recruit__interview .-box {
	padding: clamp(40px, 6.53vw, 96px) 0 clamp(40px, 5.76vw, 74px);
	background: #fff;
	border-radius: clamp(24px, 5vw, 64px);
}
.p-recruit__interview .-list {
	display: flex;
	flex-direction: column;
	gap: 40px;
	width: 88.235294%;
	max-width: 320px;
	margin-inline: auto;
}
@media (min-width: 768px) {
	.p-recruit__interview .-list {
		flex-direction: row;
		justify-content: space-between;
		gap: 20px;
		width: 90.666666%;
		max-width: 964px;
	}
}
.p-recruit__interview .-list li {
	width: min(100%, 420px);
}
@media (max-width: 767px) {
	.p-recruit__interview .-list li {
		margin-inline: auto;
	}
}
.p-recruit__interview .-list li figure {
	margin-bottom: clamp(24px, 2.46vw, 32px);
	text-align: center;
	position: relative;
}
@media (min-width: 768px) {
	.p-recruit__interview .-list li figure {
		width: clamp(225px, 32.3vw, 420px);
		margin-inline: auto;
	}
}
.p-recruit__interview .-list li figcaption {
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(98px, 14.15vw, 184px);
	aspect-ratio: 1/1;
	border-radius: 50%;
	color: #fff;
	font-size: clamp(14px, 1.84vw, 2.4rem);
	font-weight: 500;
	line-height: 1.458;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
}
@media (min-width: 768px) {
	.p-recruit__interview .-list li figcaption {
		top: 26px;
		translate: -50%;
	}
}
.-domestic figcaption {
	background: #0079C3;
}
.-foreigner figcaption {
	background: #248A66;
}
.p-recruit__interview .-list li figure img {
	width: clamp(225px, 32.3vw, 420px);
}
/* BTN */
.p-recruit__interview .c-btn {
	max-width: 370px;
}
.p-recruit__interview .c-btn .c-btn__icon {
	width: 86.666666%;
}
.p-recruit__interview .c-btn .c-btn__txt {
	width: 100%;
	padding-left: 66px;
	text-align: left;
}
@media (min-width: 768px) {
	.p-recruit__interview .c-btn .c-btn__txt {
		margin-inline: auto;
		padding-left: 0;
		text-align: right;
	}
	.p-recruit__interview .-domestic .c-btn__txt,
	.p-recruit__interview .-domestic .c-btn__icon {
		width: min(85%, 300px);
	}
	.p-recruit__interview .-foreigner .c-btn__txt,
	.p-recruit__interview .-foreigner .c-btn__icon {
		width: min(90%, 320px);
	}
}
@media (any-hover: hover) {
	.p-recruit__interview .c-btn:hover .c-btn__txt {
		text-align: left;
	}
}
/* System
-----------------------------------------------*/
.p-recruit__system .c-content {
	max-width: 1076px;
}
.p-recruit__system .-list {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 50px;
	margin-bottom: var(--m80);
}
@media (min-width: 640px) {
	.p-recruit__system .-list {
		flex-direction: row;
		gap: clamp(20px, 3.84vw, 52px);
	}
}
.p-recruit__system .-list li {
	width: 82.352941%;
	max-width: 512px;
	margin-inline: auto;
}
@media (min-width: 640px) {
	.p-recruit__system .-list li {
		max-width: 100%;
	}
}
.p-recruit__system .-list li img {
	margin-bottom: var(--m40);
}
.p-recruit__system .-box {
	padding: var(--m50) 20px clamp(40px, 4.61vw, 60px);
	background: rgba(255, 255, 255, 0.9);
	border-radius: 22px;
}
.p-recruit__system .-box p {
	margin-bottom: var(--m25);
	color: var(--color-main01);
	font-size: var(--font26);
	font-weight: 500;
	text-align: center;
}
.p-recruit__system .-box ul {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 20px;
}
@media (min-width: 640px) {
	.p-recruit__system .-box ul {
		flex-direction: row;
	}
}
.p-recruit__system .-box ul li {
	width: clamp(240px, 23vw, 300px);
}
@media (max-width: 639px) {
	.p-recruit__system .-box ul li {
		margin-inline: auto;
	}
}
@media (max-width: 639px) {
	.p-recruit__system .-box ul li .c-btn__icon {
		width: 85%;
	}
	.p-recruit__system .-box ul li .c-btn__txt {
		width: 93.75%;
	}
}
/* Movie
-----------------------------------------------*/
.p-recruit__movie .c-content {
	max-width: 872px;
}
.p-recruit__movie .-layout {
	display: grid;
	gap: var(--m40);
}
@media (min-width: 640px) {
	.p-recruit__movie .-layout {
		grid-template-columns: 1fr 50%;
		justify-content: end;
	}
}
.p-recruit__movie .-layout .-cont {
	max-width: 340px;
	padding-top: var(--m35);
}
@media (min-width: 640px) {
	.p-recruit__movie .-layout .-cont {
		justify-self: end;
	}
	.p-recruit__movie .-layout .-cont .c-btn {
		margin: 0;
	}
}
.p-recruit__movie .-layout .-cont p {
	margin-inline: auto;
	margin-bottom: var(--m70);
}
@media (max-width: 639px) {
	.p-recruit__movie .-layout {
		gap: 0;
	}
	.p-recruit__movie .-layout img {
		width: min(90%, 436px);
		margin-inline: auto;
	}
	.p-recruit__movie .-layout .-cont {
		display: contents;
	}
	.p-recruit__movie .-layout .-cont .c-btn {
		order: 3;
		margin-top: 40px;
	}
}
/* Link
-----------------------------------------------*/
.p-recruit__link {
	padding: var(--m100) 0;
	background: #fff;
}
.p-recruit__link ul {
	display: grid;
	gap: var(--m40);
	width: 80%;
}
@media all and (min-width: 640px) {
	.p-recruit__link ul {
		grid-template-columns: repeat(2, 1fr);
	}
}
.p-recruit__link ul li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: clamp(80px, 13vw, 170px);
	padding: 0 clamp(24px, 4vw, 52px) 0 clamp(40px, 6.46vw, 84px);
	background: var(--color-main01);
  border: 1px solid var(--color-main01);
	border-radius: var(--m30);
	color: #fff;
	font-size: var(--font24);
	font-weight: 500;
}
.p-recruit__link ul li a::after {
	display: flex;
	align-items: center;
	justify-content: center;
	content: "\e901";
	width: clamp(32px, 4.61vw, 60px);
	height: clamp(32px, 4.61vw, 60px);
	background: #fff;
	border-radius: 50%;
	color: var(--color-main01);
	font-family: 'icomoon' !important;
	font-size: clamp(7px, 0.69vw, 9px);
}
@media (any-hover: hover) {
	.p-recruit__link ul li a:hover {
		background: #fff;
		color: var(--color-main01);
	}
	.p-recruit__link ul li a:hover::after {
		background: var(--color-main01);
		color: #fff;
	}
}
/*=============================================*/
/* Breadcrumb */
/*=============================================*/
.c-breadcrumb {
  width: 95.833333%;
  margin-inline: auto;
  margin-top: clamp(5px, 1.33vw, 16px);
}
.c-breadcrumb ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.c-breadcrumb ol li {
  display: flex;
  align-items: center;
  font-size: clamp(12px, 1.07vw, 14px);
  font-weight: 500;
}
.c-breadcrumb ol li + li::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  margin: 0 clamp(8px, 1.07vw, 14px);
  border-top: 1px solid;
  border-right: 1px solid;
  transform: rotate(45deg);
}
@media (any-hover: hover) {
  .c-breadcrumb ol li a:hover {
    color: var(--color-main01);
  }
}
/*=============================================*/
/* 採用 - L2〜 */
/*=============================================*/
.l-recruit {
	padding-bottom: var(--m120);
	background: #F8F5ED;
}
.l-recruit .c-content {
	max-width: 1440px;
}
/* L2 - Page Title
-----------------------------------------------*/
.l2-recruit__header {
	margin-bottom: var(--m55);
}
.l2-recruit__header h1 {
	margin-bottom: 15px;
	color: var(--color-main01);
	font-size: clamp(40px, 6.15vw, 8.0rem);
	font-weight: 700;
}
.l2-recruit__header h2 {
	display: grid;
	gap: var(--m20);
/*	margin-bottom: var(--m55);*/
}
@media (min-width: 640px) {
	.l2-recruit__header h2 {
		grid-template-columns: auto 1fr;
		align-items: center;
	}
}
.l2-recruit__header h2 .-ttl {
	font-size: clamp(30px, 4.61vw, 6.0rem);
	font-weight: 700;
}
.l2-recruit__header h2 .-sub {
	font-size: var(--font28);
}
/* L2 - CONTAINER
-----------------------------------------------*/
.l2-recruit__container {
	padding-bottom: var(--m120);
	position: relative;
	overflow: hidden;
}
.l2-recruit__container::before {
	content: "";
	width: 100%;
	background: #fff;
	position: absolute;
	left: 0;
	top: 12.5vw;
	bottom: 0;
}
@media (min-width: 1680px) {
	.l2-recruit__container::before {
		width: 93.48vw;
		border-radius: 0 0 var(--m60) 0;
	}
}
/* L2 - メインイメージ
-----------------------------------------------*/
.l2-recruit__img {
	width: 95.33vw;
	aspect-ratio: 357 / 120;
	margin-left: auto;
	margin-bottom: var(--m100);
	position: relative;
}
@media (min-width: 640px) {
	.l2-recruit__img {
		width: 87.5vw;
		aspect-ratio: 1680 / 482;
	}
}
.l2-recruit__img img {
	height: 100%;
	object-fit: cover;
	object-position: bottom left;
	border-radius: clamp(16px, 4.61vw, 60px) 0 0 clamp(16px, 4.61vw, 60px);
}
.c-attention {
	display: inline-block;
	padding: 5px;
	background: #FF00D5;
	color: #fff;
	font-size: clamp(10px, 1.23vw, 1.6rem);
	font-weight: 500;
	line-height: 1.3;
	position: absolute;
	right: 0;
	top: 10px;
}
/* L2 - 本文
-----------------------------------------------*/
.l2-recruit__content {
	position: relative;
}
/*=============================================*/
/* 採用 - 部署紹介 */
/*=============================================*/
.p-department__list {
	display: grid;
	gap: var(--m40);
}
@media (min-width: 640px) {
	.p-department__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
.p-department__item {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	gap: var(--m40);
	padding: var(--m40);
	background: #fff;
	border-radius: 0 0 var(--m30) var(--m30);
}
@media (min-width: 1025px) {
	.p-department__item {
		grid-template-columns: 22.9% 1fr;
		grid-row: span 2;
	}
}
.p-department__item h3 {
	padding-left: var(--m35);
	margin-bottom: 5px;
	font-size: var(--font32);
	font-weight: 700;
	position: relative;
}
@media (min-width: 1025px) {
	.p-department__item h3 {
		grid-column: 1 / 3;
	}
}
.p-department__item h3::before {
	content: "";
	width: var(--m20);
	aspect-ratio: 1 / 1;
	background: #B98C08;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: calc(1.375em / 2);
	transform: translateY(-50%);
}
.p-department__item.-shinwa h3 {
	font-size: clamp(20px, 1.84vw, 2.4rem);
}
.p-department__item.-shinwa h3 span {
	margin-left: var(--m15);
	padding: 2px 12px;
	border: 1px solid #707070;
	font-size: var(--font16);
	font-weight: 500;
	text-align: center;
	white-space: nowrap;
}
.p-department__item .-img {
	max-width: 142px;
	margin-inline: auto;
}
.p-department__item .-cont {
	align-self: start;
	padding: var(--m20) var(--m30);
	background: #FFF2CE;
	border-radius: var(--m20);
}
.p-department__item .-cont img {
	max-width: 206px;
	margin-top: var(--m20);
}
/*=============================================*/
/* 採用 - 先輩社員の声 */
/*=============================================*/
.p-interview.c-content {
	width: 90.666666%;
}
.p-interview__container {
	padding: var(--m100) 0 var(--m120);
	border-radius: var(--m60);
	background: #fff;
	position: relative;
}
@media (min-width: 768px) {
	.p-interview__container::before {
		content: "";
		height: 100%;
		background: #fff;
		border-radius: var(--m60) 0 0 var(--m60);
		position: absolute;
		left: 0;
		right: calc(50% - 50vw);
		top: 0;
	}
}
.p-interview__container .c-content {
	width: 90.666666%;
	max-width: 1130px;
}
.p-interview .-list {
	display: flex;
	flex-direction: column;
	gap: 40px;
	max-width: 320px;
	margin-inline: auto;
}
@media (min-width: 768px) {
	.p-interview .-list {
		flex-direction: row;
		justify-content: space-between;
		gap: 20px;
		max-width: 1020px;
		margin-inline: initial;
		margin-left: auto;
	}
}
.p-interview .-list li {
	width: min(100%, 420px);
}
@media (max-width: 767px) {
	.p-interview .-list li {
		margin-inline: auto;
	}
}
.p-interview .-list li figure {
	margin-bottom: clamp(24px, 2.46vw, 32px);
	text-align: center;
	position: relative;
}
@media (min-width: 768px) {
	.p-interview .-list li figure {
		width: clamp(225px, 32.3vw, 420px);
		margin-inline: auto;
	}
}
.p-interview .-list li figcaption {
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(98px, 14.15vw, 184px);
	aspect-ratio: 1/1;
	border-radius: 50%;
	color: #fff;
	font-size: clamp(14px, 1.84vw, 2.4rem);
	font-weight: 500;
	line-height: 1.458;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
}
@media (min-width: 768px) {
	.p-interview .-list li figcaption {
		top: 26px;
		translate: -50%;
	}
}
.p-interview .-list li figure img {
	width: clamp(225px, 32.3vw, 420px);
}
.p-interview .c-btn {
	max-width: 370px;
}
.p-interview .c-btn .c-btn__icon {
	width: 86.666666%;
}
.p-interview .c-btn .c-btn__txt {
	width: 100%;
	padding-left: 66px;
	text-align: left;
}
@media (min-width: 768px) {
	.p-interview .c-btn .c-btn__txt {
		margin-inline: auto;
		padding-left: 0;
		text-align: right;
	}
	.p-interview .-domestic .c-btn__txt,
	.p-interview .-domestic .c-btn__icon {
		width: min(85%, 300px);
	}
	.p-interview .-foreigner .c-btn__txt,
	.p-interview .-foreigner .c-btn__icon {
		width: min(90%, 320px);
	}
}
@media (any-hover: hover) {
	.p-interview .c-btn:hover .c-btn__txt {
		text-align: left;
	}
}
/*=============================================*/
/* 採用 - 先輩社員の声 - スタッフ */
/*=============================================*/
/* L3 - Page Title
-----------------------------------------------*/
.l3-interview__header {
	display: flex;
	align-items: center;
	width: 95.104166%;
	height: clamp(160px, 20.44vw, 368px);
	margin-left: auto;
	margin-bottom: var(--m100);
	padding: 20px var(--m60);
	border-radius: var(--m60) 0 0 var(--m60);
	color: #fff;
}
.p-domestic header {
	background: url(/assets/images/domestic/domestic_ttl.png) right top / cover #0079C3;
}
.p-foreigner header {
	background: url(/assets/images/foreigner/foreigner_ttl.png) right top / cover #248A66;
}
.l3-interview__header h1 {
	width: min(100%, 1554px);
	margin-inline: auto;
	font-weight: 700;
	line-height: 1.6;
}
.l3-interview__header h1 span {
	display: block;
}
.l3-interview__header h1 .-cate {
	color: #F3E2B4;
	font-size: var(--font20);
}
.l3-interview__header h1 .-ttl {
	color: #fff;
	font-size: clamp(28px, 3.69vw, 4.8rem);
}
/* L3 - Local Nav
-----------------------------------------------*/
.l3-interview__nav {
	max-width: 1200px;
	margin-inline: auto;
	margin-top: var(--m80);
	padding: var(--m80) 0 var(--m90);
	background: #fff;
	border-radius: var(--m30);
}
.l3-interview__nav .c-content {
	width: 80%;
	max-width: 774px;
}
@media (min-width: 640px) {
	.l3-interview__nav .c-content {
		width: 90%;
	}
}
.l3-interview__nav h2 {
	margin-bottom: clamp(15px, 1.53vw, 20px);
	font-size: var(--font32);
	font-weight: 700;
}
.l3-interview__nav ul {
	display: grid;
	gap: var(--m35);
}
@media (min-width: 640px) {
	.l3-interview__nav ul {
		grid-template-columns: repeat(2, 1fr);
	}
}
.l3-interview__nav ul li .c-btn {
	max-width: 100%
}
.l3-interview__nav ul li .c-btn .c-btn__icon {
	width: 86.666666%;
}
.l3-interview__nav ul li .c-btn .c-btn__txt {
	width: 100%;
	padding-left: 66px;
	text-align: left;
}
@media (min-width: 768px) {
	.l3-interview__nav ul li .c-btn .c-btn__txt,
	.l3-interview__nav ul li .c-btn .c-btn__icon {
		width: 81.081081%;
		margin-inline: auto;
		padding-left: 0;
		text-align: right;
	}
	.l3-interview__nav ul li .c-btn.w86 .c-btn__txt,
	.l3-interview__nav ul li .c-btn.w86 .c-btn__icon {
		width: 86.486486%;
	}
}
@media (any-hover: hover) {
	.l3-interview__nav ul li .c-btn:hover .c-btn__txt {
		text-align: left;
	}
}
/* p-staff_container
-----------------------------------------------*/
.p-staff__container {
	display: grid;
	gap: var(--m80) var(--m40);
}
@media (min-width: 768px) {
	.p-staff__container {
		grid-template-columns: repeat(2, 1fr);
	}
}
.p-staff__item {
	background: #fff;
	border: 1px solid #0079C3;
	border-radius: 0 0 var(--m30) var(--m30);
}
.p-foreigner .p-staff__item {
	border-color: #248A66;
}
.p-staff__item .-header {
	--width: 73.529411%;
	display: grid;
	background: #EFF5FB;
	border-bottom: 1px solid #0079C3;
}
.p-foreigner .p-staff__item .-header {
	background: #EFFBEF;
	border-color: #248A66;
}
@media (min-width: 1025px) {
	.p-staff__item .-header {
		grid-template-columns: 30.659025% 1fr;
	}
}
.p-staff__item .-header figure {
	width: 100%;
	position: relative;
}
@media (max-width: 1024px) {
	.p-staff__item .-header figure img {
		display: block;
		width: var(--width);
		margin: 30px auto;
	}
}
@media (min-width: 1025px) {
	.p-staff__item .-header figure img {
		height: 100%;
		object-fit: cover;
	}
}
.p-staff__item .-header figcaption {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--m20);
	width: min(90%, 178px);
	padding: 10px;
	background: #0079C3;
	border-radius: 0 18px 18px 0;
	color: #fff;
	position: absolute;
	left: 0;
	bottom: clamp(9px, 0.92vw, 12px);
}
.p-staff__item .-header figcaption.-ex {
	gap: 8px;
}
.p-foreigner .p-staff__item .-header figcaption {
	background: #248A66;
}
@media (min-width: 1025px) and (max-width: 1600px) {
	.p-staff__item .-header figcaption,
	.p-staff__item .-header figcaption.-ex {
		flex-direction: column;
		gap: 0;
	}
}
.p-staff__item .-header figcaption .-initials {
	font-size: 20px;
	font-weight: 700;
}
.p-staff__item .-header figcaption .-day {
	font-size: 16px;
	font-weight: 500;
}
.p-staff__item .-header .-prof {
	display: grid;
	gap: 10px;
}
@media (max-width: 1024px) {
	.p-staff__item .-header .-prof {
		width: var(--width);
		margin-inline: auto;
		padding-bottom: 30px;
	}
}
@media (min-width: 1025px) {
	.p-staff__item .-header .-prof {
		justify-content: space-between;
		grid-template-columns: min(46.731234%, 160px) 51%;
		padding: 0 clamp(20px, 1.88vw, 34px) 0 clamp(20px, 2.11vw, 38px);
	}
}
.p-staff__item .-header .-prof .-txt {
	padding: clamp(15px, 1.92vw, 24px) 0;
}
.p-staff__item .-header .-prof .-txt h2 {
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #0079C3;
	color: #0079C3;
	font-weight: 700;
	line-height: 1.5;
}
.p-foreigner .p-staff__item .-header .-prof .-txt h2 {
	border-color: #248A66;
	color: #248A66;
}
.p-staff__item .-header .-prof .-txt p {
	font-size: 1.4rem;
	line-height: 1.57;
}
.p-staff__item .-header .-prof .-txt ul {
	font-size: 1.4rem;
	line-height: 1.57;
}
.p-staff__item .-header .-img {
	align-self: center;
	border-radius: 14px;
}
.p-domestic__list {
	padding: var(--m40) clamp(20px, 3.33vw, 60px);
	line-height: 2;
}
.p-domestic__list div {
	padding: clamp(15px, 1.92vw, 24px) 0;
	border-bottom: 1px dashed #C1C0C0;
}
.p-domestic__list div:first-child {
	padding-top: 0;
}
.p-domestic__list div:last-child {
	padding-bottom: 0;
	border: 0;
}
.p-domestic__list dt {
	margin-bottom: 20px;
	color: #0079C3;
	font-size: var(--font18);
	font-weight: 500;
}
.p-foreigner .p-domestic__list dt {
	color: #248A66;
}
.p-domestic__list dt,
.p-domestic__list dd {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.p-domestic__list .-ico {
	flex-shrink: 0;
	width: 30px;
	position: relative;
	top: calc(2em / 2);
	transform: translateY(-50%);
	font-size: var(--font18);
}
.p-domestic__list dt .-ico {
	font-size: var(--font18);
}
.p-domestic__list dd .-ico {
	font-size: 1.6rem;
}
/*=============================================*/
/* 採用 - 人材育成 */
/*=============================================*/
.p-training .-lead {
	margin-bottom: var(--m70);
	font-size: var(--font24);
	font-weight: 500;
}
/* 共通セクション
-----------------------------------------------*/
.p-training__sec {
	margin-bottom: var(--m80);
	padding: var(--m80) 0 var(--m30);
	background: #F9F9F9;
	border-radius: var(--m30);
}
.p-training__sec .c-content {
	max-width: 1280px;
}
.p-training__sec .-att {
	margin-top: var(--m20);
}
/* 充実した教育サポート体制
-----------------------------------------------*/
.p-training__support__list {
	display: grid;
	gap: var(--m40);
}
@media (min-width: 640px) {
	.p-training__support__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1025px) {
	.p-training__support__list {
		grid-template-columns: repeat(4, 1fr);
	}
}
.p-training__support__list .-item {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	gap: var(--m25);
	padding: clamp(20px, 3.23vw, 42px) var(--m35);
	background: #fff;
}
.p-training__support__list .-item h3 {
/*	margin-bottom: var(--m20);*/
	font-size: var(--font24);
	font-weight: 700;
	text-align: center;
}
.p-training__support__list .-item img {
	width: auto;
	max-height: 88px;
	margin-inline: auto;
}
.p-training__support__list .-item p {
	line-height: 1.75;
}
/* 研修プログラムの流れ
-----------------------------------------------*/
.p-training__program__item {
	padding: var(--m40) 0;
	background: #fff;
}
.p-training__program__item .c-content {
	display: grid;
	max-width: 884px;
}
@media (min-width: 640px) {
	.p-training__program__item .c-content {
		grid-template-columns: 58.823529% 33.484162%;
		justify-content: space-between;
		gap: 20px;
	}
}
.p-training__program__item .-ttl {
	display: flex;
	gap: var(--m30);
	margin-bottom: var(--m25);
	font-size: var(--font24);
	font-weight: 700;
}
.p-training__program__item .-ttl .-step {
	width: 140px;
	padding: 13px;
	background: #B98C08;
	color: #fff;
	line-height: 1;
	text-align: center;
}
.p-training__program__item .-ttl .-txt {
	align-self: center;
}
.p-training__program .-arrow {
	width: 40px;
	height: 20px;
	margin: 24px auto;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	background: #B98C08;
}
/* 先輩社員の声
-----------------------------------------------*/
.p-training__voice {
	padding-bottom: var(--m100);
}
.p-training__voice__list {
	display: grid;
	gap: clamp(20px, 2.61vw, 34px);
}
@media (min-width: 640px) {
	.p-training__voice__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
.p-training__voice__list > li {
	padding: var(--m40) 0 var(--m60);
	background: #fff;
	border-radius: var(--m30);
}
.p-training__voice__list li .c-content {
	max-width: 480px;
}
.p-training__voice__list li .-prof {
	display: grid;
	gap: var(--m35);
	margin-bottom: clamp(15px, 1.69vw, 22px);
}
@media (min-width: 1025px) {
	.p-training__voice__list li .-prof {
		grid-template-columns: 28.333333% 1fr;
	}
}
.p-training__voice__list li .-prof img {
	width: min(100%, 136px);
	margin-inline: auto;
}
.p-training__voice__list li .-prof ul {
	display: grid;
	gap: 5px;
	font-weight: 500;
	line-height: 1.5;
}
.p-training__voice__list li .-prof ul .-name {
	font-size: var(--font24);
}
.p-training__voice__list .-highlight {
	margin-bottom: var(--m35);
	padding: 12px;
	background: #B98C08;
	border-radius: 6px;
	color: #fff;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}
/*=============================================*/
/* 採用 - 社内風景 */
/*=============================================*/
.p-movie .c-content {
	max-width: 1200px;
}
.p-movie__list {
	display: grid;
	gap: var(--m80) clamp(35px, 5.76vw, 76px);
}
@media (min-width: 640px) {
	.p-movie__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
.p-movie__list h3 {
	display: flex;
	gap: var(--m20);
	margin-bottom: var(--m30);
	font-size: var(--font32);
	font-weight: 700;
	line-height: 1.25;
}
.p-movie__list h3::before {
	flex-shrink: 0;
	content: "";s
	width: clamp(4px, 0.46vw, 6px);
	background: #B98C08;
}
.p-movie__list iframe {
	width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
/*=============================================*/
/* 採用 - 福利厚生 */
/*=============================================*/
.p-benefit .c-ttl {
	margin-bottom: var(--m45);
}
.p-benefit__item {
	display: grid;
	gap: var(--m40);
	margin-bottom: var(--m40);
	padding: var(--m40);
	border: 3px solid #E8E8E8;
	border-radius: var(--m30);
}
@media (min-width: 640px) {
	.p-benefit__item {
		grid-template-columns: 26.484375% 1fr;
		gap: var(--m60);
		padding: var(--m60);
	}
}
@media (min-width: 1025px) {
	.p-benefit__item {
		gap: var(--m80);
		padding: var(--m80);
	}
}
.p-benefit__item h4 {
	display: grid;
	gap: var(--m20);
	margin-bottom: var(--m35);
}
@media (min-width: 1025px) {
	.p-benefit__item h4 {
		display: flex;
		align-items: baseline;
	}
}
.p-benefit__item h4 .-ttl {
	font-size: var(--font32);
	font-weight: 700;
}
.p-benefit__item h4 .-sub {
	color: #B98C08;
	font-size: var(--font20);
	font-weight: 400;
}
.p-benefit .c-box__yellow {
	margin-top: var(--m80);
}
.p-benefit .c-box__yellow p {
	max-width: 1150px;
	margin-inline: auto;
}
/*=============================================*/
/* 採用 - 募集職種 */
/*=============================================*/
.p-job__list {
	display: grid;
	gap: var(--m40);
}
.p-job__list__item {
	background: #F9F9F9;
	border: 1px solid #004A8F;
}
.p-job__list__item dt {
	padding: clamp(20px, 3.23vw, 42px) clamp(20px, 4.61vw, 60px);
	padding-right: 40px;
	background: #fff;
	font-size: var(--font24);
	font-weight: 700;
	line-height: 1.5;
}
.p-job__list__item dd {
	display: grid;
	gap: var(--m60);
	width: min(93%, 1200px);
	margin: var(--m60) auto;
	padding: var(--m40) var(--m60);
	background: #fff;
	border-radius: var(--m30);
}
@media (min-width: 640px) {
	.p-job__list__item dd {
		grid-template-columns: 1fr 31.851851%;
	}
}
.p-job__list__item h3 {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 10px;
	font-size: var(--font20);
}
.p-job__list__item h3::before {
	content: "";
	width: 12px;
	height: 12px;
	background: #333;
}
/*=============================================*/
/* 採用 - よくある質問 */
/*=============================================*/
.p-faq__list {
	display: grid;
	gap: var(--m40);
}
.p-faq__list__item {
	border: 1px solid #004A8F;
}
.p-faq__list__item dt,
.p-faq__list__item dd {
	display: flex;
	align-items: flex-start;
	gap: var(--m25);
	padding: var(--m30);
}
.p-faq__list__item .-ico {
	flex-shrink: 0;
	width: var(--m60);
}
.p-faq__list__item dt {
	padding-right: clamp(40px, 4.61vw, 60px);
	font-size: var(--font24);
	font-weight: 700;
}
.p-faq__list__item dt::before,
.p-faq__list__item dt::after {
	right: clamp(15px, 3.23vw, 42px);
}
.p-faq__list__item dt p {
	align-self: center;
	line-height: 1.75;
}
.p-faq__list__item dd {
	padding-bottom: var(--m55);
	background: #F9F9F9;
	line-height: 2.0;
}
.p-faq__list__item dd p {
	max-width: 1000px;
	margin-top: calc(var(--m30) - 1em);
}