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

@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;
  color: #333333;
  -webkit-text-size-adjust: 100%; }

* {
  font-size: 14px;
  font-size: 1.4rem;
  box-sizing: border-box; }

main {
  background: #fff; }
  main::before {
    content: '';
    width: 100%;
    height: 100vh;
    display: block;
    position: fixed;
    top: 0;
    bottom: 0px;
    left: 0;
    background-image: url(../images/footer/footer-bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1; }
    @media only screen and (max-width: 767px) {
      main::before {
        background-image: url(../images/footer/footer-bg-sp.jpg); } }
  main.top_hide::before {
    display: none; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  color: inherit;
  text-decoration: none; }

.inner {
  width: calc(100% - 50px);
  max-width: 1000px;
  margin: 0 auto; }

.inner-sub {
  width: calc(100% - 50px);
  max-width: 960px;
  margin: 0 auto; }

.footer {
  position: relative;
  background: #fff;
  top: 350px; }
  @media only screen and (max-width: 767px) {
    .footer {
      top: 308px; } }
  .footer .img-wrapper {
    position: relative;
    overflow: hidden;
    height: 372px;
    width: 100%; }
    .footer .img-wrapper .img-cont {
      position: absolute;
      top: -100px;
      height: calc(100% + 100px);
      width: 100%; }
      @media only screen and (max-width: 767px) {
        .footer .img-wrapper .img-cont {
          background-image: url(../images/footer/footer-bg-sp.jpg);
          height: 308px;
          top: 0; } }
  .footer .contact-area {
    position: absolute;
    left: 50%;
    top: -270px;
    transform: translateX(-50%);
    background-color: #333;
    width: calc(100% - 50px);
    max-width: 1000px;
    margin: 0 auto;
    color: #fff;
    padding: 45px 0px 75px; }
    @media only screen and (max-width: 767px) {
      .footer .contact-area {
        width: calc(100% - 80px);
        padding: 35px 25px 37px; } }
    .footer .contact-area .cont {
      max-width: 640px;
      margin: 0 auto; }
      .footer .contact-area .cont h3 {
        text-align: center; }
        .footer .contact-area .cont h3 .en {
          font-family: "EB Garamond", serif;
          font-size: 42px;
          font-size: 4.2rem;
          letter-spacing: 0.1em; }
          @media only screen and (max-width: 767px) {
            .footer .contact-area .cont h3 .en {
              font-size: 32px;
              font-size: 3.2rem; } }
        .footer .contact-area .cont h3 .ja {
          font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: 0.1em;
          font-weight: 500;
          margin-left: 10px;
          display: inline-block; }
      .footer .contact-area .cont p {
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: 0.06em;
        font-weight: 500;
        margin: 40px 0 50px; }
        @media only screen and (max-width: 767px) {
          .footer .contact-area .cont p {
            font-size: 14px;
            font-size: 1.4rem;
            letter-spacing: 0em;
            line-height: 1.857142857;
            margin: 20px 0 25px; } }
        @media only screen and (device-aspect-ratio: 139 / 199) {
          .footer .contact-area .cont p {
            font-size: 13px; } }
        @media only screen and (device-aspect-ratio: 512 / 683) {
          .footer .contact-area .cont p {
            font-size: 13px; } }
    .footer .contact-area .link-cont {
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        .footer .contact-area .link-cont {
          flex-direction: column; } }
      .footer .contact-area .link-cont .link {
        width: 47.6635514%;
        height: 80px;
        border: 1px solid rgba(255, 255, 255, 0.5);
        transition: .2s; }
        @media only screen and (max-width: 767px) {
          .footer .contact-area .link-cont .link {
            width: 100%; }
            .footer .contact-area .link-cont .link:nth-of-type(2) {
              margin-top: 10px; }
              .footer .contact-area .link-cont .link:nth-of-type(2) a {
                align-items: flex-start;
                line-height: 1.5; } }
        .footer .contact-area .link-cont .link:hover {
          color: #E65C17;
          border: 1px solid #E65C17; }
          .footer .contact-area .link-cont .link:hover:nth-of-type(2) a:before {
            transform: translate(10px, -50%); }
        .footer .contact-area .link-cont .link:nth-of-type(2) a {
          padding-left: 30px; }
          .footer .contact-area .link-cont .link:nth-of-type(2) a:before {
            content: '';
            width: 10.97px;
            height: 8.49px;
            position: absolute;
            top: 50%;
            left: inherit;
            right: 30px;
            transform: translateY(-50%);
            background-image: url(../images/footer/icn-arrow.svg);
            background-repeat: no-repeat;
            background-size: contain;
            background-position: center;
            transition: .3s; }
          .footer .contact-area .link-cont .link:nth-of-type(2) a span {
            font-size: 12px;
            font-size: 1.2rem;
            letter-spacing: 0.06em;
            font-weight: bold; }
            @media only screen and (max-width: 767px) {
              .footer .contact-area .link-cont .link:nth-of-type(2) a span {
                font-size: 14px;
                font-size: 1.4rem; } }
            @media only screen and (device-aspect-ratio: 139 / 199) {
              .footer .contact-area .link-cont .link:nth-of-type(2) a span {
                font-size: 11px; } }
            @media only screen and (device-aspect-ratio: 512 / 683) {
              .footer .contact-area .link-cont .link:nth-of-type(2) a span {
                font-size: 11px; } }
        .footer .contact-area .link-cont .link a {
          height: 100%;
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
          align-items: center;
          padding-left: 45px;
          padding-right: 18px;
          position: relative; }
          @media only screen and (max-width: 767px) {
            .footer .contact-area .link-cont .link a {
              flex-direction: column;
              align-items: center;
              justify-content: center;
              padding-left: 50px; } }
          .footer .contact-area .link-cont .link a:before {
            content: '';
            width: 13.65px;
            height: 19.24px;
            position: absolute;
            top: calc(50% + 2px);
            left: 20px;
            transform: translateY(-50%);
            background-image: url(../images/footer/icn-tel.svg);
            background-repeat: no-repeat;
            background-size: contain;
            background-position: center; }
            @media only screen and (max-width: 767px) {
              .footer .contact-area .link-cont .link a:before {
                top: calc(50% - 12px);
                left: calc(50% - 95px); } }
          .footer .contact-area .link-cont .link a span.num {
            font-size: 28px;
            font-size: 2.8rem;
            letter-spacing: 0.04em;
            font-family: "EB Garamond", serif;
            padding-right: 10px;
            white-space: nowrap; }
            @media only screen and (device-aspect-ratio: 139 / 199) {
              .footer .contact-area .link-cont .link a span.num {
                font-size: 25px; } }
            @media only screen and (device-aspect-ratio: 512 / 683) {
              .footer .contact-area .link-cont .link a span.num {
                font-size: 25px; } }
          .footer .contact-area .link-cont .link a span.text {
            font-size: 12px;
            font-size: 1.2rem;
            letter-spacing: 0.04em;
            font-weight: 500;
            line-height: 1.5; }
            @media only screen and (device-aspect-ratio: 139 / 199) {
              .footer .contact-area .link-cont .link a span.text {
                font-size: 10px; } }
            @media only screen and (device-aspect-ratio: 512 / 683) {
              .footer .contact-area .link-cont .link a span.text {
                font-size: 10px; } }
            @media only screen and (max-width: 767px) {
              .footer .contact-area .link-cont .link a span.text {
                margin-top: 10px;
                margin-right: auto; } }
  .footer .footer-cont {
    padding: 130px 0 30px; }
    @media only screen and (max-width: 767px) {
      .footer .footer-cont {
        padding: 90px 15px 30px; } }
    .footer .footer-cont .cont-wrap .cont {
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        .footer .footer-cont .cont-wrap .cont {
          flex-direction: column;
          padding-bottom: 23px; } }
      .footer .footer-cont .cont-wrap .cont .left {
        width: 31%; }
        @media only screen and (max-width: 767px) {
          .footer .footer-cont .cont-wrap .cont .left {
            width: 100%; } }
        .footer .footer-cont .cont-wrap .cont .left .address {
          margin-top: 30px;
          font-size: 15px;
          font-size: 1.5rem;
          letter-spacing: 0.02em;
          line-height: 1.866666667; }
          @media only screen and (device-aspect-ratio: 139 / 199) {
            .footer .footer-cont .cont-wrap .cont .left .address {
              font-size: 12px; } }
          @media only screen and (device-aspect-ratio: 512 / 683) {
            .footer .footer-cont .cont-wrap .cont .left .address {
              font-size: 12px; } }
          @media only screen and (max-width: 767px) {
            .footer .footer-cont .cont-wrap .cont .left .address {
              letter-spacing: 0em;
              margin-top: 25px;
              font-size: 14px;
              font-size: 1.4rem; } }
          @media screen and (min-width: 768px) and (max-width: 1030px) {
            .footer .footer-cont .cont-wrap .cont .left .address {
              font-size: 13px;
              font-size: 1.3rem; } }
          @media screen and (min-width: 768px) and (max-width: 900px) {
            .footer .footer-cont .cont-wrap .cont .left .address {
              font-size: 11px;
              font-size: 1.1rem; } }
          @media only screen and (min-width: 768px) {
            .footer .footer-cont .cont-wrap .cont .left .address a {
              transition: .3s; }
              .footer .footer-cont .cont-wrap .cont .left .address a:hover {
                opacity: .7; } }
      .footer .footer-cont .cont-wrap .cont .right {
        width: 62.2%; }
        @media only screen and (max-width: 767px) {
          .footer .footer-cont .cont-wrap .cont .right {
            width: 100%; } }
        .footer .footer-cont .cont-wrap .cont .right ul {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap; }
          @media only screen and (max-width: 767px) {
            .footer .footer-cont .cont-wrap .cont .right ul {
              margin-top: 30px;
              white-space: nowrap; } }
          .footer .footer-cont .cont-wrap .cont .right ul:nth-of-type(1) {
            padding-bottom: 25px;
            border-bottom: 1px solid #B3B3B3; }
            @media only screen and (max-width: 767px) {
              .footer .footer-cont .cont-wrap .cont .right ul:nth-of-type(1) {
                padding-bottom: 23px; } }
          .footer .footer-cont .cont-wrap .cont .right ul:nth-of-type(2) {
            padding-top: 25px;
            justify-content: flex-start; }
            @media only screen and (max-width: 767px) {
              .footer .footer-cont .cont-wrap .cont .right ul:nth-of-type(2) {
                margin-top: 0; } }
            .footer .footer-cont .cont-wrap .cont .right ul:nth-of-type(2) li {
              width: 27% !important; }
              @media only screen and (max-width: 767px) {
                .footer .footer-cont .cont-wrap .cont .right ul:nth-of-type(2) li {
                  width: 37.6101695% !important; } }
              .footer .footer-cont .cont-wrap .cont .right ul:nth-of-type(2) li:nth-of-type(2) {
                width: 61.5% !important;
                position: relative;
                left: 5px; }
                .footer .footer-cont .cont-wrap .cont .right ul:nth-of-type(2) li:nth-of-type(2) a {
                  display: flex;
                  align-items: center; }
                  .footer .footer-cont .cont-wrap .cont .right ul:nth-of-type(2) li:nth-of-type(2) a img {
                    margin-left: 12px; }
            .footer .footer-cont .cont-wrap .cont .right ul:nth-of-type(2) a:before {
              background-color: #333333; }
          .footer .footer-cont .cont-wrap .cont .right ul li {
            width: 25%;
            padding-left: 15px; }
            @media only screen and (min-width: 768px) {
              .footer .footer-cont .cont-wrap .cont .right ul li:nth-of-type(4n + 1) {
                width: 23.4358974%; } }
  @media only screen and (min-width: 768px) and (max-width: 767px) {
    .footer .footer-cont .cont-wrap .cont .right ul li:nth-of-type(4n + 1) {
      width: 62.7118644%; } }
            @media only screen and (min-width: 768px) {
              .footer .footer-cont .cont-wrap .cont .right ul li:nth-of-type(4n + 2) {
                width: 18.4294872%; } }
  @media only screen and (min-width: 768px) and (min-width: 768px) {
    .footer .footer-cont .cont-wrap .cont .right ul li:nth-of-type(4n + 2) {
      transform: translateX(5px); } }
  @media only screen and (min-width: 768px) and (max-width: 767px) {
    .footer .footer-cont .cont-wrap .cont .right ul li:nth-of-type(4n + 2) {
      width: 33.8983051%; } }
            @media only screen and (min-width: 768px) {
              .footer .footer-cont .cont-wrap .cont .right ul li:nth-of-type(4n + 3) {
                width: 35.2564103%;
                transform: translateX(10px); }
              .footer .footer-cont .cont-wrap .cont .right ul li:nth-of-type(4n + 4) {
                width: 12.8205128%; }
              .footer .footer-cont .cont-wrap .cont .right ul li:nth-of-type(n + 5) {
                margin-top: 5px; } }

@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1035px) {
  .footer .footer-cont .cont-wrap .cont .right ul li {
    padding-left: 0; } }
            @media only screen and (max-width: 767px) {
              .footer .footer-cont .cont-wrap .cont .right ul li:nth-of-type(2n + 1) {
                width: 62.7118644%; }
              .footer .footer-cont .cont-wrap .cont .right ul li:nth-of-type(2n + 2) {
                width: 33.8983051%; }
              .footer .footer-cont .cont-wrap .cont .right ul li:nth-of-type(n + 3) {
                margin-top: 2px; } }
            .footer .footer-cont .cont-wrap .cont .right ul li a {
              display: block;
              height: 100%;
              font-size: 15px;
              font-size: 1.5rem;
              letter-spacing: 0.02em;
              line-height: 1.866666667;
              font-weight: 500;
              position: relative; }
              @media only screen and (device-aspect-ratio: 139 / 199) {
                .footer .footer-cont .cont-wrap .cont .right ul li a {
                  font-size: 13px; } }
              @media only screen and (device-aspect-ratio: 512 / 683) {
                .footer .footer-cont .cont-wrap .cont .right ul li a {
                  font-size: 13px; } }
              @media only screen and (max-width: 767px) {
                .footer .footer-cont .cont-wrap .cont .right ul li a {
                  font-size: 14px;
                  font-size: 1.4rem;
                  letter-spacing: 0em; } }
              @media only screen and (min-width: 768px) {
                .footer .footer-cont .cont-wrap .cont .right ul li a {
                  transition: .3s; }
                  .footer .footer-cont .cont-wrap .cont .right ul li a:hover {
                    color: #E65C17; }
                    .footer .footer-cont .cont-wrap .cont .right ul li a:hover:before {
                      background-color: #E65C17; } }
  @media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1035px) {
    .footer .footer-cont .cont-wrap .cont .right ul li a {
      font-size: 12px;
      font-size: 1.2rem; } }
              .footer .footer-cont .cont-wrap .cont .right ul li a:before {
                content: '';
                width: 8px;
                height: 1px;
                position: absolute;
                top: 50%;
                transform: translateY(-50%);
                left: -15px;
                background-color: #E65C17;
                transition: .3s; }
    .footer .footer-cont .cont-wrap .footer-seo-text p {
      font-size: 11px;
      font-size: 1.1rem;
      letter-spacing: 0em;
      line-height: 2;
      font-weight: 500;
      margin-top: 50px;
      display: none; }
    .footer .footer-cont .footer-text {
      margin-top: 60px;
      padding-top: 30px;
      border-top: 1px solid #B3B3B3; }
      @media only screen and (max-width: 767px) {
        .footer .footer-cont .footer-text {
          margin-top: 0;
          padding-top: 28px; } }
      .footer .footer-cont .footer-text span {
        font-size: 11px;
        font-size: 1.1rem;
        letter-spacing: 0em;
        font-weight: 500; }
  .footer #to-top {
    appearance: none;
    padding: 0;
    width: 60px;
    height: 60px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    background: none;
    border: none;
    z-index: 98;
    -webkit-appearance: none;
    background-color: #FF8B52;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center; }
    .footer #to-top.is-visible {
      opacity: 1;
      pointer-events: all;
      text-align: center; }
    @media only screen and (max-width: 767px) {
      .footer #to-top {
        bottom: 20px;
        right: 20px; } }

.header {
  background-color: inherit;
  color: #fff;
  position: absolute;
  left: 0;
  right: 0;
  padding: 0 30px;
  z-index: 100; }
  @media only screen and (max-width: 767px) {
    .header {
      padding: 0 25px; }
      .header.is-active {
        background-color: #333333; }
        .header.is-active .gnav-wrapper {
          display: block; }
        .header.is-active .header-cont {
          border-bottom: 1px solid #707070; }
      .header.fixed {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        background-color: #fff; }
        .header.fixed .header-cont a svg {
          fill: #333; }
        .header.fixed .hamburger_box span {
          background-color: #333 !important; } }
  .header .logo svg {
    fill: #fff; }
  .header:not(.logo-white) {
    background-color: #fff;
    color: #333333;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 100px; }
    @media only screen and (max-width: 767px) {
      .header:not(.logo-white) {
        height: 70px; } }
    .header:not(.logo-white) .seo-text {
      display: none; }
    .header:not(.logo-white) .logo svg {
      fill: #333333; }
    .header:not(.logo-white) .triga .icn:before {
      border-right: 1px solid #E65C17 !important;
      border-bottom: 1px solid #E65C17 !important; }
    .header:not(.logo-white) .triga:hover .icn:before {
      border-right: 1px solid #E65C17 !important;
      border-bottom: 1px solid #E65C17 !important; }
    .header:not(.logo-white) .header-cont {
      padding-top: 0; }
      .header:not(.logo-white) .header-cont .logo {
        padding-top: 0; }
      @media screen and (min-width: 768px) and (max-width: 1025px) {
        .header:not(.logo-white) .header-cont .gnav .item {
          font-size: 12px;
          font-size: 1.2rem; } }
      @media screen and (min-width: 768px) and (max-width: 915px) {
        .header:not(.logo-white) .header-cont .gnav .item {
          font-size: 10px;
          font-size: 1rem; } }
    .header:not(.logo-white) .gnav-wrapper .gnav .triga:before {
      border-right: 1px solid #E65C17;
      border-bottom: 1px solid #E65C17;
      top: 50%; }
    .header:not(.logo-white) .gnav-wrapper .contact-btn .num {
      border-bottom: 1px solid #333; }
      .header:not(.logo-white) .gnav-wrapper .contact-btn .num svg {
        fill: #333333; }
    .header:not(.logo-white) .gnav-toggle .hamburger_box span {
      background: #333333; }
  .header .seo-text {
    position: absolute;
    top: 30px;
    left: 30px; }
  .header .header-cont {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100px;
    padding-top: 20px;
    position: relative;
    z-index: 10; }
    @media only screen and (max-width: 767px) {
      .header .header-cont {
        width: 100%;
        height: 70px;
        padding-top: 0; } }
  .header .logo {
    height: 100%;
    width: 160px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    padding-top: 15px; }
    @media only screen and (max-width: 767px) {
      .header .logo {
        padding-top: 0px;
        margin-left: 5px; } }
    @media screen and (min-width: 768px) and (max-width: 915px) {
      .header .logo {
        width: 80px; } }
  .header .gnav-wrapper {
    display: flex;
    align-items: center;
    height: 100%; }
    @media only screen and (max-width: 767px) {
      .header .gnav-wrapper {
        position: absolute;
        top: 70px;
        left: -25px;
        width: calc(100% + 50px);
        height: calc(100vh - 70px);
        flex-direction: column;
        background-color: #333333;
        padding: 50px 25px;
        overflow-y: scroll;
        padding-bottom: 50px;
        display: none;
        transition: .3s;
        border-top: 1px solid #333333; } }
    .header .gnav-wrapper .gnav {
      display: flex;
      align-items: center;
      height: 100%; }
      @media only screen and (max-width: 767px) {
        .header .gnav-wrapper .gnav {
          flex-direction: column;
          padding-bottom: 50px;
          width: 100%;
          height: auto;
          border-bottom: 1px solid #707070; } }
      .header .gnav-wrapper .gnav li {
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: 0.06em;
        font-weight: 500;
        height: 100%;
        display: flex;
        align-items: center; }
        @media only screen and (min-width: 768px) {
          .header .gnav-wrapper .gnav li:nth-of-type(n + 3) {
            margin-left: 30px; } }
        @media screen and (min-width: 768px) and (max-width: 1025px) {
          .header .gnav-wrapper .gnav li {
            font-size: 12px;
            font-size: 1.2rem; } }
        @media screen and (min-width: 768px) and (max-width: 915px) {
          .header .gnav-wrapper .gnav li {
            font-size: 10px;
            font-size: 1rem; } }
        @media only screen and (max-width: 767px) {
          .header .gnav-wrapper .gnav li {
            font-size: 18px;
            font-size: 1.8rem;
            letter-spacing: 0.02em;
            font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
            height: auto; }
            .header .gnav-wrapper .gnav li:nth-of-type(n + 3) {
              margin-top: 25px; } }
        .header .gnav-wrapper .gnav li.triga {
          z-index: 1;
          display: flex;
          align-items: center;
          /*
                    .sub-menu-wrap {
                        position: absolute;
                        top: 100px;
                        left: 50%;
                        transform: translateX(-50%);
                        display: none;
                        width: 100vw;
                        height: 150px;
                        animation-name: slideTextY100;
                        animation-duration: .8s;
                        animation-fill-mode: forwards;

                        @keyframes slideTextY100 {
                            0% {
                                transform: translate(-50%, -100px);
                                opacity: 0;
                            }

                            100% {
                                transform: translate(-50%, 0);
                                opacity: 1;
                            }
                        }
*/ }
          @media only screen and (min-width: 768px) {
            .header .gnav-wrapper .gnav li.triga {
              transition: .2s;
              cursor: pointer;
              padding-right: 15px; }
              .header .gnav-wrapper .gnav li.triga:hover span {
                color: #E65C17; }
              .header .gnav-wrapper .gnav li.triga:hover span.icn:before {
                border-right: 1px solid #E65C17;
                border-bottom: 1px solid #E65C17; }
              .header .gnav-wrapper .gnav li.triga.active span.icn:before {
                transform: rotate(225deg);
                border-right: 1px solid #E65C17;
                border-bottom: 1px solid #E65C17; }
              .header .gnav-wrapper .gnav li.triga span.icn img {
                display: block;
                margin-left: 11px; }
              .header .gnav-wrapper .gnav li.triga span.icn {
                position: relative; }
                .header .gnav-wrapper .gnav li.triga span.icn:before {
                  content: '';
                  border-right: 1px solid #fff;
                  border-bottom: 1px solid #fff;
                  position: absolute;
                  right: -15px;
                  top: 50%;
                  transform: translateY(-50%) rotate(45deg);
                  height: 5px;
                  width: 5px;
                  transition: .2s; } }
          .header .gnav-wrapper .gnav li.triga .sub-menu-wrap {
            position: absolute;
            top: 100px;
            left: 50%;
            transform: translateX(-50%);
            display: none;
            width: 100vw;
            height: 150px;
            opacity: 0;
            transition: .3s; }
            @media only screen and (min-width: 768px) {
              .header .gnav-wrapper .gnav li.triga .sub-menu-wrap.active {
                opacity: 1; } }
            .header .gnav-wrapper .gnav li.triga .sub-menu-wrap .wrapper {
              width: 100%;
              background-color: #F7F7F7; }
              .header .gnav-wrapper .gnav li.triga .sub-menu-wrap .wrapper .sub-menu {
                max-width: 960px;
                margin: 0 auto;
                height: 100%;
                display: flex;
                justify-content: space-between;
                align-items: center; }
                .header .gnav-wrapper .gnav li.triga .sub-menu-wrap .wrapper .sub-menu li {
                  width: 31.25%;
                  margin-left: 0; }
                  .header .gnav-wrapper .gnav li.triga .sub-menu-wrap .wrapper .sub-menu li a {
                    width: 100%;
                    display: block;
                    padding: 30px 0; }
                    .header .gnav-wrapper .gnav li.triga .sub-menu-wrap .wrapper .sub-menu li a:hover .cont .text-cont span {
                      color: #E65C17; }
                    .header .gnav-wrapper .gnav li.triga .sub-menu-wrap .wrapper .sub-menu li a .cont {
                      display: flex; }
                      .header .gnav-wrapper .gnav li.triga .sub-menu-wrap .wrapper .sub-menu li a .cont .img-cont {
                        width: 90px; }
                      .header .gnav-wrapper .gnav li.triga .sub-menu-wrap .wrapper .sub-menu li a .cont .text-cont {
                        width: 70%;
                        background-color: #fff;
                        display: -webkit-flex;
                        display: flex;
                        -webkit-align-items: center;
                        align-items: center;
                        -webkit-justify-content: center;
                        justify-content: center; }
                        .header .gnav-wrapper .gnav li.triga .sub-menu-wrap .wrapper .sub-menu li a .cont .text-cont span {
                          font-size: 14px;
                          font-size: 1.4rem;
                          letter-spacing: 0.02em;
                          font-weight: 500;
                          color: #333333; }
                          @media only screen and (device-aspect-ratio: 139 / 199) {
                            .header .gnav-wrapper .gnav li.triga .sub-menu-wrap .wrapper .sub-menu li a .cont .text-cont span {
                              font-size: 10px; } }
                          @media only screen and (device-aspect-ratio: 512 / 683) {
                            .header .gnav-wrapper .gnav li.triga .sub-menu-wrap .wrapper .sub-menu li a .cont .text-cont span {
                              font-size: 10px; } }
                          @media screen and (min-width: 768px) and (max-width: 1025px) {
                            .header .gnav-wrapper .gnav li.triga .sub-menu-wrap .wrapper .sub-menu li a .cont .text-cont span {
                              font-size: 10px;
                              font-size: 1rem; } }
        .header .gnav-wrapper .gnav li a {
          height: 100%;
          display: flex;
          align-items: center; }
          @media only screen and (min-width: 768px) {
            .header .gnav-wrapper .gnav li a {
              transition: .2s; }
              .header .gnav-wrapper .gnav li a:hover {
                color: #E65C17; } }
    .header .gnav-wrapper .contact-btn {
      text-align: center;
      margin-left: 50px; }
      @media only screen and (max-width: 767px) {
        .header .gnav-wrapper .contact-btn {
          margin-top: 35px;
          display: block;
          margin-left: 0; } }
      @media only screen and (min-width: 768px) {
        .header .gnav-wrapper .contact-btn {
          transition: .2s; }
          .header .gnav-wrapper .contact-btn:hover {
            color: #E65C17; }
            .header .gnav-wrapper .contact-btn:hover .num {
              border-bottom: 1px solid #E65C17; }
              .header .gnav-wrapper .contact-btn:hover .num svg {
                fill: #E65C17; } }
      .header .gnav-wrapper .contact-btn .num {
        font-size: 24px;
        font-size: 2.4rem;
        letter-spacing: 0.06em;
        font-family: "EB Garamond", serif;
        padding-bottom: 5px;
        margin-bottom: 5px;
        display: inline-block;
        border-bottom: 1px solid #fff;
        position: relative;
        display: flex;
        align-items: center; }
        @media only screen and (min-width: 768px) {
          .header .gnav-wrapper .contact-btn .num {
            width: 146.5px; } }
        @media only screen and (max-width: 767px) {
          .header .gnav-wrapper .contact-btn .num {
            display: inline-block; } }
        .header .gnav-wrapper .contact-btn .num svg {
          fill: #fff;
          position: absolute;
          left: -20px;
          top: 5px; }
          @media only screen and (max-width: 767px) {
            .header .gnav-wrapper .contact-btn .num svg {
              width: 20px; } }
        @media only screen and (max-width: 767px) {
          .header .gnav-wrapper .contact-btn .num {
            font-size: 30px;
            font-size: 3rem;
            border-bottom: none; } }
      .header .gnav-wrapper .contact-btn .text {
        display: block;
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: 0.04em;
        font-weight: 500; }
        @media only screen and (max-width: 767px) {
          .header .gnav-wrapper .contact-btn .text {
            font-size: 15px;
            font-size: 1.5rem; } }
  .header .gnav-toggle {
    height: 100%; }
    .header .gnav-toggle .hamburger_box {
      position: relative;
      display: block;
      width: 25px;
      height: 25px;
      top: 50%;
      right: 5px;
      transform: translateY(-50%); }
      .header .gnav-toggle .hamburger_box span {
        display: block;
        width: 20px;
        height: 2px;
        background: #fff;
        position: absolute;
        left: 50%;
        border-radius: 90px; }
        .header .gnav-toggle .hamburger_box span:nth-of-type(1) {
          top: calc(0% + 6px);
          transform: translateX(-50%); }
        .header .gnav-toggle .hamburger_box span:nth-of-type(2) {
          top: 50%;
          transform: translateX(-50%); }
        .header .gnav-toggle .hamburger_box span:nth-of-type(3) {
          bottom: calc(0% + 3px);
          transform: translateX(-50%); }
    .header .gnav-toggle.is-active .hamburger_box span {
      left: 0; }
      .header .gnav-toggle.is-active .hamburger_box span:nth-child(1) {
        top: calc(50% - 1px);
        transform: rotateZ(45deg);
        transition: 0.3s; }
      .header .gnav-toggle.is-active .hamburger_box span:nth-child(2) {
        display: none; }
      .header .gnav-toggle.is-active .hamburger_box span:nth-child(3) {
        bottom: calc(50% - 1px);
        transform: rotateZ(-45deg);
        transition: 0.3s; }

ul.breadcrumbs {
  background: #fff;
  padding: 15px 20px 0 20px;
  position: relative; }
  ul.breadcrumbs li {
    display: inline-block;
    text-align: justify;
    line-height: 2.1;
    display: inline; }
    @media only screen and (max-width: 767px) {
      ul.breadcrumbs li {
        line-height: 1.7; } }
    ul.breadcrumbs li:last-child {
      display: inline; }
    ul.breadcrumbs li:not(:last-child) {
      position: relative;
      /* IE11  */
      /* Edge(Chromium) */ }
      ul.breadcrumbs li:not(:last-child)::after {
        content: "";
        border-top: 1px solid #333333;
        border-right: 1px solid #333333;
        display: inline-block;
        position: relative;
        top: -2px;
        margin: 0 5px;
        margin-right: 8px;
        width: 5px;
        height: 5px;
        transform: rotate(45deg); }
        @media only screen and (max-width: 767px) {
          ul.breadcrumbs li:not(:last-child)::after {
            margin: 0 6px;
            margin-right: 9px;
            width: 4px;
            height: 4px;
            top: -2px; } }
      ul.breadcrumbs li:not(:last-child) _:lang(x)::-ms-backdrop, ul.breadcrumbs li:not(:last-child):before {
        top: 2px; }
      ul.breadcrumbs li:not(:last-child) _:lang(x)::-ms-,
      ul.breadcrumbs li:not(:last-child) em {
        top: 4px; }
    ul.breadcrumbs li a,
    ul.breadcrumbs li span {
      color: #333333;
      font-size: 12px;
      font-size: 1.2rem;
      letter-spacing: 0.05em;
      font-weight: 500; }

@keyframes anima01 {
  0% {
    opacity: 0;
    transform: translateY(90px); }
  40% {
    opacity: 0.2; }
  100% {
    opacity: 1;
    transform: translateY(0px); } }

.anima01 {
  transition: all 0.3s;
  animation: anima01 1s ease-out;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; }

.inviewbox img, .inviewbox .inview-me {
  opacity: 0; }

.sec-title span.en {
  font-family: "EB Garamond", serif;
  font-size: 42px;
  font-size: 4.2rem;
  letter-spacing: 0.1em; }
  @media only screen and (max-width: 767px) {
    .sec-title span.en {
      font-size: 32px;
      font-size: 3.2rem; } }
  .sec-title span.en em {
    color: #E65C17; }

.sec-title span.ja {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
  display: block;
  margin-top: 18px; }
  @media only screen and (max-width: 767px) {
    .sec-title span.ja {
      margin-top: 20px; } }

.sec-title-center {
  text-align: center; }

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

.btn {
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0.06em;
  color: #333333;
  font-weight: bold;
  width: 200px;
  height: 50px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  border: 1px solid #333;
  margin: 0 auto;
  position: relative;
  transition: .3s; }
  @media only screen and (max-width: 767px) {
    .btn {
      width: 250px; } }
  .btn:before {
    content: '';
    width: 10.97px;
    height: 8.49px;
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    background-image: url(../images/index/btn-arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transition: .3s; }
  @media only screen and (min-width: 768px) {
    .btn:hover {
      color: #E65C17;
      border: 1px solid #E65C17; }
      .btn:hover:before {
        transform: translate(5px, -50%); } }
  .btn.white {
    color: #fff;
    border: 1px solid #fff;
    border: 1px solid #fff; }
    @media only screen and (min-width: 768px) {
      .btn.white:hover {
        color: #E65C17;
        border: 1px solid #E65C17; }
        .btn.white:hover:before {
          transform: translate(5px, -50%); } }

.business .business-box {
  padding: 125px 0 0; }
  @media only screen and (max-width: 767px) {
    .business .business-box .inner {
      width: calc(100% - 50px); } }
  @media only screen and (max-width: 767px) {
    .business .business-box {
      padding: 78px 0 0; } }
  .business .business-box p {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 30px;
    letter-spacing: 0.5px; }
    @media only screen and (max-width: 767px) {
      .business .business-box p {
        letter-spacing: 0; } }
  .business .business-box .h4-tit {
    text-align: center;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    letter-spacing: 1px;
    font-weight: 500; }
    .business .business-box .h4-tit h4 {
      font-size: 24px;
      font-size: 2.4rem;
      position: relative;
      display: inline; }
      @media only screen and (max-width: 767px) {
        .business .business-box .h4-tit h4 {
          font-size: 18px;
          font-size: 1.8rem; } }
      .business .business-box .h4-tit h4::before {
        content: '';
        position: absolute;
        background-color: #E65C17;
        width: 100%;
        height: 1px;
        bottom: -20px; }
        @media only screen and (max-width: 767px) {
          .business .business-box .h4-tit h4::before {
            bottom: -15px; } }
  .business .business-box .content01 .img01 {
    margin: 47px 0 50px; }
    @media only screen and (max-width: 767px) {
      .business .business-box .content01 .img01 {
        margin: 42px 0 35px; } }
  .business .business-box .content01 .workslist {
    margin-top: 75px;
    background: #F7F7F7;
    padding: 38px 120px 30px; }
    @media screen and (max-width: 1024px) {
      .business .business-box .content01 .workslist {
        padding: 38px 50px 30px; } }
    @media only screen and (max-width: 767px) {
      .business .business-box .content01 .workslist {
        padding: 40px 20px 5px;
        margin-top: 43px; } }
    .business .business-box .content01 .workslist .h4-tit {
      margin-bottom: 75px; }
      @media only screen and (max-width: 767px) {
        .business .business-box .content01 .workslist .h4-tit {
          margin-bottom: 55px; } }
    .business .business-box .content01 .workslist .listdetail {
      background: #fff;
      margin-bottom: 30px;
      padding: 20px 0 15px; }
      @media only screen and (max-width: 767px) {
        .business .business-box .content01 .workslist .listdetail {
          padding: 20px 0 18px;
          margin-bottom: 35px; } }
      .business .business-box .content01 .workslist .listdetail .tit-h5 {
        font-size: 20px;
        font-size: 2rem;
        text-align: center;
        position: relative;
        top: -30px;
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
        letter-spacing: 2px;
        font-weight: 600; }
        @media only screen and (max-width: 767px) {
          .business .business-box .content01 .workslist .listdetail .tit-h5 {
            font-size: 18px;
            font-size: 1.8rem;
            top: -28px; } }
        .business .business-box .content01 .workslist .listdetail .tit-h5 em {
          color: #E65C17; }
      .business .business-box .content01 .workslist .listdetail .list {
        display: flex;
        justify-content: space-between;
        padding: 0 0 16px 35px; }
        @media only screen and (max-width: 767px) {
          .business .business-box .content01 .workslist .listdetail .list {
            display: block;
            padding: 0 80px; } }
        .business .business-box .content01 .workslist .listdetail .list li {
          font-size: 15px;
          font-size: 1.5rem;
          position: relative;
          padding-left: 16px;
          white-space: nowrap; }
          @media only screen and (max-width: 767px) {
            .business .business-box .content01 .workslist .listdetail .list li {
              padding-bottom: 15px; } }
          .business .business-box .content01 .workslist .listdetail .list li::after {
            content: "";
            position: absolute;
            height: 1px;
            width: 8px;
            background-color: #E65C17;
            display: block;
            left: 0;
            top: 7px; }
          @media only screen and (min-width: 768px) {
            .business .business-box .content01 .workslist .listdetail .list li:nth-child(1) {
              width: 28%; }
            .business .business-box .content01 .workslist .listdetail .list li:nth-child(2) {
              width: 26%; }
            .business .business-box .content01 .workslist .listdetail .list li:nth-child(3) {
              width: 29%; }
            .business .business-box .content01 .workslist .listdetail .list li:nth-child(4) {
              width: 19%; } }
  .business .business-box .content02 {
    background: #F7F7F7;
    margin-top: 120px;
    padding: 110px 0 120px; }
    @media only screen and (max-width: 767px) {
      .business .business-box .content02 {
        margin-top: 70px;
        padding: 55px 0 50px; } }
    .business .business-box .content02 .img01 {
      margin: 47px 0 50px; }
      @media only screen and (max-width: 767px) {
        .business .business-box .content02 .img01 {
          margin: 42px 0 35px; } }
    .business .business-box .content02 .repairlist {
      display: flex;
      justify-content: space-between;
      margin-top: 75px; }
      @media only screen and (max-width: 767px) {
        .business .business-box .content02 .repairlist {
          display: block;
          margin-top: 42px; } }
      .business .business-box .content02 .repairlist .repairbox {
        width: 24.2%;
        background: #fff;
        padding: 43px 35px; }
        @media only screen and (max-width: 767px) {
          .business .business-box .content02 .repairlist .repairbox {
            width: 100%;
            padding: 33px 25px 36px;
            margin-bottom: 20px; } }
        .business .business-box .content02 .repairlist .repairbox .imgicon {
          width: 100px;
          margin: 50px auto 22px; }
          @media only screen and (max-width: 767px) {
            .business .business-box .content02 .repairlist .repairbox .imgicon {
              margin: 32px auto 20px; } }
        .business .business-box .content02 .repairlist .repairbox p {
          line-height: 28px; }
          @media only screen and (max-width: 767px) {
            .business .business-box .content02 .repairlist .repairbox p {
              letter-spacing: 0; } }
  .business .business-box .content03 {
    margin-top: 110px; }
    @media only screen and (max-width: 767px) {
      .business .business-box .content03 {
        margin-top: 55px; } }
    .business .business-box .content03 .content03-content {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        .business .business-box .content03 .content03-content {
          display: block; } }
      .business .business-box .content03 .content03-content .content-left {
        width: 50%; }
        @media only screen and (max-width: 767px) {
          .business .business-box .content03 .content03-content .content-left {
            width: 100%; } }
      .business .business-box .content03 .content03-content .content-right {
        width: 42%; }
        @media only screen and (max-width: 767px) {
          .business .business-box .content03 .content03-content .content-right {
            width: 100%; } }
        .business .business-box .content03 .content03-content .content-right .sec-title {
          margin-bottom: 43px; }
          @media only screen and (max-width: 767px) {
            .business .business-box .content03 .content03-content .content-right .sec-title {
              text-align: center;
              margin-bottom: 40px; } }
        @media only screen and (max-width: 767px) {
          .business .business-box .content03 .content03-content .content-right .img-sp {
            margin-bottom: 35px; } }
  .business .business-box .content04 {
    background: #F7F7F7;
    margin-top: 120px;
    padding: 100px 0 175px; }
    @media only screen and (max-width: 767px) {
      .business .business-box .content04 {
        margin-top: 70px;
        padding: 55px 0 112px; } }
    .business .business-box .content04 .content03-content {
      flex-direction: row-reverse; }

.business #anchor01 {
  position: relative;
  top: -130px; }

.business #anchor02 {
  position: relative;
  top: 70px; }
  @media only screen and (max-width: 767px) {
    .business #anchor02 {
      top: 0; } }

.business #anchor03 {
  position: relative;
  top: -70px; }

.business #anchor04 {
  position: relative;
  top: 0; }

.company .company-box {
  padding: 30px 0 180px; }
  @media only screen and (max-width: 767px) {
    .company .company-box .inner {
      width: calc(100% - 50px); } }
  @media only screen and (max-width: 767px) {
    .company .company-box {
      padding: 75px 0 120px; } }
  .company .company-box p {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 30px;
    letter-spacing: 0.5px; }
    @media only screen and (max-width: 767px) {
      .company .company-box p {
        letter-spacing: 0; } }
  .company .company-box .h4-tit {
    font-size: 24px;
    font-size: 2.4rem;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    letter-spacing: 2px;
    line-height: 52px; }
    @media screen and (max-width: 1024px) {
      .company .company-box .h4-tit {
        line-height: 32px; } }
    @media only screen and (max-width: 767px) {
      .company .company-box .h4-tit {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 31px;
        text-align: left; } }
  .company .company-box .content01 .content01-inner {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media only screen and (max-width: 767px) {
      .company .company-box .content01 .content01-inner {
        display: block;
        padding: 0 25px 55px; } }
    @media only screen and (max-width: 767px) {
      .company .company-box .content01 .content01-inner .img-sp {
        margin-bottom: 50px; } }
    .company .company-box .content01 .content01-inner .textbox {
      width: 60%;
      padding: 0 140px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap; }
      @media screen and (max-width: 1024px) {
        .company .company-box .content01 .content01-inner .textbox {
          padding: 0 40px; } }
      @media only screen and (max-width: 767px) {
        .company .company-box .content01 .content01-inner .textbox {
          width: 100%;
          padding: 0; } }
      .company .company-box .content01 .content01-inner .textbox .box {
        width: 100%;
        margin-bottom: 40px; }
        .company .company-box .content01 .content01-inner .textbox .box .sec-title {
          display: flex;
          align-items: flex-end;
          border-bottom: 1px #E65C17 solid;
          padding-bottom: 20px; }
          @media only screen and (max-width: 767px) {
            .company .company-box .content01 .content01-inner .textbox .box .sec-title {
              padding-bottom: 22px; } }
          .company .company-box .content01 .content01-inner .textbox .box .sec-title .ja {
            position: relative;
            top: -3px;
            font-size: 15px;
            font-size: 1.5rem;
            margin-left: 15px; }
        .company .company-box .content01 .content01-inner .textbox .box .text01 {
          font-size: 20px;
          font-size: 2rem;
          line-height: 34px;
          font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
          margin-top: 20px; }
        .company .company-box .content01 .content01-inner .textbox .box .text02 {
          margin-top: 40px;
          line-height: 30px; }
          @media only screen and (max-width: 767px) {
            .company .company-box .content01 .content01-inner .textbox .box .text02 {
              margin-top: 35px; } }
      .company .company-box .content01 .content01-inner .textbox .box02 {
        margin-bottom: 0; }
    @media only screen and (min-width: 768px) {
      .company .company-box .content01 .content01-inner .imgbox {
        width: 40%;
        height: 780px;
        background-image: url("../images/company/img01.jpg");
        background-repeat: no-repeat;
        background-size: contain;
        background-size: cover;
        background-position: center;
        display: block; } }
  .company .company-box .content02 {
    background-image: url("../images/company/img02.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 650px;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media only screen and (max-width: 767px) {
      .company .company-box .content02 {
        background-image: url("../images/company/img02-sp.jpg");
        height: 740px; } }
    @media only screen and (min-width: 768px) {
      .company .company-box .content02 .content02-inner {
        display: flex; } }
    .company .company-box .content02 .content02-inner .sec-title {
      color: #fff; }
      @media only screen and (min-width: 768px) {
        .company .company-box .content02 .content02-inner .sec-title {
          width: 48%; } }
      @media only screen and (max-width: 767px) {
        .company .company-box .content02 .content02-inner .sec-title {
          margin-bottom: 35px; } }
      @media only screen and (max-width: 767px) {
        .company .company-box .content02 .content02-inner .sec-title .en {
          line-height: 40px; } }
      .company .company-box .content02 .content02-inner .sec-title .en em {
        color: #fff !important; }
    .company .company-box .content02 .content02-inner .content {
      color: #fff; }
      @media only screen and (min-width: 768px) {
        .company .company-box .content02 .content02-inner .content {
          width: 52%;
          padding: 0 0 0 25px; } }
      .company .company-box .content02 .content02-inner .content p {
        letter-spacing: 0; }
      .company .company-box .content02 .content02-inner .content .name {
        text-align: right;
        margin-top: 32px; }
        .company .company-box .content02 .content02-inner .content .name img {
          width: 135px; }
  .company .company-box .content03 {
    margin-top: 110px; }
    @media only screen and (max-width: 767px) {
      .company .company-box .content03 {
        margin-top: 55px; } }
    .company .company-box .content03 .content03-inner {
      display: flex;
      justify-content: space-between;
      margin-top: 90px;
      padding-left: 70px; }
      @media only screen and (max-width: 767px) {
        .company .company-box .content03 .content03-inner {
          padding-left: 30px;
          margin-top: 35px; } }
      @media only screen and (max-width: 767px) {
        .company .company-box .content03 .content03-inner .infobox {
          padding: 0 15px; } }
      .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailboxlast {
        padding-bottom: 0 !important; }
        .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailboxlast::before {
          border-left: 1px #707070 dashed !important;
          height: 83% !important; }
          @media only screen and (max-width: 767px) {
            .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailboxlast::before {
              height: 97% !important; } }
      .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox {
        display: flex;
        justify-content: space-between;
        padding-bottom: 50px;
        position: relative; }
        @media only screen and (max-width: 767px) {
          .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox {
            display: block;
            padding-bottom: 40px; } }
        .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox::after {
          content: "";
          position: absolute;
          width: 18px;
          height: 18px;
          display: block;
          background-image: url("../images/company/icon.png");
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center;
          left: -70px;
          top: 15px; }
          @media screen and (max-width: 1024px) {
            .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox::after {
              top: 5px; } }
          @media only screen and (max-width: 767px) {
            .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox::after {
              left: -40px;
              top: 8px; } }
        .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox::before {
          content: "";
          position: absolute;
          height: 100%;
          display: block;
          left: -61.55px;
          top: 16px;
          border-left: 1px #707070 solid; }
          @media screen and (max-width: 1024px) {
            .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox::before {
              top: 6px; } }
          @media only screen and (max-width: 767px) {
            .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox::before {
              left: -31.55px;
              top: 8px; } }
        .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox .detailbox-left {
          width: 55%; }
          @media only screen and (max-width: 767px) {
            .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox .detailbox-left {
              width: 100%; } }
          .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox .detailbox-left .h4-tit {
            margin-bottom: 15px;
            white-space: nowrap; }
            @media screen and (max-width: 1024px) {
              .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox .detailbox-left .h4-tit {
                white-space: normal;
                letter-spacing: -0.5px; } }
          @media only screen and (max-width: 767px) {
            .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox .detailbox-left .img-sp {
              margin: 20px 0 27px; } }
          @media only screen and (max-width: 767px) {
            .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox .detailbox-left p {
              line-height: 26px;
              letter-spacing: -0.5px; } }
        .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox .detailbox-right {
          width: 32%; }
          @media only screen and (max-width: 767px) {
            .company .company-box .content03 .content03-inner .infobox .infobox-detail .detailbox .detailbox-right {
              width: 100%; } }
  .company .company-box .content04 {
    background: #F7F7F7;
    padding: 112px 0 120px;
    margin-top: 70px; }
    @media only screen and (max-width: 767px) {
      .company .company-box .content04 {
        padding: 55px 0 70px;
        margin-top: 63px; } }
    @media only screen and (min-width: 768px) {
      .company .company-box .content04 .inner {
        max-width: 1030px; } }
    .company .company-box .content04 .content04-inner {
      margin-top: 50px; }
      @media only screen and (max-width: 767px) {
        .company .company-box .content04 .content04-inner {
          margin-top: 33px; } }
      .company .company-box .content04 .content04-inner .h4-tit {
        font-size: 30px;
        font-size: 3rem;
        text-align: center; }
        @media only screen and (max-width: 767px) {
          .company .company-box .content04 .content04-inner .h4-tit {
            font-size: 24px;
            font-size: 2.4rem;
            line-height: 40px; } }
      .company .company-box .content04 .content04-inner .text {
        text-align: center;
        margin: 40px 0 55px; }
        @media only screen and (max-width: 767px) {
          .company .company-box .content04 .content04-inner .text {
            text-align: left;
            margin: 22px 0 42px; } }
      .company .company-box .content04 .content04-inner .areabox {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-bottom: 55px; }
        @media only screen and (max-width: 767px) {
          .company .company-box .content04 .content04-inner .areabox {
            margin-bottom: 12px; } }
        .company .company-box .content04 .content04-inner .areabox li {
          width: 24.3%; }
          @media only screen and (max-width: 767px) {
            .company .company-box .content04 .content04-inner .areabox li {
              width: 47%;
              margin-bottom: 20px; } }
          .company .company-box .content04 .content04-inner .areabox li p {
            text-align: center;
            margin-top: 12px;
            font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
            @media only screen and (max-width: 767px) {
              .company .company-box .content04 .content04-inner .areabox li p {
                margin-top: 8px; } }
  .company .company-box .content05 {
    margin-top: 105px; }
    @media only screen and (max-width: 767px) {
      .company .company-box .content05 {
        margin-top: 55px; } }
    .company .company-box .content05 .content05-inner {
      border-top: 1px #707070 solid;
      margin-top: 52px; }
      @media only screen and (max-width: 767px) {
        .company .company-box .content05 .content05-inner {
          margin-top: 38px; } }
      .company .company-box .content05 .content05-inner .box {
        display: flex;
        align-items: baseline;
        border-bottom: 1px #707070 solid;
        padding: 33px 40px 31px; }
        @media only screen and (max-width: 767px) {
          .company .company-box .content05 .content05-inner .box {
            display: block;
            padding: 22px 15px 21px; } }
        .company .company-box .content05 .content05-inner .box .info-left {
          font-weight: bold;
          width: 15%; }
          @media only screen and (max-width: 767px) {
            .company .company-box .content05 .content05-inner .box .info-left {
              width: 100%; } }
        .company .company-box .content05 .content05-inner .box .info-right {
          width: 85%; }
          @media only screen and (max-width: 767px) {
            .company .company-box .content05 .content05-inner .box .info-right {
              width: 100%; } }
          @media only screen and (min-width: 768px) {
            .company .company-box .content05 .content05-inner .box .info-right .detail01 {
              display: flex; } }
          @media only screen and (min-width: 768px) {
            .company .company-box .content05 .content05-inner .box .info-right .detail01 .infoadress {
              margin-right: 55px; } }
          .company .company-box .content05 .content05-inner .box .info-right .detail01 .infoadress h4 {
            font-size: 15px;
            font-size: 1.5rem;
            font-weight: bold;
            color: #E65C17;
            margin-bottom: 12px; }
            @media only screen and (max-width: 767px) {
              .company .company-box .content05 .content05-inner .box .info-right .detail01 .infoadress h4 {
                margin-top: 15px;
                margin-bottom: 10px; } }
          .company .company-box .content05 .content05-inner .box .info-right .detail01 .infoadress p {
            line-height: 27px; }
            .company .company-box .content05 .content05-inner .box .info-right .detail01 .infoadress p:hover a {
              opacity: 0.6; }
          @media only screen and (max-width: 767px) {
            .company .company-box .content05 .content05-inner .box .info-right .detail01 .infoadress-down {
              margin-top: 25px; } }
          @media only screen and (min-width: 768px) {
            .company .company-box .content05 .content05-inner .box .info-right .detail01 .infoadress-mar {
              margin-right: 100px; } }
          .company .company-box .content05 .content05-inner .box .info-right .notelist {
            display: flex;
            flex-wrap: wrap;
            align-items: center; }
            @media only screen and (max-width: 767px) {
              .company .company-box .content05 .content05-inner .box .info-right .notelist {
                margin-top: 10px; } }
            .company .company-box .content05 .content05-inner .box .info-right .notelist li {
              width: 46%;
              font-size: 15px;
              font-size: 1.5rem;
              letter-spacing: 0.5px;
              position: relative;
              padding-left: 16px;
              white-space: nowrap;
              line-height: 30px; }
              @media only screen and (max-width: 767px) {
                .company .company-box .content05 .content05-inner .box .info-right .notelist li {
                  width: 100%;
                  padding-bottom: 7px;
                  letter-spacing: 0;
                  white-space: normal;
                  line-height: 23px; } }
              .company .company-box .content05 .content05-inner .box .info-right .notelist li::after {
                content: "";
                position: absolute;
                height: 1px;
                width: 8px;
                background-color: #E65C17;
                display: block;
                left: 0;
                top: 14px; }
                @media only screen and (max-width: 767px) {
                  .company .company-box .content05 .content05-inner .box .info-right .notelist li::after {
                    top: 10px; } }
              .company .company-box .content05 .content05-inner .box .info-right .notelist li .mar {
                margin-right: 80px; }
            @media only screen and (max-width: 767px) {
              .company .company-box .content05 .content05-inner .box .info-right .notelist .last {
                padding-bottom: 5px; } }
          @media only screen and (max-width: 767px) {
            .company .company-box .content05 .content05-inner .box .info-right .notelist02 {
              flex-wrap: wrap; }
              .company .company-box .content05 .content05-inner .box .info-right .notelist02 li {
                width: 50%; } }

body.contact .wrap .breadcrumbs-box {
  background-color: #F7F7F7; }

body.contact section.top {
  background-color: #F7F7F7;
  padding: 120px 0 95px; }
  @media only screen and (max-width: 767px) {
    body.contact section.top {
      padding: 80px 25px 70px; } }
  body.contact section.top .cont-wrapper {
    max-width: 800px;
    width: 100%;
    margin: 0 auto; }
    body.contact section.top .cont-wrapper .tel {
      display: flex;
      align-items: center; }
      @media only screen and (max-width: 767px) {
        body.contact section.top .cont-wrapper .tel {
          flex-direction: column; } }
      body.contact section.top .cont-wrapper .tel .left {
        width: 24.25%; }
        @media only screen and (max-width: 767px) {
          body.contact section.top .cont-wrapper .tel .left {
            width: 100%; } }
        body.contact section.top .cont-wrapper .tel .left h3 span.en {
          font-size: 42px;
          font-size: 4.2rem;
          letter-spacing: 0.1em;
          font-family: "EB Garamond", serif; }
          @media only screen and (max-width: 767px) {
            body.contact section.top .cont-wrapper .tel .left h3 span.en {
              font-size: 32px;
              font-size: 3.2rem;
              letter-spacing: 0.06em; } }
          body.contact section.top .cont-wrapper .tel .left h3 span.en span {
            color: #E65C17; }
        body.contact section.top .cont-wrapper .tel .left h3 span.ja {
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: 0.06em;
          font-weight: 500;
          font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
          display: block;
          margin-top: 20px; }
      body.contact section.top .cont-wrapper .tel .right {
        width: 63.5%;
        margin-left: 100px; }
        @media only screen and (max-width: 767px) {
          body.contact section.top .cont-wrapper .tel .right {
            width: 100%;
            margin-left: 0; } }
        body.contact section.top .cont-wrapper .tel .right p {
          font-size: 15px;
          font-size: 1.5rem;
          letter-spacing: 0.02em;
          line-height: 1.866666667;
          font-weight: 500; }
          @media only screen and (max-width: 767px) {
            body.contact section.top .cont-wrapper .tel .right p {
              letter-spacing: 0em;
              line-height: 1.733333333;
              margin-top: 30px; } }
    body.contact section.top .cont-wrapper .num {
      height: 118px;
      margin-top: 45px;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center;
      -webkit-justify-content: center;
      justify-content: center;
      border: 1px solid #E65C17;
      padding-left: 40px; }
      @media only screen and (max-width: 767px) {
        body.contact section.top .cont-wrapper .num {
          flex-direction: column;
          margin-top: 35px;
          height: 151px; } }
      body.contact section.top .cont-wrapper .num .left {
        font-size: 40px;
        font-size: 4rem;
        letter-spacing: 0.06em;
        font-family: "EB Garamond", serif;
        position: relative; }
        @media only screen and (max-width: 767px) {
          body.contact section.top .cont-wrapper .num .left {
            letter-spacing: 0.02em; } }
        body.contact section.top .cont-wrapper .num .left:before {
          content: '';
          width: 24.52px;
          height: 35.56px;
          position: absolute;
          top: 50%;
          left: -40px;
          transform: translateY(-50%);
          background-image: url(../images/contact/icn-tel.svg);
          background-repeat: no-repeat;
          background-size: contain;
          background-position: center; }
      @media only screen and (max-width: 767px) {
        body.contact section.top .cont-wrapper .num .right {
          margin-right: auto;
          margin-top: 15px; } }
      body.contact section.top .cont-wrapper .num .right span {
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.04em;
        line-height: 1.714285714;
        font-weight: 500;
        margin-left: 30px; }
        @media only screen and (max-width: 767px) {
          body.contact section.top .cont-wrapper .num .right span {
            margin-left: 0;
            white-space: nowrap; }
            body.contact section.top .cont-wrapper .num .right span span {
              margin-left: 15px;
              position: relative; }
              body.contact section.top .cont-wrapper .num .right span span:before {
                content: ' / ';
                width: 10px;
                height: 10px;
                position: absolute;
                top: -4px;
                left: -11px;
                font-size: 14px;
                font-size: 1.4rem;
                letter-spacing: 0.04em; } }

body.contact section.intro {
  padding: 90px 0 60px;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    body.contact section.intro {
      padding: 50px 0; } }
  body.contact section.intro h3 span.en {
    font-size: 42px;
    font-size: 4.2rem;
    letter-spacing: 0.1em;
    font-family: "EB Garamond", serif; }
    @media only screen and (max-width: 767px) {
      body.contact section.intro h3 span.en {
        font-size: 32px;
        font-size: 3.2rem;
        letter-spacing: 0.06em; } }
    body.contact section.intro h3 span.en span {
      color: #E65C17; }
  body.contact section.intro h3 span.ja {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.06em;
    font-weight: 500;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    display: block;
    margin-top: 20px; }
    @media only screen and (max-width: 767px) {
      body.contact section.intro h3 span.ja {
        margin-top: 25px; } }
  body.contact section.intro p {
    margin-top: 50px;
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.02em;
    font-weight: 500; }
    @media only screen and (max-width: 767px) {
      body.contact section.intro p {
        letter-spacing: 0em;
        line-height: 1.733333333;
        margin-top: 29px; } }
  body.contact section.intro ul {
    display: flex;
    max-width: 280px;
    width: 100%;
    margin: 57px auto 0; }
    @media only screen and (max-width: 767px) {
      body.contact section.intro ul {
        margin: 33px auto 0;
        max-width: 325px; } }
    body.contact section.intro ul li {
      width: calc((100% - 40px)/3);
      display: flex;
      padding: 15px 0;
      margin-right: 20px;
      border-top: 2px solid #B7B7B7;
      border-bottom: 2px solid #B7B7B7; }
      @media only screen and (min-width: 768px) {
        body.contact section.intro ul li {
          flex-direction: column; } }
      @media only screen and (max-width: 767px) {
        body.contact section.intro ul li {
          width: calc((100% - 24px)/3);
          margin-right: 12px;
          align-items: center;
          padding: 10px 0; } }
      body.contact section.intro ul li:last-of-type {
        margin-right: 0; }
      body.contact section.intro ul li.is-active {
        color: #E65C17;
        border-top: 2px solid #E65C17;
        border-bottom: 2px solid #E65C17; }
      body.contact section.intro ul li span.num {
        font-size: 32px;
        font-size: 3.2rem;
        letter-spacing: 0.1em;
        font-family: "EB Garamond", serif; }
        @media only screen and (max-width: 767px) {
          body.contact section.intro ul li span.num {
            font-size: 26px;
            font-size: 2.6rem;
            letter-spacing: 0.02em; } }
      body.contact section.intro ul li span.text {
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.1em;
        font-weight: 500;
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
        display: block;
        margin-top: 10px; }
        @media only screen and (max-width: 767px) {
          body.contact section.intro ul li span.text {
            letter-spacing: 0.06em;
            margin-left: 5px;
            margin-top: 0; } }

body.contact form {
  padding-bottom: 180px; }
  @media only screen and (max-width: 767px) {
    body.contact form {
      padding-bottom: 120px; } }
  body.contact form dl {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    @media only screen and (max-width: 767px) {
      body.contact form dl {
        flex-direction: column;
        border-bottom: 1px solid #4d4d4d; } }
    body.contact form dl dt {
      width: 30.7%;
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: 0.02em;
      font-weight: bold;
      padding: 35px 0 35px 40px;
      display: flex;
      align-items: center; }
      @media only screen and (max-width: 767px) {
        body.contact form dl dt {
          width: 100%;
          border-top: 1px solid #4d4d4d;
          font-size: 15px;
          font-size: 1.5rem;
          padding: 25px 0 0 0px;
          display: flex;
          align-items: center; } }
      body.contact form dl dt.options.delete {
        display: none; }
      body.contact form dl dt .option-title2 {
        display: none; }
        body.contact form dl dt .option-title2.is-active {
          display: block; }
      body.contact form dl dt .option-title1.delete {
        display: none; }
      body.contact form dl dt.mail-cont span.cat.required {
        display: none; }
      body.contact form dl dt.mail-cont.is-active span.cat.required {
        display: block; }
      body.contact form dl dt.mail-cont.is-active span.cat.option {
        display: none; }
      @media only screen and (min-width: 768px) {
        body.contact form dl dt:nth-of-type(1), body.contact form dl dt:last-of-type {
          align-items: flex-start; } }
  @media only screen and (min-width: 768px) and (min-width: 768px) {
    body.contact form dl dt:nth-of-type(1) .text, body.contact form dl dt:last-of-type .text {
      padding-top: 4px; } }
      body.contact form dl dt span.cat {
        font-size: 13px;
        font-size: 1.3rem;
        letter-spacing: 0.02em;
        font-weight: 500;
        display: inline-block;
        padding: 6px 5px 5px 5px;
        text-align: center;
        width: 73px;
        height: 24px;
        margin-right: 20px;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center; }
        @media only screen and (max-width: 767px) {
          body.contact form dl dt span.cat {
            margin-right: 12px;
            width: 46px; } }
        body.contact form dl dt span.cat.required {
          color: #E65C17;
          background-color: #FBE6DC; }
        body.contact form dl dt span.cat.option {
          background-color: #EDEDED; }
    body.contact form dl dd {
      width: calc(100% - 30.7%);
      padding: 35px 0;
      font-size: 15px;
      font-size: 1.5rem;
      letter-spacing: 0.02em;
      font-weight: 500;
      display: flex; }
      @media only screen and (min-width: 768px) {
        body.contact form dl dd {
          align-items: center; }
          body.contact form dl dd:nth-of-type(1) {
            padding: 37px 0; } }
      @media only screen and (max-width: 767px) {
        body.contact form dl dd {
          width: 100%;
          flex-direction: column;
          padding: 20px 0 28px; } }
      body.contact form dl dd.options.delete {
        display: none; }
      body.contact form dl dd.text-area {
        white-space: pre-line; }
      body.contact form dl dd.postcode .zip-code1 {
        width: 66px;
        margin-left: 15px;
        padding: 0 10px; }
        @media only screen and (max-width: 767px) {
          body.contact form dl dd.postcode .zip-code1 {
            margin-left: 10px; } }
      body.contact form dl dd.postcode .zip-code2 {
        width: 74px;
        padding: 0 10px; }
      body.contact form dl dd.postcode .zip-textarea {
        width: 428px;
        margin-left: 29px; }
        @media only screen and (max-width: 767px) {
          body.contact form dl dd.postcode .zip-textarea {
            width: 100%;
            margin-left: 0;
            margin-top: 20px; } }
      body.contact form dl dd.postcode .zip-border {
        margin: 0 10px; }
        @media only screen and (max-width: 767px) {
          body.contact form dl dd.postcode .zip-border {
            margin: 0 5px; } }
      body.contact form dl dd input {
        width: 94.2279942%;
        height: 50px;
        background-color: #F7F7F7;
        border: none;
        padding: 0 20px;
        border-radius: 0px; }
        @media only screen and (max-width: 767px) {
          body.contact form dl dd input {
            width: 100%; } }
      body.contact form dl dd .check-box {
        display: flex;
        align-items: center;
        flex-wrap: wrap; }
        @media only screen and (min-width: 768px) {
          body.contact form dl dd .check-box {
            padding-left: 5px; } }
        @media only screen and (max-width: 767px) {
          body.contact form dl dd .check-box {
            justify-content: space-between; } }
        body.contact form dl dd .check-box .checkradio {
          position: relative;
          display: flex;
          align-items: center; }
          @media only screen and (min-width: 768px) {
            body.contact form dl dd .check-box .checkradio {
              margin-left: -9px;
              width: calc(100% / 3); } }
          @media only screen and (max-width: 767px) {
            body.contact form dl dd .check-box .checkradio {
              justify-content: space-between; }
              body.contact form dl dd .check-box .checkradio:nth-of-type(n + 3) {
                margin-top: 20px; }
              body.contact form dl dd .check-box .checkradio:nth-of-type(2n + 1) {
                width: 52.1694915%; }
              body.contact form dl dd .check-box .checkradio:nth-of-type(2n + 2) {
                width: 35.8474576%; } }
          @media only screen and (min-width: 768px) {
            body.contact form dl dd .check-box .checkradio:nth-of-type(n + 4) {
              margin-top: 20px; }
            body.contact form dl dd .check-box .checkradio:nth-of-type(1), body.contact form dl dd .check-box .checkradio:nth-of-type(4) {
              margin-left: 0; } }
          body.contact form dl dd .check-box .checkradio input {
            width: 19px;
            height: 20px;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            outline: none;
            border-radius: 0;
            background-color: inherit;
            padding: 0; }
            @media only screen and (max-width: 767px) {
              body.contact form dl dd .check-box .checkradio input {
                width: 18px;
                height: 18px; } }
          body.contact form dl dd .check-box .checkradio label {
            padding-left: 6px;
            width: 100%;
            display: block;
            white-space: nowrap; }
      body.contact form dl dd .effec {
        background-color: #fff;
        border: 1px solid #4d4d4d;
        pointer-events: none;
        overflow: hidden;
        margin: 0 auto;
        position: absolute;
        left: 1px;
        top: 50%;
        transform: translateY(-50%);
        height: 20px;
        width: 20px;
        border-radius: 50%;
        z-index: 10; }
        @media only screen and (max-width: 767px) {
          body.contact form dl dd .effec {
            width: 22px;
            height: 22px;
            left: -3px; } }
        body.contact form dl dd .effec:after {
          content: "";
          opacity: 0;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          z-index: 2;
          display: block;
          width: 10px;
          height: 10px;
          background-color: #E65C17;
          border-radius: 50%;
          transition: all 0.3s; }
          @media only screen and (max-width: 767px) {
            body.contact form dl dd .effec:after {
              width: 14px;
              height: 14px; } }
      body.contact form dl dd .checkradio.check-style .check:checked ~ .effec:after {
        opacity: 1; }
      body.contact form dl dd .checkradio.check-style .check:checked ~ .effec:before {
        opacity: 1; }
      body.contact form dl dd textarea {
        background-color: #F7F7F7;
        width: 94.2279942%;
        height: 120px;
        -webkit-appearance: none;
        appearance: none;
        box-shadow: none;
        outline: none;
        overflow: auto;
        resize: none;
        border: none;
        padding: 16px 20px;
        border-radius: 0px; }
        @media only screen and (max-width: 767px) {
          body.contact form dl dd textarea {
            height: 200px;
            width: 100%; } }
      body.contact form dl dd:nth-last-of-type(2) {
        display: flex; }
        body.contact form dl dd:nth-last-of-type(2) input {
          width: auto;
          height: auto; }
        body.contact form dl dd:nth-last-of-type(2) .check-box {
          width: 100%;
          padding-left: 0; }
          @media only screen and (max-width: 767px) {
            body.contact form dl dd:nth-last-of-type(2) .check-box {
              padding-right: 30px; } }
          body.contact form dl dd:nth-last-of-type(2) .check-box .checkradio {
            width: 12.832612%; }
            @media only screen and (max-width: 767px) {
              body.contact form dl dd:nth-last-of-type(2) .check-box .checkradio {
                width: auto; } }
            @media only screen and (device-aspect-ratio: 139 / 199) {
              body.contact form dl dd:nth-last-of-type(2) .check-box .checkradio {
                width: 15.832612%; } }
            @media only screen and (device-aspect-ratio: 512 / 683) {
              body.contact form dl dd:nth-last-of-type(2) .check-box .checkradio {
                width: 15.832612%; } }
            body.contact form dl dd:nth-last-of-type(2) .check-box .checkradio:nth-of-type(n + 2) {
              margin-left: 65px; }
              @media only screen and (max-width: 767px) {
                body.contact form dl dd:nth-last-of-type(2) .check-box .checkradio:nth-of-type(n + 2) {
                  margin-left: auto; } }
            body.contact form dl dd:nth-last-of-type(2) .check-box .checkradio label {
              padding-left: 16px; }
              @media only screen and (max-width: 767px) {
                body.contact form dl dd:nth-last-of-type(2) .check-box .checkradio label {
                  padding-left: 10px; } }
            body.contact form dl dd:nth-last-of-type(2) .check-box .checkradio .effec {
              background-color: #fff;
              border: 1px solid #4d4d4d;
              pointer-events: none;
              overflow: hidden;
              margin: 0 auto;
              position: absolute;
              left: 1px;
              top: 50%;
              transform: translateY(-50%);
              height: 20px;
              width: 20px;
              border-radius: 0%;
              z-index: 10; }
              body.contact form dl dd:nth-last-of-type(2) .check-box .checkradio .effec:after {
                content: "";
                opacity: 0;
                width: 100%;
                height: 100%;
                background-color: #FBE6DC;
                border-radius: 0%;
                transition: all 0.3s; }
              body.contact form dl dd:nth-last-of-type(2) .check-box .checkradio .effec:before {
                content: "";
                width: 11.15px;
                height: 7.78px;
                background-image: url(../images/contact/check.svg);
                background-repeat: no-repeat;
                background-size: contain;
                background-position: center;
                position: absolute;
                left: 50%;
                top: 50%;
                transform: translate(-50%, -50%);
                opacity: 0;
                z-index: 3; }
    @media only screen and (min-width: 768px) {
      body.contact form dl dt,
      body.contact form dl dd {
        border-top: 1px solid #4d4d4d; }
        body.contact form dl dt:last-of-type,
        body.contact form dl dd:last-of-type {
          border-bottom: 1px solid #4d4d4d; } }
    @media only screen and (max-width: 767px) {
      body.contact form dl dt,
      body.contact form dl dd {
        padding-left: 15px;
        padding-right: 15px; } }
  body.contact form .contact-button {
    margin-top: 60px; }
    @media only screen and (max-width: 767px) {
      body.contact form .contact-button {
        margin-top: 40px; } }
    body.contact form .contact-button button {
      cursor: pointer;
      background-color: inherit; }
      body.contact form .contact-button button.button-back {
        cursor: pointer;
        background-color: inherit;
        border: none;
        margin: 0 auto 40px;
        padding: 0px 0 5px;
        text-align: center;
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: 0.05em;
        text-align: center;
        display: block;
        border-bottom: 1px solid #4d4d4d; }

body.contact .formError {
  z-index: 90 !important; }
  body.contact .formError .formErrorContent {
    min-width: 125px; }

body.contact .formError .formErrorContent,
body.contact .formError .formErrorArrow div {
  background: black !important; }

body.contact .display-none {
  opacity: 0 !important; }

body.contact .display-none {
  display: none !important; }

body.contact.confirm dl dt:nth-of-type(1), body.contact.confirm dl dt:last-of-type {
  align-items: center; }

body.contact.confirm .wrap .breadcrumbs-box {
  background-color: #fff; }

@media only screen and (min-width: 768px) {
  body.contact.confirm .address-cont {
    display: flex;
    align-items: center; } }

body.contact.confirm .address-cont .address-box-t {
  display: flex; }

body.contact.confirm .address-cont .address-box-b {
  margin-top: 5px;
  line-height: 1.3; }
  @media only screen and (min-width: 768px) {
    body.contact.confirm .address-cont .address-box-b {
      display: inline-block;
      margin-left: 10px;
      margin-top: 0; } }

body.contact.confirm .text-area {
  line-height: 1.3; }

@media only screen and (max-width: 767px) {
  body.contact.confirm .zip-border {
    height: 13px;
    display: flex;
    align-items: center; } }

body.contact.complete .wrap .breadcrumbs-box {
  background-color: #fff; }

@media only screen and (max-width: 767px) {
  body.contact.complete section.intro {
    padding: 45px 0 35px; } }

body.contact.complete form .cont {
  text-align: center; }
  body.contact.complete form .cont h3 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    font-size: 28px;
    font-size: 2.8rem;
    letter-spacing: 0.06em;
    font-weight: 500; }
    @media only screen and (max-width: 767px) {
      body.contact.complete form .cont h3 {
        font-size: 22px;
        font-size: 2.2rem;
        line-height: 1.818181818; } }
  body.contact.complete form .cont p {
    line-height: 1.866666667;
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.02em;
    font-weight: 500;
    margin-top: 40px; }
    @media only screen and (max-width: 767px) {
      body.contact.complete form .cont p {
        letter-spacing: 0em;
        line-height: 1.733333333;
        font-feature-settings: "palt";
        margin-top: 25px;
        text-align: left; } }

body.contact.complete form .btn {
  margin-top: 60px;
  background-color: inherit; }
  @media only screen and (max-width: 767px) {
    body.contact.complete form .btn {
      margin-top: 35px; } }

body.index .mv {
  position: relative;
  z-index: 0; }
  body.index .mv:before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(../images/index/bg.png);
    background: linear-gradient(180deg, rgba(51, 51, 51, 0) 0%, rgba(53, 61, 64, 0.17) 30%, rgba(56, 71, 79, 0.36) 40%, rgba(61, 92, 109, 0.75) 75%, #406a80 100%);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    pointer-events: none;
    z-index: 1; }
    @media only screen and (max-width: 767px) {
      body.index .mv:before {
        background-image: url(../images/index/bg-sp.png); } }
  body.index .mv .cont-top {
    position: relative;
    height: 100vh; }
    @media only screen and (max-width: 767px) {
      body.index .mv .cont-top {
        height: calc(100vh + 70px); } }
    body.index .mv .cont-top .slick {
      position: fixed;
      left: 0;
      right: 0; }
      body.index .mv .cont-top .slick .slide figure {
        max-width: 100%;
        height: 100vh;
        display: block;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat; }
        @media only screen and (max-width: 767px) {
          body.index .mv .cont-top .slick .slide figure {
            height: calc(100vh + 70px); } }
    body.index .mv .cont-top h2 {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-family: "EB Garamond", serif;
      color: #fff;
      text-align: center;
      z-index: 2;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        body.index .mv .cont-top h2 {
          top: calc(50% + 5px); } }
      body.index .mv .cont-top h2 span.en {
        font-size: 64px;
        font-size: 6.4rem;
        letter-spacing: 0.06em; }
        @media only screen and (max-width: 767px) {
          body.index .mv .cont-top h2 span.en {
            font-size: 38px;
            font-size: 3.8rem;
            letter-spacing: 0.04em; } }
      body.index .mv .cont-top h2 span.ja {
        font-size: 26px;
        font-size: 2.6rem;
        letter-spacing: 0.1em;
        font-weight: 500;
        display: block;
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
        margin-top: 50px; }
        @media only screen and (max-width: 767px) {
          body.index .mv .cont-top h2 span.ja {
            font-size: 16px;
            font-size: 1.6rem;
            letter-spacing: 0.1em;
            margin-top: 25px; } }
    body.index .mv .cont-top .scroll-efect {
      position: absolute;
      bottom: 50px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2; }
      @media only screen and (max-width: 767px) {
        body.index .mv .cont-top .scroll-efect {
          bottom: 95px;
          text-align: center;
          width: 100%; }
          body.index .mv .cont-top .scroll-efect a {
            display: block;
            height: 100%;
            width: 48px;
            margin: 0 auto; } }
    body.index .mv .cont-top #click-scroll {
      position: relative;
      display: block;
      top: -100px; }
    body.index .mv .cont-top .scroll {
      padding-top: 40px;
      position: relative;
      color: #fff;
      font-size: 15px;
      font-size: 1.5rem;
      letter-spacing: 0.2em;
      font-family: "EB Garamond", serif; }
      body.index .mv .cont-top .scroll span {
        position: absolute;
        top: 0;
        left: 50%;
        width: 20px;
        height: 30px;
        margin-left: -15px;
        border: 2px solid #fff;
        border-radius: 50px;
        box-sizing: border-box; }
        body.index .mv .cont-top .scroll span:before {
          position: absolute;
          top: 10px;
          left: 50%;
          content: '';
          width: 6px;
          height: 6px;
          margin-left: -3px;
          background-color: #fff;
          border-radius: 100%;
          -webkit-animation: sdb 2s infinite;
          animation: sdb 2s infinite;
          box-sizing: border-box; }

@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0; }
  40% {
    opacity: 1; }
  80% {
    -webkit-transform: translate(0, 9px);
    opacity: 0; }
  100% {
    opacity: 0; } }

@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0; }
  40% {
    opacity: 1; }
  80% {
    transform: translate(0, 9px);
    opacity: 0; }
  100% {
    opacity: 0; } }
  body.index .mv .cont-bottom {
    padding: 180px 0 170px;
    text-align: center;
    color: #fff;
    position: relative;
    z-index: 2; }
    @media only screen and (max-width: 767px) {
      body.index .mv .cont-bottom {
        padding: 70px 25px 80px; } }
    body.index .mv .cont-bottom h3 {
      font-size: 30px;
      font-size: 3rem;
      letter-spacing: 0.1em;
      font-weight: 500;
      line-height: 1.8;
      font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
      @media only screen and (max-width: 767px) {
        body.index .mv .cont-bottom h3 {
          font-size: 24px;
          font-size: 2.4rem;
          line-height: 1.666666667; } }
    body.index .mv .cont-bottom p {
      font-size: 15px;
      font-size: 1.5rem;
      letter-spacing: 0.1em;
      line-height: 2.133333333;
      font-weight: 400;
      margin-top: 40px; }
      @media only screen and (max-width: 767px) {
        body.index .mv .cont-bottom p {
          letter-spacing: 0.04em;
          line-height: 2;
          margin-top: 28px; } }
    body.index .mv .cont-bottom .btn {
      margin: 70px auto 0; }
      @media only screen and (max-width: 767px) {
        body.index .mv .cont-bottom .btn {
          margin: 43px auto 0; } }

body.index main {
  background: #D9D9D9;
  z-index: 1;
  position: relative; }
  body.index main section.links ul {
    display: flex;
    flex-wrap: wrap; }
    @media only screen and (max-width: 767px) {
      body.index main section.links ul {
        flex-direction: column; } }
    body.index main section.links ul li {
      width: calc(100% / 2);
      height: 350px; }
      @media only screen and (max-width: 767px) {
        body.index main section.links ul li {
          width: 100%;
          height: 150px; } }
      body.index main section.links ul li a {
        display: block;
        height: 100%;
        position: relative;
        overflow: hidden; }
        @media only screen and (min-width: 768px) {
          body.index main section.links ul li a:hover figure {
            transform: scale(1.1); } }
        body.index main section.links ul li a figure {
          height: 100%;
          width: 100%;
          transition: all .3s; }
        body.index main section.links ul li a h3 {
          position: absolute;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%);
          text-align: center;
          color: #fff;
          width: 100%; }
          body.index main section.links ul li a h3 span.main {
            font-size: 30px;
            font-size: 3rem;
            letter-spacing: 0.1em;
            font-weight: 500;
            font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
            @media only screen and (max-width: 767px) {
              body.index main section.links ul li a h3 span.main {
                font-size: 24px;
                font-size: 2.4rem; } }
          body.index main section.links ul li a h3 span.sub {
            font-size: 15px;
            font-size: 1.5rem;
            letter-spacing: 0.1em;
            font-weight: 500;
            display: block;
            margin-top: 20px; }
            @media only screen and (max-width: 767px) {
              body.index main section.links ul li a h3 span.sub {
                font-size: 14px;
                font-size: 1.4rem;
                letter-spacing: 0.06em; } }
  body.index main section.company {
    position: relative;
    height: 300px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    overflow: hidden; }
    @media only screen and (max-width: 767px) {
      body.index main section.company {
        height: 357px; } }
    body.index main section.company:before {
      content: '';
      width: 100%;
      height: 100%;
      background-image: url(../images/index/company-bg.jpg);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      position: absolute;
      z-index: -1;
      transition: all .3s; }
      @media only screen and (max-width: 767px) {
        body.index main section.company:before {
          background-image: url(../images/index/company-bg-sp.jpg); } }
    @media only screen and (min-width: 768px) {
      body.index main section.company:hover:before {
        transform: scale(1.1); }
      body.index main section.company:hover .cont:after {
        transform: translate(10px, -50%); } }
    body.index main section.company.fadeUp a {
      animation-name: fadeUpAnime;
      animation-duration: 0.8s;
      animation-fill-mode: forwards;
      opacity: 0; }
    body.index main section.company a {
      display: flex;
      height: 100%;
      width: 100%;
      align-items: center; }
      @media only screen and (max-width: 767px) {
        body.index main section.company a {
          padding: 25px 25px 30px; } }
      body.index main section.company a .cont {
        height: 220px;
        background-color: rgba(255, 255, 255, 0.8);
        max-width: 842px;
        width: calc(100% - 30px);
        margin: 0 auto;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        padding: 40px 0;
        position: relative; }
        @media only screen and (min-width: 768px) {
          body.index main section.company a .cont {
            justify-content: space-between; } }
        @media only screen and (max-width: 767px) {
          body.index main section.company a .cont {
            width: 100%;
            height: 100%;
            flex-direction: column;
            padding: 20px 30px 30px;
            text-align: center; } }
        body.index main section.company a .cont:after {
          content: '';
          width: 10.97px;
          height: 8.49px;
          display: block;
          position: absolute;
          top: 50%;
          right: 60px;
          background-image: url(../images/index/btn-arrow.svg);
          background-repeat: no-repeat;
          background-size: contain;
          background-position: center;
          transition: .2s; }
          @media only screen and (min-width: 768px) {
            body.index main section.company a .cont:after {
              transform: translateY(-50%); } }
          @media only screen and (max-width: 767px) {
            body.index main section.company a .cont:after {
              width: 20px;
              height: 15.47px;
              top: calc(100% - 40px);
              right: 50%;
              transform: translateX(50%); } }
        body.index main section.company a .cont .img-cont {
          width: 247px;
          text-align: center; }
          @media only screen and (min-width: 768px) {
            body.index main section.company a .cont .img-cont {
              border-right: 1px solid #B3B3B3;
              height: 100%;
              align-items: center;
              display: flex;
              justify-content: center; } }
          @media only screen and (max-width: 767px) {
            body.index main section.company a .cont .img-cont {
              border-bottom: 1px solid #B3B3B3;
              width: 100%; }
              body.index main section.company a .cont .img-cont img {
                width: 75.22px;
                margin-bottom: 20px; } }
        body.index main section.company a .cont .text-cont {
          width: 70.6650831%;
          padding-left: 50px; }
          @media only screen and (max-width: 767px) {
            body.index main section.company a .cont .text-cont {
              width: 100%;
              padding-left: 0;
              margin-top: 15px; } }
          body.index main section.company a .cont .text-cont h3 {
            font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
            font-size: 26px;
            font-size: 2.6rem;
            letter-spacing: 0.1em;
            font-weight: 500; }
            @media only screen and (max-width: 767px) {
              body.index main section.company a .cont .text-cont h3 {
                font-size: 20px;
                font-size: 2rem;
                line-height: 1.7; } }
          body.index main section.company a .cont .text-cont p {
            font-size: 15px;
            font-size: 1.5rem;
            letter-spacing: 0.06em;
            font-weight: 500;
            line-height: 1.866666667;
            margin-top: 30px; }
            @media only screen and (max-width: 767px) {
              body.index main section.company a .cont .text-cont p {
                font-size: 14px;
                font-size: 1.4rem;
                letter-spacing: 0em;
                line-height: 1.714285714;
                margin-top: 5px; } }
  body.index main .pin-spacer {
    background-color: #F7F7F7; }
  body.index main section.strength {
    position: relative;
    overflow: hidden; }
    body.index main section.strength::before {
      content: '';
      position: absolute;
      z-index: -1;
      background-image: url(../images/strength/strength-bg.jpg);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      height: 100%;
      width: 100%;
      top: 0;
      left: 0; }
    body.index main section.strength .strength-wrap {
      position: relative;
      min-height: 710px; }
      body.index main section.strength .strength-wrap:before {
        content: '';
        width: 100vw;
        height: 141px;
        position: absolute;
        bottom: -141px;
        left: 0;
        background-color: #F7F7F7; }
      body.index main section.strength .strength-wrap .bg_city {
        width: 100%;
        height: 120px;
        position: absolute;
        bottom: 0;
        left: 0;
        background-image: url(../images/index/bg.svg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center; }
        @media only screen and (max-width: 767px) {
          body.index main section.strength .strength-wrap .bg_city {
            background-image: url(../images/index/bg-sp.svg);
            background-size: cover;
            background-position: bottom center;
            height: 115px;
            bottom: 0; } }
        @media only screen and (device-aspect-ratio: 139 / 199) {
          body.index main section.strength .strength-wrap .bg_city {
            bottom: 1px; } }
        @media only screen and (device-aspect-ratio: 512 / 683) {
          body.index main section.strength .strength-wrap .bg_city {
            bottom: 1px; } }
      body.index main section.strength .strength-wrap .cont-top {
        padding-top: 67px;
        background-color: #F7F7F7;
        position: absolute;
        z-index: 1;
        width: 100%; }
        @media only screen and (max-width: 767px) {
          body.index main section.strength .strength-wrap .cont-top {
            background-color: #fff;
            padding-left: 20px;
            padding-top: 45px; } }
        body.index main section.strength .strength-wrap .cont-top .inner {
          max-width: 1140px;
          width: calc(100% - 40px);
          margin: 0 auto;
          display: flex; }
          body.index main section.strength .strength-wrap .cont-top .inner .btn {
            margin-left: auto;
            margin-right: 0; }
      @media only screen and (max-width: 767px) {
        body.index main section.strength .strength-wrap .btn {
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          background-color: #fff;
          bottom: 100px;
          z-index: 3; } }
    body.index main section.strength .strength-cont::-webkit-scrollbar {
      display: none; }
    body.index main section.strength .strength-cont .cont-wrap {
      background-image: url(../images/index/strength-bg.svg);
      background-repeat: no-repeat;
      background-position: left top;
      background-size: 3988.46px 880px;
      width: 3988.46px;
      display: flex;
      padding-left: 150px;
      padding-bottom: 20px;
      position: relative; }
      @media (min-height: 1050px) {
        body.index main section.strength .strength-cont .cont-wrap {
          background-position: left top 30px; } }
      @media only screen and (max-width: 767px) {
        body.index main section.strength .strength-cont .cont-wrap {
          padding-left: 0px;
          width: 1450px;
          background-image: url(../images/index/strength-bg-sp.svg);
          background-size: 100%;
          background-position: left top -5px;
          margin: 0; }
          body.index main section.strength .strength-cont .cont-wrap .cont:first-child {
            padding-left: 40px; } }
      body.index main section.strength .strength-cont .cont-wrap .cont_dmy {
        background: #f7f7f7;
        width: 100%;
        position: absolute;
        left: 0;
        top: 100%; }
        @media only screen and (max-width: 767px) {
          body.index main section.strength .strength-cont .cont-wrap .cont_dmy {
            top: calc(100% - 6px);
            background: #fff; } }
      @media only screen and (max-width: 767px) {
        body.index main section.strength .strength-cont .cont-wrap:after {
          content: '';
          width: 100%;
          height: 101px;
          position: absolute;
          bottom: 80px;
          left: 0;
          z-index: -1;
          background-color: #fff; } }
      body.index main section.strength .strength-cont .cont-wrap .cont {
        display: flex;
        max-width: 830px;
        width: 100%; }
        @media only screen and (min-width: 768px) {
          body.index main section.strength .strength-cont .cont-wrap .cont {
            align-items: center;
            margin: 230px auto 0; } }
        @media only screen and (max-width: 767px) {
          body.index main section.strength .strength-cont .cont-wrap .cont {
            flex-direction: column;
            margin-top: 145px; } }
        body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(odd) .img-cont {
          margin-left: 60px; }
          @media only screen and (max-width: 767px) {
            body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(odd) .img-cont {
              margin-left: 0; } }
        @media only screen and (max-width: 767px) {
          body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(odd) .text-cont {
            width: 295px !important; } }
        body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(even) .img-cont {
          margin-right: 60px; }
          @media only screen and (max-width: 767px) {
            body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(even) .img-cont {
              margin-right: 0; } }
        @media only screen and (max-width: 767px) {
          body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(even) .text-cont {
            width: 300px !important; } }
        @media only screen and (max-width: 767px) {
          body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(1) {
            position: relative; } }
        body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(2) {
          transform: translateX(-80px); }
          @media only screen and (min-width: 768px) {
            body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(2) {
              margin-left: 230px; } }
          @media only screen and (max-width: 767px) {
            body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(2) {
              transform: translateX(10px); } }
          @media only screen and (min-width: 768px) {
            body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(2) .text-cont {
              margin-top: 100px;
              width: 350px; }
              body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(2) .text-cont h3 {
                font-size: 24px;
                font-size: 2.4rem; } }
          @media only screen and (max-width: 767px) {
            body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(2) .text-cont p {
              letter-spacing: 0em; } }
          @media only screen and (min-width: 768px) {
            body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(2) .img-cont {
              width: 300px;
              margin-top: -100px; } }
        body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(3) {
          transform: translateX(-118px); }
          @media only screen and (max-width: 767px) {
            body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(3) {
              transform: translateX(0);
              padding-left: 10px; } }
          @media only screen and (min-width: 768px) {
            body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(3) .img-cont {
              width: 355px; } }
        body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(4) {
          transform: translateX(-140px); }
          @media only screen and (max-width: 767px) {
            body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(4) {
              transform: translateX(0);
              padding-left: 10px;
              position: relative; } }
          @media only screen and (min-width: 768px) {
            body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(4) .text-cont h3 {
              width: 375px; }
            body.index main section.strength .strength-cont .cont-wrap .cont:nth-of-type(4) .img-cont {
              width: 200px;
              margin-right: 80px; } }
        @media only screen and (min-width: 768px) {
          body.index main section.strength .strength-cont .cont-wrap .cont .text-cont {
            width: 315px; } }
        body.index main section.strength .strength-cont .cont-wrap .cont .text-cont h3 {
          font-size: 26px;
          font-size: 2.6rem;
          letter-spacing: 0.1em;
          line-height: 1.846153846;
          font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
          @media only screen and (max-width: 767px) {
            body.index main section.strength .strength-cont .cont-wrap .cont .text-cont h3 {
              font-size: 20px;
              font-size: 2rem;
              line-height: 1.7; } }
        body.index main section.strength .strength-cont .cont-wrap .cont .text-cont p {
          font-size: 15px;
          font-size: 1.5rem;
          letter-spacing: 0.02em;
          line-height: 1.866666667;
          font-weight: 500;
          margin-top: 30px; }
          @media only screen and (max-width: 767px) {
            body.index main section.strength .strength-cont .cont-wrap .cont .text-cont p {
              font-size: 14px;
              font-size: 1.4rem;
              line-height: 1.714285714;
              margin-top: 25px; } }
        @media only screen and (min-width: 768px) {
          body.index main section.strength .strength-cont .cont-wrap .cont .img-cont {
            width: 450px; } }
        @media only screen and (max-width: 767px) {
          body.index main section.strength .strength-cont .cont-wrap .cont .img-cont {
            margin-top: 20px; } }
      body.index main section.strength .strength-cont .cont-wrap.largeheight {
        background-image: url(../images/index/strength-bg.svg);
        background-repeat: no-repeat;
        background-position: left top 80px; }
        body.index main section.strength .strength-cont .cont-wrap.largeheight .cont {
          margin-top: 310px; }
  body.index main #works_flex_title {
    display: none;
    height: 382px;
    position: fixed;
    top: 220px;
    width: 207px;
    left: calc(50% - 500px); }
    @media only screen and (max-width: 1050px) {
      body.index main #works_flex_title {
        left: 25px; } }
    body.index main #works_flex_title p {
      font-size: 15px;
      font-size: 1.5rem;
      letter-spacing: 0.06em;
      line-height: 1.866666667;
      margin-top: 35px; }
      @media only screen and (device-aspect-ratio: 139 / 199) {
        body.index main #works_flex_title p {
          font-size: 13px; } }
      @media only screen and (device-aspect-ratio: 512 / 683) {
        body.index main #works_flex_title p {
          font-size: 13px; } }
    body.index main #works_flex_title .btn {
      margin-top: 158px;
      margin-left: 0; }
  body.index main section.works {
    background-color: #D9D9D9;
    position: relative; }
    body.index main section.works .works-cont {
      display: flex;
      justify-content: space-between;
      padding: 120px 0 125px; }
      @media only screen and (max-width: 767px) {
        body.index main section.works .works-cont {
          flex-direction: column;
          padding: 55px 0 70px; }
          body.index main section.works .works-cont .btn {
            margin-top: 50px; } }
      body.index main section.works .works-cont .left-cont {
        width: 20.7%; }
        @media only screen and (max-width: 767px) {
          body.index main section.works .works-cont .left-cont {
            width: 100%; } }
        @media only screen and (min-width: 768px) {
          body.index main section.works .works-cont .left-cont .works-title {
            height: 382px;
            position: absolute;
            top: 127px;
            width: 207px; }
            body.index main section.works .works-cont .left-cont .works-title.fixed {
              position: absolute;
              top: 120px;
              left: calc(50% - 500px);
              width: 207px; }
              body.index main section.works .works-cont .left-cont .works-title.fixed.active {
                position: absolute;
                top: 740px; } }
        body.index main section.works .works-cont .left-cont .works-title p {
          font-size: 15px;
          font-size: 1.5rem;
          letter-spacing: 0.06em;
          line-height: 1.866666667;
          margin-top: 35px; }
          @media only screen and (device-aspect-ratio: 139 / 199) {
            body.index main section.works .works-cont .left-cont .works-title p {
              font-size: 13px; } }
          @media only screen and (device-aspect-ratio: 512 / 683) {
            body.index main section.works .works-cont .left-cont .works-title p {
              font-size: 13px; } }
        body.index main section.works .works-cont .left-cont .works-title .btn {
          margin-top: 158px;
          margin-left: 0; }
      body.index main section.works .works-cont .right-cont {
        width: 71.1%; }
        @media only screen and (max-width: 767px) {
          body.index main section.works .works-cont .right-cont {
            width: 100%; } }
        body.index main section.works .works-cont .right-cont ul {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap; }
          @media only screen and (max-width: 767px) {
            body.index main section.works .works-cont .right-cont ul {
              margin-top: 10px; } }
          body.index main section.works .works-cont .right-cont ul.fadeUp li {
            animation-name: fadeUpAnime;
            animation-duration: 0.8s;
            animation-fill-mode: forwards;
            opacity: 0; }
            body.index main section.works .works-cont .right-cont ul.fadeUp li:nth-of-type(1) {
              animation-delay: 0.2s; }
            body.index main section.works .works-cont .right-cont ul.fadeUp li:nth-of-type(2) {
              animation-delay: 0.4s; }
            body.index main section.works .works-cont .right-cont ul.fadeUp li:nth-of-type(3) {
              animation-delay: 0.6s; }
            body.index main section.works .works-cont .right-cont ul.fadeUp li:nth-of-type(4) {
              animation-delay: 0.8s; }
            body.index main section.works .works-cont .right-cont ul.fadeUp li:nth-of-type(5) {
              animation-delay: 1s; }
            body.index main section.works .works-cont .right-cont ul.fadeUp li:nth-of-type(6) {
              animation-delay: 1.2s; }

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
          body.index main section.works .works-cont .right-cont ul li {
            width: calc((100% - 20px) / 3); }
            @media only screen and (max-width: 767px) {
              body.index main section.works .works-cont .right-cont ul li {
                width: calc((100% - 15px) / 2); }
                body.index main section.works .works-cont .right-cont ul li:nth-of-type(n + 3) {
                  margin-top: 30px; }
                body.index main section.works .works-cont .right-cont ul li:nth-of-type(odd) {
                  padding-top: 30px; } }
            @media only screen and (min-width: 768px) {
              body.index main section.works .works-cont .right-cont ul li:nth-of-type(n + 4) {
                margin-top: 55px; }
              body.index main section.works .works-cont .right-cont ul li:nth-of-type(3n + 2) {
                padding-top: 30px; } }
            body.index main section.works .works-cont .right-cont ul li a .img-cont {
              overflow: hidden; }
              body.index main section.works .works-cont .right-cont ul li a .img-cont > div {
                height: 368px;
                transition: .3s;
                background-repeat: no-repeat;
                background-size: auto 100%;
                background-position: center; }
                @media only screen and (max-width: 767px) {
                  body.index main section.works .works-cont .right-cont ul li a .img-cont > div {
                    height: 240px; } }
            @media only screen and (min-width: 768px) {
              body.index main section.works .works-cont .right-cont ul li a:hover .img-cont > div {
                transform: scale(1.1); }
              body.index main section.works .works-cont .right-cont ul li a:hover .text-cont {
                color: #E65C17; }
                body.index main section.works .works-cont .right-cont ul li a:hover .text-cont .cat,
                body.index main section.works .works-cont .right-cont ul li a:hover .text-cont .cat2 {
                  color: #E65C17; }
                  body.index main section.works .works-cont .right-cont ul li a:hover .text-cont .cat:before,
                  body.index main section.works .works-cont .right-cont ul li a:hover .text-cont .cat2:before {
                    color: #E65C17 !important; } }
            body.index main section.works .works-cont .right-cont ul li a .text-cont {
              margin-top: 25px;
              padding-left: 25px; }
              @media only screen and (max-width: 767px) {
                body.index main section.works .works-cont .right-cont ul li a .text-cont {
                  padding-left: 0;
                  margin-top: 15px; } }
              body.index main section.works .works-cont .right-cont ul li a .text-cont span.cat {
                font-size: 13px;
                font-size: 1.3rem;
                letter-spacing: 0.06em;
                font-weight: 500;
                color: #808080; }
                @media only screen and (max-width: 767px) {
                  body.index main section.works .works-cont .right-cont ul li a .text-cont span.cat {
                    font-size: 12px;
                    font-size: 1.2rem; } }
                @media only screen and (device-aspect-ratio: 139 / 199) {
                  body.index main section.works .works-cont .right-cont ul li a .text-cont span.cat {
                    font-size: 10px; } }
                @media only screen and (device-aspect-ratio: 512 / 683) {
                  body.index main section.works .works-cont .right-cont ul li a .text-cont span.cat {
                    font-size: 10px; } }
                body.index main section.works .works-cont .right-cont ul li a .text-cont span.cat:nth-of-type(n + 2) {
                  position: relative;
                  display: inline-block;
                  margin-left: 18px; }
                  @media only screen and (max-width: 767px) {
                    body.index main section.works .works-cont .right-cont ul li a .text-cont span.cat:nth-of-type(n + 2) {
                      display: block;
                      margin-left: 0;
                      margin-top: 10px; } }
                  @media only screen and (min-width: 768px) {
                    body.index main section.works .works-cont .right-cont ul li a .text-cont span.cat:nth-of-type(n + 2):before {
                      content: '/';
                      width: 10px;
                      height: 10px;
                      display: block;
                      position: absolute;
                      top: calc(50% + -2px);
                      left: -15px;
                      transform: translateY(-50%);
                      font-size: 13px;
                      font-size: 1.3rem;
                      letter-spacing: 0.06em;
                      font-weight: 500;
                      color: #808080; } }
              body.index main section.works .works-cont .right-cont ul li a .text-cont span.cat2 {
                font-size: 13px;
                font-size: 1.3rem;
                letter-spacing: 0.06em;
                font-weight: 500;
                color: #808080;
                position: relative;
                display: inline-block;
                margin-left: 18px; }
                @media only screen and (max-width: 767px) {
                  body.index main section.works .works-cont .right-cont ul li a .text-cont span.cat2 {
                    margin-left: 0;
                    margin-top: 10px;
                    font-size: 12px;
                    font-size: 1.2rem;
                    letter-spacing: 0em;
                    display: block; } }
                @media only screen and (min-width: 768px) {
                  body.index main section.works .works-cont .right-cont ul li a .text-cont span.cat2:before {
                    content: '/';
                    width: 10px;
                    height: 10px;
                    display: block;
                    position: absolute;
                    top: calc(50% + -2px);
                    left: -15px;
                    transform: translateY(-50%);
                    font-size: 13px;
                    font-size: 1.3rem;
                    letter-spacing: 0.06em;
                    font-weight: 500;
                    color: #808080; } }
  @media only screen and (min-width: 768px) and (max-width: 767px) {
    body.index main section.works .works-cont .right-cont ul li a .text-cont span.cat2:before {
      top: calc(50% - 2px);
      left: -5px; } }
                @media only screen and (device-aspect-ratio: 139 / 199) {
                  body.index main section.works .works-cont .right-cont ul li a .text-cont span.cat2 {
                    font-size: 10px; } }
                @media only screen and (device-aspect-ratio: 512 / 683) {
                  body.index main section.works .works-cont .right-cont ul li a .text-cont span.cat2 {
                    font-size: 10px; } }
              body.index main section.works .works-cont .right-cont ul li a .text-cont span.name {
                font-size: 15px;
                font-size: 1.5rem;
                letter-spacing: 0.02em;
                font-weight: 500;
                font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
                display: block;
                margin-top: 15px; }
                @media only screen and (min-width: 768px) {
                  body.index main section.works .works-cont .right-cont ul li a .text-cont span.name {
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    width: 195px; } }
                @media only screen and (max-width: 767px) {
                  body.index main section.works .works-cont .right-cont ul li a .text-cont span.name {
                    line-height: 1.6;
                    margin-top: 10px;
                    width: 155px;
                    display: -webkit-box;
                    -webkit-box-orient: vertical;
                    -webkit-line-clamp: 2;
                    overflow: hidden; } }
  body.index main section.recruit {
    position: relative;
    height: 400px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    overflow: hidden; }
    @media only screen and (max-width: 767px) {
      body.index main section.recruit {
        height: 396px; } }
    body.index main section.recruit:before {
      content: '';
      width: 100%;
      height: 100%;
      background-image: url(../images/index/recruit-bg.jpg);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      position: absolute;
      z-index: -1;
      transition: all .3s; }
      @media only screen and (max-width: 767px) {
        body.index main section.recruit:before {
          background-image: url(../images/index/recruit-bg-sp.jpg); } }
    @media only screen and (min-width: 768px) {
      body.index main section.recruit:hover:before {
        transform: scale(1.1); }
      body.index main section.recruit:hover .cont:after {
        transform: translate(10px, -50%); } }
    body.index main section.recruit.fadeUp a {
      animation-name: fadeUpAnime;
      animation-duration: 0.8s;
      animation-fill-mode: forwards;
      opacity: 0; }
    body.index main section.recruit a {
      display: flex;
      height: 100%;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        body.index main section.recruit a {
          padding: 60px 25px 45px; } }
      body.index main section.recruit a .cont {
        height: 220px;
        background-color: rgba(255, 255, 255, 0.8);
        max-width: 999px;
        width: calc(100% - 30px);
        margin-left: 187px;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        padding: 40px 50px 40px 80px;
        position: relative;
        margin: 95px auto 0; }
        @media only screen and (max-width: 767px) {
          body.index main section.recruit a .cont {
            width: 100%;
            height: 100%;
            flex-direction: column;
            padding: 20px 29px 30px;
            text-align: center;
            margin-top: 0px;
            margin: 0 auto; } }
        body.index main section.recruit a .cont:after {
          content: '';
          width: 10.97px;
          height: 8.49px;
          display: block;
          position: absolute;
          top: 50%;
          right: 50px;
          transform: translateY(-50%);
          background-image: url(../images/index/btn-arrow.svg);
          background-repeat: no-repeat;
          background-size: contain;
          background-position: center;
          transition: .2s; }
          @media only screen and (max-width: 767px) {
            body.index main section.recruit a .cont:after {
              width: 20px;
              height: 15.47px;
              top: calc(100% - 40px);
              right: 50%;
              transform: translateX(50%); } }
        body.index main section.recruit a .cont span.txt-efect {
          font-size: 100px;
          font-size: 10rem;
          letter-spacing: 0.06em;
          font-family: "EB Garamond", serif;
          opacity: .9;
          color: #fff;
          position: absolute;
          top: -85px;
          right: -5px; }
          @media only screen and (max-width: 767px) {
            body.index main section.recruit a .cont span.txt-efect {
              font-size: 62px;
              font-size: 6.2rem;
              top: -53px;
              right: 50%;
              transform: translateX(50%); } }
        body.index main section.recruit a .cont .left-cont {
          width: 273px;
          text-align: center; }
          @media only screen and (min-width: 768px) {
            body.index main section.recruit a .cont .left-cont {
              border-right: 1px solid #B3B3B3;
              height: 100%;
              display: flex;
              align-items: center; } }
          @media only screen and (max-width: 767px) {
            body.index main section.recruit a .cont .left-cont {
              border-bottom: 1px solid #B3B3B3; } }
          body.index main section.recruit a .cont .left-cont h3 {
            font-size: 28px;
            font-size: 2.8rem;
            letter-spacing: 0.1em;
            font-weight: 500;
            font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
            line-height: 1.857142857; }
            @media only screen and (min-width: 768px) {
              body.index main section.recruit a .cont .left-cont h3 {
                text-align: left; } }
            @media only screen and (max-width: 767px) {
              body.index main section.recruit a .cont .left-cont h3 {
                font-size: 20px;
                font-size: 2rem;
                line-height: 1.7;
                padding-bottom: 20px; } }
        body.index main section.recruit a .cont .right-cont {
          width: 50%;
          margin-left: 60px; }
          @media only screen and (min-width: 768px) {
            body.index main section.recruit a .cont .right-cont {
              height: 100%; } }
          @media only screen and (max-width: 767px) {
            body.index main section.recruit a .cont .right-cont {
              width: 100%;
              margin-left: 0; } }
          body.index main section.recruit a .cont .right-cont p {
            font-size: 15px;
            font-size: 1.5rem;
            letter-spacing: 0.06em;
            font-weight: 500;
            line-height: 1.866666667;
            margin-top: 30px; }
            @media only screen and (max-width: 767px) {
              body.index main section.recruit a .cont .right-cont p {
                font-size: 14px;
                font-size: 1.4rem;
                letter-spacing: 0em;
                line-height: 1.857142857;
                margin-top: 20px; } }
  body.index main section.infomation {
    background-color: #fff;
    position: relative; }
    body.index main section.infomation .cont-wrap {
      padding: 60px 0 100px; }
      @media only screen and (max-width: 767px) {
        body.index main section.infomation .cont-wrap {
          padding: 40px 0 50px; } }
      body.index main section.infomation .cont-wrap .cont-top {
        display: flex;
        align-items: center; }
        body.index main section.infomation .cont-wrap .cont-top h3 span.en {
          font-family: "EB Garamond", serif;
          font-size: 38px;
          font-size: 3.8rem;
          letter-spacing: 0.1em; }
          @media only screen and (max-width: 767px) {
            body.index main section.infomation .cont-wrap .cont-top h3 span.en {
              font-size: 32px;
              font-size: 3.2rem; } }
        body.index main section.infomation .cont-wrap .cont-top h3 span.ja {
          font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: 0.06em;
          display: inline-block;
          margin-left: 10px; }
        body.index main section.infomation .cont-wrap .cont-top .btn {
          margin-left: auto;
          margin-right: 0; }
      body.index main section.infomation .cont-wrap .list {
        display: block;
        height: 100%;
        margin-top: 40px; }
        @media only screen and (max-width: 767px) {
          body.index main section.infomation .cont-wrap .list .btn {
            margin-top: 40px; } }
        body.index main section.infomation .cont-wrap .list .cont {
          border-top: 1px solid #B3B3B3;
          position: relative; }
          @media only screen and (min-width: 768px) {
            body.index main section.infomation .cont-wrap .list .cont:hover:before {
              transform: translateX(10px) rotate(45deg); } }
          body.index main section.infomation .cont-wrap .list .cont a {
            display: block;
            height: 100%;
            position: relative;
            border-bottom: 1px solid #B3B3B3; }
            body.index main section.infomation .cont-wrap .list .cont a .flex-line {
              display: flex;
              align-items: center;
              flex-wrap: nowrap;
              height: 100%;
              width: calc(100% - 80px); }
              @media only screen and (max-width: 767px) {
                body.index main section.infomation .cont-wrap .list .cont a .flex-line {
                  flex-wrap: wrap;
                  width: 100%; } }
            body.index main section.infomation .cont-wrap .list .cont a:before {
              content: "";
              border-top: 1px solid #E65C17;
              border-right: 1px solid #E65C17;
              position: absolute;
              top: calc(50% - 4px);
              right: 50px;
              width: 5px;
              height: 5px;
              transform: rotate(45deg);
              transition: .3s; }
              @media only screen and (max-width: 767px) {
                body.index main section.infomation .cont-wrap .list .cont a:before {
                  right: 15px;
                  width: 8px;
                  height: 8px; } }
            @media only screen and (max-width: 767px) {
              body.index main section.infomation .cont-wrap .list .cont a {
                flex-direction: column; } }
            @media only screen and (min-width: 768px) {
              body.index main section.infomation .cont-wrap .list .cont a {
                transition: .3s; }
                body.index main section.infomation .cont-wrap .list .cont a:hover {
                  color: #E65C17; }
                  body.index main section.infomation .cont-wrap .list .cont a:hover .left span.cat {
                    background-color: #E65C17;
                    color: #fff; }
                  body.index main section.infomation .cont-wrap .list .cont a:hover:before {
                    transform: translateX(10px) rotate(45deg); } }
            body.index main section.infomation .cont-wrap .list .cont a .left {
              padding-left: 50px !important; }
              @media only screen and (max-width: 767px) {
                body.index main section.infomation .cont-wrap .list .cont a .left {
                  width: 100%;
                  padding-left: 15px !important;
                  padding-top: 23px; } }
              body.index main section.infomation .cont-wrap .list .cont a .left span.day {
                font-size: 17px;
                font-size: 1.7rem;
                letter-spacing: 0.06em;
                font-family: "EB Garamond", serif; }
              body.index main section.infomation .cont-wrap .list .cont a .left span.cat {
                font-size: 13px;
                font-size: 1.3rem;
                letter-spacing: 0.02em;
                line-height: 1.4;
                font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
                background-color: #D9E1E6;
                display: inline-block;
                width: auto;
                height: auto;
                text-align: left;
                padding: 5px 6px;
                margin-left: 20px;
                transition: .3s; }
                @media only screen and (min-width: 768px) {
                  body.index main section.infomation .cont-wrap .list .cont a .left span.cat {
                    white-space: nowrap; } }
            body.index main section.infomation .cont-wrap .list .cont a .right {
              padding-left: 20px !important; }
              @media only screen and (max-width: 767px) {
                body.index main section.infomation .cont-wrap .list .cont a .right {
                  width: 100%;
                  padding-left: 15px !important;
                  padding-top: 15px;
                  padding-bottom: 20px;
                  padding-right: 50px; } }
              body.index main section.infomation .cont-wrap .list .cont a .right .title {
                font-size: 15px;
                font-size: 1.5rem;
                letter-spacing: 0.02em;
                font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
                @media only screen and (min-width: 768px) {
                  body.index main section.infomation .cont-wrap .list .cont a .right .title {
                    display: -webkit-box;
                    -webkit-box-orient: vertical;
                    -webkit-line-clamp: 1;
                    overflow: hidden; } }
                @media only screen and (max-width: 767px) {
                  body.index main section.infomation .cont-wrap .list .cont a .right .title {
                    line-height: 1.6;
                    display: -webkit-box;
                    -webkit-box-orient: vertical;
                    -webkit-line-clamp: 2;
                    overflow: hidden; } }
            body.index main section.infomation .cont-wrap .list .cont a .left,
            body.index main section.infomation .cont-wrap .list .cont a .right {
              height: 100%;
              display: flex;
              align-items: center; }
              @media only screen and (min-width: 768px) {
                body.index main section.infomation .cont-wrap .list .cont a .left,
                body.index main section.infomation .cont-wrap .list .cont a .right {
                  padding: 27px 0; } }

body.index .footer {
  background: #fff;
  z-index: 1;
  position: relative; }
  body.index .footer .footer-text {
    margin-top: 50px; }
    @media only screen and (max-width: 767px) {
      body.index .footer .footer-text {
        margin-top: 53px; } }
  body.index .footer .footer-seo-text p {
    display: block !important; }
    @media only screen and (max-width: 767px) {
      body.index .footer .footer-seo-text p {
        margin-top: 0 !important; } }
  @media only screen and (max-width: 767px) {
    body.index .footer .footer-cont .cont-wrap .cont {
      padding-bottom: 30px; } }

.mv {
  position: relative; }
  .mv figure {
    height: 600px; }
    @media only screen and (max-width: 767px) {
      .mv figure {
        height: 350px; } }
  .mv h2 {
    color: #fff;
    position: absolute;
    top: calc(50% + -10px);
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .mv h2 {
        text-align: center;
        top: calc(50% + -20px); } }
    .mv h2 span.en {
      font-size: 58px;
      font-size: 5.8rem;
      letter-spacing: 0.06em;
      line-height: 1.293103448;
      font-family: "EB Garamond", serif; }
      @media only screen and (max-width: 767px) {
        .mv h2 span.en {
          font-size: 38px;
          font-size: 3.8rem;
          letter-spacing: 0.04em; } }
    .mv h2 span.ja {
      font-size: 18px;
      font-size: 1.8rem;
      letter-spacing: 0.1em;
      font-weight: 500;
      font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
      display: block;
      margin-top: 15px; }
      @media only screen and (max-width: 767px) {
        .mv h2 span.ja {
          font-size: 16px;
          font-size: 1.6rem; } }

body.news main {
  padding-top: 120px; }
  @media only screen and (max-width: 767px) {
    body.news main {
      padding-top: 80px; } }
  body.news main section {
    padding-bottom: 180px; }
    @media only screen and (max-width: 767px) {
      body.news main section {
        padding-bottom: 120px; } }
    body.news main section .cont-wrap {
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        body.news main section .cont-wrap {
          flex-direction: column; } }
      body.news main section .cont-wrap .left-menu {
        width: 69%; }
        @media only screen and (max-width: 767px) {
          body.news main section .cont-wrap .left-menu {
            width: 100%; } }
        body.news main section .cont-wrap .left-menu ul li {
          border-bottom: 1px solid #B3B3B3;
          padding-bottom: 30px; }
          body.news main section .cont-wrap .left-menu ul li:nth-of-type(n + 2) {
            margin-top: 28px; }
          body.news main section .cont-wrap .left-menu ul li a {
            display: flex;
            align-items: center;
            height: 100%;
            transition: .2s;
            position: relative; }
            body.news main section .cont-wrap .left-menu ul li a:before {
              content: '';
              width: 6px;
              height: 6px;
              display: block;
              position: absolute;
              top: 50%;
              right: 10px;
              transform: translate(0%, -50%) rotate(45deg);
              border-top: 1px solid #E65C17;
              border-right: 1px solid #E65C17;
              transition: .2s; }
              @media only screen and (max-width: 767px) {
                body.news main section .cont-wrap .left-menu ul li a:before {
                  right: 0;
                  width: 8px;
                  height: 8px; } }
            @media only screen and (min-width: 768px) {
              body.news main section .cont-wrap .left-menu ul li a:hover {
                color: #E65C17; }
                body.news main section .cont-wrap .left-menu ul li a:hover .cat {
                  color: #fff;
                  background-color: #E65C17 !important; }
                body.news main section .cont-wrap .left-menu ul li a:hover:before {
                  transform: translate(10px, -50%) rotate(45deg); } }
            body.news main section .cont-wrap .left-menu ul li a .img-cont figure {
              width: 180px;
              height: 120px;
              background-image: url(../images/news/img.jpg);
              background-repeat: no-repeat;
              background-size: cover;
              background-position: center; }
              @media only screen and (max-width: 767px) {
                body.news main section .cont-wrap .left-menu ul li a .img-cont figure {
                  width: 142px; } }
            body.news main section .cont-wrap .left-menu ul li a .text-cont {
              width: 47%;
              margin-left: 40px; }
              @media only screen and (max-width: 767px) {
                body.news main section .cont-wrap .left-menu ul li a .text-cont {
                  margin-left: 20px;
                  width: 46%;
                  padding-bottom: 15px; } }
              body.news main section .cont-wrap .left-menu ul li a .text-cont .day {
                font-family: "EB Garamond", serif;
                font-size: 17px;
                font-size: 1.7rem;
                letter-spacing: 0.06em; }
                @media only screen and (max-width: 767px) {
                  body.news main section .cont-wrap .left-menu ul li a .text-cont .day {
                    display: inline-block;
                    margin-right: 5px;
                    margin-bottom: 5px;
                    font-size: 16px;
                    font-size: 1.6rem;
                    letter-spacing: 0em; } }
              body.news main section .cont-wrap .left-menu ul li a .text-cont .cat {
                width: auto;
                height: 24px;
                font-size: 13px;
                font-size: 1.3rem;
                letter-spacing: 0.02em;
                font-weight: 500;
                font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
                background-color: #D9E1E6;
                padding: 6px 5px 5px;
                text-align: center;
                display: inline-block;
                margin-left: 16px;
                transition: .3s;
                white-space: nowrap; }
                @media only screen and (max-width: 767px) {
                  body.news main section .cont-wrap .left-menu ul li a .text-cont .cat {
                    font-size: 12px;
                    font-size: 1.2rem;
                    letter-spacing: 0em;
                    margin-right: 5px;
                    margin-left: 0; }
                    body.news main section .cont-wrap .left-menu ul li a .text-cont .cat:nth-of-type(2) {
                      margin-right: 0; }
                    body.news main section .cont-wrap .left-menu ul li a .text-cont .cat:nth-of-type(n + 3) {
                      margin-left: 0; } }
                @media only screen and (device-aspect-ratio: 139 / 199) {
                  body.news main section .cont-wrap .left-menu ul li a .text-cont .cat {
                    font-size: 12px; } }
              body.news main section .cont-wrap .left-menu ul li a .text-cont .title-text {
                margin-top: 17px;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
                overflow: hidden;
                width: 450px; }
                @media only screen and (max-width: 767px) {
                  body.news main section .cont-wrap .left-menu ul li a .text-cont .title-text {
                    width: 140px;
                    -webkit-line-clamp: 3;
                    margin-top: 5px;
                    margin-bottom: -14px; } }
                body.news main section .cont-wrap .left-menu ul li a .text-cont .title-text span {
                  font-size: 15px;
                  font-size: 1.5rem;
                  letter-spacing: 0.02em;
                  margin-top: 15px;
                  line-height: 1.6;
                  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
      body.news main section .cont-wrap .right-menu {
        width: 21%; }
        @media only screen and (max-width: 767px) {
          body.news main section .cont-wrap .right-menu {
            width: 100%; } }
        body.news main section .cont-wrap .right-menu h3 {
          font-family: "EB Garamond", serif;
          font-size: 28px;
          font-size: 2.8rem;
          letter-spacing: 0.1em;
          padding-bottom: 20px;
          border-bottom: 1px solid #E65C17; }
          body.news main section .cont-wrap .right-menu h3 span {
            color: #E65C17; }
        @media only screen and (max-width: 767px) {
          body.news main section .cont-wrap .right-menu .category {
            margin-top: 80px;
            text-align: center; }
            body.news main section .cont-wrap .right-menu .category .slide-title {
              padding-bottom: 20px !important; } }
        body.news main section .cont-wrap .right-menu .category ul {
          margin-top: 25px; }
          @media only screen and (max-width: 767px) {
            body.news main section .cont-wrap .right-menu .category ul {
              margin-top: 30px;
              max-width: 190px;
              margin: 30px auto 0;
              display: flex;
              flex-wrap: wrap;
              padding-left: 10px; } }
          @media only screen and (max-width: 767px) {
            body.news main section .cont-wrap .right-menu .category ul li {
              width: calc((100% - 55px) / 2);
              margin-right: 55px; }
              body.news main section .cont-wrap .right-menu .category ul li:nth-of-type(n + 3) {
                margin-top: 20px; }
              body.news main section .cont-wrap .right-menu .category ul li:nth-of-type(2n + 2) {
                margin-right: 0; } }
          body.news main section .cont-wrap .right-menu .category ul li.is-active a {
            color: #E65C17; }
          @media only screen and (min-width: 768px) {
            body.news main section .cont-wrap .right-menu .category ul li:nth-of-type(n + 2) {
              margin-top: 17px; } }
          body.news main section .cont-wrap .right-menu .category ul li a {
            font-size: 15px;
            font-size: 1.5rem;
            letter-spacing: 0.02em;
            font-family: "EB Garamond", serif;
            font-weight: 500;
            display: block;
            height: 100%; }
          @media only screen and (min-width: 768px) {
            body.news main section .cont-wrap .right-menu .category ul li {
              transition: .2s; }
              body.news main section .cont-wrap .right-menu .category ul li:hover {
                color: #E65C17; } }
        body.news main section .cont-wrap .right-menu .archive {
          margin-top: 40px; }
          @media only screen and (max-width: 767px) {
            body.news main section .cont-wrap .right-menu .archive {
              text-align: center;
              margin-top: 45px; } }
          body.news main section .cont-wrap .right-menu .archive ul {
            margin-top: 21px; }
            @media only screen and (max-width: 767px) {
              body.news main section .cont-wrap .right-menu .archive ul {
                margin-top: 30px;
                max-width: 172px;
                margin: 30px auto 0;
                display: flex;
                flex-wrap: wrap; } }
            @media only screen and (max-width: 767px) {
              body.news main section .cont-wrap .right-menu .archive ul li {
                width: calc((100% - 70px) / 2);
                margin-right: 70px; }
                body.news main section .cont-wrap .right-menu .archive ul li:nth-of-type(n + 3) {
                  margin-top: 15px; }
                body.news main section .cont-wrap .right-menu .archive ul li:nth-of-type(2n + 2) {
                  margin-right: 0; } }
            @media only screen and (min-width: 768px) {
              body.news main section .cont-wrap .right-menu .archive ul li:nth-of-type(n + 2) {
                margin-top: 10px; } }
            body.news main section .cont-wrap .right-menu .archive ul li.is-active a {
              color: #E65C17; }
            body.news main section .cont-wrap .right-menu .archive ul li a {
              font-size: 17px;
              font-size: 1.7rem;
              letter-spacing: 0.06em;
              font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
              font-weight: 500;
              display: block;
              height: 100%; }
              @media only screen and (max-width: 767px) {
                body.news main section .cont-wrap .right-menu .archive ul li a {
                  font-size: 15px;
                  font-size: 1.5rem;
                  letter-spacing: 0.02em; } }
              @media only screen and (min-width: 768px) {
                body.news main section .cont-wrap .right-menu .archive ul li a {
                  transition: .2s; }
                  body.news main section .cont-wrap .right-menu .archive ul li a:hover {
                    color: #E65C17; } }
        @media only screen and (max-width: 767px) {
          body.news main section .cont-wrap .right-menu .slide-menu.is-open .slide-title:before {
            transform: translate(0%, 0%) rotate(315deg); }
          body.news main section .cont-wrap .right-menu .slide-menu .slide-title {
            position: relative;
            padding-bottom: 13px; }
            body.news main section .cont-wrap .right-menu .slide-menu .slide-title:before {
              content: '';
              width: 6px;
              height: 6px;
              display: block;
              position: absolute;
              top: 15px;
              right: 50px;
              transform: translate(0%, 0%) rotate(135deg);
              border-top: 1px solid #E65C17;
              border-right: 1px solid #E65C17;
              transition: .2s; }
          body.news main section .cont-wrap .right-menu .slide-menu .slide-list {
            display: none; } }
    body.news main section .page-nav {
      display: block;
      width: 164px;
      margin: 40px auto 0;
      text-align: center;
      font-family: "EB Garamond", serif;
      font-size: 20px;
      font-size: 2rem;
      letter-spacing: 0.06em; }
      body.news main section .page-nav .wp-pagenavi {
        position: relative;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        justify-content: space-between; }
        body.news main section .page-nav .wp-pagenavi .current {
          color: #E65C17;
          width: 20%; }
        body.news main section .page-nav .wp-pagenavi .page {
          width: 20%; }
        body.news main section .page-nav .wp-pagenavi .previouspostslink,
        body.news main section .page-nav .wp-pagenavi .nextpostslink {
          width: 20%;
          height: 100%;
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
          align-items: center;
          -webkit-justify-content: center;
          justify-content: center;
          color: #E65C17;
          position: relative; }
          body.news main section .page-nav .wp-pagenavi .previouspostslink:before,
          body.news main section .page-nav .wp-pagenavi .nextpostslink:before {
            content: '';
            width: 40px;
            height: 12px;
            position: absolute;
            top: calc(50% + 1px);
            right: -10px;
            transform: translateY(-50%);
            background-image: url(../images/works/arrow-next.svg);
            background-repeat: no-repeat;
            background-size: contain;
            background-position: center;
            opacity: 10;
            pointer-events: none;
            background-color: #fff; }
        body.news main section .page-nav .wp-pagenavi .previouspostslink:before {
          transform: translateY(-50%) rotate(180deg);
          right: inherit;
          left: -15px; }
      body.news main section .page-nav.total-2 .wp-pagenavi {
        width: 115px;
        margin: 0 auto; }
        body.news main section .page-nav.total-2 .wp-pagenavi .current {
          width: 25%; }
          body.news main section .page-nav.total-2 .wp-pagenavi .current:nth-child(2) {
            margin-left: 25%; }
        body.news main section .page-nav.total-2 .wp-pagenavi a {
          width: 25%; }
      body.news main section .page-nav span.page-back {
        font-size: 17px;
        font-size: 1.7rem;
        letter-spacing: 0.06em;
        font-weight: 500;
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }

body.news.detail .cont-wrap .left-menu .news-cont .title-wrap .top {
  padding-bottom: 15px;
  border-bottom: 1px solid #B3B3B3; }
  body.news.detail .cont-wrap .left-menu .news-cont .title-wrap .top span.day {
    font-family: "EB Garamond", serif;
    font-size: 17px;
    font-size: 1.7rem;
    letter-spacing: 0.06em; }
  body.news.detail .cont-wrap .left-menu .news-cont .title-wrap .top span.cat {
    width: auto;
    height: 24px;
    font-size: 13px;
    font-size: 1.3rem;
    letter-spacing: 0.02em;
    font-weight: 500;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    background-color: #D9E1E6;
    padding: 6px 5px 5px;
    text-align: center;
    display: inline-block;
    margin-left: 16px;
    white-space: nowrap; }
    @media only screen and (max-width: 767px) {
      body.news.detail .cont-wrap .left-menu .news-cont .title-wrap .top span.cat {
        margin-left: 10px; } }
    @media only screen and (device-aspect-ratio: 139 / 199) {
      body.news.detail .cont-wrap .left-menu .news-cont .title-wrap .top span.cat {
        font-size: 12px; } }
    @media only screen and (device-aspect-ratio: 512 / 683) {
      body.news.detail .cont-wrap .left-menu .news-cont .title-wrap .top span.cat {
        font-size: 12px; } }

body.news.detail .cont-wrap .left-menu .news-cont .title-wrap .title-text {
  margin-top: 30px; }
  @media only screen and (max-width: 767px) {
    body.news.detail .cont-wrap .left-menu .news-cont .title-wrap .title-text {
      margin-top: 30px; } }
  body.news.detail .cont-wrap .left-menu .news-cont .title-wrap .title-text span {
    font-size: 26px;
    font-size: 2.6rem;
    letter-spacing: 0.02em;
    font-weight: 500;
    line-height: 1.615384615;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
    @media only screen and (max-width: 767px) {
      body.news.detail .cont-wrap .left-menu .news-cont .title-wrap .title-text span {
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.6; } }

body.news.detail .cont-wrap .left-menu .news-cont .img-cont figure {
  width: 690px;
  height: 460px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-top: 45px; }
  @media only screen and (max-width: 767px) {
    body.news.detail .cont-wrap .left-menu .news-cont .img-cont figure {
      margin-top: 35px;
      width: 325px;
      height: 217px; } }

body.news.detail .cont-wrap .left-menu .news-cont .text-area span.text {
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  line-height: 1.866666667;
  font-weight: 500;
  margin-top: 30px;
  display: block; }
  @media only screen and (max-width: 767px) {
    body.news.detail .cont-wrap .left-menu .news-cont .text-area span.text {
      letter-spacing: 0em; } }
  body.news.detail .cont-wrap .left-menu .news-cont .text-area span.text span.background {
    background-color: #FFE8DC; }
  body.news.detail .cont-wrap .left-menu .news-cont .text-area span.text span.under {
    color: #E65C17;
    border-bottom: 1px solid #E65C17; }
  body.news.detail .cont-wrap .left-menu .news-cont .text-area span.text a {
    color: #E65C17;
    border-bottom: 1px solid #E65C17; }
    @media only screen and (min-width: 768px) {
      body.news.detail .cont-wrap .left-menu .news-cont .text-area span.text a {
        transition: .2s; }
        body.news.detail .cont-wrap .left-menu .news-cont .text-area span.text a:hover {
          opacity: .7; } }
  body.news.detail .cont-wrap .left-menu .news-cont .text-area span.text ul li {
    border-bottom: none; }
    body.news.detail .cont-wrap .left-menu .news-cont .text-area span.text ul li strong {
      font-weight: bold; }
  body.news.detail .cont-wrap .left-menu .news-cont .text-area span.text strong {
    font-weight: bold; }

body.news.detail .cont-wrap .left-menu .news-cont .text-area h3 {
  margin-top: 60px;
  font-size: 22px;
  font-size: 2.2rem;
  letter-spacing: 0.02em;
  line-height: 1.636363636;
  font-weight: 500;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
  padding-bottom: 13px;
  border-bottom: 1px solid #E65C17;
  margin-bottom: 15px; }
  @media only screen and (max-width: 767px) {
    body.news.detail .cont-wrap .left-menu .news-cont .text-area h3 {
      font-size: 19px;
      font-size: 1.9rem;
      letter-spacing: 0em;
      line-height: 1.578947368;
      margin-top: 40px; } }

body.news.detail .cont-wrap .left-menu .news-cont .text-area h4 {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 0.02em;
  font-weight: 600;
  line-height: 1.8;
  margin-top: 60px;
  margin-bottom: 15px; }
  @media only screen and (max-width: 767px) {
    body.news.detail .cont-wrap .left-menu .news-cont .text-area h4 {
      font-size: 18px;
      font-size: 1.8rem;
      letter-spacing: 0em;
      line-height: 1.666666667;
      margin-top: 40px; } }

body.news.detail .cont-wrap .left-menu .news-cont .text-area h4:first-letter {
  color: #E65C17; }

body.news.detail .cont-wrap .left-menu .news-cont .text-area h5 {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.02em;
  font-weight: 500;
  line-height: 1.666666667;
  margin-top: 60px;
  padding: 15px 10px 10px 20px;
  border: 1px solid #989898;
  margin-bottom: 25px; }
  @media only screen and (max-width: 767px) {
    body.news.detail .cont-wrap .left-menu .news-cont .text-area h5 {
      font-size: 17px;
      font-size: 1.7rem;
      letter-spacing: 0em;
      line-height: 1.647058824;
      margin-top: 40px;
      padding: 15px 19px 10px 20px; } }

body.news.detail .cont-wrap .left-menu .news-cont .text-area blockquote {
  display: block;
  padding: 25px 30px;
  background-color: #F7F7F7;
  margin-top: 60px;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  line-height: 1.866666667;
  margin-bottom: 15px; }
  @media only screen and (max-width: 767px) {
    body.news.detail .cont-wrap .left-menu .news-cont .text-area blockquote {
      letter-spacing: 0em;
      line-height: 1.733333333;
      margin-top: 40px;
      padding: 15px 20px; } }
  body.news.detail .cont-wrap .left-menu .news-cont .text-area blockquote p {
    margin-top: 0 !important; }

body.news.detail .cont-wrap .left-menu .news-cont .text-area span[style*="text-decoration: underline"] {
  background-color: #FFE8DC;
  text-decoration: none !important; }

body.news.detail .cont-wrap .left-menu .news-cont .text-area em {
  font-style: italic; }

body.news.detail .cont-wrap .left-menu .news-cont .text-area ol {
  list-style: decimal inside; }
  body.news.detail .cont-wrap .left-menu .news-cont .text-area ol li {
    margin-bottom: 10px;
    padding-bottom: 0; }
    body.news.detail .cont-wrap .left-menu .news-cont .text-area ol li strong {
      font-weight: bold !important; }

body.news.detail .cont-wrap .left-menu .news-cont .text-area ul {
  list-style: disc inside;
  letter-spacing: .05em; }
  body.news.detail .cont-wrap .left-menu .news-cont .text-area ul li {
    margin-bottom: 10px;
    padding-bottom: 0; }
    body.news.detail .cont-wrap .left-menu .news-cont .text-area ul li strong {
      font-weight: bold !important; }

body.news.detail .cont-wrap .left-menu .news-cont .text-area table,
body.news.detail .cont-wrap .left-menu .news-cont .text-area th,
body.news.detail .cont-wrap .left-menu .news-cont .text-area td {
  border: 1px solid #333333;
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

body.news.detail .single-page-nav {
  display: flex;
  align-items: center;
  margin: 70px auto 0;
  width: 172.63px; }
  @media only screen and (max-width: 767px) {
    body.news.detail .single-page-nav {
      margin: 50px auto 0; } }
  body.news.detail .single-page-nav .page-nav {
    text-align: center;
    position: relative;
    margin-top: 0; }
    @media only screen and (min-width: 768px) {
      body.news.detail .single-page-nav .page-nav {
        transition: .2s; }
        body.news.detail .single-page-nav .page-nav:hover {
          opacity: .7; } }
    @media only screen and (max-width: 767px) {
      body.news.detail .single-page-nav .page-nav {
        width: 100px;
        margin: 0 auto; } }
  body.news.detail .single-page-nav .page-link {
    width: 8px;
    height: 8px;
    display: block;
    position: relative;
    padding: 10px; }
    body.news.detail .single-page-nav .page-link:before {
      content: '';
      width: 6px;
      height: 6px;
      display: block;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(0%, -50%) rotate(225deg);
      border-top: 1px solid #E65C17;
      border-right: 1px solid #E65C17;
      transition: .2s; }
    body.news.detail .single-page-nav .page-link:last-of-type:before {
      transform: translate(0%, -50%) rotate(45deg);
      right: 0;
      left: inherit; }

@media only screen and (max-width: 767px) {
  body.news.detail .category {
    margin-top: 70px !important; } }

body#notpage main section {
  padding: 100px 0; }
  body#notpage main section .text-center {
    text-align: center; }
  body#notpage main section h2 {
    font-size: 50px;
    font-size: 5rem;
    font-family: "EB Garamond", serif; }
  body#notpage main section p {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
    margin-top: 50px; }
    body#notpage main section p a {
      color: blue; }

.recruit .breadcrumbs {
  z-index: 1; }
  @media only screen and (max-width: 767px) {
    .recruit .breadcrumbs {
      z-index: 1;
      padding-left: 25px; } }

@media only screen and (max-width: 767px) {
  .recruit .recruit-box .inner {
    width: calc(100% - 50px); } }

.recruit .recruit-box p {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 30px;
  letter-spacing: 0.5px; }
  @media only screen and (max-width: 767px) {
    .recruit .recruit-box p {
      letter-spacing: 0; } }

.recruit .recruit-box .h3-tit {
  font-size: 28px;
  font-size: 2.8rem;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
  letter-spacing: 2px;
  line-height: 52px;
  margin-bottom: 30px;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .recruit .recruit-box .h3-tit {
      font-size: 22px;
      font-size: 2.2rem;
      line-height: 42px;
      margin-bottom: 20px; } }
  .recruit .recruit-box .h3-tit span {
    font-size: 36px;
    font-size: 3.6rem;
    color: #E65C17; }
    @media only screen and (max-width: 767px) {
      .recruit .recruit-box .h3-tit span {
        font-size: 30px;
        font-size: 3rem; } }

.recruit .recruit-box .h4-tit {
  font-size: 24px;
  font-size: 2.4rem;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
  letter-spacing: 2px;
  line-height: 52px;
  margin-bottom: 30px; }
  @media screen and (max-width: 1024px) {
    .recruit .recruit-box .h4-tit {
      line-height: 32px; } }
  @media only screen and (max-width: 767px) {
    .recruit .recruit-box .h4-tit {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 31px;
      margin-bottom: 20px;
      text-align: left; } }

.recruit .recruit-box .h4-tit-01 {
  text-align: center; }
  .recruit .recruit-box .h4-tit-01 h4 {
    font-size: 24px;
    font-size: 2.4rem;
    position: relative;
    display: inline; }
    @media only screen and (max-width: 767px) {
      .recruit .recruit-box .h4-tit-01 h4 {
        font-size: 18px;
        font-size: 1.8rem; } }
    .recruit .recruit-box .h4-tit-01 h4::before {
      content: '';
      position: absolute;
      background-color: #E65C17;
      width: 100%;
      height: 1px;
      bottom: -20px; }
      @media only screen and (max-width: 767px) {
        .recruit .recruit-box .h4-tit-01 h4::before {
          bottom: -15px; } }

.recruit .recruit-box .content01 {
  padding: 160px 0 130px;
  position: relative;
  top: -40px;
  z-index: 0; }
  @media only screen and (min-width: 768px) {
    .recruit .recruit-box .content01 {
      background: #F7F7F7; } }
  @media only screen and (max-width: 767px) {
    .recruit .recruit-box .content01 {
      padding: 115px 0 0; } }
  .recruit .recruit-box .content01 .content01-inner01 {
    z-index: 1; }
    .recruit .recruit-box .content01 .content01-inner01 .img01 {
      margin: 60px 0 50px; }
      @media only screen and (max-width: 767px) {
        .recruit .recruit-box .content01 .content01-inner01 .img01 {
          margin: 42px 0 35px; } }
    @media only screen and (min-width: 768px) {
      .recruit .recruit-box .content01 .content01-inner01 {
        position: relative; }
        .recruit .recruit-box .content01 .content01-inner01::before {
          content: "";
          position: absolute;
          background-color: #fff;
          height: 590px;
          width: 100%;
          display: block;
          z-index: -1;
          top: 330px; } }
  .recruit .recruit-box .content01 .content01-inner02 {
    margin-top: 165px;
    background: #F7F7F7; }
    @media only screen and (max-width: 767px) {
      .recruit .recruit-box .content01 .content01-inner02 {
        margin-top: 60px;
        padding-top: 45px; } }
    .recruit .recruit-box .content01 .content01-inner02 .h3-tit {
      margin-bottom: 70px; }
      @media only screen and (max-width: 767px) {
        .recruit .recruit-box .content01 .content01-inner02 .h3-tit {
          line-height: 33px;
          margin-bottom: 45px; } }
    .recruit .recruit-box .content01 .content01-inner02 .detailbox {
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        .recruit .recruit-box .content01 .content01-inner02 .detailbox {
          display: block; } }
      .recruit .recruit-box .content01 .content01-inner02 .detailbox .textbox {
        width: 50%; }
        @media only screen and (max-width: 767px) {
          .recruit .recruit-box .content01 .content01-inner02 .detailbox .textbox {
            width: 100%; } }
        .recruit .recruit-box .content01 .content01-inner02 .detailbox .textbox .titbox {
          display: flex;
          align-items: center;
          margin-bottom: 25px; }
          .recruit .recruit-box .content01 .content01-inner02 .detailbox .textbox .titbox .number {
            font-size: 42px;
            font-size: 4.2rem;
            font-family: 'Cinzel', serif;
            letter-spacing: 3px;
            margin-right: 10px; }
            @media only screen and (max-width: 767px) {
              .recruit .recruit-box .content01 .content01-inner02 .detailbox .textbox .titbox .number {
                font-size: 49px;
                font-size: 4.9rem;
                text-align: center;
                letter-spacing: 1px;
                margin-right: 15px; } }
            .recruit .recruit-box .content01 .content01-inner02 .detailbox .textbox .titbox .number em {
              color: #E65C17; }
          .recruit .recruit-box .content01 .content01-inner02 .detailbox .textbox .titbox .h4-tit {
            margin-bottom: 0;
            letter-spacing: 1px; }
        @media only screen and (max-width: 767px) {
          .recruit .recruit-box .content01 .content01-inner02 .detailbox .textbox .imgsp {
            margin-bottom: 25px; } }
        @media only screen and (max-width: 767px) {
          .recruit .recruit-box .content01 .content01-inner02 .detailbox .textbox p {
            line-height: 26px; } }
      .recruit .recruit-box .content01 .content01-inner02 .detailbox .imgbox {
        width: 44%; }
        @media only screen and (max-width: 767px) {
          .recruit .recruit-box .content01 .content01-inner02 .detailbox .imgbox {
            width: 100%; } }
    .recruit .recruit-box .content01 .content01-inner02 .detailbox02 {
      flex-direction: row-reverse; }
    .recruit .recruit-box .content01 .content01-inner02 .works-content {
      background: #fff;
      padding: 40px 0 45px;
      margin: 55px 0 100px; }
      @media only screen and (max-width: 767px) {
        .recruit .recruit-box .content01 .content01-inner02 .works-content {
          margin: 34px 0 40px;
          padding: 30px 30px 20px; } }
      .recruit .recruit-box .content01 .content01-inner02 .works-content .works-content-inner {
        width: 720px;
        margin: 0 auto; }
        @media only screen and (max-width: 767px) {
          .recruit .recruit-box .content01 .content01-inner02 .works-content .works-content-inner {
            width: 100%; } }
        .recruit .recruit-box .content01 .content01-inner02 .works-content .works-content-inner .h5-tit {
          font-size: 16px;
          font-size: 1.6rem;
          font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
          border: 1px solid #989898;
          display: flex;
          justify-content: center;
          align-items: center;
          height: 45px; }
        .recruit .recruit-box .content01 .content01-inner02 .works-content .works-content-inner .workslist {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap;
          margin-top: 40px; }
          @media only screen and (max-width: 767px) {
            .recruit .recruit-box .content01 .content01-inner02 .works-content .works-content-inner .workslist {
              padding: 0 10px;
              margin-top: 20px; } }
          .recruit .recruit-box .content01 .content01-inner02 .works-content .works-content-inner .workslist li {
            width: 21%;
            text-align: center; }
            @media only screen and (max-width: 767px) {
              .recruit .recruit-box .content01 .content01-inner02 .works-content .works-content-inner .workslist li {
                width: 44%;
                margin-bottom: 13px; } }
            .recruit .recruit-box .content01 .content01-inner02 .works-content .works-content-inner .workslist li .cir-img {
              margin-bottom: 12px; }
              @media only screen and (max-width: 767px) {
                .recruit .recruit-box .content01 .content01-inner02 .works-content .works-content-inner .workslist li .cir-img {
                  margin-bottom: 8px; } }
            .recruit .recruit-box .content01 .content01-inner02 .works-content .works-content-inner .workslist li p {
              white-space: nowrap;
              font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
    .recruit .recruit-box .content01 .content01-inner02 .works-content02 {
      background: #fff;
      padding: 40px 0;
      margin: 55px 0 100px; }
      @media only screen and (max-width: 767px) {
        .recruit .recruit-box .content01 .content01-inner02 .works-content02 {
          margin: 28px 0 40px;
          padding: 30px 30px 20px; } }
      .recruit .recruit-box .content01 .content01-inner02 .works-content02 .works-content-inner {
        width: 720px;
        margin: 0 auto; }
        @media only screen and (max-width: 767px) {
          .recruit .recruit-box .content01 .content01-inner02 .works-content02 .works-content-inner {
            width: 100%; } }
        .recruit .recruit-box .content01 .content01-inner02 .works-content02 .works-content-inner .h5-tit {
          font-size: 16px;
          font-size: 1.6rem;
          font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
          border: 1px solid #989898;
          display: flex;
          justify-content: center;
          align-items: center;
          height: 45px; }
        .recruit .recruit-box .content01 .content01-inner02 .works-content02 .works-content-inner .workslist {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap;
          margin-top: 40px;
          padding: 0 25px; }
          @media only screen and (max-width: 767px) {
            .recruit .recruit-box .content01 .content01-inner02 .works-content02 .works-content-inner .workslist {
              padding: 0 10px;
              margin-top: 20px; } }
          .recruit .recruit-box .content01 .content01-inner02 .works-content02 .works-content-inner .workslist li {
            width: 12%;
            text-align: center; }
            @media only screen and (max-width: 767px) {
              .recruit .recruit-box .content01 .content01-inner02 .works-content02 .works-content-inner .workslist li {
                width: 26%;
                margin-bottom: 13px; } }
            .recruit .recruit-box .content01 .content01-inner02 .works-content02 .works-content-inner .workslist li .cir-img {
              margin-bottom: 12px; }
              @media only screen and (max-width: 767px) {
                .recruit .recruit-box .content01 .content01-inner02 .works-content02 .works-content-inner .workslist li .cir-img {
                  margin-bottom: 8px; } }
            .recruit .recruit-box .content01 .content01-inner02 .works-content02 .works-content-inner .workslist li p {
              white-space: nowrap;
              line-height: 24px;
              font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
  @media only screen and (max-width: 767px) {
    .recruit .recruit-box .content01 .content01-inner03 {
      padding-top: 45px;
      padding-bottom: 60px; } }

.recruit .recruit-box .content02 {
  padding-top: 50px; }
  @media only screen and (max-width: 767px) {
    .recruit .recruit-box .content02 {
      padding-top: 15px; } }
  .recruit .recruit-box .content02 .content02-up .content02-detai01 {
    position: relative; }
    @media only screen and (min-width: 768px) {
      .recruit .recruit-box .content02 .content02-up .content02-detai01 {
        margin-bottom: -20px; } }
    .recruit .recruit-box .content02 .content02-up .content02-detai01::before {
      content: "";
      position: absolute;
      background-color: #F7F7F7;
      height: 940px;
      width: 100%;
      display: block;
      z-index: -1;
      top: 270px; }
      @media only screen and (max-width: 767px) {
        .recruit .recruit-box .content02 .content02-up .content02-detai01::before {
          top: 160px;
          height: 1030px; } }
    .recruit .recruit-box .content02 .content02-up .content02-detai01 .width {
      width: 800px;
      margin: 0 auto; }
      @media only screen and (max-width: 767px) {
        .recruit .recruit-box .content02 .content02-up .content02-detai01 .width {
          width: 100%;
          padding: 0 15px; } }
      .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .h4-tit-01 {
        margin: 80px 0 60px;
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
        @media only screen and (max-width: 767px) {
          .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .h4-tit-01 {
            margin: 50px 0 45px; } }
      .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .person {
        margin-bottom: 40px; }
        @media only screen and (max-width: 767px) {
          .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .person {
            margin-bottom: 20px; } }
      .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .info {
        background: #fff;
        height: 70px;
        display: flex;
        justify-content: center;
        align-items: center; }
        @media only screen and (max-width: 767px) {
          .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .info {
            display: block;
            padding: 25px 25px 0;
            height: 94px; } }
        .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .info .box {
          display: flex; }
          @media only screen and (max-width: 767px) {
            .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .info .box {
              margin-bottom: 15px;
              justify-content: space-between; } }
          .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .info .box span {
            color: #E65C17;
            margin-right: 18px;
            margin-top: 1px;
            font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
            @media only screen and (max-width: 767px) {
              .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .info .box span {
                font-size: 14px;
                font-size: 1.4rem;
                width: 30%; } }
          .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .info .box em {
            font-size: 16px;
            font-size: 1.6rem; }
            @media only screen and (max-width: 767px) {
              .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .info .box em {
                font-size: 14px;
                font-size: 1.4rem;
                width: 65%; } }
        .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .info .box01 {
          margin-right: 60px; }
          @media only screen and (max-width: 767px) {
            .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .info .box01 {
              margin-right: 0; } }
      .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow {
        padding: 50px 80px;
        position: relative; }
        @media only screen and (max-width: 767px) {
          .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow {
            padding: 25px 0; } }
        .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow::before {
          content: "";
          position: absolute;
          background-color: #CCCCCC;
          height: 400px;
          width: 1px;
          display: block;
          z-index: -1;
          top: 80px;
          left: 120px; }
          @media only screen and (max-width: 767px) {
            .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow::before {
              left: 32px;
              height: 62%; } }
        .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow li {
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin-bottom: 35px; }
          @media only screen and (max-width: 767px) {
            .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow li {
              align-items: flex-start;
              margin-bottom: 5px; } }
          .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow li .stepnumber {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 18%;
            max-width: 80px;
            height: 80px;
            border-radius: 50%;
            border: 1px solid #CCCCCC;
            background-color: #F7F7F7; }
            @media only screen and (max-width: 767px) {
              .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow li .stepnumber {
                max-width: 65px;
                height: 65px;
                width: 28%; } }
            .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow li .stepnumber span {
              font-size: 26px;
              font-size: 2.6rem;
              font-family: 'Cinzel', serif;
              color: #E65C17;
              margin-right: 5px; }
              @media only screen and (max-width: 767px) {
                .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow li .stepnumber span {
                  font-size: 20px;
                  font-size: 2rem;
                  letter-spacing: 0;
                  margin-right: 2px; } }
            .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow li .stepnumber em {
              font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
          @media only screen and (max-width: 767px) {
            .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow li .stepnumber-mar {
              margin-top: 11px; } }
          .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow li .step-info {
            width: 82%; }
            @media only screen and (max-width: 767px) {
              .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow li .step-info {
                width: 72%;
                padding-top: 20px; } }
            .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow li .step-info .h4-tit {
              font-size: 18px;
              font-size: 1.8rem;
              text-align: left;
              margin-bottom: 5px;
              line-height: 36px; }
              @media only screen and (max-width: 767px) {
                .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow li .step-info .h4-tit {
                  line-height: 26px;
                  margin-bottom: 18px; } }
            .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow li .step-info p {
              font-size: 14px;
              font-size: 1.4rem;
              line-height: 26px;
              letter-spacing: 0; }
              @media only screen and (max-width: 767px) {
                .recruit .recruit-box .content02 .content02-up .content02-detai01 .width .flow li .step-info p {
                  line-height: 24px; } }
  .recruit .recruit-box .content02 .content02-up .content02-detai02 {
    display: flex;
    justify-content: space-between;
    margin-top: 57px; }
    @media only screen and (max-width: 767px) {
      .recruit .recruit-box .content02 .content02-up .content02-detai02 {
        display: block;
        margin-top: 50px; } }
    .recruit .recruit-box .content02 .content02-up .content02-detai02 .img-left-box {
      width: 30%; }
      @media only screen and (max-width: 767px) {
        .recruit .recruit-box .content02 .content02-up .content02-detai02 .img-left-box {
          width: 100%; } }
    .recruit .recruit-box .content02 .content02-up .content02-detai02 .text-right-box {
      width: 64%; }
      @media only screen and (max-width: 767px) {
        .recruit .recruit-box .content02 .content02-up .content02-detai02 .text-right-box {
          width: 100%;
          margin-top: 35px; } }
      .recruit .recruit-box .content02 .content02-up .content02-detai02 .text-right-box .textbox {
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
        .recruit .recruit-box .content02 .content02-up .content02-detai02 .text-right-box .textbox h5 {
          font-size: 16px;
          font-size: 1.6rem;
          border: 1px solid #989898;
          display: inline-flex;
          justify-content: left;
          align-items: center;
          height: 45px;
          padding: 0 20px;
          margin-bottom: 24px; }
          @media only screen and (max-width: 767px) {
            .recruit .recruit-box .content02 .content02-up .content02-detai02 .text-right-box .textbox h5 {
              display: flex;
              justify-content: center;
              margin-bottom: 15px; } }
        .recruit .recruit-box .content02 .content02-up .content02-detai02 .text-right-box .textbox p {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 26px;
          letter-spacing: 0; }
          @media only screen and (max-width: 767px) {
            .recruit .recruit-box .content02 .content02-up .content02-detai02 .text-right-box .textbox p {
              line-height: 28px; } }
      .recruit .recruit-box .content02 .content02-up .content02-detai02 .text-right-box .textbox01 {
        margin-bottom: 44px; }
        @media only screen and (max-width: 767px) {
          .recruit .recruit-box .content02 .content02-up .content02-detai02 .text-right-box .textbox01 {
            margin-bottom: 30px; } }
  @media only screen and (max-width: 767px) {
    .recruit .recruit-box .content02 .content02-up .content02-detai02-02 {
      margin-top: 57px; } }
  .recruit .recruit-box .content02 .content02-down {
    background: #F7F7F7;
    padding-top: 20px;
    padding-bottom: 180px;
    margin-top: 120px; }
    @media only screen and (max-width: 767px) {
      .recruit .recruit-box .content02 .content02-down {
        margin-top: 65px;
        padding-top: 5px;
        padding-bottom: 120px; } }
    .recruit .recruit-box .content02 .content02-down .content02-detai01 {
      z-index: 0; }
      .recruit .recruit-box .content02 .content02-down .content02-detai01::before {
        height: 1040px;
        background-color: #fff !important; }
        @media only screen and (max-width: 767px) {
          .recruit .recruit-box .content02 .content02-down .content02-detai01::before {
            height: 1260px; } }
      .recruit .recruit-box .content02 .content02-down .content02-detai01 .width .info {
        background: #F7F7F7; }
        @media only screen and (max-width: 767px) {
          .recruit .recruit-box .content02 .content02-down .content02-detai01 .width .info {
            height: 120px;
            padding: 30px 25px 0; } }
        @media only screen and (max-width: 767px) {
          .recruit .recruit-box .content02 .content02-down .content02-detai01 .width .info .box em {
            line-height: 22px;
            margin-top: -5px; } }
      @media only screen and (min-width: 768px) {
        .recruit .recruit-box .content02 .content02-down .content02-detai01 .width .flow {
          padding: 50px 13px 50px 33px; } }
      .recruit .recruit-box .content02 .content02-down .content02-detai01 .width .flow::before {
        height: 530px;
        top: 80px;
        left: 70px; }
        @media only screen and (max-width: 767px) {
          .recruit .recruit-box .content02 .content02-down .content02-detai01 .width .flow::before {
            left: 32px;
            height: 77%; } }
      @media only screen and (min-width: 768px) {
        .recruit .recruit-box .content02 .content02-down .content02-detai01 .width .flow li {
          margin-bottom: 30px; } }
      .recruit .recruit-box .content02 .content02-down .content02-detai01 .width .flow li .stepnumber {
        border: 1px solid #CCCCCC;
        background-color: #fff; }
      @media only screen and (max-width: 767px) {
        .recruit .recruit-box .content02 .content02-down .content02-detai01 .width .flow li .stepnumber-mar {
          margin-top: 11px; } }
    @media only screen and (min-width: 768px) {
      .recruit .recruit-box .content02 .content02-down .content02-detai02 {
        flex-direction: row-reverse; } }
    .recruit .recruit-box .content02 .content02-down .banner {
      width: 840px;
      margin: 95px auto 0; }
      @media only screen and (max-width: 767px) {
        .recruit .recruit-box .content02 .content02-down .banner {
          width: 100%;
          padding: 0 25px;
          margin: 65px auto 0; } }
      .recruit .recruit-box .content02 .content02-down .banner .banner-pc {
        overflow: hidden;
        padding: 20px;
        position: relative; }
        .recruit .recruit-box .content02 .content02-down .banner .banner-pc .imager {
          background-image: url("../images/recruit/banner_bg.jpg");
          background-size: cover;
          margin: 0 auto;
          transition: all .3s;
          position: absolute;
          left: 0;
          right: 0;
          top: 50%;
          transform: translateY(-50%);
          height: 100%; }
        .recruit .recruit-box .content02 .content02-down .banner .banner-pc .banner-pc-content {
          margin: 0 auto;
          position: relative;
          z-index: 2; }
        .recruit .recruit-box .content02 .content02-down .banner .banner-pc .arrow {
          margin: 0 auto;
          position: absolute;
          right: 70px;
          top: 50%;
          transform: translateY(-50%);
          transition: all .3s;
          z-index: 3; }
        @media only screen and (min-width: 768px) {
          .recruit .recruit-box .content02 .content02-down .banner .banner-pc:hover .imager {
            transform: translateY(-50%) scale(1.1); }
          .recruit .recruit-box .content02 .content02-down .banner .banner-pc:hover .arrow {
            transform: translateY(-50%) translateX(15px); } }

.sitemap .sitemap-box {
  padding: 75px 0 180px; }
  @media only screen and (max-width: 767px) {
    .sitemap .sitemap-box {
      width: calc(100% - 50px);
      padding: 58px 0 120px; } }
  .sitemap .sitemap-box .sitemap-inner {
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 1px;
    display: flex;
    justify-content: space-between;
    padding: 0 80px 0 87px; }
    @media only screen and (max-width: 767px) {
      .sitemap .sitemap-box .sitemap-inner {
        display: block;
        padding: 0; } }
    @media only screen and (min-width: 768px) {
      .sitemap .sitemap-box .sitemap-inner {
        border-bottom: 1px #B3B3B3 solid; } }
    .sitemap .sitemap-box .sitemap-inner li {
      white-space: nowrap; }
      @media only screen and (max-width: 767px) {
        .sitemap .sitemap-box .sitemap-inner li {
          width: 100%;
          border-bottom: 1px #B3B3B3 solid;
          padding: 0 15px; } }
      .sitemap .sitemap-box .sitemap-inner li a {
        display: block;
        position: relative;
        padding: 41px 0 38px 18px; }
        @media only screen and (max-width: 767px) {
          .sitemap .sitemap-box .sitemap-inner li a {
            padding: 21px 0 18px 15px; } }
        .sitemap .sitemap-box .sitemap-inner li a::after {
          content: "";
          position: absolute;
          height: 1px;
          width: 8px;
          background-color: #E65C17;
          display: block;
          left: 0;
          top: 48px; }
          @media only screen and (max-width: 767px) {
            .sitemap .sitemap-box .sitemap-inner li a::after {
              top: 28px; } }
        .sitemap .sitemap-box .sitemap-inner li a:hover {
          color: #E65C17; }
      @media only screen and (min-width: 768px) {
        .sitemap .sitemap-box .sitemap-inner li:nth-child(1) {
          width: 20%; }
        .sitemap .sitemap-box .sitemap-inner li:nth-child(2) {
          width: 30%; }
        .sitemap .sitemap-box .sitemap-inner li:nth-child(3) {
          width: 29%; }
        .sitemap .sitemap-box .sitemap-inner li:nth-child(4) {
          width: 27%; } }
    @media only screen and (max-width: 767px) {
      .sitemap .sitemap-box .sitemap-inner .bordernone {
        border-bottom: none; } }

.strength .breadcrumbs {
  z-index: 1; }
  @media only screen and (max-width: 767px) {
    .strength .breadcrumbs {
      z-index: 1;
      padding-left: 25px; } }

.strength .strength-box {
  padding-bottom: 180px; }
  @media only screen and (max-width: 767px) {
    .strength .strength-box {
      padding-bottom: 115px; } }
  @media only screen and (max-width: 767px) {
    .strength .strength-box .inner {
      width: calc(100% - 50px); } }
  .strength .strength-box p {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 30px;
    letter-spacing: 0.5px; }
    @media only screen and (max-width: 767px) {
      .strength .strength-box p {
        letter-spacing: 0;
        text-align: justify; } }
  .strength .strength-box .h3-tit {
    font-size: 28px;
    font-size: 2.8rem;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    letter-spacing: 2px;
    line-height: 52px;
    margin-bottom: 30px; }
    @media screen and (max-width: 1024px) {
      .strength .strength-box .h3-tit {
        font-size: 24px;
        font-size: 2.4rem;
        letter-spacing: 0; } }
    @media only screen and (max-width: 767px) {
      .strength .strength-box .h3-tit {
        font-size: 22px;
        font-size: 2.2rem;
        line-height: 42px;
        margin-bottom: 20px; } }
  .strength .strength-box .h4-tit {
    text-align: center;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    letter-spacing: 2px; }
    .strength .strength-box .h4-tit h4 {
      font-size: 24px;
      font-size: 2.4rem;
      position: relative;
      display: inline; }
      @media only screen and (max-width: 767px) {
        .strength .strength-box .h4-tit h4 {
          font-size: 18px;
          font-size: 1.8rem; } }
      .strength .strength-box .h4-tit h4::before {
        content: '';
        position: absolute;
        background-color: #E65C17;
        width: 100%;
        height: 1px;
        bottom: -20px; }
        @media only screen and (max-width: 767px) {
          .strength .strength-box .h4-tit h4::before {
            bottom: -15px; } }
  .strength .strength-box .number {
    font-size: 100px;
    font-size: 10rem;
    font-family: 'Cinzel', serif;
    letter-spacing: 3px; }
    @media only screen and (max-width: 767px) {
      .strength .strength-box .number {
        font-size: 72px;
        font-size: 7.2rem;
        text-align: center;
        margin-bottom: 15px; } }
    .strength .strength-box .number em {
      color: #E65C17; }
  .strength .strength-box .content01 {
    background: #F7F7F7;
    padding: 130px 0 120px;
    position: relative;
    top: -30px;
    z-index: 0; }
    @media only screen and (max-width: 767px) {
      .strength .strength-box .content01 {
        padding: 115px 0 70px; } }
    .strength .strength-box .content01 .content01-inner01 .titlebox {
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        .strength .strength-box .content01 .content01-inner01 .titlebox {
          display: block; } }
    .strength .strength-box .content01 .worksbox {
      margin-top: 70px; }
      @media only screen and (max-width: 767px) {
        .strength .strength-box .content01 .worksbox {
          margin-top: 40px; } }
      .strength .strength-box .content01 .worksbox .box-inner {
        display: flex;
        justify-content: space-between;
        margin: 70px 0 50px; }
        @media only screen and (max-width: 767px) {
          .strength .strength-box .content01 .worksbox .box-inner {
            flex-wrap: wrap;
            margin: 45px 0 32px; } }
        .strength .strength-box .content01 .worksbox .box-inner li {
          display: block;
          width: 24.2%;
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center; }
          @media only screen and (max-width: 767px) {
            .strength .strength-box .content01 .worksbox .box-inner li {
              width: 48.5%;
              margin-bottom: 10px; } }
          .strength .strength-box .content01 .worksbox .box-inner li a {
            height: 350px;
            display: flex;
            justify-content: center;
            align-items: center;
            color: #fff;
            font-size: 24px;
            font-size: 2.4rem;
            font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
            letter-spacing: 1px; }
            @media only screen and (max-width: 767px) {
              .strength .strength-box .content01 .worksbox .box-inner li a {
                height: 160px;
                font-size: 18px;
                font-size: 1.8rem; } }
          .strength .strength-box .content01 .worksbox .box-inner li:nth-child(1) {
            background-image: url("../images/strength/service01.jpg"); }
            @media only screen and (max-width: 767px) {
              .strength .strength-box .content01 .worksbox .box-inner li:nth-child(1) {
                background-image: url("../images/strength/service01-sp.jpg"); } }
          .strength .strength-box .content01 .worksbox .box-inner li:nth-child(2) {
            background-image: url("../images/strength/service02.jpg"); }
            @media only screen and (max-width: 767px) {
              .strength .strength-box .content01 .worksbox .box-inner li:nth-child(2) {
                background-image: url("../images/strength/service02-sp.jpg"); } }
          .strength .strength-box .content01 .worksbox .box-inner li:nth-child(3) {
            background-image: url("../images/strength/service03.jpg"); }
            @media only screen and (max-width: 767px) {
              .strength .strength-box .content01 .worksbox .box-inner li:nth-child(3) {
                background-image: url("../images/strength/service03-sp.jpg"); } }
          .strength .strength-box .content01 .worksbox .box-inner li:nth-child(4) {
            background-image: url("../images/strength/service04.jpg"); }
            @media only screen and (max-width: 767px) {
              .strength .strength-box .content01 .worksbox .box-inner li:nth-child(4) {
                background-image: url("../images/strength/service04-sp.jpg"); } }
          .strength .strength-box .content01 .worksbox .box-inner li:hover {
            opacity: 0.8; }
            .strength .strength-box .content01 .worksbox .box-inner li:hover a {
              opacity: 1; }
  .strength .strength-box .content02 {
    padding-top: 55px; }
    @media only screen and (max-width: 767px) {
      .strength .strength-box .content02 {
        padding-top: 25px; } }
    .strength .strength-box .content02 .content02-inner01 {
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        .strength .strength-box .content02 .content02-inner01 {
          display: block; } }
      .strength .strength-box .content02 .content02-inner01 .boxleft {
        width: 50%; }
        @media only screen and (max-width: 767px) {
          .strength .strength-box .content02 .content02-inner01 .boxleft {
            width: 100%;
            margin-bottom: 35px; } }
        .strength .strength-box .content02 .content02-inner01 .boxleft .number {
          margin-bottom: 40px; }
          @media only screen and (max-width: 767px) {
            .strength .strength-box .content02 .content02-inner01 .boxleft .number {
              margin-bottom: 20px; } }
      .strength .strength-box .content02 .content02-inner01 .boxright {
        width: 42%;
        background: #F7F7F7;
        padding: 40px 30px 45px; }
        @media only screen and (max-width: 767px) {
          .strength .strength-box .content02 .content02-inner01 .boxright {
            width: 100%;
            padding: 30px 25px 25px; } }
        .strength .strength-box .content02 .content02-inner01 .boxright .h4-tit-spec {
          text-align: left;
          margin-bottom: 45px; }
          @media only screen and (max-width: 767px) {
            .strength .strength-box .content02 .content02-inner01 .boxright .h4-tit-spec {
              margin-bottom: 38px; } }
          .strength .strength-box .content02 .content02-inner01 .boxright .h4-tit-spec h4 {
            display: block; }
        .strength .strength-box .content02 .content02-inner01 .boxright p {
          line-height: 28px; }
        @media only screen and (max-width: 767px) {
          .strength .strength-box .content02 .content02-inner01 .boxright .box-logo {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin: 20px 0; } }
        .strength .strength-box .content02 .content02-inner01 .boxright .box-logo .logo {
          text-align: center; }
          .strength .strength-box .content02 .content02-inner01 .boxright .box-logo .logo img {
            width: 100px; }
            @media only screen and (max-width: 767px) {
              .strength .strength-box .content02 .content02-inner01 .boxright .box-logo .logo img {
                width: 70%; } }
        @media only screen and (min-width: 768px) {
          .strength .strength-box .content02 .content02-inner01 .boxright .box-logo .logo01 {
            border-bottom: 1px #B3B3B3 solid;
            margin: 40px 0 30px;
            padding-bottom: 40px; } }
  .strength .strength-box .content03 {
    background: #F7F7F7;
    padding: 40px 0 120px;
    position: relative;
    margin-top: 120px;
    overflow: hidden; }
    @media only screen and (max-width: 767px) {
      .strength .strength-box .content03 {
        margin-top: 70px;
        padding: 50px 0; } }
    @media only screen and (min-width: 768px) {
      .strength .strength-box .content03 .content03-inner01 .number {
        text-align: right;
        position: relative;
        bottom: -45px;
        right: -30px;
        z-index: 2; } }
    .strength .strength-box .content03 .content03-inner01 .imgbox {
      margin-bottom: 45px; }
      @media only screen and (max-width: 767px) {
        .strength .strength-box .content03 .content03-inner01 .imgbox {
          margin: 35px 0 25px; } }
    .strength .strength-box .content03 .content03-inner01 p {
      letter-spacing: 0; }
    .strength .strength-box .content03 .content03-inner02 {
      display: flex;
      justify-content: space-between;
      margin-top: 70px; }
      @media only screen and (max-width: 767px) {
        .strength .strength-box .content03 .content03-inner02 {
          display: block;
          margin-top: 30px; } }
      .strength .strength-box .content03 .content03-inner02 .reasonlist {
        width: 48%;
        background: #fff;
        padding: 50px 50px 35px;
        letter-spacing: 0; }
        @media screen and (max-width: 1024px) {
          .strength .strength-box .content03 .content03-inner02 .reasonlist {
            padding: 50px 30px 35px; } }
        @media only screen and (max-width: 767px) {
          .strength .strength-box .content03 .content03-inner02 .reasonlist {
            width: 100%;
            padding: 30px 30px;
            margin-bottom: 20px; } }
        .strength .strength-box .content03 .content03-inner02 .reasonlist .h4-tit {
          letter-spacing: 0; }
          @media screen and (max-width: 1024px) {
            .strength .strength-box .content03 .content03-inner02 .reasonlist .h4-tit h4 {
              letter-spacing: 0;
              font-size: 20px;
              font-size: 2rem; } }
          @media only screen and (max-width: 767px) {
            .strength .strength-box .content03 .content03-inner02 .reasonlist .h4-tit h4 {
              font-size: 18px;
              font-size: 1.8rem; } }
        .strength .strength-box .content03 .content03-inner02 .reasonlist .list {
          padding: 0 45px 0 58px;
          margin-top: 60px; }
          @media screen and (max-width: 1024px) {
            .strength .strength-box .content03 .content03-inner02 .reasonlist .list {
              padding: 0 0 0 30px; } }
          @media only screen and (max-width: 767px) {
            .strength .strength-box .content03 .content03-inner02 .reasonlist .list {
              padding: 0 0 0 10px;
              margin-top: 35px; } }
          .strength .strength-box .content03 .content03-inner02 .reasonlist .list li {
            display: flex;
            align-items: center;
            margin-bottom: 20px; }
            @media only screen and (max-width: 767px) {
              .strength .strength-box .content03 .content03-inner02 .reasonlist .list li {
                margin-bottom: 10px; } }
            .strength .strength-box .content03 .content03-inner02 .reasonlist .list li .imgicon {
              width: 80px;
              margin-right: 20px; }
              @media only screen and (max-width: 767px) {
                .strength .strength-box .content03 .content03-inner02 .reasonlist .list li .imgicon {
                  width: 25%;
                  margin-right: 15px; } }
            .strength .strength-box .content03 .content03-inner02 .reasonlist .list li p {
              line-height: 26px;
              font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
              @media only screen and (max-width: 767px) {
                .strength .strength-box .content03 .content03-inner02 .reasonlist .list li p {
                  width: 67%;
                  letter-spacing: -0.7px; } }
  .strength .strength-box .content04 {
    margin-top: 20px; }
    @media only screen and (max-width: 767px) {
      .strength .strength-box .content04 {
        margin-top: 50px; } }
    .strength .strength-box .content04 .content04-inner01 {
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        .strength .strength-box .content04 .content04-inner01 {
          display: block; } }
      .strength .strength-box .content04 .content04-inner01 .staffleft {
        width: 42%; }
        @media only screen and (max-width: 767px) {
          .strength .strength-box .content04 .content04-inner01 .staffleft {
            width: 100%; } }
        @media only screen and (max-width: 767px) {
          .strength .strength-box .content04 .content04-inner01 .staffleft .number {
            margin-bottom: 30px; } }
        @media only screen and (min-width: 768px) {
          .strength .strength-box .content04 .content04-inner01 .staffleft .number {
            position: relative;
            bottom: -45px;
            left: -30px;
            z-index: 2; } }
      .strength .strength-box .content04 .content04-inner01 .staffright {
        width: 50%;
        margin-top: 85px; }
        @media only screen and (max-width: 767px) {
          .strength .strength-box .content04 .content04-inner01 .staffright {
            width: 100%;
            margin-top: 30px; } }
        .strength .strength-box .content04 .content04-inner01 .staffright .h3-tit {
          letter-spacing: 0.5px; }
          @media only screen and (max-width: 767px) {
            .strength .strength-box .content04 .content04-inner01 .staffright .h3-tit {
              letter-spacing: 1px;
              line-height: 42px; } }
    .strength .strength-box .content04 .content04-inner02 {
      background: #F7F7F7;
      padding: 50px 125px 60px;
      margin-top: 70px; }
      @media screen and (max-width: 1024px) {
        .strength .strength-box .content04 .content04-inner02 {
          padding: 50px 25px 60px; } }
      @media only screen and (max-width: 767px) {
        .strength .strength-box .content04 .content04-inner02 {
          padding: 43px 20px 38px;
          margin-top: 40px; } }
      .strength .strength-box .content04 .content04-inner02 .h4-tit em {
        font-size: 18px;
        font-size: 1.8rem; }
      .strength .strength-box .content04 .content04-inner02 .textbox01 {
        display: flex;
        align-items: center;
        padding: 0 85px 0 113px; }
        @media only screen and (max-width: 767px) {
          .strength .strength-box .content04 .content04-inner02 .textbox01 {
            display: block;
            text-align: center;
            padding: 0; } }
        .strength .strength-box .content04 .content04-inner02 .textbox01 .text01 {
          display: flex;
          align-items: center;
          margin-top: 55px; }
          @media only screen and (max-width: 767px) {
            .strength .strength-box .content04 .content04-inner02 .textbox01 .text01 {
              justify-content: center;
              margin-top: 45px; } }
          .strength .strength-box .content04 .content04-inner02 .textbox01 .text01 .tit {
            font-size: 22px;
            font-size: 2.2rem;
            display: block;
            white-space: nowrap;
            letter-spacing: 0; }
            @media screen and (max-width: 1024px) {
              .strength .strength-box .content04 .content04-inner02 .textbox01 .text01 .tit {
                font-size: 18px;
                font-size: 1.8rem; } }
            @media only screen and (max-width: 767px) {
              .strength .strength-box .content04 .content04-inner02 .textbox01 .text01 .tit {
                font-size: 17px;
                font-size: 1.7rem; } }
          .strength .strength-box .content04 .content04-inner02 .textbox01 .text01 .staffnum {
            display: flex;
            align-items: baseline;
            margin-left: 15px; }
            @media only screen and (max-width: 767px) {
              .strength .strength-box .content04 .content04-inner02 .textbox01 .text01 .staffnum {
                margin-left: 10px;
                margin-top: -5px; } }
            .strength .strength-box .content04 .content04-inner02 .textbox01 .text01 .staffnum em {
              font-size: 36px;
              font-size: 3.6rem;
              color: #E65C17;
              font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
              letter-spacing: 0; }
              @media only screen and (max-width: 767px) {
                .strength .strength-box .content04 .content04-inner02 .textbox01 .text01 .staffnum em {
                  font-size: 30px;
                  font-size: 3rem; } }
            .strength .strength-box .content04 .content04-inner02 .textbox01 .text01 .staffnum span {
              font-size: 18px;
              font-size: 1.8rem;
              letter-spacing: 0;
              position: relative;
              top: -2px;
              margin-left: 3px; }
              @media only screen and (max-width: 767px) {
                .strength .strength-box .content04 .content04-inner02 .textbox01 .text01 .staffnum span {
                  font-size: 15px;
                  font-size: 1.5rem; } }
        .strength .strength-box .content04 .content04-inner02 .textbox01 .text02 {
          margin-left: 90px; }
          @media only screen and (max-width: 767px) {
            .strength .strength-box .content04 .content04-inner02 .textbox01 .text02 {
              margin-left: 0;
              margin-top: 15px; } }
      .strength .strength-box .content04 .content04-inner02 .textbox02 {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        background: #fff;
        padding: 25px 20px 10px 40px;
        margin-top: 30px;
        font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
        letter-spacing: 0; }
        @media only screen and (max-width: 767px) {
          .strength .strength-box .content04 .content04-inner02 .textbox02 {
            margin-top: 28px;
            padding: 30px 20px 15px 35px; } }
        .strength .strength-box .content04 .content04-inner02 .textbox02 li {
          width: 33%;
          font-size: 15px;
          font-size: 1.5rem;
          position: relative;
          padding-left: 16px;
          white-space: nowrap;
          text-align: left;
          margin-bottom: 15px; }
          @media only screen and (max-width: 767px) {
            .strength .strength-box .content04 .content04-inner02 .textbox02 li {
              padding-bottom: 15px;
              width: 100%;
              margin-bottom: 0; } }
          .strength .strength-box .content04 .content04-inner02 .textbox02 li::after {
            content: "";
            position: absolute;
            height: 1px;
            width: 8px;
            background-color: #E65C17;
            display: block;
            left: 0;
            top: 7px; }
        .strength .strength-box .content04 .content04-inner02 .textbox02 .lefts {
          margin-left: -30px; }
          @media only screen and (max-width: 767px) {
            .strength .strength-box .content04 .content04-inner02 .textbox02 .lefts {
              margin-left: 0; } }
    .strength .strength-box .content04 .note {
      display: block;
      font-size: 12px;
      font-size: 1.2rem;
      margin-top: 10px;
      text-align: right; }
      @media only screen and (max-width: 767px) {
        .strength .strength-box .content04 .note {
          justify-content: center; } }

.thsolution .thsolution-box {
  padding: 150px 0 0; }
  @media only screen and (max-width: 767px) {
    .thsolution .thsolution-box .inner {
      width: calc(100% - 50px); } }
  @media only screen and (max-width: 767px) {
    .thsolution .thsolution-box {
      padding: 128px 0 0; } }
  .thsolution .thsolution-box p {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 30px;
    letter-spacing: 0.5px; }
    @media only screen and (max-width: 767px) {
      .thsolution .thsolution-box p {
        letter-spacing: 0; } }
  .thsolution .thsolution-box .h3-tit01 {
    display: flex;
    align-items: baseline;
    border-bottom: 1px #707070 solid;
    margin-bottom: 30px; }
    @media only screen and (max-width: 767px) {
      .thsolution .thsolution-box .h3-tit01 {
        margin-bottom: 20px;
        padding-bottom: 3px; } }
    .thsolution .thsolution-box .h3-tit01 .en {
      font-family: "EB Garamond", serif;
      font-size: 42px;
      font-size: 4.2rem;
      letter-spacing: 0.1em;
      margin-right: 20px; }
      @media only screen and (max-width: 767px) {
        .thsolution .thsolution-box .h3-tit01 .en {
          font-size: 32px;
          font-size: 3.2rem; } }
      .thsolution .thsolution-box .h3-tit01 .en em {
        color: #E65C17; }
    .thsolution .thsolution-box .h3-tit01 .ja {
      font-size: 16px;
      font-size: 1.6rem; }
  .thsolution .thsolution-box .h3-tit02 {
    font-size: 28px;
    font-size: 2.8rem;
    text-align: center;
    color: #fff;
    letter-spacing: 1px;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
    @media only screen and (max-width: 767px) {
      .thsolution .thsolution-box .h3-tit02 {
        font-size: 22px;
        font-size: 2.2rem;
        line-height: 36px; } }
    .thsolution .thsolution-box .h3-tit02 em {
      font-size: 36px;
      font-size: 3.6rem;
      color: #E65C17; }
      @media only screen and (max-width: 767px) {
        .thsolution .thsolution-box .h3-tit02 em {
          font-size: 30px;
          font-size: 3rem; } }
  .thsolution .thsolution-box .h3-tit03 {
    font-size: 24px;
    font-size: 2.4rem;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    border-bottom: 1px solid #E65C17;
    padding-bottom: 20px;
    margin-bottom: 35px; }
    @media only screen and (max-width: 767px) {
      .thsolution .thsolution-box .h3-tit03 {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 30px;
        padding-bottom: 8px;
        margin-bottom: 30px; } }
  .thsolution .thsolution-box .h3-tit {
    font-size: 28px;
    font-size: 2.8rem;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    letter-spacing: 2px;
    line-height: 52px;
    margin-bottom: 30px; }
    @media only screen and (max-width: 767px) {
      .thsolution .thsolution-box .h3-tit {
        font-size: 21px;
        font-size: 2.1rem;
        letter-spacing: 0;
        line-height: 42px;
        margin-bottom: 10px; } }
  .thsolution .thsolution-box .content01 .content01-inner01 {
    background: #F7F7F7;
    width: calc(100% - 100px);
    position: relative;
    left: 100px;
    padding-bottom: 50px;
    z-index: 2; }
    @media only screen and (max-width: 767px) {
      .thsolution .thsolution-box .content01 .content01-inner01 {
        width: calc(100% - 25px);
        left: 25px;
        padding-bottom: 70px; } }
    .thsolution .thsolution-box .content01 .content01-inner01 .messagebox {
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        .thsolution .thsolution-box .content01 .content01-inner01 .messagebox {
          display: block; } }
      @media only screen and (max-width: 767px) {
        .thsolution .thsolution-box .content01 .content01-inner01 .messagebox .img-sp {
          position: relative;
          top: -50px;
          margin-bottom: -75px; } }
      .thsolution .thsolution-box .content01 .content01-inner01 .messagebox .textbox {
        width: 50%;
        margin-top: 70px; }
        @media only screen and (max-width: 767px) {
          .thsolution .thsolution-box .content01 .content01-inner01 .messagebox .textbox {
            width: 100%;
            padding: 0 15px 0 5px; } }
        .thsolution .thsolution-box .content01 .content01-inner01 .messagebox .textbox .name {
          display: flex;
          align-items: baseline;
          font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
          margin-top: 40px; }
          @media only screen and (max-width: 767px) {
            .thsolution .thsolution-box .content01 .content01-inner01 .messagebox .textbox .name {
              justify-content: right;
              margin-top: 28px; } }
          .thsolution .thsolution-box .content01 .content01-inner01 .messagebox .textbox .name span {
            font-size: 14px;
            font-size: 1.4rem;
            margin-right: 10px;
            letter-spacing: 1px; }
          .thsolution .thsolution-box .content01 .content01-inner01 .messagebox .textbox .name em {
            font-size: 20px;
            font-size: 2rem; }
      .thsolution .thsolution-box .content01 .content01-inner01 .messagebox .imgbox {
        width: 44%;
        position: relative;
        top: -30px; }
        @media only screen and (max-width: 767px) {
          .thsolution .thsolution-box .content01 .content01-inner01 .messagebox .imgbox {
            width: 100%;
            padding-right: 0; } }
  .thsolution .thsolution-box .content01 .content01-inner02 {
    background-image: url("../images/thsolution/bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: auto;
    padding: 160px 0 90px;
    z-index: 1;
    position: relative;
    top: -80px;
    margin-bottom: -80px; }
    @media only screen and (max-width: 767px) {
      .thsolution .thsolution-box .content01 .content01-inner02 {
        background-image: url("../images/thsolution/bg-sp.jpg");
        padding: 125px 0 65px; } }
    .thsolution .thsolution-box .content01 .content01-inner02 .seventlist {
      padding: 0 100px;
      margin-top: 50px; }
      @media only screen and (max-width: 767px) {
        .thsolution .thsolution-box .content01 .content01-inner02 .seventlist {
          padding: 0;
          margin-top: 28px; } }
      .thsolution .thsolution-box .content01 .content01-inner02 .seventlist li {
        background: #fff;
        margin-bottom: 10px;
        padding: 0 110px;
        height: 60px;
        display: flex;
        align-items: center;
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
        font-size: 15px;
        font-size: 1.5rem; }
        @media only screen and (max-width: 767px) {
          .thsolution .thsolution-box .content01 .content01-inner02 .seventlist li {
            padding: 0 20px;
            line-height: 26px;
            font-size: 14px;
            font-size: 1.4rem;
            height: 70px;
            letter-spacing: 0;
            margin-bottom: 6px; } }
        .thsolution .thsolution-box .content01 .content01-inner02 .seventlist li em {
          font-size: 28px;
          font-size: 2.8rem;
          color: #E65C17;
          margin-right: 10px;
          font-family: 'Cinzel', serif; }
  .thsolution .thsolution-box .content02 {
    padding: 100px 0 35px;
    background: #F7F7F7; }
    @media only screen and (max-width: 767px) {
      .thsolution .thsolution-box .content02 {
        padding: 55px 0 28px; } }
    .thsolution .thsolution-box .content02 .thoughtslist {
      margin-top: 80px; }
      @media only screen and (max-width: 767px) {
        .thsolution .thsolution-box .content02 .thoughtslist {
          margin-top: 45px; } }
      .thsolution .thsolution-box .content02 .thoughtslist .box {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 80px; }
        @media only screen and (max-width: 767px) {
          .thsolution .thsolution-box .content02 .thoughtslist .box {
            display: block;
            margin-bottom: 35px; } }
        .thsolution .thsolution-box .content02 .thoughtslist .box .left {
          width: 53%; }
          @media only screen and (max-width: 767px) {
            .thsolution .thsolution-box .content02 .thoughtslist .box .left {
              width: 100%; } }
          @media only screen and (max-width: 767px) {
            .thsolution .thsolution-box .content02 .thoughtslist .box .left .imgsp {
              margin-bottom: 25px; } }
          @media only screen and (max-width: 767px) {
            .thsolution .thsolution-box .content02 .thoughtslist .box .left p {
              line-height: 26px; } }
        .thsolution .thsolution-box .content02 .thoughtslist .box .right {
          width: 41%; }
          @media only screen and (max-width: 767px) {
            .thsolution .thsolution-box .content02 .thoughtslist .box .right {
              width: 100%; } }
      @media only screen and (min-width: 768px) {
        .thsolution .thsolution-box .content02 .thoughtslist .box02 {
          flex-direction: row-reverse; } }
  .thsolution .thsolution-box .content03 {
    padding: 100px 0 0; }
    @media only screen and (max-width: 767px) {
      .thsolution .thsolution-box .content03 {
        padding: 55px 0 0; } }
    .thsolution .thsolution-box .content03 .content03boxinner {
      background: #F7F7F7; }
      .thsolution .thsolution-box .content03 .content03boxinner .content03-inner01 {
        margin-top: 220px; }
        @media only screen and (max-width: 767px) {
          .thsolution .thsolution-box .content03 .content03boxinner .content03-inner01 {
            margin-top: 260px; } }
        .thsolution .thsolution-box .content03 .content03boxinner .content03-inner01 .arebox {
          display: flex;
          justify-content: space-between;
          top: -160px;
          margin-bottom: -160px;
          position: relative; }
          @media only screen and (max-width: 767px) {
            .thsolution .thsolution-box .content03 .content03boxinner .content03-inner01 .arebox {
              display: block;
              top: -210px;
              margin-bottom: -210px; } }
          .thsolution .thsolution-box .content03 .content03boxinner .content03-inner01 .arebox .areboxdetail {
            width: 49%; }
            @media only screen and (max-width: 767px) {
              .thsolution .thsolution-box .content03 .content03boxinner .content03-inner01 .arebox .areboxdetail {
                width: 100%;
                margin-bottom: 10px; } }
            .thsolution .thsolution-box .content03 .content03boxinner .content03-inner01 .arebox .areboxdetail .aretext {
              background: #fff;
              width: 90%;
              height: 320px;
              margin: 0 auto;
              position: relative;
              top: -30px;
              margin-bottom: -30px;
              padding: 40px 30px; }
              @media only screen and (max-width: 767px) {
                .thsolution .thsolution-box .content03 .content03boxinner .content03-inner01 .arebox .areboxdetail .aretext {
                  top: -60px;
                  padding: 25px;
                  height: auto; } }
              .thsolution .thsolution-box .content03 .content03boxinner .content03-inner01 .arebox .areboxdetail .aretext .h3-tit03 {
                text-align: center;
                margin-bottom: 20px !important; }
              @media only screen and (max-width: 767px) {
                .thsolution .thsolution-box .content03 .content03boxinner .content03-inner01 .arebox .areboxdetail .aretext p {
                  font-size: 14px;
                  font-size: 1.4rem;
                  line-height: 26px; } }
      .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 {
        padding: 130px 0 180px; }
        @media only screen and (max-width: 767px) {
          .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 {
            padding: 0 0 120px;
            margin-top: -20px; } }
        .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox {
          border-top: 1px #707070 solid;
          margin-top: 50px; }
          @media only screen and (max-width: 767px) {
            .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox {
              margin-top: 45px; } }
          .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo {
            display: flex;
            border-bottom: 1px #707070 solid;
            padding: 33px 100px 31px 200px; }
            @media only screen and (max-width: 767px) {
              .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo {
                display: block;
                padding: 22px 15px 20px; } }
            .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo .infoleft {
              font-weight: bold;
              width: 20%; }
              @media only screen and (max-width: 767px) {
                .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo .infoleft {
                  width: 100%; } }
            .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo .inforight {
              width: 74%; }
              @media only screen and (max-width: 767px) {
                .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo .inforight {
                  width: 100%; } }
              .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo .inforight .notelist {
                display: flex;
                flex-wrap: wrap;
                align-items: center;
                justify-content: space-between; }
                @media only screen and (max-width: 767px) {
                  .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo .inforight .notelist {
                    margin-top: 10px; } }
                .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo .inforight .notelist li {
                  width: 50%;
                  font-size: 15px;
                  font-size: 1.5rem;
                  letter-spacing: 0.5px;
                  position: relative;
                  padding-left: 16px;
                  white-space: nowrap;
                  line-height: 30px; }
                  @media only screen and (max-width: 767px) {
                    .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo .inforight .notelist li {
                      width: 100%;
                      padding-bottom: 7px;
                      letter-spacing: 0;
                      white-space: normal;
                      line-height: 23px; } }
                  .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo .inforight .notelist li::after {
                    content: "";
                    position: absolute;
                    height: 1px;
                    width: 8px;
                    background-color: #E65C17;
                    display: block;
                    left: 0;
                    top: 14px; }
                    @media only screen and (max-width: 767px) {
                      .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo .inforight .notelist li::after {
                        top: 10px; } }
                  .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo .inforight .notelist li .mar {
                    margin-right: 80px; }
                @media only screen and (max-width: 767px) {
                  .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo .inforight .notelist .last {
                    padding-bottom: 5px; } }
              .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo .inforight .notelist02 li {
                width: 100%; }
              @media only screen and (max-width: 767px) {
                .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo .inforight .spec {
                  letter-spacing: -0.3px; } }
              @media screen and (max-width: 360px) {
                .thsolution .thsolution-box .content03 .content03boxinner .content03-inner02 .listinfobox .boxinfo .inforight .spec {
                  letter-spacing: -0.8px; } }

body.works main {
  padding: 120px 0 180px; }
  @media only screen and (max-width: 767px) {
    body.works main {
      padding: 84px 0 120px; } }
  body.works main section.cat .cont h3 {
    font-size: 26px;
    font-size: 2.6rem;
    letter-spacing: 0.1em;
    font-weight: 500;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.works main section.cat .cont h3 {
        font-size: 22px;
        font-size: 2.2rem; } }
  body.works main section.cat .cont ul {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: center; }
    body.works main section.cat .cont ul li {
      border-top: 1px solid #B3B3B3;
      border-bottom: 1px solid #B3B3B3; }
      body.works main section.cat .cont ul li:hover {
        border-top: 1px solid #E65C17 !important;
        border-bottom: 1px solid #E65C17 !important; }
      @media only screen and (min-width: 768px) {
        body.works main section.cat .cont ul li:nth-of-type(n + 2) {
          margin-left: 20px; } }
      body.works main section.cat .cont ul li.is-active {
        color: #E65C17;
        border-top: 1px solid #E65C17 !important;
        border-bottom: 1px solid #E65C17 !important; }
      body.works main section.cat .cont ul li a {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
        padding: 12px 0; }
        @media only screen and (max-width: 767px) {
          body.works main section.cat .cont ul li a {
            flex-direction: column;
            padding: 13px 0; } }
        body.works main section.cat .cont ul li a span.en {
          font-size: 18px;
          font-size: 1.8rem;
          letter-spacing: 0.06em;
          font-family: "EB Garamond", serif;
          font-weight: 500; }
          @media only screen and (max-width: 767px) {
            body.works main section.cat .cont ul li a span.en {
              letter-spacing: 0.02em;
              white-space: nowrap; } }
          @media only screen and (device-aspect-ratio: 139 / 199) {
            body.works main section.cat .cont ul li a span.en {
              font-size: 16px; } }
          @media only screen and (device-aspect-ratio: 512 / 683) {
            body.works main section.cat .cont ul li a span.en {
              font-size: 16px; } }
        body.works main section.cat .cont ul li a span.ja {
          font-size: 12px;
          font-size: 1.2rem;
          letter-spacing: 0.1em;
          font-weight: 500;
          font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
          display: inline-block;
          margin-left: 10px;
          white-space: nowrap; }
          @media only screen and (max-width: 767px) {
            body.works main section.cat .cont ul li a span.ja {
              margin-top: 10px;
              margin-left: 0; } }
          @media only screen and (device-aspect-ratio: 139 / 199) {
            body.works main section.cat .cont ul li a span.ja {
              font-size: 10px; } }
          @media only screen and (device-aspect-ratio: 512 / 683) {
            body.works main section.cat .cont ul li a span.ja {
              font-size: 10px; } }
        @media only screen and (min-width: 768px) {
          body.works main section.cat .cont ul li a {
            transition: .2s; }
            body.works main section.cat .cont ul li a:hover {
              color: #E65C17; } }
  @media only screen and (min-width: 768px) {
    body.works main section.cat .cont:nth-of-type(1) ul {
      justify-content: center; } }
  body.works main section.cat .cont:nth-of-type(1) ul li {
    width: 23.5%; }
    @media only screen and (min-width: 768px) {
      body.works main section.cat .cont:nth-of-type(1) ul li:nth-of-type(4n + 1) {
        margin-left: 0px; }
      body.works main section.cat .cont:nth-of-type(1) ul li.is-active {
        border-top: 1px solid #E65C17; } }
    @media only screen and (max-width: 767px) {
      body.works main section.cat .cont:nth-of-type(1) ul li {
        width: 47.0769231%;
        margin-right: 18px;
        border-top: none;
        border-bottom: 1px solid #B3B3B3; }
        body.works main section.cat .cont:nth-of-type(1) ul li:nth-of-type(2n + 2) {
          margin-right: 0; }
        body.works main section.cat .cont:nth-of-type(1) ul li:nth-of-type(1), body.works main section.cat .cont:nth-of-type(1) ul li:nth-of-type(2) {
          border-top: 1px solid #B3B3B3; } }
  body.works main section.cat .cont:nth-of-type(2) {
    margin-top: 50px; }
    body.works main section.cat .cont:nth-of-type(2) ul li {
      width: 32%;
      margin-bottom: -1px; }
      @media only screen and (min-width: 768px) {
        body.works main section.cat .cont:nth-of-type(2) ul li:nth-of-type(1), body.works main section.cat .cont:nth-of-type(2) ul li:nth-of-type(2), body.works main section.cat .cont:nth-of-type(2) ul li:nth-of-type(3) {
          border-top: 1px solid #B3B3B3; }
          body.works main section.cat .cont:nth-of-type(2) ul li:nth-of-type(1).is-active, body.works main section.cat .cont:nth-of-type(2) ul li:nth-of-type(2).is-active, body.works main section.cat .cont:nth-of-type(2) ul li:nth-of-type(3).is-active {
            border-top: 1px solid #E65C17 !important;
            border-bottom: 1px solid #E65C17 !important;
            z-index: 10;
            position: relative; }
          body.works main section.cat .cont:nth-of-type(2) ul li:nth-of-type(1):hover, body.works main section.cat .cont:nth-of-type(2) ul li:nth-of-type(2):hover, body.works main section.cat .cont:nth-of-type(2) ul li:nth-of-type(3):hover {
            border-top: 1px solid #E65C17 !important;
            border-bottom: 1px solid #E65C17 !important;
            z-index: 100;
            position: relative; }
        body.works main section.cat .cont:nth-of-type(2) ul li:nth-of-type(3n + 1) {
          margin-left: 0px; }
        body.works main section.cat .cont:nth-of-type(2) ul li:hover {
          border-top: 1px solid #E65C17 !important;
          border-bottom: 1px solid #E65C17 !important; } }
      @media only screen and (max-width: 767px) {
        body.works main section.cat .cont:nth-of-type(2) ul li {
          width: 47.0769231%;
          margin-right: 18px;
          border-top: none; }
          body.works main section.cat .cont:nth-of-type(2) ul li:nth-of-type(2n + 2) {
            margin-right: 0; }
          body.works main section.cat .cont:nth-of-type(2) ul li:nth-of-type(1), body.works main section.cat .cont:nth-of-type(2) ul li:nth-of-type(2) {
            border-top: 1px solid #B3B3B3; } }
  body.works main section.contents {
    margin-top: 100px; }
    @media only screen and (max-width: 767px) {
      body.works main section.contents {
        margin-top: 60px; } }
    body.works main section.contents .cont-list {
      display: flex;
      flex-wrap: wrap; }
      @media only screen and (min-width: 768px) {
        body.works main section.contents .cont-list {
          padding: 0 25px; } }
      body.works main section.contents .cont-list li {
        width: calc((100% - 30px)/4);
        margin-right: 10px; }
        @media only screen and (max-width: 767px) {
          body.works main section.contents .cont-list li {
            margin-right: 25px;
            width: calc((100% - 25px) / 2); }
            body.works main section.contents .cont-list li:nth-of-type(2n + 2) {
              margin-right: 0; }
            body.works main section.contents .cont-list li:nth-of-type(n + 3) {
              margin-top: 30px; }
            body.works main section.contents .cont-list li:nth-of-type(odd) {
              transform: translateY(30px); } }
        @media only screen and (min-width: 768px) {
          body.works main section.contents .cont-list li:nth-of-type(4n + 4) {
            margin-right: 0; }
          body.works main section.contents .cont-list li:nth-of-type(n + 5) {
            margin-top: 70px; } }
        body.works main section.contents .cont-list li:nth-of-type(odd) {
          transform: translateY(30px); }
        @media only screen and (min-width: 768px) {
          body.works main section.contents .cont-list li:hover .img-cont figure {
            transform: scale(1.1); }
          body.works main section.contents .cont-list li:hover .text-cont .cat,
          body.works main section.contents .cont-list li:hover .text-cont .cat2,
          body.works main section.contents .cont-list li:hover .text-cont .name,
          body.works main section.contents .cont-list li:hover .text-cont .address {
            color: #E65C17; }
          body.works main section.contents .cont-list li:hover .text-cont .cat2:before {
            color: #E65C17; } }
        body.works main section.contents .cont-list li .img-cont {
          overflow: hidden; }
          body.works main section.contents .cont-list li .img-cont figure {
            height: 368px;
            transition: all .3s;
            background-repeat: no-repeat;
            background-size: auto 100%;
            background-position: center; }
            @media only screen and (max-width: 767px) {
              body.works main section.contents .cont-list li .img-cont figure {
                height: 240px; } }
          body.works main section.contents .cont-list li .img-cont a {
            display: block;
            height: 100%; }
        body.works main section.contents .cont-list li .text-cont {
          margin-top: 23px; }
          @media only screen and (min-width: 768px) {
            body.works main section.contents .cont-list li .text-cont {
              padding-left: 25px; } }
          @media only screen and (max-width: 767px) {
            body.works main section.contents .cont-list li .text-cont {
              margin-top: 5px; } }
          body.works main section.contents .cont-list li .text-cont span.cat {
            font-size: 13px;
            font-size: 1.3rem;
            letter-spacing: 0.06em;
            font-weight: 500;
            color: #808080; }
            @media only screen and (max-width: 767px) {
              body.works main section.contents .cont-list li .text-cont span.cat {
                font-size: 12px;
                font-size: 1.2rem;
                letter-spacing: 0em; } }
            @media only screen and (device-aspect-ratio: 139 / 199) {
              body.works main section.contents .cont-list li .text-cont span.cat {
                font-size: 12px; } }
            @media only screen and (device-aspect-ratio: 512 / 683) {
              body.works main section.contents .cont-list li .text-cont span.cat {
                font-size: 12px; } }
          body.works main section.contents .cont-list li .text-cont span.cat2 {
            font-size: 13px;
            font-size: 1.3rem;
            letter-spacing: 0.06em;
            font-weight: 500;
            color: #808080;
            position: relative;
            display: inline-block;
            margin-left: 18px; }
            body.works main section.contents .cont-list li .text-cont span.cat2:nth-of-type(1) {
              margin-left: 0; }
              body.works main section.contents .cont-list li .text-cont span.cat2:nth-of-type(1):before {
                display: none; }
            @media only screen and (max-width: 767px) {
              body.works main section.contents .cont-list li .text-cont span.cat2 {
                margin-left: 0;
                margin-top: 10px;
                font-size: 12px;
                font-size: 1.2rem;
                letter-spacing: 0em; } }
            body.works main section.contents .cont-list li .text-cont span.cat2:before {
              content: '/';
              width: 10px;
              height: 10px;
              display: block;
              position: absolute;
              top: calc(50% + -2px);
              left: -15px;
              transform: translateY(-50%);
              font-size: 13px;
              font-size: 1.3rem;
              letter-spacing: 0.06em;
              font-weight: 500;
              color: #808080; }
              @media only screen and (max-width: 767px) {
                body.works main section.contents .cont-list li .text-cont span.cat2:before {
                  top: calc(50% - 2px);
                  left: -5px; } }
          body.works main section.contents .cont-list li .text-cont span.name {
            font-size: 15px;
            font-size: 1.5rem;
            letter-spacing: 0.02em;
            font-weight: 500;
            font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
            display: block;
            margin-top: 10px; }
            @media only screen and (min-width: 768px) {
              body.works main section.contents .cont-list li .text-cont span.name {
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                width: 180px; } }
            @media only screen and (max-width: 767px) {
              body.works main section.contents .cont-list li .text-cont span.name {
                letter-spacing: 0em;
                line-height: 1.6;
                margin-top: 5px;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
                overflow: hidden; } }
          body.works main section.contents .cont-list li .text-cont span.address {
            margin-top: 10px;
            display: inline-block;
            position: relative;
            padding-left: 13px;
            font-size: 12px;
            font-size: 1.2rem;
            letter-spacing: 0.06em;
            color: #808080;
            font-weight: 500; }
            @media only screen and (max-width: 767px) {
              body.works main section.contents .cont-list li .text-cont span.address {
                margin-top: 5px; } }
            body.works main section.contents .cont-list li .text-cont span.address:before {
              content: '';
              width: 8px;
              height: 11px;
              position: absolute;
              top: 50%;
              left: 0;
              transform: translateY(-50%);
              background-image: url(../images/works/map-icn.svg);
              background-repeat: no-repeat;
              background-size: contain;
              background-position: center; }
  body.works main .archive {
    margin-top: 90px; }
    @media only screen and (max-width: 767px) {
      body.works main .archive {
        text-align: center;
        margin-top: 75px; } }
    body.works main .archive .slide-menu.is-open .slide-title:before {
      transform: translate(0%, 0%) rotate(315deg); }
    body.works main .archive .slide-menu .slide-title {
      position: relative;
      font-family: "EB Garamond", serif;
      font-size: 28px;
      font-size: 2.8rem;
      letter-spacing: 0.1em;
      padding-bottom: 15px;
      border-bottom: 1px solid #E65C17;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        body.works main .archive .slide-menu .slide-title {
          padding-bottom: 13px; }
          body.works main .archive .slide-menu .slide-title:before {
            content: '';
            width: 6px;
            height: 6px;
            display: block;
            position: absolute;
            top: 15px;
            right: 50px;
            transform: translate(0%, 0%) rotate(135deg);
            border-top: 1px solid #E65C17;
            border-right: 1px solid #E65C17;
            transition: .2s; } }
      body.works main .archive .slide-menu .slide-title span {
        color: #E65C17; }
    body.works main .archive .slide-menu .slide-list {
      text-align: center; }
      @media only screen and (max-width: 767px) {
        body.works main .archive .slide-menu .slide-list {
          display: none; } }
      body.works main .archive .slide-menu .slide-list ul {
        display: flex;
        flex-wrap: wrap;
        max-width: 705px;
        margin: 21px auto 0; }
        @media only screen and (max-width: 767px) {
          body.works main .archive .slide-menu .slide-list ul {
            margin-top: 30px;
            max-width: 172px;
            margin: 30px auto 0; } }
        body.works main .archive .slide-menu .slide-list ul li {
          width: calc((100% - 400px) / 5);
          margin-right: 100px; }
          @media only screen and (max-width: 767px) {
            body.works main .archive .slide-menu .slide-list ul li {
              width: calc((100% - 70px) / 2);
              margin-right: 70px; }
              body.works main .archive .slide-menu .slide-list ul li:nth-of-type(n + 3) {
                margin-top: 15px; }
              body.works main .archive .slide-menu .slide-list ul li:nth-of-type(2n + 2) {
                margin-right: 0; } }
          @media only screen and (min-width: 768px) {
            body.works main .archive .slide-menu .slide-list ul li:nth-of-type(n + 6) {
              margin-top: 30px; }
            body.works main .archive .slide-menu .slide-list ul li:nth-of-type(5n + 5) {
              margin-right: 0px; } }
          body.works main .archive .slide-menu .slide-list ul li.is-active a {
            color: #E65C17; }
          body.works main .archive .slide-menu .slide-list ul li a {
            font-size: 17px;
            font-size: 1.7rem;
            letter-spacing: 0.06em;
            font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
            font-weight: 500;
            display: block;
            height: 100%; }
            @media only screen and (max-width: 767px) {
              body.works main .archive .slide-menu .slide-list ul li a {
                font-size: 15px;
                font-size: 1.5rem;
                letter-spacing: 0.02em; } }
            @media only screen and (min-width: 768px) {
              body.works main .archive .slide-menu .slide-list ul li a {
                transition: .2s; }
                body.works main .archive .slide-menu .slide-list ul li a:hover {
                  color: #E65C17; } }

@media only screen and (max-width: 767px) {
  body.works.detail main {
    padding: 70px 0 120px; } }

body.works.detail .breadcrumbs {
  background-color: #F7F7F7; }

body.works.detail main {
  background-color: #F7F7F7;
  padding-bottom: 0; }

body.works.detail .cont-wrap .title-wrap {
  padding-bottom: 100px; }
  @media only screen and (max-width: 767px) {
    body.works.detail .cont-wrap .title-wrap {
      padding-bottom: 70px; } }
  body.works.detail .cont-wrap .title-wrap .inner {
    max-width: 800px; }
  body.works.detail .cont-wrap .title-wrap .title-text {
    border-bottom: 1px solid #B3B3B3;
    padding-bottom: 30px; }
    @media only screen and (max-width: 767px) {
      body.works.detail .cont-wrap .title-wrap .title-text {
        padding-bottom: 15px; } }
    body.works.detail .cont-wrap .title-wrap .title-text span {
      font-size: 26px;
      font-size: 2.6rem;
      letter-spacing: 0.02em;
      font-weight: 500;
      line-height: 1.615384615;
      font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
      @media only screen and (max-width: 767px) {
        body.works.detail .cont-wrap .title-wrap .title-text span {
          font-size: 20px;
          font-size: 2rem;
          line-height: 1.6; } }
  body.works.detail .cont-wrap .title-wrap .img-cont {
    margin-top: 50px;
    max-width: 800px;
    margin: 60px auto 0; }
    @media only screen and (max-width: 767px) {
      body.works.detail .cont-wrap .title-wrap .img-cont {
        margin-top: 30px; } }
    body.works.detail .cont-wrap .title-wrap .img-cont figure {
      max-width: 800px;
      height: 533.33px;
      background-size: auto 100%;
      background-position: center top;
      background-repeat: no-repeat;
      margin: 0 auto; }
      @media only screen and (max-width: 767px) {
        body.works.detail .cont-wrap .title-wrap .img-cont figure {
          width: 100%;
          height: 420px;
          background-size: auto 100%;
          background-position: center top; } }
      @media only screen and (max-width: 540px) {
        body.works.detail .cont-wrap .title-wrap .img-cont figure {
          height: 216px; } }
  body.works.detail .cont-wrap .title-wrap .sub-cont {
    max-width: 625px;
    margin: 30px auto 0;
    position: relative;
    width: fit-content; }
    @media only screen and (max-width: 767px) {
      body.works.detail .cont-wrap .title-wrap .sub-cont {
        margin: 27px auto 0; } }
    body.works.detail .cont-wrap .title-wrap .sub-cont ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      margin-top: 30px; }
      body.works.detail .cont-wrap .title-wrap .sub-cont ul .slide {
        display: inline-block;
        width: 100%; }
      body.works.detail .cont-wrap .title-wrap .sub-cont ul .slick-slide:focus {
        outline: none; }
      body.works.detail .cont-wrap .title-wrap .sub-cont ul li {
        height: 66px;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center; }
        @media only screen and (min-width: 768px) {
          body.works.detail .cont-wrap .title-wrap .sub-cont ul li {
            width: 100px !important;
            margin-left: 5px; }
            body.works.detail .cont-wrap .title-wrap .sub-cont ul li:nth-of-type(6n + 6) {
              margin-right: 0; } }
        @media only screen and (max-width: 767px) {
          body.works.detail .cont-wrap .title-wrap .sub-cont ul li {
            margin-right: 2px; }
            body.works.detail .cont-wrap .title-wrap .sub-cont ul li figure {
              outline: none; }
            body.works.detail .cont-wrap .title-wrap .sub-cont ul li:nth-of-type(3n + 3) {
              margin-right: 0; }
            body.works.detail .cont-wrap .title-wrap .sub-cont ul li:nth-of-type(3n + 3) {
              margin-right: 0; } }
        body.works.detail .cont-wrap .title-wrap .sub-cont ul li figure {
          height: 66px; }
    body.works.detail .cont-wrap .title-wrap .sub-cont .slick-slider .slick-list,
    body.works.detail .cont-wrap .title-wrap .sub-cont .slick-slider .slick-track {
      display: flex; }
      @media only screen and (min-width: 768px) {
        body.works.detail .cont-wrap .title-wrap .sub-cont .slick-slider .slick-list,
        body.works.detail .cont-wrap .title-wrap .sub-cont .slick-slider .slick-track {
          width: auto !important; } }
    body.works.detail .cont-wrap .title-wrap .sub-cont .slider {
      max-width: 960px;
      width: 100%;
      margin: 0 auto; }
      @media only screen and (max-width: 767px) {
        body.works.detail .cont-wrap .title-wrap .sub-cont .slider.fewnum .slick-list,
        body.works.detail .cont-wrap .title-wrap .sub-cont .slider.fewnum .slick-track {
          width: 100% !important;
          justify-content: center; } }
      @media only screen and (max-width: 767px) {
        body.works.detail .cont-wrap .title-wrap .sub-cont .slider {
          width: 275px; } }
      body.works.detail .cont-wrap .title-wrap .sub-cont .slider .slide figure {
        overflow: hidden; }
        @media only screen and (min-width: 768px) {
          body.works.detail .cont-wrap .title-wrap .sub-cont .slider .slide figure {
            width: 100px; } }
        body.works.detail .cont-wrap .title-wrap .sub-cont .slider .slide figure > img {
          width: 100%;
          height: 100%;
          object-fit: cover; }
      @media only screen and (max-width: 767px) {
        body.works.detail .cont-wrap .title-wrap .sub-cont .slider .slick-slide {
          width: 90px !important;
          margin-right: 2px; } }
    body.works.detail .cont-wrap .title-wrap .sub-cont .slide-arrow {
      position: absolute;
      height: 100%;
      top: 0;
      cursor: pointer;
      width: 30px;
      display: flex;
      justify-content: center;
      align-items: center;
      background: #D9D9D9;
      z-index: 1; }
      body.works.detail .cont-wrap .title-wrap .sub-cont .slide-arrow:before {
        content: '';
        width: 8px;
        height: 8px;
        position: absolute;
        top: 50%;
        left: calc(50% - 2px);
        transform: translate(-50%, -50%) rotate(45deg);
        border-top: 1px solid #E65C17;
        border-right: 1px solid #E65C17; }
      @media only screen and (max-width: 767px) {
        body.works.detail .cont-wrap .title-wrap .sub-cont .slide-arrow {
          width: 23px;
          height: 134px; } }
      @media only screen and (min-width: 768px) {
        body.works.detail .cont-wrap .title-wrap .sub-cont .slide-arrow:hover {
          background: #E65C17; }
          body.works.detail .cont-wrap .title-wrap .sub-cont .slide-arrow:hover:before {
            border-top: 1px solid #fff;
            border-right: 1px solid #fff; } }
      body.works.detail .cont-wrap .title-wrap .sub-cont .slide-arrow.prev-arrow {
        left: -30px;
        transform: scale(-1, 1); }
        @media only screen and (max-width: 767px) {
          body.works.detail .cont-wrap .title-wrap .sub-cont .slide-arrow.prev-arrow {
            left: -25px; } }
      body.works.detail .cont-wrap .title-wrap .sub-cont .slide-arrow.next-arrow {
        right: -35px; }
        @media only screen and (max-width: 767px) {
          body.works.detail .cont-wrap .title-wrap .sub-cont .slide-arrow.next-arrow {
            right: -25px; } }
    body.works.detail .cont-wrap .title-wrap .sub-cont .slick-next:before {
      content: '';
      width: 30.25px;
      height: 67px;
      display: block;
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      top: 50%;
      right: -5px;
      transform: translateY(-50%);
      position: absolute;
      background-image: url(../images/works/btn-next.svg); }
      @media only screen and (max-width: 767px) {
        body.works.detail .cont-wrap .title-wrap .sub-cont .slick-next:before {
          right: 0;
          width: 23px;
          height: 122px;
          background-image: url(../images/works/btn-next-sp.svg); } }
    body.works.detail .cont-wrap .title-wrap .sub-cont .slick-prev:before {
      content: '';
      width: 30.25px;
      height: 67px;
      display: block;
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      top: 50%;
      transform: translateY(-50%) scale(-1, 1);
      left: -5px;
      position: absolute;
      background-image: url(../images/works/btn-next.svg); }
      @media only screen and (max-width: 767px) {
        body.works.detail .cont-wrap .title-wrap .sub-cont .slick-prev:before {
          left: 0;
          width: 23px;
          height: 122px;
          background-image: url(../images/works/btn-next-sp.svg); } }
    body.works.detail .cont-wrap .title-wrap .sub-cont .prevarw, body.works.detail .cont-wrap .title-wrap .sub-cont .nextarw {
      position: absolute;
      top: 0;
      height: 100%;
      cursor: pointer;
      width: 30px;
      display: flex;
      justify-content: center;
      align-items: center;
      background: #D9D9D9;
      z-index: 1; }
      body.works.detail .cont-wrap .title-wrap .sub-cont .prevarw:before, body.works.detail .cont-wrap .title-wrap .sub-cont .nextarw:before {
        content: '';
        width: 8px;
        height: 8px;
        position: absolute;
        top: 50%;
        left: calc(50% - 2px);
        transform: translate(-50%, -50%) rotate(45deg);
        border-top: 1px solid #E65C17;
        border-right: 1px solid #E65C17; }
    body.works.detail .cont-wrap .title-wrap .sub-cont .prevarw {
      left: -28px;
      transform: scale(-1, 1); }
      @media only screen and (max-width: 767px) {
        body.works.detail .cont-wrap .title-wrap .sub-cont .prevarw {
          left: -33px; } }
    body.works.detail .cont-wrap .title-wrap .sub-cont .nextarw {
      right: -33px; }
  body.works.detail .cont-wrap .title-wrap .cont-bottom {
    max-width: 700px;
    margin: 59px auto 0;
    padding: 30px 55px 40px;
    background-color: #fff; }
    @media only screen and (max-width: 767px) {
      body.works.detail .cont-wrap .title-wrap .cont-bottom {
        padding: 40px 30px 50px; } }
    body.works.detail .cont-wrap .title-wrap .cont-bottom .title {
      display: flex; }
      @media only screen and (max-width: 767px) {
        body.works.detail .cont-wrap .title-wrap .cont-bottom .title {
          flex-direction: column;
          text-align: center; } }
      body.works.detail .cont-wrap .title-wrap .cont-bottom .title h3 {
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
        font-size: 20px;
        font-size: 2rem;
        letter-spacing: 0.1em;
        font-weight: 500; }
      @media only screen and (min-width: 768px) {
        body.works.detail .cont-wrap .title-wrap .cont-bottom .title .cat-cont {
          margin-left: auto; } }
      @media only screen and (max-width: 767px) {
        body.works.detail .cont-wrap .title-wrap .cont-bottom .title .cat-cont {
          margin-top: 30px; } }
      body.works.detail .cont-wrap .title-wrap .cont-bottom .title .cat-cont .cat {
        display: inline-block;
        padding: 5px 10px;
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: 0.02em;
        font-weight: 500;
        background-color: #F3C9B4; }
    body.works.detail .cont-wrap .title-wrap .cont-bottom .text {
      margin-top: 30px; }
      body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start; }
        @media only screen and (max-width: 767px) {
          body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul {
            flex-direction: column; } }
        body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li {
          margin-right: 36px;
          width: calc(50% - 18px);
          border-bottom: 1px solid #B3B3B3;
          padding-bottom: 10px;
          line-height: 1.7; }
          body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li:nth-of-type(n + 3) {
            width: 29.5798319%;
            width: calc((100% - 72px)/3); }
            @media only screen and (min-width: 768px) {
              body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li:nth-of-type(n + 3) {
                margin-top: 20px; } }
            @media only screen and (max-width: 767px) {
              body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li:nth-of-type(n + 3) {
                width: 100%; } }
          @media only screen and (min-width: 768px) {
            body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li:nth-of-type(2), body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li:nth-of-type(5) {
              margin-right: 0; }
            body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li:nth-of-type(3) em, body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li:nth-of-type(4) em {
              margin-right: 25px; }
            body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li:last-of-type {
              white-space: nowrap; } }
          @media only screen and (max-width: 767px) {
            body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li {
              width: 100%;
              padding-left: 10px;
              display: flex; }
              body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li:nth-of-type(n + 2) {
                margin-top: 20px; }
              body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li.plural-line {
                display: block; } }
          body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li em {
            font-size: 14px;
            font-size: 1.4rem;
            letter-spacing: 0.02em;
            font-weight: bold; }
            @media only screen and (min-width: 768px) {
              body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li em {
                margin-right: 10px; } }
            @media only screen and (max-width: 767px) {
              body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li em {
                display: inline-block;
                width: 89px; } }
          body.works.detail .cont-wrap .title-wrap .cont-bottom .text ul li span {
            font-size: 14px;
            font-size: 1.4rem;
            letter-spacing: 0.02em;
            font-weight: 500; }

body.works.detail .cont-wrap .text-area {
  padding-top: 75px;
  background-color: #fff;
  padding-bottom: 180px; }
  @media only screen and (max-width: 767px) {
    body.works.detail .cont-wrap .text-area {
      padding-top: 35px;
      padding-bottom: 120px; } }
  @media only screen and (min-width: 768px) {
    body.works.detail .cont-wrap .text-area .inner {
      max-width: 800px; } }
  body.works.detail .cont-wrap .text-area span.text {
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.02em;
    line-height: 1.866666667;
    font-weight: 500;
    display: block; }
    @media only screen and (max-width: 767px) {
      body.works.detail .cont-wrap .text-area span.text {
        letter-spacing: 0em; } }
    body.works.detail .cont-wrap .text-area span.text span.background {
      background-color: #FFE8DC; }
    body.works.detail .cont-wrap .text-area span.text span.under {
      color: #E65C17;
      border-bottom: 1px solid #E65C17; }
    body.works.detail .cont-wrap .text-area span.text a {
      color: #E65C17;
      border-bottom: 1px solid #E65C17; }
      @media only screen and (min-width: 768px) {
        body.works.detail .cont-wrap .text-area span.text a {
          transition: .2s; }
          body.works.detail .cont-wrap .text-area span.text a:hover {
            opacity: .7; } }
    body.works.detail .cont-wrap .text-area span.text ul li {
      border-bottom: none; }
    body.works.detail .cont-wrap .text-area span.text strong {
      font-weight: bold; }
  body.works.detail .cont-wrap .text-area h3 {
    margin-top: 75px;
    font-size: 22px;
    font-size: 2.2rem;
    letter-spacing: 0.02em;
    line-height: 1.636363636;
    font-weight: 500;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    padding-bottom: 12px;
    border-bottom: 1px solid #E65C17;
    margin-bottom: 25px; }
    @media only screen and (max-width: 767px) {
      body.works.detail .cont-wrap .text-area h3 {
        font-size: 19px;
        font-size: 1.9rem;
        letter-spacing: 0em;
        line-height: 1.578947368;
        margin-top: 30px; } }
  body.works.detail .cont-wrap .text-area h4 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    font-size: 20px;
    font-size: 2rem;
    letter-spacing: 0.02em;
    font-weight: 600;
    line-height: 1.8;
    margin-top: 70px;
    margin-bottom: 15px; }
    @media only screen and (max-width: 767px) {
      body.works.detail .cont-wrap .text-area h4 {
        font-size: 18px;
        font-size: 1.8rem;
        letter-spacing: 0em;
        line-height: 1.666666667;
        margin-top: 30px; } }
  body.works.detail .cont-wrap .text-area h4:first-letter {
    color: #E65C17; }
  body.works.detail .cont-wrap .text-area h5 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 0.02em;
    font-weight: 500;
    line-height: 1.666666667;
    margin-top: 55px;
    padding: 20px;
    border: 1px solid #989898;
    margin-bottom: 25px; }
    @media only screen and (max-width: 767px) {
      body.works.detail .cont-wrap .text-area h5 {
        font-size: 17px;
        font-size: 1.7rem;
        letter-spacing: 0em;
        line-height: 1.647058824;
        margin-top: 30px; } }
  body.works.detail .cont-wrap .text-area blockquote {
    display: block;
    padding: 25px 30px;
    background-color: #F7F7F7;
    margin-top: 60px;
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.02em;
    line-height: 1.866666667;
    margin-bottom: 15px; }
    @media only screen and (max-width: 767px) {
      body.works.detail .cont-wrap .text-area blockquote {
        letter-spacing: 0em;
        line-height: 1.733333333;
        margin-top: 40px;
        padding: 15px 20px; } }
    body.works.detail .cont-wrap .text-area blockquote p {
      margin-top: 0 !important; }
  body.works.detail .cont-wrap .text-area span[style*="text-decoration: underline"] {
    background-color: #FFE8DC;
    text-decoration: none !important; }
  body.works.detail .cont-wrap .text-area em {
    font-style: italic; }
  body.works.detail .cont-wrap .text-area ol {
    list-style: decimal inside; }
  body.works.detail .cont-wrap .text-area ul {
    list-style: disc inside;
    letter-spacing: .05em; }
    body.works.detail .cont-wrap .text-area ul li {
      margin-bottom: 10px; }
  body.works.detail .cont-wrap .text-area table,
  body.works.detail .cont-wrap .text-area th,
  body.works.detail .cont-wrap .text-area td {
    border: 1px solid #333333;
    box-sizing: border-box;
    margin: 0;
    padding: 0; }

body.works.detail .single-page-nav {
  display: flex;
  align-items: center;
  margin: 70px auto 0;
  width: 172.63px; }
  @media only screen and (max-width: 767px) {
    body.works.detail .single-page-nav {
      margin: 50px auto 0; } }
  body.works.detail .single-page-nav .page-nav {
    text-align: center;
    position: relative;
    margin-top: 0; }
  body.works.detail .single-page-nav .page-link {
    width: 8px;
    height: 8px;
    display: block;
    position: relative;
    padding: 10px; }
    body.works.detail .single-page-nav .page-link:before {
      content: '';
      width: 6px;
      height: 6px;
      display: block;
      position: absolute;
      top: 50%;
      transform: translate(0%, -50%) rotate(225deg);
      left: 0;
      border-top: 1px solid #E65C17;
      border-right: 1px solid #E65C17;
      transition: .2s; }
    body.works.detail .single-page-nav .page-link:last-of-type:before {
      transform: translate(0%, -50%) rotate(45deg);
      right: 0;
      left: inherit; }

body.works .page-nav {
  display: block;
  width: 164px;
  margin: 110px auto 0;
  text-align: center;
  font-family: "EB Garamond", serif;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 0.06em; }
  @media only screen and (max-width: 767px) {
    body.works .page-nav {
      margin: 75px auto 0;
      width: 100px; } }
  body.works .page-nav .wp-pagenavi {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    justify-content: space-between; }
    body.works .page-nav .wp-pagenavi .current {
      color: #E65C17;
      width: 20%; }
    body.works .page-nav .wp-pagenavi .page {
      width: 20%; }
    @media only screen and (min-width: 768px) {
      body.works .page-nav .wp-pagenavi a {
        transition: .3s; }
        body.works .page-nav .wp-pagenavi a:hover {
          opacity: .7; } }
    body.works .page-nav .wp-pagenavi .first,
    body.works .page-nav .wp-pagenavi .last {
      width: 20%;
      height: 100%;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center;
      -webkit-justify-content: center;
      justify-content: center;
      color: #E65C17;
      position: relative; }
      body.works .page-nav .wp-pagenavi .first:before,
      body.works .page-nav .wp-pagenavi .last:before {
        content: '';
        width: 40px;
        height: 12px;
        position: absolute;
        top: calc(50% + 1px);
        right: -10px;
        transform: translateY(-50%);
        background-image: url(../images/works/arrow-next.svg);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        opacity: 10;
        pointer-events: none;
        background-color: #fff; }
    body.works .page-nav .wp-pagenavi .first:before {
      transform: translateY(-50%) rotate(180deg);
      right: inherit;
      left: -15px; }
  body.works .page-nav.total-2 {
    width: 115px;
    margin: 0 auto; }
    body.works .page-nav.total-2 .wp-pagenavi .current {
      width: 25%; }
      body.works .page-nav.total-2 .wp-pagenavi .current:nth-child(2) {
        margin-left: 25%; }
    body.works .page-nav.total-2 .wp-pagenavi a {
      width: 25%; }
  body.works .page-nav span.page-back {
    font-size: 17px;
    font-size: 1.7rem;
    letter-spacing: 0.06em;
    font-weight: 500;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
