@charset "utf-8";
/* ///////////////////////////////////////////////////////////////////


/************************************************************************************
MEDIA QUERIES
*************************************************************************************/
@media screen and (min-width: 961px) {
	#header .header_unit .nav_en {
		display: none;
	}
}

@media screen and (max-width: 960px) {/* 960以下　*/
#gnav {
    width: 100%;
}
#wraper {
    min-width: 100%;
}
#header #header_unit {
    width: 95%;
}
.wrap {
    width: 95%;
}

#header dl {
    width: auto;
}
}
@media screen and (max-width: 800px) {
.d-none{
  display:none;
}
/* ----- #header ----- */
#header .network {
    line-height: 1;
/*    padding-top: 5px;
    width: 20%; 検索ボックスある場合*/
    font-size: 85%;
    padding-top: 15px;
}
#header #searchform {
    margin-top: 30px;
}
#header dl {
    bottom: 5px;
}
#searchBtn {
    padding: 5px 0;
    width: 30%;
}
#keywords {
    width: 70%;
}

#gnav li a {
    font-size: 88%;
}
}

@media screen and (max-width: 700px) {/* 700以下　*/
body {
  font-size: 87.5%;
}
#header {
    width: 95%;
    margin:auto;
}
.wrap {
    width: 87.5%;
}

/* ----- #header ----- */
#header {
    width: 100%;
    height: auto;
    position: fixed;
    z-index: 10000;
}
#header h1 {
    float: left;
    margin-left: 2.5%;
    /*width: 36.7%;*/
  width: 50%;
}
#header .network, #header .link_g_arrow, #header .searchform_pnel, #header dl {
    display: none;
}
/* ----- #gnav ----- */
  .codeexample > span {
    position: relative
  }

.nav_en {
    /*display: block;
    position: absolute;
  top: 20px;*/
  /*right: 25%;*/
  /*right: 22%;*/
	display: none;
}
.nav_en a {
  color: #333;
    background: url(/images/common/link_g_arrow.png) no-repeat scroll left center;
    padding-left: 10px;
    font-size: 75%;
    background-size: .3rem auto;
}
.nav_toggle {
    display: block;
    position: relative;
    width: 100%;
}
.nav_toggle span {
    display: none;
}
.nav_toggle:before {
    background: none repeat scroll 0 0 #0a3190;
    color: #ffffff;
    content: "≡";
    font: 400 60px/55px "responsivenav";
    height: 55px;
    position: absolute;
    /* right: 4%; */
    right:  1%;
    text-align: center;
    text-indent: 0;
    text-transform: none;
     top: -65px;
    width: 60px;
}
.nav_toggle.on:before {
    content: "×";
}
#gnav {
    position: absolute;
    z-index: 100;
    display: none;
    width: 100%;
    border: 0;
    margin-top: 0;
}
#gnav li {
    border-bottom: 1px solid #2f4b92;
    border-left: 0 none;
    border-right: 0 none;
    float: none;
    height: auto;
    padding: 0;
    width: 100%;
}
#gnav li a, #gnav li span {
    background: url(/images/common/arrow_bllue.png) no-repeat scroll 95% center #0a3190 !important;
    color: #dee0e8;
    display: block;
    height: auto;
    overflow: hidden;
    padding-left: 4%;
    text-align: left;
    text-indent: 0;
    line-height: 3.5;
}
#gnav li a:hover {
    color: #dee0e8;
}
#gnav li.current a {
    color: #fff;
}
/* ----- #pagetop ----- */
#pagetop {
    margin-top: 30px;
}
#pagetop.wrap {
    width: 100%;
}
#pagetop p {
    border-bottom: 0 none;
    float: none;
    width: 100%;
}
#pagetop p a {
    background: none repeat scroll 0 0 #edeff0;
    border-bottom: 0 none;
    border-radius: 0;
    border-top: 2px solid;
    color: #0a3190;
    display: block;
    padding: 1.5%;
    text-align: center;
    line-height: 3;
}
#pagetop p a span {
    background: url(/images/common/pagetop_sp.png) no-repeat scroll left center #edeff0;
    padding-left: 2em;
    background-size: 1rem auto;
}
  
/* ----- #topic_path ----- */
  #topic_path li span {
    padding: 0 .4rem;
  }
/* ----- #footer ----- */
#footer {
    padding-top: 0;
}
#footer .wrap {
    width: 100%;
}
#footer_unit01 {
    padding: 0;
}
#footer_unit01 dl {
    float: none;
    margin-right: 0;
    width: 100%;
}
#footer_unit01 dl dt {
    background: none repeat scroll 0 0;
    border-bottom: 1px solid #374f8a;
    padding-left: 10px;
}
#footer_unit01 dl dd {
    display: none;
}
#footer_unit01 dl dt {
    padding-left: 0;
}
#footer_unit01 dl dt a {
    background: url(/images/common/arrow_bllue.png) no-repeat scroll 95% center;
    display: block;
    padding-bottom: 1.5%;
    padding-left: 4%;
    padding-top: 1.5%;
    line-height: 3;
}
#footer_unit01 dl.lastitem {
    display: none;
}

#footer p.home_p a {
    background: url(/images/common/arrow_bllue.png) no-repeat scroll 95% center;
    display: block;
    padding-bottom: 1.5%;
    padding-left: 4%;
    padding-top: 1.5%;
    border-bottom: 1px solid #374f8a;
    color: #dee0e8;
}
#footer_unit02 {
    line-height: 3;
}
/* ----- 2Column ----- */
.contentsbox {
    float: none;
    margin-left: 0;
    width: 100%;
}
#sidebar {
    margin-top:  4rem;
    float: none;
    width: 100%;
}
/* =========================================================
title level
========================================================= */
  /* title01 */
  .title01 .jp_tit {
    font-size: 150%;
  }
  .title01 .en_tit {
    font-size: 100%;
  }
  /* title02 */
  .title02 {
    background: url(/images/common/title02.gif) no-repeat scroll -100px top ;
    margin-bottom: 20px;
    font-size: 128.6%;
  }
  /* title03 */
  .title03 {
    font-size: 128.6%;
  }
  /* title04 */
  .title04 {
    font-size: 100%;
  }
  /* title05 */
  .title05 {
    font-size: 100%;
  }
  /* title07 */
