@charset "utf-8";

/* ======================
font
========================= */
.mp2c {
  font-family: m-2p-medium, sans-serif;
  font-style: normal;
}
/*
Regular 400,
Medium 500,
bold 700,
heavy 800,
*/

.futu {
  font-family: futura-pt, sans-serif;
  font-style: normal;
  font-weight: 500;
}
/*
Medium 500,
Demi 600,
*/

.flex {
    display: flex;
    justify-content: space-between;
}

.bg_bl {
    background-color: #004896;
}

.inner-1385 {
    width: 96.18vw;
    margin: 0 auto;
}

.img_cvr {
    width: 100%;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    object-position: center;
    -o-object-position: center;
}

/* ======================
btn 
========================= */
.btn {
	position: relative;
	display: flex;
	align-items: center;
	width:100%;
	max-width: 409px;
	height: 76px;
	padding: 0 24px;
	box-sizing: border-box;
	text-decoration: none;
	font-size: 14px;
	letter-spacing: 0.15em;
	border: 1px solid;
	transition: .3s ease;
}

/* テキスト */
.btn_txt {
	color:#555;
	font-size:22px;
	font-family: m-2p-medium, sans-serif;
	font-style: normal;
	font-weight:500;
	line-height: 1;
	letter-spacing:0.1em;
}
.btn_txt >* {
	display:inline-block;
}
.btn_txt.futu {
	font-family: futura-pt, sans-serif;
}

/* --------------------
   矢印
-------------------- */

.btn_arrow {
	position: absolute;
	top: 50%;
	right:22px;
	width: 95px;
	height: 14px;
	transform: translateY(-50%);
	overflow:hidden;
}
.arrow_in {
	display:block;
	height:100%;
	width:100%;
	position:relative;
	transform: translateX(-40px);
	transition: all 0.3s;
}

/* 横線 */
.arrow_in::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: #a7944c;
	transform: translateY(-50%);
}

/* 矢印先端（上だけ） */
.arrow_in::after {
	content: "";
	position: absolute;
	top: 11px;
	right: 0;
	width: 14px;
	height: 14px;
	border-top: 2px solid #a7944c;
	transform: rotate(45deg);
	transform-origin: right top;
}

/* hover時に右へ伸びる */
.btn:hover .arrow_in {
	color:#fff;
	transform: translateX(0);
}

/* --------------------
   ゴールド
-------------------- */

.btn_gld {
	background: #fff;
	border-color: transparent;
}

.btn_gld:hover {
	background:#b59d4f;
}
.btn_gld:hover .btn_txt {
	color: #fff;
}
.btn_gld:hover .arrow_in::before {
	background-color: #fff;
}
.btn_gld:hover .arrow_in::after {
	border-color: #fff;
}

/* --------------------
   ブルー
-------------------- */
.btn_bl {
	background: #fff;
	color: #2e5b89;
	border-color: #4062ab;
}
.btn_bl .btn_txt {
	font-weight:700;
}
.btn_bl .arrow_in::before {
	background-color: #4062ab;
}
.btn_bl .arrow_in::after {
	border-color: #4062ab;
}
.btn_bl:hover {
	background: #4062ab;
	color: #fff;
}
.btn_bl:hover .btn_txt {
	color: #fff;
}
.btn_bl:hover .arrow_in::before {
	background-color: #fff;
}
.btn_bl:hover .arrow_in::after {
	border-color: #fff;
}

/* --------------------
   ブルー2
-------------------- */
.btn_bl2 {
	background: #fff;
	color: #5bbbd8;
	border-color: #5bbbd8;
}
.btn_bl2 .arrow_in::before {
	background-color: #5bbbd8;
}
.btn_bl2 .arrow_in::after {
	border-color: #5bbbd8;
}
.btn_bl2:hover {
	background: #5bbbd8;
	color: #fff;
}
.btn_bl2:hover .btn_txt {
	color: #fff;
}
.btn_bl2:hover .arrow_in::before {
	background-color: #fff;
}
.btn_bl2:hover .arrow_in::after {
	border-color: #fff;
}

