@charset "UTF-8";
/*----------------------------------------------------------------------------------------------------------
writing-mode mixin
    Usage:
        $orientation    v (vertical)
                        h (horizontal)
    $direction      rl (right to left)
            lr (left to right)
----------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------------------------
writing-mode mixin
    Usage:
        $orientation    v (vertical)
                        h (horizontal)
    $direction      rl (right to left)
            lr (left to right)
----------------------------------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 29px 23px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    opacity: 1; }

.hamburger-box {
  width: 32px;
  height: 22px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 32px;
    height: 2px;
    background-color: #222222;
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -10px; }
  .hamburger-inner::after {
    bottom: -10px; }

/*
   * 3DX
   */
.hamburger--3dx .hamburger-box {
  perspective: 64px; }

.hamburger--3dx .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dx.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateY(180deg); }
  .hamburger--3dx.is-active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--3dx.is-active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg); }

/*
   * 3DX Reverse
   */
.hamburger--3dx-r .hamburger-box {
  perspective: 64px; }

.hamburger--3dx-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dx-r.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateY(-180deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg); }

/*
   * 3DY
   */
.hamburger--3dy .hamburger-box {
  perspective: 64px; }

.hamburger--3dy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dy.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateX(-180deg); }
  .hamburger--3dy.is-active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--3dy.is-active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg); }

/*
   * 3DY Reverse
   */
.hamburger--3dy-r .hamburger-box {
  perspective: 64px; }

.hamburger--3dy-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dy-r.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateX(180deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg); }

/*
   * Arrow
   */
.hamburger--arrow.is-active .hamburger-inner::before {
  transform: translate3d(-6.4px, 0, 0) rotate(-45deg) scale(0.7, 1); }

.hamburger--arrow.is-active .hamburger-inner::after {
  transform: translate3d(-6.4px, 0, 0) rotate(45deg) scale(0.7, 1); }

/*
   * Arrow Right
   */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  transform: translate3d(6.4px, 0, 0) rotate(45deg) scale(0.7, 1); }

.hamburger--arrow-r.is-active .hamburger-inner::after {
  transform: translate3d(6.4px, 0, 0) rotate(-45deg) scale(0.7, 1); }

/*
   * Arrow Alt
   */
.hamburger--arrowalt .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(-6.4px, -8px, 0) rotate(-45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

.hamburger--arrowalt.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(-6.4px, 8px, 0) rotate(45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

/*
   * Arrow Alt Right
   */
.hamburger--arrowalt-r .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt-r .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt-r.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(6.4px, -8px, 0) rotate(45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

.hamburger--arrowalt-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(6.4px, 8px, 0) rotate(-45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

/*
   * Boring
   */
.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
  transition-property: none; }

.hamburger--boring.is-active .hamburger-inner {
  transform: rotate(45deg); }
  .hamburger--boring.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--boring.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg); }

/*
   * Collapse
   */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse .hamburger-inner::after {
    top: -20px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse .hamburger-inner::before {
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse.is-active .hamburger-inner {
  transform: translate3d(0, -10px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  .hamburger--collapse.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-90deg);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Collapse Reverse
   */
.hamburger--collapse-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse-r .hamburger-inner::after {
    top: -20px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse-r .hamburger-inner::before {
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse-r.is-active .hamburger-inner {
  transform: translate3d(0, -10px, 0) rotate(45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  .hamburger--collapse-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(90deg);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Elastic
   */
.hamburger--elastic .hamburger-inner {
  top: 1px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic .hamburger-inner::before {
    top: 10px;
    transition: opacity 0.125s 0.275s ease; }
  .hamburger--elastic .hamburger-inner::after {
    top: 20px;
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(135deg);
  transition-delay: 0.075s; }
  .hamburger--elastic.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(-270deg);
    transition-delay: 0.075s; }

/*
   * Elastic Reverse
   */
.hamburger--elastic-r .hamburger-inner {
  top: 1px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic-r .hamburger-inner::before {
    top: 10px;
    transition: opacity 0.125s 0.275s ease; }
  .hamburger--elastic-r .hamburger-inner::after {
    top: 20px;
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic-r.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(-135deg);
  transition-delay: 0.075s; }
  .hamburger--elastic-r.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(270deg);
    transition-delay: 0.075s; }

/*
   * Emphatic
   */
.hamburger--emphatic {
  overflow: hidden; }
  .hamburger--emphatic .hamburger-inner {
    transition: background-color 0.125s 0.175s ease-in; }
    .hamburger--emphatic .hamburger-inner::before {
      left: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }
    .hamburger--emphatic .hamburger-inner::after {
      top: 10px;
      right: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }
  .hamburger--emphatic.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent; }
    .hamburger--emphatic.is-active .hamburger-inner::before {
      left: -64px;
      top: -64px;
      transform: translate3d(64px, 64px, 0) rotate(45deg);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic.is-active .hamburger-inner::after {
      right: -64px;
      top: -64px;
      transform: translate3d(-64px, 64px, 0) rotate(-45deg);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Emphatic Reverse
   */
.hamburger--emphatic-r {
  overflow: hidden; }
  .hamburger--emphatic-r .hamburger-inner {
    transition: background-color 0.125s 0.175s ease-in; }
    .hamburger--emphatic-r .hamburger-inner::before {
      left: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }
    .hamburger--emphatic-r .hamburger-inner::after {
      top: 10px;
      right: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }
  .hamburger--emphatic-r.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent; }
    .hamburger--emphatic-r.is-active .hamburger-inner::before {
      left: -64px;
      top: 64px;
      transform: translate3d(64px, -64px, 0) rotate(-45deg);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic-r.is-active .hamburger-inner::after {
      right: -64px;
      top: 64px;
      transform: translate3d(-64px, -64px, 0) rotate(45deg);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Slider
   */
.hamburger--slider .hamburger-inner {
  top: 1px; }
  .hamburger--slider .hamburger-inner::before {
    top: 10px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.15s; }
  .hamburger--slider .hamburger-inner::after {
    top: 20px; }

.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--slider.is-active .hamburger-inner::before {
    transform: rotate(-45deg) translate3d(-4.57143px, -8px, 0);
    opacity: 0; }
  .hamburger--slider.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(-90deg); }

/*
   * Slider Reverse
   */
.hamburger--slider-r .hamburger-inner {
  top: 1px; }
  .hamburger--slider-r .hamburger-inner::before {
    top: 10px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.15s; }
  .hamburger--slider-r .hamburger-inner::after {
    top: 20px; }

.hamburger--slider-r.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(-45deg); }
  .hamburger--slider-r.is-active .hamburger-inner::before {
    transform: rotate(45deg) translate3d(4.57143px, -8px, 0);
    opacity: 0; }
  .hamburger--slider-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(90deg); }

/*
   * Spring
   */
.hamburger--spring .hamburger-inner {
  top: 1px;
  transition: background-color 0s 0.13s linear; }
  .hamburger--spring .hamburger-inner::before {
    top: 10px;
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring .hamburger-inner::after {
    top: 20px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring.is-active .hamburger-inner {
  transition-delay: 0.22s;
  background-color: transparent; }
  .hamburger--spring.is-active .hamburger-inner::before {
    top: 0;
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--spring.is-active .hamburger-inner::after {
    top: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 10px, 0) rotate(-45deg); }

/*
   * Spring Reverse
   */
.hamburger--spring-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring-r .hamburger-inner::after {
    top: -20px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; }
  .hamburger--spring-r .hamburger-inner::before {
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring-r.is-active .hamburger-inner {
  transform: translate3d(0, -10px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spring-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear; }
  .hamburger--spring-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(90deg);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand
   */
.hamburger--stand .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }
  .hamburger--stand .hamburger-inner::before {
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand .hamburger-inner::after {
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand.is-active .hamburger-inner {
  transform: rotate(90deg);
  background-color: transparent;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }
  .hamburger--stand.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-45deg);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(45deg);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand Reverse
   */
.hamburger--stand-r .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }
  .hamburger--stand-r .hamburger-inner::before {
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand-r .hamburger-inner::after {
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand-r.is-active .hamburger-inner {
  transform: rotate(-90deg);
  background-color: transparent;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }
  .hamburger--stand-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-45deg);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(45deg);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spin
   */
.hamburger--spin .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin.is-active .hamburger-inner {
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spin Reverse
   */
.hamburger--spin-r .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin-r .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin-r .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin-r.is-active .hamburger-inner {
  transform: rotate(-225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Squeeze
   */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--squeeze .hamburger-inner::before {
    transition: top 0.075s 0.12s ease, opacity 0.075s ease; }
  .hamburger--squeeze .hamburger-inner::after {
    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--squeeze.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.075s ease, opacity 0.075s 0.12s ease; }
  .hamburger--squeeze.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Vortex
   */
.hamburger--vortex .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear; }
  .hamburger--vortex .hamburger-inner::before {
    transition-property: top, opacity; }
  .hamburger--vortex .hamburger-inner::after {
    transition-property: bottom, transform; }

.hamburger--vortex.is-active .hamburger-inner {
  transform: rotate(765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
    transition-delay: 0s; }
  .hamburger--vortex.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(90deg); }

/*
   * Vortex Reverse
   */
.hamburger--vortex-r .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear; }
  .hamburger--vortex-r .hamburger-inner::before {
    transition-property: top, opacity; }
  .hamburger--vortex-r .hamburger-inner::after {
    transition-property: bottom, transform; }

.hamburger--vortex-r.is-active .hamburger-inner {
  transform: rotate(-765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
    transition-delay: 0s; }
  .hamburger--vortex-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg); }

/* argument */
/* site style */
/* [ opacity ]
-------------------------------------------------*/
/* [ display style ]
-------------------------------------------------*/
/* [ background-image ]
-------------------------------------------------*/
/* [ writing-mode ]
-------------------------------------------------*/
/* [ illustrator & photoshop letter spacing ]
-------------------------------------------------*/
/* [ easy breakpoint ]
-------------------------------------------------*/
/* [ easy transform ]
-------------------------------------------------*/
/* [ writing-mode ]
-------------------------------------------------*/
#contact {
  /* dislay */
  /* contact */ }
  #contact .errMsg {
    margin-left: 1em;
    padding-bottom: 1px;
    display: block;
    line-height: 1.4;
    text-indent: -.9em; }
  #contact .formError {
    padding-bottom: 13px;
    display: block; }
  #contact .fixed {
    padding-bottom: 0px; }
  #contact .formError .formErrorClose {
    border: solid #252525 2px;
    display: block;
    width: 16px;
    height: 16px;
    position: absolute;
    top: -4px;
    right: -4px;
    color: #efefef;
    background: #333;
    font-weight: bold;
    text-align: center;
    line-height: middle;
    cursor: pointer;
    z-index: 2;
    -webkit-border-radius: 9px 9px 9px 9px;
    -moz-border-radius: 9px 9px 9px 9px;
    -ms-border-radius: 9px 9px 9px 9px;
    -o-border-radius: 9px 9px 9px 9px;
    border-radius: 9px 9px 9px 9px;
    -webkit-box-shadow: 1px -1px 3px #888;
    -moz-box-shadow: 1px -1px 3px #888;
    -ms-box-shadow: 1px -1px 3px #888;
    -o-box-shadow: 1px -1px 3px #888;
    box-shadow: 1px -1px 3px #888; }
  #contact .formError .formErrorClose:hover {
    background: #666; }
  #contact .fixed .formErrorClose {
    display: none; }
  #contact .formError .formErrorContent {
    padding: 6px 10px;
    width: 180px;
    position: relative;
    color: #fff;
    background: #252525;
    font-family: "Lucida Sans Unicode", "Lucida Grande", Arial, Helvetica, "ヒラギノ丸ゴ Pro W4", HiraMaruPro-W4, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Osaka, sans-serif;
    font-size: 11px;
    margin: 0 0;
    z-index: 1;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    -webkit-box-shadow: 0px 0px 6px #888;
    -moz-box-shadow: 0px 0px 6px #888;
    -ms-box-shadow: 0px 0px 6px #888;
    -o-box-shadow: 0px 0px 6px #888;
    box-shadow: 0px 0px 6px #888; }
  #contact .fixed .formErrorContent {
    margin-top: .5em;
    background: #f60;
    margin: 0 0 30px 0;
    -webkit-border-radius: none;
    -moz-border-radius: none;
    -ms-border-radius: none;
    -o-border-radius: none;
    border-radius: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -ms-box-shadow: none;
    -o-box-shadow: none;
    box-shadow: none; }
  #contact .fadeOut {
    opacity: .2;
    filter: alpha(opacity=20); }
  #contact .formError .formErrorArrow {
    width: 15px;
    height: 15px;
    position: absolute;
    bottom: 0;
    left: 20px;
    margin: 0 0 30px 0;
    z-index: 0; }
  #contact .fixed .formErrorArrow {
    display: none; }
  #contact .formError .formErrorArrowBottom {
    margin: -6px;
    top: 0; }
  #contact .fixed .formErrorArrowBottom {
    display: none; }
  #contact .formError .formErrorArrow div {
    margin: 0 auto;
    display: block;
    height: 1px;
    background: #252525;
    line-height: 0px;
    font-size: 0px;
    -webkit-box-shadow: 0px 2px 3px #888;
    -moz-box-shadow: 0px 2px 3px #888;
    -ms-box-shadow: 0px 2px 3px #888;
    -o-box-shadow: 0px 2px 3px #888;
    box-shadow: 0px 2px 3px #888; }
  #contact .formError .formErrorArrowBottom div {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -ms-box-shadow: none;
    -o-box-shadow: none;
    box-shadow: none; }
  #contact .formError .formErrorArrow .line10 {
    width: 19px; }
  #contact .formError .formErrorArrow .line9 {
    width: 17px; }
  #contact .formError .formErrorArrow .line8 {
    width: 15px; }
  #contact .formError .formErrorArrow .line7 {
    width: 13px; }
  #contact .formError .formErrorArrow .line6 {
    width: 11px; }
  #contact .formError .formErrorArrow .line5 {
    width: 9px; }
  #contact .formError .formErrorArrow .line4 {
    width: 7px; }
  #contact .formError .formErrorArrow .line3 {
    width: 5px; }
  #contact .formError .formErrorArrow .line2 {
    width: 3px; }
  #contact .formError .formErrorArrow .line1 {
    width: 1px; }
  #contact .hid_url {
    display: none; }
  #contact form p.test {
    position: relative;
    color: #C1C0BC; }
  #contact form p.test label {
    position: absolute;
    top: 3px;
    left: 10px;
    font-weight: normal; }
  #contact form p.test br {
    display: none; }
  #contact .formBlock {
    max-width: 890px;
    margin: auto; }
  #contact .txtContact {
    text-align: left;
    font-size: 16px;
    margin: 70px auto 50px; }
  #contact .txtContact01 {
    font-size: 14px;
    margin-bottom: 50px; }
  #contact .tableContact em,
  #contact .txtContact em {
    color: #fb2a2a;
    font-style: normal; }
  #contact .tableContact {
    border-top: #8f8f8f solid 1px;
    border-bottom: #8f8f8f solid 1px;
    width: 100%;
    margin: 30px 0 50px;
    font-size: 15px;
    text-align: left; }
    #contact .tableContact td,
    #contact .tableContact th {
      border-bottom: #8f8f8f solid 1px;
      padding: 20px;
      vertical-align: top; }
    #contact .tableContact th {
      background: #ededed;
      width: 210px;
      font-weight: normal; }
    #contact .tableContact td {
      position: relative; }
    #contact .tableContact input[type="text"],
    #contact .tableContact input[type="email"],
    #contact .tableContact input[type="number"],
    #contact .tableContact input[type="url"] {
      width: 300px;
      height: 23px;
      color: #1a1a1a; }
    #contact .tableContact input[type="text"],
    #contact .tableContact textarea {
      border: #8f8f8f solid 1px; }
    #contact .tableContact .size01 input[type="text"] {
      width: 160px; }
    #contact .tableContact .size02 input[type="text"],
    #contact .tableContact textarea {
      width: 100%; }
    #contact .tableContact textarea {
      height: 150px; }
  #contact .stepImg {
    margin: 30px 0; }
    #contact .stepImg img {
      display: block;
      width: 100%; }
  #contact .stepImg {
    margin: 30px 0; }
  #contact .tabForm {
    margin: 50px auto 0; }
  #contact .tabForm ul {
    font-size: 0;
    letter-spacing: 0;
    margin: 0;
    border-bottom: 2px solid #000; }
  #contact .tabForm ul li {
    display: inline-block;
    width: 50%;
    padding: 0; }
  #contact .tabForm ul li input {
    position: absolute;
    opacity: 0; }
  #contact .tabForm ul li label {
    display: block;
    line-height: 60px;
    text-align: center;
    font-size: 20px; }
  #contact .tabForm ul li input:checked ~ label {
    background: #000;
    color: #fff; }
  #contact .tabForm ul li label:hover {
    opacity: 1;
    background: #555;
    color: #fff; }
  #contact .tableContact input[type="text"],
  #contact .tableContact input[type="url"],
  #contact .tableContact input[type="email"],
  #contact .tableContact textarea {
    padding: 10px;
    height: auto;
    border: 1px solid #aaa; }
  #contact .tableContact select {
    -webkit-appearance: none;
    border: 1px solid #aaa;
    padding: 10px; }
  #contact .tableContact .pRadio {
    display: inline-block;
    vertical-align: middle; }
  #contact .tableContact .pRadio input {
    position: absolute;
    opacity: 0; }
  #contact .tableContact .pRadio label {
    display: inline-block;
    margin: 0 5px 0 0;
    border: 1px solid #aaa;
    padding: 10px 20px; }
  #contact .tableContact .pRadio input:checked ~ label {
    background: #555;
    border-color: #555;
    color: #fff; }
  #contact button {
    height: 60px;
    margin: 20px auto;
    padding: 0 100px;
    background: #eee; }

/* Z-INDEX */
.formError {
  z-index: 990; }

.formError .formErrorContent {
  z-index: 991; }

.formError .formErrorArrow {
  z-index: 996; }

.ui-dialog .formError {
  z-index: 5000; }

.ui-dialog .formError .formErrorContent {
  z-index: 5001; }

.ui-dialog .formError .formErrorArrow {
  z-index: 5006; }

.inputContainer {
  position: relative;
  float: left; }

.formError {
  position: absolute;
  top: 300px;
  left: 300px;
  display: block;
  cursor: pointer;
  text-align: left; }
  .formError.inline {
    position: relative;
    top: 0;
    left: 0;
    display: inline-block; }
    .formError.inline .formErrorContent {
      box-shadow: none;
      -moz-box-shadow: none;
      -webkit-box-shadow: none;
      -o-box-shadow: none;
      border: none;
      border-radius: 0;
      -moz-border-radius: 0;
      -webkit-border-radius: 0;
      -o-border-radius: 0; }
  .formError .formErrorContent {
    width: 100%;
    background: #292b2d;
    position: relative;
    color: #fff;
    min-width: 120px;
    font-size: 11px;
    border: 2px solid #ddd;
    box-shadow: 0 0 6px #000;
    -moz-box-shadow: 0 0 6px #000;
    -webkit-box-shadow: 0 0 6px #000;
    -o-box-shadow: 0 0 6px #000;
    padding: 4px 10px 4px 10px;
    border-radius: 6px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    -o-border-radius: 6px; }
  .formError .formErrorArrow {
    width: 15px;
    margin: -2px 0 0 13px;
    position: relative; }
    .formError .formErrorArrow div {
      border-left: 2px solid #ddd;
      border-right: 2px solid #ddd;
      box-shadow: 0 2px 3px #444;
      -moz-box-shadow: 0 2px 3px #444;
      -webkit-box-shadow: 0 2px 3px #444;
      -o-box-shadow: 0 2px 3px #444;
      font-size: 0px;
      height: 1px;
      background: #292b2d;
      margin: 0 auto;
      line-height: 0;
      font-size: 0;
      display: block; }
    .formError .formErrorArrow .line10 {
      width: 13px;
      border: none; }
    .formError .formErrorArrow .line9 {
      width: 11px;
      border: none; }
    .formError .formErrorArrow .line8 {
      width: 11px; }
    .formError .formErrorArrow .line7 {
      width: 9px; }
    .formError .formErrorArrow .line6 {
      width: 7px; }
    .formError .formErrorArrow .line5 {
      width: 5px; }
    .formError .formErrorArrow .line4 {
      width: 3px; }
    .formError .formErrorArrow .line3 {
      width: 1px;
      border-left: 2px solid #ddd;
      border-right: 2px solid #ddd;
      border-bottom: 0 solid #ddd; }
    .formError .formErrorArrow .line2 {
      width: 3px;
      border: none;
      background: #ddd; }
    .formError .formErrorArrow .line1 {
      width: 1px;
      border: none;
      background: #ddd; }
  .formError .formErrorArrowBottom {
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    -o-box-shadow: none;
    margin: 0px 0 0 12px;
    top: 2px; }
    .formError .formErrorArrowBottom div {
      box-shadow: none;
      -moz-box-shadow: none;
      -webkit-box-shadow: none;
      -o-box-shadow: none; }

.ajaxSubmit {
  padding: 20px;
  background: #55ea55;
  border: 1px solid #999;
  display: none; }

.greenPopup .formErrorContent {
  background: #33be40; }

.blackPopup .formErrorContent {
  background: #393939;
  color: #FFF; }

body[dir='rtl'] .formError .formErrorArrow,
body.rtl .formError .formErrorArrow {
  margin: -2px 13px 0 0; }

.greenPopup .formErrorArrow div {
  background: #33be40; }

.blackPopup .formErrorArrow div {
  background: #393939;
  color: #FFF; }

body.lb-disable-scrolling {
  overflow: hidden; }

.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: black;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  display: none; }

.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000;
  text-align: center;
  line-height: 0;
  font-weight: normal;
  outline: none; }

.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  max-height: none;
  border-radius: 3px;
  /* Image border */
  border: 4px solid white; }

.lightbox a img {
  border: none; }

.lb-outerContainer {
  position: relative;
  *zoom: 1;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 4px;
  /* Background color behind image.
     This is visible during transitions. */
  background-color: white; }

.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0; }

.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  background: url(../images/loading.gif) no-repeat; }

.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10; }

.lb-container > .nav {
  left: 0; }

.lb-nav a {
  outline: none;
  background-image: url("data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); }

.lb-prev, .lb-next {
  height: 100%;
  cursor: pointer;
  display: block; }

.lb-nav a.lb-prev {
  width: 34%;
  left: 0;
  float: left;
  background: url(../images/prev.png) left 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s; }

.lb-nav a.lb-prev:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-nav a.lb-next {
  width: 64%;
  right: 0;
  float: right;
  background: url(../images/next.png) right 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s; }

.lb-nav a.lb-next:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  *zoom: 1;
  width: 100%;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px; }

.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-data {
  padding: 0 4px;
  color: #ccc; }

.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em; }

.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em; }

.lb-data .lb-caption a {
  color: #4ae; }

.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999; }

.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  background: url(../images/close.png) top right no-repeat;
  text-align: right;
  outline: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s; }

