@charset "UTF-8";

/*! www.moritakk.co.jp v2.1.0 */

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

address, article, aside, b, body, caption, dd, div, dl, dt, em, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, html, i, iframe, img, label, li, main, nav, ol, p, section, small, span, strong, sub, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  box-sizing: border-box;
  cursor: default;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}

body {
  line-height: 1;
  font-family: sans-serif;
  background-color: #fff;
  color: #000;
}

article, aside, figcaption, figure, footer, header, main, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

a {
  margin: 0;
  padding: 0;
  background: transparent;
  color: inherit;
}

table {
  border-collapse: collapse;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #999;
  margin: 0;
  padding: 0;
}

button, input, select, textarea {
  background: transparent;
  font-size: 100%;
  vertical-align: baseline;
  color: inherit;
  line-height: inherit;
  margin: 0;
}

input, select {
  vertical-align: middle;
}

optgroup {
  margin: 0;
}

button, select {
  text-transform: none;
}

svg {
  fill: currentColor;
}

html {
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

body, html {
  height: 100%;
}

body {
  font-size: .8125rem;
  line-height: 1.7;
  font-family: 游ゴシック体, Yu Gothic, YuGothic, Hiragino Sans, sans-serif;
  font-weight: 300;
  min-height: 100%;
  min-width: 20rem;
  letter-spacing: .07692em;
}

body.mo {
  overflow: hidden;
}

main {
  display: block;
}

a {
  text-decoration: none;
}

@-webkit-keyframes fade {
  0% {
    opacity: 0;
    }
  to {
    opacity: 1;
    }
}

@keyframes fade {
  0% {
    opacity: 0;
    }
  to {
    opacity: 1;
    }
}

[data-queued][data-src] {
  opacity: 0;
}

[data-queued]:not([data-src]) {
  -webkit-animation: fade .47s;
  animation: fade .47s;
}

#bn {
  height: 100px;
  position: relative;
  pointer-events: none;
  width: 100%;
  z-index: 64;
}

#bn a {
  pointer-events: auto;
}

#bn h1 {
  position: relative;
  width: 9.25rem;
  position: absolute;
  top: 1.875rem;
  left: 1.40625rem;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

#bn h1:before {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  padding: 0 0 37.14286%;
}

#bn h1 img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#bn.fx #mb, #bn.fx h1 {
  position: fixed;
}

#mb {
  cursor: pointer;
  width: 2.1875rem;
  height: 2.1875rem;
  background: transparent no-repeat 0 0;
  background-size: contain;
  position: absolute;
  top: 2.1rem;
  right: 1.25rem;
  background-image: url(../img/mb.png);
  pointer-events: auto;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

#imp-hdl {
  background: #fff;
  padding: .375rem .625rem;
  font-size: .65625rem;
}

#imp-hdl a {
  text-decoration: underline;
}

#imp-hdl a:hover {
  text-decoration: none;
}

#imp-hdl+#bn h1 {
  top: 1.875rem;
}

#ci {
  background: #000;
  padding: 3.59375rem 1.71875rem 1.875rem;
}

#ci .lg {
  display: none;
}

#ci p.c {
  font-family: Helvetica Neue, Helvetica, sans-serif;
  font-weight: 400;
  font-size: .75rem;
  color: #888;
  text-align: center;
  margin: 2.8125rem 0 0;
  width: 100%;
}

#ci p.c a {
    color: #888;
    cursor: default;
}

#ci p.c a:hover {
    opacity: 1;
}

#ci nav {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

#ci nav p {
  margin: .625rem 0 0;
  font-size: .8125rem;
  line-height: 1.53846;
  color: #777;
}

#ci nav p.b {
  color: #000;
  border: 1px solid #aaa;
  width: 6.875rem;
  height: 1.71875rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  margin-top: 1.0625rem;
}

#ci a {
  display: inline-block;
  transition: opacity .2s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#ci a:hover {
  opacity: .7;
}

#ci p.f {
  margin-top: 1.25rem;
  font-family: Helvetica Neue, Helvetica, sans-serif;
  font-weight: 400;
  color: #000;
}

#ci .g.a {
  width: 43.75%;
}

#ci .g.d, #mn {
  display: none;
}

#mn {
  top: 0;
}

#mn, .fx #mn {
  position: fixed;
}

#mn ul {
  /*padding: 1.5625rem;*/
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: column;
  flex-flow: column;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-height: 100%;
  padding-left: 80px;

}

#mn li+li {
  margin: 1.40625rem 0 0;
}

#mn li a {
  display: block;
  position: relative;
  transition: opacity .2s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#mn li a:before {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  padding: 0;
}

#mn li a img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#mn li a:hover {
  opacity: .7;
}

#mn li.top a {
  width: 2.625rem;
  height: .9375rem;
}

#mn li.technology a {
  width: 9.125rem;
  height: .9375rem;
}

#mn li.making a {
  width: 5.28125rem;
  height: .9375rem;
}

#mn li.history a {
  width: 5.71875rem;
  height: .9375rem;
}

#mn li.access a {
  width: 5.3125rem;
  height: .9375rem;
}

#mn li.news a {
  width: 3.875rem;
  height: .9375rem;
}

#mn li.contact a {
  width: 6.375rem;
  height: .9375rem;
}

#mc {
  cursor: pointer;
  width: 2.1875rem;
  height: 2.1875rem;
  background: transparent no-repeat 0 0;
  background-size: contain;
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  background-image: url(../img/mc.png);
  pointer-events: auto;
}

input.btn.mr {
  -moz-appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
  border: none;
}

.btn.mr {
  display: block;
  padding: .625rem 1.875rem .625rem 1.40625rem;
  font-size: .9375rem;
  line-height: 1.33333;
  width: 6.25rem;
  color: #fff;
  background-size: .9375rem;
  font-family: Helvetica Neue, Helvetica, sans-serif;
  font-weight: 400;
  transition: opacity .2s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  letter-spacing: .05em;
}

.btn.mr.sbm {
  width: 9.375rem;
  text-align: center;
}

