@charset "UTF-8";
/* _setting CSS */
/*=============================================================
 Common Layout
 =============================================================*/
/* reset style
-------------------------------------------------------------*/
* {
  padding: 0;
  margin: 0;
}

html, body {
  width: 100%;
}

section, article, aside, hgroup, header, footer, nav, figure, figcaption, summary {
  display: block;
  padding: 0px;
  margin: 0px;
}

ol, ul, dl, li, dt, dd {
  list-style: none;
}

hr {
  display: none;
}

img {
  vertical-align: top;
}

html {
  -webkit-text-size-adjust: none;
}

body {
  color: #333;
  font: 13px/1 "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background: #fff;
  text-align: center;
}

a, img {
  margin: 0;
  padding: 0;
  border: none;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  line-height: 1;
}

table,
table th,
table td {
  margin: 0;
  padding: 0;
  border-collapse: collapse;
}

/* JS element
-------------------------------------------------------------*/
/* a Element
-------------------------------------------------------------*/
a {
  color: #3399cc;
  text-decoration: none;
}

a:hover {
  color: #003399;
  text-decoration: underline;
}

a:hover img {
  opacity: 0.5;
  filter: alpha(opacity=50);
  -ms-filter: "alpha(opacity=50)";
  -moz-opacity: 0.5;
  -khtml-opacity: 0.5;
}

.pdf,
a.pdf {
  background: url(../../shared/img/icn_pdf.gif) no-repeat left top;
  padding-left: 25px;
}

.winBlank,
a.winBlank {
  background: url(../img/icn_win.gif) no-repeat left 2px;
  padding-left: 20px;
}

/* Float Element */
.cClear {
  clear: both !important;
}

.cLeft {
  float: left !important;
}

.cRight {
  float: right !important;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
  width: 0;
  height: 0;
}

.ie6 .clearfix,
.ie7 .clearfix {
  display: inline-block;
}

/* aligh */
.alignL {
  text-align: left !important;
}

.alignC {
  text-align: center !important;
}

.alignR {
  text-align: right !important;
}

.valignT {
  vertical-align: top !important;
}

.valignM {
  vertical-align: middle !important;
}

.valignB {
  vertical-align: bottom !important;
}

/* margin padding */
.mT0 {
  margin-top: 0 !important;
}

.mT5 {
  margin-top: 5px !important;
}

.mT10 {
  margin-top: 10px !important;
}

.mT15 {
  margin-top: 15px !important;
}

.mT20 {
  margin-top: 20px !important;
}

.mT25 {
  margin-top: 25px !important;
}

.mT30 {
  margin-top: 30px !important;
}

.mT40 {
  margin-top: 40px !important;
}

.mT50 {
  margin-top: 50px !important;
}

.mB0 {
  margin-bottom: 0 !important;
}

.mB5 {
  margin-bottom: 5px !important;
}

.mB10 {
  margin-bottom: 10px !important;
}

.mB15 {
  margin-bottom: 15px !important;
}

.mB20 {
  margin-bottom: 20px !important;
}

.mB25 {
  margin-bottom: 25px !important;
}

.mB30 {
  margin-bottom: 30px !important;
}

.mB40 {
  margin-bottom: 40px !important;
}

.mB50 {
  margin-bottom: 50px !important;
}

.pT0 {
  padding-top: 0 !important;
}

.pT5 {
  padding-top: 5px !important;
}

.pT10 {
  padding-top: 10px !important;
}

.pT15 {
  padding-top: 15px !important;
}

.pT20 {
  padding-top: 20px !important;
}

.pT25 {
  padding-top: 25px !important;
}

.pT30 {
  padding-top: 30px !important;
}

.pT40 {
  padding-top: 40px !important;
}

.pT50 {
  padding-top: 50px !important;
}

.pB0 {
  padding-bottom: 0 !important;
}

.pB5 {
  padding-bottom: 5px !important;
}

.pB10 {
  padding-bottom: 10px !important;
}

.pB15 {
  padding-bottom: 15px !important;
}

.pB20 {
  padding-bottom: 20px !important;
}

.pB25 {
  padding-bottom: 25px !important;
}

.pB30 {
  padding-bottom: 30px !important;
}

.pB40 {
  padding-bottom: 40px !important;
}

.pB50 {
  padding-bottom: 50px !important;
}

.pL10 {
  padding-left: 10px !important;
}

