@charset "UTF-8";
html {
  overflow-x: hidden;
}

html.overnone {
  overflow-x: initial;
}

/*.f-anp-r{font-family: "AvenirNextLTPro-Regular"!important;}
.f-anp-b{font-family: "AvenirNextLTPro-Bold"!important;}
.f-anp-d{font-family: "AvenirNextLTPro-Demi"!important;}
.f-anp-i{font-family: "AvenirNextLTPro-It"!important;}*/
._en {
  letter-spacing: 0 !important;
  font-family: "AvenirNextLTPro-Demi" !important;
}

.inner {
  margin-inline: auto;
  padding-inline: 20px;
  max-width: 1240px;
  width: 100%;
}

#flex_banner {
  position: fixed;
  right: 60px;
  bottom: 133px;
  z-index: 2; /*cursor: pointer; opacity: 0;*/
  display: none;
  width: 250px;
  height: 166px; /*width: 300px; height: 200px; bottom: 132px;*/
}

#flex_banner.close {
  display: none !important;
}

#flex_banner a {
  display: block;
  text-decoration: none;
  cursor: pointer;
          transition: .5s;

  -webkit-transition: .5s;
}

#flex_banner a:hover {
  opacity: .8;
}

#flex_banner span {
  display: block;
          box-sizing: border-box;
  padding: 20px;
  background: #c85819;
  color: #fff;
  text-align: center;
  font-size: 2rem;
  line-height: 160px;

  -webkit-box-sizing: border-box;
}

#flex_banner span#flex_close {
  position: absolute;
  top: 0;
  right: -50px;
  display: block;
  width: 40px;
  height: 32px;
  background: url(../../images/btn-close.png) 0 0 no-repeat;
  background-size: 40px 32px;
          transition: all .3s ease-out;

  -webkit-transition: all .3s ease-out;
}

#flex_banner span#flex_close:hover {
  opacity: .8;
}

/*除外処理*/
body.information#detail #flex_banner,body.careers #flex_banner,body.contact #flex_banner,body.sitemap #flex_banner,body.column #flex_banner {
  display: none !important;
}

#header {
  position: sticky;
  top: 0;
  z-index: 100;
  display: block;
  margin: 0 auto;
  padding: 0;
  min-width: 1024px;
  width: 100%;
  height: 80px; /*position: relative; height: 130px;*/
  border-bottom: 1px #d1d6dd solid;
  background: white;
}

#header .inner {
  position: relative;
          box-sizing: border-box;
  margin: 0 auto;
  padding: 0 20px;
  min-width: 964px;
  max-width: 1400px;
  width: 100%;
  height: 80px;

  -webkit-box-sizing: border-box;
}

#header .inner .logo {
  position: absolute;
  top: 22px;
  left: 40px; /*width: 230px;top: 60px;left:20px;*/
  z-index: +1;
  display: block;
  width: 180px;
          transition: all .3s ease-out;

  -webkit-transition: all .3s ease-out;
}

#header .inner .logo:hover {
  opacity: .8;
}

#header .inner .logo img.top {
  display: none;
}

#header .inner .logo img.sub {
  display: block;
}

#header .inner .menu-pride {
  display: none;
}

#header .inner .menu-btn {
  display: none;
}

#header .inner .menu-box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

#header .inner ul.menu-list {
  float: right;
  padding-right: 40px;
}

#header .inner ul.menu-list li {
  display: inline-block;
  margin: 0 0 0 0;
  padding: 0 0;
  width: auto; /*@media screen and ( max-width:1100px ){ margin-right:20px; }*/ /*li:nth-child(2){} li:nth-child(3){}*/
  list-style: none;
  letter-spacing: .05em;
  font-size: 1.8rem;
}

#header .inner ul.menu-list li.active a,#header .inner ul.menu-list li.active span {
  color: #c85819 !important;
}

#header .inner ul.menu-list li.active a:after,#header .inner ul.menu-list li.active span:after {
  background: #c85819;
}

#header .inner ul.menu-list li.active ul.category-list {
  display: block !important;
}

#header .inner ul.menu-list li.active span._en:after,#header .inner ul.menu-list li.active span._nonline:after {
  display: none !important;
}

#header .inner ul.menu-list li:nth-last-child(1) {
  margin: 0 0 0 7px;
}

#header .inner ul.menu-list li:nth-last-child(1):before {
  content: "";
  position: absolute;
  top: 30px;
  right: 143px; /* right: 137px; right: 158px; right: 147px; top:20px; left:0;*/
  display: block;
  width: 1px;
  height: 18px;
  background: #0f203e;
}

#header .inner ul.menu-list li a,#header .inner ul.menu-list li span {
  display: block;
  padding: 30px 11px; /*padding: 30px 22px; padding: 20px 0;*/
  color: #0f203e;
  text-decoration: none;
  font-weight: bold;
          transition: all .3s ease-out;

  -webkit-transition: all .3s ease-out;
}