.btn.mr.sa {
  width: 6.25rem;
  padding: .625rem 1.5625rem .625rem .9375rem;
}

.btn.nxt {
  display: block;
  padding: .625rem 1.875rem .625rem 1.40625rem;
  font-size: .8125rem;
  line-height: 2;
  width: 20.3125rem;
  font-family: 游ゴシック体, Yu Gothic, YuGothic, Hiragino Sans, sans-serif;
  background-size: .9375rem;
  text-align: center;
  border: 1px solid #999;
  margin: 0 auto;
  transition: opacity .2s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.btn.nxt:hover {
  opacity: .7;
}

#home .wrp {
  display: block;
  height: 100%;
}

#home #bn {
  position: absolute;
  top: 0;
  left: 0;
}

#home #bn.fx {
  position: fixed;
}

#home #ci {
  margin-top: 1.875rem;
}

#home .sl {
  width: 100%;
  height: 100%;
  min-height: 25rem;
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: column;
  flex-flow: column;
}

#home .sl .i {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

#home .sl:after {
  content: none;
}

#home .sl .c {
  position: relative;
  height: 100%;
  text-align: center;
}

#home .sl .ly {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-flow: column;
  flex-flow: column;
  padding: 0;
  color: #fff;
  pointer-events: none;
}

#home #sl {
  z-index: 1;
  overflow: hidden;
}

#home #sl, #home #sl .i {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#home #sl .i {
  background: no-repeat 50% 50%;
  background-size: cover;
  visibility: hidden;
}

#home #sl .s0 {
  background-image: url(../img/topBg.jpg);

  z-index: -1;
}

#home #sl .s1 {
  background-image: url(../img/companyBg.jpg);
  z-index: -1;
}

#home #sl .s2 {
  background-image: url(../img/interviewBg.jpg);
  z-index: -1;
}

#home #sl .s3 {
  background-image: url(../img/caseBg.jpg);
  z-index: -1;
}

#home #sl .c {
  z-index: 0;
  visibility: visible;
}

#home #sl .a {
  transition: opacity 1s, -webkit-transform 10s linear;
  transition: opacity 1s, transform 10s linear;
  transition: opacity 1s, transform 10s linear, -webkit-transform 10s linear;
}

#home #sl .o {
  opacity: 0;
}

#home #sl .n {
  visibility: visible;
  z-index: 1;
}

#home #sl .s {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

#home .vs {
  width: 100%;
  height: 100%;
  min-height: 25rem;
  position: relative;
  overflow: hidden;
}

#home .vs .ly {
  z-index: 1;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-flow: column;
  flex-flow: column;
  padding: 2.5rem;
  color: #fff;
}

#home .vs .i, #home .vs .ly {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#home .vs .i {
  z-index: 0;
}

#home .vs h1 {
  text-align: center;
}

#home .vs h1.st {
  display: block;
  position: relative;
}

#home .vs h1.st:before {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  padding: 0;
}

#home .vs h1.st img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#home .vs .btn {
  margin: 1.875rem auto 0;
}

#home .vs.cd .i {
  overflow: hidden;
}

#home .vs.cd .i.fx {
  position: fixed;
}

#home .vs.cd .i .c {
  width: 100%;
  background: no-repeat 50% 50%;
  background-size: cover;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#home .vs.hf h1 {
  margin: 0 0 1.40625rem;
}

#home .vs.about .i {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  z-index: -1;
}

#home .vs.about .i .c {
    background-image: url(../img/companyBg.jpg);
}

#home .vs.about p br {
  display: none;
}

#home .vs.technology .i {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  z-index: -2;
}

#home .vs.technology .i .c {
    background-image: url(../img/serviceBg.jpg);
}

#home .vs.technology h1.st {
  width: 15.40625rem;
}

#home .vs.technology h1.st:before {
  padding: 0 0 10.27397%;
}

#home .vs.making .i {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  z-index: -3;
}

#home .vs.making .i .c {
    background-image: url(../img/caseBg.jpg);
}

#home .vs.making h1.st {
  width: 8.75rem;
}

#home .vs.making h1.st:before {
  padding: 0 0 17.75148%;
}

#home .vs.erif .i {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  z-index: -4;
}

#home .vs.erif h1 {
  position: relative;
  width: 4.90625rem;
  margin: 0 auto .78125rem;
}

#home .vs.erif h1:before {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  padding: 0 0 37.581%;
}

#home .vs.erif h1 img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#home .vs.erif b {
  position: relative;
  display: block;
  width: 12.71875rem;
  margin: 0 auto 1.40625rem;
}

#home .vs.erif b:before {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  padding: 0 0 6.84211%;
}

#home .vs.erif b img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#home .pg.news {
  padding: 4.21875rem 1.25rem;
  background: #fff;
}

#home .pg.news h1.st {
  width: 6.40625rem;
  margin: 0 auto 2.5rem;
}

#home .pg.news h1.st:before {
  padding: 0 0 24.19355%;
}

.pg.nrw {
  padding: 1.40625rem 1.25rem 4.21875rem;
}

.pg.nrw header {
  margin: 0 0 2.1875rem;
}

.pg .st {
  display: block;
  position: relative;
  margin: 0 auto;
}

.pg .st:before {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  padding: 0;
}

.pg .st img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.pec {
  width: 100%;
  position: relative;
}

.pec:before {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  padding: 0 0 53.33333%;
}

.pec .i {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: #f0f0f0 no-repeat 50% 100%;
  background-size: cover;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  bottom: 0;
  top: auto;
  height: 0;
  padding: 0 0 calc(53.33333% + 8.4375rem);
}

.pec.fx .i {
  position: fixed;
  top: 0;
  bottom: auto;
}

.pec .msk {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}

.pwrp {
  padding: 0 1.25rem 5.9375rem;
  background: #fff;
}

.pnav {
  font-size: .75rem;
  padding: 1.25rem 0 3.125rem;
}

.pnav ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: wrap;
  flex-flow: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  padding: .3125rem 0 0;
}

.pnav li {
  padding: .3125rem;
}

.pnav a {
  text-decoration: underline;
}

.pnav a:hover {
  text-decoration: none;
}

