@charset "utf-8";
:root {
	--c_bk:#000000;
	--c_wh:#ffffff;
	--c_gy:#F6F6F6;
	--c_bl:#009CFF;
	--c_db:#062E78;
	--c_aq:#00E5FF;
	--c_b2:#0047D9;
	--c_b3:#28C6FF;
	--cbb :cubic-bezier(.68,.03,.31,.94)
}
.clr-bk {color: var(--c_bk)!important;}
.clr-wh {color: var(--c_wh)!important;}
.clr-gy {color: var(--c_gy)!important;}
.clr-bl {color: var(--c_bl)!important;}
.clr-db {color: var(--c_db)!important;}
.clr-aq {color: var(--c_aq)!important;}
.clr-b2 {color: var(--c_b2)!important;}
.clr-b3 {color: var(--c_b3)!important;}
.bg-bk {background-color: var(--c_bk)!important;}
.bg-wh {background-color: var(--c_wh)!important;}
.bg-gy {background-color: var(--c_gy)!important;}
.bg-bl {background-color: var(--c_bl)!important;}
.bg-db {background-color: var(--c_db)!important;}
.bg-aq {background-color: var(--c_aq)!important;}
.bg-b2 {background-color: var(--c_b2)!important;}
.bg-b3 {background-color: var(--c_b3)!important;}

.fo-arial,.eng,.btn {
	font-family: "arial", sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1;
}

.ttlBox {
	text-align: left;
	font-weight: 500;
	margin-bottom: 6rem;
}
.ttlBox h2 {
	font-size: 7rem;
	margin-bottom: 0.5rem;
}
.ttlBox h2.sm {
	font-size: 4rem;
	margin-bottom: 0.2rem;
}
.btnBox {
	margin-top: 3rem;
}
.btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: .7rem;
	position: relative;
	min-width: 18rem;
	font-size: 1.6rem;
	font-weight: 400;
	text-align: center;
	color: #fff;
	line-height: .8;
	border-radius: 10rem;
	padding: 1.5rem 2rem;
	background: var(--c_db);
	border: 1px solid var(--c_db);
	transition: .4s;
}
.btn.jp {
	font-family: 'Noto Sans JP', sans-serif ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
}
.btn:hover {
	background: #4d4d4d;
	border-color: #4d4d4d;
}
.arw {
	position: relative;
	display: inline-block;
	background: #8296BB;
	border-radius: 50%;
	width: 1.3rem;
	aspect-ratio: 1;
	margin-left: 0.4rem;
	transition: .4s;
}
.arw::after {
	content: "";
	display: block;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: contain;
	width: 1.4rem;
	aspect-ratio: 1/0.2;
	position: absolute;
	left: -.4rem;
	top: 47%;
	transform: translateY(-50%);
}
.btn:hover .arw {
	transform: translateX(.5rem);
}
.btn._wh {
	background-color: #fff;
	border-color: #0051FF;
	color: #0051FF;
}
.btn._wh .arw {
	background-color: #CCDCFF;
}
.btn._wh .arw::after {
	background-image: url(../img/arrow_db.svg);
}
.btn._wh:hover {
	background: var(--c_bl);
	color: #fff;
	border-color: var(--c_bl);
}
.btn._tr {
	background: transparent;
	border-color: #fff;
}
.btn._tr .arw {
	background-color: rgba(255,255,255,.5);
}
.btn._tr .arw::after {
	background-image: url(../img/arrow_wh.svg);
}
.btn._tr:hover {
	background: var(--c_db);
	border-color: var(--c_db);
}
.btn._bl {
	background-color: var(--c_bl);
}
.btn._bl .arw {
	background-color: rgba(255,255,255,.5);
}
.btn._bl:hover {
	background: var(--c_db);
	border-color: var(--c_db);
}
h3 {
	font-size: 4.2rem;
	font-weight: 400;
	text-align: left;
	margin-bottom: 6rem;
}


/*header
---------------------------------------------------------*/
#header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 990;
	transition: .4s;
}
#header.act {
	background: var(--c_bk);
	box-shadow: 0 0 .5rem rgba(0,0,0,.2);
}
.hWrap {
	padding: 1rem 3rem;
	text-align: left;
}
.hLogo img {
	max-height: 4.6rem;
}
.hNav {
	gap: 1rem 3.5rem;
}
.hNav a {
	color: #fff;
	font-size: 1.8rem;
	display: inline-block;
	position: relative;
	line-height: 1.1;
	z-index: 1;
}
.hNav li:not(.hBtn) a::before {
	content: "";
	display: block;
	background: var(--c_bl);
	position: absolute;
	left: 0;
	right: 0;
	bottom: -.5rem;
	height: 0.2rem;
	z-index: -1;
	clip-path: inset(0 100% 0 0);
	transition: .2s ease-in;
}
.hNav li:not(.hBtn) a:hover::before {
	clip-path: inset(0 0 0 0);
}
.hNav a.blank::after {
	width: 1.3rem;
}
.hBtn a {
	border: .2rem solid #fff;
	padding: .8rem;
	width: 16rem;
	text-align: center;
	line-height: 1.2;
}
.hBtn._02 a {
	border-color: #000;
	background: #000;
	margin-left: -2rem;
}
.act .hBtn._02 a {
	border-color: var(--c_db);
	background: var(--c_db);
}
.hBtn a:hover {
	background: var(--c_bl)!important;
	border-color: var(--c_bl)!important;
}
.spLogo,
.menuIconWrap {
	display: none;
}

/*footer
---------------------------------------------------------*/
/*recrutBnr*/
.recrutBnrArea {
	padding: 8rem 0;
}
.recruitBnrWrap {
	position: relative;
	display: block;
}
.recruitBnrBox {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 1;
	padding: 12rem 66rem 17rem 9rem;
	color: #fff;
	background: url(../img/recruit_bg.jpg) center center no-repeat;
	background-size: cover;
	overflow: hidden;
	border-radius: 10rem 10rem 10rem 0;
	text-align: left;
}
.recruitBnrWrap:hover img {
	opacity: 1;
}
.recruitBnrImg {
	position: absolute;
	top: 0;
	right: 6rem;
	bottom: 0;
	width: 58rem;
	gap: 2rem;
	overflow: hidden;
}
.recruitBnrImg ul {
  animation: scroll-up 35s linear infinite;
}
.recruitBnrImg ul._02 {
	animation-direction:reverse;
}
@keyframes scroll-up {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-200%);
  }
}
@keyframes scroll-up-x {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateX(-200%);
	}
}
.recruitBnrImg li {
	border-radius: 2rem;
	overflow: hidden;
	width: 100%;
	margin: 2rem 0;
}
.recruitBnrCont .txt {
	font-weight: 600;
}
.recruitBnrWrap figure {
	position: absolute;
	z-index: 1;
}
.recruitBnrWrap .ilst01 {
	top: -7rem;
	left: 15rem;
	max-width: 12.8rem;
}
.recruitBnrWrap .ilst02 {
	bottom: 0;
	left: 9rem;
	max-width: 21.5rem;
}
/*fContact*/
.fContactArea {
	background: url(../img/contact_bg.jpg) center center no-repeat;
	background-size: cover;
	padding: 20rem 0;
	color: #fff;
	height: 70rem;
}
.fContactWrap {
	position: relative;
}
.fContactWrap .ttlBox {
	margin-bottom: 9rem;
}
.linkNav {
	width: 34rem;
	font-size: 2rem;
}
.linkNav .btn {
	padding: 0;
	border: none;
	min-width: auto;
}
.linkNav .btn:hover {
	background: transparent;
}
.linkNav a {
	display: flex;
	justify-content: space-between;
	padding: 2rem 0;
	color: #fff;
	border-bottom: 1px solid #fff;
}
.linkNav a:hover {
	padding-left: .5em;
	color: var(--c_bl);
}
.contactEng {
	position: absolute;
	right: 0;
	bottom: -2rem;
	max-width: 61.6rem;
	transition: .8s .8s var(--cbb);
	clip-path: inset(0 100% 0 0);
}
.contactEng.act {
	clip-path: inset(0 0 0 0);
}
/*footer*/
#footer {
	background: #000 url(../img/footer_bg.jpg) center center no-repeat;
	background-size: cover;
	color: #fff;
}
.fArea {
	padding: 8rem 0 15rem;
	color: #fff;
	text-align: left;
}
.fLogo {
	max-width: 44.1rem;
	margin-bottom: 0.5rem;
}
.fLft address {
	font-size: 1.4rem;
}
.fLink a {
	display: inline-block;
	margin-top: 2rem;
	color: #fff;
	font-size: 1.2rem;
}
.fLink a:hover {
	color: var(--c_aq);
}
.fLft address,.fLink {
	padding-left: 8.1rem;
}
.fNav {
	gap: 0 11rem;
	margin-bottom: 8rem;
}
.fRht a {
	color: #fff;
	display: flex;
	align-items: center;
	gap: 1rem;
}
.fRht a .arw {
	background: #4d4d4d;
	width: 1.5rem;
	margin-left: .5rem;
}
.fRht a .arw::after {
	width: 1.5rem;
	left: -.5rem;
}
.fNav a:hover {
	color: var(--c_aq);
}
.fNav dt {
	font-size: 1.4rem;
	margin-bottom: 2rem;
}
.fNav li + li {
	margin-top: 2rem;
}
.fBtn {
	gap: 1rem 2rem;
}
.fBtn a {
	justify-content: center;
	width: 25rem;
	height: 6.4rem;
	border: 1px solid #fff;
	background: #fff;
	color: #000;
	text-align: center;
}
.fBtn ._02 a {
	background: #000;
	color: #fff;
}
.fBtn ._01 a .arw {
	background: #ccc;
}
.fBtn ._01 a .arw::after {
	background-image: url(../img/arrow.svg);
}
.fBtn a:hover {
	background: var(--c_db);
	color: #fff;
	border-color: var(--c_db);
}

