@charset "utf-8";

/* CSS Document */
/*=================共通====================*/
 
 /*--- 共通 ---*/
.pc_none { display:none; }
.noto { font-family:"Noto Sans Japanese"; font-size:100%; font-weight:500; }

a.hover { display:block; }
a.hover:hover {
	animation-name:hover;
	animation-duration:0.5s;
	animation-iteration-count:1;
	animation-timing-function:ease;
	-webkit-animation-name:hover;
	-webkit-animation-duration:0.5s;
	-webkit-animation-iteration-count:1;
	-webkit-animation-timing-function:ease;
	-ms-animation-name:hover;
	-ms-animation-duration:0.5s;
	-ms-animation-iteration-count:1;
	-ms-animation-timing-function:ease;
	}
@-ms-keyframes hover {
	0% { -ms-transform: scale(1);}
	50% { -ms-transform: scale(1.05);}
	100% {  -ms-transform: scale(1);}
	}
@-webkit-keyframes hover {
	0% { -webkit-transform: scale(1);}
	50% { -webkit-transform: scale(1.05);}
	100% {  -webkit-transform: scale(1);}
	}
@keyframes hover {
	0% { transform: scale(1); }
	50% { transform: scale(1.05); }
	100% { transform: scale(1); }
	}

#wrapper { width:100%; overflow:hidden; }
#contents { width:100%; margin:-40px auto 0; padding:80px 0 100px; border-top:3px solid #9f6907; border-bottom:3px solid #9f6907; background-image:url(../img/con_bg.png); position:relative; z-index:0; }
.bg_wh { width:100%; max-width:1000px; margin:0 auto; padding:30px 40px 50px; background-color:#fff; border:3px solid #9f6907; }

.con_ttl { width:400px; margin:0 auto 20px; }
.con_ttl img { width:100%; }
.con_ttl2 { max-width:300px; width:100%; margin:0 auto 20px; }
.con_ttl2 img { width:100%; }
.con_ttl3 { padding:20px; background-image:url(../img/con_ttl3_bg1.png), url(../img/con_ttl3_bg2.png); background-size:contain; background-repeat:no-repeat; background-position:left bottom, right top; }
.con_ttl3 img { width:100%; }
.con_ttl4 { color:#9f6907; font-family:"Noto Sans Japanese"; font-size:100%; font-weight:500; }
.con_ttl4 span { position:relative; padding:0 1.3em; }
.con_ttl4 span:before, .con_ttl4 span:after { position:absolute; font-family:"Noto Sans Japanese"; font-size:110%; font-weight:500; top:-10%; }
.con_ttl4 span:before { left:-10px; content:"｛"; }
.con_ttl4 span:after { right:-10px; content:"｝"; }

.frame1 { background-image:url(../img/topics_bg1.png), url(../img/topics_bg2.png); background-repeat:no-repeat; background-position:left top, right bottom; }

.btn_more { text-align:center; max-width:180px; margin:0 auto; border:2px solid #9f6907; }
.btn_more a { display:block; padding:5px 40px; background-color:#9f6907; font-family:"Noto Sans Japanese"; font-weight:500; font-size:17px; color:#fff; }
.btn_more a:hover { background-color:#fff; color:#9f6907; }

#rout .img_map { text-align:center; }
#rout .img_txt { max-width:470px; width:100%; margin:30px auto 60px; }
#rout .notes { width:100%; max-width:800px; text-align:center; background-color:#d7c9b6; padding:10px 20px; margin:100px auto 0; font-family:"Noto Sans Japanese"; font-size:17px; font-weight:500; }
#rout .rout_list { align-items:flex-start; -webkit-align-items:flex-start; max-width:800px; width:100%; margin:30px auto; }
#rout .rout_list > li { max-width:370px; width:100%; padding:0 30px 30px; background-position:left 18px, right bottom !important; }
#rout .rout_list > li:nth-child(2) { margin-top:150px; }
#rout .rout_list > li:nth-child(3) { margin-top:-80px; }
#rout .rout_list > li .ttl { margin-bottom:25px; }
#rout .rout_list > li .con_ttl4 { font-size:17px; text-align:center; margin-bottom:5px; }
#rout .rout_list > li .teisya_list li { width:48%; }
#rout .rout_list > li .teisya_list li:nth-child(2n+2) { margin-left:4%; }
#rout .rout_list > li .teisya_list li:nth-child(n+3) { margin-top:10px; }
#rout .rout_list > li .teisya_list li a { position:relative; display:block; font-size:14px; background-color:#d7c9b6; padding:5px 10px 3px 35px; }
#rout .rout_list > li .teisya_list li a:hover { background-color:#9f6907; color:#fff; }
#rout .rout_list > li .teisya_list li a:before { position:absolute; content:""; top:10px; left:10px; background-image:url(../img/ico_bus.png); background-repeat:no-repeat; background-size:contain; display:inline-block; width:20px; height:11px; }

/*--- header ---*/
header { background-image:url(../img/header_bg.png); background-position:center top; background-repeat:no-repeat; position:relative; z-index:100; }
header .logo { text-align:center; padding-top:5px; }
#gnav_box .logo2 { display:none; }

#nav-toggle { display:none; }
#gnav { display:none; }
#gnav_pc { position:relative; width:100%; max-width:980px; height:80px; background-image:url(../img/gnav_bg.png); background-repeat:no-repeat; z-index:100; margin:-40px auto 0; padding:30px 50px 0; }
#gnav_pc ul { text-align:center; }
#gnav_pc ul li { display:inline-block; margin-right:30px; text-align:left; }
#gnav_pc ul li:last-child { margin-right:0; }
#gnav_pc ul .home { width:49px; }
#gnav_pc ul .plb { width:170px; }
#gnav_pc ul .tehai { width:109px; }
#gnav_pc ul .shuttle { width:138px; }
#gnav_pc ul .recruit { width:68px; }
#gnav_pc ul .company { width:68px; }
#gnav_pc ul .contact { width:103px; }
#gnav_pc ul .pass { width:81px; }
#gnav_pc ul li a { position:relative; display:block; height:20px; overflow:hidden; }
#gnav_pc ul li a img { position:absolute; }
#gnav_pc ul li a:hover img { top:-22px; }

#gnav_box.fixed { position:fixed; display:flex; align-items:center; justify-content:center; top:0; left:0; right:0; z-index:1000; background-color:#fff; border-bottom:3px solid #9F6907; padding:5px 0; }
#gnav_box.fixed .logo2 { display:inline-block; width:20%; max-width:220px; margin-left:1%; padding-top:3px; }
#gnav_box.fixed #gnav_pc { margin:0; background-image:none; padding:30px 0 0; width:78%; max-width:900px; }
#gnav_box.fixed #gnav_pc ul li { margin-right:2%; }
@media screen and (max-width: 1200px) {
#gnav_box.fixed .logo2 { width:14%; }
#gnav_box.fixed #gnav_pc { max-width:850px; width:86%; }
}

/*--- footer ---*/
#btn_pass { margin:0; position:fixed; bottom:100px; right:5px; z-index:5000; }
#btn_pass a { height:110px; display:block; }
#btn_pass a:hover { margin-bottom:10px; }
#btn_pass a img { max-width:130px; width:100%; }
#pagetop { margin:0; position:fixed; bottom:100px; right:10px; z-index:5000; }
#pagetop a { height:40px; display:block; }
#pagetop a:hover { margin-bottom:10px; }
#pagetop a img { max-width:110px; width:100%; }
footer { position:relative; z-index:10; }
footer .inner { position:relative; max-width:1000px; margin:0 auto; padding-top:80px; }
footer .img_bus { position:absolute; right:80px; bottom:-40px; }
footer .flogo { width:300px; margin-left:-150px; position:absolute; left:50%; top:-53px; }
footer .fnav { text-align:center; font-size:14px; margin-bottom:30px; }
footer .fnav li { display:inline-block; position:relative; padding:0 20px; }
footer .fnav li:first-child:before { content:"|"; position:absolute; top:0; left:-7px; }
footer .fnav li:after { content:"|"; position:absolute; top:0; right:-7px; }
footer .fadddress { text-align:center; font-size:14px; margin-bottom:25px; }
footer .copy { text-align:center; background-color:#D22424; padding:10px 0; font-size:13px; color:#fff; }
footer .copy .line_wh { display:block; border-bottom:2px solid #fff; padding-bottom:10px; }
footer .copy a { color:#fff; text-decoration:underline; }


/*----------------------------------------------------
タブレット
-----------------------------------------------------*/
@media screen and (max-width: 1000px) {
/*=================共通====================*/
#wrapper { width:100%; overflow:hidden; }
#contents { padding:30px 20px 75px; width:auto; margin-top:-20px; }
.pc_none { display:inherit; }
.tb_none { display:none; }
.altTxt:after { content:attr(data-label); }
.altTxt img { display:none; }
.bg_wh { padding:30px; }
.con_ttl { width:100%; max-width:400px; }

#rout .img_map { margin-bottom:50px; }
#rout .img_txt { display:none; }

/*--- header ---*/
header { background-size:170% auto; position:fixed; top:0; width:100%; }
header .logo { width:35%; margin:0 auto; }

/*---- gnav ----*/
#gnav_box { display:none; }
#gnav { margin:0; padding:0; background:none; height:inherit; display:inherit; }
#gnav ul{ position: absolute;
  /* 開いてないときは画面外に配置 */
  top: -556px;
  width: 100%;
  text-align:left;
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  z-index:4000;
}
#gnav ul li { display:block; background-color:#fff; margin-right:0; width:100% !important; }
#gnav ul li a{ display:block; font-size:15px; border-bottom:2px solid #9f6907; color:#000; padding:10px 10px 10px 20px; height:inherit; }
#gnav ul li a:hover { color:#fff; background-color:#d22424; }
#gnav_box.fixed { display:none; }

/* Toggle Button */
#nav-toggle { position: absolute; right:0; top:0; width:45px; height:45px; cursor: pointer; z-index: 5000; background-color:#d22424; display:block; padding:8px 8px 0; }
#nav-toggle div { position: relative; }
#nav-toggle span { display: block; position: absolute; height:3px; width: 100%; background: #fff;
    left: 0; -webkit-transition: .35s ease-in-out; -moz-transition: .35s ease-in-out; transition: .35s ease-in-out; }
#nav-toggle span:nth-child(1) { top: -5px; font-size:10px; background:none; color:#fff; height:auto; }
#nav-toggle span:nth-child(2) { top: 11px; }
#nav-toggle span:nth-child(3) { top: 19px; }
#nav-toggle span:nth-child(4) { top: 27px; }

  /* #nav-toggle 切り替えアニメーション */
  .open #nav-toggle span:nth-child(1) { }
  .open #nav-toggle span:nth-child(2) { top:20px; -webkit-transform:rotate(315deg); -moz-transform:rotate(315deg); transform:rotate(315deg); }
  .open #nav-toggle span:nth-child(3) { width:0; left:50%; }
  .open #nav-toggle span:nth-child(4) { top:20px; -webkit-transform:rotate(-315deg); -moz-transform:rotate(-315deg); transform:rotate(-315deg); }
    
  /* #gnav ul スライドアニメーション */
  .open #gnav ul { -moz-transform:translateY(556px); -webkit-transform:translateY(556px); transform:translateY(556px); }
.gnav_top { display:inherit !important; }

/*--- footer ---*/
footer .img_bus { right:3%; }
footer .fnav { display:none; }
#rout .rout_list > li { width:48%; } 
}


@media screen and (max-width: 800px) {
/*=================トップページ====================*/
#contents { margin-top:-2%; }

footer .img_bus { width:140px; }

.con_ttl3 { max-width:550px; width:100%; margin:auto; margin-right:auto; padding:25px 30px; }

#rout .rout_list > li { width:100%; margin:0 auto 30px; }
#rout .rout_list > li:nth-child(2) { margin-top:0; }
#rout .rout_list > li:nth-child(3) { margin-top:0; }
}


/*----------------------------------------------------
スマホ
-----------------------------------------------------*/
@media screen and (max-width: 600px) {
/*=================共通====================*/
.tb_none { display:inherit; }
.sp_none { display:none !important; }

.con_ttl { font-size:20px;  }
.con_ttl span { padding:27px 35px 7px; background-position:13px top; }
.con_ttl3 { font-family:"Noto Sans Japanese"; font-size:100%; font-weight:500; font-size:17px; line-height:1.5; }
.con_ttl3:after { content:attr(data-label); }
.con_ttl3 img { display:none; }
.con_ttl4 { font-size:17px !important; }
.bg_wh { padding:20px 20px 30px; }

#gnav ul li { background-color:#d22424; }
#gnav ul li a{ border-bottom:2px solid #fff; color:#fff; }
/* Toggle Button */
#nav-toggle { background-color:#fff; border-left:2px solid #9f6907; border-bottom:2px solid #9f6907; height:47px; }
#nav-toggle span {  background:#d22424; }
#nav-toggle span:nth-child(1) { color:#d22424; }

#btn_pass { bottom:55px; width:80px; }
#pagetop { width:70px; bottom:50px; }
#pagetop img, #btn_pass img { width:100%; }
footer .inner { padding-top:45px; }
footer .img_bus { width:160px; bottom:-103px; right:50%; margin-right:-80px; }
footer .flogo { width:200px; margin-left:-100px; top:-35px; }
footer .fadddress { margin-bottom:95px; }

#rout .img_txt { margin:10px auto 40px; }
#rout .rout_list > li { padding:0 30px 20px; background-position:left 5px, right bottom !important; }

}

@media screen and (max-width: 450px) {
.con_ttl3 { padding:10px 15px; }

#rout .rout_list > li .teisya_list { width:80%; margin:0 auto; }
#rout .rout_list > li .teisya_list li { width:100%; }
#rout .rout_list > li .teisya_list li:nth-child(2n+2) { margin-left:0; }
#rout .rout_list > li .teisya_list li:nth-child(n+2) { margin-top:10px; }
}

@media screen and (max-width: 370px) {
/*=================トップページ====================*/
header .page_ttl { margin-left:-50px; }

}








