/*=============================================================
 about_haken
=============================================================*/
#mainImg {
  display: none;
  background-image: url(../img/fjcareer/img_main_sp.jpg); }
  @media (min-width: 640px) {
    #mainImg {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      background-image: url(../img/fjcareer/img_main_pc.jpg); } }

#about_haken section {
  margin-bottom: 50px; }
  @media (min-width: 640px) {
    #about_haken section {
      margin-bottom: 70px; } }

#about_haken #sec02 .pic {
  display: block;
  margin: 15px auto 0; }
  @media (min-width: 640px) {
    #about_haken #sec02 .pic {
      margin: 30px auto 0; } }

#about_haken #sec04 .txt {
  margin-bottom: 30px; }
/*=============================================================
 追記
=============================================================*/

.f_normal{/*-文字太さ　normal*/
	font-weight: normal;}
  @media (min-width: 640px) {
	  .f_normal{
		  font-weight: normal;}}

.p_b{/*padding　bottom調整*/
	padding-bottom: 20px;}
  @media (min-width: 640px) {
		.p_b{
		  padding-bottom: 30px;}}


.mod_tit03 {
  font-size: 18px;
  font-weight:bold; }
  @media (min-width: 640px) {
    .mod_tit03 {
      font-size: 25px;
      } }


/*---------------------------------------------------充実の研修制度*/

#sec01{
	height: auto;}

#sec01 .four{
    display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
    width:100%;
	height: auto;
	margin: 20px auto;}

#sec01 .four_li{
width:100%;
margin-bottom: 20px;}
  	@media (min-width: 640px) {
	  #sec01 .four_li{
    		background-color: #f5ece6;
    		width: 24%;
		  	padding: 20px;
			height: auto;
		margin: 5px auto;}}
#sec01 .four_li .tit {
      background-color: #f38440;
      height: 35px;
      line-height: 35px;
      color: #fff;
      border-radius: 35px;
      padding: 0 20px;
      position: relative; }
#sec01 .pink .four_li .tit{
      background-color: #e07381;
}
#sec01 .four_li .tit span {
      color: #f38440;
		background:#fff;
	padding:3px 10px;
	border-radius:50px;
	font-size:90%;
	margin-left:5px;
}
#sec01 .pink .four_li .tit span {
	color: #e07381;
}
#sec01 .four_li .tit:before {
        content: '';
        width: 13px;
        height: 22px;
        margin-right: 8px;
        -webkit-transform: translateY(-1px);
        transform: translateY(-1px);
        display: inline-block;
        background: url(../img/common/ico_human02.png) left top no-repeat;
        background-size: contain;
        vertical-align: middle; }
#sec01 .four_li .tit.js-toggle:after {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        right: 20px;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 7px 6px 0 6px;
        border-color: #fff transparent transparent transparent; }
#sec01 .four_li .tit.open:after {
        -webkit-transform: translateY(-50%) rotate(180deg);
        transform: translateY(-50%) rotate(180deg); }
#sec01 .four_li .js-toggle-content {
	display:none;
}
 	@media (min-width: 640px) {
		#sec01 .four_li .js-toggle-content {
			display:block;
		}}

@media (min-width: 640px) {
#sec01 .four_li img{
	display: block;
	width: 140px;
	height: 140px;
	padding: 0;
	margin: 0 auto 15px auto;}
}
#sec01 .four_li .txt{
	padding: 10px 15px 0;
	width: 100%;
	height: auto;
    font-size: 14px;}
  	@media (min-width: 640px) {
		#sec01 .four_li p{
		font-size: 17px;}}


/*---------------------------------------------------充実の研修制度 end*/


/*---------------------------------------------------汎用-*/
#sec02{
	margin-bottom:30px;
}
#sec02 .right{
	margin-bottom: 20px;}
  	@media (min-width: 640px) {
			#sec02 .right{
			margin-bottom: 40px;}}

#sec02 .tit span{
	font-weight: bold;
	font-size: 17px;
	margin-top: 20px;}
  	@media (min-width: 640px) {
		#sec03 .tit span{
		font-size: 20px;
		margin-top: 40px;}}

#sec02 .b_red{
	display:block;
	font-size:18px;
	font-weight:bold;
	color:#cc0000;
	margin-top:20px;
		margin-bottom:8px;}
  	@media (min-width: 640px) {
		#sec02 .b_red{
			font-size:20px;
		margin-top:30px;
		margin-bottom:10px;}}

/*---------------------------------------------------202503追記-*/

#sec02 em {
  font-size: 26px;
  color: #0E52B9;
  font-weight: bold;
}

