@charset "utf-8";
/* =========================
  header
========================= */
#header_wrap{
	background:transparent;
}
#header_wrap.smallhead{
	background:transparent!important;
}


#header_wrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10000;
}

#header_wrap.smallhead #header_area {
    padding: 15px 2%;
    background: #ffffff5e;
    margin: 15px;
    border-radius: 8px;
    backdrop-filter: blur(23px) brightness(0.91);
}

body.is-menu-open #header_wrap {
	z-index: 10001;
	transform: translateY(0) !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

body.is-menu-open {
	position: fixed;
	left: 0;
	width: 100%;
	overflow: hidden;
}

#header_wrap .logo_recruit_white {
    display: block;
}

#header_wrap .logo_recruit_black {
    display: none;
}

#header_wrap.smallhead .logo_recruit_white {
    display: none;
}

#header_wrap.smallhead .logo_recruit_black {
    display: block;
}

#logo{
	z-index: 10000;
}

#toggle.sp_size {
	display: block !important;
}

#toggle {
	position: relative;
	width: 98px;
	height: 98px;
	z-index: 9000;
	margin-left: 12px;
	background: #2750DF;
	border-radius: 12px;
	overflow: hidden;
}

    #toggle a { 
        display: block;
/* 		width: 45px;
		height: 45px; */
		width: 100%;
    	height: 100%;
        position: relative;
    }

    #toggle a span,
    #toggle a::before,
    #toggle a::after {
        content: "";
        position: absolute;
        display: block;
		background: #fff;
		width: 45px;
		height: 2px;
        left: 0;
        right: 0;
        margin: auto;
        transition: all 0.3s;
    }

    #toggle a::before {
        top: 31px;
    }

    #toggle a span {
        top: 41px;
    }

    #toggle a::after {
        top: 51px;
    }
	
	 /* MENU文字 */
    #toggle a em {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 22px;
        display: block;
        font-family: "Poppins", sans-serif;
        font-size: 14px;
        font-weight: 600;
		font-style: normal;
        line-height: 1;
        letter-spacing: 0.08em;
        color: #fff;
        text-align: center;
    }

    #toggle a em::before {
        content: "MENU";
    }

    /* 開いた時の×表示 */
    #toggle a.open span {
        opacity: 0;
    }

    #toggle a.open::before {
        top: 41px;
        transform: rotate(45deg);
    }

    #toggle a.open::after {
        top: 41px;
        transform: rotate(-45deg);
    }

    /* PCの通常メニューを非表示 */
    #menu-box {
        display: none !important;
    }
	
/* menu_dis が外れたらメニューを表示 */
#menu-box:not(.menu_dis) {
	display: block !important;
	position: fixed;
	z-index: 8000;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100vh;
	padding-top: 90px;
	padding-bottom: 80px;
	box-sizing: border-box;
	overflow: auto;
	background: #1a39a3bf;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

    /* メニューの中身 */
    #menu-box:not(.menu_dis) #menu {
        display: block !important;
        width: 100%;
        padding: 40px;
    }

    #menu-box:not(.menu_dis) .menu_list {
        display: block !important;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    #menu-box:not(.menu_dis) .menu_item {
        display: block !important;
        width: 100%;
        margin: 0;
    }

#menu-box:not(.menu_dis) .menu_link,
#menu-box:not(.menu_dis) .menu_linkEn,
#menu-box:not(.menu_dis) .menu_linkJa,
#menu-box:not(.menu_dis) .h_sub_link {
    color: #fff !important;
}

#menu-box:not(.menu_dis) .menu_link .menu_linkJa {
	font-size: 18px;
}

#menu-box:not(.menu_dis) .menu_link .menu_linkEn {
	font-size: 15px;
}


#menu-box:not(.menu_dis) .h_sub_item {
	padding:0;
    margin: 0;
	list-style: none;
}

#menu-box:not(.menu_dis) .h_sub_item::before {
    content: none;
}

#menu-box:not(.menu_dis) .h_sub_list{
    padding:0;
    list-style: none;
}

#menu-box:not(.menu_dis) .h_sub_link {
	display:inline-block;
    padding:5px 0;
	text-decoration: none;
}

#menu-box:not(.menu_dis) a.h_sub_link{
	transition: all .3s ease;
}

#menu-box:not(.menu_dis) a.h_sub_link:hover {
    opacity: .7;
}
	
#menu-box .recruit-footer-corporate-link {
    grid-column: 1 / -1;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.04em;
	width: 100%;
    transition: opacity 0.2s ease;
}

#menu-box .recruit-footer-corporate-link:hover {
    opacity: .7;
}

#menu-box .recruit-footer-corporate-link__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #fff;
}

/*エントリーボタン*/

.recruit_header_right {
	display: flex;
	align-items: center;
	margin-left: auto;
	position: relative;
	z-index: 9001;
}

.recruit_header_entry a {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 276px;
	height: 98px;
	padding: 0 0 0 28px;
	background: #ED1C24;
	border-radius: 8px;
	color: #fff !important;
	text-decoration: none;
	font-family: "Poppins", sans-serif;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.03em;
	transition: all .3s;
}

.recruit_header_entry a:hover {
	background: #2750DF;
}
.recruit_header_entry_text {
	display: inline-block;
	line-height: 1;
}

.recruit_header_entry .c_btn__icon {
	position: relative;
	display: grid;
	place-items: center;
	width: 63px;
	height: 100%;
}

