@charset "UTF-8";
body {
  font-family: "游ゴシック", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "sans-serif";
  font-size: 13px;
  font-weight: 500;
  text-align: justify;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}
body * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
body a {
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
}
body a:hover {
  text-decoration: none;
}
body a:hover img {
  opacity: 0.7;
}
body a.link-btn {
  border: 2px solid #00155e;
  color: #00155e;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 20px;
  font-weight: bold;
  padding: 10px 20px;
  text-decoration: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
body a.link-btn i {
  margin: 3px 0 0 20px;
}
body a.link-btn:hover {
  background: #00155e;
  color: #fff;
}
body img {
  max-width: 100%;
  vertical-align: top;
}
body .clearfix {
  min-height: 1px;
}
body .clearfix:after {
  content: ".";
  clear: both;
  display: block;
  height: 0;
  visibility: hidden;
}

div.loop, ul.loop li, .float_l {
  float: left;
}

.float_r {
  float: right;
}

div.w_half, .w_half li {
  margin: 0 5px 10px 0;
  width: 280px;
}

.align_l {
  text-align: left;
}
.align_c {
  text-align: center;
}
.align_r {
  text-align: right;
}

.sp-only {
  display: none;
}
@media only screen and (max-width: 540px) {
  .sp-only {
    display: block;
  }
}

.pc-only {
  display: block;
}
@media only screen and (max-width: 540px) {
  .pc-only {
    display: none;
  }
}

.red {
  color: #f00;
}

.bold {
  font-weight: bold;
}

.font12, .min {
  font-size: 12px;
  line-height: 1.4;
}

.font14 {
  font-size: 14px;
  line-height: 1.4;
}

.font16 {
  font-size: 16px;
  line-height: 1.4;
}

.font24 {
  font-size: 24px;
  line-height: 1.4;
}

.w200 {
  width: 200px;
}

.w250 {
  width: 250px;
}

.w300 {
  width: 300px;
}

.w320 {
  width: 320px;
}

.w350 {
  width: 350px;
}

.w400 {
  width: 400px;
}

.w440 {
  width: 400px;
}

.w450 {
  width: 450px;
}

.w480 {
  width: 480px;
}

.w500 {
  width: 500px;
}

.w510 {
  width: 510px;
}

.w550 {
  width: 550px;
}

.w600 {
  width: 600px;
}

.w650 {
  width: 650px;
}

.w28p {
  width: 28%;
}

.w70p {
  width: 70%;
}

.w100p {
  width: 100%;
}

.w1000 {
  margin: 0 auto;
  width: 1000px;
}

.pt10 {
  padding-top: 10px;
}

.pt15 {
  padding-top: 15px;
}

.pt20 {
  padding-top: 20px;
}

.pt25 {
  padding-top: 25px;
}

.pt30 {
  padding-top: 30px;
}

.pt35 {
  padding-top: 35px;
}

.pt40 {
  padding-top: 40px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb15 {
  padding-bottom: 15px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb25 {
  padding-bottom: 25px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb35 {
  padding-bottom: 35px;
}

.pb40 {
  padding-bottom: 40px;
}

.pr10 {
  padding-right: 10px;
}

.pr15 {
  padding-right: 15px;
}

.pr20 {
  padding-right: 20px;
}

.pr25 {
  padding-right: 25px;
}

.pr30 {
  padding-right: 30px;
}

.pr35 {
  padding-right: 35px;
}

.pr40 {
  padding-right: 40px;
}

.pl10 {
  padding-left: 10px;
}

.pl15 {
  padding-left: 15px;
}

.pl20 {
  padding-left: 20px;
}

.pl25 {
  padding-left: 25px;
}

.pl30 {
  padding-left: 30px;
}

.pl35 {
  padding-left: 35px;
}

.pl40 {
  padding-left: 40px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mt35 {
  margin-top: 35px;
}

.mt40 {
  margin-top: 40px;
}

.mt60 {
  margin-top: 60px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb60 {
  margin-bottom: 60px;
}

.mr10 {
  margin-right: 10px;
}

.mr15 {
  margin-right: 15px;
}

.mr20 {
  margin-right: 20px;
}

.mr25 {
  margin-right: 25px;
}

.mr30 {
  margin-right: 30px;
}

.mr35 {
  margin-right: 35px;
}

.mr40 {
  margin-right: 40px;
}

.ml10 {
  margin-left: 10px;
}

.ml15 {
  margin-left: 15px;
}

.ml20 {
  margin-left: 20px;
}

.ml25 {
  margin-left: 25px;
}

.ml30 {
  margin-left: 30px;
}

.ml35 {
  margin-left: 35px;
}

.ml40 {
  margin-left: 40px;
}

.ml45 {
  margin-left: 45px;
}

.ml50 {
  margin-left: 50px;
}

.ml55 {
  margin-left: 55px;
}

.ml60 {
  margin-left: 60px;
}

.ml65 {
  margin-left: 65px;
}

/*****************************************************************

	header config stylesheets

*****************************************************************/
header {
  margin: 0 auto;
  width: 1105px;
}
@media only screen and (max-width: 1145px) {
  header {
    -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
    width: auto;
  }
}
header > div, header > nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
header > div {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 20px 0;
}
@media only screen and (max-width: 1145px) {
  header > div {
    padding: 20px;
  }
}
@media only screen and (max-width: 540px) {
  header > div {
    display: block;
  }
  header > div > a {
    display: block;
    text-align: center;
  }
  header > div p {
    margin-top: 10px;
    text-align: right;
  }
}
header > div p a {
  color: #999;
  margin-left: 15px;
}
header > div p a:hover {
  color: #000;
}
header > nav {
  position: relative;
}
header > nav label, header > nav input {
  display: none;
}
@media only screen and (max-width: 840px) {
  header > nav label {
    background: #f0f0f0;
    display: block;
    font-size: 26px;
    line-height: 45px;
    text-align: center;
  }
  header > nav input:checked ~ ul {
    display: block;
  }
}
header > nav ul li {
  border-left: 1px solid #e5e5e5;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
header > nav ul li:last-of-type {
  border-right: 1px solid #e5e5e5;
}
header > nav ul li a {
  color: #000;
  display: block;
  font-size: 14px;
  font-weight: bold;
  line-height: 45px;
  text-align: center;
  text-decoration: none;
}
header > nav ul li a:hover {
  background: #00155e;
  color: #fff;
  text-decoration: underline;
}
@media only screen and (max-width: 840px) {
  header > nav ul {
    background: rgba(255, 255, 255, 0.9);
    display: none;
    position: absolute;
    width: 100%;
    z-index: 1;
  }
  header > nav ul li {
    border: 0;
  }
  header > nav ul li + li {
    border-top: 1px solid #e5e5e5;
  }
  header > nav ul li a {
    padding: 0 20px;
    text-align: left;
  }
}

/*****************************************************************

	footer config stylesheets

*****************************************************************/
footer {
  background: none;
  border-top: 1px solid #868687;
  color: #6a6969;
  font-weight: bold;
  margin: 0 auto;
  padding: 15px 0;
  width: 1105px;
}
@media only screen and (max-width: 1145px) {
  footer {
    margin: 0;
    padding: 15px 20px;
    width: auto;
  }
}
@media only screen and (max-width: 480px) {
  footer {
    padding: 0 0 15px;
  }
}
footer a {
  color: #6a6969;
  font-size: 11px;
  text-decoration: none;
}
footer a:hover {
  text-decoration: underline;
}
footer ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 45px;
}
@media only screen and (max-width: 480px) {
  footer ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
  }
}
footer ul li {
  width: 25%;
}
footer ul li h2 {
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 15px;
}
footer ul li h2 label:before {
  content: "▽";
  display: inline-block;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
footer ul li input {
  display: none;
}
footer ul li a {
  display: block;
}
@media only screen and (max-width: 480px) {
  footer ul li {
    width: 100%;
  }
  footer ul li h2 {
    margin-bottom: 0;
  }
  footer ul li h2 label {
    display: block;
    border-bottom: 1px solid #ccc;
    padding: 15px;
  }
  footer ul li h2 + input:checked + p {
    display: block;
  }
  footer ul li p {
    display: none;
  }
  footer ul li p a {
    background: #fafafa;
    border-left: 5px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 15px;
  }
}
footer section {
  border-top: 1px solid #868687;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-top: 20px;
  padding-top: 20px;
}
footer section a {
  margin-left: 15px;
}
footer section address {
  font-style: normal;
  margin-left: auto;
}
footer section .textlink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  line-height: 1;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: auto;
}
@media only screen and (max-width: 940px) {
  footer section {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  footer section address {
    font-size: 12px;
    margin-right: auto;
  }
}
@media only screen and (max-width: 480px) {
  footer section {
    margin-top: 0;
  }
  footer section .textlink {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
  footer section .textlink__item--pconly {
    display: none;
  }
}

/*****************************************************************

	index stylesheets

*****************************************************************/
div#index .__head {
  overflow: hidden;
  padding-top: 36%;
  position: relative;
}
div#index .__head h1, div#index .__head video {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
}
div#index .__head h1 {
  background: url(../img/_index/catch@bg.png) no-repeat center top;
  text-align: center;
}
div#index .__head._ver02 h1 {
  background: none;
}
div#index .__head._35th h1 {
  background: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
div#index .__head._35th h1 > img {
  width: 50%;
}
div#index .__head._35th h1 > a {
  position: relative;
  border: 2px solid #00155e;
  color: #fff;
  background: #00155e;
  margin-top: 2.5rem;
}
div#index .__head._35th h1 > a:hover {
  border: 2px solid #00155e;
  color: #00155e;
  background: #fff;
}
@media only screen and (max-width: 710px) {
  div#index .__head {
    height: 400px;
    padding-top: 0;
  }
  div#index .__head video {
    height: 500px;
    width: auto;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  div#index .__head h1 {
    padding: 0 40px;
    background-position: left 70% center;
    background-size: 130% auto;
  }
  div#index .__head._35th h1 > img {
    width: 100%;
  }
  div#index .__head._35th h1 > a {
    margin-top: 1.5rem;
    font-size: 1rem;
  }
}
div#index .__topics {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 16px;
  margin: 45px auto 0;
  width: 1105px;
}
@media only screen and (max-width: 1145px) {
  div#index .__topics {
    margin: 25px 20px 0;
    width: auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
div#index .__topics a {
  color: #000;
  text-decoration: none;
}
div#index .__topics a:hover {
  text-decoration: underline;
}
div#index .__topics article ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  line-height: 18px;
}
div#index .__topics article ul li + li {
  margin-top: 8px;
}
div#index .__topics article ul li time {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 90px;
}
div#index .__topics article ul li em {
  background: #c7c8c8;
  color: #fff;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-style: normal;
  margin-right: 15px;
  text-align: center;
  width: 130px;
}
@media only screen and (max-width: 800px) {
  div#index .__topics article ul li {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  div#index .__topics article ul li time, div#index .__topics article ul li em {
    font-size: 12px;
  }
  div#index .__topics article ul li time {
    width: 80px;
  }
  div#index .__topics article ul li em {
    width: 100px;
  }
  div#index .__topics article ul li a {
    margin-top: 2px;
    width: 100%;
  }
}
div#index .__topics > p {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}
div#index .__topics > p a:after {
  content: "▽";
}
@media only screen and (max-width: 1140px) {
  div#index .__topics > p {
    font-size: 13px;
    margin: 20px 0 0 auto;
  }
}
div#index .__business {
  margin: 80px auto 0;
  width: 1105px;
}
@media only screen and (max-width: 1145px) {
  div#index .__business {
    margin: 30px 20px 0;
    width: auto;
  }
}
div#index .__business h2 {
  font-size: 20px;
  margin-bottom: 40px;
  text-align: center;
}
div#index .__business h2 small {
  border-top: 1px solid #2c5ba9;
  color: #9d9d9e;
  display: block;
  font-size: 18px;
  margin: 8px auto 0;
  padding-top: 8px;
  width: 320px;
}
@media only screen and (max-width: 480px) {
  div#index .__business h2 small {
    width: auto;
  }
}
div#index .__business ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
div#index .__business ul li {
  margin: 0 calc((100% - (252PX * 4)) / 3) 30px 0;
  width: 252px;
}
div#index .__business ul li:nth-of-type(4n+4) {
  margin-right: 0;
}
@media only screen and (max-width: 1090px) {
  div#index .__business ul li, div#index .__business ul li:nth-of-type(4n+4) {
    margin-right: calc((100% - 32% * 3) / 2);
    width: 32%;
  }
  div#index .__business ul li:nth-of-type(3n+3) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 840px) {
  div#index .__business ul li, div#index .__business ul li:nth-of-type(3n+3), div#index .__business ul li:nth-of-type(4n+4) {
    margin-right: calc(100% - 49% * 2);
    width: 49%;
  }
  div#index .__business ul li:nth-of-type(2n+2) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 480px) {
  div#index .__business ul li, div#index .__business ul li:nth-of-type(2n+2), div#index .__business ul li:nth-of-type(3n+3), div#index .__business ul li:nth-of-type(4n+4) {
    margin-right: 0;
    width: 100%;
  }
}
div#index .__business ul li a {
  color: #000;
  font-size: 15px;
  font-weight: bold;
  text-decoration: none;
}
div#index .__business ul li a img {
  margin-bottom: 10px;
}
div#index .__banner {
  border-top: 1px solid #868687;
  margin: 70px auto 30px;
  padding-top: 30px;
  width: 1105px;
}
@media only screen and (max-width: 1145px) {
  div#index .__banner {
    margin: 12px 20px 30px;
    width: auto;
  }
}
div#index .__banner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
div#index .__banner ul li {
  width: 49%;
}
@media only screen and (max-width: 680px) {
  div#index .__banner ul li {
    width: 100%;
  }
  div#index .__banner ul li + li {
    margin-top: 20px;
  }
}