.lb-data .lb-close:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

@media only screen and (max-width: 767px) {
  .pc {
    display: none !important; } }

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important; } }

html {
  color: #222222;
  font-size: 62.5%;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; }

* {
  font-size: 14px;
  font-size: 1.4rem;
  box-sizing: border-box; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  color: inherit;
  text-decoration: none; }

.inner {
  margin: 0 auto; }

button,
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
  button::-webkit-search-decoration,
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  button::focus,
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

.flex-row {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between; }

.ip5 {
  display: none; }
  @media only screen and (max-width: 320px) {
    .ip5 {
      display: block; } }

.ip5-not {
  display: block; }
  @media only screen and (max-width: 320px) {
    .ip5-not {
      display: none; } }

@media only screen and (max-width: 767px) {
  .no-break {
    white-space: nowrap; } }

.footer .upper {
  background-color: rgba(239, 239, 239, 0.4);
  overflow: hidden;
  padding: 130px 0 127px; }
  @media only screen and (max-width: 767px) {
    .footer .upper {
      padding: 88px 0 140px; } }
  .footer .upper .inner {
    padding: 0 16px;
    max-width: 1062px; }
    @media only screen and (max-width: 767px) {
      .footer .upper .inner {
        -webkit-flex-direction: column;
        flex-direction: column; } }
    .footer .upper .inner .button {
      width: calc(50% - 15px); }
      @media only screen and (max-width: 767px) {
        .footer .upper .inner .button {
          width: 100%; } }

.footer #to-top {
  background-color: #5D5D5D;
  opacity: 0;
  position: fixed;
  right: 0;
  bottom: 0;
  transition: all 0.3s;
  height: 140px;
  width: 67px;
  z-index: 99; }
  .footer #to-top.active {
    opacity: 1; }
  @media only screen and (min-width: 768px) {
    .footer #to-top .text {
      color: white;
      display: block;
      font-size: 10px;
      font-size: 1rem;
      font-weight: bold;
      letter-spacing: 0.1em;
      font-family: "Poppins", sans-serif;
      margin: 0 auto;
      position: absolute;
      top: 76px;
      left: 0;
      right: 0;
      transform: rotate(90deg);
      white-space: nowrap; }
    .footer #to-top .trace {
      background-color: #222222;
      margin: 0 auto;
      pointer-events: none;
      position: absolute;
      top: -29px;
      left: 0;
      right: 0;
      transition: all .6s;
      height: 64px;
      width: 1px; }
      .footer #to-top .trace:before {
        border: 1px solid #909090;
        border-radius: 50%;
        content: "";
        display: block;
        margin: 0 auto;
        position: absolute;
        top: -15px;
        left: -12px;
        right: 0;
        height: 23px;
        width: 23px; }
      .footer #to-top .trace:after {
        border-radius: 50%;
        background-color: #222222;
        content: "";
        display: block;
        margin: 0 auto;
        position: absolute;
        top: -6px;
        left: -3px;
        right: 0;
        height: 7px;
        width: 7px; }
    .footer #to-top:hover .animated.hinge {
      background-color: rgba(0, 0, 0, 0.2);
      border-radius: 50%;
      margin: 0 auto;
      position: absolute;
      top: -72px;
      left: -6px;
      height: 80px;
      width: 80px;
      -webkit-animation-duration: 2s;
      animation-duration: 2s; }
    @-webkit-keyframes zoomIn {
      0% {
        opacity: 0;
        -webkit-transform: scale3d(0.4, 0.4, 0.4);
        transform: scale3d(0.4, 0.4, 0.4); }
      50% {
        opacity: 0.5; }
      100% {
        opacity: 0; } }
    @keyframes zoomIn {
      0% {
        opacity: 0;
        -webkit-transform: scale3d(0.4, 0.4, 0.4);
        transform: scale3d(0.4, 0.4, 0.4); }
      50% {
        opacity: 0.5; }
      100% {
        opacity: 0; } }
    .footer #to-top:hover .zoomIn {
      -webkit-animation-name: zoomIn;
      animation-name: zoomIn;
      animation-iteration-count: infinite; } }
  @media only screen and (max-width: 767px) {
    .footer #to-top {
      background-image: url("../images/common/arrow_up_white.png");
      background-size: 18px;
      background-repeat: no-repeat;
      background-position: center;
      right: 16px;
      bottom: 40px;
      height: 60px;
      width: 60px; } }

.footer .down {
  background-color: #000000;
  position: relative;
  text-align: center;
  height: 140px;
  width: 100%; }
  @media only screen and (max-width: 767px) {
    .footer .down {
      height: 234px; } }
  .footer .down .inner {
    height: 100%;
    max-width: 1220px;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-align-items: center;
    align-items: center; }
    @media only screen and (max-width: 767px) {
      .footer .down .inner {
        display: block;
        padding-top: 34px; } }
  .footer .down .social {
    margin: 0 auto;
    position: absolute;
    left: 270px;
    top: 50%;
    transform: translateY(-50%);
    width: 286px;
    -webkit-align-items: center;
    align-items: center; }
    @media only screen and (max-width: 1480px) {
      .footer .down .social {
        width: 200px;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;}
    .footer .down .social a {
        margin-right: 20px; }
    .footer .down .social a:last-child-child {
        margin-right: 0; } }
    @media only screen and (max-width: 1400px) {
      .footer .down .social {
        -webkit-justify-content: flex-start;
        justify-content: flex-start; } }
    @media only screen and (max-width: 1230px) {
      .footer .down .social {
        width: 196px; } }
    @media only screen and (max-width: 1140px) {
      .footer .down .social {
        margin-left: -50px; } }
    @media only screen and (max-width: 910px) {
      .footer .down .social {
        margin-left: -90px; } }
    @media only screen and (max-width: 767px) {
      .footer .down .social {
        position: static;
        transform: none;
        margin-left: auto;
        margin-top: 24px;
        -webkit-justify-content: center;
        justify-content: center; } }

@media only screen and (min-width: 768px) and (min-width: 768px) {
  .footer .down .social a {
    cursor: pointer;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s; }
    .footer .down .social a:hover {
      opacity: .7; } }
    @media only screen and (max-width: 1400px) {
      .footer .down .social a {
        margin-right: 20px; }
    .footer .down .social a:last-child-child {
        margin-right: 0; }  }
    @media only screen and (max-width: 767px) {
      .footer .down .social a:first-child {
        margin-right: 17px; }
        .footer .down .social .item.wantedly {
        margin-left: 17px; } }
    .footer .down .social img {
      height: 23px; }
    .footer .down .social figure {
      width: 130px; }
      @media only screen and (max-width: 1480px) {
        .footer .down .social figure {
          margin-top: 10px;
          width: 200px; } }
      @media only screen and (max-width: 1400px) {
        .footer .down .social figure {
          margin-top: 10px;
          width: 196px; } }
      @media only screen and (max-width: 1110px) {
        .footer .down .social figure {
          margin-top: 10px; } }
      @media only screen and (max-width: 960px) {
        .footer .down .social figure {
          width: 166px; } }
      @media only screen and (max-width: 910px) {
        .footer .down .social figure {
          width: 120px; } }
      @media only screen and (max-width: 767px) {
        .footer .down .social figure {
          margin-top: 12px;
          width: 196px; } }
      .footer .down .social figure img {
        margin-top: -3px;
        height: auto; }
        @media only screen and (max-width: 1400px) {
          .footer .down .social figure img {
            margin-top: -1px; } }
  .footer .down .footer-logo {
    display: block;
    position: absolute;
    left: 51px;
    top: 50%;
    transform: translateY(-50%);
    width: 170px; }
    @media only screen and (min-width: 768px) {
      .footer .down .footer-logo {
        cursor: pointer;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s; }
        .footer .down .footer-logo:hover {
          opacity: .7; } }
    @media only screen and (max-width: 1230px) {
      .footer .down .footer-logo {
        width: 150px; } }
    @media only screen and (max-width: 910px) {
      .footer .down .footer-logo {
        width: 130px;
        left: 20px; } }
    @media only screen and (max-width: 767px) {
      .footer .down .footer-logo {
        margin: 0 auto;
        position: static;
        transform: translateY(0%);
        width: 142px; } }
  .footer .down .footer-nav {
    color: white; }
    .footer .down .footer-nav .nav-list {
      margin-right: -40px;
      width: 560px; }
      @media only screen and (max-width: 1460px) {
        .footer .down .footer-nav .nav-list {
          width: 494px; } }
      @media only screen and (max-width: 1360px) {
        .footer .down .footer-nav .nav-list {
          width: 420px; } }
      @media only screen and (max-width: 1100px) {
        .footer .down .footer-nav .nav-list {
          width: 330px; } }
      @media only screen and (max-width: 970px) {
        .footer .down .footer-nav .nav-list {
          padding-left: 90px;
          width: 394px; } }
      @media only screen and (max-width: 890px) {
        .footer .down .footer-nav .nav-list {
          padding-left: 130px; } }
      .footer .down .footer-nav .nav-list li {
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: bold;
        letter-spacing: 0.1em;
        font-family: "Poppins", sans-serif; }
        @media only screen and (min-width: 768px) {
          .footer .down .footer-nav .nav-list li {
            cursor: pointer;
            -webkit-transition: 0.3s;
            -moz-transition: 0.3s;
            -o-transition: 0.3s;
            transition: 0.3s; }
            .footer .down .footer-nav .nav-list li:hover {
              opacity: .7; } }
        @media only screen and (max-width: 1200px) {
          .footer .down .footer-nav .nav-list li {
            font-size: 1.16667vw; } }
        @media only screen and (max-width: 1100px) {
          .footer .down .footer-nav .nav-list li {
            font-size: 1vw; } }
        @media only screen and (max-width: 767px) {
          .footer .down .footer-nav .nav-list li {
            font-size: 1.16667vw; } }
  .footer .down .copy {
    color: white;
    font-size: 14px;
    font-size: 1.4rem;
    padding-left: 124px; }
    @media only screen and (max-width: 1365px) {
      .footer .down .copy {
        padding-right: 80px;
        padding-left: 5%; } }
    @media only screen and (max-width: 767px) {
      .footer .down .copy {
        font-size: 12px;
        font-size: 1.2rem;
        margin-top: 19px;
        padding: 0; } }

.header {
  position: fixed;
  left: 0;
  top: 0;
  transition: all .4s;
  height: 90px;
  width: 100%;
  z-index: 999; }
  @media only screen and (max-width: 767px) {
    .header {
      background-color: #222222;
      height: 80px; } }
  .header .header-logo {
    position: absolute;
    bottom: 3px;
    left: 53px;
    width: 168px; }
    @media only screen and (min-width: 768px) {
      .header .header-logo {
        cursor: pointer;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s; }
        .header .header-logo:hover {
          opacity: .7; } }
    @media only screen and (max-width: 767px) {
      .header .header-logo {
        top: 50%;
        transform: translateY(-50%);
        bottom: auto;
        left: 16px;
        width: 142px;
        z-index: 2; } }
    @media only screen and (max-width: 320px) {
      .header .header-logo {
        width: 124px; } }
    .header .header-logo .logo1 {
      display: block; }
    .header .header-logo .logo2 {
      display: none; }
  .header .contact-bt {
    background-color: #677D97;
    background-image: url("../images/common/contact_icn.svg");
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 80px;
    height: 80px;
    width: 80px;
    z-index: 1; }
  .header .hamburger {
    background-color: white;
    position: absolute;
    right: 0;
    top: 0;
    text-align: right;
    height: 80px;
    width: 80px;
    outline: none;
    z-index: 2; }
    .header .hamburger .hamburger-inner {
      right: 0;
      width: 26px; }
      .header .hamburger .hamburger-inner:before {
        right: 0;
        width: 20px; }
      .header .hamburger .hamburger-inner:after {
        right: 0;
        width: 32px; }
    .header .hamburger.is-active .header-logo {
      bottom: auto;
      top: 50%;
      transform: translateY(-50%); }
    .header .hamburger.is-active .hamburger-inner:before {
      width: 32px; }
  @media only screen and (max-width: 767px) {
    .header .header-nav {
      background-color: #222222;
      overflow-y: scroll;
      padding-bottom: 106px;
      transform: translateX(100%);
      position: absolute;
      top: 0;
      left: 0;
      height: 100vh;
      transition: all .3s;
      width: 100%;
      z-index: 1; }
      .header .header-nav.is-active {
        transform: translateX(0); } }
  @media only screen and (max-width: 320px) {
    .header .header-nav {
      padding-bottom: 120px; } }
  .header .header-nav .nav-list {
    color: white;
    position: absolute;
    top: 0;
    right: 0;
    width: 790px;
    -webkit-align-items: center;
    align-items: center; }
    @media only screen and (max-width: 1050px) {
      .header .header-nav .nav-list {
        width: 70%; } }
    @media only screen and (max-width: 767px) {
      .header .header-nav .nav-list {
        position: static;
        padding: 0 24px;
        margin-top: 160px;
        width: 100%; } }
    .header .header-nav .nav-list li {
      font-size: 14px;
      font-size: 1.4rem;
      font-weight: bold;
      letter-spacing: 0.1em;
      font-family: "Poppins", sans-serif; }
      @media only screen and (min-width: 768px) {
        .header .header-nav .nav-list li {
          cursor: pointer;
          -webkit-transition: 0.3s;
          -moz-transition: 0.3s;
          -o-transition: 0.3s;
          transition: 0.3s; }
          .header .header-nav .nav-list li:hover {
            opacity: .7; } }
      @media only screen and (max-width: 767px) {
        .header .header-nav .nav-list li {
          border: 1px solid white;
          font-size: 18px;
          font-size: 1.8rem;
          margin-bottom: 16px;
          text-align: center;
          width: calc(50% - 7px); }
          .header .header-nav .nav-list li:nth-child(1) {
            order: 1; }
          .header .header-nav .nav-list li:nth-child(2) {
            order: 3; }
          .header .header-nav .nav-list li:nth-child(3) {
            margin-bottom: 0;
            order: 5; }
          .header .header-nav .nav-list li:nth-child(4) {
            order: 2; }
          .header .header-nav .nav-list li:nth-child(5) {
            order: 4; }
          .header .header-nav .nav-list li a {
            display: block;
            padding: 22px 0;
            width: 100%; } }
      .header .header-nav .nav-list li.contact {
        text-align: center; }
        .header .header-nav .nav-list li.contact a {
          background-color: white;
          color: #222222;
          display: block;
          padding-top: 38px;
          height: 90px;
          width: 150px; }
  .header .header-nav .buttons {
    padding: 0 24px;
    margin-top: 96px;
    width: 100%; }
    .header .header-nav .buttons .button {
      text-align: center;
      position: relative;
      height: 100px;
      width: 100%; }
      .header .header-nav .buttons .button .sml {
        display: block;
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: bold;
        padding-top: 20px; }
      .header .header-nav .buttons .button .big {
        font-family: "Poppins", sans-serif;
        font-size: 30px;
        font-size: 3rem;
        font-weight: bold; }
      .header .header-nav .buttons .button.contact-tel {
        background-color: white;
        border: 2px solid #667D98;
        margin-bottom: 24px; }
        .header .header-nav .buttons .button.contact-tel .sml {
          color: #677D97; }
        .header .header-nav .buttons .button.contact-tel .big {
          position: relative; }
          .header .header-nav .buttons .button.contact-tel .big:before {
            background-image: url("../images/common/tel_icn.svg");
            background-image: 34px;
            background-repeat: no-repeat;
            content: "";
            display: inline-block;
            margin-right: 9px;
            position: relative;
            top: 4px;
            height: 34px;
            width: 34px; }
        .header .header-nav .buttons .button.contact-tel:before {
          background-color: #222222;
          border-bottom: 2px solid #667D98;
          border-right: 2px solid #667D98;
          content: "";
          display: block;
          position: absolute;
          left: -2px;
          top: -2px;
          height: 20px;
          width: 18px; }
        .header .header-nav .buttons .button.contact-tel:after {
          background-image: url("../images/common/det1.svg");
          background-size: 64px 80px;
          content: "";
          display: block;
          position: absolute;
          left: -26px;
          top: -65px;
          height: 80px;
          width: 64px; }
      .header .header-nav .buttons .button.contact-btt {
        background-color: #677D97; }
        .header .header-nav .buttons .button.contact-btt .sml, .header .header-nav .buttons .button.contact-btt .big {
          color: white; }
        .header .header-nav .buttons .button.contact-btt .big {
          font-size: 26px;
          font-size: 2.6rem;
          line-height: 1.7;
          position: relative; }
          .header .header-nav .buttons .button.contact-btt .big:before {
            background-image: url("../images/common/contact_icn2.svg");
            background-image: 34px 23px;
            background-repeat: no-repeat;
            content: "";
            display: inline-block;
            margin-right: 16px;
            position: relative;
            top: 2px;
            height: 23px;
            width: 34px; }
        .header .header-nav .buttons .button.contact-btt:before {
          background-color: #222222;
          content: "";
          display: block;
          position: absolute;
          right: 0;
          bottom: 0;
          height: 20px;
          width: 20px; }
        .header .header-nav .buttons .button.contact-btt:after {
          background-image: url("../images/common/det2.svg");
          background-size: 30px 66px;
          content: "";
          display: block;
          position: absolute;
          right: -24px;
          bottom: -61px;
          height: 66px;
          width: 30px; }
  .header.fixed {
    background-color: #222222; }
    @media only screen and (min-width: 768px) {
      .header.fixed .header-logo {
        bottom: auto;
        top: 50%;
        transform: translateY(-50%); }
      .header.fixed .logo1 {
        display: none; }
      .header.fixed .logo2 {
        display: block; }
      .header.fixed li.contact {
        background-color: #677D97 !important;
        color: white !important; } }

@keyframes overflow {
  0% {
    overflow: hidden; }
  99% {
    overflow: hidden; }
  100% {
    overflow: initial; } }

@-webkit-keyframes overflow {
  0% {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -webkit-overflow: hidden; }
  99% {
    -webkit-backface-visibility: initial;
    -moz-backface-visibility: initial;
    -webkit-overflow: initial; }
  100% {
    -webkit-backface-visibility: initial;
    -moz-backface-visibility: initial;
    -webkit-overflow: initial; } }

.overflow-initial {
  overflow: visible !important; }

.overflow-an {
  animation: 1s overflow ease;
  animation-fill-mode: forwards;
  -webkit-animation: 1s overflow ease;
  -webkit-animation-fill-mode: forwards; }

.animation-wrap {
  overflow: hidden; }

.animation-wrap2 {
  overflow: hidden; }

@keyframes slide-left {
  0% {
    transform: translateX(-200%);
    opacity: 1; }
  100% {
    transform: translateX(0%);
    opacity: 1; } }

@-webkit-keyframes slide-left {
  0% {
    transform: translateX(-200%);
    opacity: 1; }
  100% {
    transform: translateX(0%);
    opacity: 1; } }

.slide-left-cont {
  transform: translateX(-200%);
  animation: .9s slide-left ease;
  animation-delay: 0s;
  animation-fill-mode: forwards;
  -webkit-animation: .9s slide-left ease;
  -webkit-animation-delay: 0s;
  -webkit-animation-fill-mode: forwards; }

@keyframes slide-down {
  0% {
    transform: translateY(200%); }
  100% {
    transform: translateY(0%); } }

@-webkit-keyframes slide-down {
  0% {
    transform: translateY(200%); }
  100% {
    transform: translateY(0%); } }

.slide-down-cont {
  transform: translateY(200%);
  animation: .7s slide-down ease;
  animation-delay: 1s;
  animation-fill-mode: forwards;
  -webkit-animation: .7s slide-down ease;
  -webkit-animation-delay: 1s;
  -webkit-animation-fill-mode: forwards; }

@keyframes pickaboo {
  0% {
    transform: translateY(20%);
    opacity: 0; }
  100% {
    transform: translateY(0%);
    opacity: 1; } }

@-webkit-keyframes pickaboo {
  0% {
    -webkit-transform: translateY(20%);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0%);
    opacity: 1; } }

.pickaboo {
  transform: translateY(20%);
  opacity: 0;
  animation: .5s pickaboo ease;
  animation-delay: 0.5s;
  animation-fill-mode: forwards;
  -webkit-animation: .5s pickaboo ease;
  -webkit-animation-delay: 0.5s;
  -webkit-animation-fill-mode: forwards; }

@keyframes zoomIn {
  0% {
    opacity: 0;
    transform: scale3d(0.4, 0.4, 0.4); }
  50% {
    opacity: 0.5; }
  100% {
    opacity: 0; } }

@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.4, 0.4, 0.4); }
  50% {
    opacity: 0.5; }
  100% {
    opacity: 0; } }

.breadcrumb {
  background-color: #222222;
  position: relative;
  z-index: 2;
  /* IE11  */ }
  .breadcrumb:before {
    background-color: white;
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 100%;
    width: calc((100% - 1200px)/2); }
  .breadcrumb .inner {
    max-width: 1200px;
    padding-top: 18px;
    padding-left: 32px;
    height: 54px; }
    @media only screen and (max-width: 767px) {
      .breadcrumb .inner {
        padding-left: 16px;
        padding-top: 13px;
        height: 42px; } }
    .breadcrumb .inner .bread-text {
      color: white;
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: 0.1em; }
      @media only screen and (max-width: 767px) {
        .breadcrumb .inner .bread-text {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 1.4; } }
      .breadcrumb .inner .bread-text a {
        text-decoration: underline; }
        @media only screen and (min-width: 768px) {
          .breadcrumb .inner .bread-text a {
            cursor: pointer;
            -webkit-transition: 0.3s;
            -moz-transition: 0.3s;
            -o-transition: 0.3s;
            transition: 0.3s; }
            .breadcrumb .inner .bread-text a:hover {
              opacity: .7; } }
    @supports (-webkit-line-clamp: 1) {
      .breadcrumb .inner .bread-text {
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical; } }
  .breadcrumb _:lang(x)::-ms-backdrop, .breadcrumb .inner {
    padding-top: 22px; }