.recruit_header_entry .c_btn__icon::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 45px;
	background: rgba(255, 255, 255, .5);
	left: 0;
}

.recruit_header_entry .c_btn__iconImg {
	width: 12px;
	height: 18px;
	display: block;
}

/* 親メニュー */
#menu-box:not(.menu_dis) .menu_link {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
}

body.is-menu-open {
	overflow: hidden;
	height: 100vh;
}

@media screen and (min-width: 768px) {
    .h_parent_link.parent_btn::after {
        content: none;
    }
	/* メニュー全体 */
    #menu-box:not(.menu_dis) {
        padding-top: 180px;
        padding-left: 8%;
        padding-right: 8%;
    }

    #menu-box:not(.menu_dis) #menu {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0;
    }

    /* 横並び・複数カラム */
    #menu-box:not(.menu_dis) .menu_list {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr);
        gap: 60px 80px;
        align-items: start;
    }

    /* 親メニュー */
    #menu-box:not(.menu_dis) .menu_link {
        display: flex !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        padding: 0;
        text-align: left;
        font-weight: 700;
		border-bottom: 1px solid #ffffff75;
        padding-bottom: 16px;
    }

}
@media screen and (max-width: 767px) {
	#header_area{
		padding:8px 12px 8px 20px!important;
		gap: 8px;
	}
	#header_wrap.smallhead #toggle a span,
    #header_wrap.smallhead #toggle a::before,
    #header_wrap.smallhead #toggle a::after {
        background: #fff;
    }
	#menu-box:not(.menu_dis) #menu{
		padding:0 20px;
	}
	#menu-box:not(.menu_dis) .menu_link {
        display: flex !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
		padding: 20px 15px 21px;
        text-align: left;
        font-weight: 700;
    }
	#menu-box:not(.menu_dis) .h_sub_item{
		text-align:left;
		margin:10px 0;
	}
	#menu-box:not(.menu_dis) .h_sub_link{
		display:block;
		padding:5px 15px;
		font-weight:700;
	}
	#menu-box:not(.menu_dis) .h_sub_list{
		margin:0;
	}
	#menu-box:not(.menu_dis) .menu_link .menu_linkEn {
		font-size: 13px;
	}
	
	.h_sub_list {
        display: none;
    }
	.recruit_header_right {
		display: flex;
		align-items: center;
		margin-left: auto;
		gap: 8px;
		z-index: 10001;
	}

	.recruit_header_entry a {
		width: 120px;
		height: 48px;
		padding: 0 0 0 14px;
		border-radius: 3px;
		font-size: 13px;
	}

	.recruit_header_entry_text {
		font-size: 15px;
		line-height: 1;
	}

	.recruit_header_entry .c_btn__icon {
		width: 36px;
		height: 100%;
	}

	.recruit_header_entry .c_btn__icon::before {
		height: 26px;
	}

	.recruit_header_entry .c_btn__iconImg {
		width: 8px;
		height: auto;
	}

	#toggle {
		width: 48px;
		height: 48px;
		margin-left: 0;
		border-radius: 3px;
	}

	#toggle a {
		width: 100%;
		height: 100%;
	}

	#toggle a span,
	#toggle a::before,
	#toggle a::after {
		width: 24px;
		height: 2px;
	}

	#toggle a::before {
		top: 14px;
	}

	#toggle a span {
		top: 20px;
	}

	#toggle a::after {
		top: 26px;
	}

	#toggle a em {
		bottom: 6px;
		font-size: 8px;
	}

	#toggle a.open::before,
	#toggle a.open::after {
		top: 23px;
	}
}


/* =========================
  footer
========================= */
#footer_wrap.footer_recruit{
	background: linear-gradient(180deg, #2750DF 0%, #392b9d 45%, #8f1234 100%);
}
.footer_recruit .footer_main{
	max-width:1640px;
	padding:70px 20px 50px 20px;
	justify-content: flex-start;
	gap:12.5%;
}

.footer_recruit #footer_box{
	background:none;
}

.footer_recruit .footer_address{
	width:300px;
}

.footer_recruit .footer_address p{
/* 	font-size:40px; */
	font-size: clamp(24px, 3vw, 40px);
	font-weight:500;
	letter-spacing:0.2em;
	line-height:1.75;
	color:#fff;
	margin-bottom:30px;
}
.footer_recruit .recruit-footer-corporate-link {
    grid-column: 1 / -1;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.04em;
	margin: 40px 0 20px;
    transition: opacity 0.2s ease;
}
.footer_recruit .recruit-footer-corporate-link {
    grid-column: 1 / -1;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 12px;
	color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.04em;
    transition: opacity 0.2s ease;
}
.footer_recruit .recruit-footer-corporate-link__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #fff;
}
.footer_recruit  .recruit-footer-corporate-link:hover {
    opacity: 0.86;
}

.footer_recruit .footer_menu{
	max-width:250px;
}

.footer_recruit .footer_menu_list{
/* 	border-bottom:1px solid rgb(255 255 255 / 20%); */
	margin-bottom:17px;
	padding-bottom:15px
}

.footer_recruit .footer_menu_link{
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: #fff!important;
    gap: 7px;
	margin-bottom:0;
}
.footer_recruit .footer_menu_link.f_parent_link{
	margin-bottom:18px;
}

.footer_recruit .f_sub_item{
	padding-left: 0;
}

