@charset "utf-8";


/* ---------------------------------------
* common
------------------------------------------ */

.btn.sp,.sp{
	display: none;
}

svg{
	width: 100%;
	height: 100%;
}

:root {
	--primary: #64CAB2;
	--bg-b: #1A1C23;
	--bg-b02: #313339;
	--font-w60: rgba(255,255,255,.6);
	--font-w40: rgba(255,255,255,.4);
	--font-w30: rgba(255,255,255,.3);
	--border:#fff;
	--border-w20:rgba(255,255,255,.2);
}

.tac{
	text-align: center;
}

canvas {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
	filter: blur(80px);
	transform: scale(1.2); 
	z-index: -1;
}

/* ---------------------------------------
* TOP
------------------------------------------ */

.fv{
	padding: 10rem 6rem 6rem;
	/* 	background-position: center;
	background-size: cover;
	background-image: url(../img/top/fvbg.png); */
	position: relative;
}

.fvTtl{
	position: relative;
	z-index: 4;
}

.fvTtl>p{
	font-weight: 900;
	font-size: clamp(32px,4rem,48px);
	line-height: 1.6;
	transform: skew(-15deg);
	margin-bottom: 2rem;
}

.fvTtl h2 p{
	text-transform: uppercase;
	font-size: clamp(64px,16rem,184px);
    line-height: .9;
}

..is-pop,.is-pop .char{
	color: var(--primary);
}

.fvTtl h2 p .col-g{
	display: inline-block;
	color: var(--primary);
	padding: 0 .6rem;
}

.fvImg{
	width: 32.87%;
	height: 52rem;
	position: relative;
	margin: -8rem auto 0;
	overflow: hidden;
}

.fvImg-list{
	width: 100%;
	height: 100%;
	position: relative;
}

.fvImg-listItem{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	clip-path: inset(100% 0 0 0); /* デフォルトは「上から100%カット」=見えない */
	z-index: 1;
}

.fvImg-listItem img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* 表示中:最前面でフル表示。下→上に展開 */
.fvImg-listItem.is-active{
	clip-path: inset(0 0 0 0);
	z-index: 2;
	transition: clip-path 1.2s cubic-bezier(0.7, 0, 0.3, 1);
}

/* 直前の画像:後ろに控えてフル表示のまま
(新画像のまだ展開していない領域から透けて見える) */
.fvImg-listItem.is-prev{
	clip-path: inset(0 0 0 0);
	z-index: 1;
}

.fvImg-listItem.no-transition{
	transition: none !important;
}

@media (prefers-reduced-motion: reduce){
	.fvImg-listItem.is-active{
		transition: none;
	}
}

.fvpara{
	width: 30%;
	position: absolute;
	right: 0;
	bottom: 8rem;
}

.fvpara p{
	font-size: clamp(10px,1.1rem,12px);
	font-weight: 700;
	line-height: 1.8;
}

/* =========================================================
FV 出現アニメーション
========================================================= */

.fv::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:0;
	background-position:center;
	background-size:cover;
	background-image: url(../img/top/fvbg.png);
	transform:scale(1.12);
	opacity: 0;
	filter: blur(20px);
	transform-origin:60% 40%;
	will-change:transform;
}
.fv.is-loaded::before{
	transform:scale(1);
	opacity: 1;
	filter: blur(0);
	transition:transform 4s cubic-bezier(.16,1,.3,1);
}

.fvCont{ 
	position:relative; z-index:2; 
}

.fvpara{ 
	z-index:2; 
}

.fvTtl > p,
.fvTtl h2 p{
	overflow:hidden;
}

.fv .char{
	display:inline-block;
	transform:translateY(120%) skewX(-8deg);
	opacity:0;
	will-change:transform;
}

.fv.is-loaded .char{
	transform:translateY(0) skewX(0);
	opacity:1;
	transition:transform .9s cubic-bezier(.16,1,.3,1),
		opacity .45s ease;
}

.fvImg-listItem:first-child img{
	transform:scale(1.18);
}
.fv.is-loaded .fvImg-listItem:first-child img{
	transform:scale(1);
	transition:transform 1.9s cubic-bezier(.16,1,.3,1);
}

.fvpara{
	opacity:0;
	transform:translateY(2.8rem);
}
.fv.is-loaded .fvpara{
	opacity:1;
	transform:translateY(0);
	transition:opacity .9s ease, transform 1s cubic-bezier(.16,1,.3,1);
	transition-delay:1.05s;
}

.fv.fv--reset *,
.fv.fv--reset::before{
	transition:none !important;
	animation:none !important;
}

@media (prefers-reduced-motion: reduce){
	.fv::before,
	.fv .char,
	.fvImg-listItem:first-child img,
	.fvpara{
		transition:none !important;
		animation:none !important;
		transform:none !important;
		opacity:1 !important;
	}
}

.t-aboutWrap{
	position: relative;
}

.t-aboutImg{
	position: absolute;
	right: 0;
	top: 0;
	width: 23.2%;
}

.t-aboutTtl{
	width: fit-content;
	padding-left: 11.2rem;
	position: relative;
}

.t-aboutTtl h2{
	text-transform: uppercase;
	font-size: clamp(96px,17.6rem,194px);
}

.t-aboutTtl p{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: clamp(16px,3.2rem,48px);
	font-weight: 900;
}

.t-aboutTtl h2 span{
	-webkit-text-stroke: 2px #fff;
	color: transparent;
}

.t-aboutCont{
	padding-top: 6rem;
	align-items: flex-end;
}

.t-aboutContImgwrap{
	width: 50.7%;
}

.t-aboutContImg01{
	margin-left: auto;
	width: 75%;
}

.t-aboutContImg02{
	width: 45.9%;
	padding-top: 4rem;
}

