@charset "utf-8";

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
}

body {
  background: #fff;
  width: 100%;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", "Yu Gothic", "メイリオ", Meiryo, Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif;

}

img {
  max-width: 100%;
  width: auto;
  height: auto;
  vertical-align: bottom;
}


/*PC用*/
@media screen and (min-width: 681px), print {
  .pc { display: block !important }
  .sp { display: none !important }
  .h_menu, #sp_global_nav { display: none; }

.container{
  overflow:hidden;
}

/*header*/

#header .header_top_area {
  width: 1290px;
  margin: 0 auto;
}

#header .header_top_area h1{
    padding: 13px 0 15px;
}

#header .header_top_area .right_box {
  padding: 23px 0 0;
  margin: 0 0 0 0;
}

#header .header_top_area .right_box .right_box_btn02 a {
  background: url(../images/common/mail_ico.png)no-repeat center left 31px #445466 !important;
  color: #fff;
}

#header .header_top_area .right_box .right_box_btn a {
  display: block;
  background: url(../images/common/home_ico.png)no-repeat center left 49px #dddddd;
  width: 170px;
  text-align: center;
  padding: 9px 0px 9px 26px;
  font-size: 14px;
  font-weight: bold;
  box-sizing: border-box;
}

#header .header_top_area .right_box_sp{
  display:none;
}

#header #gnav {
  background: #042955;
  padding: 13px 0;
}

#header #gnav .gnav_inner {
  width: 1290px;
  margin: 0 auto;
  color: #fff;
  font-weight: bold;
  -js-display: flex;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}

#header #gnav ul {
  display: -webkit-flex;
  display: flex;
  -js-display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 932px;
}

#header #gnav ul li {
  background: url(../images/common/nav_break.jpg)no-repeat left center;
  width: 160px;
}

#header #gnav ul li:nth-child(2){
    width: 198px;
}

#header #gnav ul li:nth-child(3){
    width: 254px;
}

#header #gnav ul li a {
  display: block;
  /* width: 178px; */
  text-align: center;
  padding: 0px 35px 0;
  letter-spacing: 2px;
  box-sizing: border-box;
  font-size: 16px;
}

#header #gnav ul li:nth-child(3) a{}

#header #gnav .company_recruit {
  /* background: url(../images/common/company_recruit_bg.png)no-repeat center; */
  display: flex;
  -js-display: flex;
  width: 357px;
  justify-content: space-between;
}

#header #gnav .company_recruit .company_recruit_link a {
  display: block;
  padding: 10px 35px;
  background: url(../images/common/company_btn_bg.jpg)no-repeat center / 100%;
  text-align: center;
  width: 172px;
  box-sizing: border-box;
}
#header #gnav .company_recruit .company_recruit_link a:hover{
    background: url(../images/common/company_btn_bg_over.jpg)no-repeat center / 100%;
}
#header #gnav .company_recruit .company_recruit_link:nth-child(2) a {
  background: url(../images/common/recruit_btn_bg.jpg)no-repeat center / 100%;
}
#header #gnav .company_recruit .company_recruit_link:nth-child(2) a:hover {
  background: url(../images/common/recruit_btn_bg_over.jpg)no-repeat center / 100%;
}
#header #gnav_sp{
  display:none;
}

#header .main_ttl_block {background: #08203d;}

#header .main_ttl_block .main_ttl {
  font-size: 35px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background: url(../images/common/ttl_bg.jpg)no-repeat top center;
  padding: 33px 0;
}

#header .bread {
  background: #eef1f2;
}

#header .bread .bread_inner {
  width: 1290px;
  margin: 0 auto;
  padding: 5px 0;
  font-size: 12px;
}

#header .bread span {
  font-size: 12px;
}


/*mailcolumn*/



.under_border_ttl {
  color: #171717;
  font-size: 24px;
  font-weight: bold;
  border-bottom: solid #23aae2 4px;
  padding: 0 0 3px;
  margin: 0 0 31px;
  letter-spacing: 2px;
}

.slash_ttl {
  font-size: 26px;
  font-weight: bold;
  /* background: url(../images/common/slash_ico.png)no-repeat left center; */
  padding: 0 0 0 24px;
  letter-spacing: 1px;
  margin: 0 0 26px;
  border-left: solid #23aae2 7px;
  line-height: 1.1;
}

