﻿@charset "utf-8";

/* top
-------------------------------------------------------------------*/
.visula .mv_bg_wrap{
    position:absolute;
    z-index: 1;
    top:-80px;
    left: 0;
    width: 34%;
}
.visula .mv_bg_wrap img{
    width:100%;
}
.visula .bx-wrapper img{
    width: 100%;
}
.visula .mv_txt_wrap{
    position:absolute;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 100%;
    top: 0;
    z-index:11;
}
.visula .mv_txt_wrap .mv_txt_area span{
    font-size:24px;
    color:#fff;
    text-shadow: 0 0 2px #000,0 0 5px #000,0 0 5px #000;
}
.home .section00{
    position:relative;
    overflow: hidden;
    margin-top: 80px;
    padding-top:0;
    padding-bottom: 20px;
    background-color: #f2f8fe;
    z-index: 1;
}

.p-news__list{
  width: 1100px;
  max-width: 100%;
  margin:20px auto 50px auto;


}
.p-news__list li{
  border-bottom: 1px solid #e3e3e3;
  margin: auto;
  padding: 0;
  text-indent: 0;
  display: block;
}
.p-news__list li:before{
    display: none;
  }
.p-news__list li:last-child{
    border-bottom: 0;
}
.p-news__list li a{
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  font-weight: 600;
  gap:calc(80 / 1100 * 100%);
  position: relative;
  transition: all 0.4s ease;
  padding:calc(15 / 1100 * 100%) calc(60 / 1100 * 100%);
  transition:opacity .4s;
  padding-left: 0;
  text-decoration: none;
}
.p-news__list li a time{
    color: #94959c;
    font-weight: 400;
    flex-shrink: 0;
    width:  8em;
}
.p-news__list li a:before,.p-news__list li a:after{
    position:absolute;
    display:inline-block;
    content:"";
    width:20px;
    height:1px;
    background:#000;
    top:0;
    bottom:0;
    right:10px;
    margin:auto;
    transition:background .4s;
}
.p-news__list li a:after{
    width:10px;
    bottom: 5px;
    transform:rotate(30deg);
}
.p-news__list li a:hover{
    opacity: 0.8;
  }
