@charset "utf-8";
body {
  font-family: 'Lato', 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  word-wrap: break-word;
  font-feature-settings: "palt";
  letter-spacing: 1px;
  color: #333;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

a {
  text-decoration: none;
  color: #333; }
  @media print, screen and (min-width: 62em) {
    a[href^='tel'] {
      pointer-events: none;
      cursor: text; } }

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.25;
  font-weight: 700; }

address {
  font-style: normal; }

.browser-is-ie wbr:after {
  content: '\00200B'; }

.preload * {
  -webkit-transition: all 0s !important;
  transition: all 0s !important; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: #333; }

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #ddd; }

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #ddd; }

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #ddd; }

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: #ddd; }

input::placeholder,
textarea::placeholder {
  color: #ddd; }

.img-max {
  width: 100%;
  height: auto;
  display: block; }

@media print, screen and (min-width: 48em) {
  .pc-br {
    display: inline-block; } }

@media only screen and (max-width: 47.9375em) {
  .pc-br {
    display: none; } }

@media print, screen and (min-width: 75em) {
  .tab-br {
    display: inline-block; } }

@media print, screen and (max-width: 74.9375em) {
  .tab-br {
    display: none; } }

@media print, screen and (min-width: 62em) {
  .mid-br {
    display: inline-block; } }

@media print, screen and (max-width: 61.9375em) {
  .mid-br {
    display: none; } }

@media print, screen and (min-width: 48em) {
  .pc-none {
    display: none; } }

@media only screen and (max-width: 47.9375em) {
  .sp-none {
    display: none; } }

@media only screen and (max-width: 47.9375em) {
  .common-br {
    display: inline-block; } }

@media print, screen and (min-width: 48em) {
  .sp-br {
    display: none; } }

@media only screen and (max-width: 47.9375em) {
  .sp-br {
    display: inline-block; } }

@media print, screen and (min-width: 48em) {
  .ssp-br {
    display: none; } }

@media only screen and (max-width: 47.9375em) {
  .ssp-br {
    display: none; } }

@media only screen and (max-width: 36em) {
  .ssp-br {
    display: inline-block; } }

.object-fit {
  -o-object-fit: cover;
     font-family: "object-fit:cover";
     object-fit: cover; }

.grecaptcha-badge {
  visibility: hidden; }

/* ==========================================================================
Layout
========================================================================== */
/* Body直下のwrapper
----------------------------------------------------------------- */
.l-root-container {
  position: relative;
  overflow: hidden;
  height: 100%; }
  body:not(.browser-is-ie) .l-root-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }

.l-container {
  position: relative;
  height: 100%;
  width: 100%;
  margin-right: auto;
  margin-left: auto; }
  @media only screen and (max-width: 47.9375em) {
    .l-container {
      width: calc(100% - 60px); } }
  @media only screen and (max-width: 36em) {
    .l-container {
      width: calc(100% - 30px); } }
  @media print, screen and (min-width: 48em) {
    .l-container._md {
      width: calc(1308 / 1400 * 100%);
      margin-left: auto;
      margin-right: 0;
      margin-bottom: 80px; } }
  @media only screen and (max-width: 47.9375em) {
    .l-container._md {
      margin-bottom: 80px; } }
  @media print, screen and (min-width: 48em) {
    .l-container._header {
      width: calc(1280 / 1400 * 100%); } }
  @media only screen and (max-width: 47.9375em) {
    .l-container._header {
      width: calc(100% - 60px); } }
  @media only screen and (max-width: 36em) {
    .l-container._header {
      width: calc(100% - 40px); } }
  @media print, screen and (min-width: 48em) {
    .l-container._secondary, .l-container._tagline {
      width: calc(1220 / 1400 * 100%); } }
  @media print, screen and (min-width: 48em) {
    .l-container._secondarySmall {
      width: calc(1110 / 1400 * 100%); } }
  @media print, screen and (min-width: 48em) {
    .l-container._mainVisualSecondary {
      width: calc(1130 / 1400 * 100%); } }
  @media print, screen and (min-width: 48em) {
    .l-container._left._lg, .l-container._right._lg {
      width: calc(1310 / 1400 * 100%); } }
  @media print, screen and (min-width: 48em) {
    .l-container._left._sm, .l-container._right._sm {
      width: calc(100% - 10.357142857142858%); } }
  @media print, screen and (min-width: 48em) {
    .l-container._left {
      margin-right: auto;
      margin-left: 0; } }
  @media print, screen and (min-width: 48em) {
    .l-container._right {
      margin-right: 0;
      margin-left: auto; } }

@media print, screen and (min-width: 48em) {
  .l-footer {
    padding-bottom: 60px; } }

@media only screen and (max-width: 47.9375em) {
  .l-footer {
    padding-bottom: 60px; } }

.l-footer .l-footer__banner {
  z-index: 1; }
  @media only screen and (max-width: 47.9375em) {
    .l-footer .l-footer__banner {
      display: block; } }
  .l-footer .l-footer__banner .l-footer__bannerItem {
    display: block;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    position: relative; }
    @media only screen and (max-width: 47.9375em) {
      .l-footer .l-footer__banner .l-footer__bannerItem {
        width: 100%;
        background-position: center; } }
    .l-footer .l-footer__banner .l-footer__bannerItem::before {
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      -webkit-transition-duration: .2s;
              transition-duration: .2s; }
    @media print, screen and (min-width: 48em) {
      .l-footer .l-footer__banner .l-footer__bannerItem._flow, .l-footer .l-footer__banner .l-footer__bannerItem._product, .l-footer .l-footer__banner .l-footer__bannerItem._scene, .l-footer .l-footer__banner .l-footer__bannerItem._home {
        background-size: 125%;
        background-position: center;
        -webkit-transition-duration: .2s;
                transition-duration: .2s;
        -webkit-transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
                transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715); }
        .l-footer .l-footer__banner .l-footer__bannerItem._flow:hover, .l-footer .l-footer__banner .l-footer__bannerItem._product:hover, .l-footer .l-footer__banner .l-footer__bannerItem._scene:hover, .l-footer .l-footer__banner .l-footer__bannerItem._home:hover {
          background-size: 130%; } }
    @media print, screen and (min-width: 62em) {
      .l-footer .l-footer__banner .l-footer__bannerItem._flow, .l-footer .l-footer__banner .l-footer__bannerItem._product, .l-footer .l-footer__banner .l-footer__bannerItem._scene, .l-footer .l-footer__banner .l-footer__bannerItem._home {
        background-size: 115%; }
        .l-footer .l-footer__banner .l-footer__bannerItem._flow:hover, .l-footer .l-footer__banner .l-footer__bannerItem._product:hover, .l-footer .l-footer__banner .l-footer__bannerItem._scene:hover, .l-footer .l-footer__banner .l-footer__bannerItem._home:hover {
          background-size: 120%; } }
    .l-footer .l-footer__banner .l-footer__bannerItem img {
      position: absolute;
      top: 0;
      height: 100%;
      width: 100%;
      -o-object-fit: cover;
         font-family: "object-fit:cover;object-position:center";
         object-fit: cover;
      left: 0;
      -o-object-position: center;
         object-position: center;
      z-index: -1;
      filter: brightness(90%); }
    .l-footer .l-footer__banner .l-footer__bannerItem._flow img {
      -o-object-position: 80%;
         object-position: 80%; }
    .l-footer .l-footer__banner .l-footer__bannerItem._full {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      position: relative;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      text-align: center; }
      @media print, screen and (min-width: 48em) {
        .l-footer .l-footer__banner .l-footer__bannerItem._full {
          width: 100%;
          height: 280px; } }
      @media print, screen and (min-width: 62em) {
        .l-footer .l-footer__banner .l-footer__bannerItem._full {
          height: 340px; } }
      @media print, screen and (min-width: 75em) {
        .l-footer .l-footer__banner .l-footer__bannerItem._full {
          height: 360px; } }
      @media print, screen and (min-width: 87.5em) {
        .l-footer .l-footer__banner .l-footer__bannerItem._full {
          height: 420px; } }
      @media only screen and (max-width: 47.9375em) {
        .l-footer .l-footer__banner .l-footer__bannerItem._full {
          width: 100%;
          height: 370px;
          background-position: center; } }
    @media print, screen and (min-width: 48em) {
      .l-footer .l-footer__banner .l-footer__bannerItem._half {
        width: 50%;
        height: auto; } }
    @media print, screen and (min-width: 62em) {
      .l-footer .l-footer__banner .l-footer__bannerItem._half {
        height: 320px; } }
    @media print, screen and (min-width: 75em) {
      .l-footer .l-footer__banner .l-footer__bannerItem._half {
        height: 360px; } }
    @media print, screen and (min-width: 87.5em) {
      .l-footer .l-footer__banner .l-footer__bannerItem._half {
        height: 470px;
        max-height: 470px; } }
    @media only screen and (max-width: 47.9375em) {
      .l-footer .l-footer__banner .l-footer__bannerItem._half {
        width: 100%;
        height: 370px;
        background-position: center; } }
  .l-footer .l-footer__banner .l-footer__bannerInner {
    z-index: 1; }
    @media print, screen and (min-width: 48em) {
      .l-footer .l-footer__banner .l-footer__bannerInner {
        padding: 40px; } }
    @media only screen and (max-width: 47.9375em) {
      .l-footer .l-footer__banner .l-footer__bannerInner {
        padding: 25px 15px; } }

@media print, screen and (min-width: 48em) {
  .l-footer .l-footer__information {
    margin-top: 100px; } }

@media only screen and (max-width: 47.9375em) {
  .l-footer .l-footer__information {
    margin-top: 60px; } }

@media print, screen and (min-width: 48em) {
  .l-footer .l-footer__information .l-footer__informationItem {
    width: 50%; } }

@media only screen and (max-width: 47.9375em) {
  .l-footer .l-footer__information .l-footer__informationItem {
    width: 100%; } }

@media only screen and (max-width: 47.9375em) {
  .l-footer .l-footer__information .l-footer__informationItem .l-footer__informationInner {
    margin: 0 15px;
    width: calc(100% - 30px); } }

@media only screen and (max-width: 47.9375em) {
  .l-footer .l-footer__information .l-footer__informationItem._address {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-top: 50px; } }

@media print, screen and (min-width: 48em) {
  .l-footer .l-footer__information .l-footer__informationItem._address .l-footer__informationInner {
    margin-left: auto;
    width: calc(555 / 700 * 100%); } }

@media only screen and (max-width: 47.9375em) {
  .l-footer .l-footer__information .l-footer__informationItem._address .l-footer__informationInner {
    font-size: 12px;
    font-size: 0.75rem; } }

.l-footer .l-footer__information .l-footer__informationItem._address .l-footer__informationInner a {
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
  display: inline-block;
  width: calc(203 / 555 * 100%); }
  @media print, screen and (min-width: 48em) {
    .l-footer .l-footer__information .l-footer__informationItem._address .l-footer__informationInner a:hover {
      opacity: 0.7; } }

.l-footer .l-footer__information .l-footer__informationItem._address .l-footer__informationAddress {
  font-weight: 400;
  line-height: 1.85; }
  @media print, screen and (min-width: 48em) {
    .l-footer .l-footer__information .l-footer__informationItem._address .l-footer__informationAddress {
      font-size: 14px;
      font-size: 0.875rem;
      margin-top: 30px;
      margin-right: 11.172%; } }
  @media print, screen and (min-width: 62em) {
    .l-footer .l-footer__information .l-footer__informationItem._address .l-footer__informationAddress {
      margin-top: 52px; } }
  @media only screen and (max-width: 47.9375em) {
    .l-footer .l-footer__information .l-footer__informationItem._address .l-footer__informationAddress {
      margin-top: 15px;
      font-size: 12px;
      font-size: 0.75rem; } }

@media only screen and (max-width: 47.9375em) {
  .l-footer .l-footer__information .l-footer__informationItem._contact {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; } }

@media print, screen and (min-width: 48em) {
  .l-footer .l-footer__information .l-footer__informationItem._contact .l-footer__informationInner {
    margin-right: auto;
    width: calc(620 / 700 * 100%); } }

.l-footer .l-footer__contact {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media print, screen and (min-width: 48em) {
    .l-footer .l-footer__contact {
      margin-top: 40px; } }
  @media only screen and (max-width: 47.9375em) {
    .l-footer .l-footer__contact {
      margin-top: 30px;
      display: block; } }
  .l-footer .l-footer__contact .l-footer__contactItem {
    border: 1px solid #dddddd;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc(300 / 620 * 100%); }
    @media print, screen and (min-width: 48em) {
      .l-footer .l-footer__contact .l-footer__contactItem {
        width: calc(300 / 620 * 100%); } }
    @media only screen and (max-width: 47.9375em) {
      .l-footer .l-footer__contact .l-footer__contactItem {
        width: 100%; }
        .l-footer .l-footer__contact .l-footer__contactItem:nth-of-type(2) {
          margin-top: 30px; } }
  .l-footer .l-footer__contact .l-footer__contactLink {
    display: block;
    -webkit-transition-duration: .3s;
            transition-duration: .3s;
    -webkit-transition-property: opacity;
    transition-property: opacity; }
    @media print, screen and (min-width: 48em) {
      .l-footer .l-footer__contact .l-footer__contactLink:hover {
        opacity: 0.5; } }
    @media print, screen and (min-width: 48em) {
      .l-footer .l-footer__contact .l-footer__contactLink {
        padding-top: 21px;
        padding-bottom: 22px; } }
    @media only screen and (max-width: 47.9375em) {
      .l-footer .l-footer__contact .l-footer__contactLink {
        padding-top: 18px;
        padding-bottom: 14px;
        padding-right: 5px;
        padding-left: 5px; } }
  .l-footer .l-footer__contact .l-footer__contactHead {
    font-weight: 700;
    text-align: center; }
    @media print, screen and (min-width: 48em) {
      .l-footer .l-footer__contact .l-footer__contactHead {
        margin-top: 12px;
        font-size: 18px;
        font-size: 1.125rem; } }
    @media print, screen and (min-width: 62em) {
      .l-footer .l-footer__contact .l-footer__contactHead {
        font-size: 24px;
        font-size: 1.5rem; } }
    @media print, screen and (min-width: 75em) {
      .l-footer .l-footer__contact .l-footer__contactHead {
        font-size: 30px;
        font-size: 1.875rem; } }
    @media only screen and (max-width: 47.9375em) {
      .l-footer .l-footer__contact .l-footer__contactHead {
        margin-top: 10px;
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 1.5; } }
    .l-footer .l-footer__contact .l-footer__contactHead:before {
      display: inline-block;
      content: "";
      background-size: contain; }
    .l-footer .l-footer__contact .l-footer__contactHead._num:before {
      background-image: url(../img/common/icon_tel.png); }
      @media print, screen and (min-width: 48em) {
        .l-footer .l-footer__contact .l-footer__contactHead._num:before {
          width: 10px;
          height: 13px;
          margin-right: 4px; } }
      @media print, screen and (min-width: 62em) {
        .l-footer .l-footer__contact .l-footer__contactHead._num:before {
          width: 15px;
          height: 20px; } }
      @media print, screen and (min-width: 75em) {
        .l-footer .l-footer__contact .l-footer__contactHead._num:before {
          width: 17px;
          height: 23px;
          margin-right: 5px; } }
      @media only screen and (max-width: 47.9375em) {
        .l-footer .l-footer__contact .l-footer__contactHead._num:before {
          width: 13px;
          height: 17px;
          margin-right: 5px;
          vertical-align: unset; } }
    .l-footer .l-footer__contact .l-footer__contactHead._email:before {
      background-image: url(../img/common/icon_email.png); }
      @media print, screen and (min-width: 48em) {
        .l-footer .l-footer__contact .l-footer__contactHead._email:before {
          width: 21px;
          height: 16px;
          margin-right: 8px; } }
      @media print, screen and (min-width: 62em) {
        .l-footer .l-footer__contact .l-footer__contactHead._email:before {
          width: 28px;
          height: 21px;
          margin-right: 4px; } }
      @media only screen and (max-width: 47.9375em) {
        .l-footer .l-footer__contact .l-footer__contactHead._email:before {
          width: 22px;
          height: 17px;
          margin-right: 5px;
          vertical-align: unset; } }
  .l-footer .l-footer__contact .l-footer__contactText {
    text-align: center;
    font-weight: 350; }
    @media print, screen and (min-width: 48em) {
      .l-footer .l-footer__contact .l-footer__contactText {
        font-size: 12px;
        font-size: 0.75rem;
        margin-top: 13px; } }
    @media only screen and (max-width: 47.9375em) {
      .l-footer .l-footer__contact .l-footer__contactText {
        font-size: 14px;
        font-size: 0.875rem;
        margin-top: 8px; } }

@media print, screen and (min-width: 48em) {
  .l-footer .l-footer__menu {
    margin-top: 50px; } }

@media print, screen and (min-width: 62em) {
  .l-footer .l-footer__menu {
    margin-top: 70px; } }

@media only screen and (max-width: 47.9375em) {
  .l-footer .l-footer__menu {
    margin-left: 15px;
    margin-right: 15px;
    margin-top: 45px;
    -webkit-box-pack: start  !important;
        -ms-flex-pack: start  !important;
            justify-content: flex-start  !important; } }

@media only screen and (max-width: 47.9375em) {
  .l-footer .l-footer__menu .l-footer__menuItem {
    width: calc(50%); } }

@media print, screen and (min-width: 48em) {
  .l-footer .l-footer__menu .l-footer__menuItem:not(:first-of-type) {
    margin-left: 30px; } }

@media print, screen and (min-width: 48em) {
  .l-footer .l-footer__menu .l-footer__menuItem:not(:first-of-type) {
    margin-left: 30px; } }

@media only screen and (max-width: 47.9375em) {
  .l-footer .l-footer__menu .l-footer__menuItem:nth-child(n+3) {
    margin-top: 10px; } }

.l-footer .l-footer__menu .l-footer__menuLink {
  font-weight: 700;
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
  -webkit-transition-property: opacity;
  transition-property: opacity; }
  @media print, screen and (min-width: 48em) {
    .l-footer .l-footer__menu .l-footer__menuLink:hover {
      opacity: 0.5; } }
  @media print, screen and (min-width: 48em) {
    .l-footer .l-footer__menu .l-footer__menuLink {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media only screen and (max-width: 47.9375em) {
    .l-footer .l-footer__menu .l-footer__menuLink {
      font-size: 15px;
      font-size: 0.9375rem; } }

.l-footer .l-footer__copyright {
  display: block;
  font-weight: 400;
  color: #999999; }
  @media print, screen and (min-width: 48em) {
    .l-footer .l-footer__copyright {
      font-size: 12px;
      font-size: 0.75rem;
      margin-top: 27px;
      text-align: center; } }
  @media only screen and (max-width: 47.9375em) {
    .l-footer .l-footer__copyright {
      font-size: 10px;
      font-size: 0.625rem;
      margin-top: 45px;
      margin-left: 15px;
      margin-right: 15px;
      text-align: left; } }

/* ヘッダー
----------------------------------------------------------------- */
.l-header {
  width: 100%;
  z-index: 60000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: fixed;
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
  background-color: #fff; }
  .l-header._open, .l-header._scroll {
    background-color: #fff; }
    @media print, screen and (max-width: 61.9375em) {
      .l-header._open .p-mainMenuButton::before, .l-header._open .p-mainMenuButton::after, .l-header._scroll .p-mainMenuButton::before, .l-header._scroll .p-mainMenuButton::after {
        background-color: #000; } }
  @media print, screen and (min-width: 62em) {
    body.secondary .l-header {
      background-color: #fff; } }
  body.secondary .l-header .p-mainMenuButton::before, body.secondary .l-header .p-mainMenuButton::after {
    background-color: #000; }
  @media print, screen and (min-width: 48em) {
    .l-header {
      padding-top: 30px;
      height: 80px; } }
  @media print, screen and (min-width: 62em) {
    .l-header {
      height: 120px; } }
  @media only screen and (max-width: 47.9375em) {
    .l-header {
      padding-top: 30px;
      height: 80px; } }
  @media only screen and (max-width: 36em) {
    .l-header {
      padding-top: 17px;
      height: 46px; } }
  @media print, screen and (min-width: 62em) {
    .l-header._scroll {
      height: 80px;
      padding-top: 13px; } }
  @media print, screen and (min-width: 75em) {
    .l-header._scroll {
      padding-top: 11px; } }

.l-header__inner {
  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;
  -webkit-box-align: self-start;
      -ms-flex-align: self-start;
          align-items: self-start; }

.l-header__logo {
  display: block; }
  @media print, screen and (min-width: 62em) {
    .l-header__logo {
      margin: auto 0; } }
  @media only screen and (max-width: 36em) {
    .l-header__logo {
      margin-left: 0;
      margin-top: -2px; } }
  .l-header__logo .l-header__logoLink {
    display: block; }
    @media print, screen and (min-width: 48em) {
      .l-header__logo .l-header__logoLink img {
        width: 150px;
        height: auto; } }
    @media print, screen and (min-width: 62em) {
      .l-header__logo .l-header__logoLink img {
        width: 130px; } }
    @media print, screen and (min-width: 75em) {
      .l-header__logo .l-header__logoLink img {
        width: 170px; } }
    @media only screen and (max-width: 47.9375em) {
      .l-header__logo .l-header__logoLink img {
        width: 133px;
        vertical-align: top; } }
    @media only screen and (max-width: 36em) {
      .l-header__logo .l-header__logoLink img {
        width: 105px; } }

@media print, screen and (min-width: 62em) {
  .l-header__nav {
    height: 60px; } }

@media print, screen and (max-width: 61.9375em) {
  .l-header__nav {
    width: calc(100%);
    visibility: hidden;
    overflow-y: scroll;
    position: fixed;
    top: 80px;
    background: #fff;
    right: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    height: calc(100% - 80px);
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: -webkit-transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1); } }

@media only screen and (max-width: 36em) {
  .l-header__nav {
    top: 46px;
    height: calc(100% - 46px); } }

.l-header._open .l-header__nav {
  visibility: visible;
  z-index: 60000;
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0); }

@media print, screen and (min-width: 62em) {
  .l-header__nav .l-header__navInner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

@media print, screen and (max-width: 61.9375em) {
  .l-header__nav .l-header__navInner {
    display: block;
    width: calc(100% - 60px);
    margin: auto;
    padding-top: 49px;
    padding-bottom: 49px; } }

@media only screen and (max-width: 36em) {
  .l-header__nav .l-header__navInner {
    width: calc(100% - 40px); } }

@media print, screen and (min-width: 48em) {
  body.secondary .l-main {
    margin-top: 80px; } }

@media print, screen and (min-width: 62em) {
  body.secondary .l-main {
    margin-top: 120px; } }

@media only screen and (max-width: 47.9375em) {
  body.secondary .l-main {
    margin-top: 80px; } }

@media only screen and (max-width: 36em) {
  body.secondary .l-main {
    margin-top: 46px; } }

/* ==========================================================================
Object
========================================================================== */
[class*="c-heading"] {
  line-height: 1.5; }
  [class*="c-heading"]._center {
    text-align: center; }
  @media print, screen and (min-width: 48em) {
    [class*="c-heading"]._centerLG {
      text-align: center; } }
  [class*="c-heading"]._right {
    text-align: right; }
  [class*="c-heading"]._left {
    text-align: left; }
  [class*="c-heading"]:first-child {
    margin-top: 0; }

.c-heading {
  line-height: 1.2;
  display: block; }
  .c-heading._white {
    color: #fff; }
  .c-heading.-lv_1._secondary .p-mainVisualSecondary__main {
    font-weight: 700;
    color: #fff; }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_1._secondary .p-mainVisualSecondary__main {
        font-size: 28px;
        font-size: 1.75rem; } }
    @media print, screen and (min-width: 62em) {
      .c-heading.-lv_1._secondary .p-mainVisualSecondary__main {
        font-size: 45px;
        font-size: 2.8125rem; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_1._secondary .p-mainVisualSecondary__main {
        font-size: 24px;
        font-size: 1.4rem; } }
    .c-heading.-lv_1._secondary .p-mainVisualSecondary__main .cross {
      display: inline-block;
      position: relative; }
      @media print, screen and (min-width: 48em) {
        .c-heading.-lv_1._secondary .p-mainVisualSecondary__main .cross {
          margin: 0 7px 0 8px;
          width: 22px;
          height: 22px;
          top: 1px; } }
      @media print, screen and (min-width: 62em) {
        .c-heading.-lv_1._secondary .p-mainVisualSecondary__main .cross {
          margin: 0 7px;
          width: 26px;
          height: 26px;
          top: -5px; } }
      @media only screen and (max-width: 47.9375em) {
        .c-heading.-lv_1._secondary .p-mainVisualSecondary__main .cross {
          margin: 0 12px 0 8px;
          width: 14px;
          height: 14px;
          top: -1.5px; } }
      .c-heading.-lv_1._secondary .p-mainVisualSecondary__main .cross::before, .c-heading.-lv_1._secondary .p-mainVisualSecondary__main .cross::after {
        content: '';
        height: 1px;
        display: block;
        background-color: #fff;
        position: absolute;
        top: 50%; }
        @media print, screen and (min-width: 48em) {
          .c-heading.-lv_1._secondary .p-mainVisualSecondary__main .cross::before, .c-heading.-lv_1._secondary .p-mainVisualSecondary__main .cross::after {
            width: 30px; } }
        @media print, screen and (min-width: 62em) {
          .c-heading.-lv_1._secondary .p-mainVisualSecondary__main .cross::before, .c-heading.-lv_1._secondary .p-mainVisualSecondary__main .cross::after {
            width: 36px; } }
        @media only screen and (max-width: 47.9375em) {
          .c-heading.-lv_1._secondary .p-mainVisualSecondary__main .cross::before, .c-heading.-lv_1._secondary .p-mainVisualSecondary__main .cross::after {
            width: 22px; } }
      .c-heading.-lv_1._secondary .p-mainVisualSecondary__main .cross::before {
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg); }
      .c-heading.-lv_1._secondary .p-mainVisualSecondary__main .cross::after {
        -webkit-transform: rotate(135deg);
                transform: rotate(135deg); }
  .c-heading.-lv_1._secondary .p-mainVisualSecondary__pre,
  .c-heading.-lv_1._secondary .p-mainVisualSecondary__text {
    font-weight: 400;
    color: #fff; }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_1._secondary .p-mainVisualSecondary__pre,
      .c-heading.-lv_1._secondary .p-mainVisualSecondary__text {
        font-size: 15px;
        font-size: 0.9375rem; } }
    @media print, screen and (min-width: 62em) {
      .c-heading.-lv_1._secondary .p-mainVisualSecondary__pre,
      .c-heading.-lv_1._secondary .p-mainVisualSecondary__text {
        font-size: 16px;
        font-size: 1rem; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_1._secondary .p-mainVisualSecondary__pre,
      .c-heading.-lv_1._secondary .p-mainVisualSecondary__text {
        font-size: 14px;
        font-size: 0.875rem; } }
  .c-heading.-lv_1._secondary .p-mainVisualSecondary__pre {
    position: relative; }
    .c-heading.-lv_1._secondary .p-mainVisualSecondary__pre::after {
      content: '';
      width: 50px;
      height: 1px;
      display: inline-block;
      vertical-align: middle;
      margin-left: 9px; }
  @media print, screen and (min-width: 48em) {
    .c-heading.-lv_1._secondary .p-mainVisualSecondary__text {
      margin-top: 18px; } }
  @media print, screen and (min-width: 62em) {
    .c-heading.-lv_1._secondary .p-mainVisualSecondary__text {
      font-size: 16px;
      font-size: 1rem;
      margin-top: 24px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading.-lv_1._secondary .p-mainVisualSecondary__text {
      margin-top: 20px; } }
  .c-heading.-lv_1._secondary._black .p-mainVisualSecondary__pre,
  .c-heading.-lv_1._secondary._black .p-mainVisualSecondary__main,
  .c-heading.-lv_1._secondary._black .p-mainVisualSecondary__text {
    color: #333; }
  .c-heading.-lv_1._secondary._black .p-mainVisualSecondary__pre::after {
    background-color: #333; }
  .c-heading.-lv_1._secondary._white {
    -webkit-filter: drop-shadow(2px 1px 4px #000);
            filter: drop-shadow(2px 1px 4px #000); }
    .c-heading.-lv_1._secondary._white .p-mainVisualSecondary__pre,
    .c-heading.-lv_1._secondary._white .p-mainVisualSecondary__main,
    .c-heading.-lv_1._secondary._white .p-mainVisualSecondary__text {
      color: #fff; }
    .c-heading.-lv_1._secondary._white .p-mainVisualSecondary__pre::after {
      background-color: #fff; }
  .c-heading.-lv_2 {
    font-weight: 700; }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_2._aboutIntroduction {
        font-size: 26px;
        font-size: 1.625rem;
        line-height: 1.5;
        margin-top: -8px; } }
    @media print, screen and (min-width: 62em) {
      .c-heading.-lv_2._aboutIntroduction {
        font-size: 28px;
        font-size: 1.75rem; } }
    @media print, screen and (min-width: 75em) {
      .c-heading.-lv_2._aboutIntroduction {
        font-size: 30px;
        font-size: 1.875rem; } }
    @media print, screen and (min-width: 81.25em) {
      .c-heading.-lv_2._aboutIntroduction {
        font-size: 36px;
        font-size: 2.25rem; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_2._aboutIntroduction {
        font-size: 22px;
        font-size: 1.375rem;
        text-align: center;
        line-height: 1.5; } }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_2._aboutXl {
        font-size: 40px;
        font-size: 2.5rem;
        margin-bottom: 45px; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_2._aboutXl {
        font-size: 32px;
        font-size: 2rem;
        margin-bottom: 30px;
        text-align: center; } }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_2._aboutMd {
        font-size: 26px;
        font-size: 1.625rem; }
        .c-heading.-lv_2._aboutMd br {
          display: none; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_2._aboutMd {
        font-size: 22px;
        font-size: 1.375rem;
        text-align: center; } }
    .c-heading.-lv_2._aboutSm {
      position: relative; }
      @media only screen and (max-width: 47.9375em) {
        .c-heading.-lv_2._aboutSm {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
      @media only screen and (max-width: 47.9375em) {
        .c-heading.-lv_2._aboutSm span {
          display: inline-block;
          text-align: left; } }
      .c-heading.-lv_2._aboutSm._course::before {
        background-image: url(../img/product/icon_course.png); }
      .c-heading.-lv_2._aboutSm._smartphone::before {
        background-image: url(../img/product/icon_smartphone.png); }
      .c-heading.-lv_2._aboutSm._gps::before {
        background-image: url(../img/product/icon_gps.png); }
      .c-heading.-lv_2._aboutSm._sensor::before {
        background-image: url(../img/product/icon_sensor.png); }
      .c-heading.-lv_2._aboutSm._weather::before {
        background-image: url(../img/product/icon_weather.png); }
      @media print, screen and (min-width: 48em) {
        .c-heading.-lv_2._aboutSm {
          font-size: 24px;
          font-size: 1.5rem; }
          .c-heading.-lv_2._aboutSm br {
            display: none; } }
      @media only screen and (max-width: 47.9375em) {
        .c-heading.-lv_2._aboutSm {
          font-size: 21px;
          font-size: 1.3125rem;
          line-height: 1.5;
          text-align: center; } }
    @media print, screen and (min-width: 62em) {
      .c-heading.-lv_2._aboutLg {
        font-size: 70px;
        font-size: 4.375rem;
        font-size: 4.946999vw;
        margin-left: -10px;
        padding-top: 8px; } }
    @media print, screen and (max-width: 61.9375em) {
      .c-heading.-lv_2._aboutLg {
        font-size: 50px;
        font-size: 3.125rem;
        line-height: 1.5; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_2._aboutLg {
        height: 550px;
        width: 100%;
        font-size: 32px;
        font-size: 2rem;
        display: table;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        -webkit-transition-duration: .2s;
                transition-duration: .2s;
        -webkit-transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
                transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
        background-image: url(../img/product/product_image-about.jpg); } }
    .c-heading.-lv_2._aboutLg span {
      background-color: #fff; }
      @media only screen and (max-width: 47.9375em) {
        .c-heading.-lv_2._aboutLg span {
          display: table;
          color: #333;
          padding: 5px 15px 5px 0;
          margin-right: 20%; } }
      @media print, screen and (min-width: 62em) {
        .c-heading.-lv_2._aboutLg span:first-child {
          padding-right: 18px;
          padding-bottom: 9px;
          padding-top: 10px; } }
      @media print, screen and (min-width: 48em) {
        .c-heading.-lv_2._aboutLg span:last-child {
          margin-top: -5px;
          display: table; } }
      @media print, screen and (min-width: 62em) {
        .c-heading.-lv_2._aboutLg span:last-child {
          margin-top: 16px; } }
      @media only screen and (max-width: 47.9375em) {
        .c-heading.-lv_2._aboutLg span:last-child {
          display: inline-block; } }
    @media print, screen and (min-width: 62em) {
      .c-heading.-lv_2._aboutLg br {
        display: none; } }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_2._product {
        font-size: 28px;
        font-size: 1.75rem; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_2._product {
        font-size: 22px;
        font-size: 1.375rem;
        line-height: 1.5; } }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_2._productSm {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_2._productSm {
        font-size: 18px;
        font-size: 1.125rem; } }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_2._scene {
        font-size: 3.21429vw; } }
    @media print, screen and (min-width: 62em) {
      .c-heading.-lv_2._scene {
        font-size: 3vw; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_2._scene {
        font-size: 20px;
        font-size: 1.25rem; } }
    .c-heading.-lv_2._scene .cross {
      display: inline-block;
      position: relative; }
      .c-heading.-lv_2._scene .cross::before, .c-heading.-lv_2._scene .cross::after {
        content: '';
        height: 1px;
        display: block;
        background-color: #000;
        position: absolute; }
      .c-heading.-lv_2._scene .cross::before {
        -webkit-transform: rotate(45deg) translateY(-50%);
                transform: rotate(45deg) translateY(-50%); }
      .c-heading.-lv_2._scene .cross::after {
        -webkit-transform: rotate(135deg) translateY(-50%);
                transform: rotate(135deg) translateY(-50%); }
      @media print, screen and (min-width: 48em) {
        .c-heading.-lv_2._scene .cross {
          width: 3vw;
          height: 3vw;
          margin: 0 5px 0 5px; }
          .c-heading.-lv_2._scene .cross::before, .c-heading.-lv_2._scene .cross::after {
            width: 3vw;
            top: calc(50% + 2px); } }
      @media print, screen and (min-width: 62em) {
        .c-heading.-lv_2._scene .cross {
          width: 3vw;
          height: 3vw;
          margin: 0 7px 0 7px; }
          .c-heading.-lv_2._scene .cross::before, .c-heading.-lv_2._scene .cross::after {
            width: 3vw;
            top: calc(50% + 5px); } }
      @media only screen and (max-width: 47.9375em) {
        .c-heading.-lv_2._scene .cross {
          width: 20px;
          height: 20px;
          margin: 0 12px 0 7px; }
          .c-heading.-lv_2._scene .cross::before, .c-heading.-lv_2._scene .cross::after {
            width: 24px;
            top: 60%; } }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_2._flow {
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 1.5;
        margin-top: -8px; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_2._flow {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 1.5; } }
  .c-heading.-lv_3 {
    font-weight: 700; }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_3._about {
        font-size: 22px;
        font-size: 1.375rem; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_3._about {
        font-size: 16px;
        font-size: 1rem; } }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_3._productLg {
        font-size: 30px;
        font-size: 1.875rem; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_3._productLg {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 1.6; } }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_3._productSm {
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 1.3; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_3._productSm {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 1.5; } }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_3._flow {
        font-size: 24px;
        font-size: 1.5rem; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_3._flow {
        font-size: 18px;
        font-size: 1.125rem;
        margin-top: 1px;
        line-height: 1.5; } }
  .c-heading.-lv_4 {
    font-weight: 700; }
    .c-heading.-lv_4._footer {
      }
      @media print, screen and (min-width: 48em) {
        .c-heading.-lv_4._footer {
          font-size: 30px;
          font-size: 1.875rem; } }
      @media only screen and (max-width: 47.9375em) {
        .c-heading.-lv_4._footer {
          font-size: 20px;
          font-size: 1.25rem;} }
    .c-heading.-lv_4._footerLg {
      font-weight: 700; }
      @media print, screen and (min-width: 48em) {
        .c-heading.-lv_4._footerLg {
          font-size: 36px;
          font-size: 2.25rem; } }
      @media only screen and (max-width: 47.9375em) {
        .c-heading.-lv_4._footerLg {
          font-size: 20px;
          font-size: 1.25rem; } }
    .c-heading.-lv_4._contact {
      font-weight: 700;
      line-height: 1; }
      @media print, screen and (min-width: 48em) {
        .c-heading.-lv_4._contact {
          font-size: 18px;
          font-size: 1.125rem; } }
      @media only screen and (max-width: 47.9375em) {
        .c-heading.-lv_4._contact {
          font-size: 18px;
          font-size: 1.125rem;
          font-weight: 700; } }
    .c-heading.-lv_4._flow {
      font-weight: 700; }
      @media print, screen and (min-width: 48em) {
        .c-heading.-lv_4._flow {
          font-size: 18px;
          font-size: 1.125rem;
          margin-top: 25px; } }
      @media only screen and (max-width: 47.9375em) {
        .c-heading.-lv_4._flow {
          font-size: 16px;
          font-size: 1rem;
          font-weight: 500;
          margin-top: 3px; } }
  .c-heading.-lv_5._footer {
    font-weight: 500;
    text-align: center; }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_5._footer {
        font-size: 12px;
        font-size: 0.75rem; } }
    @media print, screen and (min-width: 62em) {
      .c-heading.-lv_5._footer {
        font-size: 14px;
        font-size: 0.875rem; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_5._footer {
        font-size: 14px;
        font-size: 0.875rem; } }
  .c-heading._news {
    font-weight: 700; }
    @media print, screen and (min-width: 48em) {
      .c-heading._news {
        font-size: 28px;
        font-size: 1.75rem; } }
    @media print, screen and (min-width: 62em) {
      .c-heading._news {
        font-size: 32px;
        font-size: 2rem; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading._news {
        font-size: 20px;
        font-size: 1.25rem; } }
  .c-heading._newsSingle {
    font-weight: 700; }
    @media print, screen and (min-width: 48em) {
      .c-heading._newsSingle {
        font-size: 24px;
        font-size: 1.5rem; } }
    @media print, screen and (min-width: 62em) {
      .c-heading._newsSingle {
        font-size: 32px;
        font-size: 2rem; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading._newsSingle {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 1.5; } }

.c-grid {
  display: -ms-grid;
  display: grid; }
  .c-grid .c-gridItem._text {
    grid-area: text; }
  .c-grid .c-gridItem._image {
    grid-area: image; }
  .c-grid .c-gridItem._head {
    grid-area: head; }
  .c-grid._left .c-gridItem._text {
    grid-area: textR; }
  .c-grid._left .c-gridItem._image {
    grid-area: imageR; }
  .c-grid._left .c-gridItem._head {
    grid-area: headR; }
  @media print, screen and (min-width: 48em) {
    .c-grid._left {
      -ms-grid-rows: auto 30px auto;
      -ms-grid-columns: 51.43511450381679% 5.870229007633588% 42.69465648854962%;
          grid-template: "imageR headR" auto "imageR textR" auto/ 51.43511450381679% 42.69465648854962%;
      -webkit-column-gap: 5.870229007633588%;
         -moz-column-gap: 5.870229007633588%;
              column-gap: 5.870229007633588%;
      row-gap: 30px; }
    .c-grid._left .c-gridItem._text {
    -ms-grid-row: 3;
    -ms-grid-column: 3; }
    .c-grid._left .c-gridItem._image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1; }
    .c-grid._left .c-gridItem._head {
    -ms-grid-row: 1;
    -ms-grid-column: 3; } }
  @media print, screen and (min-width: 62em) {
    .c-grid._left {
      -ms-grid-rows: auto 35px auto;
      -ms-grid-columns: 53.43511450381679% 6.870229007633588% 39.69465648854962%;
          grid-template: "imageR headR" auto "imageR textR" auto/ 53.43511450381679% 39.69465648854962%;
      -webkit-column-gap: 6.870229007633588%;
         -moz-column-gap: 6.870229007633588%;
              column-gap: 6.870229007633588%;
      row-gap: 35px; }
    .c-grid._left .c-gridItem._text {
    -ms-grid-row: 3;
    -ms-grid-column: 3; }
    .c-grid._left .c-gridItem._image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1; }
    .c-grid._left .c-gridItem._head {
    -ms-grid-row: 1;
    -ms-grid-column: 3; } }
  @media only screen and (max-width: 47.9375em) {
    .c-grid._left {
      -ms-grid-rows: auto auto auto;
      -ms-grid-columns: 1fr;
          grid-template: "headR" auto "imageR" auto "textR" auto/ 1fr; }
    .c-grid._left .c-gridItem._text {
    -ms-grid-row: 3;
    -ms-grid-column: 1; }
    .c-grid._left .c-gridItem._image {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1; }
    .c-grid._left .c-gridItem._head {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }
  .c-grid._right .c-gridItem._text {
    grid-area: textL; }
  .c-grid._right .c-gridItem._image {
    grid-area: imageL; }
  .c-grid._right .c-gridItem._head {
    grid-area: headL; }
  @media print, screen and (min-width: 48em) {
    .c-grid._right {
      -ms-grid-rows: auto 30px 1fr;
      -ms-grid-columns: 42.69465648854962% 5.870229007633588% 51.43511450381679%;
          grid-template: "headL imageL" auto "textL imageL" 1fr/ 42.69465648854962% 51.43511450381679%;
      -webkit-column-gap: 5.870229007633588%;
         -moz-column-gap: 5.870229007633588%;
              column-gap: 5.870229007633588%;
      row-gap: 30px; }
    .c-grid._right .c-gridItem._text {
    -ms-grid-row: 3;
    -ms-grid-column: 1; }
    .c-grid._right .c-gridItem._image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3; }
    .c-grid._right .c-gridItem._head {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }
  @media print, screen and (min-width: 62em) {
    .c-grid._right {
      -ms-grid-rows: auto 35px auto;
      -ms-grid-columns: 39.69465648854962% 6.870229007633588% 53.43511450381679%;
          grid-template: "headL imageL" auto "textL imageL" auto/ 39.69465648854962% 53.43511450381679%;
      -webkit-column-gap: 6.870229007633588%;
         -moz-column-gap: 6.870229007633588%;
              column-gap: 6.870229007633588%;
      row-gap: 35px; }
    .c-grid._right .c-gridItem._text {
    -ms-grid-row: 3;
    -ms-grid-column: 1; }
    .c-grid._right .c-gridItem._image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3; }
    .c-grid._right .c-gridItem._head {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }
  @media only screen and (max-width: 47.9375em) {
    .c-grid._right {
      -ms-grid-rows: auto auto auto;
      -ms-grid-columns: 1fr;
          grid-template: "headL" auto "imageL" auto "textL" auto/ 1fr; }
    .c-grid._right .c-gridItem._text {
    -ms-grid-row: 3;
    -ms-grid-column: 1; }
    .c-grid._right .c-gridItem._image {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1; }
    .c-grid._right .c-gridItem._head {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }
  @media print, screen and (min-width: 48em) {
    .c-grid._right._lg {
      -ms-grid-rows: auto auto;
      -ms-grid-columns: 42.69465648854962% 5.870229007633588% 51.43511450381679%;
          grid-template: "headL imageL" auto "textL imageL" auto/ 42.69465648854962% 51.43511450381679%;
      -webkit-column-gap: 5.870229007633588%;
         -moz-column-gap: 5.870229007633588%;
              column-gap: 5.870229007633588%; }
      .c-grid._right._lg .c-gridItem._text {
        -ms-flex-item-align: start;
            align-self: flex-start; }
      .c-grid._right._lg .c-gridItem._head {
        -ms-flex-item-align: end;
            align-self: flex-end; }
    .c-grid._right._lg > .c-gridItem._text {
    -ms-grid-row: 2;
    -ms-grid-column: 1; }
    .c-grid._right._lg > .c-gridItem._image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3; }
    .c-grid._right._lg > .c-gridItem._head {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }
  @media print, screen and (min-width: 62em) {
    .c-grid._right._lg {
      -ms-grid-rows: auto auto;
      -ms-grid-columns: 39.69465648854962% 6.870229007633588% 53.43511450381679%;
          grid-template: "headL imageL" auto "textL imageL" auto/ 39.69465648854962% 53.43511450381679%;
      -webkit-column-gap: 6.870229007633588%;
         -moz-column-gap: 6.870229007633588%;
              column-gap: 6.870229007633588%; }
    .c-grid._right._lg > .c-gridItem._text {
    -ms-grid-row: 2;
    -ms-grid-column: 1; }
    .c-grid._right._lg > .c-gridItem._image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3; }
    .c-grid._right._lg > .c-gridItem._head {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }
  .c-grid._productIntroduction {
    position: relative; }
    .c-grid._productIntroduction .p-product__aboutHead {
      grid-area: aboutHead; }
    .c-grid._productIntroduction .p-product__aboutText {
      grid-area: aboutText; }
      @media print, screen and (min-width: 48em) {
        .c-grid._productIntroduction .p-product__aboutText {
          margin-top: 40px; } }
      @media only screen and (max-width: 47.9375em) {
        .c-grid._productIntroduction .p-product__aboutText {
          margin-top: 30px; } }
    .c-grid._productIntroduction .p-product__aboutImage {
      grid-area: aboutImage; }
    @media print, screen and (min-width: 48em) {
      .c-grid._productIntroduction {
        -ms-grid-rows: auto 1fr;
        -ms-grid-columns: 52% 3% 45%;
            grid-template: "aboutHead aboutImage" auto "aboutText aboutImage" 1fr/ 52% 45%;
        -webkit-column-gap: 3%;
           -moz-column-gap: 3%;
                column-gap: 3%; }
      .c-grid._productIntroduction .p-product__aboutHead {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
      .c-grid._productIntroduction .p-product__aboutText {
    -ms-grid-row: 2;
    -ms-grid-column: 1; }
      .c-grid._productIntroduction .p-product__aboutImage {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3; } }
    @media print, screen and (min-width: 62em) {
      .c-grid._productIntroduction {
        -ms-grid-rows: auto 1fr;
        -ms-grid-columns: 36.19672131147541% 5.573770491803279% 58.47540983606558%;
            grid-template: "aboutHead aboutImage" auto "aboutText aboutImage" 1fr/ 36.19672131147541% 58.47540983606558%;
        -webkit-column-gap: 5.573770491803279%;
           -moz-column-gap: 5.573770491803279%;
                column-gap: 5.573770491803279%; }
      .c-grid._productIntroduction .p-product__aboutHead {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
      .c-grid._productIntroduction .p-product__aboutText {
    -ms-grid-row: 2;
    -ms-grid-column: 1; }
      .c-grid._productIntroduction .p-product__aboutImage {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3; } }
    @media print, screen and (min-width: 75em) {
      .c-grid._productIntroduction {
        -ms-grid-rows: auto 1fr;
        -ms-grid-columns: 33.19672131147541% 5.573770491803279% 61.47540983606558%;
            grid-template: "aboutHead aboutImage" auto "aboutText aboutImage" 1fr/ 33.19672131147541% 61.47540983606558%;
        -webkit-column-gap: 5.573770491803279%;
           -moz-column-gap: 5.573770491803279%;
                column-gap: 5.573770491803279%; }
      .c-grid._productIntroduction .p-product__aboutHead {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
      .c-grid._productIntroduction .p-product__aboutText {
    -ms-grid-row: 2;
    -ms-grid-column: 1; }
      .c-grid._productIntroduction .p-product__aboutImage {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3; } }
    @media only screen and (max-width: 47.9375em) {
      .c-grid._productIntroduction {
        -ms-grid-rows: auto auto auto;
        -ms-grid-columns: 1fr;
            grid-template: "aboutHead" auto "aboutImage" auto "aboutText" auto/ 1fr; }
      .c-grid._productIntroduction .p-product__aboutHead {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
      .c-grid._productIntroduction .p-product__aboutText {
    -ms-grid-row: 3;
    -ms-grid-column: 1; }
      .c-grid._productIntroduction .p-product__aboutImage {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1; } }
  .c-grid._productAbout {
    position: relative; }
    @media print, screen and (min-width: 48em) {
      .c-grid._productAbout {
        -ms-grid-rows: auto;
        -ms-grid-columns: 32.786885245901637% 6.5% 61.63934426229508%;
            grid-template: "head image" auto/ 32.786885245901637% 61.63934426229508%;
        -webkit-column-gap: 6.5%;
           -moz-column-gap: 6.5%;
                column-gap: 6.5%; }
      .c-grid .c-gridItem._image {
    -ms-grid-row: 1;
    -ms-grid-column: 3; }
      .c-grid .c-gridItem._head {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }
  @media print, screen and (min-width: 48em) {
    .c-grid._productInterview {
      margin-top: 50px; } }
  @media print, screen and (min-width: 48em) {
    .c-grid._productInterview {
      margin-top: 40px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-grid._productInterview {
      margin-top: 30px; } }
  .c-grid._productInterview .c-gridItem._text {
    grid-area: textPI; }
  .c-grid._productInterview .c-gridItem._image {
    grid-area: imagePI; }
  @media print, screen and (min-width: 48em) {
    .c-grid._productInterview {
      -ms-grid-rows: auto 40px auto;
      -ms-grid-columns: 1fr;
          grid-template: "imagePI" auto "textPI" auto/ 1fr;
      row-gap: 40px; }
    .c-grid._productInterview .c-gridItem._text {
    -ms-grid-row: 3;
    -ms-grid-column: 1; }
    .c-grid._productInterview .c-gridItem._image {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }
  @media print, screen and (min-width: 62em) {
    .c-grid._productInterview {
      -ms-grid-rows: auto;
      -ms-grid-columns: 50% 3% 47%;
          grid-template: "imagePI textPI" auto/ 50% 47%;
      row-gap: 0;
      -webkit-column-gap: 3%;
         -moz-column-gap: 3%;
              column-gap: 3%; }
    .c-grid._productInterview .c-gridItem._text {
    -ms-grid-row: 1;
    -ms-grid-column: 3; }
    .c-grid._productInterview .c-gridItem._image {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }
  @media print, screen and (min-width: 75em) {
    .c-grid._productInterview {
      -ms-grid-rows: auto;
      -ms-grid-columns: 50% 5.454545454545454% 44.545454545454544%;
          grid-template: "imagePI textPI" auto/ 50% 44.545454545454544%;
      -webkit-column-gap: 5.454545454545454%;
         -moz-column-gap: 5.454545454545454%;
              column-gap: 5.454545454545454%; }
    .c-grid._productInterview .c-gridItem._text {
    -ms-grid-row: 1;
    -ms-grid-column: 3; }
    .c-grid._productInterview .c-gridItem._image {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }
  @media only screen and (max-width: 47.9375em) {
    .c-grid._productInterview {
      -ms-grid-rows: auto 0 auto;
      -ms-grid-columns: 1fr;
          grid-template: "imagePI" auto "textPI" auto/ 1fr;
      row-gap: 0; }
    .c-grid._productInterview .c-gridItem._text {
    -ms-grid-row: 3;
    -ms-grid-column: 1; }
    .c-grid._productInterview .c-gridItem._image {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }
  .c-grid._productSpec .c-gridItem._text {
    grid-area: textPSc; }
  .c-grid._productSpec .c-gridItem._image {
    grid-area: imagePSc; }
  @media print, screen and (min-width: 48em) {
    .c-grid._productSpec {
      -ms-grid-rows: auto;
      -ms-grid-columns: 53.6036036036036% 5.4954954954954956% 40.9009009009009%;
          grid-template: "imagePSc textPSc" auto/ 53.6036036036036% 40.9009009009009%;
      -webkit-column-gap: 5.4954954954954956%;
         -moz-column-gap: 5.4954954954954956%;
              column-gap: 5.4954954954954956%; }
    .c-grid._productSpec .c-gridItem._text {
    -ms-grid-row: 1;
    -ms-grid-column: 3; }
    .c-grid._productSpec .c-gridItem._image {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }
  .c-grid._productSupport .c-gridItem._text {
    grid-area: textPSt; }
  .c-grid._productSupport .c-gridItem._image {
    grid-area: imagePSt; }
  @media print, screen and (min-width: 48em) {
    .c-grid._productSupport {
      -ms-grid-rows: auto;
      -ms-grid-columns: 35.785288270377735% 3.9761431411530816% 60.23856858846919%;
          grid-template: "imagePSt textPSt" auto/ 35.785288270377735% 60.23856858846919%;
      -webkit-column-gap: 3.9761431411530816%;
         -moz-column-gap: 3.9761431411530816%;
              column-gap: 3.9761431411530816%; }
    .c-grid._productSupport .c-gridItem._text {
    -ms-grid-row: 1;
    -ms-grid-column: 3; }
    .c-grid._productSupport .c-gridItem._image {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }
  .c-grid._flowSupport .c-gridItem._text {
    grid-area: textFS; }
  .c-grid._flowSupport .c-gridItem._image {
    grid-area: imageFS; }
  @media print, screen and (min-width: 48em) {
    .c-grid._flowSupport {
      -ms-grid-rows: auto;
      -ms-grid-columns: 36.036036036036034% 3.6036036036036036% 60.36036036036037%;
          grid-template: "imageFS textFS" auto/ 36.036036036036034% 60.36036036036037%;
      -webkit-column-gap: 3.6036036036036036%;
         -moz-column-gap: 3.6036036036036036%;
              column-gap: 3.6036036036036036%; }
    .c-grid._flowSupport .c-gridItem._text {
    -ms-grid-row: 1;
    -ms-grid-column: 3; }
    .c-grid._flowSupport .c-gridItem._image {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }

.c-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media only screen and (max-width: 47.9375em) {
    .c-flex.-gap {
      margin-right: -8.5px;
      margin-left: -8.5px; } }
  @media only screen and (max-width: 23.375em) {
    .c-flex.-gap {
      margin-right: -5px;
      margin-left: -5px; } }
  @media print, screen and (min-width: 48em) {
    .c-flex.-gap {
      margin-right: -20px;
      margin-left: -20px; } }
  .c-flex._center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }

.c-paragraph {
  line-height: 1.7;
  display: block; }
  .c-paragraph a {
    position: relative;
    display: inline-block;
    -webkit-transition-duration: .3s;
            transition-duration: .3s; }
    @media print, screen and (min-width: 48em) {
      .c-paragraph a:hover {
        opacity: 0.5; } }
    .c-paragraph a::after {
      position: absolute;
      bottom: 2px;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      display: inline-block;
      content: '';
      background-color: #333;
      width: 95%;
      height: 1px; }
  .c-paragraph._center {
    text-align: center; }
    @media only screen and (max-width: 47.9375em) {
      .c-paragraph._center._leftSM {
        text-align: left; } }
  .c-paragraph._white {
    color: #fff;
    font-weight: 700; }
  .c-paragraph._secondary {
    line-height: 1.75;
    font-weight: 700; }
  .c-paragraph._about {
    line-height: 1.75;
    font-weight: 400; }
    @media print, screen and (min-width: 48em) {
      .c-paragraph._about {
        font-size: 16px;
        font-size: 1rem; } }
    @media print, screen and (min-width: 48em) {
      .c-paragraph._about:not(:first-of-type) {
        margin-top: 33px; } }
    @media only screen and (max-width: 47.9375em) {
      .c-paragraph._about:not(:first-of-type) {
        margin-top: 15px; } }
    @media only screen and (max-width: 47.9375em) {
      .c-paragraph._about._aboutSm:first-of-type {
        margin-top: 20px; } }
    @media print, screen and (min-width: 48em) {
      .c-paragraph._about._aboutMd:first-of-type {
        margin-top: 50px; } }
    @media only screen and (max-width: 47.9375em) {
      .c-paragraph._about._aboutMd:first-of-type {
        margin-top: 20px; } }
    .c-heading.-lv_3._about + .c-paragraph._about {
      margin-top: 7px; }
  @media print, screen and (min-width: 48em) {
    .c-heading.-lv_2._scene + .c-paragraph {
      margin-top: 30px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading.-lv_2._scene + .c-paragraph {
      margin-top: 20px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading.-lv_2._flow + .c-paragraph {
      margin-top: 20px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading.-lv_2._flow + .c-paragraph {
      margin-top: 20px; } }
  .c-heading.-lv_3._flow + .c-paragraph {
    line-height: 1.7; }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_3._flow + .c-paragraph {
        margin-top: 10px; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_3._flow + .c-paragraph {
        margin-top: 10px;
        font-size: 15px;
        font-size: 0.9375rem; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading.-lv_2._productSm + .c-paragraph {
      margin-top: 15px; } }
  .c-heading.-lv_3._productSm + .c-paragraph {
    line-height: 1.5; }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_3._productSm + .c-paragraph {
        margin-top: 20px; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_3._productSm + .c-paragraph {
        margin-top: 20px; } }
  .c-heading.-lv_3._productLg + .c-paragraph {
    line-height: 1.7; }
    @media print, screen and (min-width: 48em) {
      .c-heading.-lv_3._productLg + .c-paragraph {
        margin-top: 30px; } }
    @media only screen and (max-width: 47.9375em) {
      .c-heading.-lv_3._productLg + .c-paragraph {
        margin-top: 20px; } }
  .c-heading.-lv_4._footer + .c-paragraph {
    line-height: calc(28/16);
    position: relative;
    margin-top: 17px;
    padding-top: 15px; }
    .c-heading.-lv_4._footer + .c-paragraph::before {
      content: '';
      display: block;
      position: absolute;
      width: 52px;
      height: 1px;
      background-color: #fff;
      top: 0;
      left: 0; }
  .c-heading.-lv_4._footerLg + .c-paragraph {
    margin-top: 20px; }
  .c-heading.-lv_4._flow + .c-paragraph {
    margin-top: 11px; }

.c-button {
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
  font-weight: 700;
  width: 250px;
  height: 57px;
  cursor: pointer;
  color: #333;
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #000;
  text-align: center;
  line-height: 55px;
  margin: 40px auto 0; }
  @media only screen and (max-width: 47.9375em) {
    .c-button {
      width: 180px; } }
  @media print, screen and (min-width: 48em) {
    .c-button:hover {
      border: 1px solid #000;
      background-color: #000;
      color: #fff; } }
  .c-button._banner {
    color: #fff;
    border: 1px solid #fff; }
  .c-button._banner:hover {
    color: #000;
    border: 1px solid #fff;
    background-color: #fff; }

@media print, screen and (min-width: 48em) {
  .c-pagination {
    margin-top: 80px; } }

@media only screen and (max-width: 47.9375em) {
  .c-pagination {
    margin-top: 50px; } }

.c-pagination .c-pagination__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Lato", sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1; }

.c-pagination .c-pagination__item:not(._prev):not(._next) a {
  display: block;
  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;
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
  -webkit-transition-property: background color;
  transition-property: background color; }
  .c-pagination .c-pagination__item:not(._prev):not(._next) a:focus {
    color: #999; }
  @media (hover: hover) and (pointer: fine) {
    .c-pagination .c-pagination__item:not(._prev):not(._next) a:hover {
      color: #999; } }
  .browser-is-ie .c-pagination .c-pagination__item:not(._prev):not(._next) a:hover {
    color: #999; }
  @media print, screen and (min-width: 48em) {
    .c-pagination .c-pagination__item:not(._prev):not(._next) a {
      width: 25px;
      height: 25px;
      font-size: 18px;
      font-size: 1.125rem;
      margin: 0 10px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-pagination .c-pagination__item:not(._prev):not(._next) a {
      width: 26px;
      height: 26px;
      font-size: 16px;
      font-size: 1rem;
      margin: 0 10px; } }

.c-pagination .c-pagination__item:not(._prev):not(._next)._current a {
  pointer-events: none;
  color: #999; }

.c-pagination .c-pagination__item._prev a, .c-pagination .c-pagination__item._next a {
  font-weight: 500;
  -webkit-transition-duration: .3s;
          transition-duration: .3s; }
  @media print, screen and (min-width: 48em) {
    .c-pagination .c-pagination__item._prev a, .c-pagination .c-pagination__item._next a {
      font-size: 18px;
      font-size: 1.125rem; } }
  @media only screen and (max-width: 47.9375em) {
    .c-pagination .c-pagination__item._prev a, .c-pagination .c-pagination__item._next a {
      font-size: 15px;
      font-size: 0.9375rem; } }
  .c-pagination .c-pagination__item._prev a:focus, .c-pagination .c-pagination__item._next a:focus {
    color: #999; }
  @media (hover: hover) and (pointer: fine) {
    .c-pagination .c-pagination__item._prev a:hover, .c-pagination .c-pagination__item._next a:hover {
      color: #999; } }
  .browser-is-ie .c-pagination .c-pagination__item._prev a:hover, .browser-is-ie .c-pagination .c-pagination__item._next a:hover {
    color: #999; }

@media print, screen and (min-width: 48em) {
  .c-pagination .c-pagination__item._prev {
    margin-right: 25px; } }

@media only screen and (max-width: 47.9375em) {
  .c-pagination .c-pagination__item._prev {
    margin-right: 12px; } }

@media print, screen and (min-width: 48em) {
  .c-pagination .c-pagination__item._next {
    margin-left: 25px; } }

@media only screen and (max-width: 47.9375em) {
  .c-pagination .c-pagination__item._next {
    margin-left: 12px; } }

.c-imageAnimation__flap {
  position: relative; }

.c-imageAnimation__flapWrap,
.c-imageAnimation__shadowWrap {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 2;
  will-change: width; }
  .c-imageAnimation__flapWrap + img,
  .c-imageAnimation__shadowWrap + img {
    -o-object-fit: cover;
       font-family: "object-fit:cover";
       object-fit: cover;
    display: block;
    position: absolute;
    opacity: 1;
    left: 0;
    will-change: transform;
    z-index: 0; }

.c-imageAnimation__flapWrap {
  background-color: #fff;
  -webkit-transform: translate3d(0px, 0px, 0px) scale(1, 1);
          transform: translate3d(0px, 0px, 0px) scale(1, 1);
  -webkit-transition-duration: 0.8s;
          transition-duration: 0.8s;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .c-imageAnimation__flapWrap.is-active {
    -webkit-transform: translate3d(0px, 0px, 0px) scale(0, 1);
            transform: translate3d(0px, 0px, 0px) scale(0, 1); }

.c-imageAnimation__flapNext {
  position: absolute;
  top: 55%;
  right: 0;
  overflow: hidden;
  z-index: 5;
  will-change: width;
  background-color: #fff;
  -webkit-transition-delay: .1s;
          transition-delay: .1s;
  -webkit-transform: translate3d(0px, 0px, 0px) scale(1, 1);
          transform: translate3d(0px, 0px, 0px) scale(1, 1);
  -webkit-transition-duration: 0.8s;
          transition-duration: 0.8s;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  body.device-is-mobile .c-imageAnimation__flapNext {
    -webkit-transition-delay: 0.1s;
            transition-delay: 0.1s; }
  .c-imageAnimation__flapNext + img {
    z-index: 4; }
  .c-imageAnimation__flapNext.is-active {
    -webkit-transform: translate3d(0px, 0px, 0px) scale(0, 1);
            transform: translate3d(0px, 0px, 0px) scale(0, 1); }

.c-imageAnimation__shadowWrap {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-delay: .2s;
          animation-delay: .2s;
  background-color: #000;
  -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
          transition-timing-function: cubic-bezier(1, 0, 0, 1);
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; }
  .c-imageAnimation__shadowWrap + img {
    opacity: 0;
    -webkit-animation-duration: 1.5s;
            animation-duration: 1.5s;
    -webkit-animation-delay: .2s;
            animation-delay: .2s;
    -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
            transition-timing-function: cubic-bezier(1, 0, 0, 1);
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
  .c-imageAnimation__shadowWrap.is-active {
    -webkit-animation-name: blackHide;
            animation-name: blackHide; }
    .c-imageAnimation__shadowWrap.is-active + img {
      -webkit-animation-name: blackImage;
              animation-name: blackImage; }

@-webkit-keyframes blackHide {
  0% {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: right top;
            transform-origin: right top; }
  25% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: right top;
            transform-origin: right top; }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom; }
  75% {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom; }
  100% {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1); } }

@keyframes blackHide {
  0% {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: right top;
            transform-origin: right top; }
  25% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: right top;
            transform-origin: right top; }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom; }
  75% {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom; }
  100% {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1); } }

@-webkit-keyframes blackImage {
  0% {
    opacity: 0; }
  50% {
    opacity: 0; }
  51% {
    opacity: 1; }
  100% {
    opacity: 1; } }

@keyframes blackImage {
  0% {
    opacity: 0; }
  50% {
    opacity: 0; }
  51% {
    opacity: 1; }
  100% {
    opacity: 1; } }

@media print, screen and (min-width: 48em) {
  .p-about._ex {
    margin-top: 80px; } }

@media only screen and (max-width: 47.9375em) {
  .p-about._ex {
    margin-top: 50px; } }

@media print, screen and (min-width: 48em) {
  .p-about._xl {
    margin-top: 91px; } }

@media only screen and (max-width: 47.9375em) {
  .p-about._xl {
    border-top: 1px solid #dddddd;
    margin-top: 80px;
    padding-top: 80px; } }

@media print, screen and (min-width: 48em) {
  .p-about._lg:nth-of-type(2) {
    margin-top: 120px; } }

@media only screen and (max-width: 47.9375em) {
  .p-about._lg:nth-of-type(2) {
    margin-top: 40px; } }

@media print, screen and (min-width: 48em) {
  .p-about._lg:nth-of-type(n+3) {
    margin-top: 160px; } }

@media only screen and (max-width: 47.9375em) {
  .p-about._lg:nth-of-type(n+3) {
    margin-top: 80px; } }

@media print, screen and (min-width: 48em) {
  .p-about._md {
    margin-top: 120px; } }

@media only screen and (max-width: 47.9375em) {
  .p-about._md {
    margin-top: 100px; } }

@media print, screen and (min-width: 48em) {
  .p-about._last {
    margin-bottom: 160px; } }

@media only screen and (max-width: 47.9375em) {
  .p-about._last {
    margin-bottom: 60px; } }

@media print, screen and (min-width: 48em) {
  .p-about .p-about__close {
    text-align: center; } }

.p-about .p-about__close .p-about__closeMain {
  font-weight: 700; }
  @media print, screen and (min-width: 48em) {
    .p-about .p-about__close .p-about__closeMain {
      font-size: 24px;
      font-size: 1.5rem; }
      .p-about .p-about__close .p-about__closeMain br {
        display: none; } }
  @media only screen and (max-width: 47.9375em) {
    .p-about .p-about__close .p-about__closeMain {
      font-size: 22px;
      font-size: 1.375rem;
      text-align: center;
      line-height: 1.5; } }

.p-about .p-about__close .p-about__closeSub {
  font-weight: 500;
  line-height: 1.5; }
  @media print, screen and (min-width: 48em) {
    .p-about .p-about__close .p-about__closeSub {
      font-size: 16px;
      font-size: 1rem;
      margin-top: 30px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-about .p-about__close .p-about__closeSub {
      font-size: 16px;
      font-size: 1rem;
      margin-top: 30px; }
      .p-about .p-about__close .p-about__closeSub br {
        display: none; } }

.p-about .p-about__tagline {
  text-align: center; }
  .p-about .p-about__tagline .p-about__taglineMain {
    font-weight: 700; }
    @media print, screen and (min-width: 48em) {
      .p-about .p-about__tagline .p-about__taglineMain {
        font-size: 26px;
        font-size: 1.625rem; }
        .p-about .p-about__tagline .p-about__taglineMain br {
          display: none; } }
    @media print, screen and (min-width: 62em) {
      .p-about .p-about__tagline .p-about__taglineMain {
        font-size: 30px;
        font-size: 1.875rem; } }
    @media only screen and (max-width: 47.9375em) {
      .p-about .p-about__tagline .p-about__taglineMain {
        font-size: 21px;
        font-size: 1.3125rem;
        line-height: 1.5; } }
  .p-about .p-about__tagline .p-about__taglineSub {
    font-weight: 500; }
    @media print, screen and (min-width: 48em) {
      .p-about .p-about__tagline .p-about__taglineSub {
        font-size: 18px;
        font-size: 1.125rem;
        margin-top: -2px;
        margin-top: 10px; } }
    @media print, screen and (min-width: 62em) {
      .p-about .p-about__tagline .p-about__taglineSub {
        font-size: 22px;
        font-size: 1.375rem; } }
    @media only screen and (max-width: 47.9375em) {
      .p-about .p-about__tagline .p-about__taglineSub {
        font-size: 16px;
        font-size: 1rem;
        margin-top: 18px; } }

@media only screen and (max-width: 47.9375em) {
  .p-about .p-about__taglineBlock {
    margin-top: 15px; } }

.p-about .p-about__taglineText {
  font-weight: 400;
  line-height: 1.75; }
  @media print, screen and (min-width: 48em) {
    .p-about .p-about__taglineText {
      font-size: 16px;
      font-size: 1rem; } }
  @media only screen and (max-width: 47.9375em) {
    .p-about .p-about__taglineText {
      font-size: 16px;
      font-size: 1rem; } }
  @media print, screen and (min-width: 48em) {
    .p-about .p-about__taglineText:not(:first-child) {
      margin-top: 28px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-about .p-about__taglineText:not(:first-child) {
      margin-top: 15px; } }

.p-about .p-about__decoration {
  font-weight: 700;
  line-height: 1;
  color: #efefef; }
  @media print, screen and (min-width: 48em) {
    .p-about .p-about__decoration {
      font-size: 80px;
      font-size: 5rem;
      margin-bottom: 10px; } }
  @media print, screen and (min-width: 62em) {
    .p-about .p-about__decoration {
      font-size: 90px;
      font-size: 5.625rem; } }
  @media print, screen and (min-width: 75em) {
    .p-about .p-about__decoration {
      font-size: 120px;
      font-size: 7.5rem; } }
  @media only screen and (max-width: 47.9375em) {
    .p-about .p-about__decoration {
      display: none;
      /* @include fontSize(46);
      margin-bottom: 12px; */ } }

.p-about .p-aboutGrid__image {
  position: relative;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center; }
  .p-about .p-aboutGrid__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       font-family: "object-fit:cover";
       object-fit: cover;
    display: block; }

@media print, screen and (min-width: 48em) {
  .p-about .p-aboutGrid__text._head {
    -ms-flex-item-align: end;
        align-self: flex-end; }
  .p-about .p-aboutGrid__text._center {
    margin: auto 0; } }

@media only screen and (max-width: 47.9375em) {
  .p-about .p-aboutGrid__image {
    margin-top: 40px; } }

.p-about .p-aboutGrid__decoration {
  font-family: "Lato", sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: 100;
  line-height: 0.75;
  color: #efefef;
  font-weight: 500; }
  @media print, screen and (min-width: 48em) {
    .p-about .p-aboutGrid__decoration {
      font-size: 60px;
      font-size: 3.75rem; } }
  @media print, screen and (min-width: 62em) {
    .p-about .p-aboutGrid__decoration {
      font-size: 72px;
      font-size: 4.5rem; } }
  @media print, screen and (min-width: 75em) {
    .p-about .p-aboutGrid__decoration {
      font-size: 90px;
      font-size: 5.625rem; } }
  @media only screen and (max-width: 47.9375em) {
    .p-about .p-aboutGrid__decoration {
      display: none; } }
  @media print, screen and (min-width: 48em) {
    .p-about .p-aboutGrid__decoration._rtk {
      text-align: right;
      margin-bottom: 56px; } }
  @media print, screen and (min-width: 48em) {
    .p-about .p-aboutGrid__decoration._sensor {
      margin-bottom: 43px; } }

@media only screen and (max-width: 47.9375em) {
  .p-about .p-aboutFlex {
    display: block; } }

@media print, screen and (min-width: 48em) {
  .p-about .p-aboutFlex .p-aboutFlexItem {
    width: calc(585 / 1308 * 100%); } }

@media only screen and (max-width: 47.9375em) {
  .p-about .p-aboutFlex .p-aboutFlexItem {
    width: 100%; } }

.p-about .p-aboutFlex .p-aboutFlexItem img {
  width: calc(525 / 585 * 100%); }

@media print, screen and (min-width: 48em) {
  .p-about .p-aboutFlex .p-aboutFlexItem:nth-child(2) {
    margin-left: 50px; } }

@media only screen and (max-width: 47.9375em) {
  .p-about .p-aboutFlex .p-aboutFlexItem:nth-child(2) {
    margin-top: 60px; } }

.p-about .p-aboutFlex .p-aboutFlexText {
  background-color: #fff;
  z-index: 1;
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .p-about .p-aboutFlex .p-aboutFlexText {
      padding-top: 14px;
      padding-left: 30px;
      margin-top: -40px;
      margin-left: 30px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-about .p-aboutFlex .p-aboutFlexText {
      padding-top: 18px;
      padding-left: 15px;
      margin-top: -30px;
      margin-left: 15px; } }

.p-about .p-about__taglineImage {
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .p-about .p-about__taglineImage {
      margin-top: 50px;
      margin-bottom: 50px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-about .p-about__taglineImage {
      margin-top: 35px;
      margin-bottom: 40px; } }

.p-aboutGrid__imageWrap,
.p-about__taglineImageWrap {
  position: absolute;
  right: 0px;
  width: 0;
  height: 100%;
  overflow: hidden;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  z-index: 1;
  will-change: width; }
  @media print, screen and (min-width: 48em) {
    .p-aboutGrid__imageWrap,
    .p-about__taglineImageWrap {
      -webkit-transition-delay: .3s;
              transition-delay: .3s; } }
  .p-aboutGrid__imageWrap.is-active,
  .p-about__taglineImageWrap.is-active {
    width: 100%; }
  .p-aboutGrid__imageWrap img,
  .p-about__taglineImageWrap img {
    position: absolute;
    opacity: 1;
    right: 0px;
    will-change: transform; }

@media print, screen and (min-width: 48em) {
  .p-aboutGrid__imageWrap {
    -webkit-transition-delay: .3s;
            transition-delay: .3s; }
  .p-about__taglineImageWrap {
    -webkit-transition-delay: .5s;
            transition-delay: .5s; } }

.p-mainMenu {
  margin-top: auto;
  margin-bottom: auto;
  height: 100%; }
  @media print, screen and (min-width: 62em) {
    .p-mainMenu {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      height: 56px; } }
  @media print, screen and (max-width: 61.9375em) {
    .p-mainMenu {
      display: block;
      text-align: center; } }
  @media print, screen and (min-width: 62em) {
    .p-mainMenu:not(:first-child) {
      border-left: 1px solid #dddddd;
      margin-left: 15px;
      padding-left: 15px; } }
  @media print, screen and (min-width: 75em) {
    .p-mainMenu:not(:first-child) {
      margin-left: 20px;
      padding-left: 20px; } }
  @media print, screen and (min-width: 81.25em) {
    .p-mainMenu:not(:first-child) {
      margin-left: 40px;
      padding-left: 40px; } }
  @media print, screen and (max-width: 61.9375em) {
    .p-mainMenu._menu {
      display: block; } }
  .p-mainMenu._contactPC {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media print, screen and (min-width: 62em) {
      .p-mainMenu._contactPC {
        display: block; } }
    @media print, screen and (max-width: 61.9375em) {
      .p-mainMenu._contactPC {
        display: none; } }
  .p-mainMenu._contactSP {
    border-top: 1px solid #999999;
    border-bottom: 1px solid #999999;
    padding-top: 32px;
    padding-bottom: 34px;
    margin-top: 67px; }
    @media print, screen and (min-width: 62em) {
      .p-mainMenu._contactSP {
        display: none; } }
    @media print, screen and (max-width: 61.9375em) {
      .p-mainMenu._contactSP {
        padding-top: 14px;
        margin-top: 44px;
        padding-bottom: 23px;
        border: none;
        display: block; } }
    .p-mainMenu._contactSP .p-mainMenu__contactItem {
      width: calc(257.5 / 515 * 100%);
      text-align: center; }
      @media print, screen and (max-width: 61.9375em) {
        .p-mainMenu._contactSP .p-mainMenu__contactItem {
          width: 100%; }
          .p-mainMenu._contactSP .p-mainMenu__contactItem:nth-child(2) {
            margin-top: 56px; } }
    .p-mainMenu._contactSP .p-mainMenu__contactTitle {
      font-weight: 700;
      font-size: 16px;
      font-size: 1rem;
      position: relative;
      display: inline-block;
      margin-bottom: 8px; }
  .p-mainMenu .p-mainMenu__item .p-mainMenu__link {
    font-weight: 700;
    -webkit-transition-duration: .3s;
            transition-duration: .3s;
    -webkit-transition-property: opacity;
    transition-property: opacity; }
    @media print, screen and (min-width: 62em) {
      .p-mainMenu .p-mainMenu__item .p-mainMenu__link {
        font-size: 14px;
        font-size: 0.875rem; } }
    @media print, screen and (min-width: 75em) {
      .p-mainMenu .p-mainMenu__item .p-mainMenu__link {
        font-size: 15px;
        font-size: 0.9375rem; } }
    @media print, screen and (min-width: 81.25em) {
      .p-mainMenu .p-mainMenu__item .p-mainMenu__link {
        font-size: 15px;
        font-size: 0.9375rem; } }
    @media print, screen and (max-width: 61.9375em) {
      .p-mainMenu .p-mainMenu__item .p-mainMenu__link {
        font-size: 18px;
        font-size: 1.125rem; } }
    @media print, screen and (min-width: 48em) {
      .p-mainMenu .p-mainMenu__item .p-mainMenu__link:hover {
        opacity: 0.5; } }
  @media print, screen and (min-width: 62em) {
    .p-mainMenu .p-mainMenu__item:not(:first-child) {
      margin-left: 15px; } }
  @media print, screen and (min-width: 75em) {
    .p-mainMenu .p-mainMenu__item:not(:first-child) {
      margin-left: 30px; } }
  @media print, screen and (min-width: 81.25em) {
    .p-mainMenu .p-mainMenu__item:not(:first-child) {
      margin-left: 35px; } }
  @media print, screen and (max-width: 61.9375em) {
    .p-mainMenu .p-mainMenu__item:not(:first-child) {
      margin-top: 35px; } }
  .p-mainMenu .p-mainMenu__link {
    display: block;
    line-height: 1.5; }
  .p-mainMenu .p-mainMenu__contactHead {
    font-weight: 700;
    margin-bottom: 10px; }
    @media print, screen and (min-width: 62em) {
      .p-mainMenu .p-mainMenu__contactHead {
        font-size: 12px;
        font-size: 0.75rem; } }
    @media print, screen and (max-width: 61.9375em) {
      .p-mainMenu .p-mainMenu__contactHead {
        font-size: 45px;
        font-size: 2.8125rem;
        position: relative;
        font-weight: 700; }
        .p-mainMenu .p-mainMenu__contactHead:before {
          content: '';
          display: inline-block;
          background-size: contain;
          background-repeat: no-repeat;
          top: 0;
          left: 0;
          margin-right: 10px; }
        .p-mainMenu .p-mainMenu__contactHead._email:before {
          width: 43px;
          height: 32px;
          margin-right: 10px;
          background-image: url(../img/common/icon_email.png); }
        .p-mainMenu .p-mainMenu__contactHead._tel:before {
          width: 26px;
          height: 35px;
          margin-right: 10px;
          background-image: url(../img/common/icon_tel.png); } }
    @media only screen and (max-width: 36em) {
      .p-mainMenu .p-mainMenu__contactHead {
        font-size: 29.35px;
        font-size: 1.83438rem; }
        .p-mainMenu .p-mainMenu__contactHead._email:before {
          width: 28px;
          height: 21px;
          margin-right: 10px; }
        .p-mainMenu .p-mainMenu__contactHead._tel:before {
          width: 16px;
          height: 23px;
          margin-right: 10px; } }
  .p-mainMenu .p-mainMenu__contactText {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 350;
    margin-top: 4px; }
  .p-mainMenu .p-mainMenu__contactLink {
    display: block;
    font-weight: 700; }
    @media print, screen and (min-width: 48em) {
      .p-mainMenu .p-mainMenu__contactLink:not(:first-child) {
        margin-left: 10px; } }
    @media print, screen and (min-width: 75em) {
      .p-mainMenu .p-mainMenu__contactLink:not(:first-child) {
        margin-left: 20px; } }
    @media print, screen and (min-width: 48em) {
      .p-mainMenu .p-mainMenu__contactLink {
        font-size: 18px;
        font-size: 1.125rem; } }
    @media print, screen and (min-width: 75em) {
      .p-mainMenu .p-mainMenu__contactLink {
        font-size: 20px;
        font-size: 1.25rem; } }
    .p-mainMenu .p-mainMenu__contactLink:before {
      display: inline-block;
      content: "";
      background-size: contain; }
      @media print, screen and (min-width: 48em) {
        .p-mainMenu .p-mainMenu__contactLink:before {
          vertical-align: middle;
          margin-top: -1px; } }
      @media print, screen and (min-width: 75em) {
        .p-mainMenu .p-mainMenu__contactLink:before {
          vertical-align: baseline; } }
    .p-mainMenu .p-mainMenu__contactLink._tel:before {
      background-image: url(../img/common/icon_tel.png); }
      @media print, screen and (min-width: 48em) {
        .p-mainMenu .p-mainMenu__contactLink._tel:before {
          width: 13px;
          height: 18px;
          margin-right: 3px;
          position: relative; } }
      @media print, screen and (min-width: 62em) {
        .p-mainMenu .p-mainMenu__contactLink._tel:before {
          top: -3px; } }
      @media print, screen and (min-width: 75em) {
        .p-mainMenu .p-mainMenu__contactLink._tel:before {
          width: 11px;
          height: 15px;
          margin-right: 4px;
          top: -0.5px;
          background-repeat: no-repeat; } }
    .p-mainMenu .p-mainMenu__contactLink._email {
      -webkit-transition-duration: .3s;
              transition-duration: .3s;
      -webkit-transition-property: opacity;
      transition-property: opacity; }
      @media print, screen and (min-width: 48em) {
        .p-mainMenu .p-mainMenu__contactLink._email:hover {
          opacity: 0.5; } }
      .p-mainMenu .p-mainMenu__contactLink._email:before {
        background-image: url(../img/common/icon_email.png); }
        @media print, screen and (min-width: 48em) {
          .p-mainMenu .p-mainMenu__contactLink._email:before {
            width: 19px;
            height: 14px;
            margin-right: 4px;
            position: relative; } }
        @media print, screen and (min-width: 62em) {
          .p-mainMenu .p-mainMenu__contactLink._email:before {
            top: -0.5px; } }
        @media print, screen and (min-width: 75em) {
          .p-mainMenu .p-mainMenu__contactLink._email:before {
            width: 20px;
            height: 15px;
            margin-right: 5px;
            top: 0px; } }

.p-mainMenu .p-mainMenu__company {
  display: block;
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
  -webkit-transition-property: opacity;
  transition-property: opacity; }
  @media print, screen and (min-width: 48em) {
    .p-mainMenu .p-mainMenu__company:hover {
      opacity: 0.5; } }
  .p-mainMenu .p-mainMenu__company img {
    display: block; }
    @media print, screen and (min-width: 62em) {
      .p-mainMenu .p-mainMenu__company img {
        width: 100px; } }
    @media print, screen and (min-width: 75em) {
      .p-mainMenu .p-mainMenu__company img {
        width: 130px; } }
    @media print, screen and (max-width: 61.9375em) {
      .p-mainMenu .p-mainMenu__company img {
        width: calc(186 / 515 * 100%);
        margin: auto;
        margin-top: 52px; } }
    @media only screen and (max-width: 36em) {
      .p-mainMenu .p-mainMenu__company img {
        margin-top: 34px;
        width: 121px; } }

.p-mainMenu__copyright {
  text-align: center;
  color: #999999;
  font-weight: 350;
  margin-top: 48px; }
  @media print, screen and (min-width: 48em) {
    .p-mainMenu__copyright {
      display: none; } }
  @media print, screen and (min-width: 62em) {
    .p-mainMenu__copyright {
      display: none; } }
  @media print, screen and (max-width: 61.9375em) {
    .p-mainMenu__copyright {
      font-size: 12px;
      font-size: 0.75rem;
      padding-bottom: 40px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainMenu__copyright {
      font-size: 7.83px;
      font-size: 0.48938rem;
      margin-top: 30px;
      padding-bottom: 32px; } }

.p-mainMenuButtons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (max-width: 47.9375em) {
    .l-header._open .p-mainMenuButtons {
      margin-top: -15px; } }
  @media only screen and (max-width: 36em) {
    .l-header._open .p-mainMenuButtons {
      margin-top: -7px; } }

.p-mainMenuButtons__item {
  display: none;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 30px; }
  @media only screen and (max-width: 47.9375em) {
    .p-mainMenuButtons__item {
      display: block; } }
  @media only screen and (max-width: 36em) {
    .p-mainMenuButtons__item {
      margin-right: 18px; } }
  @media only screen and (max-width: 47.9375em) {
    .l-header._open .p-mainMenuButtons__item {
      display: none; } }
  .p-mainMenuButtons__item._email {
    width: 34px;
    height: 28px;
    margin-top: -6px;
    background-image: url(../img/common/icon_email.png); }
    @media only screen and (max-width: 36em) {
      .p-mainMenuButtons__item._email {
        width: 22px;
        height: 17px;
        margin-top: -2px; } }
  .p-mainMenuButtons__item._tel {
    width: 21px;
    height: 28px;
    margin-top: -4px;
    background-image: url(../img/common/icon_tel.png); }
    @media only screen and (max-width: 36em) {
      .p-mainMenuButtons__item._tel {
        width: 14px;
        height: 18px;
        margin-top: -3px; } }

.p-mainVisualSecondary {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .p-mainVisualSecondary {
      height: 480px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainVisualSecondary {
      height: 250px; } }
  .p-mainVisualSecondary._scene img {
    -o-object-position: left;
       object-position: left; }
  .p-mainVisualSecondary .p-mainVisualSecondary__wrap {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .p-mainVisualSecondary img {
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       font-family: "object-fit:cover;object-position:center";
       object-fit: cover;
    left: 0;
    -o-object-position: center;
       object-position: center;
    z-index: -1; }

.p-mainvisual {
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual {
      height: calc(100vh - 80px);
      margin-top: 80px; } }
  @media print, screen and (min-width: 62em) {
    .p-mainvisual {
      height: calc(100vh - 120px);
      margin-top: 120px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual {
      height: 450px;
      margin-top: 80px; }
      .p-mainvisual .js-mvTitle:first-of-type {
        display: block; }
      .p-mainvisual .js-mvTitle:nth-of-type(2) {
        display: none; }
      .p-mainvisual._start .js-mvTitle:first-of-type {
        display: none; }
      .p-mainvisual._start .js-mvTitle:nth-of-type(2) {
        display: block; }
      .p-mainvisual._start .p-mainVisual__headingInner::after {
        display: none; } }
  @media only screen and (max-width: 36em) {
    .p-mainvisual {
      height: calc(100vh - 54px);
      margin-top: 54px;
      height: 400px; } }

@media print, screen and (min-width: 48em) {
  .p-mainVisual__heading {
    position: absolute;
    left: 0;
    bottom: 70px;
    z-index: 1;
    width: 100%; } }

@media only screen and (max-width: 47.9375em) {
  .p-mainVisual__heading {
    position: absolute;
    bottom: 20px;
    left: 0;
    z-index: 3; } }

@media print, screen and (min-width: 48em) {
  .p-mainVisual__headingInner {
    height: 100%;
    width: calc(1340 / 1400 * 100%);
    margin-left: auto; } }

@media print, screen and (min-width: 48em) {
  .p-mainVisual__video .p-mainVisual__text {
    display: inline-table; } }

@media only screen and (max-width: 47.9375em) {
  .p-mainVisual__text {
    background-color: #fff;
    display: block;
    height: auto;
    z-index: 3;
    padding-top: 13px;
    padding-bottom: 13px;
    padding-left: 5.215vw;
    padding-right: 5.215vw; } }

.p-mainVisual__textLg, .p-mainVisual__textMd, .p-mainVisual__textSm {
  color: #333;
  font-weight: 700;
  -webkit-clip-path: polygon(0 -20%, 100% -20%, 100% 120%, 0 120%);
  clip-path: polygon(0 -20%, 100% -20%, 100% 120%, 0 120%); }
  @media print, screen and (min-width: 48em) {
    .p-mainVisual__textLg, .p-mainVisual__textMd, .p-mainVisual__textSm {
      text-align: left; }
      .p-mainVisual__video .p-mainVisual__textLg, .p-mainVisual__video .p-mainVisual__textMd, .p-mainVisual__video .p-mainVisual__textSm {
        color: #333; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainVisual__textLg, .p-mainVisual__textMd, .p-mainVisual__textSm {
      color: #333; } }

.p-mainVisual__textLg {
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .p-mainVisual__textLg {
      font-size: 36px;
      font-size: 2.25rem;
      line-height: 1.46;
      display: table;
      padding-right: 16px;
      background-color: #fff; }
      .p-mainVisual__textLg._second {
        margin-top: 13px; } }
  @media print, screen and (min-width: 62em) {
    .p-mainVisual__textLg {
      font-size: 45px;
      font-size: 2.8125rem; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainVisual__textLg {
      line-height: 1.8;
      font-size: 4.174vw; } }

.p-mainVisual__textMd {
  opacity: 0; }
  @media print, screen and (min-width: 48em) {
    .p-mainVisual__textMd {
      font-size: 26px;
      font-size: 1.625rem;
      line-height: 1.38;
      margin-top: 12px; }
      .p-mainVisual__video .p-mainVisual__textMd {
        color: #fff; } }
  @media print, screen and (min-width: 62em) {
    .p-mainVisual__textMd {
      font-size: 32px;
      font-size: 2rem; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainVisual__textMd {
      color: #999999;
      font-family: "Lato", sans-serif;
      -webkit-font-feature-settings: 'palt' 1;
              font-feature-settings: 'palt' 1;
      font-size: 3.48vw; } }

.p-mainVisual__textSm {
  font-weight: 500; }
  @media print, screen and (min-width: 48em) {
    .p-mainVisual__textSm {
      font-size: 16px;
      font-size: 1rem;
      margin-top: 14px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainVisual__textSm {
      font-size: 15px;
      font-size: 0.9375rem;
      margin-top: 10px; } }
  @media only screen and (max-width: 36em) {
    .p-mainVisual__textSm {
      font-size: 9.78px;
      font-size: 0.61125rem; } }

.p-mainVisual__video {
  height: 100%;
  overflow: hidden;
  z-index: 2;
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .p-mainVisual__video {
      width: calc(1200 / 1400 * 100%);
      margin-left: auto; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainVisual__video {
      width: calc(515 / 575 * 100%);
      margin-left: auto; } }
  .p-mainVisual__video .vue-responsive-videobg {
    height: 100%; }
  .p-mainVisual__video .p-mainVisual__videoInner {
    height: 100%; }
  .p-mainVisual__video .p-mainVisual__headingInner {
    position: absolute;
    z-index: 99; }
    @media print, screen and (min-width: 48em) {
      .p-mainVisual__video .p-mainVisual__headingInner {
        right: 0;
        bottom: 70px;
        width: calc(1340 / 1200 * 100%);
        height: auto; } }

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

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

.p-mainVisual__textWrap,
.p-mainVisual__videoWrap {
  height: 100%;
  display: block;
  background: #000;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  width: 100%; }

.p-mainVisual__videoInner video {
  opacity: 0; }

.p-mainVisual__textInner {
  opacity: 0; }

@media print, screen and (min-width: 48em) {
  .p-product__menuList {
    padding: 75px 0; } }

@media only screen and (max-width: 47.9375em) {
  .p-product__menuList {
    padding: 60px 0; } }

@media print, screen and (min-width: 48em) {
  .p-product__menuList .p-product__menuListItem:not(:first-of-type) {
    margin-left: 40px; } }

@media only screen and (max-width: 47.9375em) {
  .p-product__menuList .p-product__menuListItem {
    margin: 0 10px; } }

.p-product__menuList .p-product__menuListItem .p-product__menuListLink {
  font-weight: 700; }
  @media print, screen and (min-width: 48em) {
    .p-product__menuList .p-product__menuListItem .p-product__menuListLink {
      font-size: 16px;
      font-size: 1rem;
      -webkit-transition-duration: .3s;
              transition-duration: .3s; }
      .p-product__menuList .p-product__menuListItem .p-product__menuListLink:hover {
        opacity: 0.5; } }
  @media only screen and (max-width: 47.9375em) {
    .p-product__menuList .p-product__menuListItem .p-product__menuListLink {
      font-size: 16px;
      font-size: 1rem;
      line-height: 2.5; } }

@media print, screen and (min-width: 48em) {
  .p-product__about {
    padding-top: 120px;
    padding-bottom: 120px; } }

@media only screen and (max-width: 47.9375em) {
  .p-product__about {
    padding-top: 40px;
    padding-bottom: 65px; } }

@media only screen and (max-width: 47.9375em) {
  .p-product__about .p-product__aboutText {
    width: 100%; } }

@media print, screen and (min-width: 48em) {
  .p-product__about .p-product__aboutText p:not(:first-of-type) {
    margin-top: 30px; } }

@media print, screen and (min-width: 62em) {
  .p-product__about .p-product__aboutText p:not(:first-of-type) {
    margin-top: 40px; } }

@media only screen and (max-width: 47.9375em) {
  .p-product__about .p-product__aboutText p:not(:first-of-type) {
    margin-top: 30px; } }

.p-product__about .p-product__aboutImage {
  width: 100%; }
  @media print, screen and (min-width: 48em) {
    .p-product__about .p-product__aboutImage {
      width: 100%; } }
  @media only screen and (max-width: 47.9375em) {
    .p-product__about .p-product__aboutImage {
      margin-top: 40px; } }
  .p-product__about .p-product__aboutImage img {
    -o-object-fit: cover;
       font-family: "object-fit:cover";
       object-fit: cover;
    height: 100%; }

.p-product__interview {
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url(../img/product/proiduct_image-bg.jpg); }
  @media print, screen and (min-width: 48em) {
    .p-product__interview {
      padding: 120px 0; } }
  @media only screen and (max-width: 47.9375em) {
    .p-product__interview {
      padding: 60px 0; } }
  .p-product__interview .p-product__interviewGrid {
    background-color: #fff; }
    @media print, screen and (min-width: 48em) {
      .p-product__interview .p-product__interviewGrid {
        padding: 60px; } }
    @media only screen and (max-width: 47.9375em) {
      .p-product__interview .p-product__interviewGrid {
        padding: 30px 15px;
        display: block; } }
    .p-product__interview .p-product__interviewGrid:nth-of-type(2) {
      margin-top: 20px; }
    @media print, screen and (min-width: 48em) {
      .p-product__interview .p-product__interviewGrid:first-of-type {
        margin-top: 76px; } }
    @media only screen and (max-width: 47.9375em) {
      .p-product__interview .p-product__interviewGrid:first-of-type {
        margin-top: 40px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-product__interview .p-product__interviewText {
      margin-top: 30px; } }
  .p-product__interview .p-product__interviewPerson {
    text-align: right;
    font-weight: 350;
    position: relative;
    font-size: 14px;
    font-size: 0.875rem; }
    .p-product__interview .p-product__interviewPerson::before {
      content: '';
      display: inline-block;
      width: 60px;
      height: 1px;
      background-color: #dddddd;
      margin-right: 10px;
      vertical-align: middle; }
    @media print, screen and (min-width: 48em) {
      .p-product__interview .p-product__interviewPerson {
        margin-top: 22px; } }
    @media only screen and (max-width: 47.9375em) {
      .p-product__interview .p-product__interviewPerson {
        margin-top: 15px; } }

@media print, screen and (min-width: 48em) {
  .p-product__feature {
    padding: 120px 0 0; } }

@media only screen and (max-width: 47.9375em) {
  .p-product__feature {
    padding: 60px 0 0px; } }

.p-product__feature .p-product__featureContainer:nth-of-type(2) {
  margin-top: 80px; }

@media print, screen and (min-width: 48em) {
  .p-product__feature .p-product__featureContainer:nth-of-type(3), .p-product__feature .p-product__featureContainer:nth-of-type(4), .p-product__feature .p-product__featureContainer:nth-of-type(5) {
    margin-top: 120px; } }

@media only screen and (max-width: 47.9375em) {
  .p-product__feature .p-product__featureContainer:nth-of-type(3), .p-product__feature .p-product__featureContainer:nth-of-type(4), .p-product__feature .p-product__featureContainer:nth-of-type(5) {
    margin-top: 60px; } }

@media only screen and (max-width: 47.9375em) {
  .p-product__feature .p-product__featureContainer {
    width: 100%; } }

@media print, screen and (min-width: 62em) {
  .p-product__feature .p-product__listIcon {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 76px auto 0; } }

@media print, screen and (max-width: 61.9375em) {
  .p-product__feature .p-product__listIcon {
    display: block;
    margin-top: 40px; } }

@media print, screen and (min-width: 62em) {
  .p-product__feature .p-product__listIconItem {
    -webkit-transition-duration: .3s;
            transition-duration: .3s;
    width: calc(193.5 / 774 * 100%); }
    .p-product__feature .p-product__listIconItem:hover {
      opacity: 0.5; } }

@media print, screen and (min-width: 75em) {
  .p-product__feature .p-product__listIconItem {
    width: calc(277.5 / 1110 * 100%); } }

@media print, screen and (max-width: 61.9375em) {
  .p-product__feature .p-product__listIconItem {
    width: 100%; }
    .p-product__feature .p-product__listIconItem:not(:first-of-type) {
      margin-top: 20px; } }

@media print, screen and (min-width: 62em) {
  .p-product__feature .p-product__listIconLink {
    display: block; } }

@media print, screen and (max-width: 61.9375em) {
  .p-product__feature .p-product__listIconLink {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%; } }

.p-product__feature .p-product__listIconLink img {
  width: auto;
  display: block; }
  @media print, screen and (min-width: 62em) {
    .p-product__feature .p-product__listIconLink img {
      margin: auto;
      height: 70px; } }
  @media print, screen and (max-width: 61.9375em) {
    .p-product__feature .p-product__listIconLink img {
      width: 50px; } }

.p-product__feature .p-product__listIconText {
  text-align: center;
  font-weight: 700;
  display: block; }
  @media print, screen and (min-width: 62em) {
    .p-product__feature .p-product__listIconText {
      font-size: 15px;
      font-size: 0.9375rem;
      margin-top: 22px; } }
  @media print, screen and (min-width: 75em) {
    .p-product__feature .p-product__listIconText {
      font-size: 15px;
      font-size: 0.9375rem; } }
  @media print, screen and (min-width: 87.5em) {
    .p-product__feature .p-product__listIconText {
      font-size: 16px;
      font-size: 1rem; } }
  @media print, screen and (max-width: 61.9375em) {
    .p-product__feature .p-product__listIconText {
      font-size: 15px;
      font-size: 0.9375rem;
      margin-left: 20px; } }
  @media print, screen and (min-width: 75em) {
    .p-product__feature .p-product__listIconText br {
      display: none; } }
  @media print, screen and (max-width: 61.9375em) {
    .p-product__feature .p-product__listIconText br {
      display: none; } }

@media print, screen and (min-width: 48em) {
  .p-product__feature .p-product__featureImage {
    width: calc(800 / 1255 * 100%); } }

@media only screen and (max-width: 47.9375em) {
  .p-product__feature .p-product__featureImage {
    width: calc(325 / 375 * 100%); } }

@media print, screen and (min-width: 48em) {
  .p-product__feature .p-product__featureText {
    width: calc(635 / 1255 * 100%);
    position: absolute;
    bottom: 0;
    background-color: #fff; } }

@media only screen and (max-width: 47.9375em) {
  .p-product__feature .p-product__featureText {
    width: calc(300 / 375 * 100%); } }

.p-product__feature .p-product__featureBlock {
  position: relative; }
  .p-product__feature .p-product__featureBlock._left .p-product__featureImage {
    margin-right: auto; }
  .p-product__feature .p-product__featureBlock._left .p-product__featureText {
    right: 0; }
    @media print, screen and (min-width: 62em) {
      .p-product__feature .p-product__featureBlock._left .p-product__featureText {
        padding: 55px 0 0 60px; } }
    @media print, screen and (max-width: 61.9375em) {
      .p-product__feature .p-product__featureBlock._left .p-product__featureText {
        padding: 30px 15px 0 30px;
        margin-top: -45px;
        margin-left: auto;
        background-color: #fff;
        z-index: 1;
        position: relative; } }
  .p-product__feature .p-product__featureBlock._right .p-product__featureImage {
    margin-left: auto; }
  .p-product__feature .p-product__featureBlock._right .p-product__featureText {
    left: 0; }
    @media print, screen and (min-width: 62em) {
      .p-product__feature .p-product__featureBlock._right .p-product__featureText {
        padding: 55px 60px 0 0; } }
    @media print, screen and (max-width: 61.9375em) {
      .p-product__feature .p-product__featureBlock._right .p-product__featureText {
        padding: 30px 30px 0 15px;
        margin-top: -45px;
        margin-right: auto;
        background-color: #fff;
        z-index: 1;
        position: relative; } }

@media print, screen and (min-width: 48em) {
  .p-product__spec {
    margin-top: 120px; } }

@media only screen and (max-width: 47.9375em) {
  .p-product__spec {
    margin-top: 80px; } }

@media print, screen and (min-width: 48em) {
  .p-product__spec .p-product__data {
    margin-top: 75px; } }

@media only screen and (max-width: 47.9375em) {
  .p-product__spec .p-product__data {
    margin-top: 40px;
    display: block; } }

@media only screen and (max-width: 47.9375em) {
  .p-product__spec .p-product__dataList {
    margin-top: 20px; } }

.p-product__spec .p-product__specList {
  padding: 5.25px 0px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: 1px solid #dddddd; }

.p-product__spec .p-product__specTitle,
.p-product__spec .p-product__specData {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500; }

@media print, screen and (min-width: 48em) {
  .p-product__support {
    padding: 120px 0; } }

@media only screen and (max-width: 47.9375em) {
  .p-product__support {
    padding: 60px 0 80px; } }

.p-product__support .p-product__supportFrame {
  border: 1px solid #dddddd; }
  @media print, screen and (min-width: 48em) {
    .p-product__support .p-product__supportFrame {
      padding: 52px;
      margin-top: 76px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-product__support .p-product__supportFrame {
      padding: 25px 15px;
      display: block;
      margin-top: 40px; } }

@media only screen and (max-width: 47.9375em) {
  .p-product__support .p-product__supportText {
    padding-top: 20px; } }

@media print, screen and (min-width: 48em) {
  .p-scene {
    margin-top: 120px; } }

@media only screen and (max-width: 47.9375em) {
  .p-scene {
    margin-top: 80px; } }

@media only screen and (max-width: 47.9375em) {
  .p-scene:nth-child(2) {
    margin-top: 60px; } }

@media print, screen and (min-width: 48em) {
  .p-scene:last-child {
    margin-bottom: 120px; } }

@media only screen and (max-width: 47.9375em) {
  .p-scene:last-child {
    margin-bottom: 80px; } }

.p-scene .p-scene__block {
  position: relative; }
  .p-scene .p-scene__block._left .p-scene__image {
    margin-right: auto; }
  @media print, screen and (min-width: 48em) {
    .p-scene .p-scene__block._left .p-scene__text {
      right: 0;
      padding: 44px 0 55px 62px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-scene .p-scene__block._left .p-scene__text {
      background-color: #fff;
      position: relative;
      padding: 30px 0px 0 30px;
      margin-left: auto;
      margin-top: -80px; } }
  .p-scene .p-scene__block._right .p-scene__image {
    margin-left: auto; }
  @media print, screen and (min-width: 48em) {
    .p-scene .p-scene__block._right .p-scene__text {
      left: 0;
      padding: 44px 62px 55px 0; } }
  @media only screen and (max-width: 47.9375em) {
    .p-scene .p-scene__block._right .p-scene__text {
      background-color: #fff;
      position: relative;
      padding: 25px 30px 0px 0;
      margin-right: auto;
      margin-top: -80px; } }

@media print, screen and (min-width: 48em) {
  .p-scene .p-scene__image {
    width: calc(700 / 1255 * 100%); } }

@media only screen and (max-width: 47.9375em) {
  .p-scene .p-scene__image {
    width: calc(320 / 375 * 100%); } }

.p-scene .p-scene__text {
  background-color: #fff;
  z-index: 10; }
  @media print, screen and (min-width: 48em) {
    .p-scene .p-scene__text {
      position: absolute;
      bottom: 60px;
      width: calc(582 / 1255 * 100%); } }
  @media only screen and (max-width: 47.9375em) {
    .p-scene .p-scene__text {
      width: calc(280 / 375 * 100%); } }

@media print, screen and (min-width: 48em) {
  .p-scene .sp-br {
    display: none; } }

@media print, screen and (min-width: 48em) {
  .p-flow {
    margin-top: 120px; } }

@media only screen and (max-width: 47.9375em) {
  .p-flow {
    margin-top: 60px; } }

.p-flow .p-flow__Item {
  border: 1px solid #dddddd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .p-flow .p-flow__Item {
      padding-top: 44px;
      padding-right: 50px;
      padding-bottom: 43px;
      padding-left: 50px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-flow .p-flow__Item {
      padding: 18px 15px 20px; } }
  @media print, screen and (min-width: 48em) {
    .p-flow .p-flow__Item:first-of-type {
      margin-top: 75px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-flow .p-flow__Item:first-of-type {
      margin-top: 40px; } }
  .p-flow .p-flow__Item:not(:first-of-type)::before {
    display: block;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
    body:not(.browser-is-ie) .p-flow .p-flow__Item:not(:first-of-type)::before {
      content: '';
      background-color: #dddddd;
      -webkit-clip-path: polygon(0 0, 100% 0%, 50% 100%);
              clip-path: polygon(0 0, 100% 0%, 50% 100%); }
    body.browser-is-ie .p-flow .p-flow__Item:not(:first-of-type)::before {
      content: url("../img/common/icon_triangle.png"); }
  @media print, screen and (min-width: 48em) {
    .p-flow .p-flow__Item:not(:first-of-type) {
      margin-top: 84px; }
      .p-flow .p-flow__Item:not(:first-of-type)::before {
        top: -55px;
        width: 30px;
        height: 25px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-flow .p-flow__Item:not(:first-of-type) {
      margin-top: 60px; }
      .p-flow .p-flow__Item:not(:first-of-type)::before {
        top: -40px;
        width: 20px;
        height: 18px; } }

.p-flow .p-flow__ItemStep {
  font-family: "Lato", sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  color: #999999;
  font-weight: 300;
  line-height: 1;
  display: block; }
  @media print, screen and (min-width: 48em) {
    .p-flow .p-flow__ItemStep {
      width: calc(170 / 608 * 100%);
      font-size: 38px;
      font-size: 2.375rem; } }
  @media print, screen and (min-width: 62em) {
    .p-flow .p-flow__ItemStep {
      width: calc(164 / 767 * 100%);
      font-size: 40px;
      font-size: 2.5rem; } }
  @media print, screen and (min-width: 75em) {
    .p-flow .p-flow__ItemStep {
      width: calc(164 / 1010 * 100%);
      font-size: 40px;
      font-size: 2.5rem; } }
  @media only screen and (max-width: 47.9375em) {
    .p-flow .p-flow__ItemStep {
      font-size: 24px;
      font-size: 1.4rem;
      min-width: 70px;
      margin-right: 20px;
      margin-top: 4px; } }

@media print, screen and (min-width: 48em) {
  .p-flow .p-flow__ItemContent {
    width: calc(846/ 1010 * 100%); } }

@media print, screen and (min-width: 48em) {
  .p-flow__support {
    margin-top: 120px;
    margin-bottom: 120px; } }

@media only screen and (max-width: 47.9375em) {
  .p-flow__support {
    margin-top: 80px;
    margin-bottom: 80px;
    display: block; }
    .p-flow__support .p-flow__supportText {
      margin-top: 30px; } }

/* ハンバーガーアイコン
----------------------------------------------------------------- */
.p-mainMenuButton {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 99999;
  display: none;
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
  border: none;
  position: relative;
  background-color: transparent;
  cursor: pointer;
  width: 50px;
  height: 37px; }
  .p-mainMenuButton:focus {
    outline: none; }
  @media print, screen and (max-width: 61.9375em) {
    .p-mainMenuButton {
      display: block; } }
  @media only screen and (max-width: 36em) {
    .p-mainMenuButton {
      width: 33px;
      height: 12px;
      margin-right: -5px; } }
  .p-mainMenuButton:before, .p-mainMenuButton:after {
    content: '';
    position: absolute;
    -webkit-transition-duration: .3s;
            transition-duration: .3s;
    -webkit-transition-timing-function: ease;
            transition-timing-function: ease;
    width: 50px;
    height: 2px;
    right: 0;
    background-color: #000; }
    @media only screen and (max-width: 36em) {
      .p-mainMenuButton:before, .p-mainMenuButton:after {
        width: 33px;
        height: 1px; } }
  .p-mainMenuButton:before {
    top: 0; }
  .p-mainMenuButton:after {
    bottom: 20px; }
    @media only screen and (max-width: 36em) {
      .p-mainMenuButton:after {
        bottom: 0; } }
  .p-mainMenuButton._open {
    width: 37px;
    height: 37px;
    margin-right: -7px;
    position: relative; }
    @media only screen and (max-width: 36em) {
      .p-mainMenuButton._open {
        width: 24px;
        height: 24px;
        margin-right: 0; } }
    .p-mainMenuButton._open:before, .p-mainMenuButton._open:after {
      position: absolute;
      top: 50%;
      left: 50%;
      background-color: #000; }
    .p-mainMenuButton._open:before {
      -webkit-transform: translateX(-50%) translateY(-50%) rotate(135deg);
              transform: translateX(-50%) translateY(-50%) rotate(135deg); }
    .p-mainMenuButton._open:after {
      -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
              transform: translateX(-50%) translateY(-50%) rotate(45deg); }

.p-news {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto; }
  @media print, screen and (min-width: 48em) {
    .p-news {
      margin-top: 60px;
      margin-bottom: 120px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-news {
      margin-top: 60px;
      margin-bottom: 80px; } }

.p-news__item {
  line-height: 1.5; }
  @media print, screen and (min-width: 48em) {
    .p-news__item {
      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: 47.9375em) {
    .p-news__item {
      display: block; } }
  .p-news .p-news__item {
    border-bottom: 1px solid #dddddd; }
    @media print, screen and (min-width: 48em) {
      .p-news .p-news__item:first-of-type {
        margin-top: 50px; } }
    @media only screen and (max-width: 47.9375em) {
      .p-news .p-news__item:first-of-type {
        margin-top: 15px; } }
    @media print, screen and (min-width: 48em) {
      .p-news .p-news__item {
        padding: 25px 0; } }
    @media only screen and (max-width: 47.9375em) {
      .p-news .p-news__item {
        padding: 20px 0; } }
  @media print, screen and (min-width: 48em) {
    .p-news__home .p-news__item {
      padding: 7.5px 0; } }
  @media only screen and (max-width: 47.9375em) {
    .p-news__home .p-news__item {
      padding: 10px 0; } }

.p-news__itemTime {
  color: #333;
}

.p-news__itemData {
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media print, screen and (min-width: 48em) {
    .p-news__itemData {
      width: 210px;
      font-size: 16px;
      font-size: 1rem; } }
  @media only screen and (max-width: 47.9375em) {
    .p-news__itemData {
      width: calc(100%);
      font-size: 15px;
      font-size: 0.9375rem;
      font-weight: 700; }
      .p-news__home .p-news__itemData {
        font-size: 13px;
        font-size: 0.8125rem;
        margin-right: 15px; } }

.p-news__itemCategory {
  line-height: 1;
  border: 1px solid #000;
  font-weight: 500;
  padding: 6px 0;
  text-align: center; }
  @media print, screen and (min-width: 48em) {
    .p-news__itemCategory {
      width: 80px;
      font-size: 14px;
      font-size: 0.875rem;
      margin-right: 15px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-news__itemCategory {
      width: 85px;
      font-size: 13px;
      font-size: 0.8125rem;
      margin-right: 20px; }
      .p-news__home .p-news__itemCategory {
        font-size: 12.5px;
        font-size: 0.78125rem;
        margin-right: 15px; } }

.p-news__itemTitle {
  line-height: 1.5; }
  @media print, screen and (min-width: 48em) {
    .p-news__itemTitle {
      width: calc(100% - 210px);
      font-size: 16px;
      font-size: 1rem; } }
  @media only screen and (max-width: 47.9375em) {
    .p-news__itemTitle {
      width: calc(100%);
      font-size: 15px;
      font-size: 0.9375rem;
      margin-top: 9px; }
      .p-news__home .p-news__itemTitle {
        font-size: 14px;
        font-size: 0.875rem; } }
  .p-news__itemTitle a {
    -webkit-transition-duration: .3s;
            transition-duration: .3s; }
    .p-news__itemTitle a:focus {
      color: #999; }
    @media (hover: hover) and (pointer: fine) {
      .p-news__itemTitle a:hover {
        color: #999; } }
    .browser-is-ie .p-news__itemTitle a:hover {
      color: #999; }

.p-news__singleData {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media print, screen and (min-width: 48em) {
    .p-news__singleData {
      margin-bottom: 20px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-news__singleData {
      margin-bottom: 15px; } }

.p-news__singleCategory {
  border: 1px solid #000; }
  @media print, screen and (min-width: 48em) {
    .p-news__singleCategory {
      font-size: 15px;
      font-size: 0.9375rem;
      padding: 1px 20px;
      margin-right: 20px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-news__singleCategory {
      font-size: 14px;
      font-size: 0.875rem;
      padding: 1px 15px;
      margin-right: 20px; } }

@media print, screen and (min-width: 48em) {
  .p-news__singleTime {
    font-size: 16px;
    font-size: 1rem; } }

@media only screen and (max-width: 47.9375em) {
  .p-news__singleTime {
    font-size: 15px;
    font-size: 0.9375rem; } }

.p-news__single {
  border-top: 1px solid #000; }
  @media print, screen and (min-width: 48em) {
    .p-news__single {
      padding-top: 40px;
      margin-top: 30px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-news__single {
      padding-top: 30px;
      margin-top: 15px; } }
  .p-news__single h2 {
    font-weight: 700; }
    @media print, screen and (min-width: 48em) {
      .p-news__single h2 {
        font-size: 24px;
        font-size: 1.5rem; } }
    @media only screen and (max-width: 47.9375em) {
      .p-news__single h2 {
        font-size: 18px;
        font-size: 1.125rem; } }
    @media print, screen and (min-width: 48em) {
      .p-news__single h2:not(:first-child) {
        margin-top: 60px; } }
    @media only screen and (max-width: 47.9375em) {
      .p-news__single h2:not(:first-child) {
        margin-top: 50px; } }
  .p-news__single h3 {
    font-weight: 700; }
    @media print, screen and (min-width: 48em) {
      .p-news__single h3 {
        font-size: 20px;
        font-size: 1.25rem; } }
    @media only screen and (max-width: 47.9375em) {
      .p-news__single h3 {
        font-size: 16px;
        font-size: 1rem; } }
    .p-news__single h3:not(:first-child) {
      margin-top: 45px; }
  .p-news__single p {
    line-height: 1.75; }
    @media print, screen and (min-width: 48em) {
      .p-news__single p {
        font-size: 16px;
        font-size: 1rem; } }
    @media only screen and (max-width: 47.9375em) {
      .p-news__single p {
        font-size: 16px;
        font-size: 1rem; } }
    @media print, screen and (min-width: 48em) {
      .p-news__single p:not(:first-child) {
        margin-top: 30px; } }
    @media only screen and (max-width: 47.9375em) {
      .p-news__single p:not(:first-child) {
        margin-top: 20px; } }
    .p-news__single p a {
      -webkit-transition-duration: .3s;
              transition-duration: .3s;
      position: relative;
      display: inline;
      color: #054099;
      transition-duration: .3s;
      -webkit-transition-property: opacity;
      transition-property: opacity;
      border-bottom: 1px solid #054099; }
      .p-news__single p a:focus {
        opacity: 0.7; }
      @media (hover: hover) and (pointer: fine) {
        .p-news__single p a:hover {
          opacity: 0.7; } }
      .browser-is-ie .p-news__single p a:hover {
        opacity: 0.7; }
  .p-news__single img {
    width: 100%;
    height: auto;
    display: block; }
  .p-news__single p + p img {
    margin-top: 40px; }

.p-news__singleReturn {
  position: relative;
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  font-weight: 500;
  text-align: center;
  display: table;
  margin: 0 auto; }
  @media print, screen and (min-width: 48em) {
    .p-news__singleReturn {
      font-size: 14px;
      font-size: 0.875rem;
      margin-top: 80px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-news__singleReturn {
      font-size: 14px;
      font-size: 0.875rem;
      margin-top: 60px; } }
  .p-news__singleReturn:after {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    background-color: #000;
    bottom: 0;
    left: 1px;
    width: 100%; }
  .p-news__singleReturn:focus {
    opacity: 0.7; }
  @media (hover: hover) and (pointer: fine) {
    .p-news__singleReturn:hover {
      opacity: 0.7; } }
  .browser-is-ie .p-news__singleReturn:hover {
    opacity: 0.7; }

.p-news__home {
  border: 5px solid #eee;
  overflow-y: scroll; }
  @media print, screen and (min-width: 48em) {
    .p-news__home {
      padding: 10px 25px;
      height: 150px;
      margin-top: 60px; } }
  @media print, screen and (min-width: 62em) {
    .p-news__home {
      padding: 15px 40px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-news__home {
      padding: 10px 15px;
      height: 200px;
      margin-top: 40px; } }


/* ドロップダウンメニュー
----------------------------------------------------------------- */

.p-mainMenu li {
  position: relative;
}
.p-mainMenu li.home {
  display: none;
}
.p-mainMenu li.has-child {
  margin-right: 20px;
}
.p-mainMenu li.has-child::before {
  content: '';
  position: absolute;
  right: -20px;
  top: 6px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: rotate(135deg);
}
.p-mainMenu li.has-child ul {
  position: absolute;
  left: -10px;
  top: 0;
  visibility: hidden;
  opacity: 0;
  padding-top: 40px;
  transition: .3s;
}
.p-mainMenu li.has-child ul li {
  margin-top: -1px;
}
.p-mainMenu li.has-child ul li a {
  display: block;
  width: 250px;
  font-weight: 700;
  color: #333;
  background: #fff;
  border: 1px solid #333;
  padding: 10px 10px;
}
.p-mainMenu li.has-child:hover > ul,
.p-mainMenu li.has-child ul li:hover > ul,
.p-mainMenu li.has-child:active > ul,
.p-mainMenu li.has-child ul li:active > ul {
  visibility: visible;
  opacity: 1;
}
.p-mainMenu li.has-child ul li a:hover {
  color: #fff;
  background: #333;
}
@media screen and (max-width:991px) {
  .p-mainMenu li.home {
    display: block;
  }
  .p-mainMenu li.has-child {
    margin-right: 0;
  }
  .p-mainMenu li.has-child ul {
    display: none;
  }
  .p-mainMenu li.has-child::before {
    display: none;
  }
}

/* Bogo
----------------------------------------------------------------- */

.widget_bogo_language_switcher .w-header__title {
  display: none;
}
.bogo-language-switcher {
  position: absolute;
  top: 5px;
  right: 3%;
  display: flex;
  flex-direction: row-reverse;
}
.bogo-language-switcher a {
  padding: 5px 10px;
  color: #333;
  font-weight: 700;
  transition: .3s;
}
.bogo-language-switcher a:hover {
  opacity: 0.5;
}
.bogo-language-switcher .current a {
  color: #333;
}
.bogo-language-switcher .en-US {
  position: relative;
}
.bogo-language-switcher .en-US::before {
  content: "";
  width: 1px;
  height: 65%;
  background-color: #ddd;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width:991px) {
  .bogo-language-switcher {
    top: 50%;
    right: 100px;
    transform: translateY(-50%);
  }
  .bogo-language-switcher a {
    font-size: 18px;
    padding: 5px 20px;
  }
}
@media screen and (max-width:576px) {
  .bogo-language-switcher {
    right: 60px;
  }
  .bogo-language-switcher a {
    font-size: 16px;
    padding: 5px 15px;
  }
}

/* アニメーション用
----------------------------------------------------------------- */
.u-blur-member {
  will-change: filter;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-filter: blur(8px);
          filter: blur(8px); }
  .u-blur-member.is-active,
  .u-anime-group.is-active .u-blur-member {
    -webkit-filter: blur(0px);
            filter: blur(0px); }

/* 下から上 */
.u-fade.-up {
  -webkit-transform: translate3d(0, 20px, 0);
          transform: translate3d(0, 20px, 0);
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  opacity: 0;
  /* transition-timing-function: $easeInExpo; */ }
  .u-fade.-up.is-active,
  .u-anime-group.is-active .u-fade.-up {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }

/* 下から上 */
.u-fade.-upLG {
  -webkit-transform: translate3d(0, 50px, 0);
          transform: translate3d(0, 50px, 0);
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  opacity: 0;
  /* transition-timing-function: $easeInExpo; */ }
  .u-fade.-upLG.is-active,
  .u-anime-group.is-active .u-fade.-upLG {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }

/* 右から左 */
.u-fade.-left {
  -webkit-transform: translate3d(20px, 0, 0);
          transform: translate3d(20px, 0, 0);
  -webkit-transition-duration: .45s;
          transition-duration: .45s;
  opacity: 0;
  /* transition-timing-function: $easeInExpo; */ }
  .u-fade.-left.is-active,
  .u-anime-group.is-active .u-fade.-left {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }

.delay-3 {
  -webkit-transition-delay: .3s;
          transition-delay: .3s; }

.delay-4 {
  -webkit-transition-delay: .4s;
          transition-delay: .4s; }

.delay-5 {
  -webkit-transition-delay: .5s;
          transition-delay: .5s; }

.delay-6 {
  -webkit-transition-delay: .6s;
          transition-delay: .6s; }