.footer_recruit .f_sub_item a{
	color:rgb(255 255 255 / 75%) !important;
}

.footer_recruit .f_sub_item:before{
	content:none;
}

.footer_recruit .footer_menu_linkEn{
	font-family: "Poppins", sans-serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.27;
	letter-spacing: 0;
}

.footer_recruit .footer_menu_linkJa{
    font-size: 15px;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0.1em;
    opacity: 0.75;
}


.footer_recruit .footer_menu_wrap{
	display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
	gap:0 68px;
	width:36%;
}


.footer_brand{
    display: block;
    width: 100%;
}

.footer_brand a{
    display: flex;
    align-items: center;
    gap: 13px;
    text-decoration: none;
    color: #fff!important;
}

.footer_brand img{
    max-width: 100px;
	width:100%;
    height: auto;
    display: block;
    flex: 0 0 100px;
}

.footer_brandText{
    display: flex;
    flex-direction: column;
    color: #fff;
	gap:4px;
}

.footer_brandTextJa{
	font-size: 18px;
	line-height: 1.55;
	letter-spacing: 0.1em;
}

.footer_brandTextEn{
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0.1em;
}

.footer_sns{
	display:flex;
	gap:13px;
}

.footer_sns_link{
	display:flex;
	border-radius:50%;
	background:#fff!important;
	width:48px;
	height:48px;
	justify-content: center;
    align-items: center;
	transition: all .3s ease;
	padding:0!important;
}

.footer_sns_link:hover{
	opacity: .7;
}

.footer_sns_icon{
    display:block;
}

.footer_sns_icon--youtube{
    width: 28px;
    height: auto;
}

.footer_sns_icon--line{
    width: 30px;
    height: auto;
}

.footer_sns_icon--instagram{
    width: 26px;
    height: auto;
}

.footer_recruit #footer_copy{
	max-width:1640px;
	padding-bottom:270px;
	background:none;
}

.footer_recruit .copyright span small{
	font-size:13px;
	color:rgb(255 255 255 / 65%);
	letter-spacing:0;
}