.slash_ttl sup{
  vertical-align:top;
}

.side_menu.active{
  right:0;
  transition: 0.6s;
    -moz-transition: 0.6s;
    -webkit-transition: 0.6s;
    -o-transition: 0.6s;
}

.side_menu {
  position: fixed;
  top: 300px;
  right: -260px;
  z-index: 1000;
  display: flex;
  display:-webkit-flex;
  display:-moz-flex;
  transition: 0.6s;
  -moz-transition: 0.6s;
  -webkit-transition: 0.6s;
  -o-transition: 0.6s;
}

.menu_ttl{
  cursor:pointer;
}

.side_menu ul {
  background: url(../images/company/company_menu_bg.jpg)no-repeat top center / cover;
}

.side_menu ul li a {
  color: #fff;
  font-weight: bold;
  padding: 10px 30px;
  display: block;
  border-bottom: solid #426c9d 1px;
  letter-spacing: 2px;
  background: url(../images/common/white_arrow.png)no-repeat left 12px top 17px;
  background-size: 5px;
  box-sizing: border-box;
  box-sizing: border-box;
  padding: 11px 6px 11px 33px;
  width: 260px;
  font-size: 14px;
}

.side_menu .close {
  color: #fff;
  font-size: 12px;
  text-align: right;
  padding: 16px 11px;
  cursor: pointer;
}

.side_menu .active .close_btn {
  display: none;
}

.side_menu .open {
  display: none;
}

.side_menu .active .open {
  display: block;
}



/*footer*/

#footer {
  background: #25292e;
  color: #fff;
}


#footer .pgtop a {
  display: block;
  padding: 15px 0 17px;
  margin: 0 0 99px;
  background: #1a1b1d;
}

#footer .footer_block {
  width: 1290px;
  margin: 0 auto 20px;
  -js-display: flex;
  display: flex;
  justify-content: space-between;
  padding: 0 0 40px 0px;
  border-bottom: 1px solid #404449;
}

#footer .footer_block .left_box {
  width: 698px;
}

#footer .footer_block .left_box ul li {
  background: url(../images/common/footer_arrow.png)no-repeat left center;
  padding: 0 0 0 18px;
  margin: 0 0 14px;
}

#footer .footer_block .last_list {
  margin: 0 0 0 53px;
}

#footer .footer_block .right_box {
  display: flex;
  -js-display: flex;
  margin: 0 8px 0 0px;
}

#footer .footer_block .right_box .company_name_box {
  margin: 0 0 0 18px;
}

#footer .footer_block .right_box .company_name_box .company_name {
  font-size: 20px;
  font-weight: bold;
  padding: 0 0 6px;
}

#footer .footer_block .right_box .company_name_box .address {
  line-height: 1.8;
  letter-spacing: 0px;
}

#footer .copy {
  text-align: center;
  font-size: 12px;
  display: block;
  padding: 7px 0 49px;
  letter-spacing: 2.5px;
}


/*footer under*/
#footer .footer_btn_area .footer_btn_area_inner {
  padding: 41px 0;
}

#footer .footer_btn_area .footer_btn_area_inner ul {
  width: 960px;
  margin: 0 auto;
}

#footer .footer_btn_area .footer_btn_area_inner ul li {
  float: left;
  margin: 0 14px 0 0;
}

#footer .footer_btn_area .footer_btn_area_inner ul li:nth-last-child(1) {
  margin: 0 0px 0 0;
}

#footer .footer_btn_area .footer_btn_area_inner ul li a {}

#footer .footer_bnr_area {
  background: url(../images/common/footer_bg.jpg)no-repeat top center;
}

#footer .footer_bnr_area_inner {
  width: 960px;
  margin: 0 auto;
  padding: 62px 0 36px;
}

#footer .footer_bnr_area_inner .footer_bnr_area_txt {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin: 0 0 32px;
  letter-spacing: 3px;
}

#footer .footer_bnr_area_inner .blue_txt {
  font-size: 18px;
  font-weight: bold;
  color: #03509e;
  text-align: center;
  letter-spacing: 1.8px;
}