/*****************************************************************

	index stylesheets

*****************************************************************/
div._0colm_ + footer {
  border: 0;
}

div._2colm_ {
  background: #344f78 linear-gradient(45deg, #9b9fb1 0%, #344f78 100%);
  padding: 60px 0;
}
div._2colm_ > main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  width: 1020px;
}
@media only screen and (max-width: 1040px) {
  div._2colm_ > main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    margin: 0 10px;
    width: auto;
  }
}
div._2colm_ > main #leftColm {
  color: #fff;
  width: 300px;
}
@media only screen and (max-width: 1040px) {
  div._2colm_ > main #leftColm {
    width: auto;
  }
}
div._2colm_ > main #leftColm h1, div._2colm_ > main #leftColm h2 {
  font-family: "Arial", "Helvetica", "sans-serif";
  font-weight: bold;
  line-height: 42px;
}
@media only screen and (max-width: 1040px) {
  div._2colm_ > main #leftColm h1, div._2colm_ > main #leftColm h2 {
    text-align: center;
  }
}
div._2colm_ > main #leftColm h1 {
  font-size: 38px;
}
div._2colm_ > main #leftColm h2 {
  font-size: 18px;
}
div._2colm_ > main #leftColm ul {
  margin: 30px 0 0;
}
@media only screen and (max-width: 1040px) {
  div._2colm_ > main #leftColm ul {
    display: none;
  }
}
div._2colm_ > main #leftColm ul li + li {
  margin: 4px 0 0;
}
div._2colm_ > main #leftColm ul li a {
  border-bottom: 1px dotted #fff;
  color: #fff;
  padding: 0 0 2px;
  text-decoration: none;
}
div._2colm_ > main #leftColm ul li a:hover {
  border-bottom: none;
}
div._2colm_ > main #rightColm {
  background: #fff;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 40px;
  width: 700px;
}
@media only screen and (max-width: 1040px) {
  div._2colm_ > main #rightColm {
    margin: 60px 0 0;
    width: auto;
  }
}
div._2colm_ > main #rightColm h2 {
  font-size: 22px;
}
div._2colm_ > main #rightColm h2 + h2, div._2colm_ > main #rightColm h2 + p, div._2colm_ > main #rightColm h2 + ul, div._2colm_ > main #rightColm h2 + table, div._2colm_ > main #rightColm p + h2, div._2colm_ > main #rightColm p + p, div._2colm_ > main #rightColm p + ul, div._2colm_ > main #rightColm p + table, div._2colm_ > main #rightColm ul + h2, div._2colm_ > main #rightColm ul + p, div._2colm_ > main #rightColm ul + ul, div._2colm_ > main #rightColm ul + table, div._2colm_ > main #rightColm table + h2, div._2colm_ > main #rightColm table + p, div._2colm_ > main #rightColm table + ul, div._2colm_ > main #rightColm table + table {
  margin: 1em 0 0;
}
div._2colm_ + footer {
  border: 0;
}