.pnav strong {
  font-size: .9375rem;
  font-weight: 600;
  display: block;
  text-align: center;
}

.pgbi {
  margin-top: 1.875rem;
}

.pgbi h2[id] {
  margin-top: -7.8125rem;
  padding-top: 7.8125rem;
  pointer-events: none;
}

.pgbi h2[id] p {
  pointer-events: auto;
}

.pgbi.headline {
  margin-top: 4.6875rem;
  font-size: 1.125rem;
  color: #e60012;
}

.pgbi.headline+.pgbi {
  margin-top: 1.25rem;
}

.pgbi.image {
  margin-top: .9375rem;
}

.pgbi.image figure .ic {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  max-width: 100%;
}

.pgbi.image figure .ic div {
  width: 100%;
  height: 0;
  padding: 0;
}

.pgbi.image figure .ic img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pgbi.image figure .ic+.ic {
  margin: .625rem 0 0;
}

.pgbi.image figcaption {
  margin: .3125rem 0 0;
}

.pgbi.image.center figcaption {
  text-align: center;
}

.pgbi.image.rsp .ic.d {
  display: none;
}

.pgbi.text h1 {
  margin: 0 0 1.25rem;
}

.pgbi.text h1, .pgbi.text h2 {
  color: #e60012;
  font-size: 1.125rem;
}

.pgbi.text h3, .pgbi.text h4, .pgbi.text h5, .pgbi.text h6, .pgbi.text p {
  line-height: 2;
  margin-top: 1em;
}

.pgbi.text h3:first-child, .pgbi.text h4:first-child, .pgbi.text h5:first-child, .pgbi.text h6:first-child, .pgbi.text p:first-child {
  margin-top: 0;
}

.pgbi.text h2+p {
  margin-top: .625rem;
}

.pgbi.text h4+p {
  margin-top: 0;
}

.pgbi.notes {
  font-size: .6875rem;
  line-height: 2;
  margin-top: .625rem;
}

.pgbi.notes a {
  text-decoration: underline;
}

.pgbi.notes a:hover {
  text-decoration: none;
}

.pgbi.dl {
  margin-left: -1.25rem;
  margin-right: -1.25rem;
}

.pgbi.dl dl {
  line-height: 2;
}

.pgbi.dl dt {
  border-top: 1px solid #999;
  font-weight: 600;
  padding: 1.09375rem 1.25rem 0;
}

.pgbi.dl dd {
  padding: .46875rem 1.25rem 1.09375rem;
}

.pgbi.dl dd:last-child {
  border-bottom: 1px solid #999;
}

.pgbi.dl a {
  text-decoration: underline;
}

.pgbi.dl a:hover {
  text-decoration: none;
}

.pgbi.grp h2+.fc {
  margin: .625rem 0 0;
}

.pgbi.grp .image figure {
  max-width: 12.5rem;
  margin: 2.1875rem auto 0;
}

.pgbi.grp .image figcaption {
  font-size: .6875rem;
  text-align: center;
}

.pgbi:first-child {
  margin: 0;
}

#notfound header {
  margin: 0 0 2.1875rem;
}

#notfound .st {
  width: 12.5rem;
}

#notfound .st:before {
  padding: 0 0 12.2449%;
}

#notfound strong {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 .46875rem;
}

.pg.about .st {
  width: 17.1875rem;
}

.pg.about .st:before {
  padding: 0 0 9.43396%;
}

.pg.about .signature {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: center;
  align-items: center;
  text-align: right;
  margin: 1.25rem 0 0;
}

.pg.about .signature:after {
  content: "";
  width: 4.375rem;
  height: 4.375rem;
  background-size: contain;
  margin: 0 0 0 1.09375rem;
}

.pg.technology .st {
  width: 15.46875rem;
}

.pg.technology .st:before {
  padding: 0 0 10.27397%;
}

.pg.making .st {
  width: 8.75rem;
}

.pg.making .st:before {
  padding: 0 0 17.75148%;
}

.pg.history .w {
  padding: 3.125rem 1.25rem 5.9375rem;
  background: #fff;
}

.pg.history .st {
  width: 9.5625rem;
}

.pg.history .st:before {
  padding: 0 0 16.39344%;
}

.pg.history .fi {
  padding: .71875rem .71875rem 1.875rem;
  border: 1px solid #999;
}

.pg.history .fi h2 {
  color: #e60012;
  font-size: 1.125rem;
  margin: 0 0 .625rem;
}

.pg.history .fi strong {
  font-weight: 600;
  margin: 0 0 .3125rem;
}

.pg.history .fi p, .pg.history .fi strong {
  display: block;
}

.pg.history .fi+.fi {
  margin: 1.5625rem 0 0;
}

.pg.history .ic {
  position: relative;
  margin: 0 0 1.25rem;
}

.pg.history .ic:before {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  padding: 0 0 50%;
}

.pg.history .ic img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.pg.history .rm {
  margin: 1.25rem auto 0;
  width: 8.4375rem;
}

.pg.history-sgl.kawaguchi .st {
  width: 15.625rem;
}

.pg.history-sgl.kawaguchi .st:before {
  padding: 0 0 6.56455%;
}

.pg.history-sgl.morita .st {
  width: 14.0625rem;
}

.pg.history-sgl.morita .st:before {
  padding: 0 0 8.49858%;
}

.pg.history-sgl .next {
  margin: 2.8125rem 0 0;
}

.pg.history-sgl .next a {
  display: block;
}

.pg.news .st {
  width: 6.40625rem;
}

.pg.news .st:before {
  padding: 0 0 24.19355%;
}

.pg.news .w {
  padding: 3.125rem 1.25rem 5.9375rem;
  background: #fff;
}

.pg.news .in:before {
  display: inline-block;
  content: "";
  margin: 0 .3em 0 0;
  width: .6875rem;
  height: 1.09375rem;
  background-size: contain;
  vertical-align: -.125rem;
}

.pg.news section+section h2 {
  margin-top: 4.0625rem;
}

.pg.news .sa {
  margin: 1.5625rem auto 0;
}

