@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
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;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

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;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* Stylesheet */
html {
  width: 100%;
  height: auto;
  font-size: 62.5%;
  background-color: #fff;
}

body {
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 400;
  color: #000;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  -webkit-text-size-adjust: 100%;
  position: relative;
}
@media only screen and (max-width: 1180px) {
  body {
    font-size: 1.5rem;
    line-height: 2.6rem;
  }
}
@media only screen and (max-width: 750px) {
  body {
    font-size: 1.4rem;
    line-height: 2.6rem;
  }
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  vertical-align: top;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  outline: none;
}

div {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  -webkit-font-smoothing: antialiased;
  font-weight: normal;
}

h1, h2, h3, h4, h5, h6, p, ul, ol, li {
  margin: 0;
  padding: 0;
  list-style: none;
}

a, a i {
  text-decoration: none;
  outline: none;
  color: #000;
  -webkit-transition: background 0.25s, color 0.25s, opacity 0.25s;
  transition: background 0.25s, color 0.25s, opacity 0.25s;
}

a img {
  display: block;
  outline: none;
}

a:hover img {
  opacity: 1 !important;
}

a:focus, a:active, input, textarea {
  outline: none;
}

a:hover, a:hover img, a:hover {
  opacity: 0.8;
}

.link-sp {
  pointer-events: none;
}

.anchor {
  display: block;
  position: relative;
  top: -220px;
  visibility: hidden;
}
@media only screen and (max-width: 1180px) {
  .anchor {
    top: -110px;
  }
}
@media only screen and (max-width: 750px) {
  .anchor {
    top: -100px;
  }
}

.fw100-thin {
  font-weight: 100;
}

.fw200-extra-light {
  font-weight: 200;
}

.fw300-light {
  font-weight: 300;
}

.fw400-regular {
  font-weight: 400;
}

.fw500-medium {
  font-weight: 500;
}

.fw600-semi-bold {
  font-weight: 600;
}

.fw700-bold {
  font-weight: 700;
}

.fw700-extra-bold {
  font-weight: 800;
}

.fw900-black {
  font-weight: 900;
}

strong {
  font-weight: 700;
}

.active-mn-00 .mn-00::before,
.active-mn-01 .mn-01::before,
.active-mn-02 .mn-02::before,
.active-mn-03 .mn-03::before,
.active-mn-04 .mn-04::before,
.active-mn-05 .mn-05::before,
.active-mn-06 .mn-06::before {
  opacity: 1 !important;
}

/* Header */
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 13;
  width: 100%;
  background-color: #fff;
}
@media only screen and (max-width: 1180px) {
  header {
    position: fixed;
  }
}
header .header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 90px;
  padding-left: 40px;
  padding-right: 40px;
  position: relative;
  z-index: 12;
}
@media only screen and (max-width: 1180px) {
  header .header {
    height: 80px;
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media only screen and (max-width: 750px) {
  header .header {
    height: 70px;
  }
}
header .header .header-left a {
  display: block;
}
@media only screen and (max-width: 750px) {
  header .header .header-left a {
    width: 225px;
  }
}
header .header .header-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
}
header .header .header-right .menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
}
@media only screen and (max-width: 1180px) {
  header .header .header-right .menu {
    display: none;
  }
}
header .header .header-right .menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
}
header .header .header-right .menu ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
}
header .header .header-right .menu ul li + li {
  margin-left: 30px;
}
@media only screen and (max-width: 1260px) {
  header .header .header-right .menu ul li + li {
    margin-left: 20px;
  }
}
header .header .header-right .menu ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 700;
  position: relative;
}
header .header .header-right .menu ul li a::before {
  opacity: 0;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 9;
  width: 100%;
  height: 4px;
  background-color: #0A50A1;
}
header .header .header-right .lang {
  position: relative;
  margin-left: 30px;
}
@media only screen and (max-width: 1260px) {
  header .header .header-right .lang {
    margin-left: 20px;
  }
}
@media only screen and (max-width: 1180px) {
  header .header .header-right .lang {
    display: none;
  }
}
header .header .header-right .lang .lang-switch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.2rem;
  line-height: 1.2rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
header .header .header-right .lang .lang-switch span {
  margin-right: 7px;
}
header .header .header-right .lang .lang-content {
  display: none;
  position: absolute;
  top: 25px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 15px 0;
  z-index: 8;
  background-color: #fff;
  border-radius: 10px;
}
header .header .header-right .lang .lang-content ul li + li {
  margin-top: 10px;
}
header .header .header-right .lang .lang-content ul li a {
  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;
  height: 20px;
  font-size: 1.2rem;
  line-height: 1.2rem;
  letter-spacing: 1px;
  font-weight: 700;
  text-transform: uppercase;
}
header .header .header-right .lang .lang-content ul li a.active {
  color: #0A50A1;
}
header .header .header-right .lang .lang-content ul li a span {
  margin-right: 7px;
}
header .header .header-right .burger {
  display: none;
  position: relative;
  z-index: 12;
}
@media only screen and (max-width: 1180px) {
  header .header .header-right .burger {
    display: block;
  }
}

.nav-icon {
  width: 36px;
  height: 26px;
  position: relative;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
  transition: 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
  cursor: pointer;
}

.nav-icon span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #000000;
  border-radius: 9px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
  transition: 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
}

.nav-icon span:nth-child(1) {
  top: 0px;
  -webkit-transform-origin: left center;
  transform-origin: left center;
}

.nav-icon span:nth-child(2) {
  top: 12px;
  -webkit-transform-origin: left center;
  transform-origin: left center;
}

.nav-icon span:nth-child(3) {
  top: 24px;
  -webkit-transform-origin: left center;
  transform-origin: left center;
}

.nav-icon.open span:nth-child(1) {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: -1px;
  left: 5px;
}

.nav-icon.open span:nth-child(2) {
  width: 0%;
  opacity: 0;
}

.nav-icon.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 24px;
  left: 5px;
}

.menu-responsive {
  position: fixed;
  top: 0;
  right: -325px;
  z-index: 11;
  width: 100%;
  max-width: 325px;
  height: 100vh;
  background-color: #fff;
  padding-top: 70px;
  -webkit-transition: all 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
  transition: all 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
}
.menu-responsive.active {
  right: 0;
}
.menu-responsive .menu {
  border-top: 1px solid #EDEDED;
}
.menu-responsive .menu ul li {
  border-bottom: 1px solid #EDEDED;
}
.menu-responsive .menu ul li a {
  width: 100%;
  display: block;
  padding: 20px 0;
  font-size: 2rem;
  line-height: 2rem;
  font-weight: 700;
  text-align: center;
}
.menu-responsive .lang {
  margin: 25px 30px 0 30px;
}
.menu-responsive .lang ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.menu-responsive .lang ul li {
  width: 31.33%;
}
.menu-responsive .lang ul li a {
  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;
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.6rem;
  font-weight: 700;
}
.menu-responsive .lang ul li a span {
  margin-right: 7px;
}
.menu-responsive .lang ul li a.current {
  color: #0A50A1;
}
.menu-responsive .social {
  margin: 25px 30px 30px 30px;
}
.menu-responsive .social a {
  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;
  width: 100%;
  height: 60px;
  font-size: 1.6rem;
  line-height: 1.6rem;
  font-weight: 700;
  color: #fff;
  background-color: #0A50A1;
}