.button {
  display: block;
  outline: none; }
  .button .decoration {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%; }
  .button.read-more {
    position: relative;
    margin: 0 auto;
    text-align: left;
    height: 46px;
    width: 180px; }
    .button.read-more .bt-text {
      color: #677D97;
      display: block;
      font-size: 12px;
      font-size: 1.2rem;
      font-weight: bold;
      font-family: "Poppins", sans-serif;
      letter-spacing: 0.1em;
      padding-top: 17px;
      text-transform: uppercase; }
    .button.read-more .trace {
      background-color: #677D97;
      display: block;
      position: absolute;
      top: 50%;
      right: 24px;
      transform: translateY(-50%);
      height: 1px;
      width: 64px; }
    .button.read-more:before {
      background-color: #677D97;
      border-radius: 50%;
      content: "";
      display: block;
      margin: 0 auto;
      opacity: 0.2;
      position: absolute;
      top: 1px;
      right: 1px;
      height: 45px;
      width: 45px;
      z-index: 2; }
    .button.read-more:after {
      border-radius: 50%;
      background-color: #677D97;
      content: "";
      display: block;
      margin: 0 auto;
      position: absolute;
      top: 19px;
      right: 20px;
      height: 8px;
      width: 8px;
      z-index: 2; }
    @media only screen and (min-width: 768px) {
      .button.read-more .hinge {
        border-radius: 50%;
        position: absolute;
        top: -17px;
        right: -17px;
        height: 80px;
        width: 80px; }
      .button.read-more:hover .animated.hinge {
        background-color: rgba(103, 125, 151, 0.2);
        animation: 2s zoomIn;
        animation-iteration-count: infinite;
        -webkit-animation: 2s zoomIn;
        -webkit-animation-iteration-count: infinite; } }
    .button.read-more.dark:before {
      background-color: white; }
    .button.read-more.dark:after {
      background-color: white; }
    .button.read-more.dark .bt-text {
      color: white; }
    .button.read-more.dark .trace {
      background-color: white; }
    @media only screen and (min-width: 768px) {
      .button.read-more.dark:hover .animated.hinge {
        background-color: rgba(255, 255, 255, 0.2); } }
  .button.btt-tel {
    border: 2px solid #667D98;
    font-weight: bold;
    position: relative;
    text-align: center;
    height: 152px; }
    @media only screen and (min-width: 768px) {
      .button.btt-tel {
        background-color: #667D98; }
        .button.btt-tel:hover .sml, .button.btt-tel:hover .big {
          color: white; }
        .button.btt-tel:hover .big:before {
          background-image: url("../images/common/tel_icn_w.svg"); } }
    @media only screen and (max-width: 767px) {
      .button.btt-tel {
        margin-bottom: 25px;
        height: 118px; } }
    .button.btt-tel span {
      display: inline-block; }
    .button.btt-tel .sml {
      color: #677D97;
      font-size: 17px;
      font-size: 1.7rem;
      letter-spacing: 0.07em;
      padding: 40px 0 10px;
      position: relative;
      transition: all .3s;
      z-index: 3; }
      @media only screen and (max-width: 767px) {
        .button.btt-tel .sml {
          font-size: 14px;
          font-size: 1.4rem;
          padding: 25px 0 10px; } }
      @media only screen and (max-width: 320px) {
        .button.btt-tel .sml {
          padding-left: 30px; } }
    .button.btt-tel .big {
      font-size: 40px;
      font-size: 4rem;
      letter-spacing: 0.05em;
      font-family: "Poppins", sans-serif;
      position: relative;
      transition: all .3s;
      z-index: 3; }
      @media only screen and (max-width: 767px) {
        .button.btt-tel .big {
          font-size: 32px;
          font-size: 3.2rem; } }
      @media only screen and (max-width: 320px) {
        .button.btt-tel .big {
          font-size: 28px;
          font-size: 2.8rem; } }
      .button.btt-tel .big:before {
        background-image: url("../images/common/tel_icn.svg");
        background-image: 36px;
        background-repeat: no-repeat;
        content: "";
        display: inline-block;
        margin-right: 16px;
        position: relative;
        top: 4px;
        height: 36px;
        width: 36px; }
        @media only screen and (max-width: 320px) {
          .button.btt-tel .big:before {
            margin-right: 10px;
            top: 6px; } }
    .button.btt-tel:after {
      background-color: white; }
    .button.btt-tel .decoration {
      z-index: 3; }
      .button.btt-tel .decoration:before {
        background-color: #f8f8f8;
        border-radius: 2px;
        border-bottom: 2px solid #667D98;
        border-right: 2px solid #667D98;
        border-left: 2px solid #f8f8f8;
        border-top: 2px solid #f8f8f8;
        content: "";
        display: block;
        position: absolute;
        left: -3px;
        top: -3px;
        height: 44px;
        width: 44px; }
        @media only screen and (max-width: 767px) {
          .button.btt-tel .decoration:before {
            height: 29px;
            width: 29px; } }
      .button.btt-tel .decoration:after {
        background-image: url("../images/common/deta1.svg");
        background-image: 165px 202px;
        background-repeat: no-repeat;
        content: "";
        position: absolute;
        top: -75px;
        left: -142px;
        height: 202px;
        width: 165px; }
        @media only screen and (max-width: 767px) {
          .button.btt-tel .decoration:after {
            background-image: url("../images/common/detb1.svg");
            background-image: 65px 80px;
            top: -78px;
            left: -18px;
            height: 80px;
            width: 65px; } }
  .button.btt-contact {
    color: white;
    font-weight: bold;
    position: relative;
    text-align: center;
    height: 152px; }
    @media only screen and (min-width: 768px) {
      .button.btt-contact {
        background-color: #222222; }
        .button.btt-contact:hover .decoration:after {
          background-image: url("../images/common/deta2_on.svg"); }
        .button.btt-contact:hover .sml, .button.btt-contact:hover .big {
          color: white; } }
    @media only screen and (max-width: 767px) {
      .button.btt-contact {
        background-color: #677D97;
        border: 2px solid #677D97;
        height: 118px; } }
    .button.btt-contact span {
      display: inline-block; }
    .button.btt-contact .sml {
      letter-spacing: 0.07em;
      font-size: 17px;
      font-size: 1.7rem;
      padding: 39px 0 27px;
      position: relative;
      transition: all .3s;
      z-index: 3; }
      @media only screen and (max-width: 767px) {
        .button.btt-contact .sml {
          font-size: 14px;
          font-size: 1.4rem;
          padding: 30px 0 10px; } }
    .button.btt-contact .big {
      font-size: 30px;
      font-size: 3rem;
      letter-spacing: 0.05em;
      font-family: "Poppins", sans-serif;
      position: relative;
      transition: all .3s;
      z-index: 3; }
      @media only screen and (max-width: 767px) {
        .button.btt-contact .big {
          font-size: 26px;
          font-size: 2.6rem; } }
      @media only screen and (max-width: 320px) {
        .button.btt-contact .big {
          font-size: 24px;
          font-size: 2.4rem; } }
      .button.btt-contact .big:before {
        background-image: url("../images/common/contact_icn2.svg");
        background-image: 37px 26px;
        background-repeat: no-repeat;
        content: "";
        display: inline-block;
        margin-right: 25px;
        position: relative;
        top: 4px;
        height: 26px;
        width: 37px; }
        @media only screen and (max-width: 767px) {
          .button.btt-contact .big:before {
            top: 5px;
            margin-right: 16px; } }
    .button.btt-contact:after {
      background-color: #677D97; }
    .button.btt-contact .decoration {
      z-index: 4; }
      .button.btt-contact .decoration:before {
        background-color: #f8f8f8;
        content: "";
        display: block;
        position: absolute;
        right: -3px;
        bottom: -3px;
        height: 28px;
        width: 28px; }
      .button.btt-contact .decoration:after {
        background-image: url("../images/common/deta2.svg");
        background-image: 143px 205px;
        background-repeat: no-repeat;
        content: "";
        position: absolute;
        bottom: -42px;
        right: -174px;
        height: 205px;
        width: 143px; }
        @media only screen and (max-width: 767px) {
          .button.btt-contact .decoration:after {
            background-image: url("../images/common/detb2.svg");
            background-image: 29px 66px;
            bottom: -79px;
            right: -18px;
            height: 66px;
            width: 29px; } }
  .button.btt-01 {
    background-color: #222222;
    margin: 0 auto;
    padding: 29px 0;
    position: relative;
    text-align: center;
    width: 340px; }
    @media only screen and (min-width: 768px) {
      .button.btt-01:hover .decoration:after {
        background-image: url("../images/common/btt-01_det_on.svg"); } }
    @media only screen and (max-width: 767px) {
      .button.btt-01 {
        width: 100%; } }
    .button.btt-01:after {
      background-color: #677D97; }
    .button.btt-01 .text {
      color: white;
      font-weight: bold;
      font-size: 20px;
      font-size: 2rem;
      font-family: "Poppins", sans-serif;
      letter-spacing: 0.1em;
      position: relative;
      text-transform: uppercase;
      z-index: 3; }
    .button.btt-01 .decoration:before {
      background-color: #ffffff;
      content: "";
      display: block;
      position: absolute;
      right: -1px;
      bottom: -1px;
      height: 16px;
      width: 16px;
      z-index: 3; }
      @media only screen and (max-width: 767px) {
        .button.btt-01 .decoration:before {
          height: 19px;
          width: 19px; } }
    .button.btt-01 .decoration:after {
      background-image: url("../images/common/btt-01_det.svg");
      background-image: 143px 205px;
      background-repeat: no-repeat;
      content: "";
      position: absolute;
      bottom: -35px;
      right: -42px;
      height: 82px;
      width: 57px; }
      @media only screen and (max-width: 767px) {
        .button.btt-01 .decoration:after {
          background-image: url("../images/common/btt-01_det_sp.svg");
          background-image: 30px 71px;
          bottom: -39px;
          right: -16px;
          height: 71px;
          width: 30px; } }

@-webkit-keyframes effect-hover {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0; } }

@keyframes effect-hover {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0; } }
  .button.effect-hover {
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative; }
    .button.effect-hover:after {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      transition: all .3s;
      height: 100%;
      width: 100%; }
    @media only screen and (min-width: 768px) {
      .button.effect-hover:hover:after {
        opacity: 0; } }
  .button.effect-hover:before {
    content: '';
    position: absolute;
    border: #677D97 solid 10px;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    animation-fill-mode: forwards; }
  .button.effect-hover:hover:before, .button .effect-hover:focus:before, .button .effect-hover:active:before {
    -webkit-animation-name: effect-hover;
    animation-name: effect-hover; }

/*
* === CHECKBOX ===
*/
.checker {
  display: inline-block;
  padding-top: 3px;
  position: relative;
  /* IE11  */ }
  .checker .check:checked ~ .effec:after,
  .checker .check:checked ~ .effec2:after {
    display: inline-block; }
  .checker .check {
    position: relative;
    padding-left: 34px;
    z-index: 11; }
  .checker label {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    padding-left: 32px;
    position: relative;
    top: 4px; }
  .checker _:lang(x)::-ms-backdrop, .checker label {
    top: 7px; }
  .checker input[type=checkbox] {
    background: transparent;
    outline: none;
    margin: auto;
    height: 33px;
    width: 100%;
    position: absolute;
    top: -2px;
    z-index: 1;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
    border: none; }
  .checker input[type=checkbox]::-ms-check {
    display: none; }
  .checker .effec {
    position: absolute;
    pointer-events: none;
    top: 3px;
    left: 0; }
    .checker .effec:before {
      background-color: white;
      border: 1px solid rgba(51, 51, 51, 0.2);
      content: "";
      display: inline-block;
      pointer-events: none;
      position: relative;
      width: 20px;
      height: 20px;
      z-index: 10; }
    .checker .effec:after {
      background-color: #222222;
      content: "";
      display: none;
      position: absolute;
      top: 1px;
      left: 1px;
      height: 20px;
      width: 20px;
      z-index: 11; }

#particles-js {
  width: 100%;
  height: 100%;
  background-color: transparent;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  position: absolute;
  top: 0; }

.ttl-01 {
  font-weight: bold;
  line-height: 1.6;
  position: relative;
  text-align: left; }
  @media only screen and (max-width: 767px) {
    .ttl-01 {
      line-height: 1.5; } }
  .ttl-01 .ja {
    color: #677D97;
    font-size: 22px;
    font-size: 2.2rem;
    letter-spacing: 0.1em; }
    @media only screen and (max-width: 767px) {
      .ttl-01 .ja {
        font-size: 18px;
        font-size: 1.8rem; } }
  .ttl-01 .en {
    color: #222222;
    font-size: 60px;
    font-size: 6rem;
    font-family: "Poppins", sans-serif;
    letter-spacing: 0.05em;
    text-transform: uppercase; }
    .about #mission .ttl-01 .en {
      font-size: 4.1rem;
    }
    @media only screen and (max-width: 767px) {
      .ttl-01 .en {
        font-size: 36px;
        font-size: 3.6rem; } }
  .ttl-01.deco {
    padding-bottom: 53px; }
    @media only screen and (max-width: 767px) {
      .ttl-01.deco {
        padding-bottom: 30px; } }
    .ttl-01.deco:before {
      background-color: #647992;
      content: "";
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      height: 6px;
      width: 50px; }

.ttl-02 {
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.5;
  padding-left: 20px;
  position: relative;
  text-align: left; }
  @media only screen and (max-width: 767px) {
    .ttl-02 {
      font-size: 22px;
      font-size: 2.2rem; } }
  .ttl-02:before {
    background-color: #677D97;
    border-radius: 4px;
    content: "";
    margin: 0 auto;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 30px;
    width: 5px; }

_:lang(x)::-ms-backdrop, .ttl-02 {
  padding-top: 7px; }

.mv-side {
  background-size: cover;
  position: relative;
  height: 400px; }
  @media only screen and (max-width: 767px) {
    .mv-side {
      height: 340px; } }
  .mv-side .parallax-window {
    background: transparent;
    height: 100%;
    width: 100%; }
  .mv-side .mv-ttl {
    color: white;
    margin: 0 auto;
    position: absolute;
    top: 156px;
    left: 0;
    right: 0;
    text-align: center; }
    .mv-side .mv-ttl span {
      font-weight: bold;
      line-height: 1.6; }
      .mv-side .mv-ttl span.ja {
        font-size: 22px;
        font-size: 2.2rem;
        letter-spacing: 0.1em;
        opacity: .8; }
        @media only screen and (max-width: 767px) {
          .mv-side .mv-ttl span.ja {
            font-size: 18px;
            font-size: 1.8rem; } }
      .mv-side .mv-ttl span.en {
        font-size: 60px;
        font-size: 6rem;
        font-family: "Poppins", sans-serif;
        text-transform: uppercase;
        letter-spacing: 0.05em; }
        @media only screen and (max-width: 767px) {
          .mv-side .mv-ttl span.en {
            font-size: 36px;
            font-size: 3.6rem; } }

.no-posts {
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
  text-align: center;
  z-index: 5; }
  @media only screen and (max-width: 767px) {
    .no-posts {
      line-height: 36px;
      text-align: left; } }

.pagination, .wp-pagenavi {
  color: #222222;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  position: relative;
  text-align: center;
  width: 100%; }
  @media only screen and (max-width: 767px) {
    .pagination, .wp-pagenavi {
      width: auto; } }
  .pagination a, .pagination span, .wp-pagenavi a, .wp-pagenavi span {
    border: 1px solid #d2d2d2;
    display: inline-block;
    margin: 0 4px;
    padding-top: 12px;
    position: relative;
    text-align: center;
    transition: all 0.3s;
    height: 40px;
    width: 40px; }
    @media only screen and (min-width: 768px) {
      .pagination a, .pagination span, .wp-pagenavi a, .wp-pagenavi span {
        cursor: pointer;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s; }
        .pagination a:hover, .pagination span:hover, .wp-pagenavi a:hover, .wp-pagenavi span:hover {
          opacity: .7; } }
    .pagination a.current:hover, .pagination span.current:hover, .wp-pagenavi a.current:hover, .wp-pagenavi span.current:hover {
      opacity: 1; }
  .pagination .pages, .wp-pagenavi .pages {
    border: none;
    pointer-events: none;
    position: relative;
    right: -43px; }
  .pagination .current, .wp-pagenavi .current {
    pointer-events: none;
    position: relative;
    left: -48px; }
  @media only screen and (min-width: 768px) {
    .pagination, .wp-pagenavi {
      /* IE11  */ }
      .pagination _:lang(x)::-ms-backdrop, .pagination a, .pagination span, .wp-pagenavi _:lang(x)::-ms-backdrop, .wp-pagenavi a, .wp-pagenavi span {
        padding-top: 11px; } }
  .pagination .nextpostslink, .pagination .previouspostslink, .wp-pagenavi .nextpostslink, .wp-pagenavi .previouspostslink {
    background-color: #222222;
    background-size: 8px 11px;
    background-repeat: no-repeat;
    border: 1px solid #222222;
    color: white;
    display: inline-block;
    position: absolute;
    top: 0;
    transition: all .3s;
    width: 100px; }
    @media only screen and (min-width: 768px) {
      .pagination .nextpostslink:hover, .pagination .previouspostslink:hover, .wp-pagenavi .nextpostslink:hover, .wp-pagenavi .previouspostslink:hover {
        background-color: #677D97;
        border: 1px solid #677D97; } }
    @media only screen and (max-width: 320px) {
      .pagination .nextpostslink, .pagination .previouspostslink, .wp-pagenavi .nextpostslink, .wp-pagenavi .previouspostslink {
        width: 80px; } }
  .pagination .previouspostslink, .wp-pagenavi .previouspostslink {
    background-image: url("../images/common/arrw_l.svg");
    background-position: 12px center;
    padding-right: 13px;
    left: 0;
    text-align: right;
    text-transform: uppercase; }
  .pagination .nextpostslink, .wp-pagenavi .nextpostslink {
    background-image: url("../images/common/arrw_r.svg");
    background-position: 77px center;
    padding-left: 13px;
    right: 0;
    text-align: left;
    text-transform: uppercase; }
    @media only screen and (max-width: 767px) {
      .pagination .nextpostslink, .wp-pagenavi .nextpostslink {
        background-position: 60px center; } }
  .pagination .dots, .pagination .extend, .wp-pagenavi .dots, .wp-pagenavi .extend {
    display: none !important; }

.single-pagination {
  font-weight: normal;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin: 100px auto 0;
  width: 276px; }
  @media only screen and (max-width: 767px) {
    .single-pagination {
      margin: 50px auto 0;
      width: calc(100% - 30px); } }
  .single-pagination .main {
    background-color: #ededed;
    color: #000000;
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    transition: all .3s;
    height: 30px;
    width: 200px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center; }
    @media only screen and (min-width: 768px) {
      .single-pagination .main {
        cursor: pointer;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s; }
        .single-pagination .main:hover {
          opacity: .7; } }
    @media only screen and (max-width: 767px) {
      .single-pagination .main {
        font-size: 14px;
        font-size: 1.4rem;
        height: 30px;
        width: calc(100% - 76px); } }
  .single-pagination .next, .single-pagination .back {
    background-size: 4px 8px;
    background-repeat: no-repeat;
    background-position: center;
    border: 1px solid #ededed;
    cursor: pointer;
    position: relative;
    height: 30px;
    width: 30px; }
    @media only screen and (min-width: 768px) {
      .single-pagination .next, .single-pagination .back {
        cursor: pointer;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s; }
        .single-pagination .next:hover, .single-pagination .back:hover {
          opacity: .7; } }
    .single-pagination .next.no-display, .single-pagination .back.no-display {
      opacity: 0;
      pointer-events: none; }
  .single-pagination .next {
    background-image: url("../images/news/arr.png"); }
  .single-pagination .back {
    background-image: url("../images/news/arl.png"); }

.single-pagination-works {
  margin: 0 auto;
  position: relative;
  width: 100%;
  /* IE11  */ }
  @media only screen and (max-width: 767px) {
    .single-pagination-works {
      margin-top: 84px; } }
  .single-pagination-works .button {
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 0; }
    @media only screen and (max-width: 767px) {
      .single-pagination-works .button {
        margin-top: 25px;
        position: static; } }
  .single-pagination-works .next, .single-pagination-works .prev {
    background-color: #677D97;
    color: white;
    display: block;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.02em;
    margin-top: 18px;
    padding-top: 12px;
    position: relative;
    transition: all .3s;
    height: 40px;
    width: 100px; }
    @media only screen and (min-width: 768px) {
      .single-pagination-works .next:hover, .single-pagination-works .prev:hover {
        background-color: #222222; } }
    .single-pagination-works .next.no-display, .single-pagination-works .prev.no-display {
      opacity: 0;
      pointer-events: none; }
    .single-pagination-works .next:before, .single-pagination-works .prev:before {
      background-size: 8px 12px;
      content: "";
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      height: 12px;
      width: 8px; }
  .single-pagination-works _:lang(x)::-ms-backdrop, .single-pagination-works .next, .single-pagination-works .prev {
    padding-top: 13px; }
  .single-pagination-works .next {
    padding-right: 45px;
    text-align: right; }
    .single-pagination-works .next:before {
      background-image: url("../images/common/arrw_r.svg");
      right: 15px;
      text-align: right; }
  .single-pagination-works .prev {
    padding-left: 45px;
    text-align: left; }
    .single-pagination-works .prev:before {
      background-image: url("../images/common/arrw_l.svg");
      left: 15px;
      text-align: left; }

/* Z-INDEX */
.formError {
  z-index: 990; }

.formError .formErrorContent {
  z-index: 991; }

.formError .formErrorArrow {
  z-index: 996; }

.ui-dialog .formError {
  z-index: 5000; }

.ui-dialog .formError .formErrorContent {
  z-index: 5001; }

.ui-dialog .formError .formErrorArrow {
  z-index: 5006; }

.inputContainer {
  position: relative;
  float: left; }

.formError {
  position: absolute;
  top: 300px;
  left: 300px;
  display: block;
  cursor: pointer;
  text-align: left; }

.formError.inline {
  position: relative;
  top: 0;
  left: 0;
  display: inline-block; }

.ajaxSubmit {
  padding: 20px;
  background: #55ea55;
  border: 1px solid #999;
  display: none; }

.formError .formErrorContent {
  width: 100%;
  background: #ee0101;
  position: relative;
  color: #fff;
  min-width: 120px;
  font-size: 11px;
  border: 2px solid #ddd;
  box-shadow: 0 0 6px #000;
  -moz-box-shadow: 0 0 6px #000;
  -webkit-box-shadow: 0 0 6px #000;
  -o-box-shadow: 0 0 6px #000;
  padding: 4px 10px 4px 10px;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  -o-border-radius: 6px; }

.formError.inline .formErrorContent {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none;
  border: none;
  border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -o-border-radius: 0; }

.greenPopup .formErrorContent {
  background: #33be40; }

.blackPopup .formErrorContent {
  background: #393939;
  color: #FFF; }

.formError .formErrorArrow {
  width: 15px;
  margin: -2px 0 0 13px;
  position: relative; }

body[dir='rtl'] .formError .formErrorArrow,
body.rtl .formError .formErrorArrow {
  margin: -2px 13px 0 0; }

.formError .formErrorArrowBottom {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none;
  margin: 0px 0 0 12px;
  top: 2px; }

.formError .formErrorArrow div {
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  box-shadow: 0 2px 3px #444;
  -moz-box-shadow: 0 2px 3px #444;
  -webkit-box-shadow: 0 2px 3px #444;
  -o-box-shadow: 0 2px 3px #444;
  font-size: 0px;
  height: 1px;
  background: #ee0101;
  margin: 0 auto;
  line-height: 0;
  font-size: 0;
  display: block; }

.formError .formErrorArrowBottom div {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none; }

.greenPopup .formErrorArrow div {
  background: #33be40; }

.blackPopup .formErrorArrow div {
  background: #393939;
  color: #FFF; }

.formError .formErrorArrow .line10 {
  width: 13px;
  border: none; }

.formError .formErrorArrow .line9 {
  width: 11px;
  border: none; }

.formError .formErrorArrow .line8 {
  width: 11px; }

.formError .formErrorArrow .line7 {
  width: 9px; }

.formError .formErrorArrow .line6 {
  width: 7px; }

.formError .formErrorArrow .line5 {
  width: 5px; }

.formError .formErrorArrow .line4 {
  width: 3px; }

.formError .formErrorArrow .line3 {
  width: 1px;
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  border-bottom: 0 solid #ddd; }

.formError .formErrorArrow .line2 {
  width: 3px;
  border: none;
  background: #ddd; }

.formError .formErrorArrow .line1 {
  width: 1px;
  border: none;
  background: #ddd; }

.notfound .content {
  margin: 0 auto;
  padding: 100px 0;
  text-align: center;
  width: 1000px; }
  @media only screen and (max-width: 767px) {
    .notfound .content {
      padding: 60px 20px 100px;
      width: 100%; } }
  @media only screen and (max-width: 320px) {
    .notfound .content {
      padding: 100px 10px; } }
  .notfound .content p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 2; }
  .notfound .content .read-more {
    margin: 60px 0 0 auto;
    width: 132px; }
    @media only screen and (max-width: 767px) {
      .notfound .content .read-more {
        margin: 40px 0 0 auto; } }

@media only screen and (max-width: 767px) {
  body.about {
    overflow-x: hidden;
    overflow-y: scroll; } }

@media only screen and (max-width: 767px) {
  body.about .mv-side {
    background-image: url("../images/about/mv_sp.jpg"); } }

body.about section .text-ttl {
  font-size: 28px;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  line-height: 1.63;
  font-weight: bold; }
  @media only screen and (max-width: 767px) {
    body.about section .text-ttl {
      font-size: 22px;
      font-size: 2.2rem; } }

body.about section .text-content {
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 2.1;
  letter-spacing: 0.1em;
  margin-top: 27px;
  text-align: justify; }
  @media only screen and (max-width: 767px) {
    body.about section .text-content {
      font-size: 14px;
      font-size: 1.4rem;
      margin-top: 16px; } }

body.about section .details {
  position: absolute; }

body.about #vision {
  padding-top: 200px; }
  @media only screen and (max-width: 767px) {
    body.about #vision {
      padding-top: 110px; } }
  body.about #vision .inner {
    position: relative; }
  body.about #vision .text-ttl {
    display: inline-block;
    position: relative;
    font-size: 40px;
    font-size: 4rem; }
    body.about #vision .text-ttl:before {
      background-color: #F9FF44;
      content: "";
      margin: 0 auto;
      position: absolute;
      left: 0;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      height: 20px;
      width: 100%; }
    @media only screen and (max-width: 767px) {
      body.about #vision .text-ttl {
        font-size: 22px;
        font-size: 2.2rem; } }
  body.about #vision .details {
    left: -121px;
    top: -165px;
    height: 189px;
    width: 184px; }
    @media only screen and (max-width: 767px) {
      body.about #vision .details {
        right: 0;
        left: auto;
        top: -88px;
        height: 139px;
        width: 134px; } }
  body.about #vision .inner {
    max-width: 1260px;
    padding: 0 30px;
    -webkit-align-items: center;
    align-items: center; }
    @media only screen and (max-width: 767px) {
      body.about #vision .inner {
        padding: 0 16px; } }
    body.about #vision .inner .text {
      padding-right: 79px;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        body.about #vision .inner .text {
          padding-right: 0; } }
      body.about #vision .inner .text .ttl-01 {
        margin-bottom: 60px; }
        @media only screen and (max-width: 767px) {
          body.about #vision .inner .text .ttl-01 {
            margin-bottom: 38px; } }
      @media only screen and (min-width: 768px) {
        body.about #vision .inner .text .text-ttl {
          display: block;
          text-align: center;
          font-size: 46px;
          font-size: 4.6rem; }
          body.about #vision .inner .text .text-ttl:before {
            left: -355px;
            width: 280px;
            z-index: -1; }
        body.about #vision .inner .text .text-content {
          text-align: center;
          font-size: 20px;
          font-size: 2rem; } }
      @media only screen and (max-width: 767px) {
        body.about #vision .inner .text .text-ttl:before {
          width: 140px;
          right: auto;
          z-index: -1; } }
    body.about #vision .inner figure {
      width: 54.17%; }
      @media only screen and (max-width: 767px) {
        body.about #vision .inner figure {
          margin-top: 48px;
          width: 100%; } }

