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

/* PCでもハンバーガーボタンを表示 */
#toggle.sp_size {
	display: block !important;
}

#toggle {
	position: relative;
	width: 98px;
	height: 98px;
	z-index: 9000;
	margin-left: 12px;
	background: #2750DF;
/* 	background:#ccc; */
	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: #2B5872;
    }

    /* メニューの中身 */
    #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) .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;
}
	
	/*エントリーボタン*/
	
	.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;
    }

    .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;
}

@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 #fff;
        padding-bottom: 16px;
    }

}
@media screen and (max-width: 767px) {
	#header_area{
		padding: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: 15px 15px 16px;
        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;
	}
	.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: 6px;
		font-size: 13px;
	}

	.recruit_header_entry_text {
		font-size: 13px;
		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: 6px;
	}

	#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: 22px;
	}

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

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

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


/* =========================
  footer
========================= */
#footer_wrap.footer_recruit{
	background:#ccc;
}
.footer_recruit .footer_main{
	max-width:1640px;
	padding:70px 20px 50px 20px;
	justify-content: flex-start;
	gap:12.5%;
}

.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 .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;
	width:48px;
	height:48px;
	justify-content: center;
    align-items: center;
}

.footer_sns_icon{
    display:block;
}

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

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

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

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

.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;
}

.hero{
 	position:relative;
	min-height: 92vh;
 	overflow:hidden;
	background:#0d2dff; /* 動画が読み込めない時の保険 */
}

.hero__media{
/*   position:absolute; */
	inset:0;
	overflow:hidden;
}

.hero__media img{
	width:100%;
}

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

/* 青い被せ（デザインの色味合わせ用） */
.hero__overlay{
  	position:absolute;
  	inset:0;
 	background:linear-gradient(180deg, #2750DF, #264edfd6, #1d3baa3d);
}

.hero__catch_area{
	position:relative;
	max-width:1895px;
	padding: 0 20px;
	margin:0 auto;
}

/* テキストは動画より前面へ */
.hero__inner{
 	position:relative;
	max-width:1640px;
	padding:235px 20px 80px 20px;
 	margin:0 auto;
 	color:#fff;
}

.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(720px + 50vw);
    padding-right: 60px;
}

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

.members_slider .swiper-slide {
    width: 100%;
    height: 100%;
}

.members_slider .swiper-slide .members_card {
    margin-right: 50px;
    height: 100%;
}

/* ナビ矢印（右上付近に置くイメージ） */
.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); }


/* 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;
}

.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;
}

.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_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:110px;
	margin-bottom:100px;
}

/* 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;
    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;
}

/* 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用）
========================= */
.c_btn--ghost{
	 background:#fff;
	 color:#2750DF!important;
}
.c_btn--ghost .c_btn__icon{
	
}
.c_btn--ghost .c_btn__icon:before{
	background:rgb(25 68 211 / 50%);
}


/* =========================
  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;
}

.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, 50px);
    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) {
	/* =========================
	  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:0;
	}
	.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:100px 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%;
	}
	.members_body{
		padding:16px 0 0 0;
	}
	.members_slider .swiper-slide .members_card{
		margin-right:20px;
	}
	.members_cardTtl_arrow{
		width:35px;
		flex:0 0 35px;
	}
	
	.members_img{
		border-radius:8px;
	}
	
	.members_arrow{
		width:45px;
		height:45px;
	}
	.members_nav{
		top:-6px;
		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;
	}
	
	/*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;
	}
	.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;
	}
	
}