.footer_bgText{
    position: absolute;
    left:-3.6%;
    right: -16.6%;
	bottom:30px;
    margin: 0;
	font-family: "Poppins", sans-serif;
    font-size: clamp(90px, 14vw, 210px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
    color: rgba(255,255,255,0.10);
    white-space: nowrap;
    pointer-events: none;
    z-index: 1;
	display: flex;
    justify-content: center;
}

/* =========================
  共通：h2
========================= */
.c_secHead{
    display: grid;
    gap: 10px;
}

.c_secHead__ttlLine{
	display:flex;
}

.c_secHead__ttl{
	font-family: "Poppins", sans-serif;
	font-size: clamp(48px, 8vw, 120px);
	font-weight:600;
    margin: 0;
    line-height: .74;
    letter-spacing: 0;
}

.c_secHead__ttlRed,
.c_secHead__ttlBlue{
    display: block;
    font-weight: 600;
	font-size: clamp(48px, 8vw, 120px);
}

.c_secHead__ttlRed{ 
	color:#ED1C24;
}
.c_secHead__ttlBlue{ 
	color:#2750DF; 
}

.c_secHead__sub{
    margin: 0;
    font-weight: 700;
    font-size: clamp(14px, 1.4vw, 18px);
    color: #2750DF;
	letter-spacing: 0.1em;
}

/* =========================
  共通：ボタン置き場
========================= */
.c_btnWrap{
    display:flex;
    justify-content:flex-start; /* 右寄せなら flex-end */
    align-items:center;
}

/* =========================
  共通ボタン（他でも使える）
========================= */
.c_btn{
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    min-width: 280px;
    min-height: 98px;
    padding: 0 0 0 34px;
    border-radius: 12px;
    text-decoration:none;
}

/* テキスト */
.c_btn__text{
    display:inline-block;
	font-size: clamp(14px, 1.35vw, 20px);
	font-weight:700;
    line-height: 1;
	letter-spacing:0;
}

/* 右のアイコンエリア（区切り線あり） */
.c_btn__icon{
	position:relative;
    display:grid;
    place-items:center;
    width: 63px;
    height: 100%;
/*     border-left: 2px solid rgba(255,255,255,.50); */
}

.c_btn__icon:before{
	content:"";
	position:absolute;
	width:1px;
	height:55px;
	background:rgb(255 255 255 / 50%);
	left:0;
}

/* 矢印画像 */
.c_btn__iconImg{
    width: 12px;
    height: 18px;
    display:block;
}

/* Primary */
.c_btn--primary{
    background:#2750DF;
    color:#fff!important;
	transition: background-color .3s;
}

.c_btn--primary:hover {
	background:#ED1C24;
}
/*
.hero{
 	position:relative;
	min-height: 92vh;
 	overflow:hidden;
	background:#0d2dff;
}

.hero__media{
	inset:0;
	overflow:hidden;
}

.hero__media img{
	width:100%;
}
*/

/* =========================
  HERO
========================= */
.hero {
	position: relative;
	min-height: 1280px;
	overflow: hidden;
}

/* 背景画像を固定 */
.hero__media{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
    height: 100vh;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

.hero__media img{
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: center top;
	display: block;
}

/* 青い被せ */
/*
.hero__overlay{
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(
			180deg,
			rgba(39, 80, 223, 0.35) 0%,
			rgba(39, 80, 223, 0.35) 45%,
			rgba(39, 80, 223, 1) 100%
		);
}*/

/* キャッチコピー・大見出し */
.hero__catch_area{
	position: relative;
	z-index: 2;
	max-width: 1895px;
	margin: 0 auto;
	padding: 49vh 20px 0;
	box-sizing: border-box;
}

.hero__catch{
	margin: 0 0 12px;
	font-size: clamp(22px, 2.8vw, 42px);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.16em;
	color: #fff;
}

.hero__ttl{
	font-family: "Poppins", sans-serif;
	margin: 0;
	font-size: clamp(58px, 9.2vw, 173px);
	font-weight: 600;
	letter-spacing: -0.04em;
	line-height: 0.82;
	color: #fff;
	white-space: nowrap;
}

/* 本文エリア */
.hero__inner{
	position: relative;
	z-index: 2;
	max-width: 1640px;
	margin: 0 auto;
	padding: 170px 20px 170px;
	color: #fff;
	box-sizing: border-box;
}

.hero__lead{
	width: 50%;
	padding-left: 7.8%;
	padding-right: 2.5%;
	box-sizing: border-box;
}

.hero__leadTtl{
	margin: 0 0 42px;
	font-size: clamp(24px, 3vw, 42px);
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.08em;
	color: #fff;
}

.hero__text{
	margin: 0;
	font-size: clamp(13px, 1.1vw, 16px);
	font-weight: 700;
	line-height: 2.35;
	letter-spacing: 0.12em;
	color: #fff;
}

/* 右下の薄い英字 */
.hero__water{
	position: absolute;
	right: 20px;
	bottom: 80px;
	margin: 0;
	font-family: "Poppins", sans-serif;
	font-size: clamp(56px, 8vw, 120px);
	font-weight: 600;
	line-height: .9;
	letter-spacing: 0.03em;
	color: rgba(255,255,255,.22);
	text-align: right;
	pointer-events: none;
}







.hero__video{
  	width:100%;
  	height:100%;
  	object-fit:cover;
  	object-position:center;
  	display:block;
}

/* 青い被せ（デザインの色味合わせ用） */
.hero__overlay{
  	position:absolute;
  	inset:0;
 	background: linear-gradient(180deg, rgba(29, 60, 169, 0.27) 0%, rgba(39, 80, 223, 0.9) 40%, rgba(39, 80, 223, 1) 100%);
}
/*
.hero__catch_area{
	position:relative;
	max-width:1895px;
	padding: 0 20px;
	margin:0 auto;
}*/
.hero__catch_area{
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100vh - 205px);
	z-index: 2;
	max-width: 1895px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}



/*
.hero__inner{
 	position:relative;
	max-width:1640px;
	padding:235px 20px 80px 20px;
 	margin:0 auto;
 	color:#fff;
}*/


.hero__inner{
	position: relative;
	z-index: 2;
	max-width: 1640px;
	margin: 0 auto;
	padding: 138vh 20px 170px;
	color: #fff;
	box-sizing: border-box;
}


.hero__catch{ 
	margin:0 0 8px; 
	font-size: clamp(24px, 3.6vw, 54px);
	font-weight:700; 
	letter-spacing:0.1em; 
	color: #fff;
}
.hero__ttl{
	font-family: "Poppins", sans-serif;
	margin:0;
	font-size: clamp(56px, 9vw, 173px);
	font-weight:600;
 	letter-spacing:-0.03em;
	line-height:1.0;
	color: #fff;
}
.hero__lead{ 
	width:50%;
	padding-left: 7.8%;
    padding-right: 2.5%;
}
.hero__leadTtl{ 
	margin:0 0 14px; 
	font-size: clamp(24px, 3.2vw, 54px);
	font-weight:700; 
}
.hero__text{ 
	font-size: clamp(14px, 1.35vw, 20px);
	font-weight:500;
	margin:0;
}

.hero__water{
	font-family: Poppins, sans-serif;
	position:absolute;
	right:20px;
	bottom:-10px;
	margin:0;
/* 	font-size:120px; */
	font-size: clamp(56px, 8vw, 120px);
	font-weight:600;
	line-height:.9;
	letter-spacing:0;
	color: rgba(255,255,255,.33);
	text-align:right;
}

/* =========================
  ABOUT
========================= */
#index_about{
	position: relative;
	overflow: hidden;
	background: url(../img/recruit/top_about_bg.jpg);
	background-size:cover;
	padding: 180px 0 152px 0;
	z-index:1;
}

.about_area{
    position: relative;
/*  	min-height: 520px; */
 	display: grid;
 	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	max-width: 1640px;
    padding: 0 20px;
    margin: 0 auto;
}

/* 右側 */
.about_body{
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
	align-items: flex-end;
    gap: 55px;
}


.about_lead{
    display: flex;
    align-items: flex-start;
    gap:22px;
	margin-right:55px;
	margin-bottom:75px;
}

.about_num{
	margin: 0;
}

.about_copy{ 
	padding-top: 20px; 
}

.about_sub{
	position:relative;
    margin: 0 0 23px 0;
    font-weight: 700;
 	color: #2750DF;
    letter-spacing: 0;
/*     font-size: 46px; */
	font-size: clamp(24px, 3vw, 46px);
	line-height:1.4;
}

.about_sub:after{
	content:"";
	position:absolute;
	bottom:8px;
	left:0;
	right:0;
	width:100%;
	height:3px;
	background: #2750DF;
}

