@charset "utf-8";

body { color: #333; font-size: 14px; line-height: 1.5; font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; }
img { vertical-align: bottom; }
a { color: #333; text-decoration: none; }
a:hover { color: #7F0019; }

h1 { font-family: "ゴシックMB101 DB", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; }

.annotation { font-size: 11px; color: #555; }
.annotation li { margin-bottom: 0.5em; }
.annotation.asterisk { text-indent: -0.75em; padding-left: 0.75em; }
ul.annotation.asterisk { list-style: none; }
.error { color: #d00; font-weight: bold; }

header#globalHeader { margin: 20px 0; padding-bottom: 20px; border-bottom: 1px solid #f6f6f6; }

.headerWrap { width: 940px; margin: 0 auto; }
.headerWrap_eng { width: 1040px; margin: 0 auto; }
.headerWrap h1#siteName, .headerWrap_eng h1#siteName { margin: -9px 0 0; float: left; }
.headerWrap h1#siteName a, .headerWrap_eng h1#siteName a { display: block; }
.headerWrap h1#siteName img, .headerWrap_eng h1#siteName img { width: 120px; }
#GlobalNav { float: right; }
#GlobalNav h1 { position: absolute; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
#GlobalNav ul { margin: 0; padding: 0; position: relative; }
#GlobalNav ul li { list-style: none; float: left; margin-left: 20px; }
#GlobalNav ul li a { padding: 0; display: block; line-height: 45px; border-bottom: 1px solid #fff; }
#GlobalNav ul li a:hover { border-bottom: 1px solid #ccc; }
#GlobalNav .button { display: none; }

.home #GlobalNav ul li.home a,
.news #GlobalNav ul li.news a,
.corporate #GlobalNav ul li.corporate a,
.ir #GlobalNav ul li.ir a,
.job #GlobalNav ul li.job a,
.csr #GlobalNav ul li.csr a { border-bottom: 1px solid #999; }

#GlobalNav h1,
#GlobalNav a { color: #191919; text-decoration: none; }

#main header { width: 940px; margin: 40px auto 20px; }
#main header h1 { font-size: 22px; float: left; }
#main header nav + h1 { margin: 0; }

.localNav { float: right; font-size: 12px; line-height: 1; }
.localNav ul { margin: 5px 0 0; padding: 0; }
.localNav li { display: inline-block; list-style: none; margin-left: 10px; }
.localNav li.eng { margin-left: 13px; }
.localNav li a { display: block; border-bottom: 1px solid #fff; padding-bottom: 15px; }
.localNav li a:hover { border-bottom: 1px solid #ccc; }
.localNav li dl { margin: 0; position: relative; }
.localNav li dt { cursor: pointer; }
.localNav li dt:after { content: "▼"; margin-left: 5px; font-size: 10px; }
.localNav li dd { display: none; position: absolute; right: 0; border: 1px solid #fff; padding: 10px; background: #fff; margin-top: 10px; white-space: nowrap; z-index: 1; }
.localNav li dd br { display: none; }
.localNav li dd a { padding: 5px; }

article section h1 { font-size: 18px; line-height: 1.6; }

.more { text-align: right; font-size: 12px; margin: 20px 0 0; }
.more a:after { content: url("/images/arrow_right_s.png"); margin-left: 5px; vertical-align: top; }

footer * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

footer { width: 100%; background: #000; padding: 30px 0; position: relative; bottom: 0; }
footer a { text-decoration: none; color: #ccc; }
footer a:hover { color: #fff; }
footer .footerWrap { width: 940px; margin: 0 auto; }

nav#footerNav ul { margin: 0; padding: 0; text-align: center; }
nav#footerNav li { list-style: none; display: inline-block; font-size: 12px; }
nav#footerNav li a { padding: 10px; }
nav#footerNav #copyright { color: #999999; padding: 10px; }

nav#contentNav { margin: 0 -20px 40px 0; }
nav#contentNav section { width: 220px; padding: 0; margin: 0 20px 0 0; float: left; }
nav#contentNav h1 { font-size: 16px; margin-bottom: 20px; }
nav#contentNav ul { padding: 0; }
nav#contentNav li { list-style: none; font-size: 12px; margin-bottom: 5px; }
nav#contentNav.eng { width: 700px; margin: 0 auto 40px; }
nav#contentNav.eng section:last-child { margin: 0; }

@media only screen and (max-width: 768px) {
  .overflow-scrolling { overflow: scroll; -webkit-overflow-scrolling: touch; }
  header#globalHeader { margin-bottom: 10px; }
  #main header h1,
  #main header .parent { padding: 0 15px; margin-bottom: 10px; }
  #main header .parent { font-weight: bold; }
  #GlobalNav { width: 26px; height: 26px; }
  #GlobalNav ul li a { display: inline; }
  #GlobalNav .button {
    display: block;
    position: absolute;
    height: 26px;
    width: 26px;
    top: 22px;
    right: 20px;
    -webkit-transform: translateZ(0) rotate(0deg);
    -ms-transform: translateZ(0) rotate(0deg);
    transform: translateZ(0) rotate(0deg);
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.4, 0.01, 0.165, 0.99);
    transition: transform 0.4s cubic-bezier(0.4, 0.01, 0.165, 0.99); z-index: 100;
  }
  #GlobalNav svg {
    position: absolute;
    left: 0;
    top: 0;
    -webkit-transform: translateZ(0) rotate(0deg);
    -ms-transform: translateZ(0) rotate(0deg);
    transform: translateZ(0) rotate(0deg);
    fill: #333;
    -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.4, 0.01, 0.165, 0.99);
    transition: transform 0.25s cubic-bezier(0.4, 0.01, 0.165, 0.99);
    font-size: 18px;
  }
  #GlobalNav rect {
    left: 0;
    top: 0;
    -webkit-transition: -webkit-transform 0.2s 0.2s;
    transition: transform 0.2s 0.2s;
  }
  #GlobalNav .top rect {
    -webkit-transform: translate3d(0, -8px, 0);
    -ms-transform: translate3d(0, -8px, 0);
    transform: translate3d(0, -8px, 0);
  }
  #GlobalNav .bottom rect {
    -webkit-transform: translate3d(0, 8px, 0);
    -ms-transform: translate3d(0, 8px, 0);
    transform: translate3d(0, 8px, 0);
  }
  #GlobalNav.open .button {
    -webkit-transform: translateZ(0) rotate(90deg);
    -ms-transform: translateZ(0) rotate(90deg);
    transform: translateZ(0) rotate(90deg);
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0, 0.01, 0.165, 0.99);
    transition: transform 0.4s cubic-bezier(0.4, 0.01, 0.165, 0.99);
  }
  #GlobalNav.open svg {
    -webkit-transition: -webkit-transform 0.25s 0.2s cubic-bezier(0.4, 0.01, 0.165, 0.99);
    transition: transform 0.25s 0.2s cubic-bezier(0.4, 0.01, 0.165, 0.99);
    -webkit-transform: translateZ(0) rotate(0);
    -ms-transform: translateZ(0) rotate(0);
    transform: translateZ(0) rotate(0);
    fill: #fff;
  }
  #GlobalNav.open .top {
    -webkit-transform: translateZ(0) rotate(45deg);
    -ms-transform: translateZ(0) rotate(45deg);
    transform: translateZ(0) rotate(45deg);
  }
  #GlobalNav.open .middle {
    display: none;
  }
  #GlobalNav.open .bottom {
    -webkit-transform: translateZ(0) rotate(-45deg);
    -ms-transform: translateZ(0) rotate(-45deg);
    transform: translateZ(0) rotate(-45deg);
  }
  #GlobalNav.open rect {
    -webkit-transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  .home #GlobalNav ul li.home a,
  .news #GlobalNav ul li.news a,
  .corporate #GlobalNav ul li.corporate a,
  .ir #GlobalNav ul li.ir a,
  .job #GlobalNav ul li.job a,
  .csr #GlobalNav ul li.csr a { border: 0; }
}
@media screen and (max-width: 768px) {
  #main header { margin-top: 0; }
  #main header h1 { float: none; margin: 0; }
  .headerWrap,
  .headerWrap_eng,
   #main header { width: 100%; }
  .headerWrap h1#siteName,
  .headerWrap_eng h1#siteName { margin-left: 15px; }
  .headerWrap h1#siteName a img,
  .headerWrap_eng h1#siteName a img { width: 100px; }
  #GlobalNav h1 {
    display: block;
    background: url(/img/menu_b.png) no-repeat center center;
    text-indent: -9999px;
    background-size: 20px 15px;
    position: absolute;
    top: 0;
    right: 0;
    padding: 27px;
    margin: 0;
    cursor: pointer;
    width: 20px;
    height: 15px;
    z-index: 1;
  }
  #GlobalNav ul { display: none; opacity: 0; }
  #GlobalNav.open ul {
    display: block;
    opacity: 1;
    animation-duration: 0.5s;
    animation-name: fade-in;
    -moz-animation-duration: 0.5s;
    -moz-animation-name: fade-in;
    -webkit-animation-duration: 0.5s;
    -webkit-animation-name: fade-in;
  }
  @keyframes fade-in {
    0% { display: none; opacity: 0; }
    1% { display: block; opacity: 0; }
    100% { display: block; opacity: 1; }
  }
  @-moz-keyframes fade-in {
    0% { display: none; opacity: 0; }
    1% { display: block; opacity: 0; }
    100% { display: block; opacity: 1; }
  }
  @-webkit-keyframes fade-in {
    0% { display: none; opacity: 0; }
    1% { display: block; opacity: 0; }
    100% { display: block; opacity: 1; }
  }
  #GlobalNav ul {
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    position: absolute;
    z-index: 90;
    padding-top: 40px;
  }
  #GlobalNav ul li { float: none; margin-left: 20px; font-size: 18px; }
  #GlobalNav ul li a { border-bottom: 0; color: #fff; }
}
@media screen and (max-width: 768px) {
  #main header { position: relative; }
  .localNav {
    float: none;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    font-size: 14px;
    padding-bottom: 0;
    padding-right: 10px;
    margin-bottom: 40px;
    border-bottom: 1px solid #f6f6f6;
  }
  .localNav ul { white-space: nowrap; padding: 0 10px; }
  .localNav li { margin: 0 5px 0; }
  .localNav li a:hover { border-bottom: 0; }
  .localNav li dl { position: static; }
  .localNav li dt { display: none; }
  .localNav li dd { display: inline; position: relative; border: 0; padding: 0; margin: 0; }
  .localNav li dd a { padding: 0; display: inline-block; margin: 0 5px; padding-bottom: 15px; } }
@media only screen and (max-device-width: 768px) {
  footer { padding: 30px 5px; box-sizing: border-box; }
  footer .footerWrap { width: auto; }
}
@media only screen and (max-device-width: 768px) {
  nav#contentNav { margin-right: 0; }
  nav#contentNav section { width: 23%; margin: 0 1%; }
  nav#contentNav h1 { margin-bottom: 10px; }
  nav#contentNav li { float: left; }
  nav#contentNav li.contentTop { float: none; margin-bottom: 10px; }
  nav#contentNav a { padding: 10px; }
}
@media only screen and (max-device-width: 767px) {
  nav#contentNav section,
  nav#contentNav.eng { float: none; width: auto; margin: 0 0 30px; }
}
/* clearfix */
.clearfix,
#globalHeader,
#GlobalNav ul,
.headerWrap,
.headerWrap_eng,
#main header,
.localNav ul,
nav#contentNav,
nav#contentNav ul { zoom: 1; }
.clearfix:after,
#globalHeader:after,
#GlobalNav ul:after,
.headerWrap:after,
.headerWrap_eng:after,
#main header:after,
.localNav ul:after,
nav#contentNav:after,
nav#contentNav ul:after { content: ""; display: block; clear: both; }