@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: "ヒラギノ角ゴ", "Hiragino Kaku Gothic Pro", sans-serif, "游ゴシック", YuGothic, "メイリオ", "Meiryo";
  font-weight: 300; }

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

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

a {
  color: inherit;
  text-decoration: none;
  transition: .3s; }
  @media only screen and (min-width: 768px) {
    a:hover {
      opacity: 0.7; } }

.inner {
  margin: 0 auto;
  padding: 0 40px;
  max-width: 1280px; }
  @media only screen and (max-width: 767px) {
    .inner {
      padding: 0 22px; } }

.wrap {
  margin-top: 100px; }
  @media only screen and (max-width: 767px) {
    .wrap {
      margin-top: 68px;
      overflow: hidden; } }

.bottom-info {
  background-color: #ebeff3;
  padding: 58px 0 60px; }
  @media only screen and (max-width: 767px) {
    .bottom-info {
      padding: 24px 0 34px; } }
  .bottom-info .item {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-bottom: 70px; }
    @media only screen and (max-width: 767px) {
      .bottom-info .item {
        margin-bottom: 30px; } }
    .bottom-info .item:last-child {
      margin-bottom: 0; }
    .bottom-info .item .num {
      font-size: 47px;
      font-size: 4.7rem;
      letter-spacing: 0em;
      font-weight: 700;
      position: relative;
      margin-bottom: 28px;
      display: flex;
      align-items: center;
      justify-content: center; }
      @media only screen and (max-width: 767px) {
        .bottom-info .item .num {
          font-size: 26px;
          font-size: 2.6rem;
          margin-bottom: 6px; } }
      .bottom-info .item .num:before {
        content: "";
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        display: block;
        position: relative;
        margin-right: 14px; }
        @media only screen and (max-width: 767px) {
          .bottom-info .item .num:before {
            left: auto;
            margin-right: 8px; } }
    .bottom-info .item .other {
      font-size: 22px;
      font-size: 2.2rem;
      letter-spacing: 0em;
      line-height: 1.409090909em;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        .bottom-info .item .other {
          font-size: 12px;
          font-size: 1.2rem; } }
    .bottom-info .item.tel .num:before {
      width: 80px;
      height: 80px;
      background-image: url(../images/common/info_tel.png); }
      @media only screen and (max-width: 767px) {
        .bottom-info .item.tel .num:before {
          width: 42px;
          height: 42px; } }
    .bottom-info .item.fax .num:before {
      width: 84px;
      height: 77px;
      background-image: url(../images/common/info_fax.png); }
      @media only screen and (max-width: 767px) {
        .bottom-info .item.fax .num:before {
          width: 43px;
          height: 40px; } }