.about_text{
    margin: 0;
    font-weight: 700;
    color: #2750DF;
	font-size: clamp(18px, 2vw, 30px);
    line-height: 1.66;
	letter-spacing: 0.05em;
}

/* =========================
  下の英語：横スクロール
========================= */
.about_marquee{
    position: absolute;
    left: 0;
    right: 0;
    bottom: -27px;
/* 	position:relative; */
    overflow: hidden;
    pointer-events: none;
	z-index:-1;
}

.about_marquee__track{
    display: inline-flex;
    gap: 64px;
    white-space: nowrap;
    will-change: transform;
    animation: aboutMarquee 22s linear infinite;
}

.about_marquee__item{
	font-family: "Poppins", sans-serif;
    font-weight: 600;
	font-size: clamp(64px, 10vw, 160px);
    letter-spacing: 0;
	line-height:1.5;
    color: rgba(255,255,255,.30);
/*     mix-blend-mode: overlay; */
}

/* ループ */
@keyframes aboutMarquee{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-33.333%); }
}

/* =========================
  MEMBERS
========================= */
#index_members{
    position: relative;
    z-index: 1;
    background: #fff;
    padding: 80px 0;
}
.members_area{
    max-width:1640px;
    margin:0 auto;
	padding:0 20px;
    position:relative;
}

/* 見出し行 */
.members_head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:2.9%;
    margin-bottom: 22px;
}

.members_headRight{
	width:57.25%;
}

.members_area .c_btnWrap{
	justify-content: flex-end;
}

.members_headRight p{
	font-size: clamp(13px, 1.05vw, 16px);
	letter-spacing:0.1em;
	line-height:1.75;
	margin:0;
}

/* Slider */
.members_slider_block {
    padding-top: 57px;
    position: relative;
    width: calc(100vw - ((100vw - min(1640px, 100vw)) / 2) - 20px);
    padding-right: 60px;
    overflow: visible;
}

.members_slider {
    overflow: hidden;
    padding-bottom: 80px;
}

.members_slider .swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    transition-property: transform;
    box-sizing: content-box;
}

.members_slider .swiper-slide {
    width: 490px;
    height: 100%;
    flex-shrink: 0;
}

.members_slider .swiper-slide .members_card {
    margin-right: 0;
    height: 100%;
}
/* 基本位置 */
.members_slider .swiper-slide .members_card {
    padding-top: 0;
}

/* 2・4・6・8枚目を下へずらす */
.members_slider .swiper-slide.members_slide--lower .members_card {
    padding-top: 60px;
}

/* ナビ矢印（右上付近に置くイメージ） */
.members_nav{
    position:absolute;
    right: 7.1%;
    top: -25px;
    display:flex;
    gap:15px;
}
.members_arrow{
    width:54px;
    height:54px;
    border-radius: 5px;
	border: 1px solid #F5F5F5;
    background:#F5F5F5;
    cursor:pointer;
    position:relative;
}
.members_arrow::before{
    content:"";
    position:absolute;
    inset:0;
    margin:auto;
    width:10px;
    height:10px;
    border-top:2px solid #2750DF;
    border-right:2px solid #2750DF;
}
.members_arrow--prev::before{ transform: rotate(-135deg); }
.members_arrow--next::before{ transform: rotate(45deg); }

.members_arrow{
	transition: background .3s ease, border-color .3s ease;
}

.members_arrow::before{
	transition: border-color .3s ease;
}

.members_arrow:hover{
	background: #e7ecff;
	border-color: #e7ecff;
}
/*
.members_arrow:hover::before{
	border-top-color: #fff;
	border-right-color: #fff;
}*/

/* card */
.members_card{
    height: 100%;
}

.members_link{
    display:block;
    text-decoration:none;
    color: inherit;
}

.members_img{
    border-radius: 12px;
    overflow:hidden;
    background:#e8eefc;
    aspect-ratio: 1 / 1; 
}

.members_img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
	transition: transform .45s ease;
}

.members_link:hover .members_img img{
	transform: scale(1.08);
}

.members_cardTtl{
    margin:0 0 10px 0;
    font-weight: 700;
    color:#2750DF;
	font-size: clamp(16px, 1.8vw, 26px);
	letter-spacing:0;
    line-height: 1.38;
	transition: color .3s;
}

.members_link:hover .members_cardTtl{
    color: #ED1C24;
}

.members_body{
    padding: 18px 19px 0 19px;
}

.members_cardHead{
    display: flex;
    justify-content: space-between;
    gap: 15px;
}

.members_cardTtl_arrow{
	position:relative;
    flex: 0 0 48px;
    width: 48px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.members_cardTtl_arrow:before{
	content:"";
	position:absolute;
	left:0;
	top:5px;
	width:1px;
	height: calc(100% - 10px);
	background:#dddddd;
}

.members_cardTtl_arrow img{
    display: block;
    width: 12px;
    height: auto;
	margin-top:10px;
}

.members_cardTtl_arrow img{
	transition: filter .3s ease, transform .3s ease;
}

.members_link:hover .members_cardTtl_arrow img{
	filter: brightness(0) saturate(100%) invert(19%) sepia(98%) saturate(4035%) hue-rotate(350deg) brightness(98%) contrast(91%);
}

.members_name,
.members_position,
.members_joined{
    margin: 0;
    color: #222;
}

.members_name{
	font-size: clamp(14px, 1.6vw, 20px);
    font-weight: 500;
    line-height: 1.5;
}

.members_position,
.members_joined{
    margin-top: 3px;
    line-height: 1.5;
}
.members_position{
	font-size: clamp(13px, 1.4vw, 18px);
}
.members_joined{
	font-size: clamp(12px, 1.2vw, 16px);
}


/* =========================
  crosstalk
========================= */
/* セクション全体 */
#index_crosstalk{
    position: relative;
	padding-bottom:210px;
	background: #fff;
}