#header .inner ul.menu-list li a:after,#header .inner ul.menu-list li span:after {
  content: "";
  position: relative;
  bottom: -27px; /*bottom: -17px;*/
  left: 0;
  display: block;
  width: 100%;
  height: 5px;
  background: none;
          transition: all .3s ease-out;

  -webkit-transition: all .3s ease-out;
}

#header .inner ul.menu-list li a:hover,#header .inner ul.menu-list li a.active,#header .inner ul.menu-list li span:hover,#header .inner ul.menu-list li span.active {
  color: #c85819;
}

#header .inner ul.menu-list li a:hover:after,#header .inner ul.menu-list li a.active:after,#header .inner ul.menu-list li span:hover:after,#header .inner ul.menu-list li span.active:after {
  background: #c85819;
}

#header .inner ul.menu-list li ul.category-list {
  position: absolute;
  top: 79px; /*top: 59px;right: 0;left: 88px; right: -50px;*/
  right: 0;
  z-index: +1;
  z-index: +1;
  display: none;
  padding: 30px 20px 10px 30px;
  width: 100%; /*max-width: 984px;width: calc(100vw - 56px);*/ /*&.about{ left:0;width:290px; ul.child{ li{ width:100%; } } } &.knowledge{ left:328px;width:247px; ul.child{ li{ width:100%; } } } &.recruit{ left:-100px;width:247px; ul.child{ li{ width:100%; } } }*/
  border: 1px #d1d6dd solid;
  background: white;
  vertical-align: top;
}

#header .inner ul.menu-list li ul.category-list .read {
  float: left;
  margin: 5px 0 0 0;
  padding: 0;
  width: 20%;
  color: #0f203e !important;
  font-size: 3.2rem;
}

#header .inner ul.menu-list li ul.category-list .read img {
  width: auto;
  height: 32px;
}

#header .inner ul.menu-list li ul.category-list .read:hover:after {
  display: none;
}

#header .inner ul.menu-list li ul.category-list .read span {
  margin: 0; /*padding: 15px 0 0 0;*/
  padding: 10px 0 0 0;
  color: #0f203e !important;
  font-weight: normal;
  font-size: 1.4rem;
  line-height: 1.4;
}

#header .inner ul.menu-list li ul.category-list .read span:hover:after {
  display: none;
}

#header .inner ul.menu-list li ul.category-list li {
  display: block;
  float: left;
          box-sizing: border-box;
  margin: 0 0 10px 0;
  padding: 0 10px;
  width: 100%;
  list-style: none;

  -webkit-box-sizing: border-box;
}

#header .inner ul.menu-list li ul.category-list li:before {
  display: none;
}

#header .inner ul.menu-list li ul.category-list li span {
  display: block;
  margin-bottom: 10px;
  letter-spacing: .05em;
  font-weight: bold;
  font-size: 1.8rem;
}

#header .inner ul.menu-list li ul.category-list li ul.child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: right; /*display: block;*/
      flex-wrap: wrap;
  margin: 0;
  padding: 0; /*width: 100%;*/
  width: 77%;

  -ms-flex-wrap: wrap;
}

#header .inner ul.menu-list li ul.category-list li ul.child._en li a {
  position: relative;
  top: 2px;
}

#header .inner ul.menu-list li ul.category-list li ul.child li {
  display: table;
  float: left; /*&:nth-child(2n - 1){clear: both;}*/
          box-sizing: border-box;
  margin: 0 13px 10px 0;
  padding: 0 25px 0 10px;
  width: calc(
  100% / 3 - 13px
  ); /*width:50%; width:120px; padding: 0 10px 0 13px;*/
  height: 56px;
  border: 1px #d1d6dd solid; /*background: url(../../images/icon_arrow_accent1.png) 0 3px no-repeat; background-size: 5px 10px; */
  background: url(../../images/icon_arrow_accent1.png) calc(100% - 10px) 50%
  no-repeat;
  background-size: 6px 12px;

  -webkit-box-sizing: border-box;
}

#header
  .inner
  ul.menu-list
  li
  ul.category-list
  li
  ul.child
  li:nth-child(3n - 1) {
  clear: both;
}

#header .inner ul.menu-list li ul.category-list li ul.child li a {
  display: table-cell;
  padding: 0;
  color: #0f203e !important;
  vertical-align: middle;
  letter-spacing: .05em;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.2; /*font-weight: normal;*/
}

#header .inner ul.menu-list li ul.category-list li ul.child li a em.link {
  padding-right: 24px; /*transition: 0.3s;*/
  background: url(../../images/icon_link.png) 100% 50% no-repeat;
  background-size: 14px 14px;
  font-style: normal;
}

#header .inner ul.menu-list li ul.category-list li ul.child li a:hover {
  color: #9b1d3d !important; /*em.link{background: url(../../images/icon_link_accent2.png) 100% 50% no-repeat; background-size: 14px 14px;}*/
}

#header .inner ul.menu-list li ul.category-list li ul.child li a:after {
  display: none;
}