/* --------------------
   ホワイト
-------------------- */
.btn_wh {
	background: transparent;
	color: #fff;
	border-color: transparent;
}
.btn_wh .btn_txt {
	color: #fff;
}
.btn_wh .arrow_in::before {
	background-color: #fff;
}
.btn_wh .arrow_in::after {
	border-color: #fff;
}

.secmainimg {
	width: 100vw;
    max-width: 1018px;
    margin-bottom: 40px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}


/* ======================
recruit
========================= */
.sec_link_wrap {
	padding-bottom:107px;
}
.recruit_info_txt {
	font-size:31px;
	font-weight:500;
	letter-spacing:0.2em;
	text-align:center;
}
.recruit_info_txt-s {
	font-size:17px;
	font-weight:500;
	text-align:center;
	margin-bottom:74px;
}
.recruit_link_list {
	justify-content:space-between;
	flex-wrap:wrap;
}
.recruit_link_list >* {
	width:calc((100% - 40px)/2);
	max-width:422px;
}


.recruit_link_list.list1 {
	margin-bottom:86px;
}
.recruit_link_list.list1 .btn {
	max-width:100%;
}

.recruit_link_list.list2 {
	gap:min(7.5vw,72px) min(1.1vw,105px);
}
.recruit_link_list.list2 >* {
	transition:all 0.3s;
}
.recruit_link_list.list2 a {
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	height:100%;
}
.recruit_link_list.list2 .item_img {
}
.recruit_link_list.list2 .item_txt {
	display:flex;
	flex-direction:column;
	gap:10px;
	padding:16px 20px 26px;
}
.recruit_link_list.list2 .bnr_label_bk {
	font-weight:700;
	line-height:1;
}
.recruit_link_list.list2 .bnr_label {
	color:#555;
	font-size:16px;
	line-height:1;
	display:inline-block;
	background-color:#fff;
	border-radius:5px;
	padding:5px 10px;
}
.recruit_link_list.list2 .bnr_txt {
	color:#fff;
	font-size:18px;
	line-height:1;
	display:inline-block;
	padding-top:10px;
}
.recruit_link_list.list2 .btn {
	height:auto;
	padding:0;
}
.recruit_link_list.list2 .btn_txt {
	font-family: m-2p-medium, sans-serif;
	font-size:30px;
	font-weight:800;
	letter-spacing:0;
}
.recruit_link_list.list2 .btn_arrow {
    right: 0;
}
/* hover時に右へ伸びる */
.recruit_link_list.list2 >*:hover .arrow_in {
	transform: translateX(0);
}

.recruit_item1 {
	background-color:rgba(64,98,171,1);
}
.recruit_item2 {
	background-color:rgba(45,181,169,1);
}
.recruit_item3 {
	background-color:rgba(91,187,216,1);
}
.recruit_item4 {
	background-color:rgba(237,133,167,1);
}

.recruit_item1:hover {
	background-color:rgba(64,98,171,0.6);
}
.recruit_item2:hover {
	background-color:rgba(45,181,169,0.6);
}
.recruit_item3:hover {
	background-color:rgba(91,187,216,0.6);
}
.recruit_item4:hover {
	background-color:rgba(237,133,167,0.6);
}


.inner_content {
    max-width: 950px;
    width: 80%;
    margin: 0 auto;
}



/* ======================
interview
========================= */

#interview {
	color:#fff;
	padding:50px 0;
}
.interview_ttl_wrap {
	margin-bottom:130px;
}
.interview_ttl {
	
}
.interview_ttl .en  {
	font-size:70px;
	line-height:1.2;
	letter-spacing:0.3em;
	font-weight:600;
	display:flex;
	align-items:center;
	margin-bottom:20px;
}
.interview_ttl .sml {
	font-size:57%;
	letter-spacing:0.1em;
	margin-right:20px;
}
.interview_ttl .ja {
	font-size:30px;
	line-height:1.2;
	display:block;
}