.footer {
  background: #93D65A;
  color: #fff;
  padding: 72px 0 115px; }
  @media only screen and (max-width: 767px) {
    .footer {
      padding: 65px 0 34px;
      position: relative; } }
  .footer .inner {
    max-width: 1280px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      .footer .inner {
        padding: 0 21px;
        display: block;
        text-align: center; } }
  .footer__left .logo {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 600; }
    @media only screen and (max-width: 767px) {
      .footer__left .logo {
        font-size: 17px;
        font-size: 1.7rem; } }
  .footer__left address {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.61666;
    margin-top: 16px;
    display: block;
    font-feature-settings: "palt"; }
    @media only screen and (max-width: 767px) {
      .footer__left address {
        margin-top: 28px;
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.6666; } }
    @media only screen and (max-width: 767px) {
      .footer__left address em {
        font-weight: 600; } }
  .footer__right {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    width: 57.25%;
    margin-top: 5px; }
    @media only screen and (max-width: 767px) {
      .footer__right {
        width: 100%;
        margin: 0; } }
    .footer__right .link-list {
      width: 26.23%;
      margin-left: 44px; }
      @media screen and (min-width: 768px) and (max-width: 965px) {
        .footer__right .link-list {
          margin-left: 20px;
          width: 24%; } }
      @media only screen and (max-width: 767px) {
        .footer__right .link-list {
          width: 100%;
          margin: 38px 0 15px;
          display: -webkit-flex;
          display: flex;
          -webkit-justify-content: center;
          justify-content: center;
          -webkit-flex-wrap: wrap;
          flex-wrap: wrap; } }
      @media only screen and (min-width: 768px) {
        .footer__right .link-list:last-of-type {
          margin-left: 96px; } }
      .footer__right .link-list li {
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: .1em;
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: 600;
        margin-bottom: 20px; }
        @media screen and (min-width: 768px) and (max-width: 965px) {
          .footer__right .link-list li {
            font-size: 12px;
            font-size: 1.2rem; } }
        @media screen and (min-width: 768px) and (max-width: 850px) {
          .footer__right .link-list li {
            font-size: 11px;
            font-size: 1.1rem;
            letter-spacing: 0em; } }
        @media only screen and (max-width: 767px) {
          .footer__right .link-list li {
            width: 35%;
            letter-spacing: 0;
            font-size: 13px;
            font-size: 1.3rem;
            text-align: left;
            margin-bottom: 24px; } }
        .footer__right .link-list li ul {
          margin-top: 20px; }
          .footer__right .link-list li ul li {
            font-size: 12px;
            font-size: 1.2rem;
            margin-bottom: 18px;
            font-weight: 300; }
            @media screen and (min-width: 768px) and (max-width: 965px) {
              .footer__right .link-list li ul li {
                font-size: 10px;
                font-size: 1rem; } }
  .footer .btn-list .btn-02 {
    padding: 14px;
    background: #fff;
    color: #93D65A;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
    display: block;
    border-radius: 21px;
    margin: 0 0 14px; }
  .footer .copyright {
    font-size: 10px;
    font-size: 1rem;
    text-align: center;
    letter-spacing: .03em;
    -webkit-transform: scale(0.87);
    -moz-transform: scale(0.87);
    -ms-transform: scale(0.87);
    -o-transform: scale(0.87);
    transform: scale(0.87);
    white-space: nowrap;
    width: 100%;
    display: block;
    margin: 28px -12px 0; }
  .footer .pagetop {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    display: block;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center; }
    .footer .pagetop img {
      display: block;
      width: 27px;
      margin: 0 auto; }

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: #fff;
  z-index: 99; }
  @media only screen and (max-width: 767px) {
    .header {
      height: 68px;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
      transition: .3s; } }
  .header.is-active {
    background: #93d65a !important;
    color: #000; }
    .header.is-active:before {
      opacity: 0 !important; }
    .header.is-active .header__logo img.wht {
      opacity: 0 !important; }
    .header.is-active .header__logo img.blk {
      opacity: 0 !important; }
    .header.is-active .gnav-toggle.is-active .hamburger-box .hamburger-inner {
      background-color: transparent; }
    .header.is-active .gnav-toggle .hamburger-box .hamburger-inner {
      background: #fff; }
      .header.is-active .gnav-toggle .hamburger-box .hamburger-inner:before {
        background: #fff; }
      .header.is-active .gnav-toggle .hamburger-box .hamburger-inner:after {
        background: #fff; }
  .header .inner {
    max-width: 1780px;
    padding: 0 40px;
    height: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      .header .inner {
        padding: 0 24px; } }
  .header__logo {
    display: block;
    width: 303px;
    height: 27px;
    position: relative; }
    @media screen and (min-width: 768px) and (max-width: 1050px) {
      .header__logo {
        width: 220px;
        height: 19px; } }
    @media screen and (min-width: 768px) and (max-width: 870px) {
      .header__logo {
        width: 180px; } }
    @media only screen and (max-width: 767px) {
      .header__logo {
        width: 231px;
        height: 21px; } }
    .header__logo img {
      position: absolute;
      transition: .3s; }
      .header__logo img.wht {
        opacity: 0; }
  .header .gnav {
    display: -webkit-flex;
    display: flex; }
    @media only screen and (max-width: 767px) {
      .header .gnav {
        position: fixed;
        opacity: 0;
        transition: .3s;
        visibility: hidden;
        background: #93d65a;
        top: 68px;
        left: 0;
        bottom: 0;
        overflow-y: scroll;
        width: 100%;
        height: calc(100vh - 68px);
        -webkit-flex-direction: column;
        flex-direction: column;
        padding-bottom: 56px; }
        .header .gnav.is-active {
          opacity: 1;
          visibility: visible; } }
    .header .gnav__list {
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center; }
      @media only screen and (max-width: 767px) {
        .header .gnav__list {
          display: block;
          text-align: center;
          width: 100%; } }
      .header .gnav__list li {
        margin-left: 64px;
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: .05em;
        font-weight: 600;
        font-family: "小塚ゴシック Pro", "Kozuka Gothic", sans-serif, "游ゴシック", YuGothic, "メイリオ", "Meiryo"; }
        @media screen and (min-width: 768px) and (max-width: 1280px) {
          .header .gnav__list li {
            margin-left: 30px;
            font-size: 14px;
            font-size: 1.4rem; } }
        @media screen and (min-width: 768px) and (max-width: 1050px) {
          .header .gnav__list li {
            margin-left: 15px;
            font-size: 13px;
            font-size: 1.3rem; } }
        @media screen and (min-width: 768px) and (max-width: 875px) {
          .header .gnav__list li {
            font-size: 11px;
            font-size: 1.1rem; }
            .header .gnav__list li a {
              padding-left: 0px !important; } }
        @media only screen and (max-width: 767px) {
          .header .gnav__list li {
            margin-left: 0;
            font-size: 16px;
            font-size: 1.6rem;
            border-top: 1px solid #fff;
            color: #fff;
            text-align: left; }
            .header .gnav__list li:last-of-type {
              border-bottom: 1px solid #fff; } }
        .header .gnav__list li a {
          padding: 20px 0;
          padding-left: 25px;
          display: block;
          position: relative; }
          @media only screen and (max-width: 767px) {
            .header .gnav__list li a {
              padding: 26px 25px 26px 25px; }
              .header .gnav__list li a:before {
                content: '';
                width: 10px;
                height: 10px;
                position: absolute;
                top: 50%;
                right: 25px;
                border-top: 1px solid #fff;
                border-right: 1px solid #fff;
                transform: translateY(-50%) rotate(45deg); } }
        @media only screen and (max-width: 767px) {
          .header .gnav__list li .trigger {
            padding: 26px 25px 26px 25px;
            display: block;
            position: relative;
            transition: .3s; }
            .header .gnav__list li .trigger:before {
              content: '';
              width: 1px;
              height: 16px;
              position: absolute;
              top: 50%;
              right: 27px;
              transform: translateY(-50%) rotate(0);
              border: none;
              background-color: #fff;
              transition: .3s; }
            .header .gnav__list li .trigger:after {
              content: '';
              width: 16px;
              height: 1px;
              position: absolute;
              top: 50%;
              right: 20px;
              transform: translateY(-50%) rotate(0);
              border: none;
              background-color: #fff; } }
        .header .gnav__list li .trigger.is-active {
          background: #00a900; }
          .header .gnav__list li .trigger.is-active:before {
            transform: translateY(-50%) rotate(90deg);
            z-index: -1; }
        @media only screen and (max-width: 767px) {
          .header .gnav__list li ul {
            display: none; } }
        @media only screen and (max-width: 767px) {
          .header .gnav__list li ul li {
            font-weight: 300; } }
        @media only screen and (max-width: 767px) {
          .header .gnav__list li ul li:last-of-type {
            border-bottom: none; } }
    .header .gnav .btn-list {
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center;
      margin-left: 63px; }
      @media screen and (min-width: 768px) and (max-width: 1280px) {
        .header .gnav .btn-list {
          margin-left: 30px; } }
      @media only screen and (max-width: 767px) {
        .header .gnav .btn-list {
          display: block;
          margin-left: 0;
          padding: 0 22px;
          margin-top: 80px; } }
      .header .gnav .btn-list .btn-01 {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-flex-direction: column;
        flex-direction: column;
        color: #fff;
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: .05em;
        font-weight: 600;
        line-height: 1.2;
        font-family: "小塚ゴシック Pro", "Kozuka Gothic", sans-serif, "游ゴシック", YuGothic, "メイリオ", "Meiryo";
        width: 156px;
        height: 52px;
        border-radius: 26px;
        text-align: center; }
        @media screen and (min-width: 768px) and (max-width: 1280px) {
          .header .gnav .btn-list .btn-01 {
            font-size: 14px;
            font-size: 1.4rem;
            width: 128px;
            height: 44px; } }
        @media screen and (min-width: 768px) and (max-width: 1050px) {
          .header .gnav .btn-list .btn-01 {
            font-size: 12px;
            font-size: 1.2rem;
            width: 110px;
            height: 38px; } }
        @media only screen and (max-width: 767px) {
          .header .gnav .btn-list .btn-01 {
            margin: 0 auto 16px;
            width: 100%;
            height: 50px;
            font-size: 16px;
            font-size: 1.6rem; } }
        .header .gnav .btn-list .btn-01.grn {
          background: #93D65A; }
          @media only screen and (max-width: 767px) {
            .header .gnav .btn-list .btn-01.grn {
              background: #fff;
              color: #93d65a; } }
        .header .gnav .btn-list .btn-01.org {
          background: #FF6300; }
          @media only screen and (min-width: 768px) {
            .header .gnav .btn-list .btn-01.org {
              margin-left: 44px; } }
          @media screen and (min-width: 768px) and (max-width: 1280px) {
            .header .gnav .btn-list .btn-01.org {
              margin-left: 25px; } }
          @media only screen and (max-width: 767px) {
            .header .gnav .btn-list .btn-01.org {
              margin-left: auto;
              background: #fff;
              color: #93d65a; } }
  .header .gnav-toggle {
    padding: 0; }
    .header .gnav-toggle.is-active .hamburger-box .hamburger-inner {
      background-color: transparent; }
    .header .gnav-toggle .hamburger-box {
      width: 29px;
      height: 21px; }
      .header .gnav-toggle .hamburger-box .hamburger-inner {
        width: 29px;
        height: 2px;
        border-radius: 0;
        background: #93D65A;
        margin: 0; }
        .header .gnav-toggle .hamburger-box .hamburger-inner:before {
          width: 29px;
          height: 2px;
          border-radius: 0;
          background: #93D65A; }
        .header .gnav-toggle .hamburger-box .hamburger-inner:after {
          width: 29px;
          height: 2px;
          border-radius: 0;
          background: #93D65A; }

.bannerKn {
  position: fixed;
  top: 118px;
  right: 0;
  z-index: 98;
  width: 456px;
  height: 106px;
  border: 5px solid transparent;
  border-right: none;
  background: #ff3100;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 56px 100%);
  display: flex;
  align-items: center;
  transition: transform .3s, opacity .3s;
  transform: translate(100%, 0); }
  @media only screen and (max-width: 767px) {
    .bannerKn {
      width: 108px;
      height: auto;
      border: 3px solid #ff3100;
      border-radius: 10px;
      top: 85px;
      right: 15px;
      display: block;
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0px 100%);
      transform: translate(calc(100% + 15px), 0); } }
  .bannerKn.is-active {
    transform: translate(0, 0); }
  .bannerKn .left {
    padding-left: 12px;
    width: 160px;
    color: #fff;
    white-space: nowrap; }
    @media only screen and (max-width: 767px) {
      .bannerKn .left {
        width: 100%;
        padding-left: 0; } }
    .bannerKn .left:before {
      content: "";
      float: left;
      width: 50px;
      height: 96px;
      clip-path: polygon(0 0, 100% 100%, 0 100%);
      shape-outside: polygon(0 0, 100% 100%, 0 100%); }
      @media only screen and (max-width: 767px) {
        .bannerKn .left:before {
          content: none; } }
    .bannerKn .left strong {
      font-size: 14px;
      font-size: 1.4rem;
      font-weight: 600;
      background: #bcbcbc;
      padding: 4px 22px;
      display: inline-block;
      white-space: nowrap;
      margin-bottom: 8px;
      font-feature-settings: "palt";
      clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 100%, 12px 100%);
      position: relative;
      left: -24px; }
      @media only screen and (max-width: 767px) {
        .bannerKn .left strong {
          background: #000;
          color: #fff;
          font-size: 10px;
          font-size: 1rem;
          left: 0;
          display: block;
          padding: 4px;
          text-align: center;
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          border-radius: 7px 7px 0 0;
          margin-bottom: 4px; } }
    .bannerKn .left p {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.25;
      font-weight: 600; }
      @media only screen and (max-width: 767px) {
        .bannerKn .left p {
          font-size: 10px;
          font-size: 1rem;
          line-height: 1.33333333;
          margin-bottom: 4px; } }
      @media only screen and (max-width: 767px) {
        .bannerKn .left p:before {
          content: "";
          float: left;
          width: 24px;
          height: 40px;
          clip-path: polygon(0 0, 100% 100%, 0 100%);
          shape-outside: polygon(0 0, 100% 100%, 0 100%); } }
      @media only screen and (max-width: 767px) {
        .bannerKn .left p span {
          transform: scale(0.9);
          transform-origin: left;
          display: inline-block;
          position: relative;
          left: -5px; }
          .bannerKn .left p span:before {
            content: "➡︎"; } }
  .bannerKn .right {
    width: calc(100% - 160px);
    position: relative;
    height: 100%;
    background: #fff;
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding-left: 55px;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50px 100%); }
    @media only screen and (max-width: 767px) {
      .bannerKn .right {
        width: 100%;
        height: auto;
        padding: 7px 6px;
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0px 100%);
        border-radius: 0 0 7px 7px; } }
    .bannerKn .right:after {
      content: "";
      width: 19px;
      height: 33px;
      display: block;
      background: url(../images/common/arrow.svg) center center/cover no-repeat;
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translate(0%, -50%); }
      @media only screen and (max-width: 767px) {
        .bannerKn .right:after {
          content: none; } }
    .bannerKn .right > div {
      text-align: left;
      position: relative;
      background-image: linear-gradient(70deg, black 45%, #fff 50%, black 55%);
      background-size: 500% 100%;
      background-clip: text;
      -webkit-background-clip: text;
      color: transparent;
      animation: shine 5s infinite; }

@keyframes shine {
  0% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }
    .bannerKn .right small {
      display: block;
      font-size: 21px;
      font-size: 2.1rem;
      font-weight: 600;
      margin-bottom: 8px; }
      @media only screen and (max-width: 767px) {
        .bannerKn .right small {
          font-size: 10px;
          font-size: 1rem;
          margin-bottom: 6px; } }
    .bannerKn .right strong {
      font-size: 28px;
      font-size: 2.8rem;
      font-weight: 800; }
      @media only screen and (max-width: 767px) {
        .bannerKn .right strong {
          font-size: 14px;
          font-size: 1.4rem;
          white-space: nowrap; } }

.mv {
  margin-top: 100px; }
  @media only screen and (max-width: 767px) {
    .mv {
      margin-top: -60px; } }
  .mv .cont {
    position: relative; }
    .mv .cont h2 {
      position: absolute;
      left: 50%;
      top: 45%;
      transform: translateX(-50%);
      text-align: center; }
      @media only screen and (max-width: 767px) {
        .mv .cont h2 {
          top: 54%; } }
      .mv .cont h2 .en {
        font-size: 39px;
        font-size: 3.9rem;
        letter-spacing: 0.17em;
        color: #fff;
        font-weight: bold;
        white-space: nowrap; }
        @media only screen and (max-width: 767px) {
          .mv .cont h2 .en {
            font-size: 20px;
            font-size: 2rem; } }
      .mv .cont h2 .ja {
        font-size: 17px;
        font-size: 1.7rem;
        letter-spacing: 0.17em;
        color: #fff;
        font-weight: 300;
        margin-top: 20px;
        display: block;
        white-space: nowrap; }
        @media only screen and (max-width: 767px) {
          .mv .cont h2 .ja {
            font-size: 13px;
            font-size: 1.3rem;
            margin-top: 10px; } }

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

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

section.green {
  position: relative; }
  section.green:before {
    content: '';
    height: 62px;
    width: calc(100% - 40px);
    max-width: 1200px;
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: #93d65f; }
    @media only screen and (max-width: 767px) {
      section.green:before {
        width: calc(100% - 50px);
        height: 15px; } }

.sec-title {
  text-align: center; }
  .sec-title span.ja {
    font-size: 25px;
    font-size: 2.5rem;
    letter-spacing: 0em;
    font-weight: 600;
    padding-bottom: 30px;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .sec-title span.ja {
        font-size: 18px;
        font-size: 1.8rem;
        padding-bottom: 14px; } }
    .sec-title span.ja:before {
      content: '';
      width: 130px;
      height: 6px;
      position: absolute;
      bottom: 0px;
      left: 50%;
      transform: translateX(-50%);
      background-color: #93d65f; }
      @media only screen and (max-width: 767px) {
        .sec-title span.ja:before {
          height: 4px;
          width: 97px; } }
  .sec-title span.en {
    font-size: 17px;
    font-size: 1.7rem;
    letter-spacing: 0.17em;
    display: block;
    margin-top: 20px;
    color: #93d65f;
    margin-top: 50px; }
    @media only screen and (max-width: 767px) {
      .sec-title span.en {
        font-size: 13px;
        font-size: 1.3rem;
        margin-top: 27px; } }

/* Z-INDEX */
.formError {
  z-index: 990; }

.formError .formErrorContent {
  z-index: 991; }

.formError .formErrorArrow {
  z-index: 996; }

.ui-dialog .formError {
  z-index: 5000; }

.ui-dialog .formError .formErrorContent {
  z-index: 5001; }

.ui-dialog .formError .formErrorArrow {
  z-index: 5006; }

.inputContainer {
  position: relative;
  float: left; }

.formError {
  position: absolute;
  top: 300px;
  left: 300px;
  display: block;
  cursor: pointer;
  text-align: left; }

.formError.inline {
  position: relative;
  top: 0;
  left: 0;
  display: inline-block; }

.ajaxSubmit {
  padding: 20px;
  background: #55ea55;
  border: 1px solid #999;
  display: none; }

.formError .formErrorContent {
  width: 100%;
  background: #ee0101;
  position: relative;
  color: #fff;
  min-width: 120px;
  font-size: 11px;
  border: 2px solid #ddd;
  box-shadow: 0 0 6px #000;
  -moz-box-shadow: 0 0 6px #000;
  -webkit-box-shadow: 0 0 6px #000;
  -o-box-shadow: 0 0 6px #000;
  padding: 4px 10px 4px 10px;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  -o-border-radius: 6px; }

.formError.inline .formErrorContent {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none;
  border: none;
  border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -o-border-radius: 0; }

.greenPopup .formErrorContent {
  background: #33be40; }

.blackPopup .formErrorContent {
  background: #393939;
  color: #FFF; }

.formError .formErrorArrow {
  width: 15px;
  margin: -2px 0 0 13px;
  position: relative; }

body[dir='rtl'] .formError .formErrorArrow,
body.rtl .formError .formErrorArrow {
  margin: -2px 13px 0 0; }

.formError .formErrorArrowBottom {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none;
  margin: 0px 0 0 12px;
  top: 2px; }

.formError .formErrorArrow div {
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  box-shadow: 0 2px 3px #444;
  -moz-box-shadow: 0 2px 3px #444;
  -webkit-box-shadow: 0 2px 3px #444;
  -o-box-shadow: 0 2px 3px #444;
  font-size: 0px;
  height: 1px;
  background: #ee0101;
  margin: 0 auto;
  line-height: 0;
  font-size: 0;
  display: block; }

.formError .formErrorArrowBottom div {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none; }

.greenPopup .formErrorArrow div {
  background: #33be40; }

.blackPopup .formErrorArrow div {
  background: #393939;
  color: #FFF; }

.formError .formErrorArrow .line10 {
  width: 13px;
  border: none; }

.formError .formErrorArrow .line9 {
  width: 11px;
  border: none; }

.formError .formErrorArrow .line8 {
  width: 11px; }

.formError .formErrorArrow .line7 {
  width: 9px; }

.formError .formErrorArrow .line6 {
  width: 7px; }

.formError .formErrorArrow .line5 {
  width: 5px; }

.formError .formErrorArrow .line4 {
  width: 3px; }

.formError .formErrorArrow .line3 {
  width: 1px;
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  border-bottom: 0 solid #ddd; }

.formError .formErrorArrow .line2 {
  width: 3px;
  border: none;
  background: #ddd; }

.formError .formErrorArrow .line1 {
  width: 1px;
  border: none;
  background: #ddd; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body.notfound main section {
  padding: 100px 0; }
  @media only screen and (max-width: 767px) {
    body.notfound main section {
      padding: 60px 0 80px; } }
  body.notfound main section .inner h2 {
    font-size: 100px;
    font-size: 10rem;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.notfound main section .inner h2 {
        font-size: 60px;
        font-size: 6rem; } }
  body.notfound main section .inner .text {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.7em;
    text-align: center;
    margin-top: 50px; }
    @media only screen and (max-width: 767px) {
      body.notfound main section .inner .text {
        margin-top: 30px;
        font-size: 14px;
        font-size: 1.4rem; } }
  body.notfound main section .inner .link {
    font-size: 24px;
    font-size: 2.4rem;
    text-align: center;
    margin-top: 20px; }
    @media only screen and (max-width: 767px) {
      body.notfound main section .inner .link {
        font-size: 18px;
        font-size: 1.8rem; } }
    body.notfound main section .inner .link a {
      color: #5d7096; }

body.contact main {
  padding: 155px 0 185px; }
  @media only screen and (max-width: 767px) {
    body.contact main {
      padding: 35px 0 50px; } }
  body.contact main .wrapper-border {
    border: 3px solid #ff9100; }
    @media only screen and (max-width: 767px) {
      body.contact main .wrapper-border {
        border: 2px solid #ff9100; } }
    body.contact main .wrapper-border h3 {
      font-size: 25px;
      font-size: 2.5rem;
      font-weight: bold;
      text-align: center;
      font-family: "Noto Sans JP", sans-serif;
      color: #ff9100;
      padding: 14px 0; }
      @media only screen and (max-width: 767px) {
        body.contact main .wrapper-border h3 {
          font-size: 15px;
          font-size: 1.5rem;
          padding: 8px 0; } }
  @media only screen and (max-width: 767px) {
    body.contact main .inner {
      width: 100%; } }
  body.contact main p {
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 0em;
    text-align: center;
    line-height: 2.361111111;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    margin-top: 20px;
    margin-bottom: 45px; }
    @media only screen and (max-width: 767px) {
      body.contact main p {
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.666666667;
        margin-bottom: 35px;
        margin-top: 25px; } }
    body.contact main p span {
      color: #ff0000;
      display: block; }
  body.contact main #form {
    margin-top: 25px; }
    @media only screen and (max-width: 767px) {
      body.contact main #form {
        margin-top: 25px;
        background-color: #ddf2cd; } }
    body.contact main #form .formBlock {
      background-color: #ddf2cd;
      padding: 65px 0 80px; }
      @media only screen and (max-width: 767px) {
        body.contact main #form .formBlock {
          padding: 50px 0 70px; } }
      body.contact main #form .formBlock dl {
        display: flex;
        flex-wrap: wrap;
        font-size: 17px;
        font-size: 1.7rem;
        letter-spacing: 0em;
        font-weight: 300; }
        @media only screen and (max-width: 767px) {
          body.contact main #form .formBlock dl {
            padding: 0;
            flex-direction: column;
            font-size: 15px;
            font-size: 1.5rem; } }
        @media only screen and (device-aspect-ratio: 139 / 199) {
          body.contact main #form .formBlock dl {
            font-size: 14px; } }
        @media only screen and (device-aspect-ratio: 512 / 683) {
          body.contact main #form .formBlock dl {
            font-size: 14px; } }
        body.contact main #form .formBlock dl dt {
          width: 21.8333333%;
          text-align: right;
          padding: 12px 10px; }
          @media only screen and (max-width: 767px) {
            body.contact main #form .formBlock dl dt {
              padding: 0 0 8px; } }
          body.contact main #form .formBlock dl dt.needless {
            padding-right: 36px; }
          body.contact main #form .formBlock dl dt:nth-of-type(n + 2) {
            margin-top: 30px; }
            @media only screen and (max-width: 767px) {
              body.contact main #form .formBlock dl dt:nth-of-type(n + 2) {
                margin-top: 14px; } }
          @media only screen and (max-width: 767px) {
            body.contact main #form .formBlock dl dt {
              width: 100%;
              text-align: left;
              padding-left: 0; }
              body.contact main #form .formBlock dl dt.needless {
                padding-left: 20px; } }
          body.contact main #form .formBlock dl dt span {
            color: #ff0000;
            margin-left: 10px; }
            @media only screen and (max-width: 767px) {
              body.contact main #form .formBlock dl dt span {
                margin-left: 0; } }
        body.contact main #form .formBlock dl dd {
          width: 69.4166667%;
          display: flex;
          position: relative; }
          @media only screen and (min-width: 768px) {
            body.contact main #form .formBlock dl dd:nth-of-type(n + 2) {
              margin-top: 30px; } }
          body.contact main #form .formBlock dl dd.address-wrap {
            flex-direction: column; }
            body.contact main #form .formBlock dl dd.address-wrap .select_btn {
              margin-bottom: 30px; }
          @media only screen and (max-width: 767px) {
            body.contact main #form .formBlock dl dd {
              width: 100%; }
              body.contact main #form .formBlock dl dd:last-of-type {
                align-items: center;
                font-size: 11px;
                font-size: 1.1rem; } }
          body.contact main #form .formBlock dl dd label {
            font-size: 16px;
            font-size: 1.6rem;
            letter-spacing: 0em;
            font-family: "Noto Sans JP", sans-serif;
            font-weight: 400; }
            @media only screen and (max-width: 767px) {
              body.contact main #form .formBlock dl dd label {
                font-size: 12px;
                font-size: 1.2rem;
                font-feature-settings: "palt"; } }
            body.contact main #form .formBlock dl dd label a {
              border-bottom: 1px solid #000;
              margin-left: 20px; }
              @media only screen and (max-width: 767px) {
                body.contact main #form .formBlock dl dd label a {
                  margin-left: 4px; } }
          body.contact main #form .formBlock dl dd .text-area {
            width: 100%;
            height: 42px;
            padding-left: 5px;
            border: none; }
            @media only screen and (max-width: 767px) {
              body.contact main #form .formBlock dl dd .text-area {
                font-size: 13px;
                font-size: 1.3rem; } }
          body.contact main #form .formBlock dl dd .content-area {
            height: 270px;
            width: 100%;
            resize: none;
            background-color: #fff;
            padding-left: 5px;
            border: none;
            padding: 12px 10px; }
            @media only screen and (max-width: 767px) {
              body.contact main #form .formBlock dl dd .content-area {
                font-size: 13px;
                font-size: 1.3rem; } }
          body.contact main #form .formBlock dl dd .tel,
          body.contact main #form .formBlock dl dd .mail {
            height: 42px;
            padding-left: 5px;
            width: 463px;
            border: none; }
            @media only screen and (max-width: 767px) {
              body.contact main #form .formBlock dl dd .tel,
              body.contact main #form .formBlock dl dd .mail {
                width: 100%;
                font-size: 13px;
                font-size: 1.3rem; } }
          @media only screen and (max-width: 767px) {
            body.contact main #form .formBlock dl dd .tel.en {
              font-size: 14px;
              font-size: 1.4rem; } }
          body.contact main #form .formBlock dl dd .zip-code {
            width: 244px;
            height: 42px;
            border: none;
            padding-left: 5px;
            position: relative; }
            @media only screen and (max-width: 767px) {
              body.contact main #form .formBlock dl dd .zip-code {
                width: 65%;
                font-size: 13px;
                font-size: 1.3rem; } }
          body.contact main #form .formBlock dl dd .select_btn {
            position: relative;
            width: 244px;
            height: 41px; }
            body.contact main #form .formBlock dl dd .select_btn .address {
              width: 100%;
              height: 100%;
              border: none;
              cursor: pointer;
              background-color: #fff;
              padding-left: 18px;
              -webkit-appearance: none;
              -moz-appearance: none;
              appearance: none; }
              body.contact main #form .formBlock dl dd .select_btn .address::-ms-expand {
                display: none; }
            @media only screen and (max-width: 767px) {
              body.contact main #form .formBlock dl dd .select_btn {
                width: 65%; } }
            body.contact main #form .formBlock dl dd .select_btn:after {
              content: '';
              position: absolute;
              background-image: url(../../images/contact/select-btn.svg);
              background-repeat: no-repeat;
              background-size: 100% auto;
              background-position: center;
              width: 47px;
              height: 100%;
              top: 0;
              right: 0;
              pointer-events: none; }
          body.contact main #form .formBlock dl dd .effec_button {
            background-color: #fff;
            border-radius: 50%;
            border: 1px solid #d2d2d2;
            pointer-events: none;
            overflow: hidden;
            margin: 0 auto;
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            height: 26px;
            width: 26px;
            z-index: 10; }
            @media only screen and (max-width: 767px) {
              body.contact main #form .formBlock dl dd .effec_button {
                width: 19px;
                height: 19px; } }
            body.contact main #form .formBlock dl dd .effec_button:after {
              border-right: 3px solid #93d65a;
              border-bottom: 3px solid #93d65a;
              content: '';
              display: block;
              height: 9px;
              left: 10px;
              margin-top: -7px;
              opacity: 0;
              position: absolute;
              top: 45%;
              left: 9px;
              transform: rotate(45deg);
              width: 5px; }
              @media only screen and (max-width: 767px) {
                body.contact main #form .formBlock dl dd .effec_button:after {
                  height: 8px;
                  top: 53%;
                  left: 6px;
                  width: 4px; } }
          body.contact main #form .formBlock dl dd span {
            font-size: 16px;
            font-size: 1.6rem;
            font-weight: 300;
            letter-spacing: 0em;
            font-feature-settings: "palt"; }
            @media only screen and (max-width: 767px) {
              body.contact main #form .formBlock dl dd span {
                font-size: 13px;
                font-size: 1.3rem; } }
        body.contact main #form .formBlock dl .checkerradio {
          margin-top: 44px !important; }
          @media only screen and (max-width: 767px) {
            body.contact main #form .formBlock dl .checkerradio {
              margin-top: 50px !important; } }
        body.contact main #form .formBlock dl .checkerradio.check-style .check-area:checked ~ .effec_button:after {
          opacity: 1; }
      body.contact main #form .formBlock .contact-button button {
        margin: 80px auto 0;
        display: block;
        width: 82.6720833%;
        background-color: #ff9100;
        border: 1px solid #ff9100;
        color: #fff;
        padding: 10px 0;
        text-align: center;
        font-size: 21px;
        font-size: 2.1rem;
        letter-spacing: 0.375em;
        font-weight: 600;
        transition: .3s;
        cursor: pointer; }
        @media only screen and (max-width: 767px) {
          body.contact main #form .formBlock .contact-button button {
            margin: 60px auto 0;
            font-size: 15px;
            font-size: 1.5rem;
            width: 100%;
            height: 46px; } }