/* Main */
main {
  position: relative;
  padding-top: 90px;
}
@media only screen and (max-width: 1180px) {
  main {
    padding-top: 80px;
  }
}
@media only screen and (max-width: 750px) {
  main {
    padding-top: 70px;
  }
}

.content-1366 {
  width: 100%;
  max-width: 1366px;
  margin-left: auto;
  margin-right: auto;
}

.content-1090 {
  width: 90%;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.pt0 {
  padding-top: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pad80100 {
  padding-top: 80px;
  padding-bottom: 100px;
}
@media only screen and (max-width: 750px) {
  .pad80100 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.pad100 {
  padding-top: 100px;
  padding-bottom: 100px;
}
@media only screen and (max-width: 750px) {
  .pad100 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.pad100130 {
  padding-top: 100px;
  padding-bottom: 130px;
}
@media only screen and (max-width: 750px) {
  .pad100130 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.pad100150 {
  padding-top: 100px;
  padding-bottom: 150px;
}
@media only screen and (max-width: 750px) {
  .pad100150 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.mb0 {
  margin-bottom: 0 !important;
}

.bg-grey {
  background-color: #F8F8F8 !important;
}

.btn-box {
  margin-top: 60px;
}
@media only screen and (max-width: 750px) {
  .btn-box {
    margin-top: 30px;
  }
}

.btn {
  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;
  width: 100%;
  height: 60px;
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 700;
}

.btn-arrow-right {
  background-image: url("/assets/images/commons/btn-arrow-right.svg");
  background-repeat: no-repeat;
  background-position: center right 20px;
  background-size: 26px;
}

.btn-white {
  border: 2px solid #0A50A1;
  color: #0A50A1;
  background-color: #fff;
}

.btn-280 {
  width: 100%;
  max-width: 280px;
}

.btn-page {
  margin-top: 50px;
}
.btn-page ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.btn-page ul li {
  margin: 0 3px;
}
.btn-page ul li.arrow a img {
  width: 100%;
  height: auto;
}
.btn-page ul li a {
  width: 32px;
  height: 32px;
  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;
  font-size: 1.4rem;
  line-height: 1.4rem;
  background-color: #fff;
  border: 1px solid #0A50A1;
}
.btn-page ul li a.current {
  color: #fff;
  background-color: #0A50A1;
}

.vector-3dots {
  position: absolute;
  bottom: -28px;
  right: 0;
  z-index: 9;
  width: 188px;
  height: 56px;
  background-image: url("/assets/images/commons/vector-3dots.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 188px;
}
@media only screen and (max-width: 750px) {
  .vector-3dots {
    width: 100px;
    height: 29px;
    background-size: 100px;
    bottom: -15px;
  }
}

.txthead-box {
  margin-bottom: 35px;
}
@media only screen and (max-width: 750px) {
  .txthead-box {
    margin-bottom: 20px;
  }
}
.txthead-box .fz30 {
  font-size: 3rem;
  line-height: 4rem;
  font-weight: 700;
}
@media only screen and (max-width: 1180px) {
  .txthead-box .fz30 {
    font-size: 2.6rem;
    line-height: 3.6rem;
  }
}
@media only screen and (max-width: 750px) {
  .txthead-box .fz30 {
    font-size: 2.2rem;
    line-height: 3.2rem;
  }
}
.txthead-box.center {
  text-align: center;
}

.color-white {
  color: #fff !important;
}

/* MV */
#mv {
  position: relative;
}
#mv .scrolldown {
  position: absolute;
  right: 0;
  bottom: -142px;
  z-index: 10;
}
#mv .scrolldown .rea {
  position: relative;
}
#mv .scrolldown .rea::before {
  content: "";
  width: 11px;
  height: 11px;
  position: absolute;
  top: 55%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border: 2px solid #fff;
  border-radius: 50%;
  opacity: 1;
  animation: wheel 3s infinite;
  -webkit-animation: wheel 3s infinite;
}
#mv .mv-hidden {
  overflow: hidden;
}
#mv .mv-hidden .mv {
  position: relative;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  -webkit-transition: all 1500ms cubic-bezier(0.295, 0.03, 0.115, 1);
  transition: all 1500ms cubic-bezier(0.295, 0.03, 0.115, 1);
  opacity: 0;
}
#mv .mv-hidden .mv.zoom-out {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}
#mv .mv-hidden .mv .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  padding: 1rem 0;
  list-style-type: none;
  position: absolute;
  z-index: 9;
  right: 0%;
  bottom: 3%;
  -webkit-transform: translate(-90%, 0);
          transform: translate(-90%, 0);
}
@media only screen and (max-width: 750px) {
  #mv .mv-hidden .mv .slick-dots {
    right: 0%;
    bottom: 0.6%;
    -webkit-transform: translate(-65%, 0);
            transform: translate(-65%, 0);
  }
}
#mv .mv-hidden .mv .slick-dots li {
  margin: 0 0.3rem;
}
@media only screen and (max-width: 750px) {
  #mv .mv-hidden .mv .slick-dots li {
    margin: 0 0.4rem;
  }
}
#mv .mv-hidden .mv .slick-dots button {
  display: block;
  width: 14px;
  height: 14px;
  padding: 0;
  border: none;
  border-radius: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  text-indent: -9999px;
}
@media only screen and (max-width: 750px) {
  #mv .mv-hidden .mv .slick-dots button {
    width: 12px;
    height: 12px;
  }
}
#mv .mv-hidden .mv .slick-dots li.slick-active button {
  background-color: #0A50A1;
}
#mv .mv-hidden .mv .mv-text {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 8;
  width: 88.43%;
  padding: 25px 40px;
  background: rgba(0, 40, 86, 0.9);
  background: -webkit-gradient(left top, right top, color-stop(0%, rgba(0, 40, 86, 0.9)), color-stop(100%, rgba(10, 80, 161, 0)));
  background: -webkit-gradient(linear, left top, right top, from(rgba(0, 40, 86, 0.9)), to(rgba(10, 80, 161, 0)));
  background: linear-gradient(to right, rgba(0, 40, 86, 0.9) 0%, rgba(10, 80, 161, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#002856", endColorstr="#0a50a1", GradientType=1 );
  color: #fff;
}
@media only screen and (max-width: 750px) {
  #mv .mv-hidden .mv .mv-text {
    width: 100%;
    padding: 20px 73px 30px 5%;
  }
}
#mv .mv-hidden .mv .mv-text h1 {
  font-size: 2.8rem;
  line-height: 3.8rem;
  font-weight: 700;
  margin-bottom: 10px;
}
@media only screen and (max-width: 1180px) {
  #mv .mv-hidden .mv .mv-text h1 {
    font-size: 2.6rem;
    line-height: 3.6rem;
  }
}
@media only screen and (max-width: 750px) {
  #mv .mv-hidden .mv .mv-text h1 {
    font-size: 1.5rem;
    line-height: 2.6rem;
    margin-bottom: 5px;
  }
}
#mv .mv-hidden .mv .mv-text p {
  font-size: 1.8rem;
  line-height: 3.4rem;
}
@media only screen and (max-width: 1180px) {
  #mv .mv-hidden .mv .mv-text p {
    font-size: 1.6rem;
    line-height: 3.2rem;
  }
}
@media only screen and (max-width: 750px) {
  #mv .mv-hidden .mv .mv-text p {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
}
#mv .mv-hidden .mv .mv-slick .item .mv-img {
  min-height: 610px;
  height: 610px;
}
@media only screen and (max-width: 750px) {
  #mv .mv-hidden .mv .mv-slick .item .mv-img {
    min-height: 390px;
    height: 390px;
  }
}
#mv .mv-hidden .mv .mv-slick .item .mv-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