.t-aboutPara{
	width: 42.5%;
	padding-bottom: 1rem;
}

.t-aboutPara p{
	font-size: clamp(12px,1.6rem,16px);
	line-height: 2;
}

.t-aboutPara p:not(:last-of-type){
	padding-bottom: 3rem;
}


.t-serviceColumn_img{
	width: 51.1%;
}

.t-serviceColumn_txt{
	width: 42.5%;
}

.t-serviceColumn_txt h3{
	font-size: clamp(24px,3.2rem,40px);
	font-weight: 900;
	line-height: 1.6;
	padding-bottom: 3rem;
}

.t-serviceDetail:not(:last-of-type){
	margin-bottom: 12rem;
}

.t-serviceDetailTtl{
	align-items: flex-end;
}

.t-serviceDetailTtl h4{
	font-size: clamp(96px,12rem,136px);
	line-height: 0.8;
	text-transform: uppercase;
}

.t-serviceDetailTtl p{
	padding-top: 4rem;
	font-size: clamp(12px,2rem,20px);
	line-height: 1.6;
}

.t-serviceDetail_list{
	column-gap: 3rem;
	row-gap: 3rem;
}

.t-serviceDetail_listItem{
	width: calc((100% - (3rem * 1)) / 2);
	overflow: hidden;
}

.t-serviceDetail_listItem a{
	display: block;
	overflow: hidden;
	position: relative;
}

.t-serviceDetail_listItem a.non{
	pointer-events: none;
}

.t-serviceDetail_img{
	width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	transition: all .3s;
}

.t-serviceDetail_listItem a:hover .t-serviceDetail_img{
	transform: scale(1.05);
}

.t-serviceDetail_img::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.6);
	position: absolute;
	left: 0;
	top: 0;
}

.t-serviceDetail_img::after{
	content: "";
	display: block;
	padding-top: 59.2%;
}

.t-serviceDetail_listTxt{
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 4rem 3rem 3rem;
	position: absolute;
	left: 0;
	top: 0;
}

.t-serviceNum{
	font-size: clamp(48px,64px,72px);
	letter-spacing: normal;
}

.t-serviceDetail_ttl{
	align-items: flex-end;
}

.t-serviceDetail_arrow .btnArrow{
	padding: 1rem;
	border: solid 2px #fff;
}

.serviceDetail_ttl p{
	color: var(--_color-gray);
	padding-bottom: .8rem;
	font-weight: 900;
}

.t-serviceDetail_ttl h5{
	font-size: clamp(32px,4.8rem,64px);
}

.t-serviceDetail_ttl h5.ja{
	font-size: clamp(28px,3.6rem,40px);
	font-style: unset;
	font-weight: 900;
	font-family: 'Noto Sans JP';
	transform: skewx(-10deg);
}

.t-member{
	overflow: hidden;
}

.slideWrap_mem{
	margin-top: -6rem;
	position: relative;
	z-index: -1;
	display: flex;
	column-gap: 2rem;
	width: max-content;
}

.slideImg_mem{
	width: 208rem;
}

.t-newsWrap .news-list{
	width: 65.9%;
}

/* ---------------------------------------
* Service
------------------------------------------ */

.p-serviceDetail:not(:last-of-type){
	padding-bottom: 16rem;
}

.p-serviceList{
	padding-left: 11.3rem;
}

.p-serviceListItem:not(:last-of-type){
	padding-bottom: 6rem;
	margin-bottom: 6rem;
	border-bottom: solid 2px var(--border-w20);
}

.p-serviceListImg{
	width: 44.7%;
}

.p-serviceListTxt{
	width: 53.4%;
}

.p-serviceListTtl p{
	font-size: clamp(10px,1.6rem,18px);
	color: var(--font-w60);
	padding-bottom: 2rem;
	font-weight: 900;
	line-height: 1;
}

.p-serviceListTtl h5{
	font-size: clamp(48px,5.6rem,64px);
	font-family: 'fort-xcondensed' sans-serif;
	font-weight: 800;
	line-height: 1;
}

.p-serviceListTtl h5.ja{
	font-size: clamp(24px, 4rem, 48px);
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 900;
	transform: skew(-10deg);
	font-style: unset;
}

.p-serviceListTxt>p{
	padding-top: 2rem;
}

.p-serviceListTxt a.non{
	pointer-events: none;
}

/* ---------------------------------------
* About
------------------------------------------ */

.p-vision{
	overflow: hidden;
}

.visionPara p{
	font-size: clamp(12px,1.8rem,20px);
}

.visionPara p:not(:last-of-type){
	padding-bottom: 3rem;
}


.slideWrap_vision{
	padding-top: 8rem;
	width: calc((156rem + 6rem) * 3);
}

.slideImg_vision{
	width: 156rem;
}

.mission-l{
	padding-top: 2rem;
	width: 30%;
}

.mission-r{
	width: 65.9%;
}

.missionTtl p{
	padding-top: 1rem;
	text-transform: uppercase;
	color: var(--font-w30);
	font-size: clamp(24px,4.8rem,56px);
}

.missionDetail{
	padding-top: 4.8rem;
	align-items: flex-end;
}

.missionImg{
	width: 39%;
}

.missionPara{
	width: 51.7%;
}

.missionPara p:not(:last-of-type){
	padding-bottom: 3rem;
}

.p-value{
	overflow: clip;
	position: relative;
	height: 100vh;
}

.valueMainTtl{
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
	pointer-events: none;
	margin: 0;
	opacity: 1;
}

.p-value .sectionInner_m{
	position: absolute;
	inset: 0;
	z-index: 10;
	padding: 0;
	display: block;
}

.valueCont{
	width: 100%;
	height: 100%;
}

