@charset "UTF-8";
/* s5 reset */
.s5-container {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.s5-returnToTop {
  margin-top: 0;
}

body {
  background: #fff;
  color: #2f353d;
  font-family: メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}

.industry {
  display: block;
  /*
  html5doctor.com Reset Stylesheet
  v1.6.1
  Last Updated: 2010-09-17
  Author: Richard Clark - http://richclarkdesign.com
  Twitter: @rich_clark
  */
  /* change colours to suit your needs */
  /* change colours to suit your needs */
  /* change border colour to suit your needs */
  /* 独自リセット */
  /*
  module
  */
  /*
  shared style
  */
}

.industry div,
.industry span,
.industry object,
.industry iframe,
.industry h1,
.industry h2,
.industry h3,
.industry h4,
.industry h5,
.industry h6,
.industry p,
.industry blockquote,
.industry pre,
.industry abbr,
.industry address,
.industry cite,
.industry code,
.industry del,
.industry dfn,
.industry em,
.industry img,
.industry ins,
.industry kbd,
.industry q,
.industry samp,
.industry small,
.industry strong,
.industry sub,
.industry sup,
.industry var,
.industry b,
.industry i,
.industry dl,
.industry dt,
.industry dd,
.industry ol,
.industry ul,
.industry li,
.industry fieldset,
.industry form,
.industry label,
.industry legend,
.industry table,
.industry caption,
.industry tbody,
.industry tfoot,
.industry thead,
.industry tr,
.industry th,
.industry td,
.industry article,
.industry aside,
.industry canvas,
.industry details,
.industry figcaption,
.industry figure,
.industry footer,
.industry header,
.industry hgroup,
.industry menu,
.industry nav,
.industry section,
.industry summary,
.industry time,
.industry mark,
.industry audio,
.industry video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  line-height: 1;
}

.industry article,
.industry aside,
.industry details,
.industry figcaption,
.industry figure,
.industry footer,
.industry header,
.industry hgroup,
.industry menu,
.industry nav,
.industry section {
  display: block;
}

.industry nav ul {
  list-style: none;
}

.industry blockquote,
.industry q {
  quotes: none;
}

.industry blockquote:before,
.industry blockquote:after,
.industry q:before,
.industry q:after {
  content: "";
  content: none;
}

.industry a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

.industry ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

.industry mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

.industry del {
  text-decoration: line-through;
}

.industry abbr[title],
.industry dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

.industry table {
  border-collapse: collapse;
  border-spacing: 0;
}

.industry hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

.industry input,
.industry select {
  vertical-align: middle;
}

.industry img,
.industry video {
  vertical-align: top;
}

.industry button {
  border: 0;
  padding: 0;
  background: transparent;
}

.industry ul {
  list-style: none;
}

.industry a {
  color: inherit;
  text-decoration: none;
}

.industry *,
.industry *::before,
.industry *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.industry sup {
  font-size: 0.6em;
  vertical-align: super;
}

.industry .mod-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
}

.industry .mod-inner {
  margin: 0 auto;
  padding: 0 20px;
  padding: 0 5.33333vw;
}

@media screen and (min-width: 1025px) {
  .industry .mod-inner {
    padding-left: 0;
    padding-right: 0;
    width: 1200px;
    width: 75vw;
  }
}
@media screen and (min-width: 1600px) {
  .industry .mod-inner {
    width: 1200px;
  }
}
.industry .mod-imgbox img {
  max-width: 100%;
  width: 100%;
}

.industry .mod-section {
  padding-top: 60px;
  padding-top: 16vw;
  padding-bottom: 60px;
  padding-bottom: 16vw;
}