#sec02 strong {
  font-weight: bold;
}

#footer_tit {
  text-align: center;
  margin-bottom: 40px;
}

#footer_tit span {
  font-size: 26px;
  color: #0E0B0B;
  font-weight: bold;
}

/* スマートフォン向けのスタイル */
@media screen and (max-width: 640px) {
  #sec02 em {
    font-size: 16px;
  }
  
  #footer_tit span {
    font-size: 16px;
  }
  
  #footer_tit {
    margin-bottom: 30px;
  }
}



/*---------------------------------------------------汎用- end*/

/*---------------------------------------------------万全なフォロー体制*/
#sec03{
	margin-bottom:50px;
}

#sec03 .tit span{
	font-weight: bold;
	font-size: 17px;
	margin-top: 20px;}
  	@media (min-width: 640px) {
		#sec03 .tit span{
		font-size: 20px;
		margin-top: 40px;}}

#sec03 .right{
	margin-bottom: 20px;}
  	@media (min-width: 640px) {
			#sec02 .right{
			margin-bottom: 40px;}}

/*---------------------------------------------------万全なフォロー体制 end*/

/*---------------------------------------------------オンラインシステム*/
#sec04{
	margin-bottom:30px;
}
@media (min-width: 640px) {
#sec04{
	margin-bottom:50px;
}}
.feature03_section{
	width:100%;
	height: auto;
	padding:0;
	margin: 10px 0;}
  	@media (min-width: 640px) {
		.feature03_section{
			margin: 30px auto;}}

.feature_img_03{
	float: none;
	width: 100%;
	height: auto;
	padding: 0;
	margin:  0;}
  	@media (min-width: 640px) {
		.feature_img_03{
			float: left;
			width: 55%;
			height: auto;
			padding: 0;
			margin: 0;}}


.feature03_section ul{
	width: 100%;
	height: auto;
	padding:0;
	margin: 0 auto 20px auto;}
  	@media (min-width: 640px) {
		.feature03_section ul{
			float:right;
			width: 45%;
			max-width:640px;}}


.feature03_section li{
	width:100%;
	height: auto;
	color:#f06b80;
	font-size: 18px;
	font-weight: bold;
	line-height: 2.8em;
	padding:0 10px;
	margin: 0;}
  	@media (min-width: 640px) {
		.feature03_section li{
			color:#f06b80;
			font-size: 19px;
			line-height: 2.2em;}}



.feature03_section .feature_li01{
	background-color: #fceced;
}

/*---------------------------------------------------オンラインシステム end*/


/*---------------------------------------------------給与アイコン */
#sec05{
	margin-bottom:30px;
}

.mod_list01 .item .tit2:before {
	width: 22px;
	height: 22px;
    background: url(../img/common/ico_wallet.png) left top no-repeat;
    background-size: contain;}
    @media (min-width: 640px) {
       .mod_list01 .item .tit2:before {
			width: 25px;
            height: 25px;} }



/*=============================================================
 ページ汎用
=============================================================*/

.mod_list01 .item .tit2:before {
	width: 22px;
	height: 22px;
    background: url(../img/common/ico_wallet.png) left top no-repeat;
    background-size: contain;}
    @media (min-width: 640px) {
       .mod_list01 .item .tit2:before {
			width: 25px;
            height: 25px;} }


.point_box{
	width: 100%;
	height: auto;
	margin: 0 auto;
	font-weight: bold;
  	font-size:18px;
  	padding-bottom:25px;}
    @media (min-width: 640px) {
		.point_box{
			height: auto;
			padding-top:0px;}}


.point_box_ttl {
  background-color:#ebdad0;
  margin-top:0px;
  line-height:50px;
  height:50px;
  box-sizing:border-box;
  width:100%x;
	height: auto;
  font-size:17px;
	font-weight: bold;
	padding-left: 15px;}
	    @media (min-width: 640px) {
			.point_box_ttl {
			font-size:20px;}}


.point_box_txt {
  background-color:#f5ece6;
  box-sizing:border-box;
  width:100%;
	height: auto;
  padding:15px;}

/*- 変更前 --------------------------

.point_box{
	width: 100%;
	height: auto;
	margin: 0 auto;
	font-weight: bold;
  	font-size:18px;
  	padding-bottom:25px;}
    @media (min-width: 640px) {
		.point_box{
			height: auto;
			padding-top:15px;}}


.point_box_ttl {
  background-color:#ebdad0;
  margin-top:24px;
  line-height:50px;
  height:50px;
  box-sizing:border-box;
  width:100%x;
	height: auto;
  font-size:17px;
	font-weight: bold;
	padding-left: 15px;}
	    @media (min-width: 640px) {
			.point_box_ttl {
			font-size:20px;}}


.point_box_txt {
  background-color:#f5ece6;
  box-sizing:border-box;
  width:100%;
	height: auto;
  padding:15px;}

/*---------------------------*/