/*top
---------------------------------------------------------*/
.mainArea {
	position: relative;
	overflow: hidden;
	height: 81.5rem;
	z-index: 1;
	transition: .8s;
}
@media screen and (max-width: 1500px) {
	.mainArea {
		height: 55.729vw;
	}
}
.mainWrap {
	position: relative;
	z-index: 1;
	height: 100%;
	width: 90%;
	max-width: 110rem;
	margin: 0 auto;
}
.mainBg,.mainBg li {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	height: 100%;
	overflow: hidden;
	z-index: -10;
}
.mainSliderArea {
	height: 100%;
}
.mainBg li {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
	opacity: 0;
	transition: 2s;
}
.mainBg li.act {
	opacity: 1;
}
.mainBg li.hid {
	opacity: 0
}
.mainBg li img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.1);
	transition: 4s ease-out;
}
.mainBg li.act img {
	transform: scale(1);
}
.mainTtl {
	position: absolute;
	left: 0;
	bottom: 6rem;
	z-index: 1;
	text-align: left;
	color: #fff;
}
.mainTtl .eng {
	font-size: 9rem;
	margin-bottom: 2rem;
}
.mainTtl h1 {
	font-size: 4rem;
	font-weight: 500;
}
.topMessageWrap {
	gap: 0 7rem;
}
.topMessageWrap .img {
	flex: 1;
	height: 50rem;
	position: relative;
	overflow: hidden;
	margin-right: calc(-50vw + 50%);
}
.topMessageWrap .img img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.topMessage {
	width: 40rem;
	text-align: left;
}
#topAbout {
	background: url(../img/top/about_bg.jpg) center center no-repeat;
	background-size: cover;
	color: #fff;
}
#topAbout h3 {
	font-size: 3.6rem;
}
.topAboutWrap {
	gap: 0 10rem;
}
.topAboutImg {
	flex: 1;
	margin-right: calc(-50vw + 50%);
	position: relative;
	height: 50rem;
}
.topAboutImg .img {
	overflow: hidden;
	height: 100%;
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	transition: 1s;
	opacity: 0;
}
.topAboutImg .img.act {
	opacity: 1;
}
.topAboutImg .img img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.topAbout {
	width: 52rem;
	text-align: left;
}
.aboutNav {
	width: 100%;
	max-width: 43.5rem;
	margin-top: 4rem;
}
.topTtlWrap {
	text-align: left;
	margin-bottom: 8rem;
	padding-top: 1.5rem;
}
.topTtlWrap .ttlBox {
	margin-top: -1.5rem;
	margin-bottom: 0;
}
.topTtlWrap .btnBox {
	margin-top: 0;
}
.worksNav {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap:1rem;
}
.worksNav li {
	height: 58rem;
	position: relative;
	background: rgba(0,0,0,.5);
	background-blend-mode: multiply;
	transition: .4s;
}
.worksNav li:hover {
	background: rgba(0,0,0,.2);
	text-shadow: 0 0 1rem rgba(0,0,0,.5);
}
.worksNav li .img {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	overflow: hidden;
	z-index: -1;
}
.worksNav li .img img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
	transition: 1s;
}
.worksNav li a:hover .img img {
	opacity: 1;
	transform: scale(1.1);
}
.worksNav li a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 100%;
	padding: 1rem 4.5rem;
	color: #fff;
}
.worksBox h3,
.worksBox .txt {
	display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-clamp: 2;
  -webkit-line-clamp: 2;
}
.worksBox h3 {
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 2rem;
	min-height: 5.7rem;
}
.worksBox {
	text-align: left;
}
.worksBox .txt {
	min-height: 5.2rem;
}
.worksBtm {
	margin-top: 1.5rem;
	border-top: 1px solid #fff;
}
.worksBtm span:not(:first-of-type)::before {
	content: "｜";
}
.worksBox .btnBox {
	text-align: center;
	margin-top: 6rem;
}

/*subPage-common
---------------------------------------------------------*/
.pageTtlArea {
	position: relative;
	z-index: 1;
	height: 38rem;
}
.pageTtlArea > figure {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	overflow: hidden;
	z-index: -50;
}
.pageTtlArea > figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
}
.pageTtl {
	width: 90%;
	height: 100%;
	max-width: 110rem;
	margin: 0 auto;
	text-align: left;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
.pageTtl h1 {
	font-size: 8rem;
}


/*about
---------------------------------------------------------*/
.aboutTopWrap {
	gap: 0 8rem;
}
.aboutTopWrap .img {
	flex: 1;
	height: 50rem;
	position: relative;
	overflow: hidden;
	margin-right: calc(-50vw + 50%);
}
.aboutTopWrap .img img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.aboutTopWrap .box {
	width: 47rem;
	text-align: left;
}
.aboutTopWrap .ttlBox {
	margin-bottom: 6rem;
}
#businessContents {
	padding: 0;
}
.bizArea {
	padding: 8rem 0;
	background: url(../img/about/business_bg01.jpg) center center no-repeat;
	background-size: cover;
	color: #fff;
}
.bizArea:nth-of-type(even) {
	margin: 6rem 0;
	background: #fff;
	color: #000;
}
#biz03 {
	background-image: url(../img/about/business_bg02.jpg);
}
.bizTtl {
	margin-bottom: 9rem;
}
.bizTtl .num {
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	border-right: .3rem solid #fff;
	padding-right: 3rem;
	margin-right: 5rem;
}
.bizTtl .num strong {
	display: block;
	font-size: 450%;
}
.bizTtl h3 {
	white-space: nowrap;
	margin-bottom: 0;
}
@media screen and (max-width: 1250px) {
	.bizTtl h3 {
		white-space: normal;
	}
}
.bizBox {
	width: 50%;
	padding: 0 6rem;
	text-align: left;
}
.bizBox h4 {
	font-size: 4.2rem;
	margin-bottom: 5rem;
	font-weight: 400;
}
.bizBox h4 small {
	font-size: 62%;
	display: block;
}
.bizWrap .img {
	flex: 1;
	height: 50rem;
	position: relative;
	overflow: hidden;
	margin-left: calc(-50vw + 50%);
}
.bizWrap .img img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.bizArea:nth-of-type(even) .bizTtl .num {
	border-color: #000;
}
.bizArea:nth-of-type(even) .bizWrap {
	flex-direction: row-reverse;
}
.bizArea:nth-of-type(even) .bizWrap .img {
	margin-left: 0;
	margin-right: calc(-50vw + 50%);
}
#value {
	overflow: visible;
}
.valueWrap {
	gap: 0 10rem;
}
.valueNav {
	width: 26rem;
}
.valueNav .box {
	display: block;
	position: sticky;
	top: 7rem;
	text-align: left;
}
.valueNav a {
	display: block;
	position: relative;
	font-size: 1.8rem;
	line-height: 1.4;
	border-bottom: 1px solid #e6e6e6;
	padding: 1.5rem 3rem 1.5rem 0;
}
.valueNav a::after {
	content: "";
	display: block;
	width: 2rem;
	aspect-ratio: 1;
	position: absolute;
	top: 50%;
	right: 0;
	border-radius: 50%;
	background: var(--c_db) url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 40% auto;
	transform: translateY(-50%) rotate(90deg);
	z-index: 1;
	transition: .2s;
}
.valueNav a:hover {
	color: var(--c_bl);
}
.valueNav a:hover::after {
	background-color: var(--c_bl);
}
.valueBox {
	flex: 1;
	text-align: left;
	padding-top: 15rem;
}
.valueBox .img {
	margin-bottom: 3rem;
}
.valueBox .num {
	display: flex;
	align-items: center;
	color: var(--c_db);
}
.valueBox .num strong {
	font-size: 112.5%;
}
.valueBox h3 {
	font-size: 2.8rem;
	margin-bottom: 2rem;
}
.valueBox dl + dl {
	padding-top: 5rem;
	margin-top: 5rem;
	border-top: 1px solid #e6e6e6;
}
.lity-close {
	position: absolute;
	background: url(../img/close.svg) center center no-repeat;
	background-size: contain;
	width: 3.3rem;
	aspect-ratio: 1;
	cursor: pointer;
	right: 0;
	top: -4rem;
}
.popupArea {
	background: #fff;
	padding: 3rem;
}