/* absolute画像の基準 */
.crosstalk_wrap{
    position: relative;
    min-height: 520px;
	background:#E7F1F8;
	padding:120px 0 150px 0;
}

.crosstalk_inner{
	max-width: 1600px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.crosstalk_panel{
    width: 33%;
    background:#eaf3fb;
    padding:0 24px 0 0;
    box-sizing: border-box;
}

.crosstalk_text{
    margin: 55px 0 60px;
    font-weight:700;
	font-size: clamp(18px, 2vw, 32px);
    line-height:1.875;
    color:#2750DF;
}

/* 右画像：ぴったり右寄せ absolute */
.crosstalk_media{
    position: absolute;
	width:64%;
    top: 100px;
    right: 0;
    overflow: hidden;
	max-height: 829px;
    height: 100%;
}
.crosstalk_media img{
    width:100%;
    height:100%;
    object-fit: cover;
    display:block;
	border-radius: 8px 0 0 8px; 
}

/* =========================
  DATA
========================= */
#index_data{
 	background:#fff;
}

.data_area{
	 position: relative;
	 overflow: hidden;
	 min-height: 520px;
}

/* 背景画像 */
.data_bg{
	 position:absolute;
	 inset:0;
	 z-index:0;
}
.data_bg img{
	 width:100%;
	 height:100%!important;
	 object-fit: cover;
	 display:block;
}

.data_area::before{
	 content:"";
	 position:absolute;
	 inset:0;
	 background: rgba(255,255,255,.09);
	 z-index:1;
}

/* 装飾数字 */
.data_numbers{
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
}

.data_num{
    position:absolute;
	font-family: "Poppins", sans-serif;
	font-style:italic;
    font-weight:600;
	line-height:1.4;
    letter-spacing:-0.05em;
    color:rgb(39 80 223 / 50%); 
/*     mix-blend-mode: multiply; */
    white-space: nowrap;
}

.data_num span{
	font-size: clamp(32px, 5vw, 80px);
}


.data_num--a{ 
    left: 1.5%;  
    top: -50px;  
	font-size: clamp(120px, 16vw, 280px);
    color: rgba(255,255,255,.60); 
}
.data_num--b{ 
    left: 14%; 
    top: 235px; 
	font-size: clamp(72px, 9vw, 150px);
}
.data_num--c{ 
    left: 8.33%;  
    bottom: 80px; 
	font-size: clamp(96px, 14vw, 240px);
}

.data_num--d{ 
	position:absolute;
  	left: 43.2%; 
    bottom: -72px; 
	font-size: clamp(140px, 18vw, 320px);
}


/* 中身（テキスト） */
.data_inner{
    position: relative;
    z-index:3;
    max-width: 1400px;
    margin: 0 auto;
	/*padding: 84px 20px 355px 20px;*/
    padding: 480px 20px 100px 20px;
    box-sizing: border-box;
	display: flex;
    justify-content: flex-end;
}

.data_body{
	width:50%;
	padding-left:2.6%;
}


.data_sub{
    margin: 0 0 16px;
    font-weight: 800;
    font-size: clamp(11px, 1vw, 14px);
    color: rgba(11,27,58,.75);
    }

.data_text{
    margin: 55px 0 40px;
    font-weight: 700;
	font-size:clamp(18px, 2vw, 32px);
    line-height: 1.875;
    color: #2750DF;
}

/* =========================
  背景グラデ用
========================= */
.recruit_gradBg{
    background: linear-gradient(180deg,#2750DF 0%,#2750DF 70%,#ED1C24 100%);
}

/* =========================
  BENEFITS
========================= */
#index_benefits{
	position: relative;
    overflow: hidden;
	padding:140px 0 510px 0;
	background: #2750DF;
}

/* max幅はサイト方針に合わせて */
.benefits_area{
    max-width: 1640px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
	display: grid;
    grid-template-columns: 50% 1fr;
}

/* 左ブロック */
.benefits_body{
    color:#fff;
    position: relative;
    z-index: 2;
}

#index_benefits .c_secHead__ttlBlue{ 
    color:#fff;
 }
#index_benefits .c_secHead__sub{ 
    color: #fff;
 }

/* 説明文 */
.benefits_text{
    margin: 18px 0 26px;
	font-size:clamp(18px, 2vw, 32px);
    font-weight: 700;
    line-height: 1.875;
    letter-spacing: .05em;
    color: #fff;
}

/*
.benefits_media{
	position:absolute;
	right:-344px;
	top:0;
	bottom:0;
	width:77%;
}

.benefits_media img{
    width: 100%;
    height: 100%!important;
    display:block;
    object-fit: cover;
	opacity:0.9;
	position: absolute;
	left: -190px;
	object-position: left;
}*/

.benefits_media{
	position: absolute;
	right: 120px;
	top: -180px;
	bottom: -180px;
	width: 45%;
	z-index: 1;
	display: flex;
	gap: 24px;
	justify-content: flex-end;
	pointer-events: none;
	transform: rotate(20deg);
	transform-origin: center center;
	overflow: hidden;
	opacity: .8;
}