#footer .footer_bnr_area_inner .left_box {
  background: #fff;
  width: 460px;
  float: left;
}

#footer .footer_bnr_area_inner .left_box a{
  display:block;
  padding: 24px 0 29px;
}

#footer .footer_bnr_area_inner .left_box .mail_ico {
  text-align: center;
  padding: 17px 0 0;
}

#footer .footer_bnr_area_inner .right_box {
  background: #fff;
  width: 460px;
  float: right;
}

#footer .footer_bnr_area_inner .right_box a{
  display:block;
  padding: 19px 0 16px;
}

#footer .footer_bnr_area_inner .right_box .tel_txt {
  font-size: 41px;
  color: #03509e;
  font-weight: bold;
  background: url(../images/common/tel_ico.jpg)no-repeat left 52px center;
  line-height: 1;
  letter-spacing: 2px;
  padding: 0 0 0px 93px;
}

#footer .footer_bnr_area_inner .right_box .tel_txt span{
  display:none;
}

}

/*SP用*/
@media screen and (max-width: 680px) {
  .pc { display: none !important }
  .sp { display: block !important }
  img { max-width: 100%; height: auto; width: auto; }
  body { min-width: auto !important; overflow: inherit !important; }
  .sp_tac { text-align: center !important; }
  .sp_tar { text-align: right !important; }
  .sp_mb15 { margin-bottom: 15px !important; }
  .sp_mb20 { margin-bottom: 20px !important; }
  div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }

/*header*/

#header .header_top_area {
  margin: 0 auto;
  padding: 3vw 2vw 3vw;
}

#header .header_top_area h1.logo{
  width: 54vw;
}


#header .header_top_area .right_box {
  padding: 14px 0 0;
  margin: 0 12px 0 0;
  display:none;
}

#header .header_top_area .right_box .right_box_btn02 a {
  background: #445466 !important;
  color: #fff;
}

#header .header_top_area .right_box .right_box_btn a {
  display: block;
  background: #dddddd;
  text-align: center;
  padding: 8px 0;
  font-size: 12px;
}

#header .header_top_area .right_box_sp{
  width: 39vw;
  position: relative;
}

#header .header_top_area .right_box_sp .right_box_btn{position: absolute;right: 14vw;top: 0vw;width: 11vw;}

#header .header_top_area .right_box_sp .right_box_btn.sp_menu{right: 1vw;}

#header #gnav {
  display: none;
}

#header .main_ttl_block {
  background: url(../images/common/ttl_bg_sp.jpg)no-repeat top center / 100%;
  padding: 16vw 0 14vw;
}

#header .main_ttl_block .main_ttl {
  font-size: 6.5vw;
  font-weight: bold;
  text-align: center;
  color: #fff;
  letter-spacing: 0.5vw;
}

#header .bread {
  background: #eef1f2;
}

#header .bread .bread_inner {
  margin: 0 auto;
  padding: 2vw 3vw;
  font-size: 3.5vw;
}

#header .bread span {
  font-size: 3.5vw;
}

#gnav_sp {position: absolute;top: 17vw;z-index: 100;background: #23aae2;background: -moz-linear-gradient(left, #23aae2 0%, #31eeff 100%);background: -webkit-linear-gradient(left, #23aae2 0%,#31eeff 100%);background: linear-gradient(to right, #23aae2 0%,#31eeff 100%);width: 100%;padding-bottom: 10vw;display: none;}
#gnav_sp ul { /* Old browsers */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */ /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */padding: 5vw 4vw 4vw;}
#gnav_sp ul li a {font-size: 4vw;color: #fff;padding: 4vw 0 3.5vw 6vw;display: block;border-bottom: 1px solid #d3dfe0;background: url(../images/common/arrow04.png)no-repeat left  center / 1.5vw;}
#gnav_sp .close_sp {margin: 8vw auto 1vw;width: 92vw;}

/*mailcolumn*/

.under_border_ttl {
  color: #171717;
  font-size: 5vw;
  font-weight: bold;
  border-bottom: solid #23aae2 2px;
  padding: 3vw 0px 1vw;
  letter-spacing: 0.4vw;
  background: #fff;
  margin: 0 auto 2vw;
  width: 100%;
}