.pL15 {
  padding-left: 15px !important;
}

.pL20 {
  padding-left: 20px !important;
}

/* text Layout
-------------------------------------------------------------*/
/* SizeVariation( px) */
.txt-size10 {
  font-size: 10px !important;
}

.txt-size11 {
  font-size: 11px !important;
}

.txt-size12 {
  font-size: 12px !important;
}

.txt-size14 {
  font-size: 14px !important;
}

.txt-size16 {
  font-size: 15px !important;
}

.txt-size18 {
  font-size: 18px !important;
}

.txt-size18lhs {
  font-size: 18px !important;
  line-height: 1.3 !important;
}

.txt-size21 {
  font-size: 21px !important;
}

.txt-size24 {
  font-size: 24px !important;
}

.txt-size27 {
  font-size: 27px !important;
}

.txt-size30 {
  font-size: 30px !important;
}

.txt-size32 {
  font-size: 32px !important;
}

.txt-size36 {
  font-size: 36px !important;
}

.lh-130 {
  line-height: 1.3 !important;
}

.lh-150 {
  line-height: 1.5 !important;
}

.lh-180 {
  line-height: 1.8 !important;
}

.textNormal {
  font-weight: normal !important;
}

.nowrap {
  white-space: nowrap;
}

/*------------------######################################### 
----------------------------
----------------------------
min-width: 768px
----------------------------
--------------------#########################################*/
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }

  /*=============================================================
  contents module Layout
  =============================================================*/
  #container {
    margin: 0 auto;
    text-align: left;
  }

  /*=============================================================
  header Layout
  =============================================================*/
  #header {
    width: auto;
    height: 111px;
    clear: both;
    line-height: 1.0;
  }

  #home #header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background-color: rgba(255, 255, 255, 0.6);
    z-index: 100;
  }

  #headerTop {
    width: 1000px;
    margin: 0 auto;
    padding-top: 18px;
    height: 57px;
  }

  #headerTop #logo {
    float: left;
    width: 260px;
  }

  #headerTop #headerTopRight {
    float: right;
    width: 730px;
    padding-top: 5px;
  }

  #headerTop #headerTopRight #searchArea {
    float: right;
    width: 276px;
    height: 27px;
    padding-left: 10px;
  }

  #headerTop #headerTopRight #subMenu {
    float: right;
    width: 430px;
  }

  #headerTop #headerTopRight ul {
    float: right;
    height: 27px;
    margin-right: 20px;
    background-color: rgba(255, 255, 255, 0.8);
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
  }

  #headerTop #headerTopRight ul li {
    float: left;
    height: 27px;
  }

  #headerTop #headerTopRight ul li a {
    display: block;
    height: 20px;
    color: #666;
  }

  #headerTop #headerTopRight ul li a:hover {
    color: #003399;
  }

  #headerTop #headerTopRight ul#contact li a {
    background: url(../img/hdr_icn_contact.png) 9px center/19px no-repeat;
    padding: 7px 15px 0 35px;
  }

  #headerTop #headerTopRight ul#lang li a {
    padding: 7px 15px 0 15px;
  }

  #headerTop #headerTopRight ul#lang li#chinese {
    background: url(../img/hdr_lan_surcle.png) no-repeat left center;
    padding-left: 7px;
  }

  /* global Layout
  ---------------------------------*/
  #global {
    width: auto;
    height: 36px;
    clear: both;
    line-height: 1.0;
    background-color: #014190;
  }

  #home #global {
    background-color: rgba(1, 65, 144, 0.75);
  }

  #global #sp_lang, #global #sp_contact {
    display: none;
  }

  #global ul {
    width: 1000px;
    margin: 0 auto;
    height: 36px;
    clear: both;
  }

  #global ul li {
    width: 200px;
    float: left;
    position: relative;
    z-index: 100;
  }

  #global ul li a {
    display: block;
    border-right: 1px solid #FFF;
    text-align: center;
    color: #FFF;
    padding-top: 13px;
    height: 23px;
    font-size: 14px;
    text-shadow: 0px 0px 2px #000;
    font-weight: bold;
  }

  #global ul li#gbNews a {
    border-left: 1px solid #FFF;
  }

  #news #global ul li#gbNews,
  #company #global ul li#gbCompany,
  #environment #global ul li#gbEnvironment,
  #products #global ul li#gbProducts,
  #recruit #global ul li#gbRecruit {
    background-color: #6699cc;
  }

  #global ul li ul {
    width: 200px;
    float: none;
    border-top: 1px dotted #666666;
    display: none;
    height: auto;
    position: absolute;
    top: 36px;
    left: 0;
  }

  #global ul li ul li {
    width: 200px;
    float: none;
    clear: both;
  }
  #global ul li ul .line2 a{
    padding: 8px 0 13px;
    line-height: 1.3;
  }

  #global ul li ul li a {
    border: none;
    background-color: #888;
    border-bottom: 1px dotted #444;
    font-size: 12px;
  }

  #home #global ul li ul li a {
    background-color: rgba(0, 0, 0, 0.55);
  }

  #global ul li:hover ul {
    display: block;
  }

  /*=============================================================
  Footer Layout
  =============================================================*/
  #pagetop {
    position: fixed;
    right: 15px;
    bottom: 15px;
  }

  #footer {
    width: auto;
    clear: both;
    line-height: 1.0;
  }

  #footerSitemap {
    width: auto;
    clear: both;
    background-color: #014190;
    line-height: 1.0;
  }

  #footerSitemapInner {
    width: 1000px;
    margin: 0 auto;
    padding: 28px 0;
  }

  #footerSitemapInner .box {
    width: 229px;
    float: left;
    padding-right: 28px;
  }

  #footerSitemapInner .boxRight {
    width: 229px;
    float: right;
  }

  #footerSitemapInner h2 {
    width: 229px;
    padding-bottom: 10px;
    background: url(../img/ftr_line_dot.png) no-repeat left bottom;
  }

  #footerSitemapInner h2 a {
    padding-left: 15px;
    background: url(../img/ftr_arw_l.png) no-repeat left 3px;
    color: #FFF;
  }

  #footerSitemapInner ul {
    width: 229px;
  }

  #footerSitemapInner ul li {
    width: 229px;
    padding-top: 10px;
  }
  #footerSitemapInner ul .longline a{
    font-size: 11px;
  }

  #footerSitemapInner ul li a {
    padding-left: 15px;
    background: url(../img/ftr_arw_s.png) no-repeat 2px 5px;
    color: #FFF;
  }

  #footerBtm {
    width: 1000px;
    margin: 0 auto;
    padding: 28px 0;
    font-size: 12px;
  }

  #footerBtm a {
    color: #666;
  }

  /*=============================================================
  srchBox Layout
  =============================================================*/
}
/*------------------######################################### 
----------------------------
----------------------------
max-width: 767px
----------------------------
--------------------#########################################*/
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }

  * {
    box-sizing: border-box;
    font-size: 3.46667vw;
  }

  html, body {
    width: 100vw;
    overflow-x: scroll;
  }

  .txt-size10 {
    font-size: 2.66667vw !important;
  }

  .txt-size11 {
    font-size: 2.93333vw !important;
  }

  .txt-size12 {
    font-size: 3.2vw !important;
  }

  .txt-size14 {
    font-size: 3.73333vw !important;
  }

  .txt-size16 {
    font-size: 4.26667vw !important;
  }

  .txt-size18 {
    font-size: 4.8vw !important;
  }

  .txt-size18lhs {
    font-size: 4.8vw !important;
    line-height: 1.3 !important;
  }

  .txt-size21 {
    font-size: 5.6vw !important;
  }

  .txt-size24 {
    font-size: 6.4vw !important;
  }

  .txt-size27 {
    font-size: 7.2vw !important;
  }

  .txt-size30 {
    font-size: 8vw !important;
  }

  .txt-size32 {
    font-size: 8.53333vw !important;
  }

  .txt-size36 {
    font-size: 9.6vw !important;
  }

  #header {
    position: fixed;
    z-index: 10000;
    width: 100vw;
    height: 11vw;
    background: #fff;
  }

  #headerTop {
    width: 100vw;
    display: flex;
    justify-content: space-between;
  }
  #headerTop #logo {
    width: 42vw;
  }
  #headerTop #logo a {
    display: block;
    padding: 3vw;
  }
  #headerTop #logo a img {
    width: 100%;
  }

  #searchArea {
    border-radius: 30vw;
    background: #fff;
    margin: 0 3.3vw 4vw;
  }
  #searchArea .gsc-input-box {
    border: none;
    background: none;
  }
  #searchArea .gsc-search-button {
    background: none;
    border: none;
  }
  #searchArea .gsc-search-button .gsc-search-button {
    background: url(../img/search_icon.png) 0vw center/8.5vw no-repeat;
    padding: 6vw 6.5vw;
  }
  #searchArea .gsc-search-button .gsc-search-button svg {
    display: none;
  }

  .Toggle {
    position: relative;
    right: 3vw;
    top: 0;
    display: block;
    width: 42px;
    height: 42px;
    cursor: pointer;
    z-index: 1000;
  }
  .Toggle span {
    display: block;
    position: absolute;
    width: 30px;
    border-bottom: solid 4px #014190;
    transition: .2s ease-in-out;
    left: 6px;
  }
  .Toggle span:nth-child(1) {
    top: 9px;
  }
  .Toggle span:nth-child(2) {
    top: 18px;
  }
  .Toggle span:nth-child(3) {
    top: 27px;
  }
  .Toggle.active span:nth-child(1) {
    top: 18px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .Toggle.active span:nth-child(2), .Toggle.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  #subMenu {
    display: none;
  }

  #global {
    position: fixed;
    z-index: 1000;
    top: 11vw;
    left: 0;
    width: 100vw;
    height: calc(100vh - 20vw);
    background: rgba(0, 0, 0, 0.9);
    color: #fff;
    text-align: center;
    overflow-y: scroll;
    display: none;
  }
  #global #sp_lang {
    display: flex;
    justify-content: space-between;
    width: 56%;
    margin: 3vw auto;
  }
  #global #sp_lang li {
    width: 26vw;
    padding: 2vw;
    background: #eee;
    border-radius: 20vw;
  }
  #global #sp_lang li a {
    color: #000;
    font-weight: bold;
  }
  #global .gsc-search-box {
    overflow: hidden;
  }
  #global ul.global_menu {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #fff;
  }
  #global ul.global_menu li {
    width: 100vw;
  }
  #global ul.global_menu li.line2 a{
    line-height: 1.3;
  }
  #global ul.global_menu #gbNews {
    display: none;
    order: 1;
  }
  #global ul.global_menu #gbCompany {
    order: 2;
  }
  #global ul.global_menu #gbProducts {
    order: 3;
  }
  #global ul.global_menu #gbRecruit {
    order: 5;
  }
  #global ul.global_menu #gbEnvironment {
    order: 4;
  }
  #global ul.global_menu #sp_contact {
    order: 6;
  }
  #global ul.global_menu #sp_other {
    order: 7;
  }
  #global ul.global_menu #sp_other a {
    display: block;
    color: #fff;
    padding: 3vw;
  }
  #global ul.global_menu li#gbCompany, #global ul.global_menu li#gbProducts, #global ul.global_menu li#gbRecruit, #global ul.global_menu li#gbEnvironment {
    position: relative;
  }
  #global ul.global_menu li#gbCompany > a, #global ul.global_menu li#gbProducts > a, #global ul.global_menu li#gbRecruit > a, #global ul.global_menu li#gbEnvironment > a {
    border-bottom: 1px solid #fff;
    font-size: 4.26667vw;
    font-weight: bold;
  }
  #global ul.global_menu li#gbCompany a, #global ul.global_menu li#gbProducts a, #global ul.global_menu li#gbRecruit a, #global ul.global_menu li#gbEnvironment a {
    display: block;
    width: 100%;
    padding: 5.33333vw 0;
    color: #fff;
  }
  #global ul.global_menu li#gbCompany ul li, #global ul.global_menu li#gbProducts ul li, #global ul.global_menu li#gbRecruit ul li, #global ul.global_menu li#gbEnvironment ul li {
    border-bottom: 1px dashed #8c8c8c;
  }
  #global ul.global_menu li#gbCompany ul li a, #global ul.global_menu li#gbProducts ul li a, #global ul.global_menu li#gbRecruit ul li a, #global ul.global_menu li#gbEnvironment ul li a {
    display: block;
    padding: 3.33333vw 0;
    background: url(../img/ftr_arw_l.png) 90vw center/1.7vw no-repeat;
  }
  #global #sp_contact {
    margin: 4vw 2.66667vw;
    padding: 2.66667vw 0 4vw;
    background: #fff;
  }
  #global #sp_contact:before {
    content: "";
    display: inline-block;
    width: 12vw;
    height: 7vw;
    margin: 0 0 -2vw 0px;
    background: url(../img/hdr_icn_contact.png) center/8.5vw no-repeat;
  }
  #global #sp_contact a {
    color: #004091;
    font-size: 4vw;
    font-weight: bold;
  }
  #global ul.sub_menu {
    height: 0;
    overflow: hidden;
    transition: .35s ease-in-out;
  }
  #global ul.sub_menu.active {
    height: auto;
  }
  #global .Toggle_in {
    position: unset;
    display: block;
    width: 10.26667vw;
    height: 10.13333vw;
    margin: 5vw auto 30vw;
    background: url(../img/close_btn.png) center/100% no-repeat;
  }

  span.Toggle_li {
    display: block;
    position: absolute;
    top: 2.5vw;
    right: 5vw;
    width: 8vw;
    height: 8vw;
    border: solid 1px #ffffff;
  }
  span.Toggle_li:before, span.Toggle_li:after {
    content: "";
    display: block;
    position: absolute;
    top: 3.6vw;
    left: 1.8vw;
    width: 47%;
    border-bottom: 1px solid #fff;
  }
  span.Toggle_li:after {
    transform: rotateZ(90deg);
  }
  span.Toggle_li.active:after {
    content: "";
    transform: rotateZ(0deg);
  }

  #headerTop #headerTopRight {
    width: 100%;
  }

  #footer {
    position: relative;
  }
  #footer #pagetop {
    position: absolute;
    bottom: 22vw;
    right: 4vw;
  }
  #footer #footerSitemapInner .box, #footer #footerSitemapInner .boxRight {
    position: relative;
  }
  #footer #footerSitemapInner .box .pT20, #footer #footerSitemapInner .boxRight .pT20 {
    padding-top: 0 !important;
  }
  #footer #footerSitemapInner .box h2 a, #footer #footerSitemapInner .boxRight h2 a {
    display: block;
    padding: 5vw;
    border-bottom: 1px solid #fff;
    background: #004091;
    color: #fff;
  }
  #footer #footerSitemapInner .box ul.sub_menu, #footer #footerSitemapInner .boxRight ul.sub_menu {
    height: 0;
    overflow: hidden;
    transition: .35s ease-in-out;
  }
  #footer #footerSitemapInner .box ul.sub_menu.active, #footer #footerSitemapInner .boxRight ul.sub_menu.active {
    height: auto;
  }
  #footer #footerSitemapInner .box ul.sub_menu li, #footer #footerSitemapInner .boxRight ul.sub_menu li {
    border-bottom: 1px dashed #8ca9ce;
    background: #19539c;
  }
  #footer #footerSitemapInner .box ul.sub_menu li a, #footer #footerSitemapInner .boxRight ul.sub_menu li a {
    display: block;
    padding: 3.6vw 0;
    color: #fff;
    background: url(../img/ftr_arw_l.png) 90vw center/1.7vw no-repeat;
  }
  #footer #footerSitemapInner .box h2.recruit, #footer #footerSitemapInner .boxRight h2.recruit {
    background: url(../img/ftr_arw_l.png) 90vw center/1.7vw no-repeat;
  }
  #footer #footerSitemapInner .box h2.sp_contact, #footer #footerSitemapInner .boxRight h2.sp_contact {
    margin: 4vw 2.66667vw;
    border: 2px solid #004091;
  }
  #footer #footerSitemapInner .box h2.sp_contact a, #footer #footerSitemapInner .boxRight h2.sp_contact a {
    display: inline-block;
    background: #fff;
    color: #004091;
    font-size: 4vw;
    font-weight: bold;
  }
  #footer #footerSitemapInner .box h2.sp_contact:before, #footer #footerSitemapInner .boxRight h2.sp_contact:before {
    content: "";
    display: inline-block;
    width: 12vw;
    height: 7vw;
    margin: 0 0 -2vw 0px;
    background: url(../img/hdr_icn_contact.png) center/8.5vw no-repeat;
  }
  #footer #footerBtm .cClear {
    color: #fff;
  }
  #footer #footerBtm .cClear p.cLeft {
    float: unset !important;
    margin: 7vw auto;
  }
  #footer #footerBtm .cClear a {
    display: block;
    color: #666;
    text-align: center;
  }
  #footer #footerBtm .cRight {
    float: unset !important;
    padding: 8vw;
    border-top: 1px solid #666;
    color: #666;
    font-size: 2vw;
    text-align: center;
  }
}