/*****************************************************************

	/company/ stylesheets

*****************************************************************/
#company #rightColm table {
  border-bottom: 2px solid #000;
  width: 100%;
}
#company #rightColm table th, #company #rightColm table td {
  border-top: 2px solid #000;
  padding: 12px 0;
  vertical-align: top;
}
#company #rightColm table th {
  font-weight: bold;
  width: 100px;
}
#company #rightColm table td > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#company #rightColm table td > div._business > b {
  width: 130px;
}
#company #rightColm table td > div p {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 20px;
}
@media only screen and (max-width: 480px) {
  #company #rightColm table td > div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
  }
  #company #rightColm table td > div p {
    margin-left: 0;
  }
}
#company #rightColm._office_ img {
  width: 100%;
}
#company #rightColm._office_ h2 {
  margin-bottom: 30px;
}
#company #rightColm._office_ ._thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#company #rightColm._office_ ._thumb a {
  margin-top: 10px;
  width: calc((100% - 10px) / 2);
}
#company #rightColm._socialmediapolicy_ ul, #company #rightColm._policy_ ul {
  list-style: circle;
}
#company #rightColm._socialmediapolicy_ ul li, #company #rightColm._policy_ ul li {
  margin: 0 0 0 1.5em;
}

/*****************************************************************

	/business/ stylesheets

*****************************************************************/
#business > section {
  background-size: cover !important;
  background-attachment: fixed !important;
  padding: 100px 0;
}
@media only screen and (max-width: 840px) {
  #business > section {
    padding: 100px 0 0;
  }
}
#business > section#environment {
  background: url(../img/business/environment_ver02.jpg) no-repeat center center;
}
#business > section#sales-promotion {
  background: url(../img/business/sales-promotion_ver02.jpg) no-repeat center top;
}
#business > section#energy {
  background: url(../img/business/energy_ver02.jpg) no-repeat center bottom;
}
#business > section#logistics {
  background: url(../img/business/logistics_ver02.jpg) no-repeat center center;
}
#business > section#health {
  background: url(../img/business/health_ver02.jpg) no-repeat center center;
}
#business > section#disaster {
  background: url(../img/business/disaster.jpg) no-repeat center center;
}
#business > section#staffing {
  background: url(../img/business/staffing_ver02.jpg) no-repeat center center;
}
#business > section#overseas {
  background: url(../img/business/overseas.jpg) no-repeat center center;
}
#business > section#reuse {
  background: url(../img/business/reuse_ver02.jpg) no-repeat center center;
}
#business > section#sanitation {
  background: url(../img/business/sanitation_ver02.jpg) no-repeat center center;
}
#business > section:nth-of-type(even) article {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
}
#business > section:nth-of-type(even) article h1 {
  text-align: right;
}
#business > section article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin: 0 auto;
  width: 1000px;
}
@media only screen and (max-width: 1040px) {
  #business > section article {
    margin: 0 10px;
    width: auto;
  }
}
@media only screen and (max-width: 840px) {
  #business > section article {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-flow: column !important;
            flex-flow: column !important;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
  }
  #business > section article h1 {
    text-align: center !important;
    width: auto;
  }
}
#business > section article * {
  font-weight: bold;
}
#business > section article h1 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 50%;
}
#business > section article div {
  background: #fff;
  padding: 60px;
  width: 50%;
}
@media only screen and (max-width: 840px) {
  #business > section article div {
    margin: 100px 0 0;
    padding: 40px 20px;
    width: 100%;
  }
}
#business > section article div small {
  font-size: 18px;
  line-height: 1;
  margin: 0;
}
#business > section article div h2 {
  font-size: 25px;
  line-height: 1.5;
  margin: 15px 0 0;
}
#business > section article div p {
  font-size: 13px;
  line-height: 23px;
  margin: 40px 0 0;
}
@media only screen and (max-width: 840px) {
  #business > section article div p br {
    display: none;
  }
}
#business > section article div ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  margin: 40px 0 0;
}
#business > section article div ul li + li {
  margin: 5px 0 0;
}
#business > section article div ul li a {
  background: url(../img/business/icon.png) no-repeat right center;
  border: 2px solid #000;
  color: #000;
  display: inline-block;
  text-decoration: none;
  padding: 10px 40px 10px 20px;
}
#business > section article div ul li a:hover {
  background: #00155e;
  border: 2px solid #00155e;
  color: #fff;
}