@keyframes wheel {
  to {
    opacity: 0;
    top: 90%;
  }
}
@-webkit-keyframes wheel {
  to {
    opacity: 0;
    top: 90px;
  }
}
.slick-slide > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* About */
#about {
  position: relative;
}
#about::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 8;
  width: 58%;
  height: 79%;
  background-color: #F5F5F5;
}
@media only screen and (max-width: 750px) {
  #about::after {
    width: 95%;
    height: 100%;
  }
}
#about .about {
  position: relative;
  z-index: 9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  padding-bottom: 120px;
}
@media only screen and (max-width: 834px) {
  #about .about {
    padding-bottom: 100px;
  }
}
@media only screen and (max-width: 750px) {
  #about .about {
    display: block;
    padding-bottom: 80px;
  }
}
#about .about .about-img {
  position: relative;
  z-index: 9;
  width: 50%;
}
@media only screen and (max-width: 750px) {
  #about .about .about-img {
    width: 100%;
  }
}
#about .about .about-img img {
  width: 100%;
  min-height: 558px;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (max-width: 750px) {
  #about .about .about-img img {
    min-height: auto;
  }
}
#about .about .about-text {
  position: relative;
  z-index: 9;
  width: 50%;
  padding-top: 35px;
  padding-left: 35px;
  padding-right: 10%;
  background-color: #F5F5F5;
}
@media only screen and (max-width: 1180px) {
  #about .about .about-text {
    padding-right: 5%;
  }
}
@media only screen and (max-width: 750px) {
  #about .about .about-text {
    width: 100%;
    padding-left: 12.5%;
    padding-right: 5%;
    background-color: transparent;
  }
}
#about .about .about-text.en {
  padding-right: 5%;
}
#about .about .about-text p {
  line-height: 3rem;
}
@media only screen and (max-width: 750px) {
  #about .about .about-text p {
    line-height: 2.6rem;
  }
}
#about .about .vector-3dots {
  right: 14%;
}
@media only screen and (max-width: 1260px) {
  #about .about .vector-3dots {
    right: 12%;
  }
}
@media only screen and (max-width: 1180px) {
  #about .about .vector-3dots {
    right: 5%;
  }
}

/* Products */
#products {
  position: relative;
}
#products::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 8;
  width: 42%;
  height: 100%;
  background-color: #0A50A1;
}
@media only screen and (max-width: 750px) {
  #products::after {
    width: 60%;
  }
}
#products .products {
  position: relative;
  padding-top: 60px;
  padding-bottom: 80px;
  z-index: 9;
}
#products .products .products-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (max-width: 750px) {
  #products .products .products-list ul {
    display: block;
  }
}
#products .products .products-list ul li {
  width: 50%;
  background-color: #fff;
}
@media only screen and (max-width: 750px) {
  #products .products .products-list ul li {
    width: 100%;
  }
}
@media only screen and (max-width: 750px) {
  #products .products .products-list ul li:nth-child(even) a {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }
}
@media only screen and (max-width: 750px) {
  #products .products .products-list ul li:nth-child(even) a .img::before {
    left: -4px !important;
    right: inherit !important;
    background-image: url("/assets/images/top/polygon-right.svg") !important;
  }
}
#products .products .products-list ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#products .products .products-list ul li a.flip {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
@media only screen and (max-width: 750px) {
  #products .products .products-list ul li a.flip {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}
#products .products .products-list ul li a.flip .img::before {
  left: -4px;
  right: inherit;
  background-image: url("/assets/images/top/polygon-right.svg");
}
@media only screen and (max-width: 750px) {
  #products .products .products-list ul li a.flip .img::before {
    background-image: url("/assets/images/top/polygon-left.svg");
    right: -4px;
    left: inherit;
  }
}
#products .products .products-list ul li a:hover {
  opacity: 1;
}
#products .products .products-list ul li a:hover .img img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
#products .products .products-list ul li a .img {
  width: 50%;
  position: relative;
  overflow: hidden;
}
#products .products .products-list ul li a .img::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -4px;
  z-index: 8;
  width: 14px;
  height: 37px;
  margin-top: auto;
  margin-bottom: auto;
  background-image: url("/assets/images/top/polygon-left.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
}
#products .products .products-list ul li a .img img {
  width: 100%;
  height: 240px;
  min-height: 240px;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media only screen and (max-width: 750px) {
  #products .products .products-list ul li a .img img {
    height: auto;
    min-height: auto;
  }
}
#products .products .products-list ul li a .text {
  width: 50%;
  padding: 30px 30px;
  background-image: url("/assets/images/commons/btn-arrow-right.svg");
  background-repeat: no-repeat;
  background-position: bottom 40px right 35px;
  background-size: 26px;
}
@media only screen and (max-width: 834px) {
  #products .products .products-list ul li a .text {
    padding: 25px 25px;
    background-position: bottom 25px right 25px;
  }
}
@media only screen and (max-width: 750px) {
  #products .products .products-list ul li a .text {
    padding: 20px;
  }
}
#products .products .products-list ul li a .text h3 {
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 700;
  margin-bottom: 15px;
}
@media only screen and (max-width: 750px) {
  #products .products .products-list ul li a .text h3 {
    font-size: 1.8rem;
    line-height: 2.8rem;
    margin-bottom: 5px;
  }
}