body.contact.confirm input,
body.contact.confirm textarea {
  pointer-events: none;
  border-radius: 0; }

body.contact.confirm #form .formBlock .contact-button {
  display: flex;
  justify-content: space-around; }
  body.contact.confirm #form .formBlock .contact-button button {
    width: 28.5714286%;
    margin: 80px 0 0 0; }

body.contact.complete main {
  padding: 30px 0; }
  body.contact.complete main #form .formBlock {
    background-color: #fff;
    padding: 0px 0 90px; }
    @media only screen and (max-width: 767px) {
      body.contact.complete main #form .formBlock {
        margin: 0; } }

body.index .preloader {
  top: 0;
  left: 0;
  position: fixed;
  width: 100%;
  height: 100vh;
  z-index: 10001;
  overflow: hidden;
  background-color: #93D65A; }
  body.index .preloader .container {
    z-index: 2;
    overflow: hidden;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    white-space: nowrap; }
    @media only screen and (max-width: 767px) {
      body.index .preloader .container {
        top: 45%; } }
    body.index .preloader .container .txt {
      font-size: 42px;
      font-size: 4.2rem;
      font-weight: bold;
      color: #fff;
      letter-spacing: 0.22em;
      opacity: 0; }
      @media only screen and (max-width: 1200px) {
        body.index .preloader .container .txt {
          font-size: 36px;
          font-size: 3.6rem; } }
      @media only screen and (max-width: 767px) {
        body.index .preloader .container .txt {
          font-size: 22px;
          font-size: 2.2rem;
          letter-spacing: 0;
          line-height: 1.49;
          text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.7); } }
    body.index .preloader .container .logo {
      width: 303px;
      margin: 22px auto 0;
      opacity: 0; }
      @media only screen and (max-width: 767px) {
        body.index .preloader .container .logo {
          width: 220px;
          margin: 26px auto 0;
          height: 24px; }
          body.index .preloader .container .logo img {
            filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.7)); } }
  body.index .preloader.is-play {
    opacity: 1;
    animation-name: faderight;
    animation-duration: 3.5s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; }
    body.index .preloader.is-play .container .txt {
      animation-name: fade;
      animation-duration: 3s;
      animation-iteration-count: 1;
      animation-fill-mode: forwards; }
    body.index .preloader.is-play .container .logo {
      animation-name: fade;
      animation-duration: 3s;
      animation-iteration-count: 1;
      animation-fill-mode: forwards; }

@keyframes play {
  from {
    transform: translateX(-100%); }
  to {
    transform: translateX(0); } }

@keyframes maskOut {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(102%); } }

@keyframes faderight {
  0% {
    transform: translateX(0); }
  70% {
    transform: translateX(0); }
  80% {
    transform: translateX(0); }
  90% {
    transform: translateX(0); }
  100% {
    transform: translateX(100%); } }

@keyframes fade {
  0% {
    opacity: 0; }
  10% {
    opacity: 1; }
  20% {
    opacity: 1; }
  30% {
    opacity: 1; }
  65% {
    opacity: 1; }
  70% {
    opacity: 0; }
  100% {
    opacity: 0; } }

@media only screen and (min-width: 768px) {
  body.index .header {
    background: none;
    color: #fff; }
    body.index .header .inner {
      position: relative; }
    body.index .header:before {
      content: "";
      width: 100%;
      height: 100px;
      position: absolute;
      top: -100px;
      left: 0;
      box-shadow: 0 0px 100px rgba(0, 0, 0, 0.7);
      transition: .3s;
      opacity: 1; }
    body.index .header__logo img.blk {
      opacity: 0; }
    body.index .header__logo img.wht {
      opacity: 1; }
    body.index .header.change {
      background: #fff;
      color: #000; }
      body.index .header.change:before {
        opacity: 0; }
      body.index .header.change .header__logo img.wht {
        opacity: 0; }
      body.index .header.change .header__logo img.blk {
        opacity: 1; } }

body.index .wrap {
  margin-top: 0; }
  @media only screen and (max-width: 767px) {
    body.index .wrap {
      margin-top: 68px; } }

body.index main .mv {
  position: relative;
  margin: 0; }
  body.index main .mv .swiper .swiper-wrapper .swiper-slide .slide-img {
    height: 100vh;
    position: relative; }

@keyframes zoomUp {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.15); } }
  body.index main .mv .swiper-slide-active .slide-img,
  body.index main .mv .swiper-slide-duplicate-active .slide-img,
  body.index main .mv .swiper-slide-prev .slide-img {
    animation: zoomUp 9s linear 0s 1 normal both; }

@keyframes fadeUp {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
  body.index main .mv .swiper-slide-active .slide-text,
  body.index main .mv .swiper-slide-duplicate-active .slide-text,
  body.index main .mv .swiper-slide-prev .slide-text {
    animation: fadeUp 0.8s linear 1s 1 normal both;
    animation-delay: 1.8s; }
  body.index main .mv .slide-text {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
    left: 17.34vw; }
    @media only screen and (max-width: 767px) {
      body.index main .mv .slide-text {
        min-height: 62px;
        -webkit-transform: translate(-50%, 0%);
        -moz-transform: translate(-50%, 0%);
        -ms-transform: translate(-50%, 0%);
        -o-transform: translate(-50%, 0%);
        transform: translate(-50%, 0%);
        left: 50%;
        top: auto;
        bottom: calc(50vh + 0px);
        white-space: nowrap; } }
    body.index main .mv .slide-text h1 {
      font-size: 50px;
      font-size: 5rem;
      font-weight: 600;
      letter-spacing: .5em;
      text-shadow: 5px 3px 10px rgba(0, 0, 0, 0.8);
      color: #fff;
      line-height: 1.66; }
      @media only screen and (max-width: 767px) {
        body.index main .mv .slide-text h1 {
          font-size: 22px;
          font-size: 2.2rem;
          line-height: 1.596;
          text-align: center;
          text-shadow: 3px 2px 6px rgba(0, 0, 0, 0.6); } }
  body.index main .mv__slider .slide {
    height: 100vh;
    position: relative; }
    @media only screen and (max-width: 767px) {
      body.index main .mv__slider .slide {
        height: calc(100vh - 68px); } }
    body.index main .mv__slider .slide__text {
      position: absolute;
      top: 50%;
      -webkit-transform: translate(0, -50%);
      -moz-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      -o-transform: translate(0, -50%);
      transform: translate(0, -50%);
      left: 17.34vw; }
      @media only screen and (max-width: 767px) {
        body.index main .mv__slider .slide__text {
          min-height: 62px;
          -webkit-transform: translate(-50%, 0%);
          -moz-transform: translate(-50%, 0%);
          -ms-transform: translate(-50%, 0%);
          -o-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%);
          left: 50%;
          top: auto;
          bottom: calc(50vh + 0px);
          white-space: nowrap; } }
      body.index main .mv__slider .slide__text h1 {
        font-size: 50px;
        font-size: 5rem;
        font-weight: 600;
        letter-spacing: .5em;
        text-shadow: 5px 3px 10px rgba(0, 0, 0, 0.8);
        color: #fff;
        line-height: 1.66; }
        @media only screen and (max-width: 767px) {
          body.index main .mv__slider .slide__text h1 {
            font-size: 22px;
            font-size: 2.2rem;
            line-height: 1.596;
            text-align: center;
            text-shadow: 3px 2px 6px rgba(0, 0, 0, 0.6); } }
  body.index main .mv__slider .slide01 {
    background: url(../images/top/mv01.jpg) center center/cover no-repeat; }
    @media only screen and (max-width: 767px) {
      body.index main .mv__slider .slide01 {
        background: url(../images/top/mv01_sp.jpg) center center/cover no-repeat; } }
  body.index main .mv__slider .slide02 {
    background: url(../images/top/mv02.jpg) center center/cover no-repeat; }
    @media only screen and (max-width: 767px) {
      body.index main .mv__slider .slide02 {
        background: url(../images/top/mv02_sp.jpg) center center/cover no-repeat; } }
  body.index main .mv__slider .slide03 {
    background: url(../images/top/mv03.jpg) center center/cover no-repeat; }
    @media only screen and (max-width: 767px) {
      body.index main .mv__slider .slide03 {
        background: url(../images/top/mv03_sp.jpg) center center/cover no-repeat; } }
  body.index main .mv__slider .slide04 {
    background: url(../images/top/mv04.jpg) center center/cover no-repeat; }
    @media only screen and (max-width: 767px) {
      body.index main .mv__slider .slide04 {
        background: url(../images/top/mv04_sp.jpg) center center/cover no-repeat; } }

body.index main .read {
  padding: 121px 0 125px;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    body.index main .read {
      padding: 48px 0 46px; } }
  body.index main .read h2 {
    font-size: 45px;
    font-size: 4.5rem;
    font-weight: 600;
    color: #93D65A;
    margin: 0 0 38px;
    font-feature-settings: "palt"; }
    @media only screen and (max-width: 767px) {
      body.index main .read h2 {
        font-size: 20px;
        font-size: 2rem;
        margin: 0 0 17px; } }
  body.index main .read p {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.95; }
    @media only screen and (max-width: 767px) {
      body.index main .read p {
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.8666; } }

body.index main section .bg-head {
  height: 350px;
  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.index main section .bg-head {
      height: 76px; } }
  body.index main section .bg-head h3 {
    width: 188px;
    height: 188px;
    border: 3px solid #fff;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    color: #fff;
    font-weight: 800;
    font-size: 19px;
    font-size: 1.9rem;
    letter-spacing: .17em; }
    @media only screen and (max-width: 767px) {
      body.index main section .bg-head h3 {
        width: auto;
        height: auto;
        border: none;
        font-size: 10px;
        font-size: 1rem;
        letter-spacing: .1em;
        text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.8); } }

body.index main .products .bg-head {
  background: url(/images/top/bg-head01.jpg) center center/cover no-repeat; }

body.index main .products__content {
  padding: 162px 0 144px; }
  @media only screen and (max-width: 767px) {
    body.index main .products__content {
      padding: 26px 0 52px; } }
  body.index main .products__content .products-list {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin-bottom: 98px; }
    @media only screen and (max-width: 767px) {
      body.index main .products__content .products-list {
        margin-bottom: 50px; } }
    body.index main .products__content .products-list li {
      width: 31.666%; }
      body.index main .products__content .products-list li .text {
        margin: 44px 0 0; }
        @media only screen and (max-width: 767px) {
          body.index main .products__content .products-list li .text {
            margin: 10px 0 0; } }
        body.index main .products__content .products-list li .text h4 {
          font-size: 28px;
          font-size: 2.8rem;
          font-weight: 600;
          text-align: center; }
          @media only screen and (max-width: 767px) {
            body.index main .products__content .products-list li .text h4 {
              font-size: 11px;
              font-size: 1.1rem; } }
        body.index main .products__content .products-list li .text .more-btn {
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
          align-items: center;
          -webkit-justify-content: center;
          justify-content: center;
          height: 35px;
          border: 1px solid #000;
          max-width: 326px;
          font-size: 18px;
          font-size: 1.8rem;
          letter-spacing: .17em;
          text-align: center;
          margin: 45px auto 0;
          position: relative; }
          @media only screen and (min-width: 768px) {
            body.index main .products__content .products-list li .text .more-btn:before {
              content: "";
              width: 0px;
              height: 100%;
              display: block;
              background: #000;
              position: absolute;
              left: 0;
              top: 0;
              transition: .3s;
              z-index: -1; } }
          body.index main .products__content .products-list li .text .more-btn:hover {
            color: #fff;
            opacity: 1; }
            @media only screen and (min-width: 768px) {
              body.index main .products__content .products-list li .text .more-btn:hover:before {
                width: 100%; } }
          @media only screen and (max-width: 767px) {
            body.index main .products__content .products-list li .text .more-btn {
              height: 19px;
              font-size: 10px;
              font-size: 1rem;
              border: none;
              color: #fff;
              background: #1C2653;
              margin: 10px auto 0; } }
  body.index main .products__content .banner {
    display: block;
    margin: 48px auto 0;
    max-width: 817px; }
    @media only screen and (max-width: 767px) {
      body.index main .products__content .banner {
        margin: 20px auto 0; } }

body.index main .profile .bg-head {
  background: url(/images/top/bg-head02.jpg) center center/cover no-repeat; }