#header .inner p.careers {
  position: absolute;
  top: 20px;
  right: 20px;
  display: inline-block;
}

#header .inner p.careers a {
  display: block;
  padding: 10px;
  border-bottom: 1px #0f203e solid;
  color: #0f203e;
  text-decoration: none;
  letter-spacing: .05em;
  font-weight: bold;
  font-size: 1.4rem;
          transition: all .3s ease-out;

  -webkit-transition: all .3s ease-out;
}

#header .inner p.careers a:hover {
  border-bottom: 1px #9b1d3d solid;
  color: #9b1d3d;
}

#header.top {
  border: none;
  background: #0f203e;
}

#header.top .inner .logo img.top {
  display: block;
}

#header.top .inner .logo img.sub {
  display: none;
}

#header.top .inner .menu-pride {
  position: absolute;
  top: 0;
  left: 220px;
  display: inline-block;
  padding-left: 70px;
  height: 80px;
  background: url(../../images/about/csr/bg-head_diversity_pride.png) 0 0
  no-repeat;
  background-size: auto 100%;
}

#header.top .inner .menu-pride a {
  position: relative;
  z-index: +1;
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 80px;
}

#header.top .inner ul.menu-list li:nth-last-child(1):before {
  background: white !important;
}

#header.top .inner ul.menu-list li a,#header.top .inner ul.menu-list li span {
  color: white;
}

#header.top .inner ul.menu-list li a:hover,#header.top .inner ul.menu-list li a.active,#header.top .inner ul.menu-list li span:hover,#header.top .inner ul.menu-list li span.active {
  color: #c85819;
}

#header.top .inner p.careers {
  position: absolute;
  top: 20px;
  right: 20px;
  display: inline-block;
}

#header.top .inner p.careers a {
  border-bottom: 1px white solid;
  color: white;
}

#header.top .inner p.careers a:hover {
  border-bottom: 1px #9b1d3d solid;
  color: #9b1d3d;
}

#footer {
  margin: 0 auto;
  min-width: 1024px;
  width: 100%;
  background: #0f203e;
}

#footer.credit p.copyright {
  position: static !important;
  text-align: center;
}

#footer .inner {
  position: relative;
  margin: 0 auto;
  padding: 30px 20px;
  max-width: 1240px;
  width: 100%;
  color: white;
  letter-spacing: .05em;
  font-size: 1.4rem;
}

#footer .inner ul {
  margin: 0;
  padding: 0 20px;
}

#footer .inner ul li {
  float: left;
  margin: 0;
  padding: 0;
  list-style: none;
}

#footer .inner ul li a {
  color: white;
  text-decoration: none;
  font-weight: bold;
          transition: all .3s ease-out;

  -webkit-transition: all .3s ease-out;
}

#footer .inner ul li a:hover {
  color: #c85819;
}

#footer .inner ul.first {
  margin-bottom: 30px;
  letter-spacing: .05em;
  font-size: 1.6rem;
}

#footer .inner ul.first li {
  margin-right: 30px; /*キャリア復活時に最適用 &:nth-last-child(1){ padding-left: 30px;border-left: 1px rgba(255,255,255,1) solid; }*/
}

#footer .inner ul.second li {
  margin-right: 20px;
  padding-right: 20px;
  border-right: 1px white solid;
}

#footer .inner ul.second li:nth-last-child(1) {
  border-right: none;
}

#footer .inner ul.third {
  position: absolute;
  top: 20px;
  right: 0;
}

#footer .inner ul.third li {
  margin-right: 15px;
}

#footer .inner ul.third li img {
  width: auto;
  height: 36px;
          transition: all .3s ease-out;

  -webkit-transition: all .3s ease-out;
}

#footer .inner ul.third li img:hover {
  opacity: .7;
}

#footer .inner ul.third li:nth-last-child(1) {
  margin-right: 0;
}

#footer .inner p.copyright {
  position: absolute;
  right: 20px;
  bottom: 30px;
  margin: 0;
  padding: 0;
}

#footer #go_top {
  position: fixed;
  right: 10px;
  bottom: 130px;
  z-index: 2;
  width: 40px;
  opacity: 0;
  cursor: pointer;
          transition: .5s;

  -webkit-transition: .5s;
}

#footer #go_top.show {
  opacity: 1;
}

#footer #go_top.show:hover {
  opacity: .8;
}

main {
  display: block;
          box-sizing: border-box;
  margin: 0 auto;

  -webkit-box-sizing: border-box;
}

@media only screen and (max-width: 1380px) {
  #header.top .inner .menu-pride a {
    font-size: 1.4rem;
  }
}

@media only screen and (max-width: 1200px) {
  #header.top .inner .menu-pride a {
    font-size: 1.2rem;
  }
}

@media only screen and (max-width: 1150px) {
  #header.top .inner .menu-pride {
    left: 190px;
    padding-left: 40px;
  }
  #header.top .inner .menu-pride a {
    font-size: 1rem;
  }
}
