@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Open+Sans:700);
/*----------------------------------------
 * Initialize */
/*---------------------------------------- */
html {
  font-size: 14px;
}
@media only screen and (max-width: 768px) {
  html {
    font-size: 12px !important;
  }
}
@media only screen and (min-width: 1920px) {
  html {
    background: url("../images/common/extra-bg.png") #222;
  }
}

body {
  display: block;
  padding: 0;
  margin: 0;
  font-size: 14px;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
  color: #222222;
}
@media only screen and (min-width: 769px) {
  body {
    min-width: 1200px;
  }
}
@media only screen and (max-width: 768px) {
  body {
    font-size: 12px !important;
  }
}
@media only screen and (min-width: 1920px) {
  body {
    background-color: #FFF;
    max-width: 1920px;
    width: 1920px;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

p {
  margin: 0;
}

ul, li {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0;
}

strong {
  font-weight: bold;
}

a {
  color: #222222;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (max-width: 768px) {
  a {
    -moz-transition: none;
    -o-transition: none;
    -webkit-transition: none;
    transition: none;
  }
}
a:hover {
  color: #929497;
  text-decoration: none;
}
a:focus {
  color: #929497;
}

/*----------------------------------------
 *        Main
 *---------------------------------------- */
.main-visual {
  overflow: hidden;
  *zoom: 1;
  min-width: 1200px;
  margin-bottom: 80px;
  padding-bottom: 120px;
  background: url("../company/images/index-main-bg.jpg");
  background-size: cover;
}
@media only screen and (max-width: 768px) {
  .main-visual {
    min-width: 100%;
    height: auto;
    margin-bottom: 0;
  }
}
.main-visual .contents-wrap {
  position: relative;
}

.main-visual__header {
  margin: 0 0 60px;
  padding: 120px 0 60px;
  background-position: bottom;
  text-align: center;
  border-bottom: 3px double #ccc;
  border-bottom-color: #929497;
}
@media only screen and (max-width: 768px) {
  .main-visual__header {
    width: 100%;
    min-width: 100%;
    height: 107px;
    padding: 29px 0 0 0;
    background-position: bottom;
  }
}
.main-visual__header h1 {
  margin: 0 0 15px 0;
  font-size: 2.14rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .main-visual__header h1 {
    margin: 3px 0 9px 0;
    font-size: 1.6rem;
  }
}
.main-visual__header .en {
  font-family: "Open Sans", sans-serif;
  font-size: 1.14rem;
  font-style: italic;
  letter-spacing: 0.1rem;
  color: #ea2b33;
}
@media only screen and (max-width: 768px) {
  .main-visual__header .en {
    font-size: 0.91rem;
  }
}

.main-visual__header--copy {
  margin: 0 0 65px;
  font-size: 1.85rem;
  font-weight: bold;
  line-height: 2;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .main-visual__header--copy {
    margin: 20px 0 30px 0;
    font-size: 1.5rem;
    text-align: center;
  }
}

.main-visual__wrap {
  display: -webkit-flex;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .main-visual__wrap {
    display: block;
  }
}

.main-visual__item--jigyo1 {
  overflow: hidden;
  *zoom: 1;
  width: 384px;
  height: 596px;
  background: url("../company/images/index-main-jigyo1-2x.png") no-repeat;
  background-size: 384px 596px;
  width: 384px;
  height: 596px;
  margin-right: 24px;
  background-size: 384px 596px;
}
@media only screen and (max-width: 768px) {
  .main-visual__item--jigyo1 {
    width: 288px;
    height: 447px;
    margin: 0 auto 25px auto;
    background-size: 288px 447px;
  }
}

.main-visual__item--jigyo2 {
  overflow: hidden;
  *zoom: 1;
  width: 384px;
  height: 596px;
  background: url("../company/images/index-main-jigyo2-2x.png") no-repeat;
  background-size: 384px 596px;
  width: 384px;
  height: 596px;
  margin-right: 24px;
  background-size: 384px 596px;
}
@media only screen and (max-width: 768px) {
  .main-visual__item--jigyo2 {
    width: 288px;
    height: 447px;
    margin: 0 auto 25px auto;
    background-size: 288px 447px;
  }
}

.main-visual__item--jigyo3 {
  overflow: hidden;
  *zoom: 1;
  width: 384px;
  height: 596px;
  background: url("../company/images/index-main-jigyo3-2x.png") no-repeat;
  background-size: 384px 596px;
  width: 384px;
  height: 596px;
  background-size: 384px 596px;
}
@media only screen and (max-width: 768px) {
  .main-visual__item--jigyo3 {
    width: 288px;
    height: 447px;
    margin: 0 auto 40px auto;
    background-size: 288px 447px;
  }
}

.main-visual__item--body {
  margin: 293px 40px 0 40px;
}
@media only screen and (max-width: 768px) {
  .main-visual__item--body {
    margin: 222px 25px 0 25px;
  }
}
.main-visual__item--body h2 {
  margin-bottom: 20px;
  font-size: 1.71rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .main-visual__item--body h2 {
    margin-bottom: 12px;
    font-size: 1.41rem;
  }
}
.main-visual__item--body .copy {
  margin-bottom: 16px;
  font-size: 1.28rem;
  line-height: 1.6;
}
@media only screen and (max-width: 768px) {
  .main-visual__item--body .copy {
    margin-bottom: 8px;
    font-size: 1.16rem;
  }
}
.main-visual__item--body .description {
  margin-bottom: 1em;
  line-height: 1.8;
}
@media only screen and (max-width: 768px) {
  .main-visual__item--body .description {
    font-size: 1rem;
    line-height: 1.6;
  }
}

/*----------------------------------------
 *        Corporate
 *---------------------------------------- */
.corp {
  overflow: hidden;
}

.corp__list {
  display: -webkit-flex;
  display: flex;
  margin: 0 -16px 80px 0;
  flex-wrap: wrap;
}

.corp__list__item {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  width: 288px;
  margin: 0 16px 19px 0;
  padding: 9px;
  border: 1px solid #222;
}

.corp__list__item--thumb {
  flex-basis: 90px;
}
.corp__list__item--thumb img {
  width: 90px;
}

.corp__list__item--name {
  flex: 1;
  font-size: 1.14rem;
  font-weight: bold;
  text-align: center;
}

.lang-en .corp__list {
  margin: 80px 0 80px -25px;
}
@media only screen and (max-width: 768px) {
  .lang-en .corp__list {
    margin: 30px 0 15px 0;
  }
}