/* Company */
#company {
  position: relative;
  background-color: #F0F0F0;
}
#company::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 8;
  width: 42%;
  height: 100%;
  background-color: #fff;
}
@media only screen and (max-width: 750px) {
  #company::before {
    width: 60%;
  }
}
#company::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 8;
  width: 100%;
  height: 144px;
  background-color: #F0F0F0;
}
#company .company {
  position: relative;
  padding-top: 60px;
  padding-bottom: 80px;
  z-index: 9;
}
@media only screen and (max-width: 750px) {
  #company .company {
    padding-bottom: 100px;
  }
}
#company .company .company-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (max-width: 750px) {
  #company .company .company-flex {
    display: block;
  }
}
#company .company .company-flex .text {
  width: 37.25%;
  padding-right: 40px;
}
@media only screen and (max-width: 1180px) {
  #company .company .company-flex .text {
    width: 41%;
    padding-right: 5%;
  }
}
@media only screen and (max-width: 750px) {
  #company .company .company-flex .text {
    width: 100%;
    padding-right: 0;
  }
}
#company .company .company-flex .text p {
  line-height: 3rem;
}
#company .company .company-flex .img {
  width: 62.75%;
  padding-left: 40px;
}
@media only screen and (max-width: 1180px) {
  #company .company .company-flex .img {
    width: 59%;
    padding-left: 5%;
  }
}
@media only screen and (max-width: 750px) {
  #company .company .company-flex .img {
    width: 100%;
    padding-left: 0;
    margin-top: 20px;
  }
}
#company .company .company-flex .img img {
  margin-left: auto;
}
#company .company .company-list {
  margin-top: 50px;
}
#company .company .company-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (max-width: 750px) {
  #company .company .company-list ul {
    margin-top: -5%;
  }
}
#company .company .company-list ul li {
  width: 23%;
  max-width: 250px;
  background-color: #fff;
}
@media only screen and (max-width: 750px) {
  #company .company .company-list ul li {
    width: 47.5%;
    max-width: auto;
    margin-top: 5%;
  }
}
#company .company .company-list ul li a {
  display: block;
}
#company .company .company-list ul li a:hover {
  opacity: 1;
}
#company .company .company-list ul li a:hover .cover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
#company .company .company-list ul li a .cover {
  overflow: hidden;
}
#company .company .company-list ul li a .cover img {
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
#company .company .company-list ul li a .topic {
  padding: 17px 15px;
}
@media only screen and (max-width: 834px) {
  #company .company .company-list ul li a .topic {
    padding: 17px 15px;
  }
}
@media only screen and (max-width: 750px) {
  #company .company .company-list ul li a .topic {
    padding: 15px;
  }
}
#company .company .company-list ul li a .topic h3 {
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 700;
  background-image: url("/assets/images/commons/btn-arrow-right.svg");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: 26px;
  text-align: center;
}
@media only screen and (max-width: 1180px) {
  #company .company .company-list ul li a .topic h3 {
    font-size: 1.8rem;
    line-height: 2.8rem;
  }
}
@media only screen and (max-width: 750px) {
  #company .company .company-list ul li a .topic h3 {
    font-size: 1.6rem;
    line-height: 2.6rem;
  }
}

/* Txthead */
#txthead {
  padding-top: 40px;
  padding-bottom: 40px;
  background-color: #F5F5F5;
}
#txthead.bg-white {
  padding-bottom: 20px;
  background-color: #fff;
}
#txthead.sticky-submn {
  padding-bottom: 0;
}
#txthead.sticky-submn .txthead h1 {
  margin-bottom: 0;
}
#txthead .txthead h1 {
  font-size: 2.6rem;
  line-height: 3.6rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 25px;
}

#sticky-submn {
  position: sticky;
  top: 90px;
  padding-top: 25px;
  padding-bottom: 40px;
  background-color: #F5F5F5;
  z-index: 12;
  -webkit-transition: all 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
  transition: all 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
}
@media only screen and (max-width: 1180px) {
  #sticky-submn {
    position: static;
  }
}
#sticky-submn.bg-white {
  background-color: #fff;
}
#sticky-submn + .equipment-content {
  padding-top: 40px !important;
}

.sticky-submn-resize #sticky-submn {
  padding-top: 20px;
  padding-bottom: 20px;
}
@media only screen and (max-width: 1180px) {
  .sticky-submn-resize #sticky-submn {
    padding-top: 25px;
    padding-bottom: 40px;
  }
}
.sticky-submn-resize #sticky-submn .sticky-submn .submn ul li a {
  height: 45px;
}
@media only screen and (max-width: 1180px) {
  .sticky-submn-resize #sticky-submn .sticky-submn .submn ul li a {
    height: 65px;
  }
}