.title07 {
    background: url(/images/common/title02.gif) no-repeat scroll -100px top;
    line-height: 1;
    margin-bottom: 30px;
    padding-top: 20px;
    text-align: left;
    width: 100%;
}
.title07 .jp_tit {
    color: #333;
    font-size: 113%;
    margin-right: 15px;
    padding: 0;
}
.title07 .en_tit {
    color: #a2a3a5;
    display: inline;
    font-size: 100%;
    font-weight: normal;
}
.title07:before {
    border-top: 0 none;
    position: relative;
}
/* title08 */
.title08 {
    background: url(/images/common/title02.gif) no-repeat scroll -100px top ;
    margin-bottom: 20px;
}

.title08 .jp_tit {
    font-size: 120%;
    margin-bottom: 3%;
}
.title08 .en_tit {
    font-size: 100%;
}
/* =========================================================
catchcopy
========================================================= */
.catchcopy_lead {
    font-size: 100%;
}
/* =========================================================
display table
========================================================= */
.dsp_tbl dl {
    display: block;
}
.dsp_tbl dl > dt {
    display: block;
    text-align: left;
    width: 100%;
    padding: 0;
}
.dsp_tbl dl > dd {
    display: block;
    width: 100%;
    padding: 0;
}
  .dsp_tbl > li {
    padding: 15px;
  }
  .dsp_tbl.comp_group dl > dt {
    display: block;
    padding: 0;
    text-align: left;
    width: 100%;
  }
  .dsp_tbl.comp_group dl > dd {
    display: block;
    padding: 0;
    width: 100%;
  }
/* -- 404 -- */
  .cont_404.t_align_c {
    text-align: left;

  }
/* -- sitemap --*/
  .sitemap_lnk dl {
    float: none;
    margin-bottom: 30px;
    width: 95%;
  }
/* -- pcで3カラムのlist -- */
  .column3_panel li {
    float: left;
    margin-bottom: 40px;
    margin-right: 2.12%;
    width: 48%;
  }
  .column3_panel li:nth-child(2n),
  .column3_panel li.lastitem:nth-child(2n) {
    margin-right: 0;
  }
    .column3_panel li.lastitem {
    float: left;
    margin-right: 2%;
  }
  .column3_panel li .list_tit {
    font-size: 100%;
    line-height: 1.2;
    margin-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 15px;
  }
  .overlay {
    background-size: 40% auto !important;
  }
  .home_wraper #gnav li#nav_home a, .company_wraper #gnav li#nav_company a, .business_wraper #gnav li#nav_business a, .news_wraper #gnav li#nav_news a, .ir_wraper #gnav li#nav_ir a, .recruit_wraper #gnav li#nav_recruit a {
    background: #f6ab00 none repeat scroll 0 0;
    color: #f6ab00;
    text-shadow: none;
  }
  .inline_b {
    display: inline-block;
  }
  .column3_panel li .list_txt {
    /*font-size: 90%;*/
    /*padding: 0 15px 15px;*/
    font-size: 75%;
    padding: 0 .4rem 15px;
  }
  dl.kanren_link {
    display: none;
  }

  /*　recruit */
  .recruit_nav {
    margin: 0 0 20px 20px;
  }
  .recruit_nav li {
    float: none;
    margin-bottom: 1rem;
    padding-left: 1rem;
    width: 100%;
    background: url(/images/common/link_g_arrow_down.png) no-repeat 0 center;
    background-size: auto .3rem;
  }
  .recruit_mainlist .tbl_type01 {
    border-top: none;
  }
  .recruit_mainlist .tbl_type01 th {
    display: list-item;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    list-style-type: none;
    border-top: 1px dotted #888888;
    padding: .25rem 0;
  }
  .recruit_mainlist .tbl_type01 td {
    display: list-item;
    width: 100%;
    box-sizing: border-box;
    list-style-type: none;
    border-bottom: 0 none;
  }
  .recruit_mainlist .btn_w01 {
    height: 70px;
    font-size: 125%;
  }
  .recruit_mainlist .btn_type01 {
    width: 100%;
    background-color: #4f68a8;
    border-radius: 5px;
    box-shadow: 0 5px #143075;

  }
  .recruit_mainlist .title03 {
    margin-top: 50px;
  }
}

@media screen and (max-width: 480px) {
.nav_toggle:before {
    font: 400 60px/45px "responsivenav";
    height: 45px;
    top: -52px;
    width: 60px;
}
.nav_toggle.on:before {
    font: 400 60px/45px "responsivenav";
    height: 45px;
    top: -52px;
    width: 60px;
}
}
@media screen and (max-width: 375px) {
.nav_toggle:before {
    font: 400 60px/43px "responsivenav";
    top: -44px;
}
.nav_toggle.on:before {
    font: 400 60px/43px "responsivenav";
     top: -44px;
}
}
@media screen and (max-width: 320px) {
.nav_toggle:before {
    font: 400 60px/40px "responsivenav";
    top: -43px;
    height: 40px;
}
.nav_toggle.on:before {
    font: 400 60px/40px "responsivenav";
    top: -43px;
    height: 40px;
}
}

@media only screen and (max-width: 959px) {
  #content,
  #footer {
    min-width: 320px;
  }
}