/*company
---------------------------------------------------------*/
#message .ttlBox {
	margin-bottom: -1rem;
}
.messageWrap {
	gap: 0 4rem;
	margin-bottom: 5rem;
}
.messageWrap .img {
	flex: 1;
	height: 45rem;
	position: relative;
	overflow: hidden;
	margin-right: calc(-50vw + 50%);
}
.messageWrap .img img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.messageWrap h3 {
	width: 57rem;
	font-feature-settings: "palt";
	text-align: left;
	line-height: 1.6;
	letter-spacing: 0.05em;
	white-space: nowrap;
}
.president {
	font-size: 2.4rem;
	gap: 1.5rem;
	margin-top: 3rem;
}
.companyWrap {
	gap: 8rem;
}
.companyWrap .img {
	width: 50%;
	gap: 0 2.5rem;
}
.companyWrap .img li + li {
	margin-top: 6.6rem;
}
.companyBox {
	flex: 1;
	text-align: left;
}
.companyWrap h3 {
	margin-bottom: 1rem;
}
#vision .companyWrap {
	flex-direction: row-reverse;
}
#purpose {
	overflow: visible;
}
.purposeWrap {
	gap: 3rem;
}
.purposeTtl {
	width: 35rem;
}
.purposeTtl .box {
	display: block;
	position: sticky;
	top: 7rem;
	text-align: left;
}
.purposeTtl h3 {
	font-size: 3.2rem;
	font-weight: 500;
	margin-bottom: 1rem;
}
.purposeTtl .txt {
	max-width: 24rem;
}
.purposeCont {
	flex: 1;
	text-align: left;
}
.purposeCont .img {
	position: relative;
	margin-bottom: 1rem;
}
.purposeCont .img .num {
	position: absolute;
	bottom: 1rem;
	right: 2rem;
	z-index: 1;
}
.purposeCont .img .eng {
	font-size: 4.8rem;
	-webkit-text-stroke: 1px #fff;
	color: transparent;
}
.purposeCont .img .num img {
	position: absolute;
	left: -1rem;
	top: -2.5rem;
	max-height: 3.7rem;
}
.purposeCont h4 {
	font-size: 3.2rem;
	font-weight: 500;
	margin-bottom: 1rem;
}
.purposeCont dl + dl {
	margin-top: 8rem;
}
.overviewTtlArea {
	background: url(../img/company/overview_ttl_bg.jpg) center center no-repeat;
	background-size: cover;
	color: #fff;
	height: 30rem;
	display: flex;
	align-items: center;
	margin-bottom: 6rem;
}
.overviewTtlArea .ttlBox {
	margin-bottom: 0;
}
.overviewCont {
	display: grid;
	grid-template-columns: 23.5rem 1fr;
	margin-bottom: 6rem;
	border-bottom: 1px solid #d9d9d9;
}
.overviewCont dt,.overviewCont dd {
	text-align: left;
	padding: 2rem 4rem;
	border-top: 1px solid #d9d9d9;
}
.overviewCont dt {
	background: var(--c_gy);
	text-align: center;
}
.overviewBtm {
	display: grid;
	gap: 2rem;
	grid-template-columns: 46.5rem 1fr;
}
.gmap iframe {
	width: 100%;
	height: 100%;
}

/*form
---------------------------------------------------------*/
.formSec .container {
	max-width: 85rem;
}
.formTxt {
	text-align: center;
	margin-bottom: 4rem;
}
.formWrap {
	text-align: left;
}
.formBox dt::before {
	content: "任意";
	font-size: 85%;
	font-weight: 400;
	padding: .5rem 1rem;
	border-radius: .5rem;
	display: inline-block;
	background: var(--c_gy);
	line-height: 1;
	margin-right: 1rem;
}
.formBox dt.req::before {
	content: "必須";
	color: #fff;
	background: #E22222
}
.formBox dt {
	margin-bottom: 1.5rem;
}
.formBox dt:not(:first-of-type) {
	margin-top: 5rem;
}
.formName > .txt {
	width: 40%;
	display: flex;
	align-items: center;
}
.formName > .txt:first-of-type {
	margin-right: 2%;
}
.formName .txt span {
	display: block;
	white-space: nowrap;
	margin-right: 1rem;
}
.form-address p {
	text-align: left;
	padding: 5px 0;
}
.formBox .note {
	color: #a1a1a1;
	margin-top: 0.5rem;
	line-height: 1.2;
}
.formBox input[type="text"],.formBox input[type="tel"],.formBox input[type="email"],.formBox select,.formBox textarea {
	width: 100%;
	padding: 1.4rem .575em;
	border: 1px solid #ccc;
	border-radius: 3px;
	background: var(--c_gy);
}
.formBox input:not(:placeholder-shown),.formBox textarea:not(:placeholder-shown) {
	background: #fff;
}
.formBox input[type="text"].size-s {
	max-width: 21rem;
}
.formBox label {
	margin: 0;
}
.radioWrap {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 3rem;
}
.formBox select {
	width: auto;
	background: #fff;
	color: #000
}
.formBox option:first-of-type {
	background: #b3b3b3;
	color: #fff;
}
.formBox textarea {
	height: 19rem;
}
.formBox .disabled input {
	pointer-events: none;
	border: none;
}
.zipBtn {
	background: #666;
	color: #fff;
	margin-left: 1rem;
	border: none;
	padding: .8rem 2rem;
	cursor: pointer;
	line-height: 1.1;
}
.zipBtn:hover {
	background: #ccc
}
.policyTxt a {
	text-decoration: underline;
	display: inline-block;
	color: var(--c_bl);
	margin-bottom: 2rem;
}
.policyTxt a:hover {
	color: var(--c_gy2);
	text-decoration: none;
}
.policyCheck {
	margin-top: 5rem;
	text-align: center;
}
.formBtn {
	margin-top: 5rem;
	gap: 2rem
}
.mw_wp_form_confirm button.button._grey {
	display: block!important;
}
.formWrap input[type="submit"],.formWrap input[type="button"],.formWrap button.button._grey {
	font-family: 'Noto Sans JP', sans-serif ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
	color: #fff;
	font-size: 115%;
	letter-spacing: .075em;
	text-indent: .075em;
	background: var(--c_db) url(../img/contact/arw.svg) right 4rem center no-repeat;
	background-size: 1.6rem auto;
	min-width: 35rem;
	display: block;
	border: none;
	border-radius: 10rem;
	padding: 2rem 2rem;
	transition: .2s;
	cursor: pointer;
}
.formWrap input[type="submit"]._green {
	background: #00b4a0;
}
.formWrap input[type="submit"].btn_back,
.formWrap button.button._grey {
	background: #ddd;
	color: #333;
}
.formWrap input[type="submit"]:hover,.formWrap input[type="button"]:hover,.formWrap button.button._grey:hover {
	opacity: .7;
}
.onlyconf,button.button._grey {
	display: none;
}
.mw_wp_form_confirm button.button._grey,
.mw_wp_form_confirm .onlyconf,
#confirm .onlyconf {
	display: block!important;
}
.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0!important;
}
.mw_wp_form_confirm .privacyBox,
.mw_wp_form_confirm .formBox dt::before,
.mw_wp_form_confirm .zipBtn,
.mw_wp_form_confirm .formName .txt span,
.mw_wp_form_confirm .policyTxt {
	display: none!important;
}
.mw_wp_form_confirm .formName > .txt {
	width: auto;
}
.mw_wp_form .error {
	display: block;
	width: 100%;
}
.mw_wp_form .error {
	font-size: 85%!important;
}
.formName .error {
	min-width: 50%;
}
.formName .error + .error {
	display: none;
}

.thxBox {
	font-size: 87.5%;
	padding: 5rem 1.5rem;
	border: 1px solid #999;
}
.thxBox .ttl {
	font-size: 125%;
	margin-bottom: 3rem;
}

/*privacy
---------------------------------------------------------*/
.policy {
	text-align: left;
}
.policy h2 {
	font-size: 2rem;
	font-weight: 700;
	color: var(--c_bl);
	margin: 5rem 0 1rem;
}