/* Submn */
.submn ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media only screen and (max-width: 1180px) {
  .submn ul {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 474px;
    margin-top: -2.5%;
    margin-left: auto;
    margin-right: auto;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 750px) {
  .submn ul {
    display: block;
  }
}
.submn ul li {
  width: 25%;
  max-width: 225px;
}
@media only screen and (max-width: 1180px) {
  .submn ul li {
    width: 47.5%;
    margin-top: 5%;
  }
}
@media only screen and (max-width: 750px) {
  .submn ul li {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.5%;
  }
}
.submn ul li + li {
  margin-left: 20px;
}
@media only screen and (max-width: 1180px) {
  .submn ul li + li {
    margin-left: 0;
  }
}
@media only screen and (max-width: 750px) {
  .submn ul li + li {
    margin-left: auto;
  }
}
.submn ul li a {
  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;
  width: 100%;
  height: 65px;
  border: 2px solid #0A50A1;
  background-color: #fff;
  -webkit-transition: all 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
  transition: all 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
}
.submn ul li a .arrow {
  width: 50px;
  min-width: 50px;
  height: 38px;
  background-image: url("/assets/images/commons/submn-arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
  border-right: 1px solid #DEDEDE;
}
.submn ul li a p {
  width: 100%;
  font-size: 1.5rem;
  line-height: 2.5rem;
  font-weight: 700;
  text-align: center;
  padding-bottom: 3px;
}

/* Footer */
footer {
  position: relative;
  padding-top: 55px;
  padding-bottom: 60px;
  background-color: #0A50A1;
}
@media only screen and (max-width: 834px) {
  footer {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
@media only screen and (max-width: 750px) {
  footer {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
footer .footer .footer-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (max-width: 750px) {
  footer .footer .footer-flex .footer-left {
    width: 225px;
  }
}
footer .footer .footer-flex .footer-left a {
  display: block;
}
footer .footer .footer-flex .footer-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 834px) {
  footer .footer .footer-flex .footer-right {
    display: none;
  }
}
footer .footer .footer-flex .footer-right .social a {
  display: block;
}
footer .footer .footer-flex .footer-right .menu {
  margin-left: 45px;
}
footer .footer .footer-flex .footer-right .menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
footer .footer .footer-flex .footer-right .menu ul li {
  position: relative;
}
footer .footer .footer-flex .footer-right .menu ul li + li {
  margin-left: 20px;
  padding-left: 20px;
}
footer .footer .footer-flex .footer-right .menu ul li + li::before {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 0;
  left: 0;
  z-index: 8;
  width: 1px;
  height: 12px;
  background-color: #fff;
  margin-top: auto;
  margin-bottom: auto;
}
footer .footer .footer-flex .footer-right .menu ul li a {
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 700;
  color: #fff;
}
footer .footer .copyright {
  margin-top: 100px;
}
@media only screen and (max-width: 834px) {
  footer .footer .copyright {
    margin-top: 50px;
  }
}
footer .footer .copyright p {
  font-family: "Helvetica";
  font-size: 1.4rem;
  line-height: 1.8rem;
  color: #fff;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  footer .footer .copyright p {
    font-size: 1.2rem;
    line-height: 1.6rem;
  }
}

.gototop-sticky {
  width: 63px;
  position: sticky;
  margin-left: auto;
  bottom: 0;
  right: 0;
  z-index: 10;
}
.gototop-sticky .gototop {
  display: none;
  position: relative;
}
.gototop-sticky .gototop a {
  position: absolute;
  right: 0;
  bottom: -65px;
  z-index: 10;
  display: block;
}
@media only screen and (max-width: 1180px) {
  .gototop-sticky .gototop a:hover, .gototop-sticky .gototop a:focus {
    opacity: 1 !important;
  }
}

.show1080 {
  display: none !important;
}
@media only screen and (max-width: 1180px) {
  .show1080 {
    display: block !important;
  }
}

.show834 {
  display: none !important;
}
@media only screen and (max-width: 834px) {
  .show834 {
    display: block !important;
  }
}

.show750 {
  display: none !important;
}
@media only screen and (max-width: 750px) {
  .show750 {
    display: block !important;
  }
}

@media only screen and (max-width: 1180px) {
  .hide1080 {
    display: none !important;
  }
}

@media only screen and (max-width: 834px) {
  .hide834 {
    display: none !important;
  }
}

@media only screen and (max-width: 750px) {
  .hide750 {
    display: none !important;
  }
}

/* About */
#about-inner .about-inner {
  position: relative;
}
#about-inner .about-inner .about-row.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 750px) {
  #about-inner .about-inner .about-row.flex {
    display: block;
  }
}
#about-inner .about-inner .about-row.flex .img {
  width: 47.5%;
}
@media only screen and (max-width: 750px) {
  #about-inner .about-inner .about-row.flex .img {
    width: 100%;
  }
}
#about-inner .about-inner .about-row.flex .img img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 750px) {
  #about-inner .about-inner .about-row.flex .img + .img {
    margin-top: 15px;
  }
}
#about-inner .about-inner .about-row.flex .text {
  width: 47.5%;
}
@media only screen and (max-width: 750px) {
  #about-inner .about-inner .about-row.flex .text {
    width: 100%;
    margin-top: 20px;
  }
}
#about-inner .about-inner .about-row.reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
#about-inner .about-inner .about-row + .about-row {
  margin-top: 50px;
}
@media only screen and (max-width: 750px) {
  #about-inner .about-inner .about-row + .about-row {
    margin-top: 30px;
  }
}
#about-inner .about-inner .text {
  position: relative;
}
#about-inner .about-inner .text::after {
  content: "";
  position: relative;
  clear: both;
}
#about-inner .about-inner .text h3 {
  font-size: 2.4rem;
  line-height: 3.4rem;
  font-weight: 700;
  margin-bottom: 25px;
}
@media only screen and (max-width: 750px) {
  #about-inner .about-inner .text h3 {
    font-size: 1.8rem;
    line-height: 2.8rem;
    margin-bottom: 10px;
  }
}
#about-inner .about-inner .text p {
  line-height: 3rem;
}
#about-inner .about-inner .text p + p {
  margin-top: 20px;
}
@media only screen and (max-width: 750px) {
  #about-inner .about-inner .text p + p {
    margin-top: 10px;
  }
}
#about-inner .about-inner .text h4 {
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 700;
  margin-bottom: 20px;
}
@media only screen and (max-width: 750px) {
  #about-inner .about-inner .text h4 {
    font-size: 1.6rem;
    line-height: 2.6rem;
    margin-bottom: 10px;
  }
}
#about-inner .about-inner .text .img-profile {
  float: right;
  width: 180px;
  padding-top: 10px;
  padding-left: 30px;
  padding-bottom: 40px;
}
@media only screen and (max-width: 750px) {
  #about-inner .about-inner .text .img-profile {
    display: none;
  }
}
#about-inner .about-inner .text .img-profile .ceo_name {
  margin-top: 10px;
  font-size: 11px;
  line-height: 1.6rem !important;
  display: block;
  text-align: center;
}
#about-inner .about-inner .text .companny_name {
  text-align: right;
}
#about-inner .about-inner .text .img-profile-sp {
  display: none;
}
#about-inner .about-inner .text .img-profile-sp img {
  width: 125px;
  margin: auto;
}
@media only screen and (max-width: 750px) {
  #about-inner .about-inner .text .img-profile-sp {
    display: table;
    margin-left: auto;
    margin-right: auto;
    margin-top: 25px;
    margin-bottom: 10px;
  }
}
#about-inner .about-inner .text .img-profile-sp .ceo_name {
  margin-top: 5px;
  font-size: 11px;
  line-height: 1.6rem !important;
  display: block;
  text-align: center;
}
#about-inner .about-inner .text .img-profile-sp + p {
  margin-top: 20px;
}
@media only screen and (max-width: 750px) {
  #about-inner .about-inner .text .img-profile-sp + p {
    text-align: center;
    margin-top: 10px;
  }
}
#about-inner #about-policy {
  padding-top: 80px;
  padding-bottom: 170px;
}
@media only screen and (max-width: 750px) {
  #about-inner #about-policy {
    padding-bottom: 100px;
  }
}
#about-inner #about-policy .about-policy .row {
  padding: 25px;
  background-color: #fff;
}
@media only screen and (max-width: 750px) {
  #about-inner #about-policy .about-policy .row {
    padding: 20px;
  }
}
#about-inner #about-policy .about-policy .row + .row {
  margin-top: 20px;
}
#about-inner #about-policy .about-policy h3 {
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 700;
}
@media only screen and (max-width: 750px) {
  #about-inner #about-policy .about-policy h3 {
    font-size: 1.4rem;
  }
}
#about-inner #about-policy .about-policy ul {
  margin-left: 25px;
}
#about-inner #about-policy .about-policy ul li {
  list-style: disc;
}
#about-inner #about-policy .about-policy ul + h3 {
  margin-top: 30px;
}
@media only screen and (max-width: 750px) {
  #about-inner #about-policy .about-policy ul + h3 {
    margin-top: 20px;
  }
}
#about-inner #about-policy .about-policy p {
  line-height: 3rem;
}
#about-inner #about-policy .about-policy p + h3 {
  margin-top: 30px;
}
@media only screen and (max-width: 750px) {
  #about-inner #about-policy .about-policy p + h3 {
    margin-top: 20px;
  }
}

.page-jp #about-inner .about-inner .about-row.flex .img {
  width: 48.5%;
}
@media only screen and (max-width: 750px) {
  .page-jp #about-inner .about-inner .about-row.flex .img {
    width: 100%;
  }
}
.page-jp #about-inner .about-inner .about-row.flex .text {
  width: 48.5%;
}
@media only screen and (max-width: 750px) {
  .page-jp #about-inner .about-inner .about-row.flex .text {
    width: 100%;
  }
}
.page-jp #about-inner .about-inner .about-row.flex .text p {
  font-size: 1.5rem;
}
@media only screen and (max-width: 750px) {
  .page-jp #about-inner .about-inner .about-row.flex .text p {
    font-size: 1.4rem;
  }
}

.page_jp .content-1090 {
  max-width: 990px;
}