body.index main .profile__content {
  padding: 135px 0 73px; }
  @media only screen and (max-width: 767px) {
    body.index main .profile__content {
      padding: 26px 0 2px; } }
  body.index main .profile__content .img-text {
    background: #E7E9E9;
    height: 500px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    position: relative;
    margin: 0 0 81px; }
    @media only screen and (max-width: 767px) {
      body.index main .profile__content .img-text {
        background: none;
        height: 374px;
        margin: 0 0 27px; } }
    body.index main .profile__content .img-text .inner {
      margin: 0;
      padding: 0;
      width: 100%;
      max-width: 100%;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center; }
      body.index main .profile__content .img-text .inner .img-wrap {
        height: 500px;
        width: 48.5vw;
        position: relative;
        overflow: hidden; }
        @media only screen and (max-width: 767px) {
          body.index main .profile__content .img-text .inner .img-wrap {
            height: 374px;
            width: 76.16vw;
            z-index: -2;
            margin-left: auto; } }
      body.index main .profile__content .img-text .inner .img {
        height: 500px;
        width: 48.5vw;
        position: relative;
        transition: .3s; }
        @media only screen and (max-width: 767px) {
          body.index main .profile__content .img-text .inner .img {
            height: 374px;
            width: 76.16vw;
            z-index: -2;
            margin-left: auto; } }
      body.index main .profile__content .img-text .inner .text {
        max-width: 696px;
        padding: 0 48px;
        position: relative; }
        @media only screen and (max-width: 767px) {
          body.index main .profile__content .img-text .inner .text {
            height: 374px; }
            body.index main .profile__content .img-text .inner .text:before {
              content: "";
              width: 23.84vw;
              height: 100%;
              background: #E7E9E9;
              display: block;
              position: absolute;
              top: 0;
              left: 0; }
            body.index main .profile__content .img-text .inner .text:after {
              content: "";
              border-bottom: 374px solid transparent;
              border-left: 35.2vw solid #E7E9E9;
              position: absolute;
              left: 23.84vw;
              top: 0;
              z-index: -1; } }
        body.index main .profile__content .img-text .inner .text h4 {
          font-size: 32px;
          font-size: 3.2rem;
          letter-spacing: .17em;
          margin: 0 0 44px; }
          @media only screen and (max-width: 767px) {
            body.index main .profile__content .img-text .inner .text h4 {
              font-size: 20px;
              font-size: 2rem;
              margin: 0 0 8px;
              position: relative; } }
        body.index main .profile__content .img-text .inner .text .en {
          font-size: 19px;
          font-size: 1.9rem;
          letter-spacing: .17em;
          font-weight: 800;
          display: block;
          margin: 0 0 44px; }
          @media only screen and (max-width: 767px) {
            body.index main .profile__content .img-text .inner .text .en {
              font-size: 13px;
              font-size: 1.3rem;
              margin: 0 0 21px;
              position: relative; } }
        body.index main .profile__content .img-text .inner .text p {
          font-size: 23px;
          font-size: 2.3rem;
          letter-spacing: 0.005em;
          line-height: 2.17;
          margin: 0 0 64px;
          font-feature-settings: "palt"; }
          @media only screen and (max-width: 767px) {
            body.index main .profile__content .img-text .inner .text p {
              font-size: 13px;
              font-size: 1.3rem;
              margin: 0 0 58px;
              line-height: 1.56;
              position: relative; } }
        body.index main .profile__content .img-text .inner .text .more-btn {
          width: 186px;
          height: 35px;
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
          align-items: center;
          -webkit-justify-content: center;
          justify-content: center;
          color: #fff;
          background: #1C2653;
          font-size: 18px;
          font-size: 1.8rem;
          letter-spacing: .17em;
          position: relative; }
          body.index main .profile__content .img-text .inner .text .more-btn span {
            position: relative; }
          @media only screen and (min-width: 768px) {
            body.index main .profile__content .img-text .inner .text .more-btn:before {
              content: "";
              width: 0px;
              height: calc(100% - 2px);
              display: block;
              background: #93D65A;
              position: absolute;
              left: 1px;
              top: 1px;
              transition: .3s; } }
          body.index main .profile__content .img-text .inner .text .more-btn:hover {
            color: #fff;
            opacity: 1; }
            @media only screen and (min-width: 768px) {
              body.index main .profile__content .img-text .inner .text .more-btn:hover:before {
                width: calc(100% - 2px); } }
          @media only screen and (max-width: 767px) {
            body.index main .profile__content .img-text .inner .text .more-btn {
              width: 104px;
              height: 19px;
              font-size: 10px;
              font-size: 1rem;
              position: absolute;
              left: 22px;
              bottom: 147px; } }
    body.index main .profile__content .img-text .left {
      max-width: 1280px;
      padding: 0 40px;
      margin: 0 auto;
      height: 100%; }
      @media only screen and (max-width: 767px) {
        body.index main .profile__content .img-text .left {
          padding: 0; } }
      body.index main .profile__content .img-text .left .img-wrap {
        position: absolute;
        top: 0;
        left: 0; }
        @media only screen and (max-width: 767px) {
          body.index main .profile__content .img-text .left .img-wrap {
            position: static; } }
        @media only screen and (min-width: 768px) {
          body.index main .profile__content .img-text .left .img-wrap:before {
            content: "";
            border-top: 500px solid transparent;
            border-right: 9.89vw solid #E7E9E9;
            position: absolute;
            right: -1px;
            bottom: 0;
            z-index: +1; } }
        body.index main .profile__content .img-text .left .img-wrap:hover .img {
          -webkit-transform: translate(-50%, -50%) scale(1.05);
          -moz-transform: translate(-50%, -50%) scale(1.05);
          -ms-transform: translate(-50%, -50%) scale(1.05);
          -o-transform: translate(-50%, -50%) scale(1.05);
          transform: translate(-50%, -50%) scale(1.05); }
      body.index main .profile__content .img-text .left .img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        background: url(/images/top/profile01.jpg) center center/cover no-repeat; }
        @media only screen and (max-width: 767px) {
          body.index main .profile__content .img-text .left .img {
            position: static;
            background: url(/images/top/profile01_sp.jpg) center center/cover no-repeat;
            -webkit-transform: translate(0, 0);
            -moz-transform: translate(0, 0);
            -ms-transform: translate(0, 0);
            -o-transform: translate(0, 0);
            transform: translate(0, 0); } }
      body.index main .profile__content .img-text .left .text {
        margin-left: auto;
        max-width: 600px;
        padding: 0;
        width: 50%;
        padding-left: 10.4vw; }
        @media only screen and (max-width: 767px) {
          body.index main .profile__content .img-text .left .text {
            position: absolute;
            top: 0;
            left: 0;
            width: 59.5%;
            padding: 18px 0 0 22px; } }
    body.index main .profile__content .img-text .right {
      max-width: 1280px;
      padding: 0 40px;
      margin: 0 auto;
      height: 100%; }
      @media only screen and (max-width: 767px) {
        body.index main .profile__content .img-text .right {
          padding: 0; } }
      body.index main .profile__content .img-text .right .img-wrap {
        position: absolute;
        top: 0;
        right: 0; }
        @media only screen and (max-width: 767px) {
          body.index main .profile__content .img-text .right .img-wrap {
            position: static; } }
        @media only screen and (min-width: 768px) {
          body.index main .profile__content .img-text .right .img-wrap:before {
            content: "";
            border-bottom: 500px solid transparent;
            border-left: 9.89vw solid #E7E9E9;
            position: absolute;
            left: -1px;
            bottom: 0;
            z-index: +1; } }
        body.index main .profile__content .img-text .right .img-wrap:hover .img {
          -webkit-transform: translate(-50%, -50%) scale(1.05);
          -moz-transform: translate(-50%, -50%) scale(1.05);
          -ms-transform: translate(-50%, -50%) scale(1.05);
          -o-transform: translate(-50%, -50%) scale(1.05);
          transform: translate(-50%, -50%) scale(1.05); }
      body.index main .profile__content .img-text .right .img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        background: url(/images/top/profile02.jpg) center center/cover no-repeat; }
        @media only screen and (max-width: 767px) {
          body.index main .profile__content .img-text .right .img {
            position: static;
            background: url(/images/top/profile02_sp.jpg) center center/cover no-repeat;
            -webkit-transform: translate(0, 0);
            -moz-transform: translate(0, 0);
            -ms-transform: translate(0, 0);
            -o-transform: translate(0, 0);
            transform: translate(0, 0); } }
      body.index main .profile__content .img-text .right .text {
        margin-right: auto;
        max-width: 600px;
        padding: 0;
        width: 50%; }
        @media only screen and (max-width: 767px) {
          body.index main .profile__content .img-text .right .text {
            position: absolute;
            top: 0;
            left: 0;
            width: 59.5%;
            padding: 18px 0 0 22px; } }