.news-list a {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: column;
  flex-flow: column;
  -webkit-justify-content: center;
  justify-content: center;
  padding: .9375rem 1.25rem;
  min-height: 5.625rem;
  transition: opacity .2s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.news-list a:hover {
  opacity: .7;
}

.news-list li {
  border-top: 1px solid #ccc;
}

.news-list li:last-of-type {
  border-bottom: 1px solid #ccc;
}

.news-list time {
  font-size: .92857em;
}

.news-banner {
  margin: 2.1875rem 0 0;
}

.news-banner li {
  border: 3px solid #e60012;
  border-radius: .625rem;
  min-height: 8.8125rem;
  display: -webkit-flex;
  display: flex;
}

.news-banner li, .news-banner li a {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}

.news-banner li a {
  display: block;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: column;
  flex-flow: column;
  text-align: center;
  padding: 1.15625rem;
  transition: opacity .2s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.news-banner li a:hover {
  opacity: .7;
}

.news-banner h1 {
  margin: 0 0 .3125rem;
}

.news-archive p.h {
  font-size: 1.25rem;
  text-align: center;
  font-weight: 600;
  margin: 0 0 1.25rem;
}

#nxt {
  margin: 3.4375rem 0 0;
  font-size: .8125rem;
  font-family: Helvetica Neue, Helvetica, sans-serif;
  font-weight: 400;
}

article.news-single {
  padding: 1.40625rem 1.25rem 4.375rem;
  background: #fff;
}

article.news-single .st {
  display: block;
  position: relative;
  width: 3.4375rem;
  margin: 0 0 .9375rem;
}

article.news-single .st:before {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  padding: 0 0 24.19355%;
}

article.news-single .st img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

article.news-single header {
  margin: 0 0 1.5625rem;
}

article.news-single header h1 {
  font-size: 1rem;
  padding: 0 0 .625rem;
  margin: 0 0 .625rem;
  border-bottom: 1px solid #000;
}

article.news-single header time {
  font-family: Helvetica Neue, Helvetica, sans-serif;
  font-weight: 400;
}

article.news-single p {
  line-height: 2;
}

article.news-single p a {
  text-decoration: underline;
}

article.news-single p a:hover {
  text-decoration: none;
}

article.news-single p+p {
  margin-top: 1.5em;
}

article.news-single figure {
  overflow: hidden;
  margin: 2.5rem auto 0;
  max-width: 100%;
}

article.news-single figure div {
  width: 100%;
  height: 0;
  position: relative;
  padding: 0;
}

article.news-single figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

article.news-single footer {
  margin-top: 2.5rem;
  padding: 0 0 0 1.40625rem;
  background-size: .9375rem;
}

article.news-single footer a {
  text-decoration: underline;
}

article.news-single footer a:hover {
  text-decoration: none;
}

.pg.access .st {
  width: 9.0625rem;
}

.pg.access .st:before {
  padding: 0 0 17.64706%;
}

.pg.access figure {
  margin: 0 0 .9375rem;
}

.pg.access figure .ic {
  position: relative;
  max-width: 100%;
}

.pg.access figure .ic:before {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  padding: 0 0 55.97015%;
}

.pg.access figure .ic img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.pg.access h2 {
  margin: 0 0 .46875rem;
}

.pg.access p {
  line-height: 2;
  font-size: .8125rem;
}

.pg.access p a {
  text-decoration: underline;
}

.pg.access p a:hover {
  text-decoration: none;
}

.pg.access .acs-content:nth-of-type(n+2) {
  margin-top: 4.375rem;
}

.pg.access .acs-content:nth-of-type(n+2).nm+.nm {
  margin-top: 2.5rem;
}

.pg.access figure[id], .pg.access h2[id] {
  margin-top: -7.8125rem;
  padding-top: 7.8125rem;
  pointer-events: none;
}

.pg.access figure[id] p, .pg.access h2[id] p {
  pointer-events: auto;
}

.pg.contact .st {
  width: 10.3125rem;
}

.pg.contact .st:before {
  padding: 0 0 14.70588%;
}

.pg.contact .fi+.fi {
  margin-top: 1.25rem;
}

.pg.contact .agreement {
  width: 19.84375rem;
  margin: 1.25rem auto 0;
}

.pg.contact .agreement .tx {
  font-size: .71875rem;
  line-height: 2;
  height: 8.75rem;
  border: 1px solid #ccc;
  padding: .625rem;
  overflow: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

.pg.contact .agree {
  padding: 0 0 0 1em;
  text-indent: -1em;
  margin: .46875rem 0 0;
}

.pg.contact .agree label {
  margin: 0;
}

.pg.contact .agree .accept {
  vertical-align: middle;
}

.pg.contact .btn {
  margin: 1.5625rem auto 0;
}

.pg.contact .p-postal-code {
  width: 7em;
}

.pg.contact .p-country-name {
  display: none;
}

.pg.contact .p-region {
  max-width: 7em;
}

.pg.contact .p-locality {
  max-width: 20em;
}

.pg.contact p.s {
  display: block;
  font-size: .75em;
  margin-top: .2em;
}

div.wpcf7 {
  margin: 1.5625rem 0 0;
}

div.wpcf7 label {
  display: block;
  margin: 0 0 .3125rem;
}

div.wpcf7 small {
  font-size: .6875rem;
  color: #ff1e00;
}

div.wpcf7 input[type=email], div.wpcf7 input[type=tel], div.wpcf7 input[type=text], div.wpcf7 textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
  font-size: 1rem;
  padding: .3125rem .4375rem;
  border: 1px solid #ccc;
  width: 100%;
  font-family: 游ゴシック体, Yu Gothic, YuGothic, Hiragino Sans, sans-serif;
}

div.wpcf7 input[type=email]::-webkit-input-placeholder, div.wpcf7 input[type=email]:placeholder-shown, div.wpcf7 input[type=tel]::-webkit-input-placeholder, div.wpcf7 input[type=tel]:placeholder-shown, div.wpcf7 input[type=text]::-webkit-input-placeholder, div.wpcf7 input[type=text]:placeholder-shown, div.wpcf7 textarea::-webkit-input-placeholder, div.wpcf7 textarea:placeholder-shown {
  color: #aaa;
  font-size: .8125rem;
  line-height: 1.7rem;
}

div.wpcf7 input[type=email]:-ms-input-placeholder, div.wpcf7 input[type=email]:placeholder-shown, div.wpcf7 input[type=tel]:-ms-input-placeholder, div.wpcf7 input[type=tel]:placeholder-shown, div.wpcf7 input[type=text]:-ms-input-placeholder, div.wpcf7 input[type=text]:placeholder-shown, div.wpcf7 textarea:-ms-input-placeholder, div.wpcf7 textarea:placeholder-shown {
  color: #aaa;
  font-size: .8125rem;
  line-height: 1.7rem;
}

div.wpcf7 input[type=email]::-ms-input-placeholder, div.wpcf7 input[type=email]:placeholder-shown, div.wpcf7 input[type=tel]::-ms-input-placeholder, div.wpcf7 input[type=tel]:placeholder-shown, div.wpcf7 input[type=text]::-ms-input-placeholder, div.wpcf7 input[type=text]:placeholder-shown, div.wpcf7 textarea::-ms-input-placeholder, div.wpcf7 textarea:placeholder-shown {
  color: #aaa;
  font-size: .8125rem;
  line-height: 1.7rem;
}

div.wpcf7 input[type=email]::placeholder, div.wpcf7 input[type=email]:placeholder-shown, div.wpcf7 input[type=tel]::placeholder, div.wpcf7 input[type=tel]:placeholder-shown, div.wpcf7 input[type=text]::placeholder, div.wpcf7 input[type=text]:placeholder-shown, div.wpcf7 textarea::placeholder, div.wpcf7 textarea:placeholder-shown {
  color: #aaa;
  font-size: .8125rem;
  line-height: 1.7rem;
}

div.wpcf7 input[type=tel] {
  max-width: 13em;
}

div.wpcf7 textarea {
  height: 10.3125rem;
  display: block;
  line-height: 2;
}

div.wpcf7 .wpcf7-submit[disabled] {
  background-color: #ccc;
  opacity: .5;
}

div.wpcf7 .ajax-loader {
  display: none;
}

div.wpcf7 .ajax-loader.is-active {
  display: block;
  margin: .625rem auto 0;
}

div.wpcf7 span.wpcf7-not-valid-tip {
  margin: .3125rem 0 0;
  font-size: .75rem;
}

div.wpcf7 .wpcf7-mail-sent-ok, div.wpcf7 .wpcf7-validation-errors {
  border: 2px solid;
  text-align: center;
}

div.wpcf7 .wpcf7-validation-errors {
  border-color: #e60012;
  color: #e60012;
}

div.wpcf7 .wpcf7-mail-sent-ok {
  border-color: #00a0e9;
  color: #00a0e9;
}

.prvcy header p {
  font-size: .7em;
}

.prvcy h1, .prvcy h2, .prvcy h3 {
  font-weight: 300;
}

.prvcy h2 {
  margin: 1em 0 0;
}

.prvcy h3 {
  margin: .5em 0 0;
}

br.d {
  display: none;
}

@-webkit-keyframes lz-kf {
  0% {
    opacity: 0;
    }
  to {
    opacity: 1;
    }
}

@keyframes lz-kf {
  0% {
    opacity: 0;
    }
  to {
    opacity: 1;
    }
}

.lz {
  opacity: 0;
}

.lz.p.aprd {
  -webkit-animation: lz-kf .47s ease-out;
  animation: lz-kf .47s ease-out;
}

@media only screen and (min-width:601px) {
  body {
    font-size: 1rem;
    letter-spacing: .0625em; }
  #imp-hdl {
    padding: .625rem 1.25rem;
    text-align: center;
    font-size: .875rem;
    }
  #ci .lg {
    display: block;
    position: relative;
    width: 220px;
    margin: 0 0 2.8125rem;
    }
  #ci .lg:before {
    display: block;
    content: "";
    width: 100%;
    height: 0;
    padding: 0 0 37.14286%;
    }
  #ci .lg img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    }
  #ci p.c {
    margin-top: 100px;
    font-size: .8125rem;
    }
  #ci p.c br {
    display: none;
    }
  #ci nav p {
    font-size: .8125rem;
    line-height: 1.92308;
    letter-spacing: .03em;
    margin: 0;
    }
  #ci nav p.b {
    margin-top: 25px;
    height: 1.875rem;
    }
  #ci a br {
    display: none;
    }
  #ci p.f {
    font-size: .875rem;
    margin-top: 20px;
    }
  .btn.mr {
    font-size: 1.0625rem;
    line-height: 1.17647;
    letter-spacing: .05em;
    width: 116px;
    padding: 9px 30px 9px 26px;
    background-position: right 10px top 50%;
    }
  .btn.mr.sbm {
    width: 186px;
    padding: 15px 30px 15px 26px;
    }
  .btn.mr.sa {
    width: 136px;
    padding: 9px 36px 9px 30px;
    }
  .btn.nxt {
    font-size: 1rem;
    max-width: 500px;
    width: auto;
    padding: 20px 30px;
    background-position: right 10px top 50%;
    }
  #home #ci {
    margin-top: 60px;
    }
  #home .sl .c {
    text-align: left;
    }

  #home #sl .s0 {
  background-image: url(../img/caseBg.jpg);
  }
  #home #sl .s1 {
  background-image: url(../img/companyBg.jpg);
  }
  #home #sl .s2 {
  background-image: url(../img/interviewBg.jpg);
  }
  #home #sl .s3 {
  background-image: url(../img/topBg.jpg);
  }
  #home .vs .ly {
    padding: 0;
  }
  #home .vs .btn {
    margin: 30px 0 0;
  }
  #home .vs.hf .ly {
    width: 50%;
    min-width: 400px;
    max-width: 575px;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    padding: 0 0 0 7.82609%;
  }
  #home .vs.hf.making .ly {
      padding-right: 7.82609%;
  }
  #home .vs.hf h1 {
    text-align: left;
    margin: 0 0 20px;
    }

  #home .vs.about .i .c {
    background-image: url(../img/companyBg.jpg);
    }

  #home .vs.about p br {
    display: inherit;
    }
  #home .vs.about .ly {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-flow: column;
    flex-flow: column;
    }
  #home .vs.about .btn {
    margin-top: 50px;
    }
  #home .vs.technology .i .c {
    background-image: url(../img/serviceBg.jpg);
    }
  #home .vs.technology h1.st {
    width: 335px;
    }
  #home .vs.making .i .c {
    background-image: url(../img/caseBg.jpg);

    }
  #home .vs.making .ly {
    left: auto;
    right: 0;
    }
  #home .vs.making h1.st {
    width: 190px;
    }

  #home .vs.erif h1 {
    width: 122px;
    margin: 0 0 24px;
    }
  #home .vs.erif b {
    width: 307px;
    margin: 0 0 25px;
    }
  #home .pg.news {
    padding: 100px 40px 120px;
    }

  .pg.nrw {
    padding: 20px 20px 90px;
    max-width: 740px;
    margin: 0 auto;
    width: 100%;
    }
  .pg.nrw header {
    margin: 0 0 20px;
    }
  .pec:before {
    padding: 0 0 39.0625%;
    }
  .pec .i {
    padding: 0 0 calc(39.0625% + 8.4375rem);
    }
  .pwrp {
    padding: 0 40px 90px;
    }
  .pnav {
    font-size: .9375rem;
    padding: 25px 0 65px;
    }
  .pgbi {
    margin-top: 60px;
    }
  .pgbi h2[id] {
    margin-top: -6.875rem;
    padding-top: 6.875rem;
    }
  .pgbi.headline {
    margin-top: 100px;
    font-size: 1.375rem;
    }
  .pgbi.headline+.pgbi {
    margin-top: 25px;
    }
  .pgbi.image {
    margin-top: 30px;
    }
  .pgbi.image figure .ic+.ic {
    margin: 20px 0 0;
    }
  .pgbi.image.rsp .ic.m {
    display: none;
    }
  .pgbi.image.rsp .ic.d {
    display: block;
    }
  .pgbi.text h1 {
    font-size: 1.5625rem;
    margin: 0 0 25px;
    }
  .pgbi.text h2 {
    font-size: 1.375rem;
    }
  .pgbi.text h3, .pgbi.text h4, .pgbi.text h5, .pgbi.text h6, .pgbi.text p {
    margin-top: 20px;
    }
  .pgbi.text h3:first-child, .pgbi.text h4:first-child, .pgbi.text h5:first-child, .pgbi.text h6:first-child, .pgbi.text p:first-child {
    margin-top: 0;
    }
  .pgbi.text h2+p {
    margin-top: 20px;
    }
  .pgbi.notes {
    font-size: .75rem;
    }
  .pgbi.dl {
    margin-left: -40px;
    margin-right: -40px;
    font-size: .875rem;
    }
  .pgbi.dl dt {
    padding: 40px 40px 0;
    }
  .pgbi.dl dd {
    padding: 15px 40px 35px;
    }
  .pgbi.grp .fc {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    }
  .pgbi.grp .l {
    width: 58.57143%;
    }
  .pgbi.grp .r {
    width: 37.14286%;
    }
  .pgbi.grp .image figure {
    margin: 0;
    max-width: 100%;
    }
  .pgbi.grp .image figcaption {
    text-align: left;
    font-size: .75rem;
    }
  .pgbi:first-child {
    margin: 0;
    }
  #notfound header {
    margin: 0 0 40px;
    }
  #notfound .st {
    width: 190px;
    }
  #notfound strong {
    font-size: 1.125rem;
    margin: 0 0 10px;
    }
  .pg.about .pec .i {
    background-image: url(/r/1/images/h/about.l.jpg);
    }
  .pg.about .st {
    width: 444px;
    }
  .pg.about .signature {
    margin: 30px 0 0;
    }
  .pg.about .signature:after {
    width: 90px;
    height: 90px;
    margin: 0 0 0 30px;
    }
  .pg.technology .st {
    width: 407px;
    }
  .pg.making .st {
    width: 230px;
    }
  .pg.history .w {
    padding: 60px 40px 90px;
    }
  .pg.history .st {
    width: 261px;
    }
  .pg.history .fi strong {
    margin: 0 0 8px;
    }
  .pg.history .fi p, .pg.history .fi strong {
    font-size: .9375rem;
    }
  .pg.history-sgl.kawaguchi .st {
    width: 500px;
    }
  .pg.history-sgl.morita .st {
    width: 450px;
    }
  .pg.history-sgl .next {
    margin: 50px 0 0;
    }
  .pg.news .st {
    width: 95px;
    }
  .pg.news header {
    padding: 0 8.69565%;
    max-width: 1150;
    }
  .pg.news .w {
    padding: 60px 40px 90px;
    }
  .pg.news .in:before {
    width: 19px;
    height: 30px;
    margin: 0 19px 0 0;
    vertical-align: -.3125rem;
    }
  .pg.news section+section h2 {
    margin-top: 115px;
    }
  .pg.news .sa {
    margin: 20px 0 0 auto;
    }
  .news-list a {
    -webkit-flex-flow: row;
    flex-flow: row;
    -webkit-justify-content: inherit;
    justify-content: inherit;
    min-height: 0;
    padding: 15px;
    font-size: .9375rem;
    }
  .news-list time {
    width: 120px;
    font-size: .9375rem;
    }
  .news-list p {
    -webkit-flex: 1 1;
    flex: 1 1;
    }
  .news-banner {
    margin: 40px 0 0;
    }
  .news-banner li {
    min-height: 10.3125rem;
    }
  .news-banner h1 {
    margin: 0 0 10px;
    }
  #nxt, .news-banner p {
    font-size: .9375rem;
    }
  #nxt {
    margin: 60px 0 0;
    padding: 0 15px;
    }
  article.news-single {
    padding: 20px 40px 110px;
    }
  article.news-single .st {
    width: 65px;
    }
  article.news-single header {
    margin: 0 0 30px;
    }
  article.news-single header h1 {
    font-size: 1.375rem;
    }
  article.news-single figure {
    margin-top: 55px;
    }
  article.news-single footer {
    margin-top: 50px;
    padding: 0 0 0 30px;
    background-size: 16px;
    }
  .pg.access header {
    padding: 0 8.69565%;
    max-width: 1150;
    }
  .pg.access .st {
    width: 131px;
    }
  .pg.access h2 {
    font-size: 1.125rem;
    }
  .pg.access p {
    font-size: .9375rem;
    }
  .pg.access .acs-content:nth-of-type(n+2) {
    margin-top: 70px;
    }
  .pg.access .acs-content:nth-of-type(n+2).nm+.nm {
    margin-top: 40px;
    }
  .pg.access figure[id], .pg.access h2[id] {
    margin-top: -6.875rem;
    padding-top: 6.875rem;
    }
  .pg.contact .st {
    width: 158px;
    }
  .pg.contact .agreement {
    width: 85.71429%;
    margin: 50px auto 0;
    }
  .pg.contact .agreement .tx {
    font-size: .875rem;
    padding: 15px;
    height: 200px;
    }
  .pg.contact .agree {
    margin: 15px 0 0;
    }
  .pg.contact .btn {
    margin: 60px auto 0;
    }
  div.wpcf7 {
    margin: 50px 0 0;
    }
  div.wpcf7 input[type=email], div.wpcf7 input[type=tel], div.wpcf7 input[type=text], div.wpcf7 textarea {
    font-size: .875rem;
    }
  div.wpcf7 input[type=email]::-webkit-input-placeholder, div.wpcf7 input[type=email]:placeholder-shown, div.wpcf7 input[type=tel]::-webkit-input-placeholder, div.wpcf7 input[type=tel]:placeholder-shown, div.wpcf7 input[type=text]::-webkit-input-placeholder, div.wpcf7 input[type=text]:placeholder-shown, div.wpcf7 textarea::-webkit-input-placeholder, div.wpcf7 textarea:placeholder-shown {
    font-size: .875rem;
    line-height: 1.4875rem;
    }
  div.wpcf7 input[type=email]:-ms-input-placeholder, div.wpcf7 input[type=email]:placeholder-shown, div.wpcf7 input[type=tel]:-ms-input-placeholder, div.wpcf7 input[type=tel]:placeholder-shown, div.wpcf7 input[type=text]:-ms-input-placeholder, div.wpcf7 input[type=text]:placeholder-shown, div.wpcf7 textarea:-ms-input-placeholder, div.wpcf7 textarea:placeholder-shown {
    font-size: .875rem;
    line-height: 1.4875rem;
    }
  div.wpcf7 input[type=email]::-ms-input-placeholder, div.wpcf7 input[type=email]:placeholder-shown, div.wpcf7 input[type=tel]::-ms-input-placeholder, div.wpcf7 input[type=tel]:placeholder-shown, div.wpcf7 input[type=text]::-ms-input-placeholder, div.wpcf7 input[type=text]:placeholder-shown, div.wpcf7 textarea::-ms-input-placeholder, div.wpcf7 textarea:placeholder-shown {
    font-size: .875rem;
    line-height: 1.4875rem;
    }
  div.wpcf7 input[type=email]::placeholder, div.wpcf7 input[type=email]:placeholder-shown, div.wpcf7 input[type=tel]::placeholder, div.wpcf7 input[type=tel]:placeholder-shown, div.wpcf7 input[type=text]::placeholder, div.wpcf7 input[type=text]:placeholder-shown, div.wpcf7 textarea::placeholder, div.wpcf7 textarea:placeholder-shown {
    font-size: .875rem;
    line-height: 1.4875rem;
    }
  br.m {
    display: none;
    }
  br.d {
    display: inline;
    }
}