.tourlist{
  padding-left: 1em;
    text-indent: -1em;
  margin-top: 10px;
  margin-bottom: 10px;}
  @media (min-width: 640px) {
    .tourlist{
    padding-left: 1em;
    text-indent: -1em;
      margin-top: 10px;
    margin-bottom: 10px;}}

.tourlist span{
  color:#73C470;}

.txt span{
  color:#73C470;
  font-weight: bold;
  }

.tour_bg {
    background-color: #FFCACA;
    padding: 1rem 2rem;
    color: #ff0000;
    font-size: 36px;
}


/*-----------------------------------------------------------------------流れ*/
.flow_ia, .flow_ia_blue {
	display:block;
	position:relative;
  	background-color:#ecf2fd;
	padding: 15px;}
		 @media (min-width: 640px) {
		.flow_ia, .flow_ia_blue {
			display:flex;
  			display:-webkit-flex;
  			flex-wrap:nowrap;
  			-webkit-flex-wrap:nowrap;
			margin:1em 0;
			 padding: 0;}}
			 
.flow_ia_blue {
	margin-top: 25px;}
	@media (min-width: 640px) {
		.flow_ia_blue {
		  margin-top: 0}}

.flow_ia .flow_step {
	background-color:#6b86f0;
    width:80px;
    height:80px;
    min-width:80px;
    border-radius:50%;
    position:absolute;
    top:15px;
	left:15px;}
		@media (min-width: 640px) {
		.flow_ia .flow_step {
  		background-color:#6b86f0;
		width:125px;
		height: 100%;
		border-radius:0;
		top:0;
		left:0;}}

.flow_ia .flow_step img {
	position:relative;
	width: 75%;
    top:0;
    margin-top:0;
    top:15px;
    left:59%;
    margin-left:-32px;}
	@media (min-width: 640px) {
		.flow_ia .flow_step img {
			position:relative;
			top:50%;
			width: 50%;
			height: auto;
			margin-top:-18px;
			margin-left:-35px;}}

.flow_ia .flow_textbox {
  box-sizing:border-box;}
	@media (min-width: 640px) {
		.flow_ia .flow_textbox {
  		width:100%;
		padding:15px 15px 15px 0;
		margin-left: 100px;}}

.flow_ia_blue .flow_textbox_blue {
  box-sizing:border-box;}
	@media (min-width: 640px) {
		.flow_ia_blue .flow_textbox_blue {
  		width:100%;
		padding:15px 15px 15px 0;}}

.flow_text_ttl, .flow_text_ttl_blue {
	padding-left: 95px;
    padding-bottom:25px;
	border-bottom:2px solid #bbb;
    box-sizing:border-box;}
	@media (min-width: 640px) {
	.flow_text_ttl, .flow_text_ttl_blue {
  		width:95%;
  		border-bottom:1px solid #bbb;
		margin: 0 -40px 0 40px;
		padding-bottom:5px;
		padding-left: 0;}}

.flow_text_ttl_blue {
	padding-left: 0;
}
.flow_text_ttl .flow_text_ttlMain,
.flow_text_ttl_blue .flow_text_ttlMain_blue {
  color:#6b86f0;
  font-size:27px;
  font-weight:bold;
  margin:0;}
	@media (min-width: 640px) {
		.flow_text_ttl .flow_text_ttlMain,
		.flow_text_ttl_blue .flow_text_ttlMain_blue {
  		color:#6b86f0;
  		font-size:27px;
  		font-weight:bold;
		margin:0;}}

.flow_text_ttl_blue .flow_text_ttlMain_blue {
  color:#6b86f0;
}

.flow_text_ttl .flow_text_ttlSub,
.flow_text_ttl_blue .flow_text_ttlSub {
  color:#333;
  font-size:16px;
  font-weight:bold;
  margin:0;}

.flow_ia .flow_textbox .flow_text_p1,
.flow_ia_blue .flow_textbox_blue .flow_text_p1 {
  width:100%;
	height: auto;
	margin: 15px auto;}
	@media (min-width: 640px) {
	.flow_ia .flow_textbox .flow_text_p1,
	.flow_ia_blue .flow_textbox_blue .flow_text_p1 {
  		width:95%;
		margin: 0 -40px 0 40px;
		height: auto;
		padding: 15px 0;}}

.flow_btnlist,.flow_btnlist_blue {
  display:flex;
  display:-webkit-flex;
  flex-wrap:nowrap;
  -webkit-flex-wrap:nowrap;}

.flow_btnlist div {
/*  margin-right:1.5em; */}

 .flow_ia_sankaku {
	 display: block;
	 margin:20px auto;}
	@media (min-width: 640px) {
 		.flow_ia_sankaku {
	 		display: block;
	 		margin:0 auto;}}

.flow_btnlist .flow_btnlink a,
.flow_btnlist_blue .flow_btnlink_blue a {
  display:block;
  background-color:#fff;
  line-height:35px;
  padding:0 19px 0 6px;
	font-size: 13px;
  position:relative;
  color:#f06b80;
  box-sizing:border-box;
  border:1px solid #f06b80;
margin:0 2px;}
@media (min-width: 640px) {
	.flow_btnlist .flow_btnlink a,
	.flow_btnlist_blue .flow_btnlink_blue a {
  		display:block;
  		background-color:#fff;
  		line-height:35px;
  		padding:0 40px;
		font-size: 17px;
		margin-left: 40px;
  		position:relative;
  		color:#f06b80;
  		box-sizing:border-box;
		border:1px solid #f06b80;}}

.flow_btnlist_blue .flow_btnlink_blue a {
  color:#6b6df0;
  border:1px solid #6b6ff0;}
@media (min-width: 640px) {
	.flow_btnlist_blue .flow_btnlink_blue a {
	color:#6b6df0;
	border:1px solid #6b6ff0;}}

.flow_btnlink, .flow_btnlink_blue {
	position:relative;}


.flow_btnlink a img,
.flow_btnlink_blue a img {
	vertical-align:0em;
	display:inline-block;
	position:absolute;
	top:9px;
	right:4px;}
@media (min-width: 640px) {
	.flow_btnlink a img,
	.flow_btnlink_blue a img {
		right:15px;}}


/*-----------------------------------------------------------------------流れ end*/

/*=============================================================
 説明会
=============================================================*/

.center{
	font-size:16px;
	text-align: center;}
  	@media (min-width: 640px) {
		.center{
			font-size:18px;}}

/* ---------------------------------------------------------説明会*/

#sec_setsumei {
	background-color: #fdebee;
  	padding-top:  50px;
  	padding-bottom:  50px; }
  @media (min-width: 640px) {
    #sec_setsumei  {
		padding-top: 70px;
		padding-bottom:  70px; } }

/* -----------------------------------------------------説明会　タブ*/
		
.tab_ul{
	display: flex;
	flex-direction: row;
	justify-content:space-between;
	width: 100%;
	padding: 0;
	margin:30px auto 0 auto;}
	@media (min-width: 640px) {
		.tab_ul{
			width:1000px;
			display: flex;
			flex-flow: row wrap;
			justify-content: flex-start;
			margin:30px auto 0 auto;}}

.tab_ul li {
	width: 125px;
	height: 50px;
	padding: 0;
	margin: 0 auto;
	opacity: 1;}
	@media (min-width: 640px) {
	.tab_ul li {
    	width: 200px;
		height: 50px;
		padding: 0;
		margin: 0 5px 0 0;}}
 
.tab_ul li a { 
		font-size: 18px;
		display: block;
		width: 100%;
		height: 100%;
		background-color:#f3b0bb;
    	color: #f9dadf;
    	font-weight: bold;
    	text-align: center;
		line-height: 2.1em;
		letter-spacing: 0.2em;
		padding: 10px 0;
		border-bottom: none;
		border-radius: 10px 10px 0 0 / 10px 10px 0 0;
		-webkit-border-radius: 10px 10px 0 0 / 10px 10px 0 0;
		-moz-border-radius: 10px 10px 0 0 / 10px 10px 0 0;}
	@media (min-width: 640px) {
	.tab_ul li a { 
		font-size: 18px;
		line-height: 1.8em;}}

.tab_ul li a:hover{/* タブボタンhover*/
    background-color:#f06b80;
    color:#fff;
	opacity:1;
	border-bottom: none;
	margin-right: 3px;}

 
.tab_ul li a.current {
    background: #f06b80;
    color: #fff;
	padding: 10px 0;
	border-bottom: none;
	margin-right: 3px;}
 
#tab_contents div {
		width: 100%;
		height: auto;
    	background: white;
    	border: 2px solid #f06b80;
		padding: 30px 0;
		margin: 0 auto;}
	@media (min-width: 640px) {
		#tab_contents div {
		width: 820px;}}


#tab1,#tab2,#tab3{
		width:100%;
		height: auto;
		margin: 0 auto;
		padding: 15px 0;}
	@media (min-width: 640px) {
		#tab1,#tab2,#tab3{
			width:820px;}}