/*works
---------------------------------------------------------*/
#worksList h2 {
	opacity: 0;
	height: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	z-index: -999;
}
.worksList {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 6rem 4rem;
	text-align: left;
}
.thumb {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4/3;
	margin-bottom: 1rem;
}
.thumb img {
	opacity: 1!important;
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
	transition: .4s;
}
.thumb:hover img {
	transform: scale(1.1);
}
.worksList .worksBtm {
	border-top-color: #000;
}
.worksList .worksBox a:hover {
	color: var(--c_bl);
}
.worksList .worksBox h3 {
	min-height: auto;
}
.pager {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	width: 100%;
	text-align: center;
	margin-top: 6rem;
}
.pager span, .pager a {
	display: inline-block;
	padding: .3rem 1rem;
	margin: .2rem;
	transition: .1s;
}
.pager .next,.pager .prev {
	border: none;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.pager .current {
	background: var(--c_bl);
	color: #fff;
}
span.page-numbers.dots {
	border: none;
	padding: 0;
}
.page-numbers.next,.page-numbers.prev {
	width: 3rem;
	background: url(../img/arrow.svg) center center no-repeat;
	background-size: 60% auto;
}
.page-numbers.prev {
	transform: scale(-1,1);
}
/*detail*/
.worksDetail {
	max-width: 90rem;
	text-align: left;
}
.postImg {
	text-align: center;
	margin-bottom: 5rem;
}
.worksheader {
	margin-bottom: 4rem;
}
.worksheader h2,.worksheader .worksBtm,.worksContents {
	padding-inline: 2rem;
}
.worksheader h2 {
	font-size: 2.4rem;
	font-weight: 500;
}
.worksheader .worksBtm {
	padding-top: 1rem;
	border-top-color: #000;
}
.pageSet {
	padding-top: 4rem;
	margin-top: 4rem;
	gap: 1rem 3rem;
	text-align: center;
	border-top: 1px solid #000;
}
.postBack a {
	display: block;
	background: var(--c_bl);
	color: #fff;
	width: 15rem;
	line-height: 1.2;
	padding: 1rem;
}
.postBack a:hover {
	background: #000;
}
.pageSetDmmy {
	width: 3.475em;
	visibility: hidden;
}
.postNav {
	display: flex;
	align-items: center;
	gap: .5rem;
	line-height: 1.1;
}
.postNav::after {
	content: "";
	display: block;
	background: url(../img/arrow.svg) center center no-repeat;
	background-size: contain;
	width: 1.8rem;
	aspect-ratio: 5/1;
}
.postNav.prev {
	flex-direction: row-reverse;
}
.postNav.prev::after {
	transform: scale(-1,1);
}
.postNav:hover {
	color: var(--c_bl);
}

/*recruit-common
---------------------------------------------------------*/
#recruitbnr {
	overflow: hidden;
	position: relative;
	background: url(../img/recruit/dots.png) top left repeat;
	background-size: 2.4rem auto;
	padding: 5rem 0 16rem;
}
.scrollTxt {
	display: flex;
	gap: .3em;
	margin-bottom: 5rem;
	font-size: 9rem;
	white-space: nowrap;
	letter-spacing: -0.03em;
	animation: scroll-up-x 35s linear infinite;
}
.recruitbnr {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
}
.recruitbnr li {
	width: 100%;
	max-width: 51rem;
}
.recruitbnr a {
	width: 100%;
	height: 18rem;
	padding: 1rem;
	border-radius: 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 4.5rem;
	background: var(--c_b2);
	color: #fff;
}
.recruitbnr a:hover {
	transform: translateY(-1rem);
	box-shadow: 0 1rem 0 rgba(0,0,0,0.2);
}
.recruitbnr figure {
	max-width: 6.4rem;
}
.recruitbnr figure img {
	opacity: 1!important;
}
.recruitbnr h3 {
	min-height: 8.4rem;
	display: flex;
	align-items: center;
	margin-bottom: .8rem;
	font-weight: 700;
}
.recruitbnr .txt {
	display: flex;
	align-items: center;
	font-size: 2rem;
	font-weight: 500;
	gap: .5rem;
	line-height: 1;
}
.recruitbnr .arw {
	width: 2rem;
	background: #fff;
}
.recruitbnr .arw::after {
	content: "";
	background: url(../img/arrow.svg) center center no-repeat;
	background-size: contain;
	width: 1rem;
	aspect-ratio: 5/1;
	left: 50%;
	transform: translate(-50%,-50%);
	filter: invert(15%) sepia(97%) saturate(3879%) hue-rotate(221deg) brightness(89%) contrast(103%);
}
.recruitbnr ._02 a {
	background-color: var(--c_bl);
}
.recruitbnr ._02 a .arw::after {
	filter: invert(37%) sepia(67%) saturate(2682%) hue-rotate(185deg) brightness(110%) contrast(101%);
}
.recruitbnr ._02 figure {
	max-width: 11.3rem;
}
#joinus {
	border-radius: 10rem 10rem 0 0;
	background: url(../img/recruit/joinus_bg.jpg) top 10% center no-repeat;
	background-size: cover;
	overflow: hidden;
	padding: 1rem 0 14rem;
	color: #fff;
	position: relative;
	z-index: 1;
	margin-top: -10rem;
}
.joinus h2 {
	max-width: 37rem;
	margin: 0 0 -1rem 10rem;
	transition: .8s .8s var(--cbb);
	clip-path: inset(0 100% 0 0);
}
.joinus h2.act {
	clip-path: inset(0 0 0 0);
}
.joinus h3 {
	font-weight: 700;
	text-align: center;
	margin-bottom: 3rem;
}
.joinus .txt {
	font-size: 2.8rem;
	text-align: center;
	margin-bottom: 2rem;
}
.joinus .eng {
	color: var(--c_aq);
	font-weight: 700;
	line-height: 1.8;
}
.trainanm {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: flex-end;
	gap: 0 100rem;
	z-index: 1;
	animation: scroll-up-x 35s linear infinite;
}
.trainanm img {
	max-width: none;
	height: 7.1rem;
}

/*recruitIndex
---------------------------------------------------------*/
#future {
	padding-bottom: 28rem;
}
.futureWrap {
	position: relative;
}
.futureBox {
	max-width: fit-content;
	margin: 0 auto;
	line-height: 2;
	transform: translateX(2rem);
}
.futureBox h2 {
	max-width: 47.9rem;
	margin: 0 0 3rem 0;
}
.futureImg {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	max-width: 40.5rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.futureImg._02 {
	left: auto;
	right: 0;
	align-items: flex-end;
}
.futureImg li {
	position: relative;
	z-index: -1;
}
.futureImg._01 li:nth-of-type(1) {
	margin-left: 11rem;
}
.futureImg._01 li:nth-of-type(2) {
	margin-left: -25rem;
	margin-top:7.5rem;
}
.futureImg._01 li:nth-of-type(3) {
	margin-top: 3.5rem;
}
.futureImg._02 li:nth-of-type(1) {
	margin-right: -25rem;
}
.futureImg._02 li:nth-of-type(2) {
	margin-right: -6rem;
	margin-top: 11rem;
}
.futureImg._02 li:nth-of-type(3) {
	margin-right: -2rem;
	margin-top: 3.5rem;
}
.futureImg .img {
	border-radius: 2rem;
	overflow: hidden;
	max-width: 40.5rem;
	transition: 2s 1s;
	opacity: 0;
	transform: scale(1.1);
}
.futureImg .img.act {
	opacity: 1;
	transform: scale(1);
}
.futureImg._01 li:nth-of-type(1) .img {
	max-width: 12.6rem;
	transition-delay: 1.2s;
}
.futureImg._01 li:nth-of-type(3) .img {
	max-width: 20rem;
	transition-delay: .8s;
}
.futureImg._02 li:nth-of-type(2) .img {
	max-width: 11.2rem;
	transition-delay: 1.2s;
}
.futureImg._02 li:nth-of-type(3) .img {
	max-width: 22rem;
	transition-delay: .8s;
}
.futureImg li figure {
	position: absolute;
	z-index: 1;
	opacity: 0;
	transition: 1s 1.2s;
}
.futureImg li .act + figure {
	opacity: 1;
}
.futureImg._01 li:nth-of-type(1) figure {
	left: -9.5rem;
	bottom: -3.5rem;
	max-width: 10.1rem;
}
.futureImg._01 li:nth-of-type(3) figure {
	right: -8rem;
	bottom: -10rem;
	max-width: 21.5rem;
}
.futureImg._02 li:nth-of-type(2) figure {
	left: -8rem;
	top: -8rem;
	max-width: 12.81rem;
}
.futureImg._02 li:nth-of-type(3) figure {
	left: -24rem;
	bottom: -7rem;
	max-width: 28.1rem;
	z-index: -1;
}
@media screen and (max-width: 1530px) {
	.futureImg {
		max-width: 22rem;
	}
	.futureImg._01 li:nth-of-type(2) {
    margin-left: -15rem;
	}
	.futureImg._02 li:nth-of-type(1) {
    margin-right: -13rem;
}
}

#person {
	background: url(../img/recruit/index/person_bg.jpg) center center no-repeat;
	background-size: cover;
	color: #fff;
}
.personWrap {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 3rem;
}
.personWrap .txt {
	text-align: center;
	font-size: 2.1rem;
	font-weight: 700;
	margin-top: 1rem;
}
.stepArea {
	max-width: 99rem;
	margin: 0 auto;
}
.stepWrap dl {
	width: 33.3333%;
}
.stepWrap dt {
	position: relative;
	padding-bottom: 2.5rem;
}
:root {
	--step:var(--c_b3);;
}
.stepWrap dl._02 {
	--step:var(--c_bl);
}
.stepWrap dl._03 {
	--step:var(--c_b2);
}
.stepWrap .num,.stepWrap .ttl {
	transition: 1s .6s;
	opacity: 0;
	transform: translateY(2rem);
}
.stepWrap .ttl {
	border: .2rem solid var(--step);
	color: var(--step);
	font-weight: 500;
	line-height: 1.4;
	border-radius: 1rem;
	max-width: 18.5rem;
	padding: 1.5rem 2rem;
	letter-spacing: -0.03em;
	text-align: justify;
	margin: 1rem auto 0;
	position: relative;
}
.stepWrap ._02 .num,
.stepWrap ._02 .ttl {
	transition-delay: .8s;
}
.stepWrap ._03 .num,
.stepWrap ._03 .ttl {
	transition-delay: 1s;
}
.stepWrap .act .num,
.stepWrap .act .ttl {
	transform: translateY(0);
	opacity: 1;
}
.stepWrap .ttl::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -.8rem;
	margin: 0 auto;
	z-index: 	1;
	width: 2rem;
	height: auto;
	aspect-ratio: 20/16;
	background-color: var(--step);
	clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
}
.stepWrap dt figure {
	max-width: 6.2rem;
	position: absolute;
	left: 1rem;
	bottom: -1.5rem;
	z-index: 1;
}
.stepWrap dd {
	background: var(--step);
	text-align: center;
	padding: 2rem 2rem 2.5rem;
	color: #fff;
}
.stepWrap dd h3 {
	font-size: 2.2rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 1rem;
}
.stepWrap dd h4 {
	width: fit-content;
	min-width: 22rem;
	padding: .5rem 1.5rem;
	margin: 0 auto;
	font-size: 1.6rem;
	font-weight: 500;
	background: #fff;
	border-radius: 10rem;
	color: var(--step);
}
.stepWrap dd .txt {
	text-align: center;
	margin-top: 1rem;
	line-height: 1.4;
}
.stepWrap dl._02 dd {
	padding-top: 2.8rem;
}
.stepWrap dl._03 dd {
	padding-top: 5.8rem;
}
.stepWrap dl._03 dt figure {
	left: auto;
	right: .5rem;
}
.stepBtm {
	margin-top: 3rem;
	text-align: left;
	gap:1rem 3.5rem;
}
.stepBtm dt {
	font-size: 3.2rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.1em;
}
.peopleList {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 4rem 2.5rem;
	text-align: left;
}
.peopleList .thumb {
	aspect-ratio: 35/42;
	border-radius: 2rem;
}
.peopleList .thumb .btn {
	position: absolute;
	right: 3rem;
	bottom: 2rem;
	z-index: 1;
	min-width: auto;
	border: none;
	padding: 0;
}
.peopleList .year {
	margin: 1rem 0 0 0;
}
.peopleList .name {
	font-size: 2.2rem;
	font-weight: 500;
	font-feature-settings: "palt";
}
.peopleList a:hover {
	color: var(--c_bl);
}