body.about #mission {
  padding: 180px 0 277px;
  overflow: hidden;
  position: relative; }
  @media only screen and (min-width: 768px) {
    body.about #mission .text-ttl {
      font-size: 30px;
      font-size: 3rem; } }
  @media only screen and (max-width: 767px) {
    body.about #mission {
      padding: 120px 0 0; }
      body.about #mission .text-ttl {
        font-size: 4.53333vw; } }
  body.about #mission .det1 {
    left: -106px;
    bottom: -230px;
    height: 134px;
    width: 80px; }
  body.about #mission .det2 {
    right: -223px;
    top: -285px;
    height: 314px;
    width: 283px; }
    @media only screen and (max-width: 767px) {
      body.about #mission .det2 {
        right: -7px;
        top: -173px;
        height: 195px;
        width: 106px; } }
  body.about #mission .imager {
    background-image: url("../images/about/img2.jpg");
    background-size: cover;
    position: absolute;
    right: 0;
    height: 500px;
    width: calc(100% - (100% - 1200px)/2);
    z-index: -1; }
    @media only screen and (max-width: 767px) {
      body.about #mission .imager {
        background-image: url("../images/about/img2_sp.jpg");
        height: 266px;
        width: calc(100% - 16px); } }
  body.about #mission .content {
    background-color: white;
    margin-top: 265px;
    padding-top: 80px;
    padding-right: 145px;
    padding-left: calc((100% - 1200px)/2);
    width: calc(100% - (100% - 1200px)/2); }
    @media only screen and (max-width: 767px) {
      body.about #mission .content {
        margin-top: 166px;
        padding: 48px 0 112px 16px;
        width: calc(100% - 16px); }
        body.about #mission .content .ttl-01 {
          margin-bottom: 43px; } }
    body.about #mission .content .flex-row {
      -webkit-flex-wrap: nowrap;
      flex-wrap: nowrap;
      position: relative; }
      @media only screen and (max-width: 1200px) {
        body.about #mission .content .flex-row {
          padding: 0 30px; } }
      @media only screen and (max-width: 767px) {
        body.about #mission .content .flex-row {
          display: block;
          padding: 0; } }
    body.about #mission .content .right {
      padding-left: 95px;
      width: calc(100% - 275px); }
      @media only screen and (max-width: 767px) {
        body.about #mission .content .right {
          padding-left: 0;
          width: 100%; } }
      @media only screen and (min-width: 768px) {
        body.about #mission .content .right .text-ttl {
          font-size: 30px;
          font-size: 3rem; } }
      @media only screen and (min-width: 768px) {
        body.about #mission .content .right .text-content {
          font-size: 17px;
          font-size: 1.7rem;
          margin-top: 23px; } }

body.about section#value {
  background-size: cover;
  padding: 105px 0 192px;
  position: relative;
  background: #3f4a53;
  /* Old browsers */
  background: -moz-linear-gradient(top, #3f4a53 0%, #667c98 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #3f4a53 0%, #667c98 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #3f4a53 0%, #667c98 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3f4a53', endColorstr='#667c98',GradientType=0 );
  /* IE6-9 */ }
  @media only screen and (max-width: 767px) {
    body.about section#value {
      padding: 64px 0 165px; }
      body.about section#value .inner {
        overflow: hidden; } }
  body.about section#value .scroll-line {
    background-color: #E8E8E8;
    margin: 0 auto;
    position: absolute;
    right: 0;
    left: 0;
    top: -198px;
    height: 277px;
    width: 1px;
    z-index: 4; }
    @media only screen and (max-width: 767px) {
      body.about section#value .scroll-line {
        top: -80px;
        height: 120px; } }
    body.about section#value .scroll-line:after {
      background-color: #222222;
      content: "";
      margin: 0 auto;
      position: absolute;
      right: 0;
      left: 0;
      top: 0;
      height: 304px;
      width: 1px;
      z-index: 4;
      animation: 2s scrool infinite; }
      @media only screen and (max-width: 767px) {
        body.about section#value .scroll-line:after {
          height: 182px; } }

@keyframes scrool {
  0% {
    height: 0;
    top: 0; }
  45% {
    height: 100%;
    top: 0; }
  100% {
    height: 0;
    top: 100%; } }
  body.about section#value .parallax-window2 {
    background: transparent;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    min-height: 1000px;
    z-index: -1; }
  body.about section#value .det1 {
    right: 0;
    top: -115px;
    height: 259px;
    width: 250px; }
    @media only screen and (max-width: 767px) {
      body.about section#value .det1 {
        top: -60px;
        height: 139px;
        width: 134px; } }
  body.about section#value .det2 {
    left: 0;
    bottom: -1px;
    height: 248px;
    width: 104px; }
    @media only screen and (max-width: 767px) {
      body.about section#value .det2 {
        bottom: 25px;
        height: 108px;
        width: 45px; } }
  body.about section#value .value-ttl {
    color: white;
    font-weight: bold;
    margin-bottom: 58px;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.about section#value .value-ttl {
        margin-bottom: 42px; } }
    body.about section#value .value-ttl .ja {
      font-size: 22px;
      font-size: 2.2rem;
      line-height: 1.5;
      letter-spacing: 0.1em; }
      @media only screen and (max-width: 767px) {
        body.about section#value .value-ttl .ja {
          font-size: 18px;
          font-size: 1.8rem; } }
    body.about section#value .value-ttl .en {
      font-size: 60px;
      font-size: 6rem;
      line-height: 1.7;
      font-family: "Poppins", sans-serif;
      letter-spacing: 0.05em;
      text-transform: uppercase; }
      @media only screen and (max-width: 767px) {
        body.about section#value .value-ttl .en {
          font-size: 36px;
          font-size: 3.6rem; } }
  body.about section#value .value-list {
    margin: 0 auto;
    max-width: 1060px;
    padding: 0 30px; }
    @media only screen and (max-width: 767px) {
      body.about section#value .value-list {
        padding: 0; } }
    body.about section#value .value-list li {
      margin-bottom: 30px; }
      @media only screen and (max-width: 767px) {
        body.about section#value .value-list li {
          background-color: white; } }
      @media only screen and (max-width: 767px) {
        body.about section#value .value-list li .animation-wrap2 {
          height: 100%; } }
      body.about section#value .value-list li .animer {
        background-color: white; }
        @media only screen and (max-width: 767px) {
          body.about section#value .value-list li .animer {
            transform: none;
            height: 100%; } }
      @media only screen and (max-width: 767px) {
        body.about section#value .value-list li {
          margin-bottom: 0;
          opacity: .6;
          height: 100%;
          width: 300px !important; } }
      @media only screen and (max-width: 320px) {
        body.about section#value .value-list li {
          width: 290px !important; } }
      body.about section#value .value-list li:last-child {
        margin-bottom: 0; }
        @media only screen and (min-width: 768px) {
          body.about section#value .value-list li:last-child .text-ttl {
            white-space: nowrap; } }
  @media only screen and (min-width: 768px) and (max-width: 1050px) {
    body.about section#value .value-list li:last-child .text-ttl {
      font-size: 23px;
      font-size: 2.3rem;
      white-space: normal; } }
      body.about section#value .value-list li .imager {
        width: 330px; }
        @media only screen and (max-width: 767px) {
          body.about section#value .value-list li .imager {
            width: 100%; } }
      body.about section#value .value-list li .text {
        padding: 37px 60px 34px;
        width: calc(100% - 330px); }
        @media only screen and (max-width: 767px) {
          body.about section#value .value-list li .text {
            padding: 26px 16px 32px;
            width: 100%; } }
        body.about section#value .value-list li .text .order {
          color: #677D97;
          font-size: 16px;
          font-size: 1.6rem;
          font-family: "Poppins", sans-serif;
          font-weight: bold;
          margin-bottom: 13px;
          text-transform: uppercase; }
          @media only screen and (max-width: 767px) {
            body.about section#value .value-list li .text .order {
              font-size: 16px;
              font-size: 1.6rem;
              margin-bottom: 0; } }
        body.about section#value .value-list li .text .text-ttl {
          font-size: 24px;
          font-size: 2.4rem; }
          @media only screen and (max-width: 767px) {
            body.about section#value .value-list li .text .text-ttl {
              font-size: 20px;
              font-size: 2rem; } }
        body.about section#value .value-list li .text .text-content {
          margin-top: 16px;
          line-height: 1.73; }
          @media only screen and (max-width: 767px) {
            body.about section#value .value-list li .text .text-content {
              margin-top: 10px;
              line-height: 1.85; } }
    body.about section#value .value-list .slick-slide {
      margin: 0 8px; }
    body.about section#value .value-list .slick-list {
      margin: 0 -8px; }
    body.about section#value .value-list .slick-active li, body.about section#value .value-list .slick-current, body.about section#value .value-list .slick-active, body.about section#value .value-list .slick-center {
      opacity: 1 !important; }
  body.about section#value .works-slider-dots {
    text-align: right;
    margin: 0 auto;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 149px;
    width: 150px; }
    body.about section#value .works-slider-dots .slick-dots li {
      background-color: white;
      border-radius: 20px;
      opacity: 0.2;
      height: 4px; }
      body.about section#value .works-slider-dots .slick-dots li button {
        opacity: 0; }
      body.about section#value .works-slider-dots .slick-dots li.slick-active {
        opacity: 1; }

body.about section#ceo {
  background-color: #EFEFEF;
  padding: 180px 0 180px;
  position: relative; }
  @media only screen and (max-width: 767px) {
    body.about section#ceo {
      padding: 91px 0 120px; } }
  body.about section#ceo:before {
    width: 38%;
    background-color: white;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%; }
    @media only screen and (max-width: 1500px) {
      body.about section#ceo:before {
        width: 450px; } }
    @media only screen and (max-width: 767px) {
      body.about section#ceo:before {
        width: 20%; } }
  body.about section#ceo .inner {
    max-width: 1500px;
    position: relative;
    *zoom: 1; }
    body.about section#ceo .inner:after {
      content: "";
      display: table;
      clear: both; }
    body.about section#ceo .inner .det1 {
      right: 75px;
      top: -115px;
      height: 151px;
      width: 124px;
      z-index: 3; }
      @media only screen and (max-width: 767px) {
        body.about section#ceo .inner .det1 {
          top: -60px;
          height: 139px;
          width: 134px; } }
    body.about section#ceo .inner .det2 {
      left: 83px;
      bottom: -65px;
      height: 121px;
      width: 115px;
      z-index: 3; }
      @media only screen and (max-width: 767px) {
        body.about section#ceo .inner .det2 {
          left: 16px;
          height: 44px;
          width: 67px; } }
  body.about section#ceo figure {
    max-width: 650px;
    position: absolute;
    left: 0;
    top: 0;
    width: 43.33%;
    z-index: 2; }
    @media only screen and (max-width: 767px) {
      body.about section#ceo figure {
        position: relative;
        max-width: none;
        width: calc(100% - 16px); } }
    body.about section#ceo figure .mask {
      background: black;
      background: -webkit-linear-gradient(bottom, black 0%, rgba(65, 69, 70, 0) 100%);
      background: -o-linear-gradient(bottom, black 0%, rgba(65, 69, 70, 0) 100%);
      background: linear-gradient(to top, black 0%, rgba(65, 69, 70, 0) 100%);
      content: "";
      margin: 0 auto;
      opacity: .8;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 100px;
      width: 100%;
      z-index: 2; }
    body.about section#ceo figure figcaption {
      color: white;
      font-size: 28px;
      font-size: 2.8rem;
      font-weight: bold;
      letter-spacing: 0.06em;
      position: absolute;
      right: 53px;
      bottom: 32px;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      z-index: 3; }
      @media only screen and (max-width: 767px) {
        body.about section#ceo figure figcaption {
          font-size: 22px;
          font-size: 2.2rem;
          right: auto;
          left: 16px;
          bottom: 16px; } }
      body.about section#ceo figure figcaption .en {
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: 400;
        letter-spacing: 0.1em;
        opacity: .7;
        padding-left: 23px;
        position: relative;
        top: -3px; }
        @media only screen and (max-width: 767px) {
          body.about section#ceo figure figcaption .en {
            font-size: 14px;
            font-size: 1.4rem;
            padding-left: 23px;
            top: -2px; } }
  body.about section#ceo .text {
    background-color: white;
    float: right;
    padding: 84px 150px 117px 224px;
    margin-top: 100px;
    width: 64.93%; }
    @media only screen and (max-width: 1200px) {
      body.about section#ceo .text {
        padding: 84px 30px 117px 12.79%; } }
    @media only screen and (max-width: 767px) {
      body.about section#ceo .text {
        padding: 48px 16px 64px;
        margin-top: 0;
        width: 100%; } }
    body.about section#ceo .text .text-ttl {
      margin-top: 62px; }
      @media only screen and (max-width: 767px) {
        body.about section#ceo .text .text-ttl {
          margin-top: 36px; } }
    @media only screen and (min-width: 768px) {
      body.about section#ceo .text .text-content {
        margin-top: 36px; } }

body.about section#outline {
  padding: 130px 0 147px;
  position: relative; }
  @media only screen and (max-width: 767px) {
    body.about section#outline {
      padding: 96px 0 0; } }
  body.about section#outline .det1 {
    right: 450px;
    top: 41px;
    height: 151px;
    width: 124px;
    z-index: 3; }
    @media only screen and (max-width: 767px) {
      body.about section#outline .det1 {
        right: 101px;
        top: 25px;
        height: 34px;
        width: 48px; } }
  body.about section#outline .det2 {
    right: 370px;
    bottom: -1px;
    height: 101px;
    width: 80px;
    z-index: 3; }
    @media only screen and (max-width: 767px) {
      body.about section#outline .det2 {
        bottom: auto;
        top: -64px;
        right: 30px;
        height: 65px;
        width: 45px; } }
  body.about section#outline:before {
    width: 38%;
    background-color: #677D97;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    z-index: -1; }
    @media only screen and (max-width: 1500px) {
      body.about section#outline:before {
        width: 450px; } }
    @media only screen and (max-width: 767px) {
      body.about section#outline:before {
        width: 20%; } }
  body.about section#outline .inner {
    position: relative;
    max-width: 1260px;
    padding: 0 30px; }
    @media only screen and (max-width: 767px) {
      body.about section#outline .inner {
        padding: 0; } }
  @media only screen and (max-width: 767px) {
    body.about section#outline .ttl-01 {
      margin-left: 16px; } }
  body.about section#outline .content {
    margin-top: 64px; }
    @media only screen and (max-width: 767px) {
      body.about section#outline .content {
        margin-top: 37px; } }
    body.about section#outline .content .text {
      margin-right: 6.66%;
      width: 39.16%; }
      @media only screen and (max-width: 767px) {
        body.about section#outline .content .text {
          background-color: white;
          margin-right: auto;
          padding: 41px 16px 120px;
          position: relative;
          order: 2;
          width: 100%; } }
      body.about section#outline .content .text table tr {
        border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
        body.about section#outline .content .text table tr:last-child {
          border-bottom: none; }
          body.about section#outline .content .text table tr:last-child th, body.about section#outline .content .text table tr:last-child td {
            padding-bottom: 0; }
        body.about section#outline .content .text table tr th {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.5;
          font-weight: bold;
          letter-spacing: 0.05em;
          padding: 16px 0;
          vertical-align: text-top;
          width: 135px; }
          @media only screen and (max-width: 767px) {
            body.about section#outline .content .text table tr th {
              font-size: 14px;
              font-size: 1.4rem;
              width: 100px; } }
        body.about section#outline .content .text table tr td {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.5;
          letter-spacing: 0.04em;
          padding: 16px 16px 16px 0; }
          @media only screen and (max-width: 767px) {
            body.about section#outline .content .text table tr td {
              font-size: 14px;
              font-size: 1.4rem;
              padding: 16px 16px 16px 0; } }
      body.about section#outline .content .text .logos {
        margin-top: 50px; }
        body.about section#outline .content .text .logos li:first-child {
          width: 33.58%; }
          @media only screen and (max-width: 767px) {
            body.about section#outline .content .text .logos li:first-child {
              width: calc(50% - 10px); } }
        body.about section#outline .content .text .logos li:nth-child(2) {
          width: 22.42%; }
          @media only screen and (max-width: 767px) {
            body.about section#outline .content .text .logos li:nth-child(2) {
              width: calc(50% - 10px); } }
        body.about section#outline .content .text .logos li:last-child {
          width: 38%; }
          @media only screen and (max-width: 767px) {
            body.about section#outline .content .text .logos li:last-child {
              margin-top: 20px;
              width: 100%; } }
    body.about section#outline .content .map-box {
      width: 54.16%; }
      @media only screen and (max-width: 767px) {
        body.about section#outline .content .map-box {
          padding: 0 16px;
          order: 1;
          width: 100%; } }
      body.about section#outline .content .map-box .map-wrap {
        height: 390px;
        width: 100%; }
        @media only screen and (max-width: 767px) {
          body.about section#outline .content .map-box .map-wrap {
            height: 206px; } }
      body.about section#outline .content .map-box iframe {
        height: 390px;
        width: 100%; }
        @media only screen and (max-width: 767px) {
          body.about section#outline .content .map-box iframe {
            height: 206px; } }
      body.about section#outline .content .map-box .button {
        float: right;
        margin-top: 60px;
        width: 199px; }
        @media only screen and (max-width: 767px) {
          body.about section#outline .content .map-box .button {
            float: left;
            margin: 32px 0 19px; } }
        body.about section#outline .content .map-box .button .text {
          width: auto; }

body.about .animer {
  animation-delay: 0s;
  transform: translateY(200%); }

body.about #at1 {
  animation-delay: 0s;
  transform: translateY(200%); }

body.about #at2 {
  animation-delay: .5s;
  transform: translateY(200%); }

body.about #at4 {
  animation-delay: .4s;
  transform: translateY(200%); }

body.about #at5a, body.about #at5b {
  animation-delay: .2s;
  transform: translateY(200%); }

body.about #sl1 {
  animation-delay: .5s;
  opacity: 0; }

body.about #sl2 {
  animation-delay: 0s; }

body.about #sl3 {
  animation-delay: 0s; }

body.about #sl4 {
  animation-delay: .5s;
  opacity: 0; }