@media only screen and (max-width:600px) and (min-width:601px) {
  .news-list {
    margin-left: -40px;
    margin-right: -40px;
    }
}

@media only screen and (min-width:651px) {
  #mb {
    display: none;
    }
  #mn {
    display: block;
    position: absolute;
    top: 27px;
    right: 30px;
    }
  #mn ul {
    /*padding: 0;*/
    -webkit-flex-flow: row;
    flex-flow: row;
    }
  #mn li+li {
    margin: 0 0 0 20px;
    }
  #mn li.top {
    display: none;
    }
  #mn li.top a {
    width: 2.02208rem;
    height: auto;
    }
  #mn li.about a {
    width: 5.5rem;
    height: auto;
    }
  #mn li.technology a {
    width: 8rem;
    height: auto;
    }
  #mn li.making a {
    width: 4.06824rem;
    height: auto;
    }
  #mn li.history {
    display: none;
    }
  #mn li.history a {
    width: 5.5rem;
    height: auto;
    }
  #mn li.access {
    display: none;
    }
  #mn li.access a {
    width: 6.09231rem;
    height: auto;
    }
  #mn li.news a {
      width: 4rem;
      height: auto;
  }
  #mn li.contact a {
      width: 8rem;
      height: auto;
  }
  #mc {
    display: none;
    }
}