/*recruit-details
---------------------------------------------------------*/
.careersWrap {
	display: flex;
	gap: 6rem;
}
.careersBox {
	max-width: 46rem;
}
.careersBox .ttlBox {
	margin-bottom: 4rem;
}
.careersBox .txt {
	letter-spacing: 0.05em;
	font-feature-settings: "palt";
}
.careersImg {
	flex: 1;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2.5rem;
}
.careersImg li {
	position: relative;
}
.careersImg li._01 {
	max-width: 34.4rem;
}
.careersImg li._02 {
	max-width: 21.4rem;
	margin-left: -1rem;
	margin-right: auto;
	margin-top: -17.5rem;
}
.careersImg li._03 {
	max-width: 13.7rem;
	margin-right: 20rem;
	margin-top: -8rem;
}
.careersImg li .img {
	border-radius: 2rem;
	overflow: hidden;
	transition: 2s 1s;
	opacity: 0;
	transform: scale(1.1);
}
.careersImg li._02 .img {
	transition-delay: .8s;
}
.careersImg li._03 .img {
	transition-delay: 1.2s;
}
.careersImg li.act .img {
	opacity: 1;
	transform: scale(1);
}
.careersImg figure {
	position: absolute;
	z-index: -1;
	opacity: 0;
	transition: 1.2s 1.2s;
}
.careersImg .act figure {
	opacity: 1;
}
.careersImg li._02 figure._01 {
	max-width: 10.1rem;
	top: -14.5rem;
	left: 4rem;
}
.careersImg li._02 figure._02 {
	max-width: 31.5rem;
	left: -23rem;
	bottom: -7rem;
}
.careersImg li._03 figure._01 {
	max-width: 5.7rem;
	top: -2rem;
	right: -10rem;
}
.descTbl {
	display: grid;
	grid-template-columns: 36rem 1fr;
	border-bottom: 1px solid #d9d9d9;
}
.descTbl dt,.descTbl dd {
	text-align: left;
	padding: 2rem 5rem;
	border-top: 1px solid #d9d9d9;
	line-height: 1.4;
}
.descTbl dt {
	background: var(--c_gy);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
}
.descTbl small {
	font-size: 87.5%;
	line-height: 1.4;
}
.welcome {
	display: inline-block;
	background: #000DFF;
	background: linear-gradient(90deg, #000DFF 4.69%, #009CFF 93.75%);
	border-radius: 10rem;
	text-align: center;
	padding: 1rem 3rem;
	color: #fff;
	font-weight: 700;
	line-height: 1;
	margin-left: 2rem;
}
.benefitsWrap {
	gap: 2rem;
	text-align: left;
	margin-bottom: 6rem;
	padding-bottom: 6rem;
	border-bottom: 1px solid #d9d9d9;

}
.benefitsWrap > dt {
	width: 44rem;
	margin-bottom: 0;
}
.benefitsWrap > dt .eng {
	color: var(--c_gr);
	margin-bottom: 0.5rem;
}
.benefitsWrap > dt h2 {
	font-size: 2.4rem;
}
.benefitsWrap > dd {
	flex: 1;
}
.benefitsIcon {
	display: grid;
	grid-template-columns: repeat(5,1fr);
	gap: 4.5rem 1.5rem;
	text-align: center;
	line-height: 1.2;
	font-weight: 500;
	letter-spacing: -0.02em;
	font-feature-settings: "palt";
}
.benefitsIcon figure {
	border-radius: .8rem;
	aspect-ratio: 1;
	background: #F1FAFC;
	padding: 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1rem;
}
.benefitsIcon small {
	display: block;
	font-weight: 400;
	margin-top: 0.5rem;
}
.benefitsIcon .txt {
	text-align: center;
}
.benefitsWrap:last-of-type {
	margin-bottom: 0;
}
#event {
	padding-bottom: 18rem;
}
.eventTtl {
	position: relative;
	gap: 3rem;
	margin-bottom: 6rem;
}
.eventTtl::before {
	content: "";
	display: block;
	background: #F1FAFC;
	border-radius: 0 2rem 2rem 0;
	position: absolute;
	top: -6rem;
	bottom: -12rem;
	right: 13rem;
	left: -100vw;
	z-index: -50;
}
.eventTtl .ttlBox {
	margin-bottom: 0;
}
.eventWrap {
	position: relative;
}
.eventSliderArea {
	margin-right: calc(-70vw + 50%);
}
.eventSlider .img {
	margin-right: 1rem;
	aspect-ratio: 4/3;
	overflow: hidden;
}
.eventSlider .img img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.eventSlider .img:not(:first-of-type) {
	display: none;
}
.eventSlider.slick-initialized .img:not(:first-of-type) {
	display: block;
}
.eventIlst {
	position: absolute;
	z-index: 1;
}
.eventIlst._01 {
	right: -5rem;
	top: -2rem;
	max-width: 21.6rem;
}
.eventIlst._02 {
	left: -6rem;
	bottom: -7rem;
	max-width: 14rem;
}