@media screen and (max-width:768px) {
    .p-news__list{
      margin:20px auto 30px auto;
    }
    .p-news__list li a{
		gap:calc(40 / 1100 * 100%);
		padding-left: 0;
		padding-right: 40px;
	}
    .p-news__list li a time{
		width:  7em;
		font-size: 11px;
	}
	.p-news__list-archive li a{
		padding-left: 0;
		text-decoration: none;
	}
}
.home .section01{
    position:relative;
    overflow: hidden;
    padding-bottom: 100px;
}
.home .section01_bg{
    position:absolute;
    top: 0;
    right:0;
    z-index:-1;
}
.home .section01 .company_wrap .left_wrap{
    position:relative;
    z-index: 1;
}
.home .section01 .company_wrap .left_wrap::before{
    position:absolute;
    display:inline-block;
    content:"";
    width:100%;
    height:100%;
    background: #f2f4f7;
    top: 40px;
    right: 40px;
    z-index: -1;
}
.home .section01 .company_wrap .left_wrap img{
    z-index: 5;
}
.home .section01 .company_wrap .right_wrap{
    padding-left: 6%;
}
.home .section01 .company_wrap .right_wrap p{
    line-height: 2;
    font-size:14px;
    margin-bottom:40px;
}
.home .section02{
    position:relative;
    margin-top: clamp(60px,6%,80px);
    padding-bottom: 100px;
}
.home .section02_bg{
    position:absolute;
    width:calc(950 / 1600 * 100%);
    padding-bottom: 324px;
    bottom: 0;
    background: url(../images/products_bg2.png) no-repeat;
    background-size: cover;
    z-index: -1;
    right:0 ;
}
.home .section02 .left_wrap{
  width: 595px;
  max-width: 55%;
}
.home .section02 .left_wrap .lead_txt{
    line-height:2;
    font-size:16px;
    position: relative;
}
@media screen and (max-width:768px) {
	.home .section02 .left_wrap .lead_txt:after{
		display: none;
	}
	.home .section02 .left_wrap{
		max-width: 100%;
	}
	.home .section02 .left_wrap img{
		max-width: 100%;
	}
}
.home .section02 .left_wrap .lead_txt span{
  font-size: 18px;
}
.home .section02 .right_wrap{
    padding-left: clamp(40px,calc(80/ 510 * 100%),70px);
     margin-top: 6%;
    padding-bottom: 5px;
}
.home .section03{
    position:relative;
    overflow: hidden;
    padding-top:40px;
    padding-bottom: 100px;
}
.home .section03:after{
	position:absolute;
	display:inline-block;
	content:"";
	width: 70%;
	height:50%;
  	background: url(../images/img_section03_bg.png) 100% 0 no-repeat;
  	background-size: cover;
  	z-index: -1;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.home .section03 .bsns_wrap{
	padding-top: 80px;
	justify-content:space-between;
}
.home .section03 .bsns_wrap .bsns_item{
	display: block;
	width:30%;
	height: 100%;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
	transition:box-shadow .4s, transform .4s;
}
.home .section03 .bsns_wrap .bsns_item:hover{
	text-decoration:none;
	box-shadow:none;
	transform:translate(0, 5px);
}
.home .section03 .bsns_wrap .bsns_item .img_wrap{
	width:100%;
}
.home .section03 .bsns_wrap .bsns_item .img_wrap img{
	width:100%;
}
.home .section03 .bsns_wrap .bsns_item .txt_wrap{
	position:relative;
	padding: 50px 20px 30px;
	background: #fff;
	border-bottom: 3px solid #003789;
	box-sizing: border-box;
}
.home .section03 .bsns_wrap .bsns_item .txt_wrap .bsns_tit{
	position:absolute;
	top: -17px;
	left: -17px;
	background:url(../images/business_tit_bg.png) no-repeat;
	min-width: 265px;
	box-sizing: border-box;
	padding: 15px 40px 25px 20px;
	text-align: center;
}
.home .section03 .bsns_wrap .bsns_item .txt_wrap .bsns_tit span{
	font-size:24px;
	line-height: 1;
	color:#fff;
}
.home .section03 .bsns_wrap .bsns_item .txt_wrap .bsns_txt{
	font-size:16px;
	font-weight: 500;
	margin-bottom: 20px;
  height: 150px;
  min-height: 6.5em;
}
.home .section03 .bsns_wrap .bsns_item .txt_wrap .bsns_link{
	position:relative;
	display: table;
	margin: auto;
}
.home .section03 .bsns_wrap .bsns_item .txt_wrap .bsns_link:before,
.home .section03 .bsns_wrap .bsns_item .txt_wrap .bsns_link:after{
	position:absolute;
	display:inline-block;
	content:"";
	width:20px;
	height:1px;
	background:#000;
	bottom:10px;
	right: -30px;
}
.home .section03 .bsns_wrap .bsns_item .txt_wrap .bsns_link:after{
	width:10px;
	bottom: 13px;
	transform:rotate(30deg);
}
.home .section03 .bsns_wrap .bsns_item .txt_wrap .bsns_link span{
	position:relative;
	color:#003789;
	font-size:16px;
	font-weight: 500;
}
.home .section03 .bsns_wrap .bsns_item .txt_wrap .bsns_link span:before{
	position:absolute;
	display:inline-block;
	content:"";
    width:100%;
    height:1px;
    background-color:#003789;
    bottom:-3px;
}
.home .section04{
    background: rgb(230,0,18);
    background: linear-gradient(180deg, rgba(230,0,18,1) 33%, rgba(162,6,19,1) 100%);
    padding: 50px 0;
}
.home .section04 .recruit_wrap .recruit_item_l{
	position: relative;
	width:55%;
}
.home .section04 .recruit_wrap .recruit_item_l img{
	position: absolute;
	bottom: -50px;
	right: 15%;
}
.home .section04 .recruit_wrap .recruit_item_r{
	width:45%;
}
.home .section04 .recruit_wrap .recruit_item_r .h_style01 {
	position:relative;
	z-index:0;
	margin-bottom: 20px;
}
.home .section04 .recruit_wrap .recruit_item_r .h_style01 span{
	padding-top:0;
}
.home .section04 .recruit_wrap .recruit_item_r .h_style01::after{
	position:absolute;
	display:inline-block;
	content:"";
	width:86px;
	height:86px;
	background:url(../images/top_qr.jpg);
	top:0;
	right:20%;
	bottom:0;
	margin:auto;
}
.home .section04 .recruit_wrap .recruit_item_r .recruit_lead{
	color:#fff;
	font-size:14px;
	line-height:2;
	margin-bottom:30px;
}
@media screen and (max-width:768px) {
	.visula .mv_bg_wrap{
		top: -60px;
		width: 100%;
	}
	.visula .bx-wrapper img{
		width: 100%;
	}
	.visula .mv_txt_wrap{
		display: flex;
		height: 33vh;
		width: calc(100% - 30px);
		left: 0;
		right: 0;
		margin: auto;
	}
	.visula .mv_txt_area img{
		width: 70vw;
	}
	.visula .mv_txt_wrap .mv_txt_area span{
		font-size: 4vw;
	}
    .home .section00{
		padding: 0 15px 20px 15px;
        margin-top: 0;
        background-color: #f2f8fe;
    }
    .home .section00 .message{
        flex-wrap:wrap;
        padding: 0;
        box-shadow: none;
    }
    .home .section00 .message::before{
        position:static;
    }
    .home .section00 .message .left_wrap{
        padding-bottom: 20px;
    }
    .home .section00 .message .left_wrap p{
        margin-bottom: 20px;
    }
    .home .section00 .message .right_wrap{
        position: static;
        margin: 0 auto;
    }
    .home .section00 .message .right_wrap img{
        width: 100%;
    }
	.home .section00_bg{
		width: 418px;
		bottom: 50px;
	}
	.home .section01{
		padding: 30px 15px 50px;
		margin: 0;
	}
	.home .section01_bg{
		width: 180%;
		left:0;
	}
	.home .section01_bg img{
		width: 100%;
	}
	.home .section01 .company_wrap{
		flex-wrap:wrap;
	}
	.home .section01 .company_wrap .left_wrap{
		order:2;
	}
	.home .section01 .company_wrap .left_wrap:before{
		top: 15px;
		right: 15px;
	}
	.home .section01 .company_wrap .left_wrap img{
		width:100%;
	}
	.home .section01 .company_wrap .right_wrap{
		padding-left: 0;
		margin-bottom: 20px;
	}
	.home .section01 .company_wrap .right_wrap p{
		margin-bottom: 20px;
	}
	.home .section02{
		padding: 0 15px 180px;
	}
	.home .section02_bg{
		right: 0;
		background-position: left center;
	}
	.home .section02 .products_wrap{
		display:block;
	}
	.home .section02 .left_wrap{
		margin-bottom:20px;
	}
	.home .section03{
		padding: 80px 15px 50px;
	}
	.home .section03:after{
    display: none;
		width: 100%;
		height: 89%;
	}
	.home .section03 .bsns_wrap{
		display:block;
	}
	.home .section03 .bsns_wrap .bsns_item{
		width: 100%;
	}
	.home .section03 .bsns_wrap .bsns_item:hover{
		text-decoration:none;
		box-shadow:none;
		transform:translate(0, 5px);
	}
	.home .section03 .bsns_wrap .bsns_item:nth-of-type(2),
	.home .section03 .bsns_wrap .bsns_item:nth-of-type(3){
		margin-top: 35px;
	}
	.home .section03 .bsns_wrap .bsns_item .img_wrap{
		width:100%;
	}
	.home .section03 .bsns_wrap .bsns_item .img_wrap img{
		width:100%;
	}
	.home .section03 .bsns_wrap .bsns_item .txt_wrap .bsns_tit span{
		font-size: 22px;
	}
	.home .section03 .bsns_wrap .bsns_item .txt_wrap .bsns_txt{
		font-size:14px;
    height: auto;
    min-height: inherit;
	}
	.home .section04{
		padding: 50px 0 0;
	}
	.home .section04 .recruit_wrap {
		flex-wrap:wrap;
	}
	.home .section04 .recruit_wrap .recruit_item_l,
	.home .section04 .recruit_wrap .recruit_item_r{
		width:100%;
	}
	.home .section04 .recruit_wrap .recruit_item_l{
		order: 2;
	}
	.home .section04 .recruit_wrap .recruit_item_l img{
		position: static;
		width: 100%;
	}
    .home .section04 .recruit_wrap .recruit_item_r{
    	order: 1;
    	padding: 0 15px;
    }
	.home .section04 .recruit_wrap .recruit_item_r .h_style01 span{
		padding-top:0;
	}
	.home .section04 .recruit_wrap .recruit_item_r .recruit_lead{
		margin-bottom: 20px;
	}
}
/*20230825 department*/
.department .strength1_box {
	margin-bottom:20px;
}
.department .strength1_box .h_style06{
	width:max-content;
}
.department .department_col .h_style06{
	align-items: flex-end;
	width: auto;
	margin-bottom: 60px;
}
.department .department_col .item{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 110px;
}
.department .department_col .text{
	width: 41%;
}
.department .department_col .text .font20{
  font-size: 1.25rem;
  margin-bottom: 0.5em;
}
.department .department_col .img{
	width:50%;
}
.department .department_col .img img{
	max-width:100%;
}
.department .profile_flex{
	justify-content:space-around;
	margin-top:40px;
}
.department .strength1_box a{
	color:blue;
	text-decoration:underline;
}

/*lineup*/
.lineup .ann{
  margin-bottom: 70px;
}
.lineup .col{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.lineup.products_gide .col{
	margin-bottom:0;
}
.lineup .col + .col{
  margin-top: 120px;
}
.lineup .col .text{
  width: 41%;
}
.lineup.products_gide .col .text{
	width:50%;
}
.lineup .col .text p{
  margin-bottom: 70px;
}
.lineup.products_gide .col .text p{
	margin-bottom:0;
}
.lineup .col .img{
  width: 41%;
}
.lineup .col .img img{
 max-width: 100%;
}
.lineup.products_gide .col .col_child{
	width:50%;
}
@media screen and (max-width:768px) {
	.department .department_col .item{
	 flex-wrap: wrap;
	 margin-bottom: 50px;
	}
	.department .department_col .text{
		width: 100%;
	}
	.department .department_col .text .font20{
	  font-size: 1.25rem;
	  margin-bottom: 0.5em;
	}
	.department .department_col .h_style06{
		margin-bottom:2em;
		align-items: center;
		line-height: 1.875;
	}
	.department .department_col .img{
		width:100%;
	}
	.department .profile_flex img{
		max-width:100%;
	}
	.lineup .col{
	 flex-wrap:wrap;
	}
	.lineup .col .text{
	  width: 100%;
	}
	.lineup.products_gide .col .text{
		width:100%;
		margin-bottom:2em;
	}
	.lineup.products_gide .col .col_child{
		width:100%;
	}
	.lineup.products_gide .col .col_child .pdf_btn{
		margin-bottom:0;
	}
	.lineup .col + .col{
	  margin-top: 50px;
	}
	.lineup .col .img{
	  width: 100%;
	  position: absolute;
	  top: 34%;
	}
	.lineup .col .text p{
	  margin-bottom: 300px;
	}
}



/*recruit
--------------------------------------------------------------------------------*/
/*top*/
main.recruit.top{
	position: relative;
}
main.recruit.top .sitewrap{
	overflow:visible;
}
main.recruit.top .rec_mainvisual {
  background: url(../images/main_visual.png) no-repeat;
  background-size: cover;
  width: 100%;
  height: 300px;
  position: relative;
  background-position: bottom center;
  display: flex;
  justify-content: center;
  align-items: center;
}
main.recruit.top .rec_mainvisual .h_style01{
	font-size: 40px;
}

main.recruit.top .section01 .shadow {
	box-shadow: 0 1px 8px rgba(255, 255, 255, 0.7), 0 -1px 8px rgba(255, 255, 255, 0.7), 1px 0 8px rgba(255, 255, 255, 0.7), -1px 0 8px rgba(255, 255, 255, 0.7);

}
main.recruit.top .message{
	position:relative;
}
main.recruit.top .sitewrap2 .h_style01 {
	font-size: 56px;
    color: #003789;
    font-feature-settings: "palt";
	margin-bottom: 10px;
	margin-top: 110px;
}
main.recruit.top .sitewrap2 .h_style01
main.recruit.top .message .message_col{
	margin-bottom:50px;
}
main.recruit.top .message .message_col .image{
	width:40%;
}
main.recruit.top .message .message_col .image img{
	box-shadow:20px 20px 0px #f2f4f7;
}
main.recruit.top .message .message_col .text{
 max-width: 1000px;
 margin: auto;
 text-align: center;
}
main.recruit.top .message .message_col .text .rec_top03{
	font-size:1.5rem;
	font-weight:500;
	color:#003789;
	text-align: center;
}
main.recruit.top .message .message_col .text p{
	line-height:1.75;
	margin-top:35px;
	margin-bottom: 80px;
}
main.recruit.top .message .message_col .text .name{
	margin-top:45px;
	font-size:1rem;
}
main.recruit.top .message .message_col .text .name span{
	font-size:1.25rem;
}
main.recruit.top .person{
	position:relative;
	margin-bottom: 130px;
}
main.recruit.top .person:before{
	content: "";
    width: 100%;
    height: 563px;
    background: #f2f4f7;
    position: absolute;
    top: 2%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: -1;
}
main.recruit.top .person .col{
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    max-width: 1000px;
    margin: 0 auto;
}
main.recruit.top .person .col .member{
	width: 46%;
	transition: all 0.5s;
}
main.recruit.top .person .col .member:hover{
	transform:translateY(5px);
}
main.recruit.top .person .col .member .img img{
	max-width:100%;
	box-shadow:0 0 10px rgba(0,0,0,0.3);
}
main.recruit.top .person .col .member .member_name{
	width: auto;
	max-width:50%;
	background:#003789;
	padding: 10px 25px;
	margin-top: -35px;
	position: relative;
	margin-bottom: 30px;
}
main.recruit.top .person .col .member .text{
	background:#fff;
	box-shadow:0 0 10px rgba(0,0,0,0.3);
}
main.recruit.top .person .col .member .member_name p{
	color:#fff;
}

main.recruit.top .person .col .member a:hover{
	text-decoration: none;
}
main.recruit.top .person .h_style01{

}

main.recruit.top .person .h_style01 span{
	padding-left:0;
}
main.recruit.top .person .col .member .font{
	padding: 0px 30px 50px;
}
main.recruit.top .person .col .member .link{
	text-align:right;
}
main.recruit.top .person .col .member .link a{
	font-size:1.125rem;
	color:#003789;
	position:relative;
	padding-bottom:5px;
}
main.recruit.top .person .col .member .link a:before{
	width:0;
	height:1px;
	background:#003789;
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	transition:.5s width;
}
main.recruit.top .person .col .member .link a:hover{
	text-decoration:none;
}
main.recruit.top .person .col .member .link a:hover:before{
	width:100%;
}
main.recruit.top .person .col .member .member_name .name01{
	font-size:1rem;
	line-height:1.625rem;
}
main.recruit.top .person .col .member .member_name .name02{
	font-size:1.125rem;
	line-height:1.625rem;
}
main.recruit.top .person .col .member p:hover{
	text-decoration: none;
}
main.recruit.top .rt_btn{
	position:relative;
	margin-bottom:80px;
}
main.recruit.top .rt_btn .col{
	/* display:flex; */
	justify-content:space-between;
	align-items:stretch;
	max-width: 1000px;
	margin: 0 auto;
}
main.recruit.top .rt_btn .col a{
	width: 48%;
}
main.recruit.top .rt_btn .col a .bo_blue{
	border: solid 1px #003789;
	margin-bottom: 40px;
}
main.recruit.top .rt_btn .col a .bo_gray{
	border:10px solid #f2f4f7;
	display: flex;
	justify-content: normal;
}

  

main.recruit.top .rt_btn .col a .img img{
	max-width:100%;
}
main.recruit.top .rt_btn .col a .text{
	padding: 15px 45px 35px;
	background: url(../images/ico_bg.jpg);
	background-size: cover;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
	transition:.5s color;
	width: 70%;
}
main.recruit.top .rt_btn .col a span{
	display:block;
}
main.recruit.top .rt_btn .col a .text .btn_title{
    font-size: 2.2rem;
    font-weight: 500;
    margin-top: 20px;
    margin-bottom: 13px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
main.recruit.top .rt_btn .col a .text .ann{
	margin-bottom:20px;
	line-height:1.625;
	
}
main.recruit.top .rt_btn .col a .text .desc{
	position:relative;
	padding-bottom:2px;
	position:relative;
	padding-right: 3em;
	text-align: center;
	display: inline-block;
	left: 78%;
}
main.recruit.top .rt_btn .col a .text .desc:before{
	content:"";
	width:26px;
	height:8px;
	background:url(../images/rt_btn_arrow.png);
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
	transition:.5s transform,.5s background;
}
main.recruit.top .rt_btn .col a .text .desc:after{
	width:5em;
	height:1px;
	background:#fff;
	position:absolute;
	left:0;
	bottom:0;
	content:"";
	transition:.1s background;
}
main.recruit.top .rt_btn .col a:hover{
	text-decoration:none;
}
main.recruit.top .rt_btn .col a:hover .text .desc{
	color:#e60012;
}
main.recruit.top .rt_btn .col a:hover .text .desc:before{
	background:url(../images/rt_btn_arrow_hover.png);
	transform:translateX(10px);
}
main.recruit.top .rt_btn .col a:hover .text .desc:after{
	background:#e60012;
}
main.recruit.top .entry{
	position:relative;
	background:url(../images/entry_bg.jpg);
	padding:60px 0 75px;
	background-size: cover;
}
main.recruit.top .entry .text{
	text-align:center;
	color:#fff;
	margin-bottom: 50px;
}
main.recruit.top .entry .text .en_text{
	font-size:1.125rem;
	margin-bottom: 10px;
}
main.recruit.top .entry .text .entry_title{
	font-size:2.25rem;
	margin-bottom: 20px;
	font-weight:bold;
}
main.recruit.top .entry .text p{
	line-height:1.625;
}
main.recruit.top .entry .btn_col{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:50px;
	max-width:715px;
	margin:0 auto;
}
main.recruit.top .entry .btn_col .entry_btn{
	width:48%;
}
main.recruit.top .entry .btn_col .entry_btn a{
	display:flex;
	justify-content:flex-start;
	align-items:center;
	background:#fff;
	padding: 28.2px 35px;
	position:relative;
	transition:.5s transform;
}
main.recruit.top .entry .btn_col .entry_btn a:before{
	content:"";
	width:34px;
	height:10px;
	background:url(../images/entry_btn_arrow.png);
	position:absolute;
	right:20px;
	top:0;
	bottom:0;
	margin:auto;
	transition:.5s right;
}

main.recruit.top .entry .btn_col .entry_btn a span{
	font-size:1.25rem;
	font-weight:500;
}
main.recruit.top .entry .btn_col .entry_btn a:hover{
	transform:translateY(10px);
	text-decoration:none;
}
main.recruit.top .entry .btn_col .entry_btn a:hover:before{
	right:10px;
}
main.recruit.top .entry .btn_col .entry_btn.yellow a{
	background:#eaff3b;
}
@media screen and (max-width: 768px) {
	main.recruit.top .message .message_col .image{
		width:30%;
		margin-right:30px;
	}
	main.recruit.top .message .message_col .image img{
		max-width:100%;
	}
	main.recruit.top .rec_mainvisual {
	  height: 300px;
	  background-position-x: 65%;
	  background-size: cover;
	}
	main.recruit.top .rec_mainvisual .subHeader{
		height:auto;
	}
	main.recruit.top .sitewrap2 .h_style01 {
		font-size: xx-large;
		margin-top: 50px;
		margin-bottom: 0px;
	}
	main.recruit.top .rec_mainvisual .h_style01{
		bottom:auto;
		top: 45%;
		left: 10px;
		margin:auto;
		font-size: 2.15rem;
	}
	main.recruit.top .message{
		margin-bottom: 40px;
	}
	main.recruit.top .message .message_col{
		flex-wrap:wrap;
		margin-bottom: 0;
		padding:0 15px;
	}
	main.recruit.top .message .message_col .image{
		width:100%;
	}
	main.recruit.top .message .message_col .text{
		width:100%;
		margin-top:40px;
	}
	main.recruit.top .message .message_col .text p{
		margin-bottom: 40px;
	}
	main.recruit.top .message .message_col .text p + p{
		margin-top:2em;
	}
	main.recruit.top .message .message_col .text .name{
		margin-top:3em;
	}
	main.recruit.top .person{
		margin-bottom: 50px;
		padding:0 10px;
	}
	main.recruit.top .person .col{
		flex-wrap:wrap;	
		padding: 0 5px;
	}
	main.recruit.top .person .col .member{
		width: 100%;
	}
	main.recruit.top .person .col .member .member_name{
		padding: 10px;
		margin-bottom: 20px;
	}
	main.recruit.top .person .col .member .font{
		padding: 0px 10px 20px;
		height: auto!important;
	}
	main.recruit.top .person .col .member + .member{
		margin-top:20px;
	}
	main.recruit.top .rt_btn .col a .text .desc{
		left: 64%;
	}
	main.recruit.top .rt_btn{
		padding: 0 15px;
		margin-bottom: 50px;
	}
	main.recruit.top .rt_btn .col{
		flex-wrap:wrap;
	}
	main.recruit.top .rt_btn .col a{
		width: 100%;
	}
	main.recruit.top .rt_btn .col a + a{
		margin-top:30px;
	}
	main.recruit.top .rt_btn .col a .img{
		text-align: center;
	}
	main.recruit.top .rt_btn .col a .img img {
		width: 150px;
	}
	main.recruit.top .rt_btn .col a .text{
		height: auto!important;
		width: auto;
		padding: 10px 10px;
	}
	main.recruit.top .rt_btn .col a .text .btn_title{
		font-size:1.875rem;
		margin-top: 0;
		margin-bottom:0.5em;
		height: auto;
		margin-left: auto;
		margin-right: auto;
	}
	main.recruit.top .rt_btn .col a .text .ann{
		margin-bottom:2em;
	}
	main.recruit.top .entry{
		padding:30px 10px 35px;
	}
	main.recruit.top .entry .text{
		margin-bottom: 20px;
	}
	main.recruit.top .entry .text .en_text{
		font-size:1rem;
	}
	main.recruit.top .entry .text .entry_title{
		font-size:2rem;
		margin-bottom: 10px;
		text-align: left;
	}
	main.recruit.top .entry .btn_col{
		flex-wrap:wrap;
		margin-bottom:0px;
		margin:0 auto;
	}
	main.recruit.top .entry .text p{
		text-align:left;
	}
	main.recruit.top .rt_btn .col a .bo_gray{
		display: block;

	}
	main.recruit.top .entry .btn_col .entry_btn{
		width:100%;
	}
	main.recruit.top .entry .btn_col .entry_btn a{
		padding: 20px 15px;
	}
	main.recruit.top .entry .btn_col .entry_btn + .entry_btn{
		margin-top:20px;
	}
}

/*article*/
main.recruit.article .rec_visual {
  background: url(../images/visual.jpg) 50% 100% no-repeat;
  background-size: cover;
}
main.recruit.article .rec_visual .h_style01{
  text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 5px #fff,0 0 5px #fff,0 0 7px #fff;
}
main.recruit.article .col_3{
	flex-wrap: wrap;
}
main.recruit.article .entry_body{
	margin-bottom:110px;
}
main.recruit.article .link_btn2{
	padding: 0;
	padding-right: 2%;
	margin-bottom: 30px;
}
.link_btn2 a span{
	position: relative;
    display: flex;
    padding: 15px 40px 15px 15px;
	justify-content:flex-start;
	align-items:center;
	line-height:1.5;
}
main.recruit.article .rec_visual {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 300px;
  margin-bottom: 10px;
}
main.recruit.article .products_link > div > a div:after, 
main.recruit.article .products_link > div > span div:after,
main.recruit.article .products_link > div > a:hover:before, 
main.recruit.article .products_link > div > a:hover:after, 
main.recruit.article .products_link > div > span:hover:before, 
main.recruit.article .products_link > div > span:hover:after,
main.recruit.article .products_link > div > a:before, .products_link > div > a:after, 
main.recruit.article .products_link > div > span:before, .products_link > div > span:after,
main.recruit.article .products_link > div > a:after, 
main.recruit.article .products_link > div > span:after{
  display:none;
}
main.recruit.article .products_link > div > a div > span, 
main.recruit.article .products_link > div > span div > span {
  font-size: 1rem;
  text-align: left;
  padding-left: 20px;
  position: relative;
  z-index: 2;
}
main.recruit.article .products_link > div > a div > span span, 
main.recruit.article .products_link > div > span div > span span{
	font-size: 1.125rem;
}
main.recruit.article table.requirements_detail-table{
	border:1px solid #dcdcdc;
	width:100%;
	margin-bottom:80px;
}
main.recruit.article table.requirements_detail-table tr th{
	width: 20%;
	border:1px solid #dcdcdc;
	background:#f2f4f7;
	vertical-align: baseline;
	padding: 15px 15px 15px 23px;
}
main.recruit.article table.requirements_detail-table tr td{
	width:80%;
	border:1px solid #dcdcdc;
	padding: 15px 15px 15px 60px;
}
main.recruit.article .rec_h_style05{
	font-size:1.75rem;
	font-weight:bold;
	padding-left:1em;
	position:relative;
	margin-bottom: 1.43em;
}
main.recruit.article .rec_h_style05:before{
	content:"";
	width:8px;
	height:38px;
	background:#003789;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
}
main.recruit.article .link_btn a{
	margin:0 auto;
}
@media screen and (max-width:768px) {
	main.recruit.article table.requirements_detail-table{
		margin-bottom:30px;
		border: none;
	}
	main.recruit.article table.requirements_detail-table,
	main.recruit.article table.requirements_detail-table tbody,
	main.recruit.article table.requirements_detail-table tr,
	main.recruit.article table.requirements_detail-table tr > *{
		display:block;
		box-sizing:border-box;
	}
	main.recruit.article table.requirements_detail-table tr th{
		padding: 10px;
		width: 100%;
		border-bottom: none;
	}
	main.recruit.article table.requirements_detail-table tr td{
		padding: 10px;
		width: 100%;
	}
}

/*member*/
main.recruit.member .rec_visual {
  background: url(../images/main_visual.png) 50% 100% no-repeat;
  background-size: cover;
}
main.recruit.member .products_link > div > a figure, 
main.recruit.member .products_link > div > span figure {
  width: 179px;
  height: 179px;
  overflow: hidden;
}
main.recruit.member .products_link > div > a div, 
main.recruit.member .products_link > div > span div {
  width: calc(100% - 179px);
  max-width: 70%;
  padding-left: 30px;
}
main.recruit.member .intro{
	position:relative;
	margin-bottom:80px;
}
main.recruit.member .intro .img{
	position:relative;
	display: block;
}
main.recruit.member .intro .img img{
	max-width:100%;
}
main.recruit.member .intro .img p{
	position:absolute;
	top: 25%;
	bottom:0;
	left:3%;
	margin:auto;
	font-size:3.125rem;
	color:#fff;
	text-shadow: 0 0 3px #000,0 0 5px #000;
	text-align: left;
	display: block;
}
main.recruit.member .intro .member_name{
	width: auto;
	max-width:450px;
	background:#003789;
	padding: 18px 25px;
	margin-right: auto;
	margin-top: -55px;
	position: relative;
	margin-bottom: 30px;
	color:#fff;
	font-size:1.125rem;
}
main.recruit.member .intro .member_name span{
	font-size:1.75rem;
	display:block;
}
main.recruit.member .col_wrap{
	position:relative;
}
main.recruit.member .col_wrap .col{
}
main.recruit.member .col_wrap .col02{
}
main.recruit.member .col_wrap .col + .col{
	margin-top:90px;
}
main.recruit.member .col_wrap .col .text{
	width: 100%
}
main.recruit.member .col_wrap .col .text .member_style03{
	font-size:1.5rem;
	font-weight:500;
	color:#003789;
	margin-bottom:1.25em;
	display: flex;
	align-items: center;
}
main.recruit.member .col_wrap .col .text p{
	line-height:1.75;
	font-size: 1.25rem;
}
main.recruit.member .col_wrap .col .img img{
	max-width:100%;
}
main.recruit.member .member_style04 {
    text-align: center;
    margin: 100px auto;
    font-size: 2.0rem;
}
main.recruit.member .member_style03::before{
  background-color: #003789; /* 横線の色 */
  content: "";
  height: 3px; /* 横線の高さ */
  width: 80px; /* 横線の長さ */
  margin-right: 15px;
}




main.recruit.member .col_wrap + .interview_wrap{
	margin-top: 90px;
	border-top:1px solid #d2d2d2;
	padding-top: 60px;
}
main.recruit.member .interview_wrap .products_link{
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
}
main.recruit.member .interview_wrap .products_link .col_child{
	width:50%;
}

@media screen and (max-width:768px) {
	main.recruit.member .rec_visual{
		height: 300px;
    background-position-x: 65%;
    background-size: cover;
	}
	main.recruit.article .link_btn2{
		padding: 0;
		padding-right: 0;
		margin-bottom: 0;
		width:100%;
		max-width: 48%;
		gap: 0;
	}
	main.recruit.member .intro .img p{
		top: calc(50% - 7px);
		left:10px;
		transform:translateY(-50%);
		font-size:min(1.875rem,6vw);
	}
	main.recruit.member .intro .member_name{
		padding: 10px;
		margin-top: -15px;
		position: relative;
		margin-bottom: 20px;
		font-size:1rem;
	}
	main.recruit.member .intro .member_name span{
		font-size:1.25rem;
		display:block;
	}
	main.recruit.member .intro{
		margin-bottom:40px;
	}
	main.recruit.member .col_wrap .col02{
		flex-direction:column;
	}
	main.recruit.member .col_wrap .col + .col{
		margin-top:40px;
	}
	main.recruit.member .col_wrap .col .text{
		width: 100%;
		margin-bottom:2em;
	}
	main.recruit.member .col_wrap .col .text .member_style03{
		font-size:1.25rem;
		margin-bottom:1em;
	}
	main.recruit.member .member_style04 {
		text-align: center;
		margin: 80px auto;
		font-size: 1.25rem;
	}
	main.recruit.member .col_wrap .col .img{
		width: 100%;
	}
	main.recruit.member .member_style03::before{
		height: 2px;
		width: 40px;
		margin-right: 10px;
	  }
	main.recruit.member .col_wrap + .interview_wrap{
		margin-top: 40px;
		padding-top: 20px;
	}
	main.recruit.member .interview_wrap .h_style05{
		font-size:1.5rem;
		margin-bottom: 1.43em;
	}
	main.recruit.member .interview_wrap .products_link .col_child{
		width:100%;
	}
	main.recruit.member .products_link > div > a figure, 
	main.recruit.member .products_link > div > span figure {
	  width: 149px;
	  height: 149px;
	  margin-right: auto;
	  text-align: left;
	}
	main.recruit.member .products_link > div > a figure img, 
	main.recruit.member .products_link > div > span figure img{
		max-width:100%;
	}
	main.recruit.member .products_link > div > a div, 
	main.recruit.member .products_link > div > span div {
	  width: calc(100% - 149px);
	  max-width: 70%;
	  padding-left: 0px;
	}
	main.recruit.article .entry_body{
		margin-bottom:50px;
	}
	main.recruit.member .col_wrap .col .text p{
		font-size: 1rem;
	}
}

/*data*/
main.recruit.article.data .rec_visual {
  background-image: url(../images/visual.jpg);
}
main.recruit.data .sc_col01,
main.recruit.data .sc_col03{
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	margin-bottom: 30px;
}
main.recruit.data .sc_col01 .img{
	width: 48%;
}
main.recruit.data .sc_col02 .img{
	margin-bottom:30px;
}
main.recruit.data .sc_col03 .img{
	width: 31%;
}
main.recruit.data .img img{
	max-width:100%;
}
@media screen and (max-width:768px) {
	main.recruit.data .sc_col01 .img{
		width: 100%;
		margin-bottom:20px;
	}
	main.recruit.data .sc_col02 .img{
		margin-bottom:30px;
	}
	main.recruit.data .sc_col03 .img{
		width: 100%;
		margin-bottom:20px;
	}
}

/*skill_up*/
main.recruit.skill_up .rec_visual {
  background: url(../images/visual.jpg) 50% 100% no-repeat;
  background-size: cover;
}
main.recruit.skill_up .skill01{
	margin-bottom:135px;
}
main.recruit.skill_up .skill02{
	margin-bottom:170px;
}
main.recruit.skill_up .skill02 .col{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
main.recruit.skill_up .skill02 .col .img{
	width:32%;
}
main.recruit.skill_up .skill02 .col .img img{
	max-width:100%;
}
main.recruit.skill_up .skill03{
	margin-bottom:170px;
}
main.recruit.skill_up .skill03 .col{
	display:flex;
	justify-content:space-between;
	align-items: flex-start;
}
main.recruit.skill_up .skill03 .col .item{
	width:30%;
}
main.recruit.skill_up .skill03 .col .item .img4{
	background-image: url(../images/skill04.jpg);
	background-size: cover;
	height: 200px;
}
main.recruit.skill_up .skill03 .col .item .img5{
	background-image: url(../images/skill05.jpg);
	background-size: cover;
	height: 200px;
}
main.recruit.skill_up .skill03 .col .item .img6{
	background-image: url(../images/skill06.jpg);
	background-size: cover;
	height: 200px;
}

main.recruit.skill_up .skill03 .col .item .img img{
	max-width:100%;
}

main.recruit.skill_up .skill03 .col .text .skill_style04{
	background:#003789;
	padding: 18px 25px;
	position: relative;
	margin-bottom: 30px;
	color:#fff;
	font-size:1.5rem;
	text-align:center;
	font-weight:500;
}
main.recruit.skill_up .skill04 .list_wrap{
	border:1px solid #003789;
	padding:50px 80px;
}
main.recruit.skill_up .skill04 .list_wrap .list{
	margin-bottom:60px;
}
main.recruit.skill_up .skill04 .list_wrap .list:last-child{
	margin-bottom:0;
}
main.recruit.skill_up .skill04 .list_wrap .list .list_style{
	font-weight:bold;
	color:#003789;
	margin-bottom:20px;
}
main.recruit.skill_up .skill04 .list_wrap .list ul{
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
	flex-wrap:wrap;
}
main.recruit.skill_up .skill04 .list_wrap .list ul li{
	width:33%;
	margin-bottom:10px;
}
main.recruit.skill_up .skill04 .col{
	display:flex;
	justify-content:space-between;
	margin-bottom:30px;
	gap: 30px;
}
main.recruit.skill_up .skill04 p a{
	color: blue;
    text-decoration: underline;
}
main.recruit.skill_up .skill04 p a:hover{
	text-decoration: none;
}
.skill04 .col .img img{
	width: 100%;
	text-align: center;
}

@media screen and (max-width:768px) {
	main.recruit.skill_up .skill01{
		margin-bottom:50px;
	}
	main.recruit.skill_up .skill02{
		margin-bottom:50px;
	}
	main.recruit.skill_up .skill02 .col{
		flex-wrap:wrap;
		justify-content:center;
	}
	main.recruit.skill_up .skill02 .col .img:first-child{
		width:55%;
		text-align:center;
	}
	main.recruit.skill_up .skill02 .col .img{
		width:48%;
	}
	main.recruit.skill_up .skill02 .col .img:nth-child(2){
		margin-right:2%;
	}
	main.recruit.skill_up .skill03{
		margin-bottom:50px;
	}
	main.recruit.skill_up .skill03 .col{
		flex-wrap:wrap;
	}
	main.recruit.skill_up .skill03 .col .item{
		width:100%;
		margin-bottom:30px;
	}
	main.recruit.skill_up .skill03 .col .text .skill_style04{
		padding: 10px;
		margin-bottom: 15px;
		font-size:1.25rem;
	}
	main.recruit.skill_up .skill04{
		margin-bottom:0px;
	}
	main.recruit.skill_up .skill04 .list_wrap{
		padding:20px 10px;
	}
	main.recruit.skill_up .skill04 .list_wrap .list{
		margin-bottom:30px;
	}
	main.recruit.skill_up .skill04 .list_wrap .list:last-child{
		margin-bottom:0;
	}
	main.recruit.skill_up .skill04 .list_wrap .list .list_style{
		margin-bottom:10px;
	}
	main.recruit.skill_up .skill04 .list_wrap .list ul li{
		width: 45%;
		margin-bottom:10px;
	}
	main.recruit.data .sc_col01,
	main.recruit.data .sc_col03{
		margin-bottom: 0px;
	}
	main.recruit.skill_up .skill02 .col .img{
		max-width:90%;
		margin:0 auto;
	}
	main.recruit.skill_up .skill04 .col div img{
		max-width:100%;
		width:auto;
	}
	main.recruit.skill_up .skill04 .col {
	    display: block;
		margin-bottom: 10px;
	}
	main.recruit.skill_up .skill04 .col .img{
		text-align:center;
	}
	main.recruit.skill_up .skill04 .col .img + .img{
		margin-top:30px;
	}
	main.recruit.skill_up .skill04 p{
		margin-top:30px;
	}
}
/*entry*/
main.entry .mw_wp_form dd.col{
	display:flex;
	justify-content:flex-start;
	align-items:center;
}
main.entry .mw_wp_form input[type=text]{
	margin:0 5px
}
main.entry .mw_wp_form input[type=text].year{
	max-width: 15%;
}
main.entry .table_style.table_style2 dd{
	width:74%;
}
main.entry .mw_wp_form input[type=text].month,
main.entry .mw_wp_form input[type=text].day{
	max-width: 10%;
	margin-left:10px
}
main.entry .table_style.table_style2 dd{
	width:74%;
}
@media screen and (max-width:768px) {
	main.entry .mw_wp_form input[type=text].year{
		width:40%;
		max-width:40%;
	}
	main.entry .mw_wp_form input[type=text].month,
	main.entry .mw_wp_form input[type=text].day{
		width:20%;
	}
	main.entry .mw_wp_form dd.col{
		max-width: 100%;
	}
	main.entry .table_style.table_style2 dd{
		width:100%;
		max-width: 100%;
	}
	main.entry .mw_wp_form input[type=text]{
		margin:0;
	}
}
main.requirements .requirements_table {
	width:100%;
}
main.requirements .requirements_table thead tr{
	border-bottom:1px solid #003789;
}
main.requirements .requirements_table thead th{
	padding:10px 5px;
	font-size:1.125rem;
	font-weight:bold;
}
main.requirements .requirements_table tbody th{
	display:none;
}
main.requirements .requirements_table tbody tr > *{
	padding:10px 5px;
	height: 2.5em;
}
main.requirements .requirements_table tbody tr a{
	position:relative;
	display:inline-block;
	padding-bottom:2px;
}
main.requirements .requirements_table tbody tr a:hover{
	text-decoration:none;
}
main.requirements .requirements_table tbody tr a::before{
	position:absolute;
	display:inline-block;
	content:"";
	width:100%;
	height:1px;
	background:#003789;
	left:0;
	bottom:0;
	transform:scale(0,1);
	transform-origin:right;
	transition:transform .4s;
}
main.requirements .requirements_table tbody tr a:hover::before{
	transform: scale(1,1);
	transform-origin:left;
}
@media screen and (max-width:768px) {
	main.requirements .requirements_table thead{
		display:none;
	}
	main.requirements .requirements_table,
	main.requirements .requirements_table tbody,
	main.requirements .requirements_table tbody tr > *{
		display:block;
		width:100%;
		box-sizing:border-box;
	}
	main.requirements .requirements_table tbody {
		margin-bottom:1em;
	}
	main.requirements .requirements_table tbody tr{
		display:flex;
		flex-wrap:wrap;
		border:1px solid #dfdfdf;
		border-bottom:none;
	}
	main.requirements .requirements_table tbody th{
		font-weight:bold;
		width:80px;
		background:#eff5ff;
		border-bottom:1px solid #dfdfdf;
	}
	main.requirements .requirements_table tbody td{
		width:calc(100% - 80px);
		border-bottom:1px solid #dfdfdf;
	}
	main.requirements .requirements_table tbody tr> *{
		padding:5px;
		height: auto;
	}
	main.requirements .requirements_table tbody tr a{
		padding-bottom: 0;
		text-decoration:underline;
		text-underline-offset:4px;
		text-decoration-color: #003789;
	}
	main.requirements .requirements_table tbody tr a:hover{
		text-decoration:none;
	}
	main.requirements .requirements_table tbody tr a::before{
		display:none;
	}
}
/*product_fairway*/
@media screen and (max-width:767px) {
	.product_fairway .feature_box .column_keep{
		flex-direction: row;
	}
}
/*product_equipment-batting*/
@media screen and (max-width:767px) {
	.product_equipment-batting .fw500{
		font-weight: 500;
	}
}