.interview_list_wrap {
	position: relative;
	overflow: visible;
	padding-bottom: 80px;
}
.interview_slide {
	width: 120vw; 
	margin-left: calc(50% - 60vw);
	position: relative;
}
.interview_item {
	margin-right:min(3.73vw,47px);
}
.item_in .imgbk {
	margin-bottom:16px;

}
.item_in .txtbk {
	display:flex;
	align-items:flex-start;
	gap:19px;
}
.item_in .txtbk .item_cat {
	color:#4062AB;
	font-size:21px;
	font-weight:700;
	letter-spacing:0.1em;
	display:flex;
	align-items:center;
	justify-content:center;
	width:97px;
	height:80px;
	background-color:#fff;
	border-radius:5px;
}
.item_in .txtbk .item_name {
	color:#fff;
	font-size:20px;
	line-height:1.4;
	width:calc(100% - 116px);
}
.item_in .txtbk .item_name span {
	display:block;
}


.interview_slide .slick-arrow {
	font-size: 15px;
	font-family: futura-pt, sans-serif;
	font-style: normal;
	font-weight:400;
	letter-spacing:0.1em;
	line-height: 1.4;
	color: #fff;
	width: 83px;
	height: 37px;
	background-size:contain;
	padding: 0;
	position: absolute;
	top: auto;
	bottom:-100px;
	z-index: 10;
	cursor: pointer;
}
.interview_slide .slick-prev {
	padding-right:45px;
    right: calc(50% + 35px);
    left:auto;
    background:url(../imgs/recruit_new/prev_arrow.svg) right top no-repeat;
}
.interview_slide .slick-next {
	padding-left:45px;
    left: calc(50% + 35px);
    right:auto;
    background:url(../imgs/recruit_new/next_arrow.svg) left top no-repeat;
}
.slick-next:before,.slick-prev:before {
	content:"";
}


@media screen and (max-width: 1260px) {
.btn_txt {
    font-size:clamp(15px,1.74vw,22px);
}

/* ======================
recruit
========================= */
.recruit_info_txt {
    font-size:clamp(28px,3.17vw,40px);
    letter-spacing: 0.1em;
}
.recruit_info_txt-s {
    font-size:clamp(16px,1.26vw,22px);
}
.recruit_link_list.list2 .bnr_label {
    font-size:clamp(13px,1.42vw,16px);
}
.recruit_link_list.list2 .bnr_txt {
    font-size:clamp(14px,1.42vw,18px);
}
.recruit_link_list.list2 .btn_txt {
	font-size:clamp(17px,2.38vw,30px);
}

/* ======================
interview
========================= */
.interview_ttl_wrap {
	margin-bottom:10vw;
}
.interview_ttl .en  {
	font-size:clamp(40px,5.5vw,70px);
	letter-spacing:0.2em;
}

.interview_ttl .ja {
	font-size:clamp(18px,2.38vw,30px);
}
.item_in .txtbk {
    gap: 10px;
}
.item_in .txtbk .item_cat {
    font-size:clamp(16px,1.66vw,21px);
    width: 4em;
    height:60px;
}
.item_in .txtbk .item_name {
    font-size:clamp(15px,1.58vw,20px);
    width: calc(100% - 4em - 10px);
}


		
}


@media screen and (max-width: 980px) {
.btn_arrow {
    width: 60px;
}

.arrow_in {
    transform: translateX(-35px);
}

}
@media screen and (max-width: 768px) {
.inner_content-s, .inner_content {
    width: 90%;
}

}



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

/* ======================
recruit
========================= */
#recruit .sec_link_wrap {
    width: 100%;
    max-width:409px;
    margin:0 auto;
}

.recruit_link_list {
	flex-direction:column;
	gap:20px;
}
.recruit_link_list >* {
    width:100%;
}

/* ======================
interview
========================= */
.interview_ttl .en {
	flex-direction: column;
	align-items:flex-start;
}

}


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

}

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

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

}


@media screen and (max-width: 400px) {
.interview_slide {
    width: 100%;
    margin: 0 auto;
}
.interview_item {
	margin-right:0;
}

}