/*****************************************************************

	/site/ config stylesheets

*****************************************************************/
#site #rightColm h2 {
  font-size: 22px;
}
#site #rightColm div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#site #rightColm div a {
  border: 1px solid #ccc;
  margin: 10px 0 0;
  overflow: hidden;
  width: calc((100% - 10px) / 2);
}
#site #rightColm div a b {
  display: none;
}
#site #rightColm div + h2 {
  margin: 40px 0 0;
}

/*****************************************************************

	/recruit/ stylesheets

*****************************************************************/
#recruit #rightColm ul._link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 60px 0;
}
#recruit #rightColm ul._link li {
  width: calc((100% - 20px) / 2);
}
#recruit #rightColm ul._link li img {
  opacity: 1 !important;
  width: 100%;
}
#recruit #rightColm ul._link li:first-of-type img:hover {
  content: url(/img/recruit/recruit_01a_on.gif);
}
#recruit #rightColm ul._link li:last-of-type img:hover {
  content: url(/img/recruit/recruit_01b_on.gif);
}
#recruit #rightColm ul._topics {
  border-top: 2px solid #000;
}
#recruit #rightColm ul._topics li {
  border-bottom: 2px solid #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  line-height: 19px;
  padding: 8px 0;
}
#recruit #rightColm ul._topics li b {
  width: 120px;
}
#recruit #rightColm ul._topics li a {
  color: #000;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-decoration: none;
}

