@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: 15px 15px;
  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: 0.7; }

.hamburger-box {
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 40px;
    height: 4px;
    background-color: #000;
    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: 80px; }

.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: 80px; }

.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: 80px; }

.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: 80px; }

.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(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); }

.hamburger--arrow.is-active .hamburger-inner::after {
  transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); }

/*
   * Arrow Right
   */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); }

.hamburger--arrow-r.is-active .hamburger-inner::after {
  transform: translate3d(8px, 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(-8px, -10px, 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(-8px, 10px, 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(8px, -10px, 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(8px, 10px, 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: 2px;
  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: 2px;
  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: -80px;
      top: -80px;
      transform: translate3d(80px, 80px, 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: -80px;
      top: -80px;
      transform: translate3d(-80px, 80px, 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: -80px;
      top: 80px;
      transform: translate3d(80px, -80px, 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: -80px;
      top: 80px;
      transform: translate3d(-80px, -80px, 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: 2px; }
  .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(-5.71429px, -6px, 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: 2px; }
  .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(5.71429px, -6px, 0);
    opacity: 0; }
  .hamburger--slider-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(90deg); }

/*
   * Spring
   */
.hamburger--spring .hamburger-inner {
  top: 2px;
  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; }

@font-face {
  font-family: 'Times New Roman';
  src: url("../fonts/times new roman.ttf") format("truetype");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: 'Times New Roman';
  src: url("../fonts/times new roman italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic; }

@font-face {
  font-family: 'Times New Roman';
  src: url("../fonts/times new roman bold.ttf") format("truetype");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'Times New Roman';
  src: url("../fonts/times new roman bold italic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic; }

@font-face {
  font-family: 'Futura';
  src: url("../fonts/Futura Medium Italic font.ttf") format("truetype");
  font-weight: 500;
  font-style: italic; }

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

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important; } }

html {
  font-size: 62.5%;
  font-family: "游ゴシック", 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;
  transition: .3s; }
  a:hover {
    opacity: 0.7; }

.inner {
  max-width: 1100px;
  padding: 0 50px;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    .inner {
      padding: 0 20px; } }

.wrap {
  padding-top: 50px; }
  @media only screen and (max-width: 767px) {
    .wrap {
      padding-top: 0;
      overflow: hidden; } }

@media only screen and (min-width: 768px) {
  .casestudy-archive {
    border-top: #eee solid 1px;
    padding-top: 70px; } }

@media only screen and (max-width: 767px) {
  .casestudy-archive {
    padding-top: 40px; } }

.contact-link {
  background: #cccccc;
  padding: 65px 0 192px; }
  @media only screen and (max-width: 767px) {
    .contact-link {
      padding: 36px 10px 60px; } }
  .contact-link p {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.83333;
    letter-spacing: .025em; }
    @media only screen and (max-width: 767px) {
      .contact-link p {
        font-size: 10px;
        font-size: 1rem;
        line-height: 1.8;
        text-align: center;
        white-space: nowrap; } }
  .contact-link__btn {
    height: 148px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
    font-size: 26px;
    font-size: 2.6rem;
    letter-spacing: .1em;
    background: #fff;
    margin: 42px 0 0; }
    @media only screen and (max-width: 767px) {
      .contact-link__btn {
        height: 87px;
        font-size: 16px;
        font-size: 1.6rem;
        margin: 14px 0 0; } }

.footer {
  padding: 78px 0; }
  @media only screen and (max-width: 767px) {
    .footer {
      padding: 80px 0 16px; } }
  .footer .inner {
    position: relative;
    padding-bottom: 10px; }
    @media only screen and (max-width: 767px) {
      .footer .inner {
        padding-bottom: 3px; } }
  .footer__logo {
    display: block;
    width: 108px;
    margin: 0 auto 110px; }
    @media only screen and (max-width: 767px) {
      .footer__logo {
        width: 55px;
        margin: 0 auto 52px; } }
  .footer .copyright {
    text-align: center;
    font-size: 11px;
    font-size: 1.1rem;
    letter-spacing: .2em;
    color: #444444; }
    @media only screen and (max-width: 767px) {
      .footer .copyright {
        font-size: 10px;
        font-size: 1rem; } }
  .footer .insta {
    display: block;
    width: 32px;
    position: absolute;
    right: 50px;
    bottom: 0; }
    @media only screen and (max-width: 767px) {
      .footer .insta {
        width: 18px;
        right: 10px; } }

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background: #fff;
  z-index: 99; }
  .header .inner {
    height: 100%; }
    @media only screen and (min-width: 768px) {
      .header .inner {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center; } }
  @media only screen and (max-width: 767px) {
    .header {
      background: none; } }
  .header__logo {
    width: 132px;
    display: block;
    margin-right: 20px; }
    @media only screen and (max-width: 767px) {
      .header__logo {
        width: 28px;
        margin: 0;
        position: absolute;
        top: 15px;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
        -moz-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
        -o-transform: translate(-50%, 0);
        transform: translate(-50%, 0); } }
    @media only screen and (max-width: 767px) {
      .header__logo img {
        position: absolute;
        top: 0;
        left: 0;
        transition: .3s; } }
    @media only screen and (max-width: 767px) {
      .header__logo img.beg {
        opacity: 0; } }
  .header__title {
    font-size: 10px;
    font-size: 1rem;
    color: #444444; }
  .header .gnav {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    display: -webkit-flex;
    display: flex;
    visibility: hidden;
    opacity: 0;
    transition: .3s; }
    .header .gnav.is-active {
      opacity: 1;
      visibility: visible; }
    .header .gnav__image {
      width: 50%;
      height: 100vh; }
      @media only screen and (max-width: 767px) {
        .header .gnav__image {
          display: none; } }
      .header .gnav__image .text {
        position: absolute;
        top: 36.4vh;
        left: 11.5vw;
        color: #fff;
        z-index: +1; }
        .header .gnav__image .text strong {
          font-size: 44px;
          font-size: 4.4rem;
          letter-spacing: .2em;
          line-height: 1.5454;
          font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
          display: block;
          margin: 0 0 20px; }
        .header .gnav__image .text small {
          font-size: 18px;
          font-size: 1.8rem;
          letter-spacing: .2em; }
      .header .gnav__image .slider {
        width: 50vw;
        height: 100vh; }
        .header .gnav__image .slider .slide {
          height: 100vh; }
    .header .gnav__text {
      width: 50%;
      height: 100vh;
      background: #fff;
      padding: 12vh 7vw; }
      @media only screen and (max-width: 1300px) {
        .header .gnav__text {
          padding: 12vh 5vw; } }
      @media only screen and (max-width: 767px) {
        .header .gnav__text {
          width: 100%;
          padding: 0 40px 20px;
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
          align-items: center;
          -webkit-justify-content: center;
          justify-content: center;
          -webkit-flex-direction: column;
          flex-direction: column;
          overflow: scroll; } }
      @media only screen and (max-width: 767px) {
        .header .gnav__text ul {
          width: 100%; } }
      .header .gnav__text ul li {
        margin: 0 0 40px; }
        @media only screen and (max-width: 1300px) {
          .header .gnav__text ul li {
            margin: 0 0 25px; } }
        .header .gnav__text ul li a {
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: flex-end;
          align-items: flex-end;
          -webkit-justify-content: space-between;
          justify-content: space-between;
          color: #666666; }
          .header .gnav__text ul li a strong {
            font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
            font-size: 24px;
            font-size: 2.4rem;
            letter-spacing: .1em;
            line-height: 1.2; }
            @media only screen and (max-width: 1300px) {
              .header .gnav__text ul li a strong {
                font-size: 20px;
                font-size: 2rem; } }
            @media only screen and (max-width: 767px) {
              .header .gnav__text ul li a strong {
                font-size: 15px;
                font-size: 1.5rem; } }
          .header .gnav__text ul li a small {
            font-size: 16px;
            font-size: 1.6rem;
            letter-spacing: .1em;
            font-family: "Times New Roman", serif; }
            @media only screen and (max-width: 767px) {
              .header .gnav__text ul li a small {
                font-size: 13px;
                font-size: 1.3rem; } }
      .header .gnav__text .insta {
        display: block;
        width: 32px;
        margin-left: auto;
        margin-top: 76px; }
        @media only screen and (max-width: 767px) {
          .header .gnav__text .insta {
            margin-top: 0; } }
  .header .gnav-toggle {
    position: fixed;
    top: 0;
    right: 10px;
    z-index: +1; }
    @media only screen and (max-width: 767px) {
      .header .gnav-toggle {
        right: auto;
        left: 0px; } }
    .header .gnav-toggle.is-active .hamburger-box .hamburger-inner {
      background-color: transparent !important; }
      .header .gnav-toggle.is-active .hamburger-box .hamburger-inner:before {
        top: 0;
        background: #c29b60; }
      .header .gnav-toggle.is-active .hamburger-box .hamburger-inner:after {
        bottom: 0;
        width: 30px;
        background: #c29b60; }
    .header .gnav-toggle .hamburger-box {
      width: 30px;
      height: 18px; }
      .header .gnav-toggle .hamburger-box .hamburger-inner {
        width: 30px;
        height: 1px;
        border-radius: 0;
        margin: 0; }
        @media only screen and (max-width: 767px) {
          .header .gnav-toggle .hamburger-box .hamburger-inner {
            background: #fff; } }
        .header .gnav-toggle .hamburger-box .hamburger-inner:before {
          width: 30px;
          height: 1px;
          border-radius: 0;
          top: -8px; }
          @media only screen and (max-width: 767px) {
            .header .gnav-toggle .hamburger-box .hamburger-inner:before {
              background: #fff; } }
        .header .gnav-toggle .hamburger-box .hamburger-inner:after {
          width: 23px;
          height: 1px;
          border-radius: 0;
          bottom: -8px; }
          @media only screen and (max-width: 767px) {
            .header .gnav-toggle .hamburger-box .hamburger-inner:after {
              background: #fff; } }
  @media only screen and (max-width: 767px) {
    .header.change .header__logo img.beg {
      opacity: 1; } }
  @media only screen and (max-width: 767px) {
    .header.change .header__logo img.wht {
      opacity: 0; } }
  @media only screen and (max-width: 767px) {
    .header.change .gnav-toggle .hamburger-box .hamburger-inner {
      background: #c29b60; } }
  @media only screen and (max-width: 767px) {
    .header.change .gnav-toggle .hamburger-box .hamburger-inner:before {
      background: #c29b60; } }
  @media only screen and (max-width: 767px) {
    .header.change .gnav-toggle .hamburger-box .hamburger-inner:after {
      background: #c29b60; } }

.casestudy .ttl02 {
  margin-bottom: 135px; }
  @media only screen and (max-width: 767px) {
    .casestudy .ttl02 {
      margin-bottom: 32px; } }

.casestudy__list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  @media only screen and (max-width: 767px) {
    .casestudy__list {
      margin: 0 -20px; } }
  .casestudy__list li {
    width: 46.2%;
    margin-bottom: 60px; }
    @media only screen and (max-width: 767px) {
      .casestudy__list li {
        width: 50%;
        margin-bottom: 34px; } }
    .casestudy__list li a {
      display: block; }
      .casestudy__list li a .img-wrap {
        overflow: hidden; }
        .casestudy__list li a .img-wrap .img {
          transition: .3s; }
        .casestudy__list li a .img-wrap:hover .img {
          -webkit-transform: scale(1.1);
          -moz-transform: scale(1.1);
          -ms-transform: scale(1.1);
          -o-transform: scale(1.1);
          transform: scale(1.1); }
      .casestudy__list li a .text {
        margin-top: 20px; }
        @media only screen and (max-width: 767px) {
          .casestudy__list li a .text {
            margin-top: 12px;
            padding: 0 10px; } }
        .casestudy__list li a .text h3 {
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
          align-items: center;
          color: #444444;
          white-space: nowrap; }
          @media only screen and (max-width: 767px) {
            .casestudy__list li a .text h3 {
              -webkit-flex-direction: column;
              flex-direction: column;
              -webkit-align-items: flex-start;
              align-items: flex-start; } }
          .casestudy__list li a .text h3 strong {
            display: block;
            margin-right: 20px;
            font-size: 18px;
            font-size: 1.8rem;
            letter-spacing: .2em;
            font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif; }
            @media only screen and (max-width: 767px) {
              .casestudy__list li a .text h3 strong {
                order: 2;
                font-size: 12px;
                font-size: 1.2rem;
                letter-spacing: .075em;
                font-feature-settings: "palt";
                margin-right: 0; } }
          .casestudy__list li a .text h3 small {
            font-size: 10px;
            font-size: 1rem;
            letter-spacing: .075em;
            font-family: "Times New Roman", serif; }
            @media only screen and (max-width: 767px) {
              .casestudy__list li a .text h3 small {
                order: 1;
                margin: 0 0 5px; } }
        .casestudy__list li a .text p {
          color: #444444;
          letter-spacing: .075em;
          font-size: 10px;
          font-size: 1rem;
          line-height: 1.77;
          margin-top: 16px;
          font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif; }
          @media only screen and (max-width: 767px) {
            .casestudy__list li a .text p {
              margin-top: 8px;
              letter-spacing: .025em;
              line-height: 1.5; } }
    .casestudy__list li.vertical {
      margin-top: -72px; }
      @media only screen and (max-width: 767px) {
        .casestudy__list li.vertical {
          margin-top: 0; } }
      .casestudy__list li.vertical a {
        max-width: 290px; }
        @media only screen and (max-width: 767px) {
          .casestudy__list li.vertical a {
            max-width: none; } }
    .casestudy__list li.mt0 {
      margin-top: 0; }
    .casestudy__list li.beside a {
      max-width: 435px; }
    .casestudy__list li.right a {
      margin-left: auto; }
    .casestudy__list li.left a {
      margin-right: auto; }

@media only screen and (min-width: 768px) {
  body.header-change .header {
    border-bottom: 1px solid #ccc; } }

@media only screen and (max-width: 767px) {
  body.header-change .header__logo img.beg {
    opacity: 1; } }

@media only screen and (max-width: 767px) {
  body.header-change .header__logo img.wht {
    opacity: 0; } }

@media only screen and (max-width: 767px) {
  body.header-change .header .gnav-toggle.is-active .hamburger-box .hamburger-inner:before {
    background: #c29b60; } }

@media only screen and (max-width: 767px) {
  body.header-change .header .gnav-toggle.is-active .hamburger-box .hamburger-inner:after {
    background: #c29b60; } }

@media only screen and (max-width: 767px) {
  body.header-change .header .gnav-toggle .hamburger-box .hamburger-inner {
    background: #c29b60; } }

@media only screen and (max-width: 767px) {
  body.header-change .header .gnav-toggle .hamburger-box .hamburger-inner:before {
    background: #c29b60; } }

@media only screen and (max-width: 767px) {
  body.header-change .header .gnav-toggle .hamburger-box .hamburger-inner:after {
    background: #c29b60; } }

.img-wrap {
  overflow: hidden; }
  .img-wrap .img {
    transition: .3s; }

.fadeUp {
  opacity: 0;
  transition: .6s;
  -webkit-transform: translate(0, 60px);
  -moz-transform: translate(0, 60px);
  -ms-transform: translate(0, 60px);
  -o-transform: translate(0, 60px);
  transform: translate(0, 60px);
  transition-delay: .2s; }
  @media only screen and (max-width: 767px) {
    .fadeUp {
      -webkit-transform: translate(0, 30px);
      -moz-transform: translate(0, 30px);
      -ms-transform: translate(0, 30px);
      -o-transform: translate(0, 30px);
      transform: translate(0, 30px); } }
  .fadeUp.is-active {
    opacity: 1;
    -webkit-transform: translate(0, 0px);
    -moz-transform: translate(0, 0px);
    -ms-transform: translate(0, 0px);
    -o-transform: translate(0, 0px);
    transform: translate(0, 0px); }
  .fadeUp.delay {
    transition-delay: .6s; }

.fade {
  opacity: 0;
  transition: 1.8s; }
  .fade.is-active {
    opacity: 1; }

.mv {
  height: calc(100vh - 50px); }
  @media only screen and (max-width: 767px) {
    .mv {
      height: 100vh; } }
  .mv .inner {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-direction: column;
    flex-direction: column;
    height: 100%; }
    @media only screen and (max-width: 767px) {
      .mv .inner {
        -webkit-justify-content: flex-end;
        justify-content: flex-end;
        padding-bottom: 120px; } }
  .mv .eachTextAnime span {
    opacity: 0; }
  .mv .eachTextAnime.appeartext span {
    animation: text_anime_on 1s ease-out forwards; }

@keyframes text_anime_on {
  0% {
    opacity: 0;
    -ms-filter: blur(6px);
    filter: blur(6px); }
  100% {
    opacity: 1;
    -ms-filter: blur(0px);
    filter: blur(0px); } }
  .mv__text {
    color: #fff; }
    .mv__text strong {
      font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
      font-size: 44px;
      font-size: 4.4rem;
      letter-spacing: .2em;
      line-height: 1.5454;
      display: block; }
      @media only screen and (max-width: 767px) {
        .mv__text strong {
          font-size: 21px;
          font-size: 2.1rem;
          line-height: 1.714;
          white-space: nowrap; } }
      .mv__text strong span {
        opacity: 0; }
      .mv__text strong.appeartext span {
        animation: text_anime_on 1s ease-out forwards; }
    .mv__text small {
      font-size: 18px;
      font-size: 1.8rem;
      letter-spacing: .3em;
      margin-top: 104px;
      display: block;
      font-family: "Futura", sans-serif;
      font-style: italic; }
      @media only screen and (max-width: 767px) {
        .mv__text small {
          font-size: 12px;
          font-size: 1.2rem;
          letter-spacing: .2em;
          margin-top: 18px; } }

.side-text-wrap {
  position: absolute;
  top: 72px;
  left: 52px;
  height: 100%; }
  @media only screen and (max-width: 1100px) {
    .side-text-wrap {
      display: none; } }

.side-text {
  position: sticky;
  top: 100px; }
  .side-text span {
    font-size: 10px;
    font-size: 1rem;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: block;
    letter-spacing: .025em;
    margin: 0 0 20px; }

.content-wrap {
  position: relative; }

@media only screen and (max-width: 767px) {
  .ttl02 {
    text-align: center; } }

.ttl02 small {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: .2em;
  display: block;
  margin: 0 0 40px;
  font-family: "Times New Roman", serif; }
  @media only screen and (max-width: 767px) {
    .ttl02 small {
      font-size: 11px;
      font-size: 1.1rem;
      margin: 0 0 12px; } }

.ttl02 h2 {
  font-size: 32px;
  font-size: 3.2rem;
  letter-spacing: .1em;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif; }
  @media only screen and (max-width: 767px) {
    .ttl02 h2 {
      font-size: 21px;
      font-size: 2.1rem; } }

.text01 {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
  color: #444444;
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: .025em;
  line-height: 1.999; }
  @media only screen and (max-width: 767px) {
    .text01 {
      text-align: center;
      font-size: 10px;
      font-size: 1rem;
      line-height: 1.8; } }

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

.vegas-wrapper,
.vegas-overlay,
.vegas-timer,
.vegas-slide,
.vegas-slide-inner {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow: hidden;
  border: none;
  padding: 0;
  margin: 0; }

.vegas-overlay {
  opacity: .5;
  background: transparent url("overlays/02.png") center center repeat; }

.vegas-timer {
  top: auto;
  bottom: 0;
  height: 2px; }

.vegas-timer-progress {
  width: 0%;
  height: 100%;
  background: white;
  transition: width ease-out; }

.vegas-timer-running .vegas-timer-progress {
  width: 100%; }

.vegas-slide,
.vegas-slide-inner {
  margin: 0;
  padding: 0;
  background: transparent center center no-repeat;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform, opacity; }

body .vegas-container {
  overflow: hidden !important;
  position: relative; }

.vegas-video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto; }

body.vegas-container {
  overflow: auto;
  position: static;
  z-index: -2; }

body.vegas-container > .vegas-timer,
body.vegas-container > .vegas-overlay,
body.vegas-container > .vegas-slide {
  position: fixed;
  z-index: -1; }

/* Target Safari IOS7+ in order to add 76px */
/*******************************************/
/* blur transition */
/*******************************************/
.vegas-transition-blur,
.vegas-transition-blur2 {
  opacity: 0;
  -webkit-filter: blur(32px) brightness(1.01);
  filter: blur(32px) brightness(1.01); }

.vegas-transition-blur-in,
.vegas-transition-blur2-in {
  opacity: 1;
  -webkit-filter: blur(0px) brightness(1.01);
  filter: blur(0px) brightness(1.01); }

.vegas-transition-blur2-out {
  opacity: 0; }

/*******************************************/
/* burn transition */
/*******************************************/
.vegas-transition-burn,
.vegas-transition-burn2 {
  opacity: 0;
  -webkit-filter: contrast(1000%) saturate(1000%);
  filter: contrast(1000%) saturate(1000%); }

.vegas-transition-burn-in,
.vegas-transition-burn2-in {
  opacity: 1;
  -webkit-filter: contrast(100%) saturate(100%);
  filter: contrast(100%) saturate(100%); }

.vegas-transition-burn2-out {
  opacity: 0;
  -webkit-filter: contrast(1000%) saturate(1000%);
  filter: contrast(1000%) saturate(1000%); }

/*******************************************/
/* fade transition */
/*******************************************/
.vegas-transition-fade,
.vegas-transition-fade2 {
  opacity: 0; }

.vegas-transition-fade-in,
.vegas-transition-fade2-in {
  opacity: 1; }

.vegas-transition-fade2-out {
  opacity: 0; }

/*******************************************/
/* flash transition */
/*******************************************/
.vegas-transition-flash,
.vegas-transition-flash2 {
  opacity: 0;
  -webkit-filter: brightness(25);
  filter: brightness(25); }

.vegas-transition-flash-in,
.vegas-transition-flash2-in {
  opacity: 1;
  -webkit-filter: brightness(1);
  filter: brightness(1); }

.vegas-transition-flash2-out {
  opacity: 0;
  -webkit-filter: brightness(25);
  filter: brightness(25); }

/*******************************************/
/* negative transition */
/*******************************************/
.vegas-transition-negative,
.vegas-transition-negative2 {
  opacity: 0;
  -webkit-filter: invert(100%);
  filter: invert(100%); }

.vegas-transition-negative-in,
.vegas-transition-negative2-in {
  opacity: 1;
  -webkit-filter: invert(0);
  filter: invert(0); }

.vegas-transition-negative2-out {
  opacity: 0;
  -webkit-filter: invert(100%);
  filter: invert(100%); }

/*******************************************/
/* slideDown transition */
/*******************************************/
.vegas-transition-slideDown,
.vegas-transition-slideDown2 {
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%); }

.vegas-transition-slideDown-in,
.vegas-transition-slideDown2-in {
  -webkit-transform: translateY(0%);
  transform: translateY(0%); }

.vegas-transition-slideDown2-out {
  -webkit-transform: translateY(100%);
  transform: translateY(100%); }

/*******************************************/
/* slideLeft transition */
/*******************************************/
.vegas-transition-slideLeft,
.vegas-transition-slideLeft2 {
  -webkit-transform: translateX(100%);
  transform: translateX(100%); }

.vegas-transition-slideLeft-in,
.vegas-transition-slideLeft2-in {
  -webkit-transform: translateX(0%);
  transform: translateX(0%); }

.vegas-transition-slideLeft2-out {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%); }

/*******************************************/
/* slideRight transition */
/*******************************************/
.vegas-transition-slideRight,
.vegas-transition-slideRight2 {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%); }

.vegas-transition-slideRight-in,
.vegas-transition-slideRight2-in {
  -webkit-transform: translateX(0%);
  transform: translateX(0%); }

.vegas-transition-slideRight2-out {
  -webkit-transform: translateX(100%);
  transform: translateX(100%); }

/*******************************************/
/* slideUp transition */
/*******************************************/
.vegas-transition-slideUp,
.vegas-transition-slideUp2 {
  -webkit-transform: translateY(100%);
  transform: translateY(100%); }

.vegas-transition-slideUp-in,
.vegas-transition-slideUp2-in {
  -webkit-transform: translateY(0%);
  transform: translateY(0%); }

.vegas-transition-slideUp2-out {
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%); }

/*******************************************/
/* swirlLeft transition */
/*******************************************/
.vegas-transition-swirlLeft,
.vegas-transition-swirlLeft2 {
  -webkit-transform: scale(2) rotate(35deg);
  transform: scale(2) rotate(35deg);
  opacity: 0; }

.vegas-transition-swirlLeft-in,
.vegas-transition-swirlLeft2-in {
  -webkit-transform: scale(1) rotate(0deg);
  transform: scale(1) rotate(0deg);
  opacity: 1; }

.vegas-transition-swirlLeft2-out {
  -webkit-transform: scale(2) rotate(-35deg);
  transform: scale(2) rotate(-35deg);
  opacity: 0; }

/*******************************************/
/* swirlRight transition */
/*******************************************/
.vegas-transition-swirlRight,
.vegas-transition-swirlRight2 {
  -webkit-transform: scale(2) rotate(-35deg);
  transform: scale(2) rotate(-35deg);
  opacity: 0; }

.vegas-transition-swirlRight-in,
.vegas-transition-swirlRight2-in {
  -webkit-transform: scale(1) rotate(0deg);
  transform: scale(1) rotate(0deg);
  opacity: 1; }

.vegas-transition-swirlRight2-out {
  -webkit-transform: scale(2) rotate(35deg);
  transform: scale(2) rotate(35deg);
  opacity: 0; }

/*******************************************/
/* zoomIn transition */
/*******************************************/
.vegas-transition-zoomIn,
.vegas-transition-zoomIn2 {
  -webkit-transform: scale(0);
  transform: scale(0);
  opacity: 0; }

.vegas-transition-zoomIn-in,
.vegas-transition-zoomIn2-in {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1; }

.vegas-transition-zoomIn2-out {
  -webkit-transform: scale(2);
  transform: scale(2);
  opacity: 0; }

/*******************************************/
/* zoomOut transition */
/*******************************************/
.vegas-transition-zoomOut,
.vegas-transition-zoomOut2 {
  -webkit-transform: scale(2);
  transform: scale(2);
  opacity: 0; }

.vegas-transition-zoomOut-in,
.vegas-transition-zoomOut2-in {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1; }

.vegas-transition-zoomOut2-out {
  -webkit-transform: scale(0);
  transform: scale(0);
  opacity: 0; }

/*******************************************/
/* kenburns animation */
/*******************************************/
.vegas-animation-kenburns {
  -webkit-animation: kenburns ease-out;
  animation: kenburns ease-out; }

@-webkit-keyframes kenburns {
  0% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes kenburns {
  0% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

/*******************************************/
/* kenburnsDownLeft animation */
/*******************************************/
.vegas-animation-kenburnsDownLeft {
  -webkit-animation: kenburnsDownLeft ease-out;
  animation: kenburnsDownLeft ease-out; }

@-webkit-keyframes kenburnsDownLeft {
  0% {
    -webkit-transform: scale(1.5) translate(10%, -10%);
    transform: scale(1.5) translate(10%, -10%); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

@keyframes kenburnsDownLeft {
  0% {
    -webkit-transform: scale(1.5) translate(10%, -10%);
    transform: scale(1.5) translate(10%, -10%); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

/*******************************************/
/* kenburnsDownRight animation */
/*******************************************/
.vegas-animation-kenburnsDownRight {
  -webkit-animation: kenburnsDownRight ease-out;
  animation: kenburnsDownRight ease-out; }

@-webkit-keyframes kenburnsDownRight {
  0% {
    -webkit-transform: scale(1.5) translate(-10%, -10%);
    transform: scale(1.5) translate(-10%, -10%); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

@keyframes kenburnsDownRight {
  0% {
    -webkit-transform: scale(1.5) translate(-10%, -10%);
    transform: scale(1.5) translate(-10%, -10%); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

/*******************************************/
/* kenburnsDown animation */
/*******************************************/
.vegas-animation-kenburnsDown {
  -webkit-animation: kenburnsDown ease-out;
  animation: kenburnsDown ease-out; }

@-webkit-keyframes kenburnsDown {
  0% {
    -webkit-transform: scale(1.5) translate(0, -10%);
    transform: scale(1.5) translate(0, -10%); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

@keyframes kenburnsDown {
  0% {
    -webkit-transform: scale(1.5) translate(0, -10%);
    transform: scale(1.5) translate(0, -10%); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

/*******************************************/
/* kenburnsLeft animation */
/*******************************************/
.vegas-animation-kenburnsLeft {
  -webkit-animation: kenburnsLeft ease-out;
  animation: kenburnsLeft ease-out; }

@-webkit-keyframes kenburnsLeft {
  0% {
    -webkit-transform: scale(1.5) translate(10%, 0);
    transform: scale(1.5) translate(10%, 0); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

@keyframes kenburnsLeft {
  0% {
    -webkit-transform: scale(1.5) translate(10%, 0);
    transform: scale(1.5) translate(10%, 0); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

/*******************************************/
/* kenburnsRight animation */
/*******************************************/
.vegas-animation-kenburnsRight {
  -webkit-animation: kenburnsRight ease-out;
  animation: kenburnsRight ease-out; }

@-webkit-keyframes kenburnsRight {
  0% {
    -webkit-transform: scale(1.5) translate(-10%, 0);
    transform: scale(1.5) translate(-10%, 0); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

@keyframes kenburnsRight {
  0% {
    -webkit-transform: scale(1.5) translate(-10%, 0);
    transform: scale(1.5) translate(-10%, 0); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

/*******************************************/
/* kenburnsUpLeft animation */
/*******************************************/
.vegas-animation-kenburnsUpLeft {
  -webkit-animation: kenburnsUpLeft ease-out;
  animation: kenburnsUpLeft ease-out; }

@-webkit-keyframes kenburnsUpLeft {
  0% {
    -webkit-transform: scale(1.5) translate(10%, 10%);
    transform: scale(1.5) translate(10%, 10%); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

@keyframes kenburnsUpLeft {
  0% {
    -webkit-transform: scale(1.5) translate(10%, 10%);
    transform: scale(1.5) translate(10%, 10%); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

/*******************************************/
/* kenburnsUpRight animation */
/*******************************************/
.vegas-animation-kenburnsUpRight {
  -webkit-animation: kenburnsUpRight ease-out;
  animation: kenburnsUpRight ease-out; }

@-webkit-keyframes kenburnsUpRight {
  0% {
    -webkit-transform: scale(1.5) translate(-10%, 10%);
    transform: scale(1.5) translate(-10%, 10%); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

@keyframes kenburnsUpRight {
  0% {
    -webkit-transform: scale(1.5) translate(-10%, 10%);
    transform: scale(1.5) translate(-10%, 10%); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

/*******************************************/
/* kenburnsUp animation */
/*******************************************/
.vegas-animation-kenburnsUp {
  -webkit-animation: kenburnsUp ease-out;
  animation: kenburnsUp ease-out; }

@-webkit-keyframes kenburnsUp {
  0% {
    -webkit-transform: scale(1.5) translate(0, 10%);
    transform: scale(1.5) translate(0, 10%); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

@keyframes kenburnsUp {
  0% {
    -webkit-transform: scale(1.5) translate(0, 10%);
    transform: scale(1.5) translate(0, 10%); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0); } }

body.about main {
  color: #444444; }
  @media only screen and (max-width: 767px) {
    body.about main .top {
      padding: 72px 0 30px; } }
  body.about main .mv {
    background: url(../images/about/mv.jpg) center center/cover no-repeat; }
    @media only screen and (max-width: 767px) {
      body.about main .mv {
        background: url(../images/about/mv_sp.jpg) center center/cover no-repeat; } }
  @media only screen and (max-width: 767px) {
    body.about main section .inner {
      padding: 0 30px; } }
  body.about main h3 {
    font-size: 32px;
    font-size: 3.2rem;
    letter-spacing: .075em;
    line-height: 1.315;
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
    margin: 0 0 52px; }
    @media only screen and (max-width: 767px) {
      body.about main h3 {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.75;
        margin: 0 0 18px; } }
  body.about main p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .025em;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
    @media only screen and (max-width: 767px) {
      body.about main p {
        font-size: 10px;
        font-size: 1rem; } }
  body.about main .read {
    padding: 156px 0 108px; }
    @media only screen and (max-width: 767px) {
      body.about main .read {
        padding: 50px 0 48px; } }
    body.about main .read__box {
      max-width: 662px;
      margin: 0 auto; }
    body.about main .read .img-wrap {
      margin: 120px -50px 0; }
      @media only screen and (max-width: 767px) {
        body.about main .read .img-wrap {
          margin: 48px -10px 0; } }
  body.about main .text-img-01 {
    width: calc(88.46vw + 50px);
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    @media only screen and (max-width: 1300px) {
      body.about main .text-img-01 {
        width: 100%;
        max-width: 1200px; } }
    @media only screen and (max-width: 767px) {
      body.about main .text-img-01 {
        -webkit-flex-direction: column;
        flex-direction: column; } }
    body.about main .text-img-01.right {
      margin-left: auto;
      padding-left: 50px; }
      @media only screen and (max-width: 767px) {
        body.about main .text-img-01.right {
          padding: 0 30px; } }
    body.about main .text-img-01.left {
      padding-right: 50px;
      margin-bottom: 185px; }
      @media only screen and (max-width: 767px) {
        body.about main .text-img-01.left {
          padding: 0 30px;
          margin-bottom: 60px; } }
      body.about main .text-img-01.left .img-area {
        width: 53.2%; }
        @media only screen and (max-width: 767px) {
          body.about main .text-img-01.left .img-area {
            width: 100%; } }
      body.about main .text-img-01.left .text {
        width: 39.13%; }
        @media only screen and (max-width: 767px) {
          body.about main .text-img-01.left .text {
            width: 100%; } }
    body.about main .text-img-01 .text {
      width: 33%; }
      @media only screen and (max-width: 767px) {
        body.about main .text-img-01 .text {
          width: 100%;
          order: 1; } }
    body.about main .text-img-01 .img-area {
      width: 62%; }
      @media only screen and (max-width: 767px) {
        body.about main .text-img-01 .img-area {
          width: 100%;
          order: 2; } }
    body.about main .text-img-01.type02 {
      margin-bottom: 110px; }
      @media only screen and (max-width: 767px) {
        body.about main .text-img-01.type02 {
          margin-bottom: 0; } }
      body.about main .text-img-01.type02 .text {
        width: 41.2%; }
        @media only screen and (max-width: 767px) {
          body.about main .text-img-01.type02 .text {
            width: 100%; } }
      body.about main .text-img-01.type02 .img-area {
        width: 52.17%; }
        @media only screen and (max-width: 767px) {
          body.about main .text-img-01.type02 .img-area {
            width: 100%; } }
    body.about main .text-img-01 .img02 {
      width: 83.333%;
      margin-left: auto;
      margin-top: -20px; }
      @media only screen and (max-width: 767px) {
        body.about main .text-img-01 .img02 {
          width: 94.9%;
          margin: 54px -22px 0 auto; } }
    body.about main .text-img-01 .img03 {
      width: 55.555%;
      margin-top: 50px; }
      @media only screen and (max-width: 767px) {
        body.about main .text-img-01 .img03 {
          width: 63.29%;
          margin-top: 25px;
          margin-left: -22px;
          margin-bottom: 56px; } }
    body.about main .text-img-01 .img05 {
      margin-top: 100px; }
      @media only screen and (max-width: 767px) {
        body.about main .text-img-01 .img05 {
          margin: 78px -30px 65px auto;
          width: 105.6%; } }
    body.about main .text-img-01 .img06 {
      width: 81.69%; }
      @media only screen and (max-width: 767px) {
        body.about main .text-img-01 .img06 {
          width: 94.9%;
          margin: 55px 0 0 -30px; } }
    body.about main .text-img-01 .img07 {
      width: 65.35%;
      margin-left: auto;
      margin-top: 20px; }
      @media only screen and (max-width: 767px) {
        body.about main .text-img-01 .img07 {
          margin: 25px -10px 0 auto;
          width: 63.9%; } }
  body.about main .img-wide {
    width: calc(75.38vw + 50px);
    padding-right: 50px;
    margin: 155px 0 148px; }
    @media only screen and (max-width: 1300px) {
      body.about main .img-wide {
        max-width: 1030px;
        width: 100%; } }
    @media only screen and (max-width: 767px) {
      body.about main .img-wide {
        width: 88.88%;
        padding: 0;
        margin: 55px 0 48px; } }
  body.about main .grey__box {
    background: #eeeeee;
    padding: 68px 172px 90px; }
    @media only screen and (max-width: 767px) {
      body.about main .grey__box {
        margin: 0 -30px;
        padding: 32px 62px 55px; } }
    body.about main .grey__box .ttl small {
      font-size: 11px;
      font-size: 1.1rem;
      letter-spacing: .2em;
      display: block;
      margin: 0 0 34px;
      font-family: "Times New Roman", serif; }
      @media only screen and (max-width: 767px) {
        body.about main .grey__box .ttl small {
          font-size: 10px;
          font-size: 1rem;
          margin: 0 0 14px; } }
    body.about main .grey__box .ttl span {
      font-size: 24px;
      font-size: 2.4rem;
      font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
      letter-spacing: .2em;
      display: block; }
      @media only screen and (max-width: 767px) {
        body.about main .grey__box .ttl span {
          font-size: 21px;
          font-size: 2.1rem;
          letter-spacing: .1em; } }
    body.about main .grey__box .sub-ttl small {
      font-size: 10px;
      font-size: 1rem;
      letter-spacing: .1em;
      display: block;
      margin: 0 0 20px;
      font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif; }
      @media only screen and (max-width: 767px) {
        body.about main .grey__box .sub-ttl small {
          margin: 0 0 6px; } }
    body.about main .grey__box .sub-ttl span {
      font-size: 21px;
      font-size: 2.1rem;
      font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
      letter-spacing: .075em;
      display: block; }
      @media only screen and (max-width: 767px) {
        body.about main .grey__box .sub-ttl span {
          font-size: 14px;
          font-size: 1.4rem; } }
    body.about main .grey__box .img-wrap {
      margin: 75px 0 42px; }
      @media only screen and (max-width: 767px) {
        body.about main .grey__box .img-wrap {
          margin: 42px 0 28px; } }
    body.about main .grey__box .text-2col {
      margin: 55px 0 0;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        body.about main .grey__box .text-2col {
          margin: 14px 0 0;
          display: block; } }
      body.about main .grey__box .text-2col p {
        width: 47.12%;
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: .075em;
        line-height: 1.8333;
        font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
        font-feature-settings: "palt"; }
        @media only screen and (max-width: 767px) {
          body.about main .grey__box .text-2col p {
            width: 100%;
            font-size: 10px;
            font-size: 1rem;
            line-height: 1.75; } }
  body.about main .company {
    padding: 100px 0 150px; }
    @media only screen and (max-width: 767px) {
      body.about main .company {
        padding: 78px 0; } }
    body.about main .company__table {
      max-width: 662px;
      margin: 105px auto 0; }
      @media only screen and (max-width: 767px) {
        body.about main .company__table {
          margin: 56px 0 0; } }
      body.about main .company__table table {
        width: 100%; }
        body.about main .company__table table tr {
          border-bottom: 1px solid #ccc; }
          @media only screen and (max-width: 767px) {
            body.about main .company__table table tr {
              display: block;
              border: none;
              margin: 0 0 28px; } }
          body.about main .company__table table tr th {
            width: 110px;
            font-size: 12px;
            font-size: 1.2rem;
            letter-spacing: .025em;
            line-height: 2;
            padding: 16px 0;
            vertical-align: top; }
            @media only screen and (max-width: 767px) {
              body.about main .company__table table tr th {
                display: block;
                width: 100%;
                font-size: 10px;
                font-size: 1rem;
                padding: 0; } }
          body.about main .company__table table tr td {
            width: calc(100% - 110px);
            font-size: 12px;
            font-size: 1.2rem;
            letter-spacing: .025em;
            line-height: 2;
            padding: 16px 0;
            vertical-align: top; }
            @media only screen and (max-width: 767px) {
              body.about main .company__table table tr td {
                display: block;
                width: 100%;
                font-size: 10px;
                font-size: 1rem;
                line-height: 2.4;
                padding: 0; } }

body.casestudy_archive main .casestudy {
  padding: 70px 0 10px; }

body.casestudy.madocafe .mv {
  background: url(../images/casestudy/madocafe/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.casestudy.madocafe .mv {
      background: url(../images/casestudy/madocafe/mv_sp.jpg) center center/cover no-repeat; } }

body.casestudy.jan .mv {
  background: url(../images/casestudy/jan/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.casestudy.jan .mv {
      background: url(../images/casestudy/jan/mv_sp.jpg) center center/cover no-repeat; } }

body.casestudy.kisaku .mv {
  background: url(../images/casestudy/kisaku/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.casestudy.kisaku .mv {
      background: url(../images/casestudy/kisaku/mv_sp.jpg) center center/cover no-repeat; } }

body.casestudy.aqua .mv {
  background: url(../images/casestudy/aqua/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.casestudy.aqua .mv {
      background: url(../images/casestudy/aqua/mv_sp.jpg) center center/cover no-repeat; } }

body.casestudy.cafedays .mv {
  background: url(../images/casestudy/cafedays/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.casestudy.cafedays .mv {
      background: url(../images/casestudy/cafedays/mv_sp.jpg) center center/cover no-repeat; } }

body.casestudy.vapeur .mv {
  background: url(../images/casestudy/vapeur/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.casestudy.vapeur .mv {
      background: url(../images/casestudy/vapeur/mv_sp.jpg) center center/cover no-repeat; } }

body.casestudy.bankaku .mv {
  background: url(../images/casestudy/bankaku/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.casestudy.bankaku .mv {
      background: url(../images/casestudy/bankaku/mv_sp.jpg) center center/cover no-repeat; } }

body.casestudy.laviedupain .mv {
  background: url(../images/casestudy/laviedupain/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.casestudy.laviedupain .mv {
      background: url(../images/casestudy/laviedupain/mv_sp.jpg) center center/cover no-repeat; } }

body.casestudy.lestempsplus .mv {
  background: url(../images/casestudy/lestempsplus/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.casestudy.lestempsplus .mv {
      background: url(../images/casestudy/lestempsplus/mv_sp.jpg) center center/cover no-repeat; } }

body.casestudy.kurasutopain .mv {
  background: url(../images/casestudy/kurasutopain/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.casestudy.kurasutopain .mv {
      background: url(../images/casestudy/kurasutopain/mv_sp.jpg) center center/cover no-repeat; } }

body.casestudy.un .mv {
  background: url(../images/casestudy/un/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.casestudy.un .mv {
      background: url(../images/casestudy/un/mv_sp.jpg) center center/cover no-repeat; } }

body.casestudy.ichigopan .mv {
  background: url(../images/casestudy/ichigopan/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.casestudy.ichigopan .mv {
      background: url(../images/casestudy/ichigopan/mv_sp.jpg) center center/cover no-repeat; } }

body.casestudy.fleursfleurs .mv {
  background: url(../images/casestudy/fleursfleurs/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.casestudy.fleursfleurs .mv {
      background: url(../images/casestudy/fleursfleurs/mv_sp.jpg) center center/cover no-repeat; } }

body.casestudy .mv__text strong.eachTextAnime {
  font-size: 38px;
  font-size: 3.8rem;
  letter-spacing: 0.1em;
  line-height: 1.789473684; }
  @media only screen and (max-width: 767px) {
    body.casestudy .mv__text strong.eachTextAnime {
      font-size: 18px;
      font-size: 1.8rem;
      letter-spacing: 0.1em;
      line-height: 1.777777778; } }

body.casestudy .mv__text > small.eachTextAnime {
  font-size: 12px;
  font-size: 1.2rem;
  margin-top: 40px; }
  @media only screen and (max-width: 767px) {
    body.casestudy .mv__text > small.eachTextAnime {
      letter-spacing: 0.2em;
      margin-top: 20px; } }

body.casestudy .mv__text .eachTextAnime_btm {
  margin-top: 20px; }
  body.casestudy .mv__text .eachTextAnime_btm .eachTextAnime {
    font-size: 11px;
    font-size: 1.1rem;
    letter-spacing: 0.075em;
    line-height: 1.636363636;
    margin-top: 0;
    font-style: normal; }
    @media only screen and (max-width: 767px) {
      body.casestudy .mv__text .eachTextAnime_btm .eachTextAnime {
        font-size: 10px;
        font-size: 1rem; } }

body.casestudy main {
  position: relative; }

body.casestudy div[class*="caset"] {
  padding-top: 150px; }
  @media only screen and (max-width: 767px) {
    body.casestudy div[class*="caset"] {
      padding-top: 50px; } }
  body.casestudy div[class*="caset"] .ttl {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.075em;
    line-height: 2;
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif; }
    @media only screen and (max-width: 767px) {
      body.casestudy div[class*="caset"] .ttl {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.75; } }
  body.casestudy div[class*="caset"] p {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 2.333333333;
    letter-spacing: 0.075em;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    text-align: justify; }
    @media only screen and (max-width: 767px) {
      body.casestudy div[class*="caset"] p {
        font-size: 10px;
        font-size: 1rem;
        line-height: 2; } }

body.casestudy .caset01 {
  padding-top: 134px !important; }
  @media only screen and (max-width: 767px) {
    body.casestudy .caset01 {
      padding-top: 46px !important; } }
  body.casestudy .caset01 .inner {
    max-width: 760px; }
    @media only screen and (max-width: 767px) {
      body.casestudy .caset01 .inner {
        padding: 0 30px; } }
    body.casestudy .caset01 .inner .ttl {
      font-size: 24px;
      font-size: 2.4rem;
      line-height: 1.666666667;
      letter-spacing: 0.075em;
      margin-bottom: 45px;
      font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif; }
      @media only screen and (max-width: 767px) {
        body.casestudy .caset01 .inner .ttl {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.75;
          margin-bottom: 15px; } }
    body.casestudy .caset01 .inner p {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 2;
      letter-spacing: 0.075em;
      font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
      @media only screen and (max-width: 767px) {
        body.casestudy .caset01 .inner p {
          font-size: 10px;
          font-size: 1rem; } }

@media only screen and (max-width: 767px) {
  body.casestudy .caset02 {
    overflow: hidden; } }

body.casestudy .caset02 .inner {
  padding: 0; }
  @media only screen and (max-width: 767px) {
    body.casestudy .caset02 .inner {
      padding: 0 20px; } }

body.casestudy .caset02.small {
  padding-top: 80px; }
  @media only screen and (max-width: 767px) {
    body.casestudy .caset02.small {
      padding-top: 40px; } }
  body.casestudy .caset02.small .inner {
    max-width: 660px; }

body.casestudy .caset02.right .inner {
  margin: 0 0 0 auto;
  max-width: calc(((100vw - 1100px) / 2) + 880px); }
  @media only screen and (max-width: 767px) {
    body.casestudy .caset02.right .inner {
      position: relative;
      right: -20px; } }

body.casestudy .caset02.left .inner {
  margin: 0 auto 0 0;
  max-width: calc(((100vw - 1100px) / 2) + 880px); }
  @media only screen and (max-width: 767px) {
    body.casestudy .caset02.left .inner {
      position: relative;
      left: -20px; } }

@media only screen and (max-width: 767px) {
  body.casestudy .caset02.center-sp .inner {
    left: auto;
    right: auto; } }

@media only screen and (max-width: 767px) {
  body.casestudy .caset02.right-sp .inner {
    position: relative;
    left: auto;
    right: -20px; } }

@media only screen and (max-width: 767px) {
  body.casestudy .caset02.large .inner {
    padding: 0;
    left: 0; } }

body.casestudy .caset03 {
  display: -webkit-flex;
  display: flex; }
  @media only screen and (max-width: 767px) {
    body.casestudy .caset03 {
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; } }
  body.casestudy .caset03.right {
    -webkit-justify-content: flex-start;
    justify-content: flex-start; }
    @media only screen and (max-width: 767px) {
      body.casestudy .caset03.right {
        -webkit-flex-direction: column-reverse;
        flex-direction: column-reverse; } }
  body.casestudy .caset03.left {
    -webkit-justify-content: flex-end;
    justify-content: flex-end; }
    @media only screen and (max-width: 767px) {
      body.casestudy .caset03.left {
        -webkit-flex-direction: column;
        flex-direction: column; } }
  body.casestudy .caset03 .imgs {
    width: calc(((100vw - 1100px) / 2) + 620px); }
    @media only screen and (max-width: 767px) {
      body.casestudy .caset03 .imgs {
        width: 100%;
        margin-top: 40px; } }
  body.casestudy .caset03 .detail {
    max-width: 480px;
    width: 100%;
    padding: 0 50px 0 50px; }
    @media only screen and (max-width: 1300px) {
      body.casestudy .caset03 .detail {
        max-width: 36.9%; } }
    @media only screen and (max-width: 767px) {
      body.casestudy .caset03 .detail {
        padding: 0 30px;
        max-width: 100%; } }
    body.casestudy .caset03 .detail .ttl {
      margin-bottom: 30px; }
      @media only screen and (max-width: 767px) {
        body.casestudy .caset03 .detail .ttl {
          margin-bottom: 20px; } }

@media only screen and (max-width: 767px) {
  body.casestudy .caset04 .inner {
    padding: 0 30px; } }

body.casestudy .caset04 .ttl {
  margin-bottom: 30px; }
  @media only screen and (max-width: 767px) {
    body.casestudy .caset04 .ttl {
      margin-bottom: 20px; } }

body.casestudy .caset04 .contents {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  @media only screen and (max-width: 767px) {
    body.casestudy .caset04 .contents {
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; } }
  body.casestudy .caset04 .contents > div {
    width: calc((100% - 120px) / 2); }
    @media only screen and (max-width: 767px) {
      body.casestudy .caset04 .contents > div {
        width: 100%; }
        body.casestudy .caset04 .contents > div:nth-child(n + 2) {
          margin-top: 30px; } }

body.casestudy .caset05 {
  display: -webkit-flex;
  display: flex; }
  @media only screen and (max-width: 767px) {
    body.casestudy .caset05 {
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; } }
  body.casestudy .caset05.right {
    -webkit-justify-content: flex-start;
    justify-content: flex-start; }
    @media only screen and (max-width: 767px) {
      body.casestudy .caset05.right {
        -webkit-flex-direction: column-reverse;
        flex-direction: column-reverse; } }
    body.casestudy .caset05.right .detail {
      padding: 0 50px 0 80px; }
      @media only screen and (max-width: 767px) {
        body.casestudy .caset05.right .detail {
          padding: 0 30px; } }
  body.casestudy .caset05.left {
    -webkit-justify-content: flex-end;
    justify-content: flex-end; }
    @media only screen and (max-width: 767px) {
      body.casestudy .caset05.left {
        -webkit-flex-direction: column;
        flex-direction: column; } }
    body.casestudy .caset05.left .detail {
      padding: 0 80px 0 50px; }
      @media only screen and (max-width: 767px) {
        body.casestudy .caset05.left .detail {
          padding: 0 30px; } }
  body.casestudy .caset05 .imgs {
    width: calc(((100vw - 1100px) / 2) + 500px); }
    @media only screen and (max-width: 767px) {
      body.casestudy .caset05 .imgs {
        width: 100%;
        margin-top: 40px; } }
  body.casestudy .caset05 .detail {
    max-width: 600px; }
    @media only screen and (max-width: 1300px) {
      body.casestudy .caset05 .detail {
        max-width: 46.1538462%; } }
    @media only screen and (max-width: 767px) {
      body.casestudy .caset05 .detail {
        max-width: 100%; } }
    body.casestudy .caset05 .detail .ttl {
      margin-bottom: 30px; }
      @media only screen and (max-width: 767px) {
        body.casestudy .caset05 .detail .ttl {
          margin-bottom: 20px; } }

body.casestudy .caset06 .inner {
  max-width: 760px; }
  @media only screen and (max-width: 767px) {
    body.casestudy .caset06 .inner {
      padding: 0 30px; } }
  body.casestudy .caset06 .inner .ttl {
    margin-bottom: 45px; }
    @media only screen and (max-width: 767px) {
      body.casestudy .caset06 .inner .ttl {
        margin-bottom: 15px; } }

body.casestudy .caset07 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  body.casestudy .caset07 > div {
    width: calc((100% - 100px) / 2); }
    @media only screen and (max-width: 767px) {
      body.casestudy .caset07 > div {
        width: 50%; } }

body.casestudy .shop-info {
  margin-top: 150px;
  padding-bottom: 150px; }
  @media only screen and (max-width: 767px) {
    body.casestudy .shop-info {
      margin-top: 50px;
      padding-bottom: 0; } }
  body.casestudy .shop-info-wrap {
    background-color: #eeeeee;
    max-width: 1000px;
    width: calc(100% - 50px);
    margin: 0 auto;
    padding: 70px 0 120px; }
    @media only screen and (max-width: 767px) {
      body.casestudy .shop-info-wrap {
        width: 100%;
        padding: 36px 0 36px; } }
  body.casestudy .shop-info .inner-small {
    max-width: 660px;
    width: calc(100% - 50px);
    margin: 0 auto; }
    @media only screen and (max-width: 767px) {
      body.casestudy .shop-info .inner-small {
        max-width: 250px; } }
    body.casestudy .shop-info .inner-small .ttl02 {
      margin-bottom: 80px; }
      @media only screen and (max-width: 767px) {
        body.casestudy .shop-info .inner-small .ttl02 {
          margin-bottom: 40px; } }
      body.casestudy .shop-info .inner-small .ttl02 small {
        font-size: 11px;
        font-size: 1.1rem;
        margin-bottom: 35px; }
        @media only screen and (max-width: 767px) {
          body.casestudy .shop-info .inner-small .ttl02 small {
            font-size: 10px;
            font-size: 1rem;
            margin-bottom: 10px; } }
      body.casestudy .shop-info .inner-small .ttl02 h2 {
        font-size: 24px;
        font-size: 2.4rem; }
        @media only screen and (max-width: 767px) {
          body.casestudy .shop-info .inner-small .ttl02 h2 {
            font-size: 20px;
            font-size: 2rem; } }
    body.casestudy .shop-info .inner-small .detail {
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: flex-start;
      align-items: flex-start; }
      @media only screen and (max-width: 767px) {
        body.casestudy .shop-info .inner-small .detail {
          -webkit-flex-wrap: wrap;
          flex-wrap: wrap; } }
      body.casestudy .shop-info .inner-small .detail .left {
        width: 38%; }
        @media only screen and (max-width: 767px) {
          body.casestudy .shop-info .inner-small .detail .left {
            width: 100%; } }
      body.casestudy .shop-info .inner-small .detail .right {
        width: 62%;
        padding-left: 60px; }
        @media only screen and (max-width: 767px) {
          body.casestudy .shop-info .inner-small .detail .right {
            width: 100%;
            padding-left: 0;
            margin-top: 30px; } }
        body.casestudy .shop-info .inner-small .detail .right h3 small {
          font-size: 10px;
          font-size: 1rem;
          letter-spacing: 0.1em;
          font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
          display: block; }
        body.casestudy .shop-info .inner-small .detail .right h3 em {
          font-size: 21px;
          font-size: 2.1rem;
          letter-spacing: 0.075em;
          font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
          display: block;
          margin-top: 10px; }
          @media only screen and (max-width: 767px) {
            body.casestudy .shop-info .inner-small .detail .right h3 em {
              font-size: 14px;
              font-size: 1.4rem; } }
        body.casestudy .shop-info .inner-small .detail .right p {
          font-size: 12px;
          font-size: 1.2rem;
          line-height: 1.833333333;
          letter-spacing: 0.075em;
          margin-top: 40px; }
          @media only screen and (max-width: 767px) {
            body.casestudy .shop-info .inner-small .detail .right p {
              font-size: 10px;
              font-size: 1rem;
              line-height: 1.75;
              margin-top: 20px; }
              body.casestudy .shop-info .inner-small .detail .right p span {
                width: 90px;
                display: inline-block; } }
          body.casestudy .shop-info .inner-small .detail .right p a {
            word-break: break-all; }

body.casestudy.madocafe .caset03 .imgs > div:nth-child(1) {
  margin-right: 120px;
  position: relative;
  z-index: 1; }
  @media only screen and (max-width: 767px) {
    body.casestudy.madocafe .caset03 .imgs > div:nth-child(1) {
      margin-right: 0;
      width: 66.6666667%; } }

body.casestudy.madocafe .caset03 .imgs > div:nth-child(2) {
  max-width: 55.5%;
  margin: 60px 0 0 auto;
  position: relative;
  z-index: 2; }
  @media only screen and (max-width: 767px) {
    body.casestudy.madocafe .caset03 .imgs > div:nth-child(2) {
      max-width: 45.3333333%;
      margin: 20px 30px 0 auto; } }

body.casestudy.madocafe .caset05.left .imgs > div:nth-child(1) {
  max-width: 50%;
  margin: 0 16.6666667% 0 auto; }
  @media only screen and (max-width: 767px) {
    body.casestudy.madocafe .caset05.left .imgs > div:nth-child(1) {
      max-width: 40%;
      margin: 0 50px 0 auto; } }

body.casestudy.madocafe .caset05.left .imgs > div:nth-child(2) {
  margin: 60px 0 0; }
  @media only screen and (max-width: 767px) {
    body.casestudy.madocafe .caset05.left .imgs > div:nth-child(2) {
      margin: 30px 0 0 auto;
      max-width: 80%; } }

@media only screen and (max-width: 767px) {
  body.casestudy.madocafe .caset05.right .imgs {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start; } }

body.casestudy.madocafe .caset05.right .imgs > div:nth-child(1) {
  max-width: 56.4516129%; }
  @media only screen and (max-width: 767px) {
    body.casestudy.madocafe .caset05.right .imgs > div:nth-child(1) {
      max-width: 45.3333333%; } }

body.casestudy.madocafe .caset05.right .imgs > div:nth-child(2) {
  max-width: 49.1935484%;
  margin: -240px 0 0 auto; }
  @media only screen and (max-width: 767px) {
    body.casestudy.madocafe .caset05.right .imgs > div:nth-child(2) {
      max-width: 40%;
      margin: 140px 0 0 -20px; } }

@media only screen and (min-width: 768px) {
  body.casestudy.madocafe .shop-info-wrap .right p span {
    white-space: nowrap; } }

body.casestudy.jan .caset03 .imgs > div:nth-child(1) {
  margin-right: 120px;
  position: relative;
  z-index: 1; }
  @media only screen and (max-width: 767px) {
    body.casestudy.jan .caset03 .imgs > div:nth-child(1) {
      margin-right: 0;
      width: 66.6666667%; } }

body.casestudy.jan .caset03 .imgs > div:nth-child(2) {
  max-width: 55.5%;
  margin: 60px 0 0 auto;
  position: relative;
  z-index: 2; }
  @media only screen and (max-width: 767px) {
    body.casestudy.jan .caset03 .imgs > div:nth-child(2) {
      max-width: 45.3333333%;
      margin: 20px 30px 0 auto; } }

@media only screen and (min-width: 768px) {
  body.casestudy.jan .caset03 .detail {
    padding-left: 100px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.jan .caset02.typeB .inner {
    right: 0;
    max-width: 100%;
    margin: 0 auto;
    padding: 0; }
  body.casestudy.jan .caset02.typeB .img-wrap:nth-child(1) {
    max-width: 72%;
    margin: 0 0 0 auto; }
  body.casestudy.jan .caset02.typeB .img-wrap:nth-child(2) {
    max-width: 48%;
    margin-top: 10px; } }

body.casestudy.jan .caset05.right .imgs > div {
  max-width: 100%; }

@media only screen and (min-width: 768px) {
  body.casestudy.jan .caset05.right .detail {
    padding-left: 100px; } }

@media only screen and (min-width: 768px) {
  body.casestudy.kisaku .caset05.typeA .imgs {
    padding-top: 120px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.kisaku .caset05.typeA .imgs > div {
    max-width: 66.1%;
    margin: 0 0 0 auto; } }

body.casestudy.kisaku .caset05.typeB .imgs > div:nth-child(1) {
  max-width: 58.3%;
  margin: 0 0 0 auto; }
  @media only screen and (max-width: 767px) {
    body.casestudy.kisaku .caset05.typeB .imgs > div:nth-child(1) {
      max-width: 40%;
      margin: 0 30px 0 auto;
      position: relative;
      z-index: 2; } }

body.casestudy.kisaku .caset05.typeB .imgs > div:nth-child(2) {
  max-width: 83.3%;
  margin-top: 20px; }
  @media only screen and (max-width: 767px) {
    body.casestudy.kisaku .caset05.typeB .imgs > div:nth-child(2) {
      max-width: 50%;
      margin: -170px 0 0 30px;
      position: relative;
      z-index: 1; } }

body.casestudy.aqua .caset03 {
  padding-right: calc((100vw - 1100px) / 2);
  -webkit-align-items: flex-end;
  align-items: flex-end; }
  @media only screen and (max-width: 767px) {
    body.casestudy.aqua .caset03 {
      padding-right: 0; } }
  body.casestudy.aqua .caset03 .detail {
    max-width: 580px;
    width: 100%;
    padding: 0 130px 0 0; }
    @media only screen and (max-width: 1300px) {
      body.casestudy.aqua .caset03 .detail {
        max-width: 44.6%; } }
    @media only screen and (max-width: 767px) {
      body.casestudy.aqua .caset03 .detail {
        max-width: 100%;
        padding: 0 30px; } }
    body.casestudy.aqua .caset03 .detail .ttl {
      white-space: nowrap; }
      @media only screen and (max-width: 767px) {
        body.casestudy.aqua .caset03 .detail .ttl {
          white-space: inherit; } }
  body.casestudy.aqua .caset03 .imgs {
    max-width: 23%; }
    @media only screen and (max-width: 767px) {
      body.casestudy.aqua .caset03 .imgs {
        max-width: 100%;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-flex-direction: row-reverse;
        flex-direction: row-reverse; }
        body.casestudy.aqua .caset03 .imgs > div:nth-child(1) {
          max-width: 40%; }
        body.casestudy.aqua .caset03 .imgs > div:nth-child(2) {
          max-width: 53.3%;
          margin-top: 35px; } }

@media only screen and (min-width: 768px) {
  body.casestudy.aqua .caset05.typeB .detail {
    padding-left: 100px; } }

body.casestudy.aqua .caset05.typeD .detail {
  max-width: 600px;
  padding: 0 150px 0 0; }
  @media only screen and (max-width: 1300px) {
    body.casestudy.aqua .caset05.typeD .detail {
      max-width: 46.1538462%; } }
  @media only screen and (max-width: 767px) {
    body.casestudy.aqua .caset05.typeD .detail {
      max-width: 100%;
      padding: 0 30px; } }

body.casestudy.aqua .caset05.typeD .imgs {
  width: calc(((100vw - 1100px) / 2) + 450px); }
  @media only screen and (max-width: 767px) {
    body.casestudy.aqua .caset05.typeD .imgs {
      width: 100%; } }
  body.casestudy.aqua .caset05.typeD .imgs > div {
    margin-top: -200px; }
    @media only screen and (max-width: 767px) {
      body.casestudy.aqua .caset05.typeD .imgs > div {
        margin: 0 auto;
        min-width: 170px;
        max-width: 45.3%; } }

@media only screen and (max-width: 767px) {
  body.casestudy.aqua .shop-info .inner-small .detail .right p span {
    width: 50px; } }

body.casestudy.cafedays .caset05.typeA .imgs > div:nth-child(1) {
  max-width: 83.3%;
  margin: 0 0 0 auto; }
  @media only screen and (max-width: 767px) {
    body.casestudy.cafedays .caset05.typeA .imgs > div:nth-child(1) {
      max-width: 80%;
      margin: 0 10px 0 auto; } }

body.casestudy.cafedays .caset05.typeA .imgs > div:nth-child(2) {
  max-width: 55.5%;
  margin-top: 50px; }
  @media only screen and (max-width: 767px) {
    body.casestudy.cafedays .caset05.typeA .imgs > div:nth-child(2) {
      max-width: 53.3%;
      margin: 20px 0 0 10px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.cafedays .caset05.typeB .imgs > div:nth-child(1) {
    max-width: 80%; }
  body.casestudy.cafedays .caset05.typeB .imgs > div:nth-child(2) {
    max-width: 53.3333333%;
    margin: 20px 20px 0 auto; } }

body.casestudy.cafedays .caset05.typeC .imgs > div:nth-child(1) {
  max-width: 82%; }

body.casestudy.cafedays .caset05.typeC .imgs > div:nth-child(2) {
  max-width: 65.5737705%;
  margin: 30px 0 0 auto; }

body.casestudy.vapeur .caset05.typeA .imgs > div:nth-child(1) {
  max-width: 89.5522388%; }
  @media only screen and (max-width: 767px) {
    body.casestudy.vapeur .caset05.typeA .imgs > div:nth-child(1) {
      max-width: 80%; } }

body.casestudy.vapeur .caset05.typeA .imgs > div:nth-child(2) {
  max-width: 52.238806%;
  margin: 60px 0 0 auto; }
  @media only screen and (max-width: 767px) {
    body.casestudy.vapeur .caset05.typeA .imgs > div:nth-child(2) {
      max-width: 46.6666667%;
      margin: 30px 40px 0 auto; } }

@media only screen and (min-width: 768px) {
  body.casestudy.vapeur .caset05.typeA .detail {
    padding-left: 100px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.vapeur .caset05.typeB .imgs > div {
    max-width: 89.3%;
    margin: 0 0 0 auto; } }

@media only screen and (max-width: 767px) {
  body.casestudy.vapeur .caset05.typeC .imgs > div {
    min-width: 220px;
    max-width: 58.6666667%;
    margin: 0 auto; } }

body.casestudy.vapeur .shop-info .right h3 em {
  font-style: italic; }

body.casestudy.bankaku main {
  width: 100%;
  overflow: hidden; }

@media only screen and (min-width: 768px) {
  body.casestudy.bankaku .img03 {
    width: 105%; }
  body.casestudy.bankaku .img04 {
    width: 62%;
    margin-top: 31%; }
  body.casestudy.bankaku .img06 {
    width: 53%;
    margin: 3% 18% 0 auto; }
  body.casestudy.bankaku .img07 {
    width: 105%;
    margin: 12% 0 0 -5%; }
  body.casestudy.bankaku .img08 {
    width: 37%;
    margin: 13% auto 0 0; }
  body.casestudy.bankaku .img09 {
    width: 62%;
    margin: -35px auto 0 6%; } }

@media only screen and (max-width: 767px) {
  body.casestudy .img03 {
    width: 48%;
    margin-bottom: 30px; }
  body.casestudy .img04 {
    width: 42.666%; }
  body.casestudy .img05 {
    width: 53.333%;
    margin: 0 20px 0 auto; }
  body.casestudy .img07 {
    width: 75.2%;
    margin: 25px auto 0 0; }
  body.casestudy .img08 {
    width: 37.8666%; }
  body.casestudy .img09 {
    width: 46.9333%;
    margin-bottom: 68px; }
  body.casestudy .img10 {
    width: 83.7333%;
    margin: 0 auto; }
  body.casestudy .caset04 .contents .imgs {
    width: calc(100% + 60px);
    margin: 0 -30px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-direction: row-reverse; }
  body.casestudy .caset02.left .inner {
    position: static;
    padding: 0; }
  body.casestudy .caset02.right .inner {
    position: static;
    padding: 0; }
  body.casestudy .caset05 .imgs {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; } }

body.casestudy.laviedupain .caset03 .imgs > div:nth-child(1) {
  max-width: 82.7586207%; }
  @media only screen and (max-width: 767px) {
    body.casestudy.laviedupain .caset03 .imgs > div:nth-child(1) {
      max-width: 66.6666667%; } }

body.casestudy.laviedupain .caset03 .imgs > div:nth-child(2) {
  max-width: 55.1724138%;
  margin: 100px 0 0 auto; }
  @media only screen and (max-width: 767px) {
    body.casestudy.laviedupain .caset03 .imgs > div:nth-child(2) {
      max-width: 45.3333333%;
      margin: 25px 30px 0 auto; } }

body.casestudy.laviedupain .caset05.typeA .imgs {
  display: -webkit-flex;
  display: flex; }
  @media only screen and (max-width: 767px) {
    body.casestudy.laviedupain .caset05.typeA .imgs > div:nth-child(2) {
      max-width: 46.6666667%; }
    body.casestudy.laviedupain .caset05.typeA .imgs > div:nth-child(3) {
      max-width: 41.3333333%;
      margin: 140px 0 0 -20px; } }

body.casestudy.laviedupain .caset05.typeB .imgs {
  display: -webkit-flex;
  display: flex; }
  body.casestudy.laviedupain .caset05.typeB .imgs > div:nth-child(1) {
    max-width: 56.4516129%; }
    @media only screen and (max-width: 767px) {
      body.casestudy.laviedupain .caset05.typeB .imgs > div:nth-child(1) {
        max-width: 80%; } }
  body.casestudy.laviedupain .caset05.typeB .imgs > div:nth-child(2) {
    max-width: 48.3870968%;
    margin: 275px 0 0 -30px; }
    @media only screen and (max-width: 767px) {
      body.casestudy.laviedupain .caset05.typeB .imgs > div:nth-child(2) {
        max-width: 46.6666667%;
        margin: 30px 40px 0 auto; } }

@media only screen and (max-width: 767px) {
  body.casestudy.lestempsplus .caset05.right .imgs > div {
    max-width: 68%; }
  body.casestudy.lestempsplus .caset05.left .imgs > div {
    max-width: 68%;
    margin: 0 0  0 auto; } }

@media only screen and (min-width: 768px) {
  body.casestudy.kurasutopain .caset05.left .detail02 {
    padding-left: 0;
    padding-top: 94px;
    padding-right: 100px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.kurasutopain .caset05.left .detail02 {
    padding-top: 30px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.kurasutopain .caset05.left .imgs {
    margin: 0 0 40px; } }

body.casestudy.kurasutopain .caset05.left .imgs > div:nth-child(1) {
  max-width: 100%; }
  @media only screen and (max-width: 767px) {
    body.casestudy.kurasutopain .caset05.left .imgs > div:nth-child(1) {
      max-width: 80%; } }

body.casestudy.kurasutopain .caset05.left .imgs > div:nth-child(2) {
  max-width: 58.3%;
  margin: 60px 0 0 16.7%; }
  @media only screen and (max-width: 767px) {
    body.casestudy.kurasutopain .caset05.left .imgs > div:nth-child(2) {
      max-width: 46.7%;
      margin: 30px 40px 0 auto; } }

@media only screen and (max-width: 767px) {
  body.casestudy.kurasutopain .caset05.right .imgs > div {
    max-width: 89.3%; } }

@media only screen and (min-width: 768px) {
  body.casestudy.kurasutopain .caset05.right .detail {
    padding-left: 100px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.un .caset05.typeA.right {
    flex-direction: column; } }

@media only screen and (max-width: 767px) {
  body.casestudy.un .caset05.typeA.right .imgs .img-wrap {
    width: 80%; } }

body.casestudy.un .caset05.typeA.right .imgs .img-wrap:nth-of-type(2) {
  max-width: 400px;
  margin: 124px 0 0 80px; }
  @media only screen and (max-width: 767px) {
    body.casestudy.un .caset05.typeA.right .imgs .img-wrap:nth-of-type(2) {
      width: 53.333%;
      margin: 38px 20px 56px auto; } }

body.casestudy.un .caset05.left .imgs .img-wrap {
  width: 100%; }
  @media only screen and (max-width: 767px) {
    body.casestudy.un .caset05.left .imgs .img-wrap {
      width: 80.5%;
      margin: 0 10px 0 auto; } }
  body.casestudy.un .caset05.left .imgs .img-wrap .img img {
    width: 100%; }
  body.casestudy.un .caset05.left .imgs .img-wrap:nth-of-type(1) {
    max-width: 304px;
    margin: 0 72px 66px 181px; }
    @media only screen and (max-width: 767px) {
      body.casestudy.un .caset05.left .imgs .img-wrap:nth-of-type(1) {
        width: 40.5%;
        margin: 0 63px 32px auto; } }

body.casestudy.un .caset05.typeB.right .imgs .img-wrap .img img {
  width: 100%; }

body.casestudy.un .caset05.typeB.right .imgs .img-wrap:nth-of-type(1) {
  max-width: 356px;
  margin: -42px 246px 0 auto; }
  @media only screen and (max-width: 767px) {
    body.casestudy.un .caset05.typeB.right .imgs .img-wrap:nth-of-type(1) {
      width: 46.9%;
      margin: 0; } }

body.casestudy.un .caset05.typeB.right .imgs .img-wrap:nth-of-type(2) {
  max-width: 200px;
  margin: -124px 0 0 auto; }
  @media only screen and (max-width: 767px) {
    body.casestudy.un .caset05.typeB.right .imgs .img-wrap:nth-of-type(2) {
      width: 38%;
      margin: -145px -5px 0 auto; } }

@media only screen and (max-width: 767px) {
  body.casestudy.un .caset02.right {
    padding-top: 36px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.un .caset02.right .inner {
    width: 100%;
    right: 0;
    padding: 0; } }

@media only screen and (max-width: 767px) {
  body.casestudy.un .caset02.right .img-wrap {
    width: 83.7%;
    margin: 0 auto; } }

body.casestudy.ichigopan .caset03 .imgs > div:nth-child(1) {
  margin-right: 120px;
  position: relative;
  z-index: 1; }
  @media only screen and (max-width: 767px) {
    body.casestudy.ichigopan .caset03 .imgs > div:nth-child(1) {
      margin-right: 0;
      width: 66.6666667%; } }

body.casestudy.ichigopan .caset03 .imgs > div:nth-child(2) {
  max-width: 55.5%;
  margin: 60px 0 0 auto;
  position: relative;
  z-index: 2; }
  @media only screen and (max-width: 767px) {
    body.casestudy.ichigopan .caset03 .imgs > div:nth-child(2) {
      max-width: 45.3333333%;
      margin: 20px 30px 0 auto; } }

body.casestudy.ichigopan .caset01.typeB .img-wrap:nth-child(1) {
  width: 80%; }

body.casestudy.ichigopan .caset01.typeB .img-wrap:nth-child(2) {
  margin: 40px 5.33vw 0 auto;
  width: 57%; }

@media only screen and (min-width: 768px) {
  body.casestudy.ichigopan .caset02.left .inner {
    max-width: calc(((100vw - 1100px) / 2) + 1055px); } }

@media only screen and (max-width: 767px) {
  body.casestudy.ichigopan .caset02.right .inner {
    width: calc(100% + 40px);
    margin: 0 -20px;
    right: auto; } }

@media only screen and (min-width: 768px) {
  body.casestudy.ichigopan .caset05.left.typeA .detail {
    padding: 8px 85px 0 19px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.ichigopan .caset05.left.typeA .detail img {
    margin: 0 -10px;
    max-width: calc(100% + 20px); } }

body.casestudy.ichigopan .caset05.left.typeA .imgs {
  position: relative; }
  @media only screen and (max-width: 767px) {
    body.casestudy.ichigopan .caset05.left.typeA .imgs {
      padding: 0 20px; } }
  body.casestudy.ichigopan .caset05.left.typeA .imgs > div:nth-child(2) {
    bottom: 25.75vw;
    right: 0;
    max-width: 30.3%;
    position: absolute; }
  body.casestudy.ichigopan .caset05.left.typeA .imgs > div:nth-child(3) {
    margin: 14.27419355vw auto 0 0;
    max-width: 61.5%; }

@media only screen and (max-width: 767px) {
  body.casestudy.ichigopan .caset05.right.typeB {
    flex-direction: column; } }

@media only screen and (min-width: 768px) {
  body.casestudy.ichigopan .caset05.right.typeB .detail {
    padding: 0 10px 0 97px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.ichigopan .caset05.right.typeB .imgs {
    margin-top: 0;
    margin-bottom: 70px; } }

body.casestudy.ichigopan .caset05.right.typeB .imgs > div:nth-child(1) {
  max-width: 54%;
  margin: 17px auto 0 28%; }
  @media only screen and (max-width: 767px) {
    body.casestudy.ichigopan .caset05.right.typeB .imgs > div:nth-child(1) {
      max-width: 40.53%;
      margin: 0 17.06% 0 auto; } }

body.casestudy.ichigopan .caset05.right.typeB .imgs > div:nth-child(2) {
  margin: 65px auto 0 0; }
  @media only screen and (max-width: 767px) {
    body.casestudy.ichigopan .caset05.right.typeB .imgs > div:nth-child(2) {
      margin: 32px 3.2% 0 auto;
      max-width: 85.33%; } }

@media only screen and (max-width: 767px) {
  body.casestudy.ichigopan .caset05.left.typeC {
    flex-direction: column-reverse; } }

@media only screen and (min-width: 768px) {
  body.casestudy.ichigopan .caset05.left.typeC .detail {
    padding: 0 85px 0 20px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.ichigopan .caset05.left.typeC .detail > img {
    margin: 40px 0 62px; } }

body.casestudy.ichigopan .caset05.left.typeC .imgs > div:nth-child(1) {
  max-width: 61.5%;
  margin: -35px auto 0 0; }
  @media only screen and (max-width: 767px) {
    body.casestudy.ichigopan .caset05.left.typeC .imgs > div:nth-child(1) {
      max-width: 48%; } }

body.casestudy.ichigopan .caset05.left.typeC .imgs > div:nth-child(2) {
  max-width: 30.5%;
  margin: -9.2vw 0 0 auto; }
  @media only screen and (max-width: 767px) {
    body.casestudy.ichigopan .caset05.left.typeC .imgs > div:nth-child(2) {
      max-width: 37.6%;
      margin: -38.2vw 0 0 auto; } }

@media only screen and (max-width: 767px) {
  body.casestudy.ichigopan .caset05.left.typeD {
    flex-direction: column-reverse; } }

@media only screen and (min-width: 768px) {
  body.casestudy.ichigopan .caset05.left.typeD .detail {
    padding: 0 85px 0 20px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.ichigopan .caset05.left.typeD .detail {
    margin-top: 40px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.ichigopan .caset05.left.typeD .imgs {
    margin-top: 20px; } }

body.casestudy.ichigopan .caset05.left.typeD .imgs > div:nth-child(1) {
  margin: 60px auto 0 0; }
  @media only screen and (max-width: 767px) {
    body.casestudy.ichigopan .caset05.left.typeD .imgs > div:nth-child(1) {
      max-width: 80%;
      margin: 0 auto 0 0; } }

body.casestudy.ichigopan .caset05.left.typeD .imgs > div:nth-child(2) {
  max-width: 53.4%;
  margin: 80px 19% 0 auto; }
  @media only screen and (max-width: 767px) {
    body.casestudy.ichigopan .caset05.left.typeD .imgs > div:nth-child(2) {
      max-width: 40.53%;
      margin: 30px 0 0 auto; } }

@media only screen and (min-width: 768px) {
  body.casestudy.ichigopan .shop-info .inner-small .detail .right {
    padding-left: 54px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.fleursfleurs h4.ttl.sp-palt {
    font-feature-settings: "palt"; } }

@media only screen and (max-width: 767px) {
  body.casestudy.fleursfleurs div[class*="caset"].sp-cancel-padding {
    padding: 0; } }

@media only screen and (max-width: 767px) {
  body.casestudy.fleursfleurs .caset02.left {
    padding-top: 28px; } }

@media only screen and (min-width: 768px) {
  body.casestudy.fleursfleurs .caset02.left .inner {
    max-width: calc(((100vw - 1100px) / 2) + 1059px); } }

@media only screen and (max-width: 767px) {
  body.casestudy.fleursfleurs .caset02.left .inner {
    max-width: 80%;
    padding: 0;
    position: static; } }

@media only screen and (min-width: 768px) {
  body.casestudy.fleursfleurs .caset02.right .inner {
    max-width: calc(((100vw - 1100px) / 2) + 878px); } }

@media only screen and (max-width: 767px) {
  body.casestudy.fleursfleurs .caset02.center.wide .inner {
    padding: 0;
    width: 100vw; }
  body.casestudy.fleursfleurs .caset02.center.narrow .inner {
    padding: 0 30px; } }

@media only screen and (min-width: 768px) {
  body.casestudy.fleursfleurs .caset05.left.typeA .detail {
    padding: 8px 85px 0 19px; } }

body.casestudy.fleursfleurs .caset05.left.typeA .imgs {
  margin-top: 68px; }
  @media only screen and (max-width: 767px) {
    body.casestudy.fleursfleurs .caset05.left.typeA .imgs {
      margin-top: 64px; } }
  body.casestudy.fleursfleurs .caset05.left.typeA .imgs > div:nth-child(2) {
    max-width: 53.421%;
    margin: 78px 0 0 27.544%; }
    @media only screen and (max-width: 767px) {
      body.casestudy.fleursfleurs .caset05.left.typeA .imgs > div:nth-child(2) {
        max-width: 40.534%;
        margin: 28px 0 0 8%; } }
  body.casestudy.fleursfleurs .caset05.left.typeA .imgs > div:nth-child(3) {
    margin: 72px 0 0 10%;
    max-width: 35.263%; }
    @media only screen and (max-width: 767px) {
      body.casestudy.fleursfleurs .caset05.left.typeA .imgs > div:nth-child(3) {
        margin: -12.534% 0 0 52.8%;
        max-width: 37.867%; } }

@media only screen and (max-width: 767px) {
  body.casestudy.fleursfleurs .caset05.left.typeC {
    flex-direction: column-reverse; } }

@media only screen and (min-width: 768px) {
  body.casestudy.fleursfleurs .caset05.left.typeC .detail {
    padding: 0 85px 0 20px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.fleursfleurs .caset05.left.typeC .detail {
    margin-top: 78px; } }

body.casestudy.fleursfleurs .caset05.left.typeC .imgs > div:nth-child(1) {
  max-width: 61.755%;
  margin: -35px auto 0 0; }
  @media only screen and (max-width: 767px) {
    body.casestudy.fleursfleurs .caset05.left.typeC .imgs > div:nth-child(1) {
      max-width: 46.934%; } }

body.casestudy.fleursfleurs .caset05.left.typeC .imgs > div:nth-child(2) {
  max-width: 30.351%;
  margin: -9.2vw 0 0 auto; }
  @media only screen and (max-width: 767px) {
    body.casestudy.fleursfleurs .caset05.left.typeC .imgs > div:nth-child(2) {
      max-width: 38%;
      margin: -38.2vw 0 0 auto; } }

@media only screen and (max-width: 767px) {
  body.casestudy.fleursfleurs .caset05.left.typeD {
    flex-direction: column; } }

@media only screen and (min-width: 768px) {
  body.casestudy.fleursfleurs .caset05.left.typeD .detail {
    padding: 0 85px 0 20px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.fleursfleurs .caset05.left.typeD .detail {
    margin-top: 10px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.fleursfleurs .caset05.left.typeD .imgs {
    margin-top: 94px; } }

body.casestudy.fleursfleurs .caset05.left.typeD .imgs > div:nth-child(1) {
  margin: -8px auto 0 0; }
  @media only screen and (max-width: 767px) {
    body.casestudy.fleursfleurs .caset05.left.typeD .imgs > div:nth-child(1) {
      max-width: 80%;
      margin: 0 auto 0 0; } }

body.casestudy.fleursfleurs .caset05.left.typeD .imgs > div:nth-child(2) {
  max-width: 61.755%;
  margin: 53px auto 0 21.754%; }
  @media only screen and (max-width: 767px) {
    body.casestudy.fleursfleurs .caset05.left.typeD .imgs > div:nth-child(2) {
      max-width: 37.867%;
      margin: 40px 0 0 auto; } }

@media only screen and (max-width: 767px) {
  body.casestudy.fleursfleurs .caset05.right.typeB {
    flex-direction: column-reverse; } }

@media only screen and (min-width: 768px) {
  body.casestudy.fleursfleurs .caset05.right.typeB .detail {
    padding: 0 10px 0 97px; } }

@media only screen and (max-width: 767px) {
  body.casestudy.fleursfleurs .caset05.right.typeB .imgs {
    margin-top: 74px; } }

body.casestudy.fleursfleurs .caset05.right.typeB .imgs > div:nth-child(1) {
  max-width: 53.421%;
  margin: 17px auto 0 28.948%; }
  @media only screen and (max-width: 767px) {
    body.casestudy.fleursfleurs .caset05.right.typeB .imgs > div:nth-child(1) {
      max-width: 40.533%;
      margin: 0 0 0 30px; } }

body.casestudy.fleursfleurs .caset05.right.typeB .imgs > div:nth-child(2) {
  margin: 65px auto 0 0; }
  @media only screen and (max-width: 767px) {
    body.casestudy.fleursfleurs .caset05.right.typeB .imgs > div:nth-child(2) {
      margin: 24px 0 0 auto;
      max-width: 80%; } }

body.casestudy.fleursfleurs .caset05.right.typeB .imgs.lower {
  margin-top: 64px; }

@media only screen and (max-width: 767px) {
  body.casestudy.fleursfleurs .caset05.right.typeB .imgs.sp-reverse {
    margin-top: 54px; } }

body.casestudy.fleursfleurs .caset05.right.typeB .imgs.sp-reverse > div:nth-child(1) {
  max-width: 53.421%;
  margin: 17px auto 0 28.948%; }
  @media only screen and (max-width: 767px) {
    body.casestudy.fleursfleurs .caset05.right.typeB .imgs.sp-reverse > div:nth-child(1) {
      max-width: 40.533%;
      margin: 0 0 0 auto; } }

body.casestudy.fleursfleurs .caset05.right.typeB .imgs.sp-reverse > div:nth-child(2) {
  margin: 65px auto 0 0; }
  @media only screen and (max-width: 767px) {
    body.casestudy.fleursfleurs .caset05.right.typeB .imgs.sp-reverse > div:nth-child(2) {
      margin: 28px auto 0 0;
      max-width: 80%; } }

@media only screen and (max-width: 767px) {
  body.casestudy.fleursfleurs .shop-info .inner-small .detail .right p span {
    width: 45px; } }

body.contact main section {
  padding: 100px 0; }
  body.contact main section .text {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.714;
    letter-spacing: .025em;
    margin: 40px 0 0; }
    @media only screen and (max-width: 767px) {
      body.contact main section .text {
        font-size: 10px;
        font-size: 1rem;
        line-height: 1.8;
        text-align: center; } }
  body.contact main section .form-area {
    max-width: 660px;
    margin: 55px auto 0; }
    @media only screen and (max-width: 767px) {
      body.contact main section .form-area {
        margin: 44px auto 0;
        padding: 0 10px; } }
    body.contact main section .form-area .table table {
      width: 100%; }
      @media only screen and (max-width: 767px) {
        body.contact main section .form-area .table table tr {
          display: block;
          margin: 0 0 18px; } }
      body.contact main section .form-area .table table th {
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: .025em;
        width: 156px;
        min-height: 54px; }
        @media only screen and (max-width: 767px) {
          body.contact main section .form-area .table table th {
            display: block;
            width: 100%;
            min-height: 0;
            font-size: 10px;
            font-size: 1rem;
            margin: 0 0 4px; } }
        @media only screen and (min-width: 768px) {
          body.contact main section .form-area .table table th.pos-top {
            vertical-align: top;
            padding-top: 16px; } }
      body.contact main section .form-area .table table td {
        width: calc(100% - 156px);
        padding: 2px 0; }
        @media only screen and (max-width: 767px) {
          body.contact main section .form-area .table table td {
            display: block;
            width: 100%; } }
        body.contact main section .form-area .table table td input[type="text"] {
          padding: 0;
          border: none;
          border-radius: 0;
          outline: none;
          background: none;
          width: 100%;
          height: 50px;
          background: #eeeeee;
          padding: 10px; }
          @media only screen and (max-width: 767px) {
            body.contact main section .form-area .table table td input[type="text"] {
              height: 40px; } }
        body.contact main section .form-area .table table td textarea {
          -webkit-appearance: none;
          -moz-appearance: none;
          appearance: none;
          resize: none;
          padding: 0;
          border: 0;
          outline: none;
          background: transparent;
          width: 100%;
          height: 200px;
          background: #eeeeee;
          padding: 10px; }
        body.contact main section .form-area .table table td .box {
          min-height: 50px;
          display: -webkit-flex;
          display: flex;
          -webkit-justify-content: center;
          justify-content: center;
          -webkit-flex-direction: column;
          flex-direction: column; }
          @media only screen and (max-width: 767px) {
            body.contact main section .form-area .table table td .box {
              min-height: 0; } }
        body.contact main section .form-area .table table td .checkbox-list {
          margin: 12px 0 0; }
          @media only screen and (max-width: 767px) {
            body.contact main section .form-area .table table td .checkbox-list {
              margin: 5px 0 0; } }
          body.contact main section .form-area .table table td .checkbox-list li {
            position: relative;
            margin: 0 0 5px; }
            @media only screen and (max-width: 767px) {
              body.contact main section .form-area .table table td .checkbox-list li {
                margin: 0 0 4px 8px; } }
            body.contact main section .form-area .table table td .checkbox-list li input {
              opacity: 0;
              width: 1px;
              position: absolute;
              left: 0; }
              body.contact main section .form-area .table table td .checkbox-list li input:checked + label > i:before {
                opacity: 1; }
            body.contact main section .form-area .table table td .checkbox-list li i {
              display: inline-block;
              width: 25px;
              height: 25px;
              background: #eeeeee;
              margin-right: 12px;
              position: relative; }
              @media only screen and (max-width: 767px) {
                body.contact main section .form-area .table table td .checkbox-list li i {
                  width: 20px;
                  height: 20px;
                  margin-right: 10px; } }
              body.contact main section .form-area .table table td .checkbox-list li i:before {
                content: "";
                width: 16px;
                height: 16px;
                display: block;
                background: #444;
                position: absolute;
                top: 50%;
                left: 50%;
                -webkit-transform: translate(-50%, -50%);
                -moz-transform: translate(-50%, -50%);
                -ms-transform: translate(-50%, -50%);
                -o-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
                opacity: 0; }
                @media only screen and (max-width: 767px) {
                  body.contact main section .form-area .table table td .checkbox-list li i:before {
                    width: 10px;
                    height: 10px; } }
            body.contact main section .form-area .table table td .checkbox-list li label {
              font-size: 12px;
              font-size: 1.2rem;
              letter-spacing: .025em;
              display: -webkit-flex;
              display: flex;
              -webkit-align-items: center;
              align-items: center;
              cursor: pointer; }
              @media only screen and (max-width: 767px) {
                body.contact main section .form-area .table table td .checkbox-list li label {
                  font-size: 10px;
                  font-size: 1rem; } }
    body.contact main section .form-area .attention-box {
      padding: 20px 16px;
      border: 1px solid #ccc;
      height: 200px;
      overflow-y: scroll;
      margin: 30px 0 70px;
      line-height: 2.25; }
      @media only screen and (max-width: 767px) {
        body.contact main section .form-area .attention-box {
          margin: 45px 0 45px; } }
      body.contact main section .form-area .attention-box p {
        font-size: 10px;
        font-size: 1rem;
        letter-spacing: .025em;
        font-feature-settings: "palt"; }
    body.contact main section .form-area .prev-btn {
      border: 1px solid #ccc;
      width: 298px;
      height: 52px;
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: .2em;
      background: none;
      margin: 50px auto 0;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center;
      -webkit-justify-content: center;
      justify-content: center; }
    body.contact main section .form-area .entry-btn {
      border: 1px solid #ccc;
      width: 298px;
      height: 52px;
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: .2em;
      background: none;
      margin: 0 auto;
      display: block; }

body.contact main .top-btn {
  border: 1px solid #ccc;
  width: 298px;
  height: 52px;
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: .2em;
  background: none;
  margin: 50px 0 0;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center; }

body.contact .contact-link {
  display: none; }

@media only screen and (max-width: 767px) {
  body.contact.confirm main section .form-area .table table th {
    margin-bottom: 10px; } }

body.contact.confirm main section .form-area .table table td .box {
  line-height: 1.5; }

body.contact.confirm main section .form-area .entry-btn {
  margin: 50px auto 0; }

body.index {
  overflow-x: hidden; }
  body.index main .mv {
    height: calc(100vh - 50px);
    background: url(../images/top/mv.jpg) center center/cover no-repeat; }
    @media only screen and (max-width: 767px) {
      body.index main .mv {
        height: 100vh; } }
    body.index main .mv .inner {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-flex-direction: column;
      flex-direction: column;
      height: 100%; }
      @media only screen and (max-width: 767px) {
        body.index main .mv .inner {
          -webkit-justify-content: flex-end;
          justify-content: flex-end;
          padding-bottom: 36px; } }
    body.index main .mv__text {
      color: #fff; }
      body.index main .mv__text strong {
        font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
        font-size: 44px;
        font-size: 4.4rem;
        letter-spacing: .2em;
        line-height: 1.5454;
        display: block;
        margin-bottom: 20px; }
        @media only screen and (max-width: 767px) {
          body.index main .mv__text strong {
            font-size: 21px;
            font-size: 2.1rem;
            line-height: 1.714;
            margin: 0; } }
      body.index main .mv__text small {
        font-size: 18px;
        font-size: 1.8rem;
        letter-spacing: .3em;
        font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
        font-style: normal; }
        @media only screen and (max-width: 767px) {
          body.index main .mv__text small {
            font-size: 12px;
            font-size: 1.2rem;
            letter-spacing: .2em;
            margin-top: 18px;
            display: block; } }
  body.index main .casestudy {
    padding: 65px 0 35px; }
    @media only screen and (max-width: 767px) {
      body.index main .casestudy {
        padding: 30px 0 16px; } }
    body.index main .casestudy .ttl02 {
      margin-bottom: 135px; }
      @media only screen and (max-width: 767px) {
        body.index main .casestudy .ttl02 {
          margin-bottom: 32px; } }
    body.index main .casestudy__list {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-justify-content: space-between;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        body.index main .casestudy__list {
          margin: 0 -20px; } }
      body.index main .casestudy__list li {
        width: 46.2%;
        margin-bottom: 60px; }
        @media only screen and (max-width: 767px) {
          body.index main .casestudy__list li {
            width: 50%;
            margin-bottom: 34px; } }
        body.index main .casestudy__list li a {
          display: block; }
          body.index main .casestudy__list li a .text {
            margin-top: 20px; }
            @media only screen and (max-width: 767px) {
              body.index main .casestudy__list li a .text {
                margin-top: 12px;
                padding: 0 10px; } }
            body.index main .casestudy__list li a .text h3 {
              display: -webkit-flex;
              display: flex;
              -webkit-align-items: center;
              align-items: center;
              color: #444444;
              white-space: nowrap; }
              @media only screen and (max-width: 767px) {
                body.index main .casestudy__list li a .text h3 {
                  -webkit-flex-direction: column;
                  flex-direction: column;
                  -webkit-align-items: flex-start;
                  align-items: flex-start; } }
              body.index main .casestudy__list li a .text h3 strong {
                display: block;
                margin-right: 20px;
                font-size: 18px;
                font-size: 1.8rem;
                letter-spacing: .2em;
                font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif; }
                @media only screen and (max-width: 767px) {
                  body.index main .casestudy__list li a .text h3 strong {
                    order: 2;
                    font-size: 12px;
                    font-size: 1.2rem;
                    letter-spacing: .075em;
                    font-feature-settings: "palt"; } }
              body.index main .casestudy__list li a .text h3 small {
                font-size: 10px;
                font-size: 1rem;
                letter-spacing: .075em; }
                @media only screen and (max-width: 767px) {
                  body.index main .casestudy__list li a .text h3 small {
                    order: 1;
                    margin: 0 0 5px; } }
            body.index main .casestudy__list li a .text p {
              color: #444444;
              letter-spacing: .075em;
              font-size: 10px;
              font-size: 1rem;
              line-height: 1.77;
              margin-top: 16px;
              font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif; }
              @media only screen and (max-width: 767px) {
                body.index main .casestudy__list li a .text p {
                  margin-top: 8px;
                  letter-spacing: .025em;
                  line-height: 1.5; } }
        body.index main .casestudy__list li.vertical {
          margin-top: -72px; }
          @media only screen and (max-width: 767px) {
            body.index main .casestudy__list li.vertical {
              margin-top: 0; } }
          body.index main .casestudy__list li.vertical a {
            max-width: 290px; }
        body.index main .casestudy__list li.beside a {
          max-width: 435px; }
        body.index main .casestudy__list li.right a {
          margin-left: auto; }
        body.index main .casestudy__list li.left a {
          margin-right: auto; }
  body.index main .service {
    padding: 68px 0 25px;
    position: relative; }
    body.index main .service:before {
      content: "";
      width: 100%;
      height: 1px;
      display: block;
      background: #cccccc;
      position: absolute;
      top: 0;
      left: 0; }
      @media only screen and (max-width: 767px) {
        body.index main .service:before {
          width: calc(100% - 40px);
          left: 20px; } }
    @media only screen and (max-width: 767px) {
      body.index main .service {
        padding: 28px 0 25px; } }
    body.index main .service .ttl02 {
      margin: 0 0 18px; }
      @media only screen and (max-width: 767px) {
        body.index main .service .ttl02 {
          margin: 0 0 30px; } }
    body.index main .service .read {
      padding: 44px 0 72px; }
      @media only screen and (max-width: 767px) {
        body.index main .service .read {
          padding: 40px 0 70px; } }
      body.index main .service .read h3 {
        font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
        color: #444444;
        font-size: 32px;
        font-size: 3.2rem;
        letter-spacing: .075em;
        line-height: 1.312;
        margin: 0 0 20px; }
        @media only screen and (max-width: 767px) {
          body.index main .service .read h3 {
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.75; } }
      body.index main .service .read p {
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: .025em;
        line-height: 1.999;
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
        @media only screen and (max-width: 767px) {
          body.index main .service .read p {
            font-size: 10px;
            font-size: 1rem;
            line-height: 2; } }
    body.index main .service .img-text-01 {
      width: calc(75.38vw + 50px);
      margin-bottom: 65px; }
      @media only screen and (max-width: 1300px) {
        body.index main .service .img-text-01 {
          width: 100%;
          max-width: 1030px; } }
      @media only screen and (max-width: 767px) {
        body.index main .service .img-text-01 {
          padding: 0 20px;
          width: 100%; } }
      body.index main .service .img-text-01 .text {
        max-width: 660px;
        padding: 0 24px;
        margin-top: 36px;
        color: #444444;
        width: 100%; }
        @media only screen and (min-width: 768px) {
          body.index main .service .img-text-01 .text {
            -webkit-writing-mode: vertical-rl;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
            height: 240px; } }
        @media only screen and (max-width: 767px) {
          body.index main .service .img-text-01 .text {
            padding: 0;
            margin: 28px 0 0; } }
        body.index main .service .img-text-01 .text h4 {
          font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
          font-size: 24px;
          font-size: 2.4rem;
          line-height: 1.6666;
          letter-spacing: .025em;
          margin-left: 30px;
          white-space: nowrap; }
          @media only screen and (max-width: 767px) {
            body.index main .service .img-text-01 .text h4 {
              font-size: 14px;
              font-size: 1.4rem;
              line-height: 1.714;
              letter-spacing: .075em;
              margin: 0 0 12px; } }
        body.index main .service .img-text-01 .text p {
          font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
          font-size: 14px;
          font-size: 1.4rem;
          letter-spacing: .075em;
          line-height: 2.285;
          margin-left: 32px; }
          @media only screen and (max-width: 767px) {
            body.index main .service .img-text-01 .text p {
              font-size: 10px;
              font-size: 1rem;
              line-height: 1.9;
              margin: 0 0 18px; } }
        body.index main .service .img-text-01 .text .detail-link {
          font-size: 12px;
          font-size: 1.2rem;
          letter-spacing: .2em;
          font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
          text-align: right;
          padding-bottom: 10px;
          display: block; }
          @media only screen and (max-width: 767px) {
            body.index main .service .img-text-01 .text .detail-link {
              display: block;
              width: 100%;
              position: relative;
              padding: 0; } }
          @media only screen and (max-width: 767px) {
            body.index main .service .img-text-01 .text .detail-link:before {
              content: "";
              display: inline-block;
              width: 100%;
              height: 1px;
              background: #444;
              position: absolute;
              left: 0;
              bottom: 0; } }
          @media only screen and (max-width: 767px) {
            body.index main .service .img-text-01 .text .detail-link span {
              display: inline-block;
              padding-left: 10px;
              background: #fff;
              font-size: 11px;
              font-size: 1.1rem;
              letter-spacing: .025em;
              position: relative;
              bottom: -5px; } }
          body.index main .service .img-text-01 .text .detail-link span:before {
            content: "";
            display: inline-block;
            width: 1px;
            height: 80px;
            background: #444;
            margin-bottom: 18px; }
            @media only screen and (max-width: 767px) {
              body.index main .service .img-text-01 .text .detail-link span:before {
                content: none; } }
      body.index main .service .img-text-01.left {
        margin-right: auto; }
        @media only screen and (min-width: 768px) {
          body.index main .service .img-text-01.left {
            padding-right: 50px; } }
        body.index main .service .img-text-01.left .text {
          margin-left: auto; }
      body.index main .service .img-text-01.right {
        margin-left: auto; }
        @media only screen and (min-width: 768px) {
          body.index main .service .img-text-01.right {
            padding-left: 50px; } }
        body.index main .service .img-text-01.right .text {
          margin-right: auto; }
    @media only screen and (max-width: 1300px) {
      body.index main .service .img-text-01.produce .text {
        height: 350px; } }
    @media only screen and (max-width: 767px) {
      body.index main .service .img-text-01.produce .text {
        height: auto; } }
  body.index main .brand {
    padding: 65px 0 1px;
    position: relative; }
    body.index main .brand:before {
      content: "";
      width: 100%;
      height: 1px;
      display: block;
      background: #cccccc;
      position: absolute;
      top: 0;
      left: 0; }
      @media only screen and (max-width: 767px) {
        body.index main .brand:before {
          width: calc(100% - 40px);
          left: 20px; } }
    @media only screen and (max-width: 767px) {
      body.index main .brand {
        padding: 30px 0 58px; } }
    body.index main .brand .top {
      margin: 0 0 100px; }
      @media only screen and (max-width: 767px) {
        body.index main .brand .top {
          margin: 0 0 32px; } }
      body.index main .brand .top .text01 {
        margin: 36px 0 0; }
        @media only screen and (max-width: 767px) {
          body.index main .brand .top .text01 {
            margin: 14px 0 0; } }
    body.index main .brand .img-text-02 {
      width: calc(88.46vw + 50px);
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      margin-bottom: 100px; }
      @media only screen and (max-width: 1300px) {
        body.index main .brand .img-text-02 {
          width: 100%;
          max-width: 1200px; } }
      @media only screen and (max-width: 767px) {
        body.index main .brand .img-text-02 {
          margin-bottom: 40px;
          -webkit-flex-direction: column;
          flex-direction: column; } }
      body.index main .brand .img-text-02.left {
        margin-right: auto; }
        @media only screen and (min-width: 768px) {
          body.index main .brand .img-text-02.left {
            padding-right: 50px; } }
      body.index main .brand .img-text-02.right {
        margin-left: auto; }
        @media only screen and (min-width: 768px) {
          body.index main .brand .img-text-02.right {
            padding-left: 50px; } }
        @media only screen and (max-width: 767px) {
          body.index main .brand .img-text-02.right .img-wrap {
            margin-left: auto; } }
      body.index main .brand .img-text-02 .img-wrap {
        width: 65.2%; }
        @media only screen and (max-width: 767px) {
          body.index main .brand .img-text-02 .img-wrap {
            order: 1;
            width: 335px; } }
      body.index main .brand .img-text-02 .text {
        width: 26%;
        padding-top: 58px;
        color: #444444;
        position: relative;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        flex-direction: column;
        -webkit-justify-content: space-between;
        justify-content: space-between; }
        @media only screen and (max-width: 767px) {
          body.index main .brand .img-text-02 .text {
            width: 100%;
            order: 2;
            padding: 36px 40px 0; } }
        body.index main .brand .img-text-02 .text .name {
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: flex-end;
          align-items: flex-end;
          margin-bottom: 55px; }
          @media only screen and (max-width: 767px) {
            body.index main .brand .img-text-02 .text .name {
              margin-bottom: 26px; } }
          body.index main .brand .img-text-02 .text .name strong {
            font-size: 21px;
            font-size: 2.1rem;
            letter-spacing: .075em;
            display: block;
            margin-right: 12px; }
            @media only screen and (max-width: 767px) {
              body.index main .brand .img-text-02 .text .name strong {
                font-size: 14px;
                font-size: 1.4rem;
                margin-right: 7px; } }
          body.index main .brand .img-text-02 .text .name small {
            font-size: 11px;
            font-size: 1.1rem;
            letter-spacing: .075em; }
        body.index main .brand .img-text-02 .text p {
          font-size: 12px;
          font-size: 1.2rem;
          letter-spacing: .075em;
          line-height: 1.8333; }
          @media only screen and (max-width: 767px) {
            body.index main .brand .img-text-02 .text p {
              font-size: 10px;
              font-size: 1rem;
              line-height: 2;
              margin-bottom: 14px; } }
        body.index main .brand .img-text-02 .text .bottom-text {
          font-size: 10px;
          font-size: 1rem;
          font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
          letter-spacing: .2em;
          text-align: right;
          position: relative; }
          body.index main .brand .img-text-02 .text .bottom-text:before {
            content: "";
            width: 100%;
            height: 1px;
            display: block;
            background: #444;
            position: absolute;
            left: 0;
            bottom: 0; }
          body.index main .brand .img-text-02 .text .bottom-text span {
            display: inline-block;
            padding-left: 32px;
            background: #fff;
            position: relative;
            bottom: -1px; }
  body.index main .faq {
    background: #cccccc;
    padding: 65px 0 140px; }
    @media only screen and (max-width: 767px) {
      body.index main .faq {
        padding: 30px 0 62px; } }
    body.index main .faq .ttl02 {
      margin-bottom: 75px; }
      @media only screen and (max-width: 767px) {
        body.index main .faq .ttl02 {
          margin-bottom: 52px; } }
    body.index main .faq__box {
      max-width: 680px;
      margin: 0 auto;
      border-top: 1px solid #fff; }
      @media only screen and (max-width: 767px) {
        body.index main .faq__box {
          border-top: 1px solid #444; } }
      body.index main .faq__box dl {
        border-bottom: 1px solid #fff;
        padding: 14px 0;
        color: #444;
        position: relative;
        cursor: pointer; }
        @media only screen and (max-width: 767px) {
          body.index main .faq__box dl {
            border-bottom: 1px solid #444; } }
        body.index main .faq__box dl.is-active:after {
          opacity: 0; }
        body.index main .faq__box dl:before {
          content: "";
          width: 30px;
          height: 1px;
          display: block;
          background: #444;
          position: absolute;
          right: 3px;
          top: 29px; }
          @media only screen and (max-width: 767px) {
            body.index main .faq__box dl:before {
              width: 20px;
              top: 24px;
              right: 2px; } }
        body.index main .faq__box dl:after {
          content: "";
          height: 30px;
          width: 1px;
          display: block;
          background: #444;
          position: absolute;
          right: 18px;
          top: 15px;
          transition: .3s;
          opacity: 1; }
          @media only screen and (max-width: 767px) {
            body.index main .faq__box dl:after {
              height: 20px;
              top: 15px;
              right: 12px; } }
        body.index main .faq__box dl dt {
          padding: 0 52px 0 28px;
          position: relative;
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: .025em;
          line-height: 2; }
          @media only screen and (max-width: 767px) {
            body.index main .faq__box dl dt {
              font-size: 11px;
              font-size: 1.1rem;
              padding: 0 46px 0 21px; } }
          body.index main .faq__box dl dt:before {
            content: "Q.";
            font-size: 16px;
            font-size: 1.6rem;
            letter-spacing: .025em;
            position: absolute;
            top: 0;
            left: 0; }
            @media only screen and (max-width: 767px) {
              body.index main .faq__box dl dt:before {
                font-size: 11px;
                font-size: 1.1rem; } }
        body.index main .faq__box dl dd {
          margin-top: 10px;
          margin-bottom: 5px;
          padding: 0 52px 0 28px;
          font-size: 12px;
          font-size: 1.2rem;
          letter-spacing: .025em;
          line-height: 2;
          display: none; }
          @media only screen and (max-width: 767px) {
            body.index main .faq__box dl dd {
              font-size: 11px;
              font-size: 1.1rem;
              padding: 0 46px 0 21px; } }

body.recruit main .sec1 {
  margin: 0 0 64px;
  padding: 100px 0; }
  @media only screen and (max-width: 767px) {
    body.recruit main .sec1 {
      padding: 100px 0 70px;
      margin: 0; } }
  @media only screen and (max-width: 767px) {
    body.recruit main .sec1 .ttl02 {
      margin: 0 0 16px; } }
  @media only screen and (max-width: 767px) {
    body.recruit main .sec1 .text {
      margin: 0; } }

body.recruit main .sec2 {
  margin: 0 0 70px;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    body.recruit main .sec2 {
      margin: 0; } }
  body.recruit main .sec2 .ttl02 {
    text-align: center;
    margin: 0 0 100px; }
    @media only screen and (max-width: 767px) {
      body.recruit main .sec2 .ttl02 {
        margin: 0 0 45px; } }

@media only screen and (max-width: 767px) {
  body.recruit main .sec3 {
    padding-top: 40px; } }

body.recruit main .sec3 .ttl02 {
  text-align: center;
  margin: 0 0 108px; }
  @media only screen and (max-width: 767px) {
    body.recruit main .sec3 .ttl02 {
      margin: 0 0 50px; } }

body.recruit main .shop-wrap {
  margin: 28px 0 0; }

body.recruit main .shop-box {
  max-width: 750px;
  margin: 0 auto 70px; }
  @media only screen and (max-width: 767px) {
    body.recruit main .shop-box {
      margin-bottom: 40px; } }
  body.recruit main .shop-box .text {
    margin: 80px 0 0; }
    @media only screen and (max-width: 767px) {
      body.recruit main .shop-box .text {
        margin: 40px 0 0;
        padding: 0 10px; } }
    body.recruit main .shop-box .text .name {
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: flex-end;
      align-items: flex-end;
      margin: 0 0 48px; }
      @media only screen and (max-width: 767px) {
        body.recruit main .shop-box .text .name {
          margin: 0 0 28px;
          -webkit-flex-wrap: wrap;
          flex-wrap: wrap; } }
      body.recruit main .shop-box .text .name strong {
        font-size: 21px;
        font-size: 2.1rem;
        letter-spacing: .075em;
        display: block;
        margin-right: 12px;
        line-height: 1; }
        @media only screen and (max-width: 767px) {
          body.recruit main .shop-box .text .name strong {
            font-size: 14px;
            font-size: 1.4rem;
            margin-right: 7px; } }
      body.recruit main .shop-box .text .name small {
        font-size: 11px;
        font-size: 1.1rem;
        letter-spacing: .075em;
        display: block;
        line-height: 1;
        margin: 0 0 2px; }
        @media only screen and (max-width: 767px) {
          body.recruit main .shop-box .text .name small {
            margin: 0 0 1px; } }
      body.recruit main .shop-box .text .name span {
        margin-left: 12px;
        line-height: 1; }
        @media only screen and (max-width: 767px) {
          body.recruit main .shop-box .text .name span {
            margin: 8px 0 0;
            font-size: 12px;
            font-size: 1.2rem; } }
    body.recruit main .shop-box .text table {
      width: 100%; }
      body.recruit main .shop-box .text table tr {
        border-bottom: 1px solid #cccccc; }
        @media only screen and (max-width: 767px) {
          body.recruit main .shop-box .text table tr {
            border: none;
            display: block;
            margin: 0 0 14px; } }
        body.recruit main .shop-box .text table tr th {
          width: 100px;
          vertical-align: top;
          font-size: 12px;
          font-size: 1.2rem;
          letter-spacing: .075em;
          line-height: 2.5; }
          @media only screen and (max-width: 767px) {
            body.recruit main .shop-box .text table tr th {
              font-size: 10px;
              font-size: 1rem;
              line-height: 2;
              display: block;
              margin: 0 0 4px; } }
        body.recruit main .shop-box .text table tr td {
          vertical-align: top;
          font-size: 12px;
          font-size: 1.2rem;
          letter-spacing: .075em;
          line-height: 2.5; }
          @media only screen and (max-width: 767px) {
            body.recruit main .shop-box .text table tr td {
              font-size: 10px;
              font-size: 1rem;
              line-height: 2;
              display: block; } }
          body.recruit main .shop-box .text table tr td .col2 {
            display: -webkit-flex;
            display: flex; }
            @media only screen and (max-width: 767px) {
              body.recruit main .shop-box .text table tr td .col2 {
                display: block; } }
            body.recruit main .shop-box .text table tr td .col2 .col {
              width: calc(100% - 160px); }
              @media only screen and (max-width: 767px) {
                body.recruit main .shop-box .text table tr td .col2 .col {
                  display: inline; } }
              body.recruit main .shop-box .text table tr td .col2 .col:first-of-type {
                width: 160px; }

body.recruit main .essentials {
  max-width: 665px;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    body.recruit main .essentials {
      padding: 0 10px; } }
  body.recruit main .essentials table {
    width: 100%; }
    body.recruit main .essentials table tr {
      border-bottom: 1px solid #eee; }
      @media only screen and (max-width: 767px) {
        body.recruit main .essentials table tr {
          border: none;
          display: block;
          margin: 0 0 32px; }
          body.recruit main .essentials table tr:nth-of-type(1) {
            margin: 0; }
          body.recruit main .essentials table tr:nth-of-type(3) {
            margin: 0; }
          body.recruit main .essentials table tr:nth-of-type(n+5):nth-of-type(-n+9) {
            margin: 0; } }
      body.recruit main .essentials table tr th {
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: .025em;
        line-height: 1.7;
        width: 27.8%;
        padding: 18px 0; }
        @media only screen and (max-width: 767px) {
          body.recruit main .essentials table tr th {
            font-size: 10px;
            font-size: 1rem;
            line-height: 1.4;
            padding: 0;
            display: block;
            width: 100%; } }
      body.recruit main .essentials table tr td {
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: .025em;
        line-height: 1.7;
        width: 72.2%;
        padding: 18px 0; }
        @media only screen and (max-width: 767px) {
          body.recruit main .essentials table tr td {
            font-size: 10px;
            font-size: 1rem;
            line-height: 2.4;
            padding: 0;
            display: block;
            width: 100%; } }

body.service_detail main .service {
  padding: 150px 0 150px; }
  @media only screen and (max-width: 767px) {
    body.service_detail main .service {
      padding: 25px 0 0px; } }
  body.service_detail main .service .read {
    padding: 0 0 72px; }
    @media only screen and (max-width: 767px) {
      body.service_detail main .service .read {
        padding: 0 0 5px; } }
    body.service_detail main .service .read .inner {
      max-width: 780px; }
      @media only screen and (max-width: 767px) {
        body.service_detail main .service .read .inner {
          padding: 0 30px; } }
    body.service_detail main .service .read h3 {
      font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
      color: #444444;
      font-size: 32px;
      font-size: 3.2rem;
      letter-spacing: .075em;
      line-height: 1.312;
      margin: 0 0 72px; }
      @media only screen and (max-width: 767px) {
        body.service_detail main .service .read h3 {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.75;
          margin: 0 0 28px; } }
    body.service_detail main .service .read h4 {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 2;
      letter-spacing: .075em;
      margin: 0 0 34px;
      font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif; }
      @media only screen and (max-width: 767px) {
        body.service_detail main .service .read h4 {
          line-height: 1.75;
          margin: 0 0 30px; } }
    body.service_detail main .service .read p {
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: .025em;
      line-height: 1.999;
      font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
      margin: 0 0 76px; }
      @media only screen and (max-width: 767px) {
        body.service_detail main .service .read p {
          font-size: 10px;
          font-size: 1rem;
          line-height: 2;
          margin: 0 0 45px; } }
    body.service_detail main .service .read .img-wrap {
      margin: 0 0 72px; }
      @media only screen and (max-width: 767px) {
        body.service_detail main .service .read .img-wrap {
          margin: 0 -10px 44px; } }
  @media only screen and (max-width: 767px) {
    body.service_detail main .service .grey .inner {
      padding: 0; } }
  body.service_detail main .service .grey__box {
    background: #eeeeee;
    padding: 136px 220px 136px; }
    @media only screen and (max-width: 767px) {
      body.service_detail main .service .grey__box {
        padding: 42px 30px 50px; } }
    body.service_detail main .service .grey__box h4 {
      font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
      color: #444444;
      font-size: 32px;
      font-size: 3.2rem;
      letter-spacing: .075em;
      line-height: 1.312;
      margin: 0 0 72px; }
      @media only screen and (max-width: 767px) {
        body.service_detail main .service .grey__box h4 {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.75;
          margin: 0 0 30px; } }
    body.service_detail main .service .grey__box p {
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: .025em;
      line-height: 1.999;
      font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
      margin: 0 0 45px; }
      @media only screen and (max-width: 767px) {
        body.service_detail main .service .grey__box p {
          font-size: 10px;
          font-size: 1rem;
          line-height: 2;
          margin: 0 0 30px; } }
    body.service_detail main .service .grey__box .right {
      text-align: right; }
      body.service_detail main .service .grey__box .right a {
        font-size: 10px;
        font-size: 1rem;
        letter-spacing: .2em;
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
    body.service_detail main .service .grey__box .img-wrap {
      margin-top: 35px; }

body.service_detail main .casestudy {
  position: relative;
  padding: 65px 0 35px; }
  @media only screen and (max-width: 767px) {
    body.service_detail main .casestudy {
      padding: 50px 0 16px; } }
  body.service_detail main .casestudy:before {
    content: "";
    width: 100%;
    height: 1px;
    display: block;
    background: #cccccc;
    position: absolute;
    top: 0;
    left: 0; }
    @media only screen and (max-width: 767px) {
      body.service_detail main .casestudy:before {
        width: calc(100% - 40px);
        left: 20px;
        content: none; } }

body.service_detail main .flow {
  position: relative;
  padding: 65px 0 0px; }
  @media only screen and (max-width: 767px) {
    body.service_detail main .flow {
      padding: 30px 0 0; } }
  body.service_detail main .flow:before {
    content: "";
    width: 100%;
    height: 1px;
    display: block;
    background: #cccccc;
    position: absolute;
    top: 0;
    left: 0; }
    @media only screen and (max-width: 767px) {
      body.service_detail main .flow:before {
        width: calc(100% - 40px);
        left: 20px; } }
  body.service_detail main .flow:after {
    content: "";
    width: 100%;
    height: 1px;
    display: block;
    background: #cccccc;
    position: absolute;
    bottom: 0;
    left: 0; }
    @media only screen and (max-width: 767px) {
      body.service_detail main .flow:after {
        width: calc(100% - 40px);
        left: 20px;
        content: none; } }
  body.service_detail main .flow .ttl02 {
    margin: 0 0 56px; }
    @media only screen and (max-width: 767px) {
      body.service_detail main .flow .ttl02 {
        margin: 0; } }
    body.service_detail main .flow .ttl02 h2 {
      line-height: 1.625; }
  @media only screen and (max-width: 767px) {
    body.service_detail main .flow__mv {
      margin-top: 32px; } }
  body.service_detail main .flow__box {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: calc(88.61vw + 50px);
    padding-right: 50px; }
    @media only screen and (max-width: 1300px) {
      body.service_detail main .flow__box {
        width: 100%;
        max-width: 1200px; } }
    @media only screen and (max-width: 767px) {
      body.service_detail main .flow__box {
        -webkit-flex-direction: column;
        flex-direction: column;
        padding: 0; } }
    body.service_detail main .flow__box .img-wrap-wrap {
      padding: 84px 0px 124px 0;
      width: 52.17%; }
      @media only screen and (max-width: 767px) {
        body.service_detail main .flow__box .img-wrap-wrap {
          order: 2;
          width: 100%;
          padding: 0; } }
    body.service_detail main .flow__box .flow-list {
      width: 38.95%;
      padding-left: 42px;
      position: relative;
      padding-top: 136px;
      padding-bottom: 123px;
      color: #444444; }
      @media only screen and (max-width: 767px) {
        body.service_detail main .flow__box .flow-list {
          order: 1;
          width: calc(100% - 60px);
          margin: 0 auto;
          padding-left: 34px;
          padding-top: 30px;
          padding-bottom: 22px; } }
      body.service_detail main .flow__box .flow-list:before {
        content: "";
        width: 1px;
        height: 100%;
        display: block;
        background: #ccc;
        position: absolute;
        left: 0;
        top: 0; }
        @media only screen and (max-width: 767px) {
          body.service_detail main .flow__box .flow-list:before {
            left: 8px; } }
      body.service_detail main .flow__box .flow-list li {
        margin: 0 0 60px; }
        @media only screen and (max-width: 767px) {
          body.service_detail main .flow__box .flow-list li {
            margin: 0 0 30px; } }
        body.service_detail main .flow__box .flow-list li h3 {
          font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
          letter-spacing: .075em;
          font-size: 21px;
          font-size: 2.1rem;
          line-height: 2;
          margin: 0 0 25px;
          position: relative; }
          @media only screen and (max-width: 767px) {
            body.service_detail main .flow__box .flow-list li h3 {
              font-size: 12px;
              font-size: 1.2rem;
              margin: 0 0 12px; } }
          body.service_detail main .flow__box .flow-list li h3:before {
            content: "";
            width: 22px;
            height: 22px;
            display: block;
            position: absolute;
            top: 9px;
            left: -53px;
            border: 9px solid #444444;
            background: #fff;
            border-radius: 50%;
            box-sizing: border-box; }
            @media only screen and (max-width: 767px) {
              body.service_detail main .flow__box .flow-list li h3:before {
                width: 16px;
                height: 16px;
                border: 7px solid #444444;
                left: -33px;
                top: 5px; } }
        body.service_detail main .flow__box .flow-list li p {
          font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
          letter-spacing: .025em;
          font-size: 12px;
          font-size: 1.2rem;
          line-height: 2.33333; }
          @media only screen and (max-width: 767px) {
            body.service_detail main .flow__box .flow-list li p {
              font-size: 10px;
              font-size: 1rem;
              line-height: 1.8; } }

body.service_detail.product main .mv {
  background: url(../images/service/product/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.service_detail.product main .mv {
      background: url(../images/service/product/mv_sp.jpg) center center/cover no-repeat; } }

body.service_detail.consulting main .mv {
  background: url(../images/service/consulting/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.service_detail.consulting main .mv {
      background: url(../images/service/consulting/mv_sp.jpg) center center/cover no-repeat; } }

body.service_detail.system main .mv {
  background: url(../images/system/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.service_detail.system main .mv {
      background: url(../images/system/mv_sp.jpg) center center/cover no-repeat; } }

body.service_detail.system main .service {
  padding-bottom: 0; }
  body.service_detail.system main .service .read .logo {
    width: 14px;
    margin: 94px auto 78px; }
    @media only screen and (max-width: 767px) {
      body.service_detail.system main .service .read .logo {
        margin: 26px auto 22px; } }

body.service_detail.produce main .service .read h3,
body.service_detail.lacrepe main .service .read h3 {
  white-space: nowrap; }

@media only screen and (min-width: 768px) {
  body.service_detail.produce main .service .read h4,
  body.service_detail.lacrepe main .service .read h4 {
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 0.1em; } }

@media only screen and (max-width: 767px) {
  body.service_detail.produce main .service .read h4,
  body.service_detail.lacrepe main .service .read h4 {
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: 0.075em;
    margin-bottom: 10px; } }

body.service_detail.produce main .base,
body.service_detail.lacrepe main .base {
  max-width: 1050px;
  margin: 0 auto 120px; }
  @media only screen and (max-width: 767px) {
    body.service_detail.produce main .base,
    body.service_detail.lacrepe main .base {
      margin-bottom: 65px; } }
  body.service_detail.produce main .base + .read,
  body.service_detail.lacrepe main .base + .read {
    padding-bottom: 0; }
  body.service_detail.produce main .base__box,
  body.service_detail.lacrepe main .base__box {
    background: #eeeeee;
    padding: 95px 0 105px; }
    @media only screen and (max-width: 767px) {
      body.service_detail.produce main .base__box,
      body.service_detail.lacrepe main .base__box {
        padding: 70px 30px 70px; } }
  @media only screen and (min-width: 768px) {
    body.service_detail.produce main .base__inner,
    body.service_detail.lacrepe main .base__inner {
      position: relative;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      max-width: 660px;
      min-height: 600px;
      margin: 0 auto; } }
  @media only screen and (max-width: 767px) {
    body.service_detail.produce main .base__inner,
    body.service_detail.lacrepe main .base__inner {
      max-width: 500px;
      margin: 0 auto; } }
  @media only screen and (min-width: 768px) {
    body.service_detail.produce main .base .img-wrap,
    body.service_detail.lacrepe main .base .img-wrap {
      width: 250px; } }
  @media only screen and (min-width: 768px) {
    body.service_detail.produce main .base .txt-wrap,
    body.service_detail.lacrepe main .base .txt-wrap {
      width: 52%; } }
  body.service_detail.produce main .base .name,
  body.service_detail.lacrepe main .base .name {
    margin-top: 40px;
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif; }
    body.service_detail.produce main .base .name small,
    body.service_detail.lacrepe main .base .name small {
      display: block;
      font-size: 10px;
      font-size: 1rem; }
    body.service_detail.produce main .base .name strong,
    body.service_detail.lacrepe main .base .name strong {
      display: block;
      margin-top: 7px;
      font-size: 21px;
      font-size: 2.1rem; }
      @media only screen and (max-width: 767px) {
        body.service_detail.produce main .base .name strong,
        body.service_detail.lacrepe main .base .name strong {
          font-size: 14px;
          font-size: 1.4rem; } }
  body.service_detail.produce main .base .txt,
  body.service_detail.lacrepe main .base .txt {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.025em;
    line-height: 2; }
    @media only screen and (max-width: 767px) {
      body.service_detail.produce main .base .txt,
      body.service_detail.lacrepe main .base .txt {
        margin-top: 20px;
        font-size: 10px;
        font-size: 1rem;
        letter-spacing: 0.075em; } }
  body.service_detail.produce main .base .address,
  body.service_detail.lacrepe main .base .address {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.025em;
    line-height: 1.85;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
    @media only screen and (min-width: 768px) {
      body.service_detail.produce main .base .address,
      body.service_detail.lacrepe main .base .address {
        position: absolute;
        left: 0;
        top: 480px; } }
    @media only screen and (max-width: 767px) {
      body.service_detail.produce main .base .address,
      body.service_detail.lacrepe main .base .address {
        margin-top: 60px;
        font-size: 10px;
        font-size: 1rem;
        letter-spacing: 0.075em; } }

body.service_detail.produce main .application,
body.service_detail.lacrepe main .application {
  width: calc(100% - 60px);
  max-width: 1050px;
  margin: 0 auto; }
  body.service_detail.produce main .application__box,
  body.service_detail.lacrepe main .application__box {
    border: 1px solid #C9C9C9;
    padding: 60px 30px; }
    @media only screen and (max-width: 767px) {
      body.service_detail.produce main .application__box,
      body.service_detail.lacrepe main .application__box {
        padding: 40px 30px; } }
  body.service_detail.produce main .application__inner,
  body.service_detail.lacrepe main .application__inner {
    max-width: 660px;
    margin: 0 auto;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.025em;
    line-height: 2;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
    @media only screen and (max-width: 767px) {
      body.service_detail.produce main .application__inner,
      body.service_detail.lacrepe main .application__inner {
        font-size: 10px;
        font-size: 1rem;
        letter-spacing: 0.075em;
        line-height: 1.85;
        text-align: center; } }

@media only screen and (max-width: 767px) {
  body.service_detail.produce main .flow,
  body.service_detail.lacrepe main .flow {
    padding-top: 80px; } }

@media only screen and (max-width: 767px) {
  body.service_detail.produce main .flow::before,
  body.service_detail.lacrepe main .flow::before {
    display: none; } }

@media only screen and (max-width: 767px) {
  body.service_detail.produce main .flow .ttl02,
  body.service_detail.lacrepe main .flow .ttl02 {
    text-align: left; }
    body.service_detail.produce main .flow .ttl02 h2,
    body.service_detail.lacrepe main .flow .ttl02 h2 {
      font-size: 16px;
      font-size: 1.6rem; }
    body.service_detail.produce main .flow .ttl02 small,
    body.service_detail.lacrepe main .flow .ttl02 small {
      display: none; } }

@media only screen and (max-width: 767px) {
  body.service_detail.produce main .contact,
  body.service_detail.lacrepe main .contact {
    padding: 50px 0; } }

body.service_detail.produce .casestudy:before,
body.service_detail.lacrepe .casestudy:before {
  content: none; }

body.service_detail.produce .casestudy:after,
body.service_detail.lacrepe .casestudy:after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: #cccccc;
  position: absolute;
  bottom: 0;
  left: 0; }

body.service_detail.produce main .mv {
  background: url(../images/service/produce/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.service_detail.produce main .mv {
      background: url(../images/service/produce/mv_sp.jpg) center center/cover no-repeat; } }

body.service_detail.lacrepe main .mv {
  background: url(../images/service/lacrepe/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.service_detail.lacrepe main .mv {
      background: url(../images/service/lacrepe/mv_sp.jpg) center center/cover no-repeat; } }

@media only screen and (max-width: 767px) {
  body.service_detail.lacrepe main .application__inner {
    text-align: left; } }

@media only screen and (max-width: 767px) {
  body.service main .top {
    padding: 72px 0 30px; } }

body.service main .mv {
  background: url(../images/service/mv.jpg) center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    body.service main .mv {
      height: 222px; } }
  body.service main .mv__text small {
    margin: 104px 0 0px; }

body.service main .service .read {
  padding: 130px 0 145px; }
  @media only screen and (max-width: 767px) {
    body.service main .service .read {
      padding: 42px 0 70px; } }
  body.service main .service .read .inner {
    max-width: 780px; }
  body.service main .service .read h3 {
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
    color: #444444;
    font-size: 32px;
    font-size: 3.2rem;
    letter-spacing: .075em;
    line-height: 1.312;
    margin: 0 0 20px; }
    @media only screen and (max-width: 767px) {
      body.service main .service .read h3 {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.75; } }
  body.service main .service .read p {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: .025em;
    line-height: 1.999;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
    @media only screen and (max-width: 767px) {
      body.service main .service .read p {
        font-size: 10px;
        font-size: 1rem;
        line-height: 2; } }

body.service main .service .img-text-01 {
  width: calc(75.38vw + 50px);
  margin-bottom: 65px; }
  @media only screen and (max-width: 1300px) {
    body.service main .service .img-text-01 {
      width: 100%;
      max-width: 1030px; } }
  @media only screen and (max-width: 767px) {
    body.service main .service .img-text-01 {
      padding: 0 20px;
      width: 100%; } }
  body.service main .service .img-text-01 .text {
    max-width: 660px;
    padding: 0 24px;
    margin-top: 36px;
    color: #444444;
    width: 100%; }
    @media only screen and (min-width: 768px) {
      body.service main .service .img-text-01 .text {
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        height: 240px; } }
    @media only screen and (max-width: 767px) {
      body.service main .service .img-text-01 .text {
        padding: 0;
        margin: 28px 0 0; } }
    body.service main .service .img-text-01 .text h4 {
      font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
      font-size: 24px;
      font-size: 2.4rem;
      line-height: 1.6666;
      letter-spacing: .025em;
      margin-left: 30px;
      white-space: nowrap; }
      @media only screen and (max-width: 767px) {
        body.service main .service .img-text-01 .text h4 {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 1.714;
          letter-spacing: .075em;
          margin: 0 0 12px; } }
    body.service main .service .img-text-01 .text p {
      font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: .075em;
      line-height: 2.285;
      margin-left: 32px; }
      @media only screen and (max-width: 767px) {
        body.service main .service .img-text-01 .text p {
          font-size: 10px;
          font-size: 1rem;
          line-height: 1.9;
          margin: 0 0 18px; } }
    body.service main .service .img-text-01 .text .detail-link {
      font-size: 12px;
      font-size: 1.2rem;
      letter-spacing: .2em;
      font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
      text-align: right;
      padding-bottom: 10px;
      display: block; }
      @media only screen and (max-width: 767px) {
        body.service main .service .img-text-01 .text .detail-link {
          display: block;
          width: 100%;
          position: relative;
          padding: 0; } }
      @media only screen and (max-width: 767px) {
        body.service main .service .img-text-01 .text .detail-link:before {
          content: "";
          display: inline-block;
          width: 100%;
          height: 1px;
          background: #444;
          position: absolute;
          left: 0;
          bottom: 0; } }
      @media only screen and (max-width: 767px) {
        body.service main .service .img-text-01 .text .detail-link span {
          display: inline-block;
          padding-left: 10px;
          background: #fff;
          font-size: 11px;
          font-size: 1.1rem;
          letter-spacing: .025em;
          position: relative;
          bottom: -5px; } }
      body.service main .service .img-text-01 .text .detail-link span:before {
        content: "";
        display: inline-block;
        width: 1px;
        height: 80px;
        background: #444;
        margin-bottom: 18px; }
        @media only screen and (max-width: 767px) {
          body.service main .service .img-text-01 .text .detail-link span:before {
            content: none; } }
  body.service main .service .img-text-01.left {
    margin-right: auto; }
    @media only screen and (min-width: 768px) {
      body.service main .service .img-text-01.left {
        padding-right: 50px; } }
    body.service main .service .img-text-01.left .text {
      margin-left: auto; }
  body.service main .service .img-text-01.right {
    margin-left: auto; }
    @media only screen and (min-width: 768px) {
      body.service main .service .img-text-01.right {
        padding-left: 50px; } }
    body.service main .service .img-text-01.right .text {
      margin-right: auto; }

@media only screen and (max-width: 1300px) {
  body.service main .service .img-text-01.produce .text {
    height: 350px; } }

@media only screen and (max-width: 767px) {
  body.service main .service .img-text-01.produce .text {
    height: auto; } }

/* 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: #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.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: #292b2d;
  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; }