@media only screen and (min-width:701px) {
  #ci {
    padding: 65px 40px 40px;
    }
  #ci .g.a {
    display: -webkit-flex;
    display: flex;
    }
  #ci .g.a, #ci .g.b {
    width: 50%;
    }
  #ci .g.b p:first-child {
    margin: 0;
    }
  #ci .g.c {
    display: none;
    }
  #ci .g.d {
    display: block;
    }
  .pg.history .fc {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    max-width: 950px;
    margin: 0 auto;
    }
  .pg.history .fc, .pg.history .fi {
    display: -webkit-flex;
    display: flex;
    }
  .pg.history .fi {
    padding: 2.63158% 2.63158% 4.21053%;
    width: 47.36842%;
    -webkit-flex-flow: column;
    flex-flow: column;
    }
  .pg.history .fi p {
    -webkit-flex: 1 1;
    flex: 1 1;
    }
  .pg.history .fi+.fi {
    margin: 0;
    }
  .pg.history .rm {
    width: 156px;
    }
}

@media only screen and (min-width:769px) {
  #bn {
    height: 100px;
    }
  #bn h1 {
      top: 20px;
      left: 230px;
      width: 250px;
  }
  .pg .st {
    margin: 0;
    }
  .pec:before {
    padding: 0 0 39.13043%;
    }
  .pec .i {
    padding: 0 0 calc(39.13043% + 180px);
    }
  .pwrp {
    display: -webkit-flex;
    display: flex;
    padding: 90px 8.69565% 110px;
    }
  .pct {
    width: 73.68421%;
    }
  .pnav {
    width: 26.31579%;
    padding: 0 30px 0 0;
    }
  .pnav ul {
    display: block;
    }
  .pnav li, .pnav ul {
    padding: 0;
    }
  .pnav li+li {
    margin: 10px 0 0;
    }
  .pnav strong {
    text-align: left;
    margin: 0 0 10px;
    }
  .pgbi.dl {
    margin: 0;
    }
  .pgbi.dl dl {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: wrap;
    flex-flow: wrap;
    width: 100%;
    }
  .pgbi.dl dt {
    padding: 0;
    border: none;
    font-weight: 300;
    width: 170px;
    }
  .pgbi.dl dt:nth-of-type(n+2) {
    margin-top: 15px;
    }
  .pgbi.dl dd {
    padding: 0;
    width: calc(100% - 170px);
    }
  .pgbi.dl dd:nth-of-type(n+2) {
    margin-top: 15px;
    }
  .pgbi.dl dd:last-child {
    border: none;
    }
  .pgbi.dl.typ2 dt {
    width: 140px;
    }
  .pgbi.dl.typ2 dd {
    width: calc(100% - 140px);
    }
  .pgbi.dl.typ3 dl {
    border: 1px solid #999;
    border-top: none;
    }
  .pgbi.dl.typ3 dd, .pgbi.dl.typ3 dt {
    border: solid #999;
    padding: 10px 12px;
    }
  .pgbi.dl.typ3 dd:nth-of-type(n+2), .pgbi.dl.typ3 dt:nth-of-type(n+2) {
    margin-top: 0;
    }
  .pgbi.dl.typ3 dt {
    width: 110px;
    border-width: 1px 0 0;
    }
  .pgbi.dl.typ3 dd {
    width: calc(100% - 110px);
    border-width: 1px 0 0 1px;
    }
  .pg.about .st {
    margin: 0 15.65217% 0 auto;
    }
  .pg.technology .st {
    left: 8.69565%;
    }
  .pg.making .st, .pg.technology .st {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    }
  .pg.making .st {
    right: 16.52174%;
    }
  .pg.history .w {
    padding: 90px 8.69565% 110px;
    }
  .pg.history-sgl.kawaguchi .st, .pg.history-sgl.morita .st, .pg.history .st {
    position: absolute;
    top: 50%;
    left: 13.47826%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    }
  .pg.news .w {
    padding: 90px 8.69565% 110px;
    }
  .news-banner {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: wrap;
    flex-flow: wrap;
    }
  .news-banner li {
    width: calc((100% - 40px)/2);
    }
  .news-banner li:nth-of-type(n+3) {
    margin-top: 40px;
    }
  .news-banner li:nth-of-type(2n+2) {
    margin-left: 40px;
    }
  .news-archive p.h {
    text-align: left;
    margin: 0 0 15px;
    font-size: 1.375rem;
    }
}