/*people
---------------------------------------------------------*/
.interviewArea + .interviewArea {
	margin-top: 16rem;
}
.interviewHeader {
	position: relative;
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	gap: 0;
	margin-bottom: 10rem;
}
.interviewHeader h2 {
	position: absolute;
	left: 0;
	top: 6.5rem;
	z-index: 1;
	font-size: 6rem;
	letter-spacing: -0.03em;
	color: var(--c_bl);
}
.interviewHeadImg {
	width: 68rem;
}
.interviewHeadImg .img {
	border-radius: 2rem;
	overflow: hidden;
	transition: 1.2s 1s;
	opacity: 0;
	transform: translateX(3rem);
}
.interviewHeadImg.act .img {
	opacity: 1;
	transform: translateX(0)!important;
}
.interviewCareer {
	margin-top: 2rem;
	font-size: 1.8rem;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
}
.interviewCareer strong {
	font-size: 155%;
	font-weight: 700;
}
.interviewTtl {
	min-height: 28.2rem;
	display: flex;
	justify-content: center;
	flex-direction: column;
	position: relative;
	flex: 1;
	font-size: 3rem;
	color: #fff;
	line-height: 1.4;
	text-align: left;
	margin-top: 11.5rem;
}
.interviewTtl::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: -13rem;
	width: 50vw;
	background: url(../img/recruit/people/interview_bg01.jpg) center center no-repeat;
	background-size: cover;
	border-radius: 0 2rem 2rem 0;
	overflow: hidden;
	z-index: -1;
}
.interviewTtl::after {
	content: "";
	display: block;
	background: url(../img/recruit/people/interview_illust01.svg) top left no-repeat;
	background-size: contain;
	width: 10.1rem;
	aspect-ratio: 101/116;
	position: absolute;
	right: 5rem;
	bottom: -6rem;
}
.interviewWrap {
	display: flex;
	gap: 4.5rem
}
.interviewWrap._02 {
	margin-top: 6.5rem;
	flex-direction: row-reverse;
}
.interviewImg {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: 4.5rem;
	position: relative;
}
.interviewImg li {
	border-radius: 2rem;
	overflow: hidden;
	width: 80%;
}
.interviewImg li:nth-of-type(2) {
	margin-left: auto;
	width: 53%;
}
.interviewWrap._02 .interviewImg li {
	width: 100%;
	position: relative;
}
.interviewWrap._02 .interviewImg::before {
	content: "";
	display: block;
	background: var(--c_gy);
	position: absolute;
	top: -9rem;
	height: 28rem;
	width: 50vw;
	left: 65%;
	border-radius: 2rem;
	z-index: -1;
}
.interviewBox {
	width: 50%;
	text-align: left;
}
.interviewBox dl + dl {
	margin-top: 5rem;
}
.interviewBox dt {
	font-size: 2.8rem;
	font-weight: 700;
	color: var(--c_bl);
	position: relative;
	display: flex;
	align-items: center;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
}
.interviewBox dt::before {
	content: "Q.";
	font-size: 3.8rem;
	font-family: "arial", sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1;
}
.interviewArea:nth-of-type(even) .interviewHeader {
	flex-direction: row;
}
.interviewArea:nth-of-type(even) .interviewHeader h2 {
	left: auto;
	right: 0;
	color: var(--c_b2);
}
.interviewArea:nth-of-type(even) .interviewHeadImg .img {
	transform: translateX(-3rem);
}
.interviewArea:nth-of-type(even) .interviewTtl {
	padding-left: 1em;
}
.interviewArea:nth-of-type(even) .interviewTtl::before {
	right: auto;
	left: -13rem;
	background-image: url(../img/recruit/people/interview_bg02.jpg);
	border-radius: 2rem 0 0 2rem;
}
.interviewArea:nth-of-type(even) .interviewCareer {
	justify-content: flex-start;
}
.interviewArea:nth-of-type(even) .interviewTtl::after {
	background-image: url(../img/recruit/people/interview_illust02.svg);
	width: 5.6rem;
	aspect-ratio: 56/108;
	right: 3rem;
}
.interviewArea:nth-of-type(even) .interviewWrap {
	flex-direction: row-reverse;
}
.interviewArea:nth-of-type(even) .interviewWrap._02 {
	flex-direction: row;
}
.interviewArea:nth-of-type(even) .interviewBox dt {
	color: var(--c_b2);
}
.interviewArea:nth-of-type(even) .interviewWrap._02 .interviewImg::before {
	left: auto;
	right: 65%;
}