body.contact {
  /* IE11  */ }
  @media only screen and (max-width: 767px) {
    body.contact .mv-side {
      background-image: url("../images/about/mv_sp.jpg"); } }
  body.contact section#steps {
    padding: 167px 0 60px; }
    @media only screen and (max-width: 767px) {
      body.contact section#steps {
        padding: 110px 16px 38px; } }
    body.contact section#steps .steps-list {
      margin: 0 auto 70px;
      max-width: 640px;
      position: relative;
      /* IE11  */
      /* IE11  */ }
      @media only screen and (max-width: 767px) {
        body.contact section#steps .steps-list {
          margin: 0 auto 54px; } }
      body.contact section#steps .steps-list:before {
        background-color: #222222;
        content: "";
        display: block;
        opacity: .4;
        margin: 0 auto;
        position: absolute;
        right: 0;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        height: 2px;
        max-width: 640px; }
        @media only screen and (max-width: 767px) {
          body.contact section#steps .steps-list:before {
            left: 16px;
            width: calc(100% - 32px); } }
      body.contact section#steps .steps-list _:lang(x)::-ms-backdrop, body.contact section#steps .steps-list:before {
        left: 50px; }
      body.contact section#steps .steps-list li {
        background-color: white;
        border: 2px solid rgba(34, 34, 34, 0.4);
        color: rgba(34, 34, 34, 0.4);
        font-weight: bold;
        padding: 20px 0;
        position: relative;
        text-align: center;
        width: 170px; }
        @media only screen and (max-width: 767px) {
          body.contact section#steps .steps-list li {
            line-height: 1.6;
            padding: 9px 0;
            width: calc((100% - 40px) / 3); } }
        body.contact section#steps .steps-list li.active {
          background-color: #222222;
          border: 2px solid #222222;
          color: white; }
          body.contact section#steps .steps-list li.active:before, body.contact section#steps .steps-list li.active:after {
            content: "";
            display: block;
            position: absolute; }
          body.contact section#steps .steps-list li.active:before {
            background-color: white;
            left: -2px;
            top: -2px;
            height: 17px;
            width: 17px; }
            @media only screen and (max-width: 767px) {
              body.contact section#steps .steps-list li.active:before {
                left: -3px;
                top: -3px;
                height: 15px;
                width: 15px; } }
          body.contact section#steps .steps-list li.active:after {
            background-image: url("../images/contact/step_det.svg");
            background-size: 36px 36px;
            top: -16px;
            left: -26px;
            height: 36px;
            width: 36px; }
            @media only screen and (max-width: 767px) {
              body.contact section#steps .steps-list li.active:after {
                background-image: url("../images/contact/step_det_sp.svg");
                background-size: 24px 36px;
                top: -23px;
                left: -16px;
                height: 36px;
                width: 24px; } }
        body.contact section#steps .steps-list li .step {
          font-size: 18px;
          font-size: 1.8rem;
          font-family: "Poppins", sans-serif;
          letter-spacing: 0.05em;
          margin-right: 15px;
          text-transform: uppercase; }
          @media only screen and (max-width: 767px) {
            body.contact section#steps .steps-list li .step {
              font-size: 16px;
              font-size: 1.6rem;
              margin-right: 0; } }
        body.contact section#steps .steps-list li .ja {
          font-size: 16px;
          font-size: 1.6rem; }
          @media only screen and (max-width: 767px) {
            body.contact section#steps .steps-list li .ja {
              font-size: 14px;
              font-size: 1.4rem; } }
      body.contact section#steps .steps-list _:lang(x)::-ms-backdrop, body.contact section#steps .steps-list li {
        padding-top: 22px; }
    body.contact section#steps .intro {
      font-size: 17px;
      font-size: 1.7rem;
      letter-spacing: 0.1em;
      line-height: 2.13;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        body.contact section#steps .intro {
          font-size: 14px;
          font-size: 1.4rem;
          text-align: left; } }
    body.contact section#steps .info {
      color: #677D97;
      font-size: 17px;
      font-size: 1.7rem;
      letter-spacing: 0.1em;
      margin-top: 20px;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        body.contact section#steps .info {
          text-align: left;
          font-size: 14px;
          font-size: 1.4rem; } }
  body.contact section#form {
    padding: 0 0 148px; }
    @media only screen and (max-width: 767px) {
      body.contact section#form {
        padding: 0 0 120px; } }
    body.contact section#form .inner {
      max-width: 750px; }
      @media only screen and (max-width: 767px) {
        body.contact section#form .inner {
          padding: 0 16px; } }
    body.contact section#form table {
      width: 100%; }
      body.contact section#form table tr:last-child td {
        margin-bottom: 0; }
      body.contact section#form table tr th {
        display: block;
        padding-bottom: 16px; }
        body.contact section#form table tr th .th-ttl {
          font-size: 16px;
          font-size: 1.6rem;
          font-weight: bold;
          letter-spacing: 0.04em; }
          @media only screen and (max-width: 767px) {
            body.contact section#form table tr th .th-ttl {
              font-size: 15px;
              font-size: 1.5rem; } }
        body.contact section#form table tr th .rec {
          color: #677D97;
          font-size: 14px;
          font-size: 1.4rem;
          position: relative;
          top: -6px;
          margin-left: 7px; }
          @media only screen and (max-width: 767px) {
            body.contact section#form table tr th .rec {
              font-size: 12px;
              font-size: 1.2rem;
              top: -3px;
              margin-left: 5px; } }
      body.contact section#form table tr td {
        display: block;
        margin-bottom: 40px; }
        @media only screen and (max-width: 767px) {
          body.contact section#form table tr td {
            margin-bottom: 27px; } }
        body.contact section#form table tr td input[type=email],
        body.contact section#form table tr td input[type=text] {
          background-color: rgba(103, 125, 151, 0.12);
          border: none;
          border-radius: 0;
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: 0.04em;
          padding: 20px 16px;
          height: 64px;
          width: 100%;
          -webkit-appearance: none; }
          @media only screen and (max-width: 767px) {
            body.contact section#form table tr td input[type=email],
            body.contact section#form table tr td input[type=text] {
              border-radius: 0;
              font-size: 15px;
              font-size: 1.5rem;
              padding: 10px 16px;
              height: 50px; } }
        body.contact section#form table tr td textarea {
          background-color: rgba(103, 125, 151, 0.12);
          border: none;
          border-radius: 0;
          font-size: 16px;
          font-size: 1.6rem;
          padding: 10px 18px;
          height: 180px;
          width: 100%;
          -webkit-appearance: none; }
          @media only screen and (max-width: 767px) {
            body.contact section#form table tr td textarea {
              border-radius: 0;
              font-size: 15px;
              font-size: 1.5rem;
              padding: 0 6px;
              height: 160px; } }
        body.contact section#form table tr td input[type=email]::-webkit-input-placeholder,
        body.contact section#form table tr td input[type=text]::-webkit-input-placeholder,
        body.contact section#form table tr td textarea::-webkit-input-placeholder {
          color: #B2BDCB; }
        body.contact section#form table tr td select::-ms-expand {
          display: none; }
    body.contact section#form .policy-info {
      font-size: 15px;
      font-size: 1.5rem;
      letter-spacing: 0.1em;
      line-height: 2.13;
      margin-top: 33px; }
      @media only screen and (max-width: 767px) {
        body.contact section#form .policy-info {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 2.14;
          margin-top: 30px; } }
    body.contact section#form .policy-box {
      border: 1px solid rgba(51, 51, 51, 0.2);
      margin-top: 26px;
      padding: 26px 23px;
      overflow-y: scroll;
      height: 240px; }
      @media only screen and (max-width: 767px) {
        body.contact section#form .policy-box {
          margin-top: 17px;
          padding: 18px 18px 20px; } }
      body.contact section#form .policy-box .policy-content p {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.01em;
        line-height: 2.14;
        margin-bottom: 40px; }
        @media only screen and (max-width: 767px) {
          body.contact section#form .policy-box .policy-content p {
            font-size: 14px;
            font-size: 1.4rem; } }
      body.contact section#form .policy-box .policy-content .policy-content-ttl {
        font-weight: bold;
        margin-bottom: 30px; }
    body.contact section#form .conta-infor {
      font-size: 17px;
      font-size: 1.7rem;
      letter-spacing: 0.1em;
      line-height: 2.13;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        body.contact section#form .conta-infor {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 2.14; } }
      @media only screen and (max-width: 320px) {
        body.contact section#form .conta-infor {
          font-size: 3.73333vw; } }
      body.contact section#form .conta-infor a {
        color: #677D97;
        text-decoration: underline; }
        @media only screen and (min-width: 768px) {
          body.contact section#form .conta-infor a {
            cursor: pointer;
            -webkit-transition: 0.3s;
            -moz-transition: 0.3s;
            -o-transition: 0.3s;
            transition: 0.3s; }
            body.contact section#form .conta-infor a:hover {
              opacity: .7; } }
      body.contact section#form .conta-infor .mail-adress-img {
        position: relative;
        top: -9px;
        left: -2px; }
    body.contact section#form .agree {
      border: 1px solid rgba(51, 51, 51, 0.2);
      margin: 40px auto;
      padding: 14px 0 0;
      text-align: center;
      height: 60px;
      width: 280px; }
      @media only screen and (max-width: 767px) {
        body.contact section#form .agree {
          margin: 32px auto; } }
    body.contact section#form .btt-01 {
      margin-bottom: 60px; }
      @media only screen and (max-width: 767px) {
        body.contact section#form .btt-01 {
          margin-bottom: 46px; } }
      body.contact section#form .btt-01 input[type=submit] {
        background-color: transparent;
        border: none;
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 100%;
        z-index: 10; }
  body.contact .footer-contact {
    background-color: #000000;
    color: white;
    font-size: 14px;
    font-size: 1.4rem;
    font-family: "Poppins", sans-serif;
    padding-top: 17px;
    text-align: center;
    height: 50px;
    width: 100%; }
  body.contact footer {
    display: none; }
  body.contact.confirm .read-more {
    margin: 40px 0 60px auto;
    width: 227px; }
    @media only screen and (max-width: 767px) {
      body.contact.confirm .read-more {
        margin: 40px 0 55px auto; } }
  body.contact.confirm section#form table tr:last-child td {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0; }
  body.contact.confirm section#form table tr th {
    padding-bottom: 7px; }
    @media only screen and (max-width: 767px) {
      body.contact.confirm section#form table tr th {
        padding-bottom: 4px; } }
  body.contact.confirm section#form table tr td {
    border-bottom: 1px solid rgba(112, 112, 112, 0.2);
    font-size: 17px;
    font-size: 1.7rem;
    letter-spacing: 0.04em;
    line-height: 2;
    padding-bottom: 19px;
    margin-bottom: 29px; }
    @media only screen and (max-width: 767px) {
      body.contact.confirm section#form table tr td {
        font-size: 15px;
        font-size: 1.5rem;
        padding-bottom: 11px;
        margin-bottom: 20px; } }
  body.contact.complete #steps {
    padding: 167px 0 120px;
    max-width: 750px;
    margin: 0 auto; }
    @media only screen and (max-width: 767px) {
      body.contact.complete #steps {
        padding: 110px 16px 120px; } }
  body.contact.complete .message p.message-ttl {
    font-size: 24px;
    font-size: 2.4rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 24px;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.contact.complete .message p.message-ttl {
        font-size: 22px;
        font-size: 2.2rem;
        text-align: left; } }
  body.contact.complete .message p.message-text {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 2.13;
    letter-spacing: 0.1em;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.contact.complete .message p.message-text {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 2.14;
        text-align: left; } }
  body.contact.complete .message .btt-tel {
    margin: 68px auto 41px;
    width: 500px; }
    @media only screen and (max-width: 767px) {
      body.contact.complete .message .btt-tel {
        margin: 86px auto 32px;
        width: 100%; } }
  body.contact.complete .read-more {
    margin: 60px 0 0 auto;
    width: 132px; }
    @media only screen and (max-width: 767px) {
      body.contact.complete .read-more {
        margin: 40px 0 0 auto; } }
  body.contact .formError .formErrorContent, body.contact .formError .formErrorArrow div {
    background-color: black; }
  body.contact _:lang(x)::-ms-backdrop, body.contact .formErrorContent {
    padding-top: 8px; }
  body.contact .checker .formError .formErrorContent {
    width: 250px; }

body.index main section.mv {
  position: relative;
  height: 100vh;
  width: 100%; }
  @media only screen and (max-width: 767px) {
    body.index main section.mv {
      background-image: url("../images/top/mv_sp.jpg");
      background-size: cover;
      margin-top: 80px;
      height: 220px; } }
  body.index main section.mv .parallax-window {
    background: transparent;
    height: 100%;
    width: 100%; }
  body.index main section.mv .mv-ttl {
    color: white;
    font-size: 40px;
    font-size: 4rem;
    letter-spacing: 0.2em;
    font-weight: bold;
    line-height: 1.37;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.index main section.mv .mv-ttl {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 2.22; } }
    body.index main section.mv .mv-ttl span.sml {
      opacity: 0.8;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }
    body.index main section.mv .mv-ttl span.big {
      display: block;
      font-size: 72px;
      font-size: 7.2rem;
      font-weight: bold;
      line-height: 1.27;
      padding-top: 28px;
      text-transform: uppercase; }
      @media only screen and (max-width: 767px) {
        body.index main section.mv .mv-ttl span.big {
          font-size: 48px;
          font-size: 4.8rem;
          padding-top: 16px; } }
    body.index main section.mv .mv-ttl span.ssml {
      display: block;
      font-size: 22px;
      font-size: 2.2rem;
      line-height: 1.81;
      letter-spacing: 0.2em;
      font-weight: bold;
      line-height: 40px;
      position: relative;
      padding-top: 29px; }
      @media only screen and (max-width: 767px) {
        body.index main section.mv .mv-ttl span.ssml {
          font-size: 18px;
          font-size: 1.8rem;
          line-height: 2.22;
          padding-top: 10px; } }
  body.index main section.mv .read-more {
    position: absolute;
    right: 3px;
    bottom: 98px;
    transform: rotate(90deg);
    width: 150px;
    z-index: 10; }
    body.index main section.mv .read-more .bt-text {
      text-transform: uppercase; }
    body.index main section.mv .read-more:before {
      border: 2px solid rgba(255, 255, 255, 0.7);
      background: transparent;
      box-sizing: border-box;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box; }

body.index main .details {
  position: absolute; }

body.index main section#mission {
  overflow: hidden;
  padding: 200px 0 205px;
  position: relative; }
  @media only screen and (max-width: 767px) {
    body.index main section#mission {
      padding: 121px 0 100px; } }
  body.index main section#mission .scroll-line {
    background-color: #E8E8E8;
    margin: 0 auto;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    height: 304px;
    width: 1px;
    z-index: 4; }
    @media only screen and (max-width: 767px) {
      body.index main section#mission .scroll-line {
        height: 179px; } }
    body.index main section#mission .scroll-line:after {
      background-color: #222222;
      content: "";
      margin: 0 auto;
      position: absolute;
      right: 0;
      left: 0;
      top: 0;
      height: 304px;
      width: 1px;
      z-index: 4;
      animation: 2s scrool infinite; }
      @media only screen and (max-width: 767px) {
        body.index main section#mission .scroll-line:after {
          height: 182px; } }

@keyframes scrool {
  0% {
    height: 0;
    top: 0; }
  45% {
    height: 100%;
    top: 0; }
  100% {
    height: 0;
    top: 100%; } }
  body.index main section#mission .inner {
    position: relative;
    max-width: 1010px; }
    body.index main section#mission .inner .det1 {
      left: -135px;
      top: 127px;
      height: 42px;
      width: 56px; }
      @media only screen and (max-width: 767px) {
        body.index main section#mission .inner .det1 {
          left: 8px;
          left: auto;
          top: -74px;
          height: 35px;
          width: 47px; } }
    body.index main section#mission .inner .det2 {
      right: -141px;
      top: -43px;
      height: 115px;
      width: 81px; }
      @media only screen and (max-width: 767px) {
        body.index main section#mission .inner .det2 {
          right: 0;
          left: auto;
          top: -90px;
          height: 74px;
          width: 52px; } }
  body.index main section#mission .animation-box {
    position: relative; }
    body.index main section#mission .animation-box:before, body.index main section#mission .animation-box:after {
      content: "";
      display: block;
      position: absolute;
      z-index: 10; }
    body.index main section#mission .animation-box:before {
      background-image: url("../images/top/mission_bg.png");
      background-size: 72px 526px;
      left: 0;
      bottom: -1px;
      height: 526px;
      width: 72px; }
      @media only screen and (max-width: 767px) {
        body.index main section#mission .animation-box:before {
          background-image: url("../images/top/mission_bg_sp.svg");
          background-size: 45px 108px;
          height: 108px;
          width: 45px; } }
    body.index main section#mission .animation-box:after {
      background-image: url("../images/top/mission_bg2.png");
      background-size: 105px 199px;
      right: -17px;
      bottom: -17px;
      height: 199px;
      width: 105px; }
      @media only screen and (max-width: 767px) {
        body.index main section#mission .animation-box:after {
          background-size: 75px 140px;
          right: -12px;
          bottom: -12px;
          height: 140px;
          width: 75px; } }
  body.index main section#mission .mission-box {
    opacity: 0;
    background-size: cover;
    padding: 88px 5px 78px;
    position: relative;
    margin: 0 auto;
    max-width: 1010px;
    background: #3f4a53;
    /* Old browsers */
    background: -moz-linear-gradient(top, #3f4a53 0%, #667c98 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #3f4a53 0%, #667c98 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #3f4a53 0%, #667c98 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3f4a53', endColorstr='#667c98',GradientType=0 );
    /* IE6-9 */ }
    @media only screen and (max-width: 767px) {
      body.index main section#mission .mission-box {
        padding: 51px 20px 80px;
        width: calc(100% - 40px); } }
    @media only screen and (max-width: 360px) {
      body.index main section#mission .mission-box {
        padding: 51px 10px 80px; } }
    body.index main section#mission .mission-box .mission-ttl {
      font-weight: bold;
      text-align: center; }
      body.index main section#mission .mission-box .mission-ttl .gray {
        color: rgba(255, 255, 255, 0.05);
        font-size: 130px;
        font-size: 11rem;
        font-family: "Poppins", sans-serif;
        letter-spacing: 0.1em; }
        @media only screen and (max-width: 767px) {
          body.index main section#mission .mission-box .mission-ttl .gray {
            font-size: 11vw; } }
        @media only screen and (max-width: 360px) {
          body.index main section#mission .mission-box .mission-ttl .gray {
            font-size: 16.11111vw; } }
      body.index main section#mission .mission-box .mission-ttl .normal {
        color: white;
        display: block;
        font-size: 22px;
        font-size: 2.2rem;
        letter-spacing: 0.15em;
        line-height: 1.9;
        margin-top: -65px; }
        @media only screen and (max-width: 767px) {
          body.index main section#mission .mission-box .mission-ttl .normal {
            font-size: 18px;
            font-size: 1.8rem;
            margin-top: -30px; } }
        @media only screen and (max-width: 360px) {
          body.index main section#mission .mission-box .mission-ttl .normal {
            font-size: 5vw; } }
        @media only screen and (max-width: 320px) {
          body.index main section#mission .mission-box .mission-ttl .normal {
            font-size: 5vw; } }
    body.index main section#mission .mission-box p.text {
      color: white;
      font-size: 17px;
      font-size: 1.7rem;
      letter-spacing: 0.1em;
      line-height: 2.1;
      margin: 44px auto 48px;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        body.index main section#mission .mission-box p.text {
          font-size: 14px;
          font-size: 1.4rem;
          margin: 26px auto 39px;
          line-height: 2.14; } }
      @media only screen and (max-width: 320px) {
        body.index main section#mission .mission-box p.text {
          font-size: 11px;
          font-size: 1.1rem; } }

body.index main section#business {
  background-color: #EFEFEF;
  padding: 99px 0 192px;
  position: relative; }
  @media only screen and (max-width: 767px) {
    body.index main section#business {
      padding: 79px 0 99px 15px; } }
  body.index main section#business:before {
    background-color: white;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 450px; }
    @media only screen and (max-width: 767px) {
      body.index main section#business:before {
        display: none; } }
  body.index main section#business .inner {
    max-width: 1220px;
    position: relative;
    z-index: 2; }
    @media only screen and (max-width: 1270px) {
      body.index main section#business .inner {
        padding-left: 30px; } }
    @media only screen and (max-width: 767px) {
      body.index main section#business .inner {
        padding-left: 0; } }
    body.index main section#business .inner .det1 {
      right: -60px;
      top: -215px;
      height: 260px;
      width: 250px; }
      @media only screen and (max-width: 1340px) {
        body.index main section#business .inner .det1 {
          right: 0px; } }
      @media only screen and (max-width: 767px) {
        body.index main section#business .inner .det1 {
          right: 16px;
          left: auto;
          top: -92px;
          height: 139px;
          width: 134px; } }
    body.index main section#business .inner .det2 {
      left: -54px;
      bottom: -337px;
      height: 90px;
      width: 137px; }
      @media only screen and (max-width: 767px) {
        body.index main section#business .inner .det2 {
          left: 47px;
          bottom: -80px;
          height: 44px;
          width: 67px; } }
    body.index main section#business .inner .content {
      margin-top: 68px; }
      @media only screen and (max-width: 767px) {
        body.index main section#business .inner .content {
          margin-top: 60px; } }
      body.index main section#business .inner .content .animation-wrap {
        width: 50%; }
        @media only screen and (max-width: 767px) {
          body.index main section#business .inner .content .animation-wrap {
            width: 100%; } }
        @media only screen and (min-width: 768px) {
          body.index main section#business .inner .content .animation-wrap:nth-child(1) .imager {
            background-image: url("../images/top/business1.jpg"); } }
        @media only screen and (max-width: 767px) {
          body.index main section#business .inner .content .animation-wrap:nth-child(1) .content-box {
            margin-bottom: 60px; } }
        body.index main section#business .inner .content .animation-wrap:nth-child(1) .en img {
          width: 43px; }
        @media only screen and (min-width: 768px) {
          body.index main section#business .inner .content .animation-wrap:nth-child(2) .imager {
            background-image: url("../images/top/business2.jpg"); }
          body.index main section#business .inner .content .animation-wrap:nth-child(2) p.text {
            margin: 0 0 41px; } }
        @media only screen and (max-width: 767px) {
          body.index main section#business .inner .content .animation-wrap:nth-child(2) p.text {
            margin: 0 0 25px; } }
        body.index main section#business .inner .content .animation-wrap:nth-child(2) .en img {
          width: 37px; }
      body.index main section#business .inner .content .content-box {
        background-size: cover;
        padding-top: 250px;
        position: relative;
        width: 100%; }
        @media only screen and (max-width: 767px) {
          body.index main section#business .inner .content .content-box {
            padding-top: 0;
            height: auto; }
            body.index main section#business .inner .content .content-box .ctb-img {
              width: 100%; } }
        body.index main section#business .inner .content .content-box .imager {
          background-size: cover;
          padding-bottom: 71.47%;
          position: absolute;
          left: 0;
          top: 0;
          width: 100%; }
        body.index main section#business .inner .content .content-box .content-box-text {
          background-color: white;
          padding: 50px 10% 50px;
          position: relative;
          min-height: 385px;
          width: calc(100% - 110px);
          z-index: 2; }
          @media only screen and (max-width: 1270px) {
            body.index main section#business .inner .content .content-box .content-box-text {
              min-height: 428px; } }
          @media only screen and (max-width: 767px) {
            body.index main section#business .inner .content .content-box .content-box-text {
              margin-top: -100px;
              min-height: inherit;
              width: calc(100% - 15px); } }
        body.index main section#business .inner .content .content-box .content-box-ttl {
          font-weight: bold; }
          body.index main section#business .inner .content .content-box .content-box-ttl .en {
            color: #677D97;
            font-size: 13px;
            font-size: 1.3rem;
            letter-spacing: 0.1em;
            -webkit-justify-content: flex-start;
            justify-content: flex-start;
            -webkit-align-items: center;
            align-items: center; }
            body.index main section#business .inner .content .content-box .content-box-ttl .en img {
              margin-right: 15px; }
              @media only screen and (max-width: 767px) {
                body.index main section#business .inner .content .content-box .content-box-ttl .en img {
                  margin-right: 15px; } }
          body.index main section#business .inner .content .content-box .content-box-ttl .ja {
            font-size: 24px;
            font-size: 2.4rem;
            letter-spacing: 0.15em;
            line-height: 1.5; }
        body.index main section#business .inner .content .content-box .gray {
          font-size: 14px;
          font-size: 1.4rem;
          font-weight: bold;
          letter-spacing: 0.1em;
          margin: 16px 0 34px;
          opacity: .6; }
          @media only screen and (max-width: 767px) {
            body.index main section#business .inner .content .content-box .gray {
              line-height: 1.4; } }
        body.index main section#business .inner .content .content-box p.text {
          font-size: 17px;
          font-size: 1.7rem;
          letter-spacing: 0.1em;
          line-height: 2.14;
          margin-bottom: 50px; }
          @media only screen and (max-width: 767px) {
            body.index main section#business .inner .content .content-box p.text {
              font-size: 14px;
              font-size: 1.4rem;
              margin-bottom: 25px; } }
        body.index main section#business .inner .content .content-box .button {
          margin-left: 0; }