@media only screen and (max-width:600px) and (min-width:769px) {
  .news-list {
    margin: 0;
    }
}

@media only screen and (min-width:781px) {
  article.news-single {
    padding: 20px calc((100% - 700px)/2) 110px;
    }
}

@media only screen and (min-width:869px) {
  #mn li.history {
    display: block;
    }
}

@media only screen and (min-width:919px) {
  #mn li.access {
    display: block;
    }
}

@media only screen and (min-width:1001px) {
  #ci {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: wrap;
    flex-flow: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 65px 60px 40px;
    }
  #ci nav {
    width: 680px;
    }
}

@media only screen and (min-width:1151px) {
  #ci {
    padding: 65px calc((100% - 1010px)/2) 40px;
    }
  #home .vs.hf .ly {
    left: calc((100% - 1150px)/2);
    }
  #home .vs.about .ly {
    left: auto;
    }
  #home .vs.making .ly {
    left: auto;
    right: calc((100% - 1150px)/2);
    }
  #home .pg.news {
    padding: 100px calc((100% - 1150px)/2) 120px;
    }
  .pec .msk {
    max-width: 1150px;
    left: calc((100% - 1150px)/2);
    }
  .pg.history .w, .pwrp {
    padding: 90px calc((100% - 950px)/2) 110px;
    }
  .pg.news header {
    width: 950px;
    margin: 0 auto;
    padding: 0;
    }
  .pg.news .w {
    padding: 90px calc((100% - 950px)/2) 110px;
    }
  .pg.access header {
    width: 950px;
    margin: 0 auto;
    padding: 0;
    }
}

@media (-webkit-min-device-pixel-ratio:2), (min-resolution:2dppx), only screen and (-webkit-min-device-pixel-ratio:2) {
  html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    }
}

@media only screen and (max-width:320px) {
  html {
    font-size: 87.5%;
    }
}

@media only screen and (max-width:650px) {
  #mn {
    left: 0;
    width: 100%;
    height: 100%;
    background: #333;
    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    z-index: 128;
    }
  .mo #mn {
    display: block;
    }
}

@media only screen and (max-width:768px) {
  .pnav li+li:before {
    content: "/";
    display: inline-block;
    margin: 0 .3125rem 0 0;
    }
  .news-banner li:nth-of-type(n+2) {
    margin: 1.25rem 0 0;
    }
}

@media only screen and (max-width:600px) {
  .pgbi.dl h3:first-of-type {
    margin-top: 1em;
    }
  .news-list {
    margin-left: -1.25rem;
    margin-right: -1.25rem;
    }
}

@media (-ms-high-contrast:none) {
  .pg.history .fi p {
    min-height: 8.5rem;
    }
}