html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
time {
  display: block;
}
body {
  position: relative;
  font: 16px/1 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ",
    Meiryo, Verdana, Geneva, sans-serif;
  color: #000;
  background-color: #fff;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
}
a {
  color: #00a0e9;
  text-decoration: none;
  word-wrap: break-word;
}
a.border {
  border-bottom: 1px solid #ef857d;
}
a:hover {
  text-decoration: underline;
  opacity: 0.5;
}
@media only screen and (max-width: 750px) {
  a {
    word-break: break-all;
  }
}
.clearfix,
.textBlock,
.textBlock dl.flatList {
  zoom: 1;
}
.clearfix::after,
.textBlock::after,
.textBlock dl.flatList::after {
  content: "";
  clear: both;
  display: block;
}
.wrapper {
  position: relative;
  width: 100%;
}
@media only screen and (max-width: 750px) {
  .wrapper {
    width: 100%;
  }
}
.container {
  width: 610px;
  margin: auto;
}
@media only screen and (min-width: 751px) {
  .container.-small {
    width: 510px;
  }
  .container.-large {
    width: 850px;
  }
  .container.-full {
    width: 100%;
  }
}
@media only screen and (max-width: 750px) {
  .container {
    width: 90%;
  }
}
.contents {
  position: relative;
  width: 100%;
  padding: 0 0 64px;
}
.sc {
  position: relative;
  margin: 40px auto;
  padding: 32px 0;
}
.sc.-full {
  width: 100%;
}
.sc.-large {
  width: 610px;
}
.sc.-small {
  width: 800px;
}
.sc.-tall {
  padding: 64px 0;
}
@media only screen and (max-width: 750px) {
  .sc.-full,
  .sc.-large,
  .sc.-small {
    width: 90%;
  }
}
.textBlock.-justify {
  text-align: justify;
}
.textBlock p,
.textBlock ul,
.textBlock ol,
.textBlock dl {
  line-height: 1.8;
}
.textBlock p {
  margin-top: 1em;
}
.textBlock img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.textBlock .aligncenter {
  text-align: center;
}
.textBlock .alignjustify {
  text-align: justify;
}
.textBlock .alignright {
  float: right;
}
.textBlock .alignleft {
  float: left;
}
.textBlock .alignClear {
  clear: both;
}
.textBlock .textalignCenter {
  text-align: center;
}
.textBlock .textalignLeft {
  text-align: left;
}
.textBlock .textalignRight {
  text-align: right;
}
.textBlock .weightNormal {
  font-weight: normal;
}
.textBlock .weightBold {
  font-weight: bold;
}
.textBlock .indent {
  text-indent: 1em;
}
.textBlock .small {
  font-size: 0.75em;
}
.textBlock .large {
  font-size: 1.25em;
}
.textBlock .fz14 {
  font-size: 14px;
}
.textBlock .spaceNone {
  margin-top: 0;
}
.textBlock .spaceSmall {
  margin-top: 24px;
}
.textBlock .spaceMedium {
  margin-top: 40px;
}
.textBlock .spaceLarge {
  margin-top: 64px;
}
.textBlock .markSquare::before {
  content: "■";
  display: inline-block;
  margin-right: 0.5em;
}
.textBlock .markSquare2::before {
  content: "■";
  display: inline-block;
}
.textBlock .indentBlock {
  padding-left: 1.5em;
}
.textBlock ul,
.textBlock ol {
  margin: 0.5em 0;
  padding: 0;
}
.textBlock ul li,
.textBlock ol li {
  list-style-position: inside;
}
.textBlock ul li.listitemNone,
.textBlock ol li.listitemNone {
  list-style-type: none;
}
.textBlock ul {
  list-style: disc;
}
.textBlock ol {
  list-style: decimal;
}
.textBlock li > ul,
.textBlock li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}
.textBlock dl.flatList dt {
  float: left;
  margin-right: 1em;
}
.textBlock dl.flatList dd {
  float: left;
  margin: 0 0 0 0;
}
.textBlock dt {
  font-weight: 700;
}
.textBlock dd {
  margin: 0 1.5em 1.5em;
}
.textBlock table {
  border-collapse: collapse;
  margin: 0 0 1.5em;
  width: 100%;
}
.textBlock thead th {
  border-bottom: 2px solid #bbb;
  padding-bottom: 0.5em;
}
.textBlock th {
  padding: 0.4em;
  text-align: left;
}
.textBlock tr {
  border-bottom: 1px solid #eee;
}
.textBlock td {
  padding: 0.4em;
}
.textBlock th:first-child,
.textBlock td:first-child {
  padding-left: 0;
}
.textBlock th:last-child,
.textBlock td:last-child {
  padding-right: 0;
}
@media only screen and (min-width: 751px) {
  .pcNone {
    display: none;
  }
}
@media only screen and (max-width: 750px) {
  .spNone {
    display: none;
  }
}
.block {
  width: 100%;
  margin: 64px 0;
  padding: 32px 64px;
  box-sizing: border-box;
}
.block.-gray {
  background-color: #f1f1f1;
}
.block h2,
.block h3,
.block h4 {
  margin-bottom: 24px;
}
.block p {
  margin-bottom: 1em;
}
.block .aligncenter {
  text-align: center;
}
.block .spacetop {
  margin-top: 40px;
}
.pageSlogan {
  display: flex;
  clear: both;
  width: 100%;
  height: 250px;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  justify-content: center;
  align-items: center;
}
.pageSlogan.-company {
  background-image: url(img/1x/page_slogan_bg_company.jpg);
}
.pageSlogan.-business {
  background-image: url(img/1x/page_slogan_bg_business.jpg);
}
.pageSlogan.-organization {
  background-image: url(img/1x/page_slogan_bg_organization.jpg);
}
.pageSlogan.-access {
  background-image: url(img/1x/page_slogan_bg_access.jpg);
}
.pageSlogan.-careers{
  background-image: url(img/1x/page_slogan_bg_Careers.jpg)
}
.pageSlogan.-privacy {
  background-image: url(img/1x/page_slogan_bg_privacy.jpg);
}
@media only screen and (max-width: 750px) {
  .pageSlogan {
    height: 150px;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
  (min-resolution: 2dppx) {
  .pageSlogan.-company {
    background-image: url(img/2x/page_slogan_bg_company@2x.jpg);
  }
  .pageSlogan.-business {
    background-image: url(img/2x/page_slogan_bg_business@2x.jpg);
  }
  .pageSlogan.-organization {
    background-image: url(img/2x/page_slogan_bg_organization@2x.jpg);
  }
  .pageSlogan.-access {
    background-image: url(img/2x/page_slogan_bg_access@2x.jpg);
  }
  .pageSlogan.-privacy {
    background-image: url(img/2x/page_slogan_bg_privacy@2x.jpg);
  }
}
@media only screen and (max-width: 750px) {
  .pageSlogan__head {
    width: 90%;
    margin: auto;
  }
}
.sectionHead {
  text-align: center;
  margin: 0 0 64px;
  font-size: 22px;
}
.sectionHead.-privacy {
  margin-top: 80px;
}
@media only screen and (max-width: 750px) {
  .sectionHead {
    margin: 0 0 32px;
  }
}
.pageHeader {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  width: 100%;
  padding: 12px 0 0;
  background-color: #fff;
  flex-flow: row wrap;
  justify-content: space-between;
  box-sizing: border-box;
  z-index: 9999;
}
@media only screen and (max-width: 750px) {
  .pageHeader {
    flex-flow: column nowrap;
  }
}
.headerLogo {
  width: 100%;
  max-width: 418px;
  margin: 0 0 16px 32px;
  text-indent: -9999px;
}
@media only screen and (max-width: 750px) {
  .headerLogo {
    width: 90%;
    margin: 0 auto 24px auto;
  }
}
.headerLogo a {
  display: block;
  width: 100%;
  height: 0;
  padding: 11.245% 0 0;
  background-image: url(img/1x/header_logo.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
  (min-resolution: 2dppx) {
  .headerLogo a {
    background-image: url(img/2x/header_logo@2x.png);
  }
}
.headerLogo a:hover {
  opacity: 0.7;
}
.headerLogo.-en {
  max-width: 376px;
}
.headerLogo.-en a {
  padding: 12.5% 0 0;
  background-image: url(img/1x/en_header_logo.png);
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
  (min-resolution: 2dppx) {
  .headerLogo.-en a {
    background-image: url(img/2x/en_header_logo@2x.png);
  }
}
.langNav {
  display: flex;
  margin: 0 32px 0 0;
  flex-flow: row wrap;
  font-size: 12px;
}
@media only screen and (max-width: 750px) {
  .langNav {
    margin: 0 0 24px 0;
    justify-content: center;
  }
}
.langNav .langNav__item {
  color: #7c9fb1;
}
.langNav .langNav__item a {
  color: #036eb8;
}
.langNav .langNav__item.-current {
  color: #7c9fb1;
}
.langNav .langNav__item:nth-of-type(n + 2) {
  margin-left: 40px;
}
.gnavWrap {
  clear: both;
  width: 100%;
  background-color: #e3e3e4;
  border-top: 1px solid #cdd1dd;
  border-bottom: 1px solid #cdd1dd;
}
.gnavWrap.-page {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}
.gnavWrap.-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}
.gnav {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}
.gnav__item {
  text-align: center;
  flex-basis: 15.647%;/*18.647%; */
  max-width: 18.647%;
  line-height: 1.4;
  border-right: 1px solid #cdd1dd;
  box-sizing: border-box;
}
@media only screen and (min-width: 751px) {
  .gnav__item:first-child {
    border-left: 1px solid #cdd1dd;
  }
}
@media only screen and (max-width: 750px) {
  .gnav__item {
    flex-basis: 50%;
    max-width: 50%;
    border-top: 1px solid #cdd1dd;
  }
  .gnav__item:nth-of-type(3),
  .gnav__item:nth-last-of-type(1) {
    border-right: none;
  }
  .gnav__item:nth-of-type(1) {
    max-width: 100%;
    flex-basis: 100%;
    border-top: none;
  }
}
.gnav__item a {
  display: flex;
  height: 100%;
  width: 100%;
  padding: 4px 8px;
  color: #898989;
  background-color: #eff1f5;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
.gnav__item a:hover {
  text-decoration: none;
}
.homeMainWrap {
  position: relative;
  width: 100%;
}
.homeMain {
  display: flex;
  clear: both;
  width: 100%;
  height: 400px;
  background-image: url(img/1x/top_main_bg01.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
@media only screen and (max-width: 750px) {
  .homeMain {
    height: 200px;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
  (min-resolution: 2dppx) {
  .homeMain {
    background-image: url(img/2x/top_main_bg01@2x.jpg);
  }
}
@media only screen and (max-width: 750px) {
  .homeMain__head {
    width: 90%;
    margin: 0 auto;
  }
}
.pageFooter {
  width: 100%;
}
.footerNav {
  display: flex;
  flex-flow: row wrap;
}
.footerNav__item {
  text-align: center;
  max-width: 33.3333%;
  font-size: 18px;
  line-height: 1.4;
  flex-basis: 33.3333%;
  border-right: 1px solid #fff;
  box-sizing: border-box;
}
@media only screen and (min-width: 751px) {
  .footerNav__item:nth-of-type(3n) {
    border-right: none;
  }
  .footerNav__item:nth-of-type(n + 4) {
    border-top: 1px solid #fff;
  }
}
@media only screen and (max-width: 750px) {
  .footerNav__item {
    min-width: 50%;
    font-size: 16px;
    flex-basis: 50%;
  }
  .footerNav__item:nth-of-type(n + 3) {
    border-top: 1px solid #fff;
  }
}
.footerNav__item a {
  display: flex;
  height: 100%;
  padding: 38px 8px;
  color: #fff;
  background-color: #6f89a1;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
.footerNav__item a:hover {
  text-decoration: none;
}
.copy {
  text-align: center;
  padding: 24px 0;
  font-size: 12px;
  color: #898989;
}
.homeSlogan__head {
  text-align: center;
  margin: 0 0 16px;
}
.homeSlogan__content {
  text-align: justify;
  line-height: 1.8;
}
.homeTradingSales__head {
  text-align: center;
  margin: 0 0 20px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
}
.homeTradingSales__image {
  text-align: center;
  margin: 0 0 20px;
}
.TradingSales__content {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
}
@media only screen and (max-width: 750px) {
  .TradingSales__content {
    flex-flow: column nowrap;
  }
}
.TradingSalesItem {
  display: flex;
  text-align: center;
  max-width: 250px;
  flex-basis: 250px;
  flex-flow: column nowrap;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 750px) {
  .TradingSalesItem {
    max-width: 100%;
    flex-basis: 100%;
    margin: 40px 0 0;
  }
}
.TradingSalesItem__head {
  margin: 0 0 32px;
}
@media only screen and (max-width: 750px) {
  .TradingSalesItem__head {
    margin: 0 0 16px;
  }
}
.TradingSalesItem__text {
  width: 100%;
  margin: 0 0 32px;
  font-size: 14px;
  line-height: 1.8;
}
@media only screen and (max-width: 750px) {
  .TradingSalesItem__text {
    margin: 0 0 16px;
  }
}
.companyOutline {
  display: flex;
  width: 100%;
  flex-flow: row wrap;
  justify-content: space-between;
  line-height: 1.6;
}
@media only screen and (max-width: 750px) {
  .companyOutline {
    flex-flow: column nowrap;
    justify-content: flex-start;
  }
}
.companyOutline dt,
.companyOutline dd {
  padding: 12px 0;
  border-top: 3px solid #0099d9;
}
@media only screen and (min-width: 751px) {
  .companyOutline dt:nth-last-of-type(1),
  .companyOutline dd:nth-last-of-type(1) {
    border-bottom: 3px solid #0099d9;
  }
}
.companyOutline dt {
  display: flex;
  flex-basis: 198px;
  max-width: 198px;
  font-size: 14px;
  font-weight: bold;
  line-height: 25.6px;
  align-items: center;
}
@media only screen and (max-width: 750px) {
  .companyOutline dt {
    flex-basis: auto;
    width: 100%;
    max-width: 100%;
  }
}
.companyOutline dd {
  flex-basis: 407px;
  max-width: 407px;
}
@media only screen and (max-width: 750px) {
  .companyOutline dd {
    flex-basis: auto;
    width: 100%;
    max-width: 100%;
    border-top: 3px solid #a1cbed;
  }
  .companyOutline dd:nth-last-of-type(1) {
    border-bottom: 3px solid #0099d9;
  }
}
.companyHistory {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  line-height: 1.6;
}
@media only screen and (min-width: 751px) {
  .companyHistory.-en dt .companyHistory__year {
    flex-basis: 51px;
    text-align: center;
  }
  .companyHistory.-en dt .companyHistory__month {
    text-align: left;
    flex-basis: 142px;
  }
}
.companyHistory dt {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  font-weight: bold;
  flex-basis: 198px;
  line-height: 25.6px;
}
@media only screen and (min-width: 751px) {
  .companyHistory dt:nth-last-of-type(1) .companyHistory__year,
  .companyHistory dt:nth-last-of-type(1) .companyHistory__month {
    border-bottom: 3px solid #0099d9;
  }
  .companyHistory dt .companyHistory__year,
  .companyHistory dt .companyHistory__month {
    padding: 12px 0;
    border-top: 3px solid #0099d9;
  }
  .companyHistory dt .companyHistory__year {
    flex-basis: 142px;
  }
  .companyHistory dt .companyHistory__month {
    text-align: right;
    flex-basis: 51px;
  }
  .companyHistory dt.-sameYear .companyHistory__year,
  .companyHistory dt.-sameYear .companyHistory__month {
    border-top: 3px solid #a1cbed;
  }
}
@media only screen and (max-width: 750px) {
  .companyHistory dt {
    flex-basis: auto;
    width: 100%;
    max-width: 100%;
    padding: 12px 0;
    justify-content: flex-start;
    border-top: 3px solid #0099d9;
  }
  .companyHistory dt.-sameYear {
    border-top: 3px solid #a1cbed;
  }
}
.companyHistory dd {
  flex-basis: 407px;
  padding: 12px 0;
  border-top: 3px solid #0099d9;
}
.companyHistory dd.-sameYear {
  border-top: 3px solid #a1cbed;
}
.companyHistory dd:nth-last-of-type(1) {
  border-bottom: 3px solid #0099d9;
}
@media only screen and (max-width: 750px) {
  .companyHistory dd {
    max-width: 100%;
    border-top: 3px solid #a1cbed;
    flex-basis: 100%;
  }
}
.toggleBtn {
  display: table;
  margin: auto;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  text-indent: -9999px;
  cursor: pointer;
}
.toggleBtn.-message {
  width: 200px;
  height: 40px;
  background-image: url(img/1x/btn_greeting_open.png);
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
  (min-resolution: 2dppx) {
  .toggleBtn.-message {
    background-image: url(img/2x/btn_greeting_open@2x.png);
  }
}
.toggleBtn.-message.-open {
  background-image: url(img/1x/btn_greeting_close.png);
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
  (min-resolution: 2dppx) {
  .toggleBtn.-message.-open {
    background-image: url(img/2x/btn_greeting_close@2x.png);
  }
}
.toggleBtn.-contact {
  width: 200px;
  height: 40px;
  background-image: url(img/1x/btn_contact_open.png);
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
  (min-resolution: 2dppx) {
  .toggleBtn.-contact {
    background-image: url(img/2x/btn_contact_open@2x.png);
  }
}
.toggleBtn.-contact.-open {
  background-image: url(img/1x/btn_contact_close.png);
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
  (min-resolution: 2dppx) {
  .toggleBtn.-contact.-open {
    background-image: url(img/2x/btn_contact_close@2x.png);
  }
}
.toggleBtn.-messageEn {
  width: 260px;
  height: 40px;
  background-image: url(img/1x/en_btn_greeting_open.png);
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
  (min-resolution: 2dppx) {
  .toggleBtn.-messageEn {
    background-image: url(img/2x/en_btn_greeting_open@2x.png);
  }
}
.toggleBtn.-messageEn.-open {
  background-image: url(img/1x/en_btn_greeting_close.png);
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
  (min-resolution: 2dppx) {
  .toggleBtn.-messageEn.-open {
    background-image: url(img/2x/en_btn_greeting_close@2x.png);
  }
}
.toggleBtn.-contactEn {
  width: 200px;
  height: 40px;
  background-image: url(img/1x/en_btn_contact_open.png);
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
  (min-resolution: 2dppx) {
  .toggleBtn.-contactEn {
    background-image: url(img/2x/en_btn_contact_open@2x.png);
  }
}
.toggleBtn.-contactEn.-open {
  background-image: url(img/1x/en_btn_contact_close.png);
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
  (min-resolution: 2dppx) {
  .toggleBtn.-contactEn.-open {
    background-image: url(img/2x/en_btn_contact_close@2x.png);
  }
}
.toggleContent {
  display: none;
  padding: 80px 0 0;
}
@media only screen and (max-width: 750px) {
  .toggleContent {
    margin: 0 0 0;
  }
}
.privacyContent {
  text-align: justify;
  font-size: 14px;
}
.privacyContent .privacyHead01 {
  margin: 24px 0 8px;
  font-size: 14px;
  font-weight: bold;
  color: #004098;
  line-height: 1.4;
}
.privacyContent .privacyHead01 + p {
  margin-top: 0;
}
.privacyContent .privacyHead01 + h4 {
  margin-top: 0;
}
.privacyContent .privacyHead02 {
  margin: 24px 0 8px;
  font-size: 14px;
  font-weight: bold;
  color: #727171;
  line-height: 1.4;
}
.privacyContent .privacyHead02 + p {
  margin-top: 0;
}
.privacyContent .privacyHead02 + h4 {
  margin-top: 0;
}
.page-access .-accessAdress {
  padding-bottom: 0;
}
.textcenter {
  text-align: center;
}
.mb40 {
  margin-bottom: 40px;
}
.fs18 {
  font-size: 18px;
}
.page-access .-accessMap {
  margin-top: 40px;
  padding: 0;
}
.al-center{
  text-align: center;
}
.scrollbar-gutter{
  scrollbar-gutter: stable;
}