.page-en #about-inner .about-inner .about-row.flex .img {
  width: 48.5%;
}
@media only screen and (max-width: 750px) {
  .page-en #about-inner .about-inner .about-row.flex .img {
    width: 100%;
  }
}
.page-en #about-inner .about-inner .about-row.flex .text {
  width: 48.5%;
}
@media only screen and (max-width: 750px) {
  .page-en #about-inner .about-inner .about-row.flex .text {
    width: 100%;
  }
}

/* Products */
#products-inner {
  padding-bottom: 165px;
}
@media only screen and (max-width: 750px) {
  #products-inner {
    padding-bottom: 80px;
  }
}
#products-inner .products-inner .products-row + .products-row {
  margin-top: 40px;
}
@media only screen and (max-width: 750px) {
  #products-inner .products-inner .products-row + .products-row {
    margin-top: 30px;
  }
}
#products-inner .products-inner .products-row .products-content .products-detail-bg {
  position: relative;
  padding-bottom: 30px;
}
@media only screen and (max-width: 750px) {
  #products-inner .products-inner .products-row .products-content .products-detail-bg {
    padding-bottom: 20px;
  }
}
#products-inner .products-inner .products-row .products-content .products-detail-bg::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  z-index: 8;
  width: 60%;
  height: 100%;
  background-color: #F8F8F8;
}
@media only screen and (max-width: 750px) {
  #products-inner .products-inner .products-row .products-content .products-detail-bg::before {
    width: 100%;
  }
}
#products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail {
  position: relative;
  margin-top: 28px;
  padding-top: 70px;
  z-index: 9;
}
@media only screen and (max-width: 750px) {
  #products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail {
    margin-top: 14px;
    padding-top: 35px;
  }
}
#products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail .vector-3dots {
  top: -28px;
}
@media only screen and (max-width: 750px) {
  #products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail .vector-3dots {
    top: -14px;
  }
}
#products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media only screen and (max-width: 750px) {
  #products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail .flex {
    display: block;
  }
}
#products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail .flex .gall {
  width: 47.5%;
  max-width: 517px;
}
@media only screen and (max-width: 750px) {
  #products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail .flex .gall {
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
  }
}
#products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail .flex .gall .products-gall-slick .slick-arrow {
  position: absolute;
  bottom: 4px;
  z-index: 9;
  width: 40px;
  height: 40px;
  font-size: 0;
  line-height: 0;
  color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 60px;
  border: 0;
  outline: none;
  -webkit-transition: background 0.25s, color 0.25s, opacity 0.25s;
  transition: background 0.25s, color 0.25s, opacity 0.25s;
}
#products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail .flex .gall .products-gall-slick .slick-arrow:hover {
  cursor: pointer;
  opacity: 0.8;
}
#products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail .flex .gall .products-gall-slick .slick-prev {
  right: 48px;
  background-image: url("/assets/images/commons/btn-slick-arrow-left.svg");
}
#products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail .flex .gall .products-gall-slick .slick-next {
  right: 4px;
  background-image: url("/assets/images/commons/btn-slick-arrow-right.svg");
}
#products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail .flex .text {
  width: 47.5%;
  padding-right: 5%;
}
@media only screen and (max-width: 750px) {
  #products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail .flex .text {
    width: 100%;
    padding-right: 0;
  }
}
#products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail .flex .text h3 {
  font-size: 2.4rem;
  line-height: 3.4rem;
  font-weight: 700;
  margin-bottom: 20px;
}
@media only screen and (max-width: 750px) {
  #products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail .flex .text h3 {
    font-size: 1.8rem;
    line-height: 2.8rem;
    margin-bottom: 10px;
  }
}
#products-inner .products-inner .products-row .products-content .products-detail-bg .products-detail .flex .text p {
  line-height: 3rem;
}
#products-inner .products-inner .products-row .products-content .products-list {
  margin-top: 40px;
  padding-bottom: 40px;
}
@media only screen and (max-width: 750px) {
  #products-inner .products-inner .products-row .products-content .products-list {
    margin-top: 5%;
    padding-bottom: 30px;
  }
}
#products-inner .products-inner .products-row .products-content .products-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  margin-top: -2%;
}
@media only screen and (max-width: 750px) {
  #products-inner .products-inner .products-row .products-content .products-list ul {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
#products-inner .products-inner .products-row .products-content .products-list ul li {
  width: 23.5%;
  margin-top: 2%;
  margin-right: 2%;
  background-color: #F8F8F8;
}
@media only screen and (max-width: 750px) {
  #products-inner .products-inner .products-row .products-content .products-list ul li {
    width: 48%;
    margin-right: 0;
  }
}
#products-inner .products-inner .products-row .products-content .products-list ul li:nth-child(4n) {
  margin-right: 0;
}
#products-inner .products-inner .products-row .products-content .products-list ul li .text {
  padding: 10px 15px;
}
#products-inner .products-inner .products-row .products-content .products-list ul li .text p {
  text-align: center;
}