#tab1 dl a,#tab2 dl a,#tab3 dl a{
		color:#333;
		font-size:15px;
		line-height: 1.8em;}
	@media (min-width: 640px) {
		#tab1 dl a,#tab2 dl a,#tab3 dl a{
		line-height: 2.8em;}}

#tab1 dl,#tab2 dl,#tab3 dl{
		width: 90%;
		height:auto;
		font-color:#333;
		line-height:0.5em;
		margin: 0 auto;
		padding:5px;
		border-bottom: solid 1px #666;}
	@media (min-width: 640px) {
		#tab1 dl,#tab2 dl,#tab3 dl{
		width: 85%;
		height:auto;
		font-color:#333;
		line-height:2.5em;
		margin: 0 auto;
		padding:5px;
		border-bottom: solid 1px #666;}}


#tab_contents dl:last-child{
		border-bottom: none;}

#tab1 dt,#tab2 dt,#tab3 dt{
		display:block;}
		@media (min-width: 640px) {
			#tab1 dt,#tab2 dt,#tab3 dt{
			display:inline-block;}}


#tab1 dd,#tab2 dd,#tab3 dd{
			display:block;}
		@media (min-width: 640px) {
			#tab1 dd,#tab2 dd,#tab3 dd{
			display:inline-block;
			margin-left:25px;}}