body.livestock main {
  padding-bottom: 95px; }
  @media only screen and (max-width: 767px) {
    body.livestock main {
      padding-bottom: 35px; } }
  body.livestock main .bannerArea {
    padding: 98px 0; }
    @media only screen and (max-width: 767px) {
      body.livestock main .bannerArea {
        padding: 26px 0; } }
    body.livestock main .bannerArea__list {
      display: flex;
      justify-content: center; }
      body.livestock main .bannerArea__list li {
        width: 184px;
        margin: 0 66px; }
        @media only screen and (max-width: 767px) {
          body.livestock main .bannerArea__list li {
            width: 72px;
            margin: 0 21px; } }
        body.livestock main .bannerArea__list li a:hover {
          opacity: 1; }
          @media only screen and (min-width: 768px) {
            body.livestock main .bannerArea__list li a:hover figure > div img {
              transform: scale(1.13); } }
        body.livestock main .bannerArea__list li a figure > div img {
          transition: transform .3s; }
        body.livestock main .bannerArea__list li a figure figcaption {
          font-size: 26px;
          font-size: 2.6rem;
          font-weight: 800;
          display: block;
          margin-top: 30px;
          text-align: center; }
          @media only screen and (max-width: 767px) {
            body.livestock main .bannerArea__list li a figure figcaption {
              font-size: 10px;
              font-size: 1rem;
              margin-top: 7px; } }
          body.livestock main .bannerArea__list li a figure figcaption.green {
            color: #93d65a; }
          body.livestock main .bannerArea__list li a figure figcaption.blue {
            color: #457896; }
  body.livestock main .moreList {
    max-width: 1018px;
    margin: 0 auto;
    margin-bottom: 122px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      body.livestock main .moreList {
        margin-bottom: 50px; } }
    body.livestock main .moreList li {
      width: 27.50491159%;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        body.livestock main .moreList li {
          width: 31.81818182%; } }
      body.livestock main .moreList li i {
        width: 103px;
        display: block;
        margin: 0 auto 45px; }
        @media only screen and (max-width: 767px) {
          body.livestock main .moreList li i {
            width: 52px;
            margin-bottom: 15px; } }
        body.livestock main .moreList li i.w127 {
          width: 127px; }
          @media only screen and (max-width: 767px) {
            body.livestock main .moreList li i.w127 {
              width: 62px; } }
      body.livestock main .moreList li span {
        font-size: 28px;
        font-size: 2.8rem;
        font-weight: 600;
        display: block; }
        @media only screen and (max-width: 767px) {
          body.livestock main .moreList li span {
            font-size: 12px;
            font-size: 1.2rem; } }
        body.livestock main .moreList li span em {
          color: #ff0000;
          font-weight: 800; }
      body.livestock main .moreList li a {
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #000;
        width: 100%;
        height: 35px;
        margin-top: 22px;
        position: relative; }
        @media only screen and (max-width: 767px) {
          body.livestock main .moreList li a {
            background: #1c2653;
            height: 20px;
            margin-top: 15px;
            border: none; } }
        body.livestock main .moreList li a:hover {
          opacity: 1; }
          @media only screen and (min-width: 768px) {
            body.livestock main .moreList li a:hover:before {
              width: 100%; }
            body.livestock main .moreList li a:hover span {
              color: #fff; } }
        body.livestock main .moreList li a:before {
          content: "";
          width: 0;
          height: 100%;
          display: block;
          background: #000;
          position: absolute;
          top: 0;
          left: 0;
          transition: width .3s; }
        body.livestock main .moreList li a span {
          font-size: 18px;
          font-size: 1.8rem;
          letter-spacing: 0.17em;
          font-weight: 300;
          position: relative;
          color: #000;
          transition: color .3s; }
          @media only screen and (max-width: 767px) {
            body.livestock main .moreList li a span {
              font-size: 10px;
              font-size: 1rem;
              color: #fff; } }
  body.livestock main .movieList {
    display: flex;
    justify-content: space-between;
    max-width: 778px;
    margin: 0 auto;
    margin-bottom: 124px; }
    @media only screen and (max-width: 767px) {
      body.livestock main .movieList {
        margin-bottom: 40px; } }
    body.livestock main .movieList li {
      width: 45.50128535%;
      cursor: pointer; }
      @media only screen and (max-width: 767px) {
        body.livestock main .movieList li {
          width: 47.87878788%; } }
      body.livestock main .movieList li figure figcaption {
        font-size: 18px;
        font-size: 1.8rem;
        display: block;
        text-align: center;
        margin-top: 20px; }
        @media only screen and (max-width: 767px) {
          body.livestock main .movieList li figure figcaption {
            font-size: 10px;
            font-size: 1rem;
            margin-top: 8px; } }
  body.livestock main .col {
    display: flex;
    justify-content: space-between;
    max-width: 1108px; }
    @media only screen and (max-width: 767px) {
      body.livestock main .col {
        display: block; } }
    body.livestock main .col .images {
      background: #edf3f5;
      padding: 56px 22px 20px;
      width: 40.97472924%; }
      @media only screen and (max-width: 767px) {
        body.livestock main .col .images {
          width: 100%;
          padding: 12px 38px 10px;
          margin-bottom: 22px; } }
      body.livestock main .col .images figure > div {
        max-width: 342px;
        margin: 0 auto; }
        @media only screen and (max-width: 767px) {
          body.livestock main .col .images figure > div {
            max-width: 162px; } }
      body.livestock main .col .images figure figcaption {
        margin-top: 22px; }
        @media only screen and (max-width: 767px) {
          body.livestock main .col .images figure figcaption {
            margin-top: 0; } }
        body.livestock main .col .images figure figcaption dl {
          font-size: 18px;
          font-size: 1.8rem;
          line-height: 1.55555556;
          display: flex; }
          @media only screen and (max-width: 767px) {
            body.livestock main .col .images figure figcaption dl {
              font-size: 11px;
              font-size: 1.1rem;
              line-height: 1.36363636; } }
          body.livestock main .col .images figure figcaption dl dt {
            width: 73px; }
            @media only screen and (max-width: 767px) {
              body.livestock main .col .images figure figcaption dl dt {
                width: 47px; } }
            body.livestock main .col .images figure figcaption dl dt:before {
              content: "●";
              color: #457896; }
          body.livestock main .col .images figure figcaption dl dd {
            width: calc(100% - 73px); }
            @media only screen and (max-width: 767px) {
              body.livestock main .col .images figure figcaption dl dd {
                width: calc(100% - 47px); } }
    body.livestock main .col .text {
      width: 51.08303249%; }
      @media only screen and (max-width: 767px) {
        body.livestock main .col .text {
          width: 100%; } }
      body.livestock main .col .text .mb44 {
        margin-bottom: 44px; }
        @media only screen and (max-width: 767px) {
          body.livestock main .col .text .mb44 {
            margin-bottom: 18px; } }
      body.livestock main .col .text strong {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.83333333;
        font-weight: 600;
        display: block; }
        @media only screen and (max-width: 767px) {
          body.livestock main .col .text strong {
            font-size: 11px;
            font-size: 1.1rem;
            line-height: 1.72727273; } }
      body.livestock main .col .text p {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.83333333;
        margin: 0; }
        @media only screen and (max-width: 767px) {
          body.livestock main .col .text p {
            font-size: 11px;
            font-size: 1.1rem;
            line-height: 1.72727273; } }
      body.livestock main .col .text table {
        width: 100%;
        border-top: 3px solid #457896;
        margin-bottom: 26px; }
        @media only screen and (max-width: 767px) {
          body.livestock main .col .text table {
            margin-bottom: 6px; } }
        body.livestock main .col .text table tbody tr th {
          font-size: 18px;
          font-size: 1.8rem;
          line-height: 1.83333333;
          padding: 9px 18px;
          border-bottom: 1px solid #457896;
          width: 41.69611307%; }
          @media only screen and (max-width: 767px) {
            body.livestock main .col .text table tbody tr th {
              font-size: 11px;
              font-size: 1.1rem;
              padding: 2px 11px; } }
        body.livestock main .col .text table tbody tr td {
          font-size: 18px;
          font-size: 1.8rem;
          line-height: 1.83333333;
          padding: 9px 0;
          border-bottom: 1px solid #457896;
          width: 58.30388693%; }
          @media only screen and (max-width: 767px) {
            body.livestock main .col .text table tbody tr td {
              font-size: 11px;
              font-size: 1.1rem;
              padding: 2px 0; } }
      body.livestock main .col .text .attention {
        padding-left: 1em;
        position: relative; }
        body.livestock main .col .text .attention:before {
          content: "※";
          position: absolute;
          top: 0;
          left: 0; }
  body.livestock main .attentionList {
    border-top: 3px solid #457896;
    border-bottom: 3px solid #457896;
    background: #edf3f5;
    padding: 16px 24px;
    max-width: 1108px;
    margin-top: 36px; }
    @media only screen and (max-width: 767px) {
      body.livestock main .attentionList {
        margin-top: 20px;
        padding: 8px 12px; } }
    body.livestock main .attentionList li {
      padding-left: 1em;
      position: relative;
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.83333333; }
      @media only screen and (max-width: 767px) {
        body.livestock main .attentionList li {
          font-size: 11px;
          font-size: 1.1rem;
          line-height: 1.72727273; } }
      body.livestock main .attentionList li:before {
        content: "・";
        position: absolute;
        top: 0;
        left: 0; }
  body.livestock main .catch {
    display: block;
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: 700;
    text-align: center;
    margin: 54px auto 70px; }
    @media only screen and (max-width: 767px) {
      body.livestock main .catch {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.53333333;
        margin: 27px auto;
        font-feature-settings: "palt"; } }
  body.livestock main .titleBorder {
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1.26923077;
    font-weight: 600;
    padding-bottom: 2px;
    border-bottom: 3px solid #457896;
    margin-bottom: 34px; }
    @media only screen and (max-width: 767px) {
      body.livestock main .titleBorder {
        font-size: 11px;
        font-size: 1.1rem;
        margin-bottom: 15px; } }
  @media only screen and (min-width: 768px) {
    body.livestock main .table-wrap .table:nth-of-type(2) {
      margin-top: 30px; } }
  body.livestock main .table-wrap .table .thead {
    display: flex;
    background-color: #e0f3d2;
    align-items: center;
    text-align: center;
    height: 101px; }
    @media only screen and (max-width: 767px) {
      body.livestock main .table-wrap .table .thead {
        height: 72px; } }
    body.livestock main .table-wrap .table .thead .left-cont {
      width: 16%;
      height: 100%;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center;
      -webkit-justify-content: center;
      justify-content: center;
      border-right: 2px solid #fff; }
      @media only screen and (max-width: 767px) {
        body.livestock main .table-wrap .table .thead .left-cont {
          width: 25.8%;
          border-right: 1px solid #fff; }
          body.livestock main .table-wrap .table .thead .left-cont .top {
            height: 23px;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%; }
          body.livestock main .table-wrap .table .thead .left-cont .bottom {
            height: 50px;
            width: 100%;
            align-items: center;
            justify-content: space-around;
            background-color: #93d65a;
            color: #fff; }
            body.livestock main .table-wrap .table .thead .left-cont .bottom span {
              line-height: 1.2; } }
      body.livestock main .table-wrap .table .thead .left-cont span {
        font-size: 18px;
        font-size: 1.8rem;
        letter-spacing: 0em; }
        @media only screen and (max-width: 767px) {
          body.livestock main .table-wrap .table .thead .left-cont span {
            font-size: 11px;
            font-size: 1.1rem; } }
        @media only screen and (device-aspect-ratio: 139 / 199) {
          body.livestock main .table-wrap .table .thead .left-cont span {
            font-size: 13px; } }
        @media only screen and (device-aspect-ratio: 512 / 683) {
          body.livestock main .table-wrap .table .thead .left-cont span {
            font-size: 13px; } }
    body.livestock main .table-wrap .table .thead .middle-cont {
      width: calc(73.5833333% + 1px);
      height: 100%;
      display: flex;
      justify-content: flex-end;
      flex-direction: column;
      border-right: 2px solid #fff; }
      @media only screen and (max-width: 767px) {
        body.livestock main .table-wrap .table .thead .middle-cont {
          width: 74.0740741%;
          border-right: none;
          justify-content: center; }
          body.livestock main .table-wrap .table .thead .middle-cont span {
            font-size: 11px;
            font-size: 1.1rem;
            line-height: 1.2; } }
      body.livestock main .table-wrap .table .thead .middle-cont .top {
        width: 100%;
        height: 50px;
        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.livestock main .table-wrap .table .thead .middle-cont .top {
            height: 23px; } }
        body.livestock main .table-wrap .table .thead .middle-cont .top span {
          font-size: 18px;
          font-size: 1.8rem;
          letter-spacing: 0em; }
          @media only screen and (max-width: 767px) {
            body.livestock main .table-wrap .table .thead .middle-cont .top span {
              font-size: 11px;
              font-size: 1.1rem; } }
          @media only screen and (device-aspect-ratio: 139 / 199) {
            body.livestock main .table-wrap .table .thead .middle-cont .top span {
              font-size: 13px; } }
          @media only screen and (device-aspect-ratio: 512 / 683) {
            body.livestock main .table-wrap .table .thead .middle-cont .top span {
              font-size: 13px; } }
      body.livestock main .table-wrap .table .thead .middle-cont .bottom {
        display: flex;
        justify-content: space-between;
        align-items: center;
        background-color: #93d65a;
        width: 100%;
        height: 50px;
        border-top: 1px solid #fff; }
        @media only screen and (max-width: 767px) {
          body.livestock main .table-wrap .table .thead .middle-cont .bottom {
            align-items: flex-start; } }
        body.livestock main .table-wrap .table .thead .middle-cont .bottom span {
          font-size: 17px;
          font-size: 1.7rem;
          line-height: 1.2;
          width: 12.3442809%;
          height: 100%;
          color: #fff;
          border-right: 1px solid #fff;
          font-feature-settings: "palt";
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
          align-items: center;
          -webkit-justify-content: center;
          justify-content: center; }
          body.livestock main .table-wrap .table .thead .middle-cont .bottom span:last-of-type {
            border-right: none; }
          @media only screen and (max-width: 767px) {
            body.livestock main .table-wrap .table .thead .middle-cont .bottom span {
              font-size: 11px;
              font-size: 1.1rem;
              width: 20.6428571%;
              height: 100%;
              border-right: 1px solid #fff;
              align-items: flex-start;
              padding-top: 2px; }
              body.livestock main .table-wrap .table .thead .middle-cont .bottom span:nth-of-type(2) {
                width: 21%; } }
          @media all and (-ms-high-contrast: none) {
            body.livestock main .table-wrap .table .thead .middle-cont .bottom span {
              font-size: 16px;
              font-size: 1.6rem; } }
          @media only screen and (device-aspect-ratio: 139 / 199) {
            body.livestock main .table-wrap .table .thead .middle-cont .bottom span {
              font-size: 13px; } }
          @media only screen and (device-aspect-ratio: 512 / 683) {
            body.livestock main .table-wrap .table .thead .middle-cont .bottom span {
              font-size: 13px; } }
    body.livestock main .table-wrap .table .thead .right-cont {
      width: 10.1666667%;
      height: 100%;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center;
      -webkit-justify-content: center;
      justify-content: center; }
      body.livestock main .table-wrap .table .thead .right-cont span {
        line-height: 1.2;
        font-size: 18px;
        font-size: 1.8rem;
        letter-spacing: 0em; }
        @media only screen and (max-width: 767px) {
          body.livestock main .table-wrap .table .thead .right-cont span {
            font-size: 11px;
            font-size: 1.1rem; } }
        @media only screen and (device-aspect-ratio: 139 / 199) {
          body.livestock main .table-wrap .table .thead .right-cont span {
            font-size: 13px; } }
        @media only screen and (device-aspect-ratio: 512 / 683) {
          body.livestock main .table-wrap .table .thead .right-cont span {
            font-size: 13px; } }
  body.livestock main .table-wrap .table .tbody {
    display: flex; }
    body.livestock main .table-wrap .table .tbody .left-cont {
      width: calc(16% + 1px);
      border-right: 2px solid #fff; }
      @media only screen and (max-width: 767px) {
        body.livestock main .table-wrap .table .tbody .left-cont {
          width: 25.8%;
          border-right: 1px solid #fff; } }
      body.livestock main .table-wrap .table .tbody .left-cont div {
        background-color: rgba(35, 24, 21, 0.6);
        height: 50px;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
        text-align: center;
        border-top: 1px solid #fff; }
        @media only screen and (max-width: 767px) {
          body.livestock main .table-wrap .table .tbody .left-cont div {
            height: 24px; } }
        body.livestock main .table-wrap .table .tbody .left-cont div span {
          font-size: 18px;
          font-size: 1.8rem;
          color: #fff; }
          @media only screen and (max-width: 767px) {
            body.livestock main .table-wrap .table .tbody .left-cont div span {
              font-size: 11px;
              font-size: 1.1rem;
              text-align: center; } }
          @media only screen and (device-aspect-ratio: 139 / 199) {
            body.livestock main .table-wrap .table .tbody .left-cont div span {
              font-size: 13px; } }
          @media only screen and (device-aspect-ratio: 512 / 683) {
            body.livestock main .table-wrap .table .tbody .left-cont div span {
              font-size: 13px; } }
    body.livestock main .table-wrap .table .tbody .right-cont {
      width: calc(100% - 16% + 1px); }
      @media only screen and (max-width: 767px) {
        body.livestock main .table-wrap .table .tbody .right-cont {
          width: calc(100% - 25.8%); } }
      body.livestock main .table-wrap .table .tbody .right-cont .cont {
        display: flex;
        text-align: center;
        height: 50px; }
        @media only screen and (max-width: 767px) {
          body.livestock main .table-wrap .table .tbody .right-cont .cont {
            height: 24px; } }
        body.livestock main .table-wrap .table .tbody .right-cont .cont:first-of-type {
          border-top: 2px solid #fff; }
          @media only screen and (max-width: 767px) {
            body.livestock main .table-wrap .table .tbody .right-cont .cont:first-of-type {
              border-top: 1px solid #fff; } }
        body.livestock main .table-wrap .table .tbody .right-cont .cont:nth-of-type(odd) {
          background-color: rgba(35, 24, 21, 0.1); }
        body.livestock main .table-wrap .table .tbody .right-cont .cont span {
          width: 109.8px;
          font-size: 18px;
          font-size: 1.8rem;
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
          align-items: center;
          -webkit-justify-content: center;
          justify-content: center;
          border-right: 2px solid #fff; }
          @media only screen and (max-width: 767px) {
            body.livestock main .table-wrap .table .tbody .right-cont .cont span {
              border-right: 1px solid #fff; } }
          body.livestock main .table-wrap .table .tbody .right-cont .cont span:last-of-type {
            border-right: none; }
          @media only screen and (max-width: 767px) {
            body.livestock main .table-wrap .table .tbody .right-cont .cont span {
              font-size: 11px;
              font-size: 1.1rem; } }
          @media only screen and (device-aspect-ratio: 139 / 199) {
            body.livestock main .table-wrap .table .tbody .right-cont .cont span {
              font-size: 13px; } }
          @media only screen and (device-aspect-ratio: 512 / 683) {
            body.livestock main .table-wrap .table .tbody .right-cont .cont span {
              font-size: 13px; } }
  @media only screen and (max-width: 767px) {
    body.livestock main .table-wrap .table:nth-of-type(2n) {
      width: 85%;
      border-top: 1px solid #fff; }
      body.livestock main .table-wrap .table:nth-of-type(2n) .thead .left-cont {
        width: 51.552795%;
        flex-direction: column; }
        body.livestock main .table-wrap .table:nth-of-type(2n) .thead .left-cont .bottom {
          display: flex; }
          body.livestock main .table-wrap .table:nth-of-type(2n) .thead .left-cont .bottom span {
            width: 32.9411765%;
            height: 100%;
            display: -webkit-flex;
            display: flex;
            -webkit-align-items: center;
            align-items: center;
            -webkit-justify-content: center;
            justify-content: center;
            border-right: 1px solid #fff; }
            body.livestock main .table-wrap .table:nth-of-type(2n) .thead .left-cont .bottom span:last-of-type {
              border-right: none; }
      body.livestock main .table-wrap .table:nth-of-type(2n) .thead .middle-cont {
        width: 17.8%;
        border-right: 1px solid #fff; }
      body.livestock main .table-wrap .table:nth-of-type(2n) .thead .right-cont {
        width: 31%;
        background-color: #f2faec; }
      body.livestock main .table-wrap .table:nth-of-type(2n) .tbody .left-cont {
        width: 69.2546584%; }
        body.livestock main .table-wrap .table:nth-of-type(2n) .tbody .left-cont .cont {
          display: flex;
          justify-content: space-between;
          background-color: #fff; }
          body.livestock main .table-wrap .table:nth-of-type(2n) .tbody .left-cont .cont:nth-of-type(odd) {
            background-color: rgba(35, 24, 21, 0.1); }
          body.livestock main .table-wrap .table:nth-of-type(2n) .tbody .left-cont .cont span {
            color: #000000;
            width: 25%;
            height: 100%;
            display: -webkit-flex;
            display: flex;
            -webkit-align-items: center;
            align-items: center;
            -webkit-justify-content: center;
            justify-content: center;
            border-right: 1px solid #fff; }
            body.livestock main .table-wrap .table:nth-of-type(2n) .tbody .left-cont .cont span:last-of-type {
              border-right: none; }
      body.livestock main .table-wrap .table:nth-of-type(2n) .tbody .right-cont {
        width: calc(100% - 69.2546584%);
        background-color: rgba(35, 24, 21, 0.33); }
        body.livestock main .table-wrap .table:nth-of-type(2n) .tbody .right-cont div {
          text-align: center;
          height: 24px;
          align-items: center;
          display: flex;
          justify-content: center;
          border-top: 1px solid #fff; }
          body.livestock main .table-wrap .table:nth-of-type(2n) .tbody .right-cont div span {
            color: #fff;
            font-size: 11px;
            font-size: 1.1rem;
            line-height: 1.2; } }
  @media only screen and (max-width: 767px) {
    body.livestock main .table-wrap.ts .table:nth-of-type(1) .tbody .left-cont > div:nth-of-type(7) {
      height: 36px; }
    body.livestock main .table-wrap.ts .table:nth-of-type(1) .tbody .right-cont .cont:nth-of-type(7) {
      height: 36px; }
    body.livestock main .table-wrap.ts .table:nth-of-type(2) .thead .left-cont {
      width: 52.552795%; }
      body.livestock main .table-wrap.ts .table:nth-of-type(2) .thead .left-cont .bottom span {
        width: 33.9411765%;
        height: 100%;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
        border-right: 1px solid #fff; }
        body.livestock main .table-wrap.ts .table:nth-of-type(2) .thead .left-cont .bottom span:last-of-type {
          width: 32.9411765%;
          border-right: none; }
    body.livestock main .table-wrap.ts .table:nth-of-type(2) .tbody .left-cont > div:nth-of-type(7) {
      height: 36px; }
    body.livestock main .table-wrap.ts .table:nth-of-type(2) .tbody .right-cont > div:nth-of-type(7) {
      height: 36px; } }
  @media only screen and (device-aspect-ratio: 139 / 199) {
    body.livestock main .table-wrap.ts .thead .left-cont {
      width: 17%; } }
  @media only screen and (device-aspect-ratio: 512 / 683) {
    body.livestock main .table-wrap.ts .thead .left-cont {
      width: 17%; } }
  @media only screen and (device-aspect-ratio: 139 / 199) {
    body.livestock main .table-wrap.ts .thead .middle-cont {
      width: calc(80.583333% + 1px); } }
  @media only screen and (device-aspect-ratio: 512 / 683) {
    body.livestock main .table-wrap.ts .thead .middle-cont {
      width: calc(80.583333% + 1px); } }
  @media only screen and (max-width: 767px) {
    body.livestock main .table-wrap.ys .thead .middle-cont {
      width: 59.4164456%; } }
  body.livestock main .table-wrap.ys .thead .middle-cont .bottom span {
    width: 25%; }
    @media only screen and (max-width: 767px) {
      body.livestock main .table-wrap.ys .thead .middle-cont .bottom span:nth-of-type(2) {
        width: 25%; } }
  @media only screen and (max-width: 767px) {
    body.livestock main .table-wrap.ys .thead .right-cont {
      width: 14.8541114%; } }
  body.livestock main .table-wrap.ys .tbody .right-cont .cont span {
    width: 22%; }
    @media only screen and (min-width: 768px) {
      body.livestock main .table-wrap.ys .tbody .right-cont .cont span:last-of-type {
        width: 12.5%; } }
  @media only screen and (min-width: 768px) {
    body.livestock main .table-wrap.os .thead .left-cont {
      width: 10%; }
    body.livestock main .table-wrap.os .thead .middle-cont {
      width: 82.5%; }
      body.livestock main .table-wrap.os .thead .middle-cont .bottom span {
        width: 11.1111111%;
        font-feature-settings: "palt"; }
    body.livestock main .table-wrap.os .thead .right-cont {
      width: 7.0833333%; }
    body.livestock main .table-wrap.os .tbody .left-cont {
      width: 10%; }
    body.livestock main .table-wrap.os .tbody .right-cont {
      width: calc(100% - 10% + 1px); }
      body.livestock main .table-wrap.os .tbody .right-cont .cont span {
        width: 10.1851852%; }
        body.livestock main .table-wrap.os .tbody .right-cont .cont span:last-of-type {
          width: 8%; } }
  @media only screen and (max-width: 767px) {
    body.livestock main .table-wrap.os .table:nth-of-type(2n) {
      width: 100%; }
      body.livestock main .table-wrap.os .table:nth-of-type(2n) .thead .left-cont {
        width: 58.6816976%; }
        body.livestock main .table-wrap.os .table:nth-of-type(2n) .thead .left-cont .bottom span {
          width: 34.941176%; }
          body.livestock main .table-wrap.os .table:nth-of-type(2n) .thead .left-cont .bottom span:last-of-type {
            width: 33.941176%; }
      body.livestock main .table-wrap.os .table:nth-of-type(2n) .thead .middle-cont {
        width: calc(14.5888594% + 1px); }
      body.livestock main .table-wrap.os .table:nth-of-type(2n) .thead .right-cont {
        width: 26.464191%; }
      body.livestock main .table-wrap.os .table:nth-of-type(2n) .tbody .left-cont {
        width: 74.270557%; }
      body.livestock main .table-wrap.os .table:nth-of-type(2n) .tbody .right-cont {
        width: 26.464191%; } }
  @media only screen and (min-width: 768px) {
    body.livestock main .table-wrap.os2 .thead .middle-cont {
      width: 73%; }
      body.livestock main .table-wrap.os2 .thead .middle-cont .bottom span {
        width: 15.196532%; }
    body.livestock main .table-wrap.os2 .tbody .right-cont .cont span {
      width: 13%; }
      body.livestock main .table-wrap.os2 .tbody .right-cont .cont span:last-of-type {
        width: 13.7%; } }
  @media only screen and (max-width: 767px) {
    body.livestock main .table-wrap.os2 .table:nth-of-type(2n) {
      width: 70.2917772%; }
      body.livestock main .table-wrap.os2 .table:nth-of-type(2n) .thead .left-cont {
        width: 42.6415094%; }
        body.livestock main .table-wrap.os2 .table:nth-of-type(2n) .thead .left-cont .bottom span {
          width: 50%; }
      body.livestock main .table-wrap.os2 .table:nth-of-type(2n) .thead .middle-cont {
        width: 20.754717%; }
      body.livestock main .table-wrap.os2 .table:nth-of-type(2n) .thead .right-cont {
        width: 37.3584906%; }
      body.livestock main .table-wrap.os2 .table:nth-of-type(2n) .tbody .left-cont {
        width: 63.0188679%; }
        body.livestock main .table-wrap.os2 .table:nth-of-type(2n) .tbody .left-cont span {
          width: 32.9341317%; }
      body.livestock main .table-wrap.os2 .table:nth-of-type(2n) .tbody .right-cont {
        width: 37.3584906%; } }
  body.livestock main section h2 {
    font-size: 26px;
    font-size: 2.6rem;
    letter-spacing: 0em;
    color: #fff;
    font-weight: 600;
    background-color: #93d65a;
    padding: 18px 15px; }
    body.livestock main section h2.blue {
      background-color: #5d7096; }
    body.livestock main section h2.blue2 {
      background-color: #457896; }
    @media only screen and (max-width: 767px) {
      body.livestock main section h2 {
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.218;
        padding: 0 5px; } }
  body.livestock main section p {
    margin-top: 32px;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 0em;
    line-height: 2; }
    @media only screen and (max-width: 767px) {
      body.livestock main section p {
        font-size: 11.5px;
        font-size: 1.15rem;
        line-height: 1.6;
        margin-top: 10px; } }
  body.livestock main section .img-cont {
    max-width: 775px;
    width: 100%;
    margin: 100px auto 0;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.livestock main section .img-cont {
        width: 100%;
        margin: 35px auto 0; } }
    @media only screen and (min-width: 768px) {
      body.livestock main section .img-cont img {
        margin-top: 10px; } }
    body.livestock main section .img-cont .img:nth-of-type(2) {
      margin-top: 75px; }
      @media only screen and (max-width: 767px) {
        body.livestock main section .img-cont .img:nth-of-type(2) {
          margin-top: 20px; } }
    body.livestock main section .img-cont .img em {
      color: #ff7300;
      font-size: 22px;
      font-size: 2.2rem;
      letter-spacing: 0em;
      display: block;
      text-align: left;
      font-weight: 600;
      position: relative;
      z-index: 1; }
      @media only screen and (max-width: 767px) {
        body.livestock main section .img-cont .img em {
          font-size: 13px;
          font-size: 1.3rem;
          margin-bottom: 0px; } }
    @media only screen and (max-width: 767px) {
      body.livestock main section .img-cont .img img {
        margin: 3px -22px;
        display: block;
        width: calc(100% + 44px);
        max-width: none; } }
  body.livestock main section.size {
    margin-top: 95px; }
    @media only screen and (max-width: 767px) {
      body.livestock main section.size {
        margin-top: 15px; } }
    body.livestock main section.size .cont-wrap {
      border: 3px solid #93d65a;
      margin-top: 30px; }
      @media only screen and (max-width: 767px) {
        body.livestock main section.size .cont-wrap {
          border: 2px solid #93d65a;
          margin-top: 10px; } }
      body.livestock main section.size .cont-wrap:nth-of-type(n + 2) {
        margin-top: 90px; }
        @media only screen and (max-width: 767px) {
          body.livestock main section.size .cont-wrap:nth-of-type(n + 2) {
            margin-top: 30px; } }
      body.livestock main section.size .cont-wrap span.title {
        font-size: 23px;
        font-size: 2.3rem;
        letter-spacing: 0em;
        font-weight: 600;
        position: relative;
        padding-left: 20px;
        margin: 20px 0 0 20px;
        display: block; }
        @media only screen and (max-width: 767px) {
          body.livestock main section.size .cont-wrap span.title {
            font-size: 11px;
            font-size: 1.1rem;
            padding-left: 10px;
            margin: 6px 0 0 6px; } }
        body.livestock main section.size .cont-wrap span.title:before {
          content: '';
          width: 15px;
          height: 15px;
          position: absolute;
          top: 50%;
          left: 0;
          transform: translateY(-50%);
          background-color: #93d65a; }
          @media only screen and (max-width: 767px) {
            body.livestock main section.size .cont-wrap span.title:before {
              width: 8px;
              height: 8px; } }
      body.livestock main section.size .cont-wrap .img-cont {
        max-width: 1000px;
        width: 100%;
        margin: 100px auto 0;
        text-align: center;
        margin: 25px auto 0; }
        @media only screen and (max-width: 767px) {
          body.livestock main section.size .cont-wrap .img-cont {
            width: calc(100% - 30px);
            margin: 30px auto 0;
            margin: 10px auto 0; } }
      body.livestock main section.size .cont-wrap.ys .img-cont {
        margin: 40px auto 10px; }
        @media only screen and (max-width: 767px) {
          body.livestock main section.size .cont-wrap.ys .img-cont {
            margin: 20px auto 0; } }
      body.livestock main section.size .cont-wrap.os .img-cont {
        margin: 30px auto 0; }
        @media only screen and (max-width: 767px) {
          body.livestock main section.size .cont-wrap.os .img-cont {
            margin: 25px auto 0; } }
      @media only screen and (max-width: 767px) {
        body.livestock main section.size .cont-wrap.os2 .img-cont {
          margin: 32px auto 0; } }
      @media only screen and (max-width: 767px) {
        body.livestock main section.size .cont-wrap.os2 .img-cont img {
          width: 57%;
          margin-left: 10px; } }
      body.livestock main section.size .cont-wrap .table-wrap {
        margin-top: 55px; }
        @media only screen and (max-width: 767px) {
          body.livestock main section.size .cont-wrap .table-wrap {
            margin-top: 25px; } }
  body.livestock main section.ck-blue {
    margin-top: 135px; }
    @media only screen and (max-width: 767px) {
      body.livestock main section.ck-blue {
        margin-top: 30px; } }
    body.livestock main section.ck-blue.mt94 {
      margin-top: 94px; }
      @media only screen and (max-width: 767px) {
        body.livestock main section.ck-blue.mt94 {
          margin-top: 40px; } }
      body.livestock main section.ck-blue.mt94 .bottom {
        margin-top: 0; }
    body.livestock main section.ck-blue .center {
      text-align: center;
      padding-left: 0;
      text-indent: 0;
      margin-top: 64px;
      margin-bottom: 72px; }
      @media only screen and (max-width: 767px) {
        body.livestock main section.ck-blue .center {
          text-align: left;
          margin-bottom: 26px; } }
    @media only screen and (max-width: 767px) {
      body.livestock main section.ck-blue p {
        text-indent: -1rem;
        padding-left: 1rem; }
        body.livestock main section.ck-blue p:nth-of-type(3) {
          margin-top: 25px; } }
    body.livestock main section.ck-blue .img-cont {
      display: flex;
      justify-content: space-between;
      max-width: 800px;
      margin: 15px auto 55px; }
      @media only screen and (max-width: 767px) {
        body.livestock main section.ck-blue .img-cont {
          width: calc(100% - 16px);
          margin: 15px auto 17px; } }
      body.livestock main section.ck-blue .img-cont > div {
        width: 48.0584625%; }
        @media only screen and (max-width: 767px) {
          body.livestock main section.ck-blue .img-cont > div {
            width: 48.5544167%; } }
    body.livestock main section.ck-blue .bottom {
      margin-top: 228px; }
      @media only screen and (max-width: 767px) {
        body.livestock main section.ck-blue .bottom {
          margin-top: 40px; } }
      body.livestock main section.ck-blue .bottom.mt94 {
        margin-top: 94px; }
      body.livestock main section.ck-blue .bottom em {
        font-size: 38px;
        font-size: 3.8rem;
        font-weight: 800;
        letter-spacing: 0em;
        text-align: center;
        display: block; }
        @media only screen and (max-width: 767px) {
          body.livestock main section.ck-blue .bottom em {
            font-size: 15px;
            font-size: 1.5rem;
            line-height: 1.444444444; } }
        @media only screen and (device-aspect-ratio: 139 / 199) {
          body.livestock main section.ck-blue .bottom em {
            font-size: 30px; } }
        @media only screen and (device-aspect-ratio: 512 / 683) {
          body.livestock main section.ck-blue .bottom em {
            font-size: 30px; } }
      body.livestock main section.ck-blue .bottom > div {
        max-width: 828.6485px;
        margin: 70px auto 0;
        text-align: center; }
        @media only screen and (max-width: 767px) {
          body.livestock main section.ck-blue .bottom > div {
            margin: 10px auto 0; } }
        body.livestock main section.ck-blue .bottom > div img {
          width: 100%; }
          @media only screen and (device-aspect-ratio: 139 / 199) {
            body.livestock main section.ck-blue .bottom > div img {
              width: 80%; } }
          @media only screen and (device-aspect-ratio: 512 / 683) {
            body.livestock main section.ck-blue .bottom > div img {
              width: 80%; } }
      body.livestock main section.ck-blue .bottom .btn {
        height: 80px;
        width: 594px;
        margin: 65px auto 0;
        background: linear-gradient(180deg, #ffa770 0%, #ffa770 50%, #ff8639 50%, #ff6300 100%);
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
        font-size: 32px;
        font-size: 3.2rem;
        letter-spacing: 0em;
        font-weight: 700;
        color: #fff; }
        @media only screen and (max-width: 767px) {
          body.livestock main section.ck-blue .bottom .btn {
            width: 302px;
            height: 40px;
            font-size: 17px;
            font-size: 1.7rem;
            margin: 30px auto 0; } }

@media only screen and (min-width: 768px) {
  body.oem main .green:before {
    display: none; } }

body.oem main #mainsection {
  padding-top: 100px; }
  @media only screen and (max-width: 767px) {
    body.oem main #mainsection {
      padding-top: 48px; } }
  @media only screen and (max-width: 767px) {
    body.oem main #mainsection .inner .item-cont {
      width: calc(100% + 50px);
      margin-left: -25px; } }
  body.oem main #mainsection .inner .item-cont .item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 45px;
    margin-bottom: 40px; }
    @media only screen and (max-width: 767px) {
      body.oem main #mainsection .inner .item-cont .item {
        padding: 0 25px;
        margin-bottom: 15px;
        justify-content: space-between; } }
    body.oem main #mainsection .inner .item-cont .item:last-child {
      margin-bottom: 0; }
    body.oem main #mainsection .inner .item-cont .item h3 {
      font-size: 74px;
      font-size: 7.4rem;
      letter-spacing: 0.1em;
      color: white;
      font-weight: 800;
      position: absolute;
      top: 44px;
      left: 0;
      right: 0;
      margin: auto;
      bottom: auto;
      text-align: center;
      width: 100%; }
      @media screen and (max-width: 1100px) {
        body.oem main #mainsection .inner .item-cont .item h3 {
          font-size: 50px;
          font-size: 5rem; } }
      @media only screen and (max-width: 767px) {
        body.oem main #mainsection .inner .item-cont .item h3 {
          font-size: 25px;
          font-size: 2.5rem;
          top: 14px; } }
    body.oem main #mainsection .inner .item-cont .item .text {
      font-size: 35px;
      font-size: 3.5rem;
      letter-spacing: 0em;
      line-height: 1.7em;
      font-weight: 600;
      padding-top: 40px; }
      @media screen and (max-width: 1100px) {
        body.oem main #mainsection .inner .item-cont .item .text {
          font-size: 24px;
          font-size: 2.4rem; } }
      @media only screen and (max-width: 767px) {
        body.oem main #mainsection .inner .item-cont .item .text {
          font-size: 15px;
          font-size: 1.5rem;
          padding-top: 30px;
          white-space: nowrap; } }
    body.oem main #mainsection .inner .item-cont .item.item1 {
      flex-direction: row-reverse;
      background-color: #dbd7ff; }
      body.oem main #mainsection .inner .item-cont .item.item1 .pic {
        width: 232px;
        padding-top: 58px;
        margin-left: 30px; }
        @media only screen and (max-width: 767px) {
          body.oem main #mainsection .inner .item-cont .item.item1 .pic {
            width: 100px;
            padding-top: 14px;
            margin-left: 0px;
            margin-right: 15px; } }
      body.oem main #mainsection .inner .item-cont .item.item1 .text {
        width: calc(100% - 100px - 25px); }
    body.oem main #mainsection .inner .item-cont .item.item2 {
      background-color: #bae9fa; }
      @media only screen and (min-width: 768px) {
        body.oem main #mainsection .inner .item-cont .item.item2 {
          justify-content: flex-start; } }
      body.oem main #mainsection .inner .item-cont .item.item2 .pic {
        width: 336px;
        padding-top: 52px;
        margin-right: 60px; }
        @media only screen and (max-width: 767px) {
          body.oem main #mainsection .inner .item-cont .item.item2 .pic {
            width: 146px;
            padding-top: 14px;
            margin-right: 0px; } }
      body.oem main #mainsection .inner .item-cont .item.item2 .text {
        width: calc(100% - 146px - 25px); }
  body.oem main #mainsection .inner .contact-cont {
    margin-top: 66px;
    padding-bottom: 96px; }
    @media only screen and (max-width: 767px) {
      body.oem main #mainsection .inner .contact-cont {
        margin-top: 24px;
        padding-bottom: 34px; } }
    body.oem main #mainsection .inner .contact-cont .text1 {
      font-size: 52px;
      font-size: 5.2rem;
      letter-spacing: 0em;
      line-height: 1.7em;
      color: #8b8b8b;
      font-weight: 700;
      text-align: center;
      white-space: nowrap; }
      @media only screen and (max-width: 767px) {
        body.oem main #mainsection .inner .contact-cont .text1 {
          font-size: 23px;
          font-size: 2.3rem;
          font-feature-settings: "palt"; } }
    body.oem main #mainsection .inner .contact-cont .text2 {
      text-align: center;
      font-size: 36px;
      font-size: 3.6rem;
      letter-spacing: 0em;
      line-height: 1.7em;
      font-weight: 600; }
      @media only screen and (max-width: 767px) {
        body.oem main #mainsection .inner .contact-cont .text2 {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.5em;
          font-feature-settings: "palt";
          margin-top: 16px; } }
    body.oem main #mainsection .inner .contact-cont .link {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 594px;
      height: 80px;
      color: white;
      font-size: 32px;
      font-size: 3.2rem;
      letter-spacing: 0em;
      font-weight: 700;
      margin: 70px auto 0;
      background-image: url(../../images/common/btn_bg.png);
      background-position: top left;
      background-size: cover; }
      @media only screen and (max-width: 767px) {
        body.oem main #mainsection .inner .contact-cont .link {
          font-size: 18px;
          font-size: 1.8rem;
          width: 260px;
          height: 38px;
          margin-top: 30px; } }
      @media all and (-ms-high-contrast: none) {
        body.oem main #mainsection .inner .contact-cont .link {
          padding-top: 10px; } }

body.policy main #maincont {
  padding-top: 66px;
  padding-bottom: 120px; }
  @media only screen and (max-width: 767px) {
    body.policy main #maincont {
      padding-top: 26px;
      padding-bottom: 50px; } }
  body.policy main #maincont .inner h3, body.policy main #maincont .inner p, body.policy main #maincont .inner li {
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 0.025em;
    line-height: 1.8857em; }
    @media only screen and (max-width: 767px) {
      body.policy main #maincont .inner h3, body.policy main #maincont .inner p, body.policy main #maincont .inner li {
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.866666em; } }
  body.policy main #maincont .inner .cont {
    margin-top: 60px; }
    @media only screen and (max-width: 767px) {
      body.policy main #maincont .inner .cont {
        margin-top: 44px; } }
    body.policy main #maincont .inner .cont .item {
      margin-bottom: 30px; }
      @media only screen and (max-width: 767px) {
        body.policy main #maincont .inner .cont .item {
          margin-bottom: 22px; } }
      body.policy main #maincont .inner .cont .item:last-child {
        margin-bottom: 0; }
      body.policy main #maincont .inner .cont .item h3 {
        color: #013eff;
        font-weight: bold; }
      body.policy main #maincont .inner .cont .item ul li {
        padding-left: 2em; }
        body.policy main #maincont .inner .cont .item ul li:before {
          content: "・";
          display: inline-block;
          margin-left: -1em; }