.benefits_media_col{
	position: relative;
	width: 45%;
	height: 140%;
	overflow: hidden;
}

.benefits_media_track{
	display: flex;
	flex-direction: column;
	width: 100%;
	will-change: transform;
}

.benefits_media_track img{
	display: block;
	width: 100%;
	height: auto !important;
	object-fit: cover;
}

/* 1枚目：下から上へ */
.benefits_media_col--up .benefits_media_track{
	animation: benefitsSlideUp 72s linear infinite;
}

/* 2枚目：上から下へ */
.benefits_media_col--down .benefits_media_track{
	animation: benefitsSlideDown 72s linear infinite;
}

/* 下から上 */
@keyframes benefitsSlideUp{
	0%{
		transform: translateY(0);
	}
	100%{
		transform: translateY(-50%);
	}
}

/* 上から下 */
@keyframes benefitsSlideDown{
	0%{
		transform: translateY(-50%);
	}
	100%{
		transform: translateY(0);
	}
}

@media screen and (max-width:767px) {
	.benefits_media{
		right: -80px;
		top: 0;
		bottom: -260px;
		width: 95%;
		height: 760px;
		gap: 16px;
		opacity: .45;
		transform: rotate(20deg);
	}

	.benefits_media_col{
		width: 50%;
		height: 180%;
	}

	.benefits_media_col--up .benefits_media_track{
		animation-duration: 32s;
	}

	.benefits_media_col--down .benefits_media_track{
		animation-duration: 32s;
	}
}

/* =========================
  ボタン：白（BENEFITS用）
========================= */
.c_btn--ghost{
	 background:#fff;
	 color:#2750DF!important;
    transition: color, background-color .3s;
}

.c_btn--ghost:hover{
	 background:#ED1C24;
	 color:#fff!important;
}

.c_btn--ghost .c_btn__icon{
	
}
.c_btn--ghost .c_btn__icon:before{
	background:rgb(25 68 211 / 50%);
}

.c_btn--ghost:hover .c_btn__icon:before {
    background: rgb(255 255 255 / 50%);
}

.c_btn--ghost:hover .c_btn__iconImg{
	filter: brightness(0) invert(1);
}

/* =========================
  RECRUITMENT INFORMATION
========================= */
#index_recruitInfo{
    padding: 125px 0 115px 0;
    overflow:hidden;
}