.slash_ttl {
  font-size: 4.5vw;
  font-weight: bold;
  /* background: url(../images/common/slash_ico.png)no-repeat left top 1.2vw / 3.5vw; */
  padding: 0 0 0 3vw;
  letter-spacing: 0.7vw;
  color: #042955;
  border-left: solid #23aae2 5px;
  margin: 4vw 0 2vw;
}

.slash_ttl sup{vertical-align:top;}

.side_menu {
  position: fixed;
  top: 287px;
  right: 0;
  background: #062d5b;
  z-index: 1000;
  display: none;
}

.side_menu ul {
  background: url(../images/company/company_menu_bg.jpg);
}

.side_menu ul li a {
  color: #fff;
  font-weight: bold;
  padding: 10px 30px;
  display: block;
  border-bottom: solid #426c9d 1px;
  letter-spacing: 2px;
  background: url(../images/common/white_arrow.png)no-repeat left 12px center;
  background-size: 5px;
  box-sizing: border-box;
}

.side_menu .close {
  color: #fff;
  font-size: 12px;
  text-align: right;
  background: url(../images/common/close_bg.jpg)no-repeat top center;
  padding: 11px 11px;
  cursor: pointer;
}

.side_menu .active .close_btn {
  display: none;
}

.side_menu .open {
  display: none;
}

.side_menu .active .open {
  display: block;
}



/*footer*/

#footer {
  background: #25292e;
  color: #fff;
}


#footer .pgtop a {
  display: block;
  padding: 5vw 0 5.5vw;
  margin: 0 0 9vw;
  background: #1a1b1d;
  border-bottom: 1px solid #35393e;
}

#footer .pgtop a img{
  margin:0 auto;
  display:block;
  width:10vw;
}

#footer .footer_block {
  margin: 0 auto 2vw;
  padding: 0vw 4vw;
}

#footer .footer_block .home_sp{
  font-size:4vw;
}

#footer .footer_block .home_sp a{
  font-size:4vw;
  display: block;
  padding: 4vw 6vw;
}

#footer .footer_block .left_box {display: block;}

#footer .footer_block .left_box ul li {
  background: url(../images/common/arrow04.png)no-repeat left center / 1.5vw;
}

#footer .footer_block .left_box ul li a{
    font-size: 4vw;
    display: block;
    padding: 3.9vw 0 3vw 6vw;
    border-top: 1px solid #949698;
}

#footer .footer_block .left_box .last_list li:last-child a{
    border-bottom: 1px solid #949698;
}

#footer .footer_block .right_box {margin-top: 10vw;border-bottom: 1px solid #404449;}

#footer .footer_block .right_box .f_logo{
    width: 20vw;
    margin:0 auto;
}

#footer .footer_block .right_box .company_name_box {margin-top: 4vw;padding-bottom: 7vw;text-align: center;}

#footer .footer_block .right_box .company_name_box .company_name {
  font-size: 4vw;
  font-weight: bold;
}

#footer .footer_block .right_box .company_name_box .address {
  line-height: 1.8;
  letter-spacing: 0px;
  font-size: 3.5vw;
}

#footer .copy {
  text-align: center;
  font-size: 4vw;
  display: block;
  padding: 8vw 0 12vw;
  letter-spacing: 3px;
}


/*footer under*/

#footer .footer_btn_area .footer_btn_area_inner {
  padding: 6vw 4vw 2vw;
  background: #08203d;
}

#footer .footer_btn_area .footer_btn_area_inner ul {
  margin: 0 auto;
}

#footer .footer_btn_area .footer_btn_area_inner ul li {
  margin-bottom: 4vw;
}

#footer .footer_bnr_area {background: url(../images/common/footer_bg_sp.jpg);}

#footer .footer_bnr_area_inner {
  margin: 0 auto;
  padding: 9vw 4vw 8vw;
}

#footer .footer_bnr_area_inner .footer_bnr_area_txt {
  font-size: 4.2vw;
  font-weight: bold;
  text-align: center;
  margin: 0 0 7vw;
  letter-spacing: 0.5vw;
  line-height: 1.8;
}