/* --------------------------------------------説明会　タブ end*/

/*----------------------------------------------------------------------------採用情報*/

.mod_tit_rec {
  position: relative;
  background-color: #e6f9e8;
  padding: 10px 20px 8px;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px; }
  @media (min-width: 640px) {
    .mod_tit_rec {
		width: 100%;
		height: auto;
      padding: 12px 25px 10px;
      font-size: 28px;
      margin-bottom: 35px; } }

.mod_tit_rec p{
	margin-left:2em;}
@media (min-width: 640px) {
		.mod_tit_rec p{
		margin-left:2em;}}


.mod_tit_rec p:before{
  content: url("../img/recruitment/saiyo_icon_s.png");
	position: absolute;
	margin-left:-2.3em;
	top:5px;}
@media (min-width: 640px) {
	.mod_tit_rec p:before{
		margin-left:-2em;
		top:13px;}}


.tit_re{
	font-size:16px;}
@media (min-width: 640px) {
	.tit_re{
		font-size:18px;}}

.tit_orange{
	position: relative;
	margin-top: -5px;
	margin-bottom: 15px;
	margin-left:2em;}
@media (min-width: 640px) {
	.tit_orange{
		margin-top: -10px;
		margin-bottom: 30px;
	margin-left:6em;}}

.tit_orange a{
		color:#f38440;}

.tit_orange a:hover{
		opacity: 0.8;}

.tit_orange a:before{
	content: url("../img/recruitment/black_sankaku_s.png");
	position: absolute;
	margin-left:-1em;}

/*
#sidebar a, #sidebar_nofixed a {
    color: #fff;
}
*/

/* ↓ロゴマーク表示------------------------- */

.logo-text-container {
  display: flex;
  align-items: center;
  flex-wrap: wrap; /* スマホでの折り返しを許可 */
}

.logo {
  width: 80px; /* 画像の幅を設定 */
  height: auto; /* 高さを自動調整して縦横比を維持 */
  margin-left: 30px; /* 画像とテキストの間隔 */
}

.logo-text {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5; /* 行間を調整 */
}

.highlight-haken {
  color: #FF018F;
}

.highlight-p {
  color: #004097;
}

/* スマートフォン向けのスタイル */
@media screen and (max-width: 767px) {
  .logo-text-container {
    justify-content: center; /* スマホでは中央寄せ */
  }
  
  .logo {
    width: 60px; /* スマホでは画像を小さく */
    margin-left: 15px; /* マージンも小さく */
  }
  
  .logo-text {
    font-size: 24px; /* スマホではテキストを小さく */
  }
}

/* さらに小さい画面向け */
@media screen and (max-width: 480px) {
  .logo-text {
    font-size: 20px; /* より小さい画面ではさらに小さく */
  }
  
  .logo {
    width: 50px; /* より小さい画面ではさらに小さく */
    margin-left: 10px;
  }
}

/* ↑ロゴマーク表示------------------------- */