@media screen and (min-width: 640px) {
  .industry .mod-section {
    padding-top: 100px;
    padding-top: 9.76562vw;
    padding-bottom: 100px;
    padding-bottom: 9.76562vw;
  }
}
@media screen and (min-width: 1025px) {
  .industry .mod-section {
    padding-top: 100px;
    padding-top: 6.25vw;
    padding-bottom: 100px;
    padding-bottom: 6.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .industry .mod-section {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}
.industry .mod-section-title {
  text-align: center;
  font-weight: normal;
  line-height: 1.35714;
  font-size: 20px;
  font-size: 5.33333vw;
}

@media screen and (min-width: 640px) {
  .industry .mod-section-title {
    font-size: 28px;
    font-size: 2.73438vw;
  }
}
@media screen and (min-width: 1025px) {
  .industry .mod-section-title {
    font-size: 28px;
    font-size: 1.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .industry .mod-section-title {
    font-size: 28px;
    font-size: 1.75rem;
  }
}
.industry .mod-text {
  font-size: 13px;
  font-size: 3.46667vw;
  line-height: 1.69231;
}

@media screen and (min-width: 640px) {
  .industry .mod-text {
    font-size: 16px;
    font-size: 1.5625vw;
  }
}
@media screen and (min-width: 1025px) {
  .industry .mod-text {
    font-size: 16px;
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .industry .mod-text {
    font-size: 16px;
    font-size: 1rem;
  }
}
.industry .pc {
  display: none;
}

@media screen and (min-width: 640px) {
  .industry .pc {
    display: block;
  }
}
.industry .sp {
  display: block;
}

@media screen and (min-width: 640px) {
  .industry .sp {
    display: none;
  }
}
.industry br.bsp {
  display: inline-block;
}

@media screen and (min-width: 640px) {
  .industry br.bsp {
    display: none;
  }
}
.industry br.btab {
  display: inline-block;
}

@media screen and (min-width: 1025px) {
  .industry br.btab {
    display: none;
  }
}
.industry br.nbsp {
  display: none;
}

@media screen and (min-width: 640px) {
  .industry br.nbsp {
    display: inline-block;
  }
}
.industry br.nbtab {
  display: none;
}

@media screen and (min-width: 1025px) {
  .industry br.nbtab {
    display: inline-block;
  }
}
.industry .bg-gray {
  background: #f0f2f4;
}

.industry .bg-white {
  background: #fff;
}

.industry .color-white {
  color: #fff;
}

@media screen and (min-width: 640px) {
  .industry .pc-color-white {
    color: #fff;
  }
}
.industry .icn-window {
  vertical-align: middle;
  margin-left: 0.5em;
}

.industry .content-footer-btns {
  padding: 60px 10px;
}
@media screen and (min-width: 640px) {
  .industry .content-footer-btns {
    padding: 80px 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.industry .content-footer-btn-l {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 580px;
  background: #2f353d;
  color: #fff;
  -webkit-transition: 0.32s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: 0.32s cubic-bezier(0.165, 0.84, 0.44, 1);
  border-radius: 6px;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  padding: 0 25px;
  height: 58px;
}
@media screen and (min-width: 640px) {
  .industry .content-footer-btn-l {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 43.1034482759%;
  }
}
@media screen and (min-width: 1025px) {
  .industry .content-footer-btn-l {
    font-size: 24px;
    font-size: 1.5rem;
    height: 90px;
    padding: 0 30px;
    padding: 0 60px;
  }
}
.industry .content-footer-btn-l[target=_blank] {
  position: relative;
}
.industry .content-footer-btn-l[target=_blank]::before {
  content: "";
  position: absolute;
  display: block;
  width: 11px;
  height: 9px;
  background-image: url("../img/icon-window.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  top: 10px;
  right: 10px;
}
.industry .content-footer-btn-l:hover, .industry .content-footer-btn-l:focus {
  background: #000;
}
.industry .content-footer-btn-l:nth-of-type(n + 2) {
  margin-top: 15px;
}
@media screen and (min-width: 640px) {
  .industry .content-footer-btn-l:nth-of-type(n + 2) {
    margin-top: 0;
    margin-left: 20px;
  }
}
@media screen and (min-width: 1025px) {
  .industry .content-footer-btn-l:nth-of-type(n + 2) {
    margin-left: 40px;
  }
}
.industry .content-footer-btn-l:nth-of-type(1) span:nth-of-type(1) {
  width: 38px;
}
.industry .content-footer-btn-l span:nth-of-type(1) {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.industry .content-footer-btn-l span:nth-of-type(1) img {
  display: block;
  width: 100%;
  height: auto;
}
.industry .content-footer-btn-l span:nth-of-type(2) {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  text-align: center;
}
.industry .solution {
  padding-top: 60px;
  padding-top: 16vw;
  padding-bottom: 40px;
  padding-bottom: 10.6666666667vw;
}
@media screen and (min-width: 640px) {
  .industry .solution {
    padding: 80px 0 50px;
  }
}
.industry .solution-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 40px;
  margin-top: 10.6666666667vw;
}
@media screen and (min-width: 640px) {
  .industry .solution-list {
    margin-top: 60px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.industry .solution-item {
  width: 100%;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.industry .solution-item:nth-of-type(n + 2) {
  margin-top: 10px;
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 640px) {
  .industry .solution-item {
    width: calc((100% - 48px) / 3);
    margin-left: 24px;
  }
  .industry .solution-item:nth-of-type(n + 2) {
    margin-top: 0;
  }
  .industry .solution-item:nth-of-type(3n + 1) {
    margin-left: 0;
  }
  .industry .solution-item:nth-of-type(n + 4) {
    margin-top: 10px;
  }
}
.industry .solution-link {
  display: block;
}
.industry .solution-link:hover .imgbox img, .industry .solution-link:focus .imgbox img {
  opacity: 0.7;
}
.industry .solution .imgbox {
  background: #fff;
}
.industry .solution .imgbox img {
  -webkit-transition: 0.32s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: 0.32s cubic-bezier(0.165, 0.84, 0.44, 1);
  width: 100%;
  height: auto;
}
.industry .solution .textbox {
  text-align: center;
  padding: 25px 0;
  padding: 6.6666666667vw 0;
}
@media screen and (min-width: 640px) {
  .industry .solution .textbox {
    padding: 25px 0;
  }
}
.industry .solution-title {
  font-weight: 400;
  line-height: 1.5;
  font-size: 14px;
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 640px) {
  .industry .solution-title {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.industry .solution + .related {
  margin-top: 2px;
}