/*****************************************************************

	/recruit/career/ stylesheets

*****************************************************************/
#career #rightColm ._list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#career #rightColm ._list li a {
  border: 2px solid #000;
  color: #000;
  display: block;
  font-weight: bold;
  padding: 10px;
  text-align: center;
  text-decoration: none;
}
#career #rightColm ._list li a:hover {
  background: #00155e;
  border: 2px solid #00155e;
  color: #fff;
}
#career #rightColm ul:not(._list) {
  list-style: circle;
}
#career #rightColm ul:not(._list) li {
  margin-left: 1.5em;
}
#career #rightColm table {
  border-bottom: 2px solid #000;
}
#career #rightColm table th, #career #rightColm table td {
  vertical-align: top;
  padding: 12px;
  border-top: 2px solid #000;
}
#career #rightColm table th {
  width: 140px;
}

/*****************************************************************

	/inquiry/ stylesheets

*****************************************************************/
#inquiry #rightColm p {
  font-size: 13px;
  line-height: 21px;
}
#inquiry #rightColm table {
  border-bottom: 2px solid #000;
  font-size: 13px;
  line-height: 27px;
  width: 100%;
}
#inquiry #rightColm table th, #inquiry #rightColm table td {
  border-top: 2px solid #000;
  padding: 12px 0;
  position: relative;
  vertical-align: top;
}
#inquiry #rightColm table th {
  font-weight: bold;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-right: 10px;
}
#inquiry #rightColm table td input[type=text], #inquiry #rightColm table td textarea, #inquiry #rightColm table td select {
  border: 2px solid #cc;
  padding: 8px;
  outline: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