#footer .footer_bnr_area_inner .blue_txt {
  font-size: 3.5vw;
  font-weight: bold;
  color: #03509e;
  text-align: center;
  letter-spacing: 0.2vw;
}

#footer .footer_bnr_area_inner .left_box {
  background: #fff;
  padding: 5vw 0 4vw;
  margin-bottom: 5vw;
}

#footer .footer_bnr_area_inner .left_box .mail_ico {
  text-align: center;
  padding: 1vw 0 0;
  margin: 0 auto;
  width: 9vw;
}

#footer .footer_bnr_area_inner .right_box {
    background: #fff;
}

#footer .footer_bnr_area_inner .right_box a{display: block;padding: 4vw 0 3vw;background: #fff;width: 100%;}

#footer .footer_bnr_area_inner .right_box .tel_txt {
  font-size: 6.5vw;
  color: #03509e;
  font-weight: bold;
  background: url(../images/common/tel_ico.jpg)no-repeat left 11vw center / 5vw;
  line-height: 1;
  letter-spacing: 0.2vw;
  padding: 1vw 0 0 18vw;
}

#footer .footer_bnr_area_inner .right_box .tel_txt span{
  font-size: 3.5vw;
  display: inline-block;
  vertical-align: middle;
}

}

@media only screen and (max-device-width: 680px) and (orientation: landscape){
  #header #gnav{
    display: none;
}
  #header #gnav_sp{
    z-index: 10000;
}

#header .header_top_area {
  margin: 0 auto;
  padding: 10px 0 10px 34px;
  width: 100%;
  box-sizing: border-box;
}

#header .header_top_area h1.logo{
  width: 450px;
}

#header .header_top_area h1.logo img{
    width: 100%;
}

#header .header_top_area .right_box {
  padding: 14px 0 0;
  margin: 0 12px 0 0;
  display:none;
}

#header .header_top_area .right_box .right_box_btn02 a {
  background: #445466 !important;
  color: #fff;
}

#header .header_top_area .right_box .right_box_btn a {
  display: block;
  background: #dddddd;
  text-align: center;
  padding: 8px 0;
  font-size: 12px;
}

#header .header_top_area .right_box_sp{
  width: 20vw;
  position: relative;
  display: block;
}

#header .header_top_area .right_box_sp .right_box_btn{position: absolute;right: 171px;top: 10px;width: 117px;}

#header .header_top_area .right_box_sp .right_box_btn img{
    width: 12vw;
}

#header .header_top_area .right_box_sp .right_box_btn.sp_menu{right: 32px;}

#header #gnav {
  display: none;
}

#header .main_ttl_block {
  /* background: url(../images/common/ttl_bg_sp.jpg)no-repeat top center / 100%; */
  padding: 5vw 0;
}

#header .main_ttl_block .main_ttl {
  font-size: 3.5vw;
  font-weight: bold;
  text-align: center;
  color: #fff;
  letter-spacing: 0.5vw;
}

#header .bread {
  background: #eef1f2;
}

#header .bread .bread_inner {
  margin: 0 auto;
  padding: 1vw 3vw;
  font-size: 16px;
}

#header .bread span {
  font-size: 17px;
}

#gnav_sp {position: absolute;top: 0;z-index: 100;background: #23aae2;background: -moz-linear-gradient(left, #23aae2 0%, #31eeff 100%);background: -webkit-linear-gradient(left, #23aae2 0%,#31eeff 100%);background: linear-gradient(to right, #23aae2 0%,#31eeff 100%);width: 66%;padding-bottom: 7vw;display: none;}
#gnav_sp ul { /* Old browsers */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */ /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */padding: 5vw 4vw 4vw;}
#gnav_sp ul li a {font-size: 3vw;color: #fff;padding: 3vw 0 2.5vw 5vw;display: block;border-bottom: 1px solid #d3dfe0;background: url(../images/common/arrow04.png)no-repeat left  center / 1.5vw;}
#gnav_sp .close_sp {margin: 1vw auto 0vw;width: 83%;}
#gnav_sp .close_sp img{
    width: 100%;
}

.side_menu{display:none;}
}