/* Contact */
@media only screen and (max-width: 750px) {
  #equipment {
    padding-top: 60px;
  }
}
#equipment .equipment .equipment-video-box {
  position: relative;
}
#equipment .equipment .equipment-video-box::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 8;
  width: 100%;
  height: 50%;
  background-color: #F0F0F0;
}
#equipment .equipment .equipment-video-box .equipment-video {
  position: relative;
  z-index: 9;
  width: 70%;
  max-width: 886px;
  margin-left: auto;
  margin-right: auto;
}
#equipment .equipment .equipment-video-box .equipment-video .equipment-video-slick li .video {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}
#equipment .equipment .equipment-video-box .equipment-video .equipment-video-slick li .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#equipment .equipment .equipment-video-box .equipment-video .equipment-video-slick .slick-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 9;
  width: 22px;
  height: 93px;
  margin-top: auto;
  margin-bottom: auto;
  font-size: 0;
  line-height: 0;
  color: transparent;
  background-color: transparent;
  border: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px;
}
#equipment .equipment .equipment-video-box .equipment-video .equipment-video-slick .slick-arrow:hover {
  cursor: pointer;
}
#equipment .equipment .equipment-video-box .equipment-video .equipment-video-slick .slick-prev {
  left: -50px;
  background-image: url("/assets/images/commons/btn-slick-arrow-left-big.svg");
}
@media only screen and (max-width: 750px) {
  #equipment .equipment .equipment-video-box .equipment-video .equipment-video-slick .slick-prev {
    left: -35px;
  }
}
#equipment .equipment .equipment-video-box .equipment-video .equipment-video-slick .slick-next {
  right: -50px;
  background-image: url("/assets/images/commons/btn-slick-arrow-right-big.svg");
}
@media only screen and (max-width: 750px) {
  #equipment .equipment .equipment-video-box .equipment-video .equipment-video-slick .slick-next {
    right: -35px;
  }
}
#equipment .equipment .equipment-video-thumb-box {
  padding-top: 35px;
  padding-bottom: 100px;
  background-color: #F0F0F0;
}
@media only screen and (max-width: 750px) {
  #equipment .equipment .equipment-video-thumb-box {
    padding-top: 20px;
    padding-bottom: 60px;
  }
}
#equipment .equipment .equipment-video-thumb-box .equipment-video-thumb .equipment-video-slick-thumb li {
  padding: 0 10px;
}
@media only screen and (max-width: 750px) {
  #equipment .equipment .equipment-video-thumb-box .equipment-video-thumb .equipment-video-slick-thumb li {
    padding: 0 5px;
  }
}
#equipment .equipment .equipment-video-thumb-box .equipment-video-thumb .equipment-video-slick-thumb li a {
  position: relative;
  display: block;
}
#equipment .equipment .equipment-video-thumb-box .equipment-video-thumb .equipment-video-slick-thumb li a::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  background-image: url("/assets/images/commons/icon-youtube.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 25%;
}
#equipment .equipment .equipment-video-thumb-box .equipment-video-thumb .equipment-video-slick-thumb li a img {
  width: 100%;
  height: auto;
}
#equipment .equipment .equipment-content {
  padding-top: 60px;
  padding-bottom: 200px;
}
@media only screen and (max-width: 750px) {
  #equipment .equipment .equipment-content {
    padding-bottom: 100px;
  }
}
#equipment .equipment .equipment-content .submn {
  margin-bottom: 90px;
}
@media only screen and (max-width: 750px) {
  #equipment .equipment .equipment-content .submn {
    margin-bottom: 60px;
  }
}
#equipment .equipment .equipment-content .equipment-row + .equipment-row {
  margin-top: 100px;
}
@media only screen and (max-width: 750px) {
  #equipment .equipment .equipment-content .equipment-row + .equipment-row {
    margin-top: 60px;
  }
}
#equipment .equipment .equipment-content .equipment-row .table-scroll {
  overflow: auto;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll + .table-scroll {
  margin-top: 60px;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table {
  min-width: 750px;
  border-bottom: 1px solid #E3E3E3;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table.td-bg-even tr:nth-child(even) {
  background-color: #F8F8F8;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table.td-bg-odd tr:nth-child(odd) {
  background-color: #F8F8F8;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr {
  border-top: 1px solid #E3E3E3;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr.topic {
  color: #fff;
  background-color: #0A50A1;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr.topic td {
  font-weight: 700;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr.topic-black {
  color: #fff !important;
  background-color: #000 !important;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr.topic-black td {
  font-weight: 700;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr td {
  padding: 10px;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr td + td {
  border-left: 1px solid #E3E3E3;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr td.align-left {
  padding-left: 20px;
  text-align: left;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr td.rowspan {
  vertical-align: middle;
  border-right: 1px solid #E3E3E3;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr td.total {
  font-weight: 700;
  color: #fff;
  background-color: #000;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr td.total-press {
  font-weight: 700;
  color: #fff;
  background-color: #3BCFD5;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr td span.demical {
  display: inline-block;
  width: 35px;
  min-width: 35px;
  padding-right: 3px;
  text-align: right;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr td span.unit {
  display: inline-block;
  width: 45px;
  min-width: 45px;
  padding-left: 3px;
  text-align: left;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr td .value-units-ton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr td .value-units-ton .value {
  width: 30px;
  text-align: right;
}
#equipment .equipment .equipment-content .equipment-row .table-scroll table tr td .value-units-ton .unit {
  width: 40px;
  margin-left: 8px;
  text-align: left;
}

/* Company */
#company-inner .company-inner .company-row .company-content {
  position: relative;
}
#company-inner .company-inner .company-row .company-content .company-table {
  border-top: 1px solid #E3E3E3;
}
#company-inner .company-inner .company-row .company-content .company-table .tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid #E3E3E3;
}
#company-inner .company-inner .company-row .company-content .company-table .tr:nth-child(odd) {
  background-color: #FCFCFC;
}
#company-inner .company-inner .company-row .company-content .company-table .tr .td {
  width: 100%;
  padding: 20px 20px;
}
@media only screen and (max-width: 750px) {
  #company-inner .company-inner .company-row .company-content .company-table .tr .td {
    padding: 10px 20px;
  }
}
#company-inner .company-inner .company-row .company-content .company-table .tr .td + .td {
  border-left: 1px solid #E3E3E3;
}
#company-inner .company-inner .company-row .company-content .company-table .tr .td.topic p {
  font-weight: 700;
}
#company-inner .company-inner .company-row .company-content .company-table .tr .td p {
  line-height: 3rem;
}
#company-inner .company-inner .company-row .company-content .company-table .tr .td:first-child {
  width: 245px;
  min-width: 245px;
}
@media only screen and (max-width: 750px) {
  #company-inner .company-inner .company-row .company-content .company-table .tr .td:first-child {
    width: 110px;
    min-width: 110px;
  }
}
#company-inner .company-inner .company-row .company-content .company-map {
  color: #fff;
  background-color: #0A50A1;
  border: 6px solid #0A50A1;
}
#company-inner .company-inner .company-row .company-content .company-map + .company-map {
  margin-top: 45px;
}
@media only screen and (max-width: 750px) {
  #company-inner .company-inner .company-row .company-content .company-map + .company-map {
    margin-top: 5%;
  }
}
#company-inner .company-inner .company-row .company-content .company-map .text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media only screen and (max-width: 750px) {
  #company-inner .company-inner .company-row .company-content .company-map .text {
    display: block;
    padding: 15px 15px;
  }
}
#company-inner .company-inner .company-row .company-content .company-map .text .title p {
  font-size: 2.4rem;
  line-height: 3.4rem;
  font-weight: 700;
  white-space: nowrap;
}
@media only screen and (max-width: 750px) {
  #company-inner .company-inner .company-row .company-content .company-map .text .title p {
    font-size: 1.8rem;
    line-height: 2.8rem;
    white-space: normal;
  }
}
#company-inner .company-inner .company-row .company-content .company-map .text .title p span {
  display: block;
  font-size: 1.8rem;
  line-height: 2.8rem;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  #company-inner .company-inner .company-row .company-content .company-map .text .title p span {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
}
#company-inner .company-inner .company-row .company-content .company-map .text .address {
  margin-left: 30px;
  padding-left: 30px;
  border-left: 1px solid #fff;
}
@media only screen and (max-width: 750px) {
  #company-inner .company-inner .company-row .company-content .company-map .text .address {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
    margin-top: 15px;
    padding-top: 10px;
    border-top: 1px solid #fff;
  }
}
#company-inner .company-inner .company-row .company-content .company-map .text .address p {
  line-height: 3rem;
}
#company-inner .company-inner .company-row .company-content .company-map .text .address table tbody tr td {
  white-space: nowrap;
  line-height: 3rem;
}
#company-inner .company-inner .company-row .company-content .company-map .map {
  position: relative;
  padding-bottom: 42%;
  min-height: 300px;
  height: 0;
  overflow: hidden;
}
#company-inner .company-inner .company-row .company-content .company-map .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#company-inner .company-inner .company-row .company-content .history .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
#company-inner .company-inner .company-row .company-content .history .row + .row {
  margin-top: 22px;
}
@media only screen and (max-width: 750px) {
  #company-inner .company-inner .company-row .company-content .history .row + .row {
    margin-top: 15px;
  }
}
#company-inner .company-inner .company-row .company-content .history .row .year {
  width: 140px;
  min-width: 140px;
  position: relative;
}
@media only screen and (max-width: 750px) {
  #company-inner .company-inner .company-row .company-content .history .row .year {
    width: 100px;
    min-width: 100px;
  }
}
#company-inner .company-inner .company-row .company-content .history .row .year::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 8;
  width: 100%;
  height: 1px;
  margin-top: auto;
  margin-bottom: auto;
  background-color: #0A50A1;
}
#company-inner .company-inner .company-row .company-content .history .row .year p {
  position: relative;
  z-index: 9;
  width: 100px;
  height: 38px;
  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;
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 700;
  color: #0A50A1;
  border: 2px solid #0A50A1;
  border-radius: 38px;
  background-color: #fff;
}
@media only screen and (max-width: 750px) {
  #company-inner .company-inner .company-row .company-content .history .row .year p {
    font-size: 1.6rem;
    line-height: 2.6rem;
    width: 85px;
  }
}
#company-inner .company-inner .company-row .company-content .history .row .text {
  margin-top: 5px;
  margin-left: 12px;
}