.value-list{
	position: relative;
	width: 100%;
	height: auto;
	z-index: 10;
	will-change: transform;
}

.value-listItem{
	position: relative;
	width: 100%;
	z-index: 10;
	padding-bottom: 12rem;
}

.value-listImg{
	width: 38.35%;
}

.value-listItem:nth-of-type(odd) .value-listImg{
	padding-right: 11.2rem;
}

.value-listTxt{
	width: 38.35%;
	padding: 8rem 3rem;
	backdrop-filter: blur(60px);
	background-color: rgba(255,255,255,.2);
	border: solid 1px rgba(255, 255, 255, .1);
}

.valueTtl{
	padding-bottom: 1.6rem;
	margin-bottom: 2.4rem;
	border-bottom: solid 2px var(--border-w20);
}

.valueTtl p{
	color: var(--primary);
	font-size: clamp(16px,2.4rem,32px);
	padding-bottom: 1rem;
	text-transform: uppercase;
}

.valueTtl h3{
	font-size: clamp(16px,2.8rem,32px);
	line-height: 1.6;
	font-weight: 900;
	transform: skew(-15deg);
}

/* ---------------------------------------
* Member
------------------------------------------ */

.p-memberDetail:not(:last-of-type){
	padding-bottom: 12rem;
}

.p-member_l{
	width: 25.7%;
	height: 100%;
}


.p-member_r{
	width: 74.3%;
}

.p-memberList{
	column-gap: 3rem;
	row-gap: 4rem;
}

.p-memberList02{
	column-gap: 2.7rem;
	row-gap: 6rem;
}

.p-memberListItem{
	cursor: pointer;
	width: calc((100% - (3rem * 2)) / 3);
}

.p-memberList02 .p-memberListItem{
	width: calc((100% - (2.7rem * 3)) / 4);
}

.p-memberListTxt{
	padding-top: 2rem;
}

.position{
	font-size: clamp(10px,1rem,10px);
	font-weight: 900;
	padding-bottom: 1.4rem;
	line-height: 1.2;
}

.name {
	column-gap: 2rem;
}

.name span{
	display: block;
	line-height: 1;
	font-size: clamp(12px,1.6rem,18px);
	font-weight: 900;
}

.name span:last-of-type{
	font-size: clamp(10px,1.4rem,16px);
	text-transform: uppercase;
	color: var(--font-w40);
	padding-top: 0.4rem;
	font-weight: 800;
}

/* ---------------------------------------
* メンバーポップアップ
------------------------------------------ */

.memPop{
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	background-color: var(--bg-b);
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
	z-index: 10000000;
}

.memPop.is-active{
	visibility: visible;
	opacity: 1;
}

.mempop_close{
	width: 100%;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 10000;
	padding: 2.4rem 3rem;
	border-bottom: solid 3px var(--border-w20);
	background-color: var(--bg-b);
}

.closeBtn{
	width: fit-content;
	column-gap: 1.2rem;
	margin-left: auto;
	cursor: pointer;
	transition: all .3s;
}

.closeBtn:hover{
	opacity: .6;
}

.closeBtn p{
	padding-top: 0.2rem;
}

.closeBtn .icon{
	width: 2.4rem;
	height: 2.4rem;
	position: relative;
}

.closeBtn .icon::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.memPopDetail{
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 4rem;
}

.memPopCont{
	/* 	padding-left: 11.2rem; */
	position: relative;
	z-index: 2;
}

.memPopImg{
	width: 42.7%;
}

.memPopTxt{
	width: 48%;
}

.memPop_info{
	padding-bottom: 4.8rem;
	column-gap: 3rem;
	align-items: flex-end;
}

.memPop_info p{
	padding-bottom: 0.8rem;
	font-size: clamp(10px,1.2rem,14px);
}

.memPop_info p:last-of-type{
	line-height: 1;
	font-weight: 900;
	font-size: clamp(20px,2.8rem,32px);
}


.memPop_profile p{
	font-size: clamp(10px,1.4rem,14px);
	line-height: 1.8;
}

.txtSlide{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	white-space: nowrap;
	width: 100%;
}

.txtSlideInner {
	will-change: transform;
	animation: txtSlideAnim linear infinite;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-direction: normal;
	animation-play-state: running;
	column-gap: 6rem;
}

@keyframes txtSlideAnim {
	from {
		transform: translateX(0%)
	}

	to {
		transform: translateX(-200%)
	}
}

.txtSlideInner span{
	display: block;
	font-size: clamp(96px,16rem,176px);
	text-transform: uppercase;
	opacity: .1;
}

.txtSlide_value{
	position: static;
	transform: unset;
}

.txtSlide_value .txtSlideInner span{
	font-size: clamp(96px,12rem,160px);
	opacity: 1;
}

/* ---------------------------------------
* メンバーポップアップ
------------------------------------------ */

/* ---------------------------------------
* Company
------------------------------------------ */

.p-companyImg{
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-image: url(../img/company/fv.png);
}

.p-companyImg::after{
	content: "";
	display: block;
	padding-top: 48.4%;
}

.p-companyInfo{
	width: 65.9%;
	margin-left: auto;
}

.outline-defList{
	padding-bottom: 2.4rem;
	margin-bottom: 2.4rem;
	border-bottom: solid 2px var(--border-w20);
}

.outline-defList:first-of-type{
	padding-top: 2.4rem;
	border-top: solid 2px var(--border-w20);
}

.outline-defTtl{
	font-size: clamp(16px,2rem,24px);
	line-height: 1.6;
}

.outline-defDesc{
	font-size: clamp(12px,1.6rem,16px);
	font-weight: 900;
	line-height: 1.6;
	padding-top: 0.3rem;
}

.outline-defTtl{
	flex: 0 0 25.8%;
	width: 25.8%;
}