body.index main section#works {
  overflow: hidden;
  padding: 215px 0 280px;
  position: relative; }
  @media only screen and (max-width: 767px) {
    body.index main section#works {
      padding: 106px 0 84px;
      margin-bottom: 45px; } }
  body.index main section#works .det1 {
    right: 508px;
    top: 48px;
    height: 60px;
    width: 82px; }
    @media only screen and (max-width: 767px) {
      body.index main section#works .det1 {
        right: 0;
        left: auto;
        top: 70px;
        height: 48px;
        width: 65px; } }
  body.index main section#works .det2 {
    right: 381px;
    bottom: 0;
    height: 139px;
    width: 275px;
    z-index: 3; }
    @media only screen and (max-width: 767px) {
      body.index main section#works .det2 {
        left: 0;
        top: 731px;
        bottom: auto;
        height: 78px;
        width: 34.13%; }
        body.index main section#works .det2 img {
          height: 78px; } }
  body.index main section#works:before {
    background-color: #677D97;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 450px; }
    @media only screen and (max-width: 767px) {
      body.index main section#works:before {
        top: 242px;
        height: 567px;
        width: 78.4%; } }
  body.index main section#works .inner {
    max-width: 1220px;
    margin-bottom: 64px; }
    @media only screen and (max-width: 1220px) {
      body.index main section#works .inner {
        padding-left: 30px; } }
    @media only screen and (max-width: 767px) {
      body.index main section#works .inner {
        padding: 0 15px;
        margin-bottom: 64px; } }
  body.index main section#works .slider-box {
    height: 417px;
    position: relative;
    width: 100%; }
    @media only screen and (max-width: 1950px) {
      body.index main section#works .slider-box {
        height: 317px; } }
    @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
      body.index main section#works .slider-box {
        height: 220px; } }
    @media only screen and (max-width: 767px) {
      body.index main section#works .slider-box {
        margin: 120px auto 0;
        height: auto;
        width: calc(100% - 32px); } }
  @media only screen and (min-width: 768px) {
    body.index main section#works .owl-carousel .owl-wrapper {
      display: table !important; }
    body.index main section#works .owl-carousel .owl-item {
      display: table-cell;
      float: none;
      vertical-align: bottom; } }
  @media only screen and (min-width: 768px) {
    body.index main section#works ul.works-slider {
      position: absolute;
      left: 0;
      bottom: 0; } }
  @media only screen and (max-width: 767px) {
    body.index main section#works ul.works-slider {
      margin-bottom: 108px; } }
  body.index main section#works ul.works-slider .owl-item {
    padding: 0 10px; }
    @media only screen and (max-width: 767px) {
      body.index main section#works ul.works-slider .owl-item {
        padding: 0; } }
  body.index main section#works ul.works-slider li.works-slide {
    background-size: cover;
    background-color: white;
    position: relative;
    transition: all .4s;
    height: 0;
    padding-bottom: 100%; }
    @media only screen and (max-width: 767px) {
      body.index main section#works ul.works-slider li.works-slide {
        margin: 0;
        padding-bottom: 100%; } }
    @media only screen and (max-width: 767px) {
      body.index main section#works ul.works-slider li.works-slide .slide-text, body.index main section#works ul.works-slider li.works-slide:before, body.index main section#works ul.works-slider li.works-slide .slide-ttl {
        opacity: 1 !important; } }
    @media only screen and (max-width: 320px) {
      body.index main section#works ul.works-slider li.works-slide {
        margin-top: 73px; } }
    body.index main section#works ul.works-slider li.works-slide .slide-ttl {
      background-color: rgba(34, 34, 34, 0.7);
      color: white;
      opacity: 0;
      padding: 10px 16px 0 22px;
      position: absolute;
      right: 0;
      bottom: 0;
      transition: all .3s;
      text-align: left;
      height: 40px;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        body.index main section#works ul.works-slider li.works-slide .slide-ttl {
          padding: 9px 19px 0;
          height: 34px; } }
      body.index main section#works ul.works-slider li.works-slide .slide-ttl .rotate {
        overflow: hidden;
        height: 17px; }
      body.index main section#works ul.works-slider li.works-slide .slide-ttl .date {
        display: inline-block;
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: 0.1em;
        font-family: "Poppins", sans-serif;
        margin-right: 13px; }
        @media only screen and (max-width: 767px) {
          body.index main section#works ul.works-slider li.works-slide .slide-ttl .date {
            font-size: 13px;
            font-size: 1.3rem;
            margin-right: 17px; } }
      body.index main section#works ul.works-slider li.works-slide .slide-ttl .tag {
        font-size: 16px;
        font-size: 1.6rem;
        text-transform: uppercase;
        letter-spacing: 0.05em; }
        @media only screen and (max-width: 767px) {
          body.index main section#works ul.works-slider li.works-slide .slide-ttl .tag {
            font-size: 13px;
            font-size: 1.3rem; } }
    body.index main section#works ul.works-slider li.works-slide .slide-text {
      color: white;
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.7;
      font-weight: bold;
      margin-bottom: 78px;
      opacity: 0;
      padding: 0 80px 47px 30px;
      position: absolute;
      bottom: 0;
      left: 0;
      transition: all .3s;
      height: 65px; }
      @media only screen and (max-width: 767px) {
        body.index main section#works ul.works-slider li.works-slide .slide-text {
          font-size: 16px;
          font-size: 1.6rem;
          padding: 0;
          margin-bottom: -80px;
          margin-left: calc(100% - 250px);
          width: 250px; } }
    @supports (-webkit-line-clamp: 2) {
      body.index main section#works ul.works-slider li.works-slide .slide-text {
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical; } }
    body.index main section#works ul.works-slider li.works-slide:before {
      background-image: url("../images/top/slider_bg.png");
      background-position: top;
      background-size: cover;
      content: "";
      opacity: 0;
      position: absolute;
      left: 0;
      top: 0;
      transition: all .3s;
      height: 100%;
      width: 100%; }
    @media only screen and (min-width: 768px) {
      @keyframes ttl-opacity {
        0% {
          opacity: 0; }
        100% {
          opacity: 1; } } }
  @media only screen and (min-width: 768px) {
    body.index main section#works ul.works-slider .owl-item.center + .owl-item {
      bottom: -6px;
      height: 500px;
      width: 500px !important; }
      body.index main section#works ul.works-slider .owl-item.center + .owl-item li.works-slide {
        margin-top: 0;
        height: 500px;
        width: 100%; }
        body.index main section#works ul.works-slider .owl-item.center + .owl-item li.works-slide a {
          pointer-events: all; }
        body.index main section#works ul.works-slider .owl-item.center + .owl-item li.works-slide .fa {
          opacity: 1;
          pointer-events: auto; }
        body.index main section#works ul.works-slider .owl-item.center + .owl-item li.works-slide .button {
          opacity: 1 !important; }
        body.index main section#works ul.works-slider .owl-item.center + .owl-item li.works-slide .slide-text, body.index main section#works ul.works-slider .owl-item.center + .owl-item li.works-slide:before, body.index main section#works ul.works-slider .owl-item.center + .owl-item li.works-slide .slide-ttl {
          opacity: 1; }
        body.index main section#works ul.works-slider .owl-item.center + .owl-item li.works-slide .slide-text {
          font-size: 20px;
          font-size: 2rem;
          padding: 0 80px 47px 50px;
          height: 65px;
          margin-bottom: 78px; }
        body.index main section#works ul.works-slider .owl-item.center + .owl-item li.works-slide .slide-ttl {
          padding: 15px 16px 0 52px;
          height: 57px; }
          body.index main section#works ul.works-slider .owl-item.center + .owl-item li.works-slide .slide-ttl .date {
            margin-right: 43px; }
    body.index main section#works ul.works-slider .slide-text, body.index main section#works ul.works-slider:before, body.index main section#works ul.works-slider .slide-ttl {
      opacity: 0; } }
  @media only screen and (max-width: 767px) {
    body.index main section#works .owl-carousel .owl-stage-outer {
      overflow: visible !important; } }
  body.index main section#works .works-slider-dots {
    margin-top: 40px;
    margin-right: 40px;
    text-align: right;
    /* IE11  */ }
    @media only screen and (max-width: 767px) {
      body.index main section#works .works-slider-dots {
        position: relative;
        top: -15px;
        margin-right: 30px; } }
    body.index main section#works .works-slider-dots button {
      -webkit-appearance: none;
      box-shadow: none; }
      body.index main section#works .works-slider-dots button:before {
        font-size: 0 !important; }
    body.index main section#works .works-slider-dots .owl-dot {
      background-color: white;
      border-radius: 20px;
      margin-right: 10px;
      opacity: 0.2;
      height: 4px;
      width: 20px; }
      body.index main section#works .works-slider-dots .owl-dot.active {
        opacity: 0.9; }
    body.index main section#works .works-slider-dots _:lang(x)::-ms-backdrop, body.index main section#works .works-slider-dots .owl-dot {
      border-radius: 10px; }
  body.index main section#works .owl-prev, body.index main section#works .owl-next {
    background: transparent !important;
    display: inline-block;
    border: none;
    margin: 0;
    text-decoration: none;
    font-size: 1rem;
    -webkit-appearance: none;
    -moz-appearance: none; }
  body.index main section#works .owl-prev:active, body.index main section#works .owl-next:active, body.index main section#works .owl-prev:hover, body.index main section#works .owl-next:hover, body.index main section#works .owl-prev:focus, body.index main section#works .owl-next:focus {
    background: transparent !important;
    outline: none; }
  @media only screen and (max-width: 767px) {
    body.index main section#works .slider-wrap {
      position: relative; } }
  @media only screen and (max-width: 767px) {
    body.index main section#works .buttons-wraper {
      margin: 0 auto;
      pointer-events: none;
      position: absolute;
      left: 0;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      z-index: 10;
      height: 100%; } }
  body.index main section#works .fa {
    opacity: 0;
    pointer-events: none;
    background-size: 21px 36px;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 100%;
    width: 50px; }
    @media only screen and (max-width: 767px) {
      body.index main section#works .fa {
        opacity: 1;
        pointer-events: auto;
        z-index: 30; } }
    body.index main section#works .fa.fa-chevron-left {
      background-image: url("../images/common/arrw_l2.svg");
      left: 0; }
      @media only screen and (max-width: 767px) {
        body.index main section#works .fa.fa-chevron-left {
          background-image: url("../images/common/arrw_l.svg"); } }
    body.index main section#works .fa.fa-chevron-right {
      background-image: url("../images/common/arrw_r2.svg");
      right: 0; }
      @media only screen and (max-width: 767px) {
        body.index main section#works .fa.fa-chevron-right {
          background-image: url("../images/common/arrw_r.svg"); } }
  body.index main section#works a {
    display: block;
    margin: 0 auto;
    padding-top: 25px;
    pointer-events: none;
    position: absolute;
    right: 30px;
    bottom: 145px;
    height: 100px;
    width: 200px; }
    @media only screen and (max-width: 767px) {
      body.index main section#works a {
        right: 32px;
        bottom: 50px; } }
  body.index main section#works .button {
    opacity: 0; }
    @media only screen and (max-width: 767px) {
      body.index main section#works .button {
        opacity: 1;
        left: auto; } }

body.index main section#other ul.other-pages li {
  background-size: cover;
  position: relative;
  text-align: center; }
  body.index main section#other ul.other-pages li:before {
    border-bottom: 1px solid white;
    background-color: white;
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 1px;
    z-index: 2; }
  body.index main section#other ul.other-pages li .page-ttl {
    color: white;
    font-size: 60px;
    font-size: 6rem;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-family: "Poppins", sans-serif;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%); }
    @media only screen and (max-width: 767px) {
      body.index main section#other ul.other-pages li .page-ttl {
        font-size: 6.4vw; } }
    body.index main section#other ul.other-pages li .page-ttl .sml {
      font-size: 22px;
      font-size: 2.2rem;
      line-height: 3.6; }
      @media only screen and (max-width: 767px) {
        body.index main section#other ul.other-pages li .page-ttl .sml {
          font-size: 4.8vw;
          line-height: 2.6; } }
  body.index main section#other ul.other-pages li:nth-child(1) {
    width: 50%; }
    @media only screen and (min-width: 768px) {
      body.index main section#other ul.other-pages li:nth-child(1) {
        cursor: pointer;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s; }
        body.index main section#other ul.other-pages li:nth-child(1):hover {
          opacity: .7; } }
    body.index main section#other ul.other-pages li:nth-child(1) a {
      background-image: url("../images/top/members.jpg");
      background-size: cover;
      display: block;
      height: 100%;
      width: 100%;
      padding-bottom: 60%;
      height: 0; }
      @media only screen and (max-width: 767px) {
        body.index main section#other ul.other-pages li:nth-child(1) a {
          background-image: url("../images/top/members_sp.jpg");
          padding-bottom: 66%; } }
    body.index main section#other ul.other-pages li:nth-child(1):before {
      width: calc(50% - 188px); }
      @media only screen and (max-width: 767px) {
        body.index main section#other ul.other-pages li:nth-child(1):before {
          width: calc(50% - 70px); } }
      @media only screen and (max-width: 320px) {
        body.index main section#other ul.other-pages li:nth-child(1):before {
          width: calc(50% - 60px); } }
  body.index main section#other ul.other-pages li:nth-child(2) {
    width: 50%; }
    @media only screen and (min-width: 768px) {
      body.index main section#other ul.other-pages li:nth-child(2) {
        cursor: pointer;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s; }
        body.index main section#other ul.other-pages li:nth-child(2):hover {
          opacity: .7; } }
    body.index main section#other ul.other-pages li:nth-child(2) a {
      background-image: url("../images/top/company.jpg");
      background-size: cover;
      display: block;
      padding-bottom: 60%;
      height: 0; }
      @media only screen and (max-width: 767px) {
        body.index main section#other ul.other-pages li:nth-child(2) a {
          background-image: url("../images/top/company_sp.jpg");
          padding-bottom: 66%; } }
    body.index main section#other ul.other-pages li:nth-child(2):before {
      width: calc(50% - 195px); }
      @media only screen and (max-width: 767px) {
        body.index main section#other ul.other-pages li:nth-child(2):before {
          width: calc(50% - 75px); } }
      @media only screen and (max-width: 320px) {
        body.index main section#other ul.other-pages li:nth-child(2):before {
          width: calc(50% - 65px); } }
  body.index main section#other ul.other-pages li:nth-child(3) {
    width: 100%; }
    body.index main section#other ul.other-pages li:nth-child(3) a.down-bg {
      background-image: url("../images/top/recruit.jpg");
      background-size: cover;
      display: block;
      padding-bottom: 30%;
      height: 0;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        body.index main section#other ul.other-pages li:nth-child(3) a.down-bg {
          background-image: url("../images/top/recruit_sp.jpg");
          padding-bottom: 58%; } }
      body.index main section#other ul.other-pages li:nth-child(3) a.down-bg:before {
        display: none; }
      body.index main section#other ul.other-pages li:nth-child(3) a.down-bg .page-ttl {
        top: 23%;
        transform: translateY(0); }
        @media only screen and (max-width: 1198px) {
          body.index main section#other ul.other-pages li:nth-child(3) a.down-bg .page-ttl {
            top: 10%; } }
        @media only screen and (max-width: 950px) {
          body.index main section#other ul.other-pages li:nth-child(3) a.down-bg .page-ttl {
            top: 5%; } }
        @media only screen and (max-width: 767px) {
          body.index main section#other ul.other-pages li:nth-child(3) a.down-bg .page-ttl {
            top: 13%;
            font-size: 9.6vw; } }
      body.index main section#other ul.other-pages li:nth-child(3) a.down-bg .button {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 23.55%; }
        @media only screen and (max-width: 1198px) {
          body.index main section#other ul.other-pages li:nth-child(3) a.down-bg .button {
            bottom: 18.55%; } }
        @media only screen and (max-width: 950px) {
          body.index main section#other ul.other-pages li:nth-child(3) a.down-bg .button {
            bottom: 12.55%; } }
        @media only screen and (max-width: 767px) {
          body.index main section#other ul.other-pages li:nth-child(3) a.down-bg .button {
            bottom: 16%; } }

body.index footer .upper {
  background-color: white; }

body.index .header-nav li a {
  display: block; }

body.index #ah-1 {
  animation-delay: .8s; }

body.index #ah-2 {
  animation-delay: 1s; }

body.index #ah-3 {
  animation-delay: 1.2s; }

body.index #ah-4 {
  animation-delay: 1.4s; }

body.index #ah-5 {
  animation-delay: 1.6s; }

body.index #ah-6 {
  animation-delay: 1.8s; }

body.index #ah-7 {
  transform: translateY(300%);
  animation-delay: 2.0s; }

body.index #amb1 {
  animation-delay: 0s;
  -webkit-animation-delay: 0s; }

body.index #amb2 {
  animation-delay: .3s;
  -webkit-animation-delay: .8s; }

body.index #amb3 {
  animation-delay: .6s;
  -webkit-animation-delay: 1s; }

body.index #am-1 {
  animation-delay: .8s;
  transform: translateY(200%); }

body.index #am-2 {
  animation-delay: 1.4s;
  transform: translateY(200%); }

body.index #am-3 {
  animation-delay: 1.8s;
  transform: translateY(200%); }

body.index #ab-1 {
  animation-delay: 0s; }

body.index #ab-2 {
  animation-delay: .4s; }

body.index #ab-3 {
  animation-delay: 0s;
  transform: translateX(-200%); }

body.index #ab-4 {
  animation-delay: .7s;
  transform: translateX(-200%); }

body.index #abt-1 {
  animation-delay: 1s;
  transform: translateY(200%); }

body.index #abt-2 {
  animation-delay: 1.2s;
  transform: translateY(200%); }

body.index #abt-3 {
  animation-delay: 1.3s;
  transform: translateY(200%); }

body.index #abt-4 {
  animation-delay: 1.7s;
  transform: translateY(200%); }

body.index #abt-5 {
  animation-delay: 1.8s;
  transform: translateY(200%); }

body.index #abt-6 {
  animation-delay: 1.9s;
  transform: translateY(200%); }

body.index #abb1 {
  animation-delay: 2.7s;
  -webkit-animation-delay: 3.2s; }

body.index #abb2 {
  animation-delay: 2.8s;
  -webkit-animation-delay: 3.9s; }

body.index .owl-stage .owl-item:nth-child(4) li.works-slide {
  animation-delay: .5s;
  opacity: 0; }

body.index .owl-stage .owl-item:nth-child(5) li.works-slide {
  animation-delay: 1s;
  opacity: 0; }

body.index .owl-stage .owl-item:nth-child(6) li.works-slide {
  animation-delay: 1.5s;
  opacity: 0; }

body.index .owl-stage .owl-item:nth-child(7) li.works-slide {
  animation-delay: 2s;
  opacity: 0; }

body.index .owl-stage .owl-item:nth-child(8) li.works-slide {
  animation-delay: 2.5s;
  opacity: 0; }

body.index #abt-3, body.index #abt-6 {
  display: none; }

@media only screen and (max-width: 767px) {
  body.member .mv-side {
    background-image: url("../images/member/mv_sp.jpg"); } }

body.member .details {
  position: absolute; }

body.member section#member-list .inner {
  max-width: 1080px;
  padding: 0 40px 120px;
  position: relative; }
  @media only screen and (max-width: 767px) {
    body.member section#member-list .inner {
      padding: 0 16px 120px; } }
  body.member section#member-list .inner .det1 {
    top: -130px;
    left: -180px;
    width: 80px; }
  body.member section#member-list .inner .det2 {
    top: -144px;
    right: -204px;
    width: 184px; }
    @media only screen and (max-width: 1490px) {
      body.member section#member-list .inner .det2 {
        right: calc(50% - 640px); } }
    @media only screen and (max-width: 1280px) {
      body.member section#member-list .inner .det2 {
        right: 0; } }

