@charset "UTF-8";
/*!  mixin,変数
================================================ */
/*=============================================================
 agent
=============================================================*/
#mainImg {
  background-image: url(../img/fjrecruit/img_main_sp.jpg); }
  @media (min-width: 640px) {
    #mainImg {
      background-image: url(../img/fjrecruit/img_main_pc.jpg); } }

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

@media (min-width: 640px) {
  #agent .boxWrap {
    width: 1000px;
    margin: 0 auto; /* 中央寄せのためのマージン設定 */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center; /* 中央寄せに変更 */
    -ms-flex-pack: center; /* 中央寄せに変更 */
    justify-content: center; /* 中央寄せに変更 */
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    #agent .boxWrap .mod_box02 {
      background-color: #ffffff;
      width: 470px;
      margin: 0 15px; /* 両側に余白を追加して中央寄せ感を強化 */ } }

/*=============================================================
 追記
=============================================================*/

.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;
  display: flex;
  justify-content: center;
  align-items: center;
}
  @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: 1000px;}}


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


#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*/

/* ----------------------------------添乗員の特徴　&　バスガイド**/
#sec_tokucho{
	height: auto;
	padding: 20px 0;}
	@media (min-width: 640px) {
		#sec_tokucho{
		padding: 20px 0;}}

.tokucho_contents{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;}

.tp2_box{
	position: relative;
	width:100%;
	height:auto;
	padding: 0;
	margin:20px auto;}
	@media (min-width: 640px) {
		.tp2_box{
			width:29%;
			height:auto;}}


.tp2_box a, .busguide_box a{
	display: block;
	width: 100%;
	height:100%;}

.tp2_box a:hover, .busguide_box a:hover{
	opacity: 0.8;}

.box_title01{
	font-size:19px;
	font-weight: bold;
	text-align: center;
	margin-top: 28px;
	margin-bottom: 15px;}
	@media (min-width: 640px) {
		.box_title01{
			font-size:22px;}}

.tokucho_contents img:not(.more_btn){
	width:100%;
	height:auto;}

.more_btn{/* もっと詳しくボタン */
	position: absolute;
	width: 25%;
	height: auto;
	top:150px;
	right:5px;}
	@media (min-width: 640px) {
		.more_btn{
			width:23%;
			height:auto;
			top:150px;
			right:10px;}}

.tokucho_contents .tp2_box_bottom{
	width:100%;
	height:auto;
	color:#333;
	font-size:15px;
	text-align:left;
	padding:0;}

/* -------------------------------------------バスガイドのみ*/
#sec_busguide{
	height: auto;
	background-color: #f5ece6;
	padding-top: 50px;
	padding-bottom:35px;
	margin: 0 auto;}
	@media (min-width: 640px) {
		#sec_busguide{
		padding: 70px 0 50px 0;}}

.busguide_contents{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;}

.busguide_contents .tp2_box{
	position: relative;
	width:100%;
	height:auto;
	padding: 0;
	margin:20px auto;}
	@media (min-width: 640px) {
		.busguide_contents .tp2_box{
			width:29%;
			height:auto;}}

.busguide_contents img:not(.more_btn){
	width:100%;
	height:auto;}

.busguide_contents .tp2_box_bottom{
	width:100%;
	height:auto;
	color:#333;
	font-size:15px;
	text-align:left;
	padding:0;
	margin: 30px auto 0 auto;}

.busguide_contents .more_btn{/* もっと詳しくボタン */
	position: absolute;
	width: 25%;
	height: auto;
	top:150px;
	right:5px;}
	@media (min-width: 640px) {
		.busguide_contents .more_btn{
			width:23%;
			height:auto;
			top:150px;
			right:10px;}}

/* -----------------------------------------バスガイド　end*/

/* ----------------------------------------------FJコラム */
#sec_column{
	height: auto;
	padding: 0;}
	@media (min-width: 640px) {
		#sec_column{
		height: auto;
		padding: 0;}}


.column_contents{
	height: auto;
	padding-top:30px;
	margin: 0 auto;
	padding-bottom: 30px;}