.page-en #company-inner .company-inner .company-row .company-content .company-table .tr .td:first-child {
  width: 255px;
  min-width: 255px;
}
@media only screen and (max-width: 750px) {
  .page-en #company-inner .company-inner .company-row .company-content .company-table .tr .td:first-child {
    width: 110px;
    min-width: 110px;
  }
}

/* Contact */
#contact .contact {
  position: relative;
}
#contact .contact h2 {
  font-size: 1.8rem;
  line-height: 3.6rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  padding-bottom: 35px;
}
@media only screen and (max-width: 750px) {
  #contact .contact h2 {
    font-size: 1.6rem;
    line-height: 3.4rem;
  }
}
#contact .contact h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9;
  width: 1px;
  height: 24px;
  margin-left: auto;
  margin-right: auto;
  background-color: #0A50A1;
}
#contact .contact h2 strong {
  font-size: 2.8rem;
  line-height: 3.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 750px) {
  #contact .contact h2 strong {
    font-size: 2.4rem;
    line-height: 3.4rem;
  }
}
#contact .contact .box {
  width: 100%;
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 15px;
  margin-bottom: 40px;
  padding: 25px 25px;
  border: 6px solid #0A50A1;
  background-color: #EDF5FF;
}
@media only screen and (max-width: 750px) {
  #contact .contact .box {
    margin-bottom: 25px;
    padding: 20px 15px;
  }
}
#contact .contact .box table {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
#contact .contact .box table tbody tr td {
  width: 100%;
  font-size: 3.5rem;
  line-height: 4.5rem;
  font-weight: 700;
  color: #0A50A1;
  text-align: left;
  white-space: nowrap;
}
@media only screen and (max-width: 750px) {
  #contact .contact .box table tbody tr td {
    font-size: 2rem;
    line-height: 3rem;
  }
}
#contact .contact .box table tbody tr td:first-child {
  width: 110px;
  min-width: 110px;
}
@media only screen and (max-width: 750px) {
  #contact .contact .box table tbody tr td:first-child {
    width: 65px;
    min-width: 65px;
  }
}
#contact .contact p.remark {
  width: 100%;
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
}

/* Event */
#event .event .event-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -2%;
  margin-top: -60px;
}
@media only screen and (max-width: 750px) {
  #event .event .event-list ul {
    display: block;
    margin-left: 0;
    margin-left: 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
#event .event .event-list ul li {
  width: 31.33%;
  margin-left: 2%;
  margin-top: 60px;
}
@media only screen and (max-width: 750px) {
  #event .event .event-list ul li {
    width: 100%;
    margin-left: 0;
  }
}
#event .event .event-list ul li.w100 {
  width: 100%;
}
@media only screen and (max-width: 750px) {
  #event .event .event-list ul li.w100 {
    width: 100%;
    margin-left: 0;
  }
}
#event .event .event-list ul li.w100 .box .brief h2 {
  min-height: auto;
}
#event .event .event-list ul li.w50 {
  width: 48%;
}
@media only screen and (max-width: 750px) {
  #event .event .event-list ul li.w50 {
    width: 100%;
  }
}
#event .event .event-list ul li .box .cover img {
  width: 100%;
  height: auto;
}
#event .event .event-list ul li .box .brief {
  margin-top: 12px;
}
#event .event .event-list ul li .box .brief p {
  font-size: 1.4rem;
  line-height: 2.5rem;
}
#event .event .event-list ul li .box .brief p.date {
  font-size: 1.4rem;
  line-height: 2rem;
  color: #A0A0A0;
}
#event .event .event-list ul li .box .brief h2 {
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 600;
  margin-top: 8px;
  margin-bottom: 8px;
  min-height: 52px;
}
@media only screen and (max-width: 750px) {
  #event .event .event-list ul li .box .brief h2 {
    min-height: auto;
  }
}
#event .event .event-list ul li .box .top {
  height: 100%;
}
#event .event .event-list ul li .box .bottom {
  height: 100%;
}

/* Event */
#policy .policy p + h2 {
  margin-top: 30px;
}
@media only screen and (max-width: 750px) {
  #policy .policy p + h2 {
    margin-top: 25px;
  }
}
#policy .policy p + p {
  margin-top: 15px;
}
#policy .policy h2 {
  font-size: 1.8rem;
  line-height: 2.8rem;
  font-weight: 700;
  margin-bottom: 10px;
}
@media only screen and (max-width: 750px) {
  #policy .policy h2 {
    font-size: 1.6rem;
    line-height: 2.6rem;
    margin-bottom: 5px;
  }
}
#policy .policy ul {
  margin-top: 10px;
}
@media only screen and (max-width: 750px) {
  #policy .policy ul {
    margin-top: 5px;
  }
}
#policy .policy ul li {
  position: relative;
  padding-left: 18px;
}
#policy .policy ul li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
#policy .policy ul + h2 {
  margin-top: 30px;
}
@media only screen and (max-width: 750px) {
  #policy .policy ul + h2 {
    margin-top: 25px;
  }
}
#policy .policy ol {
  margin-top: 10px;
  margin-left: 40px;
}
@media only screen and (max-width: 750px) {
  #policy .policy ol {
    margin-top: 5px;
  }
}
#policy .policy ol li {
  list-style: decimal;
}
#policy .policy ol + h2 {
  margin-top: 30px;
}
@media only screen and (max-width: 750px) {
  #policy .policy ol + h2 {
    margin-top: 25px;
  }
}
#policy .policy ol.bracket {
  margin-left: 0;
}
#policy .policy ol.bracket li {
  list-style: none;
  position: relative;
  padding-left: 25px;
}
#policy .policy ol.bracket li .input {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8;
}

.text-right {
  text-align: right;
}

.page_en #company .company .company-list ul li a .topic h3 {
  font-size: 1.4rem;
}