body.products main section {
  padding: 150px 0 160px; }
  @media only screen and (max-width: 767px) {
    body.products main section {
      padding: 40px 0 50px; } }
  body.products main section h2 {
    color: #93d65a;
    font-size: 45px;
    font-size: 4.5rem;
    line-height: 1.608666667;
    letter-spacing: 0em;
    font-weight: 600;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.products main section h2 {
        font-size: 20px;
        font-size: 2rem; } }
  body.products main section ul {
    margin-top: 75px;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      body.products main section ul {
        margin-top: 15px; } }
    body.products main section ul li {
      width: 31.6163333%;
      text-align: center; }
      body.products main section ul li a {
        display: block;
        height: 100%; }
        @media only screen and (min-width: 768px) {
          body.products main section ul li a {
            transition: .2s; }
            body.products main section ul li a:hover {
              opacity: .7; } }
        body.products main section ul li a .img-cont {
          margin-bottom: 30px; }
          @media only screen and (max-width: 767px) {
            body.products main section ul li a .img-cont {
              margin-top: 10px;
              margin-bottom: 7px; } }
        body.products main section ul li a span {
          color: #5d7096;
          font-size: 28px;
          font-size: 2.8rem;
          letter-spacing: 0em;
          font-weight: 600; }
          @media only screen and (max-width: 767px) {
            body.products main section ul li a span {
              font-size: 11px;
              font-size: 1.1rem; } }