#inquiry #rightColm table td input[type=text]:focus, #inquiry #rightColm table td textarea:focus, #inquiry #rightColm table td select:focus {
  border: 2px solid #0049ac;
}
#inquiry #rightColm table td select {
  height: 33px;
  margin-bottom: 3px;
}
@media only screen and (max-width: 470px) {
  #inquiry #rightColm table, #inquiry #rightColm table tbody, #inquiry #rightColm table tr, #inquiry #rightColm table th, #inquiry #rightColm table td {
    display: block;
    width: auto !important;
  }
  #inquiry #rightColm table td {
    border-top: none;
    padding: 0 0 12px;
  }
}
#inquiry #rightColm .submit {
  padding: 20px;
  text-align: center;
}
#inquiry #rightColm .submit input {
  cursor: pointer;
  padding: 12px 20px;
}
#inquiry #rightColm .confirm td {
  padding-left: 30px;
}

/*****************************************************************

	/sorry/ stylesheets

*****************************************************************/
#sorry {
  margin: 3rem 0 4rem;
}
#sorry > section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: center;
  padding: 5px;
}
#sorry > section h1 {
  font-size: 30px;
  color: #00155f;
  margin: 0 1rem 1rem;
}
#sorry > section h1 + p {
  font-size: 16px;
  margin: 0 1rem 3em;
}
#sorry + footer {
  border: none;
}
@media only screen and (max-width: 480px) {
  #sorry > section h1 {
    font-size: 20px;
  }
}