body.member section#member-list ul.member-list {
  margin: 206px auto 30px;
  -webkit-justify-content: flex-start;
  justify-content: flex-start; }
  @media only screen and (max-width: 767px) {
    body.member section#member-list ul.member-list {
      margin: 116px auto 47px; } }
  body.member section#member-list ul.member-list li {
    margin-bottom: 50px;
    width: calc((100% - 60px)/3); }
    @media only screen and (min-width: 768px) {
      body.member section#member-list ul.member-list li {
        margin-right: 30px; }
        body.member section#member-list ul.member-list li:nth-child(3n) {
          margin-right: 0; } }
    @media only screen and (max-width: 767px) {
      body.member section#member-list ul.member-list li {
        margin-bottom: 25px;
        width: calc((100% - 15px)/2); }
        body.member section#member-list ul.member-list li:nth-child(odd) {
          margin-right: 15px; } }
    body.member section#member-list ul.member-list li .imager {
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      padding-bottom: 100%;
      position: relative;
      height: 0;
      width: 100%;
      -webkit-box-shadow: 0px 1px 9px 1px rgba(0, 0, 0, 0.24);
      -moz-box-shadow: 0px 1px 9px 1px rgba(0, 0, 0, 0.24);
      box-shadow: 0px 1px 9px 1px rgba(0, 0, 0, 0.24); }
      body.member section#member-list ul.member-list li .imager .masken {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%; }
    body.member section#member-list ul.member-list li .text {
      margin-top: 29px; }
      @media only screen and (max-width: 767px) {
        body.member section#member-list ul.member-list li .text {
          margin-top: 19px; } }
      body.member section#member-list ul.member-list li .text .name {
        white-space: nowrap; }
        @media only screen and (max-width: 1090px) {
          body.member section#member-list ul.member-list li .text .name {
            white-space: normal; } }
        body.member section#member-list ul.member-list li .text .name .ja {
          display: inline-block;
          font-size: 24px;
          font-size: 2.4rem;
          letter-spacing: 0.15em;
          margin-right: 26px; }
          @media only screen and (max-width: 767px) {
            body.member section#member-list ul.member-list li .text .name .ja {
              display: block;
              font-size: 20px;
              font-size: 2rem;
              margin-right: 0;
              margin-bottom: 6px; } }
        body.member section#member-list ul.member-list li .text .name .en {
          color: #677D97;
          display: inline-block;
          font-size: 14px;
          font-size: 1.4rem;
          font-family: "Poppins", sans-serif;
          letter-spacing: 0.1em;
          position: relative;
          top: -3px; }
          @media only screen and (max-width: 1090px) {
            body.member section#member-list ul.member-list li .text .name .en {
              margin-top: 10px; } }
          @media only screen and (max-width: 767px) {
            body.member section#member-list ul.member-list li .text .name .en {
              display: block;
              margin-top: 0;
              position: static; } }
      body.member section#member-list ul.member-list li .text .job-ttl {
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: 0.1em;
        margin: 18px 0 24px;
        opacity: .6; }
        @media only screen and (max-width: 767px) {
          body.member section#member-list ul.member-list li .text .job-ttl {
            margin: 11px 0 17px; } }
      body.member section#member-list ul.member-list li .text .comment {
        font-size: 17px;
        font-size: 1.7rem;
        letter-spacing: 0.1em;
        line-height: 1.6;
        opacity: .6; }
        @media only screen and (max-width: 767px) {
          body.member section#member-list ul.member-list li .text .comment {
            font-size: 14px;
            font-size: 1.4rem; } }
      @media only screen and (min-width: 768px) {
        @supports (-webkit-line-clamp: 2) {
          body.member section#member-list ul.member-list li .text .comment {
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical; } } }
      @media only screen and (max-width: 767px) {
        @supports (-webkit-line-clamp: 4) {
          body.member section#member-list ul.member-list li .text .comment {
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 4;
            -webkit-box-orient: vertical; } } }

@media only screen and (max-width: 767px) {
  body.recruit-single .mv-side {
    background-image: url("../images/recruit/mv_single_sp.jpg"); } }

body.recruit-single .breadcrumb:before {
  background-color: white !important; }

body.recruit-single main section#content .inner {
  padding: 151px 0 156px;
  position: relative;
  max-width: 1000px;
  /* IE11  */ }
  @media only screen and (max-width: 767px) {
    body.recruit-single main section#content .inner {
      padding: 115px 16px 122px; } }
  body.recruit-single main section#content .inner .det1 {
    position: absolute;
    right: -180px;
    top: 56px; }
    @media only screen and (max-width: 1360px) {
      body.recruit-single main section#content .inner .det1 {
        right: 0; } }
  body.recruit-single main section#content .inner .single-ttl {
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: 94px;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.recruit-single main section#content .inner .single-ttl {
        margin-bottom: 65px; } }
    body.recruit-single main section#content .inner .single-ttl .ja {
      font-size: 40px;
      font-size: 4rem; }
      @media only screen and (max-width: 767px) {
        body.recruit-single main section#content .inner .single-ttl .ja {
          font-size: 24px;
          font-size: 2.4rem; } }
    body.recruit-single main section#content .inner .single-ttl .en {
      color: #677D97;
      display: block;
      font-size: 23px;
      font-size: 2.3rem;
      margin-top: 35px; }
      @media only screen and (max-width: 767px) {
        body.recruit-single main section#content .inner .single-ttl .en {
          font-size: 18px;
          font-size: 1.8rem;
          margin-top: 12px; } }
  body.recruit-single main section#content .inner .single-sub-ttl {
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: bold;
    position: relative;
    padding-left: 19px; }
    @media only screen and (max-width: 767px) {
      body.recruit-single main section#content .inner .single-sub-ttl {
        font-size: 23px;
        font-size: 2.3rem;
        padding-left: 19px; } }
    body.recruit-single main section#content .inner .single-sub-ttl:before {
      background-color: #677D97;
      border-radius: 5px;
      content: "";
      position: absolute;
      left: 0;
      top: -3px;
      height: 30px;
      width: 5px; }
  body.recruit-single main section#content .inner _:lang(x)::-ms-backdrop, body.recruit-single main section#content .inner .single-sub-ttl {
    padding-top: 6px; }
  body.recruit-single main section#content .inner .text-content {
    font-size: 17px;
    font-size: 1.7rem;
    letter-spacing: 0.1em;
    line-height: 2.13;
    margin: 33px auto 79px; }
    @media only screen and (max-width: 767px) {
      body.recruit-single main section#content .inner .text-content {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 2.13;
        margin: 25px auto 56px; } }
  body.recruit-single main section#content .inner table {
    border-bottom: 1px solid #dedede;
    margin: 46px auto 40px;
    width: 100%; }
    @media only screen and (max-width: 767px) {
      body.recruit-single main section#content .inner table {
        margin: 29px auto 40px; } }
    body.recruit-single main section#content .inner table tr {
      border-top: 1px solid #dedede; }
      body.recruit-single main section#content .inner table tr th {
        font-size: 17px;
        font-size: 1.7rem;
        font-weight: bold;
        letter-spacing: 0.04em;
        padding: 25px 0;
        vertical-align: text-top;
        width: 188px; }
        @media only screen and (max-width: 767px) {
          body.recruit-single main section#content .inner table tr th {
            display: block;
            font-size: 15px;
            font-size: 1.5rem;
            padding: 15px 0 0;
            width: 100%; } }
      body.recruit-single main section#content .inner table tr td {
        font-size: 17px;
        font-size: 1.7rem;
        line-height: 2.13;
        letter-spacing: 0.1em;
        padding: 25px 0;
        vertical-align: text-top; }
        @media only screen and (max-width: 767px) {
          body.recruit-single main section#content .inner table tr td {
            display: block;
            font-size: 14px;
            font-size: 1.4rem;
            padding: 0 0 10px; } }
  body.recruit-single main section#content .inner .read-more {
    margin-right: 0;
    margin-bottom: 60px;
    width: 228px; }
    @media only screen and (max-width: 767px) {
      body.recruit-single main section#content .inner .read-more {
        margin-bottom: 50px; } }

@media only screen and (max-width: 767px) {
  body.recruit .mv-side {
    background-image: url("../images/recruit/mv_sp.png"); } }

body.recruit .breadcrumb:before {
  background-color: #EFEFEF; }

body.recruit .details {
  position: absolute; }

body.recruit .text-ttl {
  font-size: 22px;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  line-height: 1.63; }
  @media only screen and (max-width: 767px) {
    body.recruit .text-ttl {
      line-height: 1.54; } }

body.recruit p.text-content {
  font-size: 17px;
  font-size: 1.7rem;
  letter-spacing: 0.1em;
  line-height: 2.13; }
  @media only screen and (max-width: 767px) {
    body.recruit p.text-content {
      font-size: 14px;
      font-size: 1.4rem; } }

body.recruit .slider-dots {
  margin: 0 auto;
  position: relative;
  /* IE11  */ }
  body.recruit .slider-dots button {
    -webkit-appearance: none;
    box-shadow: none; }
    body.recruit .slider-dots button:before {
      font-size: 0 !important; }
  body.recruit .slider-dots .slick-dots li {
    background-color: rgba(103, 125, 151, 0.2);
    border-radius: 20px;
    font-size: 0;
    margin-right: 10px;
    height: 4px;
    width: 20px; }
    body.recruit .slider-dots .slick-dots li.slick-active {
      background-color: #677d97; }
  body.recruit .slider-dots _:lang(x)::-ms-backdrop, body.recruit .slider-dots .owl-dot {
    border-radius: 10px; }

body.recruit section#recruitment {
  background-color: #EFEFEF;
  margin-top: -54px;
  padding: 254px 0 180px;
  position: relative; }
  @media only screen and (max-width: 767px) {
    body.recruit section#recruitment {
      margin-top: 0;
      padding: 91px 0 120px; } }
  body.recruit section#recruitment:before {
    background-color: white;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 450px; }
    @media only screen and (max-width: 767px) {
      body.recruit section#recruitment:before {
        width: 20%; } }
  body.recruit section#recruitment .inner {
    max-width: 1500px;
    position: relative;
    *zoom: 1; }
    body.recruit section#recruitment .inner:after {
      content: "";
      display: table;
      clear: both; }
    body.recruit section#recruitment .inner .det1 {
      right: -80px;
      top: -115px;
      width: 80px;
      z-index: 3; }
      @media only screen and (max-width: 1644px) {
        body.recruit section#recruitment .inner .det1 {
          right: 0; } }
    body.recruit section#recruitment .inner .det2 {
      left: 35px;
      bottom: -250px;
      width: 267px;
      z-index: 3; }
      @media only screen and (max-width: 767px) {
        body.recruit section#recruitment .inner .det2 {
          bottom: -70px;
          left: 16px;
          height: 44px;
          width: 167px; } }
  body.recruit section#recruitment .slider-wrap {
    max-width: 650px;
    position: absolute;
    left: 0;
    top: 0;
    width: 43.33%;
    z-index: 2; }
    @media only screen and (max-width: 767px) {
      body.recruit section#recruitment .slider-wrap {
        background-color: white;
        overflow: hidden;
        position: relative;
        padding-bottom: 44px;
        max-width: none;
        width: calc(100% - 16px); } }
    body.recruit section#recruitment .slider-wrap .slider-dots {
      bottom: -20px;
      margin-right: 0;
      right: -64px;
      z-index: 5;
      text-align: right; }
    body.recruit section#recruitment .slider-wrap .slick-dotted.slick-slider {
      margin-bottom: 0; }
  body.recruit section#recruitment .text {
    background-color: white;
    float: right;
    margin-top: 100px;
    padding: 84px 125px 113px 224px;
    width: 64.93%; }
    @media only screen and (max-width: 1200px) {
      body.recruit section#recruitment .text {
        padding: 84px 30px 117px 12.79%; } }
    @media only screen and (max-width: 767px) {
      body.recruit section#recruitment .text {
        padding: 40px 16px 64px;
        margin-top: 0;
        width: 100%; } }
    body.recruit section#recruitment .text .text-ttl {
      margin-top: 62px; }
      @media only screen and (max-width: 767px) {
        body.recruit section#recruitment .text .text-ttl {
          margin: 36px 0 24px; } }
    @media only screen and (min-width: 768px) {
      body.recruit section#recruitment .text .text-content {
        margin-top: 36px; } }

body.recruit section#culture {
  overflow: hidden;
  padding: 150px 0 197px; }
  @media only screen and (max-width: 767px) {
    body.recruit section#culture {
      padding: 110px 0 112px; } }
  body.recruit section#culture .inner {
    max-width: 1280px;
    padding: 0 40px; }
    @media only screen and (max-width: 767px) {
      body.recruit section#culture .inner {
        padding: 0 16px; } }
    @media only screen and (min-width: 768px) {
      body.recruit section#culture .inner .ttl-01:before {
        bottom: 23px; } }
    body.recruit section#culture .inner .text-ttl {
      margin-bottom: 16px; }
      @media only screen and (max-width: 767px) {
        body.recruit section#culture .inner .text-ttl {
          margin-top: 38px; } }
    body.recruit section#culture .inner .text-box {
      max-width: 825px; }
  body.recruit section#culture #slider-02 {
    margin-top: 80px;
    /* the slides */
    /* the parent */ }
    @media only screen and (max-width: 767px) {
      body.recruit section#culture #slider-02 {
        margin-top: 56px;
        margin-bottom: 40px; } }
    body.recruit section#culture #slider-02 .slick-slide {
      margin: 0 8px; }
    body.recruit section#culture #slider-02 .slick-list {
      margin: 0 -8px; }

body.recruit section#numbers {
  display: none;
  position: relative; }
  @media only screen and (max-width: 767px) {
    body.recruit section#numbers {
      background-image: url("../images/recruit/img2_sp.jpg");
      background-size: cover; } }
  body.recruit section#numbers .det1 {
    right: 0;
    top: -116px;
    width: 250px; }
    @media only screen and (max-width: 767px) {
      body.recruit section#numbers .det1 {
        top: -60px;
        width: 134px; } }
  body.recruit section#numbers .det2 {
    left: 0;
    bottom: 0;
    width: 104px; }
    @media only screen and (max-width: 767px) {
      body.recruit section#numbers .det2 {
        width: 45px; } }
  body.recruit section#numbers .scroll-line {
    background-color: #E8E8E8;
    margin: 0 auto;
    position: absolute;
    right: 0;
    left: 0;
    top: -81px;
    height: 120px;
    width: 1px;
    z-index: 4; }
    body.recruit section#numbers .scroll-line:after {
      background-color: #222222;
      content: "";
      margin: 0 auto;
      position: absolute;
      right: 0;
      left: 0;
      top: 0;
      height: 304px;
      width: 1px;
      z-index: 4;
      animation: 2s scrool infinite; }

@keyframes scrool {
  0% {
    height: 0;
    top: 0; }
  45% {
    height: 100%;
    top: 0; }
  100% {
    height: 0;
    top: 100%; } }
  body.recruit section#numbers .parallax-window2 {
    background: transparent;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    min-height: 1000px;
    z-index: -1; }
  body.recruit section#numbers .numbers-ttl {
    color: white;
    font-weight: bold;
    text-align: center; }
    body.recruit section#numbers .numbers-ttl .ja {
      font-size: 22px;
      font-size: 2.2rem;
      letter-spacing: 0.1em;
      line-height: 1.5; }
      @media only screen and (max-width: 767px) {
        body.recruit section#numbers .numbers-ttl .ja {
          font-size: 18px;
          font-size: 1.8rem; } }
    body.recruit section#numbers .numbers-ttl .en {
      font-size: 60px;
      font-size: 6rem;
      letter-spacing: 0.05em;
      line-height: 1.26;
      text-transform: uppercase; }
      @media only screen and (max-width: 767px) {
        body.recruit section#numbers .numbers-ttl .en {
          display: block;
          font-size: 36px;
          font-size: 3.6rem;
          line-height: 1.22;
          margin-top: 10px; } }
  body.recruit section#numbers .inner {
    padding: 104px 40px 160px;
    max-width: 1300px; }
    @media only screen and (max-width: 767px) {
      body.recruit section#numbers .inner {
        padding: 64px 16px 111px; } }
    body.recruit section#numbers .inner .grid {
      margin-top: 93px; }
      @media only screen and (max-width: 767px) {
        body.recruit section#numbers .inner .grid {
          margin-top: 57px; } }
      @media only screen and (max-width: 767px) {
        body.recruit section#numbers .inner .grid .upper {
          flex-direction: column; } }
      body.recruit section#numbers .inner .grid .upper .left {
        width: calc(50% - 11px); }
        @media only screen and (max-width: 767px) {
          body.recruit section#numbers .inner .grid .upper .left {
            width: 100%; } }
      body.recruit section#numbers .inner .grid .upper .right {
        width: calc(50% - 11px); }
        @media only screen and (max-width: 767px) {
          body.recruit section#numbers .inner .grid .upper .right {
            margin-top: 12px;
            width: 100%; } }
        body.recruit section#numbers .inner .grid .upper .right li {
          width: calc(50% - 11px); }
          @media only screen and (max-width: 767px) {
            body.recruit section#numbers .inner .grid .upper .right li {
              width: calc(50% - 6px); } }
          body.recruit section#numbers .inner .grid .upper .right li:nth-child(3), body.recruit section#numbers .inner .grid .upper .right li:nth-child(4) {
            margin-top: 22px; }
            @media only screen and (max-width: 767px) {
              body.recruit section#numbers .inner .grid .upper .right li:nth-child(3), body.recruit section#numbers .inner .grid .upper .right li:nth-child(4) {
                margin-top: 12px; } }
      body.recruit section#numbers .inner .grid .down {
        margin-top: 22px;
        width: 100%; }
        @media only screen and (max-width: 767px) {
          body.recruit section#numbers .inner .grid .down {
            margin-top: 12px;
            -webkit-flex-direction: column;
            flex-direction: column; } }
        body.recruit section#numbers .inner .grid .down figure {
          width: calc(50% - 11px); }
          @media only screen and (max-width: 767px) {
            body.recruit section#numbers .inner .grid .down figure {
              width: 100%; }
              body.recruit section#numbers .inner .grid .down figure:last-of-type {
                margin-top: 9px; } }

body.recruit section#job {
  background-color: #EFEFEF;
  padding: 185px 0 150px;
  position: relative; }
  @media only screen and (max-width: 767px) {
    body.recruit section#job {
      margin-top: 0;
      padding: 91px 0 120px; } }
  body.recruit section#job:before {
    background-color: white;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 450px; }
    @media only screen and (max-width: 767px) {
      body.recruit section#job:before {
        display: none; } }
  body.recruit section#job .inner {
    max-width: 1280px;
    padding: 0 40px; }
    @media only screen and (max-width: 767px) {
      body.recruit section#job .inner {
        padding: 0 16px; } }
    body.recruit section#job .inner .job-list {
      margin-top: 98px;
      position: relative;
      z-index: 2;
      -webkit-justify-content: flex-start;
      justify-content: flex-start; }
      @media only screen and (max-width: 767px) {
        body.recruit section#job .inner .job-list {
          margin-top: 45px; } }
      body.recruit section#job .inner .job-list li {
        background-color: white;
        border-bottom: 7px solid #677D97;
        padding: 43px 44px 40px;
        margin-bottom: 30px;
        height: 230px;
        width: calc((100% - 60px)/3); }
        @media only screen and (min-width: 768px) {
          body.recruit section#job .inner .job-list li {
            margin-right: 30px; }
            body.recruit section#job .inner .job-list li:nth-child(3n) {
              margin-right: 0; } }
        @media only screen and (max-width: 767px) {
          body.recruit section#job .inner .job-list li {
            margin-bottom: 52px;
            padding: 30px;
            height: 185px;
            width: 100%; }
            body.recruit section#job .inner .job-list li:last-child {
              margin-bottom: 0; } }
        body.recruit section#job .inner .job-list li .job-list-ttl {
          font-weight: bold;
          /* IE11  */ }
          body.recruit section#job .inner .job-list li .job-list-ttl .en {
            color: #677D97;
            font-size: 13px;
            font-size: 1.3rem;
            font-family: "Poppins", sans-serif;
            letter-spacing: 0.1em;
            line-height: 1.5; }
            @media only screen and (max-width: 767px) {
              body.recruit section#job .inner .job-list li .job-list-ttl .en {
                font-size: 11px;
                font-size: 1.1rem; } }
          body.recruit section#job .inner .job-list li .job-list-ttl .ja {
            display: block;
            font-size: 19px;
            font-size: 1.9rem;
            letter-spacing: 0.05em;
            line-height: 1.26;
            text-transform: uppercase;
            margin-top: 21px; }
            @media only screen and (max-width: 767px) {
              body.recruit section#job .inner .job-list li .job-list-ttl .ja {
                font-size: 17px;
                font-size: 1.7rem;
                margin-top: 16px; } }
          body.recruit section#job .inner .job-list li .job-list-ttl _:lang(x)::-ms-backdrop, body.recruit section#job .inner .job-list li .job-list-ttl .ja {
            overflow: hidden;
            height: 24px; }
          @supports (-webkit-line-clamp: 1) {
            body.recruit section#job .inner .job-list li .job-list-ttl .ja {
              overflow: hidden;
              text-overflow: ellipsis;
              display: -webkit-box;
              -webkit-line-clamp: 1;
              -webkit-box-orient: vertical; } }
        body.recruit section#job .inner .job-list li .button {
          margin-top: 43px;
          margin-left: 0; }
          @media only screen and (max-width: 767px) {
            body.recruit section#job .inner .job-list li .button {
              margin-top: 25px; } }

body.recruit #slider-01 {
  animation-delay: 0s; }

body.recruit #recruitment #a1, body.recruit #culture .inner, body.recruit #job .job-list li .a2 {
  transform: translateY(200%); }

body.recruit #recruitment #a1 {
  animation-delay: .8s; }

body.recruit #culture .inner {
  animation-delay: .2s; }

body.recruit #job .job-list li .a2, body.recruit #job .job-list li .animation-wrap {
  animation-delay: .2s; }

@media only screen and (max-width: 767px) {
  body.service .mv-side {
    background-image: url("../images/service/mv_sp.jpg"); } }