body.profile main section.message {
  padding: 150px 0 180px; }
  @media only screen and (max-width: 767px) {
    body.profile main section.message {
      padding: 42px 0 60px; } }
  body.profile main section.message .text-cont {
    max-width: 735px;
    margin: 80px auto 0; }
    @media only screen and (max-width: 767px) {
      body.profile main section.message .text-cont {
        margin: 20px auto 0; } }
    body.profile main section.message .text-cont p {
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0em;
      line-height: 2; }
      @media only screen and (max-width: 767px) {
        body.profile main section.message .text-cont p {
          font-size: 13px;
          font-size: 1.3rem;
          line-height: 1.666666667; } }
    body.profile main section.message .text-cont .name-cont {
      margin-top: 70px;
      margin-left: auto;
      text-align: right; }
      @media only screen and (max-width: 767px) {
        body.profile main section.message .text-cont .name-cont {
          margin-top: 35px; } }
      body.profile main section.message .text-cont .name-cont span.company {
        font-size: 14.5px;
        font-size: 1.45rem;
        letter-spacing: 0em;
        display: block;
        margin-bottom: 15px; }
        @media only screen and (max-width: 767px) {
          body.profile main section.message .text-cont .name-cont span.company {
            margin-bottom: 5px;
            font-size: 14px;
            font-size: 1.4rem; } }
      body.profile main section.message .text-cont .name-cont span {
        font-size: 16.5px;
        font-size: 1.65rem;
        letter-spacing: 0em; }
        @media only screen and (max-width: 767px) {
          body.profile main section.message .text-cont .name-cont span {
            font-size: 14px;
            font-size: 1.4rem; } }
        body.profile main section.message .text-cont .name-cont span .name {
          font-size: 23.5px;
          font-size: 2.35rem;
          letter-spacing: 0em;
          margin-left: 15px; }
          @media only screen and (max-width: 767px) {
            body.profile main section.message .text-cont .name-cont span .name {
              font-size: 20px;
              font-size: 2rem; } }