/*****************************************************************

	layout config stylesheets

*****************************************************************/
#wrapper {
  background: #344f78 linear-gradient(45deg, #9b9fb1 0%, #344f78 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#9b9fb1", endColorstr="#344f78",GradientType=1);
  padding: 60px 0;
  position: relative;
}
#wrapper section {
  margin: 0 auto;
  width: 1020px;
}
@media only screen and (max-width: 1040px) {
  #wrapper {
    padding: 60px 10px;
  }
  #wrapper section {
    width: auto;
  }
}
@media only screen and (max-width: 960px) {
  #wrapper {
    padding: 60px 0 0;
  }
}

#mainColm, #mainColm_ {
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  float: right;
  padding: 40px;
  width: 700px;
}
@media only screen and (max-width: 1040px) {
  #mainColm, #mainColm_ {
    float: none;
    margin-left: 320px;
    width: auto;
  }
}
@media only screen and (max-width: 960px) {
  #mainColm, #mainColm_ {
    margin: 0;
  }
}
@media only screen and (max-width: 680px) {
  #mainColm, #mainColm_ {
    padding: 20px 10px;
  }
}
#mainColm h2, #mainColm_ h2 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 0.5em;
}
#mainColm h3, #mainColm_ h3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 0.5em;
  margin-top: 1em;
}

#mainColm p + p {
  margin-bottom: 1em;
}

/*****************************************************************

	/news/ stylesheets

*****************************************************************/
#news #rightColm h2 {
  line-height: 1.4;
  margin-top: 40px;
}
#news #rightColm h3 {
  font-weight: bold;
  font-size: 1.2em;
  margin-top: 20px;
}
#news #rightColm ul {
  border-bottom: 2px solid #000;
}
#news #rightColm ul li {
  border-top: 2px solid #000;
  font-size: 13px;
  line-height: 15px;
  font-weight: bold;
  padding: 8px 0;
  position: relative;
}
#news #rightColm ul li span {
  position: absolute;
}
#news #rightColm ul li time {
  display: inline-block;
  width: 70px;
}
#news #rightColm ul li i {
  display: inline-block;
  font-size: 10px;
  font-style: normal;
  font-weight: bold;
  padding: 2px 0;
  position: relative;
  top: -2px;
  text-align: center;
  width: 90px;
}
#news #rightColm ul li a {
  color: #000;
  display: block;
  margin-left: 180px;
  text-decoration: none;
  text-align: justify;
}
#news #rightColm ul li a:hover {
  text-decoration: underline;
}
@media only screen and (max-width: 680px) {
  #news #rightColm ul li span {
    position: relative;
  }
  #news #rightColm ul li time {
    width: 100px;
  }
  #news #rightColm ul li a {
    margin-left: 0;
  }
}
#news #rightColm .title {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
#news #rightColm p {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 1em;
}
#news #rightColm .companyinfo {
  background: #deebf7;
  margin-top: 40px;
  padding: 5px;
}

.topics {
  background: #A4C78B;
}

.press {
  background: #94C0EC;
}

.media {
  background: #A385C2;
}

.products {
  background: #EE9C9C;
}

.bute {
  padding: 20px 0 0;
}
.bute a, .bute span {
  color: #000;
  display: block;
  float: left;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  padding: 0 5px;
  text-decoration: none;
}

.news p img {
  width: 100%;
}

.postStyle table {
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  margin-bottom: 25px;
}
.postStyle table th {
  background: #f2f2f2;
  white-space: nowrap;
}
.postStyle table th, .postStyle table td {
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  padding: 6px;
}
.postStyle .t_right {
  text-align: right;
}
.postStyle .t_center {
  text-align: center;
}
.postStyle strong {
  font-weight: bold;
}
.postStyle p {
  margin-bottom: 12px;
}