body.service .breadcrumb:before {
  background-color: #EFEFEF; }

body.service .details {
  position: absolute; }

body.service section#marketing {
  background-color: #EFEFEF;
  margin-top: -54px;
  padding: 254px 0 209px;
  position: relative; }
  @media only screen and (max-width: 767px) {
    body.service section#marketing {
      margin-top: 0;
      padding: 112px 0 60px; } }
  body.service section#marketing:before {
    background-color: white;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 450px; }
    @media only screen and (max-width: 1160px) {
      body.service section#marketing:before {
        width: 30%; } }
    @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
      body.service section#marketing:before {
        width: 25%; } }
    @media only screen and (max-width: 767px) {
      body.service section#marketing:before {
        display: none; } }
  @media only screen and (max-width: 767px) {
    body.service section#marketing .upper-inner {
      padding: 0 16px; } }
  body.service section#marketing .inner {
    max-width: 1280px;
    padding: 0 40px;
    position: relative;
    z-index: 2; }
    @media only screen and (max-width: 767px) {
      body.service section#marketing .inner {
        padding: 0; } }
    body.service section#marketing .inner .det1 {
      top: -130px;
      left: -80px;
      width: 80px; }
    body.service section#marketing .inner .det2 {
      top: -144px;
      right: -104px;
      width: 184px; }
      @media only screen and (max-width: 1490px) {
        body.service section#marketing .inner .det2 {
          right: calc(50% - 640px); } }
      @media only screen and (max-width: 1280px) {
        body.service section#marketing .inner .det2 {
          right: 0; } }
  @media only screen and (max-width: 767px) {
    body.service section#marketing .ttl-01 {
      padding-bottom: 38px; }
      body.service section#marketing .ttl-01 .en {
        display: block;
        line-height: 1.22;
        margin-top: 9px; } }
  body.service section#marketing .intro-text {
    font-size: 17px;
    font-size: 1.7rem;
    letter-spacing: 0.1em;
    line-height: 2.13;
    margin: 57px 0 100px;
    max-width: 781px; }
    @media only screen and (max-width: 767px) {
      body.service section#marketing .intro-text {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 2.14;
        margin: 37px 0 60px; } }
  @media only screen and (max-width: 767px) {
    body.service section#marketing ul.marketing-list {
      flex-direction: column;
      margin-left: 15px; } }
  @media only screen and (min-width: 768px) {
    body.service section#marketing ul.marketing-list li {
      width: calc(50% - 20px); }
      body.service section#marketing ul.marketing-list li:nth-child(1), body.service section#marketing ul.marketing-list li:nth-child(2) {
        margin-bottom: 88px; } }
  @media only screen and (min-width: 768px) and (max-width: 1210px) {
    body.service section#marketing ul.marketing-list li:nth-child(2) .content-box-text {
      padding-bottom: 23%; } }
  @media only screen and (max-width: 767px) {
    body.service section#marketing ul.marketing-list li {
      margin-bottom: 60px;
      width: 100%; } }
  body.service section#marketing ul.marketing-list li .content-box-text {
    background-color: white;
    padding: 48px 60px 50px;
    position: relative;
    margin-top: -31%;
    min-height: 427px;
    width: calc(100% - 80px);
    z-index: 2; }
    @media only screen and (max-width: 767px) {
      body.service section#marketing ul.marketing-list li .content-box-text {
        margin-top: -100px;
        padding: 48px 24px 50px;
        min-height: inherit;
        width: calc(100% - 15px); } }
  body.service section#marketing ul.marketing-list li .content-box-ttl {
    font-weight: bold; }
    body.service section#marketing ul.marketing-list li .content-box-ttl .ja {
      font-size: 22px;
      font-size: 2.2rem;
      letter-spacing: 0.15em;
      line-height: 1.5; }
  body.service section#marketing ul.marketing-list li .gray {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.4;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin: 15px 0 30px;
    opacity: .6; }
    @media only screen and (max-width: 767px) {
      body.service section#marketing ul.marketing-list li .gray {
        font-size: 14px;
        font-size: 1.4rem;
        margin: 14px 0 30px; } }
  body.service section#marketing ul.marketing-list li p.text {
    font-size: 17px;
    font-size: 1.7rem;
    letter-spacing: 0.1em;
    line-height: 2.14; }
    @media only screen and (max-width: 767px) {
      body.service section#marketing ul.marketing-list li p.text {
        font-size: 14px;
        font-size: 1.4rem; } }
    body.service section#marketing ul.marketing-list li p.text.single {
      margin-top: 27px; }

body.service section#service {
  padding: 181px 0;
  position: relative; }
  @media only screen and (max-width: 767px) {
    body.service section#service {
      padding: 0;
      margin-bottom: 120px; } }
  body.service section#service:before {
    background-color: #677D97;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 450px;
    z-index: -1; }
    @media only screen and (max-width: 1160px) {
      body.service section#service:before {
        width: 30%; } }
    @media only screen and (max-width: 767px) {
      body.service section#service:before {
        width: 78.4%; } }
  body.service section#service .det1 {
    right: 40px;
    top: -80px;
    width: 125px; }
    @media only screen and (max-width: 767px) {
      body.service section#service .det1 {
        right: 16px;
        top: -60px;
        width: 93px;
        z-index: 2; } }
  body.service section#service .det2 {
    right: 359px;
    bottom: 0;
    width: 91px; }
    @media only screen and (max-width: 1160px) {
      body.service section#service .det2 {
        right: calc(30% - 91px);
        bottom: -1px; } }
    @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
      body.service section#service .det2 {
        right: calc(30% - 88px); } }
    @media only screen and (max-width: 767px) {
      body.service section#service .det2 {
        right: calc(78.4% - 47px);
        bottom: -1px;
        width: 47px; } }
  body.service section#service .inner {
    margin-left: calc(50% - 600px);
    position: relative;
    width: calc(100% - (50% - 600px)); }
    @media only screen and (max-width: 1280px) {
      body.service section#service .inner {
        margin-left: 40px;
        width: calc(100% - 40px); } }
    @media only screen and (max-width: 767px) {
      body.service section#service .inner {
        background-color: white;
        margin: 0 auto;
        padding: 90px 16px 56px;
        width: 100%; } }
  body.service section#service .intro-text {
    font-size: 17px;
    font-size: 1.7rem;
    letter-spacing: 0.1em;
    line-height: 2.13;
    margin: 57px 0 100px;
    width: 602px; }
    @media only screen and (max-width: 1320px) {
      body.service section#service .intro-text {
        width: 50%; } }
    @media only screen and (max-width: 767px) {
      body.service section#service .intro-text {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 2.14;
        margin: 37px 0 0;
        width: 100%; } }
  body.service section#service ul.pictures-list {
    width: 100%; }
    body.service section#service ul.pictures-list li:nth-child(1), body.service section#service ul.pictures-list li:nth-child(2) {
      width: 24.74%; }
    body.service section#service ul.pictures-list li:nth-child(3) {
      height: auto;
      width: 48.14%; }
      body.service section#service ul.pictures-list li:nth-child(3) .imager {
        background-image: url("../images/service/slide1.jpg");
        background-size: cover;
        background-position: center;
        position: absolute;
        right: 0;
        bottom: 0;
        height: 100%;
        width: 48.14%; }
        @media only screen and (max-width: 1010px) {
          body.service section#service ul.pictures-list li:nth-child(3) .imager {
            height: calc(100% - 180px); } }
  body.service section#service .slider-wrap {
    overflow: hidden;
    padding: 90px 0 98px;
    position: relative;
    width: 100%; }
    @media only screen and (max-width: 767px) {
      body.service section#service .slider-wrap {
        padding: 90px 0 68px; } }
  body.service section#service .slick-slide {
    margin: 0 8px; }
  body.service section#service .slick-list {
    margin: 0 -8px; }
  body.service section#service .works-slider-dots {
    text-align: right;
    position: absolute;
    right: 0;
    top: 53px;
    width: 150px;
    /* IE11  */ }
    body.service section#service .works-slider-dots .slick-dots li {
      background-color: white;
      border-radius: 20px;
      opacity: 0.2;
      height: 4px; }
      body.service section#service .works-slider-dots .slick-dots li button {
        -webkit-appearance: none;
        box-shadow: none;
        opacity: 0; }
        body.service section#service .works-slider-dots .slick-dots li button:before {
          font-size: 0 !important; }
      body.service section#service .works-slider-dots .slick-dots li.slick-active {
        opacity: 1; }
    body.service section#service .works-slider-dots _:lang(x)::-ms-backdrop, body.service section#service .works-slider-dots .slick-dots li {
      border-radius: 10px; }

body.service #sl1a {
  animation-delay: 0s; }

body.service #sl1b {
  animation-delay: .5s; }

body.service #sl1c {
  animation-delay: 0s; }

body.service #sl1d {
  animation-delay: .5s; }

body.service #at1 {
  animation-delay: 0s;
  transform: translateY(200%); }

body.service #at2a {
  animation-delay: .5s;
  transform: translateY(200%); }

body.service #at2b {
  animation-delay: 1s;
  transform: translateY(200%); }

body.service #at2c {
  animation-delay: .5s;
  transform: translateY(200%); }

body.service #at2d {
  animation-delay: 1s;
  transform: translateY(200%); }

body.service #at3 {
  animation-delay: 0s;
  transform: translateY(200%); }

body.service #ao-1 {
  animation-delay: .5s; }

body.service #ao-2 {
  animation-delay: 1s; }

body.service #ao-3 {
  animation-delay: 1.5s; }

@media only screen and (max-width: 767px) {
  body.works .mv-side {
    background-image: url("../images/works/mv_sp.jpg"); } }

body.works main .details {
  position: absolute; }

body.works section#article-list .inner {
  max-width: 1080px;
  padding: 116px 40px 120px;
  position: relative; }
  @media only screen and (max-width: 767px) {
    body.works section#article-list .inner {
      padding: 110px 16px 120px; } }
  body.works section#article-list .inner .det1 {
    right: -180px;
    top: 56px;
    width: 80px;
    z-index: 3; }
    @media only screen and (max-width: 1360px) {
      body.works section#article-list .inner .det1 {
        right: 0; } }

body.works section#article-list ul.category-list {
  margin-bottom: 88px;
  -webkit-justify-content: center;
  justify-content: center;
  /* IE11  */ }
  @media only screen and (max-width: 767px) {
    body.works section#article-list ul.category-list {
      margin-bottom: 46px;
      width: 100%; } }
  body.works section#article-list ul.category-list li {
    background-color: white;
    border: 2px solid rgba(34, 34, 34, 0.4);
    color: rgba(34, 34, 34, 0.4);
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    margin-bottom: 12px;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    width: 200px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
    @media only screen and (min-width: 768px) {
      body.works section#article-list ul.category-list li {
        cursor: pointer;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s; }
        body.works section#article-list ul.category-list li:hover {
          opacity: .7; } }
    @media only screen and (min-width: 768px) {
      body.works section#article-list ul.category-list li {
        margin: 0 6px 12px; } }
    @media only screen and (max-width: 767px) {
      body.works section#article-list ul.category-list li {
        margin-right: 6px;
        width: calc((100% - 12px) / 2); }
        body.works section#article-list ul.category-list li:nth-child(2n) {
          margin-right: 0; } }
    body.works section#article-list ul.category-list li a {
      display: block;
      padding: 15px 0; }
    body.works section#article-list ul.category-list li.active {
      background-color: #222222;
      border: 2px solid #222222;
      color: white; }
      body.works section#article-list ul.category-list li.active:before, body.works section#article-list ul.category-list li.active:after {
        content: "";
        display: block;
        position: absolute; }
      body.works section#article-list ul.category-list li.active:before {
        background-color: white;
        left: -2px;
        top: -2px;
        height: 17px;
        width: 17px; }
        @media only screen and (max-width: 767px) {
          body.works section#article-list ul.category-list li.active:before {
            left: -3px;
            top: -3px;
            height: 15px;
            width: 15px; } }
      body.works section#article-list ul.category-list li.active:after {
        background-image: url("../images/works/step_det.svg");
        background-size: 36px 36px;
        top: -16px;
        left: -26px;
        height: 36px;
        width: 36px; }
        @media only screen and (max-width: 767px) {
          body.works section#article-list ul.category-list li.active:after {
            background-image: url("../images/works/step_det_sp.svg");
            background-size: 24px 36px;
            top: -23px;
            left: -16px;
            height: 36px;
            width: 24px; } }
  body.works section#article-list ul.category-list _:lang(x)::-ms-backdrop, body.works section#article-list ul.category-list li a {
    padding-top: 17px; }

body.works section#article-list ul.works-list {
  margin-bottom: 33px;
  -webkit-justify-content: flex-start;
  justify-content: flex-start; }
  @media only screen and (max-width: 767px) {
    body.works section#article-list ul.works-list {
      margin-bottom: 27px; } }
  body.works section#article-list ul.works-list li {
    margin-bottom: 60px;
    width: calc((100% - 64px)/3); }
    @media only screen and (min-width: 768px) {
      body.works section#article-list ul.works-list li {
        cursor: pointer;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s; }
        body.works section#article-list ul.works-list li:hover {
          opacity: .7; } }
    @media only screen and (min-width: 768px) {
      body.works section#article-list ul.works-list li {
        margin-right: 32px; }
        body.works section#article-list ul.works-list li:nth-child(3n) {
          margin-right: 0; } }
    @media only screen and (max-width: 767px) {
      body.works section#article-list ul.works-list li {
        margin-bottom: 40px;
        width: 100%; } }
    body.works section#article-list ul.works-list li .imager {
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      padding-bottom: 100%;
      position: relative;
      height: 0;
      width: 100%; }
      body.works section#article-list ul.works-list li .imager:before {
        background-image: url("../images/works/mask.png");
        background-size: 10px 100%;
        background-repeat: repeat-x;
        content: "";
        margin: 0 auto;
        position: absolute;
        left: 0;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        height: 100%;
        width: 100%; }
      body.works section#article-list ul.works-list li .imager .slide-ttl {
        background-color: rgba(34, 34, 34, 0.7);
        color: white;
        padding: 15px 16px 0 16px;
        position: absolute;
        right: 0;
        bottom: 0;
        text-align: center;
        height: 50px;
        width: 100%;
        /* IE11  */ }
        body.works section#article-list ul.works-list li .imager .slide-ttl .rotate {
          overflow: hidden;
          text-align: left;
          width: 100%; }
        body.works section#article-list ul.works-list li .imager .slide-ttl .tag {
          text-transform: uppercase;
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: 0.05em;
          margin-bottom: 20px; }
        body.works section#article-list ul.works-list li .imager .slide-ttl _:lang(x)::-ms-backdrop, body.works section#article-list ul.works-list li .imager .slide-ttl .tag {
          transform: rotate(0); }
      body.works section#article-list ul.works-list li .imager .read-more {
        position: absolute;
        bottom: 65px;
        right: 15px; }
    body.works section#article-list ul.works-list li .text {
      margin-top: 18px;
      /* IE11  */ }
      @media only screen and (max-width: 767px) {
        body.works section#article-list ul.works-list li .text {
          margin-top: 15px; } }
      body.works section#article-list ul.works-list li .text .aticle-ttl {
        font-size: 20px;
        font-size: 2rem;
        font-weight: bold;
        letter-spacing: 0.05em;
        line-height: 34px;
        margin-bottom: 7px;
        overflow: hidden;
        height: 64px; }
        @media only screen and (max-width: 767px) {
          body.works section#article-list ul.works-list li .text .aticle-ttl {
            display: block;
            margin-right: 0; } }
      body.works section#article-list ul.works-list li .text .aticle-text {
        font-size: 17px;
        font-size: 1.7rem;
        letter-spacing: 0.1em;
        line-height: 1.86;
        opacity: .6; }
        @media only screen and (max-width: 767px) {
          body.works section#article-list ul.works-list li .text .aticle-text {
            font-size: 15px;
            font-size: 1.5rem; } }
      body.works section#article-list ul.works-list li .text _:lang(x)::-ms-backdrop, body.works section#article-list ul.works-list li .text .aticle-ttl {
        overflow: hidden;
        height: 17px; }
      body.works section#article-list ul.works-list li .text _:lang(x)::-ms-backdrop, body.works section#article-list ul.works-list li .text .aticle-text {
        overflow: hidden;
        height: 55px; }
      @supports (-webkit-line-clamp: 2) {
        body.works section#article-list ul.works-list li .text .aticle-ttl {
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical; } }
      @supports (-webkit-line-clamp: 2) {
        body.works section#article-list ul.works-list li .text .aticle-text {
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical; } }

body.works.works-single section#content .inner {
  padding: 170px 40px 160px;
  position: relative;
  text-align: center;
  max-width: 1000px; }
  @media only screen and (max-width: 767px) {
    body.works.works-single section#content .inner {
      padding: 86px 16px 118px; } }

body.works.works-single .det2 {
  left: -184px;
  top: 55px;
  width: 184px;
  z-index: 3; }

body.works.works-single .det3 {
  right: -180px;
  top: 56px;
  width: 80px;
  z-index: 3; }
  @media only screen and (max-width: 1360px) {
    body.works.works-single .det3 {
      right: 0; } }

body.works.works-single .single-ttl {
  font-size: 30px;
  font-size: 3rem;
  letter-spacing: 0.1em;
  line-height: 1.58;
  font-weight: bold;
  margin-bottom: 78px;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    body.works.works-single .single-ttl {
      font-size: 24px;
      font-size: 2.4rem;
      margin-bottom: 40px; } }

body.works.works-single .ttl-02 {
  margin-bottom: 40px; }
  @media only screen and (max-width: 767px) {
    body.works.works-single .ttl-02 {
      margin-bottom: 25px; } }

body.works.works-single .table1 {
  margin-bottom: 76px;
  max-width: 854px;
  width: 100%;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  @media only screen and (max-width: 767px) {
    body.works.works-single .table1 {
      margin-bottom: 34px; } }
  body.works.works-single .table1 li.item {
    margin: 0 27px 24px;
    width: 328px; }
    @media only screen and (min-width: 768px) {
      body.works.works-single .table1 li.item:nth-child(odd) {
        margin-left: 0; } }
    @media only screen and (max-width: 767px) {
      body.works.works-single .table1 li.item {
        margin: 0 auto;
        width: 100%; } }
    body.works.works-single .table1 li.item .table1-ttl {
      background-color: #eceff2;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.4;
      font-weight: bold;
      letter-spacing: 0.04em;
      padding: 12px 6px 12px;
      width: 164px; }
      @media only screen and (max-width: 767px) {
        body.works.works-single .table1 li.item .table1-ttl {
          padding-left: 16px;
          text-align: left;
          width: 100%; } }
    body.works.works-single .table1 li.item _:lang(x)::-ms-backdrop, body.works.works-single .table1 li.item .table1-ttl {
      padding-top: 18px; }
    body.works.works-single .table1 li.item .table1-content {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.4;
      letter-spacing: 0.04em;
      padding: 12px 6px 12px 15px;
      text-align: left;
      width: 164px; }
    body.works.works-single .table1 li.item _:lang(x)::-ms-backdrop, body.works.works-single .table1 li.item .table1-content {
      padding-top: 14px; }

body.works.works-single .main-text {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 2.13;
  letter-spacing: 0.1em;
  margin-bottom: 72px;
  text-align: justify; }
  @media only screen and (max-width: 767px) {
    body.works.works-single .main-text {
      margin-bottom: 52px; } }

body.works.works-single .graph-picture {
  margin-bottom: 78px; }
  @media only screen and (max-width: 767px) {
    body.works.works-single .graph-picture {
      margin-bottom: 40px; } }
  body.works.works-single .graph-picture.zoom-in {
    margin: 22px auto 0;
    width: 82px; }

body.works.works-single .slide-content {
  display: none; }

body.works.works-single .table2 {
  border-collapse: collapse;
  margin-bottom: 120px;
  width: 100%; }
  @media only screen and (max-width: 767px) {
    body.works.works-single .table2 {
      margin-bottom: 0; } }
  @media only screen and (min-width: 768px) {
    body.works.works-single .table2 tr:nth-child(odd) {
      background-color: #EFEFEF; }
      body.works.works-single .table2 tr:nth-child(odd) td {
        background-color: #EFEFEF; }
    body.works.works-single .table2 tr:first-child {
      background-color: #677D97; } }
  @media only screen and (max-width: 767px) {
    body.works.works-single .table2 tr:nth-child(even) td, body.works.works-single .table2 tr:nth-child(even) th {
      background-color: #EFEFEF; }
    body.works.works-single .table2 tr:nth-child(1) td, body.works.works-single .table2 tr:nth-child(2) td {
      padding-right: 0;
      text-align: center; }
      body.works.works-single .table2 tr:nth-child(1) td:before, body.works.works-single .table2 tr:nth-child(2) td:before {
        display: none; } }
  body.works.works-single .table2 tr th {
    background-color: #677D97;
    color: white;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    text-align: center;
    height: 60px;
    vertical-align: middle;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
    @media only screen and (min-width: 768px) {
      body.works.works-single .table2 tr th:nth-child(1), body.works.works-single .table2 tr th:nth-child(2) {
        border-right: 1px solid white; } }
    @media only screen and (max-width: 767px) {
      body.works.works-single .table2 tr th {
        background-color: white;
        border-right: 1px solid #EFEFEF;
        color: #222222;
        font-weight: normal;
        padding: 12px 0;
        height: auto;
        width: 55%; } }
  body.works.works-single .table2 tr td {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
    position: relative;
    text-align: center;
    vertical-align: middle; }
    @media only screen and (min-width: 768px) {
      body.works.works-single .table2 tr td {
        min-height: 50px;
        padding: 13px 0; }
        body.works.works-single .table2 tr td:nth-child(1), body.works.works-single .table2 tr td:nth-child(2) {
          border-right: 1px solid #EFEFEF; }
        body.works.works-single .table2 tr td:nth-child(1):before, body.works.works-single .table2 tr td:nth-child(2):before, body.works.works-single .table2 tr td:nth-child(3):before {
          display: none; } }
    @media only screen and (max-width: 767px) {
      body.works.works-single .table2 tr td {
        padding-right: 60px;
        text-align: right; } }
    body.works.works-single .table2 tr td:before {
      background-image: url("../images/works/arrow.svg");
      background-size: 6px 8px;
      content: "";
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      height: 8px;
      width: 6px; }
      @media only screen and (max-width: 767px) {
        body.works.works-single .table2 tr td:before {
          left: auto;
          right: 44px; } }
    body.works.works-single .table2 tr td _:lang(x)::-ms-backdrop, body.works.works-single .table2 tr td:before {
      top: 20px;
      transform: translateY(0%); }

body.works.works-single .slidebox-list li:first-child .slide-content {
  display: block; }

body.works.works-single .slide-box {
  margin-bottom: 8px; }

body.works.works-single .slide-box-ttl {
  background-color: #677D97;
  color: white;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.5;
  padding: 16px 0 16px 24px;
  position: relative;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  body.works.works-single .slide-box-ttl:before {
    background-image: url("../images/common/arrow_up_white.png");
    background-size: 18px 11px;
    content: "";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
    height: 11px;
    width: 18px; }
  body.works.works-single .slide-box-ttl.active:before {
    transform: translateY(-50%); }
.core-value {
  width: 100%;
  text-align: center;
}
.core-value-content {
  margin: 0 auto;
    display: inline-block;
    padding: 30px 30px 60px 30px;
    box-sizing: border-box;
    background: #fff;
    font-size: 2.4rem;
    line-height: 1.5;
    font-weight: bold;
    text-align: left;
    max-width: calc(100% - 30px);
}

.core-value p {
  margin-top: 30px;
  font-size: 2rem;
  font-weight: 400;
}

@media only screen and (max-width: 767px) {
  .core-value-content { 
    padding: 16px 16px 32px 16px;
    font-size: 2rem;
  }

  body.about section#outline .content .text .logos li:first-child {
    display: flex;
    align-items: center;
  }

  body.about section#outline .content .text .logos li:last-child img {
    width: 100%
  }
}

body.member section#member-list .inner .det3 {
  position: absolute;
  top: -125px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
  width: 100%;
  text-align: center;
}

body.member section#member-list .inner .det3 a {
  display: inline-block;
  width: 387px;
}

body.member section#member-list .inner .det3 a:hover {
  opacity: 0.7;
}

body.member section#member-list .inner .det3 img {
  width: 100%;
}

body.recruit section#recruitment .wantedlyImg a {
  width: 387px;
  display: inline-block;
}

body.recruit section#recruitment .wantedlyImg a:hover {
  opacity: 0.7;
}

@media only screen and (max-width: 767px) {
  body.member section#member-list .inner .det3 {
    top: -70px;
    height: initial;
    
  }

  body.member section#member-list .inner .det3 a {
    width: 200px;
  }

  body.recruit section#recruitment .wantedlyImg {
    text-align: center;
  }

  body.recruit section#recruitment .wantedlyImg a {
    width: 200px;
  }
}