.column_box{
	width: 100%;
	height:auto;
	padding: 20px 0;
	margin:0 auto;
	border-bottom: solid 2px #aaa;
	overflow: hidden;}
	@media (min-width: 640px) {
		.column_box{
			border-bottom: solid 1px #aaa;}}

.column_box a{
	display: block;
	width: 100%;
	height:100%;}

.column_box a:hover{
	opacity: 0.8;}

.column_contents img{
	float: left;
	width:  45%;
	height: auto;
	margin: 0 auto 0 auto;}
	@media (min-width: 640px) {
		.column_contents img{
			width:  15%;
			height: auto;}}


.column_contents p{
	float: right;
	width:50%;
	height:auto;
	color:#333;
	font-size: 14px;
	text-align:left;
	line-height: 1.4em;
	padding:0;
	margin:0 0 0 10px;}
	@media (min-width: 640px) {
		.column_contents p{
			width:83%;
			height:auto;
			font-size: 16px;}}


.column_contents span{
	display: block;
	font-size: 17px;
	margin-bottom: 15px;}
	@media (min-width: 640px) {
		.column_contents span{
			font-size: 22px;}}


/* ----------------------------------------------FJコラム end */

.mod_intro01 {
	padding-bottom: 120px;}
	@media (min-width: 640px) {
	.mod_intro01 {
	    background-position: left 50%;
	    padding-bottom: 0;}}

.mod_intro02 {
	background: url(../img/common/img-woman.jpg) center bottom no-repeat;
	padding-bottom: 120px;}
	@media (min-width: 640px) {
	.mod_intro02 {
    	background: url(../img/common/img-woman.jpg) center bottom no-repeat;
	    background-position: left 50%;
	    padding-bottom: 0;}}


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

/*!  #mainImg
================================================ */
#mainImg {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 250px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top; /* 上詰めに変更 */
  position: relative;
  z-index: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 0; /* 上部パディングを削除 */ }
  @media (min-width: 640px) {
    #mainImg {
      height: 400px;
      padding-top: 0; /* 上部パディングを削除 */
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; } }
  #mainImg .tit {
    color: #fff;
    font-size: 24px; /* スマホ用に文字サイズを小さく */
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.35);
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.3; }
    @media (min-width: 640px) {
      #mainImg .tit {
        font-size: 48px; } }
  #mainImg .sub {
    color: #fff;
    font-size: 16px; /* スマホ用に文字サイズを小さく */
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.35);
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-top: 8px; /* スマホ用にマージンを小さく */ }
    @media (min-width: 640px) {
      #mainImg .sub {
        font-size: 24px;
        margin-top: 28px; } }

#mainImgTop {
  margin-top: 0; /* 上部マージンを削除 */
  position: relative;
  z-index: 1;
  width: 100%; /* スマホ用に幅を100%に設定 */ }
  #mainImgTop .slide01,
  #mainImgTop .slide02,
  #mainImgTop .slide03 {
    background-position: top; /* 上詰めに変更 */
    background-size: cover;
    position: relative;
    height: 350px; /* スマホ用に高さを小さく */
    width: 100%; /* スマホ用に幅を100%に設定 */ }
    @media (min-width: 640px) {
      #mainImgTop .slide01,
      #mainImgTop .slide02,
      #mainImgTop .slide03 {
        height: 745px; } }
  #mainImgTop .slide01 {
    background-image: url(../img/fjrecruit/mainimg01.png); }
  #mainImgTop .slide02 {
    background-image: url(../img/fjrecruit/mainimg02.png); }
  #mainImgTop .slide03 {
    background-image: url(../img/fjrecruit/mainimg03.png); }
  #mainImgTop .tit {
    padding-top: 0; /* 上部パディングを削除 */
    white-space: nowrap;
    color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.35);
    font-weight: bold;
    letter-spacing: 0.1em;
    font-size: 24px; /* スマホ用に文字サイズを小さく */ }
    @media (min-width: 640px) {
      #mainImgTop .tit {
        top: 280px;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        font-size: 60px; } }
    #mainImgTop .tit em {
      font-size: 32px; /* スマホ用に文字サイズを小さく */
      display: inline-block;
      margin: 0 -0.8em; }
      @media (min-width: 640px) {
        #mainImgTop .tit em {
          font-size: 80px;
          margin: 0 -0.5em; } }
  #mainImgTop .sub {
    color: #fff;
    position: absolute;
    right: 10px; /* スマホ用に位置を調整 */
    bottom: 30px; /* スマホ用に位置を調整 */
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.35);
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 14px; /* スマホ用に文字サイズを小さく */ }
    @media (min-width: 640px) {
      #mainImgTop .sub {
        font-size: 36px;
        top: 480px;
        right: 80px;
        bottom: auto; } }