/*****************************************************************

	english config stylesheets

*****************************************************************/
.english {
  font-family: "Arial", "Helvetica", "sans-serif";
}
.english table {
  border-bottom: 2px solid #000;
  font-size: 13px;
  line-height: 27px;
  width: 100%;
}
.english table th, .english table td {
  border-top: 2px solid #000;
  padding: 12px 0;
  position: relative;
  vertical-align: top;
}
.english table th {
  font-weight: bold;
  width: 120px;
}
.english p {
  font-size: 13px;
  line-height: 21px;
}

.english_02 table {
  border-bottom: 2px solid #000;
  font-size: 13px;
  line-height: 27px;
  width: 100%;
}
.english_02 table th, .english_02 table td {
  border-top: 2px solid #000;
  padding: 12px 0;
  position: relative;
  vertical-align: top;
}
.english_02 table th {
  font-weight: bold;
  width: 160px;
}
.english_02 table td input, .english_02 table td textarea {
  border: 2px solid #ccc;
  outline: none;
  padding: 8px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.english_02 table td input:focus, .english_02 table td textarea:focus {
  border: 2px solid #0049ac;
}
@media only screen and (max-width: 470px) {
  .english_02 table, .english_02 table tbody, .english_02 table tr, .english_02 table th, .english_02 table td {
    display: block;
    width: auto !important;
  }
  .english_02 table td {
    border-top: none;
    padding: 0 0 12px;
  }
}
.english_02 p {
  font-size: 13px;
  line-height: 21px;
}
.english_02 b {
  color: #f00;
}
.english_02 .submit {
  padding: 20px;
  text-align: center;
  cursor: pointer;
  padding: 12px 20px;
}

/*****************************************************************

	site config stylesheets

*****************************************************************/
.site a {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #CCC;
  width: 49%;
  overflow: hidden;
  margin-bottom: 25px;
  float: left;
}

.site a:hover {
  -ms-filter: "alpha(opacity=60)";
  filter: alpha(opacity=60);
  opacity: 0.6;
  border: 1px solid #00155E;
}

.site a:nth-child(even) {
  float: right;
}

.site img {
  height: 100px;
  width: 100%;
  vertical-align: top;
}

.site b {
  display: none;
  font-size: 14px;
  line-height: 35px;
  padding: 0 20px;
}

.site h2 {
  clear: both;
}

@media only screen and (max-width: 960px) {
  .site img {
    width: 100%;
    height: auto;
  }
}
@media only screen and (max-width: 768px) {
  .site a {
    float: none;
    width: 100%;
  }

  .site img {
    width: 100%;
    height: auto;
  }
}
@media only screen and (max-width: 680px) {
  .recruit_01 li, .recruit_01 ol {
    float: none;
    max-width: 100%;
    text-align: center;
  }

  .recruit_02 {
    padding: 0 0 60px;
  }
}
@media only screen and (max-width: 470px) {
  .company_01 table, .company_01 tbody, .company_01 tr, .company_01 th, .company_01 td {
    display: block;
    width: auto !important;
    border: none;
  }

  .company_01 th {
    background: #999;
    color: #FFF;
    padding: 12px 20px;
  }

  .company_01 td span {
    margin: 0;
  }

  .company_01 td p {
    position: inherit;
    float: right;
    margin: 0 -10px 0 0;
    top: 0;
  }

  .company_01 td.build span {
    margin: 0;
  }

  .company_01 td.build p {
    margin: 0 -10px 0 0;
  }

  .notFloat p {
    float: none !important;
    width: 100% !important;
  }

  .thumbs a {
    width: 100%;
    float: none;
  }

  .thumbs a img {
    width: 100%;
  }

  .recruit_01 li, .recruit_01 ol {
    max-width: 100%;
  }

  .recruit_02 li b {
    position: relative;
    display: block;
    margin-bottom: 12px;
  }

  .recruit_02 li a {
    margin: 0;
  }

  .recruit_03 table, .recruit_03 tbody, .recruit_03 tr, .recruit_03 th, .recruit_03 td {
    display: block;
    width: auto !important;
  }

  .recruit_03 td {
    border-top: none;
    padding: 0 0 12px;
  }
}