body.profile main section.outline {
  padding: 162px 0 114px; }
  @media only screen and (max-width: 767px) {
    body.profile main section.outline {
      padding: 40px 0 45px; } }
  body.profile main section.outline dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1020px;
    margin: 85px auto 0; }
    @media only screen and (max-width: 767px) {
      body.profile main section.outline dl {
        flex-direction: column;
        margin: 22px auto 0; } }
    body.profile main section.outline dl dt,
    body.profile main section.outline dl dd {
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0em;
      padding: 24px 0; }
      @media only screen and (max-width: 767px) {
        body.profile main section.outline dl dt,
        body.profile main section.outline dl dd {
          padding: 4px 0;
          font-size: 13px;
          font-size: 1.3rem;
          line-height: 1.3;
          padding-left: 10px !important; } }
      @media only screen and (device-aspect-ratio: 139 / 199) {
        body.profile main section.outline dl dt,
        body.profile main section.outline dl dd {
          font-size: 15px; } }
      @media only screen and (device-aspect-ratio: 512 / 683) {
        body.profile main section.outline dl dt,
        body.profile main section.outline dl dd {
          font-size: 15px; } }
    body.profile main section.outline dl dt {
      width: 29.0196078%;
      border-top: 1px solid #aaaaaa; }
      @media only screen and (min-width: 768px) {
        body.profile main section.outline dl dt:first-of-type {
          border-top: 2px solid #aaaaaa; }
        body.profile main section.outline dl dt:last-of-type {
          border-bottom: 2px solid #aaaaaa; } }
      @media only screen and (max-width: 767px) {
        body.profile main section.outline dl dt {
          width: 100%;
          background-color: #f4fbef;
          border-top: 2px solid #aaaaaa; } }
    body.profile main section.outline dl dd {
      padding-left: 5px;
      width: 63.7254902%;
      border-top: 1px solid #aaaaaa; }
      @media only screen and (min-width: 768px) {
        body.profile main section.outline dl dd:first-of-type {
          border-top: 2px solid #aaaaaa; } }
      @media only screen and (max-width: 767px) {
        body.profile main section.outline dl dd {
          width: 100%;
          padding: 17px 0; }
          body.profile main section.outline dl dd:nth-of-type(5) {
            padding: 16px 0; } }
      body.profile main section.outline dl dd:last-of-type {
        border-bottom: 2px solid #aaaaaa;
        padding: 15px 0; }
        @media only screen and (max-width: 767px) {
          body.profile main section.outline dl dd:last-of-type {
            padding: 17px 0; } }
      body.profile main section.outline dl dd .cont {
        display: flex; }
        body.profile main section.outline dl dd .cont:nth-of-type(2) {
          margin-top: 15px; }
          @media only screen and (max-width: 767px) {
            body.profile main section.outline dl dd .cont:nth-of-type(2) {
              margin-top: 5px; } }
        body.profile main section.outline dl dd .cont .left {
          width: 28.1538462%; }
          @media only screen and (max-width: 767px) {
            body.profile main section.outline dl dd .cont .left {
              width: 45.153846%; } }
      body.profile main section.outline dl dd .address {
        line-height: 2.03125; }
        @media only screen and (max-width: 767px) {
          body.profile main section.outline dl dd .address {
            line-height: 1.52; }
            body.profile main section.outline dl dd .address:nth-of-type(2) {
              margin-top: 20px; } }
        body.profile main section.outline dl dd .address span span {
          padding-left: 10px; }

body.profile main .map {
  width: 100%;
  height: 497px; }
  @media only screen and (max-width: 767px) {
    body.profile main .map {
      width: calc(100% - 50px);
      height: 377.9942px;
      margin: 0 auto; } }
  body.profile main .map iframe {
    width: 100%;
    height: 100%; }

body.profile main section.history {
  padding: 162px 0 170px;
  margin-top: 120px; }
  @media only screen and (max-width: 767px) {
    body.profile main section.history {
      padding: 40px 0 50px;
      margin-top: 45px; } }
  body.profile main section.history dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1020px;
    margin: 85px auto 0;
    border-bottom: 2px solid #aaaaaa; }
    @media only screen and (min-width: 768px) {
      body.profile main section.history dl {
        border-top: 2px solid #aaaaaa; } }
    @media only screen and (max-width: 767px) {
      body.profile main section.history dl {
        margin: 22px auto 0;
        flex-direction: column; } }
    body.profile main section.history dl dt {
      width: 17.745098%;
      background-color: #f4fbef;
      padding-left: 35px !important; }
      @media only screen and (max-width: 767px) {
        body.profile main section.history dl dt {
          width: 100%;
          padding: 4px 0 !important;
          border-top: 2px solid #aaaaaa !important; } }
      body.profile main section.history dl dt span {
        padding-left: 10px; }
        @media only screen and (max-width: 767px) {
          body.profile main section.history dl dt span {
            padding-left: 8px; } }
    body.profile main section.history dl dd {
      width: calc(100% - 17.745098%);
      padding-left: 80px !important; }
      @media only screen and (max-width: 767px) {
        body.profile main section.history dl dd {
          width: 100%;
          padding: 19px 0 !important;
          border-top: 2px solid #aaaaaa; }
          body.profile main section.history dl dd span {
            display: block;
            margin-top: 8px; } }
    body.profile main section.history dl dt,
    body.profile main section.history dl dd {
      padding: 24px 0;
      border-top: 1px solid #aaaaaa;
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0em; }
      @media only screen and (min-width: 768px) {
        body.profile main section.history dl dt:first-of-type,
        body.profile main section.history dl dd:first-of-type {
          border-top: none; } }
      @media only screen and (max-width: 767px) {
        body.profile main section.history dl dt,
        body.profile main section.history dl dd {
          font-size: 13px;
          font-size: 1.3rem;
          line-height: 1.3;
          padding-left: 10px !important; } }
      @media only screen and (device-aspect-ratio: 139 / 199) {
        body.profile main section.history dl dt,
        body.profile main section.history dl dd {
          font-size: 12px; } }
      @media only screen and (device-aspect-ratio: 512 / 683) {
        body.profile main section.history dl dt,
        body.profile main section.history dl dd {
          font-size: 12px; } }

body.recruit main {
  padding: 68px 0 185px; }
  @media only screen and (max-width: 767px) {
    body.recruit main {
      padding: 26px 0 50px; } }
  body.recruit main .hw-wrap {
    margin: 0 0 65px; }
    @media only screen and (max-width: 767px) {
      body.recruit main .hw-wrap {
        margin: 0 0 38px; } }
    body.recruit main .hw-wrap .txt1 {
      font-size: 25px;
      font-size: 2.5rem;
      letter-spacing: .075em;
      line-height: 1.7;
      margin: 0; }
      @media only screen and (max-width: 767px) {
        body.recruit main .hw-wrap .txt1 {
          font-size: 13px;
          font-size: 1.3rem;
          line-height: 1.3666;
          margin: 0; } }
    body.recruit main .hw-wrap .hw {
      display: block;
      margin: 32px auto 0;
      max-width: 522px;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        body.recruit main .hw-wrap .hw {
          margin: 15px auto 0; } }
  body.recruit main .wrapper-border {
    border: 3px solid #ff9100; }
    @media only screen and (max-width: 767px) {
      body.recruit main .wrapper-border {
        border: 2px solid #ff9100; } }
    body.recruit main .wrapper-border h3 {
      font-size: 25px;
      font-size: 2.5rem;
      font-weight: bold;
      text-align: center;
      font-family: "Noto Sans JP", sans-serif;
      color: #ff9100;
      padding: 14px 0; }
      @media only screen and (max-width: 767px) {
        body.recruit main .wrapper-border h3 {
          font-size: 15px;
          font-size: 1.5rem;
          padding: 8px 0; } }
  @media only screen and (max-width: 767px) {
    body.recruit main .inner {
      width: 100%; } }
  body.recruit main p {
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 0em;
    text-align: center;
    line-height: 2.361111111;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    margin-top: 20px;
    margin-bottom: 35px; }
    @media only screen and (max-width: 767px) {
      body.recruit main p {
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.666666667;
        margin-bottom: 35px;
        margin-top: 20px; } }
    body.recruit main p span {
      color: #ff0000;
      display: block; }
  body.recruit main #form {
    margin-top: 25px; }
    @media only screen and (max-width: 767px) {
      body.recruit main #form {
        margin-top: 25px;
        background-color: #ddf2cd; } }
    body.recruit main #form .formBlock {
      background-color: #ddf2cd;
      padding: 65px 0 80px; }
      @media only screen and (max-width: 767px) {
        body.recruit main #form .formBlock {
          padding: 50px 0 70px; } }
      body.recruit main #form .formBlock dl {
        display: flex;
        flex-wrap: wrap;
        font-size: 17px;
        font-size: 1.7rem;
        letter-spacing: 0em;
        font-weight: 300; }
        @media only screen and (max-width: 767px) {
          body.recruit main #form .formBlock dl {
            padding: 0;
            flex-direction: column;
            font-size: 15px;
            font-size: 1.5rem; } }
        @media only screen and (device-aspect-ratio: 139 / 199) {
          body.recruit main #form .formBlock dl {
            font-size: 14px; } }
        @media only screen and (device-aspect-ratio: 512 / 683) {
          body.recruit main #form .formBlock dl {
            font-size: 14px; } }
        body.recruit main #form .formBlock dl dt {
          width: 21.8333333%;
          text-align: right;
          padding: 12px 10px; }
          @media only screen and (max-width: 767px) {
            body.recruit main #form .formBlock dl dt {
              padding: 0 0 8px;
              font-size: 13px;
              font-size: 1.3rem; } }
          body.recruit main #form .formBlock dl dt.needless {
            padding-right: 36px; }
          body.recruit main #form .formBlock dl dt:nth-of-type(n + 2) {
            margin-top: 30px; }
            @media only screen and (max-width: 767px) {
              body.recruit main #form .formBlock dl dt:nth-of-type(n + 2) {
                margin-top: 14px; } }
          @media only screen and (max-width: 767px) {
            body.recruit main #form .formBlock dl dt:nth-of-type(2) {
              margin-top: 35px; } }
          body.recruit main #form .formBlock dl dt:nth-of-type(9) {
            padding-right: 35px; }
          @media only screen and (max-width: 767px) {
            body.recruit main #form .formBlock dl dt {
              width: 100%;
              text-align: left;
              padding-left: 0; }
              body.recruit main #form .formBlock dl dt.needless {
                padding-left: 20px; } }
          body.recruit main #form .formBlock dl dt span {
            color: #ff0000;
            margin-left: 10px; }
            @media only screen and (max-width: 767px) {
              body.recruit main #form .formBlock dl dt span {
                margin-left: 0; } }
        body.recruit main #form .formBlock dl dd {
          width: 69.4166667%;
          display: flex;
          position: relative; }
          @media only screen and (min-width: 768px) {
            body.recruit main #form .formBlock dl dd:nth-of-type(n + 2) {
              margin-top: 30px; } }
          body.recruit main #form .formBlock dl dd:nth-of-type(4) {
            display: flex;
            align-items: center; }
            body.recruit main #form .formBlock dl dd:nth-of-type(4) input:nth-of-type(1) {
              width: 17.7259006%; }
              @media only screen and (max-width: 767px) {
                body.recruit main #form .formBlock dl dd:nth-of-type(4) input:nth-of-type(1) {
                  width: 31.7460317%; } }
            body.recruit main #form .formBlock dl dd:nth-of-type(4) input:nth-of-type(2) {
              width: 10.8132603%;
              margin-left: 45px; }
              @media only screen and (max-width: 767px) {
                body.recruit main #form .formBlock dl dd:nth-of-type(4) input:nth-of-type(2) {
                  width: 19.3121693%;
                  margin-left: 35px; } }
            body.recruit main #form .formBlock dl dd:nth-of-type(4) input:nth-of-type(3) {
              width: 10.8132003%;
              margin-left: 30px; }
              @media only screen and (max-width: 767px) {
                body.recruit main #form .formBlock dl dd:nth-of-type(4) input:nth-of-type(3) {
                  width: 19.3121693%;
                  margin-left: 25px; } }
            body.recruit main #form .formBlock dl dd:nth-of-type(4) span {
              margin-left: 15px; }
          body.recruit main #form .formBlock dl dd.address-wrap {
            flex-direction: column; }
            body.recruit main #form .formBlock dl dd.address-wrap .select_btn {
              margin-bottom: 30px; }
          @media only screen and (max-width: 767px) {
            body.recruit main #form .formBlock dl dd {
              width: 100%;
              font-size: 13px;
              font-size: 1.3rem; }
              body.recruit main #form .formBlock dl dd:last-of-type {
                align-items: center;
                font-size: 11px;
                font-size: 1.1rem; } }
          body.recruit main #form .formBlock dl dd label {
            font-size: 16px;
            font-size: 1.6rem;
            letter-spacing: 0em;
            font-family: "Noto Sans JP", sans-serif;
            font-weight: 400; }
            @media only screen and (max-width: 767px) {
              body.recruit main #form .formBlock dl dd label {
                font-size: 12px;
                font-size: 1.2rem;
                font-feature-settings: "palt"; } }
            body.recruit main #form .formBlock dl dd label a {
              border-bottom: 1px solid #000;
              margin-left: 20px; }
              @media only screen and (max-width: 767px) {
                body.recruit main #form .formBlock dl dd label a {
                  margin-left: 4px; } }
          body.recruit main #form .formBlock dl dd .check-box {
            display: flex;
            padding-left: 30px; }
            @media only screen and (max-width: 767px) {
              body.recruit main #form .formBlock dl dd .check-box {
                padding-left: 0; } }
            body.recruit main #form .formBlock dl dd .check-box input[type="radio"] {
              opacity: 0; }
            body.recruit main #form .formBlock dl dd .check-box .checkradio {
              position: relative;
              display: flex;
              align-items: center; }
              body.recruit main #form .formBlock dl dd .check-box .checkradio:nth-of-type(2) {
                margin-left: 90px; }
              body.recruit main #form .formBlock dl dd .check-box .checkradio label {
                font-size: 16px;
                font-size: 1.6rem;
                letter-spacing: 0em;
                font-family: "Noto Sans JP", sans-serif;
                font-weight: 400;
                padding-left: 10px; }
                @media only screen and (max-width: 767px) {
                  body.recruit main #form .formBlock dl dd .check-box .checkradio label {
                    font-size: 12px;
                    font-size: 1.2rem;
                    padding-left: 3px; } }
            body.recruit main #form .formBlock dl dd .check-box .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.recruit main #form .formBlock dl dd .check-box .effec {
                  width: 18px;
                  height: 18px;
                  left: 1px; } }
              body.recruit main #form .formBlock dl dd .check-box .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: #ff7300;
                border-radius: 50%;
                transition: all 0.3s; }
                @media only screen and (max-width: 767px) {
                  body.recruit main #form .formBlock dl dd .check-box .effec:after {
                    width: 10px;
                    height: 10px; } }
            body.recruit main #form .formBlock dl dd .check-box .checkradio.check-style .check:checked ~ .effec:after {
              opacity: 1; }
            body.recruit main #form .formBlock dl dd .check-box .checkradio.check-style .check:checked ~ .effec:before {
              opacity: 1; }
          body.recruit main #form .formBlock dl dd .text-area {
            width: 100%;
            height: 42px;
            padding-left: 5px;
            border: none; }
            @media only screen and (max-width: 767px) {
              body.recruit main #form .formBlock dl dd .text-area {
                font-size: 13px;
                font-size: 1.3rem; } }
          body.recruit main #form .formBlock dl dd .content-area {
            height: 270px;
            width: 100%;
            resize: none;
            background-color: #fff;
            padding-left: 5px;
            border: none;
            padding: 12px 10px; }
            @media only screen and (max-width: 767px) {
              body.recruit main #form .formBlock dl dd .content-area {
                font-size: 13px;
                font-size: 1.3rem; } }
          body.recruit main #form .formBlock dl dd .tel,
          body.recruit main #form .formBlock dl dd .mail {
            height: 42px;
            padding-left: 5px;
            width: 463px;
            border: none; }
            @media only screen and (max-width: 767px) {
              body.recruit main #form .formBlock dl dd .tel,
              body.recruit main #form .formBlock dl dd .mail {
                width: 100%;
                font-size: 14px;
                font-size: 1.4rem; } }
          @media only screen and (max-width: 767px) {
            body.recruit main #form .formBlock dl dd .tel.en {
              font-size: 14px;
              font-size: 1.4rem; } }
          body.recruit main #form .formBlock dl dd .zip-code {
            width: 244px;
            height: 42px;
            border: none;
            padding-left: 5px;
            position: relative; }
            @media only screen and (max-width: 767px) {
              body.recruit main #form .formBlock dl dd .zip-code {
                width: 65%;
                font-size: 14px;
                font-size: 1.4rem; } }
          body.recruit main #form .formBlock dl dd .select_btn {
            position: relative;
            width: 244px;
            height: 41px; }
            body.recruit main #form .formBlock dl dd .select_btn .address {
              width: 100%;
              height: 100%;
              border: none;
              cursor: pointer;
              background-color: #fff;
              padding-left: 18px;
              -webkit-appearance: none;
              -moz-appearance: none;
              appearance: none; }
              body.recruit main #form .formBlock dl dd .select_btn .address::-ms-expand {
                display: none; }
            @media only screen and (max-width: 767px) {
              body.recruit main #form .formBlock dl dd .select_btn {
                width: 65%; } }
            body.recruit main #form .formBlock dl dd .select_btn:after {
              content: '';
              position: absolute;
              background-image: url(../../images/contact/select-btn.svg);
              background-repeat: no-repeat;
              background-size: 100% auto;
              background-position: center;
              width: 47px;
              height: 100%;
              top: 0;
              right: 0;
              pointer-events: none; }
          body.recruit main #form .formBlock dl dd .effec_button {
            background-color: #fff;
            border-radius: 50%;
            border: 1px solid #d2d2d2;
            pointer-events: none;
            overflow: hidden;
            margin: 0 auto;
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            height: 26px;
            width: 26px;
            z-index: 10; }
            @media only screen and (max-width: 767px) {
              body.recruit main #form .formBlock dl dd .effec_button {
                width: 19px;
                height: 19px; } }
            body.recruit main #form .formBlock dl dd .effec_button:after {
              border-right: 3px solid #93d65a;
              border-bottom: 3px solid #93d65a;
              content: '';
              display: block;
              height: 9px;
              left: 10px;
              margin-top: -7px;
              opacity: 0;
              position: absolute;
              top: 45%;
              left: 9px;
              transform: rotate(45deg);
              width: 5px; }
              @media only screen and (max-width: 767px) {
                body.recruit main #form .formBlock dl dd .effec_button:after {
                  height: 8px;
                  top: 53%;
                  left: 6px;
                  width: 4px; } }
          body.recruit main #form .formBlock dl dd span {
            font-size: 16px;
            font-size: 1.6rem;
            font-weight: 300;
            letter-spacing: 0em;
            font-feature-settings: "palt"; }
            @media only screen and (max-width: 767px) {
              body.recruit main #form .formBlock dl dd span {
                font-size: 14px;
                font-size: 1.4rem; } }
        body.recruit main #form .formBlock dl .checkerradio {
          margin-top: 44px !important; }
          @media only screen and (max-width: 767px) {
            body.recruit main #form .formBlock dl .checkerradio {
              margin-top: 50px !important; } }
        body.recruit main #form .formBlock dl .checkerradio.check-style .check-area:checked ~ .effec_button:after {
          opacity: 1; }
      body.recruit main #form .formBlock .contact-button button {
        margin: 80px auto 0;
        display: block;
        width: 82.6720833%;
        background-color: #ff9100;
        border: 1px solid #ff9100;
        color: #fff;
        padding: 10px 0;
        text-align: center;
        font-size: 21px;
        font-size: 2.1rem;
        letter-spacing: 0.375em;
        font-weight: 600;
        transition: .3s;
        cursor: pointer; }
        @media only screen and (max-width: 767px) {
          body.recruit main #form .formBlock .contact-button button {
            margin: 60px auto 0;
            font-size: 15px;
            font-size: 1.5rem;
            width: 100%;
            height: 46px; } }

body.recruit.confirm input,
body.recruit.confirm textarea {
  pointer-events: none;
  border-radius: 0; }

body.recruit.confirm #form .formBlock .contact-button {
  display: flex;
  justify-content: space-around; }
  body.recruit.confirm #form .formBlock .contact-button button {
    width: 28.5714286%;
    margin: 80px 0 0 0; }

@media only screen and (min-width: 768px) {
  body.recruit.confirm #form .formBlock dl dd:nth-of-type(1) {
    align-items: center; } }

body.recruit.complete main {
  padding: 30px 0; }
  body.recruit.complete main #form .formBlock {
    background-color: #fff;
    padding: 0px 0 90px; }
    @media only screen and (max-width: 767px) {
      body.recruit.complete main #form .formBlock {
        margin: 0; } }

body.road main section {
  padding: 222px 0 180px; }
  @media only screen and (max-width: 767px) {
    body.road main section {
      padding: 40px 0; } }
  body.road main section .items .item:nth-of-type(n + 2) {
    margin-top: 220px; }
    @media only screen and (max-width: 767px) {
      body.road main section .items .item:nth-of-type(n + 2) {
        margin-top: 40px; } }
  body.road main section .items .item .cont {
    display: flex; }
    @media only screen and (max-width: 767px) {
      body.road main section .items .item .cont {
        flex-direction: column; } }
    body.road main section .items .item .cont .text-cont {
      width: 38.179775%;
      text-align: right;
      padding-right: 40px; }
      @media only screen and (max-width: 767px) {
        body.road main section .items .item .cont .text-cont {
          width: 100%;
          text-align: center;
          padding-right: 0; } }
      body.road main section .items .item .cont .text-cont h3 .num {
        font-size: 60px;
        font-size: 6rem;
        letter-spacing: 0em;
        font-weight: 600;
        color: #0F3872;
        padding-bottom: 20px;
        border-bottom: 1px solid #0F3872; }
        @media only screen and (max-width: 767px) {
          body.road main section .items .item .cont .text-cont h3 .num {
            font-size: 26px;
            font-size: 2.6rem;
            padding-bottom: 7px; } }
      body.road main section .items .item .cont .text-cont h3 .text {
        font-size: 49px;
        font-size: 4.9rem;
        letter-spacing: 0em;
        font-weight: 600;
        color: #0F3872;
        margin-top: 55px;
        display: block; }
        @media only screen and (max-width: 767px) {
          body.road main section .items .item .cont .text-cont h3 .text {
            font-size: 15px;
            font-size: 1.5rem;
            margin-top: 20px; } }
        @media only screen and (device-aspect-ratio: 139 / 199) {
          body.road main section .items .item .cont .text-cont h3 .text {
            font-size: 44px; } }
        @media only screen and (device-aspect-ratio: 512 / 683) {
          body.road main section .items .item .cont .text-cont h3 .text {
            font-size: 44px; } }
    body.road main section .items .item .cont .img-cont {
      width: 741.8427px; }
      @media only screen and (max-width: 767px) {
        body.road main section .items .item .cont .img-cont {
          width: 100%;
          margin-top: 10px; } }
  @media only screen and (min-width: 768px) {
    body.road main section .items .item:nth-of-type(2) .bottom-cont .lists ul {
      flex-direction: row;
      width: 100% !important; }
      body.road main section .items .item:nth-of-type(2) .bottom-cont .lists ul li {
        margin-top: 0 !important; }
        body.road main section .items .item:nth-of-type(2) .bottom-cont .lists ul li:nth-of-type(1) {
          width: 19.3315266%; }
        body.road main section .items .item:nth-of-type(2) .bottom-cont .lists ul li:nth-of-type(2) {
          width: 40.7407407%; }
        body.road main section .items .item:nth-of-type(2) .bottom-cont .lists ul li:nth-of-type(3) {
          width: 41.747064%; } }
  @media only screen and (min-width: 768px) {
    body.road main section .items .item:nth-of-type(3) .bottom-cont {
      padding: 70px 40px 110px; } }
  body.road main section .items .item .bottom-cont {
    padding: 60px 40px 70px;
    background-color: #0F3872;
    margin-top: 40px; }
    @media only screen and (max-width: 767px) {
      body.road main section .items .item .bottom-cont {
        margin-top: 0;
        padding: 20px 20px 20px; } }
    body.road main section .items .item .bottom-cont .lists {
      display: flex;
      flex-wrap: wrap; }
      @media only screen and (max-width: 767px) {
        body.road main section .items .item .bottom-cont .lists {
          flex-direction: column; } }
      body.road main section .items .item .bottom-cont .lists ul {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        width: 35.9476307%;
        margin: 0; }
        @media only screen and (max-width: 767px) {
          body.road main section .items .item .bottom-cont .lists ul {
            width: 100%; }
            body.road main section .items .item .bottom-cont .lists ul:nth-of-type(n + 2) {
              margin-top: 0px; } }
        @media only screen and (min-width: 768px) {
          body.road main section .items .item .bottom-cont .lists ul:last-of-type {
            width: 27.9608548%; } }
        body.road main section .items .item .bottom-cont .lists ul li {
          color: #fff;
          font-size: 18px;
          font-size: 1.8rem;
          letter-spacing: 0em;
          width: 100%;
          text-align: left; }
          body.road main section .items .item .bottom-cont .lists ul li:nth-of-type(n + 2) {
            margin-top: 24px; }
            @media only screen and (max-width: 767px) {
              body.road main section .items .item .bottom-cont .lists ul li:nth-of-type(n + 2) {
                margin-top: 0px; } }
          @media only screen and (max-width: 767px) {
            body.road main section .items .item .bottom-cont .lists ul li {
              font-size: 13px;
              font-size: 1.3rem;
              line-height: 1.52;
              padding-left: 1rem;
              text-indent: -1rem; } }
          @media only screen and (device-aspect-ratio: 139 / 199) {
            body.road main section .items .item .bottom-cont .lists ul li {
              font-size: 11px; } }
          @media only screen and (device-aspect-ratio: 512 / 683) {
            body.road main section .items .item .bottom-cont .lists ul li {
              font-size: 11px; } }