.outline-defDesc{
	flex: 1 1 auto;
}

.partner-list{
	column-gap: 3rem;
	row-gap: 2rem;
}

.partner-listItem{
	width: calc((100% - (3rem * 3)) /4);
	padding: 12rem 8rem;
	background: rgba(255, 255, 255, 10);
	background: linear-gradient(180deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0) 100%);
	border: solid 1px rgba(255, 255, 255,.2);
	backdrop-filter: 100px;
}

/* ---------------------------------------
* ページ共通
------------------------------------------ */
.pageNav>p{
	font-size: clamp(64px,8rem,96px);
	text-transform: uppercase;
	padding-bottom: 3rem;
	margin-bottom: 4.8rem;
	border-bottom: solid 3px #fff;
}

.pageNav-list{
	column-gap: 3rem;
}

.pageNav-listItem{
	width: calc((100% - (3rem * 1)) / 2);
}

.pageNav-listItem a{
	display: block;
	position: relative;
	overflow: hidden;
}

.pageNav-listImg{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	transition: all .3s;
}

.pageNav-listImg_about{
	background-image: url(../img/common/about.png);
}

.pageNav-listImg_company{
	background-image: url(../img/common/company.png);
}

.pageNav-listImg_member{
	background-image: url(../img/common/member.png);
}

.pageNav-listItem a:hover .pageNav-listImg{
	transform: scale(1.02);
}

.pageNav-listImg::after{
	content: "";
	display: block;
	padding-top: 56.8%;
}

.pageNav-listTxt{
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 4rem 3rem 2.4rem;
	position: absolute;
	left: 0;
	top: 0;
}

.pageNav-listTtl p{
	color: var(--font-w60);
	font-size: clamp(10px,1.2rem,14px);
	font-weight: 900;
	line-height: 1.6;
	padding-bottom: 1rem;
}

.pageNav-listTtl h3{
	font-size: clamp(32px,4.8rem,64px);
	text-transform: uppercase;
}

/* ---------------------------------------
* Recruit
------------------------------------------ */

.job-l{
	width: 40.3%;
}

.job-l h3{
	font-size: clamp(24px,3.2rem,40px);
	font-weight: 900;
	line-height: 1.6;
}

.job-l p{
	font-size: clamp(12px,2rem,24px);
	font-weight: 900;
	line-height: 1.6;
	padding-top: 3rem;
}

.job-tablistItem{
	position: relative;
	cursor: pointer;
	padding: 2rem 0;
	border-bottom: solid 1px var(--border-w20);
	font-size: clamp(10px,1.4rem,14px);
	transition: all .3s;
	line-height: 1.6;
}

.job-tablistItem.current,.job-tablistItem:hover{
	padding-left: 2rem;
}

.job-tablistItem.current::before,.job-tablistItem:hover::before{
	content: "";
	display: block;
	width: 0.4rem;
	height: 0.4rem;
	background-color: #fff;
	border-radius: 100px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: all .3s;
}

.job-r{
	width: 57.3%;
}

.job-listItem{
	cursor: pointer;
	position: relative;
	padding: 2.4rem 0;
	border-bottom: solid 2px #fff;
}

.job-listItem:first-of-type{
	padding-top: 0;
}