/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1150px) {
	html {
		font-size: .8vw;
	}
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
	html {
		font-size: 2.7777777vw;
	}
	body {
		font-size: 1.4rem;
		line-height: 1.5
	}
	body.active {
		overflow: hidden;
	}
	body::after {
		content: "";
		display: block;
		position: fixed;
		transition: .4s;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0,0,0, 0.5);
		backdrop-filter: blur(5px);
		transition: .4s;
		opacity: 0;
		pointer-events: none;
	}
	body.active::after {
		opacity: 1;
		z-index: 900;
	}
	article > section {
		padding: 4rem 0;
	}
	h3 {
		font-size: 2rem;
		margin-bottom: 3rem;
	}
	.ttlBox {
		margin-bottom: 3rem;
	}
	.ttlBox h2 {
		font-size: 3.5rem;
	}
	.btnBox {
		text-align: center;
	}
	.btn {
		font-size: 1.4rem;
	}
	/*header
	-------------------------------------------------------*/
	#header {
		display: flex;
		align-items: center;
		height: 6rem;
	}
	#header.active {
		background: #000;
	}
	.hLogo {
		max-width: 20rem;
	}
	.hWrap {
		padding: 1.5rem 1rem;
	}
	.menuIconWrap {
		display: block;
		position: fixed;
		top: .75rem;
		right: 1rem;
		width: 4.5rem;
		height: 4.5rem;
		z-index: 99999;
		cursor: pointer;
		border-radius: 0;
		border: 1px solid #000;
		background: #000;
		transition: .4s;
		margin-left: auto;
	}
	.act+.menuIconWrap {
		border-left-color:#4d4d4d;
	}
	.menuIcon span {
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 2rem;
		height: 1px;
		background: #fff;
		z-index: 10;
		transition: .2s;
		transform-origin: center;
	}
	.menuIcon span:nth-of-type(1) {top: 1.5rem;}
	.menuIcon span:nth-of-type(2) {bottom: 2.1rem;}
	.menuIcon span:nth-of-type(3) {bottom: 1.5rem;}
	.menuIconWrap.active span:nth-of-type(1) {
		transform: translateY(.58rem) rotate(40deg);
	}
	.menuIconWrap.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menuIconWrap.active span:nth-of-type(3) {
		transform: translateY(-.58rem) rotate(-40deg);
	}
	#nav {
		position: fixed;
		top: 6rem;
		bottom: 0;
		right: -3rem;
		z-index: 10;
		width: 90%;
		height: 100%;
		transition: all 0.3s ease-in-out;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		display: block;
		padding: 3rem 2rem 2rem;
		background: #fff;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}
	#nav.active {
		right: 0;
		opacity: 1;
		visibility: visible;
		pointer-events: all;
		z-index: 999999;
	}
	.hNav {
		display: block;
	}
	.hNav li:not(.hBtn) a {
		display: block;
		color: #000;
		font-size: 1.6rem;
		padding: 1rem;
		border-bottom: 1px solid rgba(0,0,0,.2);
	}
	.hNav li:not(.hBtn) a::before {
		display: none;
	}
	.hBtn {
		margin-top: 1.5rem;
	}
	.hBtn._01 {
		margin-top: 2.5rem;
	}
	.hBtn a {
		width: 100%;
		color: #000;
		border-color: #000;
		margin-left: 0!important;
		padding-bottom: 0.9rem;
	}
	.hBtn._02 a {
		background: var(--c_db)!important;
		border-color: var(--c_db)!important;
		color: #fff!important;
	}
	/*footer
	-------------------------------------------------------*/
	.recrutBnrArea {
		padding: 6rem 0;
	}
	.recruitBnrBox {
		padding: 25rem 2rem 4.5rem;
		border-radius: 3rem 3rem 3rem 0;
	}
	.recruitBnrImg {
		display: block;
		width: auto;
		top: 2rem;
		left: 0;
		right: 0;
	}
	.recruitBnrImg ul {
		display: flex;
		animation: scroll-up-x 25s linear infinite;
	}
	.recruitBnrImg ul._02 {
		animation-direction:reverse;
	}
	.recruitBnrImg li {
		width: 10rem;
		min-width: 10rem;
		border-radius: 1rem;
		margin: .5rem;
	}
	.recruitBnrWrap .ilst01 {
    top: 22rem;
    left: auto;
    max-width: 9rem;
    right: 2rem;
	}
	.recruitBnrWrap .ilst02 {
    left: auto;
    max-width: 13rem;
    right: 0;
		pointer-events: none;
	}
	/**fContact**/
	.fContactArea {
		padding: 6rem 0;
		height: auto;
		background-position: center right 65%;
	}
	.linkNav {
		font-size: 1.4rem;
		width: 100%;
		max-width: 25rem;
	}
	.linkNav a {
		padding: 2rem 1rem;
	}
	.contactEng {
    right: auto;
		left: 5%;
    bottom: auto;
    top: 7.5rem;
    max-width: 22rem;
		pointer-events: none;
	}

	/*footer*/
	.fWrap {
		display: block;
	}
	.fArea {
		padding: 4rem 0 6rem;
	}
	.fLogo {
		max-width: 25rem;
	}
	.fLft address, .fLink {
    padding-left: 0;
	}
	.fLft address {
		font-size: 1.3rem;
	}
	.fNav {
		gap: 2rem;
		flex-wrap: wrap;
		margin: 3rem 0;
	}
	.fNav dl.onlysp {
		width: 100%;
	}
	.fNav a {
		font-size: 1.3rem;
		white-space: nowrap;
		gap: 0;
	}
	.fNav li + li {
		margin-top: 1rem;
	}
	.fBtn {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: 1rem
	}
	.fBtn a {
		width: 100%;
		height: 4.5rem;
	}

	/*toppage
	-------------------------------------------------------*/
	.mainArea {
		height: 100vh;
	}
	.mainTtl {
		bottom: 3rem;
	}
	.mainTtl .eng {
		font-size: 3.3rem;
		white-space: nowrap;
		margin-bottom: 1rem;
	}
	.mainTtl h1 {
		font-size: 1.8rem;
	}
	.topMessageWrap {
		display: block;
	}
	.topMessageWrap .img {
		height: 16rem;
		margin-bottom: 3rem;
	}
	.topMessage {
		width: 100%;
	}
	#topAbout h3 {
		font-size: 1.8rem;
	}
	.topAboutWrap {
		display: block;
	}
	.topAboutImg {
		height: 16rem;
		margin-bottom: 3rem;
	}
	.topAbout {
		width: 100%;
	}
	.aboutNav {
		max-width: 100%;
		font-size: 1.4rem;
		margin-top: 3rem;
	}
	.topAboutImg .img {
		transition: 2s;
	}
	.topTtlWrap {
		display: block;
		padding-top: 0;
		margin-bottom: 3rem;
	}
	.topTtlWrap .ttlBox {
		margin-top: 0;
		margin-bottom: 2rem;
	}
	.topTtlWrap .btnBox {
		margin-top: 2rem;
	}
	.worksNav {
		grid-template-columns: repeat(1, 1fr);
	}
	.worksNav li {
		height: 25rem;
	}
	.worksNav .worksBox {
		width: 100%;
	}
	.worksBox h3 {
		font-size: 1.6rem;
		margin-bottom: 1rem;
		min-height: auto;
	}
	.worksBox .txt {
		min-height: auto;
	}
	.worksBtm {
		padding-top: 0.5rem;
	}
	.worksBox .btnBox {
		margin-top: 2rem;
	}

	/*subPage-common
	-------------------------------------------------------*/
	.pageTtlArea {
		height:18rem;
	}
	.pageTtl {
		font-size: 1.4rem;
		text-shadow: 0 0 1rem rgba(0,0,0,.2);
		padding-bottom: 2rem;
		justify-content: flex-end;
	}
	.pageTtl h1 {
		font-size: 3.6rem;
	}
	.pageTtl p {
		font-weight:400;
	}

	/*about
	-------------------------------------------------------*/
	.aboutTopWrap {
		display: block;
	}
	.aboutTopWrap .ttlBox {
		margin-bottom: 2rem;
	}
	.aboutTopWrap .img {
		height: 14rem;
		margin-bottom: 2rem;
	}
	.aboutTopWrap .box {
		width: 100%;
	}
	.bizArea {
		padding: 6rem 0;
	}
	.bizTtl {
		display: block;
		margin-bottom: 3rem;
	}
	.bizTtl .num {
		font-size: 1.4rem;
		padding: 0 0 1.5rem 0;
		margin: 0 auto 2rem;
		border-right: none;
		border-bottom: 1px solid #fff;
		max-width: 15rem;
	}
	.bizTtl h3 {
		text-align: center;
		font-size: 1.7rem;
	}
	.bizWrap {
		display: block;
	}
	.bizWrap .img {
		height: 14rem;
		margin-bottom: 3rem;
	}
	.bizBox {
		padding: 0;
		width: 100%;
	}
	.bizBox h4 {
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}
	.bizBox h4 small {
		font-size: 75%;
		display: inline;
		align-items: center;
	}
	.bizArea:nth-of-type(even) {
		margin: 0;
	}
	.valueWrap {
		display: block;
	}
	.valueNav {
		width: 100%;
		margin-bottom: 4rem;
	}
	.valueNav a {
		font-size: 1.4rem;
		padding: 1rem;
		height: 6.1rem;
		display: flex;
		align-items: center;
	}
	.valueNav a::after {
		right: 1rem;
	}
	.valueBox {
		padding-top: 0;
	}
	.valueBox h3 {
		font-size: 2rem;
	}
	.valueBox .num {
		font-size: 2rem;
		margin-bottom: 0.5rem;
	}
	.valueBox dl + dl {
		margin-top: 3rem;
		padding-top: 3rem;
	}
	.popupArea {
		padding: 2rem 1rem;
	}

	/*company
	-------------------------------------------------------*/
	.messageWrap {
		display: block;
	}
	#message .ttlBox {
		margin-bottom: 3rem;
	}
	.messageWrap .img{ 
		height: 15rem;
	}
	.president {
		font-size: 1.8rem;
		margin-top: 2rem;
	}
	.companyWrap {
		display: block;
	}
	.companyWrap .img {
		width: 80%;
		gap: 1.5rem;
		margin: 0 auto 4rem;
	}
	.purposeTtl h3 {
		font-size: 2rem;
	}
	.purposeTtl {
		width: 100%;
		margin-bottom: 4rem;
	}
	.purposeTtl .txt {
		max-width: 100%;
	}
	.purposeWrap {
		display: block;
	}
	.purposeTtl .box {
		position: relative;
		top: 0;
	}
	.purposeCont .img .eng {
    font-size: 2.4rem;
		-webkit-text-stroke: .5px #fff;
	}
	.purposeCont .img .num img {
		top: -1.8rem;
		max-height: 2.7rem;
	}
	.purposeCont .img .num {
		bottom: 1rem;
	}
	.purposeCont h4 {
		font-size: 2rem;
	}
	.purposeCont dl + dl {
    margin-top: 6rem;
	}
	.overviewTtlArea {
		height: 15rem;
		margin-bottom: 4rem;
	}
	.overviewCont dt, .overviewCont dd {
		padding: 1rem;
		font-size: 87.5%;
	}
	.overviewCont {
		grid-template-columns: 10rem 1fr;
	}
	.overviewBtm {
		display: block;
	}
	.gmap {
		height: 21.6rem;
		margin-top: 3rem;
	}

	/*form
	------------------------------------------------------*/
	.formBox dt:not(:first-of-type),.policyCheck,.formBtn {
		margin-top: 3rem;
	}
	.formBox dt::before{
		padding: 0.6rem 1rem;
	}
	.formWrap input[type="submit"], .formWrap input[type="button"], .formWrap button.button._grey {
		min-width: 30rem;
	}

	/*privacy
	---------------------------------------------------------*/
	.policy h2 {
		font-size: 1.6rem;
		margin: 3rem 0 1rem;
	}

	/*works
	---------------------------------------------------------*/
	.worksList {
		grid-template-columns: repeat(2,1fr);
		gap: 4rem 1.5rem;
		font-size: 1.2rem;
	}
	.worksList .worksBox h3 {
		font-size: 1.4rem;
		margin-bottom: 0.5rem;
	}
	.worksList .worksBox .txt {
		min-height: auto;
	}
	.worksList .worksBtm {
		margin-top: 0.5rem;
	}
	.pager {
		margin-top: 4rem;
	}
	/*works*/
	.postImg {
		margin-bottom: 3rem;
	}
	.worksheader {
		margin-bottom: 3rem;
	}
	.worksheader h2, .worksheader .worksBtm, .worksContents {
    padding-inline: 0;
	}
	.worksheader h2 {
		font-size: 1.8rem;
	}

	/*recruit-common
	-------------------------------------------------------*/
	#recruitbnr {
		background-size: 2rem auto;
	}
	.scrollTxt {
		font-size: 4.5rem;
		margin-bottom: 3rem;
	}
	.recruitbnr {
		flex-direction: column;
	}
	.recruitbnr .txt {
		font-size: 1.4rem;
	}
	.recruitbnr .arw {
		width: 1.5rem;
	}
	.recruitbnr a {
		display: grid;
		grid-template-columns: 8rem 16rem;
		height: 11rem;
		gap: 0 2rem;
	}
	.recruitbnr figure {
    width: 8rem;
		max-width: none!important;
	}
	.recruitbnr figure img {
		max-height: 8.8rem;
	}
	.recruitbnr h3 {
		min-height: auto;
	}
	#joinus {
		border-radius: 5rem 5rem 0 0;
		padding: 1rem 0 7rem;
	}
	.joinus h2 {
    max-width: 16rem;
    margin: 0 0 0 -1rem;
	}
	.joinus h3 {
		font-size: 1.8rem;
		margin-bottom: 1.5rem;
	}
	.joinus .txt {
		font-size: 1.5rem;
	}
	.trainanm {
		animation-duration: 20s;
		gap: 0 15rem;
	}
	.trainanm img {
		height: 4rem;
	}
	.joinus .eng {
		font-size: 1.2rem;
		line-height: 1.6;
	}

	/*recruitIndex
	-------------------------------------------------------*/
	#future {
		padding-bottom: 4rem;
	}
	.futureImg {
		position: relative;
		flex-direction: row;
		max-width: 40rem;
	}
	.futureBox {
		max-width: 100%;
		transform: none;
		margin: 3rem auto 5rem;
	}
	.futureBox h2 {
    max-width: 25rem;
		margin: 0 auto 3rem;
	}
	.futureImg {
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 1.5rem
	}
	.futureImg .img {
		max-width: 25rem;
	}
	.futureImg._01 li:nth-of-type(1) {
    margin-left: 0;
		position: absolute;
		top: 0;
		right: 0;
	}
	.futureImg._01 li:nth-of-type(2) {
		margin-top: 4rem;
		margin-left: -6rem;
	}
	.futureImg._01 li:nth-of-type(3) {
    margin-top: 16rem;
		margin-left: auto;
	}
	.futureImg._01 li:nth-of-type(3) .img {
    max-width: 13rem;
		margin-right: -2rem;
	}
	.futureImg._01 li:nth-of-type(1) .img {
    max-width: 10rem;
	}
	.futureImg._01 li:nth-of-type(1) figure {
    left: -1.5rem;
    bottom: -3.5rem;
    max-width: 6rem;
	}
	.futureImg._01 li:nth-of-type(3) figure {
		right: auto;
		bottom: 4rem;
		max-width: 13rem;
		border-radius: 2rem 0 0 2rem;
		left: -14rem;
	}
	.futureImg._02 {
		flex-direction: row-reverse;
		padding-bottom: 15rem;
	}
	.futureImg._02 li:nth-of-type(1) {
    margin-right: auto;
	}
	.futureImg._02 li:nth-of-type(1) .img {
		max-width: 20rem;
	}
	.futureImg._02 li:nth-of-type(2) {
		margin-right: 0;
		margin-top: -10rem;
	}
	.futureImg._02 li:nth-of-type(3) .img {
    max-width: 15rem;
		border-radius: 0 2rem 2rem 0;
	}
	.futureImg._02 li:nth-of-type(2) figure {
		left: 2rem;
		top: 18rem;
		max-width: 7rem;
	}
	.futureImg._02 li:nth-of-type(3) {
		margin-right: 0;
		margin-top: 0;
		margin-left: 0;
		margin-bottom: 0;
		position: absolute;
		left: -2rem;
		bottom: 0;
	}
	.futureImg._02 li:nth-of-type(3) figure {
		left: auto;
		right: -16rem;
		bottom: auto;
		max-width: 15rem;
		top: 0;
	}
	.personWrap {
		grid-template-columns: repeat(2,1fr);
		gap: 3rem 1.5rem;
	}
	.personWrap .txt {
		font-size: 1.3rem;
		letter-spacing: -.01em;
		white-space: nowrap;
	}
	.stepWrap {
		display: block;
	}
	.stepWrap dl {
		width: 100%;
	}
	.stepWrap dl + dl {
		margin-top: 4rem;
	}
	.stepWrap dd {
		padding-top: 2.5rem!important;
	}
	.stepWrap dt figure {
		max-width: 5rem;
	}
	.stepWrap dt figure img {
		max-height: 9rem;
	}
	.stepWrap .ttl {
		max-width: 18rem;
		padding: 1.5rem;
	}
	.stepWrap dd h3 {
		font-size: 2rem;
	}
	.stepBtm {
		margin-top: 4rem;
		line-height: 1.6;
		flex-direction: column;
	}
	.stepBtm dt {
		font-size: 1.7rem;
		text-align: left;
		white-space: nowrap;
	}
	.peopleList {
		margin: 0 -2rem;
	}
	.peopleList li {
		margin: 0 .5rem;
	}
	.peopleList .thumb .btn {
		right: 1rem;
		bottom: 1rem;
	}
	.slick-arrow {
		position: absolute;
		background: var(--c_bl) url(../img/arrow_wh.svg)  center center no-repeat;
		background-size: 45% auto;
		box-shadow: 0 0 .5rem rgba(0,0,0,.2);
		width: 4rem;
		aspect-ratio: 1;
		border-radius: 50%;
		position: absolute;
		right: 15.5%;
		top: 33%;
		z-index: 99;
	}
	.slick-arrow.prev {
		transform: scale(-1,1);
		right: auto;
		left: 15.5%;
	}

	/*recruit-details
	-------------------------------------------------------*/
	.careersWrap {
		flex-direction: column;
	}
	.careersImg li .img {
		border-radius: 1rem;
	}
	.careersImg li._01 {
		max-width: 16rem;
	}
	.careersImg li._02 {
		max-width: 12rem;
		margin-left: 0;
		margin-right: auto;
		margin-top: -10rem;
	}
	.careersImg li._03 {
		max-width: 10rem;
		margin-right: 6rem;
		margin-top: -5rem;
	}
	.careersImg li._02 figure._01 {
		max-width: 6rem;
		top: -8rem;
		left: 5rem;
	}
	.careersImg li._02 figure._02 {
		width: 18rem;
		left: -1rem;
		bottom: -9rem;
	}
	.careersImg li._03 figure._01 {
		max-width: 4rem;
		top: -3rem;
		right: -5rem;
	}
	.descTbl {
		display: block;
		border: 1px solid var(--c_gy);
	}
	.descTbl dt,.descTbl dd {
		padding: 1rem 2rem;
		border: none;
	}
	.descTbl dd {
		padding: 2rem 2rem;
	}
	.welcome {
		padding: .7rem 1.5rem;
		font-size: 87.5%;
	}
	.benefitsWrap {
		display: block;
		padding-bottom: 3rem;
		margin-bottom: 3rem;
	}
	.benefitsWrap > dt {
		width: 100%;
		margin-bottom: 3rem;
	}
	.benefitsWrap > dt h2 {
		font-size: 2rem;
	}
	.ttlBox h2.sm {
		font-size: 3rem;
	}
	.benefitsTbl {
		grid-template-columns: 1fr;
	}
	.benefitsTbl dt, .benefitsTbl dd {
		padding: 2rem 1.5rem;
		border: none!important;
	}
	.benefitsTbl dt {
		padding: .2rem 1.3rem;
		text-align: left;
		border-left: .5rem solid #e1e1e1!important;
	}
	.benefitsIcon {
		font-size: 1.2rem;
		gap: 1rem 2rem;
		grid-template-columns: repeat(3, 1fr);
	}
	.benefitsPoint .ttl {
		flex-direction: column;
	}
	.benefitsIcon small {
		font-size: 1.1rem;
	}
	.eventTtl {
		display: block;
		padding-top: 4rem;
		margin-bottom: 4rem;
		padding-right: 2rem;
	}
	.eventTtl::before {
		top: 0;
		right: 0;
	}
	.eventTtl .ttlBox {
		margin-bottom: 3rem;
	}
	.eventIlst._01 {
		max-width: 14rem;
		right: 2rem;
    top: 2rem;
	}
	.eventIlst._02 {
		left: 0.5rem;
		bottom: -12rem;
    max-width: 10rem;
	}
	.eventSliderArea {
    margin-right: calc(-100vw + 50%);
	}

	/*people
	-------------------------------------------------------*/
	.interviewArea + .interviewArea {
		margin-top: 8rem;
	}
	.interviewHeader {
		display: block;
		margin-bottom: 5rem;
	}
	.interviewHeadImg .img {
		border-radius: 1rem 0 0 1rem;
		margin-right: calc(-50vw + 50%);
	}
	.interviewHeader h2 {
		position: relative;
		font-size: 3.6rem;
		top: 0;
		text-align: left;
		margin-bottom: 2rem;
	}
	.interviewHeadImg {
		width: 100%;
	}
	.interviewCareer {
		font-size: 1.4rem;
		margin-top: 1rem;
	}
	.interviewTtl {
		font-size: 2rem;
		margin-top: 2rem;
		min-height: 15rem;
	}
	.interviewTtl::before {
		right: 0;
		width: 100vw;
		border-radius: 0 1rem 1rem 0;
	}
	.interviewTtl::after {
		width: 6rem;
		right: 1rem;
		bottom: -4rem;
	}
	.interviewWrap {
		display: block;
	}
	.interviewImg {
		gap: 2rem;
		flex-direction: row;
		align-items: flex-end;
		margin-bottom: 4rem;
	}
	.interviewImg li {
		width: 50%;
		border-radius: 1rem;
	}
	.interviewImg li:nth-of-type(2) {
		width: 45%;
		margin-bottom: -3rem;
	}
	.interviewBox {
		width: 100%;
	}
	.interviewBox dl + dl {
		margin-top: 3rem;
	}
	.interviewBox dt {
		font-size: 2rem;
		gap: .8rem;
	}
	.interviewBox dt::before {
		font-size: 2.6rem;
	}
	.interviewHeadImg .img {
		border-radius: 1rem 0 0 1rem;
		margin-left: 0;
		margin-right: calc(-50vw + 50%);
	}
	.interviewWrap._02 .interviewImg::before {
		top: -4rem;
		height: 15rem;
		left: 25%;
		width: 100vw;
		border-radius: 1rem;
	}
	.interviewArea:nth-of-type(even) .interviewHeadImg .img {
		border-radius: 0 1rem 1rem 0;
		margin-right: 0;
		margin-left: calc(-50vw + 50%);
	}
	.interviewArea:nth-of-type(even) .interviewTtl::before {
		left: 0;
		border-radius: 1rem 0 0 1rem;
	}
	.interviewArea:nth-of-type(even) .interviewTtl::after {
		width: 4rem;
		right: -.5rem;
	}
	.interviewArea:nth-of-type(even) .interviewImg {
		flex-direction: row-reverse;
		padding-bottom: 1rem;
	}
	.interviewArea:nth-of-type(even) .interviewImg li:nth-of-type(1) {
		margin-bottom: -3rem;
	}
	.interviewArea:nth-of-type(even) .interviewImg li:nth-of-type(2) {
		margin-bottom: 0;
	}
	.interviewArea:nth-of-type(even) .interviewWrap._02 .interviewImg::before {
		left: auto;
		right: 25%;
	}













}