.recruitInfo_area{
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.recruitInfo_ttl{
	font-family: "Poppins", sans-serif;
	font-size: clamp(44px, 6.5vw, 100px);
    font-weight: 600;
    letter-spacing: 0;
	line-height:0.84;
    color: #fff;
	margin: 0;
	text-align: center;
}

.recruitInfo_sub{
    margin:0 0 68px;
    font-size: clamp(14px, 1.4vw, 18px);
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #fff;
	text-align: center;
}

.recruitInfo_btnWrap{
    display:flex;
    justify-content:center;
}

/* =========================
  ENTRYボタン（c_btn派生）
========================= */
.c_btn--entry{
	background:#ED1C24;
	color:#fff!important;
	max-width:840px;
	width:100%;
	border-radius:11px;
	padding:30px 50px 30px 85px;
	min-height: 260px;
    transition: opacity .3s;
}

.c_btn--entry:hover{
	opacity: .8;
}

.recruitInfo_btnLeft{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap: 20px;
    min-width: 170px;
}

.recruitInfo_btnLabel{
	font-family: "Poppins", sans-serif;
    font-size: clamp(28px, 3.5vw, 50px);
    font-weight: 500;
    letter-spacing:0;
    line-height: 1;
}

.recruitInfo_btnNote{
	font-size: clamp(12px, 1.2vw, 16px);
    font-weight: 700;
    line-height: 1.5;
	letter-spacing: 0.1em;
    color: #fff;
}


.recruitInfo_btnText{
    font-size: clamp(22px, 3.5vw, 36px);
    font-weight: 500;
    letter-spacing: 0.2em;
	line-height:1.94;
    white-space: nowrap;
}

/* 右アイコンエリア（縦線付き） */
.c_btn--entry .c_btn__icon{
	width:80px;
	justify-content: end;
}

.c_btn--entry .c_btn__icon:before{
	height:120px;
}

.c_btn--entry .c_btn__iconImg{
	width:32px;
}



@media screen and (max-width:1024px) {
	.benefits_media{
		width:80%;
	}
	.benefits_media img{
		left:-340px;
	}
	
}
@media screen and (max-width:767px) {
	.hero__catch {
		font-size: clamp(18px, 2.6vw, 26px);
	}
	
	.hero__ttl{
		font-size: clamp(26px, 8vw, 34px);
	}

	#header_wrap.smallhead #header_area {
		margin: 0;
		border-radius: 0;
	}
	
	.hero__media img{
		object-position: 65% top;
	}	
	/* =========================
	  footer
	========================= */
	.footer_recruit .footer_menu_wrap{
		grid-template-columns: repeat(1, 1fr);
		width:100%;
	}
	.footer_recruit .footer_menu{
		max-width:100%;
	}
	.footer_recruit .footer_menu_link{
        padding: 0px 0 23px;
	}
	.footer_recruit .footer_menu_list{
		margin-bottom:15px;
	}
	.footer_recruit .footer_menu_link.f_parent_link{
		margin-bottom:0;
	}
	.footer_recruit .f_sub_list{
		margin-top:15px!important;
	}
	.footer_recruit .footer_menu_link.f_parent_link::before, 
	.footer_recruit .footer_menu_link.f_parent_link::after{
		background:#fff;
	}
	.footer_recruit .f_sub_link,.footer_recruit  .footer_lnk_top a{
		color:rgb(255 255 255 / 75%) !important;
		padding:15px 36px 15px 0;
	}
	.footer_recruit .footer_address{
		width:100%;
		text-align:left;
		margin-bottom:16px;
		padding-bottom:20px;
	}
	.footer_address strong{
		display: flex;
		width:100%;
	}
	.footer_sns{
		justify-content: center;
	}
	.footer_recruit #footer_copy{
		padding-bottom:150px;
	}
	
	
	/* =========================
	  top
	========================= */

	.c_btnWrap{
		width:100%;
		max-width:200px;
	}
	.c_btn{
		min-height:55px;
		min-width:auto;
		max-width:200px;
		width:100%;
		padding-left:16px;
		gap:12px;
		border-radius:8px;
	}
	.c_btn__icon{
		width:40px;
	}
	.c_btn__icon:before{
		height:30px;
	}
	
	.hero__inner{
		padding:110vh 20px 100px 20px;
	}
	
	.hero__lead{
		width:100%;
		padding:0;
	}
	
	/*about*/
	#index_about{
		padding:80px 0 60px 0;
		background-position: right -80px center;
	}
	.about_area{
		grid-template-columns: 1fr;
	}
	.about_num img{
		max-width:65px;
	}
	.about_copy{
		padding-top:12px;
	}
	.about_sub{
		margin-bottom:15px;
	}
	.about_body{
		gap:20px;
	}
	.about_lead{
		margin:0;
	}
	.about_sub:after{
		bottom:0;
	}
	
	/*menber*/
	#index_members{
		padding:40px 0;
	}
	.members_head{
		flex-direction: column;
		gap:20px;
	}
	.members_headRight{
		width:100%
	}
	.members_headRight p{
		margin-top:12px;
	}
	.members_slider_block{
		width: 100%;
        padding-top: 35px;
        padding-right: 0;
	}
	.members_body{
		padding:16px 0 0 0;
	}
	
	.members_slider .swiper-slide {
        width: 80vw;
    }
	.members_slider .swiper-slide .members_card{
		margin-right: 0px;
	}
	.members_slider {
    	padding-bottom: 0;
	}

	.members_slider .swiper-slide:nth-child(even) .members_card,
	.members_slider .swiper-slide:nth-child(odd) .members_card {
    	padding-top: 0;
	}
	
	.members_cardTtl_arrow{
		width:35px;
		flex:0 0 35px;
	}
	
	.members_img{
		border-radius:8px;
	}
	
	.members_arrow{
		width:45px;
		height:45px;
	}
	.members_nav{
		top:-20px;
		right:0;
	}
	
	/*crosstalk*/
	#index_crosstalk{
		margin-bottom:0;
	}
	.crosstalk_wrap{
		padding:60px 20px 40px 20px;
		margin:0 auto;
		display: flex;
        flex-direction: column;
	}
	.crosstalk_inner{
		padding:0;
		margin:0;
	}
	.crosstalk_panel{
		width:100%;
	}
	.crosstalk_text{
		margin:16px 0 18px 0;
	}
	.crosstalk_media{
		position:relative;
		width:100%;
		top:unset;
		bottom:-60px;
		overflow:unset;
		min-height:300px;
	}
	.crosstalk_media img{
		position:absolute;
		right:-20px;
		height: 100% !important;
	}
	
	/*date*/
	.data_inner{
		flex-direction: column;
		align-items: flex-end;
	}
	.benefits_area{
		grid-template-columns: 1fr;
	}
	.data_body{
		width:auto;
		padding:0;
	}
	.data_text{
		margin:16px 0 18px 0;
	}
	
	.data_num--a {
		left: 1.5%;
		top: -20px;
	}
	.data_num--b {
		left: 8%;
		top: 150px;
	}
	/*benefits*/
	#index_benefits{
		padding:60px 0 200px 0;
	}
	
	/*recruitInfo*/
	#index_recruitInfo{
		padding:60px 0 50px 0;
	}
	.recruitInfo_sub{
		font-size:14px;
		margin-bottom:30px;
	}
	.c_btn--entry{
		max-width:100%;
		height: 100%;
		padding: 20px 20px 16px 20px;
		display: flex;
		flex-wrap: wrap;
		gap:8px;
	}
	.recruitInfo_btnLeft{
		min-width:auto;
		width:100%;
		gap:6px;
	}
	.recruitInfo_btnText {
		letter-spacing: 0.1em;
	}
	.c_btn--entry .c_btn__icon{
		width: 50px;
	}
	.c_btn--entry .c_btn__icon:before{
		height:calc(100% + 8px);
	}
	.c_btn--entry .c_btn__iconImg{
		width:20px;
	}
	
}

/*---- fonts ----*/
@font-face {
    font-family: 'Makinas Flat';
    src:
        url('../font/MakinasFlat4.woff2') format('woff2'),
        url('../font/MakinasFlat4.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0025-003A, U+FF08-FF0F, U+540D, U+6B73, U+65E5, U+6708, U+5E74, U+6642, U+9593;
}