.jobIcon{
	width: .9rem;
	height: .9rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.jobIcon svg{
	position: absolute;
	left: 0;
	top: 0;
}

.job-tabPanel {
	display: none;
}

.job-tabPanel.is-active {
	display: block;
}

.messTxt .mainTtl04{
	line-height: 1.2;
}

.messImg{
	width: 31.8%;
}

.messTxt{
	width: 57.2%;
}

.messPara{
	padding-top: 6rem;
}

.messPara p{
	font-size: clamp(12px,1.8rem ,20px);
}

.messPara p:not(:last-of-type){
	padding-bottom: 3rem;
}

.comdecktxtWrap{
	align-items: flex-end;
}

.comdeckDetail{
	margin: 0 auto;
	width: 65.1%;
}

.ceoImg{
	width: 34%;
}

.ceoPara p{
	font-size: clamp(12px,1.6rem,18px);
}

.ceoName{
	padding-top: 4rem;
	width: 25.7%;
	margin-left: auto;
}

.ceoName p{
	line-height: 1.6;
}

.ceoName p:first-of-type{
	font-size: clamp(10px,1.2rem,14px);
	padding-bottom: .4rem;
}


.welfareTtl .subTtl05{
	padding-left: 0;
}

.welfareTtl .subTtl05::after{
	display: none;
}

.welfareTtlWrap>p,.welfareOther>p{
	padding-top: 4rem;
	font-weight: 900;
	font-size: clamp(12px,1.8rem,20px);
}

.welfare-list{
	column-gap: 3rem;
}

.welfare-listItem{
	position: relative;
	width: calc((100% - (3rem * 1)) / 2);
}

.welfare-listImg{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	background-image: url(../img/recruit/welfare01.png);
}

.welfare-listItem:last-of-type .welfare-listImg{
	background-image: url(../img/recruit/welfare02.png);
}

.welfare-listImg::after{
	content: "";
	display: block;
	padding-top: 71.1%;
}

.welfare-listTxt{
	padding: 4rem 2.4rem 2.4rem;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.welfare-listTtl p{
	color: var(--font-w40);
	font-size: clamp(10px,1.2rem,14px);
	font-weight: 900;
	padding-bottom: 1rem;
}

.welfare-listTtl h3{
	text-transform: uppercase;
	font-size: clamp(24px,4.8rem,64px);
}

.welfare-listTxt>p{
	text-align: right;
}

.welfareOther{
	padding-top: 0;
}

.welfare-sublist{
	column-gap: 3rem;
	row-gap: 4rem;
}

.welfare-sublistItem{
	width: calc((100% - ( 3rem * 3)) / 4);
	padding-top: 2rem;
	border-top: solid 2px #fff;
}

.welfare-sublistItem h4{
	font-size: clamp(14px,1.6rem,18px);
	font-weight: 900;
	line-height: 1.6;
}

.welfare-sublistItem p{
	font-size: clamp(10px,1.2rem,14px);
	line-height: 1.6;
	padding-top: 1.6rem;
}

.flow-list{
	margin-top: 6rem;
	border: solid 1px #fff;
	padding: 2rem 0;
}

.flow-listItem{
	text-align: center;
	width: calc(100% / 5);
	padding: 1.6rem 2.4rem;
	border-right: solid 1px #fff;
}

.flow-listItem:last-of-type{
	border-right: unset;
}

.flow-listTtl p{
	text-transform: uppercase;
	font-size: clamp(10px,1.4rem,16px);
	padding-bottom: .4rem;
}

.flow-listTtl h3{
	line-height: 1.6;
	font-weight: 900;
}

.faqWrap{
	width: 65.9%;
}

.faq-defList{	
	padding: 2.4rem 0;
	border-bottom: solid 2px #fff;
}

.faq-defList:first-of-type{
	border-top: solid 2px #fff;
}

.faq-defTtl{
	cursor: pointer;
}

.faqTtl{
	font-size: clamp(12px,1.6rem,18px);
	line-height: 1.6;
	font-weight: 900;
}

.faq-defDesc{
	display: none;
	padding-top: 2rem;
	font-size: clamp(10px,1.4rem,16px);
	letter-spacing: -0.02em;
	line-height: 1.6;
}

.faqIcon{
	width: 2rem;
	height: 2rem;
	position: relative;
	transition: all .3s;
}

.faq-defTtl.open .faqIcon{
	transform: rotate(135deg);
}

.faqIcon svg{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}


/* ---------------------------------------
* 募集職種ポップ
------------------------------------------ */

.jobPop{
	visibility: hidden;
	pointer-events: none;
	position: fixed;
	width: 100%;
	height: 100%;
	overflow: scroll;
	left: 0;
	top: 0;
	z-index: 400000;
}

.jobPop.is-open{
	visibility: visible;
	pointer-events: auto;
}

.jobPopBg{
	position: fixed;
	opacity: 0;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: rgba(0, 0, 0, .8);
	transition: all .4s;
	z-index: 3100;
	cursor: pointer;
}

.jobPop.is-open .jobPopBg{
	animation: jobPopBg .3s forwards;
}

@keyframes jobPopBg {
	0% {
		opacity: 0
	}

	to {
		opacity: 1
	}
}

.jobDetail{
	background-color: var(--bg-b);
	width: 65.2%;
	overflow: scroll;
	padding: 8rem 6rem;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 3500;
	transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
	transform: translate(120%);
}

.jobPop.is-open .jobDetail{
	transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
	transform: translate(0);
}

.jobPop.is-closing .jobDetail{
	transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
	transform: translate(120%);
}

.jobDetailTtl{
	padding-bottom: 3rem;
}

.jobDetail h3{
	font-size: clamp(16px,2rem,24px);
	font-weight: 700;
}

.jobDetailImg{
	width: 60%;
	padding-bottom: 4rem;
}

.jobDetail-defList{
	padding-bottom: 2.4rem;
	margin-bottom: 2.4rem;
	border-bottom: solid 1px var(--border-w20);
}

.jobDetail-defList:first-of-type{
	border-top: solid 1px var(--border-w20);
	padding-top: 2.4rem;
}

.jobDetail-defList:last-of-type{
	padding-bottom: 0;
	border-bottom: unset;
}

.jobDetail-defTtl{
	flex: 0 0 20.12%;
	width: 20.12%;
	font-weight: 500;
	font-size: clamp(10px,1.4rem,14px);
}

.jobDetail-defDesc{
	flex: 1 1 auto;
	font-size: clamp(10px,1.4rem,14px);
}

.jobcloseBtn{
	cursor: pointer;
	position: fixed;
	top: 3rem;
	right: 3rem;
}

.jobcloseBtn p{
	text-transform: uppercase;
	padding-right: .2rem;
	padding-top: 0.3rem;
}

.jobcloseBtnIcon{
	width: 2.4rem;
	height: 2.4rem;
	position: relative;
	margin-left: .8rem;
}

.jobcloseBtnIcon svg{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

/* ---------------------------------------
* お知らせ
------------------------------------------ */

.t-newsWrap{
	align-items: flex-end;
	flex-direction: row-reverse;
}

.p-news_l{
	width: 14.7%;
}

.news-sidemenu{
	position: sticky;
	top: 10rem;
	padding-top: 2rem;
	border-top: solid 2px var(--border-w20);
}

.news-sidemenu p{
	text-transform: uppercase;
	font-size: clamp(16px,3.2rem,40px);
	padding-bottom: 2rem;
}

.news-sidemenu_listItem:not(:last-of-type){
	margin-bottom: 1.6rem;
}

.news-sidemenu_listItem a{
	display: block;
	font-size: clamp(10px,2rem,24px);
	text-transform: uppercase;
	color: var(--font-w40);
	position: relative;
	transition: all .3s;
}

.news-sidemenu_listItem a:hover,.news-sidemenu_listItem.current a{
	padding-left: 1.6rem;
	color: #fff;
}

.news-sidemenu_listItem a::before{
	content: "";
	display: block;
	background-color: var(--primary);
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 100px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	opacity: 0;
	transition: all .3s;
}

.news-sidemenu_listItem a:hover::before,.news-sidemenu_listItem.current a::before{
	opacity: 1;
}


.p-news_r{
	width: 74.2%;
}




@media screen and (max-width:768px) {

	/* ---------------------------------------
	* common
	------------------------------------------ */

	.btn.sp{
		display: block;
	}

	.sp{
		display: block;
	}

	.pc{
		display: none;
	}

	.bg-b{
		background-repeat: repeat-y;
		background-size: 100% auto;
	}

	/* ---------------------------------------
	* TOP
	------------------------------------------ */

	.fv{
		padding: 12rem 2rem 2.4rem;
		background-position: right;
	}

	.fv::before{ 
		background-position:right; 
	}

	.fvTtl>p{
		font-size: 2.4rem;
		margin-bottom: 1rem;
	}

	.fvTtl h2 p{
		font-size: 6.4rem;
	}

	.fvImg{
		width: 70%;
		margin: -3rem auto 0;
		height: 28rem;
	}

	.fvpara{
		width: 100%;
		text-align: center;
		position: static;
		right: 0;
		bottom: 8rem;
	}

	.fvpara p{
		font-size: 1rem;
		padding-top: 1.6rem;
		color: var(--font-w30);
	}

	.t-aboutWrap{
		position: relative;
	}

	.t-aboutImg{
		right: 0;
		top: -3rem;
		width: 35%;
	}

	.t-aboutTtl{
		width: 100%;
		padding-left: 0;
	}

	.t-aboutTtl h2{
		font-size: 6.4rem;
	}

	.t-aboutTtl p{
		top: 50%;
		transform: translateY(-50%);
		font-size: 1.4rem;
	}

	.t-aboutTtl h2 span{
		-webkit-text-stroke: 1px #fff;
	}

	.t-aboutCont{
		padding-top: 2rem;
		display: flex;
		flex-direction: column-reverse;
	}

	.t-aboutContImgwrap{
		width: 100%;
		padding-top: 2.4rem;
	}

	.t-aboutContImg01{
		width: 75%;
	}

	.t-aboutContImg02{
		width: 45.9%;
		padding-top: 2rem;
	}

	.t-aboutPara{
		width: 100%;
		padding-bottom: 0;
	}

	.t-aboutPara p{
		font-size: 1.4rem;
	}

	.t-aboutPara p:not(:last-of-type){
		padding-bottom: 2rem;
	}

	.t-serviceColumn_img{
		width: 100%;
	}

	.t-serviceColumn_txt{
		width: 100%;
		padding-top: 2.4rem;
	}

	.t-serviceColumn_txt h3{
		font-size: 2.4rem;
		padding-bottom: 2rem;
	}

	.t-serviceDetail:not(:last-of-type){
		margin-bottom: 8rem;
	}

	.t-serviceDetailTtl{
		display: block;
	}

	.t-serviceDetailTtl h4{
		font-size: 4.8rem;
		text-transform: uppercase;
	}

	.t-serviceDetailTtl p{
		padding-top: 1rem;
		font-size: 1.4rem;
	}

	.t-serviceDetail_listItem{
		width: 100%;
	}

	.t-serviceDetail_listItem:not(:last-of-type){
		margin-bottom: 2.4rem;
	}

	.t-serviceDetail_img::after{
		padding-top: 74.7%;
	}

	.t-serviceDetail_listTxt{
		padding: 2rem;
	}

	.t-serviceNum{
		font-size: 2.4rem;
	}

	.t-serviceDetail_ttl h5{
		font-size: 3.6rem;
	}

	.t-serviceDetail_ttl h5.ja{
		font-size: 2.4rem;
	}

	.slideWrap_mem{
		margin-top: -3rem;
		column-gap: 2rem;
	}

	.slideImg_mem{
		width: 100rem;
	}

	.t-newsWrap .news-list{
		width: 100%;
	}

	.t-news .btnWrap{
		padding-top: 4rem;
	}

	.t-news .btn02{
		margin-left: auto;
	}

	/* ---------------------------------------
	* Service
	------------------------------------------ */

	.p-serviceDetail:not(:last-of-type){
		padding-bottom: 10rem;
	}

	.p-serviceList{
		padding-left: 0;
	}

	.p-serviceListItem:not(:last-of-type){
		padding-bottom: 4rem;
		margin-bottom: 4rem;
	}

	.p-serviceListImg{
		width: 100%;
	}

	.p-serviceListTxt{
		width: 100%;
		padding-top: 3rem;
	}

	.p-serviceListTtl p{
		font-size: 1.4rem;
		padding-bottom: 1rem;
	}

	.p-serviceListTtl h5{
		font-size: 3.2rem;
	}

	.p-serviceListTtl h5.ja{
		font-size: 2.4rem;
	}

	.p-serviceListTxt>p{
		padding-top: 2rem;
	}

	/* ---------------------------------------
	* About
	------------------------------------------ */

	.visionPara p{
		font-size: 1.6rem;
	}

	.visionPara p:not(:last-of-type){
		padding-bottom: 2rem;
	}

	.slideWrap_vision{
		padding-top: 4rem;
		width: calc((78rem + 3rem) * 3);
	}

	.slideImg_vision{
		width: 78rem;
	}

	.mission-l{
		padding-top: 0;
		width: 100%;
	}

	.mission-r{
		width: 100%;
		padding-top: 4rem;
	}

	.missionTtl p{
		font-size: 2.4rem;
	}

	.missionDetail{
		padding-top: 4.8rem;
		align-items: flex-end;
	}

	.missionImg{
		width: 60%;
	}

	.missionPara{
		width: 100%;
		padding-top: 2.4rem;
	}

	.missionPara p:not(:last-of-type){
		padding-bottom: 2rem;
	}
	.p-value{
		height: auto;
		padding-top: 10rem;
	}

	.valueMainTtl{
		position: relative;
		height: auto;
	}

	.p-value .sectionInner_m{
		position: relative;
		padding-top: 4rem;
	}

	.value-listItem{
		height: auto;
		min-height: auto;
	}

	.value-listItem:not(:last-of-type){
		padding-bottom: 4rem;
	}

	.value-listItem:last-of-type{
		padding-bottom: 0;
	}


	.value-listImg{
		width: 100%;
	}

	.value-listItem:nth-of-type(odd) .value-listImg{
		padding-right: 0;
	}

	.value-listTxt{
		width: 100%;
		margin-top: 2rem;
		padding: 4rem 3rem;
	}

	.valueTtl{
		padding-bottom: 1.6rem;
		margin-bottom: 2rem;
	}

	.valueTtl p{
		font-size: 1.6rem;
	}

	.valueTtl h3{
		font-size: 2rem;
	}

	/* ---------------------------------------
	* Member
	------------------------------------------ */

	.p-memberDetail:not(:last-of-type){
		padding-bottom: 8rem;
	}

	.p-member_l{
		width: 100%;
		height: auto;
	}

	.p-member_l .ttlWrap{
		position: static;
	}

	.p-member_r{
		width: 100%;

	}

	.p-memberList{
		padding-top: 3rem;
	}

	.p-memberList02{
		display: flex;
		column-gap: 1rem;
		row-gap: 3rem;
	}

	.p-memberListItem{
		width: 100%;
	}

	.p-memberListItem:not(:last-of-type){
		margin-bottom: 4rem;
	}

	.p-memberList02 .p-memberListItem{
		width: calc((100% - (1rem * 1)) / 2);
	}

	.p-memberList02 .p-memberListItem:not(:last-of-type){
		margin-bottom: 0;
	}

	.p-memberListTxt{
		padding-top: 2rem;
	}

	.position{
		font-size: 1rem;
		padding-bottom: 1rem;
	}

	.name {
		column-gap: 1rem;
	}

	.name span{
		font-size: 1.4rem;
	}

	.name span:last-of-type{
		font-size: 1rem;
	}

	/* ---------------------------------------
	* メンバーポップアップ
	------------------------------------------ */

	.memPop{
		padding-bottom: 6rem;
		overflow: scroll;
	}

	.mempop_close{
		z-index: 10000;
		padding: 1.6rem 2rem;
		border-bottom: solid 2px var(--border-w20);
	}

	.closeBtn{
		column-gap: .8rem;
	}

	.closeBtn p{
		padding-top: 0.2rem;
	}

	.closeBtn .icon{
		width: 2rem;
		height: 2rem;
	}

	.memPopDetail{
		margin-top: 8rem;
		height: auto;
	}

	.memPopCont{
		padding-left: 0rem;
		width: 80%;
		margin: 0 auto;
	}

	.memPopImg{
		width: 100%;
	}

	.memPopTxt{
		width: 100%;
		padding-top: 3rem;
	}

	.memPop_info{
		padding-bottom: 2.4rem;
		column-gap: 2rem;
	}

	.memPop_info p{
		font-size: 1.2rem;
	}

	.memPop_info p:last-of-type{
		font-size: 1.8rem;
	}

	.memPopTxt>p{
		line-height: 1.8;
	}

	.memPop_profile p{
		font-size: 1.2rem
	}

	.memPop_profile p br{
		display: none;
	}

	.txtSlideInner {
		column-gap: 3rem;
	}

	.txtSlideInner span{
		font-size: 9.6rem;
	}

	.txtSlide_value .txtSlideInner span{
		font-size: 6.4rem;
	}

	/* ---------------------------------------
	* メンバーポップアップ
	------------------------------------------ */

	/* ---------------------------------------
	* Company
	------------------------------------------ */
	.p-companyImg{
		background-position: center;
		background-image: url(../img/company/fv-sp.png);
	}

	.p-companyImg::after{
		padding-top: 141%;
	}

	.p-companyInfo{
		width: 100%;
	}

	.outline-defList{
		padding-bottom: 2rem;
		margin-bottom: 2rem;
	}

	.outline-defList:first-of-type{
		padding-top: 2rem;
	}

	.outline-defTtl{
		font-size: 1.8rem;
	}

	.outline-defDesc{
		font-size: 1.4rem;
		padding-top: 0.2rem;
	}

	.outline-defTtl{
		width: 100%;
	}

	.partner-list{
		column-gap: 1rem;
		row-gap: 1.6rem;
	}

	.partner-listItem{
		width: calc((100% - (1rem * 1)) /2);
		padding: 6rem 3rem;
	}

	/* ---------------------------------------
	* ページ共通
	------------------------------------------ */
	.pageNav>p{
		font-size: 4.8rem;
		padding-bottom: 2.4rem;
		margin-bottom: 3rem;
	}

	.pageNav-listItem{
		width: 100%;
	}

	.pageNav-listItem:not(:last-of-type){
		margin-bottom: 2rem;
	}

	.pageNav-listImg::after{
		padding-top: 75%;
	}

	.pageNav-listTxt{
		padding: 2rem;
		position: absolute;
		left: 0;
		top: 0;
	}

	.pageNav-listTtl p{
		font-size: 1.2rem;
		padding-bottom: .8rem;
	}

	.pageNav-listTtl h3{
		font-size: 3.2rem;
	}

	.pageNav-listBtn .btn02{
		margin-right: 0;
	}

	/* ---------------------------------------
	* Recruit
	------------------------------------------ */

	.job-l{
		width: 100%;
	}

	.job-l h3{
		font-size: 2.4rem;
	}

	.job-l p{
		font-size: 1.4rem;
		padding-top: 1.6rem;
	}

	.job-tablistItem{
		padding: 1.6rem 0;
		font-size: 1.2rem;
	}

	.job-r{
		width: 100%;
		margin-top: 4rem;
	}

	.job-listItem{
		padding: 2rem 0;
	}

	.messTxt .mainTtl04{
		line-height: 1.2;
	}

	.messImg{
		width: 65%;
	}

	.messTxt{
		margin-top: 3rem;
		width: 100%;
	}

	.messPara{
		padding-top: 2.4rem;
	}

	.messPara p{
		font-size: 1.4rem;
	}

	.messPara p:not(:last-of-type){
		padding-bottom: 2rem;
	}

	.comdecktxtWrap>p{
		padding-top: 2.4rem;
	}

	.comdeckDetail{
		width: 100%;
	}

	.ceoImg{
		width: 65%;
	}

	.ceoPara p{
		font-size: 1.4rem;
	}

	.ceoName{
		padding-top: 3rem;
		width: 35%;
	}

	.ceoName p{
		line-height: 1.6;
	}

	.ceoName p:first-of-type{
		font-size: 1.2rem;
		padding-bottom: .4rem;
	}

	.welfareTtlWrap>p,.welfareOther>p{
		padding-top: 2.4rem;
		font-size: 1.4rem;
	}

	.welfare-listItem{
		width: 100%;
	}

	.welfare-listItem:not(:last-of-type){
		margin-bottom: 1.6rem;
	}

	.welfare-listImg::after{
		padding-top: 75%;
	}

	.welfare-listTxt{
		padding: 3rem 2rem 2rem;
	}

	.welfare-listTtl p{
		font-size: 1.2rem;
		padding-bottom: .6rem;
	}

	.welfare-listTtl h3{
		font-size: 4rem;
	}

	.welfare-sublist{
		display: flex;
		column-gap: 2rem;
		row-gap: 3rem;
	}

	.welfare-sublistItem{
		width: calc((100% - ( 2rem * 1)) / 2);
		padding-top: 1.6rem;
		border-top: solid 1px #fff;
	}

	.welfare-sublistItem h4{
		font-size: 1.4rem;
	}

	.welfare-sublistItem p{
		font-size: 1rem;
		padding-top: 1rem;
	}

	.flow-list{
		margin-top: 4rem;
		padding: 0 2rem;
	}

	.flow-listItem{
		width: 100%;
		padding: 3rem 1rem;
		border-right: unset;
		border-bottom: solid 1px #fff;
	}

	.flow-listItem:last-of-type{
		border-bottom: unset;
	}

	.flow-listTtl p{
		text-transform: uppercase;
		font-size: clamp(10px,1.4rem,16px);
		padding-bottom: .4rem;
	}

	.flow-listTtl h3{
		line-height: 1.6;
		font-weight: 900;
	}

	.faqWrap{
		width: 100%;
		padding-top: 4rem;
	}

	.faq-defList{	
		padding: 2rem 0;
		border-bottom: solid 1px #fff;
	}

	.faq-defList:first-of-type{
		border-top: solid 1px #fff;
	}

	.faq-defTtl{
		position: relative;
	}

	.faqTtl{
		width: 90%;
		font-size: 1.4rem;
		font-weight: 800;
	}

	.faq-defDesc{
		padding-top: 1.6rem;
		font-size: 1.2rem;
	}

	.faqIcon{
		position: absolute;
		right: 0;
		top: .6rem;
		width: 1.2rem;
		height: 1.2rem;
	}


	/* ---------------------------------------
	* 募集職種ポップ
	------------------------------------------ */

	.jobDetail{
		width:100%;
		padding: 6rem 2rem;
		height: 100%;
	}

	.jobDetailTtl{
		padding-bottom: 3rem;
	}

	.jobDetail h3{
		padding-bottom: 1.6rem;
		font-size: 1.8rem;
	}

	.jobDetailImg{
		width: 100%;
		padding-bottom: 4rem;
	}

	.jobDetail-defList{
		padding-bottom: 2.4rem;
		margin-bottom: 2.4rem;
	}

	.jobDetail-defList:first-of-type{
		padding-top: 2.4rem;
	}

	.jobDetail-defList:last-of-type{
		padding-bottom: 0;
		border-bottom: unset;
	}

	.jobDetail-defTtl{
		width: 100%;
		font-size: 1.4rem;
		color: var(--font-w40);
	}

	.jobDetail-defDesc{
		font-size: 1.4rem;
		padding-top: 0.8rem;
	}

	.jobcloseBtn{
		top: 2rem;
		right: 1rem;
	}

	.closeBtnIcon{
		width: 1.6rem;
		height: 1.6rem;
		position: relative;
		margin-left: .8rem;
	}

	.closeBtnIcon svg{
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}


	/* ---------------------------------------
	* お知らせ
	------------------------------------------ */

	.t-newsWrap .btnWrap{
		padding-top: 3rem;
	}

	.p-news_l{
		width: 100%;
	}

	.news-sidemenu{
		position: static;
		top: 10rem;
		padding-top: 2rem;
	}

	.news-sidemenu p{
		font-size: 1.8rem;
		padding-bottom: 2rem;
	}

	.news-sidemenu_list{
		display: flex;
		column-gap: 1rem;
		row-gap: .6rem;
	}

	.news-sidemenu_listItem:not(:last-of-type){
		margin-bottom: 1.6rem;
	}

	.news-sidemenu_listItem a{
		font-size: 1.4rem;
	}

	.news-sidemenu_listItem a:hover,.news-sidemenu_listItem.current a{
		padding-left: 1rem;
	}

	.news-sidemenu_listItem a::before{
		width: 0.6rem;
		height: 0.6rem;
	}

	.news-sidemenu_listItem a:hover::before,.news-sidemenu_listItem.current a::before{
		opacity: 1;
	}


	.p-news_r{
		width: 100%;
		padding-top: 4rem;